diff --git a/index.js b/index.js index 5fb042c..813ce0f 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,3 @@ -import { createBareServer } from '@tomphttp/bare-server-node'; import express from 'express'; import cors from 'cors'; import http from 'node:http'; @@ -8,16 +7,14 @@ import chalk from 'chalk'; import { uvPath } from '@titaniumnetwork-dev/ultraviolet'; import { epoxyPath } from '@mercuryworkshop/epoxy-transport'; import { libcurlPath } from '@mercuryworkshop/libcurl-transport'; -import { bareModulePath } from '@mercuryworkshop/bare-as-module3'; import { baremuxPath } from '@mercuryworkshop/bare-mux/node'; -import wisp from 'wisp-server-node'; +import { server as wisp } from '@mercuryworkshop/wisp-js/server'; import routes from './src/routes.js'; const server = http.createServer(); const app = express(); const __dirname = process.cwd(); -const bare = createBareServer('/bare/'); -const PORT = 6060; +const PORT = process.env.PORT || 6060; app.use(cors()); app.use(express.urlencoded({ extended: true })); @@ -26,23 +23,16 @@ app.use(express.static(path.join(__dirname, 'public'))); app.use('/epoxy/', express.static(epoxyPath)); app.use('/@/', express.static(uvPath)); app.use('/libcurl/', express.static(libcurlPath)); -app.use('/baremod/', express.static(bareModulePath)); app.use('/baremux/', express.static(baremuxPath)); app.use('/', routes); server.on('request', (req, res) => { - if (bare.shouldRoute(req)) { - bare.routeRequest(req, res); - } else { - app(req, res); - } + app(req, res); }); server.on('upgrade', (req, socket, head) => { - if (bare.shouldRoute(req)) { - bare.routeUpgrade(req, socket, head); - } else if (req.url.endsWith('/wisp/')) { + if (req.url.endsWith('/wisp/')) { wisp.routeRequest(req, socket, head); } else { socket.end(); diff --git a/package.json b/package.json index ebdf4e5..89c5593 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "space", - "version": "1.0.0", + "version": "1.1.0", "type": "module", "main": "index.js", "scripts": { @@ -20,23 +20,19 @@ "license": "ISC", "description": "", "engines": { - "node": ">=20.0.0 <21.0.0", + "node": ">=20.0.0 <22.0.0", "pnpm": ">=9.0.0" }, "dependencies": { - "@mercuryworkshop/bare-as-module3": "^2.2.2", - "@mercuryworkshop/bare-mux": "^2.0.2", - "@mercuryworkshop/epoxy-transport": "^2.1.3", - "@mercuryworkshop/libcurl-transport": "^1.3.6", - "@mercuryworkshop/wisp-js": "^0.1.0", - "@titaniumnetwork-dev/ultraviolet": "^3.2.7", - "@tomphttp/bare-server-node": "2.0.2", + "@mercuryworkshop/bare-mux": "^2.1.7", + "@mercuryworkshop/epoxy-transport": "^2.1.26", + "@mercuryworkshop/libcurl-transport": "^1.3.14", + "@mercuryworkshop/wisp-js": "^0.3.3", + "@titaniumnetwork-dev/ultraviolet": "^3.2.10", "chalk": "^5.2.0", "cors": "^2.8.5", "express": "^4.19.2", - "lucide-static": "^0.424.0", - "meteorproxy": "^1.0.6-patch.1", - "wisp-server-node": "^1.1.3" + "lucide-static": "^0.424.0" }, "devDependencies": { "autoprefixer": "^10.4.19", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ee4b2c8..b321aa8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -527,7 +527,7 @@ packages: '@types/node@22.2.0': resolution: { - integrity: sha512-bm6EG6/pCpkxDf/0gDNDdtDILMOHgaQBVOJGdwsqClnxA3xL6jtMv76rLBc006RVMWbmaf0xbmom4Z/5o2nRkQ== + integrity: sha512-bm6EG6/pCpkxDf/0gDNDTDGILMOHgaQBVOJGdwsqClnxA3xL6jtMv76rLBc006RVMWbmaf0xbmom4Z/5o2nRkQ== } '@types/resolve@0.0.8': diff --git a/public/$/scramjet.client.js b/public/$/scramjet.client.js deleted file mode 100755 index 1dd3e4a..0000000 --- a/public/$/scramjet.client.js +++ /dev/null @@ -1,17704 +0,0 @@ -(() => { - // webpackBootstrap - var __webpack_modules__ = { - './node_modules/astravel/dist/module/astravel.js': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - attachComments: function () { - return /* reexport safe */ _attachComments_js__WEBPACK_IMPORTED_MODULE_1__.attachComments; - }, - defaultTraveler: function () { - return /* reexport safe */ _defaultTraveler_js__WEBPACK_IMPORTED_MODULE_0__.defaultTraveler; - }, - makeTraveler: function () { - return makeTraveler; - } - }); - /* harmony import */ var _defaultTraveler_js__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./defaultTraveler.js */ './node_modules/astravel/dist/module/defaultTraveler.js' - ); - /* harmony import */ var _attachComments_js__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! ./attachComments.js */ './node_modules/astravel/dist/module/attachComments.js' - ); - - function makeTraveler(properties) { - return _defaultTraveler_js__WEBPACK_IMPORTED_MODULE_0__.defaultTraveler.makeChild( - properties - ); - } - - //# sourceMappingURL=astravel.js.map - }, - './node_modules/astravel/dist/module/attachComments.js': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - attachComments: function () { - return attachComments; - } - }); - /* harmony import */ var _defaultTraveler_js__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./defaultTraveler.js */ './node_modules/astravel/dist/module/defaultTraveler.js' - ); - - function attachCommentsToNode( - traveler, - state, - parent, - children, - findHeadingComments - ) { - let { index } = state; - const { comments } = state; - let comment = comments[index]; - let boundComments, trailingComments; - - if (comment == null) { - return; - } - - if (children == null || children.length === 0) { - boundComments = - parent.comments != null ? parent.comments : []; - - while (comment != null && comment.end <= parent.end) { - boundComments.push(comment); - comment = comments[++index]; - } - - state.index = index; - - if (boundComments.length !== 0 && parent.comments == null) { - parent.comments = boundComments; - } - - return; - } - - if (findHeadingComments) { - boundComments = - parent.comments != null ? parent.comments : []; - const { start } = children[0]; - - while ( - comment != null && - (comment.type[0] === 'B' || comment.type[0] === 'M') && - comment.end <= start - ) { - boundComments.push(comment); - comment = comments[++index]; - } - - if (boundComments.length !== 0 && parent.comments == null) - parent.comments = boundComments; - } - - for ( - let i = 0, { length } = children; - comment != null && i < length; - i++ - ) { - const child = children[i]; - boundComments = []; - - while (comment != null && comment.end <= child.start) { - boundComments.push(comment); - comment = comments[++index]; - } - - if ( - comment != null && - comment.loc != null && - (comment.type[0] === 'L' || comment.type[0] === 'S') - ) { - if (comment.loc.start.line === child.loc.end.line) { - boundComments.push(comment); - comment = comments[++index]; - } - } - - if (boundComments.length !== 0) { - child.comments = boundComments; - } - - state.index = index; - traveler[child.type](child, state); - index = state.index; - comment = comments[index]; - } - - trailingComments = []; - - while (comment != null && comment.end <= parent.end) { - trailingComments.push(comment); - comment = comments[++index]; - } - - if (trailingComments.length !== 0) { - parent.trailingComments = trailingComments; - } - - state.index = index; - } - - function Block(node, state) { - attachCommentsToNode(this, state, node, node.body, true); - } - - let traveler = - _defaultTraveler_js__WEBPACK_IMPORTED_MODULE_0__.defaultTraveler.makeChild( - { - Program: Block, - BlockStatement: Block, - ClassBody: Block, - - ObjectExpression(node, state) { - attachCommentsToNode( - this, - state, - node, - node.properties, - true - ); - }, - - ArrayExpression(node, state) { - attachCommentsToNode( - this, - state, - node, - node.elements, - true - ); - }, - - SwitchStatement(node, state) { - attachCommentsToNode( - this, - state, - node, - node.cases, - false - ); - }, - - SwitchCase(node, state) { - attachCommentsToNode( - this, - state, - node, - node.consequent, - false - ); - } - } - ); - function attachComments(node, comments) { - traveler[node.type](node, { - comments, - index: 0 - }); - return node; - } - //# sourceMappingURL=attachComments.js.map - }, - './node_modules/astravel/dist/module/defaultTraveler.js': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - defaultTraveler: function () { - return defaultTraveler; - } - }); - let ForInStatement, - FunctionDeclaration, - RestElement, - BinaryExpression, - ArrayExpression, - Block, - MethodDefinition; - const ignore = Function.prototype; - - class Found { - constructor(node, state) { - this.node = node; - this.state = state; - } - } - - const defaultTraveler = { - go(node, state) { - if (this[node.type]) { - this[node.type](node, state); - } - }, - - find(predicate, node, state) { - const finder = Object.create(this); - - finder.go = function (node, state) { - if (predicate(node, state)) { - throw new Found(node, state); - } - - this[node.type](node, state); - }; - - try { - finder.go(node, state); - } catch (error) { - if (error instanceof Found) { - return error; - } else { - throw error; - } - } - }, - - makeChild(properties = {}) { - const traveler = Object.create(this); - traveler.super = this; - - for (let key in properties) { - traveler[key] = properties[key]; - } - - return traveler; - }, - - Program: (Block = function (node, state) { - const { body } = node; - - if (body != null) { - const { length } = body; - - for (let i = 0; i < length; i++) { - this.go(body[i], state); - } - } - }), - BlockStatement: Block, - StaticBlock: Block, - EmptyStatement: ignore, - - ExpressionStatement(node, state) { - this.go(node.expression, state); - }, - - IfStatement(node, state) { - this.go(node.test, state); - this.go(node.consequent, state); - - if (node.alternate != null) { - this.go(node.alternate, state); - } - }, - - LabeledStatement(node, state) { - this.go(node.label, state); - this.go(node.body, state); - }, - - BreakStatement(node, state) { - if (node.label) { - this.go(node.label, state); - } - }, - - ContinueStatement(node, state) { - if (node.label) { - this.go(node.label, state); - } - }, - - WithStatement(node, state) { - this.go(node.object, state); - this.go(node.body, state); - }, - - SwitchStatement(node, state) { - this.go(node.discriminant, state); - const { cases } = node, - { length } = cases; - - for (let i = 0; i < length; i++) { - this.go(cases[i], state); - } - }, - - SwitchCase(node, state) { - if (node.test != null) { - this.go(node.test, state); - } - - const statements = node.consequent, - { length } = statements; - - for (let i = 0; i < length; i++) { - this.go(statements[i], state); - } - }, - - ReturnStatement(node, state) { - if (node.argument) { - this.go(node.argument, state); - } - }, - - ThrowStatement(node, state) { - this.go(node.argument, state); - }, - - TryStatement(node, state) { - this.go(node.block, state); - - if (node.handler != null) { - this.go(node.handler, state); - } - - if (node.finalizer != null) { - this.go(node.finalizer, state); - } - }, - - CatchClause(node, state) { - if (node.param != null) { - this.go(node.param, state); - } - - this.go(node.body, state); - }, - - WhileStatement(node, state) { - this.go(node.test, state); - this.go(node.body, state); - }, - - DoWhileStatement(node, state) { - this.go(node.body, state); - this.go(node.test, state); - }, - - ForStatement(node, state) { - if (node.init != null) { - this.go(node.init, state); - } - - if (node.test != null) { - this.go(node.test, state); - } - - if (node.update != null) { - this.go(node.update, state); - } - - this.go(node.body, state); - }, - - ForInStatement: (ForInStatement = function (node, state) { - this.go(node.left, state); - this.go(node.right, state); - this.go(node.body, state); - }), - DebuggerStatement: ignore, - FunctionDeclaration: (FunctionDeclaration = function ( - node, - state - ) { - if (node.id != null) { - this.go(node.id, state); - } - - const { params } = node; - - if (params != null) { - for (let i = 0, { length } = params; i < length; i++) { - this.go(params[i], state); - } - } - - this.go(node.body, state); - }), - - VariableDeclaration(node, state) { - const { declarations } = node, - { length } = declarations; - - for (let i = 0; i < length; i++) { - this.go(declarations[i], state); - } - }, - - VariableDeclarator(node, state) { - this.go(node.id, state); - - if (node.init != null) { - this.go(node.init, state); - } - }, - - ArrowFunctionExpression(node, state) { - const { params } = node; - - if (params != null) { - for (let i = 0, { length } = params; i < length; i++) { - this.go(params[i], state); - } - } - - this.go(node.body, state); - }, - - ThisExpression: ignore, - ArrayExpression: (ArrayExpression = function (node, state) { - const { elements } = node, - { length } = elements; - - for (let i = 0; i < length; i++) { - let element = elements[i]; - - if (element != null) { - this.go(elements[i], state); - } - } - }), - - ObjectExpression(node, state) { - const { properties } = node, - { length } = properties; - - for (let i = 0; i < length; i++) { - this.go(properties[i], state); - } - }, - - Property(node, state) { - this.go(node.key, state); - - if (node.value != null) { - this.go(node.value, state); - } - }, - - FunctionExpression: FunctionDeclaration, - - SequenceExpression(node, state) { - const { expressions } = node, - { length } = expressions; - - for (let i = 0; i < length; i++) { - this.go(expressions[i], state); - } - }, - - UnaryExpression(node, state) { - this.go(node.argument, state); - }, - - UpdateExpression(node, state) { - this.go(node.argument, state); - }, - - AssignmentExpression(node, state) { - this.go(node.left, state); - this.go(node.right, state); - }, - - BinaryExpression: (BinaryExpression = function (node, state) { - this.go(node.left, state); - this.go(node.right, state); - }), - LogicalExpression: BinaryExpression, - - ConditionalExpression(node, state) { - this.go(node.test, state); - this.go(node.consequent, state); - this.go(node.alternate, state); - }, - - NewExpression(node, state) { - this.CallExpression(node, state); - }, - - CallExpression(node, state) { - this.go(node.callee, state); - const args = node['arguments'], - { length } = args; - - for (let i = 0; i < length; i++) { - this.go(args[i], state); - } - }, - - MemberExpression(node, state) { - this.go(node.object, state); - this.go(node.property, state); - }, - - Identifier: ignore, - PrivateIdentifier: ignore, - Literal: ignore, - ForOfStatement: ForInStatement, - - ClassDeclaration(node, state) { - if (node.id) { - this.go(node.id, state); - } - - if (node.superClass) { - this.go(node.superClass, state); - } - - this.go(node.body, state); - }, - - ClassBody: Block, - - ImportDeclaration(node, state) { - const { specifiers } = node, - { length } = specifiers; - - for (let i = 0; i < length; i++) { - this.go(specifiers[i], state); - } - - this.go(node.source, state); - }, - - ImportNamespaceSpecifier(node, state) { - this.go(node.local, state); - }, - - ImportDefaultSpecifier(node, state) { - this.go(node.local, state); - }, - - ImportSpecifier(node, state) { - this.go(node.imported, state); - this.go(node.local, state); - }, - - ExportDefaultDeclaration(node, state) { - this.go(node.declaration, state); - }, - - ExportNamedDeclaration(node, state) { - if (node.declaration) { - this.go(node.declaration, state); - } - - const { specifiers } = node, - { length } = specifiers; - - for (let i = 0; i < length; i++) { - this.go(specifiers[i], state); - } - - if (node.source) { - this.go(node.source, state); - } - }, - - ExportSpecifier(node, state) { - this.go(node.local, state); - this.go(node.exported, state); - }, - - ExportAllDeclaration(node, state) { - this.go(node.source, state); - }, - - MethodDefinition: (MethodDefinition = function (node, state) { - this.go(node.key, state); - this.go(node.value, state); - }), - PropertyDefinition: MethodDefinition, - - ClassExpression(node, state) { - this.ClassDeclaration(node, state); - }, - - Super: ignore, - RestElement: (RestElement = function (node, state) { - this.go(node.argument, state); - }), - SpreadElement: RestElement, - - YieldExpression(node, state) { - if (node.argument) { - this.go(node.argument, state); - } - }, - - TaggedTemplateExpression(node, state) { - this.go(node.tag, state); - this.go(node.quasi, state); - }, - - TemplateLiteral(node, state) { - const { quasis, expressions } = node; - - for (let i = 0, { length } = expressions; i < length; i++) { - this.go(expressions[i], state); - } - - for (let i = 0, { length } = quasis; i < length; i++) { - this.go(quasis[i], state); - } - }, - - TemplateElement: ignore, - - ObjectPattern(node, state) { - const { properties } = node, - { length } = properties; - - for (let i = 0; i < length; i++) { - this.go(properties[i], state); - } - }, - - ArrayPattern: ArrayExpression, - - AssignmentPattern(node, state) { - this.go(node.left, state); - this.go(node.right, state); - }, - - MetaProperty(node, state) { - this.go(node.meta, state); - this.go(node.property, state); - }, - - AwaitExpression(node, state) { - this.go(node.argument, state); - } - }; - //# sourceMappingURL=defaultTraveler.js.map - }, - './src/client/beacon.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__(/*! ./shared */ './src/client/shared.ts'); - - navigator.sendBeacon = new Proxy(navigator.sendBeacon, { - apply: function apply(target, thisArg, argArray) { - argArray[0] = (0, - _shared__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)( - argArray[0] - ); - return Reflect.apply(target, thisArg, argArray); - } - }); - }, - './src/client/css.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__(/*! ./shared */ './src/client/shared.ts'); - - var cssProperties = [ - 'background', - 'background-image', - 'mask', - 'mask-image', - 'list-style', - 'list-style-image', - 'border-image', - 'border-image-source', - 'cursor' - ]; - // const jsProperties = ["background", "backgroundImage", "mask", "maskImage", "listStyle", "listStyleImage", "borderImage", "borderImageSource", "cursor"]; - CSSStyleDeclaration.prototype.setProperty = new Proxy( - CSSStyleDeclaration.prototype.setProperty, - { - apply: function apply(target, thisArg, argArray) { - if (cssProperties.includes(argArray[0])) - argArray[1] = (0, - _shared__WEBPACK_IMPORTED_MODULE_0__.rewriteCss)( - argArray[1] - ); - return Reflect.apply(target, thisArg, argArray); - } - } - ); - }, - './src/client/element.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _shared_rewriters_url__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ../shared/rewriters/url */ './src/shared/rewriters/url.ts' - ); - /* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__(/*! ./shared */ './src/client/shared.ts'); - function _instanceof(left, right) { - if ( - right != null && - typeof Symbol !== 'undefined' && - right[Symbol.hasInstance] - ) { - return !!right[Symbol.hasInstance](left); - } else { - return left instanceof right; - } - } - - var attrObject = { - nonce: [HTMLElement], - integrity: [HTMLScriptElement, HTMLLinkElement], - csp: [HTMLIFrameElement], - src: [ - HTMLImageElement, - HTMLMediaElement, - HTMLIFrameElement, - HTMLEmbedElement, - HTMLScriptElement - ], - href: [HTMLAnchorElement, HTMLLinkElement], - data: [HTMLObjectElement], - action: [HTMLFormElement], - formaction: [HTMLButtonElement, HTMLInputElement], - srcdoc: [HTMLIFrameElement], - srcset: [HTMLImageElement, HTMLSourceElement], - imagesrcset: [HTMLLinkElement] - }; - var attrs = Object.keys(attrObject); - var _iteratorNormalCompletion = true, - _didIteratorError = false, - _iteratorError = undefined; - try { - var _loop = function () { - var attr = _step.value; - var _iteratorNormalCompletion = true, - _didIteratorError = false, - _iteratorError = undefined; - try { - var _loop = function () { - var element = _step1.value; - var descriptor = Object.getOwnPropertyDescriptor( - element.prototype, - attr - ); - Object.defineProperty(element.prototype, attr, { - get: function get() { - if ( - /src|href|data|action|formaction/.test( - attr - ) - ) { - return (0, - _shared_rewriters_url__WEBPACK_IMPORTED_MODULE_0__.decodeUrl)( - descriptor.get.call(this) - ); - } - if (this.__origattrs[attr]) { - return this.__origattrs[attr]; - } - return descriptor.get.call(this); - }, - set: function set(value) { - this.__origattrs[attr] = value; - if (/nonce|integrity|csp/.test(attr)) { - return; - } else if ( - /src|href|data|action|formaction/.test( - attr - ) - ) { - value = (0, - _shared__WEBPACK_IMPORTED_MODULE_1__.encodeUrl)( - value - ); - } else if (attr === 'srcdoc') { - value = (0, - _shared__WEBPACK_IMPORTED_MODULE_1__.rewriteHtml)( - value - ); - } else if (/(image)?srcset/.test(attr)) { - value = (0, - _shared__WEBPACK_IMPORTED_MODULE_1__.rewriteSrcset)( - value - ); - } - descriptor.set.call(this, value); - } - }); - }; - for ( - var _iterator = attrObject[attr][Symbol.iterator](), - _step1; - !(_iteratorNormalCompletion = (_step1 = - _iterator.next()).done); - _iteratorNormalCompletion = true - ) - _loop(); - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if ( - !_iteratorNormalCompletion && - _iterator.return != null - ) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - }; - for ( - var _iterator = attrs[Symbol.iterator](), _step; - !(_iteratorNormalCompletion = (_step = _iterator.next()) - .done); - _iteratorNormalCompletion = true - ) - _loop(); - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if ( - !_iteratorNormalCompletion && - _iterator.return != null - ) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - Element.prototype.__origattrs = {}; - Element.prototype.getAttribute = new Proxy( - Element.prototype.getAttribute, - { - apply: function apply(target, thisArg, argArray) { - if ( - attrs.includes(argArray[0]) && - thisArg.__origattrs[argArray[0]] - ) { - return thisArg.__origattrs[argArray[0]]; - } - return Reflect.apply(target, thisArg, argArray); - } - } - ); - Element.prototype.setAttribute = new Proxy( - Element.prototype.setAttribute, - { - apply: function apply(target, thisArg, argArray) { - if (attrs.includes(argArray[0])) { - thisArg.__origattrs[argArray[0]] = argArray[1]; - if (/nonce|integrity|csp/.test(argArray[0])) { - return; - } else if ( - /src|href|data|action|formaction/.test( - argArray[0] - ) - ) { - argArray[1] = (0, - _shared__WEBPACK_IMPORTED_MODULE_1__.encodeUrl)( - argArray[1] - ); - } else if (argArray[0] === 'srcdoc') { - argArray[1] = (0, - _shared__WEBPACK_IMPORTED_MODULE_1__.rewriteHtml)( - argArray[1] - ); - } else if (/(image)?srcset/.test(argArray[0])) { - argArray[1] = (0, - _shared__WEBPACK_IMPORTED_MODULE_1__.rewriteSrcset)( - argArray[1] - ); - } else if (argArray[1] === 'style') { - argArray[1] = (0, - _shared__WEBPACK_IMPORTED_MODULE_1__.rewriteCss)( - argArray[1] - ); - } - } - return Reflect.apply(target, thisArg, argArray); - } - } - ); - var innerHTML = Object.getOwnPropertyDescriptor( - Element.prototype, - 'innerHTML' - ); - Object.defineProperty(Element.prototype, 'innerHTML', { - set: function set(value) { - if (_instanceof(this, HTMLScriptElement)) { - value = (0, - _shared__WEBPACK_IMPORTED_MODULE_1__.rewriteJs)(value); - } else if (_instanceof(this, HTMLStyleElement)) { - value = (0, - _shared__WEBPACK_IMPORTED_MODULE_1__.rewriteCss)(value); - } - return innerHTML.set.call(this, value); - } - }); - }, - './src/client/event.ts': function () { - // idk what shit has to be done on here but it has to be done - // i'm going to temporarily disable rewriting if a MemberExpression detects addEventListener - // window.addEventListener = new Proxy(window.addEventListener, { - // apply (target, thisArg, argArray) { - // // - // return Reflect.apply(target, thisArg, argArray); - // } - // }) - }, - './src/client/history.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__(/*! ./shared */ './src/client/shared.ts'); - - window.history.pushState = new Proxy(window.history.pushState, { - apply: function apply(target, thisArg, argArray) { - argArray[3] = (0, - _shared__WEBPACK_IMPORTED_MODULE_0__.decodeUrl)( - argArray[3] - ); - return Reflect.apply(target, thisArg, argArray); - } - }); - window.history.replaceState = new Proxy( - window.history.replaceState, - { - apply: function apply(target, thisArg, argArray) { - argArray[3] = (0, - _shared__WEBPACK_IMPORTED_MODULE_0__.decodeUrl)( - argArray[3] - ); - return Reflect.apply(target, thisArg, argArray); - } - } - ); - }, - './src/client/index.ts': function ( - module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.a( - module, - async function ( - __webpack_handle_async_dependencies__, - __webpack_async_result__ - ) { - try { - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _scope_ts__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./scope.ts */ './src/client/scope.ts' - ); - /* harmony import */ var _window_ts__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! ./window.ts */ './src/client/window.ts' - ); - /* harmony import */ var _event_ts__WEBPACK_IMPORTED_MODULE_2__ = - __webpack_require__( - /*! ./event.ts */ './src/client/event.ts' - ); - /* harmony import */ var _event_ts__WEBPACK_IMPORTED_MODULE_2___default = - /*#__PURE__*/ __webpack_require__.n( - _event_ts__WEBPACK_IMPORTED_MODULE_2__ - ); - /* harmony import */ var _native_eval_ts__WEBPACK_IMPORTED_MODULE_3__ = - __webpack_require__( - /*! ./native/eval.ts */ './src/client/native/eval.ts' - ); - /* harmony import */ var _location_ts__WEBPACK_IMPORTED_MODULE_4__ = - __webpack_require__( - /*! ./location.ts */ './src/client/location.ts' - ); - /* harmony import */ var _trustedTypes_ts__WEBPACK_IMPORTED_MODULE_5__ = - __webpack_require__( - /*! ./trustedTypes.ts */ './src/client/trustedTypes.ts' - ); - /* harmony import */ var _trustedTypes_ts__WEBPACK_IMPORTED_MODULE_5___default = - /*#__PURE__*/ __webpack_require__.n( - _trustedTypes_ts__WEBPACK_IMPORTED_MODULE_5__ - ); - /* harmony import */ var _requests_fetch_ts__WEBPACK_IMPORTED_MODULE_6__ = - __webpack_require__( - /*! ./requests/fetch.ts */ './src/client/requests/fetch.ts' - ); - /* harmony import */ var _requests_xmlhttprequest_ts__WEBPACK_IMPORTED_MODULE_7__ = - __webpack_require__( - /*! ./requests/xmlhttprequest.ts */ './src/client/requests/xmlhttprequest.ts' - ); - /* harmony import */ var _requests_websocket_ts__WEBPACK_IMPORTED_MODULE_8__ = - __webpack_require__( - /*! ./requests/websocket.ts */ './src/client/requests/websocket.ts' - ); - /* harmony import */ var _element_ts__WEBPACK_IMPORTED_MODULE_9__ = - __webpack_require__( - /*! ./element.ts */ './src/client/element.ts' - ); - /* harmony import */ var _storage_ts__WEBPACK_IMPORTED_MODULE_10__ = - __webpack_require__( - /*! ./storage.ts */ './src/client/storage.ts' - ); - /* harmony import */ var _css_ts__WEBPACK_IMPORTED_MODULE_11__ = - __webpack_require__( - /*! ./css.ts */ './src/client/css.ts' - ); - /* harmony import */ var _history_ts__WEBPACK_IMPORTED_MODULE_12__ = - __webpack_require__( - /*! ./history.ts */ './src/client/history.ts' - ); - /* harmony import */ var _worker_ts__WEBPACK_IMPORTED_MODULE_13__ = - __webpack_require__( - /*! ./worker.ts */ './src/client/worker.ts' - ); - /* harmony import */ var _url_ts__WEBPACK_IMPORTED_MODULE_14__ = - __webpack_require__( - /*! ./url.ts */ './src/client/url.ts' - ); - /* harmony import */ var _beacon_ts__WEBPACK_IMPORTED_MODULE_15__ = - __webpack_require__( - /*! ./beacon.ts */ './src/client/beacon.ts' - ); - var __webpack_async_dependencies__ = - __webpack_handle_async_dependencies__([ - _storage_ts__WEBPACK_IMPORTED_MODULE_10__ - ]); - _storage_ts__WEBPACK_IMPORTED_MODULE_10__ = ( - __webpack_async_dependencies__.then - ? (await __webpack_async_dependencies__)() - : __webpack_async_dependencies__ - )[0]; - - __webpack_async_result__(); - } catch (e) { - __webpack_async_result__(e); - } - } - ); - }, - './src/client/location.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - locationProxy: function () { - return locationProxy; - } - }); - /* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__(/*! ./shared */ './src/client/shared.ts'); - // @ts-nocheck - - function createLocation() { - var loc = new URL( - (0, _shared__WEBPACK_IMPORTED_MODULE_0__.decodeUrl)( - location.href - ) - ); - loc.assign = function (url) { - return location.assign( - (0, _shared__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)(url) - ); - }; - loc.reload = function () { - return location.reload(); - }; - loc.replace = function (url) { - return location.replace( - (0, _shared__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)(url) - ); - }; - loc.toString = function () { - return loc.href; - }; - return loc; - } - var locationProxy = new Proxy(window.location, { - get: function get(target, prop) { - var loc = createLocation(); - return loc[prop]; - }, - set: function set(obj, prop, value) { - var loc = createLocation(); - if (prop === 'href') { - location.href = (0, - _shared__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)(value); - } else { - loc[prop] = value; - } - return true; - } - }); - }, - './src/client/native/eval.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__(/*! ../shared */ './src/client/shared.ts'); - function _array_like_to_array(arr, len) { - if (len == null || len > arr.length) len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) - arr2[i] = arr[i]; - return arr2; - } - function _array_without_holes(arr) { - if (Array.isArray(arr)) return _array_like_to_array(arr); - } - function _iterable_to_array(iter) { - if ( - (typeof Symbol !== 'undefined' && - iter[Symbol.iterator] != null) || - iter['@@iterator'] != null - ) - return Array.from(iter); - } - function _non_iterable_spread() { - throw new TypeError( - 'Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.' - ); - } - function _to_consumable_array(arr) { - return ( - _array_without_holes(arr) || - _iterable_to_array(arr) || - _unsupported_iterable_to_array(arr) || - _non_iterable_spread() - ); - } - function _unsupported_iterable_to_array(o, minLen) { - if (!o) return; - if (typeof o === 'string') - return _array_like_to_array(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === 'Object' && o.constructor) n = o.constructor.name; - if (n === 'Map' || n === 'Set') return Array.from(n); - if ( - n === 'Arguments' || - /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ) - return _array_like_to_array(o, minLen); - } - - var FunctionProxy = new Proxy(Function, { - construct: function construct(target, argArray) { - if (argArray.length === 1) { - return Reflect.construct( - target, - (0, _shared__WEBPACK_IMPORTED_MODULE_0__.rewriteJs)( - argArray[0] - ) - ); - } else { - return Reflect.construct( - target, - (0, _shared__WEBPACK_IMPORTED_MODULE_0__.rewriteJs)( - argArray[argArray.length - 1] - ) - ); - } - }, - apply: function apply(target, thisArg, argArray) { - if (argArray.length === 1) { - return Reflect.apply(target, undefined, [ - (0, _shared__WEBPACK_IMPORTED_MODULE_0__.rewriteJs)( - argArray[0] - ) - ]); - } else { - return Reflect.apply( - target, - undefined, - _to_consumable_array( - argArray.map(function (x, index) { - return index === argArray.length - 1; - }) - ).concat([ - (0, - _shared__WEBPACK_IMPORTED_MODULE_0__.rewriteJs)( - argArray[argArray.length - 1] - ) - ]) - ); - } - } - }); - delete window.Function; - window.Function = FunctionProxy; - window.eval = new Proxy(window.eval, { - apply: function apply(target, thisArg, argArray) { - return Reflect.apply(target, thisArg, [ - (0, _shared__WEBPACK_IMPORTED_MODULE_0__.rewriteJs)( - argArray[0] - ) - ]); - } - }); - }, - './src/client/requests/fetch.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__(/*! ../shared */ './src/client/shared.ts'); - // ts throws an error if you dont do window.fetch - - window.fetch = new Proxy(window.fetch, { - apply: function apply(target, thisArg, argArray) { - argArray[0] = (0, - _shared__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)( - argArray[0] - ); - return Reflect.apply(target, thisArg, argArray); - } - }); - Headers = new Proxy(Headers, { - construct: function construct(target, argArray, newTarget) { - argArray[0] = (0, - _shared__WEBPACK_IMPORTED_MODULE_0__.rewriteHeaders)( - argArray[0] - ); - return Reflect.construct(target, argArray, newTarget); - } - }); - Request = new Proxy(Request, { - construct: function construct(target, argArray, newTarget) { - if (typeof argArray[0] === 'string') - argArray[0] = (0, - _shared__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)( - argArray[0] - ); - return Reflect.construct(target, argArray, newTarget); - } - }); - Response.redirect = new Proxy(Response.redirect, { - apply: function apply(target, thisArg, argArray) { - argArray[0] = (0, - _shared__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)( - argArray[0] - ); - return Reflect.apply(target, thisArg, argArray); - } - }); - }, - './src/client/requests/websocket.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__(/*! ../shared */ './src/client/shared.ts'); - - var client = new _shared__WEBPACK_IMPORTED_MODULE_0__.BareClient(); - WebSocket = new Proxy(WebSocket, { - construct: function construct(target, args) { - return client.createWebSocket( - args[0], - args[1], - target, - { - 'User-Agent': navigator.userAgent - }, - ArrayBuffer.prototype - ); - } - }); - }, - './src/client/requests/xmlhttprequest.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__(/*! ../shared */ './src/client/shared.ts'); - - XMLHttpRequest.prototype.open = new Proxy( - XMLHttpRequest.prototype.open, - { - apply: function apply(target, thisArg, argArray) { - if (argArray[1]) - argArray[1] = (0, - _shared__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)( - argArray[1] - ); - return Reflect.apply(target, thisArg, argArray); - } - } - ); - XMLHttpRequest.prototype.setRequestHeader = new Proxy( - XMLHttpRequest.prototype.setRequestHeader, - { - apply: function apply(target, thisArg, argArray) { - var headerObject = Object.fromEntries([argArray]); - headerObject = (0, - _shared__WEBPACK_IMPORTED_MODULE_0__.rewriteHeaders)( - headerObject - ); - argArray = Object.entries(headerObject)[0]; - return Reflect.apply(target, thisArg, argArray); - } - } - ); - }, - './src/client/scope.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _location__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./location */ './src/client/location.ts' - ); - /* harmony import */ var _window__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__(/*! ./window */ './src/client/window.ts'); - function _instanceof(left, right) { - if ( - right != null && - typeof Symbol !== 'undefined' && - right[Symbol.hasInstance] - ) { - return !!right[Symbol.hasInstance](left); - } else { - return left instanceof right; - } - } - - function scope(identifier) { - if (_instanceof(identifier, Window)) { - return _window__WEBPACK_IMPORTED_MODULE_1__.windowProxy; - } else if (_instanceof(identifier, Location)) { - return _location__WEBPACK_IMPORTED_MODULE_0__.locationProxy; - } - return identifier; - } - // shorthand because this can get out of hand reall quickly - window.$s = scope; - }, - './src/client/shared.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - BareClient: function () { - return BareClient; - }, - decodeUrl: function () { - return decodeUrl; - }, - encodeUrl: function () { - return encodeUrl; - }, - isScramjetFile: function () { - return isScramjetFile; - }, - rewriteCss: function () { - return rewriteCss; - }, - rewriteHeaders: function () { - return rewriteHeaders; - }, - rewriteHtml: function () { - return rewriteHtml; - }, - rewriteJs: function () { - return rewriteJs; - }, - rewriteSrcset: function () { - return rewriteSrcset; - }, - rewriteWorkers: function () { - return rewriteWorkers; - } - }); - var _self_$scramjet_shared = self.$scramjet.shared, - _self_$scramjet_shared_util = _self_$scramjet_shared.util, - _self_$scramjet_shared_url = _self_$scramjet_shared.url, - _self_$scramjet_shared_rewrite = _self_$scramjet_shared.rewrite; - var isScramjetFile = _self_$scramjet_shared_util.isScramjetFile, - BareClient = _self_$scramjet_shared_util.BareClient, - encodeUrl = _self_$scramjet_shared_url.encodeUrl, - decodeUrl = _self_$scramjet_shared_url.decodeUrl, - rewriteCss = _self_$scramjet_shared_rewrite.rewriteCss, - rewriteHtml = _self_$scramjet_shared_rewrite.rewriteHtml, - rewriteSrcset = _self_$scramjet_shared_rewrite.rewriteSrcset, - rewriteJs = _self_$scramjet_shared_rewrite.rewriteJs, - rewriteHeaders = _self_$scramjet_shared_rewrite.rewriteHeaders, - rewriteWorkers = _self_$scramjet_shared_rewrite.rewriteWorkers; - }, - './src/client/storage.ts': function ( - module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.a( - module, - async function ( - __webpack_handle_async_dependencies__, - __webpack_async_result__ - ) { - try { - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _webreflection_idb_map_sync__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! @webreflection/idb-map/sync */ './node_modules/@webreflection/idb-map/sync.js' - ); - /* harmony import */ var _location__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! ./location */ './src/client/location.ts' - ); - - var store = - new _webreflection_idb_map_sync__WEBPACK_IMPORTED_MODULE_0__[ - 'default' - ]( - _location__WEBPACK_IMPORTED_MODULE_1__.locationProxy.host, - { - prefix: 'Storage', - durability: 'relaxed' - } - ); - await store.sync(); - function storageProxy(scope) { - return new Proxy(scope, { - get: function get(target, prop) { - switch (prop) { - case 'getItem': - return function (key) { - return store.get(key); - }; - case 'setItem': - return function (key, value) { - store.set(key, value); - store.sync(); - }; - case 'removeItem': - return function (key) { - store.delete(key); - store.sync(); - }; - case 'clear': - return function () { - store.clear(); - store.sync(); - }; - case 'key': - return function (index) { - store.keys()[index]; - }; - case 'length': - return store.size; - default: - return store.get(prop); - } - }, - //@ts-ignore - set: function set(target, prop, value) { - store.set(prop, value); - store.sync(); - }, - defineProperty: function defineProperty( - target, - property, - attributes - ) { - store.set(property, attributes.value); - return true; - } - }); - } - var localStorageProxy = storageProxy( - window.localStorage - ); - var sessionStorageProxy = storageProxy( - window.sessionStorage - ); - delete window.localStorage; - delete window.sessionStorage; - window.localStorage = localStorageProxy; - window.sessionStorage = sessionStorageProxy; - - __webpack_async_result__(); - } catch (e) { - __webpack_async_result__(e); - } - }, - 1 - ); - }, - './src/client/trustedTypes.ts': function () { - // import { rewriteHtml, rewriteJs, encodeUrl } from "./shared"; - // trustedTypes.createPolicy = new Proxy(trustedTypes.createPolicy, { - // apply(target, thisArg, argArray) { - // if (argArray[1].createHTML) { - // argArray[1].createHTML = new Proxy(argArray[1].createHTML, { - // apply(target1, thisArg1, argArray1) { - // return rewriteHtml(target1(...argArray1)); - // }, - // }); - // } - // - // if (argArray[1].createScript) { - // argArray[1].createScript = new Proxy(argArray[1].createScript, { - // apply(target1, thisArg1, argArray1) { - // return rewriteJs(target1(...argArray1)); - // }, - // }); - // } - // - // if (argArray[1].createScriptURL) { - // argArray[1].createScriptURL = new Proxy(argArray[1].createScriptURL, { - // apply(target1, thisArg1, argArray1) { - // return encodeUrl(target1(...argArray1)); - // }, - // }); - // } - // - // return Reflect.apply(target, thisArg, argArray); - // }, - // }); - //@ts-nocheck - delete window.TrustedHTML; - delete window.TrustedScript; - delete window.TrustedScriptURL; - delete window.TrustedTypePolicy; - delete window.TrustedTypePolicyFactory; - delete window.trustedTypes; - }, - './src/client/url.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - URL: function () { - return URL; - } - }); - /* harmony import */ var _shared_rewriters_url__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ../shared/rewriters/url */ './src/shared/rewriters/url.ts' - ); - - var URL = globalThis.URL; - if (globalThis.window) { - window.URL = new Proxy(URL, { - construct: function construct(target, argArray, newTarget) { - if (typeof argArray[0] === 'string') - argArray[0] = (0, - _shared_rewriters_url__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)( - argArray[0] - ); - if (typeof argArray[1] === 'string') - argArray[1] = (0, - _shared_rewriters_url__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)( - argArray[1] - ); - return Reflect.construct(target, argArray, newTarget); - } - }); - } - }, - './src/client/window.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - windowProxy: function () { - return windowProxy; - } - }); - /* harmony import */ var _location__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./location */ './src/client/location.ts' - ); - - var windowProxy = new Proxy(window, { - get: function get(target, prop) { - var propIsString = typeof prop === 'string'; - if (propIsString && prop === 'location') { - return _location__WEBPACK_IMPORTED_MODULE_0__.locationProxy; - } else if ( - propIsString && - [ - 'window', - 'top', - 'parent', - 'self', - 'globalThis' - ].includes(prop) - ) { - return windowProxy; - } else if (propIsString && prop === '$scramjet') { - return; - } else if (propIsString && prop === 'addEventListener') { - console.log('addEventListener getteetetetetet'); - return new Proxy(window.addEventListener, { - apply: function apply(target1, thisArg, argArray) { - window.addEventListener( - argArray[0], - argArray[1] - ); - } - }); - } - var value = Reflect.get(target, prop); - if (typeof value === 'function') { - return value.bind(target); - } - return value; - }, - set: function set(target, prop, newValue) { - // ensures that no apis are overwritten - if ( - typeof prop === 'string' && - [ - 'window', - 'top', - 'parent', - 'self', - 'globalThis', - 'location' - ].includes(prop) - ) { - return false; - } - return Reflect.set(target, prop, newValue); - } - }); - }, - './src/client/worker.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _shared__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__(/*! ./shared */ './src/client/shared.ts'); - - Worker = new Proxy(Worker, { - construct: function construct(target, argArray) { - argArray[0] = (0, - _shared__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)( - argArray[0] - ); - // target is a reference to the object that you are proxying - // Reflect.construct is just a wrapper for calling target - // you could do new target(...argArray) and it would work the same effectively - return Reflect.construct(target, argArray); - } - }); - Worklet.prototype.addModule = new Proxy( - Worklet.prototype.addModule, - { - apply: function apply(target, thisArg, argArray) { - argArray[0] = (0, - _shared__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)( - argArray[0] - ); - return Reflect.apply(target, thisArg, argArray); - } - } - ); // broken - // window.importScripts = new Proxy(window.importScripts, { - // apply(target, thisArg, argArray) { - // for (const i in argArray) { - // argArray[i] = encodeUrl(argArray[i]); - // } - // return Reflect.apply(target, thisArg, argArray); - // }, - // }); - }, - './src/shared/rewriters/js.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - rewriteJs: function () { - return rewriteJs; - } - }); - /* harmony import */ var meriyah__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! meriyah */ './node_modules/meriyah/dist/meriyah.esm.mjs' - ); - /* harmony import */ var astring__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! astring */ './node_modules/astring/dist/astring.mjs' - ); - /* harmony import */ var astravel__WEBPACK_IMPORTED_MODULE_2__ = - __webpack_require__( - /*! astravel */ './node_modules/astravel/dist/module/astravel.js' - ); - /* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_3__ = - __webpack_require__( - /*! ./url */ './src/shared/rewriters/url.ts' - ); - - // i am a cat. i like to be petted. i like to be fed. i like to be - // js rewiter is NOT finished - // location - // window - // self - // globalThis - // this - // top - // parent - function rewriteJs(js, origin) { - try { - var ast = (0, - meriyah__WEBPACK_IMPORTED_MODULE_0__.parseModule)(js, { - module: true, - webcompat: true - }); - var identifierList = [ - 'window', - 'self', - 'globalThis', - 'this', - 'parent', - 'top', - 'location' - ]; - var customTraveler = (0, - astravel__WEBPACK_IMPORTED_MODULE_2__.makeTraveler)({ - ImportDeclaration: function (node) { - node.source.value = (0, - _url__WEBPACK_IMPORTED_MODULE_3__.encodeUrl)( - node.source.value, - origin - ); - }, - ImportExpression: function (node) { - if (node.source.type === 'Literal') { - node.source.value = (0, - _url__WEBPACK_IMPORTED_MODULE_3__.encodeUrl)( - node.source.value, - origin - ); - } else if (node.source.type === 'Identifier') { - // this is for things that import something like - // const moduleName = "name"; - // await import(moduleName); - node.source.name = '__wrapImport('.concat( - node.source.name, - ')' - ); - } - }, - ExportAllDeclaration: function (node) { - node.source.value = (0, - _url__WEBPACK_IMPORTED_MODULE_3__.encodeUrl)( - node.source.value, - origin - ); - }, - ExportNamedDeclaration: function (node) { - // strings are Literals in ESTree syntax but these will always be strings - if (node.source) - node.source.value = (0, - _url__WEBPACK_IMPORTED_MODULE_3__.encodeUrl)( - node.source.value, - origin - ); - }, - MemberExpression: function (node) { - if ( - node.object.type === 'Identifier' && - identifierList.includes(node.object.name) - ) { - node.object.name = 'globalThis.$s('.concat( - node.object.name, - ')' - ); - } - }, - AssignmentExpression: function (node) { - if ( - node.left.type === 'Identifier' && - identifierList.includes(node.left.name) - ) { - node.left.name = 'globalThis.$s('.concat( - node.left.name, - ')' - ); - } - if ( - node.right.type === 'Identifier' && - identifierList.includes(node.right.name) - ) { - node.right.name = 'globalThis.$s('.concat( - node.right.name, - ')' - ); - } - }, - VariableDeclarator: function (node) { - if ( - node.init && - node.init.type === 'Identifier' && - identifierList.includes(node.init.name) - ) { - node.init.name = 'globalThis.$s('.concat( - node.init.name, - ')' - ); - } - } - }); - customTraveler.go(ast); - return (0, astring__WEBPACK_IMPORTED_MODULE_1__.generate)( - ast - ); - } catch (e) { - console.error(e); - console.log(js); - return js; - } - } - }, - './src/shared/rewriters/url.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - decodeUrl: function () { - return decodeUrl; - }, - encodeUrl: function () { - return encodeUrl; - } - }); - /* harmony import */ var _client_url__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ../../client/url */ './src/client/url.ts' - ); - /* harmony import */ var _js__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__(/*! ./js */ './src/shared/rewriters/js.ts'); - function _instanceof(left, right) { - if ( - right != null && - typeof Symbol !== 'undefined' && - right[Symbol.hasInstance] - ) { - return !!right[Symbol.hasInstance](left); - } else { - return left instanceof right; - } - } - - function canParseUrl(url, origin) { - try { - new _client_url__WEBPACK_IMPORTED_MODULE_0__.URL( - url, - origin - ); - return true; - } catch (e) { - return false; - } - } - // something is broken with this but i didn't debug it - function encodeUrl(url, origin) { - if ( - _instanceof( - url, - _client_url__WEBPACK_IMPORTED_MODULE_0__.URL - ) - ) { - return url.toString(); - } - if (!origin) { - origin = new _client_url__WEBPACK_IMPORTED_MODULE_0__.URL( - self.$scramjet.config.codec.decode( - location.href.slice( - (location.origin + self.$scramjet.config.prefix) - .length - ) - ) - ); - } - // is this the correct behavior? - if (!url) url = origin.href; - if (url.startsWith('javascript:')) { - return ( - 'javascript:' + - (0, _js__WEBPACK_IMPORTED_MODULE_1__.rewriteJs)( - url.slice('javascript:'.length) - ) - ); - } else if (/^(#|mailto|about|data)/.test(url)) { - return url; - } else if (canParseUrl(url, origin)) { - return ( - location.origin + - self.$scramjet.config.prefix + - self.$scramjet.config.codec.encode( - new _client_url__WEBPACK_IMPORTED_MODULE_0__.URL( - url, - origin - ).href - ) - ); - } - } - // something is also broken with this but i didn't debug it - function decodeUrl(url) { - if ( - _instanceof( - url, - _client_url__WEBPACK_IMPORTED_MODULE_0__.URL - ) - ) { - return url.toString(); - } - if (/^(#|about|data|mailto|javascript)/.test(url)) { - return url; - } else if (canParseUrl(url)) { - return self.$scramjet.config.codec.decode( - url.slice( - (location.origin + self.$scramjet.config.prefix) - .length - ) - ); - } else { - return url; - } - } - }, - './node_modules/@webreflection/idb-map/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - default: function () { - return IDBMap; - } - }); - const { assign } = Object; - - const STORAGE = 'entries'; - const READONLY = 'readonly'; - const READWRITE = 'readwrite'; - - /** - * @typedef {Object} IDBMapOptions - * @prop {'strict' | 'relaxed' | 'default'} [durability] - * @prop {string} [prefix] - */ - - /** @typedef {[IDBValidKey, unknown]} IDBMapEntry */ - - /** @type {IDBMapOptions} */ - const defaultOptions = { durability: 'default', prefix: 'IDBMap' }; - - /** - * @template T - * @param {{ target: IDBRequest }} event - * @returns {T} - */ - const result = ({ target: { result } }) => result; - - class IDBMap extends EventTarget { - // Privates - /** @type {Promise} */ #db; - /** @type {IDBMapOptions} */ #options; - /** @type {string} */ #prefix; - - /** - * @template T - * @param {(store: IDBObjectStore) => IDBRequest} what - * @param {'readonly' | 'readwrite'} how - * @returns {Promise} - */ - async #transaction(what, how) { - const db = await this.#db; - const t = db.transaction(STORAGE, how, this.#options); - return new Promise((onsuccess, onerror) => - assign(what(t.objectStore(STORAGE)), { - onsuccess, - onerror - }) - ); - } - - /** - * @param {string} name - * @param {IDBMapOptions} options - */ - constructor( - name, - { - durability = defaultOptions.durability, - prefix = defaultOptions.prefix - } = defaultOptions - ) { - super(); - this.#prefix = prefix; - this.#options = { durability }; - this.#db = new Promise((resolve, reject) => { - assign(indexedDB.open(`${this.#prefix}/${name}`), { - onupgradeneeded({ - target: { result, transaction } - }) { - if (!result.objectStoreNames.length) - result.createObjectStore(STORAGE); - transaction.oncomplete = () => resolve(result); - }, - onsuccess(event) { - resolve(result(event)); - }, - onerror(event) { - reject(event); - this.dispatchEvent(event); - } - }); - }).then(result => { - const boundDispatch = this.dispatchEvent.bind(this); - for (const key in result) { - if (key.startsWith('on')) - result[key] = boundDispatch; - } - return result; - }); - } - - // EventTarget Forwards - /** - * @param {Event} event - * @returns - */ - dispatchEvent(event) { - const { type, message, isTrusted } = event; - return super.dispatchEvent( - // avoid re-dispatching of the same event - isTrusted ? assign(new Event(type), { message }) : event - ); - } - - // IDBDatabase Forwards - async close() { - (await this.#db).close(); - } - - // Map async API - get size() { - return this.#transaction( - store => store.count(), - READONLY - ).then(result); - } - - async clear() { - await this.#transaction(store => store.clear(), READWRITE); - } - - /** - * @param {IDBValidKey} key - */ - async delete(key) { - await this.#transaction( - store => store.delete(key), - READWRITE - ); - } - - /** - * @returns {Promise} - */ - async entries() { - const keys = await this.keys(); - return Promise.all( - keys.map(key => - this.get(key).then(value => [key, value]) - ) - ); - } - - /** - * @param {(unknown, IDBValidKey, IDBMap) => void} callback - * @param {unknown} [context] - */ - async forEach(callback, context = this) { - for (const [key, value] of await this.entries()) - await callback.call(context, value, key, this); - } - - /** - * @param {IDBValidKey} key - * @returns {Promise} - */ - async get(key) { - const value = await this.#transaction( - store => store.get(key), - READONLY - ).then(result); - return value; - } - - /** - * @param {IDBValidKey} key - */ - async has(key) { - const k = await this.#transaction( - store => store.getKey(key), - READONLY - ).then(result); - return k !== void 0; - } - - async keys() { - const keys = await this.#transaction( - store => store.getAllKeys(), - READONLY - ).then(result); - return keys; - } - - /** - * @param {IDBValidKey} key - * @param {unknown} value - */ - async set(key, value) { - await this.#transaction( - store => store.put(value, key), - READWRITE - ); - return this; - } - - async values() { - const keys = await this.keys(); - return Promise.all(keys.map(key => this.get(key))); - } - - get [Symbol.toStringTag]() { - return this.#prefix; - } - } - }, - './node_modules/@webreflection/idb-map/sync.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - default: function () { - return IDBMapSync; - } - }); - /* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./index.js */ './node_modules/@webreflection/idb-map/index.js' - ); - - class IDBMapSync extends Map { - #map; - #queue; - constructor(...args) { - super(); - this.#map = new _index_js__WEBPACK_IMPORTED_MODULE_0__[ - 'default' - ](...args); - this.#queue = this.#map.entries().then(entries => { - for (const [key, value] of entries) - super.set(key, value); - }); - } - async sync() { - await this.#queue; - } - clear() { - this.#queue = this.#queue.then(() => this.#map.clear()); - return super.clear(); - } - delete(key) { - this.#queue = this.#queue.then(() => this.#map.delete(key)); - return super.delete(key); - } - set(key, value) { - this.#queue = this.#queue.then(() => - this.#map.set(key, value) - ); - return super.set(key, value); - } - } - }, - './node_modules/astring/dist/astring.mjs': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - EXPRESSIONS_PRECEDENCE: function () { - return EXPRESSIONS_PRECEDENCE; - }, - GENERATOR: function () { - return GENERATOR; - }, - NEEDS_PARENTHESES: function () { - return NEEDS_PARENTHESES; - }, - baseGenerator: function () { - return baseGenerator; - }, - generate: function () { - return generate; - } - }); - // Astring is a tiny and fast JavaScript code generator from an ESTree-compliant AST. - // - // Astring was written by David Bonnet and released under an MIT license. - // - // The Git repository for Astring is available at: - // https://github.com/davidbonnet/astring.git - // - // Please use the GitHub bug tracker to report issues: - // https://github.com/davidbonnet/astring/issues - - const { stringify } = JSON; - - /* c8 ignore if */ - if (!String.prototype.repeat) { - /* c8 ignore next */ - throw new Error( - 'String.prototype.repeat is undefined, see https://github.com/davidbonnet/astring#installation' - ); - } - - /* c8 ignore if */ - if (!String.prototype.endsWith) { - /* c8 ignore next */ - throw new Error( - 'String.prototype.endsWith is undefined, see https://github.com/davidbonnet/astring#installation' - ); - } - - const OPERATOR_PRECEDENCE = { - '||': 2, - '??': 3, - '&&': 4, - '|': 5, - '^': 6, - '&': 7, - '==': 8, - '!=': 8, - '===': 8, - '!==': 8, - '<': 9, - '>': 9, - '<=': 9, - '>=': 9, - in: 9, - instanceof: 9, - '<<': 10, - '>>': 10, - '>>>': 10, - '+': 11, - '-': 11, - '*': 12, - '%': 12, - '/': 12, - '**': 13 - }; - - // Enables parenthesis regardless of precedence - const NEEDS_PARENTHESES = 17; - - const EXPRESSIONS_PRECEDENCE = { - // Definitions - ArrayExpression: 20, - TaggedTemplateExpression: 20, - ThisExpression: 20, - Identifier: 20, - PrivateIdentifier: 20, - Literal: 18, - TemplateLiteral: 20, - Super: 20, - SequenceExpression: 20, - // Operations - MemberExpression: 19, - ChainExpression: 19, - CallExpression: 19, - NewExpression: 19, - // Other definitions - ArrowFunctionExpression: NEEDS_PARENTHESES, - ClassExpression: NEEDS_PARENTHESES, - FunctionExpression: NEEDS_PARENTHESES, - ObjectExpression: NEEDS_PARENTHESES, - // Other operations - UpdateExpression: 16, - UnaryExpression: 15, - AwaitExpression: 15, - BinaryExpression: 14, - LogicalExpression: 13, - ConditionalExpression: 4, - AssignmentExpression: 3, - YieldExpression: 2, - RestElement: 1 - }; - - function formatSequence(state, nodes) { - /* - Writes into `state` a sequence of `nodes`. - */ - const { generator } = state; - state.write('('); - if (nodes != null && nodes.length > 0) { - generator[nodes[0].type](nodes[0], state); - const { length } = nodes; - for (let i = 1; i < length; i++) { - const param = nodes[i]; - state.write(', '); - generator[param.type](param, state); - } - } - state.write(')'); - } - - function expressionNeedsParenthesis( - state, - node, - parentNode, - isRightHand - ) { - const nodePrecedence = state.expressionsPrecedence[node.type]; - if (nodePrecedence === NEEDS_PARENTHESES) { - return true; - } - const parentNodePrecedence = - state.expressionsPrecedence[parentNode.type]; - if (nodePrecedence !== parentNodePrecedence) { - // Different node types - return ( - (!isRightHand && - nodePrecedence === 15 && - parentNodePrecedence === 14 && - parentNode.operator === '**') || - nodePrecedence < parentNodePrecedence - ); - } - if (nodePrecedence !== 13 && nodePrecedence !== 14) { - // Not a `LogicalExpression` or `BinaryExpression` - return false; - } - if (node.operator === '**' && parentNode.operator === '**') { - // Exponentiation operator has right-to-left associativity - return !isRightHand; - } - if ( - nodePrecedence === 13 && - parentNodePrecedence === 13 && - (node.operator === '??' || parentNode.operator === '??') - ) { - // Nullish coalescing and boolean operators cannot be combined - return true; - } - if (isRightHand) { - // Parenthesis are used if both operators have the same precedence - return ( - OPERATOR_PRECEDENCE[node.operator] <= - OPERATOR_PRECEDENCE[parentNode.operator] - ); - } - return ( - OPERATOR_PRECEDENCE[node.operator] < - OPERATOR_PRECEDENCE[parentNode.operator] - ); - } - - function formatExpression(state, node, parentNode, isRightHand) { - /* - Writes into `state` the provided `node`, adding parenthesis around if the provided `parentNode` needs it. If `node` is a right-hand argument, the provided `isRightHand` parameter should be `true`. - */ - const { generator } = state; - if ( - expressionNeedsParenthesis( - state, - node, - parentNode, - isRightHand - ) - ) { - state.write('('); - generator[node.type](node, state); - state.write(')'); - } else { - generator[node.type](node, state); - } - } - - function reindent(state, text, indent, lineEnd) { - /* - Writes into `state` the `text` string reindented with the provided `indent`. - */ - const lines = text.split('\n'); - const end = lines.length - 1; - state.write(lines[0].trim()); - if (end > 0) { - state.write(lineEnd); - for (let i = 1; i < end; i++) { - state.write(indent + lines[i].trim() + lineEnd); - } - state.write(indent + lines[end].trim()); - } - } - - function formatComments(state, comments, indent, lineEnd) { - /* - Writes into `state` the provided list of `comments`, with the given `indent` and `lineEnd` strings. - Line comments will end with `"\n"` regardless of the value of `lineEnd`. - Expects to start on a new unindented line. - */ - const { length } = comments; - for (let i = 0; i < length; i++) { - const comment = comments[i]; - state.write(indent); - if (comment.type[0] === 'L') { - // Line comment - state.write( - '// ' + comment.value.trim() + '\n', - comment - ); - } else { - // Block comment - state.write('/*'); - reindent(state, comment.value, indent, lineEnd); - state.write('*/' + lineEnd); - } - } - } - - function hasCallExpression(node) { - /* - Returns `true` if the provided `node` contains a call expression and `false` otherwise. - */ - let currentNode = node; - while (currentNode != null) { - const { type } = currentNode; - if (type[0] === 'C' && type[1] === 'a') { - // Is CallExpression - return true; - } else if ( - type[0] === 'M' && - type[1] === 'e' && - type[2] === 'm' - ) { - // Is MemberExpression - currentNode = currentNode.object; - } else { - return false; - } - } - } - - function formatVariableDeclaration(state, node) { - /* - Writes into `state` a variable declaration. - */ - const { generator } = state; - const { declarations } = node; - state.write(node.kind + ' '); - const { length } = declarations; - if (length > 0) { - generator.VariableDeclarator(declarations[0], state); - for (let i = 1; i < length; i++) { - state.write(', '); - generator.VariableDeclarator(declarations[i], state); - } - } - } - - let ForInStatement, - FunctionDeclaration, - RestElement, - BinaryExpression, - ArrayExpression, - BlockStatement; - - const GENERATOR = { - /* - Default generator. - */ - Program(node, state) { - const indent = state.indent.repeat(state.indentLevel); - const { lineEnd, writeComments } = state; - if (writeComments && node.comments != null) { - formatComments(state, node.comments, indent, lineEnd); - } - const statements = node.body; - const { length } = statements; - for (let i = 0; i < length; i++) { - const statement = statements[i]; - if (writeComments && statement.comments != null) { - formatComments( - state, - statement.comments, - indent, - lineEnd - ); - } - state.write(indent); - this[statement.type](statement, state); - state.write(lineEnd); - } - if (writeComments && node.trailingComments != null) { - formatComments( - state, - node.trailingComments, - indent, - lineEnd - ); - } - }, - BlockStatement: (BlockStatement = function (node, state) { - const indent = state.indent.repeat(state.indentLevel++); - const { lineEnd, writeComments } = state; - const statementIndent = indent + state.indent; - state.write('{'); - const statements = node.body; - if (statements != null && statements.length > 0) { - state.write(lineEnd); - if (writeComments && node.comments != null) { - formatComments( - state, - node.comments, - statementIndent, - lineEnd - ); - } - const { length } = statements; - for (let i = 0; i < length; i++) { - const statement = statements[i]; - if (writeComments && statement.comments != null) { - formatComments( - state, - statement.comments, - statementIndent, - lineEnd - ); - } - state.write(statementIndent); - this[statement.type](statement, state); - state.write(lineEnd); - } - state.write(indent); - } else { - if (writeComments && node.comments != null) { - state.write(lineEnd); - formatComments( - state, - node.comments, - statementIndent, - lineEnd - ); - state.write(indent); - } - } - if (writeComments && node.trailingComments != null) { - formatComments( - state, - node.trailingComments, - statementIndent, - lineEnd - ); - } - state.write('}'); - state.indentLevel--; - }), - ClassBody: BlockStatement, - StaticBlock(node, state) { - state.write('static '); - this.BlockStatement(node, state); - }, - EmptyStatement(node, state) { - state.write(';'); - }, - ExpressionStatement(node, state) { - const precedence = - state.expressionsPrecedence[node.expression.type]; - if ( - precedence === NEEDS_PARENTHESES || - (precedence === 3 && - node.expression.left.type[0] === 'O') - ) { - // Should always have parentheses or is an AssignmentExpression to an ObjectPattern - state.write('('); - this[node.expression.type](node.expression, state); - state.write(')'); - } else { - this[node.expression.type](node.expression, state); - } - state.write(';'); - }, - IfStatement(node, state) { - state.write('if ('); - this[node.test.type](node.test, state); - state.write(') '); - this[node.consequent.type](node.consequent, state); - if (node.alternate != null) { - state.write(' else '); - this[node.alternate.type](node.alternate, state); - } - }, - LabeledStatement(node, state) { - this[node.label.type](node.label, state); - state.write(': '); - this[node.body.type](node.body, state); - }, - BreakStatement(node, state) { - state.write('break'); - if (node.label != null) { - state.write(' '); - this[node.label.type](node.label, state); - } - state.write(';'); - }, - ContinueStatement(node, state) { - state.write('continue'); - if (node.label != null) { - state.write(' '); - this[node.label.type](node.label, state); - } - state.write(';'); - }, - WithStatement(node, state) { - state.write('with ('); - this[node.object.type](node.object, state); - state.write(') '); - this[node.body.type](node.body, state); - }, - SwitchStatement(node, state) { - const indent = state.indent.repeat(state.indentLevel++); - const { lineEnd, writeComments } = state; - state.indentLevel++; - const caseIndent = indent + state.indent; - const statementIndent = caseIndent + state.indent; - state.write('switch ('); - this[node.discriminant.type](node.discriminant, state); - state.write(') {' + lineEnd); - const { cases: occurences } = node; - const { length: occurencesCount } = occurences; - for (let i = 0; i < occurencesCount; i++) { - const occurence = occurences[i]; - if (writeComments && occurence.comments != null) { - formatComments( - state, - occurence.comments, - caseIndent, - lineEnd - ); - } - if (occurence.test) { - state.write(caseIndent + 'case '); - this[occurence.test.type](occurence.test, state); - state.write(':' + lineEnd); - } else { - state.write(caseIndent + 'default:' + lineEnd); - } - const { consequent } = occurence; - const { length: consequentCount } = consequent; - for (let i = 0; i < consequentCount; i++) { - const statement = consequent[i]; - if (writeComments && statement.comments != null) { - formatComments( - state, - statement.comments, - statementIndent, - lineEnd - ); - } - state.write(statementIndent); - this[statement.type](statement, state); - state.write(lineEnd); - } - } - state.indentLevel -= 2; - state.write(indent + '}'); - }, - ReturnStatement(node, state) { - state.write('return'); - if (node.argument) { - state.write(' '); - this[node.argument.type](node.argument, state); - } - state.write(';'); - }, - ThrowStatement(node, state) { - state.write('throw '); - this[node.argument.type](node.argument, state); - state.write(';'); - }, - TryStatement(node, state) { - state.write('try '); - this[node.block.type](node.block, state); - if (node.handler) { - const { handler } = node; - if (handler.param == null) { - state.write(' catch '); - } else { - state.write(' catch ('); - this[handler.param.type](handler.param, state); - state.write(') '); - } - this[handler.body.type](handler.body, state); - } - if (node.finalizer) { - state.write(' finally '); - this[node.finalizer.type](node.finalizer, state); - } - }, - WhileStatement(node, state) { - state.write('while ('); - this[node.test.type](node.test, state); - state.write(') '); - this[node.body.type](node.body, state); - }, - DoWhileStatement(node, state) { - state.write('do '); - this[node.body.type](node.body, state); - state.write(' while ('); - this[node.test.type](node.test, state); - state.write(');'); - }, - ForStatement(node, state) { - state.write('for ('); - if (node.init != null) { - const { init } = node; - if (init.type[0] === 'V') { - formatVariableDeclaration(state, init); - } else { - this[init.type](init, state); - } - } - state.write('; '); - if (node.test) { - this[node.test.type](node.test, state); - } - state.write('; '); - if (node.update) { - this[node.update.type](node.update, state); - } - state.write(') '); - this[node.body.type](node.body, state); - }, - ForInStatement: (ForInStatement = function (node, state) { - state.write(`for ${node.await ? 'await ' : ''}(`); - const { left } = node; - if (left.type[0] === 'V') { - formatVariableDeclaration(state, left); - } else { - this[left.type](left, state); - } - // Identifying whether node.type is `ForInStatement` or `ForOfStatement` - state.write(node.type[3] === 'I' ? ' in ' : ' of '); - this[node.right.type](node.right, state); - state.write(') '); - this[node.body.type](node.body, state); - }), - ForOfStatement: ForInStatement, - DebuggerStatement(node, state) { - state.write('debugger;', node); - }, - FunctionDeclaration: (FunctionDeclaration = function ( - node, - state - ) { - state.write( - (node.async ? 'async ' : '') + - (node.generator ? 'function* ' : 'function ') + - (node.id ? node.id.name : ''), - node - ); - formatSequence(state, node.params); - state.write(' '); - this[node.body.type](node.body, state); - }), - FunctionExpression: FunctionDeclaration, - VariableDeclaration(node, state) { - formatVariableDeclaration(state, node); - state.write(';'); - }, - VariableDeclarator(node, state) { - this[node.id.type](node.id, state); - if (node.init != null) { - state.write(' = '); - this[node.init.type](node.init, state); - } - }, - ClassDeclaration(node, state) { - state.write( - 'class ' + (node.id ? `${node.id.name} ` : ''), - node - ); - if (node.superClass) { - state.write('extends '); - const { superClass } = node; - const { type } = superClass; - const precedence = state.expressionsPrecedence[type]; - if ( - (type[0] !== 'C' || - type[1] !== 'l' || - type[5] !== 'E') && - (precedence === NEEDS_PARENTHESES || - precedence < - state.expressionsPrecedence.ClassExpression) - ) { - // Not a ClassExpression that needs parentheses - state.write('('); - this[node.superClass.type](superClass, state); - state.write(')'); - } else { - this[superClass.type](superClass, state); - } - state.write(' '); - } - this.ClassBody(node.body, state); - }, - ImportDeclaration(node, state) { - state.write('import '); - const { specifiers } = node; - const { length } = specifiers; - // TODO: Once babili is fixed, put this after condition - // https://github.com/babel/babili/issues/430 - let i = 0; - if (length > 0) { - for (; i < length; ) { - if (i > 0) { - state.write(', '); - } - const specifier = specifiers[i]; - const type = specifier.type[6]; - if (type === 'D') { - // ImportDefaultSpecifier - state.write(specifier.local.name, specifier); - i++; - } else if (type === 'N') { - // ImportNamespaceSpecifier - state.write( - '* as ' + specifier.local.name, - specifier - ); - i++; - } else { - // ImportSpecifier - break; - } - } - if (i < length) { - state.write('{'); - for (;;) { - const specifier = specifiers[i]; - const { name } = specifier.imported; - state.write(name, specifier); - if (name !== specifier.local.name) { - state.write(' as ' + specifier.local.name); - } - if (++i < length) { - state.write(', '); - } else { - break; - } - } - state.write('}'); - } - state.write(' from '); - } - this.Literal(node.source, state); - state.write(';'); - }, - ImportExpression(node, state) { - state.write('import('); - this[node.source.type](node.source, state); - state.write(')'); - }, - ExportDefaultDeclaration(node, state) { - state.write('export default '); - this[node.declaration.type](node.declaration, state); - if ( - state.expressionsPrecedence[node.declaration.type] != - null && - node.declaration.type[0] !== 'F' - ) { - // All expression nodes except `FunctionExpression` - state.write(';'); - } - }, - ExportNamedDeclaration(node, state) { - state.write('export '); - if (node.declaration) { - this[node.declaration.type](node.declaration, state); - } else { - state.write('{'); - const { specifiers } = node, - { length } = specifiers; - if (length > 0) { - for (let i = 0; ; ) { - const specifier = specifiers[i]; - const { name } = specifier.local; - state.write(name, specifier); - if (name !== specifier.exported.name) { - state.write( - ' as ' + specifier.exported.name - ); - } - if (++i < length) { - state.write(', '); - } else { - break; - } - } - } - state.write('}'); - if (node.source) { - state.write(' from '); - this.Literal(node.source, state); - } - state.write(';'); - } - }, - ExportAllDeclaration(node, state) { - if (node.exported != null) { - state.write( - 'export * as ' + node.exported.name + ' from ' - ); - } else { - state.write('export * from '); - } - this.Literal(node.source, state); - state.write(';'); - }, - MethodDefinition(node, state) { - if (node.static) { - state.write('static '); - } - const kind = node.kind[0]; - if (kind === 'g' || kind === 's') { - // Getter or setter - state.write(node.kind + ' '); - } - if (node.value.async) { - state.write('async '); - } - if (node.value.generator) { - state.write('*'); - } - if (node.computed) { - state.write('['); - this[node.key.type](node.key, state); - state.write(']'); - } else { - this[node.key.type](node.key, state); - } - formatSequence(state, node.value.params); - state.write(' '); - this[node.value.body.type](node.value.body, state); - }, - ClassExpression(node, state) { - this.ClassDeclaration(node, state); - }, - ArrowFunctionExpression(node, state) { - state.write(node.async ? 'async ' : '', node); - const { params } = node; - if (params != null) { - // Omit parenthesis if only one named parameter - if (params.length === 1 && params[0].type[0] === 'I') { - // If params[0].type[0] starts with 'I', it can't be `ImportDeclaration` nor `IfStatement` and thus is `Identifier` - state.write(params[0].name, params[0]); - } else { - formatSequence(state, node.params); - } - } - state.write(' => '); - if (node.body.type[0] === 'O') { - // Body is an object expression - state.write('('); - this.ObjectExpression(node.body, state); - state.write(')'); - } else { - this[node.body.type](node.body, state); - } - }, - ThisExpression(node, state) { - state.write('this', node); - }, - Super(node, state) { - state.write('super', node); - }, - RestElement: (RestElement = function (node, state) { - state.write('...'); - this[node.argument.type](node.argument, state); - }), - SpreadElement: RestElement, - YieldExpression(node, state) { - state.write(node.delegate ? 'yield*' : 'yield'); - if (node.argument) { - state.write(' '); - this[node.argument.type](node.argument, state); - } - }, - AwaitExpression(node, state) { - state.write('await ', node); - formatExpression(state, node.argument, node); - }, - TemplateLiteral(node, state) { - const { quasis, expressions } = node; - state.write('`'); - const { length } = expressions; - for (let i = 0; i < length; i++) { - const expression = expressions[i]; - const quasi = quasis[i]; - state.write(quasi.value.raw, quasi); - state.write('${'); - this[expression.type](expression, state); - state.write('}'); - } - const quasi = quasis[quasis.length - 1]; - state.write(quasi.value.raw, quasi); - state.write('`'); - }, - TemplateElement(node, state) { - state.write(node.value.raw, node); - }, - TaggedTemplateExpression(node, state) { - formatExpression(state, node.tag, node); - this[node.quasi.type](node.quasi, state); - }, - ArrayExpression: (ArrayExpression = function (node, state) { - state.write('['); - if (node.elements.length > 0) { - const { elements } = node, - { length } = elements; - for (let i = 0; ; ) { - const element = elements[i]; - if (element != null) { - this[element.type](element, state); - } - if (++i < length) { - state.write(', '); - } else { - if (element == null) { - state.write(', '); - } - break; - } - } - } - state.write(']'); - }), - ArrayPattern: ArrayExpression, - ObjectExpression(node, state) { - const indent = state.indent.repeat(state.indentLevel++); - const { lineEnd, writeComments } = state; - const propertyIndent = indent + state.indent; - state.write('{'); - if (node.properties.length > 0) { - state.write(lineEnd); - if (writeComments && node.comments != null) { - formatComments( - state, - node.comments, - propertyIndent, - lineEnd - ); - } - const comma = ',' + lineEnd; - const { properties } = node, - { length } = properties; - for (let i = 0; ; ) { - const property = properties[i]; - if (writeComments && property.comments != null) { - formatComments( - state, - property.comments, - propertyIndent, - lineEnd - ); - } - state.write(propertyIndent); - this[property.type](property, state); - if (++i < length) { - state.write(comma); - } else { - break; - } - } - state.write(lineEnd); - if (writeComments && node.trailingComments != null) { - formatComments( - state, - node.trailingComments, - propertyIndent, - lineEnd - ); - } - state.write(indent + '}'); - } else if (writeComments) { - if (node.comments != null) { - state.write(lineEnd); - formatComments( - state, - node.comments, - propertyIndent, - lineEnd - ); - if (node.trailingComments != null) { - formatComments( - state, - node.trailingComments, - propertyIndent, - lineEnd - ); - } - state.write(indent + '}'); - } else if (node.trailingComments != null) { - state.write(lineEnd); - formatComments( - state, - node.trailingComments, - propertyIndent, - lineEnd - ); - state.write(indent + '}'); - } else { - state.write('}'); - } - } else { - state.write('}'); - } - state.indentLevel--; - }, - Property(node, state) { - if (node.method || node.kind[0] !== 'i') { - // Either a method or of kind `set` or `get` (not `init`) - this.MethodDefinition(node, state); - } else { - if (!node.shorthand) { - if (node.computed) { - state.write('['); - this[node.key.type](node.key, state); - state.write(']'); - } else { - this[node.key.type](node.key, state); - } - state.write(': '); - } - this[node.value.type](node.value, state); - } - }, - PropertyDefinition(node, state) { - if (node.static) { - state.write('static '); - } - if (node.computed) { - state.write('['); - } - this[node.key.type](node.key, state); - if (node.computed) { - state.write(']'); - } - if (node.value == null) { - if (node.key.type[0] !== 'F') { - state.write(';'); - } - return; - } - state.write(' = '); - this[node.value.type](node.value, state); - state.write(';'); - }, - ObjectPattern(node, state) { - state.write('{'); - if (node.properties.length > 0) { - const { properties } = node, - { length } = properties; - for (let i = 0; ; ) { - this[properties[i].type](properties[i], state); - if (++i < length) { - state.write(', '); - } else { - break; - } - } - } - state.write('}'); - }, - SequenceExpression(node, state) { - formatSequence(state, node.expressions); - }, - UnaryExpression(node, state) { - if (node.prefix) { - const { - operator, - argument, - argument: { type } - } = node; - state.write(operator); - const needsParentheses = expressionNeedsParenthesis( - state, - argument, - node - ); - if ( - !needsParentheses && - (operator.length > 1 || - (type[0] === 'U' && - (type[1] === 'n' || type[1] === 'p') && - argument.prefix && - argument.operator[0] === operator && - (operator === '+' || operator === '-'))) - ) { - // Large operator or argument is UnaryExpression or UpdateExpression node - state.write(' '); - } - if (needsParentheses) { - state.write(operator.length > 1 ? ' (' : '('); - this[type](argument, state); - state.write(')'); - } else { - this[type](argument, state); - } - } else { - // FIXME: This case never occurs - this[node.argument.type](node.argument, state); - state.write(node.operator); - } - }, - UpdateExpression(node, state) { - // Always applied to identifiers or members, no parenthesis check needed - if (node.prefix) { - state.write(node.operator); - this[node.argument.type](node.argument, state); - } else { - this[node.argument.type](node.argument, state); - state.write(node.operator); - } - }, - AssignmentExpression(node, state) { - this[node.left.type](node.left, state); - state.write(' ' + node.operator + ' '); - this[node.right.type](node.right, state); - }, - AssignmentPattern(node, state) { - this[node.left.type](node.left, state); - state.write(' = '); - this[node.right.type](node.right, state); - }, - BinaryExpression: (BinaryExpression = function (node, state) { - const isIn = node.operator === 'in'; - if (isIn) { - // Avoids confusion in `for` loops initializers - state.write('('); - } - formatExpression(state, node.left, node, false); - state.write(' ' + node.operator + ' '); - formatExpression(state, node.right, node, true); - if (isIn) { - state.write(')'); - } - }), - LogicalExpression: BinaryExpression, - ConditionalExpression(node, state) { - const { test } = node; - const precedence = state.expressionsPrecedence[test.type]; - if ( - precedence === NEEDS_PARENTHESES || - precedence <= - state.expressionsPrecedence.ConditionalExpression - ) { - state.write('('); - this[test.type](test, state); - state.write(')'); - } else { - this[test.type](test, state); - } - state.write(' ? '); - this[node.consequent.type](node.consequent, state); - state.write(' : '); - this[node.alternate.type](node.alternate, state); - }, - NewExpression(node, state) { - state.write('new '); - const precedence = - state.expressionsPrecedence[node.callee.type]; - if ( - precedence === NEEDS_PARENTHESES || - precedence < - state.expressionsPrecedence.CallExpression || - hasCallExpression(node.callee) - ) { - state.write('('); - this[node.callee.type](node.callee, state); - state.write(')'); - } else { - this[node.callee.type](node.callee, state); - } - formatSequence(state, node['arguments']); - }, - CallExpression(node, state) { - const precedence = - state.expressionsPrecedence[node.callee.type]; - if ( - precedence === NEEDS_PARENTHESES || - precedence < state.expressionsPrecedence.CallExpression - ) { - state.write('('); - this[node.callee.type](node.callee, state); - state.write(')'); - } else { - this[node.callee.type](node.callee, state); - } - if (node.optional) { - state.write('?.'); - } - formatSequence(state, node['arguments']); - }, - ChainExpression(node, state) { - this[node.expression.type](node.expression, state); - }, - MemberExpression(node, state) { - const precedence = - state.expressionsPrecedence[node.object.type]; - if ( - precedence === NEEDS_PARENTHESES || - precedence < - state.expressionsPrecedence.MemberExpression - ) { - state.write('('); - this[node.object.type](node.object, state); - state.write(')'); - } else { - this[node.object.type](node.object, state); - } - if (node.computed) { - if (node.optional) { - state.write('?.'); - } - state.write('['); - this[node.property.type](node.property, state); - state.write(']'); - } else { - if (node.optional) { - state.write('?.'); - } else { - state.write('.'); - } - this[node.property.type](node.property, state); - } - }, - MetaProperty(node, state) { - state.write( - node.meta.name + '.' + node.property.name, - node - ); - }, - Identifier(node, state) { - state.write(node.name, node); - }, - PrivateIdentifier(node, state) { - state.write(`#${node.name}`, node); - }, - Literal(node, state) { - if (node.raw != null) { - // Non-standard property - state.write(node.raw, node); - } else if (node.regex != null) { - this.RegExpLiteral(node, state); - } else if (node.bigint != null) { - state.write(node.bigint + 'n', node); - } else { - state.write(stringify(node.value), node); - } - }, - RegExpLiteral(node, state) { - const { regex } = node; - state.write(`/${regex.pattern}/${regex.flags}`, node); - } - }; - - const EMPTY_OBJECT = {}; - - /* -DEPRECATED: Alternate export of `GENERATOR`. -*/ - const baseGenerator = GENERATOR; - - class State { - constructor(options) { - const setup = options == null ? EMPTY_OBJECT : options; - this.output = ''; - // Functional options - if (setup.output != null) { - this.output = setup.output; - this.write = this.writeToStream; - } else { - this.output = ''; - } - this.generator = - setup.generator != null ? setup.generator : GENERATOR; - this.expressionsPrecedence = - setup.expressionsPrecedence != null - ? setup.expressionsPrecedence - : EXPRESSIONS_PRECEDENCE; - // Formating setup - this.indent = setup.indent != null ? setup.indent : ' '; - this.lineEnd = setup.lineEnd != null ? setup.lineEnd : '\n'; - this.indentLevel = - setup.startingIndentLevel != null - ? setup.startingIndentLevel - : 0; - this.writeComments = setup.comments - ? setup.comments - : false; - // Source map - if (setup.sourceMap != null) { - this.write = - setup.output == null - ? this.writeAndMap - : this.writeToStreamAndMap; - this.sourceMap = setup.sourceMap; - this.line = 1; - this.column = 0; - this.lineEndSize = this.lineEnd.split('\n').length - 1; - this.mapping = { - original: null, - // Uses the entire state to avoid generating ephemeral objects - generated: this, - name: undefined, - source: - setup.sourceMap.file || setup.sourceMap._file - }; - } - } - - write(code) { - this.output += code; - } - - writeToStream(code) { - this.output.write(code); - } - - writeAndMap(code, node) { - this.output += code; - this.map(code, node); - } - - writeToStreamAndMap(code, node) { - this.output.write(code); - this.map(code, node); - } - - map(code, node) { - if (node != null) { - const { type } = node; - if (type[0] === 'L' && type[2] === 'n') { - // LineComment - this.column = 0; - this.line++; - return; - } - if (node.loc != null) { - const { mapping } = this; - mapping.original = node.loc.start; - mapping.name = node.name; - this.sourceMap.addMapping(mapping); - } - if ( - (type[0] === 'T' && type[8] === 'E') || - (type[0] === 'L' && - type[1] === 'i' && - typeof node.value === 'string') - ) { - // TemplateElement or Literal string node - const { length } = code; - let { column, line } = this; - for (let i = 0; i < length; i++) { - if (code[i] === '\n') { - column = 0; - line++; - } else { - column++; - } - } - this.column = column; - this.line = line; - return; - } - } - const { length } = code; - const { lineEnd } = this; - if (length > 0) { - if ( - this.lineEndSize > 0 && - (lineEnd.length === 1 - ? code[length - 1] === lineEnd - : code.endsWith(lineEnd)) - ) { - this.line += this.lineEndSize; - this.column = 0; - } else { - this.column += length; - } - } - } - - toString() { - return this.output; - } - } - - function generate(node, options) { - /* - Returns a string representing the rendered code of the provided AST `node`. - The `options` are: - - - `indent`: string to use for indentation (defaults to `␣␣`) - - `lineEnd`: string to use for line endings (defaults to `\n`) - - `startingIndentLevel`: indent level to start from (defaults to `0`) - - `comments`: generate comments if `true` (defaults to `false`) - - `output`: output stream to write the rendered code to (defaults to `null`) - - `generator`: custom code generator (defaults to `GENERATOR`) - - `expressionsPrecedence`: custom map of node types and their precedence level (defaults to `EXPRESSIONS_PRECEDENCE`) - */ - const state = new State(options); - // Travel through the AST node and generate the code - state.generator[node.type](node, state); - return state.output; - } - }, - './node_modules/meriyah/dist/meriyah.esm.mjs': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - 'use strict'; - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - ESTree: function () { - return estree; - }, - parse: function () { - return parse; - }, - parseModule: function () { - return parseModule; - }, - parseScript: function () { - return parseScript; - }, - version: function () { - return version; - } - }); - const errorMessages = { - [0]: 'Unexpected token', - [28]: "Unexpected token: '%0'", - [1]: 'Octal escape sequences are not allowed in strict mode', - [2]: 'Octal escape sequences are not allowed in template strings', - [3]: 'Unexpected token `#`', - [4]: 'Illegal Unicode escape sequence', - [5]: 'Invalid code point %0', - [6]: 'Invalid hexadecimal escape sequence', - [8]: 'Octal literals are not allowed in strict mode', - [7]: 'Decimal integer literals with a leading zero are forbidden in strict mode', - [9]: 'Expected number in radix %0', - [146]: 'Invalid left-hand side assignment to a destructible right-hand side', - [10]: 'Non-number found after exponent indicator', - [11]: 'Invalid BigIntLiteral', - [12]: 'No identifiers allowed directly after numeric literal', - [13]: 'Escapes \\8 or \\9 are not syntactically valid escapes', - [14]: 'Unterminated string literal', - [15]: 'Unterminated template literal', - [16]: 'Multiline comment was not closed properly', - [17]: 'The identifier contained dynamic unicode escape that was not closed', - [18]: "Illegal character '%0'", - [19]: 'Missing hexadecimal digits', - [20]: 'Invalid implicit octal', - [21]: 'Invalid line break in string literal', - [22]: 'Only unicode escapes are legal in identifier names', - [23]: "Expected '%0'", - [24]: 'Invalid left-hand side in assignment', - [25]: 'Invalid left-hand side in async arrow', - [26]: 'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass', - [27]: 'Member access on super must be in a method', - [29]: 'Await expression not allowed in formal parameter', - [30]: 'Yield expression not allowed in formal parameter', - [93]: "Unexpected token: 'escaped keyword'", - [31]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses', - [120]: 'Async functions can only be declared at the top level or inside a block', - [32]: 'Unterminated regular expression', - [33]: 'Unexpected regular expression flag', - [34]: "Duplicate regular expression flag '%0'", - [35]: '%0 functions must have exactly %1 argument%2', - [36]: 'Setter function argument must not be a rest parameter', - [37]: '%0 declaration must have a name in this context', - [38]: 'Function name may not contain any reserved words or be eval or arguments in strict mode', - [39]: 'The rest operator is missing an argument', - [40]: 'A getter cannot be a generator', - [41]: 'A setter cannot be a generator', - [42]: 'A computed property name must be followed by a colon or paren', - [131]: 'Object literal keys that are strings or numbers must be a method or have a colon', - [44]: 'Found `* async x(){}` but this should be `async * x(){}`', - [43]: 'Getters and setters can not be generators', - [45]: "'%0' can not be generator method", - [46]: "No line break is allowed after '=>'", - [47]: 'The left-hand side of the arrow can only be destructed through assignment', - [48]: 'The binding declaration is not destructible', - [49]: 'Async arrow can not be followed by new expression', - [50]: "Classes may not have a static property named 'prototype'", - [51]: 'Class constructor may not be a %0', - [52]: 'Duplicate constructor method in class', - [53]: 'Invalid increment/decrement operand', - [54]: 'Invalid use of `new` keyword on an increment/decrement expression', - [55]: '`=>` is an invalid assignment target', - [56]: 'Rest element may not have a trailing comma', - [57]: 'Missing initializer in %0 declaration', - [58]: "'for-%0' loop head declarations can not have an initializer", - [59]: 'Invalid left-hand side in for-%0 loop: Must have a single binding', - [60]: 'Invalid shorthand property initializer', - [61]: 'Property name __proto__ appears more than once in object literal', - [62]: 'Let is disallowed as a lexically bound name', - [63]: "Invalid use of '%0' inside new expression", - [64]: "Illegal 'use strict' directive in function with non-simple parameter list", - [65]: 'Identifier "let" disallowed as left-hand side expression in strict mode', - [66]: 'Illegal continue statement', - [67]: 'Illegal break statement', - [68]: 'Cannot have `let[...]` as a var name in strict mode', - [69]: 'Invalid destructuring assignment target', - [70]: 'Rest parameter may not have a default initializer', - [71]: 'The rest argument must the be last parameter', - [72]: 'Invalid rest argument', - [74]: 'In strict mode code, functions can only be declared at top level or inside a block', - [75]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement', - [76]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement', - [77]: "Class declaration can't appear in single-statement context", - [78]: 'Invalid left-hand side in for-%0', - [79]: 'Invalid assignment in for-%0', - [80]: 'for await (... of ...) is only valid in async functions and async generators', - [81]: 'The first token after the template expression should be a continuation of the template', - [83]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode', - [82]: '`let \n [` is a restricted production at the start of a statement', - [84]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)', - [85]: 'Catch clause parameter does not support default values', - [86]: 'Missing catch or finally after try', - [87]: 'More than one default clause in switch statement', - [88]: 'Illegal newline after throw', - [89]: 'Strict mode code may not include a with statement', - [90]: 'Illegal return statement', - [91]: 'The left hand side of the for-header binding declaration is not destructible', - [92]: 'new.target only allowed within functions', - [94]: "'#' not followed by identifier", - [100]: 'Invalid keyword', - [99]: "Can not use 'let' as a class name", - [98]: "'A lexical declaration can't define a 'let' binding", - [97]: 'Can not use `let` as variable name in strict mode', - [95]: "'%0' may not be used as an identifier in this context", - [96]: 'Await is only valid in async functions', - [101]: 'The %0 keyword can only be used with the module goal', - [102]: 'Unicode codepoint must not be greater than 0x10FFFF', - [103]: '%0 source must be string', - [104]: 'Only a identifier can be used to indicate alias', - [105]: "Only '*' or '{...}' can be imported after default", - [106]: 'Trailing decorator may be followed by method', - [107]: "Decorators can't be used with a constructor", - [109]: 'HTML comments are only allowed with web compatibility (Annex B)', - [110]: "The identifier 'let' must not be in expression position in strict mode", - [111]: 'Cannot assign to `eval` and `arguments` in strict mode', - [112]: "The left-hand side of a for-of loop may not start with 'let'", - [113]: 'Block body arrows can not be immediately invoked without a group', - [114]: 'Block body arrows can not be immediately accessed without a group', - [115]: 'Unexpected strict mode reserved word', - [116]: 'Unexpected eval or arguments in strict mode', - [117]: 'Decorators must not be followed by a semicolon', - [118]: 'Calling delete on expression not allowed in strict mode', - [119]: 'Pattern can not have a tail', - [121]: 'Can not have a `yield` expression on the left side of a ternary', - [122]: 'An arrow function can not have a postfix update operator', - [123]: 'Invalid object literal key character after generator star', - [124]: 'Private fields can not be deleted', - [126]: 'Classes may not have a field called constructor', - [125]: 'Classes may not have a private element named constructor', - [127]: 'A class field initializer may not contain arguments', - [128]: 'Generators can only be declared at the top level or inside a block', - [129]: 'Async methods are a restricted production and cannot have a newline following it', - [130]: 'Unexpected character after object literal property name', - [132]: 'Invalid key token', - [133]: "Label '%0' has already been declared", - [134]: 'continue statement must be nested within an iteration statement', - [135]: "Undefined label '%0'", - [136]: 'Trailing comma is disallowed inside import(...) arguments', - [137]: 'import() requires exactly one argument', - [138]: 'Cannot use new with import(...)', - [139]: '... is not allowed in import()', - [140]: "Expected '=>'", - [141]: "Duplicate binding '%0'", - [142]: "Cannot export a duplicate name '%0'", - [145]: 'Duplicate %0 for-binding', - [143]: "Exported binding '%0' needs to refer to a top-level declared variable", - [144]: 'Unexpected private field', - [148]: 'Numeric separators are not allowed at the end of numeric literals', - [147]: 'Only one underscore is allowed as numeric separator', - [149]: 'JSX value should be either an expression or a quoted JSX text', - [150]: 'Expected corresponding JSX closing tag for %0', - [151]: 'Adjacent JSX elements must be wrapped in an enclosing tag', - [152]: "JSX attributes must only be assigned a non-empty 'expression'", - [153]: "'%0' has already been declared", - [154]: "'%0' shadowed a catch clause binding", - [155]: 'Dot property must be an identifier', - [156]: 'Encountered invalid input after spread/rest argument', - [157]: 'Catch without try', - [158]: 'Finally without try', - [159]: 'Expected corresponding closing tag for JSX fragment', - [160]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses', - [161]: 'Invalid tagged template on optional chain', - [162]: 'Invalid optional chain from super property', - [163]: 'Invalid optional chain from new expression', - [164]: 'Cannot use "import.meta" outside a module', - [165]: 'Leading decorators must be attached to a class declaration' - }; - class ParseError extends SyntaxError { - constructor(startindex, line, column, type, ...params) { - const message = - '[' + - line + - ':' + - column + - ']: ' + - errorMessages[type].replace( - /%(\d+)/g, - (_, i) => params[i] - ); - super(`${message}`); - this.index = startindex; - this.line = line; - this.column = column; - this.description = message; - this.loc = { - line, - column - }; - } - } - function report(parser, type, ...params) { - throw new ParseError( - parser.index, - parser.line, - parser.column, - type, - ...params - ); - } - function reportScopeError(scope) { - throw new ParseError( - scope.index, - scope.line, - scope.column, - scope.type, - scope.params - ); - } - function reportMessageAt(index, line, column, type, ...params) { - throw new ParseError(index, line, column, type, ...params); - } - function reportScannerError(index, line, column, type) { - throw new ParseError(index, line, column, type); - } - - const unicodeLookup = ((compressed, lookup) => { - const result = new Uint32Array(104448); - let index = 0; - let subIndex = 0; - while (index < 3701) { - const inst = compressed[index++]; - if (inst < 0) { - subIndex -= inst; - } else { - let code = compressed[index++]; - if (inst & 2) code = lookup[code]; - if (inst & 1) { - result.fill( - code, - subIndex, - (subIndex += compressed[index++]) - ); - } else { - result[subIndex++] = code; - } - } - } - return result; - })( - [ - -1, 2, 26, 2, 27, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, - 2, 57, 2, 58, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, - 2, 0, 2, 59, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 60, - 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 61, 0, - 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, - 0, 2684354047, 2, 18, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, - 2, 0, 0, 608174079, 2, 0, 2, 54, 2, 7, 2, 6, 0, 4278222591, - 3, 0, 2, 2, 1, 3, 0, 3, 0, 4294901711, 2, 40, 0, 4089839103, - 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, - 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, - 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, - 0, 3594373100, 0, 3288319768, 0, 8469959, 2, 200, 2, 3, 0, - 4093640191, 0, 660618719, 0, 65487, 0, 4294828015, 0, - 4092591615, 0, 1616920031, 0, 982991, 2, 3, 2, 0, 0, - 2163244511, 0, 4227923919, 0, 4236247022, 2, 66, 0, - 4284449919, 0, 851904, 2, 4, 2, 12, 0, 67076095, -1, 2, 67, - 0, 1073741743, 0, 4093607775, -1, 0, 50331649, 0, - 3265266687, 2, 33, 0, 4294844415, 0, 4278190047, 2, 20, 2, - 133, -1, 3, 0, 2, 2, 23, 2, 0, 2, 10, 2, 0, 2, 15, 2, 22, 3, - 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, - 2, 11, 0, 261632, 2, 25, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, - 74, 2, 5, 3, 0, 2, 2, 75, 0, 2151677951, 2, 29, 2, 9, 0, - 909311, 3, 0, 2, 0, 814743551, 2, 42, 0, 67090432, 3, 0, 2, - 2, 41, 2, 0, 2, 6, 2, 0, 2, 30, 2, 8, 0, 268374015, 2, 107, - 2, 48, 2, 0, 2, 76, 0, 134153215, -1, 2, 7, 2, 0, 2, 8, 0, - 2684354559, 0, 67044351, 0, 3221160064, 2, 17, -1, 3, 0, 2, - 0, 67051519, 0, 1046528, 3, 0, 3, 2, 9, 2, 0, 2, 50, 0, - 4294960127, 2, 10, 2, 39, 2, 11, 0, 4294377472, 2, 12, 3, 0, - 16, 2, 13, 2, 0, 2, 79, 2, 10, 2, 0, 2, 80, 2, 81, 2, 82, 2, - 206, 2, 129, 0, 1048577, 2, 83, 2, 14, -1, 2, 14, 0, 131042, - 2, 84, 2, 85, 2, 86, 2, 0, 2, 34, -83, 3, 0, 7, 0, 1046559, - 2, 0, 2, 15, 2, 0, 0, 2147516671, 2, 21, 3, 87, 2, 2, 0, - -16, 2, 88, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, - 3, 0, 2, 2, 28, 2, 16, 3, 0, 2, 2, 17, 2, 0, -1, 2, 18, -16, - 3, 0, 206, -2, 3, 0, 692, 2, 68, -1, 2, 18, 2, 10, 3, 0, 8, - 2, 90, 2, 128, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 91, - 2, 92, 3, 0, 2, 2, 93, 2, 0, 2, 94, 2, 45, 2, 0, 0, 4351, 2, - 0, 2, 9, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 24, - 2, 9, 2, 20, 3, 0, 2, 0, 67076097, 2, 8, 2, 0, 2, 21, 0, - 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, - 2, 98, 2, 99, 2, 22, 2, 23, 3, 0, 3, 0, 67057663, 3, 0, 349, - 2, 100, 2, 101, 2, 7, -264, 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, - -1, 0, 3774349439, 2, 102, 2, 103, 3, 0, 2, 2, 19, 2, 104, - 3, 0, 10, 2, 10, 2, 18, 2, 0, 2, 46, 2, 0, 2, 31, 2, 105, 2, - 25, 0, 1638399, 2, 170, 2, 106, 3, 0, 3, 2, 20, 2, 26, 2, - 27, 2, 5, 2, 28, 2, 0, 2, 8, 2, 108, -1, 2, 109, 2, 110, 2, - 111, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -3, 2, 159, -4, 2, - 20, 2, 0, 2, 36, 0, 1, 2, 0, 2, 62, 2, 6, 2, 12, 2, 10, 2, - 0, 2, 112, -1, 3, 0, 4, 2, 10, 2, 23, 2, 113, 2, 7, 2, 0, 2, - 114, 2, 0, 2, 115, 2, 116, 2, 117, -2, 3, 0, 9, 2, 21, 2, - 30, 2, 31, 2, 118, 2, 119, -2, 2, 120, 2, 121, 2, 30, 2, 21, - 2, 8, -2, 2, 122, 2, 30, 2, 32, -2, 2, 0, 2, 38, -2, 0, - 4277137519, 0, 2269118463, -1, 3, 20, 2, -1, 2, 33, 2, 37, - 2, 0, 3, 30, 2, 2, 35, 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, - 2, 35, 2, 0, 2, 35, 2, 0, 2, 47, -10, 2, 0, 0, 203775, -1, - 2, 164, 2, 20, 2, 43, 2, 36, 2, 18, 2, 77, 2, 18, 2, 123, 2, - 21, 3, 0, 2, 2, 37, 0, 2151677888, 2, 0, 2, 12, 0, - 4294901764, 2, 140, 2, 0, 2, 52, 2, 51, 0, 5242879, 3, 0, 2, - 0, 402644511, -1, 2, 125, 2, 38, 0, 3, -1, 2, 126, 2, 39, 2, - 0, 0, 67045375, 2, 40, 0, 4226678271, 0, 3766565279, 0, - 2039759, -4, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, - 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, - 2, 0, 67043345, -1, 2, 0, 2, 41, 2, 42, -1, 2, 11, 2, 55, 2, - 37, -5, 2, 0, 2, 12, -3, 3, 0, 2, 0, 2147484671, 2, 130, 0, - 4190109695, 2, 49, -2, 2, 131, 0, 4244635647, 0, 27, 2, 0, - 2, 8, 2, 43, 2, 0, 2, 63, 2, 18, 2, 0, 2, 41, -8, 2, 53, 2, - 44, 0, 67043329, 2, 45, 2, 46, 0, 8388351, -2, 2, 132, 0, - 3028287487, 2, 47, 2, 134, 0, 33259519, 2, 42, -9, 2, 21, 0, - 4294836223, 0, 3355443199, 0, 67043335, -2, 2, 64, -2, 3, 0, - 28, 2, 32, -3, 3, 0, 3, 2, 17, 3, 0, 6, 2, 78, -81, 2, 18, - 3, 0, 2, 2, 36, 3, 0, 33, 2, 25, 2, 30, -125, 3, 0, 18, 2, - 37, -269, 3, 0, 17, 2, 41, 2, 8, 2, 23, 2, 0, 2, 8, 2, 23, - 2, 48, 2, 0, 2, 21, 2, 49, 2, 135, 2, 25, -21, 3, 0, 2, -4, - 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, - 3, 0, 191, 2, 50, 3, 0, 38, 2, 30, -1, 2, 34, -278, 2, 136, - 3, 0, 9, 2, 137, 2, 138, 2, 51, 3, 0, 11, 2, 7, -72, 3, 0, - 3, 2, 139, 0, 1677656575, -147, 2, 0, 2, 24, 2, 37, -16, 0, - 4161266656, 0, 4071, 2, 201, -4, 0, 28, -13, 3, 0, 2, 2, 52, - 2, 0, 2, 141, 2, 142, 2, 56, 2, 0, 2, 143, 2, 144, 2, 145, - 3, 0, 10, 2, 146, 2, 147, 2, 22, 3, 52, 2, 3, 148, 2, 3, 53, - 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 89, 2, 0, 0, 2105343, - 0, 4160749584, 2, 174, -34, 2, 8, 2, 150, -6, 0, 4194303871, - 0, 4294903771, 2, 0, 2, 54, 2, 97, -3, 2, 0, 0, 1073684479, - 0, 17407, -9, 2, 18, 2, 17, 2, 0, 2, 32, -14, 2, 18, 2, 32, - -23, 2, 151, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 55, -37, - 2, 56, 2, 152, 2, 153, 2, 154, 2, 155, 2, 156, -105, 2, 26, - -32, 3, 0, 1335, -1, 3, 0, 129, 2, 32, 3, 0, 6, 2, 10, 3, 0, - 180, 2, 157, 3, 0, 233, 2, 158, 3, 0, 18, 2, 10, -77, 3, 0, - 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 130, 2, 25, -22250, - 3, 0, 7, 2, 25, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, - 3, 0, 14, 2, 57, 2, 58, -3, 0, 3168731136, 0, 4294956864, 2, - 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, - 60, 2, 0, 2, 34, -1, 2, 18, 2, 61, -1, 2, 0, 0, 2047, 0, - 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, - 4294770688, 2, 25, 2, 62, 3, 0, 2, 0, 131135, 2, 95, 0, - 70256639, 0, 71303167, 0, 272, 2, 41, 2, 6, 0, 32511, 2, 0, - 2, 42, -1, 2, 96, 2, 63, 0, 4278255616, 0, 4294836227, 0, - 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, - 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, - 4294688736, 2, 65, 2, 64, 0, 33554435, 2, 127, 2, 65, 2, - 160, 0, 131075, 0, 3594373096, 0, 67094296, 2, 64, -1, 0, - 4294828000, 0, 603979263, 0, 654311424, 0, 3, 0, 4294828001, - 0, 602930687, 2, 167, 0, 393219, 0, 4294828016, 0, - 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, - 66, 2, 37, -1, 2, 4, 0, 917503, 2, 37, -1, 2, 67, 0, - 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 33, 2, 68, 0, - 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, - 0, 16387, 2, 0, 2, 15, 2, 22, 3, 0, 10, 2, 69, 2, 0, 2, 70, - 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 12, -1, 2, 25, 3, 0, 2, - 2, 13, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, - 2147745791, 3, 19, 2, 0, 122879, 2, 0, 2, 9, 0, 276824064, - -2, 3, 0, 2, 2, 41, 2, 0, 0, 4294903295, 2, 0, 2, 30, 2, 8, - -1, 2, 18, 2, 48, 2, 0, 2, 76, 2, 42, -1, 2, 21, 2, 0, 2, - 29, -2, 0, 128, -2, 2, 28, 2, 9, 0, 8160, -1, 2, 124, 0, - 4227907585, 2, 0, 2, 77, 2, 0, 2, 78, 2, 180, 2, 10, 2, 39, - 2, 11, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 13, 2, 0, - 2, 79, 2, 10, 2, 0, 2, 80, 2, 81, 2, 82, -3, 2, 83, 2, 14, - -3, 2, 84, 2, 85, 2, 86, 2, 0, 2, 34, -83, 3, 0, 7, 0, - 817183, 2, 0, 2, 15, 2, 0, 0, 33023, 2, 21, 3, 87, 2, -17, - 2, 88, 0, 524157950, 2, 4, 2, 0, 2, 89, 2, 4, 2, 0, 2, 22, - 2, 28, 2, 16, 3, 0, 2, 2, 17, 2, 0, -1, 2, 18, -16, 3, 0, - 206, -2, 3, 0, 692, 2, 68, -1, 2, 18, 2, 10, 3, 0, 8, 2, 90, - 0, 3072, 2, 0, 0, 2147516415, 2, 10, 3, 0, 2, 2, 25, 2, 91, - 2, 92, 3, 0, 2, 2, 93, 2, 0, 2, 94, 2, 45, 0, 4294965179, 0, - 7, 2, 0, 2, 9, 2, 92, 2, 9, -1, 0, 1761345536, 2, 95, 0, - 4294901823, 2, 37, 2, 20, 2, 96, 2, 35, 2, 97, 0, - 2080440287, 2, 0, 2, 34, 2, 149, 0, 3296722943, 2, 0, 0, - 1046675455, 0, 939524101, 0, 1837055, 2, 98, 2, 99, 2, 22, - 2, 23, 3, 0, 3, 0, 7, 3, 0, 349, 2, 100, 2, 101, 2, 7, -264, - 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, -1, 0, 2700607615, 2, 102, - 2, 103, 3, 0, 2, 2, 19, 2, 104, 3, 0, 10, 2, 10, 2, 18, 2, - 0, 2, 46, 2, 0, 2, 31, 2, 105, -3, 2, 106, 3, 0, 3, 2, 20, - -1, 3, 5, 2, 2, 107, 2, 0, 2, 8, 2, 108, -1, 2, 109, 2, 110, - 2, 111, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -8, 2, 20, 2, - 0, 2, 36, -1, 2, 0, 2, 62, 2, 6, 2, 30, 2, 10, 2, 0, 2, 112, - -1, 3, 0, 4, 2, 10, 2, 18, 2, 113, 2, 7, 2, 0, 2, 114, 2, 0, - 2, 115, 2, 116, 2, 117, -2, 3, 0, 9, 2, 21, 2, 30, 2, 31, 2, - 118, 2, 119, -2, 2, 120, 2, 121, 2, 30, 2, 21, 2, 8, -2, 2, - 122, 2, 30, 2, 32, -2, 2, 0, 2, 38, -2, 0, 4277075969, 2, - 30, -1, 3, 20, 2, -1, 2, 33, 2, 123, 2, 0, 3, 30, 2, 2, 35, - 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, 2, 35, 2, 0, 2, 35, 2, - 0, 2, 78, -10, 2, 0, 0, 197631, -2, 2, 20, 2, 43, 2, 77, 2, - 18, 0, 3, 2, 18, 2, 123, 2, 21, 2, 124, 2, 50, -1, 0, - 2490368, 2, 124, 2, 25, 2, 18, 2, 34, 2, 124, 2, 37, 0, - 4294901904, 0, 4718591, 2, 124, 2, 35, 0, 335544350, -1, 2, - 125, 0, 2147487743, 0, 1, -1, 2, 126, 2, 39, 2, 8, -1, 2, - 127, 2, 65, 0, 3758161920, 0, 3, -4, 2, 0, 2, 29, 0, - 2147485568, 0, 3, 2, 0, 2, 25, 0, 176, -5, 2, 0, 2, 17, 2, - 188, -1, 2, 0, 2, 25, 2, 205, -1, 2, 0, 0, 16779263, -2, 2, - 12, -1, 2, 37, -5, 2, 0, 2, 128, -3, 3, 0, 2, 2, 129, 2, - 130, 0, 2147549183, 0, 2, -2, 2, 131, 2, 36, 0, 10, 0, - 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, - 2, 18, 2, 0, 2, 41, -8, 2, 53, 2, 17, 0, 1, 2, 45, 2, 25, - -3, 2, 132, 2, 36, 2, 133, 2, 134, 0, 16778239, -10, 2, 35, - 0, 4294836212, 2, 9, -3, 2, 64, -2, 3, 0, 28, 2, 32, -3, 3, - 0, 3, 2, 17, 3, 0, 6, 2, 78, -81, 2, 18, 3, 0, 2, 2, 36, 3, - 0, 33, 2, 25, 0, 126, -125, 3, 0, 18, 2, 37, -269, 3, 0, 17, - 2, 41, 2, 8, 2, 18, 2, 0, 2, 8, 2, 18, 2, 54, 2, 0, 2, 25, - 2, 78, 2, 135, 2, 25, -21, 3, 0, 2, -4, 3, 0, 2, 0, 67583, - -1, 2, 104, -2, 0, 11, 3, 0, 191, 2, 50, 3, 0, 38, 2, 30, - -1, 2, 34, -278, 2, 136, 3, 0, 9, 2, 137, 2, 138, 2, 51, 3, - 0, 11, 2, 7, -72, 3, 0, 3, 2, 139, 2, 140, -187, 3, 0, 2, 2, - 52, 2, 0, 2, 141, 2, 142, 2, 56, 2, 0, 2, 143, 2, 144, 2, - 145, 3, 0, 10, 2, 146, 2, 147, 2, 22, 3, 52, 2, 3, 148, 2, - 3, 53, 2, 2, 149, -57, 2, 8, 2, 150, -7, 2, 18, 2, 0, 2, 54, - -4, 2, 0, 0, 1065361407, 0, 16384, -9, 2, 18, 2, 54, 2, 0, - 2, 128, -14, 2, 18, 2, 128, -23, 2, 151, 3, 0, 6, 2, 123, - -1, 3, 0, 2, 0, 2063, -37, 2, 56, 2, 152, 2, 153, 2, 154, 2, - 155, 2, 156, -138, 3, 0, 1335, -1, 3, 0, 129, 2, 32, 3, 0, - 6, 2, 10, 3, 0, 180, 2, 157, 3, 0, 233, 2, 158, 3, 0, 18, 2, - 10, -77, 3, 0, 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 130, - 2, 25, -28386, 2, 0, 0, 1, -1, 2, 129, 2, 0, 0, 8193, -21, - 2, 198, 0, 10255, 0, 4, -11, 2, 64, 2, 179, -1, 0, 71680, - -1, 2, 171, 0, 4292900864, 0, 268435519, -5, 2, 159, -1, 2, - 169, -1, 0, 6144, -2, 2, 45, -1, 2, 163, -1, 0, 2147532800, - 2, 160, 2, 166, 0, 16744448, -2, 0, 4, -4, 2, 194, 0, - 205128192, 0, 1333757536, 0, 2147483696, 0, 423953, 0, - 747766272, 0, 2717763192, 0, 4286578751, 0, 278545, 2, 161, - 0, 4294886464, 0, 33292336, 0, 417809, 2, 161, 0, - 1327482464, 0, 4278190128, 0, 700594195, 0, 1006647527, 0, - 4286497336, 0, 4160749631, 2, 162, 0, 201327104, 0, - 3634348576, 0, 8323120, 2, 162, 0, 202375680, 0, 2678047264, - 0, 4293984304, 2, 162, -1, 0, 983584, 0, 48, 0, 58720273, 0, - 3489923072, 0, 10517376, 0, 4293066815, 0, 1, 0, 2013265920, - 2, 182, 2, 0, 0, 2089, 0, 3221225552, 0, 201359520, 2, 0, - -2, 0, 256, 0, 122880, 0, 16777216, 2, 159, 0, 4160757760, - 2, 0, -6, 2, 176, -11, 0, 3263218176, -1, 0, 49664, 0, - 2160197632, 0, 8388802, -1, 0, 12713984, -1, 2, 163, 2, 164, - 2, 183, -2, 2, 172, -20, 0, 3758096385, -2, 2, 165, 2, 191, - 2, 91, 2, 177, 0, 4294057984, -2, 2, 173, 2, 168, 0, - 4227874816, -2, 2, 165, -1, 2, 166, -1, 2, 178, 2, 129, 0, - 4026593280, 0, 14, 0, 4292919296, -1, 2, 175, 0, 939588608, - -1, 0, 805306368, -1, 2, 129, 2, 167, 2, 168, 2, 169, 2, - 207, 2, 0, -2, 2, 170, 2, 129, -3, 0, 267386880, -1, 0, - 117440512, 0, 7168, -1, 2, 210, 2, 163, 2, 171, 2, 184, -16, - 2, 172, -1, 0, 1426112704, 2, 173, -1, 2, 192, 0, 271581216, - 0, 2149777408, 2, 25, 2, 171, 2, 129, 0, 851967, 2, 185, -1, - 2, 174, 2, 186, -4, 2, 175, -20, 2, 197, 2, 204, -56, 0, - 3145728, 2, 187, -10, 0, 32505856, -1, 2, 176, -1, 0, - 2147385088, 2, 91, 1, 2155905152, 2, -3, 2, 173, 2, 0, 0, - 67108864, -2, 2, 177, -6, 2, 178, 2, 25, 0, 1, -1, 0, 1, -1, - 2, 179, -3, 2, 123, 2, 64, -2, 2, 97, -2, 0, 32752, 2, 129, - -915, 2, 170, -1, 2, 203, -10, 2, 190, -5, 2, 181, -6, 0, - 4229232640, 2, 19, -1, 2, 180, -1, 2, 181, -2, 0, - 4227874752, -3, 0, 2146435072, 2, 164, -2, 0, 1006649344, 2, - 129, -1, 2, 91, 0, 201375744, -3, 0, 134217720, 2, 91, 0, - 4286677377, 0, 32896, -1, 2, 175, -3, 0, 4227907584, -349, - 0, 65520, 0, 1920, 2, 182, 3, 0, 264, -11, 2, 169, -2, 2, - 183, 2, 0, 0, 520617856, 0, 2692743168, 0, 36, -3, 0, - 524280, -13, 2, 189, -1, 0, 4294934272, 2, 25, 2, 183, -1, - 2, 213, 0, 2158720, -3, 2, 164, 0, 1, -4, 2, 129, 0, - 3808625411, 0, 3489628288, 0, 4096, 0, 1207959680, 0, - 3221274624, 2, 0, -3, 2, 184, 0, 120, 0, 7340032, -2, 2, - 185, 2, 4, 2, 25, 2, 173, 3, 0, 4, 2, 164, -1, 2, 186, 2, - 182, -1, 0, 8176, 2, 166, 2, 184, 2, 211, -1, 0, 4290773232, - 2, 0, -4, 2, 173, 2, 193, 0, 15728640, 2, 182, -1, 2, 171, - -1, 0, 134250480, 0, 4720640, 0, 3825467396, 3, 0, 2, -9, 2, - 91, 2, 178, 0, 4294967040, 2, 133, 0, 4160880640, 3, 0, 2, - 0, 704, 0, 1849688064, 2, 187, -1, 2, 129, 0, 4294901887, 2, - 0, 0, 130547712, 0, 1879048192, 2, 208, 3, 0, 2, -1, 2, 188, - 2, 189, -1, 0, 17829776, 0, 2025848832, 2, 212, -2, 2, 0, - -1, 0, 4286580608, -1, 0, 29360128, 2, 196, 0, 16252928, 0, - 3791388672, 2, 39, 3, 0, 2, -2, 2, 202, 2, 0, -1, 2, 104, - -1, 0, 66584576, -1, 2, 195, 3, 0, 9, 2, 129, -1, 0, - 4294755328, 2, 0, 2, 20, -1, 2, 171, 2, 183, 2, 25, 2, 95, - 2, 25, 2, 190, 2, 91, -2, 0, 245760, 2, 191, -1, 2, 159, 2, - 199, 0, 4227923456, -1, 2, 192, 2, 171, 2, 91, -3, 0, - 4292870145, 0, 262144, -1, 2, 92, 2, 0, 0, 1073758848, 2, - 193, -1, 0, 4227921920, 2, 194, 0, 68289024, 0, 528402016, - 0, 4292927536, 3, 0, 4, -2, 0, 268435456, 2, 92, -2, 2, 195, - 3, 0, 5, -1, 2, 196, 2, 173, 2, 0, -2, 0, 4227923936, 2, 62, - -1, 2, 183, 2, 95, 2, 0, 2, 163, 2, 175, 2, 197, 3, 0, 5, - -1, 2, 182, 3, 0, 3, -2, 0, 2146959360, 0, 9440640, 0, - 104857600, 0, 4227923840, 3, 0, 2, 0, 768, 2, 198, 2, 28, - -2, 2, 171, -2, 2, 199, -1, 2, 165, 2, 95, 3, 0, 7, 0, 512, - 0, 8388608, 2, 200, 2, 170, 2, 189, 0, 4286578944, 3, 0, 2, - 0, 1152, 0, 1266679808, 2, 195, 0, 576, 0, 4261707776, 2, - 95, 3, 0, 9, 2, 165, 0, 131072, 0, 939524096, 2, 183, 3, 0, - 2, 2, 16, -1, 0, 2147221504, -28, 2, 183, 3, 0, 3, -3, 0, - 4292902912, -6, 2, 96, 3, 0, 81, 2, 25, -2, 2, 104, -33, 2, - 18, 2, 178, 3, 0, 125, -18, 2, 197, 3, 0, 269, -17, 2, 165, - 2, 129, 2, 201, -1, 2, 129, 2, 193, 0, 4290822144, -2, 0, - 67174336, 0, 520093700, 2, 18, 3, 0, 21, -2, 2, 184, 3, 0, - 3, -2, 0, 30720, -1, 0, 32512, 3, 0, 2, 0, 4294770656, -191, - 2, 181, -38, 2, 178, 2, 0, 2, 202, 3, 0, 278, 0, 2417033215, - -9, 0, 4294705144, 0, 4292411391, 0, 65295, -11, 2, 182, 3, - 0, 72, -3, 0, 3758159872, 0, 201391616, 3, 0, 147, -1, 2, - 169, 2, 203, -3, 2, 96, 2, 0, -7, 2, 178, -1, 0, 384, -1, 0, - 133693440, -3, 2, 204, -2, 2, 107, 3, 0, 3, 3, 177, 2, -2, - 2, 91, 2, 165, 3, 0, 4, -2, 2, 192, -1, 2, 159, 0, - 335552923, 2, 205, -1, 0, 538974272, 0, 2214592512, 0, - 132000, -10, 0, 192, -8, 2, 206, -21, 0, 134213632, 2, 158, - 3, 0, 34, 2, 129, 0, 4294965279, 3, 0, 6, 0, 100663424, 0, - 63524, -1, 2, 209, 2, 148, 3, 0, 3, -1, 0, 3221282816, 0, - 4294917120, 3, 0, 9, 2, 25, 2, 207, -1, 2, 208, 3, 0, 14, 2, - 25, 2, 183, 3, 0, 23, 0, 2147520640, -6, 0, 4286578784, 2, - 0, -2, 0, 1006694400, 3, 0, 24, 2, 36, -1, 0, 4292870144, 3, - 0, 2, 0, 1, 2, 173, 3, 0, 6, 2, 205, 0, 4110942569, 0, - 1432950139, 0, 2701658217, 0, 4026532864, 0, 4026532881, 2, - 0, 2, 46, 3, 0, 8, -1, 2, 175, -2, 2, 177, 0, 98304, 0, - 65537, 2, 178, -5, 2, 209, 2, 0, 2, 77, 2, 199, 2, 182, 0, - 4294770176, 2, 107, 3, 0, 4, -30, 2, 188, 0, 3758153728, -3, - 0, 125829120, -2, 2, 183, 0, 4294897664, 2, 175, -1, 2, 195, - -1, 2, 171, 0, 4294754304, 3, 0, 2, -10, 2, 177, 0, - 3758145536, 2, 210, 2, 211, 0, 4026548160, 2, 212, -4, 2, - 213, -1, 2, 204, 0, 4227923967, 3, 0, 32, -1335, 2, 0, -129, - 2, 183, -6, 2, 173, -180, 0, 65532, -233, 2, 174, -18, 2, - 173, 3, 0, 77, -16, 2, 173, 3, 0, 47, -154, 2, 166, -130, 2, - 18, 3, 0, 22250, -7, 2, 18, 3, 0, 6128 - ], - [ - 4294967295, 4294967291, 4092460543, 4294828031, 4294967294, - 134217726, 4294903807, 268435455, 2147483647, 1048575, - 1073741823, 3892314111, 134217727, 1061158911, 536805376, - 4294910143, 4294901759, 32767, 4294901760, 262143, - 536870911, 8388607, 4160749567, 4294902783, 4294918143, - 65535, 67043328, 2281701374, 4294967264, 2097151, 4194303, - 255, 67108863, 4294967039, 511, 524287, 131071, 127, - 3238002687, 4294902271, 4294549487, 33554431, 1023, - 4294901888, 4286578687, 4294705152, 4294770687, 67043583, - 2047999, 67043343, 16777215, 4294902000, 4292870143, - 4294966783, 16383, 67047423, 4294967279, 262083, 20511, - 4290772991, 41943039, 493567, 4294959104, 603979775, 65536, - 602799615, 805044223, 4294965206, 8191, 1031749119, - 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, - 33540095, 4294905855, 63, 15, 2868854591, 1608515583, - 265232348, 534519807, 2147614720, 1060109444, 4093640016, - 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, - 4294967292, 4294965759, 65734655, 4294966272, 4294967280, - 32768, 8289918, 4294934399, 4294901775, 4294965375, - 1602223615, 4294967259, 4294443008, 268369920, 4292804608, - 4294967232, 486341884, 4294963199, 3087007615, 1073692671, - 4128527, 4279238655, 4294902015, 4160684047, 4290246655, - 469499899, 4294967231, 134086655, 4294966591, 2445279231, - 3670015, 31, 4294967288, 4294705151, 3221208447, 4294549472, - 4095, 2147483648, 4285526655, 4294966527, 4294966143, 64, - 4294966719, 3774873592, 1877934080, 262151, 2555904, - 536807423, 67043839, 3758096383, 3959414372, 3755993023, - 2080374783, 4294835295, 4294967103, 4160749565, 4294934527, - 4087, 2016, 2147446655, 184024726, 2862017156, 1593309078, - 268434431, 268434414, 4294901763, 4294901761, 536870912, - 2952790016, 202506752, 139264, 402653184, 3758096384, - 4261412864, 63488, 1610612736, 4227922944, 49152, 57344, - 65280, 3233808384, 3221225472, 65534, 61440, 57152, - 4293918720, 4290772992, 25165824, 4227915776, 4278190080, - 4026531840, 4227858432, 4160749568, 3758129152, 4294836224, - 4194304, 251658240, 196608, 4294963200, 2143289344, 2097152, - 64512, 417808, 4227923712, 12582912, 4294967168, 50331648, - 65528, 65472, 15360, 4294966784, 65408, 4294965248, 16, - 12288, 4294934528, 2080374784, 4294950912, 65024, - 1073741824, 4261477888, 524288 - ] - ); - - function advanceChar(parser) { - parser.column++; - return (parser.currentChar = parser.source.charCodeAt( - ++parser.index - )); - } - function consumeMultiUnitCodePoint(parser, hi) { - if ((hi & 0xfc00) !== 55296) return 0; - const lo = parser.source.charCodeAt(parser.index + 1); - if ((lo & 0xfc00) !== 0xdc00) return 0; - hi = parser.currentChar = - 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff); - if (((unicodeLookup[(hi >>> 5) + 0] >>> hi) & 31 & 1) === 0) { - report(parser, 18, fromCodePoint(hi)); - } - parser.index++; - parser.column++; - return 1; - } - function consumeLineFeed(parser, state) { - parser.currentChar = parser.source.charCodeAt(++parser.index); - parser.flags |= 1; - if ((state & 4) === 0) { - parser.column = 0; - parser.line++; - } - } - function scanNewLine(parser) { - parser.flags |= 1; - parser.currentChar = parser.source.charCodeAt(++parser.index); - parser.column = 0; - parser.line++; - } - function isExoticECMAScriptWhitespace(ch) { - return ( - ch === 160 || - ch === 65279 || - ch === 133 || - ch === 5760 || - (ch >= 8192 && ch <= 8203) || - ch === 8239 || - ch === 8287 || - ch === 12288 || - ch === 8201 || - ch === 65519 - ); - } - function fromCodePoint(codePoint) { - return codePoint <= 65535 - ? String.fromCharCode(codePoint) - : String.fromCharCode(codePoint >>> 10) + - String.fromCharCode(codePoint & 0x3ff); - } - function toHex(code) { - return code < 65 ? code - 48 : (code - 65 + 10) & 0xf; - } - function convertTokenType(t) { - switch (t) { - case 134283266: - return 'NumericLiteral'; - case 134283267: - return 'StringLiteral'; - case 86021: - case 86022: - return 'BooleanLiteral'; - case 86023: - return 'NullLiteral'; - case 65540: - return 'RegularExpression'; - case 67174408: - case 67174409: - case 132: - return 'TemplateLiteral'; - default: - if ((t & 143360) === 143360) return 'Identifier'; - if ((t & 4096) === 4096) return 'Keyword'; - return 'Punctuator'; - } - } - - const CharTypes = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8 | 1024, - 0, - 0, - 8 | 2048, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8192, - 0, - 1 | 2, - 0, - 0, - 8192, - 0, - 0, - 0, - 256, - 0, - 256 | 32768, - 0, - 0, - 2 | 16 | 128 | 32 | 64, - 2 | 16 | 128 | 32 | 64, - 2 | 16 | 32 | 64, - 2 | 16 | 32 | 64, - 2 | 16 | 32 | 64, - 2 | 16 | 32 | 64, - 2 | 16 | 32 | 64, - 2 | 16 | 32 | 64, - 2 | 16 | 512 | 64, - 2 | 16 | 512 | 64, - 0, - 0, - 16384, - 0, - 0, - 0, - 0, - 1 | 2 | 64, - 1 | 2 | 64, - 1 | 2 | 64, - 1 | 2 | 64, - 1 | 2 | 64, - 1 | 2 | 64, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 0, - 1, - 0, - 0, - 1 | 2 | 4096, - 0, - 1 | 2 | 4 | 64, - 1 | 2 | 4 | 64, - 1 | 2 | 4 | 64, - 1 | 2 | 4 | 64, - 1 | 2 | 4 | 64, - 1 | 2 | 4 | 64, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 16384, - 0, - 0, - 0, - 0 - ]; - const isIdStart = [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, - 0, 0 - ]; - const isIdPart = [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, - 0, 0 - ]; - function isIdentifierStart(code) { - return code <= 0x7f - ? isIdStart[code] - : (unicodeLookup[(code >>> 5) + 34816] >>> code) & 31 & 1; - } - function isIdentifierPart(code) { - return code <= 0x7f - ? isIdPart[code] - : (unicodeLookup[(code >>> 5) + 0] >>> code) & 31 & 1 || - code === 8204 || - code === 8205; - } - - const CommentTypes = [ - 'SingleLine', - 'MultiLine', - 'HTMLOpen', - 'HTMLClose', - 'HashbangComment' - ]; - function skipHashBang(parser) { - const source = parser.source; - if ( - parser.currentChar === 35 && - source.charCodeAt(parser.index + 1) === 33 - ) { - advanceChar(parser); - advanceChar(parser); - skipSingleLineComment( - parser, - source, - 0, - 4, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } - } - function skipSingleHTMLComment( - parser, - source, - state, - context, - type, - start, - line, - column - ) { - if (context & 2048) report(parser, 0); - return skipSingleLineComment( - parser, - source, - state, - type, - start, - line, - column - ); - } - function skipSingleLineComment( - parser, - source, - state, - type, - start, - line, - column - ) { - const { index } = parser; - parser.tokenPos = parser.index; - parser.linePos = parser.line; - parser.colPos = parser.column; - while (parser.index < parser.end) { - if (CharTypes[parser.currentChar] & 8) { - const isCR = parser.currentChar === 13; - scanNewLine(parser); - if ( - isCR && - parser.index < parser.end && - parser.currentChar === 10 - ) - parser.currentChar = source.charCodeAt( - ++parser.index - ); - break; - } else if ((parser.currentChar ^ 8232) <= 1) { - scanNewLine(parser); - break; - } - advanceChar(parser); - parser.tokenPos = parser.index; - parser.linePos = parser.line; - parser.colPos = parser.column; - } - if (parser.onComment) { - const loc = { - start: { - line, - column - }, - end: { - line: parser.linePos, - column: parser.colPos - } - }; - parser.onComment( - CommentTypes[type & 0xff], - source.slice(index, parser.tokenPos), - start, - parser.tokenPos, - loc - ); - } - return state | 1; - } - function skipMultiLineComment(parser, source, state) { - const { index } = parser; - while (parser.index < parser.end) { - if (parser.currentChar < 0x2b) { - let skippedOneAsterisk = false; - while (parser.currentChar === 42) { - if (!skippedOneAsterisk) { - state &= ~4; - skippedOneAsterisk = true; - } - if (advanceChar(parser) === 47) { - advanceChar(parser); - if (parser.onComment) { - const loc = { - start: { - line: parser.linePos, - column: parser.colPos - }, - end: { - line: parser.line, - column: parser.column - } - }; - parser.onComment( - CommentTypes[1 & 0xff], - source.slice(index, parser.index - 2), - index - 2, - parser.index, - loc - ); - } - parser.tokenPos = parser.index; - parser.linePos = parser.line; - parser.colPos = parser.column; - return state; - } - } - if (skippedOneAsterisk) { - continue; - } - if (CharTypes[parser.currentChar] & 8) { - if (parser.currentChar === 13) { - state |= 1 | 4; - scanNewLine(parser); - } else { - consumeLineFeed(parser, state); - state = (state & ~4) | 1; - } - } else { - advanceChar(parser); - } - } else if ((parser.currentChar ^ 8232) <= 1) { - state = (state & ~4) | 1; - scanNewLine(parser); - } else { - state &= ~4; - advanceChar(parser); - } - } - report(parser, 16); - } - - function scanRegularExpression(parser, context) { - const bodyStart = parser.index; - let preparseState = 0; - loop: while (true) { - const ch = parser.currentChar; - advanceChar(parser); - if (preparseState & 1) { - preparseState &= ~1; - } else { - switch (ch) { - case 47: - if (!preparseState) break loop; - else break; - case 92: - preparseState |= 1; - break; - case 91: - preparseState |= 2; - break; - case 93: - preparseState &= 1; - break; - case 13: - case 10: - case 8232: - case 8233: - report(parser, 32); - } - } - if (parser.index >= parser.source.length) { - return report(parser, 32); - } - } - const bodyEnd = parser.index - 1; - let mask = 0; - let char = parser.currentChar; - const { index: flagStart } = parser; - while (isIdentifierPart(char)) { - switch (char) { - case 103: - if (mask & 2) report(parser, 34, 'g'); - mask |= 2; - break; - case 105: - if (mask & 1) report(parser, 34, 'i'); - mask |= 1; - break; - case 109: - if (mask & 4) report(parser, 34, 'm'); - mask |= 4; - break; - case 117: - if (mask & 16) report(parser, 34, 'u'); - mask |= 16; - break; - case 121: - if (mask & 8) report(parser, 34, 'y'); - mask |= 8; - break; - case 115: - if (mask & 32) report(parser, 34, 's'); - mask |= 32; - break; - case 100: - if (mask & 64) report(parser, 34, 'd'); - mask |= 64; - break; - default: - report(parser, 33); - } - char = advanceChar(parser); - } - const flags = parser.source.slice(flagStart, parser.index); - const pattern = parser.source.slice(bodyStart, bodyEnd); - parser.tokenRegExp = { pattern, flags }; - if (context & 512) - parser.tokenRaw = parser.source.slice( - parser.tokenPos, - parser.index - ); - parser.tokenValue = validate(parser, pattern, flags); - return 65540; - } - function validate(parser, pattern, flags) { - try { - return new RegExp(pattern, flags); - } catch (e) { - try { - new RegExp(pattern, flags.replace('d', '')); - return null; - } catch (e) { - report(parser, 32); - } - } - } - - function scanString(parser, context, quote) { - const { index: start } = parser; - let ret = ''; - let char = advanceChar(parser); - let marker = parser.index; - while ((CharTypes[char] & 8) === 0) { - if (char === quote) { - ret += parser.source.slice(marker, parser.index); - advanceChar(parser); - if (context & 512) - parser.tokenRaw = parser.source.slice( - start, - parser.index - ); - parser.tokenValue = ret; - return 134283267; - } - if ((char & 8) === 8 && char === 92) { - ret += parser.source.slice(marker, parser.index); - char = advanceChar(parser); - if (char < 0x7f || char === 8232 || char === 8233) { - const code = parseEscape(parser, context, char); - if (code >= 0) ret += fromCodePoint(code); - else handleStringError(parser, code, 0); - } else { - ret += fromCodePoint(char); - } - marker = parser.index + 1; - } - if (parser.index >= parser.end) report(parser, 14); - char = advanceChar(parser); - } - report(parser, 14); - } - function parseEscape(parser, context, first) { - switch (first) { - case 98: - return 8; - case 102: - return 12; - case 114: - return 13; - case 110: - return 10; - case 116: - return 9; - case 118: - return 11; - case 13: { - if (parser.index < parser.end) { - const nextChar = parser.source.charCodeAt( - parser.index + 1 - ); - if (nextChar === 10) { - parser.index = parser.index + 1; - parser.currentChar = nextChar; - } - } - } - case 10: - case 8232: - case 8233: - parser.column = -1; - parser.line++; - return -1; - case 48: - case 49: - case 50: - case 51: { - let code = first - 48; - let index = parser.index + 1; - let column = parser.column + 1; - if (index < parser.end) { - const next = parser.source.charCodeAt(index); - if ((CharTypes[next] & 32) === 0) { - if ( - (code !== 0 || CharTypes[next] & 512) && - context & 1024 - ) - return -2; - } else if (context & 1024) { - return -2; - } else { - parser.currentChar = next; - code = (code << 3) | (next - 48); - index++; - column++; - if (index < parser.end) { - const next = - parser.source.charCodeAt(index); - if (CharTypes[next] & 32) { - parser.currentChar = next; - code = (code << 3) | (next - 48); - index++; - column++; - } - } - parser.flags |= 64; - parser.index = index - 1; - parser.column = column - 1; - } - } - return code; - } - case 52: - case 53: - case 54: - case 55: { - if (context & 1024) return -2; - let code = first - 48; - const index = parser.index + 1; - const column = parser.column + 1; - if (index < parser.end) { - const next = parser.source.charCodeAt(index); - if (CharTypes[next] & 32) { - code = (code << 3) | (next - 48); - parser.currentChar = next; - parser.index = index; - parser.column = column; - } - } - parser.flags |= 64; - return code; - } - case 120: { - const ch1 = advanceChar(parser); - if ((CharTypes[ch1] & 64) === 0) return -4; - const hi = toHex(ch1); - const ch2 = advanceChar(parser); - if ((CharTypes[ch2] & 64) === 0) return -4; - const lo = toHex(ch2); - return (hi << 4) | lo; - } - case 117: { - const ch = advanceChar(parser); - if (parser.currentChar === 123) { - let code = 0; - while ( - (CharTypes[advanceChar(parser)] & 64) !== - 0 - ) { - code = (code << 4) | toHex(parser.currentChar); - if (code > 1114111) return -5; - } - if ( - parser.currentChar < 1 || - parser.currentChar !== 125 - ) { - return -4; - } - return code; - } else { - if ((CharTypes[ch] & 64) === 0) return -4; - const ch2 = parser.source.charCodeAt( - parser.index + 1 - ); - if ((CharTypes[ch2] & 64) === 0) return -4; - const ch3 = parser.source.charCodeAt( - parser.index + 2 - ); - if ((CharTypes[ch3] & 64) === 0) return -4; - const ch4 = parser.source.charCodeAt( - parser.index + 3 - ); - if ((CharTypes[ch4] & 64) === 0) return -4; - parser.index += 3; - parser.column += 3; - parser.currentChar = parser.source.charCodeAt( - parser.index - ); - return ( - (toHex(ch) << 12) | - (toHex(ch2) << 8) | - (toHex(ch3) << 4) | - toHex(ch4) - ); - } - } - case 56: - case 57: - if ((context & 256) === 0) return -3; - default: - return first; - } - } - function handleStringError(state, code, isTemplate) { - switch (code) { - case -1: - return; - case -2: - report(state, isTemplate ? 2 : 1); - case -3: - report(state, 13); - case -4: - report(state, 6); - case -5: - report(state, 102); - } - } - - function scanTemplate(parser, context) { - const { index: start } = parser; - let token = 67174409; - let ret = ''; - let char = advanceChar(parser); - while (char !== 96) { - if ( - char === 36 && - parser.source.charCodeAt(parser.index + 1) === 123 - ) { - advanceChar(parser); - token = 67174408; - break; - } else if ((char & 8) === 8 && char === 92) { - char = advanceChar(parser); - if (char > 0x7e) { - ret += fromCodePoint(char); - } else { - const code = parseEscape( - parser, - context | 1024, - char - ); - if (code >= 0) { - ret += fromCodePoint(code); - } else if (code !== -1 && context & 65536) { - ret = undefined; - char = scanBadTemplate(parser, char); - if (char < 0) token = 67174408; - break; - } else { - handleStringError(parser, code, 1); - } - } - } else { - if ( - parser.index < parser.end && - char === 13 && - parser.source.charCodeAt(parser.index) === 10 - ) { - ret += fromCodePoint(char); - parser.currentChar = parser.source.charCodeAt( - ++parser.index - ); - } - if ( - ((char & 83) < 3 && char === 10) || - (char ^ 8232) <= 1 - ) { - parser.column = -1; - parser.line++; - } - ret += fromCodePoint(char); - } - if (parser.index >= parser.end) report(parser, 15); - char = advanceChar(parser); - } - advanceChar(parser); - parser.tokenValue = ret; - parser.tokenRaw = parser.source.slice( - start + 1, - parser.index - (token === 67174409 ? 1 : 2) - ); - return token; - } - function scanBadTemplate(parser, ch) { - while (ch !== 96) { - switch (ch) { - case 36: { - const index = parser.index + 1; - if ( - index < parser.end && - parser.source.charCodeAt(index) === 123 - ) { - parser.index = index; - parser.column++; - return -ch; - } - break; - } - case 10: - case 8232: - case 8233: - parser.column = -1; - parser.line++; - } - if (parser.index >= parser.end) report(parser, 15); - ch = advanceChar(parser); - } - return ch; - } - function scanTemplateTail(parser, context) { - if (parser.index >= parser.end) report(parser, 0); - parser.index--; - parser.column--; - return scanTemplate(parser, context); - } - - function scanNumber(parser, context, kind) { - let char = parser.currentChar; - let value = 0; - let digit = 9; - let atStart = kind & 64 ? 0 : 1; - let digits = 0; - let allowSeparator = 0; - if (kind & 64) { - value = '.' + scanDecimalDigitsOrSeparator(parser, char); - char = parser.currentChar; - if (char === 110) report(parser, 11); - } else { - if (char === 48) { - char = advanceChar(parser); - if ((char | 32) === 120) { - kind = 8 | 128; - char = advanceChar(parser); - while (CharTypes[char] & (64 | 4096)) { - if (char === 95) { - if (!allowSeparator) report(parser, 147); - allowSeparator = 0; - char = advanceChar(parser); - continue; - } - allowSeparator = 1; - value = value * 0x10 + toHex(char); - digits++; - char = advanceChar(parser); - } - if (digits === 0 || !allowSeparator) { - report(parser, digits === 0 ? 19 : 148); - } - } else if ((char | 32) === 111) { - kind = 4 | 128; - char = advanceChar(parser); - while (CharTypes[char] & (32 | 4096)) { - if (char === 95) { - if (!allowSeparator) { - report(parser, 147); - } - allowSeparator = 0; - char = advanceChar(parser); - continue; - } - allowSeparator = 1; - value = value * 8 + (char - 48); - digits++; - char = advanceChar(parser); - } - if (digits === 0 || !allowSeparator) { - report(parser, digits === 0 ? 0 : 148); - } - } else if ((char | 32) === 98) { - kind = 2 | 128; - char = advanceChar(parser); - while (CharTypes[char] & (128 | 4096)) { - if (char === 95) { - if (!allowSeparator) { - report(parser, 147); - } - allowSeparator = 0; - char = advanceChar(parser); - continue; - } - allowSeparator = 1; - value = value * 2 + (char - 48); - digits++; - char = advanceChar(parser); - } - if (digits === 0 || !allowSeparator) { - report(parser, digits === 0 ? 0 : 148); - } - } else if (CharTypes[char] & 32) { - if (context & 1024) report(parser, 1); - kind = 1; - while (CharTypes[char] & 16) { - if (CharTypes[char] & 512) { - kind = 32; - atStart = 0; - break; - } - value = value * 8 + (char - 48); - char = advanceChar(parser); - } - } else if (CharTypes[char] & 512) { - if (context & 1024) report(parser, 1); - parser.flags |= 64; - kind = 32; - } else if (char === 95) { - report(parser, 0); - } - } - if (kind & 48) { - if (atStart) { - while ( - digit >= 0 && - CharTypes[char] & (16 | 4096) - ) { - if (char === 95) { - char = advanceChar(parser); - if (char === 95 || kind & 32) { - reportScannerError( - parser.index, - parser.line, - parser.index + 1, - 147 - ); - } - allowSeparator = 1; - continue; - } - allowSeparator = 0; - value = 10 * value + (char - 48); - char = advanceChar(parser); - --digit; - } - if (allowSeparator) { - reportScannerError( - parser.index, - parser.line, - parser.index + 1, - 148 - ); - } - if ( - digit >= 0 && - !isIdentifierStart(char) && - char !== 46 - ) { - parser.tokenValue = value; - if (context & 512) - parser.tokenRaw = parser.source.slice( - parser.tokenPos, - parser.index - ); - return 134283266; - } - } - value += scanDecimalDigitsOrSeparator(parser, char); - char = parser.currentChar; - if (char === 46) { - if (advanceChar(parser) === 95) report(parser, 0); - kind = 64; - value += - '.' + - scanDecimalDigitsOrSeparator( - parser, - parser.currentChar - ); - char = parser.currentChar; - } - } - } - const end = parser.index; - let isBigInt = 0; - if (char === 110 && kind & 128) { - isBigInt = 1; - char = advanceChar(parser); - } else { - if ((char | 32) === 101) { - char = advanceChar(parser); - if (CharTypes[char] & 256) char = advanceChar(parser); - const { index } = parser; - if ((CharTypes[char] & 16) === 0) report(parser, 10); - value += - parser.source.substring(end, index) + - scanDecimalDigitsOrSeparator(parser, char); - char = parser.currentChar; - } - } - if ( - (parser.index < parser.end && CharTypes[char] & 16) || - isIdentifierStart(char) - ) { - report(parser, 12); - } - if (isBigInt) { - parser.tokenRaw = parser.source.slice( - parser.tokenPos, - parser.index - ); - parser.tokenValue = BigInt(value); - return 134283389; - } - parser.tokenValue = - kind & (1 | 2 | 8 | 4) - ? value - : kind & 32 - ? parseFloat( - parser.source.substring( - parser.tokenPos, - parser.index - ) - ) - : +value; - if (context & 512) - parser.tokenRaw = parser.source.slice( - parser.tokenPos, - parser.index - ); - return 134283266; - } - function scanDecimalDigitsOrSeparator(parser, char) { - let allowSeparator = 0; - let start = parser.index; - let ret = ''; - while (CharTypes[char] & (16 | 4096)) { - if (char === 95) { - const { index } = parser; - char = advanceChar(parser); - if (char === 95) { - reportScannerError( - parser.index, - parser.line, - parser.index + 1, - 147 - ); - } - allowSeparator = 1; - ret += parser.source.substring(start, index); - start = parser.index; - continue; - } - allowSeparator = 0; - char = advanceChar(parser); - } - if (allowSeparator) { - reportScannerError( - parser.index, - parser.line, - parser.index + 1, - 148 - ); - } - return ret + parser.source.substring(start, parser.index); - } - - const KeywordDescTable = [ - 'end of source', - 'identifier', - 'number', - 'string', - 'regular expression', - 'false', - 'true', - 'null', - 'template continuation', - 'template tail', - '=>', - '(', - '{', - '.', - '...', - '}', - ')', - ';', - ',', - '[', - ']', - ':', - '?', - "'", - '"', - '', - '++', - '--', - '=', - '<<=', - '>>=', - '>>>=', - '**=', - '+=', - '-=', - '*=', - '/=', - '%=', - '^=', - '|=', - '&=', - '||=', - '&&=', - '??=', - 'typeof', - 'delete', - 'void', - '!', - '~', - '+', - '-', - 'in', - 'instanceof', - '*', - '%', - '/', - '**', - '&&', - '||', - '===', - '!==', - '==', - '!=', - '<=', - '>=', - '<', - '>', - '<<', - '>>', - '>>>', - '&', - '|', - '^', - 'var', - 'let', - 'const', - 'break', - 'case', - 'catch', - 'class', - 'continue', - 'debugger', - 'default', - 'do', - 'else', - 'export', - 'extends', - 'finally', - 'for', - 'function', - 'if', - 'import', - 'new', - 'return', - 'super', - 'switch', - 'this', - 'throw', - 'try', - 'while', - 'with', - 'implements', - 'interface', - 'package', - 'private', - 'protected', - 'public', - 'static', - 'yield', - 'as', - 'async', - 'await', - 'constructor', - 'get', - 'set', - 'from', - 'of', - 'enum', - 'eval', - 'arguments', - 'escaped keyword', - 'escaped future reserved keyword', - 'reserved if strict', - '#', - 'BigIntLiteral', - '??', - '?.', - 'WhiteSpace', - 'Illegal', - 'LineTerminator', - 'PrivateField', - 'Template', - '@', - 'target', - 'meta', - 'LineFeed', - 'Escaped', - 'JSXText' - ]; - const descKeywordTable = Object.create(null, { - this: { value: 86113 }, - function: { value: 86106 }, - if: { value: 20571 }, - return: { value: 20574 }, - var: { value: 86090 }, - else: { value: 20565 }, - for: { value: 20569 }, - new: { value: 86109 }, - in: { value: 8738868 }, - typeof: { value: 16863277 }, - while: { value: 20580 }, - case: { value: 20558 }, - break: { value: 20557 }, - try: { value: 20579 }, - catch: { value: 20559 }, - delete: { value: 16863278 }, - throw: { value: 86114 }, - switch: { value: 86112 }, - continue: { value: 20561 }, - default: { value: 20563 }, - instanceof: { value: 8476725 }, - do: { value: 20564 }, - void: { value: 16863279 }, - finally: { value: 20568 }, - async: { value: 209007 }, - await: { value: 209008 }, - class: { value: 86096 }, - const: { value: 86092 }, - constructor: { value: 12401 }, - debugger: { value: 20562 }, - export: { value: 20566 }, - extends: { value: 20567 }, - false: { value: 86021 }, - from: { value: 12404 }, - get: { value: 12402 }, - implements: { value: 36966 }, - import: { value: 86108 }, - interface: { value: 36967 }, - let: { value: 241739 }, - null: { value: 86023 }, - of: { value: 274549 }, - package: { value: 36968 }, - private: { value: 36969 }, - protected: { value: 36970 }, - public: { value: 36971 }, - set: { value: 12403 }, - static: { value: 36972 }, - super: { value: 86111 }, - true: { value: 86022 }, - with: { value: 20581 }, - yield: { value: 241773 }, - enum: { value: 86134 }, - eval: { value: 537079927 }, - as: { value: 77934 }, - arguments: { value: 537079928 }, - target: { value: 143494 }, - meta: { value: 143495 } - }); - - function scanIdentifier(parser, context, isValidAsKeyword) { - while (isIdPart[advanceChar(parser)]) {} - parser.tokenValue = parser.source.slice( - parser.tokenPos, - parser.index - ); - return parser.currentChar !== 92 && parser.currentChar <= 0x7e - ? descKeywordTable[parser.tokenValue] || 208897 - : scanIdentifierSlowCase( - parser, - context, - 0, - isValidAsKeyword - ); - } - function scanUnicodeIdentifier(parser, context) { - const cookedChar = scanIdentifierUnicodeEscape(parser); - if (!isIdentifierPart(cookedChar)) report(parser, 4); - parser.tokenValue = fromCodePoint(cookedChar); - return scanIdentifierSlowCase( - parser, - context, - 1, - CharTypes[cookedChar] & 4 - ); - } - function scanIdentifierSlowCase( - parser, - context, - hasEscape, - isValidAsKeyword - ) { - let start = parser.index; - while (parser.index < parser.end) { - if (parser.currentChar === 92) { - parser.tokenValue += parser.source.slice( - start, - parser.index - ); - hasEscape = 1; - const code = scanIdentifierUnicodeEscape(parser); - if (!isIdentifierPart(code)) report(parser, 4); - isValidAsKeyword = - isValidAsKeyword && CharTypes[code] & 4; - parser.tokenValue += fromCodePoint(code); - start = parser.index; - } else if ( - isIdentifierPart(parser.currentChar) || - consumeMultiUnitCodePoint(parser, parser.currentChar) - ) { - advanceChar(parser); - } else { - break; - } - } - if (parser.index <= parser.end) { - parser.tokenValue += parser.source.slice( - start, - parser.index - ); - } - const length = parser.tokenValue.length; - if (isValidAsKeyword && length >= 2 && length <= 11) { - const token = descKeywordTable[parser.tokenValue]; - if (token === void 0) return 208897; - if (!hasEscape) return token; - if (token === 209008) { - if ((context & (2048 | 4194304)) === 0) { - return token; - } - return 121; - } - if (context & 1024) { - if (token === 36972) { - return 122; - } - if ((token & 36864) === 36864) { - return 122; - } - if ((token & 20480) === 20480) { - if (context & 268435456 && (context & 8192) === 0) { - return token; - } else { - return 121; - } - } - return 143483; - } - if ( - context & 268435456 && - (context & 8192) === 0 && - (token & 20480) === 20480 - ) - return token; - if (token === 241773) { - return context & 268435456 - ? 143483 - : context & 2097152 - ? 121 - : token; - } - if (token === 209007) { - return 143483; - } - if ((token & 36864) === 36864) { - return token; - } - return 121; - } - return 208897; - } - function scanPrivateIdentifier(parser) { - if (!isIdentifierStart(advanceChar(parser))) report(parser, 94); - return 131; - } - function scanIdentifierUnicodeEscape(parser) { - if (parser.source.charCodeAt(parser.index + 1) !== 117) { - report(parser, 4); - } - parser.currentChar = parser.source.charCodeAt( - (parser.index += 2) - ); - return scanUnicodeEscape(parser); - } - function scanUnicodeEscape(parser) { - let codePoint = 0; - const char = parser.currentChar; - if (char === 123) { - const begin = parser.index - 2; - while (CharTypes[advanceChar(parser)] & 64) { - codePoint = - (codePoint << 4) | toHex(parser.currentChar); - if (codePoint > 1114111) - reportScannerError( - begin, - parser.line, - parser.index + 1, - 102 - ); - } - if (parser.currentChar !== 125) { - reportScannerError( - begin, - parser.line, - parser.index - 1, - 6 - ); - } - advanceChar(parser); - return codePoint; - } - if ((CharTypes[char] & 64) === 0) report(parser, 6); - const char2 = parser.source.charCodeAt(parser.index + 1); - if ((CharTypes[char2] & 64) === 0) report(parser, 6); - const char3 = parser.source.charCodeAt(parser.index + 2); - if ((CharTypes[char3] & 64) === 0) report(parser, 6); - const char4 = parser.source.charCodeAt(parser.index + 3); - if ((CharTypes[char4] & 64) === 0) report(parser, 6); - codePoint = - (toHex(char) << 12) | - (toHex(char2) << 8) | - (toHex(char3) << 4) | - toHex(char4); - parser.currentChar = parser.source.charCodeAt( - (parser.index += 4) - ); - return codePoint; - } - - const TokenLookup = [ - 129, 129, 129, 129, 129, 129, 129, 129, 129, 128, 136, 128, 128, - 130, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 128, 16842800, 134283267, 131, - 208897, 8457015, 8455751, 134283267, 67174411, 16, 8457014, - 25233970, 18, 25233971, 67108877, 8457016, 134283266, 134283266, - 134283266, 134283266, 134283266, 134283266, 134283266, - 134283266, 134283266, 134283266, 21, 1074790417, 8456258, - 1077936157, 8456259, 22, 133, 208897, 208897, 208897, 208897, - 208897, 208897, 208897, 208897, 208897, 208897, 208897, 208897, - 208897, 208897, 208897, 208897, 208897, 208897, 208897, 208897, - 208897, 208897, 208897, 208897, 208897, 208897, 69271571, 137, - 20, 8455497, 208897, 132, 4096, 4096, 4096, 4096, 4096, 4096, - 4096, 208897, 4096, 208897, 208897, 4096, 208897, 4096, 208897, - 4096, 208897, 4096, 4096, 4096, 208897, 4096, 4096, 208897, - 4096, 4096, 2162700, 8455240, 1074790415, 16842801, 129 - ]; - function nextToken(parser, context) { - parser.flags = (parser.flags | 1) ^ 1; - parser.startPos = parser.index; - parser.startColumn = parser.column; - parser.startLine = parser.line; - parser.token = scanSingleToken(parser, context, 0); - if (parser.onToken && parser.token !== 1048576) { - const loc = { - start: { - line: parser.linePos, - column: parser.colPos - }, - end: { - line: parser.line, - column: parser.column - } - }; - parser.onToken( - convertTokenType(parser.token), - parser.tokenPos, - parser.index, - loc - ); - } - } - function scanSingleToken(parser, context, state) { - const isStartOfLine = parser.index === 0; - const source = parser.source; - let startPos = parser.index; - let startLine = parser.line; - let startColumn = parser.column; - while (parser.index < parser.end) { - parser.tokenPos = parser.index; - parser.colPos = parser.column; - parser.linePos = parser.line; - let char = parser.currentChar; - if (char <= 0x7e) { - const token = TokenLookup[char]; - switch (token) { - case 67174411: - case 16: - case 2162700: - case 1074790415: - case 69271571: - case 20: - case 21: - case 1074790417: - case 18: - case 16842801: - case 133: - case 129: - advanceChar(parser); - return token; - case 208897: - return scanIdentifier(parser, context, 0); - case 4096: - return scanIdentifier(parser, context, 1); - case 134283266: - return scanNumber(parser, context, 16 | 128); - case 134283267: - return scanString(parser, context, char); - case 132: - return scanTemplate(parser, context); - case 137: - return scanUnicodeIdentifier(parser, context); - case 131: - return scanPrivateIdentifier(parser); - case 128: - advanceChar(parser); - break; - case 130: - state |= 1 | 4; - scanNewLine(parser); - break; - case 136: - consumeLineFeed(parser, state); - state = (state & ~4) | 1; - break; - case 8456258: - let ch = advanceChar(parser); - if (parser.index < parser.end) { - if (ch === 60) { - if ( - parser.index < parser.end && - advanceChar(parser) === 61 - ) { - advanceChar(parser); - return 4194334; - } - return 8456516; - } else if (ch === 61) { - advanceChar(parser); - return 8456256; - } - if (ch === 33) { - const index = parser.index + 1; - if ( - index + 1 < parser.end && - source.charCodeAt(index) === 45 && - source.charCodeAt(index + 1) == 45 - ) { - parser.column += 3; - parser.currentChar = - source.charCodeAt( - (parser.index += 3) - ); - state = skipSingleHTMLComment( - parser, - source, - state, - context, - 2, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - startPos = parser.tokenPos; - startLine = parser.linePos; - startColumn = parser.colPos; - continue; - } - return 8456258; - } - if (ch === 47) { - if ((context & 16) === 0) - return 8456258; - const index = parser.index + 1; - if (index < parser.end) { - ch = source.charCodeAt(index); - if (ch === 42 || ch === 47) break; - } - advanceChar(parser); - return 25; - } - } - return 8456258; - case 1077936157: { - advanceChar(parser); - const ch = parser.currentChar; - if (ch === 61) { - if (advanceChar(parser) === 61) { - advanceChar(parser); - return 8455996; - } - return 8455998; - } - if (ch === 62) { - advanceChar(parser); - return 10; - } - return 1077936157; - } - case 16842800: - if (advanceChar(parser) !== 61) { - return 16842800; - } - if (advanceChar(parser) !== 61) { - return 8455999; - } - advanceChar(parser); - return 8455997; - case 8457015: - if (advanceChar(parser) !== 61) return 8457015; - advanceChar(parser); - return 4194342; - case 8457014: { - advanceChar(parser); - if (parser.index >= parser.end) return 8457014; - const ch = parser.currentChar; - if (ch === 61) { - advanceChar(parser); - return 4194340; - } - if (ch !== 42) return 8457014; - if (advanceChar(parser) !== 61) return 8457273; - advanceChar(parser); - return 4194337; - } - case 8455497: - if (advanceChar(parser) !== 61) return 8455497; - advanceChar(parser); - return 4194343; - case 25233970: { - advanceChar(parser); - const ch = parser.currentChar; - if (ch === 43) { - advanceChar(parser); - return 33619995; - } - if (ch === 61) { - advanceChar(parser); - return 4194338; - } - return 25233970; - } - case 25233971: { - advanceChar(parser); - const ch = parser.currentChar; - if (ch === 45) { - advanceChar(parser); - if ( - (state & 1 || isStartOfLine) && - parser.currentChar === 62 - ) { - if ((context & 256) === 0) - report(parser, 109); - advanceChar(parser); - state = skipSingleHTMLComment( - parser, - source, - state, - context, - 3, - startPos, - startLine, - startColumn - ); - startPos = parser.tokenPos; - startLine = parser.linePos; - startColumn = parser.colPos; - continue; - } - return 33619996; - } - if (ch === 61) { - advanceChar(parser); - return 4194339; - } - return 25233971; - } - case 8457016: { - advanceChar(parser); - if (parser.index < parser.end) { - const ch = parser.currentChar; - if (ch === 47) { - advanceChar(parser); - state = skipSingleLineComment( - parser, - source, - state, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - startPos = parser.tokenPos; - startLine = parser.linePos; - startColumn = parser.colPos; - continue; - } - if (ch === 42) { - advanceChar(parser); - state = skipMultiLineComment( - parser, - source, - state - ); - startPos = parser.tokenPos; - startLine = parser.linePos; - startColumn = parser.colPos; - continue; - } - if (context & 32768) { - return scanRegularExpression( - parser, - context - ); - } - if (ch === 61) { - advanceChar(parser); - return 4259877; - } - } - return 8457016; - } - case 67108877: - const next = advanceChar(parser); - if (next >= 48 && next <= 57) - return scanNumber(parser, context, 64 | 16); - if (next === 46) { - const index = parser.index + 1; - if ( - index < parser.end && - source.charCodeAt(index) === 46 - ) { - parser.column += 2; - parser.currentChar = source.charCodeAt( - (parser.index += 2) - ); - return 14; - } - } - return 67108877; - case 8455240: { - advanceChar(parser); - const ch = parser.currentChar; - if (ch === 124) { - advanceChar(parser); - if (parser.currentChar === 61) { - advanceChar(parser); - return 4194346; - } - return 8979003; - } - if (ch === 61) { - advanceChar(parser); - return 4194344; - } - return 8455240; - } - case 8456259: { - advanceChar(parser); - const ch = parser.currentChar; - if (ch === 61) { - advanceChar(parser); - return 8456257; - } - if (ch !== 62) return 8456259; - advanceChar(parser); - if (parser.index < parser.end) { - const ch = parser.currentChar; - if (ch === 62) { - if (advanceChar(parser) === 61) { - advanceChar(parser); - return 4194336; - } - return 8456518; - } - if (ch === 61) { - advanceChar(parser); - return 4194335; - } - } - return 8456517; - } - case 8455751: { - advanceChar(parser); - const ch = parser.currentChar; - if (ch === 38) { - advanceChar(parser); - if (parser.currentChar === 61) { - advanceChar(parser); - return 4194347; - } - return 8979258; - } - if (ch === 61) { - advanceChar(parser); - return 4194345; - } - return 8455751; - } - case 22: { - let ch = advanceChar(parser); - if (ch === 63) { - advanceChar(parser); - if (parser.currentChar === 61) { - advanceChar(parser); - return 4194348; - } - return 276889982; - } - if (ch === 46) { - const index = parser.index + 1; - if (index < parser.end) { - ch = source.charCodeAt(index); - if (!(ch >= 48 && ch <= 57)) { - advanceChar(parser); - return 67108991; - } - } - } - return 22; - } - } - } else { - if ((char ^ 8232) <= 1) { - state = (state & ~4) | 1; - scanNewLine(parser); - continue; - } - if ( - (char & 0xfc00) === 0xd800 || - ((unicodeLookup[(char >>> 5) + 34816] >>> char) & - 31 & - 1) !== - 0 - ) { - if ((char & 0xfc00) === 0xdc00) { - char = - ((char & 0x3ff) << 10) | - (char & 0x3ff) | - 0x10000; - if ( - ((unicodeLookup[(char >>> 5) + 0] >>> - char) & - 31 & - 1) === - 0 - ) { - report(parser, 18, fromCodePoint(char)); - } - parser.index++; - parser.currentChar = char; - } - parser.column++; - parser.tokenValue = ''; - return scanIdentifierSlowCase( - parser, - context, - 0, - 0 - ); - } - if (isExoticECMAScriptWhitespace(char)) { - advanceChar(parser); - continue; - } - report(parser, 18, fromCodePoint(char)); - } - } - return 1048576; - } - - const entities = { - AElig: '\u00C6', - AMP: '\u0026', - Aacute: '\u00C1', - Abreve: '\u0102', - Acirc: '\u00C2', - Acy: '\u0410', - Afr: '\uD835\uDD04', - Agrave: '\u00C0', - Alpha: '\u0391', - Amacr: '\u0100', - And: '\u2A53', - Aogon: '\u0104', - Aopf: '\uD835\uDD38', - ApplyFunction: '\u2061', - Aring: '\u00C5', - Ascr: '\uD835\uDC9C', - Assign: '\u2254', - Atilde: '\u00C3', - Auml: '\u00C4', - Backslash: '\u2216', - Barv: '\u2AE7', - Barwed: '\u2306', - Bcy: '\u0411', - Because: '\u2235', - Bernoullis: '\u212C', - Beta: '\u0392', - Bfr: '\uD835\uDD05', - Bopf: '\uD835\uDD39', - Breve: '\u02D8', - Bscr: '\u212C', - Bumpeq: '\u224E', - CHcy: '\u0427', - COPY: '\u00A9', - Cacute: '\u0106', - Cap: '\u22D2', - CapitalDifferentialD: '\u2145', - Cayleys: '\u212D', - Ccaron: '\u010C', - Ccedil: '\u00C7', - Ccirc: '\u0108', - Cconint: '\u2230', - Cdot: '\u010A', - Cedilla: '\u00B8', - CenterDot: '\u00B7', - Cfr: '\u212D', - Chi: '\u03A7', - CircleDot: '\u2299', - CircleMinus: '\u2296', - CirclePlus: '\u2295', - CircleTimes: '\u2297', - ClockwiseContourIntegral: '\u2232', - CloseCurlyDoubleQuote: '\u201D', - CloseCurlyQuote: '\u2019', - Colon: '\u2237', - Colone: '\u2A74', - Congruent: '\u2261', - Conint: '\u222F', - ContourIntegral: '\u222E', - Copf: '\u2102', - Coproduct: '\u2210', - CounterClockwiseContourIntegral: '\u2233', - Cross: '\u2A2F', - Cscr: '\uD835\uDC9E', - Cup: '\u22D3', - CupCap: '\u224D', - DD: '\u2145', - DDotrahd: '\u2911', - DJcy: '\u0402', - DScy: '\u0405', - DZcy: '\u040F', - Dagger: '\u2021', - Darr: '\u21A1', - Dashv: '\u2AE4', - Dcaron: '\u010E', - Dcy: '\u0414', - Del: '\u2207', - Delta: '\u0394', - Dfr: '\uD835\uDD07', - DiacriticalAcute: '\u00B4', - DiacriticalDot: '\u02D9', - DiacriticalDoubleAcute: '\u02DD', - DiacriticalGrave: '\u0060', - DiacriticalTilde: '\u02DC', - Diamond: '\u22C4', - DifferentialD: '\u2146', - Dopf: '\uD835\uDD3B', - Dot: '\u00A8', - DotDot: '\u20DC', - DotEqual: '\u2250', - DoubleContourIntegral: '\u222F', - DoubleDot: '\u00A8', - DoubleDownArrow: '\u21D3', - DoubleLeftArrow: '\u21D0', - DoubleLeftRightArrow: '\u21D4', - DoubleLeftTee: '\u2AE4', - DoubleLongLeftArrow: '\u27F8', - DoubleLongLeftRightArrow: '\u27FA', - DoubleLongRightArrow: '\u27F9', - DoubleRightArrow: '\u21D2', - DoubleRightTee: '\u22A8', - DoubleUpArrow: '\u21D1', - DoubleUpDownArrow: '\u21D5', - DoubleVerticalBar: '\u2225', - DownArrow: '\u2193', - DownArrowBar: '\u2913', - DownArrowUpArrow: '\u21F5', - DownBreve: '\u0311', - DownLeftRightVector: '\u2950', - DownLeftTeeVector: '\u295E', - DownLeftVector: '\u21BD', - DownLeftVectorBar: '\u2956', - DownRightTeeVector: '\u295F', - DownRightVector: '\u21C1', - DownRightVectorBar: '\u2957', - DownTee: '\u22A4', - DownTeeArrow: '\u21A7', - Downarrow: '\u21D3', - Dscr: '\uD835\uDC9F', - Dstrok: '\u0110', - ENG: '\u014A', - ETH: '\u00D0', - Eacute: '\u00C9', - Ecaron: '\u011A', - Ecirc: '\u00CA', - Ecy: '\u042D', - Edot: '\u0116', - Efr: '\uD835\uDD08', - Egrave: '\u00C8', - Element: '\u2208', - Emacr: '\u0112', - EmptySmallSquare: '\u25FB', - EmptyVerySmallSquare: '\u25AB', - Eogon: '\u0118', - Eopf: '\uD835\uDD3C', - Epsilon: '\u0395', - Equal: '\u2A75', - EqualTilde: '\u2242', - Equilibrium: '\u21CC', - Escr: '\u2130', - Esim: '\u2A73', - Eta: '\u0397', - Euml: '\u00CB', - Exists: '\u2203', - ExponentialE: '\u2147', - Fcy: '\u0424', - Ffr: '\uD835\uDD09', - FilledSmallSquare: '\u25FC', - FilledVerySmallSquare: '\u25AA', - Fopf: '\uD835\uDD3D', - ForAll: '\u2200', - Fouriertrf: '\u2131', - Fscr: '\u2131', - GJcy: '\u0403', - GT: '\u003E', - Gamma: '\u0393', - Gammad: '\u03DC', - Gbreve: '\u011E', - Gcedil: '\u0122', - Gcirc: '\u011C', - Gcy: '\u0413', - Gdot: '\u0120', - Gfr: '\uD835\uDD0A', - Gg: '\u22D9', - Gopf: '\uD835\uDD3E', - GreaterEqual: '\u2265', - GreaterEqualLess: '\u22DB', - GreaterFullEqual: '\u2267', - GreaterGreater: '\u2AA2', - GreaterLess: '\u2277', - GreaterSlantEqual: '\u2A7E', - GreaterTilde: '\u2273', - Gscr: '\uD835\uDCA2', - Gt: '\u226B', - HARDcy: '\u042A', - Hacek: '\u02C7', - Hat: '\u005E', - Hcirc: '\u0124', - Hfr: '\u210C', - HilbertSpace: '\u210B', - Hopf: '\u210D', - HorizontalLine: '\u2500', - Hscr: '\u210B', - Hstrok: '\u0126', - HumpDownHump: '\u224E', - HumpEqual: '\u224F', - IEcy: '\u0415', - IJlig: '\u0132', - IOcy: '\u0401', - Iacute: '\u00CD', - Icirc: '\u00CE', - Icy: '\u0418', - Idot: '\u0130', - Ifr: '\u2111', - Igrave: '\u00CC', - Im: '\u2111', - Imacr: '\u012A', - ImaginaryI: '\u2148', - Implies: '\u21D2', - Int: '\u222C', - Integral: '\u222B', - Intersection: '\u22C2', - InvisibleComma: '\u2063', - InvisibleTimes: '\u2062', - Iogon: '\u012E', - Iopf: '\uD835\uDD40', - Iota: '\u0399', - Iscr: '\u2110', - Itilde: '\u0128', - Iukcy: '\u0406', - Iuml: '\u00CF', - Jcirc: '\u0134', - Jcy: '\u0419', - Jfr: '\uD835\uDD0D', - Jopf: '\uD835\uDD41', - Jscr: '\uD835\uDCA5', - Jsercy: '\u0408', - Jukcy: '\u0404', - KHcy: '\u0425', - KJcy: '\u040C', - Kappa: '\u039A', - Kcedil: '\u0136', - Kcy: '\u041A', - Kfr: '\uD835\uDD0E', - Kopf: '\uD835\uDD42', - Kscr: '\uD835\uDCA6', - LJcy: '\u0409', - LT: '\u003C', - Lacute: '\u0139', - Lambda: '\u039B', - Lang: '\u27EA', - Laplacetrf: '\u2112', - Larr: '\u219E', - Lcaron: '\u013D', - Lcedil: '\u013B', - Lcy: '\u041B', - LeftAngleBracket: '\u27E8', - LeftArrow: '\u2190', - LeftArrowBar: '\u21E4', - LeftArrowRightArrow: '\u21C6', - LeftCeiling: '\u2308', - LeftDoubleBracket: '\u27E6', - LeftDownTeeVector: '\u2961', - LeftDownVector: '\u21C3', - LeftDownVectorBar: '\u2959', - LeftFloor: '\u230A', - LeftRightArrow: '\u2194', - LeftRightVector: '\u294E', - LeftTee: '\u22A3', - LeftTeeArrow: '\u21A4', - LeftTeeVector: '\u295A', - LeftTriangle: '\u22B2', - LeftTriangleBar: '\u29CF', - LeftTriangleEqual: '\u22B4', - LeftUpDownVector: '\u2951', - LeftUpTeeVector: '\u2960', - LeftUpVector: '\u21BF', - LeftUpVectorBar: '\u2958', - LeftVector: '\u21BC', - LeftVectorBar: '\u2952', - Leftarrow: '\u21D0', - Leftrightarrow: '\u21D4', - LessEqualGreater: '\u22DA', - LessFullEqual: '\u2266', - LessGreater: '\u2276', - LessLess: '\u2AA1', - LessSlantEqual: '\u2A7D', - LessTilde: '\u2272', - Lfr: '\uD835\uDD0F', - Ll: '\u22D8', - Lleftarrow: '\u21DA', - Lmidot: '\u013F', - LongLeftArrow: '\u27F5', - LongLeftRightArrow: '\u27F7', - LongRightArrow: '\u27F6', - Longleftarrow: '\u27F8', - Longleftrightarrow: '\u27FA', - Longrightarrow: '\u27F9', - Lopf: '\uD835\uDD43', - LowerLeftArrow: '\u2199', - LowerRightArrow: '\u2198', - Lscr: '\u2112', - Lsh: '\u21B0', - Lstrok: '\u0141', - Lt: '\u226A', - Map: '\u2905', - Mcy: '\u041C', - MediumSpace: '\u205F', - Mellintrf: '\u2133', - Mfr: '\uD835\uDD10', - MinusPlus: '\u2213', - Mopf: '\uD835\uDD44', - Mscr: '\u2133', - Mu: '\u039C', - NJcy: '\u040A', - Nacute: '\u0143', - Ncaron: '\u0147', - Ncedil: '\u0145', - Ncy: '\u041D', - NegativeMediumSpace: '\u200B', - NegativeThickSpace: '\u200B', - NegativeThinSpace: '\u200B', - NegativeVeryThinSpace: '\u200B', - NestedGreaterGreater: '\u226B', - NestedLessLess: '\u226A', - NewLine: '\u000A', - Nfr: '\uD835\uDD11', - NoBreak: '\u2060', - NonBreakingSpace: '\u00A0', - Nopf: '\u2115', - Not: '\u2AEC', - NotCongruent: '\u2262', - NotCupCap: '\u226D', - NotDoubleVerticalBar: '\u2226', - NotElement: '\u2209', - NotEqual: '\u2260', - NotEqualTilde: '\u2242\u0338', - NotExists: '\u2204', - NotGreater: '\u226F', - NotGreaterEqual: '\u2271', - NotGreaterFullEqual: '\u2267\u0338', - NotGreaterGreater: '\u226B\u0338', - NotGreaterLess: '\u2279', - NotGreaterSlantEqual: '\u2A7E\u0338', - NotGreaterTilde: '\u2275', - NotHumpDownHump: '\u224E\u0338', - NotHumpEqual: '\u224F\u0338', - NotLeftTriangle: '\u22EA', - NotLeftTriangleBar: '\u29CF\u0338', - NotLeftTriangleEqual: '\u22EC', - NotLess: '\u226E', - NotLessEqual: '\u2270', - NotLessGreater: '\u2278', - NotLessLess: '\u226A\u0338', - NotLessSlantEqual: '\u2A7D\u0338', - NotLessTilde: '\u2274', - NotNestedGreaterGreater: '\u2AA2\u0338', - NotNestedLessLess: '\u2AA1\u0338', - NotPrecedes: '\u2280', - NotPrecedesEqual: '\u2AAF\u0338', - NotPrecedesSlantEqual: '\u22E0', - NotReverseElement: '\u220C', - NotRightTriangle: '\u22EB', - NotRightTriangleBar: '\u29D0\u0338', - NotRightTriangleEqual: '\u22ED', - NotSquareSubset: '\u228F\u0338', - NotSquareSubsetEqual: '\u22E2', - NotSquareSuperset: '\u2290\u0338', - NotSquareSupersetEqual: '\u22E3', - NotSubset: '\u2282\u20D2', - NotSubsetEqual: '\u2288', - NotSucceeds: '\u2281', - NotSucceedsEqual: '\u2AB0\u0338', - NotSucceedsSlantEqual: '\u22E1', - NotSucceedsTilde: '\u227F\u0338', - NotSuperset: '\u2283\u20D2', - NotSupersetEqual: '\u2289', - NotTilde: '\u2241', - NotTildeEqual: '\u2244', - NotTildeFullEqual: '\u2247', - NotTildeTilde: '\u2249', - NotVerticalBar: '\u2224', - Nscr: '\uD835\uDCA9', - Ntilde: '\u00D1', - Nu: '\u039D', - OElig: '\u0152', - Oacute: '\u00D3', - Ocirc: '\u00D4', - Ocy: '\u041E', - Odblac: '\u0150', - Ofr: '\uD835\uDD12', - Ograve: '\u00D2', - Omacr: '\u014C', - Omega: '\u03A9', - Omicron: '\u039F', - Oopf: '\uD835\uDD46', - OpenCurlyDoubleQuote: '\u201C', - OpenCurlyQuote: '\u2018', - Or: '\u2A54', - Oscr: '\uD835\uDCAA', - Oslash: '\u00D8', - Otilde: '\u00D5', - Otimes: '\u2A37', - Ouml: '\u00D6', - OverBar: '\u203E', - OverBrace: '\u23DE', - OverBracket: '\u23B4', - OverParenthesis: '\u23DC', - PartialD: '\u2202', - Pcy: '\u041F', - Pfr: '\uD835\uDD13', - Phi: '\u03A6', - Pi: '\u03A0', - PlusMinus: '\u00B1', - Poincareplane: '\u210C', - Popf: '\u2119', - Pr: '\u2ABB', - Precedes: '\u227A', - PrecedesEqual: '\u2AAF', - PrecedesSlantEqual: '\u227C', - PrecedesTilde: '\u227E', - Prime: '\u2033', - Product: '\u220F', - Proportion: '\u2237', - Proportional: '\u221D', - Pscr: '\uD835\uDCAB', - Psi: '\u03A8', - QUOT: '\u0022', - Qfr: '\uD835\uDD14', - Qopf: '\u211A', - Qscr: '\uD835\uDCAC', - RBarr: '\u2910', - REG: '\u00AE', - Racute: '\u0154', - Rang: '\u27EB', - Rarr: '\u21A0', - Rarrtl: '\u2916', - Rcaron: '\u0158', - Rcedil: '\u0156', - Rcy: '\u0420', - Re: '\u211C', - ReverseElement: '\u220B', - ReverseEquilibrium: '\u21CB', - ReverseUpEquilibrium: '\u296F', - Rfr: '\u211C', - Rho: '\u03A1', - RightAngleBracket: '\u27E9', - RightArrow: '\u2192', - RightArrowBar: '\u21E5', - RightArrowLeftArrow: '\u21C4', - RightCeiling: '\u2309', - RightDoubleBracket: '\u27E7', - RightDownTeeVector: '\u295D', - RightDownVector: '\u21C2', - RightDownVectorBar: '\u2955', - RightFloor: '\u230B', - RightTee: '\u22A2', - RightTeeArrow: '\u21A6', - RightTeeVector: '\u295B', - RightTriangle: '\u22B3', - RightTriangleBar: '\u29D0', - RightTriangleEqual: '\u22B5', - RightUpDownVector: '\u294F', - RightUpTeeVector: '\u295C', - RightUpVector: '\u21BE', - RightUpVectorBar: '\u2954', - RightVector: '\u21C0', - RightVectorBar: '\u2953', - Rightarrow: '\u21D2', - Ropf: '\u211D', - RoundImplies: '\u2970', - Rrightarrow: '\u21DB', - Rscr: '\u211B', - Rsh: '\u21B1', - RuleDelayed: '\u29F4', - SHCHcy: '\u0429', - SHcy: '\u0428', - SOFTcy: '\u042C', - Sacute: '\u015A', - Sc: '\u2ABC', - Scaron: '\u0160', - Scedil: '\u015E', - Scirc: '\u015C', - Scy: '\u0421', - Sfr: '\uD835\uDD16', - ShortDownArrow: '\u2193', - ShortLeftArrow: '\u2190', - ShortRightArrow: '\u2192', - ShortUpArrow: '\u2191', - Sigma: '\u03A3', - SmallCircle: '\u2218', - Sopf: '\uD835\uDD4A', - Sqrt: '\u221A', - Square: '\u25A1', - SquareIntersection: '\u2293', - SquareSubset: '\u228F', - SquareSubsetEqual: '\u2291', - SquareSuperset: '\u2290', - SquareSupersetEqual: '\u2292', - SquareUnion: '\u2294', - Sscr: '\uD835\uDCAE', - Star: '\u22C6', - Sub: '\u22D0', - Subset: '\u22D0', - SubsetEqual: '\u2286', - Succeeds: '\u227B', - SucceedsEqual: '\u2AB0', - SucceedsSlantEqual: '\u227D', - SucceedsTilde: '\u227F', - SuchThat: '\u220B', - Sum: '\u2211', - Sup: '\u22D1', - Superset: '\u2283', - SupersetEqual: '\u2287', - Supset: '\u22D1', - THORN: '\u00DE', - TRADE: '\u2122', - TSHcy: '\u040B', - TScy: '\u0426', - Tab: '\u0009', - Tau: '\u03A4', - Tcaron: '\u0164', - Tcedil: '\u0162', - Tcy: '\u0422', - Tfr: '\uD835\uDD17', - Therefore: '\u2234', - Theta: '\u0398', - ThickSpace: '\u205F\u200A', - ThinSpace: '\u2009', - Tilde: '\u223C', - TildeEqual: '\u2243', - TildeFullEqual: '\u2245', - TildeTilde: '\u2248', - Topf: '\uD835\uDD4B', - TripleDot: '\u20DB', - Tscr: '\uD835\uDCAF', - Tstrok: '\u0166', - Uacute: '\u00DA', - Uarr: '\u219F', - Uarrocir: '\u2949', - Ubrcy: '\u040E', - Ubreve: '\u016C', - Ucirc: '\u00DB', - Ucy: '\u0423', - Udblac: '\u0170', - Ufr: '\uD835\uDD18', - Ugrave: '\u00D9', - Umacr: '\u016A', - UnderBar: '\u005F', - UnderBrace: '\u23DF', - UnderBracket: '\u23B5', - UnderParenthesis: '\u23DD', - Union: '\u22C3', - UnionPlus: '\u228E', - Uogon: '\u0172', - Uopf: '\uD835\uDD4C', - UpArrow: '\u2191', - UpArrowBar: '\u2912', - UpArrowDownArrow: '\u21C5', - UpDownArrow: '\u2195', - UpEquilibrium: '\u296E', - UpTee: '\u22A5', - UpTeeArrow: '\u21A5', - Uparrow: '\u21D1', - Updownarrow: '\u21D5', - UpperLeftArrow: '\u2196', - UpperRightArrow: '\u2197', - Upsi: '\u03D2', - Upsilon: '\u03A5', - Uring: '\u016E', - Uscr: '\uD835\uDCB0', - Utilde: '\u0168', - Uuml: '\u00DC', - VDash: '\u22AB', - Vbar: '\u2AEB', - Vcy: '\u0412', - Vdash: '\u22A9', - Vdashl: '\u2AE6', - Vee: '\u22C1', - Verbar: '\u2016', - Vert: '\u2016', - VerticalBar: '\u2223', - VerticalLine: '\u007C', - VerticalSeparator: '\u2758', - VerticalTilde: '\u2240', - VeryThinSpace: '\u200A', - Vfr: '\uD835\uDD19', - Vopf: '\uD835\uDD4D', - Vscr: '\uD835\uDCB1', - Vvdash: '\u22AA', - Wcirc: '\u0174', - Wedge: '\u22C0', - Wfr: '\uD835\uDD1A', - Wopf: '\uD835\uDD4E', - Wscr: '\uD835\uDCB2', - Xfr: '\uD835\uDD1B', - Xi: '\u039E', - Xopf: '\uD835\uDD4F', - Xscr: '\uD835\uDCB3', - YAcy: '\u042F', - YIcy: '\u0407', - YUcy: '\u042E', - Yacute: '\u00DD', - Ycirc: '\u0176', - Ycy: '\u042B', - Yfr: '\uD835\uDD1C', - Yopf: '\uD835\uDD50', - Yscr: '\uD835\uDCB4', - Yuml: '\u0178', - ZHcy: '\u0416', - Zacute: '\u0179', - Zcaron: '\u017D', - Zcy: '\u0417', - Zdot: '\u017B', - ZeroWidthSpace: '\u200B', - Zeta: '\u0396', - Zfr: '\u2128', - Zopf: '\u2124', - Zscr: '\uD835\uDCB5', - aacute: '\u00E1', - abreve: '\u0103', - ac: '\u223E', - acE: '\u223E\u0333', - acd: '\u223F', - acirc: '\u00E2', - acute: '\u00B4', - acy: '\u0430', - aelig: '\u00E6', - af: '\u2061', - afr: '\uD835\uDD1E', - agrave: '\u00E0', - alefsym: '\u2135', - aleph: '\u2135', - alpha: '\u03B1', - amacr: '\u0101', - amalg: '\u2A3F', - amp: '\u0026', - and: '\u2227', - andand: '\u2A55', - andd: '\u2A5C', - andslope: '\u2A58', - andv: '\u2A5A', - ang: '\u2220', - ange: '\u29A4', - angle: '\u2220', - angmsd: '\u2221', - angmsdaa: '\u29A8', - angmsdab: '\u29A9', - angmsdac: '\u29AA', - angmsdad: '\u29AB', - angmsdae: '\u29AC', - angmsdaf: '\u29AD', - angmsdag: '\u29AE', - angmsdah: '\u29AF', - angrt: '\u221F', - angrtvb: '\u22BE', - angrtvbd: '\u299D', - angsph: '\u2222', - angst: '\u00C5', - angzarr: '\u237C', - aogon: '\u0105', - aopf: '\uD835\uDD52', - ap: '\u2248', - apE: '\u2A70', - apacir: '\u2A6F', - ape: '\u224A', - apid: '\u224B', - apos: '\u0027', - approx: '\u2248', - approxeq: '\u224A', - aring: '\u00E5', - ascr: '\uD835\uDCB6', - ast: '\u002A', - asymp: '\u2248', - asympeq: '\u224D', - atilde: '\u00E3', - auml: '\u00E4', - awconint: '\u2233', - awint: '\u2A11', - bNot: '\u2AED', - backcong: '\u224C', - backepsilon: '\u03F6', - backprime: '\u2035', - backsim: '\u223D', - backsimeq: '\u22CD', - barvee: '\u22BD', - barwed: '\u2305', - barwedge: '\u2305', - bbrk: '\u23B5', - bbrktbrk: '\u23B6', - bcong: '\u224C', - bcy: '\u0431', - bdquo: '\u201E', - becaus: '\u2235', - because: '\u2235', - bemptyv: '\u29B0', - bepsi: '\u03F6', - bernou: '\u212C', - beta: '\u03B2', - beth: '\u2136', - between: '\u226C', - bfr: '\uD835\uDD1F', - bigcap: '\u22C2', - bigcirc: '\u25EF', - bigcup: '\u22C3', - bigodot: '\u2A00', - bigoplus: '\u2A01', - bigotimes: '\u2A02', - bigsqcup: '\u2A06', - bigstar: '\u2605', - bigtriangledown: '\u25BD', - bigtriangleup: '\u25B3', - biguplus: '\u2A04', - bigvee: '\u22C1', - bigwedge: '\u22C0', - bkarow: '\u290D', - blacklozenge: '\u29EB', - blacksquare: '\u25AA', - blacktriangle: '\u25B4', - blacktriangledown: '\u25BE', - blacktriangleleft: '\u25C2', - blacktriangleright: '\u25B8', - blank: '\u2423', - blk12: '\u2592', - blk14: '\u2591', - blk34: '\u2593', - block: '\u2588', - bne: '\u003D\u20E5', - bnequiv: '\u2261\u20E5', - bnot: '\u2310', - bopf: '\uD835\uDD53', - bot: '\u22A5', - bottom: '\u22A5', - bowtie: '\u22C8', - boxDL: '\u2557', - boxDR: '\u2554', - boxDl: '\u2556', - boxDr: '\u2553', - boxH: '\u2550', - boxHD: '\u2566', - boxHU: '\u2569', - boxHd: '\u2564', - boxHu: '\u2567', - boxUL: '\u255D', - boxUR: '\u255A', - boxUl: '\u255C', - boxUr: '\u2559', - boxV: '\u2551', - boxVH: '\u256C', - boxVL: '\u2563', - boxVR: '\u2560', - boxVh: '\u256B', - boxVl: '\u2562', - boxVr: '\u255F', - boxbox: '\u29C9', - boxdL: '\u2555', - boxdR: '\u2552', - boxdl: '\u2510', - boxdr: '\u250C', - boxh: '\u2500', - boxhD: '\u2565', - boxhU: '\u2568', - boxhd: '\u252C', - boxhu: '\u2534', - boxminus: '\u229F', - boxplus: '\u229E', - boxtimes: '\u22A0', - boxuL: '\u255B', - boxuR: '\u2558', - boxul: '\u2518', - boxur: '\u2514', - boxv: '\u2502', - boxvH: '\u256A', - boxvL: '\u2561', - boxvR: '\u255E', - boxvh: '\u253C', - boxvl: '\u2524', - boxvr: '\u251C', - bprime: '\u2035', - breve: '\u02D8', - brvbar: '\u00A6', - bscr: '\uD835\uDCB7', - bsemi: '\u204F', - bsim: '\u223D', - bsime: '\u22CD', - bsol: '\u005C', - bsolb: '\u29C5', - bsolhsub: '\u27C8', - bull: '\u2022', - bullet: '\u2022', - bump: '\u224E', - bumpE: '\u2AAE', - bumpe: '\u224F', - bumpeq: '\u224F', - cacute: '\u0107', - cap: '\u2229', - capand: '\u2A44', - capbrcup: '\u2A49', - capcap: '\u2A4B', - capcup: '\u2A47', - capdot: '\u2A40', - caps: '\u2229\uFE00', - caret: '\u2041', - caron: '\u02C7', - ccaps: '\u2A4D', - ccaron: '\u010D', - ccedil: '\u00E7', - ccirc: '\u0109', - ccups: '\u2A4C', - ccupssm: '\u2A50', - cdot: '\u010B', - cedil: '\u00B8', - cemptyv: '\u29B2', - cent: '\u00A2', - centerdot: '\u00B7', - cfr: '\uD835\uDD20', - chcy: '\u0447', - check: '\u2713', - checkmark: '\u2713', - chi: '\u03C7', - cir: '\u25CB', - cirE: '\u29C3', - circ: '\u02C6', - circeq: '\u2257', - circlearrowleft: '\u21BA', - circlearrowright: '\u21BB', - circledR: '\u00AE', - circledS: '\u24C8', - circledast: '\u229B', - circledcirc: '\u229A', - circleddash: '\u229D', - cire: '\u2257', - cirfnint: '\u2A10', - cirmid: '\u2AEF', - cirscir: '\u29C2', - clubs: '\u2663', - clubsuit: '\u2663', - colon: '\u003A', - colone: '\u2254', - coloneq: '\u2254', - comma: '\u002C', - commat: '\u0040', - comp: '\u2201', - compfn: '\u2218', - complement: '\u2201', - complexes: '\u2102', - cong: '\u2245', - congdot: '\u2A6D', - conint: '\u222E', - copf: '\uD835\uDD54', - coprod: '\u2210', - copy: '\u00A9', - copysr: '\u2117', - crarr: '\u21B5', - cross: '\u2717', - cscr: '\uD835\uDCB8', - csub: '\u2ACF', - csube: '\u2AD1', - csup: '\u2AD0', - csupe: '\u2AD2', - ctdot: '\u22EF', - cudarrl: '\u2938', - cudarrr: '\u2935', - cuepr: '\u22DE', - cuesc: '\u22DF', - cularr: '\u21B6', - cularrp: '\u293D', - cup: '\u222A', - cupbrcap: '\u2A48', - cupcap: '\u2A46', - cupcup: '\u2A4A', - cupdot: '\u228D', - cupor: '\u2A45', - cups: '\u222A\uFE00', - curarr: '\u21B7', - curarrm: '\u293C', - curlyeqprec: '\u22DE', - curlyeqsucc: '\u22DF', - curlyvee: '\u22CE', - curlywedge: '\u22CF', - curren: '\u00A4', - curvearrowleft: '\u21B6', - curvearrowright: '\u21B7', - cuvee: '\u22CE', - cuwed: '\u22CF', - cwconint: '\u2232', - cwint: '\u2231', - cylcty: '\u232D', - dArr: '\u21D3', - dHar: '\u2965', - dagger: '\u2020', - daleth: '\u2138', - darr: '\u2193', - dash: '\u2010', - dashv: '\u22A3', - dbkarow: '\u290F', - dblac: '\u02DD', - dcaron: '\u010F', - dcy: '\u0434', - dd: '\u2146', - ddagger: '\u2021', - ddarr: '\u21CA', - ddotseq: '\u2A77', - deg: '\u00B0', - delta: '\u03B4', - demptyv: '\u29B1', - dfisht: '\u297F', - dfr: '\uD835\uDD21', - dharl: '\u21C3', - dharr: '\u21C2', - diam: '\u22C4', - diamond: '\u22C4', - diamondsuit: '\u2666', - diams: '\u2666', - die: '\u00A8', - digamma: '\u03DD', - disin: '\u22F2', - div: '\u00F7', - divide: '\u00F7', - divideontimes: '\u22C7', - divonx: '\u22C7', - djcy: '\u0452', - dlcorn: '\u231E', - dlcrop: '\u230D', - dollar: '\u0024', - dopf: '\uD835\uDD55', - dot: '\u02D9', - doteq: '\u2250', - doteqdot: '\u2251', - dotminus: '\u2238', - dotplus: '\u2214', - dotsquare: '\u22A1', - doublebarwedge: '\u2306', - downarrow: '\u2193', - downdownarrows: '\u21CA', - downharpoonleft: '\u21C3', - downharpoonright: '\u21C2', - drbkarow: '\u2910', - drcorn: '\u231F', - drcrop: '\u230C', - dscr: '\uD835\uDCB9', - dscy: '\u0455', - dsol: '\u29F6', - dstrok: '\u0111', - dtdot: '\u22F1', - dtri: '\u25BF', - dtrif: '\u25BE', - duarr: '\u21F5', - duhar: '\u296F', - dwangle: '\u29A6', - dzcy: '\u045F', - dzigrarr: '\u27FF', - eDDot: '\u2A77', - eDot: '\u2251', - eacute: '\u00E9', - easter: '\u2A6E', - ecaron: '\u011B', - ecir: '\u2256', - ecirc: '\u00EA', - ecolon: '\u2255', - ecy: '\u044D', - edot: '\u0117', - ee: '\u2147', - efDot: '\u2252', - efr: '\uD835\uDD22', - eg: '\u2A9A', - egrave: '\u00E8', - egs: '\u2A96', - egsdot: '\u2A98', - el: '\u2A99', - elinters: '\u23E7', - ell: '\u2113', - els: '\u2A95', - elsdot: '\u2A97', - emacr: '\u0113', - empty: '\u2205', - emptyset: '\u2205', - emptyv: '\u2205', - emsp13: '\u2004', - emsp14: '\u2005', - emsp: '\u2003', - eng: '\u014B', - ensp: '\u2002', - eogon: '\u0119', - eopf: '\uD835\uDD56', - epar: '\u22D5', - eparsl: '\u29E3', - eplus: '\u2A71', - epsi: '\u03B5', - epsilon: '\u03B5', - epsiv: '\u03F5', - eqcirc: '\u2256', - eqcolon: '\u2255', - eqsim: '\u2242', - eqslantgtr: '\u2A96', - eqslantless: '\u2A95', - equals: '\u003D', - equest: '\u225F', - equiv: '\u2261', - equivDD: '\u2A78', - eqvparsl: '\u29E5', - erDot: '\u2253', - erarr: '\u2971', - escr: '\u212F', - esdot: '\u2250', - esim: '\u2242', - eta: '\u03B7', - eth: '\u00F0', - euml: '\u00EB', - euro: '\u20AC', - excl: '\u0021', - exist: '\u2203', - expectation: '\u2130', - exponentiale: '\u2147', - fallingdotseq: '\u2252', - fcy: '\u0444', - female: '\u2640', - ffilig: '\uFB03', - fflig: '\uFB00', - ffllig: '\uFB04', - ffr: '\uD835\uDD23', - filig: '\uFB01', - fjlig: '\u0066\u006A', - flat: '\u266D', - fllig: '\uFB02', - fltns: '\u25B1', - fnof: '\u0192', - fopf: '\uD835\uDD57', - forall: '\u2200', - fork: '\u22D4', - forkv: '\u2AD9', - fpartint: '\u2A0D', - frac12: '\u00BD', - frac13: '\u2153', - frac14: '\u00BC', - frac15: '\u2155', - frac16: '\u2159', - frac18: '\u215B', - frac23: '\u2154', - frac25: '\u2156', - frac34: '\u00BE', - frac35: '\u2157', - frac38: '\u215C', - frac45: '\u2158', - frac56: '\u215A', - frac58: '\u215D', - frac78: '\u215E', - frasl: '\u2044', - frown: '\u2322', - fscr: '\uD835\uDCBB', - gE: '\u2267', - gEl: '\u2A8C', - gacute: '\u01F5', - gamma: '\u03B3', - gammad: '\u03DD', - gap: '\u2A86', - gbreve: '\u011F', - gcirc: '\u011D', - gcy: '\u0433', - gdot: '\u0121', - ge: '\u2265', - gel: '\u22DB', - geq: '\u2265', - geqq: '\u2267', - geqslant: '\u2A7E', - ges: '\u2A7E', - gescc: '\u2AA9', - gesdot: '\u2A80', - gesdoto: '\u2A82', - gesdotol: '\u2A84', - gesl: '\u22DB\uFE00', - gesles: '\u2A94', - gfr: '\uD835\uDD24', - gg: '\u226B', - ggg: '\u22D9', - gimel: '\u2137', - gjcy: '\u0453', - gl: '\u2277', - glE: '\u2A92', - gla: '\u2AA5', - glj: '\u2AA4', - gnE: '\u2269', - gnap: '\u2A8A', - gnapprox: '\u2A8A', - gne: '\u2A88', - gneq: '\u2A88', - gneqq: '\u2269', - gnsim: '\u22E7', - gopf: '\uD835\uDD58', - grave: '\u0060', - gscr: '\u210A', - gsim: '\u2273', - gsime: '\u2A8E', - gsiml: '\u2A90', - gt: '\u003E', - gtcc: '\u2AA7', - gtcir: '\u2A7A', - gtdot: '\u22D7', - gtlPar: '\u2995', - gtquest: '\u2A7C', - gtrapprox: '\u2A86', - gtrarr: '\u2978', - gtrdot: '\u22D7', - gtreqless: '\u22DB', - gtreqqless: '\u2A8C', - gtrless: '\u2277', - gtrsim: '\u2273', - gvertneqq: '\u2269\uFE00', - gvnE: '\u2269\uFE00', - hArr: '\u21D4', - hairsp: '\u200A', - half: '\u00BD', - hamilt: '\u210B', - hardcy: '\u044A', - harr: '\u2194', - harrcir: '\u2948', - harrw: '\u21AD', - hbar: '\u210F', - hcirc: '\u0125', - hearts: '\u2665', - heartsuit: '\u2665', - hellip: '\u2026', - hercon: '\u22B9', - hfr: '\uD835\uDD25', - hksearow: '\u2925', - hkswarow: '\u2926', - hoarr: '\u21FF', - homtht: '\u223B', - hookleftarrow: '\u21A9', - hookrightarrow: '\u21AA', - hopf: '\uD835\uDD59', - horbar: '\u2015', - hscr: '\uD835\uDCBD', - hslash: '\u210F', - hstrok: '\u0127', - hybull: '\u2043', - hyphen: '\u2010', - iacute: '\u00ED', - ic: '\u2063', - icirc: '\u00EE', - icy: '\u0438', - iecy: '\u0435', - iexcl: '\u00A1', - iff: '\u21D4', - ifr: '\uD835\uDD26', - igrave: '\u00EC', - ii: '\u2148', - iiiint: '\u2A0C', - iiint: '\u222D', - iinfin: '\u29DC', - iiota: '\u2129', - ijlig: '\u0133', - imacr: '\u012B', - image: '\u2111', - imagline: '\u2110', - imagpart: '\u2111', - imath: '\u0131', - imof: '\u22B7', - imped: '\u01B5', - in: '\u2208', - incare: '\u2105', - infin: '\u221E', - infintie: '\u29DD', - inodot: '\u0131', - int: '\u222B', - intcal: '\u22BA', - integers: '\u2124', - intercal: '\u22BA', - intlarhk: '\u2A17', - intprod: '\u2A3C', - iocy: '\u0451', - iogon: '\u012F', - iopf: '\uD835\uDD5A', - iota: '\u03B9', - iprod: '\u2A3C', - iquest: '\u00BF', - iscr: '\uD835\uDCBE', - isin: '\u2208', - isinE: '\u22F9', - isindot: '\u22F5', - isins: '\u22F4', - isinsv: '\u22F3', - isinv: '\u2208', - it: '\u2062', - itilde: '\u0129', - iukcy: '\u0456', - iuml: '\u00EF', - jcirc: '\u0135', - jcy: '\u0439', - jfr: '\uD835\uDD27', - jmath: '\u0237', - jopf: '\uD835\uDD5B', - jscr: '\uD835\uDCBF', - jsercy: '\u0458', - jukcy: '\u0454', - kappa: '\u03BA', - kappav: '\u03F0', - kcedil: '\u0137', - kcy: '\u043A', - kfr: '\uD835\uDD28', - kgreen: '\u0138', - khcy: '\u0445', - kjcy: '\u045C', - kopf: '\uD835\uDD5C', - kscr: '\uD835\uDCC0', - lAarr: '\u21DA', - lArr: '\u21D0', - lAtail: '\u291B', - lBarr: '\u290E', - lE: '\u2266', - lEg: '\u2A8B', - lHar: '\u2962', - lacute: '\u013A', - laemptyv: '\u29B4', - lagran: '\u2112', - lambda: '\u03BB', - lang: '\u27E8', - langd: '\u2991', - langle: '\u27E8', - lap: '\u2A85', - laquo: '\u00AB', - larr: '\u2190', - larrb: '\u21E4', - larrbfs: '\u291F', - larrfs: '\u291D', - larrhk: '\u21A9', - larrlp: '\u21AB', - larrpl: '\u2939', - larrsim: '\u2973', - larrtl: '\u21A2', - lat: '\u2AAB', - latail: '\u2919', - late: '\u2AAD', - lates: '\u2AAD\uFE00', - lbarr: '\u290C', - lbbrk: '\u2772', - lbrace: '\u007B', - lbrack: '\u005B', - lbrke: '\u298B', - lbrksld: '\u298F', - lbrkslu: '\u298D', - lcaron: '\u013E', - lcedil: '\u013C', - lceil: '\u2308', - lcub: '\u007B', - lcy: '\u043B', - ldca: '\u2936', - ldquo: '\u201C', - ldquor: '\u201E', - ldrdhar: '\u2967', - ldrushar: '\u294B', - ldsh: '\u21B2', - le: '\u2264', - leftarrow: '\u2190', - leftarrowtail: '\u21A2', - leftharpoondown: '\u21BD', - leftharpoonup: '\u21BC', - leftleftarrows: '\u21C7', - leftrightarrow: '\u2194', - leftrightarrows: '\u21C6', - leftrightharpoons: '\u21CB', - leftrightsquigarrow: '\u21AD', - leftthreetimes: '\u22CB', - leg: '\u22DA', - leq: '\u2264', - leqq: '\u2266', - leqslant: '\u2A7D', - les: '\u2A7D', - lescc: '\u2AA8', - lesdot: '\u2A7F', - lesdoto: '\u2A81', - lesdotor: '\u2A83', - lesg: '\u22DA\uFE00', - lesges: '\u2A93', - lessapprox: '\u2A85', - lessdot: '\u22D6', - lesseqgtr: '\u22DA', - lesseqqgtr: '\u2A8B', - lessgtr: '\u2276', - lesssim: '\u2272', - lfisht: '\u297C', - lfloor: '\u230A', - lfr: '\uD835\uDD29', - lg: '\u2276', - lgE: '\u2A91', - lhard: '\u21BD', - lharu: '\u21BC', - lharul: '\u296A', - lhblk: '\u2584', - ljcy: '\u0459', - ll: '\u226A', - llarr: '\u21C7', - llcorner: '\u231E', - llhard: '\u296B', - lltri: '\u25FA', - lmidot: '\u0140', - lmoust: '\u23B0', - lmoustache: '\u23B0', - lnE: '\u2268', - lnap: '\u2A89', - lnapprox: '\u2A89', - lne: '\u2A87', - lneq: '\u2A87', - lneqq: '\u2268', - lnsim: '\u22E6', - loang: '\u27EC', - loarr: '\u21FD', - lobrk: '\u27E6', - longleftarrow: '\u27F5', - longleftrightarrow: '\u27F7', - longmapsto: '\u27FC', - longrightarrow: '\u27F6', - looparrowleft: '\u21AB', - looparrowright: '\u21AC', - lopar: '\u2985', - lopf: '\uD835\uDD5D', - loplus: '\u2A2D', - lotimes: '\u2A34', - lowast: '\u2217', - lowbar: '\u005F', - loz: '\u25CA', - lozenge: '\u25CA', - lozf: '\u29EB', - lpar: '\u0028', - lparlt: '\u2993', - lrarr: '\u21C6', - lrcorner: '\u231F', - lrhar: '\u21CB', - lrhard: '\u296D', - lrm: '\u200E', - lrtri: '\u22BF', - lsaquo: '\u2039', - lscr: '\uD835\uDCC1', - lsh: '\u21B0', - lsim: '\u2272', - lsime: '\u2A8D', - lsimg: '\u2A8F', - lsqb: '\u005B', - lsquo: '\u2018', - lsquor: '\u201A', - lstrok: '\u0142', - lt: '\u003C', - ltcc: '\u2AA6', - ltcir: '\u2A79', - ltdot: '\u22D6', - lthree: '\u22CB', - ltimes: '\u22C9', - ltlarr: '\u2976', - ltquest: '\u2A7B', - ltrPar: '\u2996', - ltri: '\u25C3', - ltrie: '\u22B4', - ltrif: '\u25C2', - lurdshar: '\u294A', - luruhar: '\u2966', - lvertneqq: '\u2268\uFE00', - lvnE: '\u2268\uFE00', - mDDot: '\u223A', - macr: '\u00AF', - male: '\u2642', - malt: '\u2720', - maltese: '\u2720', - map: '\u21A6', - mapsto: '\u21A6', - mapstodown: '\u21A7', - mapstoleft: '\u21A4', - mapstoup: '\u21A5', - marker: '\u25AE', - mcomma: '\u2A29', - mcy: '\u043C', - mdash: '\u2014', - measuredangle: '\u2221', - mfr: '\uD835\uDD2A', - mho: '\u2127', - micro: '\u00B5', - mid: '\u2223', - midast: '\u002A', - midcir: '\u2AF0', - middot: '\u00B7', - minus: '\u2212', - minusb: '\u229F', - minusd: '\u2238', - minusdu: '\u2A2A', - mlcp: '\u2ADB', - mldr: '\u2026', - mnplus: '\u2213', - models: '\u22A7', - mopf: '\uD835\uDD5E', - mp: '\u2213', - mscr: '\uD835\uDCC2', - mstpos: '\u223E', - mu: '\u03BC', - multimap: '\u22B8', - mumap: '\u22B8', - nGg: '\u22D9\u0338', - nGt: '\u226B\u20D2', - nGtv: '\u226B\u0338', - nLeftarrow: '\u21CD', - nLeftrightarrow: '\u21CE', - nLl: '\u22D8\u0338', - nLt: '\u226A\u20D2', - nLtv: '\u226A\u0338', - nRightarrow: '\u21CF', - nVDash: '\u22AF', - nVdash: '\u22AE', - nabla: '\u2207', - nacute: '\u0144', - nang: '\u2220\u20D2', - nap: '\u2249', - napE: '\u2A70\u0338', - napid: '\u224B\u0338', - napos: '\u0149', - napprox: '\u2249', - natur: '\u266E', - natural: '\u266E', - naturals: '\u2115', - nbsp: '\u00A0', - nbump: '\u224E\u0338', - nbumpe: '\u224F\u0338', - ncap: '\u2A43', - ncaron: '\u0148', - ncedil: '\u0146', - ncong: '\u2247', - ncongdot: '\u2A6D\u0338', - ncup: '\u2A42', - ncy: '\u043D', - ndash: '\u2013', - ne: '\u2260', - neArr: '\u21D7', - nearhk: '\u2924', - nearr: '\u2197', - nearrow: '\u2197', - nedot: '\u2250\u0338', - nequiv: '\u2262', - nesear: '\u2928', - nesim: '\u2242\u0338', - nexist: '\u2204', - nexists: '\u2204', - nfr: '\uD835\uDD2B', - ngE: '\u2267\u0338', - nge: '\u2271', - ngeq: '\u2271', - ngeqq: '\u2267\u0338', - ngeqslant: '\u2A7E\u0338', - nges: '\u2A7E\u0338', - ngsim: '\u2275', - ngt: '\u226F', - ngtr: '\u226F', - nhArr: '\u21CE', - nharr: '\u21AE', - nhpar: '\u2AF2', - ni: '\u220B', - nis: '\u22FC', - nisd: '\u22FA', - niv: '\u220B', - njcy: '\u045A', - nlArr: '\u21CD', - nlE: '\u2266\u0338', - nlarr: '\u219A', - nldr: '\u2025', - nle: '\u2270', - nleftarrow: '\u219A', - nleftrightarrow: '\u21AE', - nleq: '\u2270', - nleqq: '\u2266\u0338', - nleqslant: '\u2A7D\u0338', - nles: '\u2A7D\u0338', - nless: '\u226E', - nlsim: '\u2274', - nlt: '\u226E', - nltri: '\u22EA', - nltrie: '\u22EC', - nmid: '\u2224', - nopf: '\uD835\uDD5F', - not: '\u00AC', - notin: '\u2209', - notinE: '\u22F9\u0338', - notindot: '\u22F5\u0338', - notinva: '\u2209', - notinvb: '\u22F7', - notinvc: '\u22F6', - notni: '\u220C', - notniva: '\u220C', - notnivb: '\u22FE', - notnivc: '\u22FD', - npar: '\u2226', - nparallel: '\u2226', - nparsl: '\u2AFD\u20E5', - npart: '\u2202\u0338', - npolint: '\u2A14', - npr: '\u2280', - nprcue: '\u22E0', - npre: '\u2AAF\u0338', - nprec: '\u2280', - npreceq: '\u2AAF\u0338', - nrArr: '\u21CF', - nrarr: '\u219B', - nrarrc: '\u2933\u0338', - nrarrw: '\u219D\u0338', - nrightarrow: '\u219B', - nrtri: '\u22EB', - nrtrie: '\u22ED', - nsc: '\u2281', - nsccue: '\u22E1', - nsce: '\u2AB0\u0338', - nscr: '\uD835\uDCC3', - nshortmid: '\u2224', - nshortparallel: '\u2226', - nsim: '\u2241', - nsime: '\u2244', - nsimeq: '\u2244', - nsmid: '\u2224', - nspar: '\u2226', - nsqsube: '\u22E2', - nsqsupe: '\u22E3', - nsub: '\u2284', - nsubE: '\u2AC5\u0338', - nsube: '\u2288', - nsubset: '\u2282\u20D2', - nsubseteq: '\u2288', - nsubseteqq: '\u2AC5\u0338', - nsucc: '\u2281', - nsucceq: '\u2AB0\u0338', - nsup: '\u2285', - nsupE: '\u2AC6\u0338', - nsupe: '\u2289', - nsupset: '\u2283\u20D2', - nsupseteq: '\u2289', - nsupseteqq: '\u2AC6\u0338', - ntgl: '\u2279', - ntilde: '\u00F1', - ntlg: '\u2278', - ntriangleleft: '\u22EA', - ntrianglelefteq: '\u22EC', - ntriangleright: '\u22EB', - ntrianglerighteq: '\u22ED', - nu: '\u03BD', - num: '\u0023', - numero: '\u2116', - numsp: '\u2007', - nvDash: '\u22AD', - nvHarr: '\u2904', - nvap: '\u224D\u20D2', - nvdash: '\u22AC', - nvge: '\u2265\u20D2', - nvgt: '\u003E\u20D2', - nvinfin: '\u29DE', - nvlArr: '\u2902', - nvle: '\u2264\u20D2', - nvlt: '\u003C\u20D2', - nvltrie: '\u22B4\u20D2', - nvrArr: '\u2903', - nvrtrie: '\u22B5\u20D2', - nvsim: '\u223C\u20D2', - nwArr: '\u21D6', - nwarhk: '\u2923', - nwarr: '\u2196', - nwarrow: '\u2196', - nwnear: '\u2927', - oS: '\u24C8', - oacute: '\u00F3', - oast: '\u229B', - ocir: '\u229A', - ocirc: '\u00F4', - ocy: '\u043E', - odash: '\u229D', - odblac: '\u0151', - odiv: '\u2A38', - odot: '\u2299', - odsold: '\u29BC', - oelig: '\u0153', - ofcir: '\u29BF', - ofr: '\uD835\uDD2C', - ogon: '\u02DB', - ograve: '\u00F2', - ogt: '\u29C1', - ohbar: '\u29B5', - ohm: '\u03A9', - oint: '\u222E', - olarr: '\u21BA', - olcir: '\u29BE', - olcross: '\u29BB', - oline: '\u203E', - olt: '\u29C0', - omacr: '\u014D', - omega: '\u03C9', - omicron: '\u03BF', - omid: '\u29B6', - ominus: '\u2296', - oopf: '\uD835\uDD60', - opar: '\u29B7', - operp: '\u29B9', - oplus: '\u2295', - or: '\u2228', - orarr: '\u21BB', - ord: '\u2A5D', - order: '\u2134', - orderof: '\u2134', - ordf: '\u00AA', - ordm: '\u00BA', - origof: '\u22B6', - oror: '\u2A56', - orslope: '\u2A57', - orv: '\u2A5B', - oscr: '\u2134', - oslash: '\u00F8', - osol: '\u2298', - otilde: '\u00F5', - otimes: '\u2297', - otimesas: '\u2A36', - ouml: '\u00F6', - ovbar: '\u233D', - par: '\u2225', - para: '\u00B6', - parallel: '\u2225', - parsim: '\u2AF3', - parsl: '\u2AFD', - part: '\u2202', - pcy: '\u043F', - percnt: '\u0025', - period: '\u002E', - permil: '\u2030', - perp: '\u22A5', - pertenk: '\u2031', - pfr: '\uD835\uDD2D', - phi: '\u03C6', - phiv: '\u03D5', - phmmat: '\u2133', - phone: '\u260E', - pi: '\u03C0', - pitchfork: '\u22D4', - piv: '\u03D6', - planck: '\u210F', - planckh: '\u210E', - plankv: '\u210F', - plus: '\u002B', - plusacir: '\u2A23', - plusb: '\u229E', - pluscir: '\u2A22', - plusdo: '\u2214', - plusdu: '\u2A25', - pluse: '\u2A72', - plusmn: '\u00B1', - plussim: '\u2A26', - plustwo: '\u2A27', - pm: '\u00B1', - pointint: '\u2A15', - popf: '\uD835\uDD61', - pound: '\u00A3', - pr: '\u227A', - prE: '\u2AB3', - prap: '\u2AB7', - prcue: '\u227C', - pre: '\u2AAF', - prec: '\u227A', - precapprox: '\u2AB7', - preccurlyeq: '\u227C', - preceq: '\u2AAF', - precnapprox: '\u2AB9', - precneqq: '\u2AB5', - precnsim: '\u22E8', - precsim: '\u227E', - prime: '\u2032', - primes: '\u2119', - prnE: '\u2AB5', - prnap: '\u2AB9', - prnsim: '\u22E8', - prod: '\u220F', - profalar: '\u232E', - profline: '\u2312', - profsurf: '\u2313', - prop: '\u221D', - propto: '\u221D', - prsim: '\u227E', - prurel: '\u22B0', - pscr: '\uD835\uDCC5', - psi: '\u03C8', - puncsp: '\u2008', - qfr: '\uD835\uDD2E', - qint: '\u2A0C', - qopf: '\uD835\uDD62', - qprime: '\u2057', - qscr: '\uD835\uDCC6', - quaternions: '\u210D', - quatint: '\u2A16', - quest: '\u003F', - questeq: '\u225F', - quot: '\u0022', - rAarr: '\u21DB', - rArr: '\u21D2', - rAtail: '\u291C', - rBarr: '\u290F', - rHar: '\u2964', - race: '\u223D\u0331', - racute: '\u0155', - radic: '\u221A', - raemptyv: '\u29B3', - rang: '\u27E9', - rangd: '\u2992', - range: '\u29A5', - rangle: '\u27E9', - raquo: '\u00BB', - rarr: '\u2192', - rarrap: '\u2975', - rarrb: '\u21E5', - rarrbfs: '\u2920', - rarrc: '\u2933', - rarrfs: '\u291E', - rarrhk: '\u21AA', - rarrlp: '\u21AC', - rarrpl: '\u2945', - rarrsim: '\u2974', - rarrtl: '\u21A3', - rarrw: '\u219D', - ratail: '\u291A', - ratio: '\u2236', - rationals: '\u211A', - rbarr: '\u290D', - rbbrk: '\u2773', - rbrace: '\u007D', - rbrack: '\u005D', - rbrke: '\u298C', - rbrksld: '\u298E', - rbrkslu: '\u2990', - rcaron: '\u0159', - rcedil: '\u0157', - rceil: '\u2309', - rcub: '\u007D', - rcy: '\u0440', - rdca: '\u2937', - rdldhar: '\u2969', - rdquo: '\u201D', - rdquor: '\u201D', - rdsh: '\u21B3', - real: '\u211C', - realine: '\u211B', - realpart: '\u211C', - reals: '\u211D', - rect: '\u25AD', - reg: '\u00AE', - rfisht: '\u297D', - rfloor: '\u230B', - rfr: '\uD835\uDD2F', - rhard: '\u21C1', - rharu: '\u21C0', - rharul: '\u296C', - rho: '\u03C1', - rhov: '\u03F1', - rightarrow: '\u2192', - rightarrowtail: '\u21A3', - rightharpoondown: '\u21C1', - rightharpoonup: '\u21C0', - rightleftarrows: '\u21C4', - rightleftharpoons: '\u21CC', - rightrightarrows: '\u21C9', - rightsquigarrow: '\u219D', - rightthreetimes: '\u22CC', - ring: '\u02DA', - risingdotseq: '\u2253', - rlarr: '\u21C4', - rlhar: '\u21CC', - rlm: '\u200F', - rmoust: '\u23B1', - rmoustache: '\u23B1', - rnmid: '\u2AEE', - roang: '\u27ED', - roarr: '\u21FE', - robrk: '\u27E7', - ropar: '\u2986', - ropf: '\uD835\uDD63', - roplus: '\u2A2E', - rotimes: '\u2A35', - rpar: '\u0029', - rpargt: '\u2994', - rppolint: '\u2A12', - rrarr: '\u21C9', - rsaquo: '\u203A', - rscr: '\uD835\uDCC7', - rsh: '\u21B1', - rsqb: '\u005D', - rsquo: '\u2019', - rsquor: '\u2019', - rthree: '\u22CC', - rtimes: '\u22CA', - rtri: '\u25B9', - rtrie: '\u22B5', - rtrif: '\u25B8', - rtriltri: '\u29CE', - ruluhar: '\u2968', - rx: '\u211E', - sacute: '\u015B', - sbquo: '\u201A', - sc: '\u227B', - scE: '\u2AB4', - scap: '\u2AB8', - scaron: '\u0161', - sccue: '\u227D', - sce: '\u2AB0', - scedil: '\u015F', - scirc: '\u015D', - scnE: '\u2AB6', - scnap: '\u2ABA', - scnsim: '\u22E9', - scpolint: '\u2A13', - scsim: '\u227F', - scy: '\u0441', - sdot: '\u22C5', - sdotb: '\u22A1', - sdote: '\u2A66', - seArr: '\u21D8', - searhk: '\u2925', - searr: '\u2198', - searrow: '\u2198', - sect: '\u00A7', - semi: '\u003B', - seswar: '\u2929', - setminus: '\u2216', - setmn: '\u2216', - sext: '\u2736', - sfr: '\uD835\uDD30', - sfrown: '\u2322', - sharp: '\u266F', - shchcy: '\u0449', - shcy: '\u0448', - shortmid: '\u2223', - shortparallel: '\u2225', - shy: '\u00AD', - sigma: '\u03C3', - sigmaf: '\u03C2', - sigmav: '\u03C2', - sim: '\u223C', - simdot: '\u2A6A', - sime: '\u2243', - simeq: '\u2243', - simg: '\u2A9E', - simgE: '\u2AA0', - siml: '\u2A9D', - simlE: '\u2A9F', - simne: '\u2246', - simplus: '\u2A24', - simrarr: '\u2972', - slarr: '\u2190', - smallsetminus: '\u2216', - smashp: '\u2A33', - smeparsl: '\u29E4', - smid: '\u2223', - smile: '\u2323', - smt: '\u2AAA', - smte: '\u2AAC', - smtes: '\u2AAC\uFE00', - softcy: '\u044C', - sol: '\u002F', - solb: '\u29C4', - solbar: '\u233F', - sopf: '\uD835\uDD64', - spades: '\u2660', - spadesuit: '\u2660', - spar: '\u2225', - sqcap: '\u2293', - sqcaps: '\u2293\uFE00', - sqcup: '\u2294', - sqcups: '\u2294\uFE00', - sqsub: '\u228F', - sqsube: '\u2291', - sqsubset: '\u228F', - sqsubseteq: '\u2291', - sqsup: '\u2290', - sqsupe: '\u2292', - sqsupset: '\u2290', - sqsupseteq: '\u2292', - squ: '\u25A1', - square: '\u25A1', - squarf: '\u25AA', - squf: '\u25AA', - srarr: '\u2192', - sscr: '\uD835\uDCC8', - ssetmn: '\u2216', - ssmile: '\u2323', - sstarf: '\u22C6', - star: '\u2606', - starf: '\u2605', - straightepsilon: '\u03F5', - straightphi: '\u03D5', - strns: '\u00AF', - sub: '\u2282', - subE: '\u2AC5', - subdot: '\u2ABD', - sube: '\u2286', - subedot: '\u2AC3', - submult: '\u2AC1', - subnE: '\u2ACB', - subne: '\u228A', - subplus: '\u2ABF', - subrarr: '\u2979', - subset: '\u2282', - subseteq: '\u2286', - subseteqq: '\u2AC5', - subsetneq: '\u228A', - subsetneqq: '\u2ACB', - subsim: '\u2AC7', - subsub: '\u2AD5', - subsup: '\u2AD3', - succ: '\u227B', - succapprox: '\u2AB8', - succcurlyeq: '\u227D', - succeq: '\u2AB0', - succnapprox: '\u2ABA', - succneqq: '\u2AB6', - succnsim: '\u22E9', - succsim: '\u227F', - sum: '\u2211', - sung: '\u266A', - sup1: '\u00B9', - sup2: '\u00B2', - sup3: '\u00B3', - sup: '\u2283', - supE: '\u2AC6', - supdot: '\u2ABE', - supdsub: '\u2AD8', - supe: '\u2287', - supedot: '\u2AC4', - suphsol: '\u27C9', - suphsub: '\u2AD7', - suplarr: '\u297B', - supmult: '\u2AC2', - supnE: '\u2ACC', - supne: '\u228B', - supplus: '\u2AC0', - supset: '\u2283', - supseteq: '\u2287', - supseteqq: '\u2AC6', - supsetneq: '\u228B', - supsetneqq: '\u2ACC', - supsim: '\u2AC8', - supsub: '\u2AD4', - supsup: '\u2AD6', - swArr: '\u21D9', - swarhk: '\u2926', - swarr: '\u2199', - swarrow: '\u2199', - swnwar: '\u292A', - szlig: '\u00DF', - target: '\u2316', - tau: '\u03C4', - tbrk: '\u23B4', - tcaron: '\u0165', - tcedil: '\u0163', - tcy: '\u0442', - tdot: '\u20DB', - telrec: '\u2315', - tfr: '\uD835\uDD31', - there4: '\u2234', - therefore: '\u2234', - theta: '\u03B8', - thetasym: '\u03D1', - thetav: '\u03D1', - thickapprox: '\u2248', - thicksim: '\u223C', - thinsp: '\u2009', - thkap: '\u2248', - thksim: '\u223C', - thorn: '\u00FE', - tilde: '\u02DC', - times: '\u00D7', - timesb: '\u22A0', - timesbar: '\u2A31', - timesd: '\u2A30', - tint: '\u222D', - toea: '\u2928', - top: '\u22A4', - topbot: '\u2336', - topcir: '\u2AF1', - topf: '\uD835\uDD65', - topfork: '\u2ADA', - tosa: '\u2929', - tprime: '\u2034', - trade: '\u2122', - triangle: '\u25B5', - triangledown: '\u25BF', - triangleleft: '\u25C3', - trianglelefteq: '\u22B4', - triangleq: '\u225C', - triangleright: '\u25B9', - trianglerighteq: '\u22B5', - tridot: '\u25EC', - trie: '\u225C', - triminus: '\u2A3A', - triplus: '\u2A39', - trisb: '\u29CD', - tritime: '\u2A3B', - trpezium: '\u23E2', - tscr: '\uD835\uDCC9', - tscy: '\u0446', - tshcy: '\u045B', - tstrok: '\u0167', - twixt: '\u226C', - twoheadleftarrow: '\u219E', - twoheadrightarrow: '\u21A0', - uArr: '\u21D1', - uHar: '\u2963', - uacute: '\u00FA', - uarr: '\u2191', - ubrcy: '\u045E', - ubreve: '\u016D', - ucirc: '\u00FB', - ucy: '\u0443', - udarr: '\u21C5', - udblac: '\u0171', - udhar: '\u296E', - ufisht: '\u297E', - ufr: '\uD835\uDD32', - ugrave: '\u00F9', - uharl: '\u21BF', - uharr: '\u21BE', - uhblk: '\u2580', - ulcorn: '\u231C', - ulcorner: '\u231C', - ulcrop: '\u230F', - ultri: '\u25F8', - umacr: '\u016B', - uml: '\u00A8', - uogon: '\u0173', - uopf: '\uD835\uDD66', - uparrow: '\u2191', - updownarrow: '\u2195', - upharpoonleft: '\u21BF', - upharpoonright: '\u21BE', - uplus: '\u228E', - upsi: '\u03C5', - upsih: '\u03D2', - upsilon: '\u03C5', - upuparrows: '\u21C8', - urcorn: '\u231D', - urcorner: '\u231D', - urcrop: '\u230E', - uring: '\u016F', - urtri: '\u25F9', - uscr: '\uD835\uDCCA', - utdot: '\u22F0', - utilde: '\u0169', - utri: '\u25B5', - utrif: '\u25B4', - uuarr: '\u21C8', - uuml: '\u00FC', - uwangle: '\u29A7', - vArr: '\u21D5', - vBar: '\u2AE8', - vBarv: '\u2AE9', - vDash: '\u22A8', - vangrt: '\u299C', - varepsilon: '\u03F5', - varkappa: '\u03F0', - varnothing: '\u2205', - varphi: '\u03D5', - varpi: '\u03D6', - varpropto: '\u221D', - varr: '\u2195', - varrho: '\u03F1', - varsigma: '\u03C2', - varsubsetneq: '\u228A\uFE00', - varsubsetneqq: '\u2ACB\uFE00', - varsupsetneq: '\u228B\uFE00', - varsupsetneqq: '\u2ACC\uFE00', - vartheta: '\u03D1', - vartriangleleft: '\u22B2', - vartriangleright: '\u22B3', - vcy: '\u0432', - vdash: '\u22A2', - vee: '\u2228', - veebar: '\u22BB', - veeeq: '\u225A', - vellip: '\u22EE', - verbar: '\u007C', - vert: '\u007C', - vfr: '\uD835\uDD33', - vltri: '\u22B2', - vnsub: '\u2282\u20D2', - vnsup: '\u2283\u20D2', - vopf: '\uD835\uDD67', - vprop: '\u221D', - vrtri: '\u22B3', - vscr: '\uD835\uDCCB', - vsubnE: '\u2ACB\uFE00', - vsubne: '\u228A\uFE00', - vsupnE: '\u2ACC\uFE00', - vsupne: '\u228B\uFE00', - vzigzag: '\u299A', - wcirc: '\u0175', - wedbar: '\u2A5F', - wedge: '\u2227', - wedgeq: '\u2259', - weierp: '\u2118', - wfr: '\uD835\uDD34', - wopf: '\uD835\uDD68', - wp: '\u2118', - wr: '\u2240', - wreath: '\u2240', - wscr: '\uD835\uDCCC', - xcap: '\u22C2', - xcirc: '\u25EF', - xcup: '\u22C3', - xdtri: '\u25BD', - xfr: '\uD835\uDD35', - xhArr: '\u27FA', - xharr: '\u27F7', - xi: '\u03BE', - xlArr: '\u27F8', - xlarr: '\u27F5', - xmap: '\u27FC', - xnis: '\u22FB', - xodot: '\u2A00', - xopf: '\uD835\uDD69', - xoplus: '\u2A01', - xotime: '\u2A02', - xrArr: '\u27F9', - xrarr: '\u27F6', - xscr: '\uD835\uDCCD', - xsqcup: '\u2A06', - xuplus: '\u2A04', - xutri: '\u25B3', - xvee: '\u22C1', - xwedge: '\u22C0', - yacute: '\u00FD', - yacy: '\u044F', - ycirc: '\u0177', - ycy: '\u044B', - yen: '\u00A5', - yfr: '\uD835\uDD36', - yicy: '\u0457', - yopf: '\uD835\uDD6A', - yscr: '\uD835\uDCCE', - yucy: '\u044E', - yuml: '\u00FF', - zacute: '\u017A', - zcaron: '\u017E', - zcy: '\u0437', - zdot: '\u017C', - zeetrf: '\u2128', - zeta: '\u03B6', - zfr: '\uD835\uDD37', - zhcy: '\u0436', - zigrarr: '\u21DD', - zopf: '\uD835\uDD6B', - zscr: '\uD835\uDCCF', - zwj: '\u200D', - zwnj: '\u200C' - }; - const decodeMap = { - 0: 65533, - 128: 8364, - 130: 8218, - 131: 402, - 132: 8222, - 133: 8230, - 134: 8224, - 135: 8225, - 136: 710, - 137: 8240, - 138: 352, - 139: 8249, - 140: 338, - 142: 381, - 145: 8216, - 146: 8217, - 147: 8220, - 148: 8221, - 149: 8226, - 150: 8211, - 151: 8212, - 152: 732, - 153: 8482, - 154: 353, - 155: 8250, - 156: 339, - 158: 382, - 159: 376 - }; - function decodeHTMLStrict(text) { - return text.replace( - /&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g, - key => { - if (key.charAt(1) === '#') { - const secondChar = key.charAt(2); - const codePoint = - secondChar === 'X' || secondChar === 'x' - ? parseInt(key.slice(3), 16) - : parseInt(key.slice(2), 10); - return decodeCodePoint(codePoint); - } - return entities[key.slice(1, -1)] || key; - } - ); - } - function decodeCodePoint(codePoint) { - if ( - (codePoint >= 0xd800 && codePoint <= 0xdfff) || - codePoint > 0x10ffff - ) { - return '\uFFFD'; - } - if (codePoint in decodeMap) { - codePoint = decodeMap[codePoint]; - } - return String.fromCodePoint(codePoint); - } - - function scanJSXAttributeValue(parser, context) { - parser.startPos = parser.tokenPos = parser.index; - parser.startColumn = parser.colPos = parser.column; - parser.startLine = parser.linePos = parser.line; - parser.token = - CharTypes[parser.currentChar] & 8192 - ? scanJSXString(parser, context) - : scanSingleToken(parser, context, 0); - return parser.token; - } - function scanJSXString(parser, context) { - const quote = parser.currentChar; - let char = advanceChar(parser); - const start = parser.index; - while (char !== quote) { - if (parser.index >= parser.end) report(parser, 14); - char = advanceChar(parser); - } - if (char !== quote) report(parser, 14); - parser.tokenValue = parser.source.slice(start, parser.index); - advanceChar(parser); - if (context & 512) - parser.tokenRaw = parser.source.slice( - parser.tokenPos, - parser.index - ); - return 134283267; - } - function scanJSXToken(parser, context) { - parser.startPos = parser.tokenPos = parser.index; - parser.startColumn = parser.colPos = parser.column; - parser.startLine = parser.linePos = parser.line; - if (parser.index >= parser.end) return (parser.token = 1048576); - const token = - TokenLookup[parser.source.charCodeAt(parser.index)]; - switch (token) { - case 8456258: { - advanceChar(parser); - if (parser.currentChar === 47) { - advanceChar(parser); - parser.token = 25; - } else { - parser.token = 8456258; - } - break; - } - case 2162700: { - advanceChar(parser); - parser.token = 2162700; - break; - } - default: { - let state = 0; - while (parser.index < parser.end) { - const type = - CharTypes[ - parser.source.charCodeAt(parser.index) - ]; - if (type & 1024) { - state |= 1 | 4; - scanNewLine(parser); - } else if (type & 2048) { - consumeLineFeed(parser, state); - state = (state & ~4) | 1; - } else { - advanceChar(parser); - } - if (CharTypes[parser.currentChar] & 16384) break; - } - const raw = parser.source.slice( - parser.tokenPos, - parser.index - ); - if (context & 512) parser.tokenRaw = raw; - parser.tokenValue = decodeHTMLStrict(raw); - parser.token = 138; - } - } - return parser.token; - } - function scanJSXIdentifier(parser) { - if ((parser.token & 143360) === 143360) { - const { index } = parser; - let char = parser.currentChar; - while (CharTypes[char] & (32768 | 2)) { - char = advanceChar(parser); - } - parser.tokenValue += parser.source.slice( - index, - parser.index - ); - } - parser.token = 208897; - return parser.token; - } - - function matchOrInsertSemicolon(parser, context) { - if ( - (parser.flags & 1) === 0 && - (parser.token & 1048576) !== 1048576 - ) { - report(parser, 28, KeywordDescTable[parser.token & 255]); - } - if (!consumeOpt(parser, context, 1074790417)) { - parser.onInsertedSemicolon?.(parser.startPos); - } - } - function isValidStrictMode(parser, index, tokenPos, tokenValue) { - if (index - tokenPos < 13 && tokenValue === 'use strict') { - if ( - (parser.token & 1048576) === 1048576 || - parser.flags & 1 - ) { - return 1; - } - } - return 0; - } - function optionalBit(parser, context, t) { - if (parser.token !== t) return 0; - nextToken(parser, context); - return 1; - } - function consumeOpt(parser, context, t) { - if (parser.token !== t) return false; - nextToken(parser, context); - return true; - } - function consume(parser, context, t) { - if (parser.token !== t) - report(parser, 23, KeywordDescTable[t & 255]); - nextToken(parser, context); - } - function reinterpretToPattern(state, node) { - switch (node.type) { - case 'ArrayExpression': - node.type = 'ArrayPattern'; - const elements = node.elements; - for (let i = 0, n = elements.length; i < n; ++i) { - const element = elements[i]; - if (element) reinterpretToPattern(state, element); - } - return; - case 'ObjectExpression': - node.type = 'ObjectPattern'; - const properties = node.properties; - for (let i = 0, n = properties.length; i < n; ++i) { - reinterpretToPattern(state, properties[i]); - } - return; - case 'AssignmentExpression': - node.type = 'AssignmentPattern'; - if (node.operator !== '=') report(state, 69); - delete node.operator; - reinterpretToPattern(state, node.left); - return; - case 'Property': - reinterpretToPattern(state, node.value); - return; - case 'SpreadElement': - node.type = 'RestElement'; - reinterpretToPattern(state, node.argument); - } - } - function validateBindingIdentifier( - parser, - context, - kind, - t, - skipEvalArgCheck - ) { - if (context & 1024) { - if ((t & 36864) === 36864) { - report(parser, 115); - } - if (!skipEvalArgCheck && (t & 537079808) === 537079808) { - report(parser, 116); - } - } - if ((t & 20480) === 20480) { - report(parser, 100); - } - if (kind & (8 | 16) && t === 241739) { - report(parser, 98); - } - if (context & (4194304 | 2048) && t === 209008) { - report(parser, 96); - } - if (context & (2097152 | 1024) && t === 241773) { - report(parser, 95, 'yield'); - } - } - function validateFunctionName(parser, context, t) { - if (context & 1024) { - if ((t & 36864) === 36864) { - report(parser, 115); - } - if ((t & 537079808) === 537079808) { - report(parser, 116); - } - if (t === 122) { - report(parser, 93); - } - if (t === 121) { - report(parser, 93); - } - } - if ((t & 20480) === 20480) { - report(parser, 100); - } - if (context & (4194304 | 2048) && t === 209008) { - report(parser, 96); - } - if (context & (2097152 | 1024) && t === 241773) { - report(parser, 95, 'yield'); - } - } - function isStrictReservedWord(parser, context, t) { - if (t === 209008) { - if (context & (4194304 | 2048)) report(parser, 96); - parser.destructible |= 128; - } - if (t === 241773 && context & 2097152) - report(parser, 95, 'yield'); - return ( - (t & 20480) === 20480 || (t & 36864) === 36864 || t == 122 - ); - } - function isPropertyWithPrivateFieldKey(expr) { - return !expr.property - ? false - : expr.property.type === 'PrivateIdentifier'; - } - function isValidLabel(parser, labels, name, isIterationStatement) { - while (labels) { - if (labels['$' + name]) { - if (isIterationStatement) report(parser, 134); - return 1; - } - if (isIterationStatement && labels.loop) - isIterationStatement = 0; - labels = labels['$']; - } - return 0; - } - function validateAndDeclareLabel(parser, labels, name) { - let set = labels; - while (set) { - if (set['$' + name]) report(parser, 133, name); - set = set['$']; - } - labels['$' + name] = 1; - } - function finishNode(parser, context, start, line, column, node) { - if (context & 2) { - node.start = start; - node.end = parser.startPos; - node.range = [start, parser.startPos]; - } - if (context & 4) { - node.loc = { - start: { - line, - column - }, - end: { - line: parser.startLine, - column: parser.startColumn - } - }; - if (parser.sourceFile) { - node.loc.source = parser.sourceFile; - } - } - return node; - } - function isEqualTagName(elementName) { - switch (elementName.type) { - case 'JSXIdentifier': - return elementName.name; - case 'JSXNamespacedName': - return elementName.namespace + ':' + elementName.name; - case 'JSXMemberExpression': - return ( - isEqualTagName(elementName.object) + - '.' + - isEqualTagName(elementName.property) - ); - } - } - function createArrowHeadParsingScope(parser, context, value) { - const scope = addChildScope(createScope(), 1024); - addBlockName(parser, context, scope, value, 1, 0); - return scope; - } - function recordScopeError(parser, type, ...params) { - const { index, line, column } = parser; - return { - type, - params, - index, - line, - column - }; - } - function createScope() { - return { - parent: void 0, - type: 2 - }; - } - function addChildScope(parent, type) { - return { - parent, - type, - scopeError: void 0 - }; - } - function addVarOrBlock(parser, context, scope, name, kind, origin) { - if (kind & 4) { - addVarName(parser, context, scope, name, kind); - } else { - addBlockName(parser, context, scope, name, kind, origin); - } - if (origin & 64) { - declareUnboundVariable(parser, name); - } - } - function addBlockName(parser, context, scope, name, kind, origin) { - const value = scope['#' + name]; - if (value && (value & 2) === 0) { - if (kind & 1) { - scope.scopeError = recordScopeError(parser, 141, name); - } else if (context & 256 && value & 64 && origin & 2); - else { - report(parser, 141, name); - } - } - if ( - scope.type & 128 && - scope.parent['#' + name] && - (scope.parent['#' + name] & 2) === 0 - ) { - report(parser, 141, name); - } - if (scope.type & 1024 && value && (value & 2) === 0) { - if (kind & 1) { - scope.scopeError = recordScopeError(parser, 141, name); - } - } - if (scope.type & 64) { - if (scope.parent['#' + name] & 768) - report(parser, 154, name); - } - scope['#' + name] = kind; - } - function addVarName(parser, context, scope, name, kind) { - let currentScope = scope; - while (currentScope && (currentScope.type & 256) === 0) { - const value = currentScope['#' + name]; - if (value & 248) { - if ( - context & 256 && - (context & 1024) === 0 && - ((kind & 128 && value & 68) || - (value & 128 && kind & 68)) - ); - else { - report(parser, 141, name); - } - } - if (currentScope === scope) { - if (value & 1 && kind & 1) { - currentScope.scopeError = recordScopeError( - parser, - 141, - name - ); - } - } - if (value & (512 | 256)) { - if ( - (value & 512) === 0 || - (context & 256) === 0 || - context & 1024 - ) { - report(parser, 141, name); - } - } - currentScope['#' + name] = kind; - currentScope = currentScope.parent; - } - } - function declareUnboundVariable(parser, name) { - if (parser.exportedNames !== void 0 && name !== '') { - if (parser.exportedNames['#' + name]) { - report(parser, 142, name); - } - parser.exportedNames['#' + name] = 1; - } - } - function addBindingToExports(parser, name) { - if (parser.exportedBindings !== void 0 && name !== '') { - parser.exportedBindings['#' + name] = 1; - } - } - function pushComment(context, array) { - return function (type, value, start, end, loc) { - const comment = { - type, - value - }; - if (context & 2) { - comment.start = start; - comment.end = end; - comment.range = [start, end]; - } - if (context & 4) { - comment.loc = loc; - } - array.push(comment); - }; - } - function pushToken(context, array) { - return function (token, start, end, loc) { - const tokens = { - token - }; - if (context & 2) { - tokens.start = start; - tokens.end = end; - tokens.range = [start, end]; - } - if (context & 4) { - tokens.loc = loc; - } - array.push(tokens); - }; - } - function isValidIdentifier(context, t) { - if (context & (1024 | 2097152)) { - if (context & 2048 && t === 209008) return false; - if (context & 2097152 && t === 241773) return false; - return (t & 143360) === 143360 || (t & 12288) === 12288; - } - return ( - (t & 143360) === 143360 || - (t & 12288) === 12288 || - (t & 36864) === 36864 - ); - } - function classifyIdentifier(parser, context, t) { - if ((t & 537079808) === 537079808) { - if (context & 1024) report(parser, 116); - parser.flags |= 512; - } - if (!isValidIdentifier(context, t)) report(parser, 0); - } - - function create( - source, - sourceFile, - onComment, - onToken, - onInsertedSemicolon - ) { - return { - source, - flags: 0, - index: 0, - line: 1, - column: 0, - startPos: 0, - end: source.length, - tokenPos: 0, - startColumn: 0, - colPos: 0, - linePos: 1, - startLine: 1, - sourceFile, - tokenValue: '', - token: 1048576, - tokenRaw: '', - tokenRegExp: void 0, - currentChar: source.charCodeAt(0), - exportedNames: [], - exportedBindings: [], - assignable: 1, - destructible: 0, - onComment, - onToken, - onInsertedSemicolon, - leadingDecorators: [] - }; - } - function parseSource(source, options, context) { - let sourceFile = ''; - let onComment; - let onInsertedSemicolon; - let onToken; - if (options != null) { - if (options.module) context |= 2048 | 1024; - if (options.next) context |= 1; - if (options.loc) context |= 4; - if (options.ranges) context |= 2; - if (options.uniqueKeyInPattern) context |= 536870912; - if (options.lexical) context |= 64; - if (options.webcompat) context |= 256; - if (options.directives) context |= 8 | 512; - if (options.globalReturn) context |= 32; - if (options.raw) context |= 512; - if (options.preserveParens) context |= 128; - if (options.impliedStrict) context |= 1024; - if (options.jsx) context |= 16; - if (options.source) sourceFile = options.source; - if (options.onComment != null) { - onComment = Array.isArray(options.onComment) - ? pushComment(context, options.onComment) - : options.onComment; - } - if (options.onInsertedSemicolon != null) - onInsertedSemicolon = options.onInsertedSemicolon; - if (options.onToken != null) { - onToken = Array.isArray(options.onToken) - ? pushToken(context, options.onToken) - : options.onToken; - } - } - const parser = create( - source, - sourceFile, - onComment, - onToken, - onInsertedSemicolon - ); - if (context & 1) skipHashBang(parser); - const scope = context & 64 ? createScope() : void 0; - let body = []; - let sourceType = 'script'; - if (context & 2048) { - sourceType = 'module'; - body = parseModuleItemList(parser, context | 8192, scope); - if (scope) { - for (const key in parser.exportedBindings) { - if (key[0] === '#' && !scope[key]) - report(parser, 143, key.slice(1)); - } - } - } else { - body = parseStatementList(parser, context | 8192, scope); - } - const node = { - type: 'Program', - sourceType, - body - }; - if (context & 2) { - node.start = 0; - node.end = source.length; - node.range = [0, source.length]; - } - if (context & 4) { - node.loc = { - start: { line: 1, column: 0 }, - end: { line: parser.line, column: parser.column } - }; - if (parser.sourceFile) node.loc.source = sourceFile; - } - return node; - } - function parseStatementList(parser, context, scope) { - nextToken(parser, context | 32768 | 268435456); - const statements = []; - while (parser.token === 134283267) { - const { - index, - tokenPos, - tokenValue, - linePos, - colPos, - token - } = parser; - const expr = parseLiteral(parser, context); - if (isValidStrictMode(parser, index, tokenPos, tokenValue)) - context |= 1024; - statements.push( - parseDirective( - parser, - context, - expr, - token, - tokenPos, - linePos, - colPos - ) - ); - } - while (parser.token !== 1048576) { - statements.push( - parseStatementListItem(parser, context, scope, 4, {}) - ); - } - return statements; - } - function parseModuleItemList(parser, context, scope) { - nextToken(parser, context | 32768); - const statements = []; - if (context & 8) { - while (parser.token === 134283267) { - const { tokenPos, linePos, colPos, token } = parser; - statements.push( - parseDirective( - parser, - context, - parseLiteral(parser, context), - token, - tokenPos, - linePos, - colPos - ) - ); - } - } - while (parser.token !== 1048576) { - statements.push(parseModuleItem(parser, context, scope)); - } - return statements; - } - function parseModuleItem(parser, context, scope) { - parser.leadingDecorators = parseDecorators(parser, context); - let moduleItem; - switch (parser.token) { - case 20566: - moduleItem = parseExportDeclaration( - parser, - context, - scope - ); - break; - case 86108: - moduleItem = parseImportDeclaration( - parser, - context, - scope - ); - break; - default: - moduleItem = parseStatementListItem( - parser, - context, - scope, - 4, - {} - ); - } - if (parser.leadingDecorators.length) { - report(parser, 165); - } - return moduleItem; - } - function parseStatementListItem( - parser, - context, - scope, - origin, - labels - ) { - const start = parser.tokenPos; - const line = parser.linePos; - const column = parser.colPos; - switch (parser.token) { - case 86106: - return parseFunctionDeclaration( - parser, - context, - scope, - origin, - 1, - 0, - 0, - start, - line, - column - ); - case 133: - case 86096: - return parseClassDeclaration( - parser, - context, - scope, - 0, - start, - line, - column - ); - case 86092: - return parseLexicalDeclaration( - parser, - context, - scope, - 16, - 0, - start, - line, - column - ); - case 241739: - return parseLetIdentOrVarDeclarationStatement( - parser, - context, - scope, - origin, - start, - line, - column - ); - case 20566: - report(parser, 101, 'export'); - case 86108: - nextToken(parser, context); - switch (parser.token) { - case 67174411: - return parseImportCallDeclaration( - parser, - context, - start, - line, - column - ); - case 67108877: - return parseImportMetaDeclaration( - parser, - context, - start, - line, - column - ); - default: - report(parser, 101, 'import'); - } - case 209007: - return parseAsyncArrowOrAsyncFunctionDeclaration( - parser, - context, - scope, - origin, - labels, - 1, - start, - line, - column - ); - default: - return parseStatement( - parser, - context, - scope, - origin, - labels, - 1, - start, - line, - column - ); - } - } - function parseStatement( - parser, - context, - scope, - origin, - labels, - allowFuncDecl, - start, - line, - column - ) { - switch (parser.token) { - case 86090: - return parseVariableStatement( - parser, - context, - scope, - 0, - start, - line, - column - ); - case 20574: - return parseReturnStatement( - parser, - context, - start, - line, - column - ); - case 20571: - return parseIfStatement( - parser, - context, - scope, - labels, - start, - line, - column - ); - case 20569: - return parseForStatement( - parser, - context, - scope, - labels, - start, - line, - column - ); - case 20564: - return parseDoWhileStatement( - parser, - context, - scope, - labels, - start, - line, - column - ); - case 20580: - return parseWhileStatement( - parser, - context, - scope, - labels, - start, - line, - column - ); - case 86112: - return parseSwitchStatement( - parser, - context, - scope, - labels, - start, - line, - column - ); - case 1074790417: - return parseEmptyStatement( - parser, - context, - start, - line, - column - ); - case 2162700: - return parseBlock( - parser, - context, - scope ? addChildScope(scope, 2) : scope, - labels, - start, - line, - column - ); - case 86114: - return parseThrowStatement( - parser, - context, - start, - line, - column - ); - case 20557: - return parseBreakStatement( - parser, - context, - labels, - start, - line, - column - ); - case 20561: - return parseContinueStatement( - parser, - context, - labels, - start, - line, - column - ); - case 20579: - return parseTryStatement( - parser, - context, - scope, - labels, - start, - line, - column - ); - case 20581: - return parseWithStatement( - parser, - context, - scope, - labels, - start, - line, - column - ); - case 20562: - return parseDebuggerStatement( - parser, - context, - start, - line, - column - ); - case 209007: - return parseAsyncArrowOrAsyncFunctionDeclaration( - parser, - context, - scope, - origin, - labels, - 0, - start, - line, - column - ); - case 20559: - report(parser, 157); - case 20568: - report(parser, 158); - case 86106: - report( - parser, - context & 1024 - ? 74 - : (context & 256) === 0 - ? 76 - : 75 - ); - case 86096: - report(parser, 77); - default: - return parseExpressionOrLabelledStatement( - parser, - context, - scope, - origin, - labels, - allowFuncDecl, - start, - line, - column - ); - } - } - function parseExpressionOrLabelledStatement( - parser, - context, - scope, - origin, - labels, - allowFuncDecl, - start, - line, - column - ) { - const { tokenValue, token } = parser; - let expr; - switch (token) { - case 241739: - expr = parseIdentifier(parser, context); - if (context & 1024) report(parser, 83); - if (parser.token === 69271571) report(parser, 82); - break; - default: - expr = parsePrimaryExpression( - parser, - context, - 2, - 0, - 1, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } - if (token & 143360 && parser.token === 21) { - return parseLabelledStatement( - parser, - context, - scope, - origin, - labels, - tokenValue, - expr, - token, - allowFuncDecl, - start, - line, - column - ); - } - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 0, - start, - line, - column - ); - expr = parseAssignmentExpression( - parser, - context, - 0, - 0, - start, - line, - column, - expr - ); - if (parser.token === 18) { - expr = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - expr - ); - } - return parseExpressionStatement( - parser, - context, - expr, - start, - line, - column - ); - } - function parseBlock( - parser, - context, - scope, - labels, - start, - line, - column - ) { - const body = []; - consume(parser, context | 32768, 2162700); - while (parser.token !== 1074790415) { - body.push( - parseStatementListItem(parser, context, scope, 2, { - $: labels - }) - ); - } - consume(parser, context | 32768, 1074790415); - return finishNode(parser, context, start, line, column, { - type: 'BlockStatement', - body - }); - } - function parseReturnStatement( - parser, - context, - start, - line, - column - ) { - if ((context & 32) === 0 && context & 8192) report(parser, 90); - nextToken(parser, context | 32768); - const argument = - parser.flags & 1 || parser.token & 1048576 - ? null - : parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'ReturnStatement', - argument - }); - } - function parseExpressionStatement( - parser, - context, - expression, - start, - line, - column - ) { - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'ExpressionStatement', - expression - }); - } - function parseLabelledStatement( - parser, - context, - scope, - origin, - labels, - value, - expr, - token, - allowFuncDecl, - start, - line, - column - ) { - validateBindingIdentifier(parser, context, 0, token, 1); - validateAndDeclareLabel(parser, labels, value); - nextToken(parser, context | 32768); - const body = - allowFuncDecl && - (context & 1024) === 0 && - context & 256 && - parser.token === 86106 - ? parseFunctionDeclaration( - parser, - context, - addChildScope(scope, 2), - origin, - 0, - 0, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - : parseStatement( - parser, - context, - scope, - origin, - labels, - allowFuncDecl, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - return finishNode(parser, context, start, line, column, { - type: 'LabeledStatement', - label: expr, - body - }); - } - function parseAsyncArrowOrAsyncFunctionDeclaration( - parser, - context, - scope, - origin, - labels, - allowFuncDecl, - start, - line, - column - ) { - const { token, tokenValue } = parser; - let expr = parseIdentifier(parser, context); - if (parser.token === 21) { - return parseLabelledStatement( - parser, - context, - scope, - origin, - labels, - tokenValue, - expr, - token, - 1, - start, - line, - column - ); - } - const asyncNewLine = parser.flags & 1; - if (!asyncNewLine) { - if (parser.token === 86106) { - if (!allowFuncDecl) report(parser, 120); - return parseFunctionDeclaration( - parser, - context, - scope, - origin, - 1, - 0, - 1, - start, - line, - column - ); - } - if ((parser.token & 143360) === 143360) { - expr = parseAsyncArrowAfterIdent( - parser, - context, - 1, - start, - line, - column - ); - if (parser.token === 18) - expr = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - expr - ); - return parseExpressionStatement( - parser, - context, - expr, - start, - line, - column - ); - } - } - if (parser.token === 67174411) { - expr = parseAsyncArrowOrCallExpression( - parser, - context, - expr, - 1, - 1, - 0, - asyncNewLine, - start, - line, - column - ); - } else { - if (parser.token === 10) { - classifyIdentifier(parser, context, token); - expr = parseArrowFromIdentifier( - parser, - context, - parser.tokenValue, - expr, - 0, - 1, - 0, - start, - line, - column - ); - } - parser.assignable = 1; - } - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 0, - start, - line, - column - ); - expr = parseAssignmentExpression( - parser, - context, - 0, - 0, - start, - line, - column, - expr - ); - parser.assignable = 1; - if (parser.token === 18) { - expr = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - expr - ); - } - return parseExpressionStatement( - parser, - context, - expr, - start, - line, - column - ); - } - function parseDirective( - parser, - context, - expression, - token, - start, - line, - column - ) { - if (token !== 1074790417) { - parser.assignable = 2; - expression = parseMemberOrUpdateExpression( - parser, - context, - expression, - 0, - 0, - start, - line, - column - ); - if (parser.token !== 1074790417) { - expression = parseAssignmentExpression( - parser, - context, - 0, - 0, - start, - line, - column, - expression - ); - if (parser.token === 18) { - expression = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - expression - ); - } - } - matchOrInsertSemicolon(parser, context | 32768); - } - return context & 8 && - expression.type === 'Literal' && - typeof expression.value === 'string' - ? finishNode(parser, context, start, line, column, { - type: 'ExpressionStatement', - expression, - directive: expression.raw.slice(1, -1) - }) - : finishNode(parser, context, start, line, column, { - type: 'ExpressionStatement', - expression - }); - } - function parseEmptyStatement(parser, context, start, line, column) { - nextToken(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'EmptyStatement' - }); - } - function parseThrowStatement(parser, context, start, line, column) { - nextToken(parser, context | 32768); - if (parser.flags & 1) report(parser, 88); - const argument = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'ThrowStatement', - argument - }); - } - function parseIfStatement( - parser, - context, - scope, - labels, - start, - line, - column - ) { - nextToken(parser, context); - consume(parser, context | 32768, 67174411); - parser.assignable = 1; - const test = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.line, - parser.colPos - ); - consume(parser, context | 32768, 16); - const consequent = parseConsequentOrAlternative( - parser, - context, - scope, - labels, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - let alternate = null; - if (parser.token === 20565) { - nextToken(parser, context | 32768); - alternate = parseConsequentOrAlternative( - parser, - context, - scope, - labels, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } - return finishNode(parser, context, start, line, column, { - type: 'IfStatement', - test, - consequent, - alternate - }); - } - function parseConsequentOrAlternative( - parser, - context, - scope, - labels, - start, - line, - column - ) { - return context & 1024 || - (context & 256) === 0 || - parser.token !== 86106 - ? parseStatement( - parser, - context, - scope, - 0, - { $: labels }, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - : parseFunctionDeclaration( - parser, - context, - addChildScope(scope, 2), - 0, - 0, - 0, - 0, - start, - line, - column - ); - } - function parseSwitchStatement( - parser, - context, - scope, - labels, - start, - line, - column - ) { - nextToken(parser, context); - consume(parser, context | 32768, 67174411); - const discriminant = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context, 16); - consume(parser, context, 2162700); - const cases = []; - let seenDefault = 0; - if (scope) scope = addChildScope(scope, 8); - while (parser.token !== 1074790415) { - const { tokenPos, linePos, colPos } = parser; - let test = null; - const consequent = []; - if (consumeOpt(parser, context | 32768, 20558)) { - test = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else { - consume(parser, context | 32768, 20563); - if (seenDefault) report(parser, 87); - seenDefault = 1; - } - consume(parser, context | 32768, 21); - while ( - parser.token !== 20558 && - parser.token !== 1074790415 && - parser.token !== 20563 - ) { - consequent.push( - parseStatementListItem( - parser, - context | 4096, - scope, - 2, - { - $: labels - } - ) - ); - } - cases.push( - finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'SwitchCase', - test, - consequent - }) - ); - } - consume(parser, context | 32768, 1074790415); - return finishNode(parser, context, start, line, column, { - type: 'SwitchStatement', - discriminant, - cases - }); - } - function parseWhileStatement( - parser, - context, - scope, - labels, - start, - line, - column - ) { - nextToken(parser, context); - consume(parser, context | 32768, 67174411); - const test = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 16); - const body = parseIterationStatementBody( - parser, - context, - scope, - labels - ); - return finishNode(parser, context, start, line, column, { - type: 'WhileStatement', - test, - body - }); - } - function parseIterationStatementBody( - parser, - context, - scope, - labels - ) { - return parseStatement( - parser, - ((context | 134217728) ^ 134217728) | 131072, - scope, - 0, - { loop: 1, $: labels }, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } - function parseContinueStatement( - parser, - context, - labels, - start, - line, - column - ) { - if ((context & 131072) === 0) report(parser, 66); - nextToken(parser, context); - let label = null; - if ((parser.flags & 1) === 0 && parser.token & 143360) { - const { tokenValue } = parser; - label = parseIdentifier(parser, context | 32768); - if (!isValidLabel(parser, labels, tokenValue, 1)) - report(parser, 135, tokenValue); - } - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'ContinueStatement', - label - }); - } - function parseBreakStatement( - parser, - context, - labels, - start, - line, - column - ) { - nextToken(parser, context | 32768); - let label = null; - if ((parser.flags & 1) === 0 && parser.token & 143360) { - const { tokenValue } = parser; - label = parseIdentifier(parser, context | 32768); - if (!isValidLabel(parser, labels, tokenValue, 0)) - report(parser, 135, tokenValue); - } else if ((context & (4096 | 131072)) === 0) { - report(parser, 67); - } - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'BreakStatement', - label - }); - } - function parseWithStatement( - parser, - context, - scope, - labels, - start, - line, - column - ) { - nextToken(parser, context); - if (context & 1024) report(parser, 89); - consume(parser, context | 32768, 67174411); - const object = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 16); - const body = parseStatement( - parser, - context, - scope, - 2, - labels, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - return finishNode(parser, context, start, line, column, { - type: 'WithStatement', - object, - body - }); - } - function parseDebuggerStatement( - parser, - context, - start, - line, - column - ) { - nextToken(parser, context | 32768); - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'DebuggerStatement' - }); - } - function parseTryStatement( - parser, - context, - scope, - labels, - start, - line, - column - ) { - nextToken(parser, context | 32768); - const firstScope = scope ? addChildScope(scope, 32) : void 0; - const block = parseBlock( - parser, - context, - firstScope, - { $: labels }, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - const { tokenPos, linePos, colPos } = parser; - const handler = consumeOpt(parser, context | 32768, 20559) - ? parseCatchBlock( - parser, - context, - scope, - labels, - tokenPos, - linePos, - colPos - ) - : null; - let finalizer = null; - if (parser.token === 20568) { - nextToken(parser, context | 32768); - const finalizerScope = firstScope - ? addChildScope(scope, 4) - : void 0; - finalizer = parseBlock( - parser, - context, - finalizerScope, - { $: labels }, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } - if (!handler && !finalizer) { - report(parser, 86); - } - return finishNode(parser, context, start, line, column, { - type: 'TryStatement', - block, - handler, - finalizer - }); - } - function parseCatchBlock( - parser, - context, - scope, - labels, - start, - line, - column - ) { - let param = null; - let additionalScope = scope; - if (consumeOpt(parser, context, 67174411)) { - if (scope) scope = addChildScope(scope, 4); - param = parseBindingPattern( - parser, - context, - scope, - (parser.token & 2097152) === 2097152 ? 256 : 512, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - if (parser.token === 18) { - report(parser, 84); - } else if (parser.token === 1077936157) { - report(parser, 85); - } - consume(parser, context | 32768, 16); - if (scope) additionalScope = addChildScope(scope, 64); - } - const body = parseBlock( - parser, - context, - additionalScope, - { $: labels }, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - return finishNode(parser, context, start, line, column, { - type: 'CatchClause', - param, - body - }); - } - function parseStaticBlock( - parser, - context, - scope, - start, - line, - column - ) { - if (scope) scope = addChildScope(scope, 2); - const ctorContext = 16384 | 524288; - context = ((context | ctorContext) ^ ctorContext) | 262144; - const { body } = parseBlock( - parser, - context, - scope, - {}, - start, - line, - column - ); - return finishNode(parser, context, start, line, column, { - type: 'StaticBlock', - body - }); - } - function parseDoWhileStatement( - parser, - context, - scope, - labels, - start, - line, - column - ) { - nextToken(parser, context | 32768); - const body = parseIterationStatementBody( - parser, - context, - scope, - labels - ); - consume(parser, context, 20580); - consume(parser, context | 32768, 67174411); - const test = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 16); - consumeOpt(parser, context | 32768, 1074790417); - return finishNode(parser, context, start, line, column, { - type: 'DoWhileStatement', - body, - test - }); - } - function parseLetIdentOrVarDeclarationStatement( - parser, - context, - scope, - origin, - start, - line, - column - ) { - const { token, tokenValue } = parser; - let expr = parseIdentifier(parser, context); - if (parser.token & (143360 | 2097152)) { - const declarations = parseVariableDeclarationList( - parser, - context, - scope, - 8, - 0 - ); - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'VariableDeclaration', - kind: 'let', - declarations - }); - } - parser.assignable = 1; - if (context & 1024) report(parser, 83); - if (parser.token === 21) { - return parseLabelledStatement( - parser, - context, - scope, - origin, - {}, - tokenValue, - expr, - token, - 0, - start, - line, - column - ); - } - if (parser.token === 10) { - let scope = void 0; - if (context & 64) - scope = createArrowHeadParsingScope( - parser, - context, - tokenValue - ); - parser.flags = (parser.flags | 128) ^ 128; - expr = parseArrowFunctionExpression( - parser, - context, - scope, - [expr], - 0, - start, - line, - column - ); - } else { - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 0, - start, - line, - column - ); - expr = parseAssignmentExpression( - parser, - context, - 0, - 0, - start, - line, - column, - expr - ); - } - if (parser.token === 18) { - expr = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - expr - ); - } - return parseExpressionStatement( - parser, - context, - expr, - start, - line, - column - ); - } - function parseLexicalDeclaration( - parser, - context, - scope, - kind, - origin, - start, - line, - column - ) { - nextToken(parser, context); - const declarations = parseVariableDeclarationList( - parser, - context, - scope, - kind, - origin - ); - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'VariableDeclaration', - kind: kind & 8 ? 'let' : 'const', - declarations - }); - } - function parseVariableStatement( - parser, - context, - scope, - origin, - start, - line, - column - ) { - nextToken(parser, context); - const declarations = parseVariableDeclarationList( - parser, - context, - scope, - 4, - origin - ); - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'VariableDeclaration', - kind: 'var', - declarations - }); - } - function parseVariableDeclarationList( - parser, - context, - scope, - kind, - origin - ) { - let bindingCount = 1; - const list = [ - parseVariableDeclaration( - parser, - context, - scope, - kind, - origin - ) - ]; - while (consumeOpt(parser, context, 18)) { - bindingCount++; - list.push( - parseVariableDeclaration( - parser, - context, - scope, - kind, - origin - ) - ); - } - if (bindingCount > 1 && origin & 32 && parser.token & 262144) { - report(parser, 59, KeywordDescTable[parser.token & 255]); - } - return list; - } - function parseVariableDeclaration( - parser, - context, - scope, - kind, - origin - ) { - const { token, tokenPos, linePos, colPos } = parser; - let init = null; - const id = parseBindingPattern( - parser, - context, - scope, - kind, - origin, - tokenPos, - linePos, - colPos - ); - if (parser.token === 1077936157) { - nextToken(parser, context | 32768); - init = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - if (origin & 32 || (token & 2097152) === 0) { - if ( - parser.token === 274549 || - (parser.token === 8738868 && - (token & 2097152 || - (kind & 4) === 0 || - context & 1024)) - ) { - reportMessageAt( - tokenPos, - parser.line, - parser.index - 3, - 58, - parser.token === 274549 ? 'of' : 'in' - ); - } - } - } else if ( - (kind & 16 || (token & 2097152) > 0) && - (parser.token & 262144) !== 262144 - ) { - report(parser, 57, kind & 16 ? 'const' : 'destructuring'); - } - return finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'VariableDeclarator', - id, - init - }); - } - function parseForStatement( - parser, - context, - scope, - labels, - start, - line, - column - ) { - nextToken(parser, context); - const forAwait = - ((context & 4194304) > 0 || - ((context & 2048) > 0 && (context & 8192) > 0)) && - consumeOpt(parser, context, 209008); - consume(parser, context | 32768, 67174411); - if (scope) scope = addChildScope(scope, 1); - let test = null; - let update = null; - let destructible = 0; - let init = null; - let isVarDecl = - parser.token === 86090 || - parser.token === 241739 || - parser.token === 86092; - let right; - const { token, tokenPos, linePos, colPos } = parser; - if (isVarDecl) { - if (token === 241739) { - init = parseIdentifier(parser, context); - if (parser.token & (143360 | 2097152)) { - if (parser.token === 8738868) { - if (context & 1024) report(parser, 65); - } else { - init = finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - { - type: 'VariableDeclaration', - kind: 'let', - declarations: - parseVariableDeclarationList( - parser, - context | 134217728, - scope, - 8, - 32 - ) - } - ); - } - parser.assignable = 1; - } else if (context & 1024) { - report(parser, 65); - } else { - isVarDecl = false; - parser.assignable = 1; - init = parseMemberOrUpdateExpression( - parser, - context, - init, - 0, - 0, - tokenPos, - linePos, - colPos - ); - if (parser.token === 274549) report(parser, 112); - } - } else { - nextToken(parser, context); - init = finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - token === 86090 - ? { - type: 'VariableDeclaration', - kind: 'var', - declarations: - parseVariableDeclarationList( - parser, - context | 134217728, - scope, - 4, - 32 - ) - } - : { - type: 'VariableDeclaration', - kind: 'const', - declarations: - parseVariableDeclarationList( - parser, - context | 134217728, - scope, - 16, - 32 - ) - } - ); - parser.assignable = 1; - } - } else if (token === 1074790417) { - if (forAwait) report(parser, 80); - } else if ((token & 2097152) === 2097152) { - init = - token === 2162700 - ? parseObjectLiteralOrPattern( - parser, - context, - void 0, - 1, - 0, - 0, - 2, - 32, - tokenPos, - linePos, - colPos - ) - : parseArrayExpressionOrPattern( - parser, - context, - void 0, - 1, - 0, - 0, - 2, - 32, - tokenPos, - linePos, - colPos - ); - destructible = parser.destructible; - if (context & 256 && destructible & 64) { - report(parser, 61); - } - parser.assignable = destructible & 16 ? 2 : 1; - init = parseMemberOrUpdateExpression( - parser, - context | 134217728, - init, - 0, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else { - init = parseLeftHandSideExpression( - parser, - context | 134217728, - 1, - 0, - 1, - tokenPos, - linePos, - colPos - ); - } - if ((parser.token & 262144) === 262144) { - if (parser.token === 274549) { - if (parser.assignable & 2) - report(parser, 78, forAwait ? 'await' : 'of'); - reinterpretToPattern(parser, init); - nextToken(parser, context | 32768); - right = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 16); - const body = parseIterationStatementBody( - parser, - context, - scope, - labels - ); - return finishNode( - parser, - context, - start, - line, - column, - { - type: 'ForOfStatement', - left: init, - right, - body, - await: forAwait - } - ); - } - if (parser.assignable & 2) report(parser, 78, 'in'); - reinterpretToPattern(parser, init); - nextToken(parser, context | 32768); - if (forAwait) report(parser, 80); - right = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 16); - const body = parseIterationStatementBody( - parser, - context, - scope, - labels - ); - return finishNode(parser, context, start, line, column, { - type: 'ForInStatement', - body, - left: init, - right - }); - } - if (forAwait) report(parser, 80); - if (!isVarDecl) { - if (destructible & 8 && parser.token !== 1077936157) { - report(parser, 78, 'loop'); - } - init = parseAssignmentExpression( - parser, - context | 134217728, - 0, - 0, - tokenPos, - linePos, - colPos, - init - ); - } - if (parser.token === 18) - init = parseSequenceExpression( - parser, - context, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos, - init - ); - consume(parser, context | 32768, 1074790417); - if (parser.token !== 1074790417) - test = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 1074790417); - if (parser.token !== 16) - update = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 16); - const body = parseIterationStatementBody( - parser, - context, - scope, - labels - ); - return finishNode(parser, context, start, line, column, { - type: 'ForStatement', - init, - test, - update, - body - }); - } - function parseRestrictedIdentifier(parser, context, scope) { - if (!isValidIdentifier(context, parser.token)) - report(parser, 115); - if ((parser.token & 537079808) === 537079808) - report(parser, 116); - if (scope) - addBlockName( - parser, - context, - scope, - parser.tokenValue, - 8, - 0 - ); - return parseIdentifier(parser, context); - } - function parseImportDeclaration(parser, context, scope) { - const start = parser.tokenPos; - const line = parser.linePos; - const column = parser.colPos; - nextToken(parser, context); - let source = null; - const { tokenPos, linePos, colPos } = parser; - let specifiers = []; - if (parser.token === 134283267) { - source = parseLiteral(parser, context); - } else { - if (parser.token & 143360) { - const local = parseRestrictedIdentifier( - parser, - context, - scope - ); - specifiers = [ - finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - { - type: 'ImportDefaultSpecifier', - local - } - ) - ]; - if (consumeOpt(parser, context, 18)) { - switch (parser.token) { - case 8457014: - specifiers.push( - parseImportNamespaceSpecifier( - parser, - context, - scope - ) - ); - break; - case 2162700: - parseImportSpecifierOrNamedImports( - parser, - context, - scope, - specifiers - ); - break; - default: - report(parser, 105); - } - } - } else { - switch (parser.token) { - case 8457014: - specifiers = [ - parseImportNamespaceSpecifier( - parser, - context, - scope - ) - ]; - break; - case 2162700: - parseImportSpecifierOrNamedImports( - parser, - context, - scope, - specifiers - ); - break; - case 67174411: - return parseImportCallDeclaration( - parser, - context, - start, - line, - column - ); - case 67108877: - return parseImportMetaDeclaration( - parser, - context, - start, - line, - column - ); - default: - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } - } - source = parseModuleSpecifier(parser, context); - } - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'ImportDeclaration', - specifiers, - source - }); - } - function parseImportNamespaceSpecifier(parser, context, scope) { - const { tokenPos, linePos, colPos } = parser; - nextToken(parser, context); - consume(parser, context, 77934); - if ((parser.token & 134217728) === 134217728) { - reportMessageAt( - tokenPos, - parser.line, - parser.index, - 28, - KeywordDescTable[parser.token & 255] - ); - } - return finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'ImportNamespaceSpecifier', - local: parseRestrictedIdentifier(parser, context, scope) - }); - } - function parseModuleSpecifier(parser, context) { - if (!consumeOpt(parser, context, 12404)) { - report(parser, 28, KeywordDescTable[parser.token & 255]); - } - if (parser.token !== 134283267) report(parser, 103, 'Import'); - return parseLiteral(parser, context); - } - function parseImportSpecifierOrNamedImports( - parser, - context, - scope, - specifiers - ) { - nextToken(parser, context); - while (parser.token & 143360) { - let { token, tokenValue, tokenPos, linePos, colPos } = - parser; - const imported = parseIdentifier(parser, context); - let local; - if (consumeOpt(parser, context, 77934)) { - if ( - (parser.token & 134217728) === 134217728 || - parser.token === 18 - ) { - report(parser, 104); - } else { - validateBindingIdentifier( - parser, - context, - 16, - parser.token, - 0 - ); - } - tokenValue = parser.tokenValue; - local = parseIdentifier(parser, context); - } else { - validateBindingIdentifier( - parser, - context, - 16, - token, - 0 - ); - local = imported; - } - if (scope) - addBlockName(parser, context, scope, tokenValue, 8, 0); - specifiers.push( - finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'ImportSpecifier', - local, - imported - }) - ); - if (parser.token !== 1074790415) - consume(parser, context, 18); - } - consume(parser, context, 1074790415); - return specifiers; - } - function parseImportMetaDeclaration( - parser, - context, - start, - line, - column - ) { - let expr = parseImportMetaExpression( - parser, - context, - finishNode(parser, context, start, line, column, { - type: 'Identifier', - name: 'import' - }), - start, - line, - column - ); - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 0, - start, - line, - column - ); - expr = parseAssignmentExpression( - parser, - context, - 0, - 0, - start, - line, - column, - expr - ); - if (parser.token === 18) { - expr = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - expr - ); - } - return parseExpressionStatement( - parser, - context, - expr, - start, - line, - column - ); - } - function parseImportCallDeclaration( - parser, - context, - start, - line, - column - ) { - let expr = parseImportExpression( - parser, - context, - 0, - start, - line, - column - ); - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 0, - start, - line, - column - ); - if (parser.token === 18) { - expr = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - expr - ); - } - return parseExpressionStatement( - parser, - context, - expr, - start, - line, - column - ); - } - function parseExportDeclaration(parser, context, scope) { - const start = parser.tokenPos; - const line = parser.linePos; - const column = parser.colPos; - nextToken(parser, context | 32768); - const specifiers = []; - let declaration = null; - let source = null; - let key; - if (consumeOpt(parser, context | 32768, 20563)) { - switch (parser.token) { - case 86106: { - declaration = parseFunctionDeclaration( - parser, - context, - scope, - 4, - 1, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - break; - } - case 133: - case 86096: - declaration = parseClassDeclaration( - parser, - context, - scope, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - break; - case 209007: - const { tokenPos, linePos, colPos } = parser; - declaration = parseIdentifier(parser, context); - const { flags } = parser; - if ((flags & 1) === 0) { - if (parser.token === 86106) { - declaration = parseFunctionDeclaration( - parser, - context, - scope, - 4, - 1, - 1, - 1, - tokenPos, - linePos, - colPos - ); - } else { - if (parser.token === 67174411) { - declaration = - parseAsyncArrowOrCallExpression( - parser, - context, - declaration, - 1, - 1, - 0, - flags, - tokenPos, - linePos, - colPos - ); - declaration = - parseMemberOrUpdateExpression( - parser, - context, - declaration, - 0, - 0, - tokenPos, - linePos, - colPos - ); - declaration = parseAssignmentExpression( - parser, - context, - 0, - 0, - tokenPos, - linePos, - colPos, - declaration - ); - } else if (parser.token & 143360) { - if (scope) - scope = createArrowHeadParsingScope( - parser, - context, - parser.tokenValue - ); - declaration = parseIdentifier( - parser, - context - ); - declaration = - parseArrowFunctionExpression( - parser, - context, - scope, - [declaration], - 1, - tokenPos, - linePos, - colPos - ); - } - } - } - break; - default: - declaration = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - matchOrInsertSemicolon(parser, context | 32768); - } - if (scope) declareUnboundVariable(parser, 'default'); - return finishNode(parser, context, start, line, column, { - type: 'ExportDefaultDeclaration', - declaration - }); - } - switch (parser.token) { - case 8457014: { - nextToken(parser, context); - let exported = null; - const isNamedDeclaration = consumeOpt( - parser, - context, - 77934 - ); - if (isNamedDeclaration) { - if (scope) - declareUnboundVariable( - parser, - parser.tokenValue - ); - exported = parseIdentifier(parser, context); - } - consume(parser, context, 12404); - if (parser.token !== 134283267) - report(parser, 103, 'Export'); - source = parseLiteral(parser, context); - matchOrInsertSemicolon(parser, context | 32768); - return finishNode( - parser, - context, - start, - line, - column, - { - type: 'ExportAllDeclaration', - source, - exported - } - ); - } - case 2162700: { - nextToken(parser, context); - const tmpExportedNames = []; - const tmpExportedBindings = []; - while (parser.token & 143360) { - const { tokenPos, tokenValue, linePos, colPos } = - parser; - const local = parseIdentifier(parser, context); - let exported; - if (parser.token === 77934) { - nextToken(parser, context); - if ((parser.token & 134217728) === 134217728) { - report(parser, 104); - } - if (scope) { - tmpExportedNames.push(parser.tokenValue); - tmpExportedBindings.push(tokenValue); - } - exported = parseIdentifier(parser, context); - } else { - if (scope) { - tmpExportedNames.push(parser.tokenValue); - tmpExportedBindings.push(parser.tokenValue); - } - exported = local; - } - specifiers.push( - finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - { - type: 'ExportSpecifier', - local, - exported - } - ) - ); - if (parser.token !== 1074790415) - consume(parser, context, 18); - } - consume(parser, context, 1074790415); - if (consumeOpt(parser, context, 12404)) { - if (parser.token !== 134283267) - report(parser, 103, 'Export'); - source = parseLiteral(parser, context); - } else if (scope) { - let i = 0; - let iMax = tmpExportedNames.length; - for (; i < iMax; i++) { - declareUnboundVariable( - parser, - tmpExportedNames[i] - ); - } - i = 0; - iMax = tmpExportedBindings.length; - for (; i < iMax; i++) { - addBindingToExports( - parser, - tmpExportedBindings[i] - ); - } - } - matchOrInsertSemicolon(parser, context | 32768); - break; - } - case 86096: - declaration = parseClassDeclaration( - parser, - context, - scope, - 2, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - break; - case 86106: - declaration = parseFunctionDeclaration( - parser, - context, - scope, - 4, - 1, - 2, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - break; - case 241739: - declaration = parseLexicalDeclaration( - parser, - context, - scope, - 8, - 64, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - break; - case 86092: - declaration = parseLexicalDeclaration( - parser, - context, - scope, - 16, - 64, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - break; - case 86090: - declaration = parseVariableStatement( - parser, - context, - scope, - 64, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - break; - case 209007: - const { tokenPos, linePos, colPos } = parser; - nextToken(parser, context); - if ( - (parser.flags & 1) === 0 && - parser.token === 86106 - ) { - declaration = parseFunctionDeclaration( - parser, - context, - scope, - 4, - 1, - 2, - 1, - tokenPos, - linePos, - colPos - ); - if (scope) { - key = declaration.id ? declaration.id.name : ''; - declareUnboundVariable(parser, key); - } - break; - } - default: - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } - return finishNode(parser, context, start, line, column, { - type: 'ExportNamedDeclaration', - declaration, - specifiers, - source - }); - } - function parseExpression( - parser, - context, - canAssign, - inGroup, - start, - line, - column - ) { - let expr = parsePrimaryExpression( - parser, - context, - 2, - 0, - canAssign, - inGroup, - 1, - start, - line, - column - ); - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - inGroup, - 0, - start, - line, - column - ); - return parseAssignmentExpression( - parser, - context, - inGroup, - 0, - start, - line, - column, - expr - ); - } - function parseSequenceExpression( - parser, - context, - inGroup, - start, - line, - column, - expr - ) { - const expressions = [expr]; - while (consumeOpt(parser, context | 32768, 18)) { - expressions.push( - parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - return finishNode(parser, context, start, line, column, { - type: 'SequenceExpression', - expressions - }); - } - function parseExpressions( - parser, - context, - inGroup, - canAssign, - start, - line, - column - ) { - const expr = parseExpression( - parser, - context, - canAssign, - inGroup, - start, - line, - column - ); - return parser.token === 18 - ? parseSequenceExpression( - parser, - context, - inGroup, - start, - line, - column, - expr - ) - : expr; - } - function parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - start, - line, - column, - left - ) { - const { token } = parser; - if ((token & 4194304) === 4194304) { - if (parser.assignable & 2) report(parser, 24); - if ( - (!isPattern && - token === 1077936157 && - left.type === 'ArrayExpression') || - left.type === 'ObjectExpression' - ) { - reinterpretToPattern(parser, left); - } - nextToken(parser, context | 32768); - const right = parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - parser.assignable = 2; - return finishNode( - parser, - context, - start, - line, - column, - isPattern - ? { - type: 'AssignmentPattern', - left, - right - } - : { - type: 'AssignmentExpression', - left, - operator: KeywordDescTable[token & 255], - right - } - ); - } - if ((token & 8454144) === 8454144) { - left = parseBinaryExpression( - parser, - context, - inGroup, - start, - line, - column, - 4, - token, - left - ); - } - if (consumeOpt(parser, context | 32768, 22)) { - left = parseConditionalExpression( - parser, - context, - left, - start, - line, - column - ); - } - return left; - } - function parseAssignmentExpressionOrPattern( - parser, - context, - inGroup, - isPattern, - start, - line, - column, - left - ) { - const { token } = parser; - nextToken(parser, context | 32768); - const right = parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - left = finishNode( - parser, - context, - start, - line, - column, - isPattern - ? { - type: 'AssignmentPattern', - left, - right - } - : { - type: 'AssignmentExpression', - left, - operator: KeywordDescTable[token & 255], - right - } - ); - parser.assignable = 2; - return left; - } - function parseConditionalExpression( - parser, - context, - test, - start, - line, - column - ) { - const consequent = parseExpression( - parser, - (context | 134217728) ^ 134217728, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 21); - parser.assignable = 1; - const alternate = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'ConditionalExpression', - test, - consequent, - alternate - }); - } - function parseBinaryExpression( - parser, - context, - inGroup, - start, - line, - column, - minPrec, - operator, - left - ) { - const bit = -((context & 134217728) > 0) & 8738868; - let t; - let prec; - parser.assignable = 2; - while (parser.token & 8454144) { - t = parser.token; - prec = t & 3840; - if ( - (t & 524288 && operator & 268435456) || - (operator & 524288 && t & 268435456) - ) { - report(parser, 160); - } - if ( - prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= - minPrec - ) - break; - nextToken(parser, context | 32768); - left = finishNode(parser, context, start, line, column, { - type: - t & 524288 || t & 268435456 - ? 'LogicalExpression' - : 'BinaryExpression', - left, - right: parseBinaryExpression( - parser, - context, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos, - prec, - t, - parseLeftHandSideExpression( - parser, - context, - 0, - inGroup, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ), - operator: KeywordDescTable[t & 255] - }); - } - if (parser.token === 1077936157) report(parser, 24); - return left; - } - function parseUnaryExpression( - parser, - context, - isLHS, - start, - line, - column, - inGroup - ) { - if (!isLHS) report(parser, 0); - const unaryOperator = parser.token; - nextToken(parser, context | 32768); - const arg = parseLeftHandSideExpression( - parser, - context, - 0, - inGroup, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - if (parser.token === 8457273) report(parser, 31); - if (context & 1024 && unaryOperator === 16863278) { - if (arg.type === 'Identifier') { - report(parser, 118); - } else if (isPropertyWithPrivateFieldKey(arg)) { - report(parser, 124); - } - } - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'UnaryExpression', - operator: KeywordDescTable[unaryOperator & 255], - argument: arg, - prefix: true - }); - } - function parseAsyncExpression( - parser, - context, - inGroup, - isLHS, - canAssign, - inNew, - start, - line, - column - ) { - const { token } = parser; - const expr = parseIdentifier(parser, context); - const { flags } = parser; - if ((flags & 1) === 0) { - if (parser.token === 86106) { - return parseFunctionExpression( - parser, - context, - 1, - inGroup, - start, - line, - column - ); - } - if ((parser.token & 143360) === 143360) { - if (!isLHS) report(parser, 0); - return parseAsyncArrowAfterIdent( - parser, - context, - canAssign, - start, - line, - column - ); - } - } - if (!inNew && parser.token === 67174411) { - return parseAsyncArrowOrCallExpression( - parser, - context, - expr, - canAssign, - 1, - 0, - flags, - start, - line, - column - ); - } - if (parser.token === 10) { - classifyIdentifier(parser, context, token); - if (inNew) report(parser, 49); - return parseArrowFromIdentifier( - parser, - context, - parser.tokenValue, - expr, - inNew, - canAssign, - 0, - start, - line, - column - ); - } - parser.assignable = 1; - return expr; - } - function parseYieldExpression( - parser, - context, - inGroup, - canAssign, - start, - line, - column - ) { - if (inGroup) parser.destructible |= 256; - if (context & 2097152) { - nextToken(parser, context | 32768); - if (context & 8388608) report(parser, 30); - if (!canAssign) report(parser, 24); - if (parser.token === 22) report(parser, 121); - let argument = null; - let delegate = false; - if ((parser.flags & 1) === 0) { - delegate = consumeOpt(parser, context | 32768, 8457014); - if (parser.token & (12288 | 65536) || delegate) { - argument = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } - } - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'YieldExpression', - argument, - delegate - }); - } - if (context & 1024) report(parser, 95, 'yield'); - return parseIdentifierOrArrow( - parser, - context, - start, - line, - column - ); - } - function parseAwaitExpression( - parser, - context, - inNew, - inGroup, - start, - line, - column - ) { - if (inGroup) parser.destructible |= 128; - if (context & 4194304 || (context & 2048 && context & 8192)) { - if (inNew) report(parser, 0); - if (context & 8388608) { - reportMessageAt( - parser.index, - parser.line, - parser.index, - 29 - ); - } - nextToken(parser, context | 32768); - const argument = parseLeftHandSideExpression( - parser, - context, - 0, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - if (parser.token === 8457273) report(parser, 31); - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'AwaitExpression', - argument - }); - } - if (context & 2048) report(parser, 96); - return parseIdentifierOrArrow( - parser, - context, - start, - line, - column - ); - } - function parseFunctionBody( - parser, - context, - scope, - origin, - firstRestricted, - scopeError - ) { - const { tokenPos, linePos, colPos } = parser; - consume(parser, context | 32768, 2162700); - const body = []; - const prevContext = context; - if (parser.token !== 1074790415) { - while (parser.token === 134283267) { - const { index, tokenPos, tokenValue, token } = parser; - const expr = parseLiteral(parser, context); - if ( - isValidStrictMode( - parser, - index, - tokenPos, - tokenValue - ) - ) { - context |= 1024; - if (parser.flags & 128) { - reportMessageAt( - parser.index, - parser.line, - parser.tokenPos, - 64 - ); - } - if (parser.flags & 64) { - reportMessageAt( - parser.index, - parser.line, - parser.tokenPos, - 8 - ); - } - } - body.push( - parseDirective( - parser, - context, - expr, - token, - tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - if (context & 1024) { - if (firstRestricted) { - if ((firstRestricted & 537079808) === 537079808) { - report(parser, 116); - } - if ((firstRestricted & 36864) === 36864) { - report(parser, 38); - } - } - if (parser.flags & 512) report(parser, 116); - if (parser.flags & 256) report(parser, 115); - } - if ( - context & 64 && - scope && - scopeError !== void 0 && - (prevContext & 1024) === 0 && - (context & 8192) === 0 - ) { - reportScopeError(scopeError); - } - } - parser.flags = - (parser.flags | 512 | 256 | 64) ^ (512 | 256 | 64); - parser.destructible = (parser.destructible | 256) ^ 256; - while (parser.token !== 1074790415) { - body.push( - parseStatementListItem(parser, context, scope, 4, {}) - ); - } - consume( - parser, - origin & (16 | 8) ? context | 32768 : context, - 1074790415 - ); - parser.flags &= ~(128 | 64); - if (parser.token === 1077936157) report(parser, 24); - return finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'BlockStatement', - body - }); - } - function parseSuperExpression( - parser, - context, - start, - line, - column - ) { - nextToken(parser, context); - switch (parser.token) { - case 67108991: - report(parser, 162); - case 67174411: { - if ((context & 524288) === 0) report(parser, 26); - if (context & 16384 && !(context & 33554432)) { - report(parser, 27); - } - parser.assignable = 2; - break; - } - case 69271571: - case 67108877: { - if ((context & 262144) === 0) report(parser, 27); - if (context & 16384 && !(context & 33554432)) { - report(parser, 27); - } - parser.assignable = 1; - break; - } - default: - report(parser, 28, 'super'); - } - return finishNode(parser, context, start, line, column, { - type: 'Super' - }); - } - function parseLeftHandSideExpression( - parser, - context, - canAssign, - inGroup, - isLHS, - start, - line, - column - ) { - const expression = parsePrimaryExpression( - parser, - context, - 2, - 0, - canAssign, - inGroup, - isLHS, - start, - line, - column - ); - return parseMemberOrUpdateExpression( - parser, - context, - expression, - inGroup, - 0, - start, - line, - column - ); - } - function parseUpdateExpression( - parser, - context, - expr, - start, - line, - column - ) { - if (parser.assignable & 2) report(parser, 53); - const { token } = parser; - nextToken(parser, context); - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'UpdateExpression', - argument: expr, - operator: KeywordDescTable[token & 255], - prefix: false - }); - } - function parseMemberOrUpdateExpression( - parser, - context, - expr, - inGroup, - inChain, - start, - line, - column - ) { - if ( - (parser.token & 33619968) === 33619968 && - (parser.flags & 1) === 0 - ) { - expr = parseUpdateExpression( - parser, - context, - expr, - start, - line, - column - ); - } else if ((parser.token & 67108864) === 67108864) { - context = (context | 134217728) ^ 134217728; - switch (parser.token) { - case 67108877: { - nextToken( - parser, - (context | 268435456 | 8192) ^ 8192 - ); - if ( - context & 16384 && - parser.token === 131 && - parser.tokenValue === 'super' - ) { - report(parser, 27); - } - parser.assignable = 1; - const property = parsePropertyOrPrivatePropertyName( - parser, - context | 65536 - ); - expr = finishNode( - parser, - context, - start, - line, - column, - { - type: 'MemberExpression', - object: expr, - computed: false, - property - } - ); - break; - } - case 69271571: { - let restoreHasOptionalChaining = false; - if ((parser.flags & 2048) === 2048) { - restoreHasOptionalChaining = true; - parser.flags = (parser.flags | 2048) ^ 2048; - } - nextToken(parser, context | 32768); - const { tokenPos, linePos, colPos } = parser; - const property = parseExpressions( - parser, - context, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - consume(parser, context, 20); - parser.assignable = 1; - expr = finishNode( - parser, - context, - start, - line, - column, - { - type: 'MemberExpression', - object: expr, - computed: true, - property - } - ); - if (restoreHasOptionalChaining) { - parser.flags |= 2048; - } - break; - } - case 67174411: { - if ((parser.flags & 1024) === 1024) { - parser.flags = (parser.flags | 1024) ^ 1024; - return expr; - } - let restoreHasOptionalChaining = false; - if ((parser.flags & 2048) === 2048) { - restoreHasOptionalChaining = true; - parser.flags = (parser.flags | 2048) ^ 2048; - } - const args = parseArguments( - parser, - context, - inGroup - ); - parser.assignable = 2; - expr = finishNode( - parser, - context, - start, - line, - column, - { - type: 'CallExpression', - callee: expr, - arguments: args - } - ); - if (restoreHasOptionalChaining) { - parser.flags |= 2048; - } - break; - } - case 67108991: { - nextToken( - parser, - (context | 268435456 | 8192) ^ 8192 - ); - parser.flags |= 2048; - parser.assignable = 2; - expr = parseOptionalChain( - parser, - context, - expr, - start, - line, - column - ); - break; - } - default: - if ((parser.flags & 2048) === 2048) { - report(parser, 161); - } - parser.assignable = 2; - expr = finishNode( - parser, - context, - start, - line, - column, - { - type: 'TaggedTemplateExpression', - tag: expr, - quasi: - parser.token === 67174408 - ? parseTemplate( - parser, - context | 65536 - ) - : parseTemplateLiteral( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - } - ); - } - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 1, - start, - line, - column - ); - } - if (inChain === 0 && (parser.flags & 2048) === 2048) { - parser.flags = (parser.flags | 2048) ^ 2048; - expr = finishNode(parser, context, start, line, column, { - type: 'ChainExpression', - expression: expr - }); - } - return expr; - } - function parseOptionalChain( - parser, - context, - expr, - start, - line, - column - ) { - let restoreHasOptionalChaining = false; - let node; - if (parser.token === 69271571 || parser.token === 67174411) { - if ((parser.flags & 2048) === 2048) { - restoreHasOptionalChaining = true; - parser.flags = (parser.flags | 2048) ^ 2048; - } - } - if (parser.token === 69271571) { - nextToken(parser, context | 32768); - const { tokenPos, linePos, colPos } = parser; - const property = parseExpressions( - parser, - context, - 0, - 1, - tokenPos, - linePos, - colPos - ); - consume(parser, context, 20); - parser.assignable = 2; - node = finishNode(parser, context, start, line, column, { - type: 'MemberExpression', - object: expr, - computed: true, - optional: true, - property - }); - } else if (parser.token === 67174411) { - const args = parseArguments(parser, context, 0); - parser.assignable = 2; - node = finishNode(parser, context, start, line, column, { - type: 'CallExpression', - callee: expr, - arguments: args, - optional: true - }); - } else { - if ((parser.token & (143360 | 4096)) === 0) - report(parser, 155); - const property = parseIdentifier(parser, context); - parser.assignable = 2; - node = finishNode(parser, context, start, line, column, { - type: 'MemberExpression', - object: expr, - computed: false, - optional: true, - property - }); - } - if (restoreHasOptionalChaining) { - parser.flags |= 2048; - } - return node; - } - function parsePropertyOrPrivatePropertyName(parser, context) { - if ( - (parser.token & (143360 | 4096)) === 0 && - parser.token !== 131 - ) { - report(parser, 155); - } - return context & 1 && parser.token === 131 - ? parsePrivateIdentifier( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - : parseIdentifier(parser, context); - } - function parseUpdateExpressionPrefixed( - parser, - context, - inNew, - isLHS, - start, - line, - column - ) { - if (inNew) report(parser, 54); - if (!isLHS) report(parser, 0); - const { token } = parser; - nextToken(parser, context | 32768); - const arg = parseLeftHandSideExpression( - parser, - context, - 0, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - if (parser.assignable & 2) { - report(parser, 53); - } - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'UpdateExpression', - argument: arg, - operator: KeywordDescTable[token & 255], - prefix: true - }); - } - function parsePrimaryExpression( - parser, - context, - kind, - inNew, - canAssign, - inGroup, - isLHS, - start, - line, - column - ) { - if ((parser.token & 143360) === 143360) { - switch (parser.token) { - case 209008: - return parseAwaitExpression( - parser, - context, - inNew, - inGroup, - start, - line, - column - ); - case 241773: - return parseYieldExpression( - parser, - context, - inGroup, - canAssign, - start, - line, - column - ); - case 209007: - return parseAsyncExpression( - parser, - context, - inGroup, - isLHS, - canAssign, - inNew, - start, - line, - column - ); - } - const { token, tokenValue } = parser; - const expr = parseIdentifier(parser, context | 65536); - if (parser.token === 10) { - if (!isLHS) report(parser, 0); - classifyIdentifier(parser, context, token); - return parseArrowFromIdentifier( - parser, - context, - tokenValue, - expr, - inNew, - canAssign, - 0, - start, - line, - column - ); - } - if (context & 16384 && token === 537079928) - report(parser, 127); - if (token === 241739) { - if (context & 1024) report(parser, 110); - if (kind & (8 | 16)) report(parser, 98); - } - parser.assignable = - context & 1024 && (token & 537079808) === 537079808 - ? 2 - : 1; - return expr; - } - if ((parser.token & 134217728) === 134217728) { - return parseLiteral(parser, context); - } - switch (parser.token) { - case 33619995: - case 33619996: - return parseUpdateExpressionPrefixed( - parser, - context, - inNew, - isLHS, - start, - line, - column - ); - case 16863278: - case 16842800: - case 16842801: - case 25233970: - case 25233971: - case 16863277: - case 16863279: - return parseUnaryExpression( - parser, - context, - isLHS, - start, - line, - column, - inGroup - ); - case 86106: - return parseFunctionExpression( - parser, - context, - 0, - inGroup, - start, - line, - column - ); - case 2162700: - return parseObjectLiteral( - parser, - context, - canAssign ? 0 : 1, - inGroup, - start, - line, - column - ); - case 69271571: - return parseArrayLiteral( - parser, - context, - canAssign ? 0 : 1, - inGroup, - start, - line, - column - ); - case 67174411: - return parseParenthesizedExpression( - parser, - context | 65536, - canAssign, - 1, - 0, - start, - line, - column - ); - case 86021: - case 86022: - case 86023: - return parseNullOrTrueOrFalseLiteral( - parser, - context, - start, - line, - column - ); - case 86113: - return parseThisExpression(parser, context); - case 65540: - return parseRegExpLiteral( - parser, - context, - start, - line, - column - ); - case 133: - case 86096: - return parseClassExpression( - parser, - context, - inGroup, - start, - line, - column - ); - case 86111: - return parseSuperExpression( - parser, - context, - start, - line, - column - ); - case 67174409: - return parseTemplateLiteral( - parser, - context, - start, - line, - column - ); - case 67174408: - return parseTemplate(parser, context); - case 86109: - return parseNewExpression( - parser, - context, - inGroup, - start, - line, - column - ); - case 134283389: - return parseBigIntLiteral( - parser, - context, - start, - line, - column - ); - case 131: - return parsePrivateIdentifier( - parser, - context, - start, - line, - column - ); - case 86108: - return parseImportCallOrMetaExpression( - parser, - context, - inNew, - inGroup, - start, - line, - column - ); - case 8456258: - if (context & 16) - return parseJSXRootElementOrFragment( - parser, - context, - 1, - start, - line, - column - ); - default: - if (isValidIdentifier(context, parser.token)) - return parseIdentifierOrArrow( - parser, - context, - start, - line, - column - ); - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } - } - function parseImportCallOrMetaExpression( - parser, - context, - inNew, - inGroup, - start, - line, - column - ) { - let expr = parseIdentifier(parser, context); - if (parser.token === 67108877) { - return parseImportMetaExpression( - parser, - context, - expr, - start, - line, - column - ); - } - if (inNew) report(parser, 138); - expr = parseImportExpression( - parser, - context, - inGroup, - start, - line, - column - ); - parser.assignable = 2; - return parseMemberOrUpdateExpression( - parser, - context, - expr, - inGroup, - 0, - start, - line, - column - ); - } - function parseImportMetaExpression( - parser, - context, - meta, - start, - line, - column - ) { - if ((context & 2048) === 0) report(parser, 164); - nextToken(parser, context); - if (parser.token !== 143495 && parser.tokenValue !== 'meta') - report(parser, 28, KeywordDescTable[parser.token & 255]); - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'MetaProperty', - meta, - property: parseIdentifier(parser, context) - }); - } - function parseImportExpression( - parser, - context, - inGroup, - start, - line, - column - ) { - consume(parser, context | 32768, 67174411); - if (parser.token === 14) report(parser, 139); - const source = parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context, 16); - return finishNode(parser, context, start, line, column, { - type: 'ImportExpression', - source - }); - } - function parseBigIntLiteral(parser, context, start, line, column) { - const { tokenRaw, tokenValue } = parser; - nextToken(parser, context); - parser.assignable = 2; - return finishNode( - parser, - context, - start, - line, - column, - context & 512 - ? { - type: 'Literal', - value: tokenValue, - bigint: tokenRaw.slice(0, -1), - raw: tokenRaw - } - : { - type: 'Literal', - value: tokenValue, - bigint: tokenRaw.slice(0, -1) - } - ); - } - function parseTemplateLiteral( - parser, - context, - start, - line, - column - ) { - parser.assignable = 2; - const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = - parser; - consume(parser, context, 67174409); - const quasis = [ - parseTemplateElement( - parser, - context, - tokenValue, - tokenRaw, - tokenPos, - linePos, - colPos, - true - ) - ]; - return finishNode(parser, context, start, line, column, { - type: 'TemplateLiteral', - expressions: [], - quasis - }); - } - function parseTemplate(parser, context) { - context = (context | 134217728) ^ 134217728; - const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = - parser; - consume(parser, context | 32768, 67174408); - const quasis = [ - parseTemplateElement( - parser, - context, - tokenValue, - tokenRaw, - tokenPos, - linePos, - colPos, - false - ) - ]; - const expressions = [ - parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ]; - if (parser.token !== 1074790415) report(parser, 81); - while ( - (parser.token = scanTemplateTail(parser, context)) !== - 67174409 - ) { - const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = - parser; - consume(parser, context | 32768, 67174408); - quasis.push( - parseTemplateElement( - parser, - context, - tokenValue, - tokenRaw, - tokenPos, - linePos, - colPos, - false - ) - ); - expressions.push( - parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - if (parser.token !== 1074790415) report(parser, 81); - } - { - const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = - parser; - consume(parser, context, 67174409); - quasis.push( - parseTemplateElement( - parser, - context, - tokenValue, - tokenRaw, - tokenPos, - linePos, - colPos, - true - ) - ); - } - return finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'TemplateLiteral', - expressions, - quasis - }); - } - function parseTemplateElement( - parser, - context, - cooked, - raw, - start, - line, - col, - tail - ) { - const node = finishNode(parser, context, start, line, col, { - type: 'TemplateElement', - value: { - cooked, - raw - }, - tail - }); - const tailSize = tail ? 1 : 2; - if (context & 2) { - node.start += 1; - node.range[0] += 1; - node.end -= tailSize; - node.range[1] -= tailSize; - } - if (context & 4) { - node.loc.start.column += 1; - node.loc.end.column -= tailSize; - } - return node; - } - function parseSpreadElement(parser, context, start, line, column) { - context = (context | 134217728) ^ 134217728; - consume(parser, context | 32768, 14); - const argument = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - parser.assignable = 1; - return finishNode(parser, context, start, line, column, { - type: 'SpreadElement', - argument - }); - } - function parseArguments(parser, context, inGroup) { - nextToken(parser, context | 32768); - const args = []; - if (parser.token === 16) { - nextToken(parser, context | 65536); - return args; - } - while (parser.token !== 16) { - if (parser.token === 14) { - args.push( - parseSpreadElement( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } else { - args.push( - parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - if (parser.token !== 18) break; - nextToken(parser, context | 32768); - if (parser.token === 16) break; - } - consume(parser, context, 16); - return args; - } - function parseIdentifier(parser, context) { - const { tokenValue, tokenPos, linePos, colPos } = parser; - nextToken(parser, context); - return finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'Identifier', - name: tokenValue - }); - } - function parseLiteral(parser, context) { - const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = - parser; - if (parser.token === 134283389) { - return parseBigIntLiteral( - parser, - context, - tokenPos, - linePos, - colPos - ); - } - nextToken(parser, context); - parser.assignable = 2; - return finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - context & 512 - ? { - type: 'Literal', - value: tokenValue, - raw: tokenRaw - } - : { - type: 'Literal', - value: tokenValue - } - ); - } - function parseNullOrTrueOrFalseLiteral( - parser, - context, - start, - line, - column - ) { - const raw = KeywordDescTable[parser.token & 255]; - const value = parser.token === 86023 ? null : raw === 'true'; - nextToken(parser, context); - parser.assignable = 2; - return finishNode( - parser, - context, - start, - line, - column, - context & 512 - ? { - type: 'Literal', - value, - raw - } - : { - type: 'Literal', - value - } - ); - } - function parseThisExpression(parser, context) { - const { tokenPos, linePos, colPos } = parser; - nextToken(parser, context); - parser.assignable = 2; - return finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'ThisExpression' - }); - } - function parseFunctionDeclaration( - parser, - context, - scope, - origin, - allowGen, - flags, - isAsync, - start, - line, - column - ) { - nextToken(parser, context | 32768); - const isGenerator = allowGen - ? optionalBit(parser, context, 8457014) - : 0; - let id = null; - let firstRestricted; - let functionScope = scope ? createScope() : void 0; - if (parser.token === 67174411) { - if ((flags & 1) === 0) report(parser, 37, 'Function'); - } else { - const kind = - origin & 4 && - ((context & 8192) === 0 || (context & 2048) === 0) - ? 4 - : 64; - validateFunctionName( - parser, - context | ((context & 3072) << 11), - parser.token - ); - if (scope) { - if (kind & 4) { - addVarName( - parser, - context, - scope, - parser.tokenValue, - kind - ); - } else { - addBlockName( - parser, - context, - scope, - parser.tokenValue, - kind, - origin - ); - } - functionScope = addChildScope(functionScope, 256); - if (flags) { - if (flags & 2) { - declareUnboundVariable( - parser, - parser.tokenValue - ); - } - } - } - firstRestricted = parser.token; - if (parser.token & 143360) { - id = parseIdentifier(parser, context); - } else { - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } - } - context = - ((context | 32243712) ^ 32243712) | - 67108864 | - ((isAsync * 2 + isGenerator) << 21) | - (isGenerator ? 0 : 268435456); - if (scope) functionScope = addChildScope(functionScope, 512); - const params = parseFormalParametersOrFormalList( - parser, - context | 8388608, - functionScope, - 0, - 1 - ); - const body = parseFunctionBody( - parser, - (context | 8192 | 4096 | 131072) ^ (8192 | 4096 | 131072), - scope ? addChildScope(functionScope, 128) : functionScope, - 8, - firstRestricted, - scope ? functionScope.scopeError : void 0 - ); - return finishNode(parser, context, start, line, column, { - type: 'FunctionDeclaration', - id, - params, - body, - async: isAsync === 1, - generator: isGenerator === 1 - }); - } - function parseFunctionExpression( - parser, - context, - isAsync, - inGroup, - start, - line, - column - ) { - nextToken(parser, context | 32768); - const isGenerator = optionalBit(parser, context, 8457014); - const generatorAndAsyncFlags = - (isAsync * 2 + isGenerator) << 21; - let id = null; - let firstRestricted; - let scope = context & 64 ? createScope() : void 0; - if ((parser.token & (143360 | 4096 | 36864)) > 0) { - validateFunctionName( - parser, - ((context | 0x1ec0000) ^ 0x1ec0000) | - generatorAndAsyncFlags, - parser.token - ); - if (scope) scope = addChildScope(scope, 256); - firstRestricted = parser.token; - id = parseIdentifier(parser, context); - } - context = - ((context | 32243712) ^ 32243712) | - 67108864 | - generatorAndAsyncFlags | - (isGenerator ? 0 : 268435456); - if (scope) scope = addChildScope(scope, 512); - const params = parseFormalParametersOrFormalList( - parser, - context | 8388608, - scope, - inGroup, - 1 - ); - const body = parseFunctionBody( - parser, - context & ~(0x8001000 | 8192 | 4096 | 131072 | 16384), - scope ? addChildScope(scope, 128) : scope, - 0, - firstRestricted, - void 0 - ); - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'FunctionExpression', - id, - params, - body, - async: isAsync === 1, - generator: isGenerator === 1 - }); - } - function parseArrayLiteral( - parser, - context, - skipInitializer, - inGroup, - start, - line, - column - ) { - const expr = parseArrayExpressionOrPattern( - parser, - context, - void 0, - skipInitializer, - inGroup, - 0, - 2, - 0, - start, - line, - column - ); - if (context & 256 && parser.destructible & 64) { - report(parser, 61); - } - if (parser.destructible & 8) { - report(parser, 60); - } - return expr; - } - function parseArrayExpressionOrPattern( - parser, - context, - scope, - skipInitializer, - inGroup, - isPattern, - kind, - origin, - start, - line, - column - ) { - nextToken(parser, context | 32768); - const elements = []; - let destructible = 0; - context = (context | 134217728) ^ 134217728; - while (parser.token !== 20) { - if (consumeOpt(parser, context | 32768, 18)) { - elements.push(null); - } else { - let left; - const { token, tokenPos, linePos, colPos, tokenValue } = - parser; - if (token & 143360) { - left = parsePrimaryExpression( - parser, - context, - kind, - 0, - 1, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - if (parser.token === 1077936157) { - if (parser.assignable & 2) report(parser, 24); - nextToken(parser, context | 32768); - if (scope) - addVarOrBlock( - parser, - context, - scope, - tokenValue, - kind, - origin - ); - const right = parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - left = finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - isPattern - ? { - type: 'AssignmentPattern', - left, - right - } - : { - type: 'AssignmentExpression', - operator: '=', - left, - right - } - ); - destructible |= - parser.destructible & 256 - ? 256 - : 0 | (parser.destructible & 128) - ? 128 - : 0; - } else if ( - parser.token === 18 || - parser.token === 20 - ) { - if (parser.assignable & 2) { - destructible |= 16; - } else if (scope) { - addVarOrBlock( - parser, - context, - scope, - tokenValue, - kind, - origin - ); - } - destructible |= - parser.destructible & 256 - ? 256 - : 0 | (parser.destructible & 128) - ? 128 - : 0; - } else { - destructible |= - kind & 1 ? 32 : (kind & 2) === 0 ? 16 : 0; - left = parseMemberOrUpdateExpression( - parser, - context, - left, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - if ( - parser.token !== 18 && - parser.token !== 20 - ) { - if (parser.token !== 1077936157) - destructible |= 16; - left = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - left - ); - } else if (parser.token !== 1077936157) { - destructible |= - parser.assignable & 2 ? 16 : 32; - } - } - } else if (token & 2097152) { - left = - parser.token === 2162700 - ? parseObjectLiteralOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ) - : parseArrayExpressionOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ); - destructible |= parser.destructible; - parser.assignable = - parser.destructible & 16 ? 2 : 1; - if (parser.token === 18 || parser.token === 20) { - if (parser.assignable & 2) { - destructible |= 16; - } - } else if (parser.destructible & 8) { - report(parser, 69); - } else { - left = parseMemberOrUpdateExpression( - parser, - context, - left, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible = parser.assignable & 2 ? 16 : 0; - if ( - parser.token !== 18 && - parser.token !== 20 - ) { - left = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - left - ); - } else if (parser.token !== 1077936157) { - destructible |= - parser.assignable & 2 ? 16 : 32; - } - } - } else if (token === 14) { - left = parseSpreadOrRestElement( - parser, - context, - scope, - 20, - kind, - origin, - 0, - inGroup, - isPattern, - tokenPos, - linePos, - colPos - ); - destructible |= parser.destructible; - if (parser.token !== 18 && parser.token !== 20) - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } else { - left = parseLeftHandSideExpression( - parser, - context, - 1, - 0, - 1, - tokenPos, - linePos, - colPos - ); - if (parser.token !== 18 && parser.token !== 20) { - left = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - left - ); - if ( - (kind & (2 | 1)) === 0 && - token === 67174411 - ) - destructible |= 16; - } else if (parser.assignable & 2) { - destructible |= 16; - } else if (token === 67174411) { - destructible |= - parser.assignable & 1 && kind & (2 | 1) - ? 32 - : 16; - } - } - elements.push(left); - if (consumeOpt(parser, context | 32768, 18)) { - if (parser.token === 20) break; - } else break; - } - } - consume(parser, context, 20); - const node = finishNode(parser, context, start, line, column, { - type: isPattern ? 'ArrayPattern' : 'ArrayExpression', - elements - }); - if (!skipInitializer && parser.token & 4194304) { - return parseArrayOrObjectAssignmentPattern( - parser, - context, - destructible, - inGroup, - isPattern, - start, - line, - column, - node - ); - } - parser.destructible = destructible; - return node; - } - function parseArrayOrObjectAssignmentPattern( - parser, - context, - destructible, - inGroup, - isPattern, - start, - line, - column, - node - ) { - if (parser.token !== 1077936157) report(parser, 24); - nextToken(parser, context | 32768); - if (destructible & 16) report(parser, 24); - if (!isPattern) reinterpretToPattern(parser, node); - const { tokenPos, linePos, colPos } = parser; - const right = parseExpression( - parser, - context, - 1, - inGroup, - tokenPos, - linePos, - colPos - ); - parser.destructible = - ((destructible | 64 | 8) ^ (8 | 64)) | - (parser.destructible & 128 ? 128 : 0) | - (parser.destructible & 256 ? 256 : 0); - return finishNode( - parser, - context, - start, - line, - column, - isPattern - ? { - type: 'AssignmentPattern', - left: node, - right - } - : { - type: 'AssignmentExpression', - left: node, - operator: '=', - right - } - ); - } - function parseSpreadOrRestElement( - parser, - context, - scope, - closingToken, - kind, - origin, - isAsync, - inGroup, - isPattern, - start, - line, - column - ) { - nextToken(parser, context | 32768); - let argument = null; - let destructible = 0; - let { token, tokenValue, tokenPos, linePos, colPos } = parser; - if (token & (4096 | 143360)) { - parser.assignable = 1; - argument = parsePrimaryExpression( - parser, - context, - kind, - 0, - 1, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - token = parser.token; - argument = parseMemberOrUpdateExpression( - parser, - context, - argument, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - if (parser.token !== 18 && parser.token !== closingToken) { - if ( - parser.assignable & 2 && - parser.token === 1077936157 - ) - report(parser, 69); - destructible |= 16; - argument = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - argument - ); - } - if (parser.assignable & 2) { - destructible |= 16; - } else if (token === closingToken || token === 18) { - if (scope) - addVarOrBlock( - parser, - context, - scope, - tokenValue, - kind, - origin - ); - } else { - destructible |= 32; - } - destructible |= parser.destructible & 128 ? 128 : 0; - } else if (token === closingToken) { - report(parser, 39); - } else if (token & 2097152) { - argument = - parser.token === 2162700 - ? parseObjectLiteralOrPattern( - parser, - context, - scope, - 1, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ) - : parseArrayExpressionOrPattern( - parser, - context, - scope, - 1, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ); - token = parser.token; - if ( - token !== 1077936157 && - token !== closingToken && - token !== 18 - ) { - if (parser.destructible & 8) report(parser, 69); - argument = parseMemberOrUpdateExpression( - parser, - context, - argument, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible |= parser.assignable & 2 ? 16 : 0; - if ((parser.token & 4194304) === 4194304) { - if (parser.token !== 1077936157) destructible |= 16; - argument = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - argument - ); - } else { - if ((parser.token & 8454144) === 8454144) { - argument = parseBinaryExpression( - parser, - context, - 1, - tokenPos, - linePos, - colPos, - 4, - token, - argument - ); - } - if (consumeOpt(parser, context | 32768, 22)) { - argument = parseConditionalExpression( - parser, - context, - argument, - tokenPos, - linePos, - colPos - ); - } - destructible |= parser.assignable & 2 ? 16 : 32; - } - } else { - destructible |= - closingToken === 1074790415 && token !== 1077936157 - ? 16 - : parser.destructible; - } - } else { - destructible |= 32; - argument = parseLeftHandSideExpression( - parser, - context, - 1, - inGroup, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - const { token, tokenPos, linePos, colPos } = parser; - if ( - token === 1077936157 && - token !== closingToken && - token !== 18 - ) { - if (parser.assignable & 2) report(parser, 24); - argument = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - argument - ); - destructible |= 16; - } else { - if (token === 18) { - destructible |= 16; - } else if (token !== closingToken) { - argument = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - argument - ); - } - destructible |= parser.assignable & 1 ? 32 : 16; - } - parser.destructible = destructible; - if (parser.token !== closingToken && parser.token !== 18) - report(parser, 156); - return finishNode(parser, context, start, line, column, { - type: isPattern ? 'RestElement' : 'SpreadElement', - argument: argument - }); - } - if (parser.token !== closingToken) { - if (kind & 1) destructible |= isAsync ? 16 : 32; - if (consumeOpt(parser, context | 32768, 1077936157)) { - if (destructible & 16) report(parser, 24); - reinterpretToPattern(parser, argument); - const right = parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - argument = finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - isPattern - ? { - type: 'AssignmentPattern', - left: argument, - right - } - : { - type: 'AssignmentExpression', - left: argument, - operator: '=', - right - } - ); - destructible = 16; - } else { - destructible |= 16; - } - } - parser.destructible = destructible; - return finishNode(parser, context, start, line, column, { - type: isPattern ? 'RestElement' : 'SpreadElement', - argument: argument - }); - } - function parseMethodDefinition( - parser, - context, - kind, - inGroup, - start, - line, - column - ) { - const modifierFlags = (kind & 64) === 0 ? 31981568 : 14680064; - context = - ((context | modifierFlags) ^ modifierFlags) | - ((kind & 88) << 18) | - 100925440; - let scope = - context & 64 ? addChildScope(createScope(), 512) : void 0; - const params = parseMethodFormals( - parser, - context | 8388608, - scope, - kind, - 1, - inGroup - ); - if (scope) scope = addChildScope(scope, 128); - const body = parseFunctionBody( - parser, - context & ~(0x8001000 | 8192), - scope, - 0, - void 0, - void 0 - ); - return finishNode(parser, context, start, line, column, { - type: 'FunctionExpression', - params, - body, - async: (kind & 16) > 0, - generator: (kind & 8) > 0, - id: null - }); - } - function parseObjectLiteral( - parser, - context, - skipInitializer, - inGroup, - start, - line, - column - ) { - const expr = parseObjectLiteralOrPattern( - parser, - context, - void 0, - skipInitializer, - inGroup, - 0, - 2, - 0, - start, - line, - column - ); - if (context & 256 && parser.destructible & 64) { - report(parser, 61); - } - if (parser.destructible & 8) { - report(parser, 60); - } - return expr; - } - function parseObjectLiteralOrPattern( - parser, - context, - scope, - skipInitializer, - inGroup, - isPattern, - kind, - origin, - start, - line, - column - ) { - nextToken(parser, context); - const properties = []; - let destructible = 0; - let prototypeCount = 0; - context = (context | 134217728) ^ 134217728; - while (parser.token !== 1074790415) { - const { token, tokenValue, linePos, colPos, tokenPos } = - parser; - if (token === 14) { - properties.push( - parseSpreadOrRestElement( - parser, - context, - scope, - 1074790415, - kind, - origin, - 0, - inGroup, - isPattern, - tokenPos, - linePos, - colPos - ) - ); - } else { - let state = 0; - let key = null; - let value; - const t = parser.token; - if ( - parser.token & (143360 | 4096) || - parser.token === 121 - ) { - key = parseIdentifier(parser, context); - if ( - parser.token === 18 || - parser.token === 1074790415 || - parser.token === 1077936157 - ) { - state |= 4; - if ( - context & 1024 && - (token & 537079808) === 537079808 - ) { - destructible |= 16; - } else { - validateBindingIdentifier( - parser, - context, - kind, - token, - 0 - ); - } - if (scope) - addVarOrBlock( - parser, - context, - scope, - tokenValue, - kind, - origin - ); - if ( - consumeOpt( - parser, - context | 32768, - 1077936157 - ) - ) { - destructible |= 8; - const right = parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - destructible |= - parser.destructible & 256 - ? 256 - : 0 | (parser.destructible & 128) - ? 128 - : 0; - value = finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - { - type: 'AssignmentPattern', - left: - context & 536870912 - ? Object.assign({}, key) - : key, - right - } - ); - } else { - destructible |= - (token === 209008 ? 128 : 0) | - (token === 121 ? 16 : 0); - value = - context & 536870912 - ? Object.assign({}, key) - : key; - } - } else if ( - consumeOpt(parser, context | 32768, 21) - ) { - const { tokenPos, linePos, colPos } = parser; - if (tokenValue === '__proto__') - prototypeCount++; - if (parser.token & 143360) { - const tokenAfterColon = parser.token; - const valueAfterColon = parser.tokenValue; - destructible |= t === 121 ? 16 : 0; - value = parsePrimaryExpression( - parser, - context, - kind, - 0, - 1, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - const { token } = parser; - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if ( - token === 1077936157 || - token === 1074790415 || - token === 18 - ) { - destructible |= - parser.destructible & 128 - ? 128 - : 0; - if (parser.assignable & 2) { - destructible |= 16; - } else if ( - scope && - (tokenAfterColon & 143360) === - 143360 - ) { - addVarOrBlock( - parser, - context, - scope, - valueAfterColon, - kind, - origin - ); - } - } else { - destructible |= - parser.assignable & 1 ? 32 : 16; - } - } else if ( - (parser.token & 4194304) === - 4194304 - ) { - if (parser.assignable & 2) { - destructible |= 16; - } else if (token !== 1077936157) { - destructible |= 32; - } else if (scope) { - addVarOrBlock( - parser, - context, - scope, - valueAfterColon, - kind, - origin - ); - } - value = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } else { - destructible |= 16; - if ( - (parser.token & 8454144) === - 8454144 - ) { - value = parseBinaryExpression( - parser, - context, - 1, - tokenPos, - linePos, - colPos, - 4, - token, - value - ); - } - if ( - consumeOpt( - parser, - context | 32768, - 22 - ) - ) { - value = parseConditionalExpression( - parser, - context, - value, - tokenPos, - linePos, - colPos - ); - } - } - } else if ( - (parser.token & 2097152) === - 2097152 - ) { - value = - parser.token === 69271571 - ? parseArrayExpressionOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ) - : parseObjectLiteralOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ); - destructible = parser.destructible; - parser.assignable = - destructible & 16 ? 2 : 1; - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if (parser.assignable & 2) - destructible |= 16; - } else if (parser.destructible & 8) { - report(parser, 69); - } else { - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible = - parser.assignable & 2 ? 16 : 0; - if ( - (parser.token & 4194304) === - 4194304 - ) { - value = - parseAssignmentExpressionOrPattern( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } else { - if ( - (parser.token & 8454144) === - 8454144 - ) { - value = parseBinaryExpression( - parser, - context, - 1, - tokenPos, - linePos, - colPos, - 4, - token, - value - ); - } - if ( - consumeOpt( - parser, - context | 32768, - 22 - ) - ) { - value = - parseConditionalExpression( - parser, - context, - value, - tokenPos, - linePos, - colPos - ); - } - destructible |= - parser.assignable & 2 ? 16 : 32; - } - } - } else { - value = parseLeftHandSideExpression( - parser, - context, - 1, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - destructible |= - parser.assignable & 1 ? 32 : 16; - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if (parser.assignable & 2) - destructible |= 16; - } else { - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible = - parser.assignable & 2 ? 16 : 0; - if ( - parser.token !== 18 && - token !== 1074790415 - ) { - if (parser.token !== 1077936157) - destructible |= 16; - value = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } - } - } - } else if (parser.token === 69271571) { - destructible |= 16; - if (token === 209007) state |= 16; - state |= - (token === 12402 - ? 256 - : token === 12403 - ? 512 - : 1) | 2; - key = parseComputedPropertyName( - parser, - context, - inGroup - ); - destructible |= parser.assignable; - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else if (parser.token & (143360 | 4096)) { - destructible |= 16; - if (token === 121) report(parser, 93); - if (token === 209007) { - if (parser.flags & 1) report(parser, 129); - state |= 16; - } - key = parseIdentifier(parser, context); - state |= - token === 12402 - ? 256 - : token === 12403 - ? 512 - : 1; - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else if (parser.token === 67174411) { - destructible |= 16; - state |= 1; - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else if (parser.token === 8457014) { - destructible |= 16; - if (token === 12402) { - report(parser, 40); - } else if (token === 12403) { - report(parser, 41); - } else if (token === 143483) { - report(parser, 93); - } - nextToken(parser, context); - state |= 8 | 1 | (token === 209007 ? 16 : 0); - if (parser.token & 143360) { - key = parseIdentifier(parser, context); - } else if ( - (parser.token & 134217728) === - 134217728 - ) { - key = parseLiteral(parser, context); - } else if (parser.token === 69271571) { - state |= 2; - key = parseComputedPropertyName( - parser, - context, - inGroup - ); - destructible |= parser.assignable; - } else { - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else if ( - (parser.token & 134217728) === - 134217728 - ) { - if (token === 209007) state |= 16; - state |= - token === 12402 - ? 256 - : token === 12403 - ? 512 - : 1; - destructible |= 16; - key = parseLiteral(parser, context); - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else { - report(parser, 130); - } - } else if ((parser.token & 134217728) === 134217728) { - key = parseLiteral(parser, context); - if (parser.token === 21) { - consume(parser, context | 32768, 21); - const { tokenPos, linePos, colPos } = parser; - if (tokenValue === '__proto__') - prototypeCount++; - if (parser.token & 143360) { - value = parsePrimaryExpression( - parser, - context, - kind, - 0, - 1, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - const { - token, - tokenValue: valueAfterColon - } = parser; - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if ( - token === 1077936157 || - token === 1074790415 || - token === 18 - ) { - if (parser.assignable & 2) { - destructible |= 16; - } else if (scope) { - addVarOrBlock( - parser, - context, - scope, - valueAfterColon, - kind, - origin - ); - } - } else { - destructible |= - parser.assignable & 1 ? 32 : 16; - } - } else if (parser.token === 1077936157) { - if (parser.assignable & 2) - destructible |= 16; - value = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } else { - destructible |= 16; - value = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } - } else if ( - (parser.token & 2097152) === - 2097152 - ) { - value = - parser.token === 69271571 - ? parseArrayExpressionOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ) - : parseObjectLiteralOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ); - destructible = parser.destructible; - parser.assignable = - destructible & 16 ? 2 : 1; - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if (parser.assignable & 2) { - destructible |= 16; - } - } else if ( - (parser.destructible & 8) !== - 8 - ) { - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible = - parser.assignable & 2 ? 16 : 0; - if ( - (parser.token & 4194304) === - 4194304 - ) { - value = - parseAssignmentExpressionOrPattern( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } else { - if ( - (parser.token & 8454144) === - 8454144 - ) { - value = parseBinaryExpression( - parser, - context, - 1, - tokenPos, - linePos, - colPos, - 4, - token, - value - ); - } - if ( - consumeOpt( - parser, - context | 32768, - 22 - ) - ) { - value = - parseConditionalExpression( - parser, - context, - value, - tokenPos, - linePos, - colPos - ); - } - destructible |= - parser.assignable & 2 ? 16 : 32; - } - } - } else { - value = parseLeftHandSideExpression( - parser, - context, - 1, - 0, - 1, - tokenPos, - linePos, - colPos - ); - destructible |= - parser.assignable & 1 ? 32 : 16; - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if (parser.assignable & 2) { - destructible |= 16; - } - } else { - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible = - parser.assignable & 1 ? 0 : 16; - if ( - parser.token !== 18 && - parser.token !== 1074790415 - ) { - if (parser.token !== 1077936157) - destructible |= 16; - value = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } - } - } - } else if (parser.token === 67174411) { - state |= 1; - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - destructible = parser.assignable | 16; - } else { - report(parser, 131); - } - } else if (parser.token === 69271571) { - key = parseComputedPropertyName( - parser, - context, - inGroup - ); - destructible |= parser.destructible & 256 ? 256 : 0; - state |= 2; - if (parser.token === 21) { - nextToken(parser, context | 32768); - const { - tokenPos, - linePos, - colPos, - tokenValue, - token: tokenAfterColon - } = parser; - if (parser.token & 143360) { - value = parsePrimaryExpression( - parser, - context, - kind, - 0, - 1, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - const { token } = parser; - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - if ((parser.token & 4194304) === 4194304) { - destructible |= - parser.assignable & 2 - ? 16 - : token === 1077936157 - ? 0 - : 32; - value = - parseAssignmentExpressionOrPattern( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } else if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if ( - token === 1077936157 || - token === 1074790415 || - token === 18 - ) { - if (parser.assignable & 2) { - destructible |= 16; - } else if ( - scope && - (tokenAfterColon & 143360) === - 143360 - ) { - addVarOrBlock( - parser, - context, - scope, - tokenValue, - kind, - origin - ); - } - } else { - destructible |= - parser.assignable & 1 ? 32 : 16; - } - } else { - destructible |= 16; - value = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } - } else if ( - (parser.token & 2097152) === - 2097152 - ) { - value = - parser.token === 69271571 - ? parseArrayExpressionOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ) - : parseObjectLiteralOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ); - destructible = parser.destructible; - parser.assignable = - destructible & 16 ? 2 : 1; - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if (parser.assignable & 2) - destructible |= 16; - } else if (destructible & 8) { - report(parser, 60); - } else { - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible = - parser.assignable & 2 - ? destructible | 16 - : 0; - if ( - (parser.token & 4194304) === - 4194304 - ) { - if (parser.token !== 1077936157) - destructible |= 16; - value = - parseAssignmentExpressionOrPattern( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } else { - if ( - (parser.token & 8454144) === - 8454144 - ) { - value = parseBinaryExpression( - parser, - context, - 1, - tokenPos, - linePos, - colPos, - 4, - token, - value - ); - } - if ( - consumeOpt( - parser, - context | 32768, - 22 - ) - ) { - value = - parseConditionalExpression( - parser, - context, - value, - tokenPos, - linePos, - colPos - ); - } - destructible |= - parser.assignable & 2 ? 16 : 32; - } - } - } else { - value = parseLeftHandSideExpression( - parser, - context, - 1, - 0, - 1, - tokenPos, - linePos, - colPos - ); - destructible |= - parser.assignable & 1 ? 32 : 16; - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if (parser.assignable & 2) - destructible |= 16; - } else { - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible = - parser.assignable & 1 ? 0 : 16; - if ( - parser.token !== 18 && - parser.token !== 1074790415 - ) { - if (parser.token !== 1077936157) - destructible |= 16; - value = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } - } - } - } else if (parser.token === 67174411) { - state |= 1; - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - linePos, - colPos - ); - destructible = 16; - } else { - report(parser, 42); - } - } else if (token === 8457014) { - consume(parser, context | 32768, 8457014); - state |= 8; - if (parser.token & 143360) { - const { token, line, index } = parser; - key = parseIdentifier(parser, context); - state |= 1; - if (parser.token === 67174411) { - destructible |= 16; - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else { - reportMessageAt( - index, - line, - index, - token === 209007 - ? 44 - : token === 12402 || - parser.token === 12403 - ? 43 - : 45, - KeywordDescTable[token & 255] - ); - } - } else if ( - (parser.token & 134217728) === - 134217728 - ) { - destructible |= 16; - key = parseLiteral(parser, context); - state |= 1; - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - tokenPos, - linePos, - colPos - ); - } else if (parser.token === 69271571) { - destructible |= 16; - state |= 2 | 1; - key = parseComputedPropertyName( - parser, - context, - inGroup - ); - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else { - report(parser, 123); - } - } else { - report(parser, 28, KeywordDescTable[token & 255]); - } - destructible |= parser.destructible & 128 ? 128 : 0; - parser.destructible = destructible; - properties.push( - finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - { - type: 'Property', - key: key, - value, - kind: !(state & 768) - ? 'init' - : state & 512 - ? 'set' - : 'get', - computed: (state & 2) > 0, - method: (state & 1) > 0, - shorthand: (state & 4) > 0 - } - ) - ); - } - destructible |= parser.destructible; - if (parser.token !== 18) break; - nextToken(parser, context); - } - consume(parser, context, 1074790415); - if (prototypeCount > 1) destructible |= 64; - const node = finishNode(parser, context, start, line, column, { - type: isPattern ? 'ObjectPattern' : 'ObjectExpression', - properties - }); - if (!skipInitializer && parser.token & 4194304) { - return parseArrayOrObjectAssignmentPattern( - parser, - context, - destructible, - inGroup, - isPattern, - start, - line, - column, - node - ); - } - parser.destructible = destructible; - return node; - } - function parseMethodFormals( - parser, - context, - scope, - kind, - type, - inGroup - ) { - consume(parser, context, 67174411); - const params = []; - parser.flags = (parser.flags | 128) ^ 128; - if (parser.token === 16) { - if (kind & 512) { - report(parser, 35, 'Setter', 'one', ''); - } - nextToken(parser, context); - return params; - } - if (kind & 256) { - report(parser, 35, 'Getter', 'no', 's'); - } - if (kind & 512 && parser.token === 14) { - report(parser, 36); - } - context = (context | 134217728) ^ 134217728; - let setterArgs = 0; - let isSimpleParameterList = 0; - while (parser.token !== 18) { - let left = null; - const { tokenPos, linePos, colPos } = parser; - if (parser.token & 143360) { - if ((context & 1024) === 0) { - if ((parser.token & 36864) === 36864) { - parser.flags |= 256; - } - if ((parser.token & 537079808) === 537079808) { - parser.flags |= 512; - } - } - left = parseAndClassifyIdentifier( - parser, - context, - scope, - kind | 1, - 0, - tokenPos, - linePos, - colPos - ); - } else { - if (parser.token === 2162700) { - left = parseObjectLiteralOrPattern( - parser, - context, - scope, - 1, - inGroup, - 1, - type, - 0, - tokenPos, - linePos, - colPos - ); - } else if (parser.token === 69271571) { - left = parseArrayExpressionOrPattern( - parser, - context, - scope, - 1, - inGroup, - 1, - type, - 0, - tokenPos, - linePos, - colPos - ); - } else if (parser.token === 14) { - left = parseSpreadOrRestElement( - parser, - context, - scope, - 16, - type, - 0, - 0, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - } - isSimpleParameterList = 1; - if (parser.destructible & (32 | 16)) report(parser, 48); - } - if (parser.token === 1077936157) { - nextToken(parser, context | 32768); - isSimpleParameterList = 1; - const right = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - left = finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - { - type: 'AssignmentPattern', - left: left, - right - } - ); - } - setterArgs++; - params.push(left); - if (!consumeOpt(parser, context, 18)) break; - if (parser.token === 16) { - break; - } - } - if (kind & 512 && setterArgs !== 1) { - report(parser, 35, 'Setter', 'one', ''); - } - if (scope && scope.scopeError !== void 0) - reportScopeError(scope.scopeError); - if (isSimpleParameterList) parser.flags |= 128; - consume(parser, context, 16); - return params; - } - function parseComputedPropertyName(parser, context, inGroup) { - nextToken(parser, context | 32768); - const key = parseExpression( - parser, - (context | 134217728) ^ 134217728, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context, 20); - return key; - } - function parseParenthesizedExpression( - parser, - context, - canAssign, - kind, - origin, - start, - line, - column - ) { - parser.flags = (parser.flags | 128) ^ 128; - const { - tokenPos: piStart, - linePos: plStart, - colPos: pcStart - } = parser; - nextToken(parser, context | 32768 | 268435456); - const scope = - context & 64 ? addChildScope(createScope(), 1024) : void 0; - context = (context | 134217728) ^ 134217728; - if (consumeOpt(parser, context, 16)) { - return parseParenthesizedArrow( - parser, - context, - scope, - [], - canAssign, - 0, - start, - line, - column - ); - } - let destructible = 0; - parser.destructible &= ~(256 | 128); - let expr; - let expressions = []; - let isSequence = 0; - let isSimpleParameterList = 0; - const { - tokenPos: iStart, - linePos: lStart, - colPos: cStart - } = parser; - parser.assignable = 1; - while (parser.token !== 16) { - const { token, tokenPos, linePos, colPos } = parser; - if (token & (143360 | 4096)) { - if (scope) - addBlockName( - parser, - context, - scope, - parser.tokenValue, - 1, - 0 - ); - expr = parsePrimaryExpression( - parser, - context, - kind, - 0, - 1, - 1, - 1, - tokenPos, - linePos, - colPos - ); - if (parser.token === 16 || parser.token === 18) { - if (parser.assignable & 2) { - destructible |= 16; - isSimpleParameterList = 1; - } else if ( - (token & 537079808) === 537079808 || - (token & 36864) === 36864 - ) { - isSimpleParameterList = 1; - } - } else { - if (parser.token === 1077936157) { - isSimpleParameterList = 1; - } else { - destructible |= 16; - } - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 1, - 0, - tokenPos, - linePos, - colPos - ); - if (parser.token !== 16 && parser.token !== 18) { - expr = parseAssignmentExpression( - parser, - context, - 1, - 0, - tokenPos, - linePos, - colPos, - expr - ); - } - } - } else if ((token & 2097152) === 2097152) { - expr = - token === 2162700 - ? parseObjectLiteralOrPattern( - parser, - context | 268435456, - scope, - 0, - 1, - 0, - kind, - origin, - tokenPos, - linePos, - colPos - ) - : parseArrayExpressionOrPattern( - parser, - context | 268435456, - scope, - 0, - 1, - 0, - kind, - origin, - tokenPos, - linePos, - colPos - ); - destructible |= parser.destructible; - isSimpleParameterList = 1; - parser.assignable = 2; - if (parser.token !== 16 && parser.token !== 18) { - if (destructible & 8) report(parser, 119); - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 0, - tokenPos, - linePos, - colPos - ); - destructible |= 16; - if (parser.token !== 16 && parser.token !== 18) { - expr = parseAssignmentExpression( - parser, - context, - 0, - 0, - tokenPos, - linePos, - colPos, - expr - ); - } - } - } else if (token === 14) { - expr = parseSpreadOrRestElement( - parser, - context, - scope, - 16, - kind, - origin, - 0, - 1, - 0, - tokenPos, - linePos, - colPos - ); - if (parser.destructible & 16) report(parser, 72); - isSimpleParameterList = 1; - if ( - isSequence && - (parser.token === 16 || parser.token === 18) - ) { - expressions.push(expr); - } - destructible |= 8; - break; - } else { - destructible |= 16; - expr = parseExpression( - parser, - context, - 1, - 1, - tokenPos, - linePos, - colPos - ); - if ( - isSequence && - (parser.token === 16 || parser.token === 18) - ) { - expressions.push(expr); - } - if (parser.token === 18) { - if (!isSequence) { - isSequence = 1; - expressions = [expr]; - } - } - if (isSequence) { - while (consumeOpt(parser, context | 32768, 18)) { - expressions.push( - parseExpression( - parser, - context, - 1, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - parser.assignable = 2; - expr = finishNode( - parser, - context, - iStart, - lStart, - cStart, - { - type: 'SequenceExpression', - expressions - } - ); - } - consume(parser, context, 16); - parser.destructible = destructible; - return expr; - } - if ( - isSequence && - (parser.token === 16 || parser.token === 18) - ) { - expressions.push(expr); - } - if (!consumeOpt(parser, context | 32768, 18)) break; - if (!isSequence) { - isSequence = 1; - expressions = [expr]; - } - if (parser.token === 16) { - destructible |= 8; - break; - } - } - if (isSequence) { - parser.assignable = 2; - expr = finishNode(parser, context, iStart, lStart, cStart, { - type: 'SequenceExpression', - expressions - }); - } - consume(parser, context, 16); - if (destructible & 16 && destructible & 8) report(parser, 146); - destructible |= - parser.destructible & 256 - ? 256 - : 0 | (parser.destructible & 128) - ? 128 - : 0; - if (parser.token === 10) { - if (destructible & (32 | 16)) report(parser, 47); - if (context & (4194304 | 2048) && destructible & 128) - report(parser, 29); - if (context & (1024 | 2097152) && destructible & 256) { - report(parser, 30); - } - if (isSimpleParameterList) parser.flags |= 128; - return parseParenthesizedArrow( - parser, - context, - scope, - isSequence ? expressions : [expr], - canAssign, - 0, - start, - line, - column - ); - } else if (destructible & 8) { - report(parser, 140); - } - parser.destructible = - ((parser.destructible | 256) ^ 256) | destructible; - return context & 128 - ? finishNode(parser, context, piStart, plStart, pcStart, { - type: 'ParenthesizedExpression', - expression: expr - }) - : expr; - } - function parseIdentifierOrArrow( - parser, - context, - start, - line, - column - ) { - const { tokenValue } = parser; - const expr = parseIdentifier(parser, context); - parser.assignable = 1; - if (parser.token === 10) { - let scope = void 0; - if (context & 64) - scope = createArrowHeadParsingScope( - parser, - context, - tokenValue - ); - parser.flags = (parser.flags | 128) ^ 128; - return parseArrowFunctionExpression( - parser, - context, - scope, - [expr], - 0, - start, - line, - column - ); - } - return expr; - } - function parseArrowFromIdentifier( - parser, - context, - value, - expr, - inNew, - canAssign, - isAsync, - start, - line, - column - ) { - if (!canAssign) report(parser, 55); - if (inNew) report(parser, 49); - parser.flags &= ~128; - const scope = - context & 64 - ? createArrowHeadParsingScope(parser, context, value) - : void 0; - return parseArrowFunctionExpression( - parser, - context, - scope, - [expr], - isAsync, - start, - line, - column - ); - } - function parseParenthesizedArrow( - parser, - context, - scope, - params, - canAssign, - isAsync, - start, - line, - column - ) { - if (!canAssign) report(parser, 55); - for (let i = 0; i < params.length; ++i) - reinterpretToPattern(parser, params[i]); - return parseArrowFunctionExpression( - parser, - context, - scope, - params, - isAsync, - start, - line, - column - ); - } - function parseArrowFunctionExpression( - parser, - context, - scope, - params, - isAsync, - start, - line, - column - ) { - if (parser.flags & 1) report(parser, 46); - consume(parser, context | 32768, 10); - context = ((context | 15728640) ^ 15728640) | (isAsync << 22); - const expression = parser.token !== 2162700; - let body; - if (scope && scope.scopeError !== void 0) { - reportScopeError(scope.scopeError); - } - if (expression) { - body = parseExpression( - parser, - context & 16384 ? context | 33554432 : context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else { - if (scope) scope = addChildScope(scope, 128); - body = parseFunctionBody( - parser, - (context | 134221824 | 8192 | 16384) ^ - (134221824 | 8192 | 16384), - scope, - 16, - void 0, - void 0 - ); - switch (parser.token) { - case 69271571: - if ((parser.flags & 1) === 0) { - report(parser, 113); - } - break; - case 67108877: - case 67174409: - case 22: - report(parser, 114); - case 67174411: - if ((parser.flags & 1) === 0) { - report(parser, 113); - } - parser.flags |= 1024; - break; - } - if ( - (parser.token & 8454144) === 8454144 && - (parser.flags & 1) === 0 - ) - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - if ((parser.token & 33619968) === 33619968) - report(parser, 122); - } - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'ArrowFunctionExpression', - params, - body, - async: isAsync === 1, - expression - }); - } - function parseFormalParametersOrFormalList( - parser, - context, - scope, - inGroup, - kind - ) { - consume(parser, context, 67174411); - parser.flags = (parser.flags | 128) ^ 128; - const params = []; - if (consumeOpt(parser, context, 16)) return params; - context = (context | 134217728) ^ 134217728; - let isSimpleParameterList = 0; - while (parser.token !== 18) { - let left; - const { tokenPos, linePos, colPos } = parser; - if (parser.token & 143360) { - if ((context & 1024) === 0) { - if ((parser.token & 36864) === 36864) { - parser.flags |= 256; - } - if ((parser.token & 537079808) === 537079808) { - parser.flags |= 512; - } - } - left = parseAndClassifyIdentifier( - parser, - context, - scope, - kind | 1, - 0, - tokenPos, - linePos, - colPos - ); - } else { - if (parser.token === 2162700) { - left = parseObjectLiteralOrPattern( - parser, - context, - scope, - 1, - inGroup, - 1, - kind, - 0, - tokenPos, - linePos, - colPos - ); - } else if (parser.token === 69271571) { - left = parseArrayExpressionOrPattern( - parser, - context, - scope, - 1, - inGroup, - 1, - kind, - 0, - tokenPos, - linePos, - colPos - ); - } else if (parser.token === 14) { - left = parseSpreadOrRestElement( - parser, - context, - scope, - 16, - kind, - 0, - 0, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - } else { - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } - isSimpleParameterList = 1; - if (parser.destructible & (32 | 16)) { - report(parser, 48); - } - } - if (parser.token === 1077936157) { - nextToken(parser, context | 32768); - isSimpleParameterList = 1; - const right = parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - left = finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - { - type: 'AssignmentPattern', - left, - right - } - ); - } - params.push(left); - if (!consumeOpt(parser, context, 18)) break; - if (parser.token === 16) { - break; - } - } - if (isSimpleParameterList) parser.flags |= 128; - if ( - scope && - (isSimpleParameterList || context & 1024) && - scope.scopeError !== void 0 - ) { - reportScopeError(scope.scopeError); - } - consume(parser, context, 16); - return params; - } - function parseMembeExpressionNoCall( - parser, - context, - expr, - inGroup, - start, - line, - column - ) { - const { token } = parser; - if (token & 67108864) { - if (token === 67108877) { - nextToken(parser, context | 268435456); - parser.assignable = 1; - const property = parsePropertyOrPrivatePropertyName( - parser, - context - ); - return parseMembeExpressionNoCall( - parser, - context, - finishNode(parser, context, start, line, column, { - type: 'MemberExpression', - object: expr, - computed: false, - property - }), - 0, - start, - line, - column - ); - } else if (token === 69271571) { - nextToken(parser, context | 32768); - const { tokenPos, linePos, colPos } = parser; - const property = parseExpressions( - parser, - context, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - consume(parser, context, 20); - parser.assignable = 1; - return parseMembeExpressionNoCall( - parser, - context, - finishNode(parser, context, start, line, column, { - type: 'MemberExpression', - object: expr, - computed: true, - property - }), - 0, - start, - line, - column - ); - } else if (token === 67174408 || token === 67174409) { - parser.assignable = 2; - return parseMembeExpressionNoCall( - parser, - context, - finishNode(parser, context, start, line, column, { - type: 'TaggedTemplateExpression', - tag: expr, - quasi: - parser.token === 67174408 - ? parseTemplate(parser, context | 65536) - : parseTemplateLiteral( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - }), - 0, - start, - line, - column - ); - } - } - return expr; - } - function parseNewExpression( - parser, - context, - inGroup, - start, - line, - column - ) { - const id = parseIdentifier(parser, context | 32768); - const { tokenPos, linePos, colPos } = parser; - if (consumeOpt(parser, context, 67108877)) { - if (context & 67108864 && parser.token === 143494) { - parser.assignable = 2; - return parseMetaProperty( - parser, - context, - id, - start, - line, - column - ); - } - report(parser, 92); - } - parser.assignable = 2; - if ((parser.token & 16842752) === 16842752) { - report(parser, 63, KeywordDescTable[parser.token & 255]); - } - const expr = parsePrimaryExpression( - parser, - context, - 2, - 1, - 0, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - context = (context | 134217728) ^ 134217728; - if (parser.token === 67108991) report(parser, 163); - const callee = parseMembeExpressionNoCall( - parser, - context, - expr, - inGroup, - tokenPos, - linePos, - colPos - ); - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'NewExpression', - callee, - arguments: - parser.token === 67174411 - ? parseArguments(parser, context, inGroup) - : [] - }); - } - function parseMetaProperty( - parser, - context, - meta, - start, - line, - column - ) { - const property = parseIdentifier(parser, context); - return finishNode(parser, context, start, line, column, { - type: 'MetaProperty', - meta, - property - }); - } - function parseAsyncArrowAfterIdent( - parser, - context, - canAssign, - start, - line, - column - ) { - if (parser.token === 209008) report(parser, 29); - if (context & (1024 | 2097152) && parser.token === 241773) { - report(parser, 30); - } - if ((parser.token & 537079808) === 537079808) { - parser.flags |= 512; - } - return parseArrowFromIdentifier( - parser, - context, - parser.tokenValue, - parseIdentifier(parser, context), - 0, - canAssign, - 1, - start, - line, - column - ); - } - function parseAsyncArrowOrCallExpression( - parser, - context, - callee, - canAssign, - kind, - origin, - flags, - start, - line, - column - ) { - nextToken(parser, context | 32768); - const scope = - context & 64 ? addChildScope(createScope(), 1024) : void 0; - context = (context | 134217728) ^ 134217728; - if (consumeOpt(parser, context, 16)) { - if (parser.token === 10) { - if (flags & 1) report(parser, 46); - return parseParenthesizedArrow( - parser, - context, - scope, - [], - canAssign, - 1, - start, - line, - column - ); - } - return finishNode(parser, context, start, line, column, { - type: 'CallExpression', - callee, - arguments: [] - }); - } - let destructible = 0; - let expr = null; - let isSimpleParameterList = 0; - parser.destructible = - (parser.destructible | 256 | 128) ^ (256 | 128); - const params = []; - while (parser.token !== 16) { - const { token, tokenPos, linePos, colPos } = parser; - if (token & (143360 | 4096)) { - if (scope) - addBlockName( - parser, - context, - scope, - parser.tokenValue, - kind, - 0 - ); - expr = parsePrimaryExpression( - parser, - context, - kind, - 0, - 1, - 1, - 1, - tokenPos, - linePos, - colPos - ); - if (parser.token === 16 || parser.token === 18) { - if (parser.assignable & 2) { - destructible |= 16; - isSimpleParameterList = 1; - } else if ((token & 537079808) === 537079808) { - parser.flags |= 512; - } else if ((token & 36864) === 36864) { - parser.flags |= 256; - } - } else { - if (parser.token === 1077936157) { - isSimpleParameterList = 1; - } else { - destructible |= 16; - } - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 1, - 0, - tokenPos, - linePos, - colPos - ); - if (parser.token !== 16 && parser.token !== 18) { - expr = parseAssignmentExpression( - parser, - context, - 1, - 0, - tokenPos, - linePos, - colPos, - expr - ); - } - } - } else if (token & 2097152) { - expr = - token === 2162700 - ? parseObjectLiteralOrPattern( - parser, - context, - scope, - 0, - 1, - 0, - kind, - origin, - tokenPos, - linePos, - colPos - ) - : parseArrayExpressionOrPattern( - parser, - context, - scope, - 0, - 1, - 0, - kind, - origin, - tokenPos, - linePos, - colPos - ); - destructible |= parser.destructible; - isSimpleParameterList = 1; - if (parser.token !== 16 && parser.token !== 18) { - if (destructible & 8) report(parser, 119); - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 0, - tokenPos, - linePos, - colPos - ); - destructible |= 16; - if ((parser.token & 8454144) === 8454144) { - expr = parseBinaryExpression( - parser, - context, - 1, - start, - line, - column, - 4, - token, - expr - ); - } - if (consumeOpt(parser, context | 32768, 22)) { - expr = parseConditionalExpression( - parser, - context, - expr, - start, - line, - column - ); - } - } - } else if (token === 14) { - expr = parseSpreadOrRestElement( - parser, - context, - scope, - 16, - kind, - origin, - 1, - 1, - 0, - tokenPos, - linePos, - colPos - ); - destructible |= - (parser.token === 16 ? 0 : 16) | - parser.destructible; - isSimpleParameterList = 1; - } else { - expr = parseExpression( - parser, - context, - 1, - 0, - tokenPos, - linePos, - colPos - ); - destructible = parser.assignable; - params.push(expr); - while (consumeOpt(parser, context | 32768, 18)) { - params.push( - parseExpression( - parser, - context, - 1, - 0, - tokenPos, - linePos, - colPos - ) - ); - } - destructible |= parser.assignable; - consume(parser, context, 16); - parser.destructible = destructible | 16; - parser.assignable = 2; - return finishNode( - parser, - context, - start, - line, - column, - { - type: 'CallExpression', - callee, - arguments: params - } - ); - } - params.push(expr); - if (!consumeOpt(parser, context | 32768, 18)) break; - } - consume(parser, context, 16); - destructible |= - parser.destructible & 256 - ? 256 - : 0 | (parser.destructible & 128) - ? 128 - : 0; - if (parser.token === 10) { - if (destructible & (32 | 16)) report(parser, 25); - if (parser.flags & 1 || flags & 1) report(parser, 46); - if (destructible & 128) report(parser, 29); - if (context & (1024 | 2097152) && destructible & 256) - report(parser, 30); - if (isSimpleParameterList) parser.flags |= 128; - return parseParenthesizedArrow( - parser, - context, - scope, - params, - canAssign, - 1, - start, - line, - column - ); - } else if (destructible & 8) { - report(parser, 60); - } - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'CallExpression', - callee, - arguments: params - }); - } - function parseRegExpLiteral(parser, context, start, line, column) { - const { tokenRaw, tokenRegExp, tokenValue } = parser; - nextToken(parser, context); - parser.assignable = 2; - return context & 512 - ? finishNode(parser, context, start, line, column, { - type: 'Literal', - value: tokenValue, - regex: tokenRegExp, - raw: tokenRaw - }) - : finishNode(parser, context, start, line, column, { - type: 'Literal', - value: tokenValue, - regex: tokenRegExp - }); - } - function parseClassDeclaration( - parser, - context, - scope, - flags, - start, - line, - column - ) { - context = (context | 16777216 | 1024) ^ 16777216; - let decorators = parseDecorators(parser, context); - if (decorators.length) { - start = parser.tokenPos; - line = parser.linePos; - column = parser.colPos; - } - if (parser.leadingDecorators.length) { - parser.leadingDecorators.push(...decorators); - decorators = parser.leadingDecorators; - parser.leadingDecorators = []; - } - nextToken(parser, context); - let id = null; - let superClass = null; - const { tokenValue } = parser; - if (parser.token & 4096 && parser.token !== 20567) { - if (isStrictReservedWord(parser, context, parser.token)) { - report(parser, 115); - } - if ((parser.token & 537079808) === 537079808) { - report(parser, 116); - } - if (scope) { - addBlockName(parser, context, scope, tokenValue, 32, 0); - if (flags) { - if (flags & 2) { - declareUnboundVariable(parser, tokenValue); - } - } - } - id = parseIdentifier(parser, context); - } else { - if ((flags & 1) === 0) report(parser, 37, 'Class'); - } - let inheritedContext = context; - if (consumeOpt(parser, context | 32768, 20567)) { - superClass = parseLeftHandSideExpression( - parser, - context, - 0, - 0, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - inheritedContext |= 524288; - } else { - inheritedContext = (inheritedContext | 524288) ^ 524288; - } - const body = parseClassBody( - parser, - inheritedContext, - context, - scope, - 2, - 8, - 0 - ); - return finishNode( - parser, - context, - start, - line, - column, - context & 1 - ? { - type: 'ClassDeclaration', - id, - superClass, - decorators, - body - } - : { - type: 'ClassDeclaration', - id, - superClass, - body - } - ); - } - function parseClassExpression( - parser, - context, - inGroup, - start, - line, - column - ) { - let id = null; - let superClass = null; - context = (context | 1024 | 16777216) ^ 16777216; - const decorators = parseDecorators(parser, context); - if (decorators.length) { - start = parser.tokenPos; - line = parser.linePos; - column = parser.colPos; - } - nextToken(parser, context); - if (parser.token & 4096 && parser.token !== 20567) { - if (isStrictReservedWord(parser, context, parser.token)) - report(parser, 115); - if ((parser.token & 537079808) === 537079808) { - report(parser, 116); - } - id = parseIdentifier(parser, context); - } - let inheritedContext = context; - if (consumeOpt(parser, context | 32768, 20567)) { - superClass = parseLeftHandSideExpression( - parser, - context, - 0, - inGroup, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - inheritedContext |= 524288; - } else { - inheritedContext = (inheritedContext | 524288) ^ 524288; - } - const body = parseClassBody( - parser, - inheritedContext, - context, - void 0, - 2, - 0, - inGroup - ); - parser.assignable = 2; - return finishNode( - parser, - context, - start, - line, - column, - context & 1 - ? { - type: 'ClassExpression', - id, - superClass, - decorators, - body - } - : { - type: 'ClassExpression', - id, - superClass, - body - } - ); - } - function parseDecorators(parser, context) { - const list = []; - if (context & 1) { - while (parser.token === 133) { - list.push( - parseDecoratorList( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - } - return list; - } - function parseDecoratorList(parser, context, start, line, column) { - nextToken(parser, context | 32768); - let expression = parsePrimaryExpression( - parser, - context, - 2, - 0, - 1, - 0, - 1, - start, - line, - column - ); - expression = parseMemberOrUpdateExpression( - parser, - context, - expression, - 0, - 0, - start, - line, - column - ); - return finishNode(parser, context, start, line, column, { - type: 'Decorator', - expression - }); - } - function parseClassBody( - parser, - context, - inheritedContext, - scope, - kind, - origin, - inGroup - ) { - const { tokenPos, linePos, colPos } = parser; - consume(parser, context | 32768, 2162700); - context = (context | 134217728) ^ 134217728; - let hasConstr = parser.flags & 32; - parser.flags = (parser.flags | 32) ^ 32; - const body = []; - let decorators; - while (parser.token !== 1074790415) { - let length = 0; - decorators = parseDecorators(parser, context); - length = decorators.length; - if (length > 0 && parser.tokenValue === 'constructor') { - report(parser, 107); - } - if (parser.token === 1074790415) report(parser, 106); - if (consumeOpt(parser, context, 1074790417)) { - if (length > 0) report(parser, 117); - continue; - } - body.push( - parseClassElementList( - parser, - context, - scope, - inheritedContext, - kind, - decorators, - 0, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - consume( - parser, - origin & 8 ? context | 32768 : context, - 1074790415 - ); - parser.flags = (parser.flags & ~32) | hasConstr; - return finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'ClassBody', - body - }); - } - function parseClassElementList( - parser, - context, - scope, - inheritedContext, - type, - decorators, - isStatic, - inGroup, - start, - line, - column - ) { - let kind = isStatic ? 32 : 0; - let key = null; - const { token, tokenPos, linePos, colPos } = parser; - if (token & (143360 | 36864)) { - key = parseIdentifier(parser, context); - switch (token) { - case 36972: - if ( - !isStatic && - parser.token !== 67174411 && - (parser.token & 1048576) !== 1048576 && - parser.token !== 1077936157 - ) { - return parseClassElementList( - parser, - context, - scope, - inheritedContext, - type, - decorators, - 1, - inGroup, - start, - line, - column - ); - } - break; - case 209007: - if ( - parser.token !== 67174411 && - (parser.flags & 1) === 0 - ) { - if ( - context & 1 && - (parser.token & 1073741824) === 1073741824 - ) { - return parsePropertyDefinition( - parser, - context, - key, - kind, - decorators, - tokenPos, - linePos, - colPos - ); - } - kind |= - 16 | - (optionalBit(parser, context, 8457014) - ? 8 - : 0); - } - break; - case 12402: - if (parser.token !== 67174411) { - if ( - context & 1 && - (parser.token & 1073741824) === 1073741824 - ) { - return parsePropertyDefinition( - parser, - context, - key, - kind, - decorators, - tokenPos, - linePos, - colPos - ); - } - kind |= 256; - } - break; - case 12403: - if (parser.token !== 67174411) { - if ( - context & 1 && - (parser.token & 1073741824) === 1073741824 - ) { - return parsePropertyDefinition( - parser, - context, - key, - kind, - decorators, - tokenPos, - linePos, - colPos - ); - } - kind |= 512; - } - break; - } - } else if (token === 69271571) { - kind |= 2; - key = parseComputedPropertyName( - parser, - inheritedContext, - inGroup - ); - } else if ((token & 134217728) === 134217728) { - key = parseLiteral(parser, context); - } else if (token === 8457014) { - kind |= 8; - nextToken(parser, context); - } else if (context & 1 && parser.token === 131) { - kind |= 4096; - key = parsePrivateIdentifier( - parser, - context | 16384, - tokenPos, - linePos, - colPos - ); - } else if ( - context & 1 && - (parser.token & 1073741824) === 1073741824 - ) { - kind |= 128; - } else if (isStatic && token === 2162700) { - return parseStaticBlock( - parser, - context, - scope, - tokenPos, - linePos, - colPos - ); - } else if (token === 122) { - key = parseIdentifier(parser, context); - if (parser.token !== 67174411) - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } else { - report(parser, 28, KeywordDescTable[parser.token & 255]); - } - if (kind & (8 | 16 | 768)) { - if (parser.token & 143360) { - key = parseIdentifier(parser, context); - } else if ((parser.token & 134217728) === 134217728) { - key = parseLiteral(parser, context); - } else if (parser.token === 69271571) { - kind |= 2; - key = parseComputedPropertyName(parser, context, 0); - } else if (parser.token === 122) { - key = parseIdentifier(parser, context); - } else if (context & 1 && parser.token === 131) { - kind |= 4096; - key = parsePrivateIdentifier( - parser, - context, - tokenPos, - linePos, - colPos - ); - } else report(parser, 132); - } - if ((kind & 2) === 0) { - if (parser.tokenValue === 'constructor') { - if ((parser.token & 1073741824) === 1073741824) { - report(parser, 126); - } else if ( - (kind & 32) === 0 && - parser.token === 67174411 - ) { - if (kind & (768 | 16 | 128 | 8)) { - report(parser, 51, 'accessor'); - } else if ((context & 524288) === 0) { - if (parser.flags & 32) report(parser, 52); - else parser.flags |= 32; - } - } - kind |= 64; - } else if ( - (kind & 4096) === 0 && - kind & (32 | 768 | 8 | 16) && - parser.tokenValue === 'prototype' - ) { - report(parser, 50); - } - } - if (context & 1 && parser.token !== 67174411) { - return parsePropertyDefinition( - parser, - context, - key, - kind, - decorators, - tokenPos, - linePos, - colPos - ); - } - const value = parseMethodDefinition( - parser, - context, - kind, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - return finishNode( - parser, - context, - start, - line, - column, - context & 1 - ? { - type: 'MethodDefinition', - kind: - (kind & 32) === 0 && kind & 64 - ? 'constructor' - : kind & 256 - ? 'get' - : kind & 512 - ? 'set' - : 'method', - static: (kind & 32) > 0, - computed: (kind & 2) > 0, - key, - decorators, - value - } - : { - type: 'MethodDefinition', - kind: - (kind & 32) === 0 && kind & 64 - ? 'constructor' - : kind & 256 - ? 'get' - : kind & 512 - ? 'set' - : 'method', - static: (kind & 32) > 0, - computed: (kind & 2) > 0, - key, - value - } - ); - } - function parsePrivateIdentifier( - parser, - context, - start, - line, - column - ) { - nextToken(parser, context); - const { tokenValue } = parser; - if (tokenValue === 'constructor') report(parser, 125); - nextToken(parser, context); - return finishNode(parser, context, start, line, column, { - type: 'PrivateIdentifier', - name: tokenValue - }); - } - function parsePropertyDefinition( - parser, - context, - key, - state, - decorators, - start, - line, - column - ) { - let value = null; - if (state & 8) report(parser, 0); - if (parser.token === 1077936157) { - nextToken(parser, context | 32768); - const { tokenPos, linePos, colPos } = parser; - if (parser.token === 537079928) report(parser, 116); - const modifierFlags = - (state & 64) === 0 ? 31981568 : 14680064; - context = - ((context | modifierFlags) ^ modifierFlags) | - ((state & 88) << 18) | - 100925440; - value = parsePrimaryExpression( - parser, - context | 16384, - 2, - 0, - 1, - 0, - 1, - tokenPos, - linePos, - colPos - ); - if ( - (parser.token & 1073741824) !== 1073741824 || - (parser.token & 4194304) === 4194304 - ) { - value = parseMemberOrUpdateExpression( - parser, - context | 16384, - value, - 0, - 0, - tokenPos, - linePos, - colPos - ); - value = parseAssignmentExpression( - parser, - context | 16384, - 0, - 0, - tokenPos, - linePos, - colPos, - value - ); - if (parser.token === 18) { - value = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - value - ); - } - } - } - return finishNode(parser, context, start, line, column, { - type: 'PropertyDefinition', - key, - value, - static: (state & 32) > 0, - computed: (state & 2) > 0, - decorators - }); - } - function parseBindingPattern( - parser, - context, - scope, - type, - origin, - start, - line, - column - ) { - if (parser.token & 143360) - return parseAndClassifyIdentifier( - parser, - context, - scope, - type, - origin, - start, - line, - column - ); - if ((parser.token & 2097152) !== 2097152) - report(parser, 28, KeywordDescTable[parser.token & 255]); - const left = - parser.token === 69271571 - ? parseArrayExpressionOrPattern( - parser, - context, - scope, - 1, - 0, - 1, - type, - origin, - start, - line, - column - ) - : parseObjectLiteralOrPattern( - parser, - context, - scope, - 1, - 0, - 1, - type, - origin, - start, - line, - column - ); - if (parser.destructible & 16) report(parser, 48); - if (parser.destructible & 32) report(parser, 48); - return left; - } - function parseAndClassifyIdentifier( - parser, - context, - scope, - kind, - origin, - start, - line, - column - ) { - const { tokenValue, token } = parser; - if (context & 1024) { - if ((token & 537079808) === 537079808) { - report(parser, 116); - } else if ((token & 36864) === 36864) { - report(parser, 115); - } - } - if ((token & 20480) === 20480) { - report(parser, 100); - } - if (context & (2048 | 2097152) && token === 241773) { - report(parser, 30); - } - if (token === 241739) { - if (kind & (8 | 16)) report(parser, 98); - } - if (context & (4194304 | 2048) && token === 209008) { - report(parser, 96); - } - nextToken(parser, context); - if (scope) - addVarOrBlock( - parser, - context, - scope, - tokenValue, - kind, - origin - ); - return finishNode(parser, context, start, line, column, { - type: 'Identifier', - name: tokenValue - }); - } - function parseJSXRootElementOrFragment( - parser, - context, - inJSXChild, - start, - line, - column - ) { - nextToken(parser, context); - if (parser.token === 8456259) { - return finishNode(parser, context, start, line, column, { - type: 'JSXFragment', - openingFragment: parseOpeningFragment( - parser, - context, - start, - line, - column - ), - children: parseJSXChildren(parser, context), - closingFragment: parseJSXClosingFragment( - parser, - context, - inJSXChild, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - }); - } - let closingElement = null; - let children = []; - const openingElement = - parseJSXOpeningFragmentOrSelfCloseElement( - parser, - context, - inJSXChild, - start, - line, - column - ); - if (!openingElement.selfClosing) { - children = parseJSXChildren(parser, context); - closingElement = parseJSXClosingElement( - parser, - context, - inJSXChild, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - const close = isEqualTagName(closingElement.name); - if (isEqualTagName(openingElement.name) !== close) - report(parser, 150, close); - } - return finishNode(parser, context, start, line, column, { - type: 'JSXElement', - children, - openingElement, - closingElement - }); - } - function parseOpeningFragment( - parser, - context, - start, - line, - column - ) { - scanJSXToken(parser, context); - return finishNode(parser, context, start, line, column, { - type: 'JSXOpeningFragment' - }); - } - function parseJSXClosingElement( - parser, - context, - inJSXChild, - start, - line, - column - ) { - consume(parser, context, 25); - const name = parseJSXElementName( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - if (inJSXChild) { - consume(parser, context, 8456259); - } else { - parser.token = scanJSXToken(parser, context); - } - return finishNode(parser, context, start, line, column, { - type: 'JSXClosingElement', - name - }); - } - function parseJSXClosingFragment( - parser, - context, - inJSXChild, - start, - line, - column - ) { - consume(parser, context, 25); - if (inJSXChild) { - consume(parser, context, 8456259); - } else { - consume(parser, context, 8456259); - } - return finishNode(parser, context, start, line, column, { - type: 'JSXClosingFragment' - }); - } - function parseJSXChildren(parser, context) { - const children = []; - while (parser.token !== 25) { - parser.index = parser.tokenPos = parser.startPos; - parser.column = parser.colPos = parser.startColumn; - parser.line = parser.linePos = parser.startLine; - scanJSXToken(parser, context); - children.push( - parseJSXChild( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - return children; - } - function parseJSXChild(parser, context, start, line, column) { - if (parser.token === 138) - return parseJSXText(parser, context, start, line, column); - if (parser.token === 2162700) - return parseJSXExpressionContainer( - parser, - context, - 0, - 0, - start, - line, - column - ); - if (parser.token === 8456258) - return parseJSXRootElementOrFragment( - parser, - context, - 0, - start, - line, - column - ); - report(parser, 0); - } - function parseJSXText(parser, context, start, line, column) { - scanJSXToken(parser, context); - const node = { - type: 'JSXText', - value: parser.tokenValue - }; - if (context & 512) { - node.raw = parser.tokenRaw; - } - return finishNode(parser, context, start, line, column, node); - } - function parseJSXOpeningFragmentOrSelfCloseElement( - parser, - context, - inJSXChild, - start, - line, - column - ) { - if ( - (parser.token & 143360) !== 143360 && - (parser.token & 4096) !== 4096 - ) - report(parser, 0); - const tagName = parseJSXElementName( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - const attributes = parseJSXAttributes(parser, context); - const selfClosing = parser.token === 8457016; - if (parser.token === 8456259) { - scanJSXToken(parser, context); - } else { - consume(parser, context, 8457016); - if (inJSXChild) { - consume(parser, context, 8456259); - } else { - scanJSXToken(parser, context); - } - } - return finishNode(parser, context, start, line, column, { - type: 'JSXOpeningElement', - name: tagName, - attributes, - selfClosing - }); - } - function parseJSXElementName(parser, context, start, line, column) { - scanJSXIdentifier(parser); - let key = parseJSXIdentifier( - parser, - context, - start, - line, - column - ); - if (parser.token === 21) - return parseJSXNamespacedName( - parser, - context, - key, - start, - line, - column - ); - while (consumeOpt(parser, context, 67108877)) { - scanJSXIdentifier(parser); - key = parseJSXMemberExpression( - parser, - context, - key, - start, - line, - column - ); - } - return key; - } - function parseJSXMemberExpression( - parser, - context, - object, - start, - line, - column - ) { - const property = parseJSXIdentifier( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - return finishNode(parser, context, start, line, column, { - type: 'JSXMemberExpression', - object, - property - }); - } - function parseJSXAttributes(parser, context) { - const attributes = []; - while ( - parser.token !== 8457016 && - parser.token !== 8456259 && - parser.token !== 1048576 - ) { - attributes.push( - parseJsxAttribute( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - return attributes; - } - function parseJSXSpreadAttribute( - parser, - context, - start, - line, - column - ) { - nextToken(parser, context); - consume(parser, context, 14); - const expression = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context, 1074790415); - return finishNode(parser, context, start, line, column, { - type: 'JSXSpreadAttribute', - argument: expression - }); - } - function parseJsxAttribute(parser, context, start, line, column) { - if (parser.token === 2162700) - return parseJSXSpreadAttribute( - parser, - context, - start, - line, - column - ); - scanJSXIdentifier(parser); - let value = null; - let name = parseJSXIdentifier( - parser, - context, - start, - line, - column - ); - if (parser.token === 21) { - name = parseJSXNamespacedName( - parser, - context, - name, - start, - line, - column - ); - } - if (parser.token === 1077936157) { - const token = scanJSXAttributeValue(parser, context); - const { tokenPos, linePos, colPos } = parser; - switch (token) { - case 134283267: - value = parseLiteral(parser, context); - break; - case 8456258: - value = parseJSXRootElementOrFragment( - parser, - context, - 1, - tokenPos, - linePos, - colPos - ); - break; - case 2162700: - value = parseJSXExpressionContainer( - parser, - context, - 1, - 1, - tokenPos, - linePos, - colPos - ); - break; - default: - report(parser, 149); - } - } - return finishNode(parser, context, start, line, column, { - type: 'JSXAttribute', - value, - name - }); - } - function parseJSXNamespacedName( - parser, - context, - namespace, - start, - line, - column - ) { - consume(parser, context, 21); - const name = parseJSXIdentifier( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - return finishNode(parser, context, start, line, column, { - type: 'JSXNamespacedName', - namespace, - name - }); - } - function parseJSXExpressionContainer( - parser, - context, - inJSXChild, - isAttr, - start, - line, - column - ) { - nextToken(parser, context | 32768); - const { tokenPos, linePos, colPos } = parser; - if (parser.token === 14) - return parseJSXSpreadChild( - parser, - context, - start, - line, - column - ); - let expression = null; - if (parser.token === 1074790415) { - if (isAttr) report(parser, 152); - expression = parseJSXEmptyExpression( - parser, - context, - parser.startPos, - parser.startLine, - parser.startColumn - ); - } else { - expression = parseExpression( - parser, - context, - 1, - 0, - tokenPos, - linePos, - colPos - ); - } - if (inJSXChild) { - consume(parser, context, 1074790415); - } else { - scanJSXToken(parser, context); - } - return finishNode(parser, context, start, line, column, { - type: 'JSXExpressionContainer', - expression - }); - } - function parseJSXSpreadChild(parser, context, start, line, column) { - consume(parser, context, 14); - const expression = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context, 1074790415); - return finishNode(parser, context, start, line, column, { - type: 'JSXSpreadChild', - expression - }); - } - function parseJSXEmptyExpression( - parser, - context, - start, - line, - column - ) { - parser.startPos = parser.tokenPos; - parser.startLine = parser.linePos; - parser.startColumn = parser.colPos; - return finishNode(parser, context, start, line, column, { - type: 'JSXEmptyExpression' - }); - } - function parseJSXIdentifier(parser, context, start, line, column) { - const { tokenValue } = parser; - nextToken(parser, context); - return finishNode(parser, context, start, line, column, { - type: 'JSXIdentifier', - name: tokenValue - }); - } - - var estree = /*#__PURE__*/ Object.freeze({ - __proto__: null - }); - - var version$1 = '4.5.0'; - - const version = version$1; - function parseScript(source, options) { - return parseSource(source, options, 0); - } - function parseModule(source, options) { - return parseSource(source, options, 1024 | 2048); - } - function parse(source, options) { - return parseSource(source, options, 0); - } - } - }; - /************************************************************************/ - // The module cache - var __webpack_module_cache__ = {}; - - // The require function - function __webpack_require__(moduleId) { - // Check if module is in cache - var cachedModule = __webpack_module_cache__[moduleId]; - if (cachedModule !== undefined) { - return cachedModule.exports; - } - // Create a new module (and put it into the cache) - var module = (__webpack_module_cache__[moduleId] = { - exports: {} - }); - // Execute the module function - __webpack_modules__[moduleId]( - module, - module.exports, - __webpack_require__ - ); - - // Return the exports of the module - return module.exports; - } - - /************************************************************************/ - // webpack/runtime/async_module - (() => { - var webpackQueues = - typeof Symbol === 'function' - ? Symbol('webpack queues') - : '__webpack_queues__'; - var webpackExports = - typeof Symbol === 'function' - ? Symbol('webpack exports') - : '__webpack_exports__'; - var webpackError = - typeof Symbol === 'function' - ? Symbol('webpack error') - : '__webpack_error__'; - var resolveQueue = function (queue) { - if (queue && queue.d < 1) { - queue.d = 1; - queue.forEach(function (fn) { - fn.r--; - }); - queue.forEach(function (fn) { - fn.r-- ? fn.r++ : fn(); - }); - } - }; - var wrapDeps = function (deps) { - return deps.map(function (dep) { - if (dep !== null && typeof dep === 'object') { - if (dep[webpackQueues]) return dep; - if (dep.then) { - var queue = []; - queue.d = 0; - dep.then( - function (r) { - obj[webpackExports] = r; - resolveQueue(queue); - }, - function (e) { - obj[webpackError] = e; - resolveQueue(queue); - } - ); - var obj = {}; - obj[webpackQueues] = function (fn) { - fn(queue); - }; - return obj; - } - } - var ret = {}; - ret[webpackQueues] = function () {}; - ret[webpackExports] = dep; - return ret; - }); - }; - __webpack_require__.a = function (module, body, hasAwait) { - var queue; - hasAwait && ((queue = []).d = -1); - var depQueues = new Set(); - var exports = module.exports; - var currentDeps; - var outerResolve; - var reject; - var promise = new Promise(function (resolve, rej) { - reject = rej; - outerResolve = resolve; - }); - promise[webpackExports] = exports; - promise[webpackQueues] = function (fn) { - queue && fn(queue), - depQueues.forEach(fn), - promise['catch'](function () {}); - }; - module.exports = promise; - body( - function (deps) { - currentDeps = wrapDeps(deps); - var fn; - var getResult = function () { - return currentDeps.map(function (d) { - if (d[webpackError]) throw d[webpackError]; - return d[webpackExports]; - }); - }; - var promise = new Promise(function (resolve) { - fn = function () { - resolve(getResult); - }; - fn.r = 0; - var fnQueue = function (q) { - q !== queue && - !depQueues.has(q) && - (depQueues.add(q), - q && !q.d && (fn.r++, q.push(fn))); - }; - currentDeps.map(function (dep) { - dep[webpackQueues](fnQueue); - }); - }); - return fn.r ? promise : getResult(); - }, - function (err) { - err - ? reject((promise[webpackError] = err)) - : outerResolve(exports), - resolveQueue(queue); - } - ); - queue && queue.d < 0 && (queue.d = 0); - }; - })(); - // webpack/runtime/compat_get_default_export - (() => { - // getDefaultExport function for compatibility with non-harmony modules - __webpack_require__.n = function (module) { - var getter = - module && module.__esModule - ? function () { - return module['default']; - } - : function () { - return module; - }; - __webpack_require__.d(getter, { a: getter }); - return getter; - }; - })(); - // webpack/runtime/define_property_getters - (() => { - __webpack_require__.d = function (exports, definition) { - for (var key in definition) { - if ( - __webpack_require__.o(definition, key) && - !__webpack_require__.o(exports, key) - ) { - Object.defineProperty(exports, key, { - enumerable: true, - get: definition[key] - }); - } - } - }; - })(); - // webpack/runtime/has_own_property - (() => { - __webpack_require__.o = function (obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); - }; - })(); - // webpack/runtime/make_namespace_object - (() => { - // define __esModule on exports - __webpack_require__.r = function (exports) { - if (typeof Symbol !== 'undefined' && Symbol.toStringTag) { - Object.defineProperty(exports, Symbol.toStringTag, { - value: 'Module' - }); - } - Object.defineProperty(exports, '__esModule', { value: true }); - }; - })(); - /************************************************************************/ - // startup - // Load entry module and return exports - // This entry module used 'module' so it can't be inlined - var __webpack_exports__ = __webpack_require__('./src/client/index.ts'); -})(); -//# sourceMappingURL=scramjet.client.js.map diff --git a/public/$/scramjet.client.js.map b/public/$/scramjet.client.js.map deleted file mode 100755 index 9630afc..0000000 --- a/public/$/scramjet.client.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"scramjet.client.js","sources":["webpack://@mercuryworkshop/scramjet/./node_modules/astravel/dist/module/astravel.js?839c","webpack://@mercuryworkshop/scramjet/./node_modules/astravel/dist/module/attachComments.js?f9eb","webpack://@mercuryworkshop/scramjet/./node_modules/astravel/dist/module/defaultTraveler.js?9d36","webpack://@mercuryworkshop/scramjet/./src/client/beacon.ts","webpack://@mercuryworkshop/scramjet/./src/client/css.ts","webpack://@mercuryworkshop/scramjet/./src/client/element.ts","webpack://@mercuryworkshop/scramjet/./src/client/event.ts","webpack://@mercuryworkshop/scramjet/./src/client/history.ts","webpack://@mercuryworkshop/scramjet/./src/client/index.ts","webpack://@mercuryworkshop/scramjet/./src/client/location.ts","webpack://@mercuryworkshop/scramjet/./src/client/native/eval.ts","webpack://@mercuryworkshop/scramjet/./src/client/requests/fetch.ts","webpack://@mercuryworkshop/scramjet/./src/client/requests/websocket.ts","webpack://@mercuryworkshop/scramjet/./src/client/requests/xmlhttprequest.ts","webpack://@mercuryworkshop/scramjet/./src/client/scope.ts","webpack://@mercuryworkshop/scramjet/./src/client/shared.ts","webpack://@mercuryworkshop/scramjet/./src/client/storage.ts","webpack://@mercuryworkshop/scramjet/./src/client/trustedTypes.ts","webpack://@mercuryworkshop/scramjet/./src/client/url.ts?15f0","webpack://@mercuryworkshop/scramjet/./src/client/window.ts","webpack://@mercuryworkshop/scramjet/./src/client/worker.ts","webpack://@mercuryworkshop/scramjet/./src/shared/rewriters/js.ts?d1c4","webpack://@mercuryworkshop/scramjet/./src/shared/rewriters/url.ts?4fbc","webpack://@mercuryworkshop/scramjet/./node_modules/@webreflection/idb-map/index.js","webpack://@mercuryworkshop/scramjet/./node_modules/@webreflection/idb-map/sync.js","webpack://@mercuryworkshop/scramjet/./node_modules/astring/dist/astring.mjs?88fa","webpack://@mercuryworkshop/scramjet/./node_modules/meriyah/dist/meriyah.esm.mjs?6297"],"sourcesContent":["import { defaultTraveler } from \"./defaultTraveler.js\";\nexport { attachComments } from \"./attachComments.js\";\nexport function makeTraveler(properties) {\n return defaultTraveler.makeChild(properties);\n}\nexport { defaultTraveler };\n//# sourceMappingURL=astravel.js.map","import { defaultTraveler } from \"./defaultTraveler.js\";\n\nfunction attachCommentsToNode(traveler, state, parent, children, findHeadingComments) {\n let {\n index\n } = state;\n const {\n comments\n } = state;\n let comment = comments[index];\n let boundComments, trailingComments;\n\n if (comment == null) {\n return;\n }\n\n if (children == null || children.length === 0) {\n boundComments = parent.comments != null ? parent.comments : [];\n\n while (comment != null && comment.end <= parent.end) {\n boundComments.push(comment);\n comment = comments[++index];\n }\n\n state.index = index;\n\n if (boundComments.length !== 0 && parent.comments == null) {\n parent.comments = boundComments;\n }\n\n return;\n }\n\n if (findHeadingComments) {\n boundComments = parent.comments != null ? parent.comments : [];\n const {\n start\n } = children[0];\n\n while (comment != null && (comment.type[0] === 'B' || comment.type[0] === 'M') && comment.end <= start) {\n boundComments.push(comment);\n comment = comments[++index];\n }\n\n if (boundComments.length !== 0 && parent.comments == null) parent.comments = boundComments;\n }\n\n for (let i = 0, {\n length\n } = children; comment != null && i < length; i++) {\n const child = children[i];\n boundComments = [];\n\n while (comment != null && comment.end <= child.start) {\n boundComments.push(comment);\n comment = comments[++index];\n }\n\n if (comment != null && comment.loc != null && (comment.type[0] === 'L' || comment.type[0] === 'S')) {\n if (comment.loc.start.line === child.loc.end.line) {\n boundComments.push(comment);\n comment = comments[++index];\n }\n }\n\n if (boundComments.length !== 0) {\n child.comments = boundComments;\n }\n\n state.index = index;\n traveler[child.type](child, state);\n index = state.index;\n comment = comments[index];\n }\n\n trailingComments = [];\n\n while (comment != null && comment.end <= parent.end) {\n trailingComments.push(comment);\n comment = comments[++index];\n }\n\n if (trailingComments.length !== 0) {\n parent.trailingComments = trailingComments;\n }\n\n state.index = index;\n}\n\nfunction Block(node, state) {\n attachCommentsToNode(this, state, node, node.body, true);\n}\n\nlet traveler = defaultTraveler.makeChild({\n Program: Block,\n BlockStatement: Block,\n ClassBody: Block,\n\n ObjectExpression(node, state) {\n attachCommentsToNode(this, state, node, node.properties, true);\n },\n\n ArrayExpression(node, state) {\n attachCommentsToNode(this, state, node, node.elements, true);\n },\n\n SwitchStatement(node, state) {\n attachCommentsToNode(this, state, node, node.cases, false);\n },\n\n SwitchCase(node, state) {\n attachCommentsToNode(this, state, node, node.consequent, false);\n }\n\n});\nexport function attachComments(node, comments) {\n traveler[node.type](node, {\n comments,\n index: 0\n });\n return node;\n}\n//# sourceMappingURL=attachComments.js.map","let ForInStatement, FunctionDeclaration, RestElement, BinaryExpression, ArrayExpression, Block, MethodDefinition;\nconst ignore = Function.prototype;\n\nclass Found {\n constructor(node, state) {\n this.node = node;\n this.state = state;\n }\n\n}\n\nexport const defaultTraveler = {\n go(node, state) {\n if (this[node.type]) {\n this[node.type](node, state);\n }\n },\n\n find(predicate, node, state) {\n const finder = Object.create(this);\n\n finder.go = function (node, state) {\n if (predicate(node, state)) {\n throw new Found(node, state);\n }\n\n this[node.type](node, state);\n };\n\n try {\n finder.go(node, state);\n } catch (error) {\n if (error instanceof Found) {\n return error;\n } else {\n throw error;\n }\n }\n },\n\n makeChild(properties = {}) {\n const traveler = Object.create(this);\n traveler.super = this;\n\n for (let key in properties) {\n traveler[key] = properties[key];\n }\n\n return traveler;\n },\n\n Program: Block = function (node, state) {\n const {\n body\n } = node;\n\n if (body != null) {\n const {\n length\n } = body;\n\n for (let i = 0; i < length; i++) {\n this.go(body[i], state);\n }\n }\n },\n BlockStatement: Block,\n StaticBlock: Block,\n EmptyStatement: ignore,\n\n ExpressionStatement(node, state) {\n this.go(node.expression, state);\n },\n\n IfStatement(node, state) {\n this.go(node.test, state);\n this.go(node.consequent, state);\n\n if (node.alternate != null) {\n this.go(node.alternate, state);\n }\n },\n\n LabeledStatement(node, state) {\n this.go(node.label, state);\n this.go(node.body, state);\n },\n\n BreakStatement(node, state) {\n if (node.label) {\n this.go(node.label, state);\n }\n },\n\n ContinueStatement(node, state) {\n if (node.label) {\n this.go(node.label, state);\n }\n },\n\n WithStatement(node, state) {\n this.go(node.object, state);\n this.go(node.body, state);\n },\n\n SwitchStatement(node, state) {\n this.go(node.discriminant, state);\n const {\n cases\n } = node,\n {\n length\n } = cases;\n\n for (let i = 0; i < length; i++) {\n this.go(cases[i], state);\n }\n },\n\n SwitchCase(node, state) {\n if (node.test != null) {\n this.go(node.test, state);\n }\n\n const statements = node.consequent,\n {\n length\n } = statements;\n\n for (let i = 0; i < length; i++) {\n this.go(statements[i], state);\n }\n },\n\n ReturnStatement(node, state) {\n if (node.argument) {\n this.go(node.argument, state);\n }\n },\n\n ThrowStatement(node, state) {\n this.go(node.argument, state);\n },\n\n TryStatement(node, state) {\n this.go(node.block, state);\n\n if (node.handler != null) {\n this.go(node.handler, state);\n }\n\n if (node.finalizer != null) {\n this.go(node.finalizer, state);\n }\n },\n\n CatchClause(node, state) {\n if (node.param != null) {\n this.go(node.param, state);\n }\n\n this.go(node.body, state);\n },\n\n WhileStatement(node, state) {\n this.go(node.test, state);\n this.go(node.body, state);\n },\n\n DoWhileStatement(node, state) {\n this.go(node.body, state);\n this.go(node.test, state);\n },\n\n ForStatement(node, state) {\n if (node.init != null) {\n this.go(node.init, state);\n }\n\n if (node.test != null) {\n this.go(node.test, state);\n }\n\n if (node.update != null) {\n this.go(node.update, state);\n }\n\n this.go(node.body, state);\n },\n\n ForInStatement: ForInStatement = function (node, state) {\n this.go(node.left, state);\n this.go(node.right, state);\n this.go(node.body, state);\n },\n DebuggerStatement: ignore,\n FunctionDeclaration: FunctionDeclaration = function (node, state) {\n if (node.id != null) {\n this.go(node.id, state);\n }\n\n const {\n params\n } = node;\n\n if (params != null) {\n for (let i = 0, {\n length\n } = params; i < length; i++) {\n this.go(params[i], state);\n }\n }\n\n this.go(node.body, state);\n },\n\n VariableDeclaration(node, state) {\n const {\n declarations\n } = node,\n {\n length\n } = declarations;\n\n for (let i = 0; i < length; i++) {\n this.go(declarations[i], state);\n }\n },\n\n VariableDeclarator(node, state) {\n this.go(node.id, state);\n\n if (node.init != null) {\n this.go(node.init, state);\n }\n },\n\n ArrowFunctionExpression(node, state) {\n const {\n params\n } = node;\n\n if (params != null) {\n for (let i = 0, {\n length\n } = params; i < length; i++) {\n this.go(params[i], state);\n }\n }\n\n this.go(node.body, state);\n },\n\n ThisExpression: ignore,\n ArrayExpression: ArrayExpression = function (node, state) {\n const {\n elements\n } = node,\n {\n length\n } = elements;\n\n for (let i = 0; i < length; i++) {\n let element = elements[i];\n\n if (element != null) {\n this.go(elements[i], state);\n }\n }\n },\n\n ObjectExpression(node, state) {\n const {\n properties\n } = node,\n {\n length\n } = properties;\n\n for (let i = 0; i < length; i++) {\n this.go(properties[i], state);\n }\n },\n\n Property(node, state) {\n this.go(node.key, state);\n\n if (node.value != null) {\n this.go(node.value, state);\n }\n },\n\n FunctionExpression: FunctionDeclaration,\n\n SequenceExpression(node, state) {\n const {\n expressions\n } = node,\n {\n length\n } = expressions;\n\n for (let i = 0; i < length; i++) {\n this.go(expressions[i], state);\n }\n },\n\n UnaryExpression(node, state) {\n this.go(node.argument, state);\n },\n\n UpdateExpression(node, state) {\n this.go(node.argument, state);\n },\n\n AssignmentExpression(node, state) {\n this.go(node.left, state);\n this.go(node.right, state);\n },\n\n BinaryExpression: BinaryExpression = function (node, state) {\n this.go(node.left, state);\n this.go(node.right, state);\n },\n LogicalExpression: BinaryExpression,\n\n ConditionalExpression(node, state) {\n this.go(node.test, state);\n this.go(node.consequent, state);\n this.go(node.alternate, state);\n },\n\n NewExpression(node, state) {\n this.CallExpression(node, state);\n },\n\n CallExpression(node, state) {\n this.go(node.callee, state);\n const args = node['arguments'],\n {\n length\n } = args;\n\n for (let i = 0; i < length; i++) {\n this.go(args[i], state);\n }\n },\n\n MemberExpression(node, state) {\n this.go(node.object, state);\n this.go(node.property, state);\n },\n\n Identifier: ignore,\n PrivateIdentifier: ignore,\n Literal: ignore,\n ForOfStatement: ForInStatement,\n\n ClassDeclaration(node, state) {\n if (node.id) {\n this.go(node.id, state);\n }\n\n if (node.superClass) {\n this.go(node.superClass, state);\n }\n\n this.go(node.body, state);\n },\n\n ClassBody: Block,\n\n ImportDeclaration(node, state) {\n const {\n specifiers\n } = node,\n {\n length\n } = specifiers;\n\n for (let i = 0; i < length; i++) {\n this.go(specifiers[i], state);\n }\n\n this.go(node.source, state);\n },\n\n ImportNamespaceSpecifier(node, state) {\n this.go(node.local, state);\n },\n\n ImportDefaultSpecifier(node, state) {\n this.go(node.local, state);\n },\n\n ImportSpecifier(node, state) {\n this.go(node.imported, state);\n this.go(node.local, state);\n },\n\n ExportDefaultDeclaration(node, state) {\n this.go(node.declaration, state);\n },\n\n ExportNamedDeclaration(node, state) {\n if (node.declaration) {\n this.go(node.declaration, state);\n }\n\n const {\n specifiers\n } = node,\n {\n length\n } = specifiers;\n\n for (let i = 0; i < length; i++) {\n this.go(specifiers[i], state);\n }\n\n if (node.source) {\n this.go(node.source, state);\n }\n },\n\n ExportSpecifier(node, state) {\n this.go(node.local, state);\n this.go(node.exported, state);\n },\n\n ExportAllDeclaration(node, state) {\n this.go(node.source, state);\n },\n\n MethodDefinition: MethodDefinition = function (node, state) {\n this.go(node.key, state);\n this.go(node.value, state);\n },\n PropertyDefinition: MethodDefinition,\n\n ClassExpression(node, state) {\n this.ClassDeclaration(node, state);\n },\n\n Super: ignore,\n RestElement: RestElement = function (node, state) {\n this.go(node.argument, state);\n },\n SpreadElement: RestElement,\n\n YieldExpression(node, state) {\n if (node.argument) {\n this.go(node.argument, state);\n }\n },\n\n TaggedTemplateExpression(node, state) {\n this.go(node.tag, state);\n this.go(node.quasi, state);\n },\n\n TemplateLiteral(node, state) {\n const {\n quasis,\n expressions\n } = node;\n\n for (let i = 0, {\n length\n } = expressions; i < length; i++) {\n this.go(expressions[i], state);\n }\n\n for (let i = 0, {\n length\n } = quasis; i < length; i++) {\n this.go(quasis[i], state);\n }\n },\n\n TemplateElement: ignore,\n\n ObjectPattern(node, state) {\n const {\n properties\n } = node,\n {\n length\n } = properties;\n\n for (let i = 0; i < length; i++) {\n this.go(properties[i], state);\n }\n },\n\n ArrayPattern: ArrayExpression,\n\n AssignmentPattern(node, state) {\n this.go(node.left, state);\n this.go(node.right, state);\n },\n\n MetaProperty(node, state) {\n this.go(node.meta, state);\n this.go(node.property, state);\n },\n\n AwaitExpression(node, state) {\n this.go(node.argument, state);\n }\n\n};\n//# sourceMappingURL=defaultTraveler.js.map","import { encodeUrl } from \"./shared\";\n\nnavigator.sendBeacon = new Proxy(navigator.sendBeacon, {\n\tapply(target, thisArg, argArray) {\n\t\targArray[0] = encodeUrl(argArray[0]);\n\n\t\treturn Reflect.apply(target, thisArg, argArray);\n\t},\n});\n","import { rewriteCss } from \"./shared\";\n\nconst cssProperties = [\n\t\"background\",\n\t\"background-image\",\n\t\"mask\",\n\t\"mask-image\",\n\t\"list-style\",\n\t\"list-style-image\",\n\t\"border-image\",\n\t\"border-image-source\",\n\t\"cursor\",\n];\n// const jsProperties = [\"background\", \"backgroundImage\", \"mask\", \"maskImage\", \"listStyle\", \"listStyleImage\", \"borderImage\", \"borderImageSource\", \"cursor\"];\n\nCSSStyleDeclaration.prototype.setProperty = new Proxy(\n\tCSSStyleDeclaration.prototype.setProperty,\n\t{\n\t\tapply(target, thisArg, argArray) {\n\t\t\tif (cssProperties.includes(argArray[0]))\n\t\t\t\targArray[1] = rewriteCss(argArray[1]);\n\n\t\t\treturn Reflect.apply(target, thisArg, argArray);\n\t\t},\n\t}\n);\n","import { decodeUrl } from \"../shared/rewriters/url\";\nimport {\n\tencodeUrl,\n\trewriteCss,\n\trewriteHtml,\n\trewriteJs,\n\trewriteSrcset,\n} from \"./shared\";\n\nconst attrObject = {\n\tnonce: [HTMLElement],\n\tintegrity: [HTMLScriptElement, HTMLLinkElement],\n\tcsp: [HTMLIFrameElement],\n\tsrc: [\n\t\tHTMLImageElement,\n\t\tHTMLMediaElement,\n\t\tHTMLIFrameElement,\n\t\tHTMLEmbedElement,\n\t\tHTMLScriptElement,\n\t],\n\thref: [HTMLAnchorElement, HTMLLinkElement],\n\tdata: [HTMLObjectElement],\n\taction: [HTMLFormElement],\n\tformaction: [HTMLButtonElement, HTMLInputElement],\n\tsrcdoc: [HTMLIFrameElement],\n\tsrcset: [HTMLImageElement, HTMLSourceElement],\n\timagesrcset: [HTMLLinkElement],\n};\n\nconst attrs = Object.keys(attrObject);\n\nfor (const attr of attrs) {\n\tfor (const element of attrObject[attr]) {\n\t\tconst descriptor = Object.getOwnPropertyDescriptor(element.prototype, attr);\n\t\tObject.defineProperty(element.prototype, attr, {\n\t\t\tget() {\n\t\t\t\tif (/src|href|data|action|formaction/.test(attr)) {\n\t\t\t\t\treturn decodeUrl(descriptor.get.call(this));\n\t\t\t\t}\n\n\t\t\t\tif (this.__origattrs[attr]) {\n\t\t\t\t\treturn this.__origattrs[attr];\n\t\t\t\t}\n\n\t\t\t\treturn descriptor.get.call(this);\n\t\t\t},\n\n\t\t\tset(value) {\n\t\t\t\tthis.__origattrs[attr] = value;\n\n\t\t\t\tif (/nonce|integrity|csp/.test(attr)) {\n\t\t\t\t\treturn;\n\t\t\t\t} else if (/src|href|data|action|formaction/.test(attr)) {\n\t\t\t\t\tvalue = encodeUrl(value);\n\t\t\t\t} else if (attr === \"srcdoc\") {\n\t\t\t\t\tvalue = rewriteHtml(value);\n\t\t\t\t} else if (/(image)?srcset/.test(attr)) {\n\t\t\t\t\tvalue = rewriteSrcset(value);\n\t\t\t\t}\n\n\t\t\t\tdescriptor.set.call(this, value);\n\t\t\t},\n\t\t});\n\t}\n}\n\ndeclare global {\n\tinterface Element {\n\t\t__origattrs: Record;\n\t}\n}\n\nElement.prototype.__origattrs = {};\n\nElement.prototype.getAttribute = new Proxy(Element.prototype.getAttribute, {\n\tapply(target, thisArg, argArray) {\n\t\tif (attrs.includes(argArray[0]) && thisArg.__origattrs[argArray[0]]) {\n\t\t\treturn thisArg.__origattrs[argArray[0]];\n\t\t}\n\n\t\treturn Reflect.apply(target, thisArg, argArray);\n\t},\n});\n\nElement.prototype.setAttribute = new Proxy(Element.prototype.setAttribute, {\n\tapply(target, thisArg, argArray) {\n\t\tif (attrs.includes(argArray[0])) {\n\t\t\tthisArg.__origattrs[argArray[0]] = argArray[1];\n\t\t\tif (/nonce|integrity|csp/.test(argArray[0])) {\n\t\t\t\treturn;\n\t\t\t} else if (/src|href|data|action|formaction/.test(argArray[0])) {\n\t\t\t\targArray[1] = encodeUrl(argArray[1]);\n\t\t\t} else if (argArray[0] === \"srcdoc\") {\n\t\t\t\targArray[1] = rewriteHtml(argArray[1]);\n\t\t\t} else if (/(image)?srcset/.test(argArray[0])) {\n\t\t\t\targArray[1] = rewriteSrcset(argArray[1]);\n\t\t\t} else if (argArray[1] === \"style\") {\n\t\t\t\targArray[1] = rewriteCss(argArray[1]);\n\t\t\t}\n\t\t}\n\n\t\treturn Reflect.apply(target, thisArg, argArray);\n\t},\n});\n\nconst innerHTML = Object.getOwnPropertyDescriptor(\n\tElement.prototype,\n\t\"innerHTML\"\n);\n\nObject.defineProperty(Element.prototype, \"innerHTML\", {\n\tset(value) {\n\t\tif (this instanceof HTMLScriptElement) {\n\t\t\tvalue = rewriteJs(value);\n\t\t} else if (this instanceof HTMLStyleElement) {\n\t\t\tvalue = rewriteCss(value);\n\t\t}\n\n\t\treturn innerHTML.set.call(this, value);\n\t},\n});\n","// idk what shit has to be done on here but it has to be done\n// i'm going to temporarily disable rewriting if a MemberExpression detects addEventListener\n\n// window.addEventListener = new Proxy(window.addEventListener, {\n// apply (target, thisArg, argArray) {\n// //\n\n// return Reflect.apply(target, thisArg, argArray);\n// }\n// })\n","import { decodeUrl } from \"./shared\";\n\nwindow.history.pushState = new Proxy(window.history.pushState, {\n\tapply(target, thisArg, argArray) {\n\t\targArray[3] = decodeUrl(argArray[3]);\n\n\t\treturn Reflect.apply(target, thisArg, argArray);\n\t},\n});\n\nwindow.history.replaceState = new Proxy(window.history.replaceState, {\n\tapply(target, thisArg, argArray) {\n\t\targArray[3] = decodeUrl(argArray[3]);\n\n\t\treturn Reflect.apply(target, thisArg, argArray);\n\t},\n});\n","import \"./scope.ts\";\nimport \"./window.ts\";\nimport \"./event.ts\";\nimport \"./native/eval.ts\";\nimport \"./location.ts\";\nimport \"./trustedTypes.ts\";\nimport \"./requests/fetch.ts\";\nimport \"./requests/xmlhttprequest.ts\";\nimport \"./requests/websocket.ts\";\nimport \"./element.ts\";\nimport \"./storage.ts\";\nimport \"./css.ts\";\nimport \"./history.ts\";\nimport \"./worker.ts\";\nimport \"./url.ts\";\nimport \"./beacon.ts\";\n\ndeclare global {\n\tinterface Window {\n\t\t$s: any;\n\t}\n}\n","// @ts-nocheck\nimport { encodeUrl, decodeUrl } from \"./shared\";\n\nfunction createLocation() {\n\tconst loc = new URL(decodeUrl(location.href));\n\tloc.assign = (url: string) => location.assign(encodeUrl(url));\n\tloc.reload = () => location.reload();\n\tloc.replace = (url: string) => location.replace(encodeUrl(url));\n\tloc.toString = () => loc.href;\n\n\treturn loc;\n}\n\nexport const locationProxy = new Proxy(window.location, {\n\tget(target, prop) {\n\t\tconst loc = createLocation();\n\n\t\treturn loc[prop];\n\t},\n\n\tset(obj, prop, value) {\n\t\tconst loc = createLocation();\n\n\t\tif (prop === \"href\") {\n\t\t\tlocation.href = encodeUrl(value);\n\t\t} else {\n\t\t\tloc[prop] = value;\n\t\t}\n\n\t\treturn true;\n\t},\n});\n","import { rewriteJs } from \"../shared\";\n\nconst FunctionProxy = new Proxy(Function, {\n\tconstruct(target, argArray) {\n\t\tif (argArray.length === 1) {\n\t\t\treturn Reflect.construct(target, rewriteJs(argArray[0]));\n\t\t} else {\n\t\t\treturn Reflect.construct(\n\t\t\t\ttarget,\n\t\t\t\trewriteJs(argArray[argArray.length - 1])\n\t\t\t);\n\t\t}\n\t},\n\tapply(target, thisArg, argArray) {\n\t\tif (argArray.length === 1) {\n\t\t\treturn Reflect.apply(target, undefined, [rewriteJs(argArray[0])]);\n\t\t} else {\n\t\t\treturn Reflect.apply(target, undefined, [\n\t\t\t\t...argArray.map((x, index) => index === argArray.length - 1),\n\t\t\t\trewriteJs(argArray[argArray.length - 1]),\n\t\t\t]);\n\t\t}\n\t},\n});\n\ndelete window.Function;\n\nwindow.Function = FunctionProxy;\n\nwindow.eval = new Proxy(window.eval, {\n\tapply(target, thisArg, argArray) {\n\t\treturn Reflect.apply(target, thisArg, [rewriteJs(argArray[0])]);\n\t},\n});\n","// ts throws an error if you dont do window.fetch\n\nimport { encodeUrl, rewriteHeaders } from \"../shared\";\n\nwindow.fetch = new Proxy(window.fetch, {\n\tapply(target, thisArg, argArray) {\n\t\targArray[0] = encodeUrl(argArray[0]);\n\n\t\treturn Reflect.apply(target, thisArg, argArray);\n\t},\n});\n\nHeaders = new Proxy(Headers, {\n\tconstruct(target, argArray, newTarget) {\n\t\targArray[0] = rewriteHeaders(argArray[0]);\n\n\t\treturn Reflect.construct(target, argArray, newTarget);\n\t},\n});\n\nRequest = new Proxy(Request, {\n\tconstruct(target, argArray, newTarget) {\n\t\tif (typeof argArray[0] === \"string\") argArray[0] = encodeUrl(argArray[0]);\n\n\t\treturn Reflect.construct(target, argArray, newTarget);\n\t},\n});\n\nResponse.redirect = new Proxy(Response.redirect, {\n\tapply(target, thisArg, argArray) {\n\t\targArray[0] = encodeUrl(argArray[0]);\n\n\t\treturn Reflect.apply(target, thisArg, argArray);\n\t},\n});\n","import { BareClient } from \"../shared\";\nconst client = new BareClient();\n\nWebSocket = new Proxy(WebSocket, {\n\tconstruct(target, args) {\n\t\treturn client.createWebSocket(\n\t\t\targs[0],\n\t\t\targs[1],\n\t\t\ttarget,\n\t\t\t{\n\t\t\t\t\"User-Agent\": navigator.userAgent,\n\t\t\t},\n\t\t\tArrayBuffer.prototype\n\t\t);\n\t},\n});\n","import { encodeUrl, rewriteHeaders } from \"../shared\";\n\nXMLHttpRequest.prototype.open = new Proxy(XMLHttpRequest.prototype.open, {\n\tapply(target, thisArg, argArray) {\n\t\tif (argArray[1]) argArray[1] = encodeUrl(argArray[1]);\n\n\t\treturn Reflect.apply(target, thisArg, argArray);\n\t},\n});\n\nXMLHttpRequest.prototype.setRequestHeader = new Proxy(\n\tXMLHttpRequest.prototype.setRequestHeader,\n\t{\n\t\tapply(target, thisArg, argArray) {\n\t\t\tlet headerObject = Object.fromEntries([argArray]);\n\t\t\theaderObject = rewriteHeaders(headerObject);\n\n\t\t\targArray = Object.entries(headerObject)[0];\n\n\t\t\treturn Reflect.apply(target, thisArg, argArray);\n\t\t},\n\t}\n);\n","import { locationProxy } from \"./location\";\nimport { windowProxy } from \"./window\";\n\nfunction scope(identifier: any) {\n\tif (identifier instanceof Window) {\n\t\treturn windowProxy;\n\t} else if (identifier instanceof Location) {\n\t\treturn locationProxy;\n\t}\n\n\treturn identifier;\n}\n\n// shorthand because this can get out of hand reall quickly\nwindow.$s = scope;\n","export const {\n\tutil: { isScramjetFile, BareClient },\n\turl: { encodeUrl, decodeUrl },\n\trewrite: {\n\t\trewriteCss,\n\t\trewriteHtml,\n\t\trewriteSrcset,\n\t\trewriteJs,\n\t\trewriteHeaders,\n\t\trewriteWorkers,\n\t},\n} = self.$scramjet.shared;\n","import IDBMapSync from \"@webreflection/idb-map/sync\";\nimport { locationProxy } from \"./location\";\n\nconst store = new IDBMapSync(locationProxy.host, {\n\tprefix: \"Storage\",\n\tdurability: \"relaxed\",\n});\n\nawait store.sync();\n\nfunction storageProxy(scope: Storage): Storage {\n\treturn new Proxy(scope, {\n\t\tget(target, prop) {\n\t\t\tswitch (prop) {\n\t\t\t\tcase \"getItem\":\n\t\t\t\t\treturn (key: string) => {\n\t\t\t\t\t\treturn store.get(key);\n\t\t\t\t\t};\n\n\t\t\t\tcase \"setItem\":\n\t\t\t\t\treturn (key: string, value: string) => {\n\t\t\t\t\t\tstore.set(key, value);\n\t\t\t\t\t\tstore.sync();\n\t\t\t\t\t};\n\n\t\t\t\tcase \"removeItem\":\n\t\t\t\t\treturn (key: string) => {\n\t\t\t\t\t\tstore.delete(key);\n\t\t\t\t\t\tstore.sync();\n\t\t\t\t\t};\n\n\t\t\t\tcase \"clear\":\n\t\t\t\t\treturn () => {\n\t\t\t\t\t\tstore.clear();\n\t\t\t\t\t\tstore.sync();\n\t\t\t\t\t};\n\n\t\t\t\tcase \"key\":\n\t\t\t\t\treturn (index: number) => {\n\t\t\t\t\t\tstore.keys()[index];\n\t\t\t\t\t};\n\t\t\t\tcase \"length\":\n\t\t\t\t\treturn store.size;\n\t\t\t\tdefault:\n\t\t\t\t\treturn store.get(prop);\n\t\t\t}\n\t\t},\n\n\t\t//@ts-ignore\n\t\tset(target, prop, value) {\n\t\t\tstore.set(prop, value);\n\t\t\tstore.sync();\n\t\t},\n\n\t\tdefineProperty(target, property, attributes) {\n\t\t\tstore.set(property as string, attributes.value);\n\n\t\t\treturn true;\n\t\t},\n\t});\n}\n\nconst localStorageProxy = storageProxy(window.localStorage);\nconst sessionStorageProxy = storageProxy(window.sessionStorage);\n\ndelete window.localStorage;\ndelete window.sessionStorage;\n\nwindow.localStorage = localStorageProxy;\nwindow.sessionStorage = sessionStorageProxy;\n","// import { rewriteHtml, rewriteJs, encodeUrl } from \"./shared\";\n\n// trustedTypes.createPolicy = new Proxy(trustedTypes.createPolicy, {\n// \tapply(target, thisArg, argArray) {\n// \t\tif (argArray[1].createHTML) {\n// \t\t\targArray[1].createHTML = new Proxy(argArray[1].createHTML, {\n// \t\t\t\tapply(target1, thisArg1, argArray1) {\n// \t\t\t\t\treturn rewriteHtml(target1(...argArray1));\n// \t\t\t\t},\n// \t\t\t});\n// \t\t}\n//\n// \t\tif (argArray[1].createScript) {\n// \t\t\targArray[1].createScript = new Proxy(argArray[1].createScript, {\n// \t\t\t\tapply(target1, thisArg1, argArray1) {\n// \t\t\t\t\treturn rewriteJs(target1(...argArray1));\n// \t\t\t\t},\n// \t\t\t});\n// \t\t}\n//\n// \t\tif (argArray[1].createScriptURL) {\n// \t\t\targArray[1].createScriptURL = new Proxy(argArray[1].createScriptURL, {\n// \t\t\t\tapply(target1, thisArg1, argArray1) {\n// \t\t\t\t\treturn encodeUrl(target1(...argArray1));\n// \t\t\t\t},\n// \t\t\t});\n// \t\t}\n//\n// \t\treturn Reflect.apply(target, thisArg, argArray);\n// \t},\n// });\n\n//@ts-nocheck\ndelete window.TrustedHTML;\ndelete window.TrustedScript;\ndelete window.TrustedScriptURL;\ndelete window.TrustedTypePolicy;\ndelete window.TrustedTypePolicyFactory;\ndelete window.trustedTypes;\n","import { encodeUrl } from \"../shared/rewriters/url\";\nexport const URL = globalThis.URL;\n\nif (globalThis.window) {\n\twindow.URL = new Proxy(URL, {\n\t\tconstruct(target, argArray, newTarget) {\n\t\t\tif (typeof argArray[0] === \"string\") argArray[0] = encodeUrl(argArray[0]);\n\t\t\tif (typeof argArray[1] === \"string\") argArray[1] = encodeUrl(argArray[1]);\n\n\t\t\treturn Reflect.construct(target, argArray, newTarget);\n\t\t},\n\t});\n}\n","import { locationProxy } from \"./location\";\n\nexport const windowProxy = new Proxy(window, {\n\tget(target, prop) {\n\t\tconst propIsString = typeof prop === \"string\";\n\t\tif (propIsString && prop === \"location\") {\n\t\t\treturn locationProxy;\n\t\t} else if (\n\t\t\tpropIsString &&\n\t\t\t[\"window\", \"top\", \"parent\", \"self\", \"globalThis\"].includes(prop)\n\t\t) {\n\t\t\treturn windowProxy;\n\t\t} else if (propIsString && prop === \"$scramjet\") {\n\t\t\treturn;\n\t\t} else if (propIsString && prop === \"addEventListener\") {\n\t\t\tconsole.log(\"addEventListener getteetetetetet\");\n\n\t\t\treturn new Proxy(window.addEventListener, {\n\t\t\t\tapply(target1, thisArg, argArray) {\n\t\t\t\t\twindow.addEventListener(argArray[0], argArray[1]);\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\tconst value = Reflect.get(target, prop);\n\n\t\tif (typeof value === \"function\") {\n\t\t\treturn value.bind(target);\n\t\t}\n\n\t\treturn value;\n\t},\n\n\tset(target, prop, newValue) {\n\t\t// ensures that no apis are overwritten\n\t\tif (\n\t\t\ttypeof prop === \"string\" &&\n\t\t\t[\"window\", \"top\", \"parent\", \"self\", \"globalThis\", \"location\"].includes(\n\t\t\t\tprop\n\t\t\t)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn Reflect.set(target, prop, newValue);\n\t},\n});\n","import { encodeUrl } from \"./shared\";\n\nWorker = new Proxy(Worker, {\n\tconstruct(target, argArray) {\n\t\targArray[0] = encodeUrl(argArray[0]);\n\n\t\t// target is a reference to the object that you are proxying\n\t\t// Reflect.construct is just a wrapper for calling target\n\t\t// you could do new target(...argArray) and it would work the same effectively\n\n\t\treturn Reflect.construct(target, argArray);\n\t},\n});\n\nWorklet.prototype.addModule = new Proxy(Worklet.prototype.addModule, {\n\tapply(target, thisArg, argArray) {\n\t\targArray[0] = encodeUrl(argArray[0]);\n\n\t\treturn Reflect.apply(target, thisArg, argArray);\n\t},\n});\n\n// broken\n\n// window.importScripts = new Proxy(window.importScripts, {\n// apply(target, thisArg, argArray) {\n// for (const i in argArray) {\n// argArray[i] = encodeUrl(argArray[i]);\n// }\n\n// return Reflect.apply(target, thisArg, argArray);\n// },\n// });\n","import { parseModule } from \"meriyah\";\nimport { generate } from \"astring\";\nimport { makeTraveler } from \"astravel\";\nimport { encodeUrl } from \"./url\";\nimport * as ESTree from \"estree\";\n\n// i am a cat. i like to be petted. i like to be fed. i like to be\n\n// js rewiter is NOT finished\n\n// location\n// window\n// self\n// globalThis\n// this\n// top\n// parent\n\nexport function rewriteJs(js: string, origin?: URL) {\n\ttry {\n\t\tconst ast = parseModule(js, {\n\t\t\tmodule: true,\n\t\t\twebcompat: true,\n\t\t});\n\n\t\tconst identifierList = [\n\t\t\t\"window\",\n\t\t\t\"self\",\n\t\t\t\"globalThis\",\n\t\t\t\"this\",\n\t\t\t\"parent\",\n\t\t\t\"top\",\n\t\t\t\"location\",\n\t\t];\n\n\t\tconst customTraveler = makeTraveler({\n\t\t\tImportDeclaration: (node: ESTree.ImportDeclaration) => {\n\t\t\t\tnode.source.value = encodeUrl(node.source.value as string, origin);\n\t\t\t},\n\n\t\t\tImportExpression: (node: ESTree.ImportExpression) => {\n\t\t\t\tif (node.source.type === \"Literal\") {\n\t\t\t\t\tnode.source.value = encodeUrl(node.source.value as string, origin);\n\t\t\t\t} else if (node.source.type === \"Identifier\") {\n\t\t\t\t\t// this is for things that import something like\n\t\t\t\t\t// const moduleName = \"name\";\n\t\t\t\t\t// await import(moduleName);\n\t\t\t\t\tnode.source.name = `__wrapImport(${node.source.name})`;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tExportAllDeclaration: (node: ESTree.ExportAllDeclaration) => {\n\t\t\t\tnode.source.value = encodeUrl(node.source.value as string, origin);\n\t\t\t},\n\n\t\t\tExportNamedDeclaration: (node: ESTree.ExportNamedDeclaration) => {\n\t\t\t\t// strings are Literals in ESTree syntax but these will always be strings\n\t\t\t\tif (node.source)\n\t\t\t\t\tnode.source.value = encodeUrl(node.source.value as string, origin);\n\t\t\t},\n\n\t\t\tMemberExpression: (node: ESTree.MemberExpression) => {\n\t\t\t\tif (\n\t\t\t\t\tnode.object.type === \"Identifier\" &&\n\t\t\t\t\tidentifierList.includes(node.object.name)\n\t\t\t\t) {\n\t\t\t\t\tnode.object.name = `globalThis.$s(${node.object.name})`;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tAssignmentExpression: (node: ESTree.AssignmentExpression) => {\n\t\t\t\tif (\n\t\t\t\t\tnode.left.type === \"Identifier\" &&\n\t\t\t\t\tidentifierList.includes(node.left.name)\n\t\t\t\t) {\n\t\t\t\t\tnode.left.name = `globalThis.$s(${node.left.name})`;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tnode.right.type === \"Identifier\" &&\n\t\t\t\t\tidentifierList.includes(node.right.name)\n\t\t\t\t) {\n\t\t\t\t\tnode.right.name = `globalThis.$s(${node.right.name})`;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tVariableDeclarator: (node: ESTree.VariableDeclarator) => {\n\t\t\t\tif (\n\t\t\t\t\tnode.init &&\n\t\t\t\t\tnode.init.type === \"Identifier\" &&\n\t\t\t\t\tidentifierList.includes(node.init.name)\n\t\t\t\t) {\n\t\t\t\t\tnode.init.name = `globalThis.$s(${node.init.name})`;\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\n\t\tcustomTraveler.go(ast);\n\n\t\treturn generate(ast);\n\t} catch (e) {\n\t\tconsole.error(e);\n\t\tconsole.log(js);\n\n\t\treturn js;\n\t}\n}\n","import { URL } from \"../../client/url\";\nimport { rewriteJs } from \"./js\";\n\nfunction canParseUrl(url: string, origin?: URL) {\n\ttry {\n\t\tnew URL(url, origin);\n\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\n// something is broken with this but i didn't debug it\nexport function encodeUrl(url: string | URL, origin?: URL) {\n\tif (url instanceof URL) {\n\t\treturn url.toString();\n\t}\n\n\tif (!origin) {\n\t\torigin = new URL(\n\t\t\tself.$scramjet.config.codec.decode(\n\t\t\t\tlocation.href.slice(\n\t\t\t\t\t(location.origin + self.$scramjet.config.prefix).length\n\t\t\t\t)\n\t\t\t)\n\t\t);\n\t}\n\n\t// is this the correct behavior?\n\tif (!url) url = origin.href;\n\n\tif (url.startsWith(\"javascript:\")) {\n\t\treturn \"javascript:\" + rewriteJs(url.slice(\"javascript:\".length));\n\t} else if (/^(#|mailto|about|data)/.test(url)) {\n\t\treturn url;\n\t} else if (canParseUrl(url, origin)) {\n\t\treturn (\n\t\t\tlocation.origin +\n\t\t\tself.$scramjet.config.prefix +\n\t\t\tself.$scramjet.config.codec.encode(new URL(url, origin).href)\n\t\t);\n\t}\n}\n\n// something is also broken with this but i didn't debug it\nexport function decodeUrl(url: string | URL) {\n\tif (url instanceof URL) {\n\t\treturn url.toString();\n\t}\n\n\tif (/^(#|about|data|mailto|javascript)/.test(url)) {\n\t\treturn url;\n\t} else if (canParseUrl(url)) {\n\t\treturn self.$scramjet.config.codec.decode(\n\t\t\turl.slice((location.origin + self.$scramjet.config.prefix).length)\n\t\t);\n\t} else {\n\t\treturn url;\n\t}\n}\n","const { assign } = Object;\n\nconst STORAGE = 'entries';\nconst READONLY = 'readonly';\nconst READWRITE = 'readwrite';\n\n/**\n * @typedef {Object} IDBMapOptions\n * @prop {'strict' | 'relaxed' | 'default'} [durability]\n * @prop {string} [prefix]\n */\n\n/** @typedef {[IDBValidKey, unknown]} IDBMapEntry */\n\n/** @type {IDBMapOptions} */\nconst defaultOptions = { durability: 'default', prefix: 'IDBMap' };\n\n/**\n * @template T\n * @param {{ target: IDBRequest }} event\n * @returns {T}\n */\nconst result = ({ target: { result } }) => result;\n\nexport default class IDBMap extends EventTarget {\n // Privates\n /** @type {Promise} */ #db;\n /** @type {IDBMapOptions} */ #options;\n /** @type {string} */ #prefix;\n\n /**\n * @template T\n * @param {(store: IDBObjectStore) => IDBRequest} what\n * @param {'readonly' | 'readwrite'} how\n * @returns {Promise}\n */\n async #transaction(what, how) {\n const db = await this.#db;\n const t = db.transaction(STORAGE, how, this.#options);\n return new Promise((onsuccess, onerror) => assign(\n what(t.objectStore(STORAGE)),\n {\n onsuccess,\n onerror,\n }\n ));\n }\n\n /**\n * @param {string} name\n * @param {IDBMapOptions} options\n */\n constructor(\n name,\n {\n durability = defaultOptions.durability,\n prefix = defaultOptions.prefix,\n } = defaultOptions\n ) {\n super();\n this.#prefix = prefix;\n this.#options = { durability };\n this.#db = new Promise((resolve, reject) => {\n assign(\n indexedDB.open(`${this.#prefix}/${name}`),\n {\n onupgradeneeded({ target: { result, transaction } }) {\n if (!result.objectStoreNames.length)\n result.createObjectStore(STORAGE);\n transaction.oncomplete = () => resolve(result);\n },\n onsuccess(event) {\n resolve(result(event));\n },\n onerror(event) {\n reject(event);\n this.dispatchEvent(event);\n },\n },\n );\n }).then(result => {\n const boundDispatch = this.dispatchEvent.bind(this);\n for (const key in result) {\n if (key.startsWith('on'))\n result[key] = boundDispatch;\n }\n return result;\n });\n }\n\n // EventTarget Forwards\n /**\n * @param {Event} event\n * @returns \n */\n dispatchEvent(event) {\n const { type, message, isTrusted } = event;\n return super.dispatchEvent(\n // avoid re-dispatching of the same event\n isTrusted ?\n assign(new Event(type), { message }) :\n event\n );\n }\n\n // IDBDatabase Forwards\n async close() {\n (await this.#db).close();\n }\n\n // Map async API\n get size() {\n return this.#transaction(\n store => store.count(),\n READONLY,\n ).then(result);\n }\n\n async clear() {\n await this.#transaction(\n store => store.clear(),\n READWRITE,\n );\n }\n\n /**\n * @param {IDBValidKey} key\n */\n async delete(key) {\n await this.#transaction(\n store => store.delete(key),\n READWRITE,\n );\n }\n\n /**\n * @returns {Promise}\n */\n async entries() {\n const keys = await this.keys();\n return Promise.all(keys.map(key => this.get(key).then(value => [key, value])));\n }\n\n /**\n * @param {(unknown, IDBValidKey, IDBMap) => void} callback\n * @param {unknown} [context]\n */\n async forEach(callback, context = this) {\n for (const [key, value] of await this.entries())\n await callback.call(context, value, key, this);\n }\n\n /**\n * @param {IDBValidKey} key\n * @returns {Promise}\n */\n async get(key) {\n const value = await this.#transaction(\n store => store.get(key),\n READONLY,\n ).then(result);\n return value;\n }\n\n /**\n * @param {IDBValidKey} key\n */\n async has(key) {\n const k = await this.#transaction(\n store => store.getKey(key),\n READONLY,\n ).then(result);\n return k !== void 0;\n }\n\n async keys() {\n const keys = await this.#transaction(\n store => store.getAllKeys(),\n READONLY,\n ).then(result);\n return keys;\n }\n\n /**\n * @param {IDBValidKey} key\n * @param {unknown} value\n */\n async set(key, value) {\n await this.#transaction(\n store => store.put(value, key),\n READWRITE,\n );\n return this;\n }\n\n async values() {\n const keys = await this.keys();\n return Promise.all(keys.map(key => this.get(key)));\n }\n\n get [Symbol.toStringTag]() {\n return this.#prefix;\n }\n}\n","import IDBMap from './index.js';\n\nexport default class IDBMapSync extends Map {\n #map;\n #queue;\n constructor(...args) {\n super();\n this.#map = new IDBMap(...args);\n this.#queue = this.#map.entries().then(entries => {\n for (const [key, value] of entries)\n super.set(key, value);\n });\n }\n async sync() {\n await this.#queue;\n }\n clear() {\n this.#queue = this.#queue.then(() => this.#map.clear());\n return super.clear();\n }\n delete(key) {\n this.#queue = this.#queue.then(() => this.#map.delete(key));\n return super.delete(key);\n }\n set(key, value) {\n this.#queue = this.#queue.then(() => this.#map.set(key, value));\n return super.set(key, value);\n }\n}\n","// Astring is a tiny and fast JavaScript code generator from an ESTree-compliant AST.\n//\n// Astring was written by David Bonnet and released under an MIT license.\n//\n// The Git repository for Astring is available at:\n// https://github.com/davidbonnet/astring.git\n//\n// Please use the GitHub bug tracker to report issues:\n// https://github.com/davidbonnet/astring/issues\n\nconst { stringify } = JSON\n\n/* c8 ignore if */\nif (!String.prototype.repeat) {\n /* c8 ignore next */\n throw new Error(\n 'String.prototype.repeat is undefined, see https://github.com/davidbonnet/astring#installation',\n )\n}\n\n/* c8 ignore if */\nif (!String.prototype.endsWith) {\n /* c8 ignore next */\n throw new Error(\n 'String.prototype.endsWith is undefined, see https://github.com/davidbonnet/astring#installation',\n )\n}\n\nconst OPERATOR_PRECEDENCE = {\n '||': 2,\n '??': 3,\n '&&': 4,\n '|': 5,\n '^': 6,\n '&': 7,\n '==': 8,\n '!=': 8,\n '===': 8,\n '!==': 8,\n '<': 9,\n '>': 9,\n '<=': 9,\n '>=': 9,\n in: 9,\n instanceof: 9,\n '<<': 10,\n '>>': 10,\n '>>>': 10,\n '+': 11,\n '-': 11,\n '*': 12,\n '%': 12,\n '/': 12,\n '**': 13,\n}\n\n// Enables parenthesis regardless of precedence\nexport const NEEDS_PARENTHESES = 17\n\nexport const EXPRESSIONS_PRECEDENCE = {\n // Definitions\n ArrayExpression: 20,\n TaggedTemplateExpression: 20,\n ThisExpression: 20,\n Identifier: 20,\n PrivateIdentifier: 20,\n Literal: 18,\n TemplateLiteral: 20,\n Super: 20,\n SequenceExpression: 20,\n // Operations\n MemberExpression: 19,\n ChainExpression: 19,\n CallExpression: 19,\n NewExpression: 19,\n // Other definitions\n ArrowFunctionExpression: NEEDS_PARENTHESES,\n ClassExpression: NEEDS_PARENTHESES,\n FunctionExpression: NEEDS_PARENTHESES,\n ObjectExpression: NEEDS_PARENTHESES,\n // Other operations\n UpdateExpression: 16,\n UnaryExpression: 15,\n AwaitExpression: 15,\n BinaryExpression: 14,\n LogicalExpression: 13,\n ConditionalExpression: 4,\n AssignmentExpression: 3,\n YieldExpression: 2,\n RestElement: 1,\n}\n\nfunction formatSequence(state, nodes) {\n /*\n Writes into `state` a sequence of `nodes`.\n */\n const { generator } = state\n state.write('(')\n if (nodes != null && nodes.length > 0) {\n generator[nodes[0].type](nodes[0], state)\n const { length } = nodes\n for (let i = 1; i < length; i++) {\n const param = nodes[i]\n state.write(', ')\n generator[param.type](param, state)\n }\n }\n state.write(')')\n}\n\nfunction expressionNeedsParenthesis(state, node, parentNode, isRightHand) {\n const nodePrecedence = state.expressionsPrecedence[node.type]\n if (nodePrecedence === NEEDS_PARENTHESES) {\n return true\n }\n const parentNodePrecedence = state.expressionsPrecedence[parentNode.type]\n if (nodePrecedence !== parentNodePrecedence) {\n // Different node types\n return (\n (!isRightHand &&\n nodePrecedence === 15 &&\n parentNodePrecedence === 14 &&\n parentNode.operator === '**') ||\n nodePrecedence < parentNodePrecedence\n )\n }\n if (nodePrecedence !== 13 && nodePrecedence !== 14) {\n // Not a `LogicalExpression` or `BinaryExpression`\n return false\n }\n if (node.operator === '**' && parentNode.operator === '**') {\n // Exponentiation operator has right-to-left associativity\n return !isRightHand\n }\n if (\n nodePrecedence === 13 &&\n parentNodePrecedence === 13 &&\n (node.operator === '??' || parentNode.operator === '??')\n ) {\n // Nullish coalescing and boolean operators cannot be combined\n return true\n }\n if (isRightHand) {\n // Parenthesis are used if both operators have the same precedence\n return (\n OPERATOR_PRECEDENCE[node.operator] <=\n OPERATOR_PRECEDENCE[parentNode.operator]\n )\n }\n return (\n OPERATOR_PRECEDENCE[node.operator] <\n OPERATOR_PRECEDENCE[parentNode.operator]\n )\n}\n\nfunction formatExpression(state, node, parentNode, isRightHand) {\n /*\n Writes into `state` the provided `node`, adding parenthesis around if the provided `parentNode` needs it. If `node` is a right-hand argument, the provided `isRightHand` parameter should be `true`.\n */\n const { generator } = state\n if (expressionNeedsParenthesis(state, node, parentNode, isRightHand)) {\n state.write('(')\n generator[node.type](node, state)\n state.write(')')\n } else {\n generator[node.type](node, state)\n }\n}\n\nfunction reindent(state, text, indent, lineEnd) {\n /*\n Writes into `state` the `text` string reindented with the provided `indent`.\n */\n const lines = text.split('\\n')\n const end = lines.length - 1\n state.write(lines[0].trim())\n if (end > 0) {\n state.write(lineEnd)\n for (let i = 1; i < end; i++) {\n state.write(indent + lines[i].trim() + lineEnd)\n }\n state.write(indent + lines[end].trim())\n }\n}\n\nfunction formatComments(state, comments, indent, lineEnd) {\n /*\n Writes into `state` the provided list of `comments`, with the given `indent` and `lineEnd` strings.\n Line comments will end with `\"\\n\"` regardless of the value of `lineEnd`.\n Expects to start on a new unindented line.\n */\n const { length } = comments\n for (let i = 0; i < length; i++) {\n const comment = comments[i]\n state.write(indent)\n if (comment.type[0] === 'L') {\n // Line comment\n state.write('// ' + comment.value.trim() + '\\n', comment)\n } else {\n // Block comment\n state.write('/*')\n reindent(state, comment.value, indent, lineEnd)\n state.write('*/' + lineEnd)\n }\n }\n}\n\nfunction hasCallExpression(node) {\n /*\n Returns `true` if the provided `node` contains a call expression and `false` otherwise.\n */\n let currentNode = node\n while (currentNode != null) {\n const { type } = currentNode\n if (type[0] === 'C' && type[1] === 'a') {\n // Is CallExpression\n return true\n } else if (type[0] === 'M' && type[1] === 'e' && type[2] === 'm') {\n // Is MemberExpression\n currentNode = currentNode.object\n } else {\n return false\n }\n }\n}\n\nfunction formatVariableDeclaration(state, node) {\n /*\n Writes into `state` a variable declaration.\n */\n const { generator } = state\n const { declarations } = node\n state.write(node.kind + ' ')\n const { length } = declarations\n if (length > 0) {\n generator.VariableDeclarator(declarations[0], state)\n for (let i = 1; i < length; i++) {\n state.write(', ')\n generator.VariableDeclarator(declarations[i], state)\n }\n }\n}\n\nlet ForInStatement,\n FunctionDeclaration,\n RestElement,\n BinaryExpression,\n ArrayExpression,\n BlockStatement\n\nexport const GENERATOR = {\n /*\n Default generator.\n */\n Program(node, state) {\n const indent = state.indent.repeat(state.indentLevel)\n const { lineEnd, writeComments } = state\n if (writeComments && node.comments != null) {\n formatComments(state, node.comments, indent, lineEnd)\n }\n const statements = node.body\n const { length } = statements\n for (let i = 0; i < length; i++) {\n const statement = statements[i]\n if (writeComments && statement.comments != null) {\n formatComments(state, statement.comments, indent, lineEnd)\n }\n state.write(indent)\n this[statement.type](statement, state)\n state.write(lineEnd)\n }\n if (writeComments && node.trailingComments != null) {\n formatComments(state, node.trailingComments, indent, lineEnd)\n }\n },\n BlockStatement: (BlockStatement = function (node, state) {\n const indent = state.indent.repeat(state.indentLevel++)\n const { lineEnd, writeComments } = state\n const statementIndent = indent + state.indent\n state.write('{')\n const statements = node.body\n if (statements != null && statements.length > 0) {\n state.write(lineEnd)\n if (writeComments && node.comments != null) {\n formatComments(state, node.comments, statementIndent, lineEnd)\n }\n const { length } = statements\n for (let i = 0; i < length; i++) {\n const statement = statements[i]\n if (writeComments && statement.comments != null) {\n formatComments(state, statement.comments, statementIndent, lineEnd)\n }\n state.write(statementIndent)\n this[statement.type](statement, state)\n state.write(lineEnd)\n }\n state.write(indent)\n } else {\n if (writeComments && node.comments != null) {\n state.write(lineEnd)\n formatComments(state, node.comments, statementIndent, lineEnd)\n state.write(indent)\n }\n }\n if (writeComments && node.trailingComments != null) {\n formatComments(state, node.trailingComments, statementIndent, lineEnd)\n }\n state.write('}')\n state.indentLevel--\n }),\n ClassBody: BlockStatement,\n StaticBlock(node, state) {\n state.write('static ')\n this.BlockStatement(node, state)\n },\n EmptyStatement(node, state) {\n state.write(';')\n },\n ExpressionStatement(node, state) {\n const precedence = state.expressionsPrecedence[node.expression.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n (precedence === 3 && node.expression.left.type[0] === 'O')\n ) {\n // Should always have parentheses or is an AssignmentExpression to an ObjectPattern\n state.write('(')\n this[node.expression.type](node.expression, state)\n state.write(')')\n } else {\n this[node.expression.type](node.expression, state)\n }\n state.write(';')\n },\n IfStatement(node, state) {\n state.write('if (')\n this[node.test.type](node.test, state)\n state.write(') ')\n this[node.consequent.type](node.consequent, state)\n if (node.alternate != null) {\n state.write(' else ')\n this[node.alternate.type](node.alternate, state)\n }\n },\n LabeledStatement(node, state) {\n this[node.label.type](node.label, state)\n state.write(': ')\n this[node.body.type](node.body, state)\n },\n BreakStatement(node, state) {\n state.write('break')\n if (node.label != null) {\n state.write(' ')\n this[node.label.type](node.label, state)\n }\n state.write(';')\n },\n ContinueStatement(node, state) {\n state.write('continue')\n if (node.label != null) {\n state.write(' ')\n this[node.label.type](node.label, state)\n }\n state.write(';')\n },\n WithStatement(node, state) {\n state.write('with (')\n this[node.object.type](node.object, state)\n state.write(') ')\n this[node.body.type](node.body, state)\n },\n SwitchStatement(node, state) {\n const indent = state.indent.repeat(state.indentLevel++)\n const { lineEnd, writeComments } = state\n state.indentLevel++\n const caseIndent = indent + state.indent\n const statementIndent = caseIndent + state.indent\n state.write('switch (')\n this[node.discriminant.type](node.discriminant, state)\n state.write(') {' + lineEnd)\n const { cases: occurences } = node\n const { length: occurencesCount } = occurences\n for (let i = 0; i < occurencesCount; i++) {\n const occurence = occurences[i]\n if (writeComments && occurence.comments != null) {\n formatComments(state, occurence.comments, caseIndent, lineEnd)\n }\n if (occurence.test) {\n state.write(caseIndent + 'case ')\n this[occurence.test.type](occurence.test, state)\n state.write(':' + lineEnd)\n } else {\n state.write(caseIndent + 'default:' + lineEnd)\n }\n const { consequent } = occurence\n const { length: consequentCount } = consequent\n for (let i = 0; i < consequentCount; i++) {\n const statement = consequent[i]\n if (writeComments && statement.comments != null) {\n formatComments(state, statement.comments, statementIndent, lineEnd)\n }\n state.write(statementIndent)\n this[statement.type](statement, state)\n state.write(lineEnd)\n }\n }\n state.indentLevel -= 2\n state.write(indent + '}')\n },\n ReturnStatement(node, state) {\n state.write('return')\n if (node.argument) {\n state.write(' ')\n this[node.argument.type](node.argument, state)\n }\n state.write(';')\n },\n ThrowStatement(node, state) {\n state.write('throw ')\n this[node.argument.type](node.argument, state)\n state.write(';')\n },\n TryStatement(node, state) {\n state.write('try ')\n this[node.block.type](node.block, state)\n if (node.handler) {\n const { handler } = node\n if (handler.param == null) {\n state.write(' catch ')\n } else {\n state.write(' catch (')\n this[handler.param.type](handler.param, state)\n state.write(') ')\n }\n this[handler.body.type](handler.body, state)\n }\n if (node.finalizer) {\n state.write(' finally ')\n this[node.finalizer.type](node.finalizer, state)\n }\n },\n WhileStatement(node, state) {\n state.write('while (')\n this[node.test.type](node.test, state)\n state.write(') ')\n this[node.body.type](node.body, state)\n },\n DoWhileStatement(node, state) {\n state.write('do ')\n this[node.body.type](node.body, state)\n state.write(' while (')\n this[node.test.type](node.test, state)\n state.write(');')\n },\n ForStatement(node, state) {\n state.write('for (')\n if (node.init != null) {\n const { init } = node\n if (init.type[0] === 'V') {\n formatVariableDeclaration(state, init)\n } else {\n this[init.type](init, state)\n }\n }\n state.write('; ')\n if (node.test) {\n this[node.test.type](node.test, state)\n }\n state.write('; ')\n if (node.update) {\n this[node.update.type](node.update, state)\n }\n state.write(') ')\n this[node.body.type](node.body, state)\n },\n ForInStatement: (ForInStatement = function (node, state) {\n state.write(`for ${node.await ? 'await ' : ''}(`)\n const { left } = node\n if (left.type[0] === 'V') {\n formatVariableDeclaration(state, left)\n } else {\n this[left.type](left, state)\n }\n // Identifying whether node.type is `ForInStatement` or `ForOfStatement`\n state.write(node.type[3] === 'I' ? ' in ' : ' of ')\n this[node.right.type](node.right, state)\n state.write(') ')\n this[node.body.type](node.body, state)\n }),\n ForOfStatement: ForInStatement,\n DebuggerStatement(node, state) {\n state.write('debugger;', node)\n },\n FunctionDeclaration: (FunctionDeclaration = function (node, state) {\n state.write(\n (node.async ? 'async ' : '') +\n (node.generator ? 'function* ' : 'function ') +\n (node.id ? node.id.name : ''),\n node,\n )\n formatSequence(state, node.params)\n state.write(' ')\n this[node.body.type](node.body, state)\n }),\n FunctionExpression: FunctionDeclaration,\n VariableDeclaration(node, state) {\n formatVariableDeclaration(state, node)\n state.write(';')\n },\n VariableDeclarator(node, state) {\n this[node.id.type](node.id, state)\n if (node.init != null) {\n state.write(' = ')\n this[node.init.type](node.init, state)\n }\n },\n ClassDeclaration(node, state) {\n state.write('class ' + (node.id ? `${node.id.name} ` : ''), node)\n if (node.superClass) {\n state.write('extends ')\n const { superClass } = node\n const { type } = superClass\n const precedence = state.expressionsPrecedence[type]\n if (\n (type[0] !== 'C' || type[1] !== 'l' || type[5] !== 'E') &&\n (precedence === NEEDS_PARENTHESES ||\n precedence < state.expressionsPrecedence.ClassExpression)\n ) {\n // Not a ClassExpression that needs parentheses\n state.write('(')\n this[node.superClass.type](superClass, state)\n state.write(')')\n } else {\n this[superClass.type](superClass, state)\n }\n state.write(' ')\n }\n this.ClassBody(node.body, state)\n },\n ImportDeclaration(node, state) {\n state.write('import ')\n const { specifiers } = node\n const { length } = specifiers\n // TODO: Once babili is fixed, put this after condition\n // https://github.com/babel/babili/issues/430\n let i = 0\n if (length > 0) {\n for (; i < length; ) {\n if (i > 0) {\n state.write(', ')\n }\n const specifier = specifiers[i]\n const type = specifier.type[6]\n if (type === 'D') {\n // ImportDefaultSpecifier\n state.write(specifier.local.name, specifier)\n i++\n } else if (type === 'N') {\n // ImportNamespaceSpecifier\n state.write('* as ' + specifier.local.name, specifier)\n i++\n } else {\n // ImportSpecifier\n break\n }\n }\n if (i < length) {\n state.write('{')\n for (;;) {\n const specifier = specifiers[i]\n const { name } = specifier.imported\n state.write(name, specifier)\n if (name !== specifier.local.name) {\n state.write(' as ' + specifier.local.name)\n }\n if (++i < length) {\n state.write(', ')\n } else {\n break\n }\n }\n state.write('}')\n }\n state.write(' from ')\n }\n this.Literal(node.source, state)\n state.write(';')\n },\n ImportExpression(node, state) {\n state.write('import(')\n this[node.source.type](node.source, state)\n state.write(')')\n },\n ExportDefaultDeclaration(node, state) {\n state.write('export default ')\n this[node.declaration.type](node.declaration, state)\n if (\n state.expressionsPrecedence[node.declaration.type] != null &&\n node.declaration.type[0] !== 'F'\n ) {\n // All expression nodes except `FunctionExpression`\n state.write(';')\n }\n },\n ExportNamedDeclaration(node, state) {\n state.write('export ')\n if (node.declaration) {\n this[node.declaration.type](node.declaration, state)\n } else {\n state.write('{')\n const { specifiers } = node,\n { length } = specifiers\n if (length > 0) {\n for (let i = 0; ; ) {\n const specifier = specifiers[i]\n const { name } = specifier.local\n state.write(name, specifier)\n if (name !== specifier.exported.name) {\n state.write(' as ' + specifier.exported.name)\n }\n if (++i < length) {\n state.write(', ')\n } else {\n break\n }\n }\n }\n state.write('}')\n if (node.source) {\n state.write(' from ')\n this.Literal(node.source, state)\n }\n state.write(';')\n }\n },\n ExportAllDeclaration(node, state) {\n if (node.exported != null) {\n state.write('export * as ' + node.exported.name + ' from ')\n } else {\n state.write('export * from ')\n }\n this.Literal(node.source, state)\n state.write(';')\n },\n MethodDefinition(node, state) {\n if (node.static) {\n state.write('static ')\n }\n const kind = node.kind[0]\n if (kind === 'g' || kind === 's') {\n // Getter or setter\n state.write(node.kind + ' ')\n }\n if (node.value.async) {\n state.write('async ')\n }\n if (node.value.generator) {\n state.write('*')\n }\n if (node.computed) {\n state.write('[')\n this[node.key.type](node.key, state)\n state.write(']')\n } else {\n this[node.key.type](node.key, state)\n }\n formatSequence(state, node.value.params)\n state.write(' ')\n this[node.value.body.type](node.value.body, state)\n },\n ClassExpression(node, state) {\n this.ClassDeclaration(node, state)\n },\n ArrowFunctionExpression(node, state) {\n state.write(node.async ? 'async ' : '', node)\n const { params } = node\n if (params != null) {\n // Omit parenthesis if only one named parameter\n if (params.length === 1 && params[0].type[0] === 'I') {\n // If params[0].type[0] starts with 'I', it can't be `ImportDeclaration` nor `IfStatement` and thus is `Identifier`\n state.write(params[0].name, params[0])\n } else {\n formatSequence(state, node.params)\n }\n }\n state.write(' => ')\n if (node.body.type[0] === 'O') {\n // Body is an object expression\n state.write('(')\n this.ObjectExpression(node.body, state)\n state.write(')')\n } else {\n this[node.body.type](node.body, state)\n }\n },\n ThisExpression(node, state) {\n state.write('this', node)\n },\n Super(node, state) {\n state.write('super', node)\n },\n RestElement: (RestElement = function (node, state) {\n state.write('...')\n this[node.argument.type](node.argument, state)\n }),\n SpreadElement: RestElement,\n YieldExpression(node, state) {\n state.write(node.delegate ? 'yield*' : 'yield')\n if (node.argument) {\n state.write(' ')\n this[node.argument.type](node.argument, state)\n }\n },\n AwaitExpression(node, state) {\n state.write('await ', node)\n formatExpression(state, node.argument, node)\n },\n TemplateLiteral(node, state) {\n const { quasis, expressions } = node\n state.write('`')\n const { length } = expressions\n for (let i = 0; i < length; i++) {\n const expression = expressions[i]\n const quasi = quasis[i]\n state.write(quasi.value.raw, quasi)\n state.write('${')\n this[expression.type](expression, state)\n state.write('}')\n }\n const quasi = quasis[quasis.length - 1]\n state.write(quasi.value.raw, quasi)\n state.write('`')\n },\n TemplateElement(node, state) {\n state.write(node.value.raw, node)\n },\n TaggedTemplateExpression(node, state) {\n formatExpression(state, node.tag, node)\n this[node.quasi.type](node.quasi, state)\n },\n ArrayExpression: (ArrayExpression = function (node, state) {\n state.write('[')\n if (node.elements.length > 0) {\n const { elements } = node,\n { length } = elements\n for (let i = 0; ; ) {\n const element = elements[i]\n if (element != null) {\n this[element.type](element, state)\n }\n if (++i < length) {\n state.write(', ')\n } else {\n if (element == null) {\n state.write(', ')\n }\n break\n }\n }\n }\n state.write(']')\n }),\n ArrayPattern: ArrayExpression,\n ObjectExpression(node, state) {\n const indent = state.indent.repeat(state.indentLevel++)\n const { lineEnd, writeComments } = state\n const propertyIndent = indent + state.indent\n state.write('{')\n if (node.properties.length > 0) {\n state.write(lineEnd)\n if (writeComments && node.comments != null) {\n formatComments(state, node.comments, propertyIndent, lineEnd)\n }\n const comma = ',' + lineEnd\n const { properties } = node,\n { length } = properties\n for (let i = 0; ; ) {\n const property = properties[i]\n if (writeComments && property.comments != null) {\n formatComments(state, property.comments, propertyIndent, lineEnd)\n }\n state.write(propertyIndent)\n this[property.type](property, state)\n if (++i < length) {\n state.write(comma)\n } else {\n break\n }\n }\n state.write(lineEnd)\n if (writeComments && node.trailingComments != null) {\n formatComments(state, node.trailingComments, propertyIndent, lineEnd)\n }\n state.write(indent + '}')\n } else if (writeComments) {\n if (node.comments != null) {\n state.write(lineEnd)\n formatComments(state, node.comments, propertyIndent, lineEnd)\n if (node.trailingComments != null) {\n formatComments(state, node.trailingComments, propertyIndent, lineEnd)\n }\n state.write(indent + '}')\n } else if (node.trailingComments != null) {\n state.write(lineEnd)\n formatComments(state, node.trailingComments, propertyIndent, lineEnd)\n state.write(indent + '}')\n } else {\n state.write('}')\n }\n } else {\n state.write('}')\n }\n state.indentLevel--\n },\n Property(node, state) {\n if (node.method || node.kind[0] !== 'i') {\n // Either a method or of kind `set` or `get` (not `init`)\n this.MethodDefinition(node, state)\n } else {\n if (!node.shorthand) {\n if (node.computed) {\n state.write('[')\n this[node.key.type](node.key, state)\n state.write(']')\n } else {\n this[node.key.type](node.key, state)\n }\n state.write(': ')\n }\n this[node.value.type](node.value, state)\n }\n },\n PropertyDefinition(node, state) {\n if (node.static) {\n state.write('static ')\n }\n if (node.computed) {\n state.write('[')\n }\n this[node.key.type](node.key, state)\n if (node.computed) {\n state.write(']')\n }\n if (node.value == null) {\n if (node.key.type[0] !== 'F') {\n state.write(';')\n }\n return\n }\n state.write(' = ')\n this[node.value.type](node.value, state)\n state.write(';')\n },\n ObjectPattern(node, state) {\n state.write('{')\n if (node.properties.length > 0) {\n const { properties } = node,\n { length } = properties\n for (let i = 0; ; ) {\n this[properties[i].type](properties[i], state)\n if (++i < length) {\n state.write(', ')\n } else {\n break\n }\n }\n }\n state.write('}')\n },\n SequenceExpression(node, state) {\n formatSequence(state, node.expressions)\n },\n UnaryExpression(node, state) {\n if (node.prefix) {\n const {\n operator,\n argument,\n argument: { type },\n } = node\n state.write(operator)\n const needsParentheses = expressionNeedsParenthesis(state, argument, node)\n if (\n !needsParentheses &&\n (operator.length > 1 ||\n (type[0] === 'U' &&\n (type[1] === 'n' || type[1] === 'p') &&\n argument.prefix &&\n argument.operator[0] === operator &&\n (operator === '+' || operator === '-')))\n ) {\n // Large operator or argument is UnaryExpression or UpdateExpression node\n state.write(' ')\n }\n if (needsParentheses) {\n state.write(operator.length > 1 ? ' (' : '(')\n this[type](argument, state)\n state.write(')')\n } else {\n this[type](argument, state)\n }\n } else {\n // FIXME: This case never occurs\n this[node.argument.type](node.argument, state)\n state.write(node.operator)\n }\n },\n UpdateExpression(node, state) {\n // Always applied to identifiers or members, no parenthesis check needed\n if (node.prefix) {\n state.write(node.operator)\n this[node.argument.type](node.argument, state)\n } else {\n this[node.argument.type](node.argument, state)\n state.write(node.operator)\n }\n },\n AssignmentExpression(node, state) {\n this[node.left.type](node.left, state)\n state.write(' ' + node.operator + ' ')\n this[node.right.type](node.right, state)\n },\n AssignmentPattern(node, state) {\n this[node.left.type](node.left, state)\n state.write(' = ')\n this[node.right.type](node.right, state)\n },\n BinaryExpression: (BinaryExpression = function (node, state) {\n const isIn = node.operator === 'in'\n if (isIn) {\n // Avoids confusion in `for` loops initializers\n state.write('(')\n }\n formatExpression(state, node.left, node, false)\n state.write(' ' + node.operator + ' ')\n formatExpression(state, node.right, node, true)\n if (isIn) {\n state.write(')')\n }\n }),\n LogicalExpression: BinaryExpression,\n ConditionalExpression(node, state) {\n const { test } = node\n const precedence = state.expressionsPrecedence[test.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n precedence <= state.expressionsPrecedence.ConditionalExpression\n ) {\n state.write('(')\n this[test.type](test, state)\n state.write(')')\n } else {\n this[test.type](test, state)\n }\n state.write(' ? ')\n this[node.consequent.type](node.consequent, state)\n state.write(' : ')\n this[node.alternate.type](node.alternate, state)\n },\n NewExpression(node, state) {\n state.write('new ')\n const precedence = state.expressionsPrecedence[node.callee.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n precedence < state.expressionsPrecedence.CallExpression ||\n hasCallExpression(node.callee)\n ) {\n state.write('(')\n this[node.callee.type](node.callee, state)\n state.write(')')\n } else {\n this[node.callee.type](node.callee, state)\n }\n formatSequence(state, node['arguments'])\n },\n CallExpression(node, state) {\n const precedence = state.expressionsPrecedence[node.callee.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n precedence < state.expressionsPrecedence.CallExpression\n ) {\n state.write('(')\n this[node.callee.type](node.callee, state)\n state.write(')')\n } else {\n this[node.callee.type](node.callee, state)\n }\n if (node.optional) {\n state.write('?.')\n }\n formatSequence(state, node['arguments'])\n },\n ChainExpression(node, state) {\n this[node.expression.type](node.expression, state)\n },\n MemberExpression(node, state) {\n const precedence = state.expressionsPrecedence[node.object.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n precedence < state.expressionsPrecedence.MemberExpression\n ) {\n state.write('(')\n this[node.object.type](node.object, state)\n state.write(')')\n } else {\n this[node.object.type](node.object, state)\n }\n if (node.computed) {\n if (node.optional) {\n state.write('?.')\n }\n state.write('[')\n this[node.property.type](node.property, state)\n state.write(']')\n } else {\n if (node.optional) {\n state.write('?.')\n } else {\n state.write('.')\n }\n this[node.property.type](node.property, state)\n }\n },\n MetaProperty(node, state) {\n state.write(node.meta.name + '.' + node.property.name, node)\n },\n Identifier(node, state) {\n state.write(node.name, node)\n },\n PrivateIdentifier(node, state) {\n state.write(`#${node.name}`, node)\n },\n Literal(node, state) {\n if (node.raw != null) {\n // Non-standard property\n state.write(node.raw, node)\n } else if (node.regex != null) {\n this.RegExpLiteral(node, state)\n } else if (node.bigint != null) {\n state.write(node.bigint + 'n', node)\n } else {\n state.write(stringify(node.value), node)\n }\n },\n RegExpLiteral(node, state) {\n const { regex } = node\n state.write(`/${regex.pattern}/${regex.flags}`, node)\n },\n}\n\nconst EMPTY_OBJECT = {}\n\n/*\nDEPRECATED: Alternate export of `GENERATOR`.\n*/\nexport const baseGenerator = GENERATOR\n\nclass State {\n constructor(options) {\n const setup = options == null ? EMPTY_OBJECT : options\n this.output = ''\n // Functional options\n if (setup.output != null) {\n this.output = setup.output\n this.write = this.writeToStream\n } else {\n this.output = ''\n }\n this.generator = setup.generator != null ? setup.generator : GENERATOR\n this.expressionsPrecedence =\n setup.expressionsPrecedence != null\n ? setup.expressionsPrecedence\n : EXPRESSIONS_PRECEDENCE\n // Formating setup\n this.indent = setup.indent != null ? setup.indent : ' '\n this.lineEnd = setup.lineEnd != null ? setup.lineEnd : '\\n'\n this.indentLevel =\n setup.startingIndentLevel != null ? setup.startingIndentLevel : 0\n this.writeComments = setup.comments ? setup.comments : false\n // Source map\n if (setup.sourceMap != null) {\n this.write =\n setup.output == null ? this.writeAndMap : this.writeToStreamAndMap\n this.sourceMap = setup.sourceMap\n this.line = 1\n this.column = 0\n this.lineEndSize = this.lineEnd.split('\\n').length - 1\n this.mapping = {\n original: null,\n // Uses the entire state to avoid generating ephemeral objects\n generated: this,\n name: undefined,\n source: setup.sourceMap.file || setup.sourceMap._file,\n }\n }\n }\n\n write(code) {\n this.output += code\n }\n\n writeToStream(code) {\n this.output.write(code)\n }\n\n writeAndMap(code, node) {\n this.output += code\n this.map(code, node)\n }\n\n writeToStreamAndMap(code, node) {\n this.output.write(code)\n this.map(code, node)\n }\n\n map(code, node) {\n if (node != null) {\n const { type } = node\n if (type[0] === 'L' && type[2] === 'n') {\n // LineComment\n this.column = 0\n this.line++\n return\n }\n if (node.loc != null) {\n const { mapping } = this\n mapping.original = node.loc.start\n mapping.name = node.name\n this.sourceMap.addMapping(mapping)\n }\n if (\n (type[0] === 'T' && type[8] === 'E') ||\n (type[0] === 'L' && type[1] === 'i' && typeof node.value === 'string')\n ) {\n // TemplateElement or Literal string node\n const { length } = code\n let { column, line } = this\n for (let i = 0; i < length; i++) {\n if (code[i] === '\\n') {\n column = 0\n line++\n } else {\n column++\n }\n }\n this.column = column\n this.line = line\n return\n }\n }\n const { length } = code\n const { lineEnd } = this\n if (length > 0) {\n if (\n this.lineEndSize > 0 &&\n (lineEnd.length === 1\n ? code[length - 1] === lineEnd\n : code.endsWith(lineEnd))\n ) {\n this.line += this.lineEndSize\n this.column = 0\n } else {\n this.column += length\n }\n }\n }\n\n toString() {\n return this.output\n }\n}\n\nexport function generate(node, options) {\n /*\n Returns a string representing the rendered code of the provided AST `node`.\n The `options` are:\n\n - `indent`: string to use for indentation (defaults to `␣␣`)\n - `lineEnd`: string to use for line endings (defaults to `\\n`)\n - `startingIndentLevel`: indent level to start from (defaults to `0`)\n - `comments`: generate comments if `true` (defaults to `false`)\n - `output`: output stream to write the rendered code to (defaults to `null`)\n - `generator`: custom code generator (defaults to `GENERATOR`)\n - `expressionsPrecedence`: custom map of node types and their precedence level (defaults to `EXPRESSIONS_PRECEDENCE`)\n */\n const state = new State(options)\n // Travel through the AST node and generate the code\n state.generator[node.type](node, state)\n return state.output\n}\n","const errorMessages = {\r\n [0]: 'Unexpected token',\r\n [28]: \"Unexpected token: '%0'\",\r\n [1]: 'Octal escape sequences are not allowed in strict mode',\r\n [2]: 'Octal escape sequences are not allowed in template strings',\r\n [3]: 'Unexpected token `#`',\r\n [4]: 'Illegal Unicode escape sequence',\r\n [5]: 'Invalid code point %0',\r\n [6]: 'Invalid hexadecimal escape sequence',\r\n [8]: 'Octal literals are not allowed in strict mode',\r\n [7]: 'Decimal integer literals with a leading zero are forbidden in strict mode',\r\n [9]: 'Expected number in radix %0',\r\n [146]: 'Invalid left-hand side assignment to a destructible right-hand side',\r\n [10]: 'Non-number found after exponent indicator',\r\n [11]: 'Invalid BigIntLiteral',\r\n [12]: 'No identifiers allowed directly after numeric literal',\r\n [13]: 'Escapes \\\\8 or \\\\9 are not syntactically valid escapes',\r\n [14]: 'Unterminated string literal',\r\n [15]: 'Unterminated template literal',\r\n [16]: 'Multiline comment was not closed properly',\r\n [17]: 'The identifier contained dynamic unicode escape that was not closed',\r\n [18]: \"Illegal character '%0'\",\r\n [19]: 'Missing hexadecimal digits',\r\n [20]: 'Invalid implicit octal',\r\n [21]: 'Invalid line break in string literal',\r\n [22]: 'Only unicode escapes are legal in identifier names',\r\n [23]: \"Expected '%0'\",\r\n [24]: 'Invalid left-hand side in assignment',\r\n [25]: 'Invalid left-hand side in async arrow',\r\n [26]: 'Calls to super must be in the \"constructor\" method of a class expression or class declaration that has a superclass',\r\n [27]: 'Member access on super must be in a method',\r\n [29]: 'Await expression not allowed in formal parameter',\r\n [30]: 'Yield expression not allowed in formal parameter',\r\n [93]: \"Unexpected token: 'escaped keyword'\",\r\n [31]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses',\r\n [120]: 'Async functions can only be declared at the top level or inside a block',\r\n [32]: 'Unterminated regular expression',\r\n [33]: 'Unexpected regular expression flag',\r\n [34]: \"Duplicate regular expression flag '%0'\",\r\n [35]: '%0 functions must have exactly %1 argument%2',\r\n [36]: 'Setter function argument must not be a rest parameter',\r\n [37]: '%0 declaration must have a name in this context',\r\n [38]: 'Function name may not contain any reserved words or be eval or arguments in strict mode',\r\n [39]: 'The rest operator is missing an argument',\r\n [40]: 'A getter cannot be a generator',\r\n [41]: 'A setter cannot be a generator',\r\n [42]: 'A computed property name must be followed by a colon or paren',\r\n [131]: 'Object literal keys that are strings or numbers must be a method or have a colon',\r\n [44]: 'Found `* async x(){}` but this should be `async * x(){}`',\r\n [43]: 'Getters and setters can not be generators',\r\n [45]: \"'%0' can not be generator method\",\r\n [46]: \"No line break is allowed after '=>'\",\r\n [47]: 'The left-hand side of the arrow can only be destructed through assignment',\r\n [48]: 'The binding declaration is not destructible',\r\n [49]: 'Async arrow can not be followed by new expression',\r\n [50]: \"Classes may not have a static property named 'prototype'\",\r\n [51]: 'Class constructor may not be a %0',\r\n [52]: 'Duplicate constructor method in class',\r\n [53]: 'Invalid increment/decrement operand',\r\n [54]: 'Invalid use of `new` keyword on an increment/decrement expression',\r\n [55]: '`=>` is an invalid assignment target',\r\n [56]: 'Rest element may not have a trailing comma',\r\n [57]: 'Missing initializer in %0 declaration',\r\n [58]: \"'for-%0' loop head declarations can not have an initializer\",\r\n [59]: 'Invalid left-hand side in for-%0 loop: Must have a single binding',\r\n [60]: 'Invalid shorthand property initializer',\r\n [61]: 'Property name __proto__ appears more than once in object literal',\r\n [62]: 'Let is disallowed as a lexically bound name',\r\n [63]: \"Invalid use of '%0' inside new expression\",\r\n [64]: \"Illegal 'use strict' directive in function with non-simple parameter list\",\r\n [65]: 'Identifier \"let\" disallowed as left-hand side expression in strict mode',\r\n [66]: 'Illegal continue statement',\r\n [67]: 'Illegal break statement',\r\n [68]: 'Cannot have `let[...]` as a var name in strict mode',\r\n [69]: 'Invalid destructuring assignment target',\r\n [70]: 'Rest parameter may not have a default initializer',\r\n [71]: 'The rest argument must the be last parameter',\r\n [72]: 'Invalid rest argument',\r\n [74]: 'In strict mode code, functions can only be declared at top level or inside a block',\r\n [75]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement',\r\n [76]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement',\r\n [77]: \"Class declaration can't appear in single-statement context\",\r\n [78]: 'Invalid left-hand side in for-%0',\r\n [79]: 'Invalid assignment in for-%0',\r\n [80]: 'for await (... of ...) is only valid in async functions and async generators',\r\n [81]: 'The first token after the template expression should be a continuation of the template',\r\n [83]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode',\r\n [82]: '`let \\n [` is a restricted production at the start of a statement',\r\n [84]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)',\r\n [85]: 'Catch clause parameter does not support default values',\r\n [86]: 'Missing catch or finally after try',\r\n [87]: 'More than one default clause in switch statement',\r\n [88]: 'Illegal newline after throw',\r\n [89]: 'Strict mode code may not include a with statement',\r\n [90]: 'Illegal return statement',\r\n [91]: 'The left hand side of the for-header binding declaration is not destructible',\r\n [92]: 'new.target only allowed within functions',\r\n [94]: \"'#' not followed by identifier\",\r\n [100]: 'Invalid keyword',\r\n [99]: \"Can not use 'let' as a class name\",\r\n [98]: \"'A lexical declaration can't define a 'let' binding\",\r\n [97]: 'Can not use `let` as variable name in strict mode',\r\n [95]: \"'%0' may not be used as an identifier in this context\",\r\n [96]: 'Await is only valid in async functions',\r\n [101]: 'The %0 keyword can only be used with the module goal',\r\n [102]: 'Unicode codepoint must not be greater than 0x10FFFF',\r\n [103]: '%0 source must be string',\r\n [104]: 'Only a identifier can be used to indicate alias',\r\n [105]: \"Only '*' or '{...}' can be imported after default\",\r\n [106]: 'Trailing decorator may be followed by method',\r\n [107]: \"Decorators can't be used with a constructor\",\r\n [109]: 'HTML comments are only allowed with web compatibility (Annex B)',\r\n [110]: \"The identifier 'let' must not be in expression position in strict mode\",\r\n [111]: 'Cannot assign to `eval` and `arguments` in strict mode',\r\n [112]: \"The left-hand side of a for-of loop may not start with 'let'\",\r\n [113]: 'Block body arrows can not be immediately invoked without a group',\r\n [114]: 'Block body arrows can not be immediately accessed without a group',\r\n [115]: 'Unexpected strict mode reserved word',\r\n [116]: 'Unexpected eval or arguments in strict mode',\r\n [117]: 'Decorators must not be followed by a semicolon',\r\n [118]: 'Calling delete on expression not allowed in strict mode',\r\n [119]: 'Pattern can not have a tail',\r\n [121]: 'Can not have a `yield` expression on the left side of a ternary',\r\n [122]: 'An arrow function can not have a postfix update operator',\r\n [123]: 'Invalid object literal key character after generator star',\r\n [124]: 'Private fields can not be deleted',\r\n [126]: 'Classes may not have a field called constructor',\r\n [125]: 'Classes may not have a private element named constructor',\r\n [127]: 'A class field initializer may not contain arguments',\r\n [128]: 'Generators can only be declared at the top level or inside a block',\r\n [129]: 'Async methods are a restricted production and cannot have a newline following it',\r\n [130]: 'Unexpected character after object literal property name',\r\n [132]: 'Invalid key token',\r\n [133]: \"Label '%0' has already been declared\",\r\n [134]: 'continue statement must be nested within an iteration statement',\r\n [135]: \"Undefined label '%0'\",\r\n [136]: 'Trailing comma is disallowed inside import(...) arguments',\r\n [137]: 'import() requires exactly one argument',\r\n [138]: 'Cannot use new with import(...)',\r\n [139]: '... is not allowed in import()',\r\n [140]: \"Expected '=>'\",\r\n [141]: \"Duplicate binding '%0'\",\r\n [142]: \"Cannot export a duplicate name '%0'\",\r\n [145]: 'Duplicate %0 for-binding',\r\n [143]: \"Exported binding '%0' needs to refer to a top-level declared variable\",\r\n [144]: 'Unexpected private field',\r\n [148]: 'Numeric separators are not allowed at the end of numeric literals',\r\n [147]: 'Only one underscore is allowed as numeric separator',\r\n [149]: 'JSX value should be either an expression or a quoted JSX text',\r\n [150]: 'Expected corresponding JSX closing tag for %0',\r\n [151]: 'Adjacent JSX elements must be wrapped in an enclosing tag',\r\n [152]: \"JSX attributes must only be assigned a non-empty 'expression'\",\r\n [153]: \"'%0' has already been declared\",\r\n [154]: \"'%0' shadowed a catch clause binding\",\r\n [155]: 'Dot property must be an identifier',\r\n [156]: 'Encountered invalid input after spread/rest argument',\r\n [157]: 'Catch without try',\r\n [158]: 'Finally without try',\r\n [159]: 'Expected corresponding closing tag for JSX fragment',\r\n [160]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses',\r\n [161]: 'Invalid tagged template on optional chain',\r\n [162]: 'Invalid optional chain from super property',\r\n [163]: 'Invalid optional chain from new expression',\r\n [164]: 'Cannot use \"import.meta\" outside a module',\r\n [165]: 'Leading decorators must be attached to a class declaration'\r\n};\r\nclass ParseError extends SyntaxError {\r\n constructor(startindex, line, column, type, ...params) {\r\n const message = '[' + line + ':' + column + ']: ' + errorMessages[type].replace(/%(\\d+)/g, (_, i) => params[i]);\r\n super(`${message}`);\r\n this.index = startindex;\r\n this.line = line;\r\n this.column = column;\r\n this.description = message;\r\n this.loc = {\r\n line,\r\n column\r\n };\r\n }\r\n}\r\nfunction report(parser, type, ...params) {\r\n throw new ParseError(parser.index, parser.line, parser.column, type, ...params);\r\n}\r\nfunction reportScopeError(scope) {\r\n throw new ParseError(scope.index, scope.line, scope.column, scope.type, scope.params);\r\n}\r\nfunction reportMessageAt(index, line, column, type, ...params) {\r\n throw new ParseError(index, line, column, type, ...params);\r\n}\r\nfunction reportScannerError(index, line, column, type) {\r\n throw new ParseError(index, line, column, type);\r\n}\n\nconst unicodeLookup = ((compressed, lookup) => {\r\n const result = new Uint32Array(104448);\r\n let index = 0;\r\n let subIndex = 0;\r\n while (index < 3701) {\r\n const inst = compressed[index++];\r\n if (inst < 0) {\r\n subIndex -= inst;\r\n }\r\n else {\r\n let code = compressed[index++];\r\n if (inst & 2)\r\n code = lookup[code];\r\n if (inst & 1) {\r\n result.fill(code, subIndex, subIndex += compressed[index++]);\r\n }\r\n else {\r\n result[subIndex++] = code;\r\n }\r\n }\r\n }\r\n return result;\r\n})([-1, 2, 26, 2, 27, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 60, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 61, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 18, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 54, 2, 7, 2, 6, 0, 4278222591, 3, 0, 2, 2, 1, 3, 0, 3, 0, 4294901711, 2, 40, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 2, 200, 2, 3, 0, 4093640191, 0, 660618719, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1616920031, 0, 982991, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 66, 0, 4284449919, 0, 851904, 2, 4, 2, 12, 0, 67076095, -1, 2, 67, 0, 1073741743, 0, 4093607775, -1, 0, 50331649, 0, 3265266687, 2, 33, 0, 4294844415, 0, 4278190047, 2, 20, 2, 133, -1, 3, 0, 2, 2, 23, 2, 0, 2, 10, 2, 0, 2, 15, 2, 22, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 11, 0, 261632, 2, 25, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 2151677951, 2, 29, 2, 9, 0, 909311, 3, 0, 2, 0, 814743551, 2, 42, 0, 67090432, 3, 0, 2, 2, 41, 2, 0, 2, 6, 2, 0, 2, 30, 2, 8, 0, 268374015, 2, 107, 2, 48, 2, 0, 2, 76, 0, 134153215, -1, 2, 7, 2, 0, 2, 8, 0, 2684354559, 0, 67044351, 0, 3221160064, 2, 17, -1, 3, 0, 2, 0, 67051519, 0, 1046528, 3, 0, 3, 2, 9, 2, 0, 2, 50, 0, 4294960127, 2, 10, 2, 39, 2, 11, 0, 4294377472, 2, 12, 3, 0, 16, 2, 13, 2, 0, 2, 79, 2, 10, 2, 0, 2, 80, 2, 81, 2, 82, 2, 206, 2, 129, 0, 1048577, 2, 83, 2, 14, -1, 2, 14, 0, 131042, 2, 84, 2, 85, 2, 86, 2, 0, 2, 34, -83, 3, 0, 7, 0, 1046559, 2, 0, 2, 15, 2, 0, 0, 2147516671, 2, 21, 3, 87, 2, 2, 0, -16, 2, 88, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 3, 0, 2, 2, 28, 2, 16, 3, 0, 2, 2, 17, 2, 0, -1, 2, 18, -16, 3, 0, 206, -2, 3, 0, 692, 2, 68, -1, 2, 18, 2, 10, 3, 0, 8, 2, 90, 2, 128, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 91, 2, 92, 3, 0, 2, 2, 93, 2, 0, 2, 94, 2, 45, 2, 0, 0, 4351, 2, 0, 2, 9, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 24, 2, 9, 2, 20, 3, 0, 2, 0, 67076097, 2, 8, 2, 0, 2, 21, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 98, 2, 99, 2, 22, 2, 23, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 100, 2, 101, 2, 7, -264, 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, -1, 0, 3774349439, 2, 102, 2, 103, 3, 0, 2, 2, 19, 2, 104, 3, 0, 10, 2, 10, 2, 18, 2, 0, 2, 46, 2, 0, 2, 31, 2, 105, 2, 25, 0, 1638399, 2, 170, 2, 106, 3, 0, 3, 2, 20, 2, 26, 2, 27, 2, 5, 2, 28, 2, 0, 2, 8, 2, 108, -1, 2, 109, 2, 110, 2, 111, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -3, 2, 159, -4, 2, 20, 2, 0, 2, 36, 0, 1, 2, 0, 2, 62, 2, 6, 2, 12, 2, 10, 2, 0, 2, 112, -1, 3, 0, 4, 2, 10, 2, 23, 2, 113, 2, 7, 2, 0, 2, 114, 2, 0, 2, 115, 2, 116, 2, 117, -2, 3, 0, 9, 2, 21, 2, 30, 2, 31, 2, 118, 2, 119, -2, 2, 120, 2, 121, 2, 30, 2, 21, 2, 8, -2, 2, 122, 2, 30, 2, 32, -2, 2, 0, 2, 38, -2, 0, 4277137519, 0, 2269118463, -1, 3, 20, 2, -1, 2, 33, 2, 37, 2, 0, 3, 30, 2, 2, 35, 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, 2, 35, 2, 0, 2, 35, 2, 0, 2, 47, -10, 2, 0, 0, 203775, -1, 2, 164, 2, 20, 2, 43, 2, 36, 2, 18, 2, 77, 2, 18, 2, 123, 2, 21, 3, 0, 2, 2, 37, 0, 2151677888, 2, 0, 2, 12, 0, 4294901764, 2, 140, 2, 0, 2, 52, 2, 51, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 125, 2, 38, 0, 3, -1, 2, 126, 2, 39, 2, 0, 0, 67045375, 2, 40, 0, 4226678271, 0, 3766565279, 0, 2039759, -4, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 41, 2, 42, -1, 2, 11, 2, 55, 2, 37, -5, 2, 0, 2, 12, -3, 3, 0, 2, 0, 2147484671, 2, 130, 0, 4190109695, 2, 49, -2, 2, 131, 0, 4244635647, 0, 27, 2, 0, 2, 8, 2, 43, 2, 0, 2, 63, 2, 18, 2, 0, 2, 41, -8, 2, 53, 2, 44, 0, 67043329, 2, 45, 2, 46, 0, 8388351, -2, 2, 132, 0, 3028287487, 2, 47, 2, 134, 0, 33259519, 2, 42, -9, 2, 21, 0, 4294836223, 0, 3355443199, 0, 67043335, -2, 2, 64, -2, 3, 0, 28, 2, 32, -3, 3, 0, 3, 2, 17, 3, 0, 6, 2, 78, -81, 2, 18, 3, 0, 2, 2, 36, 3, 0, 33, 2, 25, 2, 30, -125, 3, 0, 18, 2, 37, -269, 3, 0, 17, 2, 41, 2, 8, 2, 23, 2, 0, 2, 8, 2, 23, 2, 48, 2, 0, 2, 21, 2, 49, 2, 135, 2, 25, -21, 3, 0, 2, -4, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, 3, 0, 191, 2, 50, 3, 0, 38, 2, 30, -1, 2, 34, -278, 2, 136, 3, 0, 9, 2, 137, 2, 138, 2, 51, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 139, 0, 1677656575, -147, 2, 0, 2, 24, 2, 37, -16, 0, 4161266656, 0, 4071, 2, 201, -4, 0, 28, -13, 3, 0, 2, 2, 52, 2, 0, 2, 141, 2, 142, 2, 56, 2, 0, 2, 143, 2, 144, 2, 145, 3, 0, 10, 2, 146, 2, 147, 2, 22, 3, 52, 2, 3, 148, 2, 3, 53, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 89, 2, 0, 0, 2105343, 0, 4160749584, 2, 174, -34, 2, 8, 2, 150, -6, 0, 4194303871, 0, 4294903771, 2, 0, 2, 54, 2, 97, -3, 2, 0, 0, 1073684479, 0, 17407, -9, 2, 18, 2, 17, 2, 0, 2, 32, -14, 2, 18, 2, 32, -23, 2, 151, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 55, -37, 2, 56, 2, 152, 2, 153, 2, 154, 2, 155, 2, 156, -105, 2, 26, -32, 3, 0, 1335, -1, 3, 0, 129, 2, 32, 3, 0, 6, 2, 10, 3, 0, 180, 2, 157, 3, 0, 233, 2, 158, 3, 0, 18, 2, 10, -77, 3, 0, 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 130, 2, 25, -22250, 3, 0, 7, 2, 25, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 60, 2, 0, 2, 34, -1, 2, 18, 2, 61, -1, 2, 0, 0, 2047, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 25, 2, 62, 3, 0, 2, 0, 131135, 2, 95, 0, 70256639, 0, 71303167, 0, 272, 2, 41, 2, 6, 0, 32511, 2, 0, 2, 42, -1, 2, 96, 2, 63, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 65, 2, 64, 0, 33554435, 2, 127, 2, 65, 2, 160, 0, 131075, 0, 3594373096, 0, 67094296, 2, 64, -1, 0, 4294828000, 0, 603979263, 0, 654311424, 0, 3, 0, 4294828001, 0, 602930687, 2, 167, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 66, 2, 37, -1, 2, 4, 0, 917503, 2, 37, -1, 2, 67, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 33, 2, 68, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 15, 2, 22, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 12, -1, 2, 25, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 2147745791, 3, 19, 2, 0, 122879, 2, 0, 2, 9, 0, 276824064, -2, 3, 0, 2, 2, 41, 2, 0, 0, 4294903295, 2, 0, 2, 30, 2, 8, -1, 2, 18, 2, 48, 2, 0, 2, 76, 2, 42, -1, 2, 21, 2, 0, 2, 29, -2, 0, 128, -2, 2, 28, 2, 9, 0, 8160, -1, 2, 124, 0, 4227907585, 2, 0, 2, 77, 2, 0, 2, 78, 2, 180, 2, 10, 2, 39, 2, 11, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 13, 2, 0, 2, 79, 2, 10, 2, 0, 2, 80, 2, 81, 2, 82, -3, 2, 83, 2, 14, -3, 2, 84, 2, 85, 2, 86, 2, 0, 2, 34, -83, 3, 0, 7, 0, 817183, 2, 0, 2, 15, 2, 0, 0, 33023, 2, 21, 3, 87, 2, -17, 2, 88, 0, 524157950, 2, 4, 2, 0, 2, 89, 2, 4, 2, 0, 2, 22, 2, 28, 2, 16, 3, 0, 2, 2, 17, 2, 0, -1, 2, 18, -16, 3, 0, 206, -2, 3, 0, 692, 2, 68, -1, 2, 18, 2, 10, 3, 0, 8, 2, 90, 0, 3072, 2, 0, 0, 2147516415, 2, 10, 3, 0, 2, 2, 25, 2, 91, 2, 92, 3, 0, 2, 2, 93, 2, 0, 2, 94, 2, 45, 0, 4294965179, 0, 7, 2, 0, 2, 9, 2, 92, 2, 9, -1, 0, 1761345536, 2, 95, 0, 4294901823, 2, 37, 2, 20, 2, 96, 2, 35, 2, 97, 0, 2080440287, 2, 0, 2, 34, 2, 149, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 98, 2, 99, 2, 22, 2, 23, 3, 0, 3, 0, 7, 3, 0, 349, 2, 100, 2, 101, 2, 7, -264, 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, -1, 0, 2700607615, 2, 102, 2, 103, 3, 0, 2, 2, 19, 2, 104, 3, 0, 10, 2, 10, 2, 18, 2, 0, 2, 46, 2, 0, 2, 31, 2, 105, -3, 2, 106, 3, 0, 3, 2, 20, -1, 3, 5, 2, 2, 107, 2, 0, 2, 8, 2, 108, -1, 2, 109, 2, 110, 2, 111, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -8, 2, 20, 2, 0, 2, 36, -1, 2, 0, 2, 62, 2, 6, 2, 30, 2, 10, 2, 0, 2, 112, -1, 3, 0, 4, 2, 10, 2, 18, 2, 113, 2, 7, 2, 0, 2, 114, 2, 0, 2, 115, 2, 116, 2, 117, -2, 3, 0, 9, 2, 21, 2, 30, 2, 31, 2, 118, 2, 119, -2, 2, 120, 2, 121, 2, 30, 2, 21, 2, 8, -2, 2, 122, 2, 30, 2, 32, -2, 2, 0, 2, 38, -2, 0, 4277075969, 2, 30, -1, 3, 20, 2, -1, 2, 33, 2, 123, 2, 0, 3, 30, 2, 2, 35, 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, 2, 35, 2, 0, 2, 35, 2, 0, 2, 78, -10, 2, 0, 0, 197631, -2, 2, 20, 2, 43, 2, 77, 2, 18, 0, 3, 2, 18, 2, 123, 2, 21, 2, 124, 2, 50, -1, 0, 2490368, 2, 124, 2, 25, 2, 18, 2, 34, 2, 124, 2, 37, 0, 4294901904, 0, 4718591, 2, 124, 2, 35, 0, 335544350, -1, 2, 125, 0, 2147487743, 0, 1, -1, 2, 126, 2, 39, 2, 8, -1, 2, 127, 2, 65, 0, 3758161920, 0, 3, -4, 2, 0, 2, 29, 0, 2147485568, 0, 3, 2, 0, 2, 25, 0, 176, -5, 2, 0, 2, 17, 2, 188, -1, 2, 0, 2, 25, 2, 205, -1, 2, 0, 0, 16779263, -2, 2, 12, -1, 2, 37, -5, 2, 0, 2, 128, -3, 3, 0, 2, 2, 129, 2, 130, 0, 2147549183, 0, 2, -2, 2, 131, 2, 36, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, 2, 18, 2, 0, 2, 41, -8, 2, 53, 2, 17, 0, 1, 2, 45, 2, 25, -3, 2, 132, 2, 36, 2, 133, 2, 134, 0, 16778239, -10, 2, 35, 0, 4294836212, 2, 9, -3, 2, 64, -2, 3, 0, 28, 2, 32, -3, 3, 0, 3, 2, 17, 3, 0, 6, 2, 78, -81, 2, 18, 3, 0, 2, 2, 36, 3, 0, 33, 2, 25, 0, 126, -125, 3, 0, 18, 2, 37, -269, 3, 0, 17, 2, 41, 2, 8, 2, 18, 2, 0, 2, 8, 2, 18, 2, 54, 2, 0, 2, 25, 2, 78, 2, 135, 2, 25, -21, 3, 0, 2, -4, 3, 0, 2, 0, 67583, -1, 2, 104, -2, 0, 11, 3, 0, 191, 2, 50, 3, 0, 38, 2, 30, -1, 2, 34, -278, 2, 136, 3, 0, 9, 2, 137, 2, 138, 2, 51, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 139, 2, 140, -187, 3, 0, 2, 2, 52, 2, 0, 2, 141, 2, 142, 2, 56, 2, 0, 2, 143, 2, 144, 2, 145, 3, 0, 10, 2, 146, 2, 147, 2, 22, 3, 52, 2, 3, 148, 2, 3, 53, 2, 2, 149, -57, 2, 8, 2, 150, -7, 2, 18, 2, 0, 2, 54, -4, 2, 0, 0, 1065361407, 0, 16384, -9, 2, 18, 2, 54, 2, 0, 2, 128, -14, 2, 18, 2, 128, -23, 2, 151, 3, 0, 6, 2, 123, -1, 3, 0, 2, 0, 2063, -37, 2, 56, 2, 152, 2, 153, 2, 154, 2, 155, 2, 156, -138, 3, 0, 1335, -1, 3, 0, 129, 2, 32, 3, 0, 6, 2, 10, 3, 0, 180, 2, 157, 3, 0, 233, 2, 158, 3, 0, 18, 2, 10, -77, 3, 0, 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 130, 2, 25, -28386, 2, 0, 0, 1, -1, 2, 129, 2, 0, 0, 8193, -21, 2, 198, 0, 10255, 0, 4, -11, 2, 64, 2, 179, -1, 0, 71680, -1, 2, 171, 0, 4292900864, 0, 268435519, -5, 2, 159, -1, 2, 169, -1, 0, 6144, -2, 2, 45, -1, 2, 163, -1, 0, 2147532800, 2, 160, 2, 166, 0, 16744448, -2, 0, 4, -4, 2, 194, 0, 205128192, 0, 1333757536, 0, 2147483696, 0, 423953, 0, 747766272, 0, 2717763192, 0, 4286578751, 0, 278545, 2, 161, 0, 4294886464, 0, 33292336, 0, 417809, 2, 161, 0, 1327482464, 0, 4278190128, 0, 700594195, 0, 1006647527, 0, 4286497336, 0, 4160749631, 2, 162, 0, 201327104, 0, 3634348576, 0, 8323120, 2, 162, 0, 202375680, 0, 2678047264, 0, 4293984304, 2, 162, -1, 0, 983584, 0, 48, 0, 58720273, 0, 3489923072, 0, 10517376, 0, 4293066815, 0, 1, 0, 2013265920, 2, 182, 2, 0, 0, 2089, 0, 3221225552, 0, 201359520, 2, 0, -2, 0, 256, 0, 122880, 0, 16777216, 2, 159, 0, 4160757760, 2, 0, -6, 2, 176, -11, 0, 3263218176, -1, 0, 49664, 0, 2160197632, 0, 8388802, -1, 0, 12713984, -1, 2, 163, 2, 164, 2, 183, -2, 2, 172, -20, 0, 3758096385, -2, 2, 165, 2, 191, 2, 91, 2, 177, 0, 4294057984, -2, 2, 173, 2, 168, 0, 4227874816, -2, 2, 165, -1, 2, 166, -1, 2, 178, 2, 129, 0, 4026593280, 0, 14, 0, 4292919296, -1, 2, 175, 0, 939588608, -1, 0, 805306368, -1, 2, 129, 2, 167, 2, 168, 2, 169, 2, 207, 2, 0, -2, 2, 170, 2, 129, -3, 0, 267386880, -1, 0, 117440512, 0, 7168, -1, 2, 210, 2, 163, 2, 171, 2, 184, -16, 2, 172, -1, 0, 1426112704, 2, 173, -1, 2, 192, 0, 271581216, 0, 2149777408, 2, 25, 2, 171, 2, 129, 0, 851967, 2, 185, -1, 2, 174, 2, 186, -4, 2, 175, -20, 2, 197, 2, 204, -56, 0, 3145728, 2, 187, -10, 0, 32505856, -1, 2, 176, -1, 0, 2147385088, 2, 91, 1, 2155905152, 2, -3, 2, 173, 2, 0, 0, 67108864, -2, 2, 177, -6, 2, 178, 2, 25, 0, 1, -1, 0, 1, -1, 2, 179, -3, 2, 123, 2, 64, -2, 2, 97, -2, 0, 32752, 2, 129, -915, 2, 170, -1, 2, 203, -10, 2, 190, -5, 2, 181, -6, 0, 4229232640, 2, 19, -1, 2, 180, -1, 2, 181, -2, 0, 4227874752, -3, 0, 2146435072, 2, 164, -2, 0, 1006649344, 2, 129, -1, 2, 91, 0, 201375744, -3, 0, 134217720, 2, 91, 0, 4286677377, 0, 32896, -1, 2, 175, -3, 0, 4227907584, -349, 0, 65520, 0, 1920, 2, 182, 3, 0, 264, -11, 2, 169, -2, 2, 183, 2, 0, 0, 520617856, 0, 2692743168, 0, 36, -3, 0, 524280, -13, 2, 189, -1, 0, 4294934272, 2, 25, 2, 183, -1, 2, 213, 0, 2158720, -3, 2, 164, 0, 1, -4, 2, 129, 0, 3808625411, 0, 3489628288, 0, 4096, 0, 1207959680, 0, 3221274624, 2, 0, -3, 2, 184, 0, 120, 0, 7340032, -2, 2, 185, 2, 4, 2, 25, 2, 173, 3, 0, 4, 2, 164, -1, 2, 186, 2, 182, -1, 0, 8176, 2, 166, 2, 184, 2, 211, -1, 0, 4290773232, 2, 0, -4, 2, 173, 2, 193, 0, 15728640, 2, 182, -1, 2, 171, -1, 0, 134250480, 0, 4720640, 0, 3825467396, 3, 0, 2, -9, 2, 91, 2, 178, 0, 4294967040, 2, 133, 0, 4160880640, 3, 0, 2, 0, 704, 0, 1849688064, 2, 187, -1, 2, 129, 0, 4294901887, 2, 0, 0, 130547712, 0, 1879048192, 2, 208, 3, 0, 2, -1, 2, 188, 2, 189, -1, 0, 17829776, 0, 2025848832, 2, 212, -2, 2, 0, -1, 0, 4286580608, -1, 0, 29360128, 2, 196, 0, 16252928, 0, 3791388672, 2, 39, 3, 0, 2, -2, 2, 202, 2, 0, -1, 2, 104, -1, 0, 66584576, -1, 2, 195, 3, 0, 9, 2, 129, -1, 0, 4294755328, 2, 0, 2, 20, -1, 2, 171, 2, 183, 2, 25, 2, 95, 2, 25, 2, 190, 2, 91, -2, 0, 245760, 2, 191, -1, 2, 159, 2, 199, 0, 4227923456, -1, 2, 192, 2, 171, 2, 91, -3, 0, 4292870145, 0, 262144, -1, 2, 92, 2, 0, 0, 1073758848, 2, 193, -1, 0, 4227921920, 2, 194, 0, 68289024, 0, 528402016, 0, 4292927536, 3, 0, 4, -2, 0, 268435456, 2, 92, -2, 2, 195, 3, 0, 5, -1, 2, 196, 2, 173, 2, 0, -2, 0, 4227923936, 2, 62, -1, 2, 183, 2, 95, 2, 0, 2, 163, 2, 175, 2, 197, 3, 0, 5, -1, 2, 182, 3, 0, 3, -2, 0, 2146959360, 0, 9440640, 0, 104857600, 0, 4227923840, 3, 0, 2, 0, 768, 2, 198, 2, 28, -2, 2, 171, -2, 2, 199, -1, 2, 165, 2, 95, 3, 0, 7, 0, 512, 0, 8388608, 2, 200, 2, 170, 2, 189, 0, 4286578944, 3, 0, 2, 0, 1152, 0, 1266679808, 2, 195, 0, 576, 0, 4261707776, 2, 95, 3, 0, 9, 2, 165, 0, 131072, 0, 939524096, 2, 183, 3, 0, 2, 2, 16, -1, 0, 2147221504, -28, 2, 183, 3, 0, 3, -3, 0, 4292902912, -6, 2, 96, 3, 0, 81, 2, 25, -2, 2, 104, -33, 2, 18, 2, 178, 3, 0, 125, -18, 2, 197, 3, 0, 269, -17, 2, 165, 2, 129, 2, 201, -1, 2, 129, 2, 193, 0, 4290822144, -2, 0, 67174336, 0, 520093700, 2, 18, 3, 0, 21, -2, 2, 184, 3, 0, 3, -2, 0, 30720, -1, 0, 32512, 3, 0, 2, 0, 4294770656, -191, 2, 181, -38, 2, 178, 2, 0, 2, 202, 3, 0, 278, 0, 2417033215, -9, 0, 4294705144, 0, 4292411391, 0, 65295, -11, 2, 182, 3, 0, 72, -3, 0, 3758159872, 0, 201391616, 3, 0, 147, -1, 2, 169, 2, 203, -3, 2, 96, 2, 0, -7, 2, 178, -1, 0, 384, -1, 0, 133693440, -3, 2, 204, -2, 2, 107, 3, 0, 3, 3, 177, 2, -2, 2, 91, 2, 165, 3, 0, 4, -2, 2, 192, -1, 2, 159, 0, 335552923, 2, 205, -1, 0, 538974272, 0, 2214592512, 0, 132000, -10, 0, 192, -8, 2, 206, -21, 0, 134213632, 2, 158, 3, 0, 34, 2, 129, 0, 4294965279, 3, 0, 6, 0, 100663424, 0, 63524, -1, 2, 209, 2, 148, 3, 0, 3, -1, 0, 3221282816, 0, 4294917120, 3, 0, 9, 2, 25, 2, 207, -1, 2, 208, 3, 0, 14, 2, 25, 2, 183, 3, 0, 23, 0, 2147520640, -6, 0, 4286578784, 2, 0, -2, 0, 1006694400, 3, 0, 24, 2, 36, -1, 0, 4292870144, 3, 0, 2, 0, 1, 2, 173, 3, 0, 6, 2, 205, 0, 4110942569, 0, 1432950139, 0, 2701658217, 0, 4026532864, 0, 4026532881, 2, 0, 2, 46, 3, 0, 8, -1, 2, 175, -2, 2, 177, 0, 98304, 0, 65537, 2, 178, -5, 2, 209, 2, 0, 2, 77, 2, 199, 2, 182, 0, 4294770176, 2, 107, 3, 0, 4, -30, 2, 188, 0, 3758153728, -3, 0, 125829120, -2, 2, 183, 0, 4294897664, 2, 175, -1, 2, 195, -1, 2, 171, 0, 4294754304, 3, 0, 2, -10, 2, 177, 0, 3758145536, 2, 210, 2, 211, 0, 4026548160, 2, 212, -4, 2, 213, -1, 2, 204, 0, 4227923967, 3, 0, 32, -1335, 2, 0, -129, 2, 183, -6, 2, 173, -180, 0, 65532, -233, 2, 174, -18, 2, 173, 3, 0, 77, -16, 2, 173, 3, 0, 47, -154, 2, 166, -130, 2, 18, 3, 0, 22250, -7, 2, 18, 3, 0, 6128], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 4294903807, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4294901759, 32767, 4294901760, 262143, 536870911, 8388607, 4160749567, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967264, 2097151, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 127, 3238002687, 4294902271, 4294549487, 33554431, 1023, 4294901888, 4286578687, 4294705152, 4294770687, 67043583, 2047999, 67043343, 16777215, 4294902000, 4292870143, 4294966783, 16383, 67047423, 4294967279, 262083, 20511, 4290772991, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 63, 15, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 65734655, 4294966272, 4294967280, 32768, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 4294967232, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4160684047, 4290246655, 469499899, 4294967231, 134086655, 4294966591, 2445279231, 3670015, 31, 4294967288, 4294705151, 3221208447, 4294549472, 4095, 2147483648, 4285526655, 4294966527, 4294966143, 64, 4294966719, 3774873592, 1877934080, 262151, 2555904, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4294934527, 4087, 2016, 2147446655, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901763, 4294901761, 536870912, 2952790016, 202506752, 139264, 402653184, 3758096384, 4261412864, 63488, 1610612736, 4227922944, 49152, 57344, 65280, 3233808384, 3221225472, 65534, 61440, 57152, 4293918720, 4290772992, 25165824, 4227915776, 4278190080, 4026531840, 4227858432, 4160749568, 3758129152, 4294836224, 4194304, 251658240, 196608, 4294963200, 2143289344, 2097152, 64512, 417808, 4227923712, 12582912, 4294967168, 50331648, 65528, 65472, 15360, 4294966784, 65408, 4294965248, 16, 12288, 4294934528, 2080374784, 4294950912, 65024, 1073741824, 4261477888, 524288]);\n\nfunction advanceChar(parser) {\r\n parser.column++;\r\n return (parser.currentChar = parser.source.charCodeAt(++parser.index));\r\n}\r\nfunction consumeMultiUnitCodePoint(parser, hi) {\r\n if ((hi & 0xfc00) !== 55296)\r\n return 0;\r\n const lo = parser.source.charCodeAt(parser.index + 1);\r\n if ((lo & 0xfc00) !== 0xdc00)\r\n return 0;\r\n hi = parser.currentChar = 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff);\r\n if (((unicodeLookup[(hi >>> 5) + 0] >>> hi) & 31 & 1) === 0) {\r\n report(parser, 18, fromCodePoint(hi));\r\n }\r\n parser.index++;\r\n parser.column++;\r\n return 1;\r\n}\r\nfunction consumeLineFeed(parser, state) {\r\n parser.currentChar = parser.source.charCodeAt(++parser.index);\r\n parser.flags |= 1;\r\n if ((state & 4) === 0) {\r\n parser.column = 0;\r\n parser.line++;\r\n }\r\n}\r\nfunction scanNewLine(parser) {\r\n parser.flags |= 1;\r\n parser.currentChar = parser.source.charCodeAt(++parser.index);\r\n parser.column = 0;\r\n parser.line++;\r\n}\r\nfunction isExoticECMAScriptWhitespace(ch) {\r\n return (ch === 160 ||\r\n ch === 65279 ||\r\n ch === 133 ||\r\n ch === 5760 ||\r\n (ch >= 8192 && ch <= 8203) ||\r\n ch === 8239 ||\r\n ch === 8287 ||\r\n ch === 12288 ||\r\n ch === 8201 ||\r\n ch === 65519);\r\n}\r\nfunction fromCodePoint(codePoint) {\r\n return codePoint <= 65535\r\n ? String.fromCharCode(codePoint)\r\n : String.fromCharCode(codePoint >>> 10) + String.fromCharCode(codePoint & 0x3ff);\r\n}\r\nfunction toHex(code) {\r\n return code < 65 ? code - 48 : (code - 65 + 10) & 0xf;\r\n}\r\nfunction convertTokenType(t) {\r\n switch (t) {\r\n case 134283266:\r\n return 'NumericLiteral';\r\n case 134283267:\r\n return 'StringLiteral';\r\n case 86021:\r\n case 86022:\r\n return 'BooleanLiteral';\r\n case 86023:\r\n return 'NullLiteral';\r\n case 65540:\r\n return 'RegularExpression';\r\n case 67174408:\r\n case 67174409:\r\n case 132:\r\n return 'TemplateLiteral';\r\n default:\r\n if ((t & 143360) === 143360)\r\n return 'Identifier';\r\n if ((t & 4096) === 4096)\r\n return 'Keyword';\r\n return 'Punctuator';\r\n }\r\n}\n\nconst CharTypes = [\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 8 | 1024,\r\n 0,\r\n 0,\r\n 8 | 2048,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 8192,\r\n 0,\r\n 1 | 2,\r\n 0,\r\n 0,\r\n 8192,\r\n 0,\r\n 0,\r\n 0,\r\n 256,\r\n 0,\r\n 256 | 32768,\r\n 0,\r\n 0,\r\n 2 | 16 | 128 | 32 | 64,\r\n 2 | 16 | 128 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 512 | 64,\r\n 2 | 16 | 512 | 64,\r\n 0,\r\n 0,\r\n 16384,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 0,\r\n 1,\r\n 0,\r\n 0,\r\n 1 | 2 | 4096,\r\n 0,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 16384,\r\n 0,\r\n 0,\r\n 0,\r\n 0\r\n];\r\nconst isIdStart = [\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0\r\n];\r\nconst isIdPart = [\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0\r\n];\r\nfunction isIdentifierStart(code) {\r\n return code <= 0x7F\r\n ? isIdStart[code]\r\n : (unicodeLookup[(code >>> 5) + 34816] >>> code) & 31 & 1;\r\n}\r\nfunction isIdentifierPart(code) {\r\n return code <= 0x7F\r\n ? isIdPart[code]\r\n : (unicodeLookup[(code >>> 5) + 0] >>> code) & 31 & 1 || (code === 8204 || code === 8205);\r\n}\n\nconst CommentTypes = ['SingleLine', 'MultiLine', 'HTMLOpen', 'HTMLClose', 'HashbangComment'];\r\nfunction skipHashBang(parser) {\r\n const source = parser.source;\r\n if (parser.currentChar === 35 && source.charCodeAt(parser.index + 1) === 33) {\r\n advanceChar(parser);\r\n advanceChar(parser);\r\n skipSingleLineComment(parser, source, 0, 4, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n}\r\nfunction skipSingleHTMLComment(parser, source, state, context, type, start, line, column) {\r\n if (context & 2048)\r\n report(parser, 0);\r\n return skipSingleLineComment(parser, source, state, type, start, line, column);\r\n}\r\nfunction skipSingleLineComment(parser, source, state, type, start, line, column) {\r\n const { index } = parser;\r\n parser.tokenPos = parser.index;\r\n parser.linePos = parser.line;\r\n parser.colPos = parser.column;\r\n while (parser.index < parser.end) {\r\n if (CharTypes[parser.currentChar] & 8) {\r\n const isCR = parser.currentChar === 13;\r\n scanNewLine(parser);\r\n if (isCR && parser.index < parser.end && parser.currentChar === 10)\r\n parser.currentChar = source.charCodeAt(++parser.index);\r\n break;\r\n }\r\n else if ((parser.currentChar ^ 8232) <= 1) {\r\n scanNewLine(parser);\r\n break;\r\n }\r\n advanceChar(parser);\r\n parser.tokenPos = parser.index;\r\n parser.linePos = parser.line;\r\n parser.colPos = parser.column;\r\n }\r\n if (parser.onComment) {\r\n const loc = {\r\n start: {\r\n line,\r\n column\r\n },\r\n end: {\r\n line: parser.linePos,\r\n column: parser.colPos\r\n }\r\n };\r\n parser.onComment(CommentTypes[type & 0xff], source.slice(index, parser.tokenPos), start, parser.tokenPos, loc);\r\n }\r\n return state | 1;\r\n}\r\nfunction skipMultiLineComment(parser, source, state) {\r\n const { index } = parser;\r\n while (parser.index < parser.end) {\r\n if (parser.currentChar < 0x2b) {\r\n let skippedOneAsterisk = false;\r\n while (parser.currentChar === 42) {\r\n if (!skippedOneAsterisk) {\r\n state &= ~4;\r\n skippedOneAsterisk = true;\r\n }\r\n if (advanceChar(parser) === 47) {\r\n advanceChar(parser);\r\n if (parser.onComment) {\r\n const loc = {\r\n start: {\r\n line: parser.linePos,\r\n column: parser.colPos\r\n },\r\n end: {\r\n line: parser.line,\r\n column: parser.column\r\n }\r\n };\r\n parser.onComment(CommentTypes[1 & 0xff], source.slice(index, parser.index - 2), index - 2, parser.index, loc);\r\n }\r\n parser.tokenPos = parser.index;\r\n parser.linePos = parser.line;\r\n parser.colPos = parser.column;\r\n return state;\r\n }\r\n }\r\n if (skippedOneAsterisk) {\r\n continue;\r\n }\r\n if (CharTypes[parser.currentChar] & 8) {\r\n if (parser.currentChar === 13) {\r\n state |= 1 | 4;\r\n scanNewLine(parser);\r\n }\r\n else {\r\n consumeLineFeed(parser, state);\r\n state = (state & ~4) | 1;\r\n }\r\n }\r\n else {\r\n advanceChar(parser);\r\n }\r\n }\r\n else if ((parser.currentChar ^ 8232) <= 1) {\r\n state = (state & ~4) | 1;\r\n scanNewLine(parser);\r\n }\r\n else {\r\n state &= ~4;\r\n advanceChar(parser);\r\n }\r\n }\r\n report(parser, 16);\r\n}\n\nfunction scanRegularExpression(parser, context) {\r\n const bodyStart = parser.index;\r\n let preparseState = 0;\r\n loop: while (true) {\r\n const ch = parser.currentChar;\r\n advanceChar(parser);\r\n if (preparseState & 1) {\r\n preparseState &= ~1;\r\n }\r\n else {\r\n switch (ch) {\r\n case 47:\r\n if (!preparseState)\r\n break loop;\r\n else\r\n break;\r\n case 92:\r\n preparseState |= 1;\r\n break;\r\n case 91:\r\n preparseState |= 2;\r\n break;\r\n case 93:\r\n preparseState &= 1;\r\n break;\r\n case 13:\r\n case 10:\r\n case 8232:\r\n case 8233:\r\n report(parser, 32);\r\n }\r\n }\r\n if (parser.index >= parser.source.length) {\r\n return report(parser, 32);\r\n }\r\n }\r\n const bodyEnd = parser.index - 1;\r\n let mask = 0;\r\n let char = parser.currentChar;\r\n const { index: flagStart } = parser;\r\n while (isIdentifierPart(char)) {\r\n switch (char) {\r\n case 103:\r\n if (mask & 2)\r\n report(parser, 34, 'g');\r\n mask |= 2;\r\n break;\r\n case 105:\r\n if (mask & 1)\r\n report(parser, 34, 'i');\r\n mask |= 1;\r\n break;\r\n case 109:\r\n if (mask & 4)\r\n report(parser, 34, 'm');\r\n mask |= 4;\r\n break;\r\n case 117:\r\n if (mask & 16)\r\n report(parser, 34, 'u');\r\n mask |= 16;\r\n break;\r\n case 121:\r\n if (mask & 8)\r\n report(parser, 34, 'y');\r\n mask |= 8;\r\n break;\r\n case 115:\r\n if (mask & 32)\r\n report(parser, 34, 's');\r\n mask |= 32;\r\n break;\r\n case 100:\r\n if (mask & 64)\r\n report(parser, 34, 'd');\r\n mask |= 64;\r\n break;\r\n default:\r\n report(parser, 33);\r\n }\r\n char = advanceChar(parser);\r\n }\r\n const flags = parser.source.slice(flagStart, parser.index);\r\n const pattern = parser.source.slice(bodyStart, bodyEnd);\r\n parser.tokenRegExp = { pattern, flags };\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n parser.tokenValue = validate(parser, pattern, flags);\r\n return 65540;\r\n}\r\nfunction validate(parser, pattern, flags) {\r\n try {\r\n return new RegExp(pattern, flags);\r\n }\r\n catch (e) {\r\n try {\r\n new RegExp(pattern, flags.replace('d', ''));\r\n return null;\r\n }\r\n catch (e) {\r\n report(parser, 32);\r\n }\r\n }\r\n}\n\nfunction scanString(parser, context, quote) {\r\n const { index: start } = parser;\r\n let ret = '';\r\n let char = advanceChar(parser);\r\n let marker = parser.index;\r\n while ((CharTypes[char] & 8) === 0) {\r\n if (char === quote) {\r\n ret += parser.source.slice(marker, parser.index);\r\n advanceChar(parser);\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(start, parser.index);\r\n parser.tokenValue = ret;\r\n return 134283267;\r\n }\r\n if ((char & 8) === 8 && char === 92) {\r\n ret += parser.source.slice(marker, parser.index);\r\n char = advanceChar(parser);\r\n if (char < 0x7f || char === 8232 || char === 8233) {\r\n const code = parseEscape(parser, context, char);\r\n if (code >= 0)\r\n ret += fromCodePoint(code);\r\n else\r\n handleStringError(parser, code, 0);\r\n }\r\n else {\r\n ret += fromCodePoint(char);\r\n }\r\n marker = parser.index + 1;\r\n }\r\n if (parser.index >= parser.end)\r\n report(parser, 14);\r\n char = advanceChar(parser);\r\n }\r\n report(parser, 14);\r\n}\r\nfunction parseEscape(parser, context, first) {\r\n switch (first) {\r\n case 98:\r\n return 8;\r\n case 102:\r\n return 12;\r\n case 114:\r\n return 13;\r\n case 110:\r\n return 10;\r\n case 116:\r\n return 9;\r\n case 118:\r\n return 11;\r\n case 13: {\r\n if (parser.index < parser.end) {\r\n const nextChar = parser.source.charCodeAt(parser.index + 1);\r\n if (nextChar === 10) {\r\n parser.index = parser.index + 1;\r\n parser.currentChar = nextChar;\r\n }\r\n }\r\n }\r\n case 10:\r\n case 8232:\r\n case 8233:\r\n parser.column = -1;\r\n parser.line++;\r\n return -1;\r\n case 48:\r\n case 49:\r\n case 50:\r\n case 51: {\r\n let code = first - 48;\r\n let index = parser.index + 1;\r\n let column = parser.column + 1;\r\n if (index < parser.end) {\r\n const next = parser.source.charCodeAt(index);\r\n if ((CharTypes[next] & 32) === 0) {\r\n if ((code !== 0 || CharTypes[next] & 512) && context & 1024)\r\n return -2;\r\n }\r\n else if (context & 1024) {\r\n return -2;\r\n }\r\n else {\r\n parser.currentChar = next;\r\n code = (code << 3) | (next - 48);\r\n index++;\r\n column++;\r\n if (index < parser.end) {\r\n const next = parser.source.charCodeAt(index);\r\n if (CharTypes[next] & 32) {\r\n parser.currentChar = next;\r\n code = (code << 3) | (next - 48);\r\n index++;\r\n column++;\r\n }\r\n }\r\n parser.flags |= 64;\r\n parser.index = index - 1;\r\n parser.column = column - 1;\r\n }\r\n }\r\n return code;\r\n }\r\n case 52:\r\n case 53:\r\n case 54:\r\n case 55: {\r\n if (context & 1024)\r\n return -2;\r\n let code = first - 48;\r\n const index = parser.index + 1;\r\n const column = parser.column + 1;\r\n if (index < parser.end) {\r\n const next = parser.source.charCodeAt(index);\r\n if (CharTypes[next] & 32) {\r\n code = (code << 3) | (next - 48);\r\n parser.currentChar = next;\r\n parser.index = index;\r\n parser.column = column;\r\n }\r\n }\r\n parser.flags |= 64;\r\n return code;\r\n }\r\n case 120: {\r\n const ch1 = advanceChar(parser);\r\n if ((CharTypes[ch1] & 64) === 0)\r\n return -4;\r\n const hi = toHex(ch1);\r\n const ch2 = advanceChar(parser);\r\n if ((CharTypes[ch2] & 64) === 0)\r\n return -4;\r\n const lo = toHex(ch2);\r\n return (hi << 4) | lo;\r\n }\r\n case 117: {\r\n const ch = advanceChar(parser);\r\n if (parser.currentChar === 123) {\r\n let code = 0;\r\n while ((CharTypes[advanceChar(parser)] & 64) !== 0) {\r\n code = (code << 4) | toHex(parser.currentChar);\r\n if (code > 1114111)\r\n return -5;\r\n }\r\n if (parser.currentChar < 1 || parser.currentChar !== 125) {\r\n return -4;\r\n }\r\n return code;\r\n }\r\n else {\r\n if ((CharTypes[ch] & 64) === 0)\r\n return -4;\r\n const ch2 = parser.source.charCodeAt(parser.index + 1);\r\n if ((CharTypes[ch2] & 64) === 0)\r\n return -4;\r\n const ch3 = parser.source.charCodeAt(parser.index + 2);\r\n if ((CharTypes[ch3] & 64) === 0)\r\n return -4;\r\n const ch4 = parser.source.charCodeAt(parser.index + 3);\r\n if ((CharTypes[ch4] & 64) === 0)\r\n return -4;\r\n parser.index += 3;\r\n parser.column += 3;\r\n parser.currentChar = parser.source.charCodeAt(parser.index);\r\n return (toHex(ch) << 12) | (toHex(ch2) << 8) | (toHex(ch3) << 4) | toHex(ch4);\r\n }\r\n }\r\n case 56:\r\n case 57:\r\n if ((context & 256) === 0)\r\n return -3;\r\n default:\r\n return first;\r\n }\r\n}\r\nfunction handleStringError(state, code, isTemplate) {\r\n switch (code) {\r\n case -1:\r\n return;\r\n case -2:\r\n report(state, isTemplate ? 2 : 1);\r\n case -3:\r\n report(state, 13);\r\n case -4:\r\n report(state, 6);\r\n case -5:\r\n report(state, 102);\r\n }\r\n}\n\nfunction scanTemplate(parser, context) {\r\n const { index: start } = parser;\r\n let token = 67174409;\r\n let ret = '';\r\n let char = advanceChar(parser);\r\n while (char !== 96) {\r\n if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) {\r\n advanceChar(parser);\r\n token = 67174408;\r\n break;\r\n }\r\n else if ((char & 8) === 8 && char === 92) {\r\n char = advanceChar(parser);\r\n if (char > 0x7e) {\r\n ret += fromCodePoint(char);\r\n }\r\n else {\r\n const code = parseEscape(parser, context | 1024, char);\r\n if (code >= 0) {\r\n ret += fromCodePoint(code);\r\n }\r\n else if (code !== -1 && context & 65536) {\r\n ret = undefined;\r\n char = scanBadTemplate(parser, char);\r\n if (char < 0)\r\n token = 67174408;\r\n break;\r\n }\r\n else {\r\n handleStringError(parser, code, 1);\r\n }\r\n }\r\n }\r\n else {\r\n if (parser.index < parser.end &&\r\n char === 13 &&\r\n parser.source.charCodeAt(parser.index) === 10) {\r\n ret += fromCodePoint(char);\r\n parser.currentChar = parser.source.charCodeAt(++parser.index);\r\n }\r\n if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) {\r\n parser.column = -1;\r\n parser.line++;\r\n }\r\n ret += fromCodePoint(char);\r\n }\r\n if (parser.index >= parser.end)\r\n report(parser, 15);\r\n char = advanceChar(parser);\r\n }\r\n advanceChar(parser);\r\n parser.tokenValue = ret;\r\n parser.tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2));\r\n return token;\r\n}\r\nfunction scanBadTemplate(parser, ch) {\r\n while (ch !== 96) {\r\n switch (ch) {\r\n case 36: {\r\n const index = parser.index + 1;\r\n if (index < parser.end && parser.source.charCodeAt(index) === 123) {\r\n parser.index = index;\r\n parser.column++;\r\n return -ch;\r\n }\r\n break;\r\n }\r\n case 10:\r\n case 8232:\r\n case 8233:\r\n parser.column = -1;\r\n parser.line++;\r\n }\r\n if (parser.index >= parser.end)\r\n report(parser, 15);\r\n ch = advanceChar(parser);\r\n }\r\n return ch;\r\n}\r\nfunction scanTemplateTail(parser, context) {\r\n if (parser.index >= parser.end)\r\n report(parser, 0);\r\n parser.index--;\r\n parser.column--;\r\n return scanTemplate(parser, context);\r\n}\n\nfunction scanNumber(parser, context, kind) {\r\n let char = parser.currentChar;\r\n let value = 0;\r\n let digit = 9;\r\n let atStart = kind & 64 ? 0 : 1;\r\n let digits = 0;\r\n let allowSeparator = 0;\r\n if (kind & 64) {\r\n value = '.' + scanDecimalDigitsOrSeparator(parser, char);\r\n char = parser.currentChar;\r\n if (char === 110)\r\n report(parser, 11);\r\n }\r\n else {\r\n if (char === 48) {\r\n char = advanceChar(parser);\r\n if ((char | 32) === 120) {\r\n kind = 8 | 128;\r\n char = advanceChar(parser);\r\n while (CharTypes[char] & (64 | 4096)) {\r\n if (char === 95) {\r\n if (!allowSeparator)\r\n report(parser, 147);\r\n allowSeparator = 0;\r\n char = advanceChar(parser);\r\n continue;\r\n }\r\n allowSeparator = 1;\r\n value = value * 0x10 + toHex(char);\r\n digits++;\r\n char = advanceChar(parser);\r\n }\r\n if (digits === 0 || !allowSeparator) {\r\n report(parser, digits === 0 ? 19 : 148);\r\n }\r\n }\r\n else if ((char | 32) === 111) {\r\n kind = 4 | 128;\r\n char = advanceChar(parser);\r\n while (CharTypes[char] & (32 | 4096)) {\r\n if (char === 95) {\r\n if (!allowSeparator) {\r\n report(parser, 147);\r\n }\r\n allowSeparator = 0;\r\n char = advanceChar(parser);\r\n continue;\r\n }\r\n allowSeparator = 1;\r\n value = value * 8 + (char - 48);\r\n digits++;\r\n char = advanceChar(parser);\r\n }\r\n if (digits === 0 || !allowSeparator) {\r\n report(parser, digits === 0 ? 0 : 148);\r\n }\r\n }\r\n else if ((char | 32) === 98) {\r\n kind = 2 | 128;\r\n char = advanceChar(parser);\r\n while (CharTypes[char] & (128 | 4096)) {\r\n if (char === 95) {\r\n if (!allowSeparator) {\r\n report(parser, 147);\r\n }\r\n allowSeparator = 0;\r\n char = advanceChar(parser);\r\n continue;\r\n }\r\n allowSeparator = 1;\r\n value = value * 2 + (char - 48);\r\n digits++;\r\n char = advanceChar(parser);\r\n }\r\n if (digits === 0 || !allowSeparator) {\r\n report(parser, digits === 0 ? 0 : 148);\r\n }\r\n }\r\n else if (CharTypes[char] & 32) {\r\n if (context & 1024)\r\n report(parser, 1);\r\n kind = 1;\r\n while (CharTypes[char] & 16) {\r\n if (CharTypes[char] & 512) {\r\n kind = 32;\r\n atStart = 0;\r\n break;\r\n }\r\n value = value * 8 + (char - 48);\r\n char = advanceChar(parser);\r\n }\r\n }\r\n else if (CharTypes[char] & 512) {\r\n if (context & 1024)\r\n report(parser, 1);\r\n parser.flags |= 64;\r\n kind = 32;\r\n }\r\n else if (char === 95) {\r\n report(parser, 0);\r\n }\r\n }\r\n if (kind & 48) {\r\n if (atStart) {\r\n while (digit >= 0 && CharTypes[char] & (16 | 4096)) {\r\n if (char === 95) {\r\n char = advanceChar(parser);\r\n if (char === 95 || kind & 32) {\r\n reportScannerError(parser.index, parser.line, parser.index + 1, 147);\r\n }\r\n allowSeparator = 1;\r\n continue;\r\n }\r\n allowSeparator = 0;\r\n value = 10 * value + (char - 48);\r\n char = advanceChar(parser);\r\n --digit;\r\n }\r\n if (allowSeparator) {\r\n reportScannerError(parser.index, parser.line, parser.index + 1, 148);\r\n }\r\n if (digit >= 0 && !isIdentifierStart(char) && char !== 46) {\r\n parser.tokenValue = value;\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n return 134283266;\r\n }\r\n }\r\n value += scanDecimalDigitsOrSeparator(parser, char);\r\n char = parser.currentChar;\r\n if (char === 46) {\r\n if (advanceChar(parser) === 95)\r\n report(parser, 0);\r\n kind = 64;\r\n value += '.' + scanDecimalDigitsOrSeparator(parser, parser.currentChar);\r\n char = parser.currentChar;\r\n }\r\n }\r\n }\r\n const end = parser.index;\r\n let isBigInt = 0;\r\n if (char === 110 && kind & 128) {\r\n isBigInt = 1;\r\n char = advanceChar(parser);\r\n }\r\n else {\r\n if ((char | 32) === 101) {\r\n char = advanceChar(parser);\r\n if (CharTypes[char] & 256)\r\n char = advanceChar(parser);\r\n const { index } = parser;\r\n if ((CharTypes[char] & 16) === 0)\r\n report(parser, 10);\r\n value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char);\r\n char = parser.currentChar;\r\n }\r\n }\r\n if ((parser.index < parser.end && CharTypes[char] & 16) || isIdentifierStart(char)) {\r\n report(parser, 12);\r\n }\r\n if (isBigInt) {\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n parser.tokenValue = BigInt(value);\r\n return 134283389;\r\n }\r\n parser.tokenValue =\r\n kind & (1 | 2 | 8 | 4)\r\n ? value\r\n : kind & 32\r\n ? parseFloat(parser.source.substring(parser.tokenPos, parser.index))\r\n : +value;\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n return 134283266;\r\n}\r\nfunction scanDecimalDigitsOrSeparator(parser, char) {\r\n let allowSeparator = 0;\r\n let start = parser.index;\r\n let ret = '';\r\n while (CharTypes[char] & (16 | 4096)) {\r\n if (char === 95) {\r\n const { index } = parser;\r\n char = advanceChar(parser);\r\n if (char === 95) {\r\n reportScannerError(parser.index, parser.line, parser.index + 1, 147);\r\n }\r\n allowSeparator = 1;\r\n ret += parser.source.substring(start, index);\r\n start = parser.index;\r\n continue;\r\n }\r\n allowSeparator = 0;\r\n char = advanceChar(parser);\r\n }\r\n if (allowSeparator) {\r\n reportScannerError(parser.index, parser.line, parser.index + 1, 148);\r\n }\r\n return ret + parser.source.substring(start, parser.index);\r\n}\n\nconst KeywordDescTable = [\r\n 'end of source',\r\n 'identifier', 'number', 'string', 'regular expression',\r\n 'false', 'true', 'null',\r\n 'template continuation', 'template tail',\r\n '=>', '(', '{', '.', '...', '}', ')', ';', ',', '[', ']', ':', '?', '\\'', '\"', '',\r\n '++', '--',\r\n '=', '<<=', '>>=', '>>>=', '**=', '+=', '-=', '*=', '/=', '%=', '^=', '|=',\r\n '&=', '||=', '&&=', '??=',\r\n 'typeof', 'delete', 'void', '!', '~', '+', '-', 'in', 'instanceof', '*', '%', '/', '**', '&&',\r\n '||', '===', '!==', '==', '!=', '<=', '>=', '<', '>', '<<', '>>', '>>>', '&', '|', '^',\r\n 'var', 'let', 'const',\r\n 'break', 'case', 'catch', 'class', 'continue', 'debugger', 'default', 'do', 'else', 'export',\r\n 'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch',\r\n 'this', 'throw', 'try', 'while', 'with',\r\n 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield',\r\n 'as', 'async', 'await', 'constructor', 'get', 'set', 'from', 'of',\r\n 'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#',\r\n 'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField',\r\n 'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText'\r\n];\r\nconst descKeywordTable = Object.create(null, {\r\n this: { value: 86113 },\r\n function: { value: 86106 },\r\n if: { value: 20571 },\r\n return: { value: 20574 },\r\n var: { value: 86090 },\r\n else: { value: 20565 },\r\n for: { value: 20569 },\r\n new: { value: 86109 },\r\n in: { value: 8738868 },\r\n typeof: { value: 16863277 },\r\n while: { value: 20580 },\r\n case: { value: 20558 },\r\n break: { value: 20557 },\r\n try: { value: 20579 },\r\n catch: { value: 20559 },\r\n delete: { value: 16863278 },\r\n throw: { value: 86114 },\r\n switch: { value: 86112 },\r\n continue: { value: 20561 },\r\n default: { value: 20563 },\r\n instanceof: { value: 8476725 },\r\n do: { value: 20564 },\r\n void: { value: 16863279 },\r\n finally: { value: 20568 },\r\n async: { value: 209007 },\r\n await: { value: 209008 },\r\n class: { value: 86096 },\r\n const: { value: 86092 },\r\n constructor: { value: 12401 },\r\n debugger: { value: 20562 },\r\n export: { value: 20566 },\r\n extends: { value: 20567 },\r\n false: { value: 86021 },\r\n from: { value: 12404 },\r\n get: { value: 12402 },\r\n implements: { value: 36966 },\r\n import: { value: 86108 },\r\n interface: { value: 36967 },\r\n let: { value: 241739 },\r\n null: { value: 86023 },\r\n of: { value: 274549 },\r\n package: { value: 36968 },\r\n private: { value: 36969 },\r\n protected: { value: 36970 },\r\n public: { value: 36971 },\r\n set: { value: 12403 },\r\n static: { value: 36972 },\r\n super: { value: 86111 },\r\n true: { value: 86022 },\r\n with: { value: 20581 },\r\n yield: { value: 241773 },\r\n enum: { value: 86134 },\r\n eval: { value: 537079927 },\r\n as: { value: 77934 },\r\n arguments: { value: 537079928 },\r\n target: { value: 143494 },\r\n meta: { value: 143495 },\r\n});\n\nfunction scanIdentifier(parser, context, isValidAsKeyword) {\r\n while (isIdPart[advanceChar(parser)]) { }\r\n parser.tokenValue = parser.source.slice(parser.tokenPos, parser.index);\r\n return parser.currentChar !== 92 && parser.currentChar <= 0x7e\r\n ? descKeywordTable[parser.tokenValue] || 208897\r\n : scanIdentifierSlowCase(parser, context, 0, isValidAsKeyword);\r\n}\r\nfunction scanUnicodeIdentifier(parser, context) {\r\n const cookedChar = scanIdentifierUnicodeEscape(parser);\r\n if (!isIdentifierPart(cookedChar))\r\n report(parser, 4);\r\n parser.tokenValue = fromCodePoint(cookedChar);\r\n return scanIdentifierSlowCase(parser, context, 1, CharTypes[cookedChar] & 4);\r\n}\r\nfunction scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) {\r\n let start = parser.index;\r\n while (parser.index < parser.end) {\r\n if (parser.currentChar === 92) {\r\n parser.tokenValue += parser.source.slice(start, parser.index);\r\n hasEscape = 1;\r\n const code = scanIdentifierUnicodeEscape(parser);\r\n if (!isIdentifierPart(code))\r\n report(parser, 4);\r\n isValidAsKeyword = isValidAsKeyword && CharTypes[code] & 4;\r\n parser.tokenValue += fromCodePoint(code);\r\n start = parser.index;\r\n }\r\n else if (isIdentifierPart(parser.currentChar) || consumeMultiUnitCodePoint(parser, parser.currentChar)) {\r\n advanceChar(parser);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n if (parser.index <= parser.end) {\r\n parser.tokenValue += parser.source.slice(start, parser.index);\r\n }\r\n const length = parser.tokenValue.length;\r\n if (isValidAsKeyword && length >= 2 && length <= 11) {\r\n const token = descKeywordTable[parser.tokenValue];\r\n if (token === void 0)\r\n return 208897;\r\n if (!hasEscape)\r\n return token;\r\n if (token === 209008) {\r\n if ((context & (2048 | 4194304)) === 0) {\r\n return token;\r\n }\r\n return 121;\r\n }\r\n if (context & 1024) {\r\n if (token === 36972) {\r\n return 122;\r\n }\r\n if ((token & 36864) === 36864) {\r\n return 122;\r\n }\r\n if ((token & 20480) === 20480) {\r\n if (context & 268435456 && (context & 8192) === 0) {\r\n return token;\r\n }\r\n else {\r\n return 121;\r\n }\r\n }\r\n return 143483;\r\n }\r\n if (context & 268435456 &&\r\n (context & 8192) === 0 &&\r\n (token & 20480) === 20480)\r\n return token;\r\n if (token === 241773) {\r\n return context & 268435456\r\n ? 143483\r\n : context & 2097152\r\n ? 121\r\n : token;\r\n }\r\n if (token === 209007) {\r\n return 143483;\r\n }\r\n if ((token & 36864) === 36864) {\r\n return token;\r\n }\r\n return 121;\r\n }\r\n return 208897;\r\n}\r\nfunction scanPrivateIdentifier(parser) {\r\n if (!isIdentifierStart(advanceChar(parser)))\r\n report(parser, 94);\r\n return 131;\r\n}\r\nfunction scanIdentifierUnicodeEscape(parser) {\r\n if (parser.source.charCodeAt(parser.index + 1) !== 117) {\r\n report(parser, 4);\r\n }\r\n parser.currentChar = parser.source.charCodeAt((parser.index += 2));\r\n return scanUnicodeEscape(parser);\r\n}\r\nfunction scanUnicodeEscape(parser) {\r\n let codePoint = 0;\r\n const char = parser.currentChar;\r\n if (char === 123) {\r\n const begin = parser.index - 2;\r\n while (CharTypes[advanceChar(parser)] & 64) {\r\n codePoint = (codePoint << 4) | toHex(parser.currentChar);\r\n if (codePoint > 1114111)\r\n reportScannerError(begin, parser.line, parser.index + 1, 102);\r\n }\r\n if (parser.currentChar !== 125) {\r\n reportScannerError(begin, parser.line, parser.index - 1, 6);\r\n }\r\n advanceChar(parser);\r\n return codePoint;\r\n }\r\n if ((CharTypes[char] & 64) === 0)\r\n report(parser, 6);\r\n const char2 = parser.source.charCodeAt(parser.index + 1);\r\n if ((CharTypes[char2] & 64) === 0)\r\n report(parser, 6);\r\n const char3 = parser.source.charCodeAt(parser.index + 2);\r\n if ((CharTypes[char3] & 64) === 0)\r\n report(parser, 6);\r\n const char4 = parser.source.charCodeAt(parser.index + 3);\r\n if ((CharTypes[char4] & 64) === 0)\r\n report(parser, 6);\r\n codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4);\r\n parser.currentChar = parser.source.charCodeAt((parser.index += 4));\r\n return codePoint;\r\n}\n\nconst TokenLookup = [\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 128,\r\n 136,\r\n 128,\r\n 128,\r\n 130,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 128,\r\n 16842800,\r\n 134283267,\r\n 131,\r\n 208897,\r\n 8457015,\r\n 8455751,\r\n 134283267,\r\n 67174411,\r\n 16,\r\n 8457014,\r\n 25233970,\r\n 18,\r\n 25233971,\r\n 67108877,\r\n 8457016,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 21,\r\n 1074790417,\r\n 8456258,\r\n 1077936157,\r\n 8456259,\r\n 22,\r\n 133,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 69271571,\r\n 137,\r\n 20,\r\n 8455497,\r\n 208897,\r\n 132,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 208897,\r\n 208897,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 4096,\r\n 2162700,\r\n 8455240,\r\n 1074790415,\r\n 16842801,\r\n 129\r\n];\r\nfunction nextToken(parser, context) {\r\n parser.flags = (parser.flags | 1) ^ 1;\r\n parser.startPos = parser.index;\r\n parser.startColumn = parser.column;\r\n parser.startLine = parser.line;\r\n parser.token = scanSingleToken(parser, context, 0);\r\n if (parser.onToken && parser.token !== 1048576) {\r\n const loc = {\r\n start: {\r\n line: parser.linePos,\r\n column: parser.colPos\r\n },\r\n end: {\r\n line: parser.line,\r\n column: parser.column\r\n }\r\n };\r\n parser.onToken(convertTokenType(parser.token), parser.tokenPos, parser.index, loc);\r\n }\r\n}\r\nfunction scanSingleToken(parser, context, state) {\r\n const isStartOfLine = parser.index === 0;\r\n const source = parser.source;\r\n let startPos = parser.index;\r\n let startLine = parser.line;\r\n let startColumn = parser.column;\r\n while (parser.index < parser.end) {\r\n parser.tokenPos = parser.index;\r\n parser.colPos = parser.column;\r\n parser.linePos = parser.line;\r\n let char = parser.currentChar;\r\n if (char <= 0x7e) {\r\n const token = TokenLookup[char];\r\n switch (token) {\r\n case 67174411:\r\n case 16:\r\n case 2162700:\r\n case 1074790415:\r\n case 69271571:\r\n case 20:\r\n case 21:\r\n case 1074790417:\r\n case 18:\r\n case 16842801:\r\n case 133:\r\n case 129:\r\n advanceChar(parser);\r\n return token;\r\n case 208897:\r\n return scanIdentifier(parser, context, 0);\r\n case 4096:\r\n return scanIdentifier(parser, context, 1);\r\n case 134283266:\r\n return scanNumber(parser, context, 16 | 128);\r\n case 134283267:\r\n return scanString(parser, context, char);\r\n case 132:\r\n return scanTemplate(parser, context);\r\n case 137:\r\n return scanUnicodeIdentifier(parser, context);\r\n case 131:\r\n return scanPrivateIdentifier(parser);\r\n case 128:\r\n advanceChar(parser);\r\n break;\r\n case 130:\r\n state |= 1 | 4;\r\n scanNewLine(parser);\r\n break;\r\n case 136:\r\n consumeLineFeed(parser, state);\r\n state = (state & ~4) | 1;\r\n break;\r\n case 8456258:\r\n let ch = advanceChar(parser);\r\n if (parser.index < parser.end) {\r\n if (ch === 60) {\r\n if (parser.index < parser.end && advanceChar(parser) === 61) {\r\n advanceChar(parser);\r\n return 4194334;\r\n }\r\n return 8456516;\r\n }\r\n else if (ch === 61) {\r\n advanceChar(parser);\r\n return 8456256;\r\n }\r\n if (ch === 33) {\r\n const index = parser.index + 1;\r\n if (index + 1 < parser.end &&\r\n source.charCodeAt(index) === 45 &&\r\n source.charCodeAt(index + 1) == 45) {\r\n parser.column += 3;\r\n parser.currentChar = source.charCodeAt((parser.index += 3));\r\n state = skipSingleHTMLComment(parser, source, state, context, 2, parser.tokenPos, parser.linePos, parser.colPos);\r\n startPos = parser.tokenPos;\r\n startLine = parser.linePos;\r\n startColumn = parser.colPos;\r\n continue;\r\n }\r\n return 8456258;\r\n }\r\n if (ch === 47) {\r\n if ((context & 16) === 0)\r\n return 8456258;\r\n const index = parser.index + 1;\r\n if (index < parser.end) {\r\n ch = source.charCodeAt(index);\r\n if (ch === 42 || ch === 47)\r\n break;\r\n }\r\n advanceChar(parser);\r\n return 25;\r\n }\r\n }\r\n return 8456258;\r\n case 1077936157: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 61) {\r\n if (advanceChar(parser) === 61) {\r\n advanceChar(parser);\r\n return 8455996;\r\n }\r\n return 8455998;\r\n }\r\n if (ch === 62) {\r\n advanceChar(parser);\r\n return 10;\r\n }\r\n return 1077936157;\r\n }\r\n case 16842800:\r\n if (advanceChar(parser) !== 61) {\r\n return 16842800;\r\n }\r\n if (advanceChar(parser) !== 61) {\r\n return 8455999;\r\n }\r\n advanceChar(parser);\r\n return 8455997;\r\n case 8457015:\r\n if (advanceChar(parser) !== 61)\r\n return 8457015;\r\n advanceChar(parser);\r\n return 4194342;\r\n case 8457014: {\r\n advanceChar(parser);\r\n if (parser.index >= parser.end)\r\n return 8457014;\r\n const ch = parser.currentChar;\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194340;\r\n }\r\n if (ch !== 42)\r\n return 8457014;\r\n if (advanceChar(parser) !== 61)\r\n return 8457273;\r\n advanceChar(parser);\r\n return 4194337;\r\n }\r\n case 8455497:\r\n if (advanceChar(parser) !== 61)\r\n return 8455497;\r\n advanceChar(parser);\r\n return 4194343;\r\n case 25233970: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 43) {\r\n advanceChar(parser);\r\n return 33619995;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194338;\r\n }\r\n return 25233970;\r\n }\r\n case 25233971: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 45) {\r\n advanceChar(parser);\r\n if ((state & 1 || isStartOfLine) && parser.currentChar === 62) {\r\n if ((context & 256) === 0)\r\n report(parser, 109);\r\n advanceChar(parser);\r\n state = skipSingleHTMLComment(parser, source, state, context, 3, startPos, startLine, startColumn);\r\n startPos = parser.tokenPos;\r\n startLine = parser.linePos;\r\n startColumn = parser.colPos;\r\n continue;\r\n }\r\n return 33619996;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194339;\r\n }\r\n return 25233971;\r\n }\r\n case 8457016: {\r\n advanceChar(parser);\r\n if (parser.index < parser.end) {\r\n const ch = parser.currentChar;\r\n if (ch === 47) {\r\n advanceChar(parser);\r\n state = skipSingleLineComment(parser, source, state, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n startPos = parser.tokenPos;\r\n startLine = parser.linePos;\r\n startColumn = parser.colPos;\r\n continue;\r\n }\r\n if (ch === 42) {\r\n advanceChar(parser);\r\n state = skipMultiLineComment(parser, source, state);\r\n startPos = parser.tokenPos;\r\n startLine = parser.linePos;\r\n startColumn = parser.colPos;\r\n continue;\r\n }\r\n if (context & 32768) {\r\n return scanRegularExpression(parser, context);\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4259877;\r\n }\r\n }\r\n return 8457016;\r\n }\r\n case 67108877:\r\n const next = advanceChar(parser);\r\n if (next >= 48 && next <= 57)\r\n return scanNumber(parser, context, 64 | 16);\r\n if (next === 46) {\r\n const index = parser.index + 1;\r\n if (index < parser.end && source.charCodeAt(index) === 46) {\r\n parser.column += 2;\r\n parser.currentChar = source.charCodeAt((parser.index += 2));\r\n return 14;\r\n }\r\n }\r\n return 67108877;\r\n case 8455240: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 124) {\r\n advanceChar(parser);\r\n if (parser.currentChar === 61) {\r\n advanceChar(parser);\r\n return 4194346;\r\n }\r\n return 8979003;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194344;\r\n }\r\n return 8455240;\r\n }\r\n case 8456259: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 8456257;\r\n }\r\n if (ch !== 62)\r\n return 8456259;\r\n advanceChar(parser);\r\n if (parser.index < parser.end) {\r\n const ch = parser.currentChar;\r\n if (ch === 62) {\r\n if (advanceChar(parser) === 61) {\r\n advanceChar(parser);\r\n return 4194336;\r\n }\r\n return 8456518;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194335;\r\n }\r\n }\r\n return 8456517;\r\n }\r\n case 8455751: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 38) {\r\n advanceChar(parser);\r\n if (parser.currentChar === 61) {\r\n advanceChar(parser);\r\n return 4194347;\r\n }\r\n return 8979258;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194345;\r\n }\r\n return 8455751;\r\n }\r\n case 22: {\r\n let ch = advanceChar(parser);\r\n if (ch === 63) {\r\n advanceChar(parser);\r\n if (parser.currentChar === 61) {\r\n advanceChar(parser);\r\n return 4194348;\r\n }\r\n return 276889982;\r\n }\r\n if (ch === 46) {\r\n const index = parser.index + 1;\r\n if (index < parser.end) {\r\n ch = source.charCodeAt(index);\r\n if (!(ch >= 48 && ch <= 57)) {\r\n advanceChar(parser);\r\n return 67108991;\r\n }\r\n }\r\n }\r\n return 22;\r\n }\r\n }\r\n }\r\n else {\r\n if ((char ^ 8232) <= 1) {\r\n state = (state & ~4) | 1;\r\n scanNewLine(parser);\r\n continue;\r\n }\r\n if ((char & 0xfc00) === 0xd800 || ((unicodeLookup[(char >>> 5) + 34816] >>> char) & 31 & 1) !== 0) {\r\n if ((char & 0xfc00) === 0xdc00) {\r\n char = ((char & 0x3ff) << 10) | (char & 0x3ff) | 0x10000;\r\n if (((unicodeLookup[(char >>> 5) + 0] >>> char) & 31 & 1) === 0) {\r\n report(parser, 18, fromCodePoint(char));\r\n }\r\n parser.index++;\r\n parser.currentChar = char;\r\n }\r\n parser.column++;\r\n parser.tokenValue = '';\r\n return scanIdentifierSlowCase(parser, context, 0, 0);\r\n }\r\n if (isExoticECMAScriptWhitespace(char)) {\r\n advanceChar(parser);\r\n continue;\r\n }\r\n report(parser, 18, fromCodePoint(char));\r\n }\r\n }\r\n return 1048576;\r\n}\n\nconst entities = {\r\n AElig: '\\u00C6',\r\n AMP: '\\u0026',\r\n Aacute: '\\u00C1',\r\n Abreve: '\\u0102',\r\n Acirc: '\\u00C2',\r\n Acy: '\\u0410',\r\n Afr: '\\uD835\\uDD04',\r\n Agrave: '\\u00C0',\r\n Alpha: '\\u0391',\r\n Amacr: '\\u0100',\r\n And: '\\u2A53',\r\n Aogon: '\\u0104',\r\n Aopf: '\\uD835\\uDD38',\r\n ApplyFunction: '\\u2061',\r\n Aring: '\\u00C5',\r\n Ascr: '\\uD835\\uDC9C',\r\n Assign: '\\u2254',\r\n Atilde: '\\u00C3',\r\n Auml: '\\u00C4',\r\n Backslash: '\\u2216',\r\n Barv: '\\u2AE7',\r\n Barwed: '\\u2306',\r\n Bcy: '\\u0411',\r\n Because: '\\u2235',\r\n Bernoullis: '\\u212C',\r\n Beta: '\\u0392',\r\n Bfr: '\\uD835\\uDD05',\r\n Bopf: '\\uD835\\uDD39',\r\n Breve: '\\u02D8',\r\n Bscr: '\\u212C',\r\n Bumpeq: '\\u224E',\r\n CHcy: '\\u0427',\r\n COPY: '\\u00A9',\r\n Cacute: '\\u0106',\r\n Cap: '\\u22D2',\r\n CapitalDifferentialD: '\\u2145',\r\n Cayleys: '\\u212D',\r\n Ccaron: '\\u010C',\r\n Ccedil: '\\u00C7',\r\n Ccirc: '\\u0108',\r\n Cconint: '\\u2230',\r\n Cdot: '\\u010A',\r\n Cedilla: '\\u00B8',\r\n CenterDot: '\\u00B7',\r\n Cfr: '\\u212D',\r\n Chi: '\\u03A7',\r\n CircleDot: '\\u2299',\r\n CircleMinus: '\\u2296',\r\n CirclePlus: '\\u2295',\r\n CircleTimes: '\\u2297',\r\n ClockwiseContourIntegral: '\\u2232',\r\n CloseCurlyDoubleQuote: '\\u201D',\r\n CloseCurlyQuote: '\\u2019',\r\n Colon: '\\u2237',\r\n Colone: '\\u2A74',\r\n Congruent: '\\u2261',\r\n Conint: '\\u222F',\r\n ContourIntegral: '\\u222E',\r\n Copf: '\\u2102',\r\n Coproduct: '\\u2210',\r\n CounterClockwiseContourIntegral: '\\u2233',\r\n Cross: '\\u2A2F',\r\n Cscr: '\\uD835\\uDC9E',\r\n Cup: '\\u22D3',\r\n CupCap: '\\u224D',\r\n DD: '\\u2145',\r\n DDotrahd: '\\u2911',\r\n DJcy: '\\u0402',\r\n DScy: '\\u0405',\r\n DZcy: '\\u040F',\r\n Dagger: '\\u2021',\r\n Darr: '\\u21A1',\r\n Dashv: '\\u2AE4',\r\n Dcaron: '\\u010E',\r\n Dcy: '\\u0414',\r\n Del: '\\u2207',\r\n Delta: '\\u0394',\r\n Dfr: '\\uD835\\uDD07',\r\n DiacriticalAcute: '\\u00B4',\r\n DiacriticalDot: '\\u02D9',\r\n DiacriticalDoubleAcute: '\\u02DD',\r\n DiacriticalGrave: '\\u0060',\r\n DiacriticalTilde: '\\u02DC',\r\n Diamond: '\\u22C4',\r\n DifferentialD: '\\u2146',\r\n Dopf: '\\uD835\\uDD3B',\r\n Dot: '\\u00A8',\r\n DotDot: '\\u20DC',\r\n DotEqual: '\\u2250',\r\n DoubleContourIntegral: '\\u222F',\r\n DoubleDot: '\\u00A8',\r\n DoubleDownArrow: '\\u21D3',\r\n DoubleLeftArrow: '\\u21D0',\r\n DoubleLeftRightArrow: '\\u21D4',\r\n DoubleLeftTee: '\\u2AE4',\r\n DoubleLongLeftArrow: '\\u27F8',\r\n DoubleLongLeftRightArrow: '\\u27FA',\r\n DoubleLongRightArrow: '\\u27F9',\r\n DoubleRightArrow: '\\u21D2',\r\n DoubleRightTee: '\\u22A8',\r\n DoubleUpArrow: '\\u21D1',\r\n DoubleUpDownArrow: '\\u21D5',\r\n DoubleVerticalBar: '\\u2225',\r\n DownArrow: '\\u2193',\r\n DownArrowBar: '\\u2913',\r\n DownArrowUpArrow: '\\u21F5',\r\n DownBreve: '\\u0311',\r\n DownLeftRightVector: '\\u2950',\r\n DownLeftTeeVector: '\\u295E',\r\n DownLeftVector: '\\u21BD',\r\n DownLeftVectorBar: '\\u2956',\r\n DownRightTeeVector: '\\u295F',\r\n DownRightVector: '\\u21C1',\r\n DownRightVectorBar: '\\u2957',\r\n DownTee: '\\u22A4',\r\n DownTeeArrow: '\\u21A7',\r\n Downarrow: '\\u21D3',\r\n Dscr: '\\uD835\\uDC9F',\r\n Dstrok: '\\u0110',\r\n ENG: '\\u014A',\r\n ETH: '\\u00D0',\r\n Eacute: '\\u00C9',\r\n Ecaron: '\\u011A',\r\n Ecirc: '\\u00CA',\r\n Ecy: '\\u042D',\r\n Edot: '\\u0116',\r\n Efr: '\\uD835\\uDD08',\r\n Egrave: '\\u00C8',\r\n Element: '\\u2208',\r\n Emacr: '\\u0112',\r\n EmptySmallSquare: '\\u25FB',\r\n EmptyVerySmallSquare: '\\u25AB',\r\n Eogon: '\\u0118',\r\n Eopf: '\\uD835\\uDD3C',\r\n Epsilon: '\\u0395',\r\n Equal: '\\u2A75',\r\n EqualTilde: '\\u2242',\r\n Equilibrium: '\\u21CC',\r\n Escr: '\\u2130',\r\n Esim: '\\u2A73',\r\n Eta: '\\u0397',\r\n Euml: '\\u00CB',\r\n Exists: '\\u2203',\r\n ExponentialE: '\\u2147',\r\n Fcy: '\\u0424',\r\n Ffr: '\\uD835\\uDD09',\r\n FilledSmallSquare: '\\u25FC',\r\n FilledVerySmallSquare: '\\u25AA',\r\n Fopf: '\\uD835\\uDD3D',\r\n ForAll: '\\u2200',\r\n Fouriertrf: '\\u2131',\r\n Fscr: '\\u2131',\r\n GJcy: '\\u0403',\r\n GT: '\\u003E',\r\n Gamma: '\\u0393',\r\n Gammad: '\\u03DC',\r\n Gbreve: '\\u011E',\r\n Gcedil: '\\u0122',\r\n Gcirc: '\\u011C',\r\n Gcy: '\\u0413',\r\n Gdot: '\\u0120',\r\n Gfr: '\\uD835\\uDD0A',\r\n Gg: '\\u22D9',\r\n Gopf: '\\uD835\\uDD3E',\r\n GreaterEqual: '\\u2265',\r\n GreaterEqualLess: '\\u22DB',\r\n GreaterFullEqual: '\\u2267',\r\n GreaterGreater: '\\u2AA2',\r\n GreaterLess: '\\u2277',\r\n GreaterSlantEqual: '\\u2A7E',\r\n GreaterTilde: '\\u2273',\r\n Gscr: '\\uD835\\uDCA2',\r\n Gt: '\\u226B',\r\n HARDcy: '\\u042A',\r\n Hacek: '\\u02C7',\r\n Hat: '\\u005E',\r\n Hcirc: '\\u0124',\r\n Hfr: '\\u210C',\r\n HilbertSpace: '\\u210B',\r\n Hopf: '\\u210D',\r\n HorizontalLine: '\\u2500',\r\n Hscr: '\\u210B',\r\n Hstrok: '\\u0126',\r\n HumpDownHump: '\\u224E',\r\n HumpEqual: '\\u224F',\r\n IEcy: '\\u0415',\r\n IJlig: '\\u0132',\r\n IOcy: '\\u0401',\r\n Iacute: '\\u00CD',\r\n Icirc: '\\u00CE',\r\n Icy: '\\u0418',\r\n Idot: '\\u0130',\r\n Ifr: '\\u2111',\r\n Igrave: '\\u00CC',\r\n Im: '\\u2111',\r\n Imacr: '\\u012A',\r\n ImaginaryI: '\\u2148',\r\n Implies: '\\u21D2',\r\n Int: '\\u222C',\r\n Integral: '\\u222B',\r\n Intersection: '\\u22C2',\r\n InvisibleComma: '\\u2063',\r\n InvisibleTimes: '\\u2062',\r\n Iogon: '\\u012E',\r\n Iopf: '\\uD835\\uDD40',\r\n Iota: '\\u0399',\r\n Iscr: '\\u2110',\r\n Itilde: '\\u0128',\r\n Iukcy: '\\u0406',\r\n Iuml: '\\u00CF',\r\n Jcirc: '\\u0134',\r\n Jcy: '\\u0419',\r\n Jfr: '\\uD835\\uDD0D',\r\n Jopf: '\\uD835\\uDD41',\r\n Jscr: '\\uD835\\uDCA5',\r\n Jsercy: '\\u0408',\r\n Jukcy: '\\u0404',\r\n KHcy: '\\u0425',\r\n KJcy: '\\u040C',\r\n Kappa: '\\u039A',\r\n Kcedil: '\\u0136',\r\n Kcy: '\\u041A',\r\n Kfr: '\\uD835\\uDD0E',\r\n Kopf: '\\uD835\\uDD42',\r\n Kscr: '\\uD835\\uDCA6',\r\n LJcy: '\\u0409',\r\n LT: '\\u003C',\r\n Lacute: '\\u0139',\r\n Lambda: '\\u039B',\r\n Lang: '\\u27EA',\r\n Laplacetrf: '\\u2112',\r\n Larr: '\\u219E',\r\n Lcaron: '\\u013D',\r\n Lcedil: '\\u013B',\r\n Lcy: '\\u041B',\r\n LeftAngleBracket: '\\u27E8',\r\n LeftArrow: '\\u2190',\r\n LeftArrowBar: '\\u21E4',\r\n LeftArrowRightArrow: '\\u21C6',\r\n LeftCeiling: '\\u2308',\r\n LeftDoubleBracket: '\\u27E6',\r\n LeftDownTeeVector: '\\u2961',\r\n LeftDownVector: '\\u21C3',\r\n LeftDownVectorBar: '\\u2959',\r\n LeftFloor: '\\u230A',\r\n LeftRightArrow: '\\u2194',\r\n LeftRightVector: '\\u294E',\r\n LeftTee: '\\u22A3',\r\n LeftTeeArrow: '\\u21A4',\r\n LeftTeeVector: '\\u295A',\r\n LeftTriangle: '\\u22B2',\r\n LeftTriangleBar: '\\u29CF',\r\n LeftTriangleEqual: '\\u22B4',\r\n LeftUpDownVector: '\\u2951',\r\n LeftUpTeeVector: '\\u2960',\r\n LeftUpVector: '\\u21BF',\r\n LeftUpVectorBar: '\\u2958',\r\n LeftVector: '\\u21BC',\r\n LeftVectorBar: '\\u2952',\r\n Leftarrow: '\\u21D0',\r\n Leftrightarrow: '\\u21D4',\r\n LessEqualGreater: '\\u22DA',\r\n LessFullEqual: '\\u2266',\r\n LessGreater: '\\u2276',\r\n LessLess: '\\u2AA1',\r\n LessSlantEqual: '\\u2A7D',\r\n LessTilde: '\\u2272',\r\n Lfr: '\\uD835\\uDD0F',\r\n Ll: '\\u22D8',\r\n Lleftarrow: '\\u21DA',\r\n Lmidot: '\\u013F',\r\n LongLeftArrow: '\\u27F5',\r\n LongLeftRightArrow: '\\u27F7',\r\n LongRightArrow: '\\u27F6',\r\n Longleftarrow: '\\u27F8',\r\n Longleftrightarrow: '\\u27FA',\r\n Longrightarrow: '\\u27F9',\r\n Lopf: '\\uD835\\uDD43',\r\n LowerLeftArrow: '\\u2199',\r\n LowerRightArrow: '\\u2198',\r\n Lscr: '\\u2112',\r\n Lsh: '\\u21B0',\r\n Lstrok: '\\u0141',\r\n Lt: '\\u226A',\r\n Map: '\\u2905',\r\n Mcy: '\\u041C',\r\n MediumSpace: '\\u205F',\r\n Mellintrf: '\\u2133',\r\n Mfr: '\\uD835\\uDD10',\r\n MinusPlus: '\\u2213',\r\n Mopf: '\\uD835\\uDD44',\r\n Mscr: '\\u2133',\r\n Mu: '\\u039C',\r\n NJcy: '\\u040A',\r\n Nacute: '\\u0143',\r\n Ncaron: '\\u0147',\r\n Ncedil: '\\u0145',\r\n Ncy: '\\u041D',\r\n NegativeMediumSpace: '\\u200B',\r\n NegativeThickSpace: '\\u200B',\r\n NegativeThinSpace: '\\u200B',\r\n NegativeVeryThinSpace: '\\u200B',\r\n NestedGreaterGreater: '\\u226B',\r\n NestedLessLess: '\\u226A',\r\n NewLine: '\\u000A',\r\n Nfr: '\\uD835\\uDD11',\r\n NoBreak: '\\u2060',\r\n NonBreakingSpace: '\\u00A0',\r\n Nopf: '\\u2115',\r\n Not: '\\u2AEC',\r\n NotCongruent: '\\u2262',\r\n NotCupCap: '\\u226D',\r\n NotDoubleVerticalBar: '\\u2226',\r\n NotElement: '\\u2209',\r\n NotEqual: '\\u2260',\r\n NotEqualTilde: '\\u2242\\u0338',\r\n NotExists: '\\u2204',\r\n NotGreater: '\\u226F',\r\n NotGreaterEqual: '\\u2271',\r\n NotGreaterFullEqual: '\\u2267\\u0338',\r\n NotGreaterGreater: '\\u226B\\u0338',\r\n NotGreaterLess: '\\u2279',\r\n NotGreaterSlantEqual: '\\u2A7E\\u0338',\r\n NotGreaterTilde: '\\u2275',\r\n NotHumpDownHump: '\\u224E\\u0338',\r\n NotHumpEqual: '\\u224F\\u0338',\r\n NotLeftTriangle: '\\u22EA',\r\n NotLeftTriangleBar: '\\u29CF\\u0338',\r\n NotLeftTriangleEqual: '\\u22EC',\r\n NotLess: '\\u226E',\r\n NotLessEqual: '\\u2270',\r\n NotLessGreater: '\\u2278',\r\n NotLessLess: '\\u226A\\u0338',\r\n NotLessSlantEqual: '\\u2A7D\\u0338',\r\n NotLessTilde: '\\u2274',\r\n NotNestedGreaterGreater: '\\u2AA2\\u0338',\r\n NotNestedLessLess: '\\u2AA1\\u0338',\r\n NotPrecedes: '\\u2280',\r\n NotPrecedesEqual: '\\u2AAF\\u0338',\r\n NotPrecedesSlantEqual: '\\u22E0',\r\n NotReverseElement: '\\u220C',\r\n NotRightTriangle: '\\u22EB',\r\n NotRightTriangleBar: '\\u29D0\\u0338',\r\n NotRightTriangleEqual: '\\u22ED',\r\n NotSquareSubset: '\\u228F\\u0338',\r\n NotSquareSubsetEqual: '\\u22E2',\r\n NotSquareSuperset: '\\u2290\\u0338',\r\n NotSquareSupersetEqual: '\\u22E3',\r\n NotSubset: '\\u2282\\u20D2',\r\n NotSubsetEqual: '\\u2288',\r\n NotSucceeds: '\\u2281',\r\n NotSucceedsEqual: '\\u2AB0\\u0338',\r\n NotSucceedsSlantEqual: '\\u22E1',\r\n NotSucceedsTilde: '\\u227F\\u0338',\r\n NotSuperset: '\\u2283\\u20D2',\r\n NotSupersetEqual: '\\u2289',\r\n NotTilde: '\\u2241',\r\n NotTildeEqual: '\\u2244',\r\n NotTildeFullEqual: '\\u2247',\r\n NotTildeTilde: '\\u2249',\r\n NotVerticalBar: '\\u2224',\r\n Nscr: '\\uD835\\uDCA9',\r\n Ntilde: '\\u00D1',\r\n Nu: '\\u039D',\r\n OElig: '\\u0152',\r\n Oacute: '\\u00D3',\r\n Ocirc: '\\u00D4',\r\n Ocy: '\\u041E',\r\n Odblac: '\\u0150',\r\n Ofr: '\\uD835\\uDD12',\r\n Ograve: '\\u00D2',\r\n Omacr: '\\u014C',\r\n Omega: '\\u03A9',\r\n Omicron: '\\u039F',\r\n Oopf: '\\uD835\\uDD46',\r\n OpenCurlyDoubleQuote: '\\u201C',\r\n OpenCurlyQuote: '\\u2018',\r\n Or: '\\u2A54',\r\n Oscr: '\\uD835\\uDCAA',\r\n Oslash: '\\u00D8',\r\n Otilde: '\\u00D5',\r\n Otimes: '\\u2A37',\r\n Ouml: '\\u00D6',\r\n OverBar: '\\u203E',\r\n OverBrace: '\\u23DE',\r\n OverBracket: '\\u23B4',\r\n OverParenthesis: '\\u23DC',\r\n PartialD: '\\u2202',\r\n Pcy: '\\u041F',\r\n Pfr: '\\uD835\\uDD13',\r\n Phi: '\\u03A6',\r\n Pi: '\\u03A0',\r\n PlusMinus: '\\u00B1',\r\n Poincareplane: '\\u210C',\r\n Popf: '\\u2119',\r\n Pr: '\\u2ABB',\r\n Precedes: '\\u227A',\r\n PrecedesEqual: '\\u2AAF',\r\n PrecedesSlantEqual: '\\u227C',\r\n PrecedesTilde: '\\u227E',\r\n Prime: '\\u2033',\r\n Product: '\\u220F',\r\n Proportion: '\\u2237',\r\n Proportional: '\\u221D',\r\n Pscr: '\\uD835\\uDCAB',\r\n Psi: '\\u03A8',\r\n QUOT: '\\u0022',\r\n Qfr: '\\uD835\\uDD14',\r\n Qopf: '\\u211A',\r\n Qscr: '\\uD835\\uDCAC',\r\n RBarr: '\\u2910',\r\n REG: '\\u00AE',\r\n Racute: '\\u0154',\r\n Rang: '\\u27EB',\r\n Rarr: '\\u21A0',\r\n Rarrtl: '\\u2916',\r\n Rcaron: '\\u0158',\r\n Rcedil: '\\u0156',\r\n Rcy: '\\u0420',\r\n Re: '\\u211C',\r\n ReverseElement: '\\u220B',\r\n ReverseEquilibrium: '\\u21CB',\r\n ReverseUpEquilibrium: '\\u296F',\r\n Rfr: '\\u211C',\r\n Rho: '\\u03A1',\r\n RightAngleBracket: '\\u27E9',\r\n RightArrow: '\\u2192',\r\n RightArrowBar: '\\u21E5',\r\n RightArrowLeftArrow: '\\u21C4',\r\n RightCeiling: '\\u2309',\r\n RightDoubleBracket: '\\u27E7',\r\n RightDownTeeVector: '\\u295D',\r\n RightDownVector: '\\u21C2',\r\n RightDownVectorBar: '\\u2955',\r\n RightFloor: '\\u230B',\r\n RightTee: '\\u22A2',\r\n RightTeeArrow: '\\u21A6',\r\n RightTeeVector: '\\u295B',\r\n RightTriangle: '\\u22B3',\r\n RightTriangleBar: '\\u29D0',\r\n RightTriangleEqual: '\\u22B5',\r\n RightUpDownVector: '\\u294F',\r\n RightUpTeeVector: '\\u295C',\r\n RightUpVector: '\\u21BE',\r\n RightUpVectorBar: '\\u2954',\r\n RightVector: '\\u21C0',\r\n RightVectorBar: '\\u2953',\r\n Rightarrow: '\\u21D2',\r\n Ropf: '\\u211D',\r\n RoundImplies: '\\u2970',\r\n Rrightarrow: '\\u21DB',\r\n Rscr: '\\u211B',\r\n Rsh: '\\u21B1',\r\n RuleDelayed: '\\u29F4',\r\n SHCHcy: '\\u0429',\r\n SHcy: '\\u0428',\r\n SOFTcy: '\\u042C',\r\n Sacute: '\\u015A',\r\n Sc: '\\u2ABC',\r\n Scaron: '\\u0160',\r\n Scedil: '\\u015E',\r\n Scirc: '\\u015C',\r\n Scy: '\\u0421',\r\n Sfr: '\\uD835\\uDD16',\r\n ShortDownArrow: '\\u2193',\r\n ShortLeftArrow: '\\u2190',\r\n ShortRightArrow: '\\u2192',\r\n ShortUpArrow: '\\u2191',\r\n Sigma: '\\u03A3',\r\n SmallCircle: '\\u2218',\r\n Sopf: '\\uD835\\uDD4A',\r\n Sqrt: '\\u221A',\r\n Square: '\\u25A1',\r\n SquareIntersection: '\\u2293',\r\n SquareSubset: '\\u228F',\r\n SquareSubsetEqual: '\\u2291',\r\n SquareSuperset: '\\u2290',\r\n SquareSupersetEqual: '\\u2292',\r\n SquareUnion: '\\u2294',\r\n Sscr: '\\uD835\\uDCAE',\r\n Star: '\\u22C6',\r\n Sub: '\\u22D0',\r\n Subset: '\\u22D0',\r\n SubsetEqual: '\\u2286',\r\n Succeeds: '\\u227B',\r\n SucceedsEqual: '\\u2AB0',\r\n SucceedsSlantEqual: '\\u227D',\r\n SucceedsTilde: '\\u227F',\r\n SuchThat: '\\u220B',\r\n Sum: '\\u2211',\r\n Sup: '\\u22D1',\r\n Superset: '\\u2283',\r\n SupersetEqual: '\\u2287',\r\n Supset: '\\u22D1',\r\n THORN: '\\u00DE',\r\n TRADE: '\\u2122',\r\n TSHcy: '\\u040B',\r\n TScy: '\\u0426',\r\n Tab: '\\u0009',\r\n Tau: '\\u03A4',\r\n Tcaron: '\\u0164',\r\n Tcedil: '\\u0162',\r\n Tcy: '\\u0422',\r\n Tfr: '\\uD835\\uDD17',\r\n Therefore: '\\u2234',\r\n Theta: '\\u0398',\r\n ThickSpace: '\\u205F\\u200A',\r\n ThinSpace: '\\u2009',\r\n Tilde: '\\u223C',\r\n TildeEqual: '\\u2243',\r\n TildeFullEqual: '\\u2245',\r\n TildeTilde: '\\u2248',\r\n Topf: '\\uD835\\uDD4B',\r\n TripleDot: '\\u20DB',\r\n Tscr: '\\uD835\\uDCAF',\r\n Tstrok: '\\u0166',\r\n Uacute: '\\u00DA',\r\n Uarr: '\\u219F',\r\n Uarrocir: '\\u2949',\r\n Ubrcy: '\\u040E',\r\n Ubreve: '\\u016C',\r\n Ucirc: '\\u00DB',\r\n Ucy: '\\u0423',\r\n Udblac: '\\u0170',\r\n Ufr: '\\uD835\\uDD18',\r\n Ugrave: '\\u00D9',\r\n Umacr: '\\u016A',\r\n UnderBar: '\\u005F',\r\n UnderBrace: '\\u23DF',\r\n UnderBracket: '\\u23B5',\r\n UnderParenthesis: '\\u23DD',\r\n Union: '\\u22C3',\r\n UnionPlus: '\\u228E',\r\n Uogon: '\\u0172',\r\n Uopf: '\\uD835\\uDD4C',\r\n UpArrow: '\\u2191',\r\n UpArrowBar: '\\u2912',\r\n UpArrowDownArrow: '\\u21C5',\r\n UpDownArrow: '\\u2195',\r\n UpEquilibrium: '\\u296E',\r\n UpTee: '\\u22A5',\r\n UpTeeArrow: '\\u21A5',\r\n Uparrow: '\\u21D1',\r\n Updownarrow: '\\u21D5',\r\n UpperLeftArrow: '\\u2196',\r\n UpperRightArrow: '\\u2197',\r\n Upsi: '\\u03D2',\r\n Upsilon: '\\u03A5',\r\n Uring: '\\u016E',\r\n Uscr: '\\uD835\\uDCB0',\r\n Utilde: '\\u0168',\r\n Uuml: '\\u00DC',\r\n VDash: '\\u22AB',\r\n Vbar: '\\u2AEB',\r\n Vcy: '\\u0412',\r\n Vdash: '\\u22A9',\r\n Vdashl: '\\u2AE6',\r\n Vee: '\\u22C1',\r\n Verbar: '\\u2016',\r\n Vert: '\\u2016',\r\n VerticalBar: '\\u2223',\r\n VerticalLine: '\\u007C',\r\n VerticalSeparator: '\\u2758',\r\n VerticalTilde: '\\u2240',\r\n VeryThinSpace: '\\u200A',\r\n Vfr: '\\uD835\\uDD19',\r\n Vopf: '\\uD835\\uDD4D',\r\n Vscr: '\\uD835\\uDCB1',\r\n Vvdash: '\\u22AA',\r\n Wcirc: '\\u0174',\r\n Wedge: '\\u22C0',\r\n Wfr: '\\uD835\\uDD1A',\r\n Wopf: '\\uD835\\uDD4E',\r\n Wscr: '\\uD835\\uDCB2',\r\n Xfr: '\\uD835\\uDD1B',\r\n Xi: '\\u039E',\r\n Xopf: '\\uD835\\uDD4F',\r\n Xscr: '\\uD835\\uDCB3',\r\n YAcy: '\\u042F',\r\n YIcy: '\\u0407',\r\n YUcy: '\\u042E',\r\n Yacute: '\\u00DD',\r\n Ycirc: '\\u0176',\r\n Ycy: '\\u042B',\r\n Yfr: '\\uD835\\uDD1C',\r\n Yopf: '\\uD835\\uDD50',\r\n Yscr: '\\uD835\\uDCB4',\r\n Yuml: '\\u0178',\r\n ZHcy: '\\u0416',\r\n Zacute: '\\u0179',\r\n Zcaron: '\\u017D',\r\n Zcy: '\\u0417',\r\n Zdot: '\\u017B',\r\n ZeroWidthSpace: '\\u200B',\r\n Zeta: '\\u0396',\r\n Zfr: '\\u2128',\r\n Zopf: '\\u2124',\r\n Zscr: '\\uD835\\uDCB5',\r\n aacute: '\\u00E1',\r\n abreve: '\\u0103',\r\n ac: '\\u223E',\r\n acE: '\\u223E\\u0333',\r\n acd: '\\u223F',\r\n acirc: '\\u00E2',\r\n acute: '\\u00B4',\r\n acy: '\\u0430',\r\n aelig: '\\u00E6',\r\n af: '\\u2061',\r\n afr: '\\uD835\\uDD1E',\r\n agrave: '\\u00E0',\r\n alefsym: '\\u2135',\r\n aleph: '\\u2135',\r\n alpha: '\\u03B1',\r\n amacr: '\\u0101',\r\n amalg: '\\u2A3F',\r\n amp: '\\u0026',\r\n and: '\\u2227',\r\n andand: '\\u2A55',\r\n andd: '\\u2A5C',\r\n andslope: '\\u2A58',\r\n andv: '\\u2A5A',\r\n ang: '\\u2220',\r\n ange: '\\u29A4',\r\n angle: '\\u2220',\r\n angmsd: '\\u2221',\r\n angmsdaa: '\\u29A8',\r\n angmsdab: '\\u29A9',\r\n angmsdac: '\\u29AA',\r\n angmsdad: '\\u29AB',\r\n angmsdae: '\\u29AC',\r\n angmsdaf: '\\u29AD',\r\n angmsdag: '\\u29AE',\r\n angmsdah: '\\u29AF',\r\n angrt: '\\u221F',\r\n angrtvb: '\\u22BE',\r\n angrtvbd: '\\u299D',\r\n angsph: '\\u2222',\r\n angst: '\\u00C5',\r\n angzarr: '\\u237C',\r\n aogon: '\\u0105',\r\n aopf: '\\uD835\\uDD52',\r\n ap: '\\u2248',\r\n apE: '\\u2A70',\r\n apacir: '\\u2A6F',\r\n ape: '\\u224A',\r\n apid: '\\u224B',\r\n apos: '\\u0027',\r\n approx: '\\u2248',\r\n approxeq: '\\u224A',\r\n aring: '\\u00E5',\r\n ascr: '\\uD835\\uDCB6',\r\n ast: '\\u002A',\r\n asymp: '\\u2248',\r\n asympeq: '\\u224D',\r\n atilde: '\\u00E3',\r\n auml: '\\u00E4',\r\n awconint: '\\u2233',\r\n awint: '\\u2A11',\r\n bNot: '\\u2AED',\r\n backcong: '\\u224C',\r\n backepsilon: '\\u03F6',\r\n backprime: '\\u2035',\r\n backsim: '\\u223D',\r\n backsimeq: '\\u22CD',\r\n barvee: '\\u22BD',\r\n barwed: '\\u2305',\r\n barwedge: '\\u2305',\r\n bbrk: '\\u23B5',\r\n bbrktbrk: '\\u23B6',\r\n bcong: '\\u224C',\r\n bcy: '\\u0431',\r\n bdquo: '\\u201E',\r\n becaus: '\\u2235',\r\n because: '\\u2235',\r\n bemptyv: '\\u29B0',\r\n bepsi: '\\u03F6',\r\n bernou: '\\u212C',\r\n beta: '\\u03B2',\r\n beth: '\\u2136',\r\n between: '\\u226C',\r\n bfr: '\\uD835\\uDD1F',\r\n bigcap: '\\u22C2',\r\n bigcirc: '\\u25EF',\r\n bigcup: '\\u22C3',\r\n bigodot: '\\u2A00',\r\n bigoplus: '\\u2A01',\r\n bigotimes: '\\u2A02',\r\n bigsqcup: '\\u2A06',\r\n bigstar: '\\u2605',\r\n bigtriangledown: '\\u25BD',\r\n bigtriangleup: '\\u25B3',\r\n biguplus: '\\u2A04',\r\n bigvee: '\\u22C1',\r\n bigwedge: '\\u22C0',\r\n bkarow: '\\u290D',\r\n blacklozenge: '\\u29EB',\r\n blacksquare: '\\u25AA',\r\n blacktriangle: '\\u25B4',\r\n blacktriangledown: '\\u25BE',\r\n blacktriangleleft: '\\u25C2',\r\n blacktriangleright: '\\u25B8',\r\n blank: '\\u2423',\r\n blk12: '\\u2592',\r\n blk14: '\\u2591',\r\n blk34: '\\u2593',\r\n block: '\\u2588',\r\n bne: '\\u003D\\u20E5',\r\n bnequiv: '\\u2261\\u20E5',\r\n bnot: '\\u2310',\r\n bopf: '\\uD835\\uDD53',\r\n bot: '\\u22A5',\r\n bottom: '\\u22A5',\r\n bowtie: '\\u22C8',\r\n boxDL: '\\u2557',\r\n boxDR: '\\u2554',\r\n boxDl: '\\u2556',\r\n boxDr: '\\u2553',\r\n boxH: '\\u2550',\r\n boxHD: '\\u2566',\r\n boxHU: '\\u2569',\r\n boxHd: '\\u2564',\r\n boxHu: '\\u2567',\r\n boxUL: '\\u255D',\r\n boxUR: '\\u255A',\r\n boxUl: '\\u255C',\r\n boxUr: '\\u2559',\r\n boxV: '\\u2551',\r\n boxVH: '\\u256C',\r\n boxVL: '\\u2563',\r\n boxVR: '\\u2560',\r\n boxVh: '\\u256B',\r\n boxVl: '\\u2562',\r\n boxVr: '\\u255F',\r\n boxbox: '\\u29C9',\r\n boxdL: '\\u2555',\r\n boxdR: '\\u2552',\r\n boxdl: '\\u2510',\r\n boxdr: '\\u250C',\r\n boxh: '\\u2500',\r\n boxhD: '\\u2565',\r\n boxhU: '\\u2568',\r\n boxhd: '\\u252C',\r\n boxhu: '\\u2534',\r\n boxminus: '\\u229F',\r\n boxplus: '\\u229E',\r\n boxtimes: '\\u22A0',\r\n boxuL: '\\u255B',\r\n boxuR: '\\u2558',\r\n boxul: '\\u2518',\r\n boxur: '\\u2514',\r\n boxv: '\\u2502',\r\n boxvH: '\\u256A',\r\n boxvL: '\\u2561',\r\n boxvR: '\\u255E',\r\n boxvh: '\\u253C',\r\n boxvl: '\\u2524',\r\n boxvr: '\\u251C',\r\n bprime: '\\u2035',\r\n breve: '\\u02D8',\r\n brvbar: '\\u00A6',\r\n bscr: '\\uD835\\uDCB7',\r\n bsemi: '\\u204F',\r\n bsim: '\\u223D',\r\n bsime: '\\u22CD',\r\n bsol: '\\u005C',\r\n bsolb: '\\u29C5',\r\n bsolhsub: '\\u27C8',\r\n bull: '\\u2022',\r\n bullet: '\\u2022',\r\n bump: '\\u224E',\r\n bumpE: '\\u2AAE',\r\n bumpe: '\\u224F',\r\n bumpeq: '\\u224F',\r\n cacute: '\\u0107',\r\n cap: '\\u2229',\r\n capand: '\\u2A44',\r\n capbrcup: '\\u2A49',\r\n capcap: '\\u2A4B',\r\n capcup: '\\u2A47',\r\n capdot: '\\u2A40',\r\n caps: '\\u2229\\uFE00',\r\n caret: '\\u2041',\r\n caron: '\\u02C7',\r\n ccaps: '\\u2A4D',\r\n ccaron: '\\u010D',\r\n ccedil: '\\u00E7',\r\n ccirc: '\\u0109',\r\n ccups: '\\u2A4C',\r\n ccupssm: '\\u2A50',\r\n cdot: '\\u010B',\r\n cedil: '\\u00B8',\r\n cemptyv: '\\u29B2',\r\n cent: '\\u00A2',\r\n centerdot: '\\u00B7',\r\n cfr: '\\uD835\\uDD20',\r\n chcy: '\\u0447',\r\n check: '\\u2713',\r\n checkmark: '\\u2713',\r\n chi: '\\u03C7',\r\n cir: '\\u25CB',\r\n cirE: '\\u29C3',\r\n circ: '\\u02C6',\r\n circeq: '\\u2257',\r\n circlearrowleft: '\\u21BA',\r\n circlearrowright: '\\u21BB',\r\n circledR: '\\u00AE',\r\n circledS: '\\u24C8',\r\n circledast: '\\u229B',\r\n circledcirc: '\\u229A',\r\n circleddash: '\\u229D',\r\n cire: '\\u2257',\r\n cirfnint: '\\u2A10',\r\n cirmid: '\\u2AEF',\r\n cirscir: '\\u29C2',\r\n clubs: '\\u2663',\r\n clubsuit: '\\u2663',\r\n colon: '\\u003A',\r\n colone: '\\u2254',\r\n coloneq: '\\u2254',\r\n comma: '\\u002C',\r\n commat: '\\u0040',\r\n comp: '\\u2201',\r\n compfn: '\\u2218',\r\n complement: '\\u2201',\r\n complexes: '\\u2102',\r\n cong: '\\u2245',\r\n congdot: '\\u2A6D',\r\n conint: '\\u222E',\r\n copf: '\\uD835\\uDD54',\r\n coprod: '\\u2210',\r\n copy: '\\u00A9',\r\n copysr: '\\u2117',\r\n crarr: '\\u21B5',\r\n cross: '\\u2717',\r\n cscr: '\\uD835\\uDCB8',\r\n csub: '\\u2ACF',\r\n csube: '\\u2AD1',\r\n csup: '\\u2AD0',\r\n csupe: '\\u2AD2',\r\n ctdot: '\\u22EF',\r\n cudarrl: '\\u2938',\r\n cudarrr: '\\u2935',\r\n cuepr: '\\u22DE',\r\n cuesc: '\\u22DF',\r\n cularr: '\\u21B6',\r\n cularrp: '\\u293D',\r\n cup: '\\u222A',\r\n cupbrcap: '\\u2A48',\r\n cupcap: '\\u2A46',\r\n cupcup: '\\u2A4A',\r\n cupdot: '\\u228D',\r\n cupor: '\\u2A45',\r\n cups: '\\u222A\\uFE00',\r\n curarr: '\\u21B7',\r\n curarrm: '\\u293C',\r\n curlyeqprec: '\\u22DE',\r\n curlyeqsucc: '\\u22DF',\r\n curlyvee: '\\u22CE',\r\n curlywedge: '\\u22CF',\r\n curren: '\\u00A4',\r\n curvearrowleft: '\\u21B6',\r\n curvearrowright: '\\u21B7',\r\n cuvee: '\\u22CE',\r\n cuwed: '\\u22CF',\r\n cwconint: '\\u2232',\r\n cwint: '\\u2231',\r\n cylcty: '\\u232D',\r\n dArr: '\\u21D3',\r\n dHar: '\\u2965',\r\n dagger: '\\u2020',\r\n daleth: '\\u2138',\r\n darr: '\\u2193',\r\n dash: '\\u2010',\r\n dashv: '\\u22A3',\r\n dbkarow: '\\u290F',\r\n dblac: '\\u02DD',\r\n dcaron: '\\u010F',\r\n dcy: '\\u0434',\r\n dd: '\\u2146',\r\n ddagger: '\\u2021',\r\n ddarr: '\\u21CA',\r\n ddotseq: '\\u2A77',\r\n deg: '\\u00B0',\r\n delta: '\\u03B4',\r\n demptyv: '\\u29B1',\r\n dfisht: '\\u297F',\r\n dfr: '\\uD835\\uDD21',\r\n dharl: '\\u21C3',\r\n dharr: '\\u21C2',\r\n diam: '\\u22C4',\r\n diamond: '\\u22C4',\r\n diamondsuit: '\\u2666',\r\n diams: '\\u2666',\r\n die: '\\u00A8',\r\n digamma: '\\u03DD',\r\n disin: '\\u22F2',\r\n div: '\\u00F7',\r\n divide: '\\u00F7',\r\n divideontimes: '\\u22C7',\r\n divonx: '\\u22C7',\r\n djcy: '\\u0452',\r\n dlcorn: '\\u231E',\r\n dlcrop: '\\u230D',\r\n dollar: '\\u0024',\r\n dopf: '\\uD835\\uDD55',\r\n dot: '\\u02D9',\r\n doteq: '\\u2250',\r\n doteqdot: '\\u2251',\r\n dotminus: '\\u2238',\r\n dotplus: '\\u2214',\r\n dotsquare: '\\u22A1',\r\n doublebarwedge: '\\u2306',\r\n downarrow: '\\u2193',\r\n downdownarrows: '\\u21CA',\r\n downharpoonleft: '\\u21C3',\r\n downharpoonright: '\\u21C2',\r\n drbkarow: '\\u2910',\r\n drcorn: '\\u231F',\r\n drcrop: '\\u230C',\r\n dscr: '\\uD835\\uDCB9',\r\n dscy: '\\u0455',\r\n dsol: '\\u29F6',\r\n dstrok: '\\u0111',\r\n dtdot: '\\u22F1',\r\n dtri: '\\u25BF',\r\n dtrif: '\\u25BE',\r\n duarr: '\\u21F5',\r\n duhar: '\\u296F',\r\n dwangle: '\\u29A6',\r\n dzcy: '\\u045F',\r\n dzigrarr: '\\u27FF',\r\n eDDot: '\\u2A77',\r\n eDot: '\\u2251',\r\n eacute: '\\u00E9',\r\n easter: '\\u2A6E',\r\n ecaron: '\\u011B',\r\n ecir: '\\u2256',\r\n ecirc: '\\u00EA',\r\n ecolon: '\\u2255',\r\n ecy: '\\u044D',\r\n edot: '\\u0117',\r\n ee: '\\u2147',\r\n efDot: '\\u2252',\r\n efr: '\\uD835\\uDD22',\r\n eg: '\\u2A9A',\r\n egrave: '\\u00E8',\r\n egs: '\\u2A96',\r\n egsdot: '\\u2A98',\r\n el: '\\u2A99',\r\n elinters: '\\u23E7',\r\n ell: '\\u2113',\r\n els: '\\u2A95',\r\n elsdot: '\\u2A97',\r\n emacr: '\\u0113',\r\n empty: '\\u2205',\r\n emptyset: '\\u2205',\r\n emptyv: '\\u2205',\r\n emsp13: '\\u2004',\r\n emsp14: '\\u2005',\r\n emsp: '\\u2003',\r\n eng: '\\u014B',\r\n ensp: '\\u2002',\r\n eogon: '\\u0119',\r\n eopf: '\\uD835\\uDD56',\r\n epar: '\\u22D5',\r\n eparsl: '\\u29E3',\r\n eplus: '\\u2A71',\r\n epsi: '\\u03B5',\r\n epsilon: '\\u03B5',\r\n epsiv: '\\u03F5',\r\n eqcirc: '\\u2256',\r\n eqcolon: '\\u2255',\r\n eqsim: '\\u2242',\r\n eqslantgtr: '\\u2A96',\r\n eqslantless: '\\u2A95',\r\n equals: '\\u003D',\r\n equest: '\\u225F',\r\n equiv: '\\u2261',\r\n equivDD: '\\u2A78',\r\n eqvparsl: '\\u29E5',\r\n erDot: '\\u2253',\r\n erarr: '\\u2971',\r\n escr: '\\u212F',\r\n esdot: '\\u2250',\r\n esim: '\\u2242',\r\n eta: '\\u03B7',\r\n eth: '\\u00F0',\r\n euml: '\\u00EB',\r\n euro: '\\u20AC',\r\n excl: '\\u0021',\r\n exist: '\\u2203',\r\n expectation: '\\u2130',\r\n exponentiale: '\\u2147',\r\n fallingdotseq: '\\u2252',\r\n fcy: '\\u0444',\r\n female: '\\u2640',\r\n ffilig: '\\uFB03',\r\n fflig: '\\uFB00',\r\n ffllig: '\\uFB04',\r\n ffr: '\\uD835\\uDD23',\r\n filig: '\\uFB01',\r\n fjlig: '\\u0066\\u006A',\r\n flat: '\\u266D',\r\n fllig: '\\uFB02',\r\n fltns: '\\u25B1',\r\n fnof: '\\u0192',\r\n fopf: '\\uD835\\uDD57',\r\n forall: '\\u2200',\r\n fork: '\\u22D4',\r\n forkv: '\\u2AD9',\r\n fpartint: '\\u2A0D',\r\n frac12: '\\u00BD',\r\n frac13: '\\u2153',\r\n frac14: '\\u00BC',\r\n frac15: '\\u2155',\r\n frac16: '\\u2159',\r\n frac18: '\\u215B',\r\n frac23: '\\u2154',\r\n frac25: '\\u2156',\r\n frac34: '\\u00BE',\r\n frac35: '\\u2157',\r\n frac38: '\\u215C',\r\n frac45: '\\u2158',\r\n frac56: '\\u215A',\r\n frac58: '\\u215D',\r\n frac78: '\\u215E',\r\n frasl: '\\u2044',\r\n frown: '\\u2322',\r\n fscr: '\\uD835\\uDCBB',\r\n gE: '\\u2267',\r\n gEl: '\\u2A8C',\r\n gacute: '\\u01F5',\r\n gamma: '\\u03B3',\r\n gammad: '\\u03DD',\r\n gap: '\\u2A86',\r\n gbreve: '\\u011F',\r\n gcirc: '\\u011D',\r\n gcy: '\\u0433',\r\n gdot: '\\u0121',\r\n ge: '\\u2265',\r\n gel: '\\u22DB',\r\n geq: '\\u2265',\r\n geqq: '\\u2267',\r\n geqslant: '\\u2A7E',\r\n ges: '\\u2A7E',\r\n gescc: '\\u2AA9',\r\n gesdot: '\\u2A80',\r\n gesdoto: '\\u2A82',\r\n gesdotol: '\\u2A84',\r\n gesl: '\\u22DB\\uFE00',\r\n gesles: '\\u2A94',\r\n gfr: '\\uD835\\uDD24',\r\n gg: '\\u226B',\r\n ggg: '\\u22D9',\r\n gimel: '\\u2137',\r\n gjcy: '\\u0453',\r\n gl: '\\u2277',\r\n glE: '\\u2A92',\r\n gla: '\\u2AA5',\r\n glj: '\\u2AA4',\r\n gnE: '\\u2269',\r\n gnap: '\\u2A8A',\r\n gnapprox: '\\u2A8A',\r\n gne: '\\u2A88',\r\n gneq: '\\u2A88',\r\n gneqq: '\\u2269',\r\n gnsim: '\\u22E7',\r\n gopf: '\\uD835\\uDD58',\r\n grave: '\\u0060',\r\n gscr: '\\u210A',\r\n gsim: '\\u2273',\r\n gsime: '\\u2A8E',\r\n gsiml: '\\u2A90',\r\n gt: '\\u003E',\r\n gtcc: '\\u2AA7',\r\n gtcir: '\\u2A7A',\r\n gtdot: '\\u22D7',\r\n gtlPar: '\\u2995',\r\n gtquest: '\\u2A7C',\r\n gtrapprox: '\\u2A86',\r\n gtrarr: '\\u2978',\r\n gtrdot: '\\u22D7',\r\n gtreqless: '\\u22DB',\r\n gtreqqless: '\\u2A8C',\r\n gtrless: '\\u2277',\r\n gtrsim: '\\u2273',\r\n gvertneqq: '\\u2269\\uFE00',\r\n gvnE: '\\u2269\\uFE00',\r\n hArr: '\\u21D4',\r\n hairsp: '\\u200A',\r\n half: '\\u00BD',\r\n hamilt: '\\u210B',\r\n hardcy: '\\u044A',\r\n harr: '\\u2194',\r\n harrcir: '\\u2948',\r\n harrw: '\\u21AD',\r\n hbar: '\\u210F',\r\n hcirc: '\\u0125',\r\n hearts: '\\u2665',\r\n heartsuit: '\\u2665',\r\n hellip: '\\u2026',\r\n hercon: '\\u22B9',\r\n hfr: '\\uD835\\uDD25',\r\n hksearow: '\\u2925',\r\n hkswarow: '\\u2926',\r\n hoarr: '\\u21FF',\r\n homtht: '\\u223B',\r\n hookleftarrow: '\\u21A9',\r\n hookrightarrow: '\\u21AA',\r\n hopf: '\\uD835\\uDD59',\r\n horbar: '\\u2015',\r\n hscr: '\\uD835\\uDCBD',\r\n hslash: '\\u210F',\r\n hstrok: '\\u0127',\r\n hybull: '\\u2043',\r\n hyphen: '\\u2010',\r\n iacute: '\\u00ED',\r\n ic: '\\u2063',\r\n icirc: '\\u00EE',\r\n icy: '\\u0438',\r\n iecy: '\\u0435',\r\n iexcl: '\\u00A1',\r\n iff: '\\u21D4',\r\n ifr: '\\uD835\\uDD26',\r\n igrave: '\\u00EC',\r\n ii: '\\u2148',\r\n iiiint: '\\u2A0C',\r\n iiint: '\\u222D',\r\n iinfin: '\\u29DC',\r\n iiota: '\\u2129',\r\n ijlig: '\\u0133',\r\n imacr: '\\u012B',\r\n image: '\\u2111',\r\n imagline: '\\u2110',\r\n imagpart: '\\u2111',\r\n imath: '\\u0131',\r\n imof: '\\u22B7',\r\n imped: '\\u01B5',\r\n in: '\\u2208',\r\n incare: '\\u2105',\r\n infin: '\\u221E',\r\n infintie: '\\u29DD',\r\n inodot: '\\u0131',\r\n int: '\\u222B',\r\n intcal: '\\u22BA',\r\n integers: '\\u2124',\r\n intercal: '\\u22BA',\r\n intlarhk: '\\u2A17',\r\n intprod: '\\u2A3C',\r\n iocy: '\\u0451',\r\n iogon: '\\u012F',\r\n iopf: '\\uD835\\uDD5A',\r\n iota: '\\u03B9',\r\n iprod: '\\u2A3C',\r\n iquest: '\\u00BF',\r\n iscr: '\\uD835\\uDCBE',\r\n isin: '\\u2208',\r\n isinE: '\\u22F9',\r\n isindot: '\\u22F5',\r\n isins: '\\u22F4',\r\n isinsv: '\\u22F3',\r\n isinv: '\\u2208',\r\n it: '\\u2062',\r\n itilde: '\\u0129',\r\n iukcy: '\\u0456',\r\n iuml: '\\u00EF',\r\n jcirc: '\\u0135',\r\n jcy: '\\u0439',\r\n jfr: '\\uD835\\uDD27',\r\n jmath: '\\u0237',\r\n jopf: '\\uD835\\uDD5B',\r\n jscr: '\\uD835\\uDCBF',\r\n jsercy: '\\u0458',\r\n jukcy: '\\u0454',\r\n kappa: '\\u03BA',\r\n kappav: '\\u03F0',\r\n kcedil: '\\u0137',\r\n kcy: '\\u043A',\r\n kfr: '\\uD835\\uDD28',\r\n kgreen: '\\u0138',\r\n khcy: '\\u0445',\r\n kjcy: '\\u045C',\r\n kopf: '\\uD835\\uDD5C',\r\n kscr: '\\uD835\\uDCC0',\r\n lAarr: '\\u21DA',\r\n lArr: '\\u21D0',\r\n lAtail: '\\u291B',\r\n lBarr: '\\u290E',\r\n lE: '\\u2266',\r\n lEg: '\\u2A8B',\r\n lHar: '\\u2962',\r\n lacute: '\\u013A',\r\n laemptyv: '\\u29B4',\r\n lagran: '\\u2112',\r\n lambda: '\\u03BB',\r\n lang: '\\u27E8',\r\n langd: '\\u2991',\r\n langle: '\\u27E8',\r\n lap: '\\u2A85',\r\n laquo: '\\u00AB',\r\n larr: '\\u2190',\r\n larrb: '\\u21E4',\r\n larrbfs: '\\u291F',\r\n larrfs: '\\u291D',\r\n larrhk: '\\u21A9',\r\n larrlp: '\\u21AB',\r\n larrpl: '\\u2939',\r\n larrsim: '\\u2973',\r\n larrtl: '\\u21A2',\r\n lat: '\\u2AAB',\r\n latail: '\\u2919',\r\n late: '\\u2AAD',\r\n lates: '\\u2AAD\\uFE00',\r\n lbarr: '\\u290C',\r\n lbbrk: '\\u2772',\r\n lbrace: '\\u007B',\r\n lbrack: '\\u005B',\r\n lbrke: '\\u298B',\r\n lbrksld: '\\u298F',\r\n lbrkslu: '\\u298D',\r\n lcaron: '\\u013E',\r\n lcedil: '\\u013C',\r\n lceil: '\\u2308',\r\n lcub: '\\u007B',\r\n lcy: '\\u043B',\r\n ldca: '\\u2936',\r\n ldquo: '\\u201C',\r\n ldquor: '\\u201E',\r\n ldrdhar: '\\u2967',\r\n ldrushar: '\\u294B',\r\n ldsh: '\\u21B2',\r\n le: '\\u2264',\r\n leftarrow: '\\u2190',\r\n leftarrowtail: '\\u21A2',\r\n leftharpoondown: '\\u21BD',\r\n leftharpoonup: '\\u21BC',\r\n leftleftarrows: '\\u21C7',\r\n leftrightarrow: '\\u2194',\r\n leftrightarrows: '\\u21C6',\r\n leftrightharpoons: '\\u21CB',\r\n leftrightsquigarrow: '\\u21AD',\r\n leftthreetimes: '\\u22CB',\r\n leg: '\\u22DA',\r\n leq: '\\u2264',\r\n leqq: '\\u2266',\r\n leqslant: '\\u2A7D',\r\n les: '\\u2A7D',\r\n lescc: '\\u2AA8',\r\n lesdot: '\\u2A7F',\r\n lesdoto: '\\u2A81',\r\n lesdotor: '\\u2A83',\r\n lesg: '\\u22DA\\uFE00',\r\n lesges: '\\u2A93',\r\n lessapprox: '\\u2A85',\r\n lessdot: '\\u22D6',\r\n lesseqgtr: '\\u22DA',\r\n lesseqqgtr: '\\u2A8B',\r\n lessgtr: '\\u2276',\r\n lesssim: '\\u2272',\r\n lfisht: '\\u297C',\r\n lfloor: '\\u230A',\r\n lfr: '\\uD835\\uDD29',\r\n lg: '\\u2276',\r\n lgE: '\\u2A91',\r\n lhard: '\\u21BD',\r\n lharu: '\\u21BC',\r\n lharul: '\\u296A',\r\n lhblk: '\\u2584',\r\n ljcy: '\\u0459',\r\n ll: '\\u226A',\r\n llarr: '\\u21C7',\r\n llcorner: '\\u231E',\r\n llhard: '\\u296B',\r\n lltri: '\\u25FA',\r\n lmidot: '\\u0140',\r\n lmoust: '\\u23B0',\r\n lmoustache: '\\u23B0',\r\n lnE: '\\u2268',\r\n lnap: '\\u2A89',\r\n lnapprox: '\\u2A89',\r\n lne: '\\u2A87',\r\n lneq: '\\u2A87',\r\n lneqq: '\\u2268',\r\n lnsim: '\\u22E6',\r\n loang: '\\u27EC',\r\n loarr: '\\u21FD',\r\n lobrk: '\\u27E6',\r\n longleftarrow: '\\u27F5',\r\n longleftrightarrow: '\\u27F7',\r\n longmapsto: '\\u27FC',\r\n longrightarrow: '\\u27F6',\r\n looparrowleft: '\\u21AB',\r\n looparrowright: '\\u21AC',\r\n lopar: '\\u2985',\r\n lopf: '\\uD835\\uDD5D',\r\n loplus: '\\u2A2D',\r\n lotimes: '\\u2A34',\r\n lowast: '\\u2217',\r\n lowbar: '\\u005F',\r\n loz: '\\u25CA',\r\n lozenge: '\\u25CA',\r\n lozf: '\\u29EB',\r\n lpar: '\\u0028',\r\n lparlt: '\\u2993',\r\n lrarr: '\\u21C6',\r\n lrcorner: '\\u231F',\r\n lrhar: '\\u21CB',\r\n lrhard: '\\u296D',\r\n lrm: '\\u200E',\r\n lrtri: '\\u22BF',\r\n lsaquo: '\\u2039',\r\n lscr: '\\uD835\\uDCC1',\r\n lsh: '\\u21B0',\r\n lsim: '\\u2272',\r\n lsime: '\\u2A8D',\r\n lsimg: '\\u2A8F',\r\n lsqb: '\\u005B',\r\n lsquo: '\\u2018',\r\n lsquor: '\\u201A',\r\n lstrok: '\\u0142',\r\n lt: '\\u003C',\r\n ltcc: '\\u2AA6',\r\n ltcir: '\\u2A79',\r\n ltdot: '\\u22D6',\r\n lthree: '\\u22CB',\r\n ltimes: '\\u22C9',\r\n ltlarr: '\\u2976',\r\n ltquest: '\\u2A7B',\r\n ltrPar: '\\u2996',\r\n ltri: '\\u25C3',\r\n ltrie: '\\u22B4',\r\n ltrif: '\\u25C2',\r\n lurdshar: '\\u294A',\r\n luruhar: '\\u2966',\r\n lvertneqq: '\\u2268\\uFE00',\r\n lvnE: '\\u2268\\uFE00',\r\n mDDot: '\\u223A',\r\n macr: '\\u00AF',\r\n male: '\\u2642',\r\n malt: '\\u2720',\r\n maltese: '\\u2720',\r\n map: '\\u21A6',\r\n mapsto: '\\u21A6',\r\n mapstodown: '\\u21A7',\r\n mapstoleft: '\\u21A4',\r\n mapstoup: '\\u21A5',\r\n marker: '\\u25AE',\r\n mcomma: '\\u2A29',\r\n mcy: '\\u043C',\r\n mdash: '\\u2014',\r\n measuredangle: '\\u2221',\r\n mfr: '\\uD835\\uDD2A',\r\n mho: '\\u2127',\r\n micro: '\\u00B5',\r\n mid: '\\u2223',\r\n midast: '\\u002A',\r\n midcir: '\\u2AF0',\r\n middot: '\\u00B7',\r\n minus: '\\u2212',\r\n minusb: '\\u229F',\r\n minusd: '\\u2238',\r\n minusdu: '\\u2A2A',\r\n mlcp: '\\u2ADB',\r\n mldr: '\\u2026',\r\n mnplus: '\\u2213',\r\n models: '\\u22A7',\r\n mopf: '\\uD835\\uDD5E',\r\n mp: '\\u2213',\r\n mscr: '\\uD835\\uDCC2',\r\n mstpos: '\\u223E',\r\n mu: '\\u03BC',\r\n multimap: '\\u22B8',\r\n mumap: '\\u22B8',\r\n nGg: '\\u22D9\\u0338',\r\n nGt: '\\u226B\\u20D2',\r\n nGtv: '\\u226B\\u0338',\r\n nLeftarrow: '\\u21CD',\r\n nLeftrightarrow: '\\u21CE',\r\n nLl: '\\u22D8\\u0338',\r\n nLt: '\\u226A\\u20D2',\r\n nLtv: '\\u226A\\u0338',\r\n nRightarrow: '\\u21CF',\r\n nVDash: '\\u22AF',\r\n nVdash: '\\u22AE',\r\n nabla: '\\u2207',\r\n nacute: '\\u0144',\r\n nang: '\\u2220\\u20D2',\r\n nap: '\\u2249',\r\n napE: '\\u2A70\\u0338',\r\n napid: '\\u224B\\u0338',\r\n napos: '\\u0149',\r\n napprox: '\\u2249',\r\n natur: '\\u266E',\r\n natural: '\\u266E',\r\n naturals: '\\u2115',\r\n nbsp: '\\u00A0',\r\n nbump: '\\u224E\\u0338',\r\n nbumpe: '\\u224F\\u0338',\r\n ncap: '\\u2A43',\r\n ncaron: '\\u0148',\r\n ncedil: '\\u0146',\r\n ncong: '\\u2247',\r\n ncongdot: '\\u2A6D\\u0338',\r\n ncup: '\\u2A42',\r\n ncy: '\\u043D',\r\n ndash: '\\u2013',\r\n ne: '\\u2260',\r\n neArr: '\\u21D7',\r\n nearhk: '\\u2924',\r\n nearr: '\\u2197',\r\n nearrow: '\\u2197',\r\n nedot: '\\u2250\\u0338',\r\n nequiv: '\\u2262',\r\n nesear: '\\u2928',\r\n nesim: '\\u2242\\u0338',\r\n nexist: '\\u2204',\r\n nexists: '\\u2204',\r\n nfr: '\\uD835\\uDD2B',\r\n ngE: '\\u2267\\u0338',\r\n nge: '\\u2271',\r\n ngeq: '\\u2271',\r\n ngeqq: '\\u2267\\u0338',\r\n ngeqslant: '\\u2A7E\\u0338',\r\n nges: '\\u2A7E\\u0338',\r\n ngsim: '\\u2275',\r\n ngt: '\\u226F',\r\n ngtr: '\\u226F',\r\n nhArr: '\\u21CE',\r\n nharr: '\\u21AE',\r\n nhpar: '\\u2AF2',\r\n ni: '\\u220B',\r\n nis: '\\u22FC',\r\n nisd: '\\u22FA',\r\n niv: '\\u220B',\r\n njcy: '\\u045A',\r\n nlArr: '\\u21CD',\r\n nlE: '\\u2266\\u0338',\r\n nlarr: '\\u219A',\r\n nldr: '\\u2025',\r\n nle: '\\u2270',\r\n nleftarrow: '\\u219A',\r\n nleftrightarrow: '\\u21AE',\r\n nleq: '\\u2270',\r\n nleqq: '\\u2266\\u0338',\r\n nleqslant: '\\u2A7D\\u0338',\r\n nles: '\\u2A7D\\u0338',\r\n nless: '\\u226E',\r\n nlsim: '\\u2274',\r\n nlt: '\\u226E',\r\n nltri: '\\u22EA',\r\n nltrie: '\\u22EC',\r\n nmid: '\\u2224',\r\n nopf: '\\uD835\\uDD5F',\r\n not: '\\u00AC',\r\n notin: '\\u2209',\r\n notinE: '\\u22F9\\u0338',\r\n notindot: '\\u22F5\\u0338',\r\n notinva: '\\u2209',\r\n notinvb: '\\u22F7',\r\n notinvc: '\\u22F6',\r\n notni: '\\u220C',\r\n notniva: '\\u220C',\r\n notnivb: '\\u22FE',\r\n notnivc: '\\u22FD',\r\n npar: '\\u2226',\r\n nparallel: '\\u2226',\r\n nparsl: '\\u2AFD\\u20E5',\r\n npart: '\\u2202\\u0338',\r\n npolint: '\\u2A14',\r\n npr: '\\u2280',\r\n nprcue: '\\u22E0',\r\n npre: '\\u2AAF\\u0338',\r\n nprec: '\\u2280',\r\n npreceq: '\\u2AAF\\u0338',\r\n nrArr: '\\u21CF',\r\n nrarr: '\\u219B',\r\n nrarrc: '\\u2933\\u0338',\r\n nrarrw: '\\u219D\\u0338',\r\n nrightarrow: '\\u219B',\r\n nrtri: '\\u22EB',\r\n nrtrie: '\\u22ED',\r\n nsc: '\\u2281',\r\n nsccue: '\\u22E1',\r\n nsce: '\\u2AB0\\u0338',\r\n nscr: '\\uD835\\uDCC3',\r\n nshortmid: '\\u2224',\r\n nshortparallel: '\\u2226',\r\n nsim: '\\u2241',\r\n nsime: '\\u2244',\r\n nsimeq: '\\u2244',\r\n nsmid: '\\u2224',\r\n nspar: '\\u2226',\r\n nsqsube: '\\u22E2',\r\n nsqsupe: '\\u22E3',\r\n nsub: '\\u2284',\r\n nsubE: '\\u2AC5\\u0338',\r\n nsube: '\\u2288',\r\n nsubset: '\\u2282\\u20D2',\r\n nsubseteq: '\\u2288',\r\n nsubseteqq: '\\u2AC5\\u0338',\r\n nsucc: '\\u2281',\r\n nsucceq: '\\u2AB0\\u0338',\r\n nsup: '\\u2285',\r\n nsupE: '\\u2AC6\\u0338',\r\n nsupe: '\\u2289',\r\n nsupset: '\\u2283\\u20D2',\r\n nsupseteq: '\\u2289',\r\n nsupseteqq: '\\u2AC6\\u0338',\r\n ntgl: '\\u2279',\r\n ntilde: '\\u00F1',\r\n ntlg: '\\u2278',\r\n ntriangleleft: '\\u22EA',\r\n ntrianglelefteq: '\\u22EC',\r\n ntriangleright: '\\u22EB',\r\n ntrianglerighteq: '\\u22ED',\r\n nu: '\\u03BD',\r\n num: '\\u0023',\r\n numero: '\\u2116',\r\n numsp: '\\u2007',\r\n nvDash: '\\u22AD',\r\n nvHarr: '\\u2904',\r\n nvap: '\\u224D\\u20D2',\r\n nvdash: '\\u22AC',\r\n nvge: '\\u2265\\u20D2',\r\n nvgt: '\\u003E\\u20D2',\r\n nvinfin: '\\u29DE',\r\n nvlArr: '\\u2902',\r\n nvle: '\\u2264\\u20D2',\r\n nvlt: '\\u003C\\u20D2',\r\n nvltrie: '\\u22B4\\u20D2',\r\n nvrArr: '\\u2903',\r\n nvrtrie: '\\u22B5\\u20D2',\r\n nvsim: '\\u223C\\u20D2',\r\n nwArr: '\\u21D6',\r\n nwarhk: '\\u2923',\r\n nwarr: '\\u2196',\r\n nwarrow: '\\u2196',\r\n nwnear: '\\u2927',\r\n oS: '\\u24C8',\r\n oacute: '\\u00F3',\r\n oast: '\\u229B',\r\n ocir: '\\u229A',\r\n ocirc: '\\u00F4',\r\n ocy: '\\u043E',\r\n odash: '\\u229D',\r\n odblac: '\\u0151',\r\n odiv: '\\u2A38',\r\n odot: '\\u2299',\r\n odsold: '\\u29BC',\r\n oelig: '\\u0153',\r\n ofcir: '\\u29BF',\r\n ofr: '\\uD835\\uDD2C',\r\n ogon: '\\u02DB',\r\n ograve: '\\u00F2',\r\n ogt: '\\u29C1',\r\n ohbar: '\\u29B5',\r\n ohm: '\\u03A9',\r\n oint: '\\u222E',\r\n olarr: '\\u21BA',\r\n olcir: '\\u29BE',\r\n olcross: '\\u29BB',\r\n oline: '\\u203E',\r\n olt: '\\u29C0',\r\n omacr: '\\u014D',\r\n omega: '\\u03C9',\r\n omicron: '\\u03BF',\r\n omid: '\\u29B6',\r\n ominus: '\\u2296',\r\n oopf: '\\uD835\\uDD60',\r\n opar: '\\u29B7',\r\n operp: '\\u29B9',\r\n oplus: '\\u2295',\r\n or: '\\u2228',\r\n orarr: '\\u21BB',\r\n ord: '\\u2A5D',\r\n order: '\\u2134',\r\n orderof: '\\u2134',\r\n ordf: '\\u00AA',\r\n ordm: '\\u00BA',\r\n origof: '\\u22B6',\r\n oror: '\\u2A56',\r\n orslope: '\\u2A57',\r\n orv: '\\u2A5B',\r\n oscr: '\\u2134',\r\n oslash: '\\u00F8',\r\n osol: '\\u2298',\r\n otilde: '\\u00F5',\r\n otimes: '\\u2297',\r\n otimesas: '\\u2A36',\r\n ouml: '\\u00F6',\r\n ovbar: '\\u233D',\r\n par: '\\u2225',\r\n para: '\\u00B6',\r\n parallel: '\\u2225',\r\n parsim: '\\u2AF3',\r\n parsl: '\\u2AFD',\r\n part: '\\u2202',\r\n pcy: '\\u043F',\r\n percnt: '\\u0025',\r\n period: '\\u002E',\r\n permil: '\\u2030',\r\n perp: '\\u22A5',\r\n pertenk: '\\u2031',\r\n pfr: '\\uD835\\uDD2D',\r\n phi: '\\u03C6',\r\n phiv: '\\u03D5',\r\n phmmat: '\\u2133',\r\n phone: '\\u260E',\r\n pi: '\\u03C0',\r\n pitchfork: '\\u22D4',\r\n piv: '\\u03D6',\r\n planck: '\\u210F',\r\n planckh: '\\u210E',\r\n plankv: '\\u210F',\r\n plus: '\\u002B',\r\n plusacir: '\\u2A23',\r\n plusb: '\\u229E',\r\n pluscir: '\\u2A22',\r\n plusdo: '\\u2214',\r\n plusdu: '\\u2A25',\r\n pluse: '\\u2A72',\r\n plusmn: '\\u00B1',\r\n plussim: '\\u2A26',\r\n plustwo: '\\u2A27',\r\n pm: '\\u00B1',\r\n pointint: '\\u2A15',\r\n popf: '\\uD835\\uDD61',\r\n pound: '\\u00A3',\r\n pr: '\\u227A',\r\n prE: '\\u2AB3',\r\n prap: '\\u2AB7',\r\n prcue: '\\u227C',\r\n pre: '\\u2AAF',\r\n prec: '\\u227A',\r\n precapprox: '\\u2AB7',\r\n preccurlyeq: '\\u227C',\r\n preceq: '\\u2AAF',\r\n precnapprox: '\\u2AB9',\r\n precneqq: '\\u2AB5',\r\n precnsim: '\\u22E8',\r\n precsim: '\\u227E',\r\n prime: '\\u2032',\r\n primes: '\\u2119',\r\n prnE: '\\u2AB5',\r\n prnap: '\\u2AB9',\r\n prnsim: '\\u22E8',\r\n prod: '\\u220F',\r\n profalar: '\\u232E',\r\n profline: '\\u2312',\r\n profsurf: '\\u2313',\r\n prop: '\\u221D',\r\n propto: '\\u221D',\r\n prsim: '\\u227E',\r\n prurel: '\\u22B0',\r\n pscr: '\\uD835\\uDCC5',\r\n psi: '\\u03C8',\r\n puncsp: '\\u2008',\r\n qfr: '\\uD835\\uDD2E',\r\n qint: '\\u2A0C',\r\n qopf: '\\uD835\\uDD62',\r\n qprime: '\\u2057',\r\n qscr: '\\uD835\\uDCC6',\r\n quaternions: '\\u210D',\r\n quatint: '\\u2A16',\r\n quest: '\\u003F',\r\n questeq: '\\u225F',\r\n quot: '\\u0022',\r\n rAarr: '\\u21DB',\r\n rArr: '\\u21D2',\r\n rAtail: '\\u291C',\r\n rBarr: '\\u290F',\r\n rHar: '\\u2964',\r\n race: '\\u223D\\u0331',\r\n racute: '\\u0155',\r\n radic: '\\u221A',\r\n raemptyv: '\\u29B3',\r\n rang: '\\u27E9',\r\n rangd: '\\u2992',\r\n range: '\\u29A5',\r\n rangle: '\\u27E9',\r\n raquo: '\\u00BB',\r\n rarr: '\\u2192',\r\n rarrap: '\\u2975',\r\n rarrb: '\\u21E5',\r\n rarrbfs: '\\u2920',\r\n rarrc: '\\u2933',\r\n rarrfs: '\\u291E',\r\n rarrhk: '\\u21AA',\r\n rarrlp: '\\u21AC',\r\n rarrpl: '\\u2945',\r\n rarrsim: '\\u2974',\r\n rarrtl: '\\u21A3',\r\n rarrw: '\\u219D',\r\n ratail: '\\u291A',\r\n ratio: '\\u2236',\r\n rationals: '\\u211A',\r\n rbarr: '\\u290D',\r\n rbbrk: '\\u2773',\r\n rbrace: '\\u007D',\r\n rbrack: '\\u005D',\r\n rbrke: '\\u298C',\r\n rbrksld: '\\u298E',\r\n rbrkslu: '\\u2990',\r\n rcaron: '\\u0159',\r\n rcedil: '\\u0157',\r\n rceil: '\\u2309',\r\n rcub: '\\u007D',\r\n rcy: '\\u0440',\r\n rdca: '\\u2937',\r\n rdldhar: '\\u2969',\r\n rdquo: '\\u201D',\r\n rdquor: '\\u201D',\r\n rdsh: '\\u21B3',\r\n real: '\\u211C',\r\n realine: '\\u211B',\r\n realpart: '\\u211C',\r\n reals: '\\u211D',\r\n rect: '\\u25AD',\r\n reg: '\\u00AE',\r\n rfisht: '\\u297D',\r\n rfloor: '\\u230B',\r\n rfr: '\\uD835\\uDD2F',\r\n rhard: '\\u21C1',\r\n rharu: '\\u21C0',\r\n rharul: '\\u296C',\r\n rho: '\\u03C1',\r\n rhov: '\\u03F1',\r\n rightarrow: '\\u2192',\r\n rightarrowtail: '\\u21A3',\r\n rightharpoondown: '\\u21C1',\r\n rightharpoonup: '\\u21C0',\r\n rightleftarrows: '\\u21C4',\r\n rightleftharpoons: '\\u21CC',\r\n rightrightarrows: '\\u21C9',\r\n rightsquigarrow: '\\u219D',\r\n rightthreetimes: '\\u22CC',\r\n ring: '\\u02DA',\r\n risingdotseq: '\\u2253',\r\n rlarr: '\\u21C4',\r\n rlhar: '\\u21CC',\r\n rlm: '\\u200F',\r\n rmoust: '\\u23B1',\r\n rmoustache: '\\u23B1',\r\n rnmid: '\\u2AEE',\r\n roang: '\\u27ED',\r\n roarr: '\\u21FE',\r\n robrk: '\\u27E7',\r\n ropar: '\\u2986',\r\n ropf: '\\uD835\\uDD63',\r\n roplus: '\\u2A2E',\r\n rotimes: '\\u2A35',\r\n rpar: '\\u0029',\r\n rpargt: '\\u2994',\r\n rppolint: '\\u2A12',\r\n rrarr: '\\u21C9',\r\n rsaquo: '\\u203A',\r\n rscr: '\\uD835\\uDCC7',\r\n rsh: '\\u21B1',\r\n rsqb: '\\u005D',\r\n rsquo: '\\u2019',\r\n rsquor: '\\u2019',\r\n rthree: '\\u22CC',\r\n rtimes: '\\u22CA',\r\n rtri: '\\u25B9',\r\n rtrie: '\\u22B5',\r\n rtrif: '\\u25B8',\r\n rtriltri: '\\u29CE',\r\n ruluhar: '\\u2968',\r\n rx: '\\u211E',\r\n sacute: '\\u015B',\r\n sbquo: '\\u201A',\r\n sc: '\\u227B',\r\n scE: '\\u2AB4',\r\n scap: '\\u2AB8',\r\n scaron: '\\u0161',\r\n sccue: '\\u227D',\r\n sce: '\\u2AB0',\r\n scedil: '\\u015F',\r\n scirc: '\\u015D',\r\n scnE: '\\u2AB6',\r\n scnap: '\\u2ABA',\r\n scnsim: '\\u22E9',\r\n scpolint: '\\u2A13',\r\n scsim: '\\u227F',\r\n scy: '\\u0441',\r\n sdot: '\\u22C5',\r\n sdotb: '\\u22A1',\r\n sdote: '\\u2A66',\r\n seArr: '\\u21D8',\r\n searhk: '\\u2925',\r\n searr: '\\u2198',\r\n searrow: '\\u2198',\r\n sect: '\\u00A7',\r\n semi: '\\u003B',\r\n seswar: '\\u2929',\r\n setminus: '\\u2216',\r\n setmn: '\\u2216',\r\n sext: '\\u2736',\r\n sfr: '\\uD835\\uDD30',\r\n sfrown: '\\u2322',\r\n sharp: '\\u266F',\r\n shchcy: '\\u0449',\r\n shcy: '\\u0448',\r\n shortmid: '\\u2223',\r\n shortparallel: '\\u2225',\r\n shy: '\\u00AD',\r\n sigma: '\\u03C3',\r\n sigmaf: '\\u03C2',\r\n sigmav: '\\u03C2',\r\n sim: '\\u223C',\r\n simdot: '\\u2A6A',\r\n sime: '\\u2243',\r\n simeq: '\\u2243',\r\n simg: '\\u2A9E',\r\n simgE: '\\u2AA0',\r\n siml: '\\u2A9D',\r\n simlE: '\\u2A9F',\r\n simne: '\\u2246',\r\n simplus: '\\u2A24',\r\n simrarr: '\\u2972',\r\n slarr: '\\u2190',\r\n smallsetminus: '\\u2216',\r\n smashp: '\\u2A33',\r\n smeparsl: '\\u29E4',\r\n smid: '\\u2223',\r\n smile: '\\u2323',\r\n smt: '\\u2AAA',\r\n smte: '\\u2AAC',\r\n smtes: '\\u2AAC\\uFE00',\r\n softcy: '\\u044C',\r\n sol: '\\u002F',\r\n solb: '\\u29C4',\r\n solbar: '\\u233F',\r\n sopf: '\\uD835\\uDD64',\r\n spades: '\\u2660',\r\n spadesuit: '\\u2660',\r\n spar: '\\u2225',\r\n sqcap: '\\u2293',\r\n sqcaps: '\\u2293\\uFE00',\r\n sqcup: '\\u2294',\r\n sqcups: '\\u2294\\uFE00',\r\n sqsub: '\\u228F',\r\n sqsube: '\\u2291',\r\n sqsubset: '\\u228F',\r\n sqsubseteq: '\\u2291',\r\n sqsup: '\\u2290',\r\n sqsupe: '\\u2292',\r\n sqsupset: '\\u2290',\r\n sqsupseteq: '\\u2292',\r\n squ: '\\u25A1',\r\n square: '\\u25A1',\r\n squarf: '\\u25AA',\r\n squf: '\\u25AA',\r\n srarr: '\\u2192',\r\n sscr: '\\uD835\\uDCC8',\r\n ssetmn: '\\u2216',\r\n ssmile: '\\u2323',\r\n sstarf: '\\u22C6',\r\n star: '\\u2606',\r\n starf: '\\u2605',\r\n straightepsilon: '\\u03F5',\r\n straightphi: '\\u03D5',\r\n strns: '\\u00AF',\r\n sub: '\\u2282',\r\n subE: '\\u2AC5',\r\n subdot: '\\u2ABD',\r\n sube: '\\u2286',\r\n subedot: '\\u2AC3',\r\n submult: '\\u2AC1',\r\n subnE: '\\u2ACB',\r\n subne: '\\u228A',\r\n subplus: '\\u2ABF',\r\n subrarr: '\\u2979',\r\n subset: '\\u2282',\r\n subseteq: '\\u2286',\r\n subseteqq: '\\u2AC5',\r\n subsetneq: '\\u228A',\r\n subsetneqq: '\\u2ACB',\r\n subsim: '\\u2AC7',\r\n subsub: '\\u2AD5',\r\n subsup: '\\u2AD3',\r\n succ: '\\u227B',\r\n succapprox: '\\u2AB8',\r\n succcurlyeq: '\\u227D',\r\n succeq: '\\u2AB0',\r\n succnapprox: '\\u2ABA',\r\n succneqq: '\\u2AB6',\r\n succnsim: '\\u22E9',\r\n succsim: '\\u227F',\r\n sum: '\\u2211',\r\n sung: '\\u266A',\r\n sup1: '\\u00B9',\r\n sup2: '\\u00B2',\r\n sup3: '\\u00B3',\r\n sup: '\\u2283',\r\n supE: '\\u2AC6',\r\n supdot: '\\u2ABE',\r\n supdsub: '\\u2AD8',\r\n supe: '\\u2287',\r\n supedot: '\\u2AC4',\r\n suphsol: '\\u27C9',\r\n suphsub: '\\u2AD7',\r\n suplarr: '\\u297B',\r\n supmult: '\\u2AC2',\r\n supnE: '\\u2ACC',\r\n supne: '\\u228B',\r\n supplus: '\\u2AC0',\r\n supset: '\\u2283',\r\n supseteq: '\\u2287',\r\n supseteqq: '\\u2AC6',\r\n supsetneq: '\\u228B',\r\n supsetneqq: '\\u2ACC',\r\n supsim: '\\u2AC8',\r\n supsub: '\\u2AD4',\r\n supsup: '\\u2AD6',\r\n swArr: '\\u21D9',\r\n swarhk: '\\u2926',\r\n swarr: '\\u2199',\r\n swarrow: '\\u2199',\r\n swnwar: '\\u292A',\r\n szlig: '\\u00DF',\r\n target: '\\u2316',\r\n tau: '\\u03C4',\r\n tbrk: '\\u23B4',\r\n tcaron: '\\u0165',\r\n tcedil: '\\u0163',\r\n tcy: '\\u0442',\r\n tdot: '\\u20DB',\r\n telrec: '\\u2315',\r\n tfr: '\\uD835\\uDD31',\r\n there4: '\\u2234',\r\n therefore: '\\u2234',\r\n theta: '\\u03B8',\r\n thetasym: '\\u03D1',\r\n thetav: '\\u03D1',\r\n thickapprox: '\\u2248',\r\n thicksim: '\\u223C',\r\n thinsp: '\\u2009',\r\n thkap: '\\u2248',\r\n thksim: '\\u223C',\r\n thorn: '\\u00FE',\r\n tilde: '\\u02DC',\r\n times: '\\u00D7',\r\n timesb: '\\u22A0',\r\n timesbar: '\\u2A31',\r\n timesd: '\\u2A30',\r\n tint: '\\u222D',\r\n toea: '\\u2928',\r\n top: '\\u22A4',\r\n topbot: '\\u2336',\r\n topcir: '\\u2AF1',\r\n topf: '\\uD835\\uDD65',\r\n topfork: '\\u2ADA',\r\n tosa: '\\u2929',\r\n tprime: '\\u2034',\r\n trade: '\\u2122',\r\n triangle: '\\u25B5',\r\n triangledown: '\\u25BF',\r\n triangleleft: '\\u25C3',\r\n trianglelefteq: '\\u22B4',\r\n triangleq: '\\u225C',\r\n triangleright: '\\u25B9',\r\n trianglerighteq: '\\u22B5',\r\n tridot: '\\u25EC',\r\n trie: '\\u225C',\r\n triminus: '\\u2A3A',\r\n triplus: '\\u2A39',\r\n trisb: '\\u29CD',\r\n tritime: '\\u2A3B',\r\n trpezium: '\\u23E2',\r\n tscr: '\\uD835\\uDCC9',\r\n tscy: '\\u0446',\r\n tshcy: '\\u045B',\r\n tstrok: '\\u0167',\r\n twixt: '\\u226C',\r\n twoheadleftarrow: '\\u219E',\r\n twoheadrightarrow: '\\u21A0',\r\n uArr: '\\u21D1',\r\n uHar: '\\u2963',\r\n uacute: '\\u00FA',\r\n uarr: '\\u2191',\r\n ubrcy: '\\u045E',\r\n ubreve: '\\u016D',\r\n ucirc: '\\u00FB',\r\n ucy: '\\u0443',\r\n udarr: '\\u21C5',\r\n udblac: '\\u0171',\r\n udhar: '\\u296E',\r\n ufisht: '\\u297E',\r\n ufr: '\\uD835\\uDD32',\r\n ugrave: '\\u00F9',\r\n uharl: '\\u21BF',\r\n uharr: '\\u21BE',\r\n uhblk: '\\u2580',\r\n ulcorn: '\\u231C',\r\n ulcorner: '\\u231C',\r\n ulcrop: '\\u230F',\r\n ultri: '\\u25F8',\r\n umacr: '\\u016B',\r\n uml: '\\u00A8',\r\n uogon: '\\u0173',\r\n uopf: '\\uD835\\uDD66',\r\n uparrow: '\\u2191',\r\n updownarrow: '\\u2195',\r\n upharpoonleft: '\\u21BF',\r\n upharpoonright: '\\u21BE',\r\n uplus: '\\u228E',\r\n upsi: '\\u03C5',\r\n upsih: '\\u03D2',\r\n upsilon: '\\u03C5',\r\n upuparrows: '\\u21C8',\r\n urcorn: '\\u231D',\r\n urcorner: '\\u231D',\r\n urcrop: '\\u230E',\r\n uring: '\\u016F',\r\n urtri: '\\u25F9',\r\n uscr: '\\uD835\\uDCCA',\r\n utdot: '\\u22F0',\r\n utilde: '\\u0169',\r\n utri: '\\u25B5',\r\n utrif: '\\u25B4',\r\n uuarr: '\\u21C8',\r\n uuml: '\\u00FC',\r\n uwangle: '\\u29A7',\r\n vArr: '\\u21D5',\r\n vBar: '\\u2AE8',\r\n vBarv: '\\u2AE9',\r\n vDash: '\\u22A8',\r\n vangrt: '\\u299C',\r\n varepsilon: '\\u03F5',\r\n varkappa: '\\u03F0',\r\n varnothing: '\\u2205',\r\n varphi: '\\u03D5',\r\n varpi: '\\u03D6',\r\n varpropto: '\\u221D',\r\n varr: '\\u2195',\r\n varrho: '\\u03F1',\r\n varsigma: '\\u03C2',\r\n varsubsetneq: '\\u228A\\uFE00',\r\n varsubsetneqq: '\\u2ACB\\uFE00',\r\n varsupsetneq: '\\u228B\\uFE00',\r\n varsupsetneqq: '\\u2ACC\\uFE00',\r\n vartheta: '\\u03D1',\r\n vartriangleleft: '\\u22B2',\r\n vartriangleright: '\\u22B3',\r\n vcy: '\\u0432',\r\n vdash: '\\u22A2',\r\n vee: '\\u2228',\r\n veebar: '\\u22BB',\r\n veeeq: '\\u225A',\r\n vellip: '\\u22EE',\r\n verbar: '\\u007C',\r\n vert: '\\u007C',\r\n vfr: '\\uD835\\uDD33',\r\n vltri: '\\u22B2',\r\n vnsub: '\\u2282\\u20D2',\r\n vnsup: '\\u2283\\u20D2',\r\n vopf: '\\uD835\\uDD67',\r\n vprop: '\\u221D',\r\n vrtri: '\\u22B3',\r\n vscr: '\\uD835\\uDCCB',\r\n vsubnE: '\\u2ACB\\uFE00',\r\n vsubne: '\\u228A\\uFE00',\r\n vsupnE: '\\u2ACC\\uFE00',\r\n vsupne: '\\u228B\\uFE00',\r\n vzigzag: '\\u299A',\r\n wcirc: '\\u0175',\r\n wedbar: '\\u2A5F',\r\n wedge: '\\u2227',\r\n wedgeq: '\\u2259',\r\n weierp: '\\u2118',\r\n wfr: '\\uD835\\uDD34',\r\n wopf: '\\uD835\\uDD68',\r\n wp: '\\u2118',\r\n wr: '\\u2240',\r\n wreath: '\\u2240',\r\n wscr: '\\uD835\\uDCCC',\r\n xcap: '\\u22C2',\r\n xcirc: '\\u25EF',\r\n xcup: '\\u22C3',\r\n xdtri: '\\u25BD',\r\n xfr: '\\uD835\\uDD35',\r\n xhArr: '\\u27FA',\r\n xharr: '\\u27F7',\r\n xi: '\\u03BE',\r\n xlArr: '\\u27F8',\r\n xlarr: '\\u27F5',\r\n xmap: '\\u27FC',\r\n xnis: '\\u22FB',\r\n xodot: '\\u2A00',\r\n xopf: '\\uD835\\uDD69',\r\n xoplus: '\\u2A01',\r\n xotime: '\\u2A02',\r\n xrArr: '\\u27F9',\r\n xrarr: '\\u27F6',\r\n xscr: '\\uD835\\uDCCD',\r\n xsqcup: '\\u2A06',\r\n xuplus: '\\u2A04',\r\n xutri: '\\u25B3',\r\n xvee: '\\u22C1',\r\n xwedge: '\\u22C0',\r\n yacute: '\\u00FD',\r\n yacy: '\\u044F',\r\n ycirc: '\\u0177',\r\n ycy: '\\u044B',\r\n yen: '\\u00A5',\r\n yfr: '\\uD835\\uDD36',\r\n yicy: '\\u0457',\r\n yopf: '\\uD835\\uDD6A',\r\n yscr: '\\uD835\\uDCCE',\r\n yucy: '\\u044E',\r\n yuml: '\\u00FF',\r\n zacute: '\\u017A',\r\n zcaron: '\\u017E',\r\n zcy: '\\u0437',\r\n zdot: '\\u017C',\r\n zeetrf: '\\u2128',\r\n zeta: '\\u03B6',\r\n zfr: '\\uD835\\uDD37',\r\n zhcy: '\\u0436',\r\n zigrarr: '\\u21DD',\r\n zopf: '\\uD835\\uDD6B',\r\n zscr: '\\uD835\\uDCCF',\r\n zwj: '\\u200D',\r\n zwnj: '\\u200C'\r\n};\r\nconst decodeMap = {\r\n '0': 65533,\r\n '128': 8364,\r\n '130': 8218,\r\n '131': 402,\r\n '132': 8222,\r\n '133': 8230,\r\n '134': 8224,\r\n '135': 8225,\r\n '136': 710,\r\n '137': 8240,\r\n '138': 352,\r\n '139': 8249,\r\n '140': 338,\r\n '142': 381,\r\n '145': 8216,\r\n '146': 8217,\r\n '147': 8220,\r\n '148': 8221,\r\n '149': 8226,\r\n '150': 8211,\r\n '151': 8212,\r\n '152': 732,\r\n '153': 8482,\r\n '154': 353,\r\n '155': 8250,\r\n '156': 339,\r\n '158': 382,\r\n '159': 376\r\n};\r\nfunction decodeHTMLStrict(text) {\r\n return text.replace(/&(?:[a-zA-Z]+|#[xX][\\da-fA-F]+|#\\d+);/g, (key) => {\r\n if (key.charAt(1) === '#') {\r\n const secondChar = key.charAt(2);\r\n const codePoint = secondChar === 'X' || secondChar === 'x'\r\n ? parseInt(key.slice(3), 16)\r\n : parseInt(key.slice(2), 10);\r\n return decodeCodePoint(codePoint);\r\n }\r\n return entities[key.slice(1, -1)] || key;\r\n });\r\n}\r\nfunction decodeCodePoint(codePoint) {\r\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\r\n return '\\uFFFD';\r\n }\r\n if (codePoint in decodeMap) {\r\n codePoint = decodeMap[codePoint];\r\n }\r\n return String.fromCodePoint(codePoint);\r\n}\n\nfunction scanJSXAttributeValue(parser, context) {\r\n parser.startPos = parser.tokenPos = parser.index;\r\n parser.startColumn = parser.colPos = parser.column;\r\n parser.startLine = parser.linePos = parser.line;\r\n parser.token =\r\n CharTypes[parser.currentChar] & 8192\r\n ? scanJSXString(parser, context)\r\n : scanSingleToken(parser, context, 0);\r\n return parser.token;\r\n}\r\nfunction scanJSXString(parser, context) {\r\n const quote = parser.currentChar;\r\n let char = advanceChar(parser);\r\n const start = parser.index;\r\n while (char !== quote) {\r\n if (parser.index >= parser.end)\r\n report(parser, 14);\r\n char = advanceChar(parser);\r\n }\r\n if (char !== quote)\r\n report(parser, 14);\r\n parser.tokenValue = parser.source.slice(start, parser.index);\r\n advanceChar(parser);\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n return 134283267;\r\n}\r\nfunction scanJSXToken(parser, context) {\r\n parser.startPos = parser.tokenPos = parser.index;\r\n parser.startColumn = parser.colPos = parser.column;\r\n parser.startLine = parser.linePos = parser.line;\r\n if (parser.index >= parser.end)\r\n return (parser.token = 1048576);\r\n const token = TokenLookup[parser.source.charCodeAt(parser.index)];\r\n switch (token) {\r\n case 8456258: {\r\n advanceChar(parser);\r\n if (parser.currentChar === 47) {\r\n advanceChar(parser);\r\n parser.token = 25;\r\n }\r\n else {\r\n parser.token = 8456258;\r\n }\r\n break;\r\n }\r\n case 2162700: {\r\n advanceChar(parser);\r\n parser.token = 2162700;\r\n break;\r\n }\r\n default: {\r\n let state = 0;\r\n while (parser.index < parser.end) {\r\n const type = CharTypes[parser.source.charCodeAt(parser.index)];\r\n if (type & 1024) {\r\n state |= 1 | 4;\r\n scanNewLine(parser);\r\n }\r\n else if (type & 2048) {\r\n consumeLineFeed(parser, state);\r\n state = (state & ~4) | 1;\r\n }\r\n else {\r\n advanceChar(parser);\r\n }\r\n if (CharTypes[parser.currentChar] & 16384)\r\n break;\r\n }\r\n const raw = parser.source.slice(parser.tokenPos, parser.index);\r\n if (context & 512)\r\n parser.tokenRaw = raw;\r\n parser.tokenValue = decodeHTMLStrict(raw);\r\n parser.token = 138;\r\n }\r\n }\r\n return parser.token;\r\n}\r\nfunction scanJSXIdentifier(parser) {\r\n if ((parser.token & 143360) === 143360) {\r\n const { index } = parser;\r\n let char = parser.currentChar;\r\n while (CharTypes[char] & (32768 | 2)) {\r\n char = advanceChar(parser);\r\n }\r\n parser.tokenValue += parser.source.slice(index, parser.index);\r\n }\r\n parser.token = 208897;\r\n return parser.token;\r\n}\n\nfunction matchOrInsertSemicolon(parser, context) {\r\n if ((parser.flags & 1) === 0 &&\r\n (parser.token & 1048576) !== 1048576) {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n if (!consumeOpt(parser, context, 1074790417)) {\r\n parser.onInsertedSemicolon?.(parser.startPos);\r\n }\r\n}\r\nfunction isValidStrictMode(parser, index, tokenPos, tokenValue) {\r\n if (index - tokenPos < 13 && tokenValue === 'use strict') {\r\n if ((parser.token & 1048576) === 1048576 || parser.flags & 1) {\r\n return 1;\r\n }\r\n }\r\n return 0;\r\n}\r\nfunction optionalBit(parser, context, t) {\r\n if (parser.token !== t)\r\n return 0;\r\n nextToken(parser, context);\r\n return 1;\r\n}\r\nfunction consumeOpt(parser, context, t) {\r\n if (parser.token !== t)\r\n return false;\r\n nextToken(parser, context);\r\n return true;\r\n}\r\nfunction consume(parser, context, t) {\r\n if (parser.token !== t)\r\n report(parser, 23, KeywordDescTable[t & 255]);\r\n nextToken(parser, context);\r\n}\r\nfunction reinterpretToPattern(state, node) {\r\n switch (node.type) {\r\n case 'ArrayExpression':\r\n node.type = 'ArrayPattern';\r\n const elements = node.elements;\r\n for (let i = 0, n = elements.length; i < n; ++i) {\r\n const element = elements[i];\r\n if (element)\r\n reinterpretToPattern(state, element);\r\n }\r\n return;\r\n case 'ObjectExpression':\r\n node.type = 'ObjectPattern';\r\n const properties = node.properties;\r\n for (let i = 0, n = properties.length; i < n; ++i) {\r\n reinterpretToPattern(state, properties[i]);\r\n }\r\n return;\r\n case 'AssignmentExpression':\r\n node.type = 'AssignmentPattern';\r\n if (node.operator !== '=')\r\n report(state, 69);\r\n delete node.operator;\r\n reinterpretToPattern(state, node.left);\r\n return;\r\n case 'Property':\r\n reinterpretToPattern(state, node.value);\r\n return;\r\n case 'SpreadElement':\r\n node.type = 'RestElement';\r\n reinterpretToPattern(state, node.argument);\r\n }\r\n}\r\nfunction validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) {\r\n if (context & 1024) {\r\n if ((t & 36864) === 36864) {\r\n report(parser, 115);\r\n }\r\n if (!skipEvalArgCheck && (t & 537079808) === 537079808) {\r\n report(parser, 116);\r\n }\r\n }\r\n if ((t & 20480) === 20480) {\r\n report(parser, 100);\r\n }\r\n if (kind & (8 | 16) && t === 241739) {\r\n report(parser, 98);\r\n }\r\n if (context & (4194304 | 2048) && t === 209008) {\r\n report(parser, 96);\r\n }\r\n if (context & (2097152 | 1024) && t === 241773) {\r\n report(parser, 95, 'yield');\r\n }\r\n}\r\nfunction validateFunctionName(parser, context, t) {\r\n if (context & 1024) {\r\n if ((t & 36864) === 36864) {\r\n report(parser, 115);\r\n }\r\n if ((t & 537079808) === 537079808) {\r\n report(parser, 116);\r\n }\r\n if (t === 122) {\r\n report(parser, 93);\r\n }\r\n if (t === 121) {\r\n report(parser, 93);\r\n }\r\n }\r\n if ((t & 20480) === 20480) {\r\n report(parser, 100);\r\n }\r\n if (context & (4194304 | 2048) && t === 209008) {\r\n report(parser, 96);\r\n }\r\n if (context & (2097152 | 1024) && t === 241773) {\r\n report(parser, 95, 'yield');\r\n }\r\n}\r\nfunction isStrictReservedWord(parser, context, t) {\r\n if (t === 209008) {\r\n if (context & (4194304 | 2048))\r\n report(parser, 96);\r\n parser.destructible |= 128;\r\n }\r\n if (t === 241773 && context & 2097152)\r\n report(parser, 95, 'yield');\r\n return ((t & 20480) === 20480 ||\r\n (t & 36864) === 36864 ||\r\n t == 122);\r\n}\r\nfunction isPropertyWithPrivateFieldKey(expr) {\r\n return !expr.property ? false : expr.property.type === 'PrivateIdentifier';\r\n}\r\nfunction isValidLabel(parser, labels, name, isIterationStatement) {\r\n while (labels) {\r\n if (labels['$' + name]) {\r\n if (isIterationStatement)\r\n report(parser, 134);\r\n return 1;\r\n }\r\n if (isIterationStatement && labels.loop)\r\n isIterationStatement = 0;\r\n labels = labels['$'];\r\n }\r\n return 0;\r\n}\r\nfunction validateAndDeclareLabel(parser, labels, name) {\r\n let set = labels;\r\n while (set) {\r\n if (set['$' + name])\r\n report(parser, 133, name);\r\n set = set['$'];\r\n }\r\n labels['$' + name] = 1;\r\n}\r\nfunction finishNode(parser, context, start, line, column, node) {\r\n if (context & 2) {\r\n node.start = start;\r\n node.end = parser.startPos;\r\n node.range = [start, parser.startPos];\r\n }\r\n if (context & 4) {\r\n node.loc = {\r\n start: {\r\n line,\r\n column\r\n },\r\n end: {\r\n line: parser.startLine,\r\n column: parser.startColumn\r\n }\r\n };\r\n if (parser.sourceFile) {\r\n node.loc.source = parser.sourceFile;\r\n }\r\n }\r\n return node;\r\n}\r\nfunction isEqualTagName(elementName) {\r\n switch (elementName.type) {\r\n case 'JSXIdentifier':\r\n return elementName.name;\r\n case 'JSXNamespacedName':\r\n return elementName.namespace + ':' + elementName.name;\r\n case 'JSXMemberExpression':\r\n return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property);\r\n }\r\n}\r\nfunction createArrowHeadParsingScope(parser, context, value) {\r\n const scope = addChildScope(createScope(), 1024);\r\n addBlockName(parser, context, scope, value, 1, 0);\r\n return scope;\r\n}\r\nfunction recordScopeError(parser, type, ...params) {\r\n const { index, line, column } = parser;\r\n return {\r\n type,\r\n params,\r\n index,\r\n line,\r\n column\r\n };\r\n}\r\nfunction createScope() {\r\n return {\r\n parent: void 0,\r\n type: 2\r\n };\r\n}\r\nfunction addChildScope(parent, type) {\r\n return {\r\n parent,\r\n type,\r\n scopeError: void 0\r\n };\r\n}\r\nfunction addVarOrBlock(parser, context, scope, name, kind, origin) {\r\n if (kind & 4) {\r\n addVarName(parser, context, scope, name, kind);\r\n }\r\n else {\r\n addBlockName(parser, context, scope, name, kind, origin);\r\n }\r\n if (origin & 64) {\r\n declareUnboundVariable(parser, name);\r\n }\r\n}\r\nfunction addBlockName(parser, context, scope, name, kind, origin) {\r\n const value = scope['#' + name];\r\n if (value && (value & 2) === 0) {\r\n if (kind & 1) {\r\n scope.scopeError = recordScopeError(parser, 141, name);\r\n }\r\n else if (context & 256 &&\r\n value & 64 &&\r\n origin & 2) ;\r\n else {\r\n report(parser, 141, name);\r\n }\r\n }\r\n if (scope.type & 128 &&\r\n (scope.parent['#' + name] && (scope.parent['#' + name] & 2) === 0)) {\r\n report(parser, 141, name);\r\n }\r\n if (scope.type & 1024 && value && (value & 2) === 0) {\r\n if (kind & 1) {\r\n scope.scopeError = recordScopeError(parser, 141, name);\r\n }\r\n }\r\n if (scope.type & 64) {\r\n if (scope.parent['#' + name] & 768)\r\n report(parser, 154, name);\r\n }\r\n scope['#' + name] = kind;\r\n}\r\nfunction addVarName(parser, context, scope, name, kind) {\r\n let currentScope = scope;\r\n while (currentScope && (currentScope.type & 256) === 0) {\r\n const value = currentScope['#' + name];\r\n if (value & 248) {\r\n if (context & 256 &&\r\n (context & 1024) === 0 &&\r\n ((kind & 128 && value & 68) ||\r\n (value & 128 && kind & 68))) ;\r\n else {\r\n report(parser, 141, name);\r\n }\r\n }\r\n if (currentScope === scope) {\r\n if (value & 1 && kind & 1) {\r\n currentScope.scopeError = recordScopeError(parser, 141, name);\r\n }\r\n }\r\n if (value & (512 | 256)) {\r\n if ((value & 512) === 0 ||\r\n (context & 256) === 0 ||\r\n context & 1024) {\r\n report(parser, 141, name);\r\n }\r\n }\r\n currentScope['#' + name] = kind;\r\n currentScope = currentScope.parent;\r\n }\r\n}\r\nfunction declareUnboundVariable(parser, name) {\r\n if (parser.exportedNames !== void 0 && name !== '') {\r\n if (parser.exportedNames['#' + name]) {\r\n report(parser, 142, name);\r\n }\r\n parser.exportedNames['#' + name] = 1;\r\n }\r\n}\r\nfunction addBindingToExports(parser, name) {\r\n if (parser.exportedBindings !== void 0 && name !== '') {\r\n parser.exportedBindings['#' + name] = 1;\r\n }\r\n}\r\nfunction pushComment(context, array) {\r\n return function (type, value, start, end, loc) {\r\n const comment = {\r\n type,\r\n value\r\n };\r\n if (context & 2) {\r\n comment.start = start;\r\n comment.end = end;\r\n comment.range = [start, end];\r\n }\r\n if (context & 4) {\r\n comment.loc = loc;\r\n }\r\n array.push(comment);\r\n };\r\n}\r\nfunction pushToken(context, array) {\r\n return function (token, start, end, loc) {\r\n const tokens = {\r\n token\r\n };\r\n if (context & 2) {\r\n tokens.start = start;\r\n tokens.end = end;\r\n tokens.range = [start, end];\r\n }\r\n if (context & 4) {\r\n tokens.loc = loc;\r\n }\r\n array.push(tokens);\r\n };\r\n}\r\nfunction isValidIdentifier(context, t) {\r\n if (context & (1024 | 2097152)) {\r\n if (context & 2048 && t === 209008)\r\n return false;\r\n if (context & 2097152 && t === 241773)\r\n return false;\r\n return (t & 143360) === 143360 || (t & 12288) === 12288;\r\n }\r\n return ((t & 143360) === 143360 ||\r\n (t & 12288) === 12288 ||\r\n (t & 36864) === 36864);\r\n}\r\nfunction classifyIdentifier(parser, context, t) {\r\n if ((t & 537079808) === 537079808) {\r\n if (context & 1024)\r\n report(parser, 116);\r\n parser.flags |= 512;\r\n }\r\n if (!isValidIdentifier(context, t))\r\n report(parser, 0);\r\n}\n\nfunction create(source, sourceFile, onComment, onToken, onInsertedSemicolon) {\r\n return {\r\n source,\r\n flags: 0,\r\n index: 0,\r\n line: 1,\r\n column: 0,\r\n startPos: 0,\r\n end: source.length,\r\n tokenPos: 0,\r\n startColumn: 0,\r\n colPos: 0,\r\n linePos: 1,\r\n startLine: 1,\r\n sourceFile,\r\n tokenValue: '',\r\n token: 1048576,\r\n tokenRaw: '',\r\n tokenRegExp: void 0,\r\n currentChar: source.charCodeAt(0),\r\n exportedNames: [],\r\n exportedBindings: [],\r\n assignable: 1,\r\n destructible: 0,\r\n onComment,\r\n onToken,\r\n onInsertedSemicolon,\r\n leadingDecorators: []\r\n };\r\n}\r\nfunction parseSource(source, options, context) {\r\n let sourceFile = '';\r\n let onComment;\r\n let onInsertedSemicolon;\r\n let onToken;\r\n if (options != null) {\r\n if (options.module)\r\n context |= 2048 | 1024;\r\n if (options.next)\r\n context |= 1;\r\n if (options.loc)\r\n context |= 4;\r\n if (options.ranges)\r\n context |= 2;\r\n if (options.uniqueKeyInPattern)\r\n context |= 536870912;\r\n if (options.lexical)\r\n context |= 64;\r\n if (options.webcompat)\r\n context |= 256;\r\n if (options.directives)\r\n context |= 8 | 512;\r\n if (options.globalReturn)\r\n context |= 32;\r\n if (options.raw)\r\n context |= 512;\r\n if (options.preserveParens)\r\n context |= 128;\r\n if (options.impliedStrict)\r\n context |= 1024;\r\n if (options.jsx)\r\n context |= 16;\r\n if (options.source)\r\n sourceFile = options.source;\r\n if (options.onComment != null) {\r\n onComment = Array.isArray(options.onComment) ? pushComment(context, options.onComment) : options.onComment;\r\n }\r\n if (options.onInsertedSemicolon != null)\r\n onInsertedSemicolon = options.onInsertedSemicolon;\r\n if (options.onToken != null) {\r\n onToken = Array.isArray(options.onToken) ? pushToken(context, options.onToken) : options.onToken;\r\n }\r\n }\r\n const parser = create(source, sourceFile, onComment, onToken, onInsertedSemicolon);\r\n if (context & 1)\r\n skipHashBang(parser);\r\n const scope = context & 64 ? createScope() : void 0;\r\n let body = [];\r\n let sourceType = 'script';\r\n if (context & 2048) {\r\n sourceType = 'module';\r\n body = parseModuleItemList(parser, context | 8192, scope);\r\n if (scope) {\r\n for (const key in parser.exportedBindings) {\r\n if (key[0] === '#' && !scope[key])\r\n report(parser, 143, key.slice(1));\r\n }\r\n }\r\n }\r\n else {\r\n body = parseStatementList(parser, context | 8192, scope);\r\n }\r\n const node = {\r\n type: 'Program',\r\n sourceType,\r\n body\r\n };\r\n if (context & 2) {\r\n node.start = 0;\r\n node.end = source.length;\r\n node.range = [0, source.length];\r\n }\r\n if (context & 4) {\r\n node.loc = {\r\n start: { line: 1, column: 0 },\r\n end: { line: parser.line, column: parser.column }\r\n };\r\n if (parser.sourceFile)\r\n node.loc.source = sourceFile;\r\n }\r\n return node;\r\n}\r\nfunction parseStatementList(parser, context, scope) {\r\n nextToken(parser, context | 32768 | 268435456);\r\n const statements = [];\r\n while (parser.token === 134283267) {\r\n const { index, tokenPos, tokenValue, linePos, colPos, token } = parser;\r\n const expr = parseLiteral(parser, context);\r\n if (isValidStrictMode(parser, index, tokenPos, tokenValue))\r\n context |= 1024;\r\n statements.push(parseDirective(parser, context, expr, token, tokenPos, linePos, colPos));\r\n }\r\n while (parser.token !== 1048576) {\r\n statements.push(parseStatementListItem(parser, context, scope, 4, {}));\r\n }\r\n return statements;\r\n}\r\nfunction parseModuleItemList(parser, context, scope) {\r\n nextToken(parser, context | 32768);\r\n const statements = [];\r\n if (context & 8) {\r\n while (parser.token === 134283267) {\r\n const { tokenPos, linePos, colPos, token } = parser;\r\n statements.push(parseDirective(parser, context, parseLiteral(parser, context), token, tokenPos, linePos, colPos));\r\n }\r\n }\r\n while (parser.token !== 1048576) {\r\n statements.push(parseModuleItem(parser, context, scope));\r\n }\r\n return statements;\r\n}\r\nfunction parseModuleItem(parser, context, scope) {\r\n parser.leadingDecorators = parseDecorators(parser, context);\r\n let moduleItem;\r\n switch (parser.token) {\r\n case 20566:\r\n moduleItem = parseExportDeclaration(parser, context, scope);\r\n break;\r\n case 86108:\r\n moduleItem = parseImportDeclaration(parser, context, scope);\r\n break;\r\n default:\r\n moduleItem = parseStatementListItem(parser, context, scope, 4, {});\r\n }\r\n if (parser.leadingDecorators.length) {\r\n report(parser, 165);\r\n }\r\n return moduleItem;\r\n}\r\nfunction parseStatementListItem(parser, context, scope, origin, labels) {\r\n const start = parser.tokenPos;\r\n const line = parser.linePos;\r\n const column = parser.colPos;\r\n switch (parser.token) {\r\n case 86106:\r\n return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 0, start, line, column);\r\n case 133:\r\n case 86096:\r\n return parseClassDeclaration(parser, context, scope, 0, start, line, column);\r\n case 86092:\r\n return parseLexicalDeclaration(parser, context, scope, 16, 0, start, line, column);\r\n case 241739:\r\n return parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column);\r\n case 20566:\r\n report(parser, 101, 'export');\r\n case 86108:\r\n nextToken(parser, context);\r\n switch (parser.token) {\r\n case 67174411:\r\n return parseImportCallDeclaration(parser, context, start, line, column);\r\n case 67108877:\r\n return parseImportMetaDeclaration(parser, context, start, line, column);\r\n default:\r\n report(parser, 101, 'import');\r\n }\r\n case 209007:\r\n return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 1, start, line, column);\r\n default:\r\n return parseStatement(parser, context, scope, origin, labels, 1, start, line, column);\r\n }\r\n}\r\nfunction parseStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {\r\n switch (parser.token) {\r\n case 86090:\r\n return parseVariableStatement(parser, context, scope, 0, start, line, column);\r\n case 20574:\r\n return parseReturnStatement(parser, context, start, line, column);\r\n case 20571:\r\n return parseIfStatement(parser, context, scope, labels, start, line, column);\r\n case 20569:\r\n return parseForStatement(parser, context, scope, labels, start, line, column);\r\n case 20564:\r\n return parseDoWhileStatement(parser, context, scope, labels, start, line, column);\r\n case 20580:\r\n return parseWhileStatement(parser, context, scope, labels, start, line, column);\r\n case 86112:\r\n return parseSwitchStatement(parser, context, scope, labels, start, line, column);\r\n case 1074790417:\r\n return parseEmptyStatement(parser, context, start, line, column);\r\n case 2162700:\r\n return parseBlock(parser, context, scope ? addChildScope(scope, 2) : scope, labels, start, line, column);\r\n case 86114:\r\n return parseThrowStatement(parser, context, start, line, column);\r\n case 20557:\r\n return parseBreakStatement(parser, context, labels, start, line, column);\r\n case 20561:\r\n return parseContinueStatement(parser, context, labels, start, line, column);\r\n case 20579:\r\n return parseTryStatement(parser, context, scope, labels, start, line, column);\r\n case 20581:\r\n return parseWithStatement(parser, context, scope, labels, start, line, column);\r\n case 20562:\r\n return parseDebuggerStatement(parser, context, start, line, column);\r\n case 209007:\r\n return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 0, start, line, column);\r\n case 20559:\r\n report(parser, 157);\r\n case 20568:\r\n report(parser, 158);\r\n case 86106:\r\n report(parser, context & 1024\r\n ? 74\r\n : (context & 256) === 0\r\n ? 76\r\n : 75);\r\n case 86096:\r\n report(parser, 77);\r\n default:\r\n return parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column);\r\n }\r\n}\r\nfunction parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {\r\n const { tokenValue, token } = parser;\r\n let expr;\r\n switch (token) {\r\n case 241739:\r\n expr = parseIdentifier(parser, context);\r\n if (context & 1024)\r\n report(parser, 83);\r\n if (parser.token === 69271571)\r\n report(parser, 82);\r\n break;\r\n default:\r\n expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n if (token & 143360 && parser.token === 21) {\r\n return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column);\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr);\r\n if (parser.token === 18) {\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n }\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseBlock(parser, context, scope, labels, start, line, column) {\r\n const body = [];\r\n consume(parser, context | 32768, 2162700);\r\n while (parser.token !== 1074790415) {\r\n body.push(parseStatementListItem(parser, context, scope, 2, { $: labels }));\r\n }\r\n consume(parser, context | 32768, 1074790415);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'BlockStatement',\r\n body\r\n });\r\n}\r\nfunction parseReturnStatement(parser, context, start, line, column) {\r\n if ((context & 32) === 0 && context & 8192)\r\n report(parser, 90);\r\n nextToken(parser, context | 32768);\r\n const argument = parser.flags & 1 || parser.token & 1048576\r\n ? null\r\n : parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ReturnStatement',\r\n argument\r\n });\r\n}\r\nfunction parseExpressionStatement(parser, context, expression, start, line, column) {\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ExpressionStatement',\r\n expression\r\n });\r\n}\r\nfunction parseLabelledStatement(parser, context, scope, origin, labels, value, expr, token, allowFuncDecl, start, line, column) {\r\n validateBindingIdentifier(parser, context, 0, token, 1);\r\n validateAndDeclareLabel(parser, labels, value);\r\n nextToken(parser, context | 32768);\r\n const body = allowFuncDecl &&\r\n (context & 1024) === 0 &&\r\n context & 256 &&\r\n parser.token === 86106\r\n ? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos)\r\n : parseStatement(parser, context, scope, origin, labels, allowFuncDecl, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'LabeledStatement',\r\n label: expr,\r\n body\r\n });\r\n}\r\nfunction parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {\r\n const { token, tokenValue } = parser;\r\n let expr = parseIdentifier(parser, context);\r\n if (parser.token === 21) {\r\n return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column);\r\n }\r\n const asyncNewLine = parser.flags & 1;\r\n if (!asyncNewLine) {\r\n if (parser.token === 86106) {\r\n if (!allowFuncDecl)\r\n report(parser, 120);\r\n return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 1, start, line, column);\r\n }\r\n if ((parser.token & 143360) === 143360) {\r\n expr = parseAsyncArrowAfterIdent(parser, context, 1, start, line, column);\r\n if (parser.token === 18)\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n }\r\n }\r\n if (parser.token === 67174411) {\r\n expr = parseAsyncArrowOrCallExpression(parser, context, expr, 1, 1, 0, asyncNewLine, start, line, column);\r\n }\r\n else {\r\n if (parser.token === 10) {\r\n classifyIdentifier(parser, context, token);\r\n expr = parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, 0, 1, 0, start, line, column);\r\n }\r\n parser.assignable = 1;\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr);\r\n parser.assignable = 1;\r\n if (parser.token === 18) {\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n }\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseDirective(parser, context, expression, token, start, line, column) {\r\n if (token !== 1074790417) {\r\n parser.assignable = 2;\r\n expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);\r\n if (parser.token !== 1074790417) {\r\n expression = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expression);\r\n if (parser.token === 18) {\r\n expression = parseSequenceExpression(parser, context, 0, start, line, column, expression);\r\n }\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n }\r\n return context & 8 && expression.type === 'Literal' && typeof expression.value === 'string'\r\n ? finishNode(parser, context, start, line, column, {\r\n type: 'ExpressionStatement',\r\n expression,\r\n directive: expression.raw.slice(1, -1)\r\n })\r\n : finishNode(parser, context, start, line, column, {\r\n type: 'ExpressionStatement',\r\n expression\r\n });\r\n}\r\nfunction parseEmptyStatement(parser, context, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'EmptyStatement'\r\n });\r\n}\r\nfunction parseThrowStatement(parser, context, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n if (parser.flags & 1)\r\n report(parser, 88);\r\n const argument = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ThrowStatement',\r\n argument\r\n });\r\n}\r\nfunction parseIfStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n consume(parser, context | 32768, 67174411);\r\n parser.assignable = 1;\r\n const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const consequent = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos);\r\n let alternate = null;\r\n if (parser.token === 20565) {\r\n nextToken(parser, context | 32768);\r\n alternate = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'IfStatement',\r\n test,\r\n consequent,\r\n alternate\r\n });\r\n}\r\nfunction parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) {\r\n return context & 1024 ||\r\n (context & 256) === 0 ||\r\n parser.token !== 86106\r\n ? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos)\r\n : parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column);\r\n}\r\nfunction parseSwitchStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n consume(parser, context | 32768, 67174411);\r\n const discriminant = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 16);\r\n consume(parser, context, 2162700);\r\n const cases = [];\r\n let seenDefault = 0;\r\n if (scope)\r\n scope = addChildScope(scope, 8);\r\n while (parser.token !== 1074790415) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n let test = null;\r\n const consequent = [];\r\n if (consumeOpt(parser, context | 32768, 20558)) {\r\n test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n consume(parser, context | 32768, 20563);\r\n if (seenDefault)\r\n report(parser, 87);\r\n seenDefault = 1;\r\n }\r\n consume(parser, context | 32768, 21);\r\n while (parser.token !== 20558 &&\r\n parser.token !== 1074790415 &&\r\n parser.token !== 20563) {\r\n consequent.push(parseStatementListItem(parser, context | 4096, scope, 2, {\r\n $: labels\r\n }));\r\n }\r\n cases.push(finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'SwitchCase',\r\n test,\r\n consequent\r\n }));\r\n }\r\n consume(parser, context | 32768, 1074790415);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'SwitchStatement',\r\n discriminant,\r\n cases\r\n });\r\n}\r\nfunction parseWhileStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n consume(parser, context | 32768, 67174411);\r\n const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'WhileStatement',\r\n test,\r\n body\r\n });\r\n}\r\nfunction parseIterationStatementBody(parser, context, scope, labels) {\r\n return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n}\r\nfunction parseContinueStatement(parser, context, labels, start, line, column) {\r\n if ((context & 131072) === 0)\r\n report(parser, 66);\r\n nextToken(parser, context);\r\n let label = null;\r\n if ((parser.flags & 1) === 0 && parser.token & 143360) {\r\n const { tokenValue } = parser;\r\n label = parseIdentifier(parser, context | 32768);\r\n if (!isValidLabel(parser, labels, tokenValue, 1))\r\n report(parser, 135, tokenValue);\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ContinueStatement',\r\n label\r\n });\r\n}\r\nfunction parseBreakStatement(parser, context, labels, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n let label = null;\r\n if ((parser.flags & 1) === 0 && parser.token & 143360) {\r\n const { tokenValue } = parser;\r\n label = parseIdentifier(parser, context | 32768);\r\n if (!isValidLabel(parser, labels, tokenValue, 0))\r\n report(parser, 135, tokenValue);\r\n }\r\n else if ((context & (4096 | 131072)) === 0) {\r\n report(parser, 67);\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'BreakStatement',\r\n label\r\n });\r\n}\r\nfunction parseWithStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n if (context & 1024)\r\n report(parser, 89);\r\n consume(parser, context | 32768, 67174411);\r\n const object = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseStatement(parser, context, scope, 2, labels, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'WithStatement',\r\n object,\r\n body\r\n });\r\n}\r\nfunction parseDebuggerStatement(parser, context, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'DebuggerStatement'\r\n });\r\n}\r\nfunction parseTryStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const firstScope = scope ? addChildScope(scope, 32) : void 0;\r\n const block = parseBlock(parser, context, firstScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const handler = consumeOpt(parser, context | 32768, 20559)\r\n ? parseCatchBlock(parser, context, scope, labels, tokenPos, linePos, colPos)\r\n : null;\r\n let finalizer = null;\r\n if (parser.token === 20568) {\r\n nextToken(parser, context | 32768);\r\n const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0;\r\n finalizer = parseBlock(parser, context, finalizerScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n if (!handler && !finalizer) {\r\n report(parser, 86);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'TryStatement',\r\n block,\r\n handler,\r\n finalizer\r\n });\r\n}\r\nfunction parseCatchBlock(parser, context, scope, labels, start, line, column) {\r\n let param = null;\r\n let additionalScope = scope;\r\n if (consumeOpt(parser, context, 67174411)) {\r\n if (scope)\r\n scope = addChildScope(scope, 4);\r\n param = parseBindingPattern(parser, context, scope, (parser.token & 2097152) === 2097152\r\n ? 256\r\n : 512, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (parser.token === 18) {\r\n report(parser, 84);\r\n }\r\n else if (parser.token === 1077936157) {\r\n report(parser, 85);\r\n }\r\n consume(parser, context | 32768, 16);\r\n if (scope)\r\n additionalScope = addChildScope(scope, 64);\r\n }\r\n const body = parseBlock(parser, context, additionalScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'CatchClause',\r\n param,\r\n body\r\n });\r\n}\r\nfunction parseStaticBlock(parser, context, scope, start, line, column) {\r\n if (scope)\r\n scope = addChildScope(scope, 2);\r\n const ctorContext = 16384 | 524288;\r\n context = ((context | ctorContext) ^ ctorContext) | 262144;\r\n const { body } = parseBlock(parser, context, scope, {}, start, line, column);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'StaticBlock',\r\n body\r\n });\r\n}\r\nfunction parseDoWhileStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n consume(parser, context, 20580);\r\n consume(parser, context | 32768, 67174411);\r\n const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n consumeOpt(parser, context | 32768, 1074790417);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'DoWhileStatement',\r\n body,\r\n test\r\n });\r\n}\r\nfunction parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) {\r\n const { token, tokenValue } = parser;\r\n let expr = parseIdentifier(parser, context);\r\n if (parser.token & (143360 | 2097152)) {\r\n const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'VariableDeclaration',\r\n kind: 'let',\r\n declarations\r\n });\r\n }\r\n parser.assignable = 1;\r\n if (context & 1024)\r\n report(parser, 83);\r\n if (parser.token === 21) {\r\n return parseLabelledStatement(parser, context, scope, origin, {}, tokenValue, expr, token, 0, start, line, column);\r\n }\r\n if (parser.token === 10) {\r\n let scope = void 0;\r\n if (context & 64)\r\n scope = createArrowHeadParsingScope(parser, context, tokenValue);\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n expr = parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column);\r\n }\r\n else {\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr);\r\n }\r\n if (parser.token === 18) {\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n }\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseLexicalDeclaration(parser, context, scope, kind, origin, start, line, column) {\r\n nextToken(parser, context);\r\n const declarations = parseVariableDeclarationList(parser, context, scope, kind, origin);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'VariableDeclaration',\r\n kind: kind & 8 ? 'let' : 'const',\r\n declarations\r\n });\r\n}\r\nfunction parseVariableStatement(parser, context, scope, origin, start, line, column) {\r\n nextToken(parser, context);\r\n const declarations = parseVariableDeclarationList(parser, context, scope, 4, origin);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'VariableDeclaration',\r\n kind: 'var',\r\n declarations\r\n });\r\n}\r\nfunction parseVariableDeclarationList(parser, context, scope, kind, origin) {\r\n let bindingCount = 1;\r\n const list = [parseVariableDeclaration(parser, context, scope, kind, origin)];\r\n while (consumeOpt(parser, context, 18)) {\r\n bindingCount++;\r\n list.push(parseVariableDeclaration(parser, context, scope, kind, origin));\r\n }\r\n if (bindingCount > 1 && origin & 32 && parser.token & 262144) {\r\n report(parser, 59, KeywordDescTable[parser.token & 255]);\r\n }\r\n return list;\r\n}\r\nfunction parseVariableDeclaration(parser, context, scope, kind, origin) {\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n let init = null;\r\n const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos);\r\n if (parser.token === 1077936157) {\r\n nextToken(parser, context | 32768);\r\n init = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (origin & 32 || (token & 2097152) === 0) {\r\n if (parser.token === 274549 ||\r\n (parser.token === 8738868 &&\r\n (token & 2097152 || (kind & 4) === 0 || context & 1024))) {\r\n reportMessageAt(tokenPos, parser.line, parser.index - 3, 58, parser.token === 274549 ? 'of' : 'in');\r\n }\r\n }\r\n }\r\n else if ((kind & 16 || (token & 2097152) > 0) &&\r\n (parser.token & 262144) !== 262144) {\r\n report(parser, 57, kind & 16 ? 'const' : 'destructuring');\r\n }\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'VariableDeclarator',\r\n id,\r\n init\r\n });\r\n}\r\nfunction parseForStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n const forAwait = ((context & 4194304) > 0 || ((context & 2048) > 0 && (context & 8192) > 0)) &&\r\n consumeOpt(parser, context, 209008);\r\n consume(parser, context | 32768, 67174411);\r\n if (scope)\r\n scope = addChildScope(scope, 1);\r\n let test = null;\r\n let update = null;\r\n let destructible = 0;\r\n let init = null;\r\n let isVarDecl = parser.token === 86090 || parser.token === 241739 || parser.token === 86092;\r\n let right;\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (isVarDecl) {\r\n if (token === 241739) {\r\n init = parseIdentifier(parser, context);\r\n if (parser.token & (143360 | 2097152)) {\r\n if (parser.token === 8738868) {\r\n if (context & 1024)\r\n report(parser, 65);\r\n }\r\n else {\r\n init = finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'VariableDeclaration',\r\n kind: 'let',\r\n declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 8, 32)\r\n });\r\n }\r\n parser.assignable = 1;\r\n }\r\n else if (context & 1024) {\r\n report(parser, 65);\r\n }\r\n else {\r\n isVarDecl = false;\r\n parser.assignable = 1;\r\n init = parseMemberOrUpdateExpression(parser, context, init, 0, 0, tokenPos, linePos, colPos);\r\n if (parser.token === 274549)\r\n report(parser, 112);\r\n }\r\n }\r\n else {\r\n nextToken(parser, context);\r\n init = finishNode(parser, context, tokenPos, linePos, colPos, token === 86090\r\n ? {\r\n type: 'VariableDeclaration',\r\n kind: 'var',\r\n declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 4, 32)\r\n }\r\n : {\r\n type: 'VariableDeclaration',\r\n kind: 'const',\r\n declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 16, 32)\r\n });\r\n parser.assignable = 1;\r\n }\r\n }\r\n else if (token === 1074790417) {\r\n if (forAwait)\r\n report(parser, 80);\r\n }\r\n else if ((token & 2097152) === 2097152) {\r\n init =\r\n token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos);\r\n destructible = parser.destructible;\r\n if (context & 256 && destructible & 64) {\r\n report(parser, 61);\r\n }\r\n parser.assignable =\r\n destructible & 16 ? 2 : 1;\r\n init = parseMemberOrUpdateExpression(parser, context | 134217728, init, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n init = parseLeftHandSideExpression(parser, context | 134217728, 1, 0, 1, tokenPos, linePos, colPos);\r\n }\r\n if ((parser.token & 262144) === 262144) {\r\n if (parser.token === 274549) {\r\n if (parser.assignable & 2)\r\n report(parser, 78, forAwait ? 'await' : 'of');\r\n reinterpretToPattern(parser, init);\r\n nextToken(parser, context | 32768);\r\n right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ForOfStatement',\r\n left: init,\r\n right,\r\n body,\r\n await: forAwait\r\n });\r\n }\r\n if (parser.assignable & 2)\r\n report(parser, 78, 'in');\r\n reinterpretToPattern(parser, init);\r\n nextToken(parser, context | 32768);\r\n if (forAwait)\r\n report(parser, 80);\r\n right = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ForInStatement',\r\n body,\r\n left: init,\r\n right\r\n });\r\n }\r\n if (forAwait)\r\n report(parser, 80);\r\n if (!isVarDecl) {\r\n if (destructible & 8 && parser.token !== 1077936157) {\r\n report(parser, 78, 'loop');\r\n }\r\n init = parseAssignmentExpression(parser, context | 134217728, 0, 0, tokenPos, linePos, colPos, init);\r\n }\r\n if (parser.token === 18)\r\n init = parseSequenceExpression(parser, context, 0, parser.tokenPos, parser.linePos, parser.colPos, init);\r\n consume(parser, context | 32768, 1074790417);\r\n if (parser.token !== 1074790417)\r\n test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 1074790417);\r\n if (parser.token !== 16)\r\n update = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ForStatement',\r\n init,\r\n test,\r\n update,\r\n body\r\n });\r\n}\r\nfunction parseRestrictedIdentifier(parser, context, scope) {\r\n if (!isValidIdentifier(context, parser.token))\r\n report(parser, 115);\r\n if ((parser.token & 537079808) === 537079808)\r\n report(parser, 116);\r\n if (scope)\r\n addBlockName(parser, context, scope, parser.tokenValue, 8, 0);\r\n return parseIdentifier(parser, context);\r\n}\r\nfunction parseImportDeclaration(parser, context, scope) {\r\n const start = parser.tokenPos;\r\n const line = parser.linePos;\r\n const column = parser.colPos;\r\n nextToken(parser, context);\r\n let source = null;\r\n const { tokenPos, linePos, colPos } = parser;\r\n let specifiers = [];\r\n if (parser.token === 134283267) {\r\n source = parseLiteral(parser, context);\r\n }\r\n else {\r\n if (parser.token & 143360) {\r\n const local = parseRestrictedIdentifier(parser, context, scope);\r\n specifiers = [\r\n finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ImportDefaultSpecifier',\r\n local\r\n })\r\n ];\r\n if (consumeOpt(parser, context, 18)) {\r\n switch (parser.token) {\r\n case 8457014:\r\n specifiers.push(parseImportNamespaceSpecifier(parser, context, scope));\r\n break;\r\n case 2162700:\r\n parseImportSpecifierOrNamedImports(parser, context, scope, specifiers);\r\n break;\r\n default:\r\n report(parser, 105);\r\n }\r\n }\r\n }\r\n else {\r\n switch (parser.token) {\r\n case 8457014:\r\n specifiers = [parseImportNamespaceSpecifier(parser, context, scope)];\r\n break;\r\n case 2162700:\r\n parseImportSpecifierOrNamedImports(parser, context, scope, specifiers);\r\n break;\r\n case 67174411:\r\n return parseImportCallDeclaration(parser, context, start, line, column);\r\n case 67108877:\r\n return parseImportMetaDeclaration(parser, context, start, line, column);\r\n default:\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n }\r\n source = parseModuleSpecifier(parser, context);\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ImportDeclaration',\r\n specifiers,\r\n source\r\n });\r\n}\r\nfunction parseImportNamespaceSpecifier(parser, context, scope) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n nextToken(parser, context);\r\n consume(parser, context, 77934);\r\n if ((parser.token & 134217728) === 134217728) {\r\n reportMessageAt(tokenPos, parser.line, parser.index, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ImportNamespaceSpecifier',\r\n local: parseRestrictedIdentifier(parser, context, scope)\r\n });\r\n}\r\nfunction parseModuleSpecifier(parser, context) {\r\n if (!consumeOpt(parser, context, 12404)) {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n if (parser.token !== 134283267)\r\n report(parser, 103, 'Import');\r\n return parseLiteral(parser, context);\r\n}\r\nfunction parseImportSpecifierOrNamedImports(parser, context, scope, specifiers) {\r\n nextToken(parser, context);\r\n while (parser.token & 143360) {\r\n let { token, tokenValue, tokenPos, linePos, colPos } = parser;\r\n const imported = parseIdentifier(parser, context);\r\n let local;\r\n if (consumeOpt(parser, context, 77934)) {\r\n if ((parser.token & 134217728) === 134217728 || parser.token === 18) {\r\n report(parser, 104);\r\n }\r\n else {\r\n validateBindingIdentifier(parser, context, 16, parser.token, 0);\r\n }\r\n tokenValue = parser.tokenValue;\r\n local = parseIdentifier(parser, context);\r\n }\r\n else {\r\n validateBindingIdentifier(parser, context, 16, token, 0);\r\n local = imported;\r\n }\r\n if (scope)\r\n addBlockName(parser, context, scope, tokenValue, 8, 0);\r\n specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ImportSpecifier',\r\n local,\r\n imported\r\n }));\r\n if (parser.token !== 1074790415)\r\n consume(parser, context, 18);\r\n }\r\n consume(parser, context, 1074790415);\r\n return specifiers;\r\n}\r\nfunction parseImportMetaDeclaration(parser, context, start, line, column) {\r\n let expr = parseImportMetaExpression(parser, context, finishNode(parser, context, start, line, column, {\r\n type: 'Identifier',\r\n name: 'import'\r\n }), start, line, column);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr);\r\n if (parser.token === 18) {\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n }\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseImportCallDeclaration(parser, context, start, line, column) {\r\n let expr = parseImportExpression(parser, context, 0, start, line, column);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n if (parser.token === 18) {\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n }\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseExportDeclaration(parser, context, scope) {\r\n const start = parser.tokenPos;\r\n const line = parser.linePos;\r\n const column = parser.colPos;\r\n nextToken(parser, context | 32768);\r\n const specifiers = [];\r\n let declaration = null;\r\n let source = null;\r\n let key;\r\n if (consumeOpt(parser, context | 32768, 20563)) {\r\n switch (parser.token) {\r\n case 86106: {\r\n declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n }\r\n case 133:\r\n case 86096:\r\n declaration = parseClassDeclaration(parser, context, scope, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 209007:\r\n const { tokenPos, linePos, colPos } = parser;\r\n declaration = parseIdentifier(parser, context);\r\n const { flags } = parser;\r\n if ((flags & 1) === 0) {\r\n if (parser.token === 86106) {\r\n declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos);\r\n }\r\n else {\r\n if (parser.token === 67174411) {\r\n declaration = parseAsyncArrowOrCallExpression(parser, context, declaration, 1, 1, 0, flags, tokenPos, linePos, colPos);\r\n declaration = parseMemberOrUpdateExpression(parser, context, declaration, 0, 0, tokenPos, linePos, colPos);\r\n declaration = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, declaration);\r\n }\r\n else if (parser.token & 143360) {\r\n if (scope)\r\n scope = createArrowHeadParsingScope(parser, context, parser.tokenValue);\r\n declaration = parseIdentifier(parser, context);\r\n declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos);\r\n }\r\n }\r\n }\r\n break;\r\n default:\r\n declaration = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n }\r\n if (scope)\r\n declareUnboundVariable(parser, 'default');\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ExportDefaultDeclaration',\r\n declaration\r\n });\r\n }\r\n switch (parser.token) {\r\n case 8457014: {\r\n nextToken(parser, context);\r\n let exported = null;\r\n const isNamedDeclaration = consumeOpt(parser, context, 77934);\r\n if (isNamedDeclaration) {\r\n if (scope)\r\n declareUnboundVariable(parser, parser.tokenValue);\r\n exported = parseIdentifier(parser, context);\r\n }\r\n consume(parser, context, 12404);\r\n if (parser.token !== 134283267)\r\n report(parser, 103, 'Export');\r\n source = parseLiteral(parser, context);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ExportAllDeclaration',\r\n source,\r\n exported\r\n });\r\n }\r\n case 2162700: {\r\n nextToken(parser, context);\r\n const tmpExportedNames = [];\r\n const tmpExportedBindings = [];\r\n while (parser.token & 143360) {\r\n const { tokenPos, tokenValue, linePos, colPos } = parser;\r\n const local = parseIdentifier(parser, context);\r\n let exported;\r\n if (parser.token === 77934) {\r\n nextToken(parser, context);\r\n if ((parser.token & 134217728) === 134217728) {\r\n report(parser, 104);\r\n }\r\n if (scope) {\r\n tmpExportedNames.push(parser.tokenValue);\r\n tmpExportedBindings.push(tokenValue);\r\n }\r\n exported = parseIdentifier(parser, context);\r\n }\r\n else {\r\n if (scope) {\r\n tmpExportedNames.push(parser.tokenValue);\r\n tmpExportedBindings.push(parser.tokenValue);\r\n }\r\n exported = local;\r\n }\r\n specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ExportSpecifier',\r\n local,\r\n exported\r\n }));\r\n if (parser.token !== 1074790415)\r\n consume(parser, context, 18);\r\n }\r\n consume(parser, context, 1074790415);\r\n if (consumeOpt(parser, context, 12404)) {\r\n if (parser.token !== 134283267)\r\n report(parser, 103, 'Export');\r\n source = parseLiteral(parser, context);\r\n }\r\n else if (scope) {\r\n let i = 0;\r\n let iMax = tmpExportedNames.length;\r\n for (; i < iMax; i++) {\r\n declareUnboundVariable(parser, tmpExportedNames[i]);\r\n }\r\n i = 0;\r\n iMax = tmpExportedBindings.length;\r\n for (; i < iMax; i++) {\r\n addBindingToExports(parser, tmpExportedBindings[i]);\r\n }\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n break;\r\n }\r\n case 86096:\r\n declaration = parseClassDeclaration(parser, context, scope, 2, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 86106:\r\n declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 241739:\r\n declaration = parseLexicalDeclaration(parser, context, scope, 8, 64, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 86092:\r\n declaration = parseLexicalDeclaration(parser, context, scope, 16, 64, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 86090:\r\n declaration = parseVariableStatement(parser, context, scope, 64, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 209007:\r\n const { tokenPos, linePos, colPos } = parser;\r\n nextToken(parser, context);\r\n if ((parser.flags & 1) === 0 && parser.token === 86106) {\r\n declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos);\r\n if (scope) {\r\n key = declaration.id ? declaration.id.name : '';\r\n declareUnboundVariable(parser, key);\r\n }\r\n break;\r\n }\r\n default:\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ExportNamedDeclaration',\r\n declaration,\r\n specifiers,\r\n source\r\n });\r\n}\r\nfunction parseExpression(parser, context, canAssign, inGroup, start, line, column) {\r\n let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, 1, start, line, column);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);\r\n return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr);\r\n}\r\nfunction parseSequenceExpression(parser, context, inGroup, start, line, column, expr) {\r\n const expressions = [expr];\r\n while (consumeOpt(parser, context | 32768, 18)) {\r\n expressions.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'SequenceExpression',\r\n expressions\r\n });\r\n}\r\nfunction parseExpressions(parser, context, inGroup, canAssign, start, line, column) {\r\n const expr = parseExpression(parser, context, canAssign, inGroup, start, line, column);\r\n return parser.token === 18\r\n ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr)\r\n : expr;\r\n}\r\nfunction parseAssignmentExpression(parser, context, inGroup, isPattern, start, line, column, left) {\r\n const { token } = parser;\r\n if ((token & 4194304) === 4194304) {\r\n if (parser.assignable & 2)\r\n report(parser, 24);\r\n if ((!isPattern && token === 1077936157 && left.type === 'ArrayExpression') ||\r\n left.type === 'ObjectExpression') {\r\n reinterpretToPattern(parser, left);\r\n }\r\n nextToken(parser, context | 32768);\r\n const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n left,\r\n operator: KeywordDescTable[token & 255],\r\n right\r\n });\r\n }\r\n if ((token & 8454144) === 8454144) {\r\n left = parseBinaryExpression(parser, context, inGroup, start, line, column, 4, token, left);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n left = parseConditionalExpression(parser, context, left, start, line, column);\r\n }\r\n return left;\r\n}\r\nfunction parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) {\r\n const { token } = parser;\r\n nextToken(parser, context | 32768);\r\n const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n left = finishNode(parser, context, start, line, column, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n left,\r\n operator: KeywordDescTable[token & 255],\r\n right\r\n });\r\n parser.assignable = 2;\r\n return left;\r\n}\r\nfunction parseConditionalExpression(parser, context, test, start, line, column) {\r\n const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 21);\r\n parser.assignable = 1;\r\n const alternate = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ConditionalExpression',\r\n test,\r\n consequent,\r\n alternate\r\n });\r\n}\r\nfunction parseBinaryExpression(parser, context, inGroup, start, line, column, minPrec, operator, left) {\r\n const bit = -((context & 134217728) > 0) & 8738868;\r\n let t;\r\n let prec;\r\n parser.assignable = 2;\r\n while (parser.token & 8454144) {\r\n t = parser.token;\r\n prec = t & 3840;\r\n if ((t & 524288 && operator & 268435456) || (operator & 524288 && t & 268435456)) {\r\n report(parser, 160);\r\n }\r\n if (prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= minPrec)\r\n break;\r\n nextToken(parser, context | 32768);\r\n left = finishNode(parser, context, start, line, column, {\r\n type: t & 524288 || t & 268435456 ? 'LogicalExpression' : 'BinaryExpression',\r\n left,\r\n right: parseBinaryExpression(parser, context, inGroup, parser.tokenPos, parser.linePos, parser.colPos, prec, t, parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos)),\r\n operator: KeywordDescTable[t & 255]\r\n });\r\n }\r\n if (parser.token === 1077936157)\r\n report(parser, 24);\r\n return left;\r\n}\r\nfunction parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup) {\r\n if (!isLHS)\r\n report(parser, 0);\r\n const unaryOperator = parser.token;\r\n nextToken(parser, context | 32768);\r\n const arg = parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (parser.token === 8457273)\r\n report(parser, 31);\r\n if (context & 1024 && unaryOperator === 16863278) {\r\n if (arg.type === 'Identifier') {\r\n report(parser, 118);\r\n }\r\n else if (isPropertyWithPrivateFieldKey(arg)) {\r\n report(parser, 124);\r\n }\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'UnaryExpression',\r\n operator: KeywordDescTable[unaryOperator & 255],\r\n argument: arg,\r\n prefix: true\r\n });\r\n}\r\nfunction parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column) {\r\n const { token } = parser;\r\n const expr = parseIdentifier(parser, context);\r\n const { flags } = parser;\r\n if ((flags & 1) === 0) {\r\n if (parser.token === 86106) {\r\n return parseFunctionExpression(parser, context, 1, inGroup, start, line, column);\r\n }\r\n if ((parser.token & 143360) === 143360) {\r\n if (!isLHS)\r\n report(parser, 0);\r\n return parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column);\r\n }\r\n }\r\n if (!inNew && parser.token === 67174411) {\r\n return parseAsyncArrowOrCallExpression(parser, context, expr, canAssign, 1, 0, flags, start, line, column);\r\n }\r\n if (parser.token === 10) {\r\n classifyIdentifier(parser, context, token);\r\n if (inNew)\r\n report(parser, 49);\r\n return parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, inNew, canAssign, 0, start, line, column);\r\n }\r\n parser.assignable = 1;\r\n return expr;\r\n}\r\nfunction parseYieldExpression(parser, context, inGroup, canAssign, start, line, column) {\r\n if (inGroup)\r\n parser.destructible |= 256;\r\n if (context & 2097152) {\r\n nextToken(parser, context | 32768);\r\n if (context & 8388608)\r\n report(parser, 30);\r\n if (!canAssign)\r\n report(parser, 24);\r\n if (parser.token === 22)\r\n report(parser, 121);\r\n let argument = null;\r\n let delegate = false;\r\n if ((parser.flags & 1) === 0) {\r\n delegate = consumeOpt(parser, context | 32768, 8457014);\r\n if (parser.token & (12288 | 65536) || delegate) {\r\n argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'YieldExpression',\r\n argument,\r\n delegate\r\n });\r\n }\r\n if (context & 1024)\r\n report(parser, 95, 'yield');\r\n return parseIdentifierOrArrow(parser, context, start, line, column);\r\n}\r\nfunction parseAwaitExpression(parser, context, inNew, inGroup, start, line, column) {\r\n if (inGroup)\r\n parser.destructible |= 128;\r\n if (context & 4194304 || (context & 2048 && context & 8192)) {\r\n if (inNew)\r\n report(parser, 0);\r\n if (context & 8388608) {\r\n reportMessageAt(parser.index, parser.line, parser.index, 29);\r\n }\r\n nextToken(parser, context | 32768);\r\n const argument = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (parser.token === 8457273)\r\n report(parser, 31);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'AwaitExpression',\r\n argument\r\n });\r\n }\r\n if (context & 2048)\r\n report(parser, 96);\r\n return parseIdentifierOrArrow(parser, context, start, line, column);\r\n}\r\nfunction parseFunctionBody(parser, context, scope, origin, firstRestricted, scopeError) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n consume(parser, context | 32768, 2162700);\r\n const body = [];\r\n const prevContext = context;\r\n if (parser.token !== 1074790415) {\r\n while (parser.token === 134283267) {\r\n const { index, tokenPos, tokenValue, token } = parser;\r\n const expr = parseLiteral(parser, context);\r\n if (isValidStrictMode(parser, index, tokenPos, tokenValue)) {\r\n context |= 1024;\r\n if (parser.flags & 128) {\r\n reportMessageAt(parser.index, parser.line, parser.tokenPos, 64);\r\n }\r\n if (parser.flags & 64) {\r\n reportMessageAt(parser.index, parser.line, parser.tokenPos, 8);\r\n }\r\n }\r\n body.push(parseDirective(parser, context, expr, token, tokenPos, parser.linePos, parser.colPos));\r\n }\r\n if (context & 1024) {\r\n if (firstRestricted) {\r\n if ((firstRestricted & 537079808) === 537079808) {\r\n report(parser, 116);\r\n }\r\n if ((firstRestricted & 36864) === 36864) {\r\n report(parser, 38);\r\n }\r\n }\r\n if (parser.flags & 512)\r\n report(parser, 116);\r\n if (parser.flags & 256)\r\n report(parser, 115);\r\n }\r\n if (context & 64 &&\r\n scope &&\r\n scopeError !== void 0 &&\r\n (prevContext & 1024) === 0 &&\r\n (context & 8192) === 0) {\r\n reportScopeError(scopeError);\r\n }\r\n }\r\n parser.flags =\r\n (parser.flags | 512 | 256 | 64) ^\r\n (512 | 256 | 64);\r\n parser.destructible = (parser.destructible | 256) ^ 256;\r\n while (parser.token !== 1074790415) {\r\n body.push(parseStatementListItem(parser, context, scope, 4, {}));\r\n }\r\n consume(parser, origin & (16 | 8) ? context | 32768 : context, 1074790415);\r\n parser.flags &= ~(128 | 64);\r\n if (parser.token === 1077936157)\r\n report(parser, 24);\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'BlockStatement',\r\n body\r\n });\r\n}\r\nfunction parseSuperExpression(parser, context, start, line, column) {\r\n nextToken(parser, context);\r\n switch (parser.token) {\r\n case 67108991:\r\n report(parser, 162);\r\n case 67174411: {\r\n if ((context & 524288) === 0)\r\n report(parser, 26);\r\n if (context & 16384 && !(context & 33554432)) {\r\n report(parser, 27);\r\n }\r\n parser.assignable = 2;\r\n break;\r\n }\r\n case 69271571:\r\n case 67108877: {\r\n if ((context & 262144) === 0)\r\n report(parser, 27);\r\n if (context & 16384 && !(context & 33554432)) {\r\n report(parser, 27);\r\n }\r\n parser.assignable = 1;\r\n break;\r\n }\r\n default:\r\n report(parser, 28, 'super');\r\n }\r\n return finishNode(parser, context, start, line, column, { type: 'Super' });\r\n}\r\nfunction parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) {\r\n const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, isLHS, start, line, column);\r\n return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column);\r\n}\r\nfunction parseUpdateExpression(parser, context, expr, start, line, column) {\r\n if (parser.assignable & 2)\r\n report(parser, 53);\r\n const { token } = parser;\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'UpdateExpression',\r\n argument: expr,\r\n operator: KeywordDescTable[token & 255],\r\n prefix: false\r\n });\r\n}\r\nfunction parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) {\r\n if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) === 0) {\r\n expr = parseUpdateExpression(parser, context, expr, start, line, column);\r\n }\r\n else if ((parser.token & 67108864) === 67108864) {\r\n context = (context | 134217728) ^ 134217728;\r\n switch (parser.token) {\r\n case 67108877: {\r\n nextToken(parser, (context | 268435456 | 8192) ^ 8192);\r\n if (context & 16384 && parser.token === 131 && parser.tokenValue === 'super') {\r\n report(parser, 27);\r\n }\r\n parser.assignable = 1;\r\n const property = parsePropertyOrPrivatePropertyName(parser, context | 65536);\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: false,\r\n property\r\n });\r\n break;\r\n }\r\n case 69271571: {\r\n let restoreHasOptionalChaining = false;\r\n if ((parser.flags & 2048) === 2048) {\r\n restoreHasOptionalChaining = true;\r\n parser.flags = (parser.flags | 2048) ^ 2048;\r\n }\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos);\r\n consume(parser, context, 20);\r\n parser.assignable = 1;\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: true,\r\n property\r\n });\r\n if (restoreHasOptionalChaining) {\r\n parser.flags |= 2048;\r\n }\r\n break;\r\n }\r\n case 67174411: {\r\n if ((parser.flags & 1024) === 1024) {\r\n parser.flags = (parser.flags | 1024) ^ 1024;\r\n return expr;\r\n }\r\n let restoreHasOptionalChaining = false;\r\n if ((parser.flags & 2048) === 2048) {\r\n restoreHasOptionalChaining = true;\r\n parser.flags = (parser.flags | 2048) ^ 2048;\r\n }\r\n const args = parseArguments(parser, context, inGroup);\r\n parser.assignable = 2;\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee: expr,\r\n arguments: args\r\n });\r\n if (restoreHasOptionalChaining) {\r\n parser.flags |= 2048;\r\n }\r\n break;\r\n }\r\n case 67108991: {\r\n nextToken(parser, (context | 268435456 | 8192) ^ 8192);\r\n parser.flags |= 2048;\r\n parser.assignable = 2;\r\n expr = parseOptionalChain(parser, context, expr, start, line, column);\r\n break;\r\n }\r\n default:\r\n if ((parser.flags & 2048) === 2048) {\r\n report(parser, 161);\r\n }\r\n parser.assignable = 2;\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'TaggedTemplateExpression',\r\n tag: expr,\r\n quasi: parser.token === 67174408\r\n ? parseTemplate(parser, context | 65536)\r\n : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos)\r\n });\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 1, start, line, column);\r\n }\r\n if (inChain === 0 && (parser.flags & 2048) === 2048) {\r\n parser.flags = (parser.flags | 2048) ^ 2048;\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'ChainExpression',\r\n expression: expr\r\n });\r\n }\r\n return expr;\r\n}\r\nfunction parseOptionalChain(parser, context, expr, start, line, column) {\r\n let restoreHasOptionalChaining = false;\r\n let node;\r\n if (parser.token === 69271571 || parser.token === 67174411) {\r\n if ((parser.flags & 2048) === 2048) {\r\n restoreHasOptionalChaining = true;\r\n parser.flags = (parser.flags | 2048) ^ 2048;\r\n }\r\n }\r\n if (parser.token === 69271571) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const property = parseExpressions(parser, context, 0, 1, tokenPos, linePos, colPos);\r\n consume(parser, context, 20);\r\n parser.assignable = 2;\r\n node = finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: true,\r\n optional: true,\r\n property\r\n });\r\n }\r\n else if (parser.token === 67174411) {\r\n const args = parseArguments(parser, context, 0);\r\n parser.assignable = 2;\r\n node = finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee: expr,\r\n arguments: args,\r\n optional: true\r\n });\r\n }\r\n else {\r\n if ((parser.token & (143360 | 4096)) === 0)\r\n report(parser, 155);\r\n const property = parseIdentifier(parser, context);\r\n parser.assignable = 2;\r\n node = finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: false,\r\n optional: true,\r\n property\r\n });\r\n }\r\n if (restoreHasOptionalChaining) {\r\n parser.flags |= 2048;\r\n }\r\n return node;\r\n}\r\nfunction parsePropertyOrPrivatePropertyName(parser, context) {\r\n if ((parser.token & (143360 | 4096)) === 0 && parser.token !== 131) {\r\n report(parser, 155);\r\n }\r\n return context & 1 && parser.token === 131\r\n ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos)\r\n : parseIdentifier(parser, context);\r\n}\r\nfunction parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) {\r\n if (inNew)\r\n report(parser, 54);\r\n if (!isLHS)\r\n report(parser, 0);\r\n const { token } = parser;\r\n nextToken(parser, context | 32768);\r\n const arg = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (parser.assignable & 2) {\r\n report(parser, 53);\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'UpdateExpression',\r\n argument: arg,\r\n operator: KeywordDescTable[token & 255],\r\n prefix: true\r\n });\r\n}\r\nfunction parsePrimaryExpression(parser, context, kind, inNew, canAssign, inGroup, isLHS, start, line, column) {\r\n if ((parser.token & 143360) === 143360) {\r\n switch (parser.token) {\r\n case 209008:\r\n return parseAwaitExpression(parser, context, inNew, inGroup, start, line, column);\r\n case 241773:\r\n return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column);\r\n case 209007:\r\n return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column);\r\n }\r\n const { token, tokenValue } = parser;\r\n const expr = parseIdentifier(parser, context | 65536);\r\n if (parser.token === 10) {\r\n if (!isLHS)\r\n report(parser, 0);\r\n classifyIdentifier(parser, context, token);\r\n return parseArrowFromIdentifier(parser, context, tokenValue, expr, inNew, canAssign, 0, start, line, column);\r\n }\r\n if (context & 16384 && token === 537079928)\r\n report(parser, 127);\r\n if (token === 241739) {\r\n if (context & 1024)\r\n report(parser, 110);\r\n if (kind & (8 | 16))\r\n report(parser, 98);\r\n }\r\n parser.assignable =\r\n context & 1024 && (token & 537079808) === 537079808\r\n ? 2\r\n : 1;\r\n return expr;\r\n }\r\n if ((parser.token & 134217728) === 134217728) {\r\n return parseLiteral(parser, context);\r\n }\r\n switch (parser.token) {\r\n case 33619995:\r\n case 33619996:\r\n return parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column);\r\n case 16863278:\r\n case 16842800:\r\n case 16842801:\r\n case 25233970:\r\n case 25233971:\r\n case 16863277:\r\n case 16863279:\r\n return parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup);\r\n case 86106:\r\n return parseFunctionExpression(parser, context, 0, inGroup, start, line, column);\r\n case 2162700:\r\n return parseObjectLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column);\r\n case 69271571:\r\n return parseArrayLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column);\r\n case 67174411:\r\n return parseParenthesizedExpression(parser, context | 65536, canAssign, 1, 0, start, line, column);\r\n case 86021:\r\n case 86022:\r\n case 86023:\r\n return parseNullOrTrueOrFalseLiteral(parser, context, start, line, column);\r\n case 86113:\r\n return parseThisExpression(parser, context);\r\n case 65540:\r\n return parseRegExpLiteral(parser, context, start, line, column);\r\n case 133:\r\n case 86096:\r\n return parseClassExpression(parser, context, inGroup, start, line, column);\r\n case 86111:\r\n return parseSuperExpression(parser, context, start, line, column);\r\n case 67174409:\r\n return parseTemplateLiteral(parser, context, start, line, column);\r\n case 67174408:\r\n return parseTemplate(parser, context);\r\n case 86109:\r\n return parseNewExpression(parser, context, inGroup, start, line, column);\r\n case 134283389:\r\n return parseBigIntLiteral(parser, context, start, line, column);\r\n case 131:\r\n return parsePrivateIdentifier(parser, context, start, line, column);\r\n case 86108:\r\n return parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column);\r\n case 8456258:\r\n if (context & 16)\r\n return parseJSXRootElementOrFragment(parser, context, 1, start, line, column);\r\n default:\r\n if (isValidIdentifier(context, parser.token))\r\n return parseIdentifierOrArrow(parser, context, start, line, column);\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n}\r\nfunction parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) {\r\n let expr = parseIdentifier(parser, context);\r\n if (parser.token === 67108877) {\r\n return parseImportMetaExpression(parser, context, expr, start, line, column);\r\n }\r\n if (inNew)\r\n report(parser, 138);\r\n expr = parseImportExpression(parser, context, inGroup, start, line, column);\r\n parser.assignable = 2;\r\n return parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);\r\n}\r\nfunction parseImportMetaExpression(parser, context, meta, start, line, column) {\r\n if ((context & 2048) === 0)\r\n report(parser, 164);\r\n nextToken(parser, context);\r\n if (parser.token !== 143495 && parser.tokenValue !== 'meta')\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'MetaProperty',\r\n meta,\r\n property: parseIdentifier(parser, context)\r\n });\r\n}\r\nfunction parseImportExpression(parser, context, inGroup, start, line, column) {\r\n consume(parser, context | 32768, 67174411);\r\n if (parser.token === 14)\r\n report(parser, 139);\r\n const source = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 16);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ImportExpression',\r\n source\r\n });\r\n}\r\nfunction parseBigIntLiteral(parser, context, start, line, column) {\r\n const { tokenRaw, tokenValue } = parser;\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, context & 512\r\n ? {\r\n type: 'Literal',\r\n value: tokenValue,\r\n bigint: tokenRaw.slice(0, -1),\r\n raw: tokenRaw\r\n }\r\n : {\r\n type: 'Literal',\r\n value: tokenValue,\r\n bigint: tokenRaw.slice(0, -1)\r\n });\r\n}\r\nfunction parseTemplateLiteral(parser, context, start, line, column) {\r\n parser.assignable = 2;\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n consume(parser, context, 67174409);\r\n const quasis = [parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)];\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'TemplateLiteral',\r\n expressions: [],\r\n quasis\r\n });\r\n}\r\nfunction parseTemplate(parser, context) {\r\n context = (context | 134217728) ^ 134217728;\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n consume(parser, context | 32768, 67174408);\r\n const quasis = [\r\n parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false)\r\n ];\r\n const expressions = [parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)];\r\n if (parser.token !== 1074790415)\r\n report(parser, 81);\r\n while ((parser.token = scanTemplateTail(parser, context)) !== 67174409) {\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n consume(parser, context | 32768, 67174408);\r\n quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false));\r\n expressions.push(parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos));\r\n if (parser.token !== 1074790415)\r\n report(parser, 81);\r\n }\r\n {\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n consume(parser, context, 67174409);\r\n quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true));\r\n }\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'TemplateLiteral',\r\n expressions,\r\n quasis\r\n });\r\n}\r\nfunction parseTemplateElement(parser, context, cooked, raw, start, line, col, tail) {\r\n const node = finishNode(parser, context, start, line, col, {\r\n type: 'TemplateElement',\r\n value: {\r\n cooked,\r\n raw\r\n },\r\n tail\r\n });\r\n const tailSize = tail ? 1 : 2;\r\n if (context & 2) {\r\n node.start += 1;\r\n node.range[0] += 1;\r\n node.end -= tailSize;\r\n node.range[1] -= tailSize;\r\n }\r\n if (context & 4) {\r\n node.loc.start.column += 1;\r\n node.loc.end.column -= tailSize;\r\n }\r\n return node;\r\n}\r\nfunction parseSpreadElement(parser, context, start, line, column) {\r\n context = (context | 134217728) ^ 134217728;\r\n consume(parser, context | 32768, 14);\r\n const argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n parser.assignable = 1;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'SpreadElement',\r\n argument\r\n });\r\n}\r\nfunction parseArguments(parser, context, inGroup) {\r\n nextToken(parser, context | 32768);\r\n const args = [];\r\n if (parser.token === 16) {\r\n nextToken(parser, context | 65536);\r\n return args;\r\n }\r\n while (parser.token !== 16) {\r\n if (parser.token === 14) {\r\n args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n else {\r\n args.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n if (parser.token !== 18)\r\n break;\r\n nextToken(parser, context | 32768);\r\n if (parser.token === 16)\r\n break;\r\n }\r\n consume(parser, context, 16);\r\n return args;\r\n}\r\nfunction parseIdentifier(parser, context) {\r\n const { tokenValue, tokenPos, linePos, colPos } = parser;\r\n nextToken(parser, context);\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'Identifier',\r\n name: tokenValue\r\n });\r\n}\r\nfunction parseLiteral(parser, context) {\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n if (parser.token === 134283389) {\r\n return parseBigIntLiteral(parser, context, tokenPos, linePos, colPos);\r\n }\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, tokenPos, linePos, colPos, context & 512\r\n ? {\r\n type: 'Literal',\r\n value: tokenValue,\r\n raw: tokenRaw\r\n }\r\n : {\r\n type: 'Literal',\r\n value: tokenValue\r\n });\r\n}\r\nfunction parseNullOrTrueOrFalseLiteral(parser, context, start, line, column) {\r\n const raw = KeywordDescTable[parser.token & 255];\r\n const value = parser.token === 86023 ? null : raw === 'true';\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, context & 512\r\n ? {\r\n type: 'Literal',\r\n value,\r\n raw\r\n }\r\n : {\r\n type: 'Literal',\r\n value\r\n });\r\n}\r\nfunction parseThisExpression(parser, context) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ThisExpression'\r\n });\r\n}\r\nfunction parseFunctionDeclaration(parser, context, scope, origin, allowGen, flags, isAsync, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const isGenerator = allowGen ? optionalBit(parser, context, 8457014) : 0;\r\n let id = null;\r\n let firstRestricted;\r\n let functionScope = scope ? createScope() : void 0;\r\n if (parser.token === 67174411) {\r\n if ((flags & 1) === 0)\r\n report(parser, 37, 'Function');\r\n }\r\n else {\r\n const kind = origin & 4 && ((context & 8192) === 0 || (context & 2048) === 0)\r\n ? 4\r\n : 64;\r\n validateFunctionName(parser, context | ((context & 3072) << 11), parser.token);\r\n if (scope) {\r\n if (kind & 4) {\r\n addVarName(parser, context, scope, parser.tokenValue, kind);\r\n }\r\n else {\r\n addBlockName(parser, context, scope, parser.tokenValue, kind, origin);\r\n }\r\n functionScope = addChildScope(functionScope, 256);\r\n if (flags) {\r\n if (flags & 2) {\r\n declareUnboundVariable(parser, parser.tokenValue);\r\n }\r\n }\r\n }\r\n firstRestricted = parser.token;\r\n if (parser.token & 143360) {\r\n id = parseIdentifier(parser, context);\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n }\r\n context =\r\n ((context | 32243712) ^ 32243712) |\r\n 67108864 |\r\n ((isAsync * 2 + isGenerator) << 21) |\r\n (isGenerator ? 0 : 268435456);\r\n if (scope)\r\n functionScope = addChildScope(functionScope, 512);\r\n const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1);\r\n const body = parseFunctionBody(parser, (context | 8192 | 4096 | 131072) ^\r\n (8192 | 4096 | 131072), scope ? addChildScope(functionScope, 128) : functionScope, 8, firstRestricted, scope ? functionScope.scopeError : void 0);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'FunctionDeclaration',\r\n id,\r\n params,\r\n body,\r\n async: isAsync === 1,\r\n generator: isGenerator === 1\r\n });\r\n}\r\nfunction parseFunctionExpression(parser, context, isAsync, inGroup, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const isGenerator = optionalBit(parser, context, 8457014);\r\n const generatorAndAsyncFlags = (isAsync * 2 + isGenerator) << 21;\r\n let id = null;\r\n let firstRestricted;\r\n let scope = context & 64 ? createScope() : void 0;\r\n if ((parser.token & (143360 | 4096 | 36864)) > 0) {\r\n validateFunctionName(parser, ((context | 0x1ec0000) ^ 0x1ec0000) | generatorAndAsyncFlags, parser.token);\r\n if (scope)\r\n scope = addChildScope(scope, 256);\r\n firstRestricted = parser.token;\r\n id = parseIdentifier(parser, context);\r\n }\r\n context =\r\n ((context | 32243712) ^ 32243712) |\r\n 67108864 |\r\n generatorAndAsyncFlags |\r\n (isGenerator ? 0 : 268435456);\r\n if (scope)\r\n scope = addChildScope(scope, 512);\r\n const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1);\r\n const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192 | 4096 | 131072 | 16384), scope ? addChildScope(scope, 128) : scope, 0, firstRestricted, void 0);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'FunctionExpression',\r\n id,\r\n params,\r\n body,\r\n async: isAsync === 1,\r\n generator: isGenerator === 1\r\n });\r\n}\r\nfunction parseArrayLiteral(parser, context, skipInitializer, inGroup, start, line, column) {\r\n const expr = parseArrayExpressionOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column);\r\n if (context & 256 && parser.destructible & 64) {\r\n report(parser, 61);\r\n }\r\n if (parser.destructible & 8) {\r\n report(parser, 60);\r\n }\r\n return expr;\r\n}\r\nfunction parseArrayExpressionOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const elements = [];\r\n let destructible = 0;\r\n context = (context | 134217728) ^ 134217728;\r\n while (parser.token !== 20) {\r\n if (consumeOpt(parser, context | 32768, 18)) {\r\n elements.push(null);\r\n }\r\n else {\r\n let left;\r\n const { token, tokenPos, linePos, colPos, tokenValue } = parser;\r\n if (token & 143360) {\r\n left = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);\r\n if (parser.token === 1077936157) {\r\n if (parser.assignable & 2)\r\n report(parser, 24);\r\n nextToken(parser, context | 32768);\r\n if (scope)\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n operator: '=',\r\n left,\r\n right\r\n });\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n }\r\n else if (parser.token === 18 || parser.token === 20) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (scope) {\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n }\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n }\r\n else {\r\n destructible |=\r\n kind & 1\r\n ? 32\r\n : (kind & 2) === 0\r\n ? 16\r\n : 0;\r\n left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos);\r\n if (parser.token !== 18 && parser.token !== 20) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left);\r\n }\r\n else if (parser.token !== 1077936157) {\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else if (token & 2097152) {\r\n left =\r\n parser.token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n destructible |= parser.destructible;\r\n parser.assignable =\r\n parser.destructible & 16\r\n ? 2\r\n : 1;\r\n if (parser.token === 18 || parser.token === 20) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n }\r\n else if (parser.destructible & 8) {\r\n report(parser, 69);\r\n }\r\n else {\r\n left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 2 ? 16 : 0;\r\n if (parser.token !== 18 && parser.token !== 20) {\r\n left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left);\r\n }\r\n else if (parser.token !== 1077936157) {\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else if (token === 14) {\r\n left = parseSpreadOrRestElement(parser, context, scope, 20, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos);\r\n destructible |= parser.destructible;\r\n if (parser.token !== 18 && parser.token !== 20)\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n else {\r\n left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);\r\n if (parser.token !== 18 && parser.token !== 20) {\r\n left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left);\r\n if ((kind & (2 | 1)) === 0 && token === 67174411)\r\n destructible |= 16;\r\n }\r\n else if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (token === 67174411) {\r\n destructible |=\r\n parser.assignable & 1 && kind & (2 | 1)\r\n ? 32\r\n : 16;\r\n }\r\n }\r\n elements.push(left);\r\n if (consumeOpt(parser, context | 32768, 18)) {\r\n if (parser.token === 20)\r\n break;\r\n }\r\n else\r\n break;\r\n }\r\n }\r\n consume(parser, context, 20);\r\n const node = finishNode(parser, context, start, line, column, {\r\n type: isPattern ? 'ArrayPattern' : 'ArrayExpression',\r\n elements\r\n });\r\n if (!skipInitializer && parser.token & 4194304) {\r\n return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node);\r\n }\r\n parser.destructible = destructible;\r\n return node;\r\n}\r\nfunction parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node) {\r\n if (parser.token !== 1077936157)\r\n report(parser, 24);\r\n nextToken(parser, context | 32768);\r\n if (destructible & 16)\r\n report(parser, 24);\r\n if (!isPattern)\r\n reinterpretToPattern(parser, node);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const right = parseExpression(parser, context, 1, inGroup, tokenPos, linePos, colPos);\r\n parser.destructible =\r\n ((destructible | 64 | 8) ^\r\n (8 | 64)) |\r\n (parser.destructible & 128 ? 128 : 0) |\r\n (parser.destructible & 256 ? 256 : 0);\r\n return finishNode(parser, context, start, line, column, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left: node,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n left: node,\r\n operator: '=',\r\n right\r\n });\r\n}\r\nfunction parseSpreadOrRestElement(parser, context, scope, closingToken, kind, origin, isAsync, inGroup, isPattern, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n let argument = null;\r\n let destructible = 0;\r\n let { token, tokenValue, tokenPos, linePos, colPos } = parser;\r\n if (token & (4096 | 143360)) {\r\n parser.assignable = 1;\r\n argument = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);\r\n token = parser.token;\r\n argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);\r\n if (parser.token !== 18 && parser.token !== closingToken) {\r\n if (parser.assignable & 2 && parser.token === 1077936157)\r\n report(parser, 69);\r\n destructible |= 16;\r\n argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument);\r\n }\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (token === closingToken || token === 18) {\r\n if (scope)\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n }\r\n else {\r\n destructible |= 32;\r\n }\r\n destructible |= parser.destructible & 128 ? 128 : 0;\r\n }\r\n else if (token === closingToken) {\r\n report(parser, 39);\r\n }\r\n else if (token & 2097152) {\r\n argument =\r\n parser.token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n token = parser.token;\r\n if (token !== 1077936157 && token !== closingToken && token !== 18) {\r\n if (parser.destructible & 8)\r\n report(parser, 69);\r\n argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible |= parser.assignable & 2 ? 16 : 0;\r\n if ((parser.token & 4194304) === 4194304) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument);\r\n }\r\n else {\r\n if ((parser.token & 8454144) === 8454144) {\r\n argument = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, argument);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n argument = parseConditionalExpression(parser, context, argument, tokenPos, linePos, colPos);\r\n }\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n else {\r\n destructible |=\r\n closingToken === 1074790415 && token !== 1077936157\r\n ? 16\r\n : parser.destructible;\r\n }\r\n }\r\n else {\r\n destructible |= 32;\r\n argument = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (token === 1077936157 && token !== closingToken && token !== 18) {\r\n if (parser.assignable & 2)\r\n report(parser, 24);\r\n argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument);\r\n destructible |= 16;\r\n }\r\n else {\r\n if (token === 18) {\r\n destructible |= 16;\r\n }\r\n else if (token !== closingToken) {\r\n argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument);\r\n }\r\n destructible |=\r\n parser.assignable & 1 ? 32 : 16;\r\n }\r\n parser.destructible = destructible;\r\n if (parser.token !== closingToken && parser.token !== 18)\r\n report(parser, 156);\r\n return finishNode(parser, context, start, line, column, {\r\n type: isPattern ? 'RestElement' : 'SpreadElement',\r\n argument: argument\r\n });\r\n }\r\n if (parser.token !== closingToken) {\r\n if (kind & 1)\r\n destructible |= isAsync ? 16 : 32;\r\n if (consumeOpt(parser, context | 32768, 1077936157)) {\r\n if (destructible & 16)\r\n report(parser, 24);\r\n reinterpretToPattern(parser, argument);\r\n const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left: argument,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n left: argument,\r\n operator: '=',\r\n right\r\n });\r\n destructible = 16;\r\n }\r\n else {\r\n destructible |= 16;\r\n }\r\n }\r\n parser.destructible = destructible;\r\n return finishNode(parser, context, start, line, column, {\r\n type: isPattern ? 'RestElement' : 'SpreadElement',\r\n argument: argument\r\n });\r\n}\r\nfunction parseMethodDefinition(parser, context, kind, inGroup, start, line, column) {\r\n const modifierFlags = (kind & 64) === 0 ? 31981568 : 14680064;\r\n context =\r\n ((context | modifierFlags) ^ modifierFlags) |\r\n ((kind & 88) << 18) |\r\n 100925440;\r\n let scope = context & 64 ? addChildScope(createScope(), 512) : void 0;\r\n const params = parseMethodFormals(parser, context | 8388608, scope, kind, 1, inGroup);\r\n if (scope)\r\n scope = addChildScope(scope, 128);\r\n const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192), scope, 0, void 0, void 0);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'FunctionExpression',\r\n params,\r\n body,\r\n async: (kind & 16) > 0,\r\n generator: (kind & 8) > 0,\r\n id: null\r\n });\r\n}\r\nfunction parseObjectLiteral(parser, context, skipInitializer, inGroup, start, line, column) {\r\n const expr = parseObjectLiteralOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column);\r\n if (context & 256 && parser.destructible & 64) {\r\n report(parser, 61);\r\n }\r\n if (parser.destructible & 8) {\r\n report(parser, 60);\r\n }\r\n return expr;\r\n}\r\nfunction parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) {\r\n nextToken(parser, context);\r\n const properties = [];\r\n let destructible = 0;\r\n let prototypeCount = 0;\r\n context = (context | 134217728) ^ 134217728;\r\n while (parser.token !== 1074790415) {\r\n const { token, tokenValue, linePos, colPos, tokenPos } = parser;\r\n if (token === 14) {\r\n properties.push(parseSpreadOrRestElement(parser, context, scope, 1074790415, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos));\r\n }\r\n else {\r\n let state = 0;\r\n let key = null;\r\n let value;\r\n const t = parser.token;\r\n if (parser.token & (143360 | 4096) || parser.token === 121) {\r\n key = parseIdentifier(parser, context);\r\n if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) {\r\n state |= 4;\r\n if (context & 1024 && (token & 537079808) === 537079808) {\r\n destructible |= 16;\r\n }\r\n else {\r\n validateBindingIdentifier(parser, context, kind, token, 0);\r\n }\r\n if (scope)\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n if (consumeOpt(parser, context | 32768, 1077936157)) {\r\n destructible |= 8;\r\n const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n value = finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'AssignmentPattern',\r\n left: context & 536870912 ? Object.assign({}, key) : key,\r\n right\r\n });\r\n }\r\n else {\r\n destructible |=\r\n (token === 209008 ? 128 : 0) |\r\n (token === 121 ? 16 : 0);\r\n value = context & 536870912 ? Object.assign({}, key) : key;\r\n }\r\n }\r\n else if (consumeOpt(parser, context | 32768, 21)) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (tokenValue === '__proto__')\r\n prototypeCount++;\r\n if (parser.token & 143360) {\r\n const tokenAfterColon = parser.token;\r\n const valueAfterColon = parser.tokenValue;\r\n destructible |= t === 121 ? 16 : 0;\r\n value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);\r\n const { token } = parser;\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (token === 1077936157 || token === 1074790415 || token === 18) {\r\n destructible |= parser.destructible & 128 ? 128 : 0;\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (scope && (tokenAfterColon & 143360) === 143360) {\r\n addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin);\r\n }\r\n }\r\n else {\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n }\r\n }\r\n else if ((parser.token & 4194304) === 4194304) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (token !== 1077936157) {\r\n destructible |= 32;\r\n }\r\n else if (scope) {\r\n addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin);\r\n }\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n destructible |= 16;\r\n if ((parser.token & 8454144) === 8454144) {\r\n value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos);\r\n }\r\n }\r\n }\r\n else if ((parser.token & 2097152) === 2097152) {\r\n value =\r\n parser.token === 69271571\r\n ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n destructible = parser.destructible;\r\n parser.assignable =\r\n destructible & 16 ? 2 : 1;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n }\r\n else if (parser.destructible & 8) {\r\n report(parser, 69);\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 2 ? 16 : 0;\r\n if ((parser.token & 4194304) === 4194304) {\r\n value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n if ((parser.token & 8454144) === 8454144) {\r\n value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos);\r\n }\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else {\r\n value = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, tokenPos, linePos, colPos);\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 2 ? 16 : 0;\r\n if (parser.token !== 18 && token !== 1074790415) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n }\r\n }\r\n else if (parser.token === 69271571) {\r\n destructible |= 16;\r\n if (token === 209007)\r\n state |= 16;\r\n state |=\r\n (token === 12402\r\n ? 256\r\n : token === 12403\r\n ? 512\r\n : 1) | 2;\r\n key = parseComputedPropertyName(parser, context, inGroup);\r\n destructible |= parser.assignable;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else if (parser.token & (143360 | 4096)) {\r\n destructible |= 16;\r\n if (token === 121)\r\n report(parser, 93);\r\n if (token === 209007) {\r\n if (parser.flags & 1)\r\n report(parser, 129);\r\n state |= 16;\r\n }\r\n key = parseIdentifier(parser, context);\r\n state |=\r\n token === 12402\r\n ? 256\r\n : token === 12403\r\n ? 512\r\n : 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else if (parser.token === 67174411) {\r\n destructible |= 16;\r\n state |= 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else if (parser.token === 8457014) {\r\n destructible |= 16;\r\n if (token === 12402) {\r\n report(parser, 40);\r\n }\r\n else if (token === 12403) {\r\n report(parser, 41);\r\n }\r\n else if (token === 143483) {\r\n report(parser, 93);\r\n }\r\n nextToken(parser, context);\r\n state |=\r\n 8 | 1 | (token === 209007 ? 16 : 0);\r\n if (parser.token & 143360) {\r\n key = parseIdentifier(parser, context);\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n key = parseLiteral(parser, context);\r\n }\r\n else if (parser.token === 69271571) {\r\n state |= 2;\r\n key = parseComputedPropertyName(parser, context, inGroup);\r\n destructible |= parser.assignable;\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n if (token === 209007)\r\n state |= 16;\r\n state |=\r\n token === 12402\r\n ? 256\r\n : token === 12403\r\n ? 512\r\n : 1;\r\n destructible |= 16;\r\n key = parseLiteral(parser, context);\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n report(parser, 130);\r\n }\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n key = parseLiteral(parser, context);\r\n if (parser.token === 21) {\r\n consume(parser, context | 32768, 21);\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (tokenValue === '__proto__')\r\n prototypeCount++;\r\n if (parser.token & 143360) {\r\n value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);\r\n const { token, tokenValue: valueAfterColon } = parser;\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (token === 1077936157 || token === 1074790415 || token === 18) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (scope) {\r\n addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin);\r\n }\r\n }\r\n else {\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n }\r\n }\r\n else if (parser.token === 1077936157) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n else if ((parser.token & 2097152) === 2097152) {\r\n value =\r\n parser.token === 69271571\r\n ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n destructible = parser.destructible;\r\n parser.assignable =\r\n destructible & 16 ? 2 : 1;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n }\r\n else if ((parser.destructible & 8) !== 8) {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 2 ? 16 : 0;\r\n if ((parser.token & 4194304) === 4194304) {\r\n value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n if ((parser.token & 8454144) === 8454144) {\r\n value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos);\r\n }\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else {\r\n value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 1 ? 0 : 16;\r\n if (parser.token !== 18 && parser.token !== 1074790415) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n }\r\n }\r\n else if (parser.token === 67174411) {\r\n state |= 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n destructible = parser.assignable | 16;\r\n }\r\n else {\r\n report(parser, 131);\r\n }\r\n }\r\n else if (parser.token === 69271571) {\r\n key = parseComputedPropertyName(parser, context, inGroup);\r\n destructible |= parser.destructible & 256 ? 256 : 0;\r\n state |= 2;\r\n if (parser.token === 21) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser;\r\n if (parser.token & 143360) {\r\n value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);\r\n const { token } = parser;\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n if ((parser.token & 4194304) === 4194304) {\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : token === 1077936157\r\n ? 0\r\n : 32;\r\n value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else if (parser.token === 18 || parser.token === 1074790415) {\r\n if (token === 1077936157 || token === 1074790415 || token === 18) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (scope && (tokenAfterColon & 143360) === 143360) {\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n }\r\n }\r\n else {\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n }\r\n }\r\n else {\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n else if ((parser.token & 2097152) === 2097152) {\r\n value =\r\n parser.token === 69271571\r\n ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n destructible = parser.destructible;\r\n parser.assignable =\r\n destructible & 16 ? 2 : 1;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n }\r\n else if (destructible & 8) {\r\n report(parser, 60);\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible =\r\n parser.assignable & 2 ? destructible | 16 : 0;\r\n if ((parser.token & 4194304) === 4194304) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n if ((parser.token & 8454144) === 8454144) {\r\n value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos);\r\n }\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else {\r\n value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 1 ? 0 : 16;\r\n if (parser.token !== 18 && parser.token !== 1074790415) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n }\r\n }\r\n else if (parser.token === 67174411) {\r\n state |= 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, linePos, colPos);\r\n destructible = 16;\r\n }\r\n else {\r\n report(parser, 42);\r\n }\r\n }\r\n else if (token === 8457014) {\r\n consume(parser, context | 32768, 8457014);\r\n state |= 8;\r\n if (parser.token & 143360) {\r\n const { token, line, index } = parser;\r\n key = parseIdentifier(parser, context);\r\n state |= 1;\r\n if (parser.token === 67174411) {\r\n destructible |= 16;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n reportMessageAt(index, line, index, token === 209007\r\n ? 44\r\n : token === 12402 || parser.token === 12403\r\n ? 43\r\n : 45, KeywordDescTable[token & 255]);\r\n }\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n destructible |= 16;\r\n key = parseLiteral(parser, context);\r\n state |= 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 69271571) {\r\n destructible |= 16;\r\n state |= 2 | 1;\r\n key = parseComputedPropertyName(parser, context, inGroup);\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n report(parser, 123);\r\n }\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[token & 255]);\r\n }\r\n destructible |= parser.destructible & 128 ? 128 : 0;\r\n parser.destructible = destructible;\r\n properties.push(finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'Property',\r\n key: key,\r\n value,\r\n kind: !(state & 768) ? 'init' : state & 512 ? 'set' : 'get',\r\n computed: (state & 2) > 0,\r\n method: (state & 1) > 0,\r\n shorthand: (state & 4) > 0\r\n }));\r\n }\r\n destructible |= parser.destructible;\r\n if (parser.token !== 18)\r\n break;\r\n nextToken(parser, context);\r\n }\r\n consume(parser, context, 1074790415);\r\n if (prototypeCount > 1)\r\n destructible |= 64;\r\n const node = finishNode(parser, context, start, line, column, {\r\n type: isPattern ? 'ObjectPattern' : 'ObjectExpression',\r\n properties\r\n });\r\n if (!skipInitializer && parser.token & 4194304) {\r\n return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node);\r\n }\r\n parser.destructible = destructible;\r\n return node;\r\n}\r\nfunction parseMethodFormals(parser, context, scope, kind, type, inGroup) {\r\n consume(parser, context, 67174411);\r\n const params = [];\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n if (parser.token === 16) {\r\n if (kind & 512) {\r\n report(parser, 35, 'Setter', 'one', '');\r\n }\r\n nextToken(parser, context);\r\n return params;\r\n }\r\n if (kind & 256) {\r\n report(parser, 35, 'Getter', 'no', 's');\r\n }\r\n if (kind & 512 && parser.token === 14) {\r\n report(parser, 36);\r\n }\r\n context = (context | 134217728) ^ 134217728;\r\n let setterArgs = 0;\r\n let isSimpleParameterList = 0;\r\n while (parser.token !== 18) {\r\n let left = null;\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (parser.token & 143360) {\r\n if ((context & 1024) === 0) {\r\n if ((parser.token & 36864) === 36864) {\r\n parser.flags |= 256;\r\n }\r\n if ((parser.token & 537079808) === 537079808) {\r\n parser.flags |= 512;\r\n }\r\n }\r\n left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos);\r\n }\r\n else {\r\n if (parser.token === 2162700) {\r\n left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 69271571) {\r\n left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 14) {\r\n left = parseSpreadOrRestElement(parser, context, scope, 16, type, 0, 0, inGroup, 1, tokenPos, linePos, colPos);\r\n }\r\n isSimpleParameterList = 1;\r\n if (parser.destructible & (32 | 16))\r\n report(parser, 48);\r\n }\r\n if (parser.token === 1077936157) {\r\n nextToken(parser, context | 32768);\r\n isSimpleParameterList = 1;\r\n const right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n left = finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'AssignmentPattern',\r\n left: left,\r\n right\r\n });\r\n }\r\n setterArgs++;\r\n params.push(left);\r\n if (!consumeOpt(parser, context, 18))\r\n break;\r\n if (parser.token === 16) {\r\n break;\r\n }\r\n }\r\n if (kind & 512 && setterArgs !== 1) {\r\n report(parser, 35, 'Setter', 'one', '');\r\n }\r\n if (scope && scope.scopeError !== void 0)\r\n reportScopeError(scope.scopeError);\r\n if (isSimpleParameterList)\r\n parser.flags |= 128;\r\n consume(parser, context, 16);\r\n return params;\r\n}\r\nfunction parseComputedPropertyName(parser, context, inGroup) {\r\n nextToken(parser, context | 32768);\r\n const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 20);\r\n return key;\r\n}\r\nfunction parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) {\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser;\r\n nextToken(parser, context | 32768 | 268435456);\r\n const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;\r\n context = (context | 134217728) ^ 134217728;\r\n if (consumeOpt(parser, context, 16)) {\r\n return parseParenthesizedArrow(parser, context, scope, [], canAssign, 0, start, line, column);\r\n }\r\n let destructible = 0;\r\n parser.destructible &= ~(256 | 128);\r\n let expr;\r\n let expressions = [];\r\n let isSequence = 0;\r\n let isSimpleParameterList = 0;\r\n const { tokenPos: iStart, linePos: lStart, colPos: cStart } = parser;\r\n parser.assignable = 1;\r\n while (parser.token !== 16) {\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (token & (143360 | 4096)) {\r\n if (scope)\r\n addBlockName(parser, context, scope, parser.tokenValue, 1, 0);\r\n expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);\r\n if (parser.token === 16 || parser.token === 18) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n isSimpleParameterList = 1;\r\n }\r\n else if ((token & 537079808) === 537079808 ||\r\n (token & 36864) === 36864) {\r\n isSimpleParameterList = 1;\r\n }\r\n }\r\n else {\r\n if (parser.token === 1077936157) {\r\n isSimpleParameterList = 1;\r\n }\r\n else {\r\n destructible |= 16;\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos);\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr);\r\n }\r\n }\r\n }\r\n else if ((token & 2097152) === 2097152) {\r\n expr =\r\n token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);\r\n destructible |= parser.destructible;\r\n isSimpleParameterList = 1;\r\n parser.assignable = 2;\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n if (destructible & 8)\r\n report(parser, 119);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos);\r\n destructible |= 16;\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n expr = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, expr);\r\n }\r\n }\r\n }\r\n else if (token === 14) {\r\n expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 0, 1, 0, tokenPos, linePos, colPos);\r\n if (parser.destructible & 16)\r\n report(parser, 72);\r\n isSimpleParameterList = 1;\r\n if (isSequence && (parser.token === 16 || parser.token === 18)) {\r\n expressions.push(expr);\r\n }\r\n destructible |= 8;\r\n break;\r\n }\r\n else {\r\n destructible |= 16;\r\n expr = parseExpression(parser, context, 1, 1, tokenPos, linePos, colPos);\r\n if (isSequence && (parser.token === 16 || parser.token === 18)) {\r\n expressions.push(expr);\r\n }\r\n if (parser.token === 18) {\r\n if (!isSequence) {\r\n isSequence = 1;\r\n expressions = [expr];\r\n }\r\n }\r\n if (isSequence) {\r\n while (consumeOpt(parser, context | 32768, 18)) {\r\n expressions.push(parseExpression(parser, context, 1, 1, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n parser.assignable = 2;\r\n expr = finishNode(parser, context, iStart, lStart, cStart, {\r\n type: 'SequenceExpression',\r\n expressions\r\n });\r\n }\r\n consume(parser, context, 16);\r\n parser.destructible = destructible;\r\n return expr;\r\n }\r\n if (isSequence && (parser.token === 16 || parser.token === 18)) {\r\n expressions.push(expr);\r\n }\r\n if (!consumeOpt(parser, context | 32768, 18))\r\n break;\r\n if (!isSequence) {\r\n isSequence = 1;\r\n expressions = [expr];\r\n }\r\n if (parser.token === 16) {\r\n destructible |= 8;\r\n break;\r\n }\r\n }\r\n if (isSequence) {\r\n parser.assignable = 2;\r\n expr = finishNode(parser, context, iStart, lStart, cStart, {\r\n type: 'SequenceExpression',\r\n expressions\r\n });\r\n }\r\n consume(parser, context, 16);\r\n if (destructible & 16 && destructible & 8)\r\n report(parser, 146);\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n if (parser.token === 10) {\r\n if (destructible & (32 | 16))\r\n report(parser, 47);\r\n if (context & (4194304 | 2048) && destructible & 128)\r\n report(parser, 29);\r\n if (context & (1024 | 2097152) && destructible & 256) {\r\n report(parser, 30);\r\n }\r\n if (isSimpleParameterList)\r\n parser.flags |= 128;\r\n return parseParenthesizedArrow(parser, context, scope, isSequence ? expressions : [expr], canAssign, 0, start, line, column);\r\n }\r\n else if (destructible & 8) {\r\n report(parser, 140);\r\n }\r\n parser.destructible = ((parser.destructible | 256) ^ 256) | destructible;\r\n return context & 128\r\n ? finishNode(parser, context, piStart, plStart, pcStart, {\r\n type: 'ParenthesizedExpression',\r\n expression: expr\r\n })\r\n : expr;\r\n}\r\nfunction parseIdentifierOrArrow(parser, context, start, line, column) {\r\n const { tokenValue } = parser;\r\n const expr = parseIdentifier(parser, context);\r\n parser.assignable = 1;\r\n if (parser.token === 10) {\r\n let scope = void 0;\r\n if (context & 64)\r\n scope = createArrowHeadParsingScope(parser, context, tokenValue);\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n return parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column);\r\n }\r\n return expr;\r\n}\r\nfunction parseArrowFromIdentifier(parser, context, value, expr, inNew, canAssign, isAsync, start, line, column) {\r\n if (!canAssign)\r\n report(parser, 55);\r\n if (inNew)\r\n report(parser, 49);\r\n parser.flags &= ~128;\r\n const scope = context & 64 ? createArrowHeadParsingScope(parser, context, value) : void 0;\r\n return parseArrowFunctionExpression(parser, context, scope, [expr], isAsync, start, line, column);\r\n}\r\nfunction parseParenthesizedArrow(parser, context, scope, params, canAssign, isAsync, start, line, column) {\r\n if (!canAssign)\r\n report(parser, 55);\r\n for (let i = 0; i < params.length; ++i)\r\n reinterpretToPattern(parser, params[i]);\r\n return parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column);\r\n}\r\nfunction parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column) {\r\n if (parser.flags & 1)\r\n report(parser, 46);\r\n consume(parser, context | 32768, 10);\r\n context = ((context | 15728640) ^ 15728640) | (isAsync << 22);\r\n const expression = parser.token !== 2162700;\r\n let body;\r\n if (scope && scope.scopeError !== void 0) {\r\n reportScopeError(scope.scopeError);\r\n }\r\n if (expression) {\r\n body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n if (scope)\r\n scope = addChildScope(scope, 128);\r\n body = parseFunctionBody(parser, (context | 134221824 | 8192 | 16384) ^\r\n (134221824 | 8192 | 16384), scope, 16, void 0, void 0);\r\n switch (parser.token) {\r\n case 69271571:\r\n if ((parser.flags & 1) === 0) {\r\n report(parser, 113);\r\n }\r\n break;\r\n case 67108877:\r\n case 67174409:\r\n case 22:\r\n report(parser, 114);\r\n case 67174411:\r\n if ((parser.flags & 1) === 0) {\r\n report(parser, 113);\r\n }\r\n parser.flags |= 1024;\r\n break;\r\n }\r\n if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) === 0)\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n if ((parser.token & 33619968) === 33619968)\r\n report(parser, 122);\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ArrowFunctionExpression',\r\n params,\r\n body,\r\n async: isAsync === 1,\r\n expression\r\n });\r\n}\r\nfunction parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind) {\r\n consume(parser, context, 67174411);\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n const params = [];\r\n if (consumeOpt(parser, context, 16))\r\n return params;\r\n context = (context | 134217728) ^ 134217728;\r\n let isSimpleParameterList = 0;\r\n while (parser.token !== 18) {\r\n let left;\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (parser.token & 143360) {\r\n if ((context & 1024) === 0) {\r\n if ((parser.token & 36864) === 36864) {\r\n parser.flags |= 256;\r\n }\r\n if ((parser.token & 537079808) === 537079808) {\r\n parser.flags |= 512;\r\n }\r\n }\r\n left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos);\r\n }\r\n else {\r\n if (parser.token === 2162700) {\r\n left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 69271571) {\r\n left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 14) {\r\n left = parseSpreadOrRestElement(parser, context, scope, 16, kind, 0, 0, inGroup, 1, tokenPos, linePos, colPos);\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n isSimpleParameterList = 1;\r\n if (parser.destructible & (32 | 16)) {\r\n report(parser, 48);\r\n }\r\n }\r\n if (parser.token === 1077936157) {\r\n nextToken(parser, context | 32768);\r\n isSimpleParameterList = 1;\r\n const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n left = finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'AssignmentPattern',\r\n left,\r\n right\r\n });\r\n }\r\n params.push(left);\r\n if (!consumeOpt(parser, context, 18))\r\n break;\r\n if (parser.token === 16) {\r\n break;\r\n }\r\n }\r\n if (isSimpleParameterList)\r\n parser.flags |= 128;\r\n if (scope && (isSimpleParameterList || context & 1024) && scope.scopeError !== void 0) {\r\n reportScopeError(scope.scopeError);\r\n }\r\n consume(parser, context, 16);\r\n return params;\r\n}\r\nfunction parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line, column) {\r\n const { token } = parser;\r\n if (token & 67108864) {\r\n if (token === 67108877) {\r\n nextToken(parser, context | 268435456);\r\n parser.assignable = 1;\r\n const property = parsePropertyOrPrivatePropertyName(parser, context);\r\n return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: false,\r\n property\r\n }), 0, start, line, column);\r\n }\r\n else if (token === 69271571) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos);\r\n consume(parser, context, 20);\r\n parser.assignable = 1;\r\n return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: true,\r\n property\r\n }), 0, start, line, column);\r\n }\r\n else if (token === 67174408 || token === 67174409) {\r\n parser.assignable = 2;\r\n return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {\r\n type: 'TaggedTemplateExpression',\r\n tag: expr,\r\n quasi: parser.token === 67174408\r\n ? parseTemplate(parser, context | 65536)\r\n : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos)\r\n }), 0, start, line, column);\r\n }\r\n }\r\n return expr;\r\n}\r\nfunction parseNewExpression(parser, context, inGroup, start, line, column) {\r\n const id = parseIdentifier(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (consumeOpt(parser, context, 67108877)) {\r\n if (context & 67108864 && parser.token === 143494) {\r\n parser.assignable = 2;\r\n return parseMetaProperty(parser, context, id, start, line, column);\r\n }\r\n report(parser, 92);\r\n }\r\n parser.assignable = 2;\r\n if ((parser.token & 16842752) === 16842752) {\r\n report(parser, 63, KeywordDescTable[parser.token & 255]);\r\n }\r\n const expr = parsePrimaryExpression(parser, context, 2, 1, 0, inGroup, 1, tokenPos, linePos, colPos);\r\n context = (context | 134217728) ^ 134217728;\r\n if (parser.token === 67108991)\r\n report(parser, 163);\r\n const callee = parseMembeExpressionNoCall(parser, context, expr, inGroup, tokenPos, linePos, colPos);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'NewExpression',\r\n callee,\r\n arguments: parser.token === 67174411 ? parseArguments(parser, context, inGroup) : []\r\n });\r\n}\r\nfunction parseMetaProperty(parser, context, meta, start, line, column) {\r\n const property = parseIdentifier(parser, context);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'MetaProperty',\r\n meta,\r\n property\r\n });\r\n}\r\nfunction parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column) {\r\n if (parser.token === 209008)\r\n report(parser, 29);\r\n if (context & (1024 | 2097152) && parser.token === 241773) {\r\n report(parser, 30);\r\n }\r\n if ((parser.token & 537079808) === 537079808) {\r\n parser.flags |= 512;\r\n }\r\n return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context), 0, canAssign, 1, start, line, column);\r\n}\r\nfunction parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;\r\n context = (context | 134217728) ^ 134217728;\r\n if (consumeOpt(parser, context, 16)) {\r\n if (parser.token === 10) {\r\n if (flags & 1)\r\n report(parser, 46);\r\n return parseParenthesizedArrow(parser, context, scope, [], canAssign, 1, start, line, column);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee,\r\n arguments: []\r\n });\r\n }\r\n let destructible = 0;\r\n let expr = null;\r\n let isSimpleParameterList = 0;\r\n parser.destructible =\r\n (parser.destructible | 256 | 128) ^\r\n (256 | 128);\r\n const params = [];\r\n while (parser.token !== 16) {\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (token & (143360 | 4096)) {\r\n if (scope)\r\n addBlockName(parser, context, scope, parser.tokenValue, kind, 0);\r\n expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);\r\n if (parser.token === 16 || parser.token === 18) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n isSimpleParameterList = 1;\r\n }\r\n else if ((token & 537079808) === 537079808) {\r\n parser.flags |= 512;\r\n }\r\n else if ((token & 36864) === 36864) {\r\n parser.flags |= 256;\r\n }\r\n }\r\n else {\r\n if (parser.token === 1077936157) {\r\n isSimpleParameterList = 1;\r\n }\r\n else {\r\n destructible |= 16;\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos);\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr);\r\n }\r\n }\r\n }\r\n else if (token & 2097152) {\r\n expr =\r\n token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);\r\n destructible |= parser.destructible;\r\n isSimpleParameterList = 1;\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n if (destructible & 8)\r\n report(parser, 119);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos);\r\n destructible |= 16;\r\n if ((parser.token & 8454144) === 8454144) {\r\n expr = parseBinaryExpression(parser, context, 1, start, line, column, 4, token, expr);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n expr = parseConditionalExpression(parser, context, expr, start, line, column);\r\n }\r\n }\r\n }\r\n else if (token === 14) {\r\n expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 1, 1, 0, tokenPos, linePos, colPos);\r\n destructible |= (parser.token === 16 ? 0 : 16) | parser.destructible;\r\n isSimpleParameterList = 1;\r\n }\r\n else {\r\n expr = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable;\r\n params.push(expr);\r\n while (consumeOpt(parser, context | 32768, 18)) {\r\n params.push(parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos));\r\n }\r\n destructible |= parser.assignable;\r\n consume(parser, context, 16);\r\n parser.destructible = destructible | 16;\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee,\r\n arguments: params\r\n });\r\n }\r\n params.push(expr);\r\n if (!consumeOpt(parser, context | 32768, 18))\r\n break;\r\n }\r\n consume(parser, context, 16);\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n if (parser.token === 10) {\r\n if (destructible & (32 | 16))\r\n report(parser, 25);\r\n if (parser.flags & 1 || flags & 1)\r\n report(parser, 46);\r\n if (destructible & 128)\r\n report(parser, 29);\r\n if (context & (1024 | 2097152) && destructible & 256)\r\n report(parser, 30);\r\n if (isSimpleParameterList)\r\n parser.flags |= 128;\r\n return parseParenthesizedArrow(parser, context, scope, params, canAssign, 1, start, line, column);\r\n }\r\n else if (destructible & 8) {\r\n report(parser, 60);\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee,\r\n arguments: params\r\n });\r\n}\r\nfunction parseRegExpLiteral(parser, context, start, line, column) {\r\n const { tokenRaw, tokenRegExp, tokenValue } = parser;\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return context & 512\r\n ? finishNode(parser, context, start, line, column, {\r\n type: 'Literal',\r\n value: tokenValue,\r\n regex: tokenRegExp,\r\n raw: tokenRaw\r\n })\r\n : finishNode(parser, context, start, line, column, {\r\n type: 'Literal',\r\n value: tokenValue,\r\n regex: tokenRegExp\r\n });\r\n}\r\nfunction parseClassDeclaration(parser, context, scope, flags, start, line, column) {\r\n context = (context | 16777216 | 1024) ^ 16777216;\r\n let decorators = parseDecorators(parser, context);\r\n if (decorators.length) {\r\n start = parser.tokenPos;\r\n line = parser.linePos;\r\n column = parser.colPos;\r\n }\r\n if (parser.leadingDecorators.length) {\r\n parser.leadingDecorators.push(...decorators);\r\n decorators = parser.leadingDecorators;\r\n parser.leadingDecorators = [];\r\n }\r\n nextToken(parser, context);\r\n let id = null;\r\n let superClass = null;\r\n const { tokenValue } = parser;\r\n if (parser.token & 4096 && parser.token !== 20567) {\r\n if (isStrictReservedWord(parser, context, parser.token)) {\r\n report(parser, 115);\r\n }\r\n if ((parser.token & 537079808) === 537079808) {\r\n report(parser, 116);\r\n }\r\n if (scope) {\r\n addBlockName(parser, context, scope, tokenValue, 32, 0);\r\n if (flags) {\r\n if (flags & 2) {\r\n declareUnboundVariable(parser, tokenValue);\r\n }\r\n }\r\n }\r\n id = parseIdentifier(parser, context);\r\n }\r\n else {\r\n if ((flags & 1) === 0)\r\n report(parser, 37, 'Class');\r\n }\r\n let inheritedContext = context;\r\n if (consumeOpt(parser, context | 32768, 20567)) {\r\n superClass = parseLeftHandSideExpression(parser, context, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n inheritedContext |= 524288;\r\n }\r\n else {\r\n inheritedContext = (inheritedContext | 524288) ^ 524288;\r\n }\r\n const body = parseClassBody(parser, inheritedContext, context, scope, 2, 8, 0);\r\n return finishNode(parser, context, start, line, column, context & 1\r\n ? {\r\n type: 'ClassDeclaration',\r\n id,\r\n superClass,\r\n decorators,\r\n body\r\n }\r\n : {\r\n type: 'ClassDeclaration',\r\n id,\r\n superClass,\r\n body\r\n });\r\n}\r\nfunction parseClassExpression(parser, context, inGroup, start, line, column) {\r\n let id = null;\r\n let superClass = null;\r\n context = (context | 1024 | 16777216) ^ 16777216;\r\n const decorators = parseDecorators(parser, context);\r\n if (decorators.length) {\r\n start = parser.tokenPos;\r\n line = parser.linePos;\r\n column = parser.colPos;\r\n }\r\n nextToken(parser, context);\r\n if (parser.token & 4096 && parser.token !== 20567) {\r\n if (isStrictReservedWord(parser, context, parser.token))\r\n report(parser, 115);\r\n if ((parser.token & 537079808) === 537079808) {\r\n report(parser, 116);\r\n }\r\n id = parseIdentifier(parser, context);\r\n }\r\n let inheritedContext = context;\r\n if (consumeOpt(parser, context | 32768, 20567)) {\r\n superClass = parseLeftHandSideExpression(parser, context, 0, inGroup, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n inheritedContext |= 524288;\r\n }\r\n else {\r\n inheritedContext = (inheritedContext | 524288) ^ 524288;\r\n }\r\n const body = parseClassBody(parser, inheritedContext, context, void 0, 2, 0, inGroup);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, context & 1\r\n ? {\r\n type: 'ClassExpression',\r\n id,\r\n superClass,\r\n decorators,\r\n body\r\n }\r\n : {\r\n type: 'ClassExpression',\r\n id,\r\n superClass,\r\n body\r\n });\r\n}\r\nfunction parseDecorators(parser, context) {\r\n const list = [];\r\n if (context & 1) {\r\n while (parser.token === 133) {\r\n list.push(parseDecoratorList(parser, context, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n }\r\n return list;\r\n}\r\nfunction parseDecoratorList(parser, context, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, start, line, column);\r\n expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'Decorator',\r\n expression\r\n });\r\n}\r\nfunction parseClassBody(parser, context, inheritedContext, scope, kind, origin, inGroup) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n consume(parser, context | 32768, 2162700);\r\n context = (context | 134217728) ^ 134217728;\r\n let hasConstr = parser.flags & 32;\r\n parser.flags = (parser.flags | 32) ^ 32;\r\n const body = [];\r\n let decorators;\r\n while (parser.token !== 1074790415) {\r\n let length = 0;\r\n decorators = parseDecorators(parser, context);\r\n length = decorators.length;\r\n if (length > 0 && parser.tokenValue === 'constructor') {\r\n report(parser, 107);\r\n }\r\n if (parser.token === 1074790415)\r\n report(parser, 106);\r\n if (consumeOpt(parser, context, 1074790417)) {\r\n if (length > 0)\r\n report(parser, 117);\r\n continue;\r\n }\r\n body.push(parseClassElementList(parser, context, scope, inheritedContext, kind, decorators, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n consume(parser, origin & 8 ? context | 32768 : context, 1074790415);\r\n parser.flags = (parser.flags & ~32) | hasConstr;\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ClassBody',\r\n body\r\n });\r\n}\r\nfunction parseClassElementList(parser, context, scope, inheritedContext, type, decorators, isStatic, inGroup, start, line, column) {\r\n let kind = isStatic ? 32 : 0;\r\n let key = null;\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (token & (143360 | 36864)) {\r\n key = parseIdentifier(parser, context);\r\n switch (token) {\r\n case 36972:\r\n if (!isStatic &&\r\n parser.token !== 67174411 &&\r\n (parser.token & 1048576) !== 1048576 &&\r\n parser.token !== 1077936157) {\r\n return parseClassElementList(parser, context, scope, inheritedContext, type, decorators, 1, inGroup, start, line, column);\r\n }\r\n break;\r\n case 209007:\r\n if (parser.token !== 67174411 && (parser.flags & 1) === 0) {\r\n if (context & 1 && (parser.token & 1073741824) === 1073741824) {\r\n return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);\r\n }\r\n kind |= 16 | (optionalBit(parser, context, 8457014) ? 8 : 0);\r\n }\r\n break;\r\n case 12402:\r\n if (parser.token !== 67174411) {\r\n if (context & 1 && (parser.token & 1073741824) === 1073741824) {\r\n return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);\r\n }\r\n kind |= 256;\r\n }\r\n break;\r\n case 12403:\r\n if (parser.token !== 67174411) {\r\n if (context & 1 && (parser.token & 1073741824) === 1073741824) {\r\n return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);\r\n }\r\n kind |= 512;\r\n }\r\n break;\r\n }\r\n }\r\n else if (token === 69271571) {\r\n kind |= 2;\r\n key = parseComputedPropertyName(parser, inheritedContext, inGroup);\r\n }\r\n else if ((token & 134217728) === 134217728) {\r\n key = parseLiteral(parser, context);\r\n }\r\n else if (token === 8457014) {\r\n kind |= 8;\r\n nextToken(parser, context);\r\n }\r\n else if (context & 1 && parser.token === 131) {\r\n kind |= 4096;\r\n key = parsePrivateIdentifier(parser, context | 16384, tokenPos, linePos, colPos);\r\n }\r\n else if (context & 1 && (parser.token & 1073741824) === 1073741824) {\r\n kind |= 128;\r\n }\r\n else if (isStatic && token === 2162700) {\r\n return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);\r\n }\r\n else if (token === 122) {\r\n key = parseIdentifier(parser, context);\r\n if (parser.token !== 67174411)\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n if (kind & (8 | 16 | 768)) {\r\n if (parser.token & 143360) {\r\n key = parseIdentifier(parser, context);\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n key = parseLiteral(parser, context);\r\n }\r\n else if (parser.token === 69271571) {\r\n kind |= 2;\r\n key = parseComputedPropertyName(parser, context, 0);\r\n }\r\n else if (parser.token === 122) {\r\n key = parseIdentifier(parser, context);\r\n }\r\n else if (context & 1 && parser.token === 131) {\r\n kind |= 4096;\r\n key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos);\r\n }\r\n else\r\n report(parser, 132);\r\n }\r\n if ((kind & 2) === 0) {\r\n if (parser.tokenValue === 'constructor') {\r\n if ((parser.token & 1073741824) === 1073741824) {\r\n report(parser, 126);\r\n }\r\n else if ((kind & 32) === 0 && parser.token === 67174411) {\r\n if (kind & (768 | 16 | 128 | 8)) {\r\n report(parser, 51, 'accessor');\r\n }\r\n else if ((context & 524288) === 0) {\r\n if (parser.flags & 32)\r\n report(parser, 52);\r\n else\r\n parser.flags |= 32;\r\n }\r\n }\r\n kind |= 64;\r\n }\r\n else if ((kind & 4096) === 0 &&\r\n kind & (32 | 768 | 8 | 16) &&\r\n parser.tokenValue === 'prototype') {\r\n report(parser, 50);\r\n }\r\n }\r\n if (context & 1 && parser.token !== 67174411) {\r\n return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);\r\n }\r\n const value = parseMethodDefinition(parser, context, kind, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, context & 1\r\n ? {\r\n type: 'MethodDefinition',\r\n kind: (kind & 32) === 0 && kind & 64\r\n ? 'constructor'\r\n : kind & 256\r\n ? 'get'\r\n : kind & 512\r\n ? 'set'\r\n : 'method',\r\n static: (kind & 32) > 0,\r\n computed: (kind & 2) > 0,\r\n key,\r\n decorators,\r\n value\r\n }\r\n : {\r\n type: 'MethodDefinition',\r\n kind: (kind & 32) === 0 && kind & 64\r\n ? 'constructor'\r\n : kind & 256\r\n ? 'get'\r\n : kind & 512\r\n ? 'set'\r\n : 'method',\r\n static: (kind & 32) > 0,\r\n computed: (kind & 2) > 0,\r\n key,\r\n value\r\n });\r\n}\r\nfunction parsePrivateIdentifier(parser, context, start, line, column) {\r\n nextToken(parser, context);\r\n const { tokenValue } = parser;\r\n if (tokenValue === 'constructor')\r\n report(parser, 125);\r\n nextToken(parser, context);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'PrivateIdentifier',\r\n name: tokenValue\r\n });\r\n}\r\nfunction parsePropertyDefinition(parser, context, key, state, decorators, start, line, column) {\r\n let value = null;\r\n if (state & 8)\r\n report(parser, 0);\r\n if (parser.token === 1077936157) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (parser.token === 537079928)\r\n report(parser, 116);\r\n const modifierFlags = (state & 64) === 0\r\n ? 31981568\r\n : 14680064;\r\n context =\r\n ((context | modifierFlags) ^ modifierFlags) |\r\n ((state & 88) << 18) |\r\n 100925440;\r\n value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 1, tokenPos, linePos, colPos);\r\n if ((parser.token & 1073741824) !== 1073741824 ||\r\n (parser.token & 4194304) === 4194304) {\r\n value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos);\r\n value = parseAssignmentExpression(parser, context | 16384, 0, 0, tokenPos, linePos, colPos, value);\r\n if (parser.token === 18) {\r\n value = parseSequenceExpression(parser, context, 0, start, line, column, value);\r\n }\r\n }\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'PropertyDefinition',\r\n key,\r\n value,\r\n static: (state & 32) > 0,\r\n computed: (state & 2) > 0,\r\n decorators\r\n });\r\n}\r\nfunction parseBindingPattern(parser, context, scope, type, origin, start, line, column) {\r\n if (parser.token & 143360)\r\n return parseAndClassifyIdentifier(parser, context, scope, type, origin, start, line, column);\r\n if ((parser.token & 2097152) !== 2097152)\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n const left = parser.token === 69271571\r\n ? parseArrayExpressionOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column)\r\n : parseObjectLiteralOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column);\r\n if (parser.destructible & 16)\r\n report(parser, 48);\r\n if (parser.destructible & 32)\r\n report(parser, 48);\r\n return left;\r\n}\r\nfunction parseAndClassifyIdentifier(parser, context, scope, kind, origin, start, line, column) {\r\n const { tokenValue, token } = parser;\r\n if (context & 1024) {\r\n if ((token & 537079808) === 537079808) {\r\n report(parser, 116);\r\n }\r\n else if ((token & 36864) === 36864) {\r\n report(parser, 115);\r\n }\r\n }\r\n if ((token & 20480) === 20480) {\r\n report(parser, 100);\r\n }\r\n if (context & (2048 | 2097152) && token === 241773) {\r\n report(parser, 30);\r\n }\r\n if (token === 241739) {\r\n if (kind & (8 | 16))\r\n report(parser, 98);\r\n }\r\n if (context & (4194304 | 2048) && token === 209008) {\r\n report(parser, 96);\r\n }\r\n nextToken(parser, context);\r\n if (scope)\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'Identifier',\r\n name: tokenValue\r\n });\r\n}\r\nfunction parseJSXRootElementOrFragment(parser, context, inJSXChild, start, line, column) {\r\n nextToken(parser, context);\r\n if (parser.token === 8456259) {\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXFragment',\r\n openingFragment: parseOpeningFragment(parser, context, start, line, column),\r\n children: parseJSXChildren(parser, context),\r\n closingFragment: parseJSXClosingFragment(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos)\r\n });\r\n }\r\n let closingElement = null;\r\n let children = [];\r\n const openingElement = parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column);\r\n if (!openingElement.selfClosing) {\r\n children = parseJSXChildren(parser, context);\r\n closingElement = parseJSXClosingElement(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos);\r\n const close = isEqualTagName(closingElement.name);\r\n if (isEqualTagName(openingElement.name) !== close)\r\n report(parser, 150, close);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXElement',\r\n children,\r\n openingElement,\r\n closingElement\r\n });\r\n}\r\nfunction parseOpeningFragment(parser, context, start, line, column) {\r\n scanJSXToken(parser, context);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXOpeningFragment'\r\n });\r\n}\r\nfunction parseJSXClosingElement(parser, context, inJSXChild, start, line, column) {\r\n consume(parser, context, 25);\r\n const name = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (inJSXChild) {\r\n consume(parser, context, 8456259);\r\n }\r\n else {\r\n parser.token = scanJSXToken(parser, context);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXClosingElement',\r\n name\r\n });\r\n}\r\nfunction parseJSXClosingFragment(parser, context, inJSXChild, start, line, column) {\r\n consume(parser, context, 25);\r\n if (inJSXChild) {\r\n consume(parser, context, 8456259);\r\n }\r\n else {\r\n consume(parser, context, 8456259);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXClosingFragment'\r\n });\r\n}\r\nfunction parseJSXChildren(parser, context) {\r\n const children = [];\r\n while (parser.token !== 25) {\r\n parser.index = parser.tokenPos = parser.startPos;\r\n parser.column = parser.colPos = parser.startColumn;\r\n parser.line = parser.linePos = parser.startLine;\r\n scanJSXToken(parser, context);\r\n children.push(parseJSXChild(parser, context, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n return children;\r\n}\r\nfunction parseJSXChild(parser, context, start, line, column) {\r\n if (parser.token === 138)\r\n return parseJSXText(parser, context, start, line, column);\r\n if (parser.token === 2162700)\r\n return parseJSXExpressionContainer(parser, context, 0, 0, start, line, column);\r\n if (parser.token === 8456258)\r\n return parseJSXRootElementOrFragment(parser, context, 0, start, line, column);\r\n report(parser, 0);\r\n}\r\nfunction parseJSXText(parser, context, start, line, column) {\r\n scanJSXToken(parser, context);\r\n const node = {\r\n type: 'JSXText',\r\n value: parser.tokenValue\r\n };\r\n if (context & 512) {\r\n node.raw = parser.tokenRaw;\r\n }\r\n return finishNode(parser, context, start, line, column, node);\r\n}\r\nfunction parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column) {\r\n if ((parser.token & 143360) !== 143360 && (parser.token & 4096) !== 4096)\r\n report(parser, 0);\r\n const tagName = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos);\r\n const attributes = parseJSXAttributes(parser, context);\r\n const selfClosing = parser.token === 8457016;\r\n if (parser.token === 8456259) {\r\n scanJSXToken(parser, context);\r\n }\r\n else {\r\n consume(parser, context, 8457016);\r\n if (inJSXChild) {\r\n consume(parser, context, 8456259);\r\n }\r\n else {\r\n scanJSXToken(parser, context);\r\n }\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXOpeningElement',\r\n name: tagName,\r\n attributes,\r\n selfClosing\r\n });\r\n}\r\nfunction parseJSXElementName(parser, context, start, line, column) {\r\n scanJSXIdentifier(parser);\r\n let key = parseJSXIdentifier(parser, context, start, line, column);\r\n if (parser.token === 21)\r\n return parseJSXNamespacedName(parser, context, key, start, line, column);\r\n while (consumeOpt(parser, context, 67108877)) {\r\n scanJSXIdentifier(parser);\r\n key = parseJSXMemberExpression(parser, context, key, start, line, column);\r\n }\r\n return key;\r\n}\r\nfunction parseJSXMemberExpression(parser, context, object, start, line, column) {\r\n const property = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXMemberExpression',\r\n object,\r\n property\r\n });\r\n}\r\nfunction parseJSXAttributes(parser, context) {\r\n const attributes = [];\r\n while (parser.token !== 8457016 && parser.token !== 8456259 && parser.token !== 1048576) {\r\n attributes.push(parseJsxAttribute(parser, context, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n return attributes;\r\n}\r\nfunction parseJSXSpreadAttribute(parser, context, start, line, column) {\r\n nextToken(parser, context);\r\n consume(parser, context, 14);\r\n const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 1074790415);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXSpreadAttribute',\r\n argument: expression\r\n });\r\n}\r\nfunction parseJsxAttribute(parser, context, start, line, column) {\r\n if (parser.token === 2162700)\r\n return parseJSXSpreadAttribute(parser, context, start, line, column);\r\n scanJSXIdentifier(parser);\r\n let value = null;\r\n let name = parseJSXIdentifier(parser, context, start, line, column);\r\n if (parser.token === 21) {\r\n name = parseJSXNamespacedName(parser, context, name, start, line, column);\r\n }\r\n if (parser.token === 1077936157) {\r\n const token = scanJSXAttributeValue(parser, context);\r\n const { tokenPos, linePos, colPos } = parser;\r\n switch (token) {\r\n case 134283267:\r\n value = parseLiteral(parser, context);\r\n break;\r\n case 8456258:\r\n value = parseJSXRootElementOrFragment(parser, context, 1, tokenPos, linePos, colPos);\r\n break;\r\n case 2162700:\r\n value = parseJSXExpressionContainer(parser, context, 1, 1, tokenPos, linePos, colPos);\r\n break;\r\n default:\r\n report(parser, 149);\r\n }\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXAttribute',\r\n value,\r\n name\r\n });\r\n}\r\nfunction parseJSXNamespacedName(parser, context, namespace, start, line, column) {\r\n consume(parser, context, 21);\r\n const name = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXNamespacedName',\r\n namespace,\r\n name\r\n });\r\n}\r\nfunction parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (parser.token === 14)\r\n return parseJSXSpreadChild(parser, context, start, line, column);\r\n let expression = null;\r\n if (parser.token === 1074790415) {\r\n if (isAttr)\r\n report(parser, 152);\r\n expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn);\r\n }\r\n else {\r\n expression = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);\r\n }\r\n if (inJSXChild) {\r\n consume(parser, context, 1074790415);\r\n }\r\n else {\r\n scanJSXToken(parser, context);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXExpressionContainer',\r\n expression\r\n });\r\n}\r\nfunction parseJSXSpreadChild(parser, context, start, line, column) {\r\n consume(parser, context, 14);\r\n const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 1074790415);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXSpreadChild',\r\n expression\r\n });\r\n}\r\nfunction parseJSXEmptyExpression(parser, context, start, line, column) {\r\n parser.startPos = parser.tokenPos;\r\n parser.startLine = parser.linePos;\r\n parser.startColumn = parser.colPos;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXEmptyExpression'\r\n });\r\n}\r\nfunction parseJSXIdentifier(parser, context, start, line, column) {\r\n const { tokenValue } = parser;\r\n nextToken(parser, context);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXIdentifier',\r\n name: tokenValue\r\n });\r\n}\n\nvar estree = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nvar version$1 = \"4.5.0\";\n\nconst version = version$1;\r\nfunction parseScript(source, options) {\r\n return parseSource(source, options, 0);\r\n}\r\nfunction parseModule(source, options) {\r\n return parseSource(source, options, 1024 | 2048);\r\n}\r\nfunction parse(source, options) {\r\n return parseSource(source, options, 0);\r\n}\n\nexport { estree as ESTree, parse, parseModule, parseScript, version };\n"],"names":["encodeUrl","navigator","sendBeacon","Proxy","apply","target","thisArg","argArray","Reflect","rewriteCss","cssProperties","CSSStyleDeclaration","prototype","setProperty","includes","decodeUrl","rewriteHtml","rewriteJs","rewriteSrcset","attrObject","nonce","HTMLElement","integrity","HTMLScriptElement","HTMLLinkElement","csp","HTMLIFrameElement","src","HTMLImageElement","HTMLMediaElement","HTMLEmbedElement","href","HTMLAnchorElement","data","HTMLObjectElement","action","HTMLFormElement","formaction","HTMLButtonElement","HTMLInputElement","srcdoc","srcset","HTMLSourceElement","imagesrcset","attrs","Object","keys","_iteratorError","attr","element","descriptor","getOwnPropertyDescriptor","defineProperty","get","test","call","__origattrs","set","value","Element","getAttribute","setAttribute","innerHTML","_instanceof","HTMLStyleElement","window","history","pushState","replaceState","createLocation","loc","URL","location","assign","url","reload","replace","toString","locationProxy","prop","obj","FunctionProxy","Function","construct","length","undefined","map","x","index","eval","rewriteHeaders","fetch","Headers","newTarget","Request","Response","redirect","BareClient","client","WebSocket","args","createWebSocket","userAgent","ArrayBuffer","XMLHttpRequest","open","setRequestHeader","headerObject","fromEntries","entries","windowProxy","scope","identifier","Window","Location","$s","_self_$scramjet_shared","$scramjet","shared","util","rewrite","isScramjetFile","rewriteWorkers","IDBMapSync","store","host","prefix","durability","sync","storageProxy","key","delete","clear","size","property","attributes","localStorageProxy","localStorage","sessionStorageProxy","sessionStorage","TrustedHTML","TrustedScript","TrustedScriptURL","TrustedTypePolicy","TrustedTypePolicyFactory","trustedTypes","globalThis","propIsString","console","log","addEventListener","target1","bind","newValue","Worker","Worklet","addModule","parseModule","generate","makeTraveler","js","origin","ast","module","webcompat","identifierList","customTraveler","ImportDeclaration","node","source","ImportExpression","type","name","concat","ExportAllDeclaration","ExportNamedDeclaration","MemberExpression","object","AssignmentExpression","left","right","VariableDeclarator","init","go","e","error","canParseUrl","self","config","codec","decode","slice","startsWith","encode"],"mappings":";;;;;;;;;;;;AAAuD;AACF;AAC9C;AACP,SAAS,0EAAyB;AAClC;AAC2B;AAC3B;;;;;;;;;;ACNuD;;AAEvD;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI,YAAY,+BAA+B;AAC/C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,0EAAyB;AACxC;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,CAAC;AACM;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;AC1HA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEO;AACP;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;;AAEH,2BAA2B;AAC3B;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA,QAAQ;;AAER,sBAAsB,YAAY;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA,QAAQ,UAAU,YAAY;AAC9B;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA,QAAQ,UAAU,YAAY;AAC9B;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA,MAAM,eAAe,YAAY;AACjC;AACA;;AAEA;AACA;AACA,MAAM,UAAU,YAAY;AAC5B;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;;;;;;AChgBqC;AAErCC,UAAUC,UAAU,GAAG,IAAIC,MAAMF,UAAUC,UAAU,EAAE;IACtDE,OAAAA,SAAAA,MAAMC,MAAM,EAAEC,OAAO,EAAEC,QAAQ;QAC9BA,QAAQ,CAAC,EAAE,GAAGP,kDAASA,CAACO,QAAQ,CAAC,EAAE;QAEnC,OAAOC,QAAQJ,KAAK,CAACC,QAAQC,SAASC;IACvC;AACD;;;;;;;;ACRsC;AAEtC,IAAMG,gBAAgB;IACrB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACA;AACD,4JAA4J;AAE5JC,oBAAoBC,SAAS,CAACC,WAAW,GAAG,IAAIV,MAC/CQ,oBAAoBC,SAAS,CAACC,WAAW,EACzC;IACCT,OAAAA,SAAAA,MAAMC,MAAM,EAAEC,OAAO,EAAEC,QAAQ;QAC9B,IAAIG,cAAcI,QAAQ,CAACP,QAAQ,CAAC,EAAE,GACrCA,QAAQ,CAAC,EAAE,GAAGE,mDAAUA,CAACF,QAAQ,CAAC,EAAE;QAErC,OAAOC,QAAQJ,KAAK,CAACC,QAAQC,SAASC;IACvC;AACD;;;;;;;;;;;;;;;;ACxBmD;AAOlC;AAElB,IAAMY,aAAa;IAClBC,OAAO;QAACC;KAAY;IACpBC,WAAW;QAACC;QAAmBC;KAAgB;IAC/CC,KAAK;QAACC;KAAkB;IACxBC,KAAK;QACJC;QACAC;QACAH;QACAI;QACAP;KACA;IACDQ,MAAM;QAACC;QAAmBR;KAAgB;IAC1CS,MAAM;QAACC;KAAkB;IACzBC,QAAQ;QAACC;KAAgB;IACzBC,YAAY;QAACC;QAAmBC;KAAiB;IACjDC,QAAQ;QAACd;KAAkB;IAC3Be,QAAQ;QAACb;QAAkBc;KAAkB;IAC7CC,aAAa;QAACnB;KAAgB;AAC/B;AAEA,IAAMoB,QAAQC,OAAOC,IAAI,CAAC3B;IAErB4B,kCAAAA,2BAAAA;;;QAAAA,IAAMC,OAAND;YACCA,kCAAAA,2BAAAA;;;gBAAAA,IAAME,UAANF;gBACJ,IAAMG,aAAaL,OAAOM,wBAAwB,CAACF,QAAQrC,SAAS,EAAEoC;gBACtEH,OAAOO,cAAc,CAACH,QAAQrC,SAAS,EAAEoC,MAAM;oBAC9CK,KAAAA,SAAAA;wBACC,IAAI,kCAAkCC,IAAI,CAACN,OAAO;4BACjD,OAAOjC,gEAASA,CAACmC,WAAWG,GAAG,CAACE,IAAI,CAAC,IAAI;wBAC1C;wBAEA,IAAI,IAAI,CAACC,WAAW,CAACR,KAAK,EAAE;4BAC3B,OAAO,IAAI,CAACQ,WAAW,CAACR,KAAK;wBAC9B;wBAEA,OAAOE,WAAWG,GAAG,CAACE,IAAI,CAAC,IAAI;oBAChC;oBAEAE,KAAAA,SAAAA,IAAIC,KAAK;wBACR,IAAI,CAACF,WAAW,CAACR,KAAK,GAAGU;wBAEzB,IAAI,sBAAsBJ,IAAI,CAACN,OAAO;4BACrC;wBACD,OAAO,IAAI,kCAAkCM,IAAI,CAACN,OAAO;4BACxDU,QAAQ1D,kDAASA,CAAC0D;wBACnB,OAAO,IAAIV,SAAS,UAAU;4BAC7BU,QAAQ1C,oDAAWA,CAAC0C;wBACrB,OAAO,IAAI,iBAAiBJ,IAAI,CAACN,OAAO;4BACvCU,QAAQxC,sDAAaA,CAACwC;wBACvB;wBAEAR,WAAWO,GAAG,CAACF,IAAI,CAAC,IAAI,EAAEG;oBAC3B;gBACD;YACD;YA/BA,QAAKX,YAAiB5B,UAAU,CAAC6B,KAAK,qBAAjCD,UAAAA,6BAAAA,SAAAA,yBAAAA;;YAAAA;YAAAA;;;qBAAAA,6BAAAA;oBAAAA;;;oBAAAA;0BAAAA;;;;IAgCN;IAjCA,QAAKA,YAAcH,0BAAdG,SAAAA,6BAAAA,QAAAA,yBAAAA;;IAAAA;IAAAA;;;aAAAA,6BAAAA;YAAAA;;;YAAAA;kBAAAA;;;;AAyCLY,QAAQ/C,SAAS,CAAC4C,WAAW,GAAG,CAAC;AAEjCG,QAAQ/C,SAAS,CAACgD,YAAY,GAAG,IAAIzD,MAAMwD,QAAQ/C,SAAS,CAACgD,YAAY,EAAE;IAC1ExD,OAAAA,SAAAA,MAAMC,MAAM,EAAEC,OAAO,EAAEC,QAAQ;QAC9B,IAAIqC,MAAM9B,QAAQ,CAACP,QAAQ,CAAC,EAAE,KAAKD,QAAQkD,WAAW,CAACjD,QAAQ,CAAC,EAAE,CAAC,EAAE;YACpE,OAAOD,QAAQkD,WAAW,CAACjD,QAAQ,CAAC,EAAE,CAAC;QACxC;QAEA,OAAOC,QAAQJ,KAAK,CAACC,QAAQC,SAASC;IACvC;AACD;AAEAoD,QAAQ/C,SAAS,CAACiD,YAAY,GAAG,IAAI1D,MAAMwD,QAAQ/C,SAAS,CAACiD,YAAY,EAAE;IAC1EzD,OAAAA,SAAAA,MAAMC,MAAM,EAAEC,OAAO,EAAEC,QAAQ;QAC9B,IAAIqC,MAAM9B,QAAQ,CAACP,QAAQ,CAAC,EAAE,GAAG;YAChCD,QAAQkD,WAAW,CAACjD,QAAQ,CAAC,EAAE,CAAC,GAAGA,QAAQ,CAAC,EAAE;YAC9C,IAAI,sBAAsB+C,IAAI,CAAC/C,QAAQ,CAAC,EAAE,GAAG;gBAC5C;YACD,OAAO,IAAI,kCAAkC+C,IAAI,CAAC/C,QAAQ,CAAC,EAAE,GAAG;gBAC/DA,QAAQ,CAAC,EAAE,GAAGP,kDAASA,CAACO,QAAQ,CAAC,EAAE;YACpC,OAAO,IAAIA,QAAQ,CAAC,EAAE,KAAK,UAAU;gBACpCA,QAAQ,CAAC,EAAE,GAAGS,oDAAWA,CAACT,QAAQ,CAAC,EAAE;YACtC,OAAO,IAAI,iBAAiB+C,IAAI,CAAC/C,QAAQ,CAAC,EAAE,GAAG;gBAC9CA,QAAQ,CAAC,EAAE,GAAGW,sDAAaA,CAACX,QAAQ,CAAC,EAAE;YACxC,OAAO,IAAIA,QAAQ,CAAC,EAAE,KAAK,SAAS;gBACnCA,QAAQ,CAAC,EAAE,GAAGE,mDAAUA,CAACF,QAAQ,CAAC,EAAE;YACrC;QACD;QAEA,OAAOC,QAAQJ,KAAK,CAACC,QAAQC,SAASC;IACvC;AACD;AAEA,IAAMuD,YAAYjB,OAAOM,wBAAwB,CAChDQ,QAAQ/C,SAAS,EACjB;AAGDiC,OAAOO,cAAc,CAACO,QAAQ/C,SAAS,EAAE,aAAa;IACrD6C,KAAAA,SAAAA,IAAIC,KAAK;QACR,IAAQK,YAAJ,IAAIA,EAAYxC,oBAAmB;YACtCmC,QAAQzC,kDAASA,CAACyC;QACnB,OAAO,IAAQK,YAAJ,IAAIA,EAAYC,mBAAkB;YAC5CN,QAAQjD,mDAAUA,CAACiD;QACpB;QAEA,OAAOI,UAAUL,GAAG,CAACF,IAAI,CAAC,IAAI,EAAEG;IACjC;AACD;;;;;ACxHA,6DAA6D;AAC7D,4FAA4F;AAE5F,iEAAiE;AACjE,0CAA0C;AAC1C,aAAa;AAEb,2DAA2D;AAC3D,QAAQ;AACR,KAAK;;;;;;;;ACTgC;AAErCO,OAAOC,OAAO,CAACC,SAAS,GAAG,IAAIhE,MAAM8D,OAAOC,OAAO,CAACC,SAAS,EAAE;IAC9D/D,OAAAA,SAAAA,MAAMC,MAAM,EAAEC,OAAO,EAAEC,QAAQ;QAC9BA,QAAQ,CAAC,EAAE,GAAGQ,kDAASA,CAACR,QAAQ,CAAC,EAAE;QAEnC,OAAOC,QAAQJ,KAAK,CAACC,QAAQC,SAASC;IACvC;AACD;AAEA0D,OAAOC,OAAO,CAACE,YAAY,GAAG,IAAIjE,MAAM8D,OAAOC,OAAO,CAACE,YAAY,EAAE;IACpEhE,OAAAA,SAAAA,MAAMC,MAAM,EAAEC,OAAO,EAAEC,QAAQ;QAC9BA,QAAQ,CAAC,EAAE,GAAGQ,kDAASA,CAACR,QAAQ,CAAC,EAAE;QAEnC,OAAOC,QAAQJ,KAAK,CAACC,QAAQC,SAASC;IACvC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;iKChBoB;AACC;AACD;AACM;AACH;AACI;AACE;AACS;AACL;AACX;AACA;AACJ;AACI;AACD;AACH;AACG;;;;;;;;;;;;;ACfrB,cAAc;AACkC;AAEhD,SAAS8D;IACR,IAAMC,MAAM,IAAIC,IAAIxD,kDAASA,CAACyD,SAASzC,IAAI;IAC3CuC,IAAIG,MAAM,GAAG,SAACC;eAAgBF,SAASC,MAAM,CAACzE,kDAASA,CAAC0E;;IACxDJ,IAAIK,MAAM,GAAG;eAAMH,SAASG,MAAM;;IAClCL,IAAIM,OAAO,GAAG,SAACF;eAAgBF,SAASI,OAAO,CAAC5E,kDAASA,CAAC0E;;IAC1DJ,IAAIO,QAAQ,GAAG;eAAMP,IAAIvC,IAAI;;IAE7B,OAAOuC;AACR;AAEO,IAAMQ,gBAAgB,IAAI3E,MAAM8D,OAAOO,QAAQ,EAAE;IACvDnB,KAAAA,SAAAA,IAAIhD,MAAM,EAAE0E,IAAI;QACf,IAAMT,MAAMD;QAEZ,OAAOC,GAAG,CAACS,KAAK;IACjB;IAEAtB,KAAAA,SAAAA,IAAIuB,GAAG,EAAED,IAAI,EAAErB,KAAK;QACnB,IAAMY,MAAMD;QAEZ,IAAIU,SAAS,QAAQ;YACpBP,SAASzC,IAAI,GAAG/B,kDAASA,CAAC0D;QAC3B,OAAO;YACNY,GAAG,CAACS,KAAK,GAAGrB;QACb;QAEA,OAAO;IACR;AACD,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/BmC;AAEtC,IAAMuB,gBAAgB,IAAI9E,MAAM+E,UAAU;IACzCC,WAAAA,SAAAA,UAAU9E,MAAM,EAAEE,QAAQ;QACzB,IAAIA,SAAS6E,MAAM,KAAK,GAAG;YAC1B,OAAO5E,QAAQ2E,SAAS,CAAC9E,QAAQY,kDAASA,CAACV,QAAQ,CAAC,EAAE;QACvD,OAAO;YACN,OAAOC,QAAQ2E,SAAS,CACvB9E,QACAY,kDAASA,CAACV,QAAQ,CAACA,SAAS6E,MAAM,GAAG,EAAE;QAEzC;IACD;IACAhF,OAAAA,SAAAA,MAAMC,MAAM,EAAEC,OAAO,EAAEC,QAAQ;QAC9B,IAAIA,SAAS6E,MAAM,KAAK,GAAG;YAC1B,OAAO5E,QAAQJ,KAAK,CAACC,QAAQgF,WAAW;gBAACpE,kDAASA,CAACV,QAAQ,CAAC,EAAE;aAAE;QACjE,OAAO;YACN,OAAOC,QAAQJ,KAAK,CAACC,QAAQgF,WAC5B,qBAAG9E,SAAS+E,GAAG,CAAC,SAACC,GAAGC;uBAAUA,UAAUjF,SAAS6E,MAAM,GAAG;uBADnB;gBAEvCnE,kDAASA,CAACV,QAAQ,CAACA,SAAS6E,MAAM,GAAG,EAAE;aACvC;QACF;IACD;AACD;AAEA,OAAOnB,OAAOiB,QAAQ;AAEtBjB,OAAOiB,QAAQ,GAAGD;AAElBhB,OAAOwB,IAAI,GAAG,IAAItF,MAAM8D,OAAOwB,IAAI,EAAE;IACpCrF,OAAAA,SAAAA,MAAMC,MAAM,EAAEC,OAAO,EAAEC,QAAQ;QAC9B,OAAOC,QAAQJ,KAAK,CAACC,QAAQC,SAAS;YAACW,kDAASA,CAACV,QAAQ,CAAC,EAAE;SAAE;IAC/D;AACD;;;;;;;;ACjCA,iDAAiD;AAEK;AAEtD0D,OAAO0B,KAAK,GAAG,IAAIxF,MAAM8D,OAAO0B,KAAK,EAAE;IACtCvF,OAAAA,SAAAA,MAAMC,MAAM,EAAEC,OAAO,EAAEC,QAAQ;QAC9BA,QAAQ,CAAC,EAAE,GAAGP,kDAASA,CAACO,QAAQ,CAAC,EAAE;QAEnC,OAAOC,QAAQJ,KAAK,CAACC,QAAQC,SAASC;IACvC;AACD;AAEAqF,UAAU,IAAIzF,MAAMyF,SAAS;IAC5BT,WAAAA,SAAAA,UAAU9E,MAAM,EAAEE,QAAQ,EAAEsF,SAAS;QACpCtF,QAAQ,CAAC,EAAE,GAAGmF,uDAAcA,CAACnF,QAAQ,CAAC,EAAE;QAExC,OAAOC,QAAQ2E,SAAS,CAAC9E,QAAQE,UAAUsF;IAC5C;AACD;AAEAC,UAAU,IAAI3F,MAAM2F,SAAS;IAC5BX,WAAAA,SAAAA,UAAU9E,MAAM,EAAEE,QAAQ,EAAEsF,SAAS;QACpC,IAAI,OAAOtF,QAAQ,CAAC,EAAE,KAAK,UAAUA,QAAQ,CAAC,EAAE,GAAGP,kDAASA,CAACO,QAAQ,CAAC,EAAE;QAExE,OAAOC,QAAQ2E,SAAS,CAAC9E,QAAQE,UAAUsF;IAC5C;AACD;AAEAE,SAASC,QAAQ,GAAG,IAAI7F,MAAM4F,SAASC,QAAQ,EAAE;IAChD5F,OAAAA,SAAAA,MAAMC,MAAM,EAAEC,OAAO,EAAEC,QAAQ;QAC9BA,QAAQ,CAAC,EAAE,GAAGP,kDAASA,CAACO,QAAQ,CAAC,EAAE;QAEnC,OAAOC,QAAQJ,KAAK,CAACC,QAAQC,SAASC;IACvC;AACD;;;;;;;;AClCuC;AACvC,IAAM2F,SAAS,IAAID,+CAAUA;AAE7BE,YAAY,IAAIhG,MAAMgG,WAAW;IAChChB,WAAAA,SAAAA,UAAU9E,MAAM,EAAE+F,IAAI;QACrB,OAAOF,OAAOG,eAAe,CAC5BD,IAAI,CAAC,EAAE,EACPA,IAAI,CAAC,EAAE,EACP/F,QACA;YACC,cAAcJ,UAAUqG,SAAS;QAClC,GACAC,YAAY3F,SAAS;IAEvB;AACD;;;;;;;;ACfsD;AAEtD4F,eAAe5F,SAAS,CAAC6F,IAAI,GAAG,IAAItG,MAAMqG,eAAe5F,SAAS,CAAC6F,IAAI,EAAE;IACxErG,OAAAA,SAAAA,MAAMC,MAAM,EAAEC,OAAO,EAAEC,QAAQ;QAC9B,IAAIA,QAAQ,CAAC,EAAE,EAAEA,QAAQ,CAAC,EAAE,GAAGP,kDAASA,CAACO,QAAQ,CAAC,EAAE;QAEpD,OAAOC,QAAQJ,KAAK,CAACC,QAAQC,SAASC;IACvC;AACD;AAEAiG,eAAe5F,SAAS,CAAC8F,gBAAgB,GAAG,IAAIvG,MAC/CqG,eAAe5F,SAAS,CAAC8F,gBAAgB,EACzC;IACCtG,OAAAA,SAAAA,MAAMC,MAAM,EAAEC,OAAO,EAAEC,QAAQ;QAC9B,IAAIoG,eAAe9D,OAAO+D,WAAW,CAAC;YAACrG;SAAS;QAChDoG,eAAejB,uDAAcA,CAACiB;QAE9BpG,WAAWsC,OAAOgE,OAAO,CAACF,aAAa,CAAC,EAAE;QAE1C,OAAOnG,QAAQJ,KAAK,CAACC,QAAQC,SAASC;IACvC;AACD;;;;;;;;;;;;;;;;ACrB0C;AACJ;AAEvC,SAASwG,MAAMC,UAAe;IAC7B,IAAcjD,YAAViD,YAAsBC,SAAQ;QACjC,OAAOH,gDAAWA;IACnB,OAAO,IAAc/C,YAAViD,YAAsBE,WAAU;QAC1C,OAAOpC,oDAAaA;IACrB;IAEA,OAAOkC;AACR;AAEA,2DAA2D;AAC3D/C,OAAOkD,EAAE,GAAGJ;;;;;;;;;;;;;;;;;;;ICHRK,yBAAAA,KAAKC,SAAS,CAACC,MAAM,gCAArBF,uBAVHG,mCAUGH,uBATH1C,sCASG0C,uBARHI;AAHM,IACEC,6CAAAA,gBAAgBxB,yCAAAA,YACjBjG,uCAAAA,WAAWe,uCAAAA,WAEjBN,4CAAAA,YACAO,6CAAAA,aACAE,+CAAAA,eACAD,2CAAAA,WACAyE,gDAAAA,gBACAgC,gDAAAA,eAEwB;;;;;;;;;;ACX2B;AACV;AAE3C,IAAME,QAAQ,IAAID,mEAAUA,CAAC7C,yDAAkB,EAAE;IAChDgD,QAAQ;IACRC,YAAY;AACb;AAEA,MAAMH,MAAMI,IAAI;AAEhB,SAASC,aAAalB,KAAc;IACnC,OAAO,IAAI5G,MAAM4G,OAAO;QACvB1D,KAAAA,SAAAA,IAAIhD,MAAM,EAAE0E,IAAI;YACf,OAAQA;gBACP,KAAK;oBACJ,OAAO,SAACmD;wBACP,OAAON,MAAMvE,GAAG,CAAC6E;oBAClB;gBAED,KAAK;oBACJ,OAAO,SAACA,KAAaxE;wBACpBkE,MAAMnE,GAAG,CAACyE,KAAKxE;wBACfkE,MAAMI,IAAI;oBACX;gBAED,KAAK;oBACJ,OAAO,SAACE;wBACPN,MAAMO,MAAM,CAACD;wBACbN,MAAMI,IAAI;oBACX;gBAED,KAAK;oBACJ,OAAO;wBACNJ,MAAMQ,KAAK;wBACXR,MAAMI,IAAI;oBACX;gBAED,KAAK;oBACJ,OAAO,SAACxC;wBACPoC,MAAM9E,IAAI,EAAE,CAAC0C,MAAM;oBACpB;gBACD,KAAK;oBACJ,OAAOoC,MAAMS,IAAI;gBAClB;oBACC,OAAOT,MAAMvE,GAAG,CAAC0B;YACnB;QACD;QAEA,YAAY;QACZtB,KAAAA,SAAAA,IAAIpD,MAAM,EAAE0E,IAAI,EAAErB,KAAK;YACtBkE,MAAMnE,GAAG,CAACsB,MAAMrB;YAChBkE,MAAMI,IAAI;QACX;QAEA5E,gBAAAA,SAAAA,eAAe/C,MAAM,EAAEiI,QAAQ,EAAEC,UAAU;YAC1CX,MAAMnE,GAAG,CAAC6E,UAAoBC,WAAW7E,KAAK;YAE9C,OAAO;QACR;IACD;AACD;AAEA,IAAM8E,oBAAoBP,aAAahE,OAAOwE,YAAY;AAC1D,IAAMC,sBAAsBT,aAAahE,OAAO0E,cAAc;AAE9D,OAAO1E,OAAOwE,YAAY;AAC1B,OAAOxE,OAAO0E,cAAc;AAE5B1E,OAAOwE,YAAY,GAAGD;AACtBvE,OAAO0E,cAAc,GAAGD;;;;;;;ACrExB,gEAAgE;AAEhE,qEAAqE;AACrE,sCAAsC;AACtC,kCAAkC;AAClC,kEAAkE;AAClE,4CAA4C;AAC5C,kDAAkD;AAClD,SAAS;AACT,SAAS;AACT,MAAM;AACN,EAAE;AACF,oCAAoC;AACpC,sEAAsE;AACtE,4CAA4C;AAC5C,gDAAgD;AAChD,SAAS;AACT,SAAS;AACT,MAAM;AACN,EAAE;AACF,uCAAuC;AACvC,4EAA4E;AAC5E,4CAA4C;AAC5C,gDAAgD;AAChD,SAAS;AACT,SAAS;AACT,MAAM;AACN,EAAE;AACF,qDAAqD;AACrD,MAAM;AACN,MAAM;AAEN,aAAa;AACb,OAAOzE,OAAO2E,WAAW;AACzB,OAAO3E,OAAO4E,aAAa;AAC3B,OAAO5E,OAAO6E,gBAAgB;AAC9B,OAAO7E,OAAO8E,iBAAiB;AAC/B,OAAO9E,OAAO+E,wBAAwB;AACtC,OAAO/E,OAAOgF,YAAY;;;;;;;;;;;ACtC0B;AAC7C,IAAM1E,MAAM2E,WAAW3E,GAAG,CAAC;AAElC,IAAI2E,WAAWjF,MAAM,EAAE;IACtBA,OAAOM,GAAG,GAAG,IAAIpE,MAAMoE,KAAK;QAC3BY,WAAAA,SAAAA,UAAU9E,MAAM,EAAEE,QAAQ,EAAEsF,SAAS;YACpC,IAAI,OAAOtF,QAAQ,CAAC,EAAE,KAAK,UAAUA,QAAQ,CAAC,EAAE,GAAGP,gEAASA,CAACO,QAAQ,CAAC,EAAE;YACxE,IAAI,OAAOA,QAAQ,CAAC,EAAE,KAAK,UAAUA,QAAQ,CAAC,EAAE,GAAGP,gEAASA,CAACO,QAAQ,CAAC,EAAE;YAExE,OAAOC,QAAQ2E,SAAS,CAAC9E,QAAQE,UAAUsF;QAC5C;IACD;AACD;;;;;;;;;;;ACZ2C;AAEpC,IAAMiB,cAAc,IAAI3G,MAAM8D,QAAQ;IAC5CZ,KAAAA,SAAAA,IAAIhD,MAAM,EAAE0E,IAAI;QACf,IAAMoE,eAAe,OAAOpE,SAAS;QACrC,IAAIoE,gBAAgBpE,SAAS,YAAY;YACxC,OAAOD,oDAAaA;QACrB,OAAO,IACNqE,gBACA;YAAC;YAAU;YAAO;YAAU;YAAQ;SAAa,CAACrI,QAAQ,CAACiE,OAC1D;YACD,OAAO+B;QACR,OAAO,IAAIqC,gBAAgBpE,SAAS,aAAa;YAChD;QACD,OAAO,IAAIoE,gBAAgBpE,SAAS,oBAAoB;YACvDqE,QAAQC,GAAG,CAAC;YAEZ,OAAO,IAAIlJ,MAAM8D,OAAOqF,gBAAgB,EAAE;gBACzClJ,OAAAA,SAAAA,MAAMmJ,OAAO,EAAEjJ,OAAO,EAAEC,QAAQ;oBAC/B0D,OAAOqF,gBAAgB,CAAC/I,QAAQ,CAAC,EAAE,EAAEA,QAAQ,CAAC,EAAE;gBACjD;YACD;QACD;QAEA,IAAMmD,QAAQlD,QAAQ6C,GAAG,CAAChD,QAAQ0E;QAElC,IAAI,OAAOrB,UAAU,YAAY;YAChC,OAAOA,MAAM8F,IAAI,CAACnJ;QACnB;QAEA,OAAOqD;IACR;IAEAD,KAAAA,SAAAA,IAAIpD,MAAM,EAAE0E,IAAI,EAAE0E,QAAQ;QACzB,uCAAuC;QACvC,IACC,OAAO1E,SAAS,YAChB;YAAC;YAAU;YAAO;YAAU;YAAQ;YAAc;SAAW,CAACjE,QAAQ,CACrEiE,OAEA;YACD,OAAO;QACR;QAEA,OAAOvE,QAAQiD,GAAG,CAACpD,QAAQ0E,MAAM0E;IAClC;AACD,GAAG;;;;;;;;AC9CkC;AAErCC,SAAS,IAAIvJ,MAAMuJ,QAAQ;IAC1BvE,WAAAA,SAAAA,UAAU9E,MAAM,EAAEE,QAAQ;QACzBA,QAAQ,CAAC,EAAE,GAAGP,kDAASA,CAACO,QAAQ,CAAC,EAAE;QAEnC,4DAA4D;QAC5D,yDAAyD;QACzD,8EAA8E;QAE9E,OAAOC,QAAQ2E,SAAS,CAAC9E,QAAQE;IAClC;AACD;AAEAoJ,QAAQ/I,SAAS,CAACgJ,SAAS,GAAG,IAAIzJ,MAAMwJ,QAAQ/I,SAAS,CAACgJ,SAAS,EAAE;IACpExJ,OAAAA,SAAAA,MAAMC,MAAM,EAAEC,OAAO,EAAEC,QAAQ;QAC9BA,QAAQ,CAAC,EAAE,GAAGP,kDAASA,CAACO,QAAQ,CAAC,EAAE;QAEnC,OAAOC,QAAQJ,KAAK,CAACC,QAAQC,SAASC;IACvC;AACD,IAEA,SAAS;CAET,2DAA2D;CAC3D,yCAAyC;CACzC,sCAAsC;CACtC,oDAAoD;CACpD,YAAY;CAEZ,2DAA2D;CAC3D,SAAS;CACT,MAAM;;;;;;;;;;;;;;AChCgC;AACH;AACK;AACN;AAGlC,kEAAkE;AAElE,6BAA6B;AAE7B,WAAW;AACX,SAAS;AACT,OAAO;AACP,aAAa;AACb,OAAO;AACP,MAAM;AACN,SAAS;AAEF,SAASU,UAAU+I,EAAU,EAAEC,MAAY;IACjD,IAAI;QACH,IAAMC,MAAML,oDAAWA,CAACG,IAAI;YAC3BG,QAAQ;YACRC,WAAW;QACZ;QAEA,IAAMC,iBAAiB;YACtB;YACA;YACA;YACA;YACA;YACA;YACA;SACA;QAED,IAAMC,iBAAiBP,sDAAYA,CAAC;YACnCQ,mBAAmB,SAACC;gBACnBA,KAAKC,MAAM,CAAC/G,KAAK,GAAG1D,+CAASA,CAACwK,KAAKC,MAAM,CAAC/G,KAAK,EAAYuG;YAC5D;YAEAS,kBAAkB,SAACF;gBAClB,IAAIA,KAAKC,MAAM,CAACE,IAAI,KAAK,WAAW;oBACnCH,KAAKC,MAAM,CAAC/G,KAAK,GAAG1D,+CAASA,CAACwK,KAAKC,MAAM,CAAC/G,KAAK,EAAYuG;gBAC5D,OAAO,IAAIO,KAAKC,MAAM,CAACE,IAAI,KAAK,cAAc;oBAC7C,gDAAgD;oBAChD,6BAA6B;oBAC7B,4BAA4B;oBAC5BH,KAAKC,MAAM,CAACG,IAAI,GAAI,gBAAgCC,OAAjBL,KAAKC,MAAM,CAACG,IAAI,EAACC;gBACrD;YACD;YAEAC,sBAAsB,SAACN;gBACtBA,KAAKC,MAAM,CAAC/G,KAAK,GAAG1D,+CAASA,CAACwK,KAAKC,MAAM,CAAC/G,KAAK,EAAYuG;YAC5D;YAEAc,wBAAwB,SAACP;gBACxB,yEAAyE;gBACzE,IAAIA,KAAKC,MAAM,EACdD,KAAKC,MAAM,CAAC/G,KAAK,GAAG1D,+CAASA,CAACwK,KAAKC,MAAM,CAAC/G,KAAK,EAAYuG;YAC7D;YAEAe,kBAAkB,SAACR;gBAClB,IACCA,KAAKS,MAAM,CAACN,IAAI,KAAK,gBACrBN,eAAevJ,QAAQ,CAAC0J,KAAKS,MAAM,CAACL,IAAI,GACvC;oBACDJ,KAAKS,MAAM,CAACL,IAAI,GAAI,iBAAiCC,OAAjBL,KAAKS,MAAM,CAACL,IAAI,EAACC;gBACtD;YACD;YAEAK,sBAAsB,SAACV;gBACtB,IACCA,KAAKW,IAAI,CAACR,IAAI,KAAK,gBACnBN,eAAevJ,QAAQ,CAAC0J,KAAKW,IAAI,CAACP,IAAI,GACrC;oBACDJ,KAAKW,IAAI,CAACP,IAAI,GAAI,iBAA+BC,OAAfL,KAAKW,IAAI,CAACP,IAAI,EAACC;gBAClD;gBAEA,IACCL,KAAKY,KAAK,CAACT,IAAI,KAAK,gBACpBN,eAAevJ,QAAQ,CAAC0J,KAAKY,KAAK,CAACR,IAAI,GACtC;oBACDJ,KAAKY,KAAK,CAACR,IAAI,GAAI,iBAAgCC,OAAhBL,KAAKY,KAAK,CAACR,IAAI,EAACC;gBACpD;YACD;YAEAQ,oBAAoB,SAACb;gBACpB,IACCA,KAAKc,IAAI,IACTd,KAAKc,IAAI,CAACX,IAAI,KAAK,gBACnBN,eAAevJ,QAAQ,CAAC0J,KAAKc,IAAI,CAACV,IAAI,GACrC;oBACDJ,KAAKc,IAAI,CAACV,IAAI,GAAI,iBAA+BC,OAAfL,KAAKc,IAAI,CAACV,IAAI,EAACC;gBAClD;YACD;QACD;QAEAP,eAAeiB,EAAE,CAACrB;QAElB,OAAOJ,iDAAQA,CAACI;IACjB,EAAE,OAAOsB,GAAG;QACXpC,QAAQqC,KAAK,CAACD;QACdpC,QAAQC,GAAG,CAACW;QAEZ,OAAOA;IACR;AACD;;;;;;;;;;;;;;;;;;;;AC1GuC;AACN;AAEjC,SAAS0B,YAAYhH,GAAW,EAAEuF,MAAY;IAC7C,IAAI;QACH,IAAI1F,4CAAGA,CAACG,KAAKuF;QAEb,OAAO;IACR,EAAE,UAAM;QACP,OAAO;IACR;AACD;AAEA,sDAAsD;AAC/C,SAASjK,UAAU0E,GAAiB,EAAEuF,MAAY;IACxD,IAAOlG,YAAHW,KAAeH,4CAAGA,GAAE;QACvB,OAAOG,IAAIG,QAAQ;IACpB;IAEA,IAAI,CAACoF,QAAQ;QACZA,SAAS,IAAI1F,4CAAGA,CACfoH,KAAKtE,SAAS,CAACuE,MAAM,CAACC,KAAK,CAACC,MAAM,CACjCtH,SAASzC,IAAI,CAACgK,KAAK,CACjBvH,CAAAA,SAASyF,MAAM,GAAG0B,KAAKtE,SAAS,CAACuE,MAAM,CAAC9D,MAAK,EAAG1C,MAAM;IAI3D;IAEA,gCAAgC;IAChC,IAAI,CAACV,KAAKA,MAAMuF,OAAOlI,IAAI;IAE3B,IAAI2C,IAAIsH,UAAU,CAAC,gBAAgB;QAClC,OAAO,gBAAgB/K,8CAASA,CAACyD,IAAIqH,KAAK,CAAC,cAAc3G,MAAM;IAChE,OAAO,IAAI,yBAAyB9B,IAAI,CAACoB,MAAM;QAC9C,OAAOA;IACR,OAAO,IAAIgH,YAAYhH,KAAKuF,SAAS;QACpC,OACCzF,SAASyF,MAAM,GACf0B,KAAKtE,SAAS,CAACuE,MAAM,CAAC9D,MAAM,GAC5B6D,KAAKtE,SAAS,CAACuE,MAAM,CAACC,KAAK,CAACI,MAAM,CAAC,IAAI1H,4CAAGA,CAACG,KAAKuF,QAAQlI,IAAI;IAE9D;AACD;AAEA,2DAA2D;AACpD,SAAShB,UAAU2D,GAAiB;IAC1C,IAAOX,YAAHW,KAAeH,4CAAGA,GAAE;QACvB,OAAOG,IAAIG,QAAQ;IACpB;IAEA,IAAI,oCAAoCvB,IAAI,CAACoB,MAAM;QAClD,OAAOA;IACR,OAAO,IAAIgH,YAAYhH,MAAM;QAC5B,OAAOiH,KAAKtE,SAAS,CAACuE,MAAM,CAACC,KAAK,CAACC,MAAM,CACxCpH,IAAIqH,KAAK,CAAEvH,CAAAA,SAASyF,MAAM,GAAG0B,KAAKtE,SAAS,CAACuE,MAAM,CAAC9D,MAAK,EAAG1C,MAAM;IAEnE,OAAO;QACN,OAAOV;IACR;AACD;;;;;;;;;;AC5DA,QAAQ,SAAS;;AAEjB;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB,UAAU,kCAAkC;AAC5C,UAAU,QAAQ;AAClB;;AAEA,cAAc,wBAAwB;;AAEtC,WAAW,eAAe;AAC1B,yBAAyB;;AAEzB;AACA;AACA,aAAa,yBAAyB;AACtC,aAAa;AACb;AACA,kBAAkB,UAAU,UAAU;;AAEvB;AACf;AACA,aAAa,sBAAsB;AACnC,aAAa,eAAe;AAC5B,aAAa,QAAQ;;AAErB;AACA;AACA,aAAa,0CAA0C;AACvD,aAAa,0BAA0B;AACvC,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,0BAA0B,aAAa,GAAG,KAAK;AAC/C;AACA,4BAA4B,UAAU,uBAAuB;AAC7D;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,YAAY,2BAA2B;AACvC;AACA;AACA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,aAAa;AAC1B,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,aAAa;AAC1B,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;AC3MgC;;AAEjB;AACf;AACA;AACA;AACA;AACA,oBAAoB,iDAAM;AAC1B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,YAAY;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACO;;AAEA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA,YAAY,SAAS;AACrB,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU,YAAY;AACtB,UAAU,eAAe;AACzB;AACA,UAAU,SAAS;AACnB;AACA;AACA,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,YAAY,yBAAyB;AACrC;AACA;AACA;AACA;AACA,YAAY,SAAS;AACrB,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,YAAY,yBAAyB;AACrC;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,sBAAsB,YAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,YAAY,yBAAyB;AACrC;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,YAAY,oBAAoB;AAChC,YAAY,0BAA0B;AACtC,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,0BAA0B;AACxC,sBAAsB,qBAAqB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,GAAG;AACH;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,uBAAuB,2BAA2B;AAClD,YAAY,OAAO;AACnB;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,0BAA0B;AAC1B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,yCAAyC,cAAc;AACvD;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,YAAY,aAAa;AACzB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,eAAe;AACf;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,MAAM;AACN,oBAAoB;AACpB,cAAc,aAAa;AAC3B,UAAU,SAAS;AACnB;AACA,0BAA0B;AAC1B;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,GAAG;AACH;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB,oBAAoB,YAAY;AAChC;AACA;AACA;AACA,qBAAqB;AACrB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,cAAc,WAAW;AACzB,UAAU,SAAS;AACnB,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,YAAY,yBAAyB;AACrC;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,UAAU,SAAS;AACnB,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,QAAQ;AACR;AACA;AACA,+BAA+B;AAC/B,QAAQ;AACR,sBAAsB;AACtB;AACA,MAAM;AACN,oBAAoB;AACpB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA,kBAAkB;AAClB;AACA,cAAc,aAAa;AAC3B,UAAU,SAAS;AACnB,wBAAwB;AACxB;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,oBAAoB,UAAU;AAC9B,GAAG;AACH;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA,YAAY,QAAQ;AACpB,oBAAoB,cAAc,GAAG,YAAY;AACjD,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,SAAS;AACzB,cAAc,eAAe;AAC7B,wBAAwB,YAAY;AACpC;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,SAAS;AACrB,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACnqCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,mCAAmC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,IAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mBAAmB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB,UAAU;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,cAAc;AAC1B,gBAAgB,cAAc;AAC9B,UAAU,cAAc;AACxB,cAAc,cAAc;AAC5B,WAAW,cAAc;AACzB,YAAY,cAAc;AAC1B,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,UAAU,gBAAgB;AAC1B,cAAc,iBAAiB;AAC/B,aAAa,cAAc;AAC3B,YAAY,cAAc;AAC1B,aAAa,cAAc;AAC3B,WAAW,cAAc;AACzB,aAAa,cAAc;AAC3B,cAAc,iBAAiB;AAC/B,aAAa,cAAc;AAC3B,cAAc,cAAc;AAC5B,gBAAgB,cAAc;AAC9B,eAAe,cAAc;AAC7B,kBAAkB,gBAAgB;AAClC,UAAU,cAAc;AACxB,YAAY,iBAAiB;AAC7B,eAAe,cAAc;AAC7B,aAAa,eAAe;AAC5B,aAAa,eAAe;AAC5B,aAAa,cAAc;AAC3B,aAAa,cAAc;AAC3B,mBAAmB,cAAc;AACjC,gBAAgB,cAAc;AAC9B,cAAc,cAAc;AAC5B,eAAe,cAAc;AAC7B,aAAa,cAAc;AAC3B,YAAY,cAAc;AAC1B,WAAW,cAAc;AACzB,kBAAkB,cAAc;AAChC,cAAc,cAAc;AAC5B,iBAAiB,cAAc;AAC/B,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B,UAAU,eAAe;AACzB,eAAe,cAAc;AAC7B,eAAe,cAAc;AAC7B,iBAAiB,cAAc;AAC/B,cAAc,cAAc;AAC5B,WAAW,cAAc;AACzB,cAAc,cAAc;AAC5B,aAAa,cAAc;AAC3B,YAAY,cAAc;AAC1B,YAAY,cAAc;AAC1B,aAAa,eAAe;AAC5B,YAAY,cAAc;AAC1B,YAAY,kBAAkB;AAC9B,UAAU,cAAc;AACxB,iBAAiB,kBAAkB;AACnC,cAAc,eAAe;AAC7B,YAAY,eAAe;AAC3B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,sDAAsD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mCAAmC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,WAAW;AACjF;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,sDAAsD,WAAW;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,4FAA4F,oBAAoB;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,4DAA4D,WAAW;AACvE,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,WAAW;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,WAAW;AAC3E;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO,uCAAuC;AAC1D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mCAAmC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mCAAmC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4BAA4B;AACpD;AACA,wBAAwB,QAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wCAAwC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,UAAU;AACjC;AACA;AACA;AACA;AACA,uBAAuB,UAAU;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,QAAQ;AACpB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA,oBAAoB,qCAAqC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,eAAe;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4BAA4B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,YAAY,kDAAkD;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,kDAAkD;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kDAAkD;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kDAAkD;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,wCAAwC;AACpD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,kDAAkD;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,+CAA+C;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,UAAU,+CAA+C;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mCAAmC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+CAA+C;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;AACA,4BAA4B,4BAA4B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,4BAA4B;AACxD;AACA;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,gEAAgE;AAC5F;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,uDAAuD;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oDAAoD;AAChE;AACA;AACA,gBAAgB,mCAAmC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mCAAmC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,oCAAoC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,YAAY,mCAAmC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEsE"} \ No newline at end of file diff --git a/public/$/scramjet.codecs.js b/public/$/scramjet.codecs.js deleted file mode 100755 index 86cc299..0000000 --- a/public/$/scramjet.codecs.js +++ /dev/null @@ -1,110 +0,0 @@ -(() => { - // webpackBootstrap - 'use strict'; - // The require scope - var __webpack_require__ = {}; - - /************************************************************************/ - // webpack/runtime/make_namespace_object - (() => { - // define __esModule on exports - __webpack_require__.r = function (exports) { - if (typeof Symbol !== 'undefined' && Symbol.toStringTag) { - Object.defineProperty(exports, Symbol.toStringTag, { - value: 'Module' - }); - } - Object.defineProperty(exports, '__esModule', { value: true }); - }; - })(); - /************************************************************************/ - var __webpack_exports__ = {}; - __webpack_require__.r(__webpack_exports__); - var xor = { - encode: function (str) { - var key = - arguments.length > 1 && arguments[1] !== void 0 - ? arguments[1] - : 2; - if (!str) return str; - return encodeURIComponent( - str - .split('') - .map(function (e, i) { - return i % key - ? String.fromCharCode(e.charCodeAt(0) ^ key) - : e; - }) - .join('') - ); - }, - decode: function (str) { - var key = - arguments.length > 1 && arguments[1] !== void 0 - ? arguments[1] - : 2; - if (!str) return str; - return decodeURIComponent(str) - .split('') - .map(function (e, i) { - return i % key - ? String.fromCharCode(e.charCodeAt(0) ^ key) - : e; - }) - .join(''); - } - }; - var plain = { - encode: function (str) { - if (!str) return str; - return encodeURIComponent(str); - }, - decode: function (str) { - if (!str) return str; - return decodeURIComponent(str); - } - }; - /* -const aes = { - encode: (str: string | undefined) => { - if (!str) return str; - - return encodeURIComponent(enc(str, "dynamic").substring(10)); - }, - decode: (str: string | undefined) => { - if (!str) return str; - - return dec("U2FsdGVkX1" + decodeURIComponent(str), "dynamic"); - } -} -*/ var none = { - encode: function (str) { - return str; - }, - decode: function (str) { - return str; - } - }; - var base64 = { - encode: function (str) { - if (!str) return str; - return decodeURIComponent(btoa(str)); - }, - decode: function (str) { - if (!str) return str; - return atob(str); - } - }; - if (!self.$scramjet) { - //@ts-expect-error really dumb workaround - self.$scramjet = {}; - } - self.$scramjet.codecs = { - none: none, - plain: plain, - base64: base64, - xor: xor - }; - // for some reason eslint was parsing the type inside of the function params as a variable -})(); -//# sourceMappingURL=scramjet.codecs.js.map diff --git a/public/$/scramjet.codecs.js.map b/public/$/scramjet.codecs.js.map deleted file mode 100755 index 2fd66e5..0000000 --- a/public/$/scramjet.codecs.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"scramjet.codecs.js","sources":["webpack://@mercuryworkshop/scramjet/./src/codecs/index.ts"],"sourcesContent":["import { enc, dec } from \"./aes\";\n\n// for some reason eslint was parsing the type inside of the function params as a variable\nexport interface Codec {\n\t// eslint-disable-next-line\n\tencode: (str: string | undefined) => string;\n\t// eslint-disable-next-line\n\tdecode: (str: string | undefined) => string;\n}\n\nconst xor = {\n\tencode: (str: string | undefined, key: number = 2) => {\n\t\tif (!str) return str;\n\n\t\treturn encodeURIComponent(\n\t\t\tstr\n\t\t\t\t.split(\"\")\n\t\t\t\t.map((e, i) =>\n\t\t\t\t\ti % key ? String.fromCharCode(e.charCodeAt(0) ^ key) : e\n\t\t\t\t)\n\t\t\t\t.join(\"\")\n\t\t);\n\t},\n\tdecode: (str: string | undefined, key: number = 2) => {\n\t\tif (!str) return str;\n\n\t\treturn decodeURIComponent(str)\n\t\t\t.split(\"\")\n\t\t\t.map((e, i) => (i % key ? String.fromCharCode(e.charCodeAt(0) ^ key) : e))\n\t\t\t.join(\"\");\n\t},\n};\n\nconst plain = {\n\tencode: (str: string | undefined) => {\n\t\tif (!str) return str;\n\n\t\treturn encodeURIComponent(str);\n\t},\n\tdecode: (str: string | undefined) => {\n\t\tif (!str) return str;\n\n\t\treturn decodeURIComponent(str);\n\t},\n};\n\n/*\nconst aes = {\n encode: (str: string | undefined) => {\n if (!str) return str;\n\n return encodeURIComponent(enc(str, \"dynamic\").substring(10));\n },\n decode: (str: string | undefined) => {\n if (!str) return str;\n\n return dec(\"U2FsdGVkX1\" + decodeURIComponent(str), \"dynamic\");\n }\n}\n*/\n\nconst none = {\n\tencode: (str: string | undefined) => str,\n\tdecode: (str: string | undefined) => str,\n};\n\nconst base64 = {\n\tencode: (str: string | undefined) => {\n\t\tif (!str) return str;\n\n\t\treturn decodeURIComponent(btoa(str));\n\t},\n\tdecode: (str: string | undefined) => {\n\t\tif (!str) return str;\n\n\t\treturn atob(str);\n\t},\n};\n\nif (!self.$scramjet) {\n\t//@ts-expect-error really dumb workaround\n\tself.$scramjet = {};\n}\nself.$scramjet.codecs = {\n\tnone,\n\tplain,\n\tbase64,\n\txor,\n};\n"],"names":["xor","encode","str","key","encodeURIComponent","split","map","e","i","String","fromCharCode","charCodeAt","join","decode","decodeURIComponent","plain","none","base64","btoa","atob","self","$scramjet","codecs"],"mappings":";;;;;;;;;;;;;;;;;;;;AAUA,IAAMA,MAAM;IACXC,QAAQ,SAACC;YAAyBC,uEAAc;QAC/C,IAAI,CAACD,KAAK,OAAOA;QAEjB,OAAOE,mBACNF,IACEG,KAAK,CAAC,IACNC,GAAG,CAAC,SAACC,GAAGC;mBACRA,IAAIL,MAAMM,OAAOC,YAAY,CAACH,EAAEI,UAAU,CAAC,KAAKR,OAAOI;WAEvDK,IAAI,CAAC;IAET;IACAC,QAAQ,SAACX;YAAyBC,uEAAc;QAC/C,IAAI,CAACD,KAAK,OAAOA;QAEjB,OAAOY,mBAAmBZ,KACxBG,KAAK,CAAC,IACNC,GAAG,CAAC,SAACC,GAAGC;mBAAOA,IAAIL,MAAMM,OAAOC,YAAY,CAACH,EAAEI,UAAU,CAAC,KAAKR,OAAOI;WACtEK,IAAI,CAAC;IACR;AACD;AAEA,IAAMG,QAAQ;IACbd,QAAQ,SAACC;QACR,IAAI,CAACA,KAAK,OAAOA;QAEjB,OAAOE,mBAAmBF;IAC3B;IACAW,QAAQ,SAACX;QACR,IAAI,CAACA,KAAK,OAAOA;QAEjB,OAAOY,mBAAmBZ;IAC3B;AACD;AAEA;;;;;;;;;;;;;AAaA,GAEA,IAAMc,OAAO;IACZf,QAAQ,SAACC;eAA4BA;;IACrCW,QAAQ,SAACX;eAA4BA;;AACtC;AAEA,IAAMe,SAAS;IACdhB,QAAQ,SAACC;QACR,IAAI,CAACA,KAAK,OAAOA;QAEjB,OAAOY,mBAAmBI,KAAKhB;IAChC;IACAW,QAAQ,SAACX;QACR,IAAI,CAACA,KAAK,OAAOA;QAEjB,OAAOiB,KAAKjB;IACb;AACD;AAEA,IAAI,CAACkB,KAAKC,SAAS,EAAE;IACpB,yCAAyC;IACzCD,KAAKC,SAAS,GAAG,CAAC;AACnB;AACAD,KAAKC,SAAS,CAACC,MAAM,GAAG;IACvBN,MAAAA;IACAD,OAAAA;IACAE,QAAAA;IACAjB,KAAAA;AACD;AAtFA,0FAA0F;AAMzF"} \ No newline at end of file diff --git a/public/$/scramjet.config.js b/public/$/scramjet.config.js deleted file mode 100755 index da6156a..0000000 --- a/public/$/scramjet.config.js +++ /dev/null @@ -1,18 +0,0 @@ -(() => { - // webpackBootstrap - var __webpack_exports__ = {}; - if (!self.$scramjet) { - //@ts-expect-error really dumb workaround - self.$scramjet = {}; - } - self.$scramjet.config = { - prefix: '/$/space/', - codec: self.$scramjet.codecs.xor, - config: '/$/scramjet.config.js', - shared: '/$/scramjet.shared.js', - worker: '/$/scramjet.worker.js', - client: '/$/scramjet.client.js', - codecs: '/$/scramjet.codecs.js' - }; -})(); -//# sourceMappingURL=scramjet.config.js.map diff --git a/public/$/scramjet.config.js.map b/public/$/scramjet.config.js.map deleted file mode 100755 index af6bd2a..0000000 --- a/public/$/scramjet.config.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"scramjet.config.js","sources":["webpack://@mercuryworkshop/scramjet/./src/scramjet.config.ts"],"sourcesContent":["if (!self.$scramjet) {\n\t//@ts-expect-error really dumb workaround\n\tself.$scramjet = {};\n}\nself.$scramjet.config = {\n\tprefix: \"/scramjet/\",\n\tcodec: self.$scramjet.codecs.plain,\n\tconfig: \"/scram/scramjet.config.js\",\n\tshared: \"/scram/scramjet.shared.js\",\n\tworker: \"/scram/scramjet.worker.js\",\n\tclient: \"/scram/scramjet.client.js\",\n\tcodecs: \"/scram/scramjet.codecs.js\",\n};\n"],"names":["self","$scramjet","config","prefix","codec","codecs","plain","shared","worker","client"],"mappings":";;AAAA,IAAI,CAACA,KAAKC,SAAS,EAAE;IACpB,yCAAyC;IACzCD,KAAKC,SAAS,GAAG,CAAC;AACnB;AACAD,KAAKC,SAAS,CAACC,MAAM,GAAG;IACvBC,QAAQ;IACRC,OAAOJ,KAAKC,SAAS,CAACI,MAAM,CAACC,KAAK;IAClCJ,QAAQ;IACRK,QAAQ;IACRC,QAAQ;IACRC,QAAQ;IACRJ,QAAQ;AACT"} \ No newline at end of file diff --git a/public/$/scramjet.shared.js b/public/$/scramjet.shared.js deleted file mode 100755 index f377311..0000000 --- a/public/$/scramjet.shared.js +++ /dev/null @@ -1,23997 +0,0 @@ -(() => { - // webpackBootstrap - 'use strict'; - var __webpack_modules__ = { - './node_modules/astravel/dist/module/astravel.js': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - attachComments: function () { - return /* reexport safe */ _attachComments_js__WEBPACK_IMPORTED_MODULE_1__.attachComments; - }, - defaultTraveler: function () { - return /* reexport safe */ _defaultTraveler_js__WEBPACK_IMPORTED_MODULE_0__.defaultTraveler; - }, - makeTraveler: function () { - return makeTraveler; - } - }); - /* harmony import */ var _defaultTraveler_js__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./defaultTraveler.js */ './node_modules/astravel/dist/module/defaultTraveler.js' - ); - /* harmony import */ var _attachComments_js__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! ./attachComments.js */ './node_modules/astravel/dist/module/attachComments.js' - ); - - function makeTraveler(properties) { - return _defaultTraveler_js__WEBPACK_IMPORTED_MODULE_0__.defaultTraveler.makeChild( - properties - ); - } - - //# sourceMappingURL=astravel.js.map - }, - './node_modules/astravel/dist/module/attachComments.js': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - attachComments: function () { - return attachComments; - } - }); - /* harmony import */ var _defaultTraveler_js__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./defaultTraveler.js */ './node_modules/astravel/dist/module/defaultTraveler.js' - ); - - function attachCommentsToNode( - traveler, - state, - parent, - children, - findHeadingComments - ) { - let { index } = state; - const { comments } = state; - let comment = comments[index]; - let boundComments, trailingComments; - - if (comment == null) { - return; - } - - if (children == null || children.length === 0) { - boundComments = - parent.comments != null ? parent.comments : []; - - while (comment != null && comment.end <= parent.end) { - boundComments.push(comment); - comment = comments[++index]; - } - - state.index = index; - - if (boundComments.length !== 0 && parent.comments == null) { - parent.comments = boundComments; - } - - return; - } - - if (findHeadingComments) { - boundComments = - parent.comments != null ? parent.comments : []; - const { start } = children[0]; - - while ( - comment != null && - (comment.type[0] === 'B' || comment.type[0] === 'M') && - comment.end <= start - ) { - boundComments.push(comment); - comment = comments[++index]; - } - - if (boundComments.length !== 0 && parent.comments == null) - parent.comments = boundComments; - } - - for ( - let i = 0, { length } = children; - comment != null && i < length; - i++ - ) { - const child = children[i]; - boundComments = []; - - while (comment != null && comment.end <= child.start) { - boundComments.push(comment); - comment = comments[++index]; - } - - if ( - comment != null && - comment.loc != null && - (comment.type[0] === 'L' || comment.type[0] === 'S') - ) { - if (comment.loc.start.line === child.loc.end.line) { - boundComments.push(comment); - comment = comments[++index]; - } - } - - if (boundComments.length !== 0) { - child.comments = boundComments; - } - - state.index = index; - traveler[child.type](child, state); - index = state.index; - comment = comments[index]; - } - - trailingComments = []; - - while (comment != null && comment.end <= parent.end) { - trailingComments.push(comment); - comment = comments[++index]; - } - - if (trailingComments.length !== 0) { - parent.trailingComments = trailingComments; - } - - state.index = index; - } - - function Block(node, state) { - attachCommentsToNode(this, state, node, node.body, true); - } - - let traveler = - _defaultTraveler_js__WEBPACK_IMPORTED_MODULE_0__.defaultTraveler.makeChild( - { - Program: Block, - BlockStatement: Block, - ClassBody: Block, - - ObjectExpression(node, state) { - attachCommentsToNode( - this, - state, - node, - node.properties, - true - ); - }, - - ArrayExpression(node, state) { - attachCommentsToNode( - this, - state, - node, - node.elements, - true - ); - }, - - SwitchStatement(node, state) { - attachCommentsToNode( - this, - state, - node, - node.cases, - false - ); - }, - - SwitchCase(node, state) { - attachCommentsToNode( - this, - state, - node, - node.consequent, - false - ); - } - } - ); - function attachComments(node, comments) { - traveler[node.type](node, { - comments, - index: 0 - }); - return node; - } - //# sourceMappingURL=attachComments.js.map - }, - './node_modules/astravel/dist/module/defaultTraveler.js': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - defaultTraveler: function () { - return defaultTraveler; - } - }); - let ForInStatement, - FunctionDeclaration, - RestElement, - BinaryExpression, - ArrayExpression, - Block, - MethodDefinition; - const ignore = Function.prototype; - - class Found { - constructor(node, state) { - this.node = node; - this.state = state; - } - } - - const defaultTraveler = { - go(node, state) { - if (this[node.type]) { - this[node.type](node, state); - } - }, - - find(predicate, node, state) { - const finder = Object.create(this); - - finder.go = function (node, state) { - if (predicate(node, state)) { - throw new Found(node, state); - } - - this[node.type](node, state); - }; - - try { - finder.go(node, state); - } catch (error) { - if (error instanceof Found) { - return error; - } else { - throw error; - } - } - }, - - makeChild(properties = {}) { - const traveler = Object.create(this); - traveler.super = this; - - for (let key in properties) { - traveler[key] = properties[key]; - } - - return traveler; - }, - - Program: (Block = function (node, state) { - const { body } = node; - - if (body != null) { - const { length } = body; - - for (let i = 0; i < length; i++) { - this.go(body[i], state); - } - } - }), - BlockStatement: Block, - StaticBlock: Block, - EmptyStatement: ignore, - - ExpressionStatement(node, state) { - this.go(node.expression, state); - }, - - IfStatement(node, state) { - this.go(node.test, state); - this.go(node.consequent, state); - - if (node.alternate != null) { - this.go(node.alternate, state); - } - }, - - LabeledStatement(node, state) { - this.go(node.label, state); - this.go(node.body, state); - }, - - BreakStatement(node, state) { - if (node.label) { - this.go(node.label, state); - } - }, - - ContinueStatement(node, state) { - if (node.label) { - this.go(node.label, state); - } - }, - - WithStatement(node, state) { - this.go(node.object, state); - this.go(node.body, state); - }, - - SwitchStatement(node, state) { - this.go(node.discriminant, state); - const { cases } = node, - { length } = cases; - - for (let i = 0; i < length; i++) { - this.go(cases[i], state); - } - }, - - SwitchCase(node, state) { - if (node.test != null) { - this.go(node.test, state); - } - - const statements = node.consequent, - { length } = statements; - - for (let i = 0; i < length; i++) { - this.go(statements[i], state); - } - }, - - ReturnStatement(node, state) { - if (node.argument) { - this.go(node.argument, state); - } - }, - - ThrowStatement(node, state) { - this.go(node.argument, state); - }, - - TryStatement(node, state) { - this.go(node.block, state); - - if (node.handler != null) { - this.go(node.handler, state); - } - - if (node.finalizer != null) { - this.go(node.finalizer, state); - } - }, - - CatchClause(node, state) { - if (node.param != null) { - this.go(node.param, state); - } - - this.go(node.body, state); - }, - - WhileStatement(node, state) { - this.go(node.test, state); - this.go(node.body, state); - }, - - DoWhileStatement(node, state) { - this.go(node.body, state); - this.go(node.test, state); - }, - - ForStatement(node, state) { - if (node.init != null) { - this.go(node.init, state); - } - - if (node.test != null) { - this.go(node.test, state); - } - - if (node.update != null) { - this.go(node.update, state); - } - - this.go(node.body, state); - }, - - ForInStatement: (ForInStatement = function (node, state) { - this.go(node.left, state); - this.go(node.right, state); - this.go(node.body, state); - }), - DebuggerStatement: ignore, - FunctionDeclaration: (FunctionDeclaration = function ( - node, - state - ) { - if (node.id != null) { - this.go(node.id, state); - } - - const { params } = node; - - if (params != null) { - for (let i = 0, { length } = params; i < length; i++) { - this.go(params[i], state); - } - } - - this.go(node.body, state); - }), - - VariableDeclaration(node, state) { - const { declarations } = node, - { length } = declarations; - - for (let i = 0; i < length; i++) { - this.go(declarations[i], state); - } - }, - - VariableDeclarator(node, state) { - this.go(node.id, state); - - if (node.init != null) { - this.go(node.init, state); - } - }, - - ArrowFunctionExpression(node, state) { - const { params } = node; - - if (params != null) { - for (let i = 0, { length } = params; i < length; i++) { - this.go(params[i], state); - } - } - - this.go(node.body, state); - }, - - ThisExpression: ignore, - ArrayExpression: (ArrayExpression = function (node, state) { - const { elements } = node, - { length } = elements; - - for (let i = 0; i < length; i++) { - let element = elements[i]; - - if (element != null) { - this.go(elements[i], state); - } - } - }), - - ObjectExpression(node, state) { - const { properties } = node, - { length } = properties; - - for (let i = 0; i < length; i++) { - this.go(properties[i], state); - } - }, - - Property(node, state) { - this.go(node.key, state); - - if (node.value != null) { - this.go(node.value, state); - } - }, - - FunctionExpression: FunctionDeclaration, - - SequenceExpression(node, state) { - const { expressions } = node, - { length } = expressions; - - for (let i = 0; i < length; i++) { - this.go(expressions[i], state); - } - }, - - UnaryExpression(node, state) { - this.go(node.argument, state); - }, - - UpdateExpression(node, state) { - this.go(node.argument, state); - }, - - AssignmentExpression(node, state) { - this.go(node.left, state); - this.go(node.right, state); - }, - - BinaryExpression: (BinaryExpression = function (node, state) { - this.go(node.left, state); - this.go(node.right, state); - }), - LogicalExpression: BinaryExpression, - - ConditionalExpression(node, state) { - this.go(node.test, state); - this.go(node.consequent, state); - this.go(node.alternate, state); - }, - - NewExpression(node, state) { - this.CallExpression(node, state); - }, - - CallExpression(node, state) { - this.go(node.callee, state); - const args = node['arguments'], - { length } = args; - - for (let i = 0; i < length; i++) { - this.go(args[i], state); - } - }, - - MemberExpression(node, state) { - this.go(node.object, state); - this.go(node.property, state); - }, - - Identifier: ignore, - PrivateIdentifier: ignore, - Literal: ignore, - ForOfStatement: ForInStatement, - - ClassDeclaration(node, state) { - if (node.id) { - this.go(node.id, state); - } - - if (node.superClass) { - this.go(node.superClass, state); - } - - this.go(node.body, state); - }, - - ClassBody: Block, - - ImportDeclaration(node, state) { - const { specifiers } = node, - { length } = specifiers; - - for (let i = 0; i < length; i++) { - this.go(specifiers[i], state); - } - - this.go(node.source, state); - }, - - ImportNamespaceSpecifier(node, state) { - this.go(node.local, state); - }, - - ImportDefaultSpecifier(node, state) { - this.go(node.local, state); - }, - - ImportSpecifier(node, state) { - this.go(node.imported, state); - this.go(node.local, state); - }, - - ExportDefaultDeclaration(node, state) { - this.go(node.declaration, state); - }, - - ExportNamedDeclaration(node, state) { - if (node.declaration) { - this.go(node.declaration, state); - } - - const { specifiers } = node, - { length } = specifiers; - - for (let i = 0; i < length; i++) { - this.go(specifiers[i], state); - } - - if (node.source) { - this.go(node.source, state); - } - }, - - ExportSpecifier(node, state) { - this.go(node.local, state); - this.go(node.exported, state); - }, - - ExportAllDeclaration(node, state) { - this.go(node.source, state); - }, - - MethodDefinition: (MethodDefinition = function (node, state) { - this.go(node.key, state); - this.go(node.value, state); - }), - PropertyDefinition: MethodDefinition, - - ClassExpression(node, state) { - this.ClassDeclaration(node, state); - }, - - Super: ignore, - RestElement: (RestElement = function (node, state) { - this.go(node.argument, state); - }), - SpreadElement: RestElement, - - YieldExpression(node, state) { - if (node.argument) { - this.go(node.argument, state); - } - }, - - TaggedTemplateExpression(node, state) { - this.go(node.tag, state); - this.go(node.quasi, state); - }, - - TemplateLiteral(node, state) { - const { quasis, expressions } = node; - - for (let i = 0, { length } = expressions; i < length; i++) { - this.go(expressions[i], state); - } - - for (let i = 0, { length } = quasis; i < length; i++) { - this.go(quasis[i], state); - } - }, - - TemplateElement: ignore, - - ObjectPattern(node, state) { - const { properties } = node, - { length } = properties; - - for (let i = 0; i < length; i++) { - this.go(properties[i], state); - } - }, - - ArrayPattern: ArrayExpression, - - AssignmentPattern(node, state) { - this.go(node.left, state); - this.go(node.right, state); - }, - - MetaProperty(node, state) { - this.go(node.meta, state); - this.go(node.property, state); - }, - - AwaitExpression(node, state) { - this.go(node.argument, state); - } - }; - //# sourceMappingURL=defaultTraveler.js.map - }, - './src/client/url.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - URL: function () { - return URL; - } - }); - /* harmony import */ var _shared_rewriters_url__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ../shared/rewriters/url */ './src/shared/rewriters/url.ts' - ); - - var URL = globalThis.URL; - if (globalThis.window) { - window.URL = new Proxy(URL, { - construct: function construct(target, argArray, newTarget) { - if (typeof argArray[0] === 'string') - argArray[0] = (0, - _shared_rewriters_url__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)( - argArray[0] - ); - if (typeof argArray[1] === 'string') - argArray[1] = (0, - _shared_rewriters_url__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)( - argArray[1] - ); - return Reflect.construct(target, argArray, newTarget); - } - }); - } - }, - './src/shared/rewriters/css.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - rewriteCss: function () { - return rewriteCss; - } - }); - /* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./url */ './src/shared/rewriters/url.ts' - ); - // This CSS rewriter uses code from Meteor - // You can find the original source code at https://github.com/MeteorProxy/Meteor - - function rewriteCss(css, origin) { - var regex = - /(@import\s+(?!url\())?\s*url\(\s*(['"]?)([^'")]+)\2\s*\)|@import\s+(['"])([^'"]+)\4/g; - return css.replace( - regex, - function ( - match, - importStatement, - urlQuote, - urlContent, - importQuote, - importContent - ) { - var url = urlContent || importContent; - var encodedUrl = (0, - _url__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)( - url.trim(), - origin - ); - if (importStatement) { - return '@import url(' - .concat(urlQuote) - .concat(encodedUrl) - .concat(urlQuote, ')'); - } - if (importQuote) { - return '@import ' - .concat(importQuote) - .concat(encodedUrl) - .concat(importQuote); - } - return 'url(' - .concat(urlQuote) - .concat(encodedUrl) - .concat(urlQuote, ')'); - } - ); - } - }, - './src/shared/rewriters/headers.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - rewriteHeaders: function () { - return rewriteHeaders; - } - }); - /* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./url */ './src/shared/rewriters/url.ts' - ); - - var cspHeaders = [ - 'cross-origin-embedder-policy', - 'cross-origin-opener-policy', - 'cross-origin-resource-policy', - 'content-security-policy', - 'content-security-policy-report-only', - 'expect-ct', - 'feature-policy', - 'origin-isolation', - 'strict-transport-security', - 'upgrade-insecure-requests', - 'x-content-type-options', - 'x-download-options', - 'x-frame-options', - 'x-permitted-cross-domain-policies', - 'x-powered-by', - 'x-xss-protection', - // This needs to be emulated, but for right now it isn't that important of a feature to be worried about - // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Clear-Site-Data - 'clear-site-data' - ]; - var urlHeaders = ['location', 'content-location', 'referer']; - function rewriteHeaders(rawHeaders, origin) { - var headers = {}; - for (var key in rawHeaders) { - headers[key.toLowerCase()] = rawHeaders[key]; - } - cspHeaders.forEach(function (header) { - delete headers[header]; - }); - urlHeaders.forEach(function (header) { - if (headers[header]) - headers[header] = (0, - _url__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)( - headers[header], - origin - ); - }); - if (headers['link']) { - headers['link'] = headers['link'].replace( - /<(.*?)>/gi, - function (match) { - return (0, - _url__WEBPACK_IMPORTED_MODULE_0__.encodeUrl)( - match, - origin - ); - } - ); - } - return headers; - } - }, - './src/shared/rewriters/html.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - isScramjetFile: function () { - return isScramjetFile; - }, - rewriteHtml: function () { - return rewriteHtml; - }, - rewriteSrcset: function () { - return rewriteSrcset; - } - }); - /* harmony import */ var htmlparser2__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! htmlparser2 */ './node_modules/htmlparser2/lib/esm/index.js' - ); - /* harmony import */ var domhandler__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! domhandler */ './node_modules/domhandler/lib/esm/index.js' - ); - /* harmony import */ var domutils__WEBPACK_IMPORTED_MODULE_2__ = - __webpack_require__( - /*! domutils */ './node_modules/domutils/lib/esm/index.js' - ); - /* harmony import */ var dom_serializer__WEBPACK_IMPORTED_MODULE_3__ = - __webpack_require__( - /*! dom-serializer */ './node_modules/dom-serializer/lib/esm/index.js' - ); - /* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_4__ = - __webpack_require__( - /*! ./url */ './src/shared/rewriters/url.ts' - ); - /* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_5__ = - __webpack_require__( - /*! ./css */ './src/shared/rewriters/css.ts' - ); - /* harmony import */ var _js__WEBPACK_IMPORTED_MODULE_6__ = - __webpack_require__(/*! ./js */ './src/shared/rewriters/js.ts'); - function _array_like_to_array(arr, len) { - if (len == null || len > arr.length) len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) - arr2[i] = arr[i]; - return arr2; - } - function _array_without_holes(arr) { - if (Array.isArray(arr)) return _array_like_to_array(arr); - } - function _iterable_to_array(iter) { - if ( - (typeof Symbol !== 'undefined' && - iter[Symbol.iterator] != null) || - iter['@@iterator'] != null - ) - return Array.from(iter); - } - function _non_iterable_spread() { - throw new TypeError( - 'Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.' - ); - } - function _to_consumable_array(arr) { - return ( - _array_without_holes(arr) || - _iterable_to_array(arr) || - _unsupported_iterable_to_array(arr) || - _non_iterable_spread() - ); - } - function _unsupported_iterable_to_array(o, minLen) { - if (!o) return; - if (typeof o === 'string') - return _array_like_to_array(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === 'Object' && o.constructor) n = o.constructor.name; - if (n === 'Map' || n === 'Set') return Array.from(n); - if ( - n === 'Arguments' || - /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ) - return _array_like_to_array(o, minLen); - } - - function isScramjetFile(src) { - var bool = false; - ['codecs', 'client', 'shared', 'worker', 'config'].forEach( - function (file) { - if (src === self.$scramjet.config[file]) bool = true; - } - ); - return bool; - } - function rewriteHtml(html, origin) { - var handler = - new domhandler__WEBPACK_IMPORTED_MODULE_1__.DomHandler( - function (err, dom) { - return dom; - } - ); - var parser = - new htmlparser2__WEBPACK_IMPORTED_MODULE_0__.Parser( - handler - ); - parser.write(html); - parser.end(); - return (0, - dom_serializer__WEBPACK_IMPORTED_MODULE_3__['default'])( - traverseParsedHtml(handler.root, origin) - ); - } - // i need to add the attributes in during rewriting - function traverseParsedHtml(node, origin) { - /* csp attributes */ for ( - var _i = 0, _iter = ['nonce', 'integrity', 'csp']; - _i < _iter.length; - _i++ - ) { - var cspAttr = _iter[_i]; - if ( - (0, domutils__WEBPACK_IMPORTED_MODULE_2__.hasAttrib)( - node, - cspAttr - ) - ) { - node.attribs['data-'.concat(cspAttr)] = - node.attribs[cspAttr]; - delete node.attribs[cspAttr]; - } - } - /* url attributes */ for ( - var _i1 = 0, - _iter1 = ['src', 'href', 'action', 'formaction']; - _i1 < _iter1.length; - _i1++ - ) { - var urlAttr = _iter1[_i1]; - if ( - (0, domutils__WEBPACK_IMPORTED_MODULE_2__.hasAttrib)( - node, - urlAttr - ) && - !isScramjetFile(node.attribs[urlAttr]) - ) { - var value = node.attribs[urlAttr]; - node.attribs['data-'.concat(urlAttr)] = value; - node.attribs[urlAttr] = (0, - _url__WEBPACK_IMPORTED_MODULE_4__.encodeUrl)( - value, - origin - ); - } - } - /* other */ for ( - var _i2 = 0, _iter2 = ['srcset', 'imagesrcset']; - _i2 < _iter2.length; - _i2++ - ) { - var srcsetAttr = _iter2[_i2]; - if ( - (0, domutils__WEBPACK_IMPORTED_MODULE_2__.hasAttrib)( - node, - srcsetAttr - ) - ) { - var value1 = node.attribs[srcsetAttr]; - node.attribs['data-'.concat(srcsetAttr)] = value1; - node.attribs[srcsetAttr] = rewriteSrcset( - value1, - origin - ); - } - } - if ( - (0, domutils__WEBPACK_IMPORTED_MODULE_2__.hasAttrib)( - node, - 'srcdoc' - ) - ) - node.attribs.srcdoc = rewriteHtml( - node.attribs.srcdoc, - origin - ); - if ( - (0, domutils__WEBPACK_IMPORTED_MODULE_2__.hasAttrib)( - node, - 'style' - ) - ) - node.attribs.style = (0, - _css__WEBPACK_IMPORTED_MODULE_5__.rewriteCss)( - node.attribs.style, - origin - ); - if (node.name === 'style' && node.children[0] !== undefined) - node.children[0].data = (0, - _css__WEBPACK_IMPORTED_MODULE_5__.rewriteCss)( - node.children[0].data, - origin - ); - if ( - node.name === 'script' && - /(application|text)\/javascript|importmap|undefined/.test( - node.attribs.type - ) && - node.children[0] !== undefined - ) { - var js = node.children[0].data; - var htmlcomment = //g; - js = js.replace(htmlcomment, ''); - node.children[0].data = (0, - _js__WEBPACK_IMPORTED_MODULE_6__.rewriteJs)(js, origin); - } - if ( - node.name === 'meta' && - (0, domutils__WEBPACK_IMPORTED_MODULE_2__.hasAttrib)( - node, - 'http-equiv' - ) - ) { - if ( - node.attribs['http-equiv'] === 'content-security-policy' - ) { - node = {}; - } else if ( - node.attribs['http-equiv'] === 'refresh' && - node.attribs.content.includes('url') - ) { - var contentArray = node.attribs.content.split('url='); - contentArray[1] = (0, - _url__WEBPACK_IMPORTED_MODULE_4__.encodeUrl)( - contentArray[1].trim(), - origin - ); - node.attribs.content = contentArray.join('url='); - } - } - if (node.name === 'head') { - var _node_children; - var scramjetScripts = []; - ['codecs', 'config', 'shared', 'client'].forEach( - function (script) { - scramjetScripts.push( - new domhandler__WEBPACK_IMPORTED_MODULE_1__.Element( - 'script', - { - src: self.$scramjet.config[script], - 'data-scramjet': '' - } - ) - ); - } - ); - (_node_children = node.children).unshift.apply( - _node_children, - _to_consumable_array(scramjetScripts) - ); - } - if (node.childNodes) { - for (var childNode in node.childNodes) { - node.childNodes[childNode] = traverseParsedHtml( - node.childNodes[childNode], - origin - ); - } - } - return node; - } - function rewriteSrcset(srcset, origin) { - var urls = srcset.split(/ [0-9]+x,? ?/g); - if (!urls) return ''; - var sufixes = srcset.match(/ [0-9]+x,? ?/g); - if (!sufixes) return ''; - var rewrittenUrls = urls.map(function (url, i) { - if (url && sufixes[i]) { - return ( - (0, _url__WEBPACK_IMPORTED_MODULE_4__.encodeUrl)( - url, - origin - ) + sufixes[i] - ); - } - }); - return rewrittenUrls.join(''); - } - }, - './src/shared/rewriters/js.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - rewriteJs: function () { - return rewriteJs; - } - }); - /* harmony import */ var meriyah__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! meriyah */ './node_modules/meriyah/dist/meriyah.esm.mjs' - ); - /* harmony import */ var astring__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! astring */ './node_modules/astring/dist/astring.mjs' - ); - /* harmony import */ var astravel__WEBPACK_IMPORTED_MODULE_2__ = - __webpack_require__( - /*! astravel */ './node_modules/astravel/dist/module/astravel.js' - ); - /* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_3__ = - __webpack_require__( - /*! ./url */ './src/shared/rewriters/url.ts' - ); - - // i am a cat. i like to be petted. i like to be fed. i like to be - // js rewiter is NOT finished - // location - // window - // self - // globalThis - // this - // top - // parent - function rewriteJs(js, origin) { - try { - var ast = (0, - meriyah__WEBPACK_IMPORTED_MODULE_0__.parseModule)(js, { - module: true, - webcompat: true - }); - var identifierList = [ - 'window', - 'self', - 'globalThis', - 'this', - 'parent', - 'top', - 'location' - ]; - var customTraveler = (0, - astravel__WEBPACK_IMPORTED_MODULE_2__.makeTraveler)({ - ImportDeclaration: function (node) { - node.source.value = (0, - _url__WEBPACK_IMPORTED_MODULE_3__.encodeUrl)( - node.source.value, - origin - ); - }, - ImportExpression: function (node) { - if (node.source.type === 'Literal') { - node.source.value = (0, - _url__WEBPACK_IMPORTED_MODULE_3__.encodeUrl)( - node.source.value, - origin - ); - } else if (node.source.type === 'Identifier') { - // this is for things that import something like - // const moduleName = "name"; - // await import(moduleName); - node.source.name = '__wrapImport('.concat( - node.source.name, - ')' - ); - } - }, - ExportAllDeclaration: function (node) { - node.source.value = (0, - _url__WEBPACK_IMPORTED_MODULE_3__.encodeUrl)( - node.source.value, - origin - ); - }, - ExportNamedDeclaration: function (node) { - // strings are Literals in ESTree syntax but these will always be strings - if (node.source) - node.source.value = (0, - _url__WEBPACK_IMPORTED_MODULE_3__.encodeUrl)( - node.source.value, - origin - ); - }, - MemberExpression: function (node) { - if ( - node.object.type === 'Identifier' && - identifierList.includes(node.object.name) - ) { - node.object.name = 'globalThis.$s('.concat( - node.object.name, - ')' - ); - } - }, - AssignmentExpression: function (node) { - if ( - node.left.type === 'Identifier' && - identifierList.includes(node.left.name) - ) { - node.left.name = 'globalThis.$s('.concat( - node.left.name, - ')' - ); - } - if ( - node.right.type === 'Identifier' && - identifierList.includes(node.right.name) - ) { - node.right.name = 'globalThis.$s('.concat( - node.right.name, - ')' - ); - } - }, - VariableDeclarator: function (node) { - if ( - node.init && - node.init.type === 'Identifier' && - identifierList.includes(node.init.name) - ) { - node.init.name = 'globalThis.$s('.concat( - node.init.name, - ')' - ); - } - } - }); - customTraveler.go(ast); - return (0, astring__WEBPACK_IMPORTED_MODULE_1__.generate)( - ast - ); - } catch (e) { - console.error(e); - console.log(js); - return js; - } - } - }, - './src/shared/rewriters/url.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - decodeUrl: function () { - return decodeUrl; - }, - encodeUrl: function () { - return encodeUrl; - } - }); - /* harmony import */ var _client_url__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ../../client/url */ './src/client/url.ts' - ); - /* harmony import */ var _js__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__(/*! ./js */ './src/shared/rewriters/js.ts'); - function _instanceof(left, right) { - if ( - right != null && - typeof Symbol !== 'undefined' && - right[Symbol.hasInstance] - ) { - return !!right[Symbol.hasInstance](left); - } else { - return left instanceof right; - } - } - - function canParseUrl(url, origin) { - try { - new _client_url__WEBPACK_IMPORTED_MODULE_0__.URL( - url, - origin - ); - return true; - } catch (e) { - return false; - } - } - // something is broken with this but i didn't debug it - function encodeUrl(url, origin) { - if ( - _instanceof( - url, - _client_url__WEBPACK_IMPORTED_MODULE_0__.URL - ) - ) { - return url.toString(); - } - if (!origin) { - origin = new _client_url__WEBPACK_IMPORTED_MODULE_0__.URL( - self.$scramjet.config.codec.decode( - location.href.slice( - (location.origin + self.$scramjet.config.prefix) - .length - ) - ) - ); - } - // is this the correct behavior? - if (!url) url = origin.href; - if (url.startsWith('javascript:')) { - return ( - 'javascript:' + - (0, _js__WEBPACK_IMPORTED_MODULE_1__.rewriteJs)( - url.slice('javascript:'.length) - ) - ); - } else if (/^(#|mailto|about|data)/.test(url)) { - return url; - } else if (canParseUrl(url, origin)) { - return ( - location.origin + - self.$scramjet.config.prefix + - self.$scramjet.config.codec.encode( - new _client_url__WEBPACK_IMPORTED_MODULE_0__.URL( - url, - origin - ).href - ) - ); - } - } - // something is also broken with this but i didn't debug it - function decodeUrl(url) { - if ( - _instanceof( - url, - _client_url__WEBPACK_IMPORTED_MODULE_0__.URL - ) - ) { - return url.toString(); - } - if (/^(#|about|data|mailto|javascript)/.test(url)) { - return url; - } else if (canParseUrl(url)) { - return self.$scramjet.config.codec.decode( - url.slice( - (location.origin + self.$scramjet.config.prefix) - .length - ) - ); - } else { - return url; - } - } - }, - './src/shared/rewriters/worker.ts': function ( - __unused_webpack_module, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - rewriteWorkers: function () { - return rewriteWorkers; - } - }); - /* harmony import */ var _js__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__(/*! ./js */ './src/shared/rewriters/js.ts'); - - function rewriteWorkers(js, origin) { - var str = new String() - .toString() //@ts-expect-error - [('codecs', 'client')].forEach(function (script) { - str += 'import "'.concat( - self.$scramjet.config[script], - '"\n' - ); - }); - str += (0, _js__WEBPACK_IMPORTED_MODULE_0__.rewriteJs)( - js, - origin - ); - return str; - } - }, - './node_modules/@mercuryworkshop/bare-mux/dist/index.mjs': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - BareClient: function () { - return BareClient; - }, - BareMuxConnection: function () { - return BareMuxConnection; - }, - WebSocketFields: function () { - return WebSocketFields; - }, - WorkerConnection: function () { - return WorkerConnection; - }, - browserSupportsTransferringStreams: function () { - return browserSupportsTransferringStreams; - }, - default: function () { - return BareClient; - }, - maxRedirects: function () { - return maxRedirects; - }, - validProtocol: function () { - return validProtocol; - } - }); - const maxRedirects = 20; - - // The user likely has overwritten all networking functions after importing bare-client - // It is our responsibility to make sure components of Bare-Client are using native networking functions - const fetch = globalThis.fetch; - const WebSocket = globalThis.WebSocket; - const Request = globalThis.Request; - const Response = globalThis.Response; - const SharedWorker = globalThis.SharedWorker; - const localStorage = globalThis.localStorage; - const serviceWorker = globalThis.navigator.serviceWorker; - const WebSocketFields = { - prototype: { - send: WebSocket.prototype.send - }, - CLOSED: WebSocket.CLOSED, - CLOSING: WebSocket.CLOSING, - CONNECTING: WebSocket.CONNECTING, - OPEN: WebSocket.OPEN - }; - - async function searchForPort() { - // @ts-expect-error - const clients = await self.clients.matchAll({ - type: 'window', - includeUncontrolled: true - }); - const promises = clients.map(async x => { - const port = await tryGetPort(x); - await testPort(port); - return port; - }); - const promise = Promise.race([ - Promise.any(promises), - new Promise((_, reject) => - setTimeout(reject, 1000, new TypeError('timeout')) - ) - ]); - try { - return await promise; - } catch (err) { - if (err instanceof AggregateError) { - console.error( - 'bare-mux: failed to get a bare-mux SharedWorker MessagePort as all clients returned an invalid MessagePort.' - ); - throw new Error( - 'All clients returned an invalid MessagePort.' - ); - } - console.warn( - 'bare-mux: failed to get a bare-mux SharedWorker MessagePort within 1s, retrying' - ); - return await searchForPort(); - } - } - function tryGetPort(client) { - let channel = new MessageChannel(); - return new Promise(resolve => { - client.postMessage( - { type: 'getPort', port: channel.port2 }, - [channel.port2] - ); - channel.port1.onmessage = event => { - resolve(event.data); - }; - }); - } - function testPort(port) { - const pingChannel = new MessageChannel(); - const pingPromise = new Promise((resolve, reject) => { - pingChannel.port1.onmessage = event => { - if (event.data.type === 'pong') { - resolve(); - } - }; - setTimeout(reject, 1500); - }); - port.postMessage( - { message: { type: 'ping' }, port: pingChannel.port2 }, - [pingChannel.port2] - ); - return pingPromise; - } - function createPort(path, registerHandlers) { - const worker = new SharedWorker(path, 'bare-mux-worker'); - if (registerHandlers) { - // @ts-expect-error we are using snapshot.ts - serviceWorker.addEventListener('message', event => { - if (event.data.type === 'getPort' && event.data.port) { - console.debug( - 'bare-mux: recieved request for port from sw' - ); - const newWorker = new SharedWorker( - path, - 'bare-mux-worker' - ); - event.data.port.postMessage(newWorker.port, [ - newWorker.port - ]); - } - }); - } - return worker.port; - } - let browserSupportsTransferringStreamsCache = null; - function browserSupportsTransferringStreams() { - if (browserSupportsTransferringStreamsCache === null) { - const chan = new MessageChannel(); - const stream = new ReadableStream(); - let res; - try { - chan.port1.postMessage(stream, [stream]); - res = true; - } catch (err) { - res = false; - } - browserSupportsTransferringStreamsCache = res; - return res; - } else { - return browserSupportsTransferringStreamsCache; - } - } - class WorkerConnection { - constructor(worker) { - this.channel = new BroadcastChannel('bare-mux'); - if (worker instanceof MessagePort) { - this.port = worker; - } else { - this.createChannel(worker, true); - } - } - createChannel(workerPath, inInit) { - // @ts-expect-error - if (self.clients) { - // running in a ServiceWorker - // ask a window for the worker port, register for refreshPort - this.port = searchForPort(); - this.channel.onmessage = event => { - if (event.data.type === 'refreshPort') { - this.port = searchForPort(); - } - }; - } else if (workerPath && SharedWorker) { - // running in a window, was passed a workerPath - // create the SharedWorker and help other bare-mux clients get the workerPath - if ( - !workerPath.startsWith('/') && - !workerPath.includes('://') - ) - throw new Error( - 'Invalid URL. Must be absolute or start at the root.' - ); - this.port = createPort(workerPath, inInit); - console.debug( - 'bare-mux: setting localStorage bare-mux-path to', - workerPath - ); - localStorage['bare-mux-path'] = workerPath; - } else if (SharedWorker) { - // running in a window, was not passed a workerPath - // use sessionStorage for the workerPath - const path = localStorage['bare-mux-path']; - console.debug( - 'bare-mux: got localStorage bare-mux-path:', - path - ); - if (!path) - throw new Error( - 'Unable to get bare-mux workerPath from localStorage.' - ); - this.port = createPort(path, inInit); - } else { - // SharedWorker does not exist - throw new Error( - 'Unable to get a channel to the SharedWorker.' - ); - } - } - async sendMessage(message, transferable) { - if (this.port instanceof Promise) - this.port = await this.port; - try { - await testPort(this.port); - } catch { - console.warn( - 'bare-mux: Failed to get a ping response from the worker within 1.5s. Assuming port is dead.' - ); - this.createChannel(); - return await this.sendMessage(message, transferable); - } - const channel = new MessageChannel(); - const toTransfer = [channel.port2, ...(transferable || [])]; - const promise = new Promise((resolve, reject) => { - channel.port1.onmessage = event => { - const message = event.data; - if (message.type === 'error') { - reject(message.error); - } else { - resolve(message); - } - }; - }); - this.port.postMessage( - { message: message, port: channel.port2 }, - toTransfer - ); - return await promise; - } - } - - const validChars = - "!#$%&'*+-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz|~"; - function validProtocol(protocol) { - for (let i = 0; i < protocol.length; i++) { - const char = protocol[i]; - if (!validChars.includes(char)) { - return false; - } - } - return true; - } - const wsProtocols = ['ws:', 'wss:']; - const statusEmpty = [101, 204, 205, 304]; - const statusRedirect = [301, 302, 303, 307, 308]; - class BareMuxConnection { - constructor(workerPath) { - this.worker = new WorkerConnection(workerPath); - } - async getTransport() { - return (await this.worker.sendMessage({ type: 'get' })) - .name; - } - async setTransport(path, options) { - await this.setManualTransport(` - const { default: BareTransport } = await import("${path}"); - return [new BareTransport(${options.map(x => JSON.stringify(x)).join(', ')}), "${path}"]; - `); - } - async setManualTransport(functionBody) { - await this.worker.sendMessage({ - type: 'set', - client: functionBody - }); - } - getInnerPort() { - return this.worker.port; - } - } - class BareClient { - /** - * Create a BareClient. Calls to fetch and connect will wait for an implementation to be ready. - */ - constructor(worker) { - this.worker = new WorkerConnection(worker); - } - createWebSocket( - remote, - protocols = [], - webSocketImpl, - requestHeaders, - arrayBufferImpl - ) { - try { - remote = new URL(remote); - } catch (err) { - throw new DOMException( - `Faiiled to construct 'WebSocket': The URL '${remote}' is invalid.` - ); - } - if (!wsProtocols.includes(remote.protocol)) - throw new DOMException( - `Failed to construct 'WebSocket': The URL's scheme must be either 'ws' or 'wss'. '${remote.protocol}' is not allowed.` - ); - if (!Array.isArray(protocols)) protocols = [protocols]; - protocols = protocols.map(String); - for (const proto of protocols) - if (!validProtocol(proto)) - throw new DOMException( - `Failed to construct 'WebSocket': The subprotocol '${proto}' is invalid.` - ); - let wsImpl = webSocketImpl || WebSocket; - const socket = new wsImpl('ws://127.0.0.1:1', protocols); - let fakeProtocol = ''; - let fakeReadyState = WebSocketFields.CONNECTING; - let initialErrorHappened = false; - socket.addEventListener('error', e => { - if (!initialErrorHappened) { - fakeReadyState = WebSocket.CONNECTING; - e.stopImmediatePropagation(); - initialErrorHappened = true; - } - }); - let initialCloseHappened = false; - socket.addEventListener('close', e => { - if (!initialCloseHappened) { - e.stopImmediatePropagation(); - initialCloseHappened = true; - } - }); - // TODO socket onerror will be broken - arrayBufferImpl = - arrayBufferImpl || - wsImpl.constructor.constructor('return ArrayBuffer')() - .prototype; - requestHeaders = requestHeaders || {}; - requestHeaders['Host'] = new URL(remote).host; - // requestHeaders['Origin'] = origin; - requestHeaders['Pragma'] = 'no-cache'; - requestHeaders['Cache-Control'] = 'no-cache'; - requestHeaders['Upgrade'] = 'websocket'; - // requestHeaders['User-Agent'] = navigator.userAgent; - requestHeaders['Connection'] = 'Upgrade'; - const onopen = protocol => { - fakeReadyState = WebSocketFields.OPEN; - fakeProtocol = protocol; - socket.meta = { - headers: { - 'sec-websocket-protocol': protocol - } - }; // what the fuck is a meta - socket.dispatchEvent(new Event('open')); - }; - const onmessage = async payload => { - if (typeof payload === 'string') { - socket.dispatchEvent( - new MessageEvent('message', { data: payload }) - ); - } else if ('byteLength' in payload) { - if (socket.binaryType === 'blob') { - payload = new Blob([payload]); - } else { - Object.setPrototypeOf(payload, arrayBufferImpl); - } - socket.dispatchEvent( - new MessageEvent('message', { data: payload }) - ); - } else if ('arrayBuffer' in payload) { - if (socket.binaryType === 'arraybuffer') { - payload = await payload.arrayBuffer(); - Object.setPrototypeOf(payload, arrayBufferImpl); - } - socket.dispatchEvent( - new MessageEvent('message', { data: payload }) - ); - } - }; - const onclose = (code, reason) => { - fakeReadyState = WebSocketFields.CLOSED; - socket.dispatchEvent( - new CloseEvent('close', { code, reason }) - ); - }; - const onerror = () => { - fakeReadyState = WebSocketFields.CLOSED; - socket.dispatchEvent(new Event('error')); - }; - const channel = new MessageChannel(); - channel.port1.onmessage = event => { - if (event.data.type === 'open') { - onopen(event.data.args[0]); - } else if (event.data.type === 'message') { - onmessage(event.data.args[0]); - } else if (event.data.type === 'close') { - onclose(event.data.args[0], event.data.args[1]); - } else if (event.data.type === 'error') { - onerror(/* event.data.args[0] */); - } - }; - this.worker.sendMessage( - { - type: 'websocket', - websocket: { - url: remote.toString(), - origin: origin, - protocols: protocols, - requestHeaders: requestHeaders, - channel: channel.port2 - } - }, - [channel.port2] - ); - // protocol is always an empty before connecting - // updated when we receive the metadata - // this value doesn't change when it's CLOSING or CLOSED etc - const getReadyState = () => fakeReadyState; - // we have to hook .readyState ourselves - Object.defineProperty(socket, 'readyState', { - get: getReadyState, - configurable: true, - enumerable: true - }); - /** - * @returns The error that should be thrown if send() were to be called on this socket according to the fake readyState value - */ - const getSendError = () => { - const readyState = getReadyState(); - if (readyState === WebSocketFields.CONNECTING) - return new DOMException( - "Failed to execute 'send' on 'WebSocket': Still in CONNECTING state." - ); - }; - // we have to hook .send ourselves - // use ...args to avoid giving the number of args a quantity - // no arguments will trip the following error: TypeError: Failed to execute 'send' on 'WebSocket': 1 argument required, but only 0 present. - socket.send = function (...args) { - const error = getSendError(); - if (error) throw error; - let data = args[0]; - // @ts-expect-error idk why it errors? - if (data.buffer) data = data.buffer; - channel.port1.postMessage( - { type: 'data', data: data }, - data instanceof ArrayBuffer ? [data] : [] - ); - }; - socket.close = function (code, reason) { - channel.port1.postMessage({ - type: 'close', - closeCode: code, - closeReason: reason - }); - }; - Object.defineProperty(socket, 'url', { - get: () => remote.toString(), - configurable: true, - enumerable: true - }); - const getProtocol = () => fakeProtocol; - Object.defineProperty(socket, 'protocol', { - get: getProtocol, - configurable: true, - enumerable: true - }); - return socket; - } - async fetch(url, init) { - // Only create an instance of Request to parse certain parameters of init such as method, headers, redirect - // But use init values whenever possible - const req = new Request(url, init); - // try to use init.headers because it may contain capitalized headers - // furthermore, important headers on the Request class are blocked... - // we should try to preserve the capitalization due to quirks with earlier servers - const inputHeaders = init?.headers || req.headers; - const headers = - inputHeaders instanceof Headers - ? Object.fromEntries(inputHeaders) - : inputHeaders; - const body = req.body; - let urlO = new URL(req.url); - if (urlO.protocol.startsWith('blob:')) { - const response = await fetch(urlO); - const result = new Response(response.body, response); - result.rawHeaders = Object.fromEntries( - response.headers - ); - result.rawResponse = response; - return result; - } - for (let i = 0; ; i++) { - if ('host' in headers) headers.host = urlO.host; - else headers.Host = urlO.host; - let resp = ( - await this.worker.sendMessage( - { - type: 'fetch', - fetch: { - remote: urlO.toString(), - method: req.method, - headers: headers, - body: body || undefined - } - }, - body ? [body] : [] - ) - ).fetch; - let responseobj = new Response( - statusEmpty.includes(resp.status) - ? undefined - : resp.body, - { - headers: new Headers(resp.headers), - status: resp.status, - statusText: resp.statusText - } - ); - responseobj.rawHeaders = resp.headers; - responseobj.rawResponse = new Response(resp.body); - responseobj.finalURL = urlO.toString(); - const redirect = init?.redirect || req.redirect; - if (statusRedirect.includes(responseobj.status)) { - switch (redirect) { - case 'follow': { - const location = - responseobj.headers.get('location'); - if (maxRedirects > i && location !== null) { - urlO = new URL(location, urlO); - continue; - } else - throw new TypeError('Failed to fetch'); - } - case 'error': - throw new TypeError('Failed to fetch'); - case 'manual': - return responseobj; - } - } else { - return responseobj; - } - } - } - } - - //# sourceMappingURL=index.mjs.map - }, - './node_modules/astring/dist/astring.mjs': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - EXPRESSIONS_PRECEDENCE: function () { - return EXPRESSIONS_PRECEDENCE; - }, - GENERATOR: function () { - return GENERATOR; - }, - NEEDS_PARENTHESES: function () { - return NEEDS_PARENTHESES; - }, - baseGenerator: function () { - return baseGenerator; - }, - generate: function () { - return generate; - } - }); - // Astring is a tiny and fast JavaScript code generator from an ESTree-compliant AST. - // - // Astring was written by David Bonnet and released under an MIT license. - // - // The Git repository for Astring is available at: - // https://github.com/davidbonnet/astring.git - // - // Please use the GitHub bug tracker to report issues: - // https://github.com/davidbonnet/astring/issues - - const { stringify } = JSON; - - /* c8 ignore if */ - if (!String.prototype.repeat) { - /* c8 ignore next */ - throw new Error( - 'String.prototype.repeat is undefined, see https://github.com/davidbonnet/astring#installation' - ); - } - - /* c8 ignore if */ - if (!String.prototype.endsWith) { - /* c8 ignore next */ - throw new Error( - 'String.prototype.endsWith is undefined, see https://github.com/davidbonnet/astring#installation' - ); - } - - const OPERATOR_PRECEDENCE = { - '||': 2, - '??': 3, - '&&': 4, - '|': 5, - '^': 6, - '&': 7, - '==': 8, - '!=': 8, - '===': 8, - '!==': 8, - '<': 9, - '>': 9, - '<=': 9, - '>=': 9, - in: 9, - instanceof: 9, - '<<': 10, - '>>': 10, - '>>>': 10, - '+': 11, - '-': 11, - '*': 12, - '%': 12, - '/': 12, - '**': 13 - }; - - // Enables parenthesis regardless of precedence - const NEEDS_PARENTHESES = 17; - - const EXPRESSIONS_PRECEDENCE = { - // Definitions - ArrayExpression: 20, - TaggedTemplateExpression: 20, - ThisExpression: 20, - Identifier: 20, - PrivateIdentifier: 20, - Literal: 18, - TemplateLiteral: 20, - Super: 20, - SequenceExpression: 20, - // Operations - MemberExpression: 19, - ChainExpression: 19, - CallExpression: 19, - NewExpression: 19, - // Other definitions - ArrowFunctionExpression: NEEDS_PARENTHESES, - ClassExpression: NEEDS_PARENTHESES, - FunctionExpression: NEEDS_PARENTHESES, - ObjectExpression: NEEDS_PARENTHESES, - // Other operations - UpdateExpression: 16, - UnaryExpression: 15, - AwaitExpression: 15, - BinaryExpression: 14, - LogicalExpression: 13, - ConditionalExpression: 4, - AssignmentExpression: 3, - YieldExpression: 2, - RestElement: 1 - }; - - function formatSequence(state, nodes) { - /* - Writes into `state` a sequence of `nodes`. - */ - const { generator } = state; - state.write('('); - if (nodes != null && nodes.length > 0) { - generator[nodes[0].type](nodes[0], state); - const { length } = nodes; - for (let i = 1; i < length; i++) { - const param = nodes[i]; - state.write(', '); - generator[param.type](param, state); - } - } - state.write(')'); - } - - function expressionNeedsParenthesis( - state, - node, - parentNode, - isRightHand - ) { - const nodePrecedence = state.expressionsPrecedence[node.type]; - if (nodePrecedence === NEEDS_PARENTHESES) { - return true; - } - const parentNodePrecedence = - state.expressionsPrecedence[parentNode.type]; - if (nodePrecedence !== parentNodePrecedence) { - // Different node types - return ( - (!isRightHand && - nodePrecedence === 15 && - parentNodePrecedence === 14 && - parentNode.operator === '**') || - nodePrecedence < parentNodePrecedence - ); - } - if (nodePrecedence !== 13 && nodePrecedence !== 14) { - // Not a `LogicalExpression` or `BinaryExpression` - return false; - } - if (node.operator === '**' && parentNode.operator === '**') { - // Exponentiation operator has right-to-left associativity - return !isRightHand; - } - if ( - nodePrecedence === 13 && - parentNodePrecedence === 13 && - (node.operator === '??' || parentNode.operator === '??') - ) { - // Nullish coalescing and boolean operators cannot be combined - return true; - } - if (isRightHand) { - // Parenthesis are used if both operators have the same precedence - return ( - OPERATOR_PRECEDENCE[node.operator] <= - OPERATOR_PRECEDENCE[parentNode.operator] - ); - } - return ( - OPERATOR_PRECEDENCE[node.operator] < - OPERATOR_PRECEDENCE[parentNode.operator] - ); - } - - function formatExpression(state, node, parentNode, isRightHand) { - /* - Writes into `state` the provided `node`, adding parenthesis around if the provided `parentNode` needs it. If `node` is a right-hand argument, the provided `isRightHand` parameter should be `true`. - */ - const { generator } = state; - if ( - expressionNeedsParenthesis( - state, - node, - parentNode, - isRightHand - ) - ) { - state.write('('); - generator[node.type](node, state); - state.write(')'); - } else { - generator[node.type](node, state); - } - } - - function reindent(state, text, indent, lineEnd) { - /* - Writes into `state` the `text` string reindented with the provided `indent`. - */ - const lines = text.split('\n'); - const end = lines.length - 1; - state.write(lines[0].trim()); - if (end > 0) { - state.write(lineEnd); - for (let i = 1; i < end; i++) { - state.write(indent + lines[i].trim() + lineEnd); - } - state.write(indent + lines[end].trim()); - } - } - - function formatComments(state, comments, indent, lineEnd) { - /* - Writes into `state` the provided list of `comments`, with the given `indent` and `lineEnd` strings. - Line comments will end with `"\n"` regardless of the value of `lineEnd`. - Expects to start on a new unindented line. - */ - const { length } = comments; - for (let i = 0; i < length; i++) { - const comment = comments[i]; - state.write(indent); - if (comment.type[0] === 'L') { - // Line comment - state.write( - '// ' + comment.value.trim() + '\n', - comment - ); - } else { - // Block comment - state.write('/*'); - reindent(state, comment.value, indent, lineEnd); - state.write('*/' + lineEnd); - } - } - } - - function hasCallExpression(node) { - /* - Returns `true` if the provided `node` contains a call expression and `false` otherwise. - */ - let currentNode = node; - while (currentNode != null) { - const { type } = currentNode; - if (type[0] === 'C' && type[1] === 'a') { - // Is CallExpression - return true; - } else if ( - type[0] === 'M' && - type[1] === 'e' && - type[2] === 'm' - ) { - // Is MemberExpression - currentNode = currentNode.object; - } else { - return false; - } - } - } - - function formatVariableDeclaration(state, node) { - /* - Writes into `state` a variable declaration. - */ - const { generator } = state; - const { declarations } = node; - state.write(node.kind + ' '); - const { length } = declarations; - if (length > 0) { - generator.VariableDeclarator(declarations[0], state); - for (let i = 1; i < length; i++) { - state.write(', '); - generator.VariableDeclarator(declarations[i], state); - } - } - } - - let ForInStatement, - FunctionDeclaration, - RestElement, - BinaryExpression, - ArrayExpression, - BlockStatement; - - const GENERATOR = { - /* - Default generator. - */ - Program(node, state) { - const indent = state.indent.repeat(state.indentLevel); - const { lineEnd, writeComments } = state; - if (writeComments && node.comments != null) { - formatComments(state, node.comments, indent, lineEnd); - } - const statements = node.body; - const { length } = statements; - for (let i = 0; i < length; i++) { - const statement = statements[i]; - if (writeComments && statement.comments != null) { - formatComments( - state, - statement.comments, - indent, - lineEnd - ); - } - state.write(indent); - this[statement.type](statement, state); - state.write(lineEnd); - } - if (writeComments && node.trailingComments != null) { - formatComments( - state, - node.trailingComments, - indent, - lineEnd - ); - } - }, - BlockStatement: (BlockStatement = function (node, state) { - const indent = state.indent.repeat(state.indentLevel++); - const { lineEnd, writeComments } = state; - const statementIndent = indent + state.indent; - state.write('{'); - const statements = node.body; - if (statements != null && statements.length > 0) { - state.write(lineEnd); - if (writeComments && node.comments != null) { - formatComments( - state, - node.comments, - statementIndent, - lineEnd - ); - } - const { length } = statements; - for (let i = 0; i < length; i++) { - const statement = statements[i]; - if (writeComments && statement.comments != null) { - formatComments( - state, - statement.comments, - statementIndent, - lineEnd - ); - } - state.write(statementIndent); - this[statement.type](statement, state); - state.write(lineEnd); - } - state.write(indent); - } else { - if (writeComments && node.comments != null) { - state.write(lineEnd); - formatComments( - state, - node.comments, - statementIndent, - lineEnd - ); - state.write(indent); - } - } - if (writeComments && node.trailingComments != null) { - formatComments( - state, - node.trailingComments, - statementIndent, - lineEnd - ); - } - state.write('}'); - state.indentLevel--; - }), - ClassBody: BlockStatement, - StaticBlock(node, state) { - state.write('static '); - this.BlockStatement(node, state); - }, - EmptyStatement(node, state) { - state.write(';'); - }, - ExpressionStatement(node, state) { - const precedence = - state.expressionsPrecedence[node.expression.type]; - if ( - precedence === NEEDS_PARENTHESES || - (precedence === 3 && - node.expression.left.type[0] === 'O') - ) { - // Should always have parentheses or is an AssignmentExpression to an ObjectPattern - state.write('('); - this[node.expression.type](node.expression, state); - state.write(')'); - } else { - this[node.expression.type](node.expression, state); - } - state.write(';'); - }, - IfStatement(node, state) { - state.write('if ('); - this[node.test.type](node.test, state); - state.write(') '); - this[node.consequent.type](node.consequent, state); - if (node.alternate != null) { - state.write(' else '); - this[node.alternate.type](node.alternate, state); - } - }, - LabeledStatement(node, state) { - this[node.label.type](node.label, state); - state.write(': '); - this[node.body.type](node.body, state); - }, - BreakStatement(node, state) { - state.write('break'); - if (node.label != null) { - state.write(' '); - this[node.label.type](node.label, state); - } - state.write(';'); - }, - ContinueStatement(node, state) { - state.write('continue'); - if (node.label != null) { - state.write(' '); - this[node.label.type](node.label, state); - } - state.write(';'); - }, - WithStatement(node, state) { - state.write('with ('); - this[node.object.type](node.object, state); - state.write(') '); - this[node.body.type](node.body, state); - }, - SwitchStatement(node, state) { - const indent = state.indent.repeat(state.indentLevel++); - const { lineEnd, writeComments } = state; - state.indentLevel++; - const caseIndent = indent + state.indent; - const statementIndent = caseIndent + state.indent; - state.write('switch ('); - this[node.discriminant.type](node.discriminant, state); - state.write(') {' + lineEnd); - const { cases: occurences } = node; - const { length: occurencesCount } = occurences; - for (let i = 0; i < occurencesCount; i++) { - const occurence = occurences[i]; - if (writeComments && occurence.comments != null) { - formatComments( - state, - occurence.comments, - caseIndent, - lineEnd - ); - } - if (occurence.test) { - state.write(caseIndent + 'case '); - this[occurence.test.type](occurence.test, state); - state.write(':' + lineEnd); - } else { - state.write(caseIndent + 'default:' + lineEnd); - } - const { consequent } = occurence; - const { length: consequentCount } = consequent; - for (let i = 0; i < consequentCount; i++) { - const statement = consequent[i]; - if (writeComments && statement.comments != null) { - formatComments( - state, - statement.comments, - statementIndent, - lineEnd - ); - } - state.write(statementIndent); - this[statement.type](statement, state); - state.write(lineEnd); - } - } - state.indentLevel -= 2; - state.write(indent + '}'); - }, - ReturnStatement(node, state) { - state.write('return'); - if (node.argument) { - state.write(' '); - this[node.argument.type](node.argument, state); - } - state.write(';'); - }, - ThrowStatement(node, state) { - state.write('throw '); - this[node.argument.type](node.argument, state); - state.write(';'); - }, - TryStatement(node, state) { - state.write('try '); - this[node.block.type](node.block, state); - if (node.handler) { - const { handler } = node; - if (handler.param == null) { - state.write(' catch '); - } else { - state.write(' catch ('); - this[handler.param.type](handler.param, state); - state.write(') '); - } - this[handler.body.type](handler.body, state); - } - if (node.finalizer) { - state.write(' finally '); - this[node.finalizer.type](node.finalizer, state); - } - }, - WhileStatement(node, state) { - state.write('while ('); - this[node.test.type](node.test, state); - state.write(') '); - this[node.body.type](node.body, state); - }, - DoWhileStatement(node, state) { - state.write('do '); - this[node.body.type](node.body, state); - state.write(' while ('); - this[node.test.type](node.test, state); - state.write(');'); - }, - ForStatement(node, state) { - state.write('for ('); - if (node.init != null) { - const { init } = node; - if (init.type[0] === 'V') { - formatVariableDeclaration(state, init); - } else { - this[init.type](init, state); - } - } - state.write('; '); - if (node.test) { - this[node.test.type](node.test, state); - } - state.write('; '); - if (node.update) { - this[node.update.type](node.update, state); - } - state.write(') '); - this[node.body.type](node.body, state); - }, - ForInStatement: (ForInStatement = function (node, state) { - state.write(`for ${node.await ? 'await ' : ''}(`); - const { left } = node; - if (left.type[0] === 'V') { - formatVariableDeclaration(state, left); - } else { - this[left.type](left, state); - } - // Identifying whether node.type is `ForInStatement` or `ForOfStatement` - state.write(node.type[3] === 'I' ? ' in ' : ' of '); - this[node.right.type](node.right, state); - state.write(') '); - this[node.body.type](node.body, state); - }), - ForOfStatement: ForInStatement, - DebuggerStatement(node, state) { - state.write('debugger;', node); - }, - FunctionDeclaration: (FunctionDeclaration = function ( - node, - state - ) { - state.write( - (node.async ? 'async ' : '') + - (node.generator ? 'function* ' : 'function ') + - (node.id ? node.id.name : ''), - node - ); - formatSequence(state, node.params); - state.write(' '); - this[node.body.type](node.body, state); - }), - FunctionExpression: FunctionDeclaration, - VariableDeclaration(node, state) { - formatVariableDeclaration(state, node); - state.write(';'); - }, - VariableDeclarator(node, state) { - this[node.id.type](node.id, state); - if (node.init != null) { - state.write(' = '); - this[node.init.type](node.init, state); - } - }, - ClassDeclaration(node, state) { - state.write( - 'class ' + (node.id ? `${node.id.name} ` : ''), - node - ); - if (node.superClass) { - state.write('extends '); - const { superClass } = node; - const { type } = superClass; - const precedence = state.expressionsPrecedence[type]; - if ( - (type[0] !== 'C' || - type[1] !== 'l' || - type[5] !== 'E') && - (precedence === NEEDS_PARENTHESES || - precedence < - state.expressionsPrecedence.ClassExpression) - ) { - // Not a ClassExpression that needs parentheses - state.write('('); - this[node.superClass.type](superClass, state); - state.write(')'); - } else { - this[superClass.type](superClass, state); - } - state.write(' '); - } - this.ClassBody(node.body, state); - }, - ImportDeclaration(node, state) { - state.write('import '); - const { specifiers } = node; - const { length } = specifiers; - // TODO: Once babili is fixed, put this after condition - // https://github.com/babel/babili/issues/430 - let i = 0; - if (length > 0) { - for (; i < length; ) { - if (i > 0) { - state.write(', '); - } - const specifier = specifiers[i]; - const type = specifier.type[6]; - if (type === 'D') { - // ImportDefaultSpecifier - state.write(specifier.local.name, specifier); - i++; - } else if (type === 'N') { - // ImportNamespaceSpecifier - state.write( - '* as ' + specifier.local.name, - specifier - ); - i++; - } else { - // ImportSpecifier - break; - } - } - if (i < length) { - state.write('{'); - for (;;) { - const specifier = specifiers[i]; - const { name } = specifier.imported; - state.write(name, specifier); - if (name !== specifier.local.name) { - state.write(' as ' + specifier.local.name); - } - if (++i < length) { - state.write(', '); - } else { - break; - } - } - state.write('}'); - } - state.write(' from '); - } - this.Literal(node.source, state); - state.write(';'); - }, - ImportExpression(node, state) { - state.write('import('); - this[node.source.type](node.source, state); - state.write(')'); - }, - ExportDefaultDeclaration(node, state) { - state.write('export default '); - this[node.declaration.type](node.declaration, state); - if ( - state.expressionsPrecedence[node.declaration.type] != - null && - node.declaration.type[0] !== 'F' - ) { - // All expression nodes except `FunctionExpression` - state.write(';'); - } - }, - ExportNamedDeclaration(node, state) { - state.write('export '); - if (node.declaration) { - this[node.declaration.type](node.declaration, state); - } else { - state.write('{'); - const { specifiers } = node, - { length } = specifiers; - if (length > 0) { - for (let i = 0; ; ) { - const specifier = specifiers[i]; - const { name } = specifier.local; - state.write(name, specifier); - if (name !== specifier.exported.name) { - state.write( - ' as ' + specifier.exported.name - ); - } - if (++i < length) { - state.write(', '); - } else { - break; - } - } - } - state.write('}'); - if (node.source) { - state.write(' from '); - this.Literal(node.source, state); - } - state.write(';'); - } - }, - ExportAllDeclaration(node, state) { - if (node.exported != null) { - state.write( - 'export * as ' + node.exported.name + ' from ' - ); - } else { - state.write('export * from '); - } - this.Literal(node.source, state); - state.write(';'); - }, - MethodDefinition(node, state) { - if (node.static) { - state.write('static '); - } - const kind = node.kind[0]; - if (kind === 'g' || kind === 's') { - // Getter or setter - state.write(node.kind + ' '); - } - if (node.value.async) { - state.write('async '); - } - if (node.value.generator) { - state.write('*'); - } - if (node.computed) { - state.write('['); - this[node.key.type](node.key, state); - state.write(']'); - } else { - this[node.key.type](node.key, state); - } - formatSequence(state, node.value.params); - state.write(' '); - this[node.value.body.type](node.value.body, state); - }, - ClassExpression(node, state) { - this.ClassDeclaration(node, state); - }, - ArrowFunctionExpression(node, state) { - state.write(node.async ? 'async ' : '', node); - const { params } = node; - if (params != null) { - // Omit parenthesis if only one named parameter - if (params.length === 1 && params[0].type[0] === 'I') { - // If params[0].type[0] starts with 'I', it can't be `ImportDeclaration` nor `IfStatement` and thus is `Identifier` - state.write(params[0].name, params[0]); - } else { - formatSequence(state, node.params); - } - } - state.write(' => '); - if (node.body.type[0] === 'O') { - // Body is an object expression - state.write('('); - this.ObjectExpression(node.body, state); - state.write(')'); - } else { - this[node.body.type](node.body, state); - } - }, - ThisExpression(node, state) { - state.write('this', node); - }, - Super(node, state) { - state.write('super', node); - }, - RestElement: (RestElement = function (node, state) { - state.write('...'); - this[node.argument.type](node.argument, state); - }), - SpreadElement: RestElement, - YieldExpression(node, state) { - state.write(node.delegate ? 'yield*' : 'yield'); - if (node.argument) { - state.write(' '); - this[node.argument.type](node.argument, state); - } - }, - AwaitExpression(node, state) { - state.write('await ', node); - formatExpression(state, node.argument, node); - }, - TemplateLiteral(node, state) { - const { quasis, expressions } = node; - state.write('`'); - const { length } = expressions; - for (let i = 0; i < length; i++) { - const expression = expressions[i]; - const quasi = quasis[i]; - state.write(quasi.value.raw, quasi); - state.write('${'); - this[expression.type](expression, state); - state.write('}'); - } - const quasi = quasis[quasis.length - 1]; - state.write(quasi.value.raw, quasi); - state.write('`'); - }, - TemplateElement(node, state) { - state.write(node.value.raw, node); - }, - TaggedTemplateExpression(node, state) { - formatExpression(state, node.tag, node); - this[node.quasi.type](node.quasi, state); - }, - ArrayExpression: (ArrayExpression = function (node, state) { - state.write('['); - if (node.elements.length > 0) { - const { elements } = node, - { length } = elements; - for (let i = 0; ; ) { - const element = elements[i]; - if (element != null) { - this[element.type](element, state); - } - if (++i < length) { - state.write(', '); - } else { - if (element == null) { - state.write(', '); - } - break; - } - } - } - state.write(']'); - }), - ArrayPattern: ArrayExpression, - ObjectExpression(node, state) { - const indent = state.indent.repeat(state.indentLevel++); - const { lineEnd, writeComments } = state; - const propertyIndent = indent + state.indent; - state.write('{'); - if (node.properties.length > 0) { - state.write(lineEnd); - if (writeComments && node.comments != null) { - formatComments( - state, - node.comments, - propertyIndent, - lineEnd - ); - } - const comma = ',' + lineEnd; - const { properties } = node, - { length } = properties; - for (let i = 0; ; ) { - const property = properties[i]; - if (writeComments && property.comments != null) { - formatComments( - state, - property.comments, - propertyIndent, - lineEnd - ); - } - state.write(propertyIndent); - this[property.type](property, state); - if (++i < length) { - state.write(comma); - } else { - break; - } - } - state.write(lineEnd); - if (writeComments && node.trailingComments != null) { - formatComments( - state, - node.trailingComments, - propertyIndent, - lineEnd - ); - } - state.write(indent + '}'); - } else if (writeComments) { - if (node.comments != null) { - state.write(lineEnd); - formatComments( - state, - node.comments, - propertyIndent, - lineEnd - ); - if (node.trailingComments != null) { - formatComments( - state, - node.trailingComments, - propertyIndent, - lineEnd - ); - } - state.write(indent + '}'); - } else if (node.trailingComments != null) { - state.write(lineEnd); - formatComments( - state, - node.trailingComments, - propertyIndent, - lineEnd - ); - state.write(indent + '}'); - } else { - state.write('}'); - } - } else { - state.write('}'); - } - state.indentLevel--; - }, - Property(node, state) { - if (node.method || node.kind[0] !== 'i') { - // Either a method or of kind `set` or `get` (not `init`) - this.MethodDefinition(node, state); - } else { - if (!node.shorthand) { - if (node.computed) { - state.write('['); - this[node.key.type](node.key, state); - state.write(']'); - } else { - this[node.key.type](node.key, state); - } - state.write(': '); - } - this[node.value.type](node.value, state); - } - }, - PropertyDefinition(node, state) { - if (node.static) { - state.write('static '); - } - if (node.computed) { - state.write('['); - } - this[node.key.type](node.key, state); - if (node.computed) { - state.write(']'); - } - if (node.value == null) { - if (node.key.type[0] !== 'F') { - state.write(';'); - } - return; - } - state.write(' = '); - this[node.value.type](node.value, state); - state.write(';'); - }, - ObjectPattern(node, state) { - state.write('{'); - if (node.properties.length > 0) { - const { properties } = node, - { length } = properties; - for (let i = 0; ; ) { - this[properties[i].type](properties[i], state); - if (++i < length) { - state.write(', '); - } else { - break; - } - } - } - state.write('}'); - }, - SequenceExpression(node, state) { - formatSequence(state, node.expressions); - }, - UnaryExpression(node, state) { - if (node.prefix) { - const { - operator, - argument, - argument: { type } - } = node; - state.write(operator); - const needsParentheses = expressionNeedsParenthesis( - state, - argument, - node - ); - if ( - !needsParentheses && - (operator.length > 1 || - (type[0] === 'U' && - (type[1] === 'n' || type[1] === 'p') && - argument.prefix && - argument.operator[0] === operator && - (operator === '+' || operator === '-'))) - ) { - // Large operator or argument is UnaryExpression or UpdateExpression node - state.write(' '); - } - if (needsParentheses) { - state.write(operator.length > 1 ? ' (' : '('); - this[type](argument, state); - state.write(')'); - } else { - this[type](argument, state); - } - } else { - // FIXME: This case never occurs - this[node.argument.type](node.argument, state); - state.write(node.operator); - } - }, - UpdateExpression(node, state) { - // Always applied to identifiers or members, no parenthesis check needed - if (node.prefix) { - state.write(node.operator); - this[node.argument.type](node.argument, state); - } else { - this[node.argument.type](node.argument, state); - state.write(node.operator); - } - }, - AssignmentExpression(node, state) { - this[node.left.type](node.left, state); - state.write(' ' + node.operator + ' '); - this[node.right.type](node.right, state); - }, - AssignmentPattern(node, state) { - this[node.left.type](node.left, state); - state.write(' = '); - this[node.right.type](node.right, state); - }, - BinaryExpression: (BinaryExpression = function (node, state) { - const isIn = node.operator === 'in'; - if (isIn) { - // Avoids confusion in `for` loops initializers - state.write('('); - } - formatExpression(state, node.left, node, false); - state.write(' ' + node.operator + ' '); - formatExpression(state, node.right, node, true); - if (isIn) { - state.write(')'); - } - }), - LogicalExpression: BinaryExpression, - ConditionalExpression(node, state) { - const { test } = node; - const precedence = state.expressionsPrecedence[test.type]; - if ( - precedence === NEEDS_PARENTHESES || - precedence <= - state.expressionsPrecedence.ConditionalExpression - ) { - state.write('('); - this[test.type](test, state); - state.write(')'); - } else { - this[test.type](test, state); - } - state.write(' ? '); - this[node.consequent.type](node.consequent, state); - state.write(' : '); - this[node.alternate.type](node.alternate, state); - }, - NewExpression(node, state) { - state.write('new '); - const precedence = - state.expressionsPrecedence[node.callee.type]; - if ( - precedence === NEEDS_PARENTHESES || - precedence < - state.expressionsPrecedence.CallExpression || - hasCallExpression(node.callee) - ) { - state.write('('); - this[node.callee.type](node.callee, state); - state.write(')'); - } else { - this[node.callee.type](node.callee, state); - } - formatSequence(state, node['arguments']); - }, - CallExpression(node, state) { - const precedence = - state.expressionsPrecedence[node.callee.type]; - if ( - precedence === NEEDS_PARENTHESES || - precedence < state.expressionsPrecedence.CallExpression - ) { - state.write('('); - this[node.callee.type](node.callee, state); - state.write(')'); - } else { - this[node.callee.type](node.callee, state); - } - if (node.optional) { - state.write('?.'); - } - formatSequence(state, node['arguments']); - }, - ChainExpression(node, state) { - this[node.expression.type](node.expression, state); - }, - MemberExpression(node, state) { - const precedence = - state.expressionsPrecedence[node.object.type]; - if ( - precedence === NEEDS_PARENTHESES || - precedence < - state.expressionsPrecedence.MemberExpression - ) { - state.write('('); - this[node.object.type](node.object, state); - state.write(')'); - } else { - this[node.object.type](node.object, state); - } - if (node.computed) { - if (node.optional) { - state.write('?.'); - } - state.write('['); - this[node.property.type](node.property, state); - state.write(']'); - } else { - if (node.optional) { - state.write('?.'); - } else { - state.write('.'); - } - this[node.property.type](node.property, state); - } - }, - MetaProperty(node, state) { - state.write( - node.meta.name + '.' + node.property.name, - node - ); - }, - Identifier(node, state) { - state.write(node.name, node); - }, - PrivateIdentifier(node, state) { - state.write(`#${node.name}`, node); - }, - Literal(node, state) { - if (node.raw != null) { - // Non-standard property - state.write(node.raw, node); - } else if (node.regex != null) { - this.RegExpLiteral(node, state); - } else if (node.bigint != null) { - state.write(node.bigint + 'n', node); - } else { - state.write(stringify(node.value), node); - } - }, - RegExpLiteral(node, state) { - const { regex } = node; - state.write(`/${regex.pattern}/${regex.flags}`, node); - } - }; - - const EMPTY_OBJECT = {}; - - /* -DEPRECATED: Alternate export of `GENERATOR`. -*/ - const baseGenerator = GENERATOR; - - class State { - constructor(options) { - const setup = options == null ? EMPTY_OBJECT : options; - this.output = ''; - // Functional options - if (setup.output != null) { - this.output = setup.output; - this.write = this.writeToStream; - } else { - this.output = ''; - } - this.generator = - setup.generator != null ? setup.generator : GENERATOR; - this.expressionsPrecedence = - setup.expressionsPrecedence != null - ? setup.expressionsPrecedence - : EXPRESSIONS_PRECEDENCE; - // Formating setup - this.indent = setup.indent != null ? setup.indent : ' '; - this.lineEnd = setup.lineEnd != null ? setup.lineEnd : '\n'; - this.indentLevel = - setup.startingIndentLevel != null - ? setup.startingIndentLevel - : 0; - this.writeComments = setup.comments - ? setup.comments - : false; - // Source map - if (setup.sourceMap != null) { - this.write = - setup.output == null - ? this.writeAndMap - : this.writeToStreamAndMap; - this.sourceMap = setup.sourceMap; - this.line = 1; - this.column = 0; - this.lineEndSize = this.lineEnd.split('\n').length - 1; - this.mapping = { - original: null, - // Uses the entire state to avoid generating ephemeral objects - generated: this, - name: undefined, - source: - setup.sourceMap.file || setup.sourceMap._file - }; - } - } - - write(code) { - this.output += code; - } - - writeToStream(code) { - this.output.write(code); - } - - writeAndMap(code, node) { - this.output += code; - this.map(code, node); - } - - writeToStreamAndMap(code, node) { - this.output.write(code); - this.map(code, node); - } - - map(code, node) { - if (node != null) { - const { type } = node; - if (type[0] === 'L' && type[2] === 'n') { - // LineComment - this.column = 0; - this.line++; - return; - } - if (node.loc != null) { - const { mapping } = this; - mapping.original = node.loc.start; - mapping.name = node.name; - this.sourceMap.addMapping(mapping); - } - if ( - (type[0] === 'T' && type[8] === 'E') || - (type[0] === 'L' && - type[1] === 'i' && - typeof node.value === 'string') - ) { - // TemplateElement or Literal string node - const { length } = code; - let { column, line } = this; - for (let i = 0; i < length; i++) { - if (code[i] === '\n') { - column = 0; - line++; - } else { - column++; - } - } - this.column = column; - this.line = line; - return; - } - } - const { length } = code; - const { lineEnd } = this; - if (length > 0) { - if ( - this.lineEndSize > 0 && - (lineEnd.length === 1 - ? code[length - 1] === lineEnd - : code.endsWith(lineEnd)) - ) { - this.line += this.lineEndSize; - this.column = 0; - } else { - this.column += length; - } - } - } - - toString() { - return this.output; - } - } - - function generate(node, options) { - /* - Returns a string representing the rendered code of the provided AST `node`. - The `options` are: - - - `indent`: string to use for indentation (defaults to `␣␣`) - - `lineEnd`: string to use for line endings (defaults to `\n`) - - `startingIndentLevel`: indent level to start from (defaults to `0`) - - `comments`: generate comments if `true` (defaults to `false`) - - `output`: output stream to write the rendered code to (defaults to `null`) - - `generator`: custom code generator (defaults to `GENERATOR`) - - `expressionsPrecedence`: custom map of node types and their precedence level (defaults to `EXPRESSIONS_PRECEDENCE`) - */ - const state = new State(options); - // Travel through the AST node and generate the code - state.generator[node.type](node, state); - return state.output; - } - }, - './node_modules/clone-regexp/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - default: function () { - return clonedRegexp; - } - }); - /* harmony import */ var is_regexp__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! is-regexp */ './node_modules/is-regexp/index.js' - ); - - const flagMap = { - global: 'g', - ignoreCase: 'i', - multiline: 'm', - dotAll: 's', - sticky: 'y', - unicode: 'u' - }; - - function clonedRegexp(regexp, options = {}) { - if ( - !(0, is_regexp__WEBPACK_IMPORTED_MODULE_0__['default'])( - regexp - ) - ) { - throw new TypeError('Expected a RegExp instance'); - } - - const flags = Object.keys(flagMap) - .map(flag => - ( - typeof options[flag] === 'boolean' - ? options[flag] - : regexp[flag] - ) - ? flagMap[flag] - : '' - ) - .join(''); - - const clonedRegexp = new RegExp( - options.source || regexp.source, - flags - ); - - clonedRegexp.lastIndex = - typeof options.lastIndex === 'number' - ? options.lastIndex - : regexp.lastIndex; - - return clonedRegexp; - } - }, - './node_modules/dom-serializer/lib/esm/foreignNames.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - attributeNames: function () { - return attributeNames; - }, - elementNames: function () { - return elementNames; - } - }); - const elementNames = new Map( - [ - 'altGlyph', - 'altGlyphDef', - 'altGlyphItem', - 'animateColor', - 'animateMotion', - 'animateTransform', - 'clipPath', - 'feBlend', - 'feColorMatrix', - 'feComponentTransfer', - 'feComposite', - 'feConvolveMatrix', - 'feDiffuseLighting', - 'feDisplacementMap', - 'feDistantLight', - 'feDropShadow', - 'feFlood', - 'feFuncA', - 'feFuncB', - 'feFuncG', - 'feFuncR', - 'feGaussianBlur', - 'feImage', - 'feMerge', - 'feMergeNode', - 'feMorphology', - 'feOffset', - 'fePointLight', - 'feSpecularLighting', - 'feSpotLight', - 'feTile', - 'feTurbulence', - 'foreignObject', - 'glyphRef', - 'linearGradient', - 'radialGradient', - 'textPath' - ].map(val => [val.toLowerCase(), val]) - ); - const attributeNames = new Map( - [ - 'definitionURL', - 'attributeName', - 'attributeType', - 'baseFrequency', - 'baseProfile', - 'calcMode', - 'clipPathUnits', - 'diffuseConstant', - 'edgeMode', - 'filterUnits', - 'glyphRef', - 'gradientTransform', - 'gradientUnits', - 'kernelMatrix', - 'kernelUnitLength', - 'keyPoints', - 'keySplines', - 'keyTimes', - 'lengthAdjust', - 'limitingConeAngle', - 'markerHeight', - 'markerUnits', - 'markerWidth', - 'maskContentUnits', - 'maskUnits', - 'numOctaves', - 'pathLength', - 'patternContentUnits', - 'patternTransform', - 'patternUnits', - 'pointsAtX', - 'pointsAtY', - 'pointsAtZ', - 'preserveAlpha', - 'preserveAspectRatio', - 'primitiveUnits', - 'refX', - 'refY', - 'repeatCount', - 'repeatDur', - 'requiredExtensions', - 'requiredFeatures', - 'specularConstant', - 'specularExponent', - 'spreadMethod', - 'startOffset', - 'stdDeviation', - 'stitchTiles', - 'surfaceScale', - 'systemLanguage', - 'tableValues', - 'targetX', - 'targetY', - 'textLength', - 'viewBox', - 'viewTarget', - 'xChannelSelector', - 'yChannelSelector', - 'zoomAndPan' - ].map(val => [val.toLowerCase(), val]) - ); - }, - './node_modules/dom-serializer/lib/esm/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - render: function () { - return render; - } - }); - /* harmony import */ var domelementtype__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! domelementtype */ './node_modules/domelementtype/lib/esm/index.js' - ); - /* harmony import */ var entities__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! entities */ './node_modules/entities/lib/esm/index.js' - ); - /* harmony import */ var _foreignNames_js__WEBPACK_IMPORTED_MODULE_2__ = - __webpack_require__( - /*! ./foreignNames.js */ './node_modules/dom-serializer/lib/esm/foreignNames.js' - ); - /* - * Module dependencies - */ - - /** - * Mixed-case SVG and MathML tags & attributes - * recognized by the HTML parser. - * - * @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign - */ - - const unencodedElements = new Set([ - 'style', - 'script', - 'xmp', - 'iframe', - 'noembed', - 'noframes', - 'plaintext', - 'noscript' - ]); - function replaceQuotes(value) { - return value.replace(/"/g, '"'); - } - /** - * Format attributes - */ - function formatAttributes(attributes, opts) { - var _a; - if (!attributes) return; - const encode = - ((_a = opts.encodeEntities) !== null && _a !== void 0 - ? _a - : opts.decodeEntities) === false - ? replaceQuotes - : opts.xmlMode || opts.encodeEntities !== 'utf8' - ? entities__WEBPACK_IMPORTED_MODULE_1__.encodeXML - : entities__WEBPACK_IMPORTED_MODULE_1__.escapeAttribute; - return Object.keys(attributes) - .map(key => { - var _a, _b; - const value = - (_a = attributes[key]) !== null && _a !== void 0 - ? _a - : ''; - if (opts.xmlMode === 'foreign') { - /* Fix up mixed-case attribute names */ - key = - (_b = - _foreignNames_js__WEBPACK_IMPORTED_MODULE_2__.attributeNames.get( - key - )) !== null && _b !== void 0 - ? _b - : key; - } - if (!opts.emptyAttrs && !opts.xmlMode && value === '') { - return key; - } - return `${key}="${encode(value)}"`; - }) - .join(' '); - } - /** - * Self-enclosing tags - */ - const singleTag = new Set([ - 'area', - 'base', - 'basefont', - 'br', - 'col', - 'command', - 'embed', - 'frame', - 'hr', - 'img', - 'input', - 'isindex', - 'keygen', - 'link', - 'meta', - 'param', - 'source', - 'track', - 'wbr' - ]); - /** - * Renders a DOM node or an array of DOM nodes to a string. - * - * Can be thought of as the equivalent of the `outerHTML` of the passed node(s). - * - * @param node Node to be rendered. - * @param options Changes serialization behavior - */ - function render(node, options = {}) { - const nodes = 'length' in node ? node : [node]; - let output = ''; - for (let i = 0; i < nodes.length; i++) { - output += renderNode(nodes[i], options); - } - return output; - } - /* harmony default export */ __webpack_exports__['default'] = - render; - function renderNode(node, options) { - switch (node.type) { - case domelementtype__WEBPACK_IMPORTED_MODULE_0__.Root: - return render(node.children, options); - // @ts-expect-error We don't use `Doctype` yet - case domelementtype__WEBPACK_IMPORTED_MODULE_0__.Doctype: - case domelementtype__WEBPACK_IMPORTED_MODULE_0__.Directive: - return renderDirective(node); - case domelementtype__WEBPACK_IMPORTED_MODULE_0__.Comment: - return renderComment(node); - case domelementtype__WEBPACK_IMPORTED_MODULE_0__.CDATA: - return renderCdata(node); - case domelementtype__WEBPACK_IMPORTED_MODULE_0__.Script: - case domelementtype__WEBPACK_IMPORTED_MODULE_0__.Style: - case domelementtype__WEBPACK_IMPORTED_MODULE_0__.Tag: - return renderTag(node, options); - case domelementtype__WEBPACK_IMPORTED_MODULE_0__.Text: - return renderText(node, options); - } - } - const foreignModeIntegrationPoints = new Set([ - 'mi', - 'mo', - 'mn', - 'ms', - 'mtext', - 'annotation-xml', - 'foreignObject', - 'desc', - 'title' - ]); - const foreignElements = new Set(['svg', 'math']); - function renderTag(elem, opts) { - var _a; - // Handle SVG / MathML in HTML - if (opts.xmlMode === 'foreign') { - /* Fix up mixed-case element names */ - elem.name = - (_a = - _foreignNames_js__WEBPACK_IMPORTED_MODULE_2__.elementNames.get( - elem.name - )) !== null && _a !== void 0 - ? _a - : elem.name; - /* Exit foreign mode at integration points */ - if ( - elem.parent && - foreignModeIntegrationPoints.has(elem.parent.name) - ) { - opts = { ...opts, xmlMode: false }; - } - } - if (!opts.xmlMode && foreignElements.has(elem.name)) { - opts = { ...opts, xmlMode: 'foreign' }; - } - let tag = `<${elem.name}`; - const attribs = formatAttributes(elem.attribs, opts); - if (attribs) { - tag += ` ${attribs}`; - } - if ( - elem.children.length === 0 && - (opts.xmlMode - ? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags - opts.selfClosingTags !== false - : // User explicitly asked for self-closing tags, even in HTML mode - opts.selfClosingTags && singleTag.has(elem.name)) - ) { - if (!opts.xmlMode) tag += ' '; - tag += '/>'; - } else { - tag += '>'; - if (elem.children.length > 0) { - tag += render(elem.children, opts); - } - if (opts.xmlMode || !singleTag.has(elem.name)) { - tag += ``; - } - } - return tag; - } - function renderDirective(elem) { - return `<${elem.data}>`; - } - function renderText(elem, opts) { - var _a; - let data = elem.data || ''; - // If entities weren't decoded, no need to encode them back - if ( - ((_a = opts.encodeEntities) !== null && _a !== void 0 - ? _a - : opts.decodeEntities) !== false && - !( - !opts.xmlMode && - elem.parent && - unencodedElements.has(elem.parent.name) - ) - ) { - data = - opts.xmlMode || opts.encodeEntities !== 'utf8' - ? (0, - entities__WEBPACK_IMPORTED_MODULE_1__.encodeXML)( - data - ) - : (0, - entities__WEBPACK_IMPORTED_MODULE_1__.escapeText)( - data - ); - } - return data; - } - function renderCdata(elem) { - return ``; - } - function renderComment(elem) { - return ``; - } - }, - './node_modules/domelementtype/lib/esm/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - CDATA: function () { - return CDATA; - }, - Comment: function () { - return Comment; - }, - Directive: function () { - return Directive; - }, - Doctype: function () { - return Doctype; - }, - ElementType: function () { - return ElementType; - }, - Root: function () { - return Root; - }, - Script: function () { - return Script; - }, - Style: function () { - return Style; - }, - Tag: function () { - return Tag; - }, - Text: function () { - return Text; - }, - isTag: function () { - return isTag; - } - }); - /** Types of elements found in htmlparser2's DOM */ - var ElementType; - (function (ElementType) { - /** Type for the root element of a document */ - ElementType['Root'] = 'root'; - /** Type for Text */ - ElementType['Text'] = 'text'; - /** Type for */ - ElementType['Directive'] = 'directive'; - /** Type for */ - ElementType['Comment'] = 'comment'; - /** Type for `. - this.sequenceIndex = Number(c === CharCodes.Lt); - } - } - stateCDATASequence(c) { - if (c === Sequences.Cdata[this.sequenceIndex]) { - if (++this.sequenceIndex === Sequences.Cdata.length) { - this.state = State.InCommentLike; - this.currentSequence = Sequences.CdataEnd; - this.sequenceIndex = 0; - this.sectionStart = this.index + 1; - } - } else { - this.sequenceIndex = 0; - this.state = State.InDeclaration; - this.stateInDeclaration(c); // Reconsume the character - } - } - /** - * When we wait for one specific character, we can speed things up - * by skipping through the buffer until we find it. - * - * @returns Whether the character was found. - */ - fastForwardTo(c) { - while (++this.index < this.buffer.length + this.offset) { - if ( - this.buffer.charCodeAt(this.index - this.offset) === - c - ) { - return true; - } - } - /* - * We increment the index at the end of the `parse` loop, - * so set it to `buffer.length - 1` here. - * - * TODO: Refactor `parse` to increment index before calling states. - */ - this.index = this.buffer.length + this.offset - 1; - return false; - } - /** - * Comments and CDATA end with `-->` and `]]>`. - * - * Their common qualities are: - * - Their end sequences have a distinct character they start with. - * - That character is then repeated, so we have to check multiple repeats. - * - All characters but the start character of the sequence can be skipped. - */ - stateInCommentLike(c) { - if (c === this.currentSequence[this.sequenceIndex]) { - if ( - ++this.sequenceIndex === this.currentSequence.length - ) { - if (this.currentSequence === Sequences.CdataEnd) { - this.cbs.oncdata( - this.sectionStart, - this.index, - 2 - ); - } else { - this.cbs.oncomment( - this.sectionStart, - this.index, - 2 - ); - } - this.sequenceIndex = 0; - this.sectionStart = this.index + 1; - this.state = State.Text; - } - } else if (this.sequenceIndex === 0) { - // Fast-forward to the first character of the sequence - if (this.fastForwardTo(this.currentSequence[0])) { - this.sequenceIndex = 1; - } - } else if ( - c !== this.currentSequence[this.sequenceIndex - 1] - ) { - // Allow long sequences, eg. --->, ]]]> - this.sequenceIndex = 0; - } - } - /** - * HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name. - * - * XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar). - * We allow anything that wouldn't end the tag. - */ - isTagStartChar(c) { - return this.xmlMode - ? !isEndOfTagSection(c) - : isASCIIAlpha(c); - } - startSpecial(sequence, offset) { - this.isSpecial = true; - this.currentSequence = sequence; - this.sequenceIndex = offset; - this.state = State.SpecialStartSequence; - } - stateBeforeTagName(c) { - if (c === CharCodes.ExclamationMark) { - this.state = State.BeforeDeclaration; - this.sectionStart = this.index + 1; - } else if (c === CharCodes.Questionmark) { - this.state = State.InProcessingInstruction; - this.sectionStart = this.index + 1; - } else if (this.isTagStartChar(c)) { - const lower = c | 0x20; - this.sectionStart = this.index; - if (this.xmlMode) { - this.state = State.InTagName; - } else if (lower === Sequences.ScriptEnd[2]) { - this.state = State.BeforeSpecialS; - } else if (lower === Sequences.TitleEnd[2]) { - this.state = State.BeforeSpecialT; - } else { - this.state = State.InTagName; - } - } else if (c === CharCodes.Slash) { - this.state = State.BeforeClosingTagName; - } else { - this.state = State.Text; - this.stateText(c); - } - } - stateInTagName(c) { - if (isEndOfTagSection(c)) { - this.cbs.onopentagname(this.sectionStart, this.index); - this.sectionStart = -1; - this.state = State.BeforeAttributeName; - this.stateBeforeAttributeName(c); - } - } - stateBeforeClosingTagName(c) { - if (isWhitespace(c)) { - // Ignore - } else if (c === CharCodes.Gt) { - this.state = State.Text; - } else { - this.state = this.isTagStartChar(c) - ? State.InClosingTagName - : State.InSpecialComment; - this.sectionStart = this.index; - } - } - stateInClosingTagName(c) { - if (c === CharCodes.Gt || isWhitespace(c)) { - this.cbs.onclosetag(this.sectionStart, this.index); - this.sectionStart = -1; - this.state = State.AfterClosingTagName; - this.stateAfterClosingTagName(c); - } - } - stateAfterClosingTagName(c) { - // Skip everything until ">" - if ( - c === CharCodes.Gt || - this.fastForwardTo(CharCodes.Gt) - ) { - this.state = State.Text; - this.sectionStart = this.index + 1; - } - } - stateBeforeAttributeName(c) { - if (c === CharCodes.Gt) { - this.cbs.onopentagend(this.index); - if (this.isSpecial) { - this.state = State.InSpecialTag; - this.sequenceIndex = 0; - } else { - this.state = State.Text; - } - this.sectionStart = this.index + 1; - } else if (c === CharCodes.Slash) { - this.state = State.InSelfClosingTag; - } else if (!isWhitespace(c)) { - this.state = State.InAttributeName; - this.sectionStart = this.index; - } - } - stateInSelfClosingTag(c) { - if (c === CharCodes.Gt) { - this.cbs.onselfclosingtag(this.index); - this.state = State.Text; - this.sectionStart = this.index + 1; - this.isSpecial = false; // Reset special state, in case of self-closing special tags - } else if (!isWhitespace(c)) { - this.state = State.BeforeAttributeName; - this.stateBeforeAttributeName(c); - } - } - stateInAttributeName(c) { - if (c === CharCodes.Eq || isEndOfTagSection(c)) { - this.cbs.onattribname(this.sectionStart, this.index); - this.sectionStart = this.index; - this.state = State.AfterAttributeName; - this.stateAfterAttributeName(c); - } - } - stateAfterAttributeName(c) { - if (c === CharCodes.Eq) { - this.state = State.BeforeAttributeValue; - } else if (c === CharCodes.Slash || c === CharCodes.Gt) { - this.cbs.onattribend( - QuoteType.NoValue, - this.sectionStart - ); - this.sectionStart = -1; - this.state = State.BeforeAttributeName; - this.stateBeforeAttributeName(c); - } else if (!isWhitespace(c)) { - this.cbs.onattribend( - QuoteType.NoValue, - this.sectionStart - ); - this.state = State.InAttributeName; - this.sectionStart = this.index; - } - } - stateBeforeAttributeValue(c) { - if (c === CharCodes.DoubleQuote) { - this.state = State.InAttributeValueDq; - this.sectionStart = this.index + 1; - } else if (c === CharCodes.SingleQuote) { - this.state = State.InAttributeValueSq; - this.sectionStart = this.index + 1; - } else if (!isWhitespace(c)) { - this.sectionStart = this.index; - this.state = State.InAttributeValueNq; - this.stateInAttributeValueNoQuotes(c); // Reconsume token - } - } - handleInAttributeValue(c, quote) { - if ( - c === quote || - (!this.decodeEntities && this.fastForwardTo(quote)) - ) { - this.cbs.onattribdata(this.sectionStart, this.index); - this.sectionStart = -1; - this.cbs.onattribend( - quote === CharCodes.DoubleQuote - ? QuoteType.Double - : QuoteType.Single, - this.index + 1 - ); - this.state = State.BeforeAttributeName; - } else if (this.decodeEntities && c === CharCodes.Amp) { - this.startEntity(); - } - } - stateInAttributeValueDoubleQuotes(c) { - this.handleInAttributeValue(c, CharCodes.DoubleQuote); - } - stateInAttributeValueSingleQuotes(c) { - this.handleInAttributeValue(c, CharCodes.SingleQuote); - } - stateInAttributeValueNoQuotes(c) { - if (isWhitespace(c) || c === CharCodes.Gt) { - this.cbs.onattribdata(this.sectionStart, this.index); - this.sectionStart = -1; - this.cbs.onattribend(QuoteType.Unquoted, this.index); - this.state = State.BeforeAttributeName; - this.stateBeforeAttributeName(c); - } else if (this.decodeEntities && c === CharCodes.Amp) { - this.startEntity(); - } - } - stateBeforeDeclaration(c) { - if (c === CharCodes.OpeningSquareBracket) { - this.state = State.CDATASequence; - this.sequenceIndex = 0; - } else { - this.state = - c === CharCodes.Dash - ? State.BeforeComment - : State.InDeclaration; - } - } - stateInDeclaration(c) { - if ( - c === CharCodes.Gt || - this.fastForwardTo(CharCodes.Gt) - ) { - this.cbs.ondeclaration(this.sectionStart, this.index); - this.state = State.Text; - this.sectionStart = this.index + 1; - } - } - stateInProcessingInstruction(c) { - if ( - c === CharCodes.Gt || - this.fastForwardTo(CharCodes.Gt) - ) { - this.cbs.onprocessinginstruction( - this.sectionStart, - this.index - ); - this.state = State.Text; - this.sectionStart = this.index + 1; - } - } - stateBeforeComment(c) { - if (c === CharCodes.Dash) { - this.state = State.InCommentLike; - this.currentSequence = Sequences.CommentEnd; - // Allow short comments (eg. ) - this.sequenceIndex = 2; - this.sectionStart = this.index + 1; - } else { - this.state = State.InDeclaration; - } - } - stateInSpecialComment(c) { - if ( - c === CharCodes.Gt || - this.fastForwardTo(CharCodes.Gt) - ) { - this.cbs.oncomment(this.sectionStart, this.index, 0); - this.state = State.Text; - this.sectionStart = this.index + 1; - } - } - stateBeforeSpecialS(c) { - const lower = c | 0x20; - if (lower === Sequences.ScriptEnd[3]) { - this.startSpecial(Sequences.ScriptEnd, 4); - } else if (lower === Sequences.StyleEnd[3]) { - this.startSpecial(Sequences.StyleEnd, 4); - } else { - this.state = State.InTagName; - this.stateInTagName(c); // Consume the token again - } - } - stateBeforeSpecialT(c) { - const lower = c | 0x20; - if (lower === Sequences.TitleEnd[3]) { - this.startSpecial(Sequences.TitleEnd, 4); - } else if (lower === Sequences.TextareaEnd[3]) { - this.startSpecial(Sequences.TextareaEnd, 4); - } else { - this.state = State.InTagName; - this.stateInTagName(c); // Consume the token again - } - } - startEntity() { - this.baseState = this.state; - this.state = State.InEntity; - this.entityStart = this.index; - this.entityDecoder.startEntity( - this.xmlMode - ? entities_lib_decode_js__WEBPACK_IMPORTED_MODULE_0__ - .DecodingMode.Strict - : this.baseState === State.Text || - this.baseState === State.InSpecialTag - ? entities_lib_decode_js__WEBPACK_IMPORTED_MODULE_0__ - .DecodingMode.Legacy - : entities_lib_decode_js__WEBPACK_IMPORTED_MODULE_0__ - .DecodingMode.Attribute - ); - } - stateInEntity() { - const length = this.entityDecoder.write( - this.buffer, - this.index - this.offset - ); - // If `length` is positive, we are done with the entity. - if (length >= 0) { - this.state = this.baseState; - if (length === 0) { - this.index = this.entityStart; - } - } else { - // Mark buffer as consumed. - this.index = this.offset + this.buffer.length - 1; - } - } - /** - * Remove data that has already been consumed from the buffer. - */ - cleanup() { - // If we are inside of text or attributes, emit what we already have. - if (this.running && this.sectionStart !== this.index) { - if ( - this.state === State.Text || - (this.state === State.InSpecialTag && - this.sequenceIndex === 0) - ) { - this.cbs.ontext(this.sectionStart, this.index); - this.sectionStart = this.index; - } else if ( - this.state === State.InAttributeValueDq || - this.state === State.InAttributeValueSq || - this.state === State.InAttributeValueNq - ) { - this.cbs.onattribdata( - this.sectionStart, - this.index - ); - this.sectionStart = this.index; - } - } - } - shouldContinue() { - return ( - this.index < this.buffer.length + this.offset && - this.running - ); - } - /** - * Iterates through the buffer, calling the function corresponding to the current state. - * - * States that are more likely to be hit are higher up, as a performance improvement. - */ - parse() { - while (this.shouldContinue()) { - const c = this.buffer.charCodeAt( - this.index - this.offset - ); - switch (this.state) { - case State.Text: { - this.stateText(c); - break; - } - case State.SpecialStartSequence: { - this.stateSpecialStartSequence(c); - break; - } - case State.InSpecialTag: { - this.stateInSpecialTag(c); - break; - } - case State.CDATASequence: { - this.stateCDATASequence(c); - break; - } - case State.InAttributeValueDq: { - this.stateInAttributeValueDoubleQuotes(c); - break; - } - case State.InAttributeName: { - this.stateInAttributeName(c); - break; - } - case State.InCommentLike: { - this.stateInCommentLike(c); - break; - } - case State.InSpecialComment: { - this.stateInSpecialComment(c); - break; - } - case State.BeforeAttributeName: { - this.stateBeforeAttributeName(c); - break; - } - case State.InTagName: { - this.stateInTagName(c); - break; - } - case State.InClosingTagName: { - this.stateInClosingTagName(c); - break; - } - case State.BeforeTagName: { - this.stateBeforeTagName(c); - break; - } - case State.AfterAttributeName: { - this.stateAfterAttributeName(c); - break; - } - case State.InAttributeValueSq: { - this.stateInAttributeValueSingleQuotes(c); - break; - } - case State.BeforeAttributeValue: { - this.stateBeforeAttributeValue(c); - break; - } - case State.BeforeClosingTagName: { - this.stateBeforeClosingTagName(c); - break; - } - case State.AfterClosingTagName: { - this.stateAfterClosingTagName(c); - break; - } - case State.BeforeSpecialS: { - this.stateBeforeSpecialS(c); - break; - } - case State.BeforeSpecialT: { - this.stateBeforeSpecialT(c); - break; - } - case State.InAttributeValueNq: { - this.stateInAttributeValueNoQuotes(c); - break; - } - case State.InSelfClosingTag: { - this.stateInSelfClosingTag(c); - break; - } - case State.InDeclaration: { - this.stateInDeclaration(c); - break; - } - case State.BeforeDeclaration: { - this.stateBeforeDeclaration(c); - break; - } - case State.BeforeComment: { - this.stateBeforeComment(c); - break; - } - case State.InProcessingInstruction: { - this.stateInProcessingInstruction(c); - break; - } - case State.InEntity: { - this.stateInEntity(); - break; - } - } - this.index++; - } - this.cleanup(); - } - finish() { - if (this.state === State.InEntity) { - this.entityDecoder.end(); - this.state = this.baseState; - } - this.handleTrailingData(); - this.cbs.onend(); - } - /** Handle any trailing data. */ - handleTrailingData() { - const endIndex = this.buffer.length + this.offset; - // If there is no remaining data, we are done. - if (this.sectionStart >= endIndex) { - return; - } - if (this.state === State.InCommentLike) { - if (this.currentSequence === Sequences.CdataEnd) { - this.cbs.oncdata(this.sectionStart, endIndex, 0); - } else { - this.cbs.oncomment(this.sectionStart, endIndex, 0); - } - } else if ( - this.state === State.InTagName || - this.state === State.BeforeAttributeName || - this.state === State.BeforeAttributeValue || - this.state === State.AfterAttributeName || - this.state === State.InAttributeName || - this.state === State.InAttributeValueSq || - this.state === State.InAttributeValueDq || - this.state === State.InAttributeValueNq || - this.state === State.InClosingTagName - ) { - /* - * If we are currently in an opening or closing tag, us not calling the - * respective callback signals that the tag should be ignored. - */ - } else { - this.cbs.ontext(this.sectionStart, endIndex); - } - } - emitCodePoint(cp, consumed) { - if ( - this.baseState !== State.Text && - this.baseState !== State.InSpecialTag - ) { - if (this.sectionStart < this.entityStart) { - this.cbs.onattribdata( - this.sectionStart, - this.entityStart - ); - } - this.sectionStart = this.entityStart + consumed; - this.index = this.sectionStart - 1; - this.cbs.onattribentity(cp); - } else { - if (this.sectionStart < this.entityStart) { - this.cbs.ontext( - this.sectionStart, - this.entityStart - ); - } - this.sectionStart = this.entityStart + consumed; - this.index = this.sectionStart - 1; - this.cbs.ontextentity(cp, this.sectionStart); - } - } - } - //# sourceMappingURL=Tokenizer.js.map - }, - './node_modules/htmlparser2/lib/esm/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - DefaultHandler: function () { - return /* reexport safe */ domhandler__WEBPACK_IMPORTED_MODULE_1__.DomHandler; - }, - DomHandler: function () { - return /* reexport safe */ domhandler__WEBPACK_IMPORTED_MODULE_1__.DomHandler; - }, - DomUtils: function () { - return /* reexport module object */ domutils__WEBPACK_IMPORTED_MODULE_4__; - }, - ElementType: function () { - return /* reexport module object */ domelementtype__WEBPACK_IMPORTED_MODULE_3__; - }, - Parser: function () { - return /* reexport safe */ _Parser_js__WEBPACK_IMPORTED_MODULE_0__.Parser; - }, - QuoteType: function () { - return /* reexport safe */ _Tokenizer_js__WEBPACK_IMPORTED_MODULE_2__.QuoteType; - }, - Tokenizer: function () { - return /* reexport safe */ _Tokenizer_js__WEBPACK_IMPORTED_MODULE_2__[ - 'default' - ]; - }, - createDocumentStream: function () { - return createDocumentStream; - }, - createDomStream: function () { - return createDomStream; - }, - getFeed: function () { - return /* reexport safe */ domutils__WEBPACK_IMPORTED_MODULE_4__.getFeed; - }, - parseDOM: function () { - return parseDOM; - }, - parseDocument: function () { - return parseDocument; - }, - parseFeed: function () { - return parseFeed; - } - }); - /* harmony import */ var _Parser_js__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./Parser.js */ './node_modules/htmlparser2/lib/esm/Parser.js' - ); - /* harmony import */ var domhandler__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! domhandler */ './node_modules/domhandler/lib/esm/index.js' - ); - /* harmony import */ var _Tokenizer_js__WEBPACK_IMPORTED_MODULE_2__ = - __webpack_require__( - /*! ./Tokenizer.js */ './node_modules/htmlparser2/lib/esm/Tokenizer.js' - ); - /* harmony import */ var domelementtype__WEBPACK_IMPORTED_MODULE_3__ = - __webpack_require__( - /*! domelementtype */ './node_modules/domelementtype/lib/esm/index.js' - ); - /* harmony import */ var domutils__WEBPACK_IMPORTED_MODULE_4__ = - __webpack_require__( - /*! domutils */ './node_modules/domutils/lib/esm/index.js' - ); - - // Helper methods - /** - * Parses the data, returns the resulting document. - * - * @param data The data that should be parsed. - * @param options Optional options for the parser and DOM handler. - */ - function parseDocument(data, options) { - const handler = - new domhandler__WEBPACK_IMPORTED_MODULE_1__.DomHandler( - undefined, - options - ); - new _Parser_js__WEBPACK_IMPORTED_MODULE_0__.Parser( - handler, - options - ).end(data); - return handler.root; - } - /** - * Parses data, returns an array of the root nodes. - * - * Note that the root nodes still have a `Document` node as their parent. - * Use `parseDocument` to get the `Document` node instead. - * - * @param data The data that should be parsed. - * @param options Optional options for the parser and DOM handler. - * @deprecated Use `parseDocument` instead. - */ - function parseDOM(data, options) { - return parseDocument(data, options).children; - } - /** - * Creates a parser instance, with an attached DOM handler. - * - * @param callback A callback that will be called once parsing has been completed, with the resulting document. - * @param options Optional options for the parser and DOM handler. - * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM. - */ - function createDocumentStream(callback, options, elementCallback) { - const handler = - new domhandler__WEBPACK_IMPORTED_MODULE_1__.DomHandler( - error => callback(error, handler.root), - options, - elementCallback - ); - return new _Parser_js__WEBPACK_IMPORTED_MODULE_0__.Parser( - handler, - options - ); - } - /** - * Creates a parser instance, with an attached DOM handler. - * - * @param callback A callback that will be called once parsing has been completed, with an array of root nodes. - * @param options Optional options for the parser and DOM handler. - * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM. - * @deprecated Use `createDocumentStream` instead. - */ - function createDomStream(callback, options, elementCallback) { - const handler = - new domhandler__WEBPACK_IMPORTED_MODULE_1__.DomHandler( - callback, - options, - elementCallback - ); - return new _Parser_js__WEBPACK_IMPORTED_MODULE_0__.Parser( - handler, - options - ); - } - - /* - * All of the following exports exist for backwards-compatibility. - * They should probably be removed eventually. - */ - - const parseFeedDefaultOptions = { xmlMode: true }; - /** - * Parse a feed. - * - * @param feed The feed that should be parsed, as a string. - * @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`. - */ - function parseFeed(feed, options = parseFeedDefaultOptions) { - return (0, domutils__WEBPACK_IMPORTED_MODULE_4__.getFeed)( - parseDOM(feed, options) - ); - } - - //# sourceMappingURL=index.js.map - }, - './node_modules/ip-regex/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - const word = '[a-fA-F\\d:]'; - - const boundry = options => - options && options.includeBoundaries - ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` - : ''; - - const v4 = - '(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}'; - - const v6segment = '[a-fA-F\\d]{1,4}'; - - const v6 = ` -(?: -(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8 -(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4 -(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4 -(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4 -(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4 -(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4 -(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4 -(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4 -)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1 -` - .replace(/\s*\/\/.*$/gm, '') - .replace(/\n/g, '') - .trim(); - - // Pre-compile only the exact regexes because adding a global flag make regexes stateful - const v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`); - const v4exact = new RegExp(`^${v4}$`); - const v6exact = new RegExp(`^${v6}$`); - - const ipRegex = options => - options && options.exact - ? v46Exact - : new RegExp( - `(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, - 'g' - ); - - ipRegex.v4 = options => - options && options.exact - ? v4exact - : new RegExp( - `${boundry(options)}${v4}${boundry(options)}`, - 'g' - ); - ipRegex.v6 = options => - options && options.exact - ? v6exact - : new RegExp( - `${boundry(options)}${v6}${boundry(options)}`, - 'g' - ); - - /* harmony default export */ __webpack_exports__['default'] = - ipRegex; - }, - './node_modules/is-ip/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - ipVersion: function () { - return ipVersion; - }, - isIP: function () { - return isIP; - }, - isIPv4: function () { - return isIPv4; - }, - isIPv6: function () { - return isIPv6; - } - }); - /* harmony import */ var ip_regex__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ip-regex */ './node_modules/ip-regex/index.js' - ); - /* harmony import */ var super_regex__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! super-regex */ './node_modules/super-regex/index.js' - ); - - const maxIPv4Length = 15; - const maxIPv6Length = 45; - - const options = { - timeout: 400 - }; - - function isIP(string) { - if (string.length > maxIPv6Length) { - return false; - } - - return (0, super_regex__WEBPACK_IMPORTED_MODULE_1__.isMatch)( - (0, ip_regex__WEBPACK_IMPORTED_MODULE_0__['default'])({ - exact: true - }), - string, - options - ); - } - - function isIPv6(string) { - if (string.length > maxIPv6Length) { - return false; - } - - return (0, super_regex__WEBPACK_IMPORTED_MODULE_1__.isMatch)( - ip_regex__WEBPACK_IMPORTED_MODULE_0__['default'].v6({ - exact: true - }), - string, - options - ); - } - - function isIPv4(string) { - if (string.length > maxIPv4Length) { - return false; - } - - return (0, super_regex__WEBPACK_IMPORTED_MODULE_1__.isMatch)( - ip_regex__WEBPACK_IMPORTED_MODULE_0__['default'].v4({ - exact: true - }), - string, - options - ); - } - - function ipVersion(string) { - if (isIPv6(string)) { - return 6; - } - - if (isIPv4(string)) { - return 4; - } - } - }, - './node_modules/is-regexp/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - default: function () { - return isRegexp; - } - }); - const { toString } = Object.prototype; - - function isRegexp(value) { - return toString.call(value) === '[object RegExp]'; - } - }, - './node_modules/meriyah/dist/meriyah.esm.mjs': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - ESTree: function () { - return estree; - }, - parse: function () { - return parse; - }, - parseModule: function () { - return parseModule; - }, - parseScript: function () { - return parseScript; - }, - version: function () { - return version; - } - }); - const errorMessages = { - [0]: 'Unexpected token', - [28]: "Unexpected token: '%0'", - [1]: 'Octal escape sequences are not allowed in strict mode', - [2]: 'Octal escape sequences are not allowed in template strings', - [3]: 'Unexpected token `#`', - [4]: 'Illegal Unicode escape sequence', - [5]: 'Invalid code point %0', - [6]: 'Invalid hexadecimal escape sequence', - [8]: 'Octal literals are not allowed in strict mode', - [7]: 'Decimal integer literals with a leading zero are forbidden in strict mode', - [9]: 'Expected number in radix %0', - [146]: 'Invalid left-hand side assignment to a destructible right-hand side', - [10]: 'Non-number found after exponent indicator', - [11]: 'Invalid BigIntLiteral', - [12]: 'No identifiers allowed directly after numeric literal', - [13]: 'Escapes \\8 or \\9 are not syntactically valid escapes', - [14]: 'Unterminated string literal', - [15]: 'Unterminated template literal', - [16]: 'Multiline comment was not closed properly', - [17]: 'The identifier contained dynamic unicode escape that was not closed', - [18]: "Illegal character '%0'", - [19]: 'Missing hexadecimal digits', - [20]: 'Invalid implicit octal', - [21]: 'Invalid line break in string literal', - [22]: 'Only unicode escapes are legal in identifier names', - [23]: "Expected '%0'", - [24]: 'Invalid left-hand side in assignment', - [25]: 'Invalid left-hand side in async arrow', - [26]: 'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass', - [27]: 'Member access on super must be in a method', - [29]: 'Await expression not allowed in formal parameter', - [30]: 'Yield expression not allowed in formal parameter', - [93]: "Unexpected token: 'escaped keyword'", - [31]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses', - [120]: 'Async functions can only be declared at the top level or inside a block', - [32]: 'Unterminated regular expression', - [33]: 'Unexpected regular expression flag', - [34]: "Duplicate regular expression flag '%0'", - [35]: '%0 functions must have exactly %1 argument%2', - [36]: 'Setter function argument must not be a rest parameter', - [37]: '%0 declaration must have a name in this context', - [38]: 'Function name may not contain any reserved words or be eval or arguments in strict mode', - [39]: 'The rest operator is missing an argument', - [40]: 'A getter cannot be a generator', - [41]: 'A setter cannot be a generator', - [42]: 'A computed property name must be followed by a colon or paren', - [131]: 'Object literal keys that are strings or numbers must be a method or have a colon', - [44]: 'Found `* async x(){}` but this should be `async * x(){}`', - [43]: 'Getters and setters can not be generators', - [45]: "'%0' can not be generator method", - [46]: "No line break is allowed after '=>'", - [47]: 'The left-hand side of the arrow can only be destructed through assignment', - [48]: 'The binding declaration is not destructible', - [49]: 'Async arrow can not be followed by new expression', - [50]: "Classes may not have a static property named 'prototype'", - [51]: 'Class constructor may not be a %0', - [52]: 'Duplicate constructor method in class', - [53]: 'Invalid increment/decrement operand', - [54]: 'Invalid use of `new` keyword on an increment/decrement expression', - [55]: '`=>` is an invalid assignment target', - [56]: 'Rest element may not have a trailing comma', - [57]: 'Missing initializer in %0 declaration', - [58]: "'for-%0' loop head declarations can not have an initializer", - [59]: 'Invalid left-hand side in for-%0 loop: Must have a single binding', - [60]: 'Invalid shorthand property initializer', - [61]: 'Property name __proto__ appears more than once in object literal', - [62]: 'Let is disallowed as a lexically bound name', - [63]: "Invalid use of '%0' inside new expression", - [64]: "Illegal 'use strict' directive in function with non-simple parameter list", - [65]: 'Identifier "let" disallowed as left-hand side expression in strict mode', - [66]: 'Illegal continue statement', - [67]: 'Illegal break statement', - [68]: 'Cannot have `let[...]` as a var name in strict mode', - [69]: 'Invalid destructuring assignment target', - [70]: 'Rest parameter may not have a default initializer', - [71]: 'The rest argument must the be last parameter', - [72]: 'Invalid rest argument', - [74]: 'In strict mode code, functions can only be declared at top level or inside a block', - [75]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement', - [76]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement', - [77]: "Class declaration can't appear in single-statement context", - [78]: 'Invalid left-hand side in for-%0', - [79]: 'Invalid assignment in for-%0', - [80]: 'for await (... of ...) is only valid in async functions and async generators', - [81]: 'The first token after the template expression should be a continuation of the template', - [83]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode', - [82]: '`let \n [` is a restricted production at the start of a statement', - [84]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)', - [85]: 'Catch clause parameter does not support default values', - [86]: 'Missing catch or finally after try', - [87]: 'More than one default clause in switch statement', - [88]: 'Illegal newline after throw', - [89]: 'Strict mode code may not include a with statement', - [90]: 'Illegal return statement', - [91]: 'The left hand side of the for-header binding declaration is not destructible', - [92]: 'new.target only allowed within functions', - [94]: "'#' not followed by identifier", - [100]: 'Invalid keyword', - [99]: "Can not use 'let' as a class name", - [98]: "'A lexical declaration can't define a 'let' binding", - [97]: 'Can not use `let` as variable name in strict mode', - [95]: "'%0' may not be used as an identifier in this context", - [96]: 'Await is only valid in async functions', - [101]: 'The %0 keyword can only be used with the module goal', - [102]: 'Unicode codepoint must not be greater than 0x10FFFF', - [103]: '%0 source must be string', - [104]: 'Only a identifier can be used to indicate alias', - [105]: "Only '*' or '{...}' can be imported after default", - [106]: 'Trailing decorator may be followed by method', - [107]: "Decorators can't be used with a constructor", - [109]: 'HTML comments are only allowed with web compatibility (Annex B)', - [110]: "The identifier 'let' must not be in expression position in strict mode", - [111]: 'Cannot assign to `eval` and `arguments` in strict mode', - [112]: "The left-hand side of a for-of loop may not start with 'let'", - [113]: 'Block body arrows can not be immediately invoked without a group', - [114]: 'Block body arrows can not be immediately accessed without a group', - [115]: 'Unexpected strict mode reserved word', - [116]: 'Unexpected eval or arguments in strict mode', - [117]: 'Decorators must not be followed by a semicolon', - [118]: 'Calling delete on expression not allowed in strict mode', - [119]: 'Pattern can not have a tail', - [121]: 'Can not have a `yield` expression on the left side of a ternary', - [122]: 'An arrow function can not have a postfix update operator', - [123]: 'Invalid object literal key character after generator star', - [124]: 'Private fields can not be deleted', - [126]: 'Classes may not have a field called constructor', - [125]: 'Classes may not have a private element named constructor', - [127]: 'A class field initializer may not contain arguments', - [128]: 'Generators can only be declared at the top level or inside a block', - [129]: 'Async methods are a restricted production and cannot have a newline following it', - [130]: 'Unexpected character after object literal property name', - [132]: 'Invalid key token', - [133]: "Label '%0' has already been declared", - [134]: 'continue statement must be nested within an iteration statement', - [135]: "Undefined label '%0'", - [136]: 'Trailing comma is disallowed inside import(...) arguments', - [137]: 'import() requires exactly one argument', - [138]: 'Cannot use new with import(...)', - [139]: '... is not allowed in import()', - [140]: "Expected '=>'", - [141]: "Duplicate binding '%0'", - [142]: "Cannot export a duplicate name '%0'", - [145]: 'Duplicate %0 for-binding', - [143]: "Exported binding '%0' needs to refer to a top-level declared variable", - [144]: 'Unexpected private field', - [148]: 'Numeric separators are not allowed at the end of numeric literals', - [147]: 'Only one underscore is allowed as numeric separator', - [149]: 'JSX value should be either an expression or a quoted JSX text', - [150]: 'Expected corresponding JSX closing tag for %0', - [151]: 'Adjacent JSX elements must be wrapped in an enclosing tag', - [152]: "JSX attributes must only be assigned a non-empty 'expression'", - [153]: "'%0' has already been declared", - [154]: "'%0' shadowed a catch clause binding", - [155]: 'Dot property must be an identifier', - [156]: 'Encountered invalid input after spread/rest argument', - [157]: 'Catch without try', - [158]: 'Finally without try', - [159]: 'Expected corresponding closing tag for JSX fragment', - [160]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses', - [161]: 'Invalid tagged template on optional chain', - [162]: 'Invalid optional chain from super property', - [163]: 'Invalid optional chain from new expression', - [164]: 'Cannot use "import.meta" outside a module', - [165]: 'Leading decorators must be attached to a class declaration' - }; - class ParseError extends SyntaxError { - constructor(startindex, line, column, type, ...params) { - const message = - '[' + - line + - ':' + - column + - ']: ' + - errorMessages[type].replace( - /%(\d+)/g, - (_, i) => params[i] - ); - super(`${message}`); - this.index = startindex; - this.line = line; - this.column = column; - this.description = message; - this.loc = { - line, - column - }; - } - } - function report(parser, type, ...params) { - throw new ParseError( - parser.index, - parser.line, - parser.column, - type, - ...params - ); - } - function reportScopeError(scope) { - throw new ParseError( - scope.index, - scope.line, - scope.column, - scope.type, - scope.params - ); - } - function reportMessageAt(index, line, column, type, ...params) { - throw new ParseError(index, line, column, type, ...params); - } - function reportScannerError(index, line, column, type) { - throw new ParseError(index, line, column, type); - } - - const unicodeLookup = ((compressed, lookup) => { - const result = new Uint32Array(104448); - let index = 0; - let subIndex = 0; - while (index < 3701) { - const inst = compressed[index++]; - if (inst < 0) { - subIndex -= inst; - } else { - let code = compressed[index++]; - if (inst & 2) code = lookup[code]; - if (inst & 1) { - result.fill( - code, - subIndex, - (subIndex += compressed[index++]) - ); - } else { - result[subIndex++] = code; - } - } - } - return result; - })( - [ - -1, 2, 26, 2, 27, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, - 2, 57, 2, 58, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, - 2, 0, 2, 59, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 60, - 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 61, 0, - 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, - 0, 2684354047, 2, 18, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, - 2, 0, 0, 608174079, 2, 0, 2, 54, 2, 7, 2, 6, 0, 4278222591, - 3, 0, 2, 2, 1, 3, 0, 3, 0, 4294901711, 2, 40, 0, 4089839103, - 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, - 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, - 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, - 0, 3594373100, 0, 3288319768, 0, 8469959, 2, 200, 2, 3, 0, - 4093640191, 0, 660618719, 0, 65487, 0, 4294828015, 0, - 4092591615, 0, 1616920031, 0, 982991, 2, 3, 2, 0, 0, - 2163244511, 0, 4227923919, 0, 4236247022, 2, 66, 0, - 4284449919, 0, 851904, 2, 4, 2, 12, 0, 67076095, -1, 2, 67, - 0, 1073741743, 0, 4093607775, -1, 0, 50331649, 0, - 3265266687, 2, 33, 0, 4294844415, 0, 4278190047, 2, 20, 2, - 133, -1, 3, 0, 2, 2, 23, 2, 0, 2, 10, 2, 0, 2, 15, 2, 22, 3, - 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, - 2, 11, 0, 261632, 2, 25, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, - 74, 2, 5, 3, 0, 2, 2, 75, 0, 2151677951, 2, 29, 2, 9, 0, - 909311, 3, 0, 2, 0, 814743551, 2, 42, 0, 67090432, 3, 0, 2, - 2, 41, 2, 0, 2, 6, 2, 0, 2, 30, 2, 8, 0, 268374015, 2, 107, - 2, 48, 2, 0, 2, 76, 0, 134153215, -1, 2, 7, 2, 0, 2, 8, 0, - 2684354559, 0, 67044351, 0, 3221160064, 2, 17, -1, 3, 0, 2, - 0, 67051519, 0, 1046528, 3, 0, 3, 2, 9, 2, 0, 2, 50, 0, - 4294960127, 2, 10, 2, 39, 2, 11, 0, 4294377472, 2, 12, 3, 0, - 16, 2, 13, 2, 0, 2, 79, 2, 10, 2, 0, 2, 80, 2, 81, 2, 82, 2, - 206, 2, 129, 0, 1048577, 2, 83, 2, 14, -1, 2, 14, 0, 131042, - 2, 84, 2, 85, 2, 86, 2, 0, 2, 34, -83, 3, 0, 7, 0, 1046559, - 2, 0, 2, 15, 2, 0, 0, 2147516671, 2, 21, 3, 87, 2, 2, 0, - -16, 2, 88, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, - 3, 0, 2, 2, 28, 2, 16, 3, 0, 2, 2, 17, 2, 0, -1, 2, 18, -16, - 3, 0, 206, -2, 3, 0, 692, 2, 68, -1, 2, 18, 2, 10, 3, 0, 8, - 2, 90, 2, 128, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 91, - 2, 92, 3, 0, 2, 2, 93, 2, 0, 2, 94, 2, 45, 2, 0, 0, 4351, 2, - 0, 2, 9, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 24, - 2, 9, 2, 20, 3, 0, 2, 0, 67076097, 2, 8, 2, 0, 2, 21, 0, - 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, - 2, 98, 2, 99, 2, 22, 2, 23, 3, 0, 3, 0, 67057663, 3, 0, 349, - 2, 100, 2, 101, 2, 7, -264, 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, - -1, 0, 3774349439, 2, 102, 2, 103, 3, 0, 2, 2, 19, 2, 104, - 3, 0, 10, 2, 10, 2, 18, 2, 0, 2, 46, 2, 0, 2, 31, 2, 105, 2, - 25, 0, 1638399, 2, 170, 2, 106, 3, 0, 3, 2, 20, 2, 26, 2, - 27, 2, 5, 2, 28, 2, 0, 2, 8, 2, 108, -1, 2, 109, 2, 110, 2, - 111, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -3, 2, 159, -4, 2, - 20, 2, 0, 2, 36, 0, 1, 2, 0, 2, 62, 2, 6, 2, 12, 2, 10, 2, - 0, 2, 112, -1, 3, 0, 4, 2, 10, 2, 23, 2, 113, 2, 7, 2, 0, 2, - 114, 2, 0, 2, 115, 2, 116, 2, 117, -2, 3, 0, 9, 2, 21, 2, - 30, 2, 31, 2, 118, 2, 119, -2, 2, 120, 2, 121, 2, 30, 2, 21, - 2, 8, -2, 2, 122, 2, 30, 2, 32, -2, 2, 0, 2, 38, -2, 0, - 4277137519, 0, 2269118463, -1, 3, 20, 2, -1, 2, 33, 2, 37, - 2, 0, 3, 30, 2, 2, 35, 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, - 2, 35, 2, 0, 2, 35, 2, 0, 2, 47, -10, 2, 0, 0, 203775, -1, - 2, 164, 2, 20, 2, 43, 2, 36, 2, 18, 2, 77, 2, 18, 2, 123, 2, - 21, 3, 0, 2, 2, 37, 0, 2151677888, 2, 0, 2, 12, 0, - 4294901764, 2, 140, 2, 0, 2, 52, 2, 51, 0, 5242879, 3, 0, 2, - 0, 402644511, -1, 2, 125, 2, 38, 0, 3, -1, 2, 126, 2, 39, 2, - 0, 0, 67045375, 2, 40, 0, 4226678271, 0, 3766565279, 0, - 2039759, -4, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, - 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, - 2, 0, 67043345, -1, 2, 0, 2, 41, 2, 42, -1, 2, 11, 2, 55, 2, - 37, -5, 2, 0, 2, 12, -3, 3, 0, 2, 0, 2147484671, 2, 130, 0, - 4190109695, 2, 49, -2, 2, 131, 0, 4244635647, 0, 27, 2, 0, - 2, 8, 2, 43, 2, 0, 2, 63, 2, 18, 2, 0, 2, 41, -8, 2, 53, 2, - 44, 0, 67043329, 2, 45, 2, 46, 0, 8388351, -2, 2, 132, 0, - 3028287487, 2, 47, 2, 134, 0, 33259519, 2, 42, -9, 2, 21, 0, - 4294836223, 0, 3355443199, 0, 67043335, -2, 2, 64, -2, 3, 0, - 28, 2, 32, -3, 3, 0, 3, 2, 17, 3, 0, 6, 2, 78, -81, 2, 18, - 3, 0, 2, 2, 36, 3, 0, 33, 2, 25, 2, 30, -125, 3, 0, 18, 2, - 37, -269, 3, 0, 17, 2, 41, 2, 8, 2, 23, 2, 0, 2, 8, 2, 23, - 2, 48, 2, 0, 2, 21, 2, 49, 2, 135, 2, 25, -21, 3, 0, 2, -4, - 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, - 3, 0, 191, 2, 50, 3, 0, 38, 2, 30, -1, 2, 34, -278, 2, 136, - 3, 0, 9, 2, 137, 2, 138, 2, 51, 3, 0, 11, 2, 7, -72, 3, 0, - 3, 2, 139, 0, 1677656575, -147, 2, 0, 2, 24, 2, 37, -16, 0, - 4161266656, 0, 4071, 2, 201, -4, 0, 28, -13, 3, 0, 2, 2, 52, - 2, 0, 2, 141, 2, 142, 2, 56, 2, 0, 2, 143, 2, 144, 2, 145, - 3, 0, 10, 2, 146, 2, 147, 2, 22, 3, 52, 2, 3, 148, 2, 3, 53, - 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 89, 2, 0, 0, 2105343, - 0, 4160749584, 2, 174, -34, 2, 8, 2, 150, -6, 0, 4194303871, - 0, 4294903771, 2, 0, 2, 54, 2, 97, -3, 2, 0, 0, 1073684479, - 0, 17407, -9, 2, 18, 2, 17, 2, 0, 2, 32, -14, 2, 18, 2, 32, - -23, 2, 151, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 55, -37, - 2, 56, 2, 152, 2, 153, 2, 154, 2, 155, 2, 156, -105, 2, 26, - -32, 3, 0, 1335, -1, 3, 0, 129, 2, 32, 3, 0, 6, 2, 10, 3, 0, - 180, 2, 157, 3, 0, 233, 2, 158, 3, 0, 18, 2, 10, -77, 3, 0, - 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 130, 2, 25, -22250, - 3, 0, 7, 2, 25, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, - 3, 0, 14, 2, 57, 2, 58, -3, 0, 3168731136, 0, 4294956864, 2, - 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, - 60, 2, 0, 2, 34, -1, 2, 18, 2, 61, -1, 2, 0, 0, 2047, 0, - 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, - 4294770688, 2, 25, 2, 62, 3, 0, 2, 0, 131135, 2, 95, 0, - 70256639, 0, 71303167, 0, 272, 2, 41, 2, 6, 0, 32511, 2, 0, - 2, 42, -1, 2, 96, 2, 63, 0, 4278255616, 0, 4294836227, 0, - 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, - 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, - 4294688736, 2, 65, 2, 64, 0, 33554435, 2, 127, 2, 65, 2, - 160, 0, 131075, 0, 3594373096, 0, 67094296, 2, 64, -1, 0, - 4294828000, 0, 603979263, 0, 654311424, 0, 3, 0, 4294828001, - 0, 602930687, 2, 167, 0, 393219, 0, 4294828016, 0, - 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, - 66, 2, 37, -1, 2, 4, 0, 917503, 2, 37, -1, 2, 67, 0, - 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 33, 2, 68, 0, - 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, - 0, 16387, 2, 0, 2, 15, 2, 22, 3, 0, 10, 2, 69, 2, 0, 2, 70, - 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 12, -1, 2, 25, 3, 0, 2, - 2, 13, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, - 2147745791, 3, 19, 2, 0, 122879, 2, 0, 2, 9, 0, 276824064, - -2, 3, 0, 2, 2, 41, 2, 0, 0, 4294903295, 2, 0, 2, 30, 2, 8, - -1, 2, 18, 2, 48, 2, 0, 2, 76, 2, 42, -1, 2, 21, 2, 0, 2, - 29, -2, 0, 128, -2, 2, 28, 2, 9, 0, 8160, -1, 2, 124, 0, - 4227907585, 2, 0, 2, 77, 2, 0, 2, 78, 2, 180, 2, 10, 2, 39, - 2, 11, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 13, 2, 0, - 2, 79, 2, 10, 2, 0, 2, 80, 2, 81, 2, 82, -3, 2, 83, 2, 14, - -3, 2, 84, 2, 85, 2, 86, 2, 0, 2, 34, -83, 3, 0, 7, 0, - 817183, 2, 0, 2, 15, 2, 0, 0, 33023, 2, 21, 3, 87, 2, -17, - 2, 88, 0, 524157950, 2, 4, 2, 0, 2, 89, 2, 4, 2, 0, 2, 22, - 2, 28, 2, 16, 3, 0, 2, 2, 17, 2, 0, -1, 2, 18, -16, 3, 0, - 206, -2, 3, 0, 692, 2, 68, -1, 2, 18, 2, 10, 3, 0, 8, 2, 90, - 0, 3072, 2, 0, 0, 2147516415, 2, 10, 3, 0, 2, 2, 25, 2, 91, - 2, 92, 3, 0, 2, 2, 93, 2, 0, 2, 94, 2, 45, 0, 4294965179, 0, - 7, 2, 0, 2, 9, 2, 92, 2, 9, -1, 0, 1761345536, 2, 95, 0, - 4294901823, 2, 37, 2, 20, 2, 96, 2, 35, 2, 97, 0, - 2080440287, 2, 0, 2, 34, 2, 149, 0, 3296722943, 2, 0, 0, - 1046675455, 0, 939524101, 0, 1837055, 2, 98, 2, 99, 2, 22, - 2, 23, 3, 0, 3, 0, 7, 3, 0, 349, 2, 100, 2, 101, 2, 7, -264, - 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, -1, 0, 2700607615, 2, 102, - 2, 103, 3, 0, 2, 2, 19, 2, 104, 3, 0, 10, 2, 10, 2, 18, 2, - 0, 2, 46, 2, 0, 2, 31, 2, 105, -3, 2, 106, 3, 0, 3, 2, 20, - -1, 3, 5, 2, 2, 107, 2, 0, 2, 8, 2, 108, -1, 2, 109, 2, 110, - 2, 111, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -8, 2, 20, 2, - 0, 2, 36, -1, 2, 0, 2, 62, 2, 6, 2, 30, 2, 10, 2, 0, 2, 112, - -1, 3, 0, 4, 2, 10, 2, 18, 2, 113, 2, 7, 2, 0, 2, 114, 2, 0, - 2, 115, 2, 116, 2, 117, -2, 3, 0, 9, 2, 21, 2, 30, 2, 31, 2, - 118, 2, 119, -2, 2, 120, 2, 121, 2, 30, 2, 21, 2, 8, -2, 2, - 122, 2, 30, 2, 32, -2, 2, 0, 2, 38, -2, 0, 4277075969, 2, - 30, -1, 3, 20, 2, -1, 2, 33, 2, 123, 2, 0, 3, 30, 2, 2, 35, - 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, 2, 35, 2, 0, 2, 35, 2, - 0, 2, 78, -10, 2, 0, 0, 197631, -2, 2, 20, 2, 43, 2, 77, 2, - 18, 0, 3, 2, 18, 2, 123, 2, 21, 2, 124, 2, 50, -1, 0, - 2490368, 2, 124, 2, 25, 2, 18, 2, 34, 2, 124, 2, 37, 0, - 4294901904, 0, 4718591, 2, 124, 2, 35, 0, 335544350, -1, 2, - 125, 0, 2147487743, 0, 1, -1, 2, 126, 2, 39, 2, 8, -1, 2, - 127, 2, 65, 0, 3758161920, 0, 3, -4, 2, 0, 2, 29, 0, - 2147485568, 0, 3, 2, 0, 2, 25, 0, 176, -5, 2, 0, 2, 17, 2, - 188, -1, 2, 0, 2, 25, 2, 205, -1, 2, 0, 0, 16779263, -2, 2, - 12, -1, 2, 37, -5, 2, 0, 2, 128, -3, 3, 0, 2, 2, 129, 2, - 130, 0, 2147549183, 0, 2, -2, 2, 131, 2, 36, 0, 10, 0, - 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, - 2, 18, 2, 0, 2, 41, -8, 2, 53, 2, 17, 0, 1, 2, 45, 2, 25, - -3, 2, 132, 2, 36, 2, 133, 2, 134, 0, 16778239, -10, 2, 35, - 0, 4294836212, 2, 9, -3, 2, 64, -2, 3, 0, 28, 2, 32, -3, 3, - 0, 3, 2, 17, 3, 0, 6, 2, 78, -81, 2, 18, 3, 0, 2, 2, 36, 3, - 0, 33, 2, 25, 0, 126, -125, 3, 0, 18, 2, 37, -269, 3, 0, 17, - 2, 41, 2, 8, 2, 18, 2, 0, 2, 8, 2, 18, 2, 54, 2, 0, 2, 25, - 2, 78, 2, 135, 2, 25, -21, 3, 0, 2, -4, 3, 0, 2, 0, 67583, - -1, 2, 104, -2, 0, 11, 3, 0, 191, 2, 50, 3, 0, 38, 2, 30, - -1, 2, 34, -278, 2, 136, 3, 0, 9, 2, 137, 2, 138, 2, 51, 3, - 0, 11, 2, 7, -72, 3, 0, 3, 2, 139, 2, 140, -187, 3, 0, 2, 2, - 52, 2, 0, 2, 141, 2, 142, 2, 56, 2, 0, 2, 143, 2, 144, 2, - 145, 3, 0, 10, 2, 146, 2, 147, 2, 22, 3, 52, 2, 3, 148, 2, - 3, 53, 2, 2, 149, -57, 2, 8, 2, 150, -7, 2, 18, 2, 0, 2, 54, - -4, 2, 0, 0, 1065361407, 0, 16384, -9, 2, 18, 2, 54, 2, 0, - 2, 128, -14, 2, 18, 2, 128, -23, 2, 151, 3, 0, 6, 2, 123, - -1, 3, 0, 2, 0, 2063, -37, 2, 56, 2, 152, 2, 153, 2, 154, 2, - 155, 2, 156, -138, 3, 0, 1335, -1, 3, 0, 129, 2, 32, 3, 0, - 6, 2, 10, 3, 0, 180, 2, 157, 3, 0, 233, 2, 158, 3, 0, 18, 2, - 10, -77, 3, 0, 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 130, - 2, 25, -28386, 2, 0, 0, 1, -1, 2, 129, 2, 0, 0, 8193, -21, - 2, 198, 0, 10255, 0, 4, -11, 2, 64, 2, 179, -1, 0, 71680, - -1, 2, 171, 0, 4292900864, 0, 268435519, -5, 2, 159, -1, 2, - 169, -1, 0, 6144, -2, 2, 45, -1, 2, 163, -1, 0, 2147532800, - 2, 160, 2, 166, 0, 16744448, -2, 0, 4, -4, 2, 194, 0, - 205128192, 0, 1333757536, 0, 2147483696, 0, 423953, 0, - 747766272, 0, 2717763192, 0, 4286578751, 0, 278545, 2, 161, - 0, 4294886464, 0, 33292336, 0, 417809, 2, 161, 0, - 1327482464, 0, 4278190128, 0, 700594195, 0, 1006647527, 0, - 4286497336, 0, 4160749631, 2, 162, 0, 201327104, 0, - 3634348576, 0, 8323120, 2, 162, 0, 202375680, 0, 2678047264, - 0, 4293984304, 2, 162, -1, 0, 983584, 0, 48, 0, 58720273, 0, - 3489923072, 0, 10517376, 0, 4293066815, 0, 1, 0, 2013265920, - 2, 182, 2, 0, 0, 2089, 0, 3221225552, 0, 201359520, 2, 0, - -2, 0, 256, 0, 122880, 0, 16777216, 2, 159, 0, 4160757760, - 2, 0, -6, 2, 176, -11, 0, 3263218176, -1, 0, 49664, 0, - 2160197632, 0, 8388802, -1, 0, 12713984, -1, 2, 163, 2, 164, - 2, 183, -2, 2, 172, -20, 0, 3758096385, -2, 2, 165, 2, 191, - 2, 91, 2, 177, 0, 4294057984, -2, 2, 173, 2, 168, 0, - 4227874816, -2, 2, 165, -1, 2, 166, -1, 2, 178, 2, 129, 0, - 4026593280, 0, 14, 0, 4292919296, -1, 2, 175, 0, 939588608, - -1, 0, 805306368, -1, 2, 129, 2, 167, 2, 168, 2, 169, 2, - 207, 2, 0, -2, 2, 170, 2, 129, -3, 0, 267386880, -1, 0, - 117440512, 0, 7168, -1, 2, 210, 2, 163, 2, 171, 2, 184, -16, - 2, 172, -1, 0, 1426112704, 2, 173, -1, 2, 192, 0, 271581216, - 0, 2149777408, 2, 25, 2, 171, 2, 129, 0, 851967, 2, 185, -1, - 2, 174, 2, 186, -4, 2, 175, -20, 2, 197, 2, 204, -56, 0, - 3145728, 2, 187, -10, 0, 32505856, -1, 2, 176, -1, 0, - 2147385088, 2, 91, 1, 2155905152, 2, -3, 2, 173, 2, 0, 0, - 67108864, -2, 2, 177, -6, 2, 178, 2, 25, 0, 1, -1, 0, 1, -1, - 2, 179, -3, 2, 123, 2, 64, -2, 2, 97, -2, 0, 32752, 2, 129, - -915, 2, 170, -1, 2, 203, -10, 2, 190, -5, 2, 181, -6, 0, - 4229232640, 2, 19, -1, 2, 180, -1, 2, 181, -2, 0, - 4227874752, -3, 0, 2146435072, 2, 164, -2, 0, 1006649344, 2, - 129, -1, 2, 91, 0, 201375744, -3, 0, 134217720, 2, 91, 0, - 4286677377, 0, 32896, -1, 2, 175, -3, 0, 4227907584, -349, - 0, 65520, 0, 1920, 2, 182, 3, 0, 264, -11, 2, 169, -2, 2, - 183, 2, 0, 0, 520617856, 0, 2692743168, 0, 36, -3, 0, - 524280, -13, 2, 189, -1, 0, 4294934272, 2, 25, 2, 183, -1, - 2, 213, 0, 2158720, -3, 2, 164, 0, 1, -4, 2, 129, 0, - 3808625411, 0, 3489628288, 0, 4096, 0, 1207959680, 0, - 3221274624, 2, 0, -3, 2, 184, 0, 120, 0, 7340032, -2, 2, - 185, 2, 4, 2, 25, 2, 173, 3, 0, 4, 2, 164, -1, 2, 186, 2, - 182, -1, 0, 8176, 2, 166, 2, 184, 2, 211, -1, 0, 4290773232, - 2, 0, -4, 2, 173, 2, 193, 0, 15728640, 2, 182, -1, 2, 171, - -1, 0, 134250480, 0, 4720640, 0, 3825467396, 3, 0, 2, -9, 2, - 91, 2, 178, 0, 4294967040, 2, 133, 0, 4160880640, 3, 0, 2, - 0, 704, 0, 1849688064, 2, 187, -1, 2, 129, 0, 4294901887, 2, - 0, 0, 130547712, 0, 1879048192, 2, 208, 3, 0, 2, -1, 2, 188, - 2, 189, -1, 0, 17829776, 0, 2025848832, 2, 212, -2, 2, 0, - -1, 0, 4286580608, -1, 0, 29360128, 2, 196, 0, 16252928, 0, - 3791388672, 2, 39, 3, 0, 2, -2, 2, 202, 2, 0, -1, 2, 104, - -1, 0, 66584576, -1, 2, 195, 3, 0, 9, 2, 129, -1, 0, - 4294755328, 2, 0, 2, 20, -1, 2, 171, 2, 183, 2, 25, 2, 95, - 2, 25, 2, 190, 2, 91, -2, 0, 245760, 2, 191, -1, 2, 159, 2, - 199, 0, 4227923456, -1, 2, 192, 2, 171, 2, 91, -3, 0, - 4292870145, 0, 262144, -1, 2, 92, 2, 0, 0, 1073758848, 2, - 193, -1, 0, 4227921920, 2, 194, 0, 68289024, 0, 528402016, - 0, 4292927536, 3, 0, 4, -2, 0, 268435456, 2, 92, -2, 2, 195, - 3, 0, 5, -1, 2, 196, 2, 173, 2, 0, -2, 0, 4227923936, 2, 62, - -1, 2, 183, 2, 95, 2, 0, 2, 163, 2, 175, 2, 197, 3, 0, 5, - -1, 2, 182, 3, 0, 3, -2, 0, 2146959360, 0, 9440640, 0, - 104857600, 0, 4227923840, 3, 0, 2, 0, 768, 2, 198, 2, 28, - -2, 2, 171, -2, 2, 199, -1, 2, 165, 2, 95, 3, 0, 7, 0, 512, - 0, 8388608, 2, 200, 2, 170, 2, 189, 0, 4286578944, 3, 0, 2, - 0, 1152, 0, 1266679808, 2, 195, 0, 576, 0, 4261707776, 2, - 95, 3, 0, 9, 2, 165, 0, 131072, 0, 939524096, 2, 183, 3, 0, - 2, 2, 16, -1, 0, 2147221504, -28, 2, 183, 3, 0, 3, -3, 0, - 4292902912, -6, 2, 96, 3, 0, 81, 2, 25, -2, 2, 104, -33, 2, - 18, 2, 178, 3, 0, 125, -18, 2, 197, 3, 0, 269, -17, 2, 165, - 2, 129, 2, 201, -1, 2, 129, 2, 193, 0, 4290822144, -2, 0, - 67174336, 0, 520093700, 2, 18, 3, 0, 21, -2, 2, 184, 3, 0, - 3, -2, 0, 30720, -1, 0, 32512, 3, 0, 2, 0, 4294770656, -191, - 2, 181, -38, 2, 178, 2, 0, 2, 202, 3, 0, 278, 0, 2417033215, - -9, 0, 4294705144, 0, 4292411391, 0, 65295, -11, 2, 182, 3, - 0, 72, -3, 0, 3758159872, 0, 201391616, 3, 0, 147, -1, 2, - 169, 2, 203, -3, 2, 96, 2, 0, -7, 2, 178, -1, 0, 384, -1, 0, - 133693440, -3, 2, 204, -2, 2, 107, 3, 0, 3, 3, 177, 2, -2, - 2, 91, 2, 165, 3, 0, 4, -2, 2, 192, -1, 2, 159, 0, - 335552923, 2, 205, -1, 0, 538974272, 0, 2214592512, 0, - 132000, -10, 0, 192, -8, 2, 206, -21, 0, 134213632, 2, 158, - 3, 0, 34, 2, 129, 0, 4294965279, 3, 0, 6, 0, 100663424, 0, - 63524, -1, 2, 209, 2, 148, 3, 0, 3, -1, 0, 3221282816, 0, - 4294917120, 3, 0, 9, 2, 25, 2, 207, -1, 2, 208, 3, 0, 14, 2, - 25, 2, 183, 3, 0, 23, 0, 2147520640, -6, 0, 4286578784, 2, - 0, -2, 0, 1006694400, 3, 0, 24, 2, 36, -1, 0, 4292870144, 3, - 0, 2, 0, 1, 2, 173, 3, 0, 6, 2, 205, 0, 4110942569, 0, - 1432950139, 0, 2701658217, 0, 4026532864, 0, 4026532881, 2, - 0, 2, 46, 3, 0, 8, -1, 2, 175, -2, 2, 177, 0, 98304, 0, - 65537, 2, 178, -5, 2, 209, 2, 0, 2, 77, 2, 199, 2, 182, 0, - 4294770176, 2, 107, 3, 0, 4, -30, 2, 188, 0, 3758153728, -3, - 0, 125829120, -2, 2, 183, 0, 4294897664, 2, 175, -1, 2, 195, - -1, 2, 171, 0, 4294754304, 3, 0, 2, -10, 2, 177, 0, - 3758145536, 2, 210, 2, 211, 0, 4026548160, 2, 212, -4, 2, - 213, -1, 2, 204, 0, 4227923967, 3, 0, 32, -1335, 2, 0, -129, - 2, 183, -6, 2, 173, -180, 0, 65532, -233, 2, 174, -18, 2, - 173, 3, 0, 77, -16, 2, 173, 3, 0, 47, -154, 2, 166, -130, 2, - 18, 3, 0, 22250, -7, 2, 18, 3, 0, 6128 - ], - [ - 4294967295, 4294967291, 4092460543, 4294828031, 4294967294, - 134217726, 4294903807, 268435455, 2147483647, 1048575, - 1073741823, 3892314111, 134217727, 1061158911, 536805376, - 4294910143, 4294901759, 32767, 4294901760, 262143, - 536870911, 8388607, 4160749567, 4294902783, 4294918143, - 65535, 67043328, 2281701374, 4294967264, 2097151, 4194303, - 255, 67108863, 4294967039, 511, 524287, 131071, 127, - 3238002687, 4294902271, 4294549487, 33554431, 1023, - 4294901888, 4286578687, 4294705152, 4294770687, 67043583, - 2047999, 67043343, 16777215, 4294902000, 4292870143, - 4294966783, 16383, 67047423, 4294967279, 262083, 20511, - 4290772991, 41943039, 493567, 4294959104, 603979775, 65536, - 602799615, 805044223, 4294965206, 8191, 1031749119, - 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, - 33540095, 4294905855, 63, 15, 2868854591, 1608515583, - 265232348, 534519807, 2147614720, 1060109444, 4093640016, - 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, - 4294967292, 4294965759, 65734655, 4294966272, 4294967280, - 32768, 8289918, 4294934399, 4294901775, 4294965375, - 1602223615, 4294967259, 4294443008, 268369920, 4292804608, - 4294967232, 486341884, 4294963199, 3087007615, 1073692671, - 4128527, 4279238655, 4294902015, 4160684047, 4290246655, - 469499899, 4294967231, 134086655, 4294966591, 2445279231, - 3670015, 31, 4294967288, 4294705151, 3221208447, 4294549472, - 4095, 2147483648, 4285526655, 4294966527, 4294966143, 64, - 4294966719, 3774873592, 1877934080, 262151, 2555904, - 536807423, 67043839, 3758096383, 3959414372, 3755993023, - 2080374783, 4294835295, 4294967103, 4160749565, 4294934527, - 4087, 2016, 2147446655, 184024726, 2862017156, 1593309078, - 268434431, 268434414, 4294901763, 4294901761, 536870912, - 2952790016, 202506752, 139264, 402653184, 3758096384, - 4261412864, 63488, 1610612736, 4227922944, 49152, 57344, - 65280, 3233808384, 3221225472, 65534, 61440, 57152, - 4293918720, 4290772992, 25165824, 4227915776, 4278190080, - 4026531840, 4227858432, 4160749568, 3758129152, 4294836224, - 4194304, 251658240, 196608, 4294963200, 2143289344, 2097152, - 64512, 417808, 4227923712, 12582912, 4294967168, 50331648, - 65528, 65472, 15360, 4294966784, 65408, 4294965248, 16, - 12288, 4294934528, 2080374784, 4294950912, 65024, - 1073741824, 4261477888, 524288 - ] - ); - - function advanceChar(parser) { - parser.column++; - return (parser.currentChar = parser.source.charCodeAt( - ++parser.index - )); - } - function consumeMultiUnitCodePoint(parser, hi) { - if ((hi & 0xfc00) !== 55296) return 0; - const lo = parser.source.charCodeAt(parser.index + 1); - if ((lo & 0xfc00) !== 0xdc00) return 0; - hi = parser.currentChar = - 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff); - if (((unicodeLookup[(hi >>> 5) + 0] >>> hi) & 31 & 1) === 0) { - report(parser, 18, fromCodePoint(hi)); - } - parser.index++; - parser.column++; - return 1; - } - function consumeLineFeed(parser, state) { - parser.currentChar = parser.source.charCodeAt(++parser.index); - parser.flags |= 1; - if ((state & 4) === 0) { - parser.column = 0; - parser.line++; - } - } - function scanNewLine(parser) { - parser.flags |= 1; - parser.currentChar = parser.source.charCodeAt(++parser.index); - parser.column = 0; - parser.line++; - } - function isExoticECMAScriptWhitespace(ch) { - return ( - ch === 160 || - ch === 65279 || - ch === 133 || - ch === 5760 || - (ch >= 8192 && ch <= 8203) || - ch === 8239 || - ch === 8287 || - ch === 12288 || - ch === 8201 || - ch === 65519 - ); - } - function fromCodePoint(codePoint) { - return codePoint <= 65535 - ? String.fromCharCode(codePoint) - : String.fromCharCode(codePoint >>> 10) + - String.fromCharCode(codePoint & 0x3ff); - } - function toHex(code) { - return code < 65 ? code - 48 : (code - 65 + 10) & 0xf; - } - function convertTokenType(t) { - switch (t) { - case 134283266: - return 'NumericLiteral'; - case 134283267: - return 'StringLiteral'; - case 86021: - case 86022: - return 'BooleanLiteral'; - case 86023: - return 'NullLiteral'; - case 65540: - return 'RegularExpression'; - case 67174408: - case 67174409: - case 132: - return 'TemplateLiteral'; - default: - if ((t & 143360) === 143360) return 'Identifier'; - if ((t & 4096) === 4096) return 'Keyword'; - return 'Punctuator'; - } - } - - const CharTypes = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8 | 1024, - 0, - 0, - 8 | 2048, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8192, - 0, - 1 | 2, - 0, - 0, - 8192, - 0, - 0, - 0, - 256, - 0, - 256 | 32768, - 0, - 0, - 2 | 16 | 128 | 32 | 64, - 2 | 16 | 128 | 32 | 64, - 2 | 16 | 32 | 64, - 2 | 16 | 32 | 64, - 2 | 16 | 32 | 64, - 2 | 16 | 32 | 64, - 2 | 16 | 32 | 64, - 2 | 16 | 32 | 64, - 2 | 16 | 512 | 64, - 2 | 16 | 512 | 64, - 0, - 0, - 16384, - 0, - 0, - 0, - 0, - 1 | 2 | 64, - 1 | 2 | 64, - 1 | 2 | 64, - 1 | 2 | 64, - 1 | 2 | 64, - 1 | 2 | 64, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 1 | 2, - 0, - 1, - 0, - 0, - 1 | 2 | 4096, - 0, - 1 | 2 | 4 | 64, - 1 | 2 | 4 | 64, - 1 | 2 | 4 | 64, - 1 | 2 | 4 | 64, - 1 | 2 | 4 | 64, - 1 | 2 | 4 | 64, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 1 | 2 | 4, - 16384, - 0, - 0, - 0, - 0 - ]; - const isIdStart = [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, - 0, 0 - ]; - const isIdPart = [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, - 0, 0 - ]; - function isIdentifierStart(code) { - return code <= 0x7f - ? isIdStart[code] - : (unicodeLookup[(code >>> 5) + 34816] >>> code) & 31 & 1; - } - function isIdentifierPart(code) { - return code <= 0x7f - ? isIdPart[code] - : (unicodeLookup[(code >>> 5) + 0] >>> code) & 31 & 1 || - code === 8204 || - code === 8205; - } - - const CommentTypes = [ - 'SingleLine', - 'MultiLine', - 'HTMLOpen', - 'HTMLClose', - 'HashbangComment' - ]; - function skipHashBang(parser) { - const source = parser.source; - if ( - parser.currentChar === 35 && - source.charCodeAt(parser.index + 1) === 33 - ) { - advanceChar(parser); - advanceChar(parser); - skipSingleLineComment( - parser, - source, - 0, - 4, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } - } - function skipSingleHTMLComment( - parser, - source, - state, - context, - type, - start, - line, - column - ) { - if (context & 2048) report(parser, 0); - return skipSingleLineComment( - parser, - source, - state, - type, - start, - line, - column - ); - } - function skipSingleLineComment( - parser, - source, - state, - type, - start, - line, - column - ) { - const { index } = parser; - parser.tokenPos = parser.index; - parser.linePos = parser.line; - parser.colPos = parser.column; - while (parser.index < parser.end) { - if (CharTypes[parser.currentChar] & 8) { - const isCR = parser.currentChar === 13; - scanNewLine(parser); - if ( - isCR && - parser.index < parser.end && - parser.currentChar === 10 - ) - parser.currentChar = source.charCodeAt( - ++parser.index - ); - break; - } else if ((parser.currentChar ^ 8232) <= 1) { - scanNewLine(parser); - break; - } - advanceChar(parser); - parser.tokenPos = parser.index; - parser.linePos = parser.line; - parser.colPos = parser.column; - } - if (parser.onComment) { - const loc = { - start: { - line, - column - }, - end: { - line: parser.linePos, - column: parser.colPos - } - }; - parser.onComment( - CommentTypes[type & 0xff], - source.slice(index, parser.tokenPos), - start, - parser.tokenPos, - loc - ); - } - return state | 1; - } - function skipMultiLineComment(parser, source, state) { - const { index } = parser; - while (parser.index < parser.end) { - if (parser.currentChar < 0x2b) { - let skippedOneAsterisk = false; - while (parser.currentChar === 42) { - if (!skippedOneAsterisk) { - state &= ~4; - skippedOneAsterisk = true; - } - if (advanceChar(parser) === 47) { - advanceChar(parser); - if (parser.onComment) { - const loc = { - start: { - line: parser.linePos, - column: parser.colPos - }, - end: { - line: parser.line, - column: parser.column - } - }; - parser.onComment( - CommentTypes[1 & 0xff], - source.slice(index, parser.index - 2), - index - 2, - parser.index, - loc - ); - } - parser.tokenPos = parser.index; - parser.linePos = parser.line; - parser.colPos = parser.column; - return state; - } - } - if (skippedOneAsterisk) { - continue; - } - if (CharTypes[parser.currentChar] & 8) { - if (parser.currentChar === 13) { - state |= 1 | 4; - scanNewLine(parser); - } else { - consumeLineFeed(parser, state); - state = (state & ~4) | 1; - } - } else { - advanceChar(parser); - } - } else if ((parser.currentChar ^ 8232) <= 1) { - state = (state & ~4) | 1; - scanNewLine(parser); - } else { - state &= ~4; - advanceChar(parser); - } - } - report(parser, 16); - } - - function scanRegularExpression(parser, context) { - const bodyStart = parser.index; - let preparseState = 0; - loop: while (true) { - const ch = parser.currentChar; - advanceChar(parser); - if (preparseState & 1) { - preparseState &= ~1; - } else { - switch (ch) { - case 47: - if (!preparseState) break loop; - else break; - case 92: - preparseState |= 1; - break; - case 91: - preparseState |= 2; - break; - case 93: - preparseState &= 1; - break; - case 13: - case 10: - case 8232: - case 8233: - report(parser, 32); - } - } - if (parser.index >= parser.source.length) { - return report(parser, 32); - } - } - const bodyEnd = parser.index - 1; - let mask = 0; - let char = parser.currentChar; - const { index: flagStart } = parser; - while (isIdentifierPart(char)) { - switch (char) { - case 103: - if (mask & 2) report(parser, 34, 'g'); - mask |= 2; - break; - case 105: - if (mask & 1) report(parser, 34, 'i'); - mask |= 1; - break; - case 109: - if (mask & 4) report(parser, 34, 'm'); - mask |= 4; - break; - case 117: - if (mask & 16) report(parser, 34, 'u'); - mask |= 16; - break; - case 121: - if (mask & 8) report(parser, 34, 'y'); - mask |= 8; - break; - case 115: - if (mask & 32) report(parser, 34, 's'); - mask |= 32; - break; - case 100: - if (mask & 64) report(parser, 34, 'd'); - mask |= 64; - break; - default: - report(parser, 33); - } - char = advanceChar(parser); - } - const flags = parser.source.slice(flagStart, parser.index); - const pattern = parser.source.slice(bodyStart, bodyEnd); - parser.tokenRegExp = { pattern, flags }; - if (context & 512) - parser.tokenRaw = parser.source.slice( - parser.tokenPos, - parser.index - ); - parser.tokenValue = validate(parser, pattern, flags); - return 65540; - } - function validate(parser, pattern, flags) { - try { - return new RegExp(pattern, flags); - } catch (e) { - try { - new RegExp(pattern, flags.replace('d', '')); - return null; - } catch (e) { - report(parser, 32); - } - } - } - - function scanString(parser, context, quote) { - const { index: start } = parser; - let ret = ''; - let char = advanceChar(parser); - let marker = parser.index; - while ((CharTypes[char] & 8) === 0) { - if (char === quote) { - ret += parser.source.slice(marker, parser.index); - advanceChar(parser); - if (context & 512) - parser.tokenRaw = parser.source.slice( - start, - parser.index - ); - parser.tokenValue = ret; - return 134283267; - } - if ((char & 8) === 8 && char === 92) { - ret += parser.source.slice(marker, parser.index); - char = advanceChar(parser); - if (char < 0x7f || char === 8232 || char === 8233) { - const code = parseEscape(parser, context, char); - if (code >= 0) ret += fromCodePoint(code); - else handleStringError(parser, code, 0); - } else { - ret += fromCodePoint(char); - } - marker = parser.index + 1; - } - if (parser.index >= parser.end) report(parser, 14); - char = advanceChar(parser); - } - report(parser, 14); - } - function parseEscape(parser, context, first) { - switch (first) { - case 98: - return 8; - case 102: - return 12; - case 114: - return 13; - case 110: - return 10; - case 116: - return 9; - case 118: - return 11; - case 13: { - if (parser.index < parser.end) { - const nextChar = parser.source.charCodeAt( - parser.index + 1 - ); - if (nextChar === 10) { - parser.index = parser.index + 1; - parser.currentChar = nextChar; - } - } - } - case 10: - case 8232: - case 8233: - parser.column = -1; - parser.line++; - return -1; - case 48: - case 49: - case 50: - case 51: { - let code = first - 48; - let index = parser.index + 1; - let column = parser.column + 1; - if (index < parser.end) { - const next = parser.source.charCodeAt(index); - if ((CharTypes[next] & 32) === 0) { - if ( - (code !== 0 || CharTypes[next] & 512) && - context & 1024 - ) - return -2; - } else if (context & 1024) { - return -2; - } else { - parser.currentChar = next; - code = (code << 3) | (next - 48); - index++; - column++; - if (index < parser.end) { - const next = - parser.source.charCodeAt(index); - if (CharTypes[next] & 32) { - parser.currentChar = next; - code = (code << 3) | (next - 48); - index++; - column++; - } - } - parser.flags |= 64; - parser.index = index - 1; - parser.column = column - 1; - } - } - return code; - } - case 52: - case 53: - case 54: - case 55: { - if (context & 1024) return -2; - let code = first - 48; - const index = parser.index + 1; - const column = parser.column + 1; - if (index < parser.end) { - const next = parser.source.charCodeAt(index); - if (CharTypes[next] & 32) { - code = (code << 3) | (next - 48); - parser.currentChar = next; - parser.index = index; - parser.column = column; - } - } - parser.flags |= 64; - return code; - } - case 120: { - const ch1 = advanceChar(parser); - if ((CharTypes[ch1] & 64) === 0) return -4; - const hi = toHex(ch1); - const ch2 = advanceChar(parser); - if ((CharTypes[ch2] & 64) === 0) return -4; - const lo = toHex(ch2); - return (hi << 4) | lo; - } - case 117: { - const ch = advanceChar(parser); - if (parser.currentChar === 123) { - let code = 0; - while ( - (CharTypes[advanceChar(parser)] & 64) !== - 0 - ) { - code = (code << 4) | toHex(parser.currentChar); - if (code > 1114111) return -5; - } - if ( - parser.currentChar < 1 || - parser.currentChar !== 125 - ) { - return -4; - } - return code; - } else { - if ((CharTypes[ch] & 64) === 0) return -4; - const ch2 = parser.source.charCodeAt( - parser.index + 1 - ); - if ((CharTypes[ch2] & 64) === 0) return -4; - const ch3 = parser.source.charCodeAt( - parser.index + 2 - ); - if ((CharTypes[ch3] & 64) === 0) return -4; - const ch4 = parser.source.charCodeAt( - parser.index + 3 - ); - if ((CharTypes[ch4] & 64) === 0) return -4; - parser.index += 3; - parser.column += 3; - parser.currentChar = parser.source.charCodeAt( - parser.index - ); - return ( - (toHex(ch) << 12) | - (toHex(ch2) << 8) | - (toHex(ch3) << 4) | - toHex(ch4) - ); - } - } - case 56: - case 57: - if ((context & 256) === 0) return -3; - default: - return first; - } - } - function handleStringError(state, code, isTemplate) { - switch (code) { - case -1: - return; - case -2: - report(state, isTemplate ? 2 : 1); - case -3: - report(state, 13); - case -4: - report(state, 6); - case -5: - report(state, 102); - } - } - - function scanTemplate(parser, context) { - const { index: start } = parser; - let token = 67174409; - let ret = ''; - let char = advanceChar(parser); - while (char !== 96) { - if ( - char === 36 && - parser.source.charCodeAt(parser.index + 1) === 123 - ) { - advanceChar(parser); - token = 67174408; - break; - } else if ((char & 8) === 8 && char === 92) { - char = advanceChar(parser); - if (char > 0x7e) { - ret += fromCodePoint(char); - } else { - const code = parseEscape( - parser, - context | 1024, - char - ); - if (code >= 0) { - ret += fromCodePoint(code); - } else if (code !== -1 && context & 65536) { - ret = undefined; - char = scanBadTemplate(parser, char); - if (char < 0) token = 67174408; - break; - } else { - handleStringError(parser, code, 1); - } - } - } else { - if ( - parser.index < parser.end && - char === 13 && - parser.source.charCodeAt(parser.index) === 10 - ) { - ret += fromCodePoint(char); - parser.currentChar = parser.source.charCodeAt( - ++parser.index - ); - } - if ( - ((char & 83) < 3 && char === 10) || - (char ^ 8232) <= 1 - ) { - parser.column = -1; - parser.line++; - } - ret += fromCodePoint(char); - } - if (parser.index >= parser.end) report(parser, 15); - char = advanceChar(parser); - } - advanceChar(parser); - parser.tokenValue = ret; - parser.tokenRaw = parser.source.slice( - start + 1, - parser.index - (token === 67174409 ? 1 : 2) - ); - return token; - } - function scanBadTemplate(parser, ch) { - while (ch !== 96) { - switch (ch) { - case 36: { - const index = parser.index + 1; - if ( - index < parser.end && - parser.source.charCodeAt(index) === 123 - ) { - parser.index = index; - parser.column++; - return -ch; - } - break; - } - case 10: - case 8232: - case 8233: - parser.column = -1; - parser.line++; - } - if (parser.index >= parser.end) report(parser, 15); - ch = advanceChar(parser); - } - return ch; - } - function scanTemplateTail(parser, context) { - if (parser.index >= parser.end) report(parser, 0); - parser.index--; - parser.column--; - return scanTemplate(parser, context); - } - - function scanNumber(parser, context, kind) { - let char = parser.currentChar; - let value = 0; - let digit = 9; - let atStart = kind & 64 ? 0 : 1; - let digits = 0; - let allowSeparator = 0; - if (kind & 64) { - value = '.' + scanDecimalDigitsOrSeparator(parser, char); - char = parser.currentChar; - if (char === 110) report(parser, 11); - } else { - if (char === 48) { - char = advanceChar(parser); - if ((char | 32) === 120) { - kind = 8 | 128; - char = advanceChar(parser); - while (CharTypes[char] & (64 | 4096)) { - if (char === 95) { - if (!allowSeparator) report(parser, 147); - allowSeparator = 0; - char = advanceChar(parser); - continue; - } - allowSeparator = 1; - value = value * 0x10 + toHex(char); - digits++; - char = advanceChar(parser); - } - if (digits === 0 || !allowSeparator) { - report(parser, digits === 0 ? 19 : 148); - } - } else if ((char | 32) === 111) { - kind = 4 | 128; - char = advanceChar(parser); - while (CharTypes[char] & (32 | 4096)) { - if (char === 95) { - if (!allowSeparator) { - report(parser, 147); - } - allowSeparator = 0; - char = advanceChar(parser); - continue; - } - allowSeparator = 1; - value = value * 8 + (char - 48); - digits++; - char = advanceChar(parser); - } - if (digits === 0 || !allowSeparator) { - report(parser, digits === 0 ? 0 : 148); - } - } else if ((char | 32) === 98) { - kind = 2 | 128; - char = advanceChar(parser); - while (CharTypes[char] & (128 | 4096)) { - if (char === 95) { - if (!allowSeparator) { - report(parser, 147); - } - allowSeparator = 0; - char = advanceChar(parser); - continue; - } - allowSeparator = 1; - value = value * 2 + (char - 48); - digits++; - char = advanceChar(parser); - } - if (digits === 0 || !allowSeparator) { - report(parser, digits === 0 ? 0 : 148); - } - } else if (CharTypes[char] & 32) { - if (context & 1024) report(parser, 1); - kind = 1; - while (CharTypes[char] & 16) { - if (CharTypes[char] & 512) { - kind = 32; - atStart = 0; - break; - } - value = value * 8 + (char - 48); - char = advanceChar(parser); - } - } else if (CharTypes[char] & 512) { - if (context & 1024) report(parser, 1); - parser.flags |= 64; - kind = 32; - } else if (char === 95) { - report(parser, 0); - } - } - if (kind & 48) { - if (atStart) { - while ( - digit >= 0 && - CharTypes[char] & (16 | 4096) - ) { - if (char === 95) { - char = advanceChar(parser); - if (char === 95 || kind & 32) { - reportScannerError( - parser.index, - parser.line, - parser.index + 1, - 147 - ); - } - allowSeparator = 1; - continue; - } - allowSeparator = 0; - value = 10 * value + (char - 48); - char = advanceChar(parser); - --digit; - } - if (allowSeparator) { - reportScannerError( - parser.index, - parser.line, - parser.index + 1, - 148 - ); - } - if ( - digit >= 0 && - !isIdentifierStart(char) && - char !== 46 - ) { - parser.tokenValue = value; - if (context & 512) - parser.tokenRaw = parser.source.slice( - parser.tokenPos, - parser.index - ); - return 134283266; - } - } - value += scanDecimalDigitsOrSeparator(parser, char); - char = parser.currentChar; - if (char === 46) { - if (advanceChar(parser) === 95) report(parser, 0); - kind = 64; - value += - '.' + - scanDecimalDigitsOrSeparator( - parser, - parser.currentChar - ); - char = parser.currentChar; - } - } - } - const end = parser.index; - let isBigInt = 0; - if (char === 110 && kind & 128) { - isBigInt = 1; - char = advanceChar(parser); - } else { - if ((char | 32) === 101) { - char = advanceChar(parser); - if (CharTypes[char] & 256) char = advanceChar(parser); - const { index } = parser; - if ((CharTypes[char] & 16) === 0) report(parser, 10); - value += - parser.source.substring(end, index) + - scanDecimalDigitsOrSeparator(parser, char); - char = parser.currentChar; - } - } - if ( - (parser.index < parser.end && CharTypes[char] & 16) || - isIdentifierStart(char) - ) { - report(parser, 12); - } - if (isBigInt) { - parser.tokenRaw = parser.source.slice( - parser.tokenPos, - parser.index - ); - parser.tokenValue = BigInt(value); - return 134283389; - } - parser.tokenValue = - kind & (1 | 2 | 8 | 4) - ? value - : kind & 32 - ? parseFloat( - parser.source.substring( - parser.tokenPos, - parser.index - ) - ) - : +value; - if (context & 512) - parser.tokenRaw = parser.source.slice( - parser.tokenPos, - parser.index - ); - return 134283266; - } - function scanDecimalDigitsOrSeparator(parser, char) { - let allowSeparator = 0; - let start = parser.index; - let ret = ''; - while (CharTypes[char] & (16 | 4096)) { - if (char === 95) { - const { index } = parser; - char = advanceChar(parser); - if (char === 95) { - reportScannerError( - parser.index, - parser.line, - parser.index + 1, - 147 - ); - } - allowSeparator = 1; - ret += parser.source.substring(start, index); - start = parser.index; - continue; - } - allowSeparator = 0; - char = advanceChar(parser); - } - if (allowSeparator) { - reportScannerError( - parser.index, - parser.line, - parser.index + 1, - 148 - ); - } - return ret + parser.source.substring(start, parser.index); - } - - const KeywordDescTable = [ - 'end of source', - 'identifier', - 'number', - 'string', - 'regular expression', - 'false', - 'true', - 'null', - 'template continuation', - 'template tail', - '=>', - '(', - '{', - '.', - '...', - '}', - ')', - ';', - ',', - '[', - ']', - ':', - '?', - "'", - '"', - '', - '++', - '--', - '=', - '<<=', - '>>=', - '>>>=', - '**=', - '+=', - '-=', - '*=', - '/=', - '%=', - '^=', - '|=', - '&=', - '||=', - '&&=', - '??=', - 'typeof', - 'delete', - 'void', - '!', - '~', - '+', - '-', - 'in', - 'instanceof', - '*', - '%', - '/', - '**', - '&&', - '||', - '===', - '!==', - '==', - '!=', - '<=', - '>=', - '<', - '>', - '<<', - '>>', - '>>>', - '&', - '|', - '^', - 'var', - 'let', - 'const', - 'break', - 'case', - 'catch', - 'class', - 'continue', - 'debugger', - 'default', - 'do', - 'else', - 'export', - 'extends', - 'finally', - 'for', - 'function', - 'if', - 'import', - 'new', - 'return', - 'super', - 'switch', - 'this', - 'throw', - 'try', - 'while', - 'with', - 'implements', - 'interface', - 'package', - 'private', - 'protected', - 'public', - 'static', - 'yield', - 'as', - 'async', - 'await', - 'constructor', - 'get', - 'set', - 'from', - 'of', - 'enum', - 'eval', - 'arguments', - 'escaped keyword', - 'escaped future reserved keyword', - 'reserved if strict', - '#', - 'BigIntLiteral', - '??', - '?.', - 'WhiteSpace', - 'Illegal', - 'LineTerminator', - 'PrivateField', - 'Template', - '@', - 'target', - 'meta', - 'LineFeed', - 'Escaped', - 'JSXText' - ]; - const descKeywordTable = Object.create(null, { - this: { value: 86113 }, - function: { value: 86106 }, - if: { value: 20571 }, - return: { value: 20574 }, - var: { value: 86090 }, - else: { value: 20565 }, - for: { value: 20569 }, - new: { value: 86109 }, - in: { value: 8738868 }, - typeof: { value: 16863277 }, - while: { value: 20580 }, - case: { value: 20558 }, - break: { value: 20557 }, - try: { value: 20579 }, - catch: { value: 20559 }, - delete: { value: 16863278 }, - throw: { value: 86114 }, - switch: { value: 86112 }, - continue: { value: 20561 }, - default: { value: 20563 }, - instanceof: { value: 8476725 }, - do: { value: 20564 }, - void: { value: 16863279 }, - finally: { value: 20568 }, - async: { value: 209007 }, - await: { value: 209008 }, - class: { value: 86096 }, - const: { value: 86092 }, - constructor: { value: 12401 }, - debugger: { value: 20562 }, - export: { value: 20566 }, - extends: { value: 20567 }, - false: { value: 86021 }, - from: { value: 12404 }, - get: { value: 12402 }, - implements: { value: 36966 }, - import: { value: 86108 }, - interface: { value: 36967 }, - let: { value: 241739 }, - null: { value: 86023 }, - of: { value: 274549 }, - package: { value: 36968 }, - private: { value: 36969 }, - protected: { value: 36970 }, - public: { value: 36971 }, - set: { value: 12403 }, - static: { value: 36972 }, - super: { value: 86111 }, - true: { value: 86022 }, - with: { value: 20581 }, - yield: { value: 241773 }, - enum: { value: 86134 }, - eval: { value: 537079927 }, - as: { value: 77934 }, - arguments: { value: 537079928 }, - target: { value: 143494 }, - meta: { value: 143495 } - }); - - function scanIdentifier(parser, context, isValidAsKeyword) { - while (isIdPart[advanceChar(parser)]) {} - parser.tokenValue = parser.source.slice( - parser.tokenPos, - parser.index - ); - return parser.currentChar !== 92 && parser.currentChar <= 0x7e - ? descKeywordTable[parser.tokenValue] || 208897 - : scanIdentifierSlowCase( - parser, - context, - 0, - isValidAsKeyword - ); - } - function scanUnicodeIdentifier(parser, context) { - const cookedChar = scanIdentifierUnicodeEscape(parser); - if (!isIdentifierPart(cookedChar)) report(parser, 4); - parser.tokenValue = fromCodePoint(cookedChar); - return scanIdentifierSlowCase( - parser, - context, - 1, - CharTypes[cookedChar] & 4 - ); - } - function scanIdentifierSlowCase( - parser, - context, - hasEscape, - isValidAsKeyword - ) { - let start = parser.index; - while (parser.index < parser.end) { - if (parser.currentChar === 92) { - parser.tokenValue += parser.source.slice( - start, - parser.index - ); - hasEscape = 1; - const code = scanIdentifierUnicodeEscape(parser); - if (!isIdentifierPart(code)) report(parser, 4); - isValidAsKeyword = - isValidAsKeyword && CharTypes[code] & 4; - parser.tokenValue += fromCodePoint(code); - start = parser.index; - } else if ( - isIdentifierPart(parser.currentChar) || - consumeMultiUnitCodePoint(parser, parser.currentChar) - ) { - advanceChar(parser); - } else { - break; - } - } - if (parser.index <= parser.end) { - parser.tokenValue += parser.source.slice( - start, - parser.index - ); - } - const length = parser.tokenValue.length; - if (isValidAsKeyword && length >= 2 && length <= 11) { - const token = descKeywordTable[parser.tokenValue]; - if (token === void 0) return 208897; - if (!hasEscape) return token; - if (token === 209008) { - if ((context & (2048 | 4194304)) === 0) { - return token; - } - return 121; - } - if (context & 1024) { - if (token === 36972) { - return 122; - } - if ((token & 36864) === 36864) { - return 122; - } - if ((token & 20480) === 20480) { - if (context & 268435456 && (context & 8192) === 0) { - return token; - } else { - return 121; - } - } - return 143483; - } - if ( - context & 268435456 && - (context & 8192) === 0 && - (token & 20480) === 20480 - ) - return token; - if (token === 241773) { - return context & 268435456 - ? 143483 - : context & 2097152 - ? 121 - : token; - } - if (token === 209007) { - return 143483; - } - if ((token & 36864) === 36864) { - return token; - } - return 121; - } - return 208897; - } - function scanPrivateIdentifier(parser) { - if (!isIdentifierStart(advanceChar(parser))) report(parser, 94); - return 131; - } - function scanIdentifierUnicodeEscape(parser) { - if (parser.source.charCodeAt(parser.index + 1) !== 117) { - report(parser, 4); - } - parser.currentChar = parser.source.charCodeAt( - (parser.index += 2) - ); - return scanUnicodeEscape(parser); - } - function scanUnicodeEscape(parser) { - let codePoint = 0; - const char = parser.currentChar; - if (char === 123) { - const begin = parser.index - 2; - while (CharTypes[advanceChar(parser)] & 64) { - codePoint = - (codePoint << 4) | toHex(parser.currentChar); - if (codePoint > 1114111) - reportScannerError( - begin, - parser.line, - parser.index + 1, - 102 - ); - } - if (parser.currentChar !== 125) { - reportScannerError( - begin, - parser.line, - parser.index - 1, - 6 - ); - } - advanceChar(parser); - return codePoint; - } - if ((CharTypes[char] & 64) === 0) report(parser, 6); - const char2 = parser.source.charCodeAt(parser.index + 1); - if ((CharTypes[char2] & 64) === 0) report(parser, 6); - const char3 = parser.source.charCodeAt(parser.index + 2); - if ((CharTypes[char3] & 64) === 0) report(parser, 6); - const char4 = parser.source.charCodeAt(parser.index + 3); - if ((CharTypes[char4] & 64) === 0) report(parser, 6); - codePoint = - (toHex(char) << 12) | - (toHex(char2) << 8) | - (toHex(char3) << 4) | - toHex(char4); - parser.currentChar = parser.source.charCodeAt( - (parser.index += 4) - ); - return codePoint; - } - - const TokenLookup = [ - 129, 129, 129, 129, 129, 129, 129, 129, 129, 128, 136, 128, 128, - 130, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 128, 16842800, 134283267, 131, - 208897, 8457015, 8455751, 134283267, 67174411, 16, 8457014, - 25233970, 18, 25233971, 67108877, 8457016, 134283266, 134283266, - 134283266, 134283266, 134283266, 134283266, 134283266, - 134283266, 134283266, 134283266, 21, 1074790417, 8456258, - 1077936157, 8456259, 22, 133, 208897, 208897, 208897, 208897, - 208897, 208897, 208897, 208897, 208897, 208897, 208897, 208897, - 208897, 208897, 208897, 208897, 208897, 208897, 208897, 208897, - 208897, 208897, 208897, 208897, 208897, 208897, 69271571, 137, - 20, 8455497, 208897, 132, 4096, 4096, 4096, 4096, 4096, 4096, - 4096, 208897, 4096, 208897, 208897, 4096, 208897, 4096, 208897, - 4096, 208897, 4096, 4096, 4096, 208897, 4096, 4096, 208897, - 4096, 4096, 2162700, 8455240, 1074790415, 16842801, 129 - ]; - function nextToken(parser, context) { - parser.flags = (parser.flags | 1) ^ 1; - parser.startPos = parser.index; - parser.startColumn = parser.column; - parser.startLine = parser.line; - parser.token = scanSingleToken(parser, context, 0); - if (parser.onToken && parser.token !== 1048576) { - const loc = { - start: { - line: parser.linePos, - column: parser.colPos - }, - end: { - line: parser.line, - column: parser.column - } - }; - parser.onToken( - convertTokenType(parser.token), - parser.tokenPos, - parser.index, - loc - ); - } - } - function scanSingleToken(parser, context, state) { - const isStartOfLine = parser.index === 0; - const source = parser.source; - let startPos = parser.index; - let startLine = parser.line; - let startColumn = parser.column; - while (parser.index < parser.end) { - parser.tokenPos = parser.index; - parser.colPos = parser.column; - parser.linePos = parser.line; - let char = parser.currentChar; - if (char <= 0x7e) { - const token = TokenLookup[char]; - switch (token) { - case 67174411: - case 16: - case 2162700: - case 1074790415: - case 69271571: - case 20: - case 21: - case 1074790417: - case 18: - case 16842801: - case 133: - case 129: - advanceChar(parser); - return token; - case 208897: - return scanIdentifier(parser, context, 0); - case 4096: - return scanIdentifier(parser, context, 1); - case 134283266: - return scanNumber(parser, context, 16 | 128); - case 134283267: - return scanString(parser, context, char); - case 132: - return scanTemplate(parser, context); - case 137: - return scanUnicodeIdentifier(parser, context); - case 131: - return scanPrivateIdentifier(parser); - case 128: - advanceChar(parser); - break; - case 130: - state |= 1 | 4; - scanNewLine(parser); - break; - case 136: - consumeLineFeed(parser, state); - state = (state & ~4) | 1; - break; - case 8456258: - let ch = advanceChar(parser); - if (parser.index < parser.end) { - if (ch === 60) { - if ( - parser.index < parser.end && - advanceChar(parser) === 61 - ) { - advanceChar(parser); - return 4194334; - } - return 8456516; - } else if (ch === 61) { - advanceChar(parser); - return 8456256; - } - if (ch === 33) { - const index = parser.index + 1; - if ( - index + 1 < parser.end && - source.charCodeAt(index) === 45 && - source.charCodeAt(index + 1) == 45 - ) { - parser.column += 3; - parser.currentChar = - source.charCodeAt( - (parser.index += 3) - ); - state = skipSingleHTMLComment( - parser, - source, - state, - context, - 2, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - startPos = parser.tokenPos; - startLine = parser.linePos; - startColumn = parser.colPos; - continue; - } - return 8456258; - } - if (ch === 47) { - if ((context & 16) === 0) - return 8456258; - const index = parser.index + 1; - if (index < parser.end) { - ch = source.charCodeAt(index); - if (ch === 42 || ch === 47) break; - } - advanceChar(parser); - return 25; - } - } - return 8456258; - case 1077936157: { - advanceChar(parser); - const ch = parser.currentChar; - if (ch === 61) { - if (advanceChar(parser) === 61) { - advanceChar(parser); - return 8455996; - } - return 8455998; - } - if (ch === 62) { - advanceChar(parser); - return 10; - } - return 1077936157; - } - case 16842800: - if (advanceChar(parser) !== 61) { - return 16842800; - } - if (advanceChar(parser) !== 61) { - return 8455999; - } - advanceChar(parser); - return 8455997; - case 8457015: - if (advanceChar(parser) !== 61) return 8457015; - advanceChar(parser); - return 4194342; - case 8457014: { - advanceChar(parser); - if (parser.index >= parser.end) return 8457014; - const ch = parser.currentChar; - if (ch === 61) { - advanceChar(parser); - return 4194340; - } - if (ch !== 42) return 8457014; - if (advanceChar(parser) !== 61) return 8457273; - advanceChar(parser); - return 4194337; - } - case 8455497: - if (advanceChar(parser) !== 61) return 8455497; - advanceChar(parser); - return 4194343; - case 25233970: { - advanceChar(parser); - const ch = parser.currentChar; - if (ch === 43) { - advanceChar(parser); - return 33619995; - } - if (ch === 61) { - advanceChar(parser); - return 4194338; - } - return 25233970; - } - case 25233971: { - advanceChar(parser); - const ch = parser.currentChar; - if (ch === 45) { - advanceChar(parser); - if ( - (state & 1 || isStartOfLine) && - parser.currentChar === 62 - ) { - if ((context & 256) === 0) - report(parser, 109); - advanceChar(parser); - state = skipSingleHTMLComment( - parser, - source, - state, - context, - 3, - startPos, - startLine, - startColumn - ); - startPos = parser.tokenPos; - startLine = parser.linePos; - startColumn = parser.colPos; - continue; - } - return 33619996; - } - if (ch === 61) { - advanceChar(parser); - return 4194339; - } - return 25233971; - } - case 8457016: { - advanceChar(parser); - if (parser.index < parser.end) { - const ch = parser.currentChar; - if (ch === 47) { - advanceChar(parser); - state = skipSingleLineComment( - parser, - source, - state, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - startPos = parser.tokenPos; - startLine = parser.linePos; - startColumn = parser.colPos; - continue; - } - if (ch === 42) { - advanceChar(parser); - state = skipMultiLineComment( - parser, - source, - state - ); - startPos = parser.tokenPos; - startLine = parser.linePos; - startColumn = parser.colPos; - continue; - } - if (context & 32768) { - return scanRegularExpression( - parser, - context - ); - } - if (ch === 61) { - advanceChar(parser); - return 4259877; - } - } - return 8457016; - } - case 67108877: - const next = advanceChar(parser); - if (next >= 48 && next <= 57) - return scanNumber(parser, context, 64 | 16); - if (next === 46) { - const index = parser.index + 1; - if ( - index < parser.end && - source.charCodeAt(index) === 46 - ) { - parser.column += 2; - parser.currentChar = source.charCodeAt( - (parser.index += 2) - ); - return 14; - } - } - return 67108877; - case 8455240: { - advanceChar(parser); - const ch = parser.currentChar; - if (ch === 124) { - advanceChar(parser); - if (parser.currentChar === 61) { - advanceChar(parser); - return 4194346; - } - return 8979003; - } - if (ch === 61) { - advanceChar(parser); - return 4194344; - } - return 8455240; - } - case 8456259: { - advanceChar(parser); - const ch = parser.currentChar; - if (ch === 61) { - advanceChar(parser); - return 8456257; - } - if (ch !== 62) return 8456259; - advanceChar(parser); - if (parser.index < parser.end) { - const ch = parser.currentChar; - if (ch === 62) { - if (advanceChar(parser) === 61) { - advanceChar(parser); - return 4194336; - } - return 8456518; - } - if (ch === 61) { - advanceChar(parser); - return 4194335; - } - } - return 8456517; - } - case 8455751: { - advanceChar(parser); - const ch = parser.currentChar; - if (ch === 38) { - advanceChar(parser); - if (parser.currentChar === 61) { - advanceChar(parser); - return 4194347; - } - return 8979258; - } - if (ch === 61) { - advanceChar(parser); - return 4194345; - } - return 8455751; - } - case 22: { - let ch = advanceChar(parser); - if (ch === 63) { - advanceChar(parser); - if (parser.currentChar === 61) { - advanceChar(parser); - return 4194348; - } - return 276889982; - } - if (ch === 46) { - const index = parser.index + 1; - if (index < parser.end) { - ch = source.charCodeAt(index); - if (!(ch >= 48 && ch <= 57)) { - advanceChar(parser); - return 67108991; - } - } - } - return 22; - } - } - } else { - if ((char ^ 8232) <= 1) { - state = (state & ~4) | 1; - scanNewLine(parser); - continue; - } - if ( - (char & 0xfc00) === 0xd800 || - ((unicodeLookup[(char >>> 5) + 34816] >>> char) & - 31 & - 1) !== - 0 - ) { - if ((char & 0xfc00) === 0xdc00) { - char = - ((char & 0x3ff) << 10) | - (char & 0x3ff) | - 0x10000; - if ( - ((unicodeLookup[(char >>> 5) + 0] >>> - char) & - 31 & - 1) === - 0 - ) { - report(parser, 18, fromCodePoint(char)); - } - parser.index++; - parser.currentChar = char; - } - parser.column++; - parser.tokenValue = ''; - return scanIdentifierSlowCase( - parser, - context, - 0, - 0 - ); - } - if (isExoticECMAScriptWhitespace(char)) { - advanceChar(parser); - continue; - } - report(parser, 18, fromCodePoint(char)); - } - } - return 1048576; - } - - const entities = { - AElig: '\u00C6', - AMP: '\u0026', - Aacute: '\u00C1', - Abreve: '\u0102', - Acirc: '\u00C2', - Acy: '\u0410', - Afr: '\uD835\uDD04', - Agrave: '\u00C0', - Alpha: '\u0391', - Amacr: '\u0100', - And: '\u2A53', - Aogon: '\u0104', - Aopf: '\uD835\uDD38', - ApplyFunction: '\u2061', - Aring: '\u00C5', - Ascr: '\uD835\uDC9C', - Assign: '\u2254', - Atilde: '\u00C3', - Auml: '\u00C4', - Backslash: '\u2216', - Barv: '\u2AE7', - Barwed: '\u2306', - Bcy: '\u0411', - Because: '\u2235', - Bernoullis: '\u212C', - Beta: '\u0392', - Bfr: '\uD835\uDD05', - Bopf: '\uD835\uDD39', - Breve: '\u02D8', - Bscr: '\u212C', - Bumpeq: '\u224E', - CHcy: '\u0427', - COPY: '\u00A9', - Cacute: '\u0106', - Cap: '\u22D2', - CapitalDifferentialD: '\u2145', - Cayleys: '\u212D', - Ccaron: '\u010C', - Ccedil: '\u00C7', - Ccirc: '\u0108', - Cconint: '\u2230', - Cdot: '\u010A', - Cedilla: '\u00B8', - CenterDot: '\u00B7', - Cfr: '\u212D', - Chi: '\u03A7', - CircleDot: '\u2299', - CircleMinus: '\u2296', - CirclePlus: '\u2295', - CircleTimes: '\u2297', - ClockwiseContourIntegral: '\u2232', - CloseCurlyDoubleQuote: '\u201D', - CloseCurlyQuote: '\u2019', - Colon: '\u2237', - Colone: '\u2A74', - Congruent: '\u2261', - Conint: '\u222F', - ContourIntegral: '\u222E', - Copf: '\u2102', - Coproduct: '\u2210', - CounterClockwiseContourIntegral: '\u2233', - Cross: '\u2A2F', - Cscr: '\uD835\uDC9E', - Cup: '\u22D3', - CupCap: '\u224D', - DD: '\u2145', - DDotrahd: '\u2911', - DJcy: '\u0402', - DScy: '\u0405', - DZcy: '\u040F', - Dagger: '\u2021', - Darr: '\u21A1', - Dashv: '\u2AE4', - Dcaron: '\u010E', - Dcy: '\u0414', - Del: '\u2207', - Delta: '\u0394', - Dfr: '\uD835\uDD07', - DiacriticalAcute: '\u00B4', - DiacriticalDot: '\u02D9', - DiacriticalDoubleAcute: '\u02DD', - DiacriticalGrave: '\u0060', - DiacriticalTilde: '\u02DC', - Diamond: '\u22C4', - DifferentialD: '\u2146', - Dopf: '\uD835\uDD3B', - Dot: '\u00A8', - DotDot: '\u20DC', - DotEqual: '\u2250', - DoubleContourIntegral: '\u222F', - DoubleDot: '\u00A8', - DoubleDownArrow: '\u21D3', - DoubleLeftArrow: '\u21D0', - DoubleLeftRightArrow: '\u21D4', - DoubleLeftTee: '\u2AE4', - DoubleLongLeftArrow: '\u27F8', - DoubleLongLeftRightArrow: '\u27FA', - DoubleLongRightArrow: '\u27F9', - DoubleRightArrow: '\u21D2', - DoubleRightTee: '\u22A8', - DoubleUpArrow: '\u21D1', - DoubleUpDownArrow: '\u21D5', - DoubleVerticalBar: '\u2225', - DownArrow: '\u2193', - DownArrowBar: '\u2913', - DownArrowUpArrow: '\u21F5', - DownBreve: '\u0311', - DownLeftRightVector: '\u2950', - DownLeftTeeVector: '\u295E', - DownLeftVector: '\u21BD', - DownLeftVectorBar: '\u2956', - DownRightTeeVector: '\u295F', - DownRightVector: '\u21C1', - DownRightVectorBar: '\u2957', - DownTee: '\u22A4', - DownTeeArrow: '\u21A7', - Downarrow: '\u21D3', - Dscr: '\uD835\uDC9F', - Dstrok: '\u0110', - ENG: '\u014A', - ETH: '\u00D0', - Eacute: '\u00C9', - Ecaron: '\u011A', - Ecirc: '\u00CA', - Ecy: '\u042D', - Edot: '\u0116', - Efr: '\uD835\uDD08', - Egrave: '\u00C8', - Element: '\u2208', - Emacr: '\u0112', - EmptySmallSquare: '\u25FB', - EmptyVerySmallSquare: '\u25AB', - Eogon: '\u0118', - Eopf: '\uD835\uDD3C', - Epsilon: '\u0395', - Equal: '\u2A75', - EqualTilde: '\u2242', - Equilibrium: '\u21CC', - Escr: '\u2130', - Esim: '\u2A73', - Eta: '\u0397', - Euml: '\u00CB', - Exists: '\u2203', - ExponentialE: '\u2147', - Fcy: '\u0424', - Ffr: '\uD835\uDD09', - FilledSmallSquare: '\u25FC', - FilledVerySmallSquare: '\u25AA', - Fopf: '\uD835\uDD3D', - ForAll: '\u2200', - Fouriertrf: '\u2131', - Fscr: '\u2131', - GJcy: '\u0403', - GT: '\u003E', - Gamma: '\u0393', - Gammad: '\u03DC', - Gbreve: '\u011E', - Gcedil: '\u0122', - Gcirc: '\u011C', - Gcy: '\u0413', - Gdot: '\u0120', - Gfr: '\uD835\uDD0A', - Gg: '\u22D9', - Gopf: '\uD835\uDD3E', - GreaterEqual: '\u2265', - GreaterEqualLess: '\u22DB', - GreaterFullEqual: '\u2267', - GreaterGreater: '\u2AA2', - GreaterLess: '\u2277', - GreaterSlantEqual: '\u2A7E', - GreaterTilde: '\u2273', - Gscr: '\uD835\uDCA2', - Gt: '\u226B', - HARDcy: '\u042A', - Hacek: '\u02C7', - Hat: '\u005E', - Hcirc: '\u0124', - Hfr: '\u210C', - HilbertSpace: '\u210B', - Hopf: '\u210D', - HorizontalLine: '\u2500', - Hscr: '\u210B', - Hstrok: '\u0126', - HumpDownHump: '\u224E', - HumpEqual: '\u224F', - IEcy: '\u0415', - IJlig: '\u0132', - IOcy: '\u0401', - Iacute: '\u00CD', - Icirc: '\u00CE', - Icy: '\u0418', - Idot: '\u0130', - Ifr: '\u2111', - Igrave: '\u00CC', - Im: '\u2111', - Imacr: '\u012A', - ImaginaryI: '\u2148', - Implies: '\u21D2', - Int: '\u222C', - Integral: '\u222B', - Intersection: '\u22C2', - InvisibleComma: '\u2063', - InvisibleTimes: '\u2062', - Iogon: '\u012E', - Iopf: '\uD835\uDD40', - Iota: '\u0399', - Iscr: '\u2110', - Itilde: '\u0128', - Iukcy: '\u0406', - Iuml: '\u00CF', - Jcirc: '\u0134', - Jcy: '\u0419', - Jfr: '\uD835\uDD0D', - Jopf: '\uD835\uDD41', - Jscr: '\uD835\uDCA5', - Jsercy: '\u0408', - Jukcy: '\u0404', - KHcy: '\u0425', - KJcy: '\u040C', - Kappa: '\u039A', - Kcedil: '\u0136', - Kcy: '\u041A', - Kfr: '\uD835\uDD0E', - Kopf: '\uD835\uDD42', - Kscr: '\uD835\uDCA6', - LJcy: '\u0409', - LT: '\u003C', - Lacute: '\u0139', - Lambda: '\u039B', - Lang: '\u27EA', - Laplacetrf: '\u2112', - Larr: '\u219E', - Lcaron: '\u013D', - Lcedil: '\u013B', - Lcy: '\u041B', - LeftAngleBracket: '\u27E8', - LeftArrow: '\u2190', - LeftArrowBar: '\u21E4', - LeftArrowRightArrow: '\u21C6', - LeftCeiling: '\u2308', - LeftDoubleBracket: '\u27E6', - LeftDownTeeVector: '\u2961', - LeftDownVector: '\u21C3', - LeftDownVectorBar: '\u2959', - LeftFloor: '\u230A', - LeftRightArrow: '\u2194', - LeftRightVector: '\u294E', - LeftTee: '\u22A3', - LeftTeeArrow: '\u21A4', - LeftTeeVector: '\u295A', - LeftTriangle: '\u22B2', - LeftTriangleBar: '\u29CF', - LeftTriangleEqual: '\u22B4', - LeftUpDownVector: '\u2951', - LeftUpTeeVector: '\u2960', - LeftUpVector: '\u21BF', - LeftUpVectorBar: '\u2958', - LeftVector: '\u21BC', - LeftVectorBar: '\u2952', - Leftarrow: '\u21D0', - Leftrightarrow: '\u21D4', - LessEqualGreater: '\u22DA', - LessFullEqual: '\u2266', - LessGreater: '\u2276', - LessLess: '\u2AA1', - LessSlantEqual: '\u2A7D', - LessTilde: '\u2272', - Lfr: '\uD835\uDD0F', - Ll: '\u22D8', - Lleftarrow: '\u21DA', - Lmidot: '\u013F', - LongLeftArrow: '\u27F5', - LongLeftRightArrow: '\u27F7', - LongRightArrow: '\u27F6', - Longleftarrow: '\u27F8', - Longleftrightarrow: '\u27FA', - Longrightarrow: '\u27F9', - Lopf: '\uD835\uDD43', - LowerLeftArrow: '\u2199', - LowerRightArrow: '\u2198', - Lscr: '\u2112', - Lsh: '\u21B0', - Lstrok: '\u0141', - Lt: '\u226A', - Map: '\u2905', - Mcy: '\u041C', - MediumSpace: '\u205F', - Mellintrf: '\u2133', - Mfr: '\uD835\uDD10', - MinusPlus: '\u2213', - Mopf: '\uD835\uDD44', - Mscr: '\u2133', - Mu: '\u039C', - NJcy: '\u040A', - Nacute: '\u0143', - Ncaron: '\u0147', - Ncedil: '\u0145', - Ncy: '\u041D', - NegativeMediumSpace: '\u200B', - NegativeThickSpace: '\u200B', - NegativeThinSpace: '\u200B', - NegativeVeryThinSpace: '\u200B', - NestedGreaterGreater: '\u226B', - NestedLessLess: '\u226A', - NewLine: '\u000A', - Nfr: '\uD835\uDD11', - NoBreak: '\u2060', - NonBreakingSpace: '\u00A0', - Nopf: '\u2115', - Not: '\u2AEC', - NotCongruent: '\u2262', - NotCupCap: '\u226D', - NotDoubleVerticalBar: '\u2226', - NotElement: '\u2209', - NotEqual: '\u2260', - NotEqualTilde: '\u2242\u0338', - NotExists: '\u2204', - NotGreater: '\u226F', - NotGreaterEqual: '\u2271', - NotGreaterFullEqual: '\u2267\u0338', - NotGreaterGreater: '\u226B\u0338', - NotGreaterLess: '\u2279', - NotGreaterSlantEqual: '\u2A7E\u0338', - NotGreaterTilde: '\u2275', - NotHumpDownHump: '\u224E\u0338', - NotHumpEqual: '\u224F\u0338', - NotLeftTriangle: '\u22EA', - NotLeftTriangleBar: '\u29CF\u0338', - NotLeftTriangleEqual: '\u22EC', - NotLess: '\u226E', - NotLessEqual: '\u2270', - NotLessGreater: '\u2278', - NotLessLess: '\u226A\u0338', - NotLessSlantEqual: '\u2A7D\u0338', - NotLessTilde: '\u2274', - NotNestedGreaterGreater: '\u2AA2\u0338', - NotNestedLessLess: '\u2AA1\u0338', - NotPrecedes: '\u2280', - NotPrecedesEqual: '\u2AAF\u0338', - NotPrecedesSlantEqual: '\u22E0', - NotReverseElement: '\u220C', - NotRightTriangle: '\u22EB', - NotRightTriangleBar: '\u29D0\u0338', - NotRightTriangleEqual: '\u22ED', - NotSquareSubset: '\u228F\u0338', - NotSquareSubsetEqual: '\u22E2', - NotSquareSuperset: '\u2290\u0338', - NotSquareSupersetEqual: '\u22E3', - NotSubset: '\u2282\u20D2', - NotSubsetEqual: '\u2288', - NotSucceeds: '\u2281', - NotSucceedsEqual: '\u2AB0\u0338', - NotSucceedsSlantEqual: '\u22E1', - NotSucceedsTilde: '\u227F\u0338', - NotSuperset: '\u2283\u20D2', - NotSupersetEqual: '\u2289', - NotTilde: '\u2241', - NotTildeEqual: '\u2244', - NotTildeFullEqual: '\u2247', - NotTildeTilde: '\u2249', - NotVerticalBar: '\u2224', - Nscr: '\uD835\uDCA9', - Ntilde: '\u00D1', - Nu: '\u039D', - OElig: '\u0152', - Oacute: '\u00D3', - Ocirc: '\u00D4', - Ocy: '\u041E', - Odblac: '\u0150', - Ofr: '\uD835\uDD12', - Ograve: '\u00D2', - Omacr: '\u014C', - Omega: '\u03A9', - Omicron: '\u039F', - Oopf: '\uD835\uDD46', - OpenCurlyDoubleQuote: '\u201C', - OpenCurlyQuote: '\u2018', - Or: '\u2A54', - Oscr: '\uD835\uDCAA', - Oslash: '\u00D8', - Otilde: '\u00D5', - Otimes: '\u2A37', - Ouml: '\u00D6', - OverBar: '\u203E', - OverBrace: '\u23DE', - OverBracket: '\u23B4', - OverParenthesis: '\u23DC', - PartialD: '\u2202', - Pcy: '\u041F', - Pfr: '\uD835\uDD13', - Phi: '\u03A6', - Pi: '\u03A0', - PlusMinus: '\u00B1', - Poincareplane: '\u210C', - Popf: '\u2119', - Pr: '\u2ABB', - Precedes: '\u227A', - PrecedesEqual: '\u2AAF', - PrecedesSlantEqual: '\u227C', - PrecedesTilde: '\u227E', - Prime: '\u2033', - Product: '\u220F', - Proportion: '\u2237', - Proportional: '\u221D', - Pscr: '\uD835\uDCAB', - Psi: '\u03A8', - QUOT: '\u0022', - Qfr: '\uD835\uDD14', - Qopf: '\u211A', - Qscr: '\uD835\uDCAC', - RBarr: '\u2910', - REG: '\u00AE', - Racute: '\u0154', - Rang: '\u27EB', - Rarr: '\u21A0', - Rarrtl: '\u2916', - Rcaron: '\u0158', - Rcedil: '\u0156', - Rcy: '\u0420', - Re: '\u211C', - ReverseElement: '\u220B', - ReverseEquilibrium: '\u21CB', - ReverseUpEquilibrium: '\u296F', - Rfr: '\u211C', - Rho: '\u03A1', - RightAngleBracket: '\u27E9', - RightArrow: '\u2192', - RightArrowBar: '\u21E5', - RightArrowLeftArrow: '\u21C4', - RightCeiling: '\u2309', - RightDoubleBracket: '\u27E7', - RightDownTeeVector: '\u295D', - RightDownVector: '\u21C2', - RightDownVectorBar: '\u2955', - RightFloor: '\u230B', - RightTee: '\u22A2', - RightTeeArrow: '\u21A6', - RightTeeVector: '\u295B', - RightTriangle: '\u22B3', - RightTriangleBar: '\u29D0', - RightTriangleEqual: '\u22B5', - RightUpDownVector: '\u294F', - RightUpTeeVector: '\u295C', - RightUpVector: '\u21BE', - RightUpVectorBar: '\u2954', - RightVector: '\u21C0', - RightVectorBar: '\u2953', - Rightarrow: '\u21D2', - Ropf: '\u211D', - RoundImplies: '\u2970', - Rrightarrow: '\u21DB', - Rscr: '\u211B', - Rsh: '\u21B1', - RuleDelayed: '\u29F4', - SHCHcy: '\u0429', - SHcy: '\u0428', - SOFTcy: '\u042C', - Sacute: '\u015A', - Sc: '\u2ABC', - Scaron: '\u0160', - Scedil: '\u015E', - Scirc: '\u015C', - Scy: '\u0421', - Sfr: '\uD835\uDD16', - ShortDownArrow: '\u2193', - ShortLeftArrow: '\u2190', - ShortRightArrow: '\u2192', - ShortUpArrow: '\u2191', - Sigma: '\u03A3', - SmallCircle: '\u2218', - Sopf: '\uD835\uDD4A', - Sqrt: '\u221A', - Square: '\u25A1', - SquareIntersection: '\u2293', - SquareSubset: '\u228F', - SquareSubsetEqual: '\u2291', - SquareSuperset: '\u2290', - SquareSupersetEqual: '\u2292', - SquareUnion: '\u2294', - Sscr: '\uD835\uDCAE', - Star: '\u22C6', - Sub: '\u22D0', - Subset: '\u22D0', - SubsetEqual: '\u2286', - Succeeds: '\u227B', - SucceedsEqual: '\u2AB0', - SucceedsSlantEqual: '\u227D', - SucceedsTilde: '\u227F', - SuchThat: '\u220B', - Sum: '\u2211', - Sup: '\u22D1', - Superset: '\u2283', - SupersetEqual: '\u2287', - Supset: '\u22D1', - THORN: '\u00DE', - TRADE: '\u2122', - TSHcy: '\u040B', - TScy: '\u0426', - Tab: '\u0009', - Tau: '\u03A4', - Tcaron: '\u0164', - Tcedil: '\u0162', - Tcy: '\u0422', - Tfr: '\uD835\uDD17', - Therefore: '\u2234', - Theta: '\u0398', - ThickSpace: '\u205F\u200A', - ThinSpace: '\u2009', - Tilde: '\u223C', - TildeEqual: '\u2243', - TildeFullEqual: '\u2245', - TildeTilde: '\u2248', - Topf: '\uD835\uDD4B', - TripleDot: '\u20DB', - Tscr: '\uD835\uDCAF', - Tstrok: '\u0166', - Uacute: '\u00DA', - Uarr: '\u219F', - Uarrocir: '\u2949', - Ubrcy: '\u040E', - Ubreve: '\u016C', - Ucirc: '\u00DB', - Ucy: '\u0423', - Udblac: '\u0170', - Ufr: '\uD835\uDD18', - Ugrave: '\u00D9', - Umacr: '\u016A', - UnderBar: '\u005F', - UnderBrace: '\u23DF', - UnderBracket: '\u23B5', - UnderParenthesis: '\u23DD', - Union: '\u22C3', - UnionPlus: '\u228E', - Uogon: '\u0172', - Uopf: '\uD835\uDD4C', - UpArrow: '\u2191', - UpArrowBar: '\u2912', - UpArrowDownArrow: '\u21C5', - UpDownArrow: '\u2195', - UpEquilibrium: '\u296E', - UpTee: '\u22A5', - UpTeeArrow: '\u21A5', - Uparrow: '\u21D1', - Updownarrow: '\u21D5', - UpperLeftArrow: '\u2196', - UpperRightArrow: '\u2197', - Upsi: '\u03D2', - Upsilon: '\u03A5', - Uring: '\u016E', - Uscr: '\uD835\uDCB0', - Utilde: '\u0168', - Uuml: '\u00DC', - VDash: '\u22AB', - Vbar: '\u2AEB', - Vcy: '\u0412', - Vdash: '\u22A9', - Vdashl: '\u2AE6', - Vee: '\u22C1', - Verbar: '\u2016', - Vert: '\u2016', - VerticalBar: '\u2223', - VerticalLine: '\u007C', - VerticalSeparator: '\u2758', - VerticalTilde: '\u2240', - VeryThinSpace: '\u200A', - Vfr: '\uD835\uDD19', - Vopf: '\uD835\uDD4D', - Vscr: '\uD835\uDCB1', - Vvdash: '\u22AA', - Wcirc: '\u0174', - Wedge: '\u22C0', - Wfr: '\uD835\uDD1A', - Wopf: '\uD835\uDD4E', - Wscr: '\uD835\uDCB2', - Xfr: '\uD835\uDD1B', - Xi: '\u039E', - Xopf: '\uD835\uDD4F', - Xscr: '\uD835\uDCB3', - YAcy: '\u042F', - YIcy: '\u0407', - YUcy: '\u042E', - Yacute: '\u00DD', - Ycirc: '\u0176', - Ycy: '\u042B', - Yfr: '\uD835\uDD1C', - Yopf: '\uD835\uDD50', - Yscr: '\uD835\uDCB4', - Yuml: '\u0178', - ZHcy: '\u0416', - Zacute: '\u0179', - Zcaron: '\u017D', - Zcy: '\u0417', - Zdot: '\u017B', - ZeroWidthSpace: '\u200B', - Zeta: '\u0396', - Zfr: '\u2128', - Zopf: '\u2124', - Zscr: '\uD835\uDCB5', - aacute: '\u00E1', - abreve: '\u0103', - ac: '\u223E', - acE: '\u223E\u0333', - acd: '\u223F', - acirc: '\u00E2', - acute: '\u00B4', - acy: '\u0430', - aelig: '\u00E6', - af: '\u2061', - afr: '\uD835\uDD1E', - agrave: '\u00E0', - alefsym: '\u2135', - aleph: '\u2135', - alpha: '\u03B1', - amacr: '\u0101', - amalg: '\u2A3F', - amp: '\u0026', - and: '\u2227', - andand: '\u2A55', - andd: '\u2A5C', - andslope: '\u2A58', - andv: '\u2A5A', - ang: '\u2220', - ange: '\u29A4', - angle: '\u2220', - angmsd: '\u2221', - angmsdaa: '\u29A8', - angmsdab: '\u29A9', - angmsdac: '\u29AA', - angmsdad: '\u29AB', - angmsdae: '\u29AC', - angmsdaf: '\u29AD', - angmsdag: '\u29AE', - angmsdah: '\u29AF', - angrt: '\u221F', - angrtvb: '\u22BE', - angrtvbd: '\u299D', - angsph: '\u2222', - angst: '\u00C5', - angzarr: '\u237C', - aogon: '\u0105', - aopf: '\uD835\uDD52', - ap: '\u2248', - apE: '\u2A70', - apacir: '\u2A6F', - ape: '\u224A', - apid: '\u224B', - apos: '\u0027', - approx: '\u2248', - approxeq: '\u224A', - aring: '\u00E5', - ascr: '\uD835\uDCB6', - ast: '\u002A', - asymp: '\u2248', - asympeq: '\u224D', - atilde: '\u00E3', - auml: '\u00E4', - awconint: '\u2233', - awint: '\u2A11', - bNot: '\u2AED', - backcong: '\u224C', - backepsilon: '\u03F6', - backprime: '\u2035', - backsim: '\u223D', - backsimeq: '\u22CD', - barvee: '\u22BD', - barwed: '\u2305', - barwedge: '\u2305', - bbrk: '\u23B5', - bbrktbrk: '\u23B6', - bcong: '\u224C', - bcy: '\u0431', - bdquo: '\u201E', - becaus: '\u2235', - because: '\u2235', - bemptyv: '\u29B0', - bepsi: '\u03F6', - bernou: '\u212C', - beta: '\u03B2', - beth: '\u2136', - between: '\u226C', - bfr: '\uD835\uDD1F', - bigcap: '\u22C2', - bigcirc: '\u25EF', - bigcup: '\u22C3', - bigodot: '\u2A00', - bigoplus: '\u2A01', - bigotimes: '\u2A02', - bigsqcup: '\u2A06', - bigstar: '\u2605', - bigtriangledown: '\u25BD', - bigtriangleup: '\u25B3', - biguplus: '\u2A04', - bigvee: '\u22C1', - bigwedge: '\u22C0', - bkarow: '\u290D', - blacklozenge: '\u29EB', - blacksquare: '\u25AA', - blacktriangle: '\u25B4', - blacktriangledown: '\u25BE', - blacktriangleleft: '\u25C2', - blacktriangleright: '\u25B8', - blank: '\u2423', - blk12: '\u2592', - blk14: '\u2591', - blk34: '\u2593', - block: '\u2588', - bne: '\u003D\u20E5', - bnequiv: '\u2261\u20E5', - bnot: '\u2310', - bopf: '\uD835\uDD53', - bot: '\u22A5', - bottom: '\u22A5', - bowtie: '\u22C8', - boxDL: '\u2557', - boxDR: '\u2554', - boxDl: '\u2556', - boxDr: '\u2553', - boxH: '\u2550', - boxHD: '\u2566', - boxHU: '\u2569', - boxHd: '\u2564', - boxHu: '\u2567', - boxUL: '\u255D', - boxUR: '\u255A', - boxUl: '\u255C', - boxUr: '\u2559', - boxV: '\u2551', - boxVH: '\u256C', - boxVL: '\u2563', - boxVR: '\u2560', - boxVh: '\u256B', - boxVl: '\u2562', - boxVr: '\u255F', - boxbox: '\u29C9', - boxdL: '\u2555', - boxdR: '\u2552', - boxdl: '\u2510', - boxdr: '\u250C', - boxh: '\u2500', - boxhD: '\u2565', - boxhU: '\u2568', - boxhd: '\u252C', - boxhu: '\u2534', - boxminus: '\u229F', - boxplus: '\u229E', - boxtimes: '\u22A0', - boxuL: '\u255B', - boxuR: '\u2558', - boxul: '\u2518', - boxur: '\u2514', - boxv: '\u2502', - boxvH: '\u256A', - boxvL: '\u2561', - boxvR: '\u255E', - boxvh: '\u253C', - boxvl: '\u2524', - boxvr: '\u251C', - bprime: '\u2035', - breve: '\u02D8', - brvbar: '\u00A6', - bscr: '\uD835\uDCB7', - bsemi: '\u204F', - bsim: '\u223D', - bsime: '\u22CD', - bsol: '\u005C', - bsolb: '\u29C5', - bsolhsub: '\u27C8', - bull: '\u2022', - bullet: '\u2022', - bump: '\u224E', - bumpE: '\u2AAE', - bumpe: '\u224F', - bumpeq: '\u224F', - cacute: '\u0107', - cap: '\u2229', - capand: '\u2A44', - capbrcup: '\u2A49', - capcap: '\u2A4B', - capcup: '\u2A47', - capdot: '\u2A40', - caps: '\u2229\uFE00', - caret: '\u2041', - caron: '\u02C7', - ccaps: '\u2A4D', - ccaron: '\u010D', - ccedil: '\u00E7', - ccirc: '\u0109', - ccups: '\u2A4C', - ccupssm: '\u2A50', - cdot: '\u010B', - cedil: '\u00B8', - cemptyv: '\u29B2', - cent: '\u00A2', - centerdot: '\u00B7', - cfr: '\uD835\uDD20', - chcy: '\u0447', - check: '\u2713', - checkmark: '\u2713', - chi: '\u03C7', - cir: '\u25CB', - cirE: '\u29C3', - circ: '\u02C6', - circeq: '\u2257', - circlearrowleft: '\u21BA', - circlearrowright: '\u21BB', - circledR: '\u00AE', - circledS: '\u24C8', - circledast: '\u229B', - circledcirc: '\u229A', - circleddash: '\u229D', - cire: '\u2257', - cirfnint: '\u2A10', - cirmid: '\u2AEF', - cirscir: '\u29C2', - clubs: '\u2663', - clubsuit: '\u2663', - colon: '\u003A', - colone: '\u2254', - coloneq: '\u2254', - comma: '\u002C', - commat: '\u0040', - comp: '\u2201', - compfn: '\u2218', - complement: '\u2201', - complexes: '\u2102', - cong: '\u2245', - congdot: '\u2A6D', - conint: '\u222E', - copf: '\uD835\uDD54', - coprod: '\u2210', - copy: '\u00A9', - copysr: '\u2117', - crarr: '\u21B5', - cross: '\u2717', - cscr: '\uD835\uDCB8', - csub: '\u2ACF', - csube: '\u2AD1', - csup: '\u2AD0', - csupe: '\u2AD2', - ctdot: '\u22EF', - cudarrl: '\u2938', - cudarrr: '\u2935', - cuepr: '\u22DE', - cuesc: '\u22DF', - cularr: '\u21B6', - cularrp: '\u293D', - cup: '\u222A', - cupbrcap: '\u2A48', - cupcap: '\u2A46', - cupcup: '\u2A4A', - cupdot: '\u228D', - cupor: '\u2A45', - cups: '\u222A\uFE00', - curarr: '\u21B7', - curarrm: '\u293C', - curlyeqprec: '\u22DE', - curlyeqsucc: '\u22DF', - curlyvee: '\u22CE', - curlywedge: '\u22CF', - curren: '\u00A4', - curvearrowleft: '\u21B6', - curvearrowright: '\u21B7', - cuvee: '\u22CE', - cuwed: '\u22CF', - cwconint: '\u2232', - cwint: '\u2231', - cylcty: '\u232D', - dArr: '\u21D3', - dHar: '\u2965', - dagger: '\u2020', - daleth: '\u2138', - darr: '\u2193', - dash: '\u2010', - dashv: '\u22A3', - dbkarow: '\u290F', - dblac: '\u02DD', - dcaron: '\u010F', - dcy: '\u0434', - dd: '\u2146', - ddagger: '\u2021', - ddarr: '\u21CA', - ddotseq: '\u2A77', - deg: '\u00B0', - delta: '\u03B4', - demptyv: '\u29B1', - dfisht: '\u297F', - dfr: '\uD835\uDD21', - dharl: '\u21C3', - dharr: '\u21C2', - diam: '\u22C4', - diamond: '\u22C4', - diamondsuit: '\u2666', - diams: '\u2666', - die: '\u00A8', - digamma: '\u03DD', - disin: '\u22F2', - div: '\u00F7', - divide: '\u00F7', - divideontimes: '\u22C7', - divonx: '\u22C7', - djcy: '\u0452', - dlcorn: '\u231E', - dlcrop: '\u230D', - dollar: '\u0024', - dopf: '\uD835\uDD55', - dot: '\u02D9', - doteq: '\u2250', - doteqdot: '\u2251', - dotminus: '\u2238', - dotplus: '\u2214', - dotsquare: '\u22A1', - doublebarwedge: '\u2306', - downarrow: '\u2193', - downdownarrows: '\u21CA', - downharpoonleft: '\u21C3', - downharpoonright: '\u21C2', - drbkarow: '\u2910', - drcorn: '\u231F', - drcrop: '\u230C', - dscr: '\uD835\uDCB9', - dscy: '\u0455', - dsol: '\u29F6', - dstrok: '\u0111', - dtdot: '\u22F1', - dtri: '\u25BF', - dtrif: '\u25BE', - duarr: '\u21F5', - duhar: '\u296F', - dwangle: '\u29A6', - dzcy: '\u045F', - dzigrarr: '\u27FF', - eDDot: '\u2A77', - eDot: '\u2251', - eacute: '\u00E9', - easter: '\u2A6E', - ecaron: '\u011B', - ecir: '\u2256', - ecirc: '\u00EA', - ecolon: '\u2255', - ecy: '\u044D', - edot: '\u0117', - ee: '\u2147', - efDot: '\u2252', - efr: '\uD835\uDD22', - eg: '\u2A9A', - egrave: '\u00E8', - egs: '\u2A96', - egsdot: '\u2A98', - el: '\u2A99', - elinters: '\u23E7', - ell: '\u2113', - els: '\u2A95', - elsdot: '\u2A97', - emacr: '\u0113', - empty: '\u2205', - emptyset: '\u2205', - emptyv: '\u2205', - emsp13: '\u2004', - emsp14: '\u2005', - emsp: '\u2003', - eng: '\u014B', - ensp: '\u2002', - eogon: '\u0119', - eopf: '\uD835\uDD56', - epar: '\u22D5', - eparsl: '\u29E3', - eplus: '\u2A71', - epsi: '\u03B5', - epsilon: '\u03B5', - epsiv: '\u03F5', - eqcirc: '\u2256', - eqcolon: '\u2255', - eqsim: '\u2242', - eqslantgtr: '\u2A96', - eqslantless: '\u2A95', - equals: '\u003D', - equest: '\u225F', - equiv: '\u2261', - equivDD: '\u2A78', - eqvparsl: '\u29E5', - erDot: '\u2253', - erarr: '\u2971', - escr: '\u212F', - esdot: '\u2250', - esim: '\u2242', - eta: '\u03B7', - eth: '\u00F0', - euml: '\u00EB', - euro: '\u20AC', - excl: '\u0021', - exist: '\u2203', - expectation: '\u2130', - exponentiale: '\u2147', - fallingdotseq: '\u2252', - fcy: '\u0444', - female: '\u2640', - ffilig: '\uFB03', - fflig: '\uFB00', - ffllig: '\uFB04', - ffr: '\uD835\uDD23', - filig: '\uFB01', - fjlig: '\u0066\u006A', - flat: '\u266D', - fllig: '\uFB02', - fltns: '\u25B1', - fnof: '\u0192', - fopf: '\uD835\uDD57', - forall: '\u2200', - fork: '\u22D4', - forkv: '\u2AD9', - fpartint: '\u2A0D', - frac12: '\u00BD', - frac13: '\u2153', - frac14: '\u00BC', - frac15: '\u2155', - frac16: '\u2159', - frac18: '\u215B', - frac23: '\u2154', - frac25: '\u2156', - frac34: '\u00BE', - frac35: '\u2157', - frac38: '\u215C', - frac45: '\u2158', - frac56: '\u215A', - frac58: '\u215D', - frac78: '\u215E', - frasl: '\u2044', - frown: '\u2322', - fscr: '\uD835\uDCBB', - gE: '\u2267', - gEl: '\u2A8C', - gacute: '\u01F5', - gamma: '\u03B3', - gammad: '\u03DD', - gap: '\u2A86', - gbreve: '\u011F', - gcirc: '\u011D', - gcy: '\u0433', - gdot: '\u0121', - ge: '\u2265', - gel: '\u22DB', - geq: '\u2265', - geqq: '\u2267', - geqslant: '\u2A7E', - ges: '\u2A7E', - gescc: '\u2AA9', - gesdot: '\u2A80', - gesdoto: '\u2A82', - gesdotol: '\u2A84', - gesl: '\u22DB\uFE00', - gesles: '\u2A94', - gfr: '\uD835\uDD24', - gg: '\u226B', - ggg: '\u22D9', - gimel: '\u2137', - gjcy: '\u0453', - gl: '\u2277', - glE: '\u2A92', - gla: '\u2AA5', - glj: '\u2AA4', - gnE: '\u2269', - gnap: '\u2A8A', - gnapprox: '\u2A8A', - gne: '\u2A88', - gneq: '\u2A88', - gneqq: '\u2269', - gnsim: '\u22E7', - gopf: '\uD835\uDD58', - grave: '\u0060', - gscr: '\u210A', - gsim: '\u2273', - gsime: '\u2A8E', - gsiml: '\u2A90', - gt: '\u003E', - gtcc: '\u2AA7', - gtcir: '\u2A7A', - gtdot: '\u22D7', - gtlPar: '\u2995', - gtquest: '\u2A7C', - gtrapprox: '\u2A86', - gtrarr: '\u2978', - gtrdot: '\u22D7', - gtreqless: '\u22DB', - gtreqqless: '\u2A8C', - gtrless: '\u2277', - gtrsim: '\u2273', - gvertneqq: '\u2269\uFE00', - gvnE: '\u2269\uFE00', - hArr: '\u21D4', - hairsp: '\u200A', - half: '\u00BD', - hamilt: '\u210B', - hardcy: '\u044A', - harr: '\u2194', - harrcir: '\u2948', - harrw: '\u21AD', - hbar: '\u210F', - hcirc: '\u0125', - hearts: '\u2665', - heartsuit: '\u2665', - hellip: '\u2026', - hercon: '\u22B9', - hfr: '\uD835\uDD25', - hksearow: '\u2925', - hkswarow: '\u2926', - hoarr: '\u21FF', - homtht: '\u223B', - hookleftarrow: '\u21A9', - hookrightarrow: '\u21AA', - hopf: '\uD835\uDD59', - horbar: '\u2015', - hscr: '\uD835\uDCBD', - hslash: '\u210F', - hstrok: '\u0127', - hybull: '\u2043', - hyphen: '\u2010', - iacute: '\u00ED', - ic: '\u2063', - icirc: '\u00EE', - icy: '\u0438', - iecy: '\u0435', - iexcl: '\u00A1', - iff: '\u21D4', - ifr: '\uD835\uDD26', - igrave: '\u00EC', - ii: '\u2148', - iiiint: '\u2A0C', - iiint: '\u222D', - iinfin: '\u29DC', - iiota: '\u2129', - ijlig: '\u0133', - imacr: '\u012B', - image: '\u2111', - imagline: '\u2110', - imagpart: '\u2111', - imath: '\u0131', - imof: '\u22B7', - imped: '\u01B5', - in: '\u2208', - incare: '\u2105', - infin: '\u221E', - infintie: '\u29DD', - inodot: '\u0131', - int: '\u222B', - intcal: '\u22BA', - integers: '\u2124', - intercal: '\u22BA', - intlarhk: '\u2A17', - intprod: '\u2A3C', - iocy: '\u0451', - iogon: '\u012F', - iopf: '\uD835\uDD5A', - iota: '\u03B9', - iprod: '\u2A3C', - iquest: '\u00BF', - iscr: '\uD835\uDCBE', - isin: '\u2208', - isinE: '\u22F9', - isindot: '\u22F5', - isins: '\u22F4', - isinsv: '\u22F3', - isinv: '\u2208', - it: '\u2062', - itilde: '\u0129', - iukcy: '\u0456', - iuml: '\u00EF', - jcirc: '\u0135', - jcy: '\u0439', - jfr: '\uD835\uDD27', - jmath: '\u0237', - jopf: '\uD835\uDD5B', - jscr: '\uD835\uDCBF', - jsercy: '\u0458', - jukcy: '\u0454', - kappa: '\u03BA', - kappav: '\u03F0', - kcedil: '\u0137', - kcy: '\u043A', - kfr: '\uD835\uDD28', - kgreen: '\u0138', - khcy: '\u0445', - kjcy: '\u045C', - kopf: '\uD835\uDD5C', - kscr: '\uD835\uDCC0', - lAarr: '\u21DA', - lArr: '\u21D0', - lAtail: '\u291B', - lBarr: '\u290E', - lE: '\u2266', - lEg: '\u2A8B', - lHar: '\u2962', - lacute: '\u013A', - laemptyv: '\u29B4', - lagran: '\u2112', - lambda: '\u03BB', - lang: '\u27E8', - langd: '\u2991', - langle: '\u27E8', - lap: '\u2A85', - laquo: '\u00AB', - larr: '\u2190', - larrb: '\u21E4', - larrbfs: '\u291F', - larrfs: '\u291D', - larrhk: '\u21A9', - larrlp: '\u21AB', - larrpl: '\u2939', - larrsim: '\u2973', - larrtl: '\u21A2', - lat: '\u2AAB', - latail: '\u2919', - late: '\u2AAD', - lates: '\u2AAD\uFE00', - lbarr: '\u290C', - lbbrk: '\u2772', - lbrace: '\u007B', - lbrack: '\u005B', - lbrke: '\u298B', - lbrksld: '\u298F', - lbrkslu: '\u298D', - lcaron: '\u013E', - lcedil: '\u013C', - lceil: '\u2308', - lcub: '\u007B', - lcy: '\u043B', - ldca: '\u2936', - ldquo: '\u201C', - ldquor: '\u201E', - ldrdhar: '\u2967', - ldrushar: '\u294B', - ldsh: '\u21B2', - le: '\u2264', - leftarrow: '\u2190', - leftarrowtail: '\u21A2', - leftharpoondown: '\u21BD', - leftharpoonup: '\u21BC', - leftleftarrows: '\u21C7', - leftrightarrow: '\u2194', - leftrightarrows: '\u21C6', - leftrightharpoons: '\u21CB', - leftrightsquigarrow: '\u21AD', - leftthreetimes: '\u22CB', - leg: '\u22DA', - leq: '\u2264', - leqq: '\u2266', - leqslant: '\u2A7D', - les: '\u2A7D', - lescc: '\u2AA8', - lesdot: '\u2A7F', - lesdoto: '\u2A81', - lesdotor: '\u2A83', - lesg: '\u22DA\uFE00', - lesges: '\u2A93', - lessapprox: '\u2A85', - lessdot: '\u22D6', - lesseqgtr: '\u22DA', - lesseqqgtr: '\u2A8B', - lessgtr: '\u2276', - lesssim: '\u2272', - lfisht: '\u297C', - lfloor: '\u230A', - lfr: '\uD835\uDD29', - lg: '\u2276', - lgE: '\u2A91', - lhard: '\u21BD', - lharu: '\u21BC', - lharul: '\u296A', - lhblk: '\u2584', - ljcy: '\u0459', - ll: '\u226A', - llarr: '\u21C7', - llcorner: '\u231E', - llhard: '\u296B', - lltri: '\u25FA', - lmidot: '\u0140', - lmoust: '\u23B0', - lmoustache: '\u23B0', - lnE: '\u2268', - lnap: '\u2A89', - lnapprox: '\u2A89', - lne: '\u2A87', - lneq: '\u2A87', - lneqq: '\u2268', - lnsim: '\u22E6', - loang: '\u27EC', - loarr: '\u21FD', - lobrk: '\u27E6', - longleftarrow: '\u27F5', - longleftrightarrow: '\u27F7', - longmapsto: '\u27FC', - longrightarrow: '\u27F6', - looparrowleft: '\u21AB', - looparrowright: '\u21AC', - lopar: '\u2985', - lopf: '\uD835\uDD5D', - loplus: '\u2A2D', - lotimes: '\u2A34', - lowast: '\u2217', - lowbar: '\u005F', - loz: '\u25CA', - lozenge: '\u25CA', - lozf: '\u29EB', - lpar: '\u0028', - lparlt: '\u2993', - lrarr: '\u21C6', - lrcorner: '\u231F', - lrhar: '\u21CB', - lrhard: '\u296D', - lrm: '\u200E', - lrtri: '\u22BF', - lsaquo: '\u2039', - lscr: '\uD835\uDCC1', - lsh: '\u21B0', - lsim: '\u2272', - lsime: '\u2A8D', - lsimg: '\u2A8F', - lsqb: '\u005B', - lsquo: '\u2018', - lsquor: '\u201A', - lstrok: '\u0142', - lt: '\u003C', - ltcc: '\u2AA6', - ltcir: '\u2A79', - ltdot: '\u22D6', - lthree: '\u22CB', - ltimes: '\u22C9', - ltlarr: '\u2976', - ltquest: '\u2A7B', - ltrPar: '\u2996', - ltri: '\u25C3', - ltrie: '\u22B4', - ltrif: '\u25C2', - lurdshar: '\u294A', - luruhar: '\u2966', - lvertneqq: '\u2268\uFE00', - lvnE: '\u2268\uFE00', - mDDot: '\u223A', - macr: '\u00AF', - male: '\u2642', - malt: '\u2720', - maltese: '\u2720', - map: '\u21A6', - mapsto: '\u21A6', - mapstodown: '\u21A7', - mapstoleft: '\u21A4', - mapstoup: '\u21A5', - marker: '\u25AE', - mcomma: '\u2A29', - mcy: '\u043C', - mdash: '\u2014', - measuredangle: '\u2221', - mfr: '\uD835\uDD2A', - mho: '\u2127', - micro: '\u00B5', - mid: '\u2223', - midast: '\u002A', - midcir: '\u2AF0', - middot: '\u00B7', - minus: '\u2212', - minusb: '\u229F', - minusd: '\u2238', - minusdu: '\u2A2A', - mlcp: '\u2ADB', - mldr: '\u2026', - mnplus: '\u2213', - models: '\u22A7', - mopf: '\uD835\uDD5E', - mp: '\u2213', - mscr: '\uD835\uDCC2', - mstpos: '\u223E', - mu: '\u03BC', - multimap: '\u22B8', - mumap: '\u22B8', - nGg: '\u22D9\u0338', - nGt: '\u226B\u20D2', - nGtv: '\u226B\u0338', - nLeftarrow: '\u21CD', - nLeftrightarrow: '\u21CE', - nLl: '\u22D8\u0338', - nLt: '\u226A\u20D2', - nLtv: '\u226A\u0338', - nRightarrow: '\u21CF', - nVDash: '\u22AF', - nVdash: '\u22AE', - nabla: '\u2207', - nacute: '\u0144', - nang: '\u2220\u20D2', - nap: '\u2249', - napE: '\u2A70\u0338', - napid: '\u224B\u0338', - napos: '\u0149', - napprox: '\u2249', - natur: '\u266E', - natural: '\u266E', - naturals: '\u2115', - nbsp: '\u00A0', - nbump: '\u224E\u0338', - nbumpe: '\u224F\u0338', - ncap: '\u2A43', - ncaron: '\u0148', - ncedil: '\u0146', - ncong: '\u2247', - ncongdot: '\u2A6D\u0338', - ncup: '\u2A42', - ncy: '\u043D', - ndash: '\u2013', - ne: '\u2260', - neArr: '\u21D7', - nearhk: '\u2924', - nearr: '\u2197', - nearrow: '\u2197', - nedot: '\u2250\u0338', - nequiv: '\u2262', - nesear: '\u2928', - nesim: '\u2242\u0338', - nexist: '\u2204', - nexists: '\u2204', - nfr: '\uD835\uDD2B', - ngE: '\u2267\u0338', - nge: '\u2271', - ngeq: '\u2271', - ngeqq: '\u2267\u0338', - ngeqslant: '\u2A7E\u0338', - nges: '\u2A7E\u0338', - ngsim: '\u2275', - ngt: '\u226F', - ngtr: '\u226F', - nhArr: '\u21CE', - nharr: '\u21AE', - nhpar: '\u2AF2', - ni: '\u220B', - nis: '\u22FC', - nisd: '\u22FA', - niv: '\u220B', - njcy: '\u045A', - nlArr: '\u21CD', - nlE: '\u2266\u0338', - nlarr: '\u219A', - nldr: '\u2025', - nle: '\u2270', - nleftarrow: '\u219A', - nleftrightarrow: '\u21AE', - nleq: '\u2270', - nleqq: '\u2266\u0338', - nleqslant: '\u2A7D\u0338', - nles: '\u2A7D\u0338', - nless: '\u226E', - nlsim: '\u2274', - nlt: '\u226E', - nltri: '\u22EA', - nltrie: '\u22EC', - nmid: '\u2224', - nopf: '\uD835\uDD5F', - not: '\u00AC', - notin: '\u2209', - notinE: '\u22F9\u0338', - notindot: '\u22F5\u0338', - notinva: '\u2209', - notinvb: '\u22F7', - notinvc: '\u22F6', - notni: '\u220C', - notniva: '\u220C', - notnivb: '\u22FE', - notnivc: '\u22FD', - npar: '\u2226', - nparallel: '\u2226', - nparsl: '\u2AFD\u20E5', - npart: '\u2202\u0338', - npolint: '\u2A14', - npr: '\u2280', - nprcue: '\u22E0', - npre: '\u2AAF\u0338', - nprec: '\u2280', - npreceq: '\u2AAF\u0338', - nrArr: '\u21CF', - nrarr: '\u219B', - nrarrc: '\u2933\u0338', - nrarrw: '\u219D\u0338', - nrightarrow: '\u219B', - nrtri: '\u22EB', - nrtrie: '\u22ED', - nsc: '\u2281', - nsccue: '\u22E1', - nsce: '\u2AB0\u0338', - nscr: '\uD835\uDCC3', - nshortmid: '\u2224', - nshortparallel: '\u2226', - nsim: '\u2241', - nsime: '\u2244', - nsimeq: '\u2244', - nsmid: '\u2224', - nspar: '\u2226', - nsqsube: '\u22E2', - nsqsupe: '\u22E3', - nsub: '\u2284', - nsubE: '\u2AC5\u0338', - nsube: '\u2288', - nsubset: '\u2282\u20D2', - nsubseteq: '\u2288', - nsubseteqq: '\u2AC5\u0338', - nsucc: '\u2281', - nsucceq: '\u2AB0\u0338', - nsup: '\u2285', - nsupE: '\u2AC6\u0338', - nsupe: '\u2289', - nsupset: '\u2283\u20D2', - nsupseteq: '\u2289', - nsupseteqq: '\u2AC6\u0338', - ntgl: '\u2279', - ntilde: '\u00F1', - ntlg: '\u2278', - ntriangleleft: '\u22EA', - ntrianglelefteq: '\u22EC', - ntriangleright: '\u22EB', - ntrianglerighteq: '\u22ED', - nu: '\u03BD', - num: '\u0023', - numero: '\u2116', - numsp: '\u2007', - nvDash: '\u22AD', - nvHarr: '\u2904', - nvap: '\u224D\u20D2', - nvdash: '\u22AC', - nvge: '\u2265\u20D2', - nvgt: '\u003E\u20D2', - nvinfin: '\u29DE', - nvlArr: '\u2902', - nvle: '\u2264\u20D2', - nvlt: '\u003C\u20D2', - nvltrie: '\u22B4\u20D2', - nvrArr: '\u2903', - nvrtrie: '\u22B5\u20D2', - nvsim: '\u223C\u20D2', - nwArr: '\u21D6', - nwarhk: '\u2923', - nwarr: '\u2196', - nwarrow: '\u2196', - nwnear: '\u2927', - oS: '\u24C8', - oacute: '\u00F3', - oast: '\u229B', - ocir: '\u229A', - ocirc: '\u00F4', - ocy: '\u043E', - odash: '\u229D', - odblac: '\u0151', - odiv: '\u2A38', - odot: '\u2299', - odsold: '\u29BC', - oelig: '\u0153', - ofcir: '\u29BF', - ofr: '\uD835\uDD2C', - ogon: '\u02DB', - ograve: '\u00F2', - ogt: '\u29C1', - ohbar: '\u29B5', - ohm: '\u03A9', - oint: '\u222E', - olarr: '\u21BA', - olcir: '\u29BE', - olcross: '\u29BB', - oline: '\u203E', - olt: '\u29C0', - omacr: '\u014D', - omega: '\u03C9', - omicron: '\u03BF', - omid: '\u29B6', - ominus: '\u2296', - oopf: '\uD835\uDD60', - opar: '\u29B7', - operp: '\u29B9', - oplus: '\u2295', - or: '\u2228', - orarr: '\u21BB', - ord: '\u2A5D', - order: '\u2134', - orderof: '\u2134', - ordf: '\u00AA', - ordm: '\u00BA', - origof: '\u22B6', - oror: '\u2A56', - orslope: '\u2A57', - orv: '\u2A5B', - oscr: '\u2134', - oslash: '\u00F8', - osol: '\u2298', - otilde: '\u00F5', - otimes: '\u2297', - otimesas: '\u2A36', - ouml: '\u00F6', - ovbar: '\u233D', - par: '\u2225', - para: '\u00B6', - parallel: '\u2225', - parsim: '\u2AF3', - parsl: '\u2AFD', - part: '\u2202', - pcy: '\u043F', - percnt: '\u0025', - period: '\u002E', - permil: '\u2030', - perp: '\u22A5', - pertenk: '\u2031', - pfr: '\uD835\uDD2D', - phi: '\u03C6', - phiv: '\u03D5', - phmmat: '\u2133', - phone: '\u260E', - pi: '\u03C0', - pitchfork: '\u22D4', - piv: '\u03D6', - planck: '\u210F', - planckh: '\u210E', - plankv: '\u210F', - plus: '\u002B', - plusacir: '\u2A23', - plusb: '\u229E', - pluscir: '\u2A22', - plusdo: '\u2214', - plusdu: '\u2A25', - pluse: '\u2A72', - plusmn: '\u00B1', - plussim: '\u2A26', - plustwo: '\u2A27', - pm: '\u00B1', - pointint: '\u2A15', - popf: '\uD835\uDD61', - pound: '\u00A3', - pr: '\u227A', - prE: '\u2AB3', - prap: '\u2AB7', - prcue: '\u227C', - pre: '\u2AAF', - prec: '\u227A', - precapprox: '\u2AB7', - preccurlyeq: '\u227C', - preceq: '\u2AAF', - precnapprox: '\u2AB9', - precneqq: '\u2AB5', - precnsim: '\u22E8', - precsim: '\u227E', - prime: '\u2032', - primes: '\u2119', - prnE: '\u2AB5', - prnap: '\u2AB9', - prnsim: '\u22E8', - prod: '\u220F', - profalar: '\u232E', - profline: '\u2312', - profsurf: '\u2313', - prop: '\u221D', - propto: '\u221D', - prsim: '\u227E', - prurel: '\u22B0', - pscr: '\uD835\uDCC5', - psi: '\u03C8', - puncsp: '\u2008', - qfr: '\uD835\uDD2E', - qint: '\u2A0C', - qopf: '\uD835\uDD62', - qprime: '\u2057', - qscr: '\uD835\uDCC6', - quaternions: '\u210D', - quatint: '\u2A16', - quest: '\u003F', - questeq: '\u225F', - quot: '\u0022', - rAarr: '\u21DB', - rArr: '\u21D2', - rAtail: '\u291C', - rBarr: '\u290F', - rHar: '\u2964', - race: '\u223D\u0331', - racute: '\u0155', - radic: '\u221A', - raemptyv: '\u29B3', - rang: '\u27E9', - rangd: '\u2992', - range: '\u29A5', - rangle: '\u27E9', - raquo: '\u00BB', - rarr: '\u2192', - rarrap: '\u2975', - rarrb: '\u21E5', - rarrbfs: '\u2920', - rarrc: '\u2933', - rarrfs: '\u291E', - rarrhk: '\u21AA', - rarrlp: '\u21AC', - rarrpl: '\u2945', - rarrsim: '\u2974', - rarrtl: '\u21A3', - rarrw: '\u219D', - ratail: '\u291A', - ratio: '\u2236', - rationals: '\u211A', - rbarr: '\u290D', - rbbrk: '\u2773', - rbrace: '\u007D', - rbrack: '\u005D', - rbrke: '\u298C', - rbrksld: '\u298E', - rbrkslu: '\u2990', - rcaron: '\u0159', - rcedil: '\u0157', - rceil: '\u2309', - rcub: '\u007D', - rcy: '\u0440', - rdca: '\u2937', - rdldhar: '\u2969', - rdquo: '\u201D', - rdquor: '\u201D', - rdsh: '\u21B3', - real: '\u211C', - realine: '\u211B', - realpart: '\u211C', - reals: '\u211D', - rect: '\u25AD', - reg: '\u00AE', - rfisht: '\u297D', - rfloor: '\u230B', - rfr: '\uD835\uDD2F', - rhard: '\u21C1', - rharu: '\u21C0', - rharul: '\u296C', - rho: '\u03C1', - rhov: '\u03F1', - rightarrow: '\u2192', - rightarrowtail: '\u21A3', - rightharpoondown: '\u21C1', - rightharpoonup: '\u21C0', - rightleftarrows: '\u21C4', - rightleftharpoons: '\u21CC', - rightrightarrows: '\u21C9', - rightsquigarrow: '\u219D', - rightthreetimes: '\u22CC', - ring: '\u02DA', - risingdotseq: '\u2253', - rlarr: '\u21C4', - rlhar: '\u21CC', - rlm: '\u200F', - rmoust: '\u23B1', - rmoustache: '\u23B1', - rnmid: '\u2AEE', - roang: '\u27ED', - roarr: '\u21FE', - robrk: '\u27E7', - ropar: '\u2986', - ropf: '\uD835\uDD63', - roplus: '\u2A2E', - rotimes: '\u2A35', - rpar: '\u0029', - rpargt: '\u2994', - rppolint: '\u2A12', - rrarr: '\u21C9', - rsaquo: '\u203A', - rscr: '\uD835\uDCC7', - rsh: '\u21B1', - rsqb: '\u005D', - rsquo: '\u2019', - rsquor: '\u2019', - rthree: '\u22CC', - rtimes: '\u22CA', - rtri: '\u25B9', - rtrie: '\u22B5', - rtrif: '\u25B8', - rtriltri: '\u29CE', - ruluhar: '\u2968', - rx: '\u211E', - sacute: '\u015B', - sbquo: '\u201A', - sc: '\u227B', - scE: '\u2AB4', - scap: '\u2AB8', - scaron: '\u0161', - sccue: '\u227D', - sce: '\u2AB0', - scedil: '\u015F', - scirc: '\u015D', - scnE: '\u2AB6', - scnap: '\u2ABA', - scnsim: '\u22E9', - scpolint: '\u2A13', - scsim: '\u227F', - scy: '\u0441', - sdot: '\u22C5', - sdotb: '\u22A1', - sdote: '\u2A66', - seArr: '\u21D8', - searhk: '\u2925', - searr: '\u2198', - searrow: '\u2198', - sect: '\u00A7', - semi: '\u003B', - seswar: '\u2929', - setminus: '\u2216', - setmn: '\u2216', - sext: '\u2736', - sfr: '\uD835\uDD30', - sfrown: '\u2322', - sharp: '\u266F', - shchcy: '\u0449', - shcy: '\u0448', - shortmid: '\u2223', - shortparallel: '\u2225', - shy: '\u00AD', - sigma: '\u03C3', - sigmaf: '\u03C2', - sigmav: '\u03C2', - sim: '\u223C', - simdot: '\u2A6A', - sime: '\u2243', - simeq: '\u2243', - simg: '\u2A9E', - simgE: '\u2AA0', - siml: '\u2A9D', - simlE: '\u2A9F', - simne: '\u2246', - simplus: '\u2A24', - simrarr: '\u2972', - slarr: '\u2190', - smallsetminus: '\u2216', - smashp: '\u2A33', - smeparsl: '\u29E4', - smid: '\u2223', - smile: '\u2323', - smt: '\u2AAA', - smte: '\u2AAC', - smtes: '\u2AAC\uFE00', - softcy: '\u044C', - sol: '\u002F', - solb: '\u29C4', - solbar: '\u233F', - sopf: '\uD835\uDD64', - spades: '\u2660', - spadesuit: '\u2660', - spar: '\u2225', - sqcap: '\u2293', - sqcaps: '\u2293\uFE00', - sqcup: '\u2294', - sqcups: '\u2294\uFE00', - sqsub: '\u228F', - sqsube: '\u2291', - sqsubset: '\u228F', - sqsubseteq: '\u2291', - sqsup: '\u2290', - sqsupe: '\u2292', - sqsupset: '\u2290', - sqsupseteq: '\u2292', - squ: '\u25A1', - square: '\u25A1', - squarf: '\u25AA', - squf: '\u25AA', - srarr: '\u2192', - sscr: '\uD835\uDCC8', - ssetmn: '\u2216', - ssmile: '\u2323', - sstarf: '\u22C6', - star: '\u2606', - starf: '\u2605', - straightepsilon: '\u03F5', - straightphi: '\u03D5', - strns: '\u00AF', - sub: '\u2282', - subE: '\u2AC5', - subdot: '\u2ABD', - sube: '\u2286', - subedot: '\u2AC3', - submult: '\u2AC1', - subnE: '\u2ACB', - subne: '\u228A', - subplus: '\u2ABF', - subrarr: '\u2979', - subset: '\u2282', - subseteq: '\u2286', - subseteqq: '\u2AC5', - subsetneq: '\u228A', - subsetneqq: '\u2ACB', - subsim: '\u2AC7', - subsub: '\u2AD5', - subsup: '\u2AD3', - succ: '\u227B', - succapprox: '\u2AB8', - succcurlyeq: '\u227D', - succeq: '\u2AB0', - succnapprox: '\u2ABA', - succneqq: '\u2AB6', - succnsim: '\u22E9', - succsim: '\u227F', - sum: '\u2211', - sung: '\u266A', - sup1: '\u00B9', - sup2: '\u00B2', - sup3: '\u00B3', - sup: '\u2283', - supE: '\u2AC6', - supdot: '\u2ABE', - supdsub: '\u2AD8', - supe: '\u2287', - supedot: '\u2AC4', - suphsol: '\u27C9', - suphsub: '\u2AD7', - suplarr: '\u297B', - supmult: '\u2AC2', - supnE: '\u2ACC', - supne: '\u228B', - supplus: '\u2AC0', - supset: '\u2283', - supseteq: '\u2287', - supseteqq: '\u2AC6', - supsetneq: '\u228B', - supsetneqq: '\u2ACC', - supsim: '\u2AC8', - supsub: '\u2AD4', - supsup: '\u2AD6', - swArr: '\u21D9', - swarhk: '\u2926', - swarr: '\u2199', - swarrow: '\u2199', - swnwar: '\u292A', - szlig: '\u00DF', - target: '\u2316', - tau: '\u03C4', - tbrk: '\u23B4', - tcaron: '\u0165', - tcedil: '\u0163', - tcy: '\u0442', - tdot: '\u20DB', - telrec: '\u2315', - tfr: '\uD835\uDD31', - there4: '\u2234', - therefore: '\u2234', - theta: '\u03B8', - thetasym: '\u03D1', - thetav: '\u03D1', - thickapprox: '\u2248', - thicksim: '\u223C', - thinsp: '\u2009', - thkap: '\u2248', - thksim: '\u223C', - thorn: '\u00FE', - tilde: '\u02DC', - times: '\u00D7', - timesb: '\u22A0', - timesbar: '\u2A31', - timesd: '\u2A30', - tint: '\u222D', - toea: '\u2928', - top: '\u22A4', - topbot: '\u2336', - topcir: '\u2AF1', - topf: '\uD835\uDD65', - topfork: '\u2ADA', - tosa: '\u2929', - tprime: '\u2034', - trade: '\u2122', - triangle: '\u25B5', - triangledown: '\u25BF', - triangleleft: '\u25C3', - trianglelefteq: '\u22B4', - triangleq: '\u225C', - triangleright: '\u25B9', - trianglerighteq: '\u22B5', - tridot: '\u25EC', - trie: '\u225C', - triminus: '\u2A3A', - triplus: '\u2A39', - trisb: '\u29CD', - tritime: '\u2A3B', - trpezium: '\u23E2', - tscr: '\uD835\uDCC9', - tscy: '\u0446', - tshcy: '\u045B', - tstrok: '\u0167', - twixt: '\u226C', - twoheadleftarrow: '\u219E', - twoheadrightarrow: '\u21A0', - uArr: '\u21D1', - uHar: '\u2963', - uacute: '\u00FA', - uarr: '\u2191', - ubrcy: '\u045E', - ubreve: '\u016D', - ucirc: '\u00FB', - ucy: '\u0443', - udarr: '\u21C5', - udblac: '\u0171', - udhar: '\u296E', - ufisht: '\u297E', - ufr: '\uD835\uDD32', - ugrave: '\u00F9', - uharl: '\u21BF', - uharr: '\u21BE', - uhblk: '\u2580', - ulcorn: '\u231C', - ulcorner: '\u231C', - ulcrop: '\u230F', - ultri: '\u25F8', - umacr: '\u016B', - uml: '\u00A8', - uogon: '\u0173', - uopf: '\uD835\uDD66', - uparrow: '\u2191', - updownarrow: '\u2195', - upharpoonleft: '\u21BF', - upharpoonright: '\u21BE', - uplus: '\u228E', - upsi: '\u03C5', - upsih: '\u03D2', - upsilon: '\u03C5', - upuparrows: '\u21C8', - urcorn: '\u231D', - urcorner: '\u231D', - urcrop: '\u230E', - uring: '\u016F', - urtri: '\u25F9', - uscr: '\uD835\uDCCA', - utdot: '\u22F0', - utilde: '\u0169', - utri: '\u25B5', - utrif: '\u25B4', - uuarr: '\u21C8', - uuml: '\u00FC', - uwangle: '\u29A7', - vArr: '\u21D5', - vBar: '\u2AE8', - vBarv: '\u2AE9', - vDash: '\u22A8', - vangrt: '\u299C', - varepsilon: '\u03F5', - varkappa: '\u03F0', - varnothing: '\u2205', - varphi: '\u03D5', - varpi: '\u03D6', - varpropto: '\u221D', - varr: '\u2195', - varrho: '\u03F1', - varsigma: '\u03C2', - varsubsetneq: '\u228A\uFE00', - varsubsetneqq: '\u2ACB\uFE00', - varsupsetneq: '\u228B\uFE00', - varsupsetneqq: '\u2ACC\uFE00', - vartheta: '\u03D1', - vartriangleleft: '\u22B2', - vartriangleright: '\u22B3', - vcy: '\u0432', - vdash: '\u22A2', - vee: '\u2228', - veebar: '\u22BB', - veeeq: '\u225A', - vellip: '\u22EE', - verbar: '\u007C', - vert: '\u007C', - vfr: '\uD835\uDD33', - vltri: '\u22B2', - vnsub: '\u2282\u20D2', - vnsup: '\u2283\u20D2', - vopf: '\uD835\uDD67', - vprop: '\u221D', - vrtri: '\u22B3', - vscr: '\uD835\uDCCB', - vsubnE: '\u2ACB\uFE00', - vsubne: '\u228A\uFE00', - vsupnE: '\u2ACC\uFE00', - vsupne: '\u228B\uFE00', - vzigzag: '\u299A', - wcirc: '\u0175', - wedbar: '\u2A5F', - wedge: '\u2227', - wedgeq: '\u2259', - weierp: '\u2118', - wfr: '\uD835\uDD34', - wopf: '\uD835\uDD68', - wp: '\u2118', - wr: '\u2240', - wreath: '\u2240', - wscr: '\uD835\uDCCC', - xcap: '\u22C2', - xcirc: '\u25EF', - xcup: '\u22C3', - xdtri: '\u25BD', - xfr: '\uD835\uDD35', - xhArr: '\u27FA', - xharr: '\u27F7', - xi: '\u03BE', - xlArr: '\u27F8', - xlarr: '\u27F5', - xmap: '\u27FC', - xnis: '\u22FB', - xodot: '\u2A00', - xopf: '\uD835\uDD69', - xoplus: '\u2A01', - xotime: '\u2A02', - xrArr: '\u27F9', - xrarr: '\u27F6', - xscr: '\uD835\uDCCD', - xsqcup: '\u2A06', - xuplus: '\u2A04', - xutri: '\u25B3', - xvee: '\u22C1', - xwedge: '\u22C0', - yacute: '\u00FD', - yacy: '\u044F', - ycirc: '\u0177', - ycy: '\u044B', - yen: '\u00A5', - yfr: '\uD835\uDD36', - yicy: '\u0457', - yopf: '\uD835\uDD6A', - yscr: '\uD835\uDCCE', - yucy: '\u044E', - yuml: '\u00FF', - zacute: '\u017A', - zcaron: '\u017E', - zcy: '\u0437', - zdot: '\u017C', - zeetrf: '\u2128', - zeta: '\u03B6', - zfr: '\uD835\uDD37', - zhcy: '\u0436', - zigrarr: '\u21DD', - zopf: '\uD835\uDD6B', - zscr: '\uD835\uDCCF', - zwj: '\u200D', - zwnj: '\u200C' - }; - const decodeMap = { - 0: 65533, - 128: 8364, - 130: 8218, - 131: 402, - 132: 8222, - 133: 8230, - 134: 8224, - 135: 8225, - 136: 710, - 137: 8240, - 138: 352, - 139: 8249, - 140: 338, - 142: 381, - 145: 8216, - 146: 8217, - 147: 8220, - 148: 8221, - 149: 8226, - 150: 8211, - 151: 8212, - 152: 732, - 153: 8482, - 154: 353, - 155: 8250, - 156: 339, - 158: 382, - 159: 376 - }; - function decodeHTMLStrict(text) { - return text.replace( - /&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g, - key => { - if (key.charAt(1) === '#') { - const secondChar = key.charAt(2); - const codePoint = - secondChar === 'X' || secondChar === 'x' - ? parseInt(key.slice(3), 16) - : parseInt(key.slice(2), 10); - return decodeCodePoint(codePoint); - } - return entities[key.slice(1, -1)] || key; - } - ); - } - function decodeCodePoint(codePoint) { - if ( - (codePoint >= 0xd800 && codePoint <= 0xdfff) || - codePoint > 0x10ffff - ) { - return '\uFFFD'; - } - if (codePoint in decodeMap) { - codePoint = decodeMap[codePoint]; - } - return String.fromCodePoint(codePoint); - } - - function scanJSXAttributeValue(parser, context) { - parser.startPos = parser.tokenPos = parser.index; - parser.startColumn = parser.colPos = parser.column; - parser.startLine = parser.linePos = parser.line; - parser.token = - CharTypes[parser.currentChar] & 8192 - ? scanJSXString(parser, context) - : scanSingleToken(parser, context, 0); - return parser.token; - } - function scanJSXString(parser, context) { - const quote = parser.currentChar; - let char = advanceChar(parser); - const start = parser.index; - while (char !== quote) { - if (parser.index >= parser.end) report(parser, 14); - char = advanceChar(parser); - } - if (char !== quote) report(parser, 14); - parser.tokenValue = parser.source.slice(start, parser.index); - advanceChar(parser); - if (context & 512) - parser.tokenRaw = parser.source.slice( - parser.tokenPos, - parser.index - ); - return 134283267; - } - function scanJSXToken(parser, context) { - parser.startPos = parser.tokenPos = parser.index; - parser.startColumn = parser.colPos = parser.column; - parser.startLine = parser.linePos = parser.line; - if (parser.index >= parser.end) return (parser.token = 1048576); - const token = - TokenLookup[parser.source.charCodeAt(parser.index)]; - switch (token) { - case 8456258: { - advanceChar(parser); - if (parser.currentChar === 47) { - advanceChar(parser); - parser.token = 25; - } else { - parser.token = 8456258; - } - break; - } - case 2162700: { - advanceChar(parser); - parser.token = 2162700; - break; - } - default: { - let state = 0; - while (parser.index < parser.end) { - const type = - CharTypes[ - parser.source.charCodeAt(parser.index) - ]; - if (type & 1024) { - state |= 1 | 4; - scanNewLine(parser); - } else if (type & 2048) { - consumeLineFeed(parser, state); - state = (state & ~4) | 1; - } else { - advanceChar(parser); - } - if (CharTypes[parser.currentChar] & 16384) break; - } - const raw = parser.source.slice( - parser.tokenPos, - parser.index - ); - if (context & 512) parser.tokenRaw = raw; - parser.tokenValue = decodeHTMLStrict(raw); - parser.token = 138; - } - } - return parser.token; - } - function scanJSXIdentifier(parser) { - if ((parser.token & 143360) === 143360) { - const { index } = parser; - let char = parser.currentChar; - while (CharTypes[char] & (32768 | 2)) { - char = advanceChar(parser); - } - parser.tokenValue += parser.source.slice( - index, - parser.index - ); - } - parser.token = 208897; - return parser.token; - } - - function matchOrInsertSemicolon(parser, context) { - if ( - (parser.flags & 1) === 0 && - (parser.token & 1048576) !== 1048576 - ) { - report(parser, 28, KeywordDescTable[parser.token & 255]); - } - if (!consumeOpt(parser, context, 1074790417)) { - parser.onInsertedSemicolon?.(parser.startPos); - } - } - function isValidStrictMode(parser, index, tokenPos, tokenValue) { - if (index - tokenPos < 13 && tokenValue === 'use strict') { - if ( - (parser.token & 1048576) === 1048576 || - parser.flags & 1 - ) { - return 1; - } - } - return 0; - } - function optionalBit(parser, context, t) { - if (parser.token !== t) return 0; - nextToken(parser, context); - return 1; - } - function consumeOpt(parser, context, t) { - if (parser.token !== t) return false; - nextToken(parser, context); - return true; - } - function consume(parser, context, t) { - if (parser.token !== t) - report(parser, 23, KeywordDescTable[t & 255]); - nextToken(parser, context); - } - function reinterpretToPattern(state, node) { - switch (node.type) { - case 'ArrayExpression': - node.type = 'ArrayPattern'; - const elements = node.elements; - for (let i = 0, n = elements.length; i < n; ++i) { - const element = elements[i]; - if (element) reinterpretToPattern(state, element); - } - return; - case 'ObjectExpression': - node.type = 'ObjectPattern'; - const properties = node.properties; - for (let i = 0, n = properties.length; i < n; ++i) { - reinterpretToPattern(state, properties[i]); - } - return; - case 'AssignmentExpression': - node.type = 'AssignmentPattern'; - if (node.operator !== '=') report(state, 69); - delete node.operator; - reinterpretToPattern(state, node.left); - return; - case 'Property': - reinterpretToPattern(state, node.value); - return; - case 'SpreadElement': - node.type = 'RestElement'; - reinterpretToPattern(state, node.argument); - } - } - function validateBindingIdentifier( - parser, - context, - kind, - t, - skipEvalArgCheck - ) { - if (context & 1024) { - if ((t & 36864) === 36864) { - report(parser, 115); - } - if (!skipEvalArgCheck && (t & 537079808) === 537079808) { - report(parser, 116); - } - } - if ((t & 20480) === 20480) { - report(parser, 100); - } - if (kind & (8 | 16) && t === 241739) { - report(parser, 98); - } - if (context & (4194304 | 2048) && t === 209008) { - report(parser, 96); - } - if (context & (2097152 | 1024) && t === 241773) { - report(parser, 95, 'yield'); - } - } - function validateFunctionName(parser, context, t) { - if (context & 1024) { - if ((t & 36864) === 36864) { - report(parser, 115); - } - if ((t & 537079808) === 537079808) { - report(parser, 116); - } - if (t === 122) { - report(parser, 93); - } - if (t === 121) { - report(parser, 93); - } - } - if ((t & 20480) === 20480) { - report(parser, 100); - } - if (context & (4194304 | 2048) && t === 209008) { - report(parser, 96); - } - if (context & (2097152 | 1024) && t === 241773) { - report(parser, 95, 'yield'); - } - } - function isStrictReservedWord(parser, context, t) { - if (t === 209008) { - if (context & (4194304 | 2048)) report(parser, 96); - parser.destructible |= 128; - } - if (t === 241773 && context & 2097152) - report(parser, 95, 'yield'); - return ( - (t & 20480) === 20480 || (t & 36864) === 36864 || t == 122 - ); - } - function isPropertyWithPrivateFieldKey(expr) { - return !expr.property - ? false - : expr.property.type === 'PrivateIdentifier'; - } - function isValidLabel(parser, labels, name, isIterationStatement) { - while (labels) { - if (labels['$' + name]) { - if (isIterationStatement) report(parser, 134); - return 1; - } - if (isIterationStatement && labels.loop) - isIterationStatement = 0; - labels = labels['$']; - } - return 0; - } - function validateAndDeclareLabel(parser, labels, name) { - let set = labels; - while (set) { - if (set['$' + name]) report(parser, 133, name); - set = set['$']; - } - labels['$' + name] = 1; - } - function finishNode(parser, context, start, line, column, node) { - if (context & 2) { - node.start = start; - node.end = parser.startPos; - node.range = [start, parser.startPos]; - } - if (context & 4) { - node.loc = { - start: { - line, - column - }, - end: { - line: parser.startLine, - column: parser.startColumn - } - }; - if (parser.sourceFile) { - node.loc.source = parser.sourceFile; - } - } - return node; - } - function isEqualTagName(elementName) { - switch (elementName.type) { - case 'JSXIdentifier': - return elementName.name; - case 'JSXNamespacedName': - return elementName.namespace + ':' + elementName.name; - case 'JSXMemberExpression': - return ( - isEqualTagName(elementName.object) + - '.' + - isEqualTagName(elementName.property) - ); - } - } - function createArrowHeadParsingScope(parser, context, value) { - const scope = addChildScope(createScope(), 1024); - addBlockName(parser, context, scope, value, 1, 0); - return scope; - } - function recordScopeError(parser, type, ...params) { - const { index, line, column } = parser; - return { - type, - params, - index, - line, - column - }; - } - function createScope() { - return { - parent: void 0, - type: 2 - }; - } - function addChildScope(parent, type) { - return { - parent, - type, - scopeError: void 0 - }; - } - function addVarOrBlock(parser, context, scope, name, kind, origin) { - if (kind & 4) { - addVarName(parser, context, scope, name, kind); - } else { - addBlockName(parser, context, scope, name, kind, origin); - } - if (origin & 64) { - declareUnboundVariable(parser, name); - } - } - function addBlockName(parser, context, scope, name, kind, origin) { - const value = scope['#' + name]; - if (value && (value & 2) === 0) { - if (kind & 1) { - scope.scopeError = recordScopeError(parser, 141, name); - } else if (context & 256 && value & 64 && origin & 2); - else { - report(parser, 141, name); - } - } - if ( - scope.type & 128 && - scope.parent['#' + name] && - (scope.parent['#' + name] & 2) === 0 - ) { - report(parser, 141, name); - } - if (scope.type & 1024 && value && (value & 2) === 0) { - if (kind & 1) { - scope.scopeError = recordScopeError(parser, 141, name); - } - } - if (scope.type & 64) { - if (scope.parent['#' + name] & 768) - report(parser, 154, name); - } - scope['#' + name] = kind; - } - function addVarName(parser, context, scope, name, kind) { - let currentScope = scope; - while (currentScope && (currentScope.type & 256) === 0) { - const value = currentScope['#' + name]; - if (value & 248) { - if ( - context & 256 && - (context & 1024) === 0 && - ((kind & 128 && value & 68) || - (value & 128 && kind & 68)) - ); - else { - report(parser, 141, name); - } - } - if (currentScope === scope) { - if (value & 1 && kind & 1) { - currentScope.scopeError = recordScopeError( - parser, - 141, - name - ); - } - } - if (value & (512 | 256)) { - if ( - (value & 512) === 0 || - (context & 256) === 0 || - context & 1024 - ) { - report(parser, 141, name); - } - } - currentScope['#' + name] = kind; - currentScope = currentScope.parent; - } - } - function declareUnboundVariable(parser, name) { - if (parser.exportedNames !== void 0 && name !== '') { - if (parser.exportedNames['#' + name]) { - report(parser, 142, name); - } - parser.exportedNames['#' + name] = 1; - } - } - function addBindingToExports(parser, name) { - if (parser.exportedBindings !== void 0 && name !== '') { - parser.exportedBindings['#' + name] = 1; - } - } - function pushComment(context, array) { - return function (type, value, start, end, loc) { - const comment = { - type, - value - }; - if (context & 2) { - comment.start = start; - comment.end = end; - comment.range = [start, end]; - } - if (context & 4) { - comment.loc = loc; - } - array.push(comment); - }; - } - function pushToken(context, array) { - return function (token, start, end, loc) { - const tokens = { - token - }; - if (context & 2) { - tokens.start = start; - tokens.end = end; - tokens.range = [start, end]; - } - if (context & 4) { - tokens.loc = loc; - } - array.push(tokens); - }; - } - function isValidIdentifier(context, t) { - if (context & (1024 | 2097152)) { - if (context & 2048 && t === 209008) return false; - if (context & 2097152 && t === 241773) return false; - return (t & 143360) === 143360 || (t & 12288) === 12288; - } - return ( - (t & 143360) === 143360 || - (t & 12288) === 12288 || - (t & 36864) === 36864 - ); - } - function classifyIdentifier(parser, context, t) { - if ((t & 537079808) === 537079808) { - if (context & 1024) report(parser, 116); - parser.flags |= 512; - } - if (!isValidIdentifier(context, t)) report(parser, 0); - } - - function create( - source, - sourceFile, - onComment, - onToken, - onInsertedSemicolon - ) { - return { - source, - flags: 0, - index: 0, - line: 1, - column: 0, - startPos: 0, - end: source.length, - tokenPos: 0, - startColumn: 0, - colPos: 0, - linePos: 1, - startLine: 1, - sourceFile, - tokenValue: '', - token: 1048576, - tokenRaw: '', - tokenRegExp: void 0, - currentChar: source.charCodeAt(0), - exportedNames: [], - exportedBindings: [], - assignable: 1, - destructible: 0, - onComment, - onToken, - onInsertedSemicolon, - leadingDecorators: [] - }; - } - function parseSource(source, options, context) { - let sourceFile = ''; - let onComment; - let onInsertedSemicolon; - let onToken; - if (options != null) { - if (options.module) context |= 2048 | 1024; - if (options.next) context |= 1; - if (options.loc) context |= 4; - if (options.ranges) context |= 2; - if (options.uniqueKeyInPattern) context |= 536870912; - if (options.lexical) context |= 64; - if (options.webcompat) context |= 256; - if (options.directives) context |= 8 | 512; - if (options.globalReturn) context |= 32; - if (options.raw) context |= 512; - if (options.preserveParens) context |= 128; - if (options.impliedStrict) context |= 1024; - if (options.jsx) context |= 16; - if (options.source) sourceFile = options.source; - if (options.onComment != null) { - onComment = Array.isArray(options.onComment) - ? pushComment(context, options.onComment) - : options.onComment; - } - if (options.onInsertedSemicolon != null) - onInsertedSemicolon = options.onInsertedSemicolon; - if (options.onToken != null) { - onToken = Array.isArray(options.onToken) - ? pushToken(context, options.onToken) - : options.onToken; - } - } - const parser = create( - source, - sourceFile, - onComment, - onToken, - onInsertedSemicolon - ); - if (context & 1) skipHashBang(parser); - const scope = context & 64 ? createScope() : void 0; - let body = []; - let sourceType = 'script'; - if (context & 2048) { - sourceType = 'module'; - body = parseModuleItemList(parser, context | 8192, scope); - if (scope) { - for (const key in parser.exportedBindings) { - if (key[0] === '#' && !scope[key]) - report(parser, 143, key.slice(1)); - } - } - } else { - body = parseStatementList(parser, context | 8192, scope); - } - const node = { - type: 'Program', - sourceType, - body - }; - if (context & 2) { - node.start = 0; - node.end = source.length; - node.range = [0, source.length]; - } - if (context & 4) { - node.loc = { - start: { line: 1, column: 0 }, - end: { line: parser.line, column: parser.column } - }; - if (parser.sourceFile) node.loc.source = sourceFile; - } - return node; - } - function parseStatementList(parser, context, scope) { - nextToken(parser, context | 32768 | 268435456); - const statements = []; - while (parser.token === 134283267) { - const { - index, - tokenPos, - tokenValue, - linePos, - colPos, - token - } = parser; - const expr = parseLiteral(parser, context); - if (isValidStrictMode(parser, index, tokenPos, tokenValue)) - context |= 1024; - statements.push( - parseDirective( - parser, - context, - expr, - token, - tokenPos, - linePos, - colPos - ) - ); - } - while (parser.token !== 1048576) { - statements.push( - parseStatementListItem(parser, context, scope, 4, {}) - ); - } - return statements; - } - function parseModuleItemList(parser, context, scope) { - nextToken(parser, context | 32768); - const statements = []; - if (context & 8) { - while (parser.token === 134283267) { - const { tokenPos, linePos, colPos, token } = parser; - statements.push( - parseDirective( - parser, - context, - parseLiteral(parser, context), - token, - tokenPos, - linePos, - colPos - ) - ); - } - } - while (parser.token !== 1048576) { - statements.push(parseModuleItem(parser, context, scope)); - } - return statements; - } - function parseModuleItem(parser, context, scope) { - parser.leadingDecorators = parseDecorators(parser, context); - let moduleItem; - switch (parser.token) { - case 20566: - moduleItem = parseExportDeclaration( - parser, - context, - scope - ); - break; - case 86108: - moduleItem = parseImportDeclaration( - parser, - context, - scope - ); - break; - default: - moduleItem = parseStatementListItem( - parser, - context, - scope, - 4, - {} - ); - } - if (parser.leadingDecorators.length) { - report(parser, 165); - } - return moduleItem; - } - function parseStatementListItem( - parser, - context, - scope, - origin, - labels - ) { - const start = parser.tokenPos; - const line = parser.linePos; - const column = parser.colPos; - switch (parser.token) { - case 86106: - return parseFunctionDeclaration( - parser, - context, - scope, - origin, - 1, - 0, - 0, - start, - line, - column - ); - case 133: - case 86096: - return parseClassDeclaration( - parser, - context, - scope, - 0, - start, - line, - column - ); - case 86092: - return parseLexicalDeclaration( - parser, - context, - scope, - 16, - 0, - start, - line, - column - ); - case 241739: - return parseLetIdentOrVarDeclarationStatement( - parser, - context, - scope, - origin, - start, - line, - column - ); - case 20566: - report(parser, 101, 'export'); - case 86108: - nextToken(parser, context); - switch (parser.token) { - case 67174411: - return parseImportCallDeclaration( - parser, - context, - start, - line, - column - ); - case 67108877: - return parseImportMetaDeclaration( - parser, - context, - start, - line, - column - ); - default: - report(parser, 101, 'import'); - } - case 209007: - return parseAsyncArrowOrAsyncFunctionDeclaration( - parser, - context, - scope, - origin, - labels, - 1, - start, - line, - column - ); - default: - return parseStatement( - parser, - context, - scope, - origin, - labels, - 1, - start, - line, - column - ); - } - } - function parseStatement( - parser, - context, - scope, - origin, - labels, - allowFuncDecl, - start, - line, - column - ) { - switch (parser.token) { - case 86090: - return parseVariableStatement( - parser, - context, - scope, - 0, - start, - line, - column - ); - case 20574: - return parseReturnStatement( - parser, - context, - start, - line, - column - ); - case 20571: - return parseIfStatement( - parser, - context, - scope, - labels, - start, - line, - column - ); - case 20569: - return parseForStatement( - parser, - context, - scope, - labels, - start, - line, - column - ); - case 20564: - return parseDoWhileStatement( - parser, - context, - scope, - labels, - start, - line, - column - ); - case 20580: - return parseWhileStatement( - parser, - context, - scope, - labels, - start, - line, - column - ); - case 86112: - return parseSwitchStatement( - parser, - context, - scope, - labels, - start, - line, - column - ); - case 1074790417: - return parseEmptyStatement( - parser, - context, - start, - line, - column - ); - case 2162700: - return parseBlock( - parser, - context, - scope ? addChildScope(scope, 2) : scope, - labels, - start, - line, - column - ); - case 86114: - return parseThrowStatement( - parser, - context, - start, - line, - column - ); - case 20557: - return parseBreakStatement( - parser, - context, - labels, - start, - line, - column - ); - case 20561: - return parseContinueStatement( - parser, - context, - labels, - start, - line, - column - ); - case 20579: - return parseTryStatement( - parser, - context, - scope, - labels, - start, - line, - column - ); - case 20581: - return parseWithStatement( - parser, - context, - scope, - labels, - start, - line, - column - ); - case 20562: - return parseDebuggerStatement( - parser, - context, - start, - line, - column - ); - case 209007: - return parseAsyncArrowOrAsyncFunctionDeclaration( - parser, - context, - scope, - origin, - labels, - 0, - start, - line, - column - ); - case 20559: - report(parser, 157); - case 20568: - report(parser, 158); - case 86106: - report( - parser, - context & 1024 - ? 74 - : (context & 256) === 0 - ? 76 - : 75 - ); - case 86096: - report(parser, 77); - default: - return parseExpressionOrLabelledStatement( - parser, - context, - scope, - origin, - labels, - allowFuncDecl, - start, - line, - column - ); - } - } - function parseExpressionOrLabelledStatement( - parser, - context, - scope, - origin, - labels, - allowFuncDecl, - start, - line, - column - ) { - const { tokenValue, token } = parser; - let expr; - switch (token) { - case 241739: - expr = parseIdentifier(parser, context); - if (context & 1024) report(parser, 83); - if (parser.token === 69271571) report(parser, 82); - break; - default: - expr = parsePrimaryExpression( - parser, - context, - 2, - 0, - 1, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } - if (token & 143360 && parser.token === 21) { - return parseLabelledStatement( - parser, - context, - scope, - origin, - labels, - tokenValue, - expr, - token, - allowFuncDecl, - start, - line, - column - ); - } - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 0, - start, - line, - column - ); - expr = parseAssignmentExpression( - parser, - context, - 0, - 0, - start, - line, - column, - expr - ); - if (parser.token === 18) { - expr = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - expr - ); - } - return parseExpressionStatement( - parser, - context, - expr, - start, - line, - column - ); - } - function parseBlock( - parser, - context, - scope, - labels, - start, - line, - column - ) { - const body = []; - consume(parser, context | 32768, 2162700); - while (parser.token !== 1074790415) { - body.push( - parseStatementListItem(parser, context, scope, 2, { - $: labels - }) - ); - } - consume(parser, context | 32768, 1074790415); - return finishNode(parser, context, start, line, column, { - type: 'BlockStatement', - body - }); - } - function parseReturnStatement( - parser, - context, - start, - line, - column - ) { - if ((context & 32) === 0 && context & 8192) report(parser, 90); - nextToken(parser, context | 32768); - const argument = - parser.flags & 1 || parser.token & 1048576 - ? null - : parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'ReturnStatement', - argument - }); - } - function parseExpressionStatement( - parser, - context, - expression, - start, - line, - column - ) { - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'ExpressionStatement', - expression - }); - } - function parseLabelledStatement( - parser, - context, - scope, - origin, - labels, - value, - expr, - token, - allowFuncDecl, - start, - line, - column - ) { - validateBindingIdentifier(parser, context, 0, token, 1); - validateAndDeclareLabel(parser, labels, value); - nextToken(parser, context | 32768); - const body = - allowFuncDecl && - (context & 1024) === 0 && - context & 256 && - parser.token === 86106 - ? parseFunctionDeclaration( - parser, - context, - addChildScope(scope, 2), - origin, - 0, - 0, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - : parseStatement( - parser, - context, - scope, - origin, - labels, - allowFuncDecl, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - return finishNode(parser, context, start, line, column, { - type: 'LabeledStatement', - label: expr, - body - }); - } - function parseAsyncArrowOrAsyncFunctionDeclaration( - parser, - context, - scope, - origin, - labels, - allowFuncDecl, - start, - line, - column - ) { - const { token, tokenValue } = parser; - let expr = parseIdentifier(parser, context); - if (parser.token === 21) { - return parseLabelledStatement( - parser, - context, - scope, - origin, - labels, - tokenValue, - expr, - token, - 1, - start, - line, - column - ); - } - const asyncNewLine = parser.flags & 1; - if (!asyncNewLine) { - if (parser.token === 86106) { - if (!allowFuncDecl) report(parser, 120); - return parseFunctionDeclaration( - parser, - context, - scope, - origin, - 1, - 0, - 1, - start, - line, - column - ); - } - if ((parser.token & 143360) === 143360) { - expr = parseAsyncArrowAfterIdent( - parser, - context, - 1, - start, - line, - column - ); - if (parser.token === 18) - expr = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - expr - ); - return parseExpressionStatement( - parser, - context, - expr, - start, - line, - column - ); - } - } - if (parser.token === 67174411) { - expr = parseAsyncArrowOrCallExpression( - parser, - context, - expr, - 1, - 1, - 0, - asyncNewLine, - start, - line, - column - ); - } else { - if (parser.token === 10) { - classifyIdentifier(parser, context, token); - expr = parseArrowFromIdentifier( - parser, - context, - parser.tokenValue, - expr, - 0, - 1, - 0, - start, - line, - column - ); - } - parser.assignable = 1; - } - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 0, - start, - line, - column - ); - expr = parseAssignmentExpression( - parser, - context, - 0, - 0, - start, - line, - column, - expr - ); - parser.assignable = 1; - if (parser.token === 18) { - expr = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - expr - ); - } - return parseExpressionStatement( - parser, - context, - expr, - start, - line, - column - ); - } - function parseDirective( - parser, - context, - expression, - token, - start, - line, - column - ) { - if (token !== 1074790417) { - parser.assignable = 2; - expression = parseMemberOrUpdateExpression( - parser, - context, - expression, - 0, - 0, - start, - line, - column - ); - if (parser.token !== 1074790417) { - expression = parseAssignmentExpression( - parser, - context, - 0, - 0, - start, - line, - column, - expression - ); - if (parser.token === 18) { - expression = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - expression - ); - } - } - matchOrInsertSemicolon(parser, context | 32768); - } - return context & 8 && - expression.type === 'Literal' && - typeof expression.value === 'string' - ? finishNode(parser, context, start, line, column, { - type: 'ExpressionStatement', - expression, - directive: expression.raw.slice(1, -1) - }) - : finishNode(parser, context, start, line, column, { - type: 'ExpressionStatement', - expression - }); - } - function parseEmptyStatement(parser, context, start, line, column) { - nextToken(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'EmptyStatement' - }); - } - function parseThrowStatement(parser, context, start, line, column) { - nextToken(parser, context | 32768); - if (parser.flags & 1) report(parser, 88); - const argument = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'ThrowStatement', - argument - }); - } - function parseIfStatement( - parser, - context, - scope, - labels, - start, - line, - column - ) { - nextToken(parser, context); - consume(parser, context | 32768, 67174411); - parser.assignable = 1; - const test = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.line, - parser.colPos - ); - consume(parser, context | 32768, 16); - const consequent = parseConsequentOrAlternative( - parser, - context, - scope, - labels, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - let alternate = null; - if (parser.token === 20565) { - nextToken(parser, context | 32768); - alternate = parseConsequentOrAlternative( - parser, - context, - scope, - labels, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } - return finishNode(parser, context, start, line, column, { - type: 'IfStatement', - test, - consequent, - alternate - }); - } - function parseConsequentOrAlternative( - parser, - context, - scope, - labels, - start, - line, - column - ) { - return context & 1024 || - (context & 256) === 0 || - parser.token !== 86106 - ? parseStatement( - parser, - context, - scope, - 0, - { $: labels }, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - : parseFunctionDeclaration( - parser, - context, - addChildScope(scope, 2), - 0, - 0, - 0, - 0, - start, - line, - column - ); - } - function parseSwitchStatement( - parser, - context, - scope, - labels, - start, - line, - column - ) { - nextToken(parser, context); - consume(parser, context | 32768, 67174411); - const discriminant = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context, 16); - consume(parser, context, 2162700); - const cases = []; - let seenDefault = 0; - if (scope) scope = addChildScope(scope, 8); - while (parser.token !== 1074790415) { - const { tokenPos, linePos, colPos } = parser; - let test = null; - const consequent = []; - if (consumeOpt(parser, context | 32768, 20558)) { - test = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else { - consume(parser, context | 32768, 20563); - if (seenDefault) report(parser, 87); - seenDefault = 1; - } - consume(parser, context | 32768, 21); - while ( - parser.token !== 20558 && - parser.token !== 1074790415 && - parser.token !== 20563 - ) { - consequent.push( - parseStatementListItem( - parser, - context | 4096, - scope, - 2, - { - $: labels - } - ) - ); - } - cases.push( - finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'SwitchCase', - test, - consequent - }) - ); - } - consume(parser, context | 32768, 1074790415); - return finishNode(parser, context, start, line, column, { - type: 'SwitchStatement', - discriminant, - cases - }); - } - function parseWhileStatement( - parser, - context, - scope, - labels, - start, - line, - column - ) { - nextToken(parser, context); - consume(parser, context | 32768, 67174411); - const test = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 16); - const body = parseIterationStatementBody( - parser, - context, - scope, - labels - ); - return finishNode(parser, context, start, line, column, { - type: 'WhileStatement', - test, - body - }); - } - function parseIterationStatementBody( - parser, - context, - scope, - labels - ) { - return parseStatement( - parser, - ((context | 134217728) ^ 134217728) | 131072, - scope, - 0, - { loop: 1, $: labels }, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } - function parseContinueStatement( - parser, - context, - labels, - start, - line, - column - ) { - if ((context & 131072) === 0) report(parser, 66); - nextToken(parser, context); - let label = null; - if ((parser.flags & 1) === 0 && parser.token & 143360) { - const { tokenValue } = parser; - label = parseIdentifier(parser, context | 32768); - if (!isValidLabel(parser, labels, tokenValue, 1)) - report(parser, 135, tokenValue); - } - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'ContinueStatement', - label - }); - } - function parseBreakStatement( - parser, - context, - labels, - start, - line, - column - ) { - nextToken(parser, context | 32768); - let label = null; - if ((parser.flags & 1) === 0 && parser.token & 143360) { - const { tokenValue } = parser; - label = parseIdentifier(parser, context | 32768); - if (!isValidLabel(parser, labels, tokenValue, 0)) - report(parser, 135, tokenValue); - } else if ((context & (4096 | 131072)) === 0) { - report(parser, 67); - } - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'BreakStatement', - label - }); - } - function parseWithStatement( - parser, - context, - scope, - labels, - start, - line, - column - ) { - nextToken(parser, context); - if (context & 1024) report(parser, 89); - consume(parser, context | 32768, 67174411); - const object = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 16); - const body = parseStatement( - parser, - context, - scope, - 2, - labels, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - return finishNode(parser, context, start, line, column, { - type: 'WithStatement', - object, - body - }); - } - function parseDebuggerStatement( - parser, - context, - start, - line, - column - ) { - nextToken(parser, context | 32768); - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'DebuggerStatement' - }); - } - function parseTryStatement( - parser, - context, - scope, - labels, - start, - line, - column - ) { - nextToken(parser, context | 32768); - const firstScope = scope ? addChildScope(scope, 32) : void 0; - const block = parseBlock( - parser, - context, - firstScope, - { $: labels }, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - const { tokenPos, linePos, colPos } = parser; - const handler = consumeOpt(parser, context | 32768, 20559) - ? parseCatchBlock( - parser, - context, - scope, - labels, - tokenPos, - linePos, - colPos - ) - : null; - let finalizer = null; - if (parser.token === 20568) { - nextToken(parser, context | 32768); - const finalizerScope = firstScope - ? addChildScope(scope, 4) - : void 0; - finalizer = parseBlock( - parser, - context, - finalizerScope, - { $: labels }, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } - if (!handler && !finalizer) { - report(parser, 86); - } - return finishNode(parser, context, start, line, column, { - type: 'TryStatement', - block, - handler, - finalizer - }); - } - function parseCatchBlock( - parser, - context, - scope, - labels, - start, - line, - column - ) { - let param = null; - let additionalScope = scope; - if (consumeOpt(parser, context, 67174411)) { - if (scope) scope = addChildScope(scope, 4); - param = parseBindingPattern( - parser, - context, - scope, - (parser.token & 2097152) === 2097152 ? 256 : 512, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - if (parser.token === 18) { - report(parser, 84); - } else if (parser.token === 1077936157) { - report(parser, 85); - } - consume(parser, context | 32768, 16); - if (scope) additionalScope = addChildScope(scope, 64); - } - const body = parseBlock( - parser, - context, - additionalScope, - { $: labels }, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - return finishNode(parser, context, start, line, column, { - type: 'CatchClause', - param, - body - }); - } - function parseStaticBlock( - parser, - context, - scope, - start, - line, - column - ) { - if (scope) scope = addChildScope(scope, 2); - const ctorContext = 16384 | 524288; - context = ((context | ctorContext) ^ ctorContext) | 262144; - const { body } = parseBlock( - parser, - context, - scope, - {}, - start, - line, - column - ); - return finishNode(parser, context, start, line, column, { - type: 'StaticBlock', - body - }); - } - function parseDoWhileStatement( - parser, - context, - scope, - labels, - start, - line, - column - ) { - nextToken(parser, context | 32768); - const body = parseIterationStatementBody( - parser, - context, - scope, - labels - ); - consume(parser, context, 20580); - consume(parser, context | 32768, 67174411); - const test = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 16); - consumeOpt(parser, context | 32768, 1074790417); - return finishNode(parser, context, start, line, column, { - type: 'DoWhileStatement', - body, - test - }); - } - function parseLetIdentOrVarDeclarationStatement( - parser, - context, - scope, - origin, - start, - line, - column - ) { - const { token, tokenValue } = parser; - let expr = parseIdentifier(parser, context); - if (parser.token & (143360 | 2097152)) { - const declarations = parseVariableDeclarationList( - parser, - context, - scope, - 8, - 0 - ); - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'VariableDeclaration', - kind: 'let', - declarations - }); - } - parser.assignable = 1; - if (context & 1024) report(parser, 83); - if (parser.token === 21) { - return parseLabelledStatement( - parser, - context, - scope, - origin, - {}, - tokenValue, - expr, - token, - 0, - start, - line, - column - ); - } - if (parser.token === 10) { - let scope = void 0; - if (context & 64) - scope = createArrowHeadParsingScope( - parser, - context, - tokenValue - ); - parser.flags = (parser.flags | 128) ^ 128; - expr = parseArrowFunctionExpression( - parser, - context, - scope, - [expr], - 0, - start, - line, - column - ); - } else { - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 0, - start, - line, - column - ); - expr = parseAssignmentExpression( - parser, - context, - 0, - 0, - start, - line, - column, - expr - ); - } - if (parser.token === 18) { - expr = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - expr - ); - } - return parseExpressionStatement( - parser, - context, - expr, - start, - line, - column - ); - } - function parseLexicalDeclaration( - parser, - context, - scope, - kind, - origin, - start, - line, - column - ) { - nextToken(parser, context); - const declarations = parseVariableDeclarationList( - parser, - context, - scope, - kind, - origin - ); - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'VariableDeclaration', - kind: kind & 8 ? 'let' : 'const', - declarations - }); - } - function parseVariableStatement( - parser, - context, - scope, - origin, - start, - line, - column - ) { - nextToken(parser, context); - const declarations = parseVariableDeclarationList( - parser, - context, - scope, - 4, - origin - ); - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'VariableDeclaration', - kind: 'var', - declarations - }); - } - function parseVariableDeclarationList( - parser, - context, - scope, - kind, - origin - ) { - let bindingCount = 1; - const list = [ - parseVariableDeclaration( - parser, - context, - scope, - kind, - origin - ) - ]; - while (consumeOpt(parser, context, 18)) { - bindingCount++; - list.push( - parseVariableDeclaration( - parser, - context, - scope, - kind, - origin - ) - ); - } - if (bindingCount > 1 && origin & 32 && parser.token & 262144) { - report(parser, 59, KeywordDescTable[parser.token & 255]); - } - return list; - } - function parseVariableDeclaration( - parser, - context, - scope, - kind, - origin - ) { - const { token, tokenPos, linePos, colPos } = parser; - let init = null; - const id = parseBindingPattern( - parser, - context, - scope, - kind, - origin, - tokenPos, - linePos, - colPos - ); - if (parser.token === 1077936157) { - nextToken(parser, context | 32768); - init = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - if (origin & 32 || (token & 2097152) === 0) { - if ( - parser.token === 274549 || - (parser.token === 8738868 && - (token & 2097152 || - (kind & 4) === 0 || - context & 1024)) - ) { - reportMessageAt( - tokenPos, - parser.line, - parser.index - 3, - 58, - parser.token === 274549 ? 'of' : 'in' - ); - } - } - } else if ( - (kind & 16 || (token & 2097152) > 0) && - (parser.token & 262144) !== 262144 - ) { - report(parser, 57, kind & 16 ? 'const' : 'destructuring'); - } - return finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'VariableDeclarator', - id, - init - }); - } - function parseForStatement( - parser, - context, - scope, - labels, - start, - line, - column - ) { - nextToken(parser, context); - const forAwait = - ((context & 4194304) > 0 || - ((context & 2048) > 0 && (context & 8192) > 0)) && - consumeOpt(parser, context, 209008); - consume(parser, context | 32768, 67174411); - if (scope) scope = addChildScope(scope, 1); - let test = null; - let update = null; - let destructible = 0; - let init = null; - let isVarDecl = - parser.token === 86090 || - parser.token === 241739 || - parser.token === 86092; - let right; - const { token, tokenPos, linePos, colPos } = parser; - if (isVarDecl) { - if (token === 241739) { - init = parseIdentifier(parser, context); - if (parser.token & (143360 | 2097152)) { - if (parser.token === 8738868) { - if (context & 1024) report(parser, 65); - } else { - init = finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - { - type: 'VariableDeclaration', - kind: 'let', - declarations: - parseVariableDeclarationList( - parser, - context | 134217728, - scope, - 8, - 32 - ) - } - ); - } - parser.assignable = 1; - } else if (context & 1024) { - report(parser, 65); - } else { - isVarDecl = false; - parser.assignable = 1; - init = parseMemberOrUpdateExpression( - parser, - context, - init, - 0, - 0, - tokenPos, - linePos, - colPos - ); - if (parser.token === 274549) report(parser, 112); - } - } else { - nextToken(parser, context); - init = finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - token === 86090 - ? { - type: 'VariableDeclaration', - kind: 'var', - declarations: - parseVariableDeclarationList( - parser, - context | 134217728, - scope, - 4, - 32 - ) - } - : { - type: 'VariableDeclaration', - kind: 'const', - declarations: - parseVariableDeclarationList( - parser, - context | 134217728, - scope, - 16, - 32 - ) - } - ); - parser.assignable = 1; - } - } else if (token === 1074790417) { - if (forAwait) report(parser, 80); - } else if ((token & 2097152) === 2097152) { - init = - token === 2162700 - ? parseObjectLiteralOrPattern( - parser, - context, - void 0, - 1, - 0, - 0, - 2, - 32, - tokenPos, - linePos, - colPos - ) - : parseArrayExpressionOrPattern( - parser, - context, - void 0, - 1, - 0, - 0, - 2, - 32, - tokenPos, - linePos, - colPos - ); - destructible = parser.destructible; - if (context & 256 && destructible & 64) { - report(parser, 61); - } - parser.assignable = destructible & 16 ? 2 : 1; - init = parseMemberOrUpdateExpression( - parser, - context | 134217728, - init, - 0, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else { - init = parseLeftHandSideExpression( - parser, - context | 134217728, - 1, - 0, - 1, - tokenPos, - linePos, - colPos - ); - } - if ((parser.token & 262144) === 262144) { - if (parser.token === 274549) { - if (parser.assignable & 2) - report(parser, 78, forAwait ? 'await' : 'of'); - reinterpretToPattern(parser, init); - nextToken(parser, context | 32768); - right = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 16); - const body = parseIterationStatementBody( - parser, - context, - scope, - labels - ); - return finishNode( - parser, - context, - start, - line, - column, - { - type: 'ForOfStatement', - left: init, - right, - body, - await: forAwait - } - ); - } - if (parser.assignable & 2) report(parser, 78, 'in'); - reinterpretToPattern(parser, init); - nextToken(parser, context | 32768); - if (forAwait) report(parser, 80); - right = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 16); - const body = parseIterationStatementBody( - parser, - context, - scope, - labels - ); - return finishNode(parser, context, start, line, column, { - type: 'ForInStatement', - body, - left: init, - right - }); - } - if (forAwait) report(parser, 80); - if (!isVarDecl) { - if (destructible & 8 && parser.token !== 1077936157) { - report(parser, 78, 'loop'); - } - init = parseAssignmentExpression( - parser, - context | 134217728, - 0, - 0, - tokenPos, - linePos, - colPos, - init - ); - } - if (parser.token === 18) - init = parseSequenceExpression( - parser, - context, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos, - init - ); - consume(parser, context | 32768, 1074790417); - if (parser.token !== 1074790417) - test = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 1074790417); - if (parser.token !== 16) - update = parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 16); - const body = parseIterationStatementBody( - parser, - context, - scope, - labels - ); - return finishNode(parser, context, start, line, column, { - type: 'ForStatement', - init, - test, - update, - body - }); - } - function parseRestrictedIdentifier(parser, context, scope) { - if (!isValidIdentifier(context, parser.token)) - report(parser, 115); - if ((parser.token & 537079808) === 537079808) - report(parser, 116); - if (scope) - addBlockName( - parser, - context, - scope, - parser.tokenValue, - 8, - 0 - ); - return parseIdentifier(parser, context); - } - function parseImportDeclaration(parser, context, scope) { - const start = parser.tokenPos; - const line = parser.linePos; - const column = parser.colPos; - nextToken(parser, context); - let source = null; - const { tokenPos, linePos, colPos } = parser; - let specifiers = []; - if (parser.token === 134283267) { - source = parseLiteral(parser, context); - } else { - if (parser.token & 143360) { - const local = parseRestrictedIdentifier( - parser, - context, - scope - ); - specifiers = [ - finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - { - type: 'ImportDefaultSpecifier', - local - } - ) - ]; - if (consumeOpt(parser, context, 18)) { - switch (parser.token) { - case 8457014: - specifiers.push( - parseImportNamespaceSpecifier( - parser, - context, - scope - ) - ); - break; - case 2162700: - parseImportSpecifierOrNamedImports( - parser, - context, - scope, - specifiers - ); - break; - default: - report(parser, 105); - } - } - } else { - switch (parser.token) { - case 8457014: - specifiers = [ - parseImportNamespaceSpecifier( - parser, - context, - scope - ) - ]; - break; - case 2162700: - parseImportSpecifierOrNamedImports( - parser, - context, - scope, - specifiers - ); - break; - case 67174411: - return parseImportCallDeclaration( - parser, - context, - start, - line, - column - ); - case 67108877: - return parseImportMetaDeclaration( - parser, - context, - start, - line, - column - ); - default: - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } - } - source = parseModuleSpecifier(parser, context); - } - matchOrInsertSemicolon(parser, context | 32768); - return finishNode(parser, context, start, line, column, { - type: 'ImportDeclaration', - specifiers, - source - }); - } - function parseImportNamespaceSpecifier(parser, context, scope) { - const { tokenPos, linePos, colPos } = parser; - nextToken(parser, context); - consume(parser, context, 77934); - if ((parser.token & 134217728) === 134217728) { - reportMessageAt( - tokenPos, - parser.line, - parser.index, - 28, - KeywordDescTable[parser.token & 255] - ); - } - return finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'ImportNamespaceSpecifier', - local: parseRestrictedIdentifier(parser, context, scope) - }); - } - function parseModuleSpecifier(parser, context) { - if (!consumeOpt(parser, context, 12404)) { - report(parser, 28, KeywordDescTable[parser.token & 255]); - } - if (parser.token !== 134283267) report(parser, 103, 'Import'); - return parseLiteral(parser, context); - } - function parseImportSpecifierOrNamedImports( - parser, - context, - scope, - specifiers - ) { - nextToken(parser, context); - while (parser.token & 143360) { - let { token, tokenValue, tokenPos, linePos, colPos } = - parser; - const imported = parseIdentifier(parser, context); - let local; - if (consumeOpt(parser, context, 77934)) { - if ( - (parser.token & 134217728) === 134217728 || - parser.token === 18 - ) { - report(parser, 104); - } else { - validateBindingIdentifier( - parser, - context, - 16, - parser.token, - 0 - ); - } - tokenValue = parser.tokenValue; - local = parseIdentifier(parser, context); - } else { - validateBindingIdentifier( - parser, - context, - 16, - token, - 0 - ); - local = imported; - } - if (scope) - addBlockName(parser, context, scope, tokenValue, 8, 0); - specifiers.push( - finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'ImportSpecifier', - local, - imported - }) - ); - if (parser.token !== 1074790415) - consume(parser, context, 18); - } - consume(parser, context, 1074790415); - return specifiers; - } - function parseImportMetaDeclaration( - parser, - context, - start, - line, - column - ) { - let expr = parseImportMetaExpression( - parser, - context, - finishNode(parser, context, start, line, column, { - type: 'Identifier', - name: 'import' - }), - start, - line, - column - ); - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 0, - start, - line, - column - ); - expr = parseAssignmentExpression( - parser, - context, - 0, - 0, - start, - line, - column, - expr - ); - if (parser.token === 18) { - expr = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - expr - ); - } - return parseExpressionStatement( - parser, - context, - expr, - start, - line, - column - ); - } - function parseImportCallDeclaration( - parser, - context, - start, - line, - column - ) { - let expr = parseImportExpression( - parser, - context, - 0, - start, - line, - column - ); - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 0, - start, - line, - column - ); - if (parser.token === 18) { - expr = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - expr - ); - } - return parseExpressionStatement( - parser, - context, - expr, - start, - line, - column - ); - } - function parseExportDeclaration(parser, context, scope) { - const start = parser.tokenPos; - const line = parser.linePos; - const column = parser.colPos; - nextToken(parser, context | 32768); - const specifiers = []; - let declaration = null; - let source = null; - let key; - if (consumeOpt(parser, context | 32768, 20563)) { - switch (parser.token) { - case 86106: { - declaration = parseFunctionDeclaration( - parser, - context, - scope, - 4, - 1, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - break; - } - case 133: - case 86096: - declaration = parseClassDeclaration( - parser, - context, - scope, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - break; - case 209007: - const { tokenPos, linePos, colPos } = parser; - declaration = parseIdentifier(parser, context); - const { flags } = parser; - if ((flags & 1) === 0) { - if (parser.token === 86106) { - declaration = parseFunctionDeclaration( - parser, - context, - scope, - 4, - 1, - 1, - 1, - tokenPos, - linePos, - colPos - ); - } else { - if (parser.token === 67174411) { - declaration = - parseAsyncArrowOrCallExpression( - parser, - context, - declaration, - 1, - 1, - 0, - flags, - tokenPos, - linePos, - colPos - ); - declaration = - parseMemberOrUpdateExpression( - parser, - context, - declaration, - 0, - 0, - tokenPos, - linePos, - colPos - ); - declaration = parseAssignmentExpression( - parser, - context, - 0, - 0, - tokenPos, - linePos, - colPos, - declaration - ); - } else if (parser.token & 143360) { - if (scope) - scope = createArrowHeadParsingScope( - parser, - context, - parser.tokenValue - ); - declaration = parseIdentifier( - parser, - context - ); - declaration = - parseArrowFunctionExpression( - parser, - context, - scope, - [declaration], - 1, - tokenPos, - linePos, - colPos - ); - } - } - } - break; - default: - declaration = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - matchOrInsertSemicolon(parser, context | 32768); - } - if (scope) declareUnboundVariable(parser, 'default'); - return finishNode(parser, context, start, line, column, { - type: 'ExportDefaultDeclaration', - declaration - }); - } - switch (parser.token) { - case 8457014: { - nextToken(parser, context); - let exported = null; - const isNamedDeclaration = consumeOpt( - parser, - context, - 77934 - ); - if (isNamedDeclaration) { - if (scope) - declareUnboundVariable( - parser, - parser.tokenValue - ); - exported = parseIdentifier(parser, context); - } - consume(parser, context, 12404); - if (parser.token !== 134283267) - report(parser, 103, 'Export'); - source = parseLiteral(parser, context); - matchOrInsertSemicolon(parser, context | 32768); - return finishNode( - parser, - context, - start, - line, - column, - { - type: 'ExportAllDeclaration', - source, - exported - } - ); - } - case 2162700: { - nextToken(parser, context); - const tmpExportedNames = []; - const tmpExportedBindings = []; - while (parser.token & 143360) { - const { tokenPos, tokenValue, linePos, colPos } = - parser; - const local = parseIdentifier(parser, context); - let exported; - if (parser.token === 77934) { - nextToken(parser, context); - if ((parser.token & 134217728) === 134217728) { - report(parser, 104); - } - if (scope) { - tmpExportedNames.push(parser.tokenValue); - tmpExportedBindings.push(tokenValue); - } - exported = parseIdentifier(parser, context); - } else { - if (scope) { - tmpExportedNames.push(parser.tokenValue); - tmpExportedBindings.push(parser.tokenValue); - } - exported = local; - } - specifiers.push( - finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - { - type: 'ExportSpecifier', - local, - exported - } - ) - ); - if (parser.token !== 1074790415) - consume(parser, context, 18); - } - consume(parser, context, 1074790415); - if (consumeOpt(parser, context, 12404)) { - if (parser.token !== 134283267) - report(parser, 103, 'Export'); - source = parseLiteral(parser, context); - } else if (scope) { - let i = 0; - let iMax = tmpExportedNames.length; - for (; i < iMax; i++) { - declareUnboundVariable( - parser, - tmpExportedNames[i] - ); - } - i = 0; - iMax = tmpExportedBindings.length; - for (; i < iMax; i++) { - addBindingToExports( - parser, - tmpExportedBindings[i] - ); - } - } - matchOrInsertSemicolon(parser, context | 32768); - break; - } - case 86096: - declaration = parseClassDeclaration( - parser, - context, - scope, - 2, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - break; - case 86106: - declaration = parseFunctionDeclaration( - parser, - context, - scope, - 4, - 1, - 2, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - break; - case 241739: - declaration = parseLexicalDeclaration( - parser, - context, - scope, - 8, - 64, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - break; - case 86092: - declaration = parseLexicalDeclaration( - parser, - context, - scope, - 16, - 64, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - break; - case 86090: - declaration = parseVariableStatement( - parser, - context, - scope, - 64, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - break; - case 209007: - const { tokenPos, linePos, colPos } = parser; - nextToken(parser, context); - if ( - (parser.flags & 1) === 0 && - parser.token === 86106 - ) { - declaration = parseFunctionDeclaration( - parser, - context, - scope, - 4, - 1, - 2, - 1, - tokenPos, - linePos, - colPos - ); - if (scope) { - key = declaration.id ? declaration.id.name : ''; - declareUnboundVariable(parser, key); - } - break; - } - default: - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } - return finishNode(parser, context, start, line, column, { - type: 'ExportNamedDeclaration', - declaration, - specifiers, - source - }); - } - function parseExpression( - parser, - context, - canAssign, - inGroup, - start, - line, - column - ) { - let expr = parsePrimaryExpression( - parser, - context, - 2, - 0, - canAssign, - inGroup, - 1, - start, - line, - column - ); - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - inGroup, - 0, - start, - line, - column - ); - return parseAssignmentExpression( - parser, - context, - inGroup, - 0, - start, - line, - column, - expr - ); - } - function parseSequenceExpression( - parser, - context, - inGroup, - start, - line, - column, - expr - ) { - const expressions = [expr]; - while (consumeOpt(parser, context | 32768, 18)) { - expressions.push( - parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - return finishNode(parser, context, start, line, column, { - type: 'SequenceExpression', - expressions - }); - } - function parseExpressions( - parser, - context, - inGroup, - canAssign, - start, - line, - column - ) { - const expr = parseExpression( - parser, - context, - canAssign, - inGroup, - start, - line, - column - ); - return parser.token === 18 - ? parseSequenceExpression( - parser, - context, - inGroup, - start, - line, - column, - expr - ) - : expr; - } - function parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - start, - line, - column, - left - ) { - const { token } = parser; - if ((token & 4194304) === 4194304) { - if (parser.assignable & 2) report(parser, 24); - if ( - (!isPattern && - token === 1077936157 && - left.type === 'ArrayExpression') || - left.type === 'ObjectExpression' - ) { - reinterpretToPattern(parser, left); - } - nextToken(parser, context | 32768); - const right = parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - parser.assignable = 2; - return finishNode( - parser, - context, - start, - line, - column, - isPattern - ? { - type: 'AssignmentPattern', - left, - right - } - : { - type: 'AssignmentExpression', - left, - operator: KeywordDescTable[token & 255], - right - } - ); - } - if ((token & 8454144) === 8454144) { - left = parseBinaryExpression( - parser, - context, - inGroup, - start, - line, - column, - 4, - token, - left - ); - } - if (consumeOpt(parser, context | 32768, 22)) { - left = parseConditionalExpression( - parser, - context, - left, - start, - line, - column - ); - } - return left; - } - function parseAssignmentExpressionOrPattern( - parser, - context, - inGroup, - isPattern, - start, - line, - column, - left - ) { - const { token } = parser; - nextToken(parser, context | 32768); - const right = parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - left = finishNode( - parser, - context, - start, - line, - column, - isPattern - ? { - type: 'AssignmentPattern', - left, - right - } - : { - type: 'AssignmentExpression', - left, - operator: KeywordDescTable[token & 255], - right - } - ); - parser.assignable = 2; - return left; - } - function parseConditionalExpression( - parser, - context, - test, - start, - line, - column - ) { - const consequent = parseExpression( - parser, - (context | 134217728) ^ 134217728, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context | 32768, 21); - parser.assignable = 1; - const alternate = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'ConditionalExpression', - test, - consequent, - alternate - }); - } - function parseBinaryExpression( - parser, - context, - inGroup, - start, - line, - column, - minPrec, - operator, - left - ) { - const bit = -((context & 134217728) > 0) & 8738868; - let t; - let prec; - parser.assignable = 2; - while (parser.token & 8454144) { - t = parser.token; - prec = t & 3840; - if ( - (t & 524288 && operator & 268435456) || - (operator & 524288 && t & 268435456) - ) { - report(parser, 160); - } - if ( - prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= - minPrec - ) - break; - nextToken(parser, context | 32768); - left = finishNode(parser, context, start, line, column, { - type: - t & 524288 || t & 268435456 - ? 'LogicalExpression' - : 'BinaryExpression', - left, - right: parseBinaryExpression( - parser, - context, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos, - prec, - t, - parseLeftHandSideExpression( - parser, - context, - 0, - inGroup, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ), - operator: KeywordDescTable[t & 255] - }); - } - if (parser.token === 1077936157) report(parser, 24); - return left; - } - function parseUnaryExpression( - parser, - context, - isLHS, - start, - line, - column, - inGroup - ) { - if (!isLHS) report(parser, 0); - const unaryOperator = parser.token; - nextToken(parser, context | 32768); - const arg = parseLeftHandSideExpression( - parser, - context, - 0, - inGroup, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - if (parser.token === 8457273) report(parser, 31); - if (context & 1024 && unaryOperator === 16863278) { - if (arg.type === 'Identifier') { - report(parser, 118); - } else if (isPropertyWithPrivateFieldKey(arg)) { - report(parser, 124); - } - } - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'UnaryExpression', - operator: KeywordDescTable[unaryOperator & 255], - argument: arg, - prefix: true - }); - } - function parseAsyncExpression( - parser, - context, - inGroup, - isLHS, - canAssign, - inNew, - start, - line, - column - ) { - const { token } = parser; - const expr = parseIdentifier(parser, context); - const { flags } = parser; - if ((flags & 1) === 0) { - if (parser.token === 86106) { - return parseFunctionExpression( - parser, - context, - 1, - inGroup, - start, - line, - column - ); - } - if ((parser.token & 143360) === 143360) { - if (!isLHS) report(parser, 0); - return parseAsyncArrowAfterIdent( - parser, - context, - canAssign, - start, - line, - column - ); - } - } - if (!inNew && parser.token === 67174411) { - return parseAsyncArrowOrCallExpression( - parser, - context, - expr, - canAssign, - 1, - 0, - flags, - start, - line, - column - ); - } - if (parser.token === 10) { - classifyIdentifier(parser, context, token); - if (inNew) report(parser, 49); - return parseArrowFromIdentifier( - parser, - context, - parser.tokenValue, - expr, - inNew, - canAssign, - 0, - start, - line, - column - ); - } - parser.assignable = 1; - return expr; - } - function parseYieldExpression( - parser, - context, - inGroup, - canAssign, - start, - line, - column - ) { - if (inGroup) parser.destructible |= 256; - if (context & 2097152) { - nextToken(parser, context | 32768); - if (context & 8388608) report(parser, 30); - if (!canAssign) report(parser, 24); - if (parser.token === 22) report(parser, 121); - let argument = null; - let delegate = false; - if ((parser.flags & 1) === 0) { - delegate = consumeOpt(parser, context | 32768, 8457014); - if (parser.token & (12288 | 65536) || delegate) { - argument = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } - } - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'YieldExpression', - argument, - delegate - }); - } - if (context & 1024) report(parser, 95, 'yield'); - return parseIdentifierOrArrow( - parser, - context, - start, - line, - column - ); - } - function parseAwaitExpression( - parser, - context, - inNew, - inGroup, - start, - line, - column - ) { - if (inGroup) parser.destructible |= 128; - if (context & 4194304 || (context & 2048 && context & 8192)) { - if (inNew) report(parser, 0); - if (context & 8388608) { - reportMessageAt( - parser.index, - parser.line, - parser.index, - 29 - ); - } - nextToken(parser, context | 32768); - const argument = parseLeftHandSideExpression( - parser, - context, - 0, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - if (parser.token === 8457273) report(parser, 31); - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'AwaitExpression', - argument - }); - } - if (context & 2048) report(parser, 96); - return parseIdentifierOrArrow( - parser, - context, - start, - line, - column - ); - } - function parseFunctionBody( - parser, - context, - scope, - origin, - firstRestricted, - scopeError - ) { - const { tokenPos, linePos, colPos } = parser; - consume(parser, context | 32768, 2162700); - const body = []; - const prevContext = context; - if (parser.token !== 1074790415) { - while (parser.token === 134283267) { - const { index, tokenPos, tokenValue, token } = parser; - const expr = parseLiteral(parser, context); - if ( - isValidStrictMode( - parser, - index, - tokenPos, - tokenValue - ) - ) { - context |= 1024; - if (parser.flags & 128) { - reportMessageAt( - parser.index, - parser.line, - parser.tokenPos, - 64 - ); - } - if (parser.flags & 64) { - reportMessageAt( - parser.index, - parser.line, - parser.tokenPos, - 8 - ); - } - } - body.push( - parseDirective( - parser, - context, - expr, - token, - tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - if (context & 1024) { - if (firstRestricted) { - if ((firstRestricted & 537079808) === 537079808) { - report(parser, 116); - } - if ((firstRestricted & 36864) === 36864) { - report(parser, 38); - } - } - if (parser.flags & 512) report(parser, 116); - if (parser.flags & 256) report(parser, 115); - } - if ( - context & 64 && - scope && - scopeError !== void 0 && - (prevContext & 1024) === 0 && - (context & 8192) === 0 - ) { - reportScopeError(scopeError); - } - } - parser.flags = - (parser.flags | 512 | 256 | 64) ^ (512 | 256 | 64); - parser.destructible = (parser.destructible | 256) ^ 256; - while (parser.token !== 1074790415) { - body.push( - parseStatementListItem(parser, context, scope, 4, {}) - ); - } - consume( - parser, - origin & (16 | 8) ? context | 32768 : context, - 1074790415 - ); - parser.flags &= ~(128 | 64); - if (parser.token === 1077936157) report(parser, 24); - return finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'BlockStatement', - body - }); - } - function parseSuperExpression( - parser, - context, - start, - line, - column - ) { - nextToken(parser, context); - switch (parser.token) { - case 67108991: - report(parser, 162); - case 67174411: { - if ((context & 524288) === 0) report(parser, 26); - if (context & 16384 && !(context & 33554432)) { - report(parser, 27); - } - parser.assignable = 2; - break; - } - case 69271571: - case 67108877: { - if ((context & 262144) === 0) report(parser, 27); - if (context & 16384 && !(context & 33554432)) { - report(parser, 27); - } - parser.assignable = 1; - break; - } - default: - report(parser, 28, 'super'); - } - return finishNode(parser, context, start, line, column, { - type: 'Super' - }); - } - function parseLeftHandSideExpression( - parser, - context, - canAssign, - inGroup, - isLHS, - start, - line, - column - ) { - const expression = parsePrimaryExpression( - parser, - context, - 2, - 0, - canAssign, - inGroup, - isLHS, - start, - line, - column - ); - return parseMemberOrUpdateExpression( - parser, - context, - expression, - inGroup, - 0, - start, - line, - column - ); - } - function parseUpdateExpression( - parser, - context, - expr, - start, - line, - column - ) { - if (parser.assignable & 2) report(parser, 53); - const { token } = parser; - nextToken(parser, context); - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'UpdateExpression', - argument: expr, - operator: KeywordDescTable[token & 255], - prefix: false - }); - } - function parseMemberOrUpdateExpression( - parser, - context, - expr, - inGroup, - inChain, - start, - line, - column - ) { - if ( - (parser.token & 33619968) === 33619968 && - (parser.flags & 1) === 0 - ) { - expr = parseUpdateExpression( - parser, - context, - expr, - start, - line, - column - ); - } else if ((parser.token & 67108864) === 67108864) { - context = (context | 134217728) ^ 134217728; - switch (parser.token) { - case 67108877: { - nextToken( - parser, - (context | 268435456 | 8192) ^ 8192 - ); - if ( - context & 16384 && - parser.token === 131 && - parser.tokenValue === 'super' - ) { - report(parser, 27); - } - parser.assignable = 1; - const property = parsePropertyOrPrivatePropertyName( - parser, - context | 65536 - ); - expr = finishNode( - parser, - context, - start, - line, - column, - { - type: 'MemberExpression', - object: expr, - computed: false, - property - } - ); - break; - } - case 69271571: { - let restoreHasOptionalChaining = false; - if ((parser.flags & 2048) === 2048) { - restoreHasOptionalChaining = true; - parser.flags = (parser.flags | 2048) ^ 2048; - } - nextToken(parser, context | 32768); - const { tokenPos, linePos, colPos } = parser; - const property = parseExpressions( - parser, - context, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - consume(parser, context, 20); - parser.assignable = 1; - expr = finishNode( - parser, - context, - start, - line, - column, - { - type: 'MemberExpression', - object: expr, - computed: true, - property - } - ); - if (restoreHasOptionalChaining) { - parser.flags |= 2048; - } - break; - } - case 67174411: { - if ((parser.flags & 1024) === 1024) { - parser.flags = (parser.flags | 1024) ^ 1024; - return expr; - } - let restoreHasOptionalChaining = false; - if ((parser.flags & 2048) === 2048) { - restoreHasOptionalChaining = true; - parser.flags = (parser.flags | 2048) ^ 2048; - } - const args = parseArguments( - parser, - context, - inGroup - ); - parser.assignable = 2; - expr = finishNode( - parser, - context, - start, - line, - column, - { - type: 'CallExpression', - callee: expr, - arguments: args - } - ); - if (restoreHasOptionalChaining) { - parser.flags |= 2048; - } - break; - } - case 67108991: { - nextToken( - parser, - (context | 268435456 | 8192) ^ 8192 - ); - parser.flags |= 2048; - parser.assignable = 2; - expr = parseOptionalChain( - parser, - context, - expr, - start, - line, - column - ); - break; - } - default: - if ((parser.flags & 2048) === 2048) { - report(parser, 161); - } - parser.assignable = 2; - expr = finishNode( - parser, - context, - start, - line, - column, - { - type: 'TaggedTemplateExpression', - tag: expr, - quasi: - parser.token === 67174408 - ? parseTemplate( - parser, - context | 65536 - ) - : parseTemplateLiteral( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - } - ); - } - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 1, - start, - line, - column - ); - } - if (inChain === 0 && (parser.flags & 2048) === 2048) { - parser.flags = (parser.flags | 2048) ^ 2048; - expr = finishNode(parser, context, start, line, column, { - type: 'ChainExpression', - expression: expr - }); - } - return expr; - } - function parseOptionalChain( - parser, - context, - expr, - start, - line, - column - ) { - let restoreHasOptionalChaining = false; - let node; - if (parser.token === 69271571 || parser.token === 67174411) { - if ((parser.flags & 2048) === 2048) { - restoreHasOptionalChaining = true; - parser.flags = (parser.flags | 2048) ^ 2048; - } - } - if (parser.token === 69271571) { - nextToken(parser, context | 32768); - const { tokenPos, linePos, colPos } = parser; - const property = parseExpressions( - parser, - context, - 0, - 1, - tokenPos, - linePos, - colPos - ); - consume(parser, context, 20); - parser.assignable = 2; - node = finishNode(parser, context, start, line, column, { - type: 'MemberExpression', - object: expr, - computed: true, - optional: true, - property - }); - } else if (parser.token === 67174411) { - const args = parseArguments(parser, context, 0); - parser.assignable = 2; - node = finishNode(parser, context, start, line, column, { - type: 'CallExpression', - callee: expr, - arguments: args, - optional: true - }); - } else { - if ((parser.token & (143360 | 4096)) === 0) - report(parser, 155); - const property = parseIdentifier(parser, context); - parser.assignable = 2; - node = finishNode(parser, context, start, line, column, { - type: 'MemberExpression', - object: expr, - computed: false, - optional: true, - property - }); - } - if (restoreHasOptionalChaining) { - parser.flags |= 2048; - } - return node; - } - function parsePropertyOrPrivatePropertyName(parser, context) { - if ( - (parser.token & (143360 | 4096)) === 0 && - parser.token !== 131 - ) { - report(parser, 155); - } - return context & 1 && parser.token === 131 - ? parsePrivateIdentifier( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - : parseIdentifier(parser, context); - } - function parseUpdateExpressionPrefixed( - parser, - context, - inNew, - isLHS, - start, - line, - column - ) { - if (inNew) report(parser, 54); - if (!isLHS) report(parser, 0); - const { token } = parser; - nextToken(parser, context | 32768); - const arg = parseLeftHandSideExpression( - parser, - context, - 0, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - if (parser.assignable & 2) { - report(parser, 53); - } - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'UpdateExpression', - argument: arg, - operator: KeywordDescTable[token & 255], - prefix: true - }); - } - function parsePrimaryExpression( - parser, - context, - kind, - inNew, - canAssign, - inGroup, - isLHS, - start, - line, - column - ) { - if ((parser.token & 143360) === 143360) { - switch (parser.token) { - case 209008: - return parseAwaitExpression( - parser, - context, - inNew, - inGroup, - start, - line, - column - ); - case 241773: - return parseYieldExpression( - parser, - context, - inGroup, - canAssign, - start, - line, - column - ); - case 209007: - return parseAsyncExpression( - parser, - context, - inGroup, - isLHS, - canAssign, - inNew, - start, - line, - column - ); - } - const { token, tokenValue } = parser; - const expr = parseIdentifier(parser, context | 65536); - if (parser.token === 10) { - if (!isLHS) report(parser, 0); - classifyIdentifier(parser, context, token); - return parseArrowFromIdentifier( - parser, - context, - tokenValue, - expr, - inNew, - canAssign, - 0, - start, - line, - column - ); - } - if (context & 16384 && token === 537079928) - report(parser, 127); - if (token === 241739) { - if (context & 1024) report(parser, 110); - if (kind & (8 | 16)) report(parser, 98); - } - parser.assignable = - context & 1024 && (token & 537079808) === 537079808 - ? 2 - : 1; - return expr; - } - if ((parser.token & 134217728) === 134217728) { - return parseLiteral(parser, context); - } - switch (parser.token) { - case 33619995: - case 33619996: - return parseUpdateExpressionPrefixed( - parser, - context, - inNew, - isLHS, - start, - line, - column - ); - case 16863278: - case 16842800: - case 16842801: - case 25233970: - case 25233971: - case 16863277: - case 16863279: - return parseUnaryExpression( - parser, - context, - isLHS, - start, - line, - column, - inGroup - ); - case 86106: - return parseFunctionExpression( - parser, - context, - 0, - inGroup, - start, - line, - column - ); - case 2162700: - return parseObjectLiteral( - parser, - context, - canAssign ? 0 : 1, - inGroup, - start, - line, - column - ); - case 69271571: - return parseArrayLiteral( - parser, - context, - canAssign ? 0 : 1, - inGroup, - start, - line, - column - ); - case 67174411: - return parseParenthesizedExpression( - parser, - context | 65536, - canAssign, - 1, - 0, - start, - line, - column - ); - case 86021: - case 86022: - case 86023: - return parseNullOrTrueOrFalseLiteral( - parser, - context, - start, - line, - column - ); - case 86113: - return parseThisExpression(parser, context); - case 65540: - return parseRegExpLiteral( - parser, - context, - start, - line, - column - ); - case 133: - case 86096: - return parseClassExpression( - parser, - context, - inGroup, - start, - line, - column - ); - case 86111: - return parseSuperExpression( - parser, - context, - start, - line, - column - ); - case 67174409: - return parseTemplateLiteral( - parser, - context, - start, - line, - column - ); - case 67174408: - return parseTemplate(parser, context); - case 86109: - return parseNewExpression( - parser, - context, - inGroup, - start, - line, - column - ); - case 134283389: - return parseBigIntLiteral( - parser, - context, - start, - line, - column - ); - case 131: - return parsePrivateIdentifier( - parser, - context, - start, - line, - column - ); - case 86108: - return parseImportCallOrMetaExpression( - parser, - context, - inNew, - inGroup, - start, - line, - column - ); - case 8456258: - if (context & 16) - return parseJSXRootElementOrFragment( - parser, - context, - 1, - start, - line, - column - ); - default: - if (isValidIdentifier(context, parser.token)) - return parseIdentifierOrArrow( - parser, - context, - start, - line, - column - ); - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } - } - function parseImportCallOrMetaExpression( - parser, - context, - inNew, - inGroup, - start, - line, - column - ) { - let expr = parseIdentifier(parser, context); - if (parser.token === 67108877) { - return parseImportMetaExpression( - parser, - context, - expr, - start, - line, - column - ); - } - if (inNew) report(parser, 138); - expr = parseImportExpression( - parser, - context, - inGroup, - start, - line, - column - ); - parser.assignable = 2; - return parseMemberOrUpdateExpression( - parser, - context, - expr, - inGroup, - 0, - start, - line, - column - ); - } - function parseImportMetaExpression( - parser, - context, - meta, - start, - line, - column - ) { - if ((context & 2048) === 0) report(parser, 164); - nextToken(parser, context); - if (parser.token !== 143495 && parser.tokenValue !== 'meta') - report(parser, 28, KeywordDescTable[parser.token & 255]); - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'MetaProperty', - meta, - property: parseIdentifier(parser, context) - }); - } - function parseImportExpression( - parser, - context, - inGroup, - start, - line, - column - ) { - consume(parser, context | 32768, 67174411); - if (parser.token === 14) report(parser, 139); - const source = parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context, 16); - return finishNode(parser, context, start, line, column, { - type: 'ImportExpression', - source - }); - } - function parseBigIntLiteral(parser, context, start, line, column) { - const { tokenRaw, tokenValue } = parser; - nextToken(parser, context); - parser.assignable = 2; - return finishNode( - parser, - context, - start, - line, - column, - context & 512 - ? { - type: 'Literal', - value: tokenValue, - bigint: tokenRaw.slice(0, -1), - raw: tokenRaw - } - : { - type: 'Literal', - value: tokenValue, - bigint: tokenRaw.slice(0, -1) - } - ); - } - function parseTemplateLiteral( - parser, - context, - start, - line, - column - ) { - parser.assignable = 2; - const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = - parser; - consume(parser, context, 67174409); - const quasis = [ - parseTemplateElement( - parser, - context, - tokenValue, - tokenRaw, - tokenPos, - linePos, - colPos, - true - ) - ]; - return finishNode(parser, context, start, line, column, { - type: 'TemplateLiteral', - expressions: [], - quasis - }); - } - function parseTemplate(parser, context) { - context = (context | 134217728) ^ 134217728; - const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = - parser; - consume(parser, context | 32768, 67174408); - const quasis = [ - parseTemplateElement( - parser, - context, - tokenValue, - tokenRaw, - tokenPos, - linePos, - colPos, - false - ) - ]; - const expressions = [ - parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ]; - if (parser.token !== 1074790415) report(parser, 81); - while ( - (parser.token = scanTemplateTail(parser, context)) !== - 67174409 - ) { - const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = - parser; - consume(parser, context | 32768, 67174408); - quasis.push( - parseTemplateElement( - parser, - context, - tokenValue, - tokenRaw, - tokenPos, - linePos, - colPos, - false - ) - ); - expressions.push( - parseExpressions( - parser, - context, - 0, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - if (parser.token !== 1074790415) report(parser, 81); - } - { - const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = - parser; - consume(parser, context, 67174409); - quasis.push( - parseTemplateElement( - parser, - context, - tokenValue, - tokenRaw, - tokenPos, - linePos, - colPos, - true - ) - ); - } - return finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'TemplateLiteral', - expressions, - quasis - }); - } - function parseTemplateElement( - parser, - context, - cooked, - raw, - start, - line, - col, - tail - ) { - const node = finishNode(parser, context, start, line, col, { - type: 'TemplateElement', - value: { - cooked, - raw - }, - tail - }); - const tailSize = tail ? 1 : 2; - if (context & 2) { - node.start += 1; - node.range[0] += 1; - node.end -= tailSize; - node.range[1] -= tailSize; - } - if (context & 4) { - node.loc.start.column += 1; - node.loc.end.column -= tailSize; - } - return node; - } - function parseSpreadElement(parser, context, start, line, column) { - context = (context | 134217728) ^ 134217728; - consume(parser, context | 32768, 14); - const argument = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - parser.assignable = 1; - return finishNode(parser, context, start, line, column, { - type: 'SpreadElement', - argument - }); - } - function parseArguments(parser, context, inGroup) { - nextToken(parser, context | 32768); - const args = []; - if (parser.token === 16) { - nextToken(parser, context | 65536); - return args; - } - while (parser.token !== 16) { - if (parser.token === 14) { - args.push( - parseSpreadElement( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } else { - args.push( - parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - if (parser.token !== 18) break; - nextToken(parser, context | 32768); - if (parser.token === 16) break; - } - consume(parser, context, 16); - return args; - } - function parseIdentifier(parser, context) { - const { tokenValue, tokenPos, linePos, colPos } = parser; - nextToken(parser, context); - return finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'Identifier', - name: tokenValue - }); - } - function parseLiteral(parser, context) { - const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = - parser; - if (parser.token === 134283389) { - return parseBigIntLiteral( - parser, - context, - tokenPos, - linePos, - colPos - ); - } - nextToken(parser, context); - parser.assignable = 2; - return finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - context & 512 - ? { - type: 'Literal', - value: tokenValue, - raw: tokenRaw - } - : { - type: 'Literal', - value: tokenValue - } - ); - } - function parseNullOrTrueOrFalseLiteral( - parser, - context, - start, - line, - column - ) { - const raw = KeywordDescTable[parser.token & 255]; - const value = parser.token === 86023 ? null : raw === 'true'; - nextToken(parser, context); - parser.assignable = 2; - return finishNode( - parser, - context, - start, - line, - column, - context & 512 - ? { - type: 'Literal', - value, - raw - } - : { - type: 'Literal', - value - } - ); - } - function parseThisExpression(parser, context) { - const { tokenPos, linePos, colPos } = parser; - nextToken(parser, context); - parser.assignable = 2; - return finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'ThisExpression' - }); - } - function parseFunctionDeclaration( - parser, - context, - scope, - origin, - allowGen, - flags, - isAsync, - start, - line, - column - ) { - nextToken(parser, context | 32768); - const isGenerator = allowGen - ? optionalBit(parser, context, 8457014) - : 0; - let id = null; - let firstRestricted; - let functionScope = scope ? createScope() : void 0; - if (parser.token === 67174411) { - if ((flags & 1) === 0) report(parser, 37, 'Function'); - } else { - const kind = - origin & 4 && - ((context & 8192) === 0 || (context & 2048) === 0) - ? 4 - : 64; - validateFunctionName( - parser, - context | ((context & 3072) << 11), - parser.token - ); - if (scope) { - if (kind & 4) { - addVarName( - parser, - context, - scope, - parser.tokenValue, - kind - ); - } else { - addBlockName( - parser, - context, - scope, - parser.tokenValue, - kind, - origin - ); - } - functionScope = addChildScope(functionScope, 256); - if (flags) { - if (flags & 2) { - declareUnboundVariable( - parser, - parser.tokenValue - ); - } - } - } - firstRestricted = parser.token; - if (parser.token & 143360) { - id = parseIdentifier(parser, context); - } else { - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } - } - context = - ((context | 32243712) ^ 32243712) | - 67108864 | - ((isAsync * 2 + isGenerator) << 21) | - (isGenerator ? 0 : 268435456); - if (scope) functionScope = addChildScope(functionScope, 512); - const params = parseFormalParametersOrFormalList( - parser, - context | 8388608, - functionScope, - 0, - 1 - ); - const body = parseFunctionBody( - parser, - (context | 8192 | 4096 | 131072) ^ (8192 | 4096 | 131072), - scope ? addChildScope(functionScope, 128) : functionScope, - 8, - firstRestricted, - scope ? functionScope.scopeError : void 0 - ); - return finishNode(parser, context, start, line, column, { - type: 'FunctionDeclaration', - id, - params, - body, - async: isAsync === 1, - generator: isGenerator === 1 - }); - } - function parseFunctionExpression( - parser, - context, - isAsync, - inGroup, - start, - line, - column - ) { - nextToken(parser, context | 32768); - const isGenerator = optionalBit(parser, context, 8457014); - const generatorAndAsyncFlags = - (isAsync * 2 + isGenerator) << 21; - let id = null; - let firstRestricted; - let scope = context & 64 ? createScope() : void 0; - if ((parser.token & (143360 | 4096 | 36864)) > 0) { - validateFunctionName( - parser, - ((context | 0x1ec0000) ^ 0x1ec0000) | - generatorAndAsyncFlags, - parser.token - ); - if (scope) scope = addChildScope(scope, 256); - firstRestricted = parser.token; - id = parseIdentifier(parser, context); - } - context = - ((context | 32243712) ^ 32243712) | - 67108864 | - generatorAndAsyncFlags | - (isGenerator ? 0 : 268435456); - if (scope) scope = addChildScope(scope, 512); - const params = parseFormalParametersOrFormalList( - parser, - context | 8388608, - scope, - inGroup, - 1 - ); - const body = parseFunctionBody( - parser, - context & ~(0x8001000 | 8192 | 4096 | 131072 | 16384), - scope ? addChildScope(scope, 128) : scope, - 0, - firstRestricted, - void 0 - ); - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'FunctionExpression', - id, - params, - body, - async: isAsync === 1, - generator: isGenerator === 1 - }); - } - function parseArrayLiteral( - parser, - context, - skipInitializer, - inGroup, - start, - line, - column - ) { - const expr = parseArrayExpressionOrPattern( - parser, - context, - void 0, - skipInitializer, - inGroup, - 0, - 2, - 0, - start, - line, - column - ); - if (context & 256 && parser.destructible & 64) { - report(parser, 61); - } - if (parser.destructible & 8) { - report(parser, 60); - } - return expr; - } - function parseArrayExpressionOrPattern( - parser, - context, - scope, - skipInitializer, - inGroup, - isPattern, - kind, - origin, - start, - line, - column - ) { - nextToken(parser, context | 32768); - const elements = []; - let destructible = 0; - context = (context | 134217728) ^ 134217728; - while (parser.token !== 20) { - if (consumeOpt(parser, context | 32768, 18)) { - elements.push(null); - } else { - let left; - const { token, tokenPos, linePos, colPos, tokenValue } = - parser; - if (token & 143360) { - left = parsePrimaryExpression( - parser, - context, - kind, - 0, - 1, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - if (parser.token === 1077936157) { - if (parser.assignable & 2) report(parser, 24); - nextToken(parser, context | 32768); - if (scope) - addVarOrBlock( - parser, - context, - scope, - tokenValue, - kind, - origin - ); - const right = parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - left = finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - isPattern - ? { - type: 'AssignmentPattern', - left, - right - } - : { - type: 'AssignmentExpression', - operator: '=', - left, - right - } - ); - destructible |= - parser.destructible & 256 - ? 256 - : 0 | (parser.destructible & 128) - ? 128 - : 0; - } else if ( - parser.token === 18 || - parser.token === 20 - ) { - if (parser.assignable & 2) { - destructible |= 16; - } else if (scope) { - addVarOrBlock( - parser, - context, - scope, - tokenValue, - kind, - origin - ); - } - destructible |= - parser.destructible & 256 - ? 256 - : 0 | (parser.destructible & 128) - ? 128 - : 0; - } else { - destructible |= - kind & 1 ? 32 : (kind & 2) === 0 ? 16 : 0; - left = parseMemberOrUpdateExpression( - parser, - context, - left, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - if ( - parser.token !== 18 && - parser.token !== 20 - ) { - if (parser.token !== 1077936157) - destructible |= 16; - left = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - left - ); - } else if (parser.token !== 1077936157) { - destructible |= - parser.assignable & 2 ? 16 : 32; - } - } - } else if (token & 2097152) { - left = - parser.token === 2162700 - ? parseObjectLiteralOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ) - : parseArrayExpressionOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ); - destructible |= parser.destructible; - parser.assignable = - parser.destructible & 16 ? 2 : 1; - if (parser.token === 18 || parser.token === 20) { - if (parser.assignable & 2) { - destructible |= 16; - } - } else if (parser.destructible & 8) { - report(parser, 69); - } else { - left = parseMemberOrUpdateExpression( - parser, - context, - left, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible = parser.assignable & 2 ? 16 : 0; - if ( - parser.token !== 18 && - parser.token !== 20 - ) { - left = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - left - ); - } else if (parser.token !== 1077936157) { - destructible |= - parser.assignable & 2 ? 16 : 32; - } - } - } else if (token === 14) { - left = parseSpreadOrRestElement( - parser, - context, - scope, - 20, - kind, - origin, - 0, - inGroup, - isPattern, - tokenPos, - linePos, - colPos - ); - destructible |= parser.destructible; - if (parser.token !== 18 && parser.token !== 20) - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } else { - left = parseLeftHandSideExpression( - parser, - context, - 1, - 0, - 1, - tokenPos, - linePos, - colPos - ); - if (parser.token !== 18 && parser.token !== 20) { - left = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - left - ); - if ( - (kind & (2 | 1)) === 0 && - token === 67174411 - ) - destructible |= 16; - } else if (parser.assignable & 2) { - destructible |= 16; - } else if (token === 67174411) { - destructible |= - parser.assignable & 1 && kind & (2 | 1) - ? 32 - : 16; - } - } - elements.push(left); - if (consumeOpt(parser, context | 32768, 18)) { - if (parser.token === 20) break; - } else break; - } - } - consume(parser, context, 20); - const node = finishNode(parser, context, start, line, column, { - type: isPattern ? 'ArrayPattern' : 'ArrayExpression', - elements - }); - if (!skipInitializer && parser.token & 4194304) { - return parseArrayOrObjectAssignmentPattern( - parser, - context, - destructible, - inGroup, - isPattern, - start, - line, - column, - node - ); - } - parser.destructible = destructible; - return node; - } - function parseArrayOrObjectAssignmentPattern( - parser, - context, - destructible, - inGroup, - isPattern, - start, - line, - column, - node - ) { - if (parser.token !== 1077936157) report(parser, 24); - nextToken(parser, context | 32768); - if (destructible & 16) report(parser, 24); - if (!isPattern) reinterpretToPattern(parser, node); - const { tokenPos, linePos, colPos } = parser; - const right = parseExpression( - parser, - context, - 1, - inGroup, - tokenPos, - linePos, - colPos - ); - parser.destructible = - ((destructible | 64 | 8) ^ (8 | 64)) | - (parser.destructible & 128 ? 128 : 0) | - (parser.destructible & 256 ? 256 : 0); - return finishNode( - parser, - context, - start, - line, - column, - isPattern - ? { - type: 'AssignmentPattern', - left: node, - right - } - : { - type: 'AssignmentExpression', - left: node, - operator: '=', - right - } - ); - } - function parseSpreadOrRestElement( - parser, - context, - scope, - closingToken, - kind, - origin, - isAsync, - inGroup, - isPattern, - start, - line, - column - ) { - nextToken(parser, context | 32768); - let argument = null; - let destructible = 0; - let { token, tokenValue, tokenPos, linePos, colPos } = parser; - if (token & (4096 | 143360)) { - parser.assignable = 1; - argument = parsePrimaryExpression( - parser, - context, - kind, - 0, - 1, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - token = parser.token; - argument = parseMemberOrUpdateExpression( - parser, - context, - argument, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - if (parser.token !== 18 && parser.token !== closingToken) { - if ( - parser.assignable & 2 && - parser.token === 1077936157 - ) - report(parser, 69); - destructible |= 16; - argument = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - argument - ); - } - if (parser.assignable & 2) { - destructible |= 16; - } else if (token === closingToken || token === 18) { - if (scope) - addVarOrBlock( - parser, - context, - scope, - tokenValue, - kind, - origin - ); - } else { - destructible |= 32; - } - destructible |= parser.destructible & 128 ? 128 : 0; - } else if (token === closingToken) { - report(parser, 39); - } else if (token & 2097152) { - argument = - parser.token === 2162700 - ? parseObjectLiteralOrPattern( - parser, - context, - scope, - 1, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ) - : parseArrayExpressionOrPattern( - parser, - context, - scope, - 1, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ); - token = parser.token; - if ( - token !== 1077936157 && - token !== closingToken && - token !== 18 - ) { - if (parser.destructible & 8) report(parser, 69); - argument = parseMemberOrUpdateExpression( - parser, - context, - argument, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible |= parser.assignable & 2 ? 16 : 0; - if ((parser.token & 4194304) === 4194304) { - if (parser.token !== 1077936157) destructible |= 16; - argument = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - argument - ); - } else { - if ((parser.token & 8454144) === 8454144) { - argument = parseBinaryExpression( - parser, - context, - 1, - tokenPos, - linePos, - colPos, - 4, - token, - argument - ); - } - if (consumeOpt(parser, context | 32768, 22)) { - argument = parseConditionalExpression( - parser, - context, - argument, - tokenPos, - linePos, - colPos - ); - } - destructible |= parser.assignable & 2 ? 16 : 32; - } - } else { - destructible |= - closingToken === 1074790415 && token !== 1077936157 - ? 16 - : parser.destructible; - } - } else { - destructible |= 32; - argument = parseLeftHandSideExpression( - parser, - context, - 1, - inGroup, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - const { token, tokenPos, linePos, colPos } = parser; - if ( - token === 1077936157 && - token !== closingToken && - token !== 18 - ) { - if (parser.assignable & 2) report(parser, 24); - argument = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - argument - ); - destructible |= 16; - } else { - if (token === 18) { - destructible |= 16; - } else if (token !== closingToken) { - argument = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - argument - ); - } - destructible |= parser.assignable & 1 ? 32 : 16; - } - parser.destructible = destructible; - if (parser.token !== closingToken && parser.token !== 18) - report(parser, 156); - return finishNode(parser, context, start, line, column, { - type: isPattern ? 'RestElement' : 'SpreadElement', - argument: argument - }); - } - if (parser.token !== closingToken) { - if (kind & 1) destructible |= isAsync ? 16 : 32; - if (consumeOpt(parser, context | 32768, 1077936157)) { - if (destructible & 16) report(parser, 24); - reinterpretToPattern(parser, argument); - const right = parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - argument = finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - isPattern - ? { - type: 'AssignmentPattern', - left: argument, - right - } - : { - type: 'AssignmentExpression', - left: argument, - operator: '=', - right - } - ); - destructible = 16; - } else { - destructible |= 16; - } - } - parser.destructible = destructible; - return finishNode(parser, context, start, line, column, { - type: isPattern ? 'RestElement' : 'SpreadElement', - argument: argument - }); - } - function parseMethodDefinition( - parser, - context, - kind, - inGroup, - start, - line, - column - ) { - const modifierFlags = (kind & 64) === 0 ? 31981568 : 14680064; - context = - ((context | modifierFlags) ^ modifierFlags) | - ((kind & 88) << 18) | - 100925440; - let scope = - context & 64 ? addChildScope(createScope(), 512) : void 0; - const params = parseMethodFormals( - parser, - context | 8388608, - scope, - kind, - 1, - inGroup - ); - if (scope) scope = addChildScope(scope, 128); - const body = parseFunctionBody( - parser, - context & ~(0x8001000 | 8192), - scope, - 0, - void 0, - void 0 - ); - return finishNode(parser, context, start, line, column, { - type: 'FunctionExpression', - params, - body, - async: (kind & 16) > 0, - generator: (kind & 8) > 0, - id: null - }); - } - function parseObjectLiteral( - parser, - context, - skipInitializer, - inGroup, - start, - line, - column - ) { - const expr = parseObjectLiteralOrPattern( - parser, - context, - void 0, - skipInitializer, - inGroup, - 0, - 2, - 0, - start, - line, - column - ); - if (context & 256 && parser.destructible & 64) { - report(parser, 61); - } - if (parser.destructible & 8) { - report(parser, 60); - } - return expr; - } - function parseObjectLiteralOrPattern( - parser, - context, - scope, - skipInitializer, - inGroup, - isPattern, - kind, - origin, - start, - line, - column - ) { - nextToken(parser, context); - const properties = []; - let destructible = 0; - let prototypeCount = 0; - context = (context | 134217728) ^ 134217728; - while (parser.token !== 1074790415) { - const { token, tokenValue, linePos, colPos, tokenPos } = - parser; - if (token === 14) { - properties.push( - parseSpreadOrRestElement( - parser, - context, - scope, - 1074790415, - kind, - origin, - 0, - inGroup, - isPattern, - tokenPos, - linePos, - colPos - ) - ); - } else { - let state = 0; - let key = null; - let value; - const t = parser.token; - if ( - parser.token & (143360 | 4096) || - parser.token === 121 - ) { - key = parseIdentifier(parser, context); - if ( - parser.token === 18 || - parser.token === 1074790415 || - parser.token === 1077936157 - ) { - state |= 4; - if ( - context & 1024 && - (token & 537079808) === 537079808 - ) { - destructible |= 16; - } else { - validateBindingIdentifier( - parser, - context, - kind, - token, - 0 - ); - } - if (scope) - addVarOrBlock( - parser, - context, - scope, - tokenValue, - kind, - origin - ); - if ( - consumeOpt( - parser, - context | 32768, - 1077936157 - ) - ) { - destructible |= 8; - const right = parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - destructible |= - parser.destructible & 256 - ? 256 - : 0 | (parser.destructible & 128) - ? 128 - : 0; - value = finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - { - type: 'AssignmentPattern', - left: - context & 536870912 - ? Object.assign({}, key) - : key, - right - } - ); - } else { - destructible |= - (token === 209008 ? 128 : 0) | - (token === 121 ? 16 : 0); - value = - context & 536870912 - ? Object.assign({}, key) - : key; - } - } else if ( - consumeOpt(parser, context | 32768, 21) - ) { - const { tokenPos, linePos, colPos } = parser; - if (tokenValue === '__proto__') - prototypeCount++; - if (parser.token & 143360) { - const tokenAfterColon = parser.token; - const valueAfterColon = parser.tokenValue; - destructible |= t === 121 ? 16 : 0; - value = parsePrimaryExpression( - parser, - context, - kind, - 0, - 1, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - const { token } = parser; - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if ( - token === 1077936157 || - token === 1074790415 || - token === 18 - ) { - destructible |= - parser.destructible & 128 - ? 128 - : 0; - if (parser.assignable & 2) { - destructible |= 16; - } else if ( - scope && - (tokenAfterColon & 143360) === - 143360 - ) { - addVarOrBlock( - parser, - context, - scope, - valueAfterColon, - kind, - origin - ); - } - } else { - destructible |= - parser.assignable & 1 ? 32 : 16; - } - } else if ( - (parser.token & 4194304) === - 4194304 - ) { - if (parser.assignable & 2) { - destructible |= 16; - } else if (token !== 1077936157) { - destructible |= 32; - } else if (scope) { - addVarOrBlock( - parser, - context, - scope, - valueAfterColon, - kind, - origin - ); - } - value = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } else { - destructible |= 16; - if ( - (parser.token & 8454144) === - 8454144 - ) { - value = parseBinaryExpression( - parser, - context, - 1, - tokenPos, - linePos, - colPos, - 4, - token, - value - ); - } - if ( - consumeOpt( - parser, - context | 32768, - 22 - ) - ) { - value = parseConditionalExpression( - parser, - context, - value, - tokenPos, - linePos, - colPos - ); - } - } - } else if ( - (parser.token & 2097152) === - 2097152 - ) { - value = - parser.token === 69271571 - ? parseArrayExpressionOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ) - : parseObjectLiteralOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ); - destructible = parser.destructible; - parser.assignable = - destructible & 16 ? 2 : 1; - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if (parser.assignable & 2) - destructible |= 16; - } else if (parser.destructible & 8) { - report(parser, 69); - } else { - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible = - parser.assignable & 2 ? 16 : 0; - if ( - (parser.token & 4194304) === - 4194304 - ) { - value = - parseAssignmentExpressionOrPattern( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } else { - if ( - (parser.token & 8454144) === - 8454144 - ) { - value = parseBinaryExpression( - parser, - context, - 1, - tokenPos, - linePos, - colPos, - 4, - token, - value - ); - } - if ( - consumeOpt( - parser, - context | 32768, - 22 - ) - ) { - value = - parseConditionalExpression( - parser, - context, - value, - tokenPos, - linePos, - colPos - ); - } - destructible |= - parser.assignable & 2 ? 16 : 32; - } - } - } else { - value = parseLeftHandSideExpression( - parser, - context, - 1, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - destructible |= - parser.assignable & 1 ? 32 : 16; - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if (parser.assignable & 2) - destructible |= 16; - } else { - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible = - parser.assignable & 2 ? 16 : 0; - if ( - parser.token !== 18 && - token !== 1074790415 - ) { - if (parser.token !== 1077936157) - destructible |= 16; - value = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } - } - } - } else if (parser.token === 69271571) { - destructible |= 16; - if (token === 209007) state |= 16; - state |= - (token === 12402 - ? 256 - : token === 12403 - ? 512 - : 1) | 2; - key = parseComputedPropertyName( - parser, - context, - inGroup - ); - destructible |= parser.assignable; - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else if (parser.token & (143360 | 4096)) { - destructible |= 16; - if (token === 121) report(parser, 93); - if (token === 209007) { - if (parser.flags & 1) report(parser, 129); - state |= 16; - } - key = parseIdentifier(parser, context); - state |= - token === 12402 - ? 256 - : token === 12403 - ? 512 - : 1; - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else if (parser.token === 67174411) { - destructible |= 16; - state |= 1; - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else if (parser.token === 8457014) { - destructible |= 16; - if (token === 12402) { - report(parser, 40); - } else if (token === 12403) { - report(parser, 41); - } else if (token === 143483) { - report(parser, 93); - } - nextToken(parser, context); - state |= 8 | 1 | (token === 209007 ? 16 : 0); - if (parser.token & 143360) { - key = parseIdentifier(parser, context); - } else if ( - (parser.token & 134217728) === - 134217728 - ) { - key = parseLiteral(parser, context); - } else if (parser.token === 69271571) { - state |= 2; - key = parseComputedPropertyName( - parser, - context, - inGroup - ); - destructible |= parser.assignable; - } else { - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else if ( - (parser.token & 134217728) === - 134217728 - ) { - if (token === 209007) state |= 16; - state |= - token === 12402 - ? 256 - : token === 12403 - ? 512 - : 1; - destructible |= 16; - key = parseLiteral(parser, context); - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else { - report(parser, 130); - } - } else if ((parser.token & 134217728) === 134217728) { - key = parseLiteral(parser, context); - if (parser.token === 21) { - consume(parser, context | 32768, 21); - const { tokenPos, linePos, colPos } = parser; - if (tokenValue === '__proto__') - prototypeCount++; - if (parser.token & 143360) { - value = parsePrimaryExpression( - parser, - context, - kind, - 0, - 1, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - const { - token, - tokenValue: valueAfterColon - } = parser; - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if ( - token === 1077936157 || - token === 1074790415 || - token === 18 - ) { - if (parser.assignable & 2) { - destructible |= 16; - } else if (scope) { - addVarOrBlock( - parser, - context, - scope, - valueAfterColon, - kind, - origin - ); - } - } else { - destructible |= - parser.assignable & 1 ? 32 : 16; - } - } else if (parser.token === 1077936157) { - if (parser.assignable & 2) - destructible |= 16; - value = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } else { - destructible |= 16; - value = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } - } else if ( - (parser.token & 2097152) === - 2097152 - ) { - value = - parser.token === 69271571 - ? parseArrayExpressionOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ) - : parseObjectLiteralOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ); - destructible = parser.destructible; - parser.assignable = - destructible & 16 ? 2 : 1; - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if (parser.assignable & 2) { - destructible |= 16; - } - } else if ( - (parser.destructible & 8) !== - 8 - ) { - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible = - parser.assignable & 2 ? 16 : 0; - if ( - (parser.token & 4194304) === - 4194304 - ) { - value = - parseAssignmentExpressionOrPattern( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } else { - if ( - (parser.token & 8454144) === - 8454144 - ) { - value = parseBinaryExpression( - parser, - context, - 1, - tokenPos, - linePos, - colPos, - 4, - token, - value - ); - } - if ( - consumeOpt( - parser, - context | 32768, - 22 - ) - ) { - value = - parseConditionalExpression( - parser, - context, - value, - tokenPos, - linePos, - colPos - ); - } - destructible |= - parser.assignable & 2 ? 16 : 32; - } - } - } else { - value = parseLeftHandSideExpression( - parser, - context, - 1, - 0, - 1, - tokenPos, - linePos, - colPos - ); - destructible |= - parser.assignable & 1 ? 32 : 16; - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if (parser.assignable & 2) { - destructible |= 16; - } - } else { - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible = - parser.assignable & 1 ? 0 : 16; - if ( - parser.token !== 18 && - parser.token !== 1074790415 - ) { - if (parser.token !== 1077936157) - destructible |= 16; - value = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } - } - } - } else if (parser.token === 67174411) { - state |= 1; - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - destructible = parser.assignable | 16; - } else { - report(parser, 131); - } - } else if (parser.token === 69271571) { - key = parseComputedPropertyName( - parser, - context, - inGroup - ); - destructible |= parser.destructible & 256 ? 256 : 0; - state |= 2; - if (parser.token === 21) { - nextToken(parser, context | 32768); - const { - tokenPos, - linePos, - colPos, - tokenValue, - token: tokenAfterColon - } = parser; - if (parser.token & 143360) { - value = parsePrimaryExpression( - parser, - context, - kind, - 0, - 1, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - const { token } = parser; - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - if ((parser.token & 4194304) === 4194304) { - destructible |= - parser.assignable & 2 - ? 16 - : token === 1077936157 - ? 0 - : 32; - value = - parseAssignmentExpressionOrPattern( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } else if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if ( - token === 1077936157 || - token === 1074790415 || - token === 18 - ) { - if (parser.assignable & 2) { - destructible |= 16; - } else if ( - scope && - (tokenAfterColon & 143360) === - 143360 - ) { - addVarOrBlock( - parser, - context, - scope, - tokenValue, - kind, - origin - ); - } - } else { - destructible |= - parser.assignable & 1 ? 32 : 16; - } - } else { - destructible |= 16; - value = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } - } else if ( - (parser.token & 2097152) === - 2097152 - ) { - value = - parser.token === 69271571 - ? parseArrayExpressionOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ) - : parseObjectLiteralOrPattern( - parser, - context, - scope, - 0, - inGroup, - isPattern, - kind, - origin, - tokenPos, - linePos, - colPos - ); - destructible = parser.destructible; - parser.assignable = - destructible & 16 ? 2 : 1; - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if (parser.assignable & 2) - destructible |= 16; - } else if (destructible & 8) { - report(parser, 60); - } else { - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible = - parser.assignable & 2 - ? destructible | 16 - : 0; - if ( - (parser.token & 4194304) === - 4194304 - ) { - if (parser.token !== 1077936157) - destructible |= 16; - value = - parseAssignmentExpressionOrPattern( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } else { - if ( - (parser.token & 8454144) === - 8454144 - ) { - value = parseBinaryExpression( - parser, - context, - 1, - tokenPos, - linePos, - colPos, - 4, - token, - value - ); - } - if ( - consumeOpt( - parser, - context | 32768, - 22 - ) - ) { - value = - parseConditionalExpression( - parser, - context, - value, - tokenPos, - linePos, - colPos - ); - } - destructible |= - parser.assignable & 2 ? 16 : 32; - } - } - } else { - value = parseLeftHandSideExpression( - parser, - context, - 1, - 0, - 1, - tokenPos, - linePos, - colPos - ); - destructible |= - parser.assignable & 1 ? 32 : 16; - if ( - parser.token === 18 || - parser.token === 1074790415 - ) { - if (parser.assignable & 2) - destructible |= 16; - } else { - value = parseMemberOrUpdateExpression( - parser, - context, - value, - inGroup, - 0, - tokenPos, - linePos, - colPos - ); - destructible = - parser.assignable & 1 ? 0 : 16; - if ( - parser.token !== 18 && - parser.token !== 1074790415 - ) { - if (parser.token !== 1077936157) - destructible |= 16; - value = parseAssignmentExpression( - parser, - context, - inGroup, - isPattern, - tokenPos, - linePos, - colPos, - value - ); - } - } - } - } else if (parser.token === 67174411) { - state |= 1; - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - linePos, - colPos - ); - destructible = 16; - } else { - report(parser, 42); - } - } else if (token === 8457014) { - consume(parser, context | 32768, 8457014); - state |= 8; - if (parser.token & 143360) { - const { token, line, index } = parser; - key = parseIdentifier(parser, context); - state |= 1; - if (parser.token === 67174411) { - destructible |= 16; - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else { - reportMessageAt( - index, - line, - index, - token === 209007 - ? 44 - : token === 12402 || - parser.token === 12403 - ? 43 - : 45, - KeywordDescTable[token & 255] - ); - } - } else if ( - (parser.token & 134217728) === - 134217728 - ) { - destructible |= 16; - key = parseLiteral(parser, context); - state |= 1; - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - tokenPos, - linePos, - colPos - ); - } else if (parser.token === 69271571) { - destructible |= 16; - state |= 2 | 1; - key = parseComputedPropertyName( - parser, - context, - inGroup - ); - value = parseMethodDefinition( - parser, - context, - state, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else { - report(parser, 123); - } - } else { - report(parser, 28, KeywordDescTable[token & 255]); - } - destructible |= parser.destructible & 128 ? 128 : 0; - parser.destructible = destructible; - properties.push( - finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - { - type: 'Property', - key: key, - value, - kind: !(state & 768) - ? 'init' - : state & 512 - ? 'set' - : 'get', - computed: (state & 2) > 0, - method: (state & 1) > 0, - shorthand: (state & 4) > 0 - } - ) - ); - } - destructible |= parser.destructible; - if (parser.token !== 18) break; - nextToken(parser, context); - } - consume(parser, context, 1074790415); - if (prototypeCount > 1) destructible |= 64; - const node = finishNode(parser, context, start, line, column, { - type: isPattern ? 'ObjectPattern' : 'ObjectExpression', - properties - }); - if (!skipInitializer && parser.token & 4194304) { - return parseArrayOrObjectAssignmentPattern( - parser, - context, - destructible, - inGroup, - isPattern, - start, - line, - column, - node - ); - } - parser.destructible = destructible; - return node; - } - function parseMethodFormals( - parser, - context, - scope, - kind, - type, - inGroup - ) { - consume(parser, context, 67174411); - const params = []; - parser.flags = (parser.flags | 128) ^ 128; - if (parser.token === 16) { - if (kind & 512) { - report(parser, 35, 'Setter', 'one', ''); - } - nextToken(parser, context); - return params; - } - if (kind & 256) { - report(parser, 35, 'Getter', 'no', 's'); - } - if (kind & 512 && parser.token === 14) { - report(parser, 36); - } - context = (context | 134217728) ^ 134217728; - let setterArgs = 0; - let isSimpleParameterList = 0; - while (parser.token !== 18) { - let left = null; - const { tokenPos, linePos, colPos } = parser; - if (parser.token & 143360) { - if ((context & 1024) === 0) { - if ((parser.token & 36864) === 36864) { - parser.flags |= 256; - } - if ((parser.token & 537079808) === 537079808) { - parser.flags |= 512; - } - } - left = parseAndClassifyIdentifier( - parser, - context, - scope, - kind | 1, - 0, - tokenPos, - linePos, - colPos - ); - } else { - if (parser.token === 2162700) { - left = parseObjectLiteralOrPattern( - parser, - context, - scope, - 1, - inGroup, - 1, - type, - 0, - tokenPos, - linePos, - colPos - ); - } else if (parser.token === 69271571) { - left = parseArrayExpressionOrPattern( - parser, - context, - scope, - 1, - inGroup, - 1, - type, - 0, - tokenPos, - linePos, - colPos - ); - } else if (parser.token === 14) { - left = parseSpreadOrRestElement( - parser, - context, - scope, - 16, - type, - 0, - 0, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - } - isSimpleParameterList = 1; - if (parser.destructible & (32 | 16)) report(parser, 48); - } - if (parser.token === 1077936157) { - nextToken(parser, context | 32768); - isSimpleParameterList = 1; - const right = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - left = finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - { - type: 'AssignmentPattern', - left: left, - right - } - ); - } - setterArgs++; - params.push(left); - if (!consumeOpt(parser, context, 18)) break; - if (parser.token === 16) { - break; - } - } - if (kind & 512 && setterArgs !== 1) { - report(parser, 35, 'Setter', 'one', ''); - } - if (scope && scope.scopeError !== void 0) - reportScopeError(scope.scopeError); - if (isSimpleParameterList) parser.flags |= 128; - consume(parser, context, 16); - return params; - } - function parseComputedPropertyName(parser, context, inGroup) { - nextToken(parser, context | 32768); - const key = parseExpression( - parser, - (context | 134217728) ^ 134217728, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context, 20); - return key; - } - function parseParenthesizedExpression( - parser, - context, - canAssign, - kind, - origin, - start, - line, - column - ) { - parser.flags = (parser.flags | 128) ^ 128; - const { - tokenPos: piStart, - linePos: plStart, - colPos: pcStart - } = parser; - nextToken(parser, context | 32768 | 268435456); - const scope = - context & 64 ? addChildScope(createScope(), 1024) : void 0; - context = (context | 134217728) ^ 134217728; - if (consumeOpt(parser, context, 16)) { - return parseParenthesizedArrow( - parser, - context, - scope, - [], - canAssign, - 0, - start, - line, - column - ); - } - let destructible = 0; - parser.destructible &= ~(256 | 128); - let expr; - let expressions = []; - let isSequence = 0; - let isSimpleParameterList = 0; - const { - tokenPos: iStart, - linePos: lStart, - colPos: cStart - } = parser; - parser.assignable = 1; - while (parser.token !== 16) { - const { token, tokenPos, linePos, colPos } = parser; - if (token & (143360 | 4096)) { - if (scope) - addBlockName( - parser, - context, - scope, - parser.tokenValue, - 1, - 0 - ); - expr = parsePrimaryExpression( - parser, - context, - kind, - 0, - 1, - 1, - 1, - tokenPos, - linePos, - colPos - ); - if (parser.token === 16 || parser.token === 18) { - if (parser.assignable & 2) { - destructible |= 16; - isSimpleParameterList = 1; - } else if ( - (token & 537079808) === 537079808 || - (token & 36864) === 36864 - ) { - isSimpleParameterList = 1; - } - } else { - if (parser.token === 1077936157) { - isSimpleParameterList = 1; - } else { - destructible |= 16; - } - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 1, - 0, - tokenPos, - linePos, - colPos - ); - if (parser.token !== 16 && parser.token !== 18) { - expr = parseAssignmentExpression( - parser, - context, - 1, - 0, - tokenPos, - linePos, - colPos, - expr - ); - } - } - } else if ((token & 2097152) === 2097152) { - expr = - token === 2162700 - ? parseObjectLiteralOrPattern( - parser, - context | 268435456, - scope, - 0, - 1, - 0, - kind, - origin, - tokenPos, - linePos, - colPos - ) - : parseArrayExpressionOrPattern( - parser, - context | 268435456, - scope, - 0, - 1, - 0, - kind, - origin, - tokenPos, - linePos, - colPos - ); - destructible |= parser.destructible; - isSimpleParameterList = 1; - parser.assignable = 2; - if (parser.token !== 16 && parser.token !== 18) { - if (destructible & 8) report(parser, 119); - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 0, - tokenPos, - linePos, - colPos - ); - destructible |= 16; - if (parser.token !== 16 && parser.token !== 18) { - expr = parseAssignmentExpression( - parser, - context, - 0, - 0, - tokenPos, - linePos, - colPos, - expr - ); - } - } - } else if (token === 14) { - expr = parseSpreadOrRestElement( - parser, - context, - scope, - 16, - kind, - origin, - 0, - 1, - 0, - tokenPos, - linePos, - colPos - ); - if (parser.destructible & 16) report(parser, 72); - isSimpleParameterList = 1; - if ( - isSequence && - (parser.token === 16 || parser.token === 18) - ) { - expressions.push(expr); - } - destructible |= 8; - break; - } else { - destructible |= 16; - expr = parseExpression( - parser, - context, - 1, - 1, - tokenPos, - linePos, - colPos - ); - if ( - isSequence && - (parser.token === 16 || parser.token === 18) - ) { - expressions.push(expr); - } - if (parser.token === 18) { - if (!isSequence) { - isSequence = 1; - expressions = [expr]; - } - } - if (isSequence) { - while (consumeOpt(parser, context | 32768, 18)) { - expressions.push( - parseExpression( - parser, - context, - 1, - 1, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - parser.assignable = 2; - expr = finishNode( - parser, - context, - iStart, - lStart, - cStart, - { - type: 'SequenceExpression', - expressions - } - ); - } - consume(parser, context, 16); - parser.destructible = destructible; - return expr; - } - if ( - isSequence && - (parser.token === 16 || parser.token === 18) - ) { - expressions.push(expr); - } - if (!consumeOpt(parser, context | 32768, 18)) break; - if (!isSequence) { - isSequence = 1; - expressions = [expr]; - } - if (parser.token === 16) { - destructible |= 8; - break; - } - } - if (isSequence) { - parser.assignable = 2; - expr = finishNode(parser, context, iStart, lStart, cStart, { - type: 'SequenceExpression', - expressions - }); - } - consume(parser, context, 16); - if (destructible & 16 && destructible & 8) report(parser, 146); - destructible |= - parser.destructible & 256 - ? 256 - : 0 | (parser.destructible & 128) - ? 128 - : 0; - if (parser.token === 10) { - if (destructible & (32 | 16)) report(parser, 47); - if (context & (4194304 | 2048) && destructible & 128) - report(parser, 29); - if (context & (1024 | 2097152) && destructible & 256) { - report(parser, 30); - } - if (isSimpleParameterList) parser.flags |= 128; - return parseParenthesizedArrow( - parser, - context, - scope, - isSequence ? expressions : [expr], - canAssign, - 0, - start, - line, - column - ); - } else if (destructible & 8) { - report(parser, 140); - } - parser.destructible = - ((parser.destructible | 256) ^ 256) | destructible; - return context & 128 - ? finishNode(parser, context, piStart, plStart, pcStart, { - type: 'ParenthesizedExpression', - expression: expr - }) - : expr; - } - function parseIdentifierOrArrow( - parser, - context, - start, - line, - column - ) { - const { tokenValue } = parser; - const expr = parseIdentifier(parser, context); - parser.assignable = 1; - if (parser.token === 10) { - let scope = void 0; - if (context & 64) - scope = createArrowHeadParsingScope( - parser, - context, - tokenValue - ); - parser.flags = (parser.flags | 128) ^ 128; - return parseArrowFunctionExpression( - parser, - context, - scope, - [expr], - 0, - start, - line, - column - ); - } - return expr; - } - function parseArrowFromIdentifier( - parser, - context, - value, - expr, - inNew, - canAssign, - isAsync, - start, - line, - column - ) { - if (!canAssign) report(parser, 55); - if (inNew) report(parser, 49); - parser.flags &= ~128; - const scope = - context & 64 - ? createArrowHeadParsingScope(parser, context, value) - : void 0; - return parseArrowFunctionExpression( - parser, - context, - scope, - [expr], - isAsync, - start, - line, - column - ); - } - function parseParenthesizedArrow( - parser, - context, - scope, - params, - canAssign, - isAsync, - start, - line, - column - ) { - if (!canAssign) report(parser, 55); - for (let i = 0; i < params.length; ++i) - reinterpretToPattern(parser, params[i]); - return parseArrowFunctionExpression( - parser, - context, - scope, - params, - isAsync, - start, - line, - column - ); - } - function parseArrowFunctionExpression( - parser, - context, - scope, - params, - isAsync, - start, - line, - column - ) { - if (parser.flags & 1) report(parser, 46); - consume(parser, context | 32768, 10); - context = ((context | 15728640) ^ 15728640) | (isAsync << 22); - const expression = parser.token !== 2162700; - let body; - if (scope && scope.scopeError !== void 0) { - reportScopeError(scope.scopeError); - } - if (expression) { - body = parseExpression( - parser, - context & 16384 ? context | 33554432 : context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - } else { - if (scope) scope = addChildScope(scope, 128); - body = parseFunctionBody( - parser, - (context | 134221824 | 8192 | 16384) ^ - (134221824 | 8192 | 16384), - scope, - 16, - void 0, - void 0 - ); - switch (parser.token) { - case 69271571: - if ((parser.flags & 1) === 0) { - report(parser, 113); - } - break; - case 67108877: - case 67174409: - case 22: - report(parser, 114); - case 67174411: - if ((parser.flags & 1) === 0) { - report(parser, 113); - } - parser.flags |= 1024; - break; - } - if ( - (parser.token & 8454144) === 8454144 && - (parser.flags & 1) === 0 - ) - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - if ((parser.token & 33619968) === 33619968) - report(parser, 122); - } - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'ArrowFunctionExpression', - params, - body, - async: isAsync === 1, - expression - }); - } - function parseFormalParametersOrFormalList( - parser, - context, - scope, - inGroup, - kind - ) { - consume(parser, context, 67174411); - parser.flags = (parser.flags | 128) ^ 128; - const params = []; - if (consumeOpt(parser, context, 16)) return params; - context = (context | 134217728) ^ 134217728; - let isSimpleParameterList = 0; - while (parser.token !== 18) { - let left; - const { tokenPos, linePos, colPos } = parser; - if (parser.token & 143360) { - if ((context & 1024) === 0) { - if ((parser.token & 36864) === 36864) { - parser.flags |= 256; - } - if ((parser.token & 537079808) === 537079808) { - parser.flags |= 512; - } - } - left = parseAndClassifyIdentifier( - parser, - context, - scope, - kind | 1, - 0, - tokenPos, - linePos, - colPos - ); - } else { - if (parser.token === 2162700) { - left = parseObjectLiteralOrPattern( - parser, - context, - scope, - 1, - inGroup, - 1, - kind, - 0, - tokenPos, - linePos, - colPos - ); - } else if (parser.token === 69271571) { - left = parseArrayExpressionOrPattern( - parser, - context, - scope, - 1, - inGroup, - 1, - kind, - 0, - tokenPos, - linePos, - colPos - ); - } else if (parser.token === 14) { - left = parseSpreadOrRestElement( - parser, - context, - scope, - 16, - kind, - 0, - 0, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - } else { - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } - isSimpleParameterList = 1; - if (parser.destructible & (32 | 16)) { - report(parser, 48); - } - } - if (parser.token === 1077936157) { - nextToken(parser, context | 32768); - isSimpleParameterList = 1; - const right = parseExpression( - parser, - context, - 1, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - left = finishNode( - parser, - context, - tokenPos, - linePos, - colPos, - { - type: 'AssignmentPattern', - left, - right - } - ); - } - params.push(left); - if (!consumeOpt(parser, context, 18)) break; - if (parser.token === 16) { - break; - } - } - if (isSimpleParameterList) parser.flags |= 128; - if ( - scope && - (isSimpleParameterList || context & 1024) && - scope.scopeError !== void 0 - ) { - reportScopeError(scope.scopeError); - } - consume(parser, context, 16); - return params; - } - function parseMembeExpressionNoCall( - parser, - context, - expr, - inGroup, - start, - line, - column - ) { - const { token } = parser; - if (token & 67108864) { - if (token === 67108877) { - nextToken(parser, context | 268435456); - parser.assignable = 1; - const property = parsePropertyOrPrivatePropertyName( - parser, - context - ); - return parseMembeExpressionNoCall( - parser, - context, - finishNode(parser, context, start, line, column, { - type: 'MemberExpression', - object: expr, - computed: false, - property - }), - 0, - start, - line, - column - ); - } else if (token === 69271571) { - nextToken(parser, context | 32768); - const { tokenPos, linePos, colPos } = parser; - const property = parseExpressions( - parser, - context, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - consume(parser, context, 20); - parser.assignable = 1; - return parseMembeExpressionNoCall( - parser, - context, - finishNode(parser, context, start, line, column, { - type: 'MemberExpression', - object: expr, - computed: true, - property - }), - 0, - start, - line, - column - ); - } else if (token === 67174408 || token === 67174409) { - parser.assignable = 2; - return parseMembeExpressionNoCall( - parser, - context, - finishNode(parser, context, start, line, column, { - type: 'TaggedTemplateExpression', - tag: expr, - quasi: - parser.token === 67174408 - ? parseTemplate(parser, context | 65536) - : parseTemplateLiteral( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - }), - 0, - start, - line, - column - ); - } - } - return expr; - } - function parseNewExpression( - parser, - context, - inGroup, - start, - line, - column - ) { - const id = parseIdentifier(parser, context | 32768); - const { tokenPos, linePos, colPos } = parser; - if (consumeOpt(parser, context, 67108877)) { - if (context & 67108864 && parser.token === 143494) { - parser.assignable = 2; - return parseMetaProperty( - parser, - context, - id, - start, - line, - column - ); - } - report(parser, 92); - } - parser.assignable = 2; - if ((parser.token & 16842752) === 16842752) { - report(parser, 63, KeywordDescTable[parser.token & 255]); - } - const expr = parsePrimaryExpression( - parser, - context, - 2, - 1, - 0, - inGroup, - 1, - tokenPos, - linePos, - colPos - ); - context = (context | 134217728) ^ 134217728; - if (parser.token === 67108991) report(parser, 163); - const callee = parseMembeExpressionNoCall( - parser, - context, - expr, - inGroup, - tokenPos, - linePos, - colPos - ); - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'NewExpression', - callee, - arguments: - parser.token === 67174411 - ? parseArguments(parser, context, inGroup) - : [] - }); - } - function parseMetaProperty( - parser, - context, - meta, - start, - line, - column - ) { - const property = parseIdentifier(parser, context); - return finishNode(parser, context, start, line, column, { - type: 'MetaProperty', - meta, - property - }); - } - function parseAsyncArrowAfterIdent( - parser, - context, - canAssign, - start, - line, - column - ) { - if (parser.token === 209008) report(parser, 29); - if (context & (1024 | 2097152) && parser.token === 241773) { - report(parser, 30); - } - if ((parser.token & 537079808) === 537079808) { - parser.flags |= 512; - } - return parseArrowFromIdentifier( - parser, - context, - parser.tokenValue, - parseIdentifier(parser, context), - 0, - canAssign, - 1, - start, - line, - column - ); - } - function parseAsyncArrowOrCallExpression( - parser, - context, - callee, - canAssign, - kind, - origin, - flags, - start, - line, - column - ) { - nextToken(parser, context | 32768); - const scope = - context & 64 ? addChildScope(createScope(), 1024) : void 0; - context = (context | 134217728) ^ 134217728; - if (consumeOpt(parser, context, 16)) { - if (parser.token === 10) { - if (flags & 1) report(parser, 46); - return parseParenthesizedArrow( - parser, - context, - scope, - [], - canAssign, - 1, - start, - line, - column - ); - } - return finishNode(parser, context, start, line, column, { - type: 'CallExpression', - callee, - arguments: [] - }); - } - let destructible = 0; - let expr = null; - let isSimpleParameterList = 0; - parser.destructible = - (parser.destructible | 256 | 128) ^ (256 | 128); - const params = []; - while (parser.token !== 16) { - const { token, tokenPos, linePos, colPos } = parser; - if (token & (143360 | 4096)) { - if (scope) - addBlockName( - parser, - context, - scope, - parser.tokenValue, - kind, - 0 - ); - expr = parsePrimaryExpression( - parser, - context, - kind, - 0, - 1, - 1, - 1, - tokenPos, - linePos, - colPos - ); - if (parser.token === 16 || parser.token === 18) { - if (parser.assignable & 2) { - destructible |= 16; - isSimpleParameterList = 1; - } else if ((token & 537079808) === 537079808) { - parser.flags |= 512; - } else if ((token & 36864) === 36864) { - parser.flags |= 256; - } - } else { - if (parser.token === 1077936157) { - isSimpleParameterList = 1; - } else { - destructible |= 16; - } - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 1, - 0, - tokenPos, - linePos, - colPos - ); - if (parser.token !== 16 && parser.token !== 18) { - expr = parseAssignmentExpression( - parser, - context, - 1, - 0, - tokenPos, - linePos, - colPos, - expr - ); - } - } - } else if (token & 2097152) { - expr = - token === 2162700 - ? parseObjectLiteralOrPattern( - parser, - context, - scope, - 0, - 1, - 0, - kind, - origin, - tokenPos, - linePos, - colPos - ) - : parseArrayExpressionOrPattern( - parser, - context, - scope, - 0, - 1, - 0, - kind, - origin, - tokenPos, - linePos, - colPos - ); - destructible |= parser.destructible; - isSimpleParameterList = 1; - if (parser.token !== 16 && parser.token !== 18) { - if (destructible & 8) report(parser, 119); - expr = parseMemberOrUpdateExpression( - parser, - context, - expr, - 0, - 0, - tokenPos, - linePos, - colPos - ); - destructible |= 16; - if ((parser.token & 8454144) === 8454144) { - expr = parseBinaryExpression( - parser, - context, - 1, - start, - line, - column, - 4, - token, - expr - ); - } - if (consumeOpt(parser, context | 32768, 22)) { - expr = parseConditionalExpression( - parser, - context, - expr, - start, - line, - column - ); - } - } - } else if (token === 14) { - expr = parseSpreadOrRestElement( - parser, - context, - scope, - 16, - kind, - origin, - 1, - 1, - 0, - tokenPos, - linePos, - colPos - ); - destructible |= - (parser.token === 16 ? 0 : 16) | - parser.destructible; - isSimpleParameterList = 1; - } else { - expr = parseExpression( - parser, - context, - 1, - 0, - tokenPos, - linePos, - colPos - ); - destructible = parser.assignable; - params.push(expr); - while (consumeOpt(parser, context | 32768, 18)) { - params.push( - parseExpression( - parser, - context, - 1, - 0, - tokenPos, - linePos, - colPos - ) - ); - } - destructible |= parser.assignable; - consume(parser, context, 16); - parser.destructible = destructible | 16; - parser.assignable = 2; - return finishNode( - parser, - context, - start, - line, - column, - { - type: 'CallExpression', - callee, - arguments: params - } - ); - } - params.push(expr); - if (!consumeOpt(parser, context | 32768, 18)) break; - } - consume(parser, context, 16); - destructible |= - parser.destructible & 256 - ? 256 - : 0 | (parser.destructible & 128) - ? 128 - : 0; - if (parser.token === 10) { - if (destructible & (32 | 16)) report(parser, 25); - if (parser.flags & 1 || flags & 1) report(parser, 46); - if (destructible & 128) report(parser, 29); - if (context & (1024 | 2097152) && destructible & 256) - report(parser, 30); - if (isSimpleParameterList) parser.flags |= 128; - return parseParenthesizedArrow( - parser, - context, - scope, - params, - canAssign, - 1, - start, - line, - column - ); - } else if (destructible & 8) { - report(parser, 60); - } - parser.assignable = 2; - return finishNode(parser, context, start, line, column, { - type: 'CallExpression', - callee, - arguments: params - }); - } - function parseRegExpLiteral(parser, context, start, line, column) { - const { tokenRaw, tokenRegExp, tokenValue } = parser; - nextToken(parser, context); - parser.assignable = 2; - return context & 512 - ? finishNode(parser, context, start, line, column, { - type: 'Literal', - value: tokenValue, - regex: tokenRegExp, - raw: tokenRaw - }) - : finishNode(parser, context, start, line, column, { - type: 'Literal', - value: tokenValue, - regex: tokenRegExp - }); - } - function parseClassDeclaration( - parser, - context, - scope, - flags, - start, - line, - column - ) { - context = (context | 16777216 | 1024) ^ 16777216; - let decorators = parseDecorators(parser, context); - if (decorators.length) { - start = parser.tokenPos; - line = parser.linePos; - column = parser.colPos; - } - if (parser.leadingDecorators.length) { - parser.leadingDecorators.push(...decorators); - decorators = parser.leadingDecorators; - parser.leadingDecorators = []; - } - nextToken(parser, context); - let id = null; - let superClass = null; - const { tokenValue } = parser; - if (parser.token & 4096 && parser.token !== 20567) { - if (isStrictReservedWord(parser, context, parser.token)) { - report(parser, 115); - } - if ((parser.token & 537079808) === 537079808) { - report(parser, 116); - } - if (scope) { - addBlockName(parser, context, scope, tokenValue, 32, 0); - if (flags) { - if (flags & 2) { - declareUnboundVariable(parser, tokenValue); - } - } - } - id = parseIdentifier(parser, context); - } else { - if ((flags & 1) === 0) report(parser, 37, 'Class'); - } - let inheritedContext = context; - if (consumeOpt(parser, context | 32768, 20567)) { - superClass = parseLeftHandSideExpression( - parser, - context, - 0, - 0, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - inheritedContext |= 524288; - } else { - inheritedContext = (inheritedContext | 524288) ^ 524288; - } - const body = parseClassBody( - parser, - inheritedContext, - context, - scope, - 2, - 8, - 0 - ); - return finishNode( - parser, - context, - start, - line, - column, - context & 1 - ? { - type: 'ClassDeclaration', - id, - superClass, - decorators, - body - } - : { - type: 'ClassDeclaration', - id, - superClass, - body - } - ); - } - function parseClassExpression( - parser, - context, - inGroup, - start, - line, - column - ) { - let id = null; - let superClass = null; - context = (context | 1024 | 16777216) ^ 16777216; - const decorators = parseDecorators(parser, context); - if (decorators.length) { - start = parser.tokenPos; - line = parser.linePos; - column = parser.colPos; - } - nextToken(parser, context); - if (parser.token & 4096 && parser.token !== 20567) { - if (isStrictReservedWord(parser, context, parser.token)) - report(parser, 115); - if ((parser.token & 537079808) === 537079808) { - report(parser, 116); - } - id = parseIdentifier(parser, context); - } - let inheritedContext = context; - if (consumeOpt(parser, context | 32768, 20567)) { - superClass = parseLeftHandSideExpression( - parser, - context, - 0, - inGroup, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - inheritedContext |= 524288; - } else { - inheritedContext = (inheritedContext | 524288) ^ 524288; - } - const body = parseClassBody( - parser, - inheritedContext, - context, - void 0, - 2, - 0, - inGroup - ); - parser.assignable = 2; - return finishNode( - parser, - context, - start, - line, - column, - context & 1 - ? { - type: 'ClassExpression', - id, - superClass, - decorators, - body - } - : { - type: 'ClassExpression', - id, - superClass, - body - } - ); - } - function parseDecorators(parser, context) { - const list = []; - if (context & 1) { - while (parser.token === 133) { - list.push( - parseDecoratorList( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - } - return list; - } - function parseDecoratorList(parser, context, start, line, column) { - nextToken(parser, context | 32768); - let expression = parsePrimaryExpression( - parser, - context, - 2, - 0, - 1, - 0, - 1, - start, - line, - column - ); - expression = parseMemberOrUpdateExpression( - parser, - context, - expression, - 0, - 0, - start, - line, - column - ); - return finishNode(parser, context, start, line, column, { - type: 'Decorator', - expression - }); - } - function parseClassBody( - parser, - context, - inheritedContext, - scope, - kind, - origin, - inGroup - ) { - const { tokenPos, linePos, colPos } = parser; - consume(parser, context | 32768, 2162700); - context = (context | 134217728) ^ 134217728; - let hasConstr = parser.flags & 32; - parser.flags = (parser.flags | 32) ^ 32; - const body = []; - let decorators; - while (parser.token !== 1074790415) { - let length = 0; - decorators = parseDecorators(parser, context); - length = decorators.length; - if (length > 0 && parser.tokenValue === 'constructor') { - report(parser, 107); - } - if (parser.token === 1074790415) report(parser, 106); - if (consumeOpt(parser, context, 1074790417)) { - if (length > 0) report(parser, 117); - continue; - } - body.push( - parseClassElementList( - parser, - context, - scope, - inheritedContext, - kind, - decorators, - 0, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - consume( - parser, - origin & 8 ? context | 32768 : context, - 1074790415 - ); - parser.flags = (parser.flags & ~32) | hasConstr; - return finishNode(parser, context, tokenPos, linePos, colPos, { - type: 'ClassBody', - body - }); - } - function parseClassElementList( - parser, - context, - scope, - inheritedContext, - type, - decorators, - isStatic, - inGroup, - start, - line, - column - ) { - let kind = isStatic ? 32 : 0; - let key = null; - const { token, tokenPos, linePos, colPos } = parser; - if (token & (143360 | 36864)) { - key = parseIdentifier(parser, context); - switch (token) { - case 36972: - if ( - !isStatic && - parser.token !== 67174411 && - (parser.token & 1048576) !== 1048576 && - parser.token !== 1077936157 - ) { - return parseClassElementList( - parser, - context, - scope, - inheritedContext, - type, - decorators, - 1, - inGroup, - start, - line, - column - ); - } - break; - case 209007: - if ( - parser.token !== 67174411 && - (parser.flags & 1) === 0 - ) { - if ( - context & 1 && - (parser.token & 1073741824) === 1073741824 - ) { - return parsePropertyDefinition( - parser, - context, - key, - kind, - decorators, - tokenPos, - linePos, - colPos - ); - } - kind |= - 16 | - (optionalBit(parser, context, 8457014) - ? 8 - : 0); - } - break; - case 12402: - if (parser.token !== 67174411) { - if ( - context & 1 && - (parser.token & 1073741824) === 1073741824 - ) { - return parsePropertyDefinition( - parser, - context, - key, - kind, - decorators, - tokenPos, - linePos, - colPos - ); - } - kind |= 256; - } - break; - case 12403: - if (parser.token !== 67174411) { - if ( - context & 1 && - (parser.token & 1073741824) === 1073741824 - ) { - return parsePropertyDefinition( - parser, - context, - key, - kind, - decorators, - tokenPos, - linePos, - colPos - ); - } - kind |= 512; - } - break; - } - } else if (token === 69271571) { - kind |= 2; - key = parseComputedPropertyName( - parser, - inheritedContext, - inGroup - ); - } else if ((token & 134217728) === 134217728) { - key = parseLiteral(parser, context); - } else if (token === 8457014) { - kind |= 8; - nextToken(parser, context); - } else if (context & 1 && parser.token === 131) { - kind |= 4096; - key = parsePrivateIdentifier( - parser, - context | 16384, - tokenPos, - linePos, - colPos - ); - } else if ( - context & 1 && - (parser.token & 1073741824) === 1073741824 - ) { - kind |= 128; - } else if (isStatic && token === 2162700) { - return parseStaticBlock( - parser, - context, - scope, - tokenPos, - linePos, - colPos - ); - } else if (token === 122) { - key = parseIdentifier(parser, context); - if (parser.token !== 67174411) - report( - parser, - 28, - KeywordDescTable[parser.token & 255] - ); - } else { - report(parser, 28, KeywordDescTable[parser.token & 255]); - } - if (kind & (8 | 16 | 768)) { - if (parser.token & 143360) { - key = parseIdentifier(parser, context); - } else if ((parser.token & 134217728) === 134217728) { - key = parseLiteral(parser, context); - } else if (parser.token === 69271571) { - kind |= 2; - key = parseComputedPropertyName(parser, context, 0); - } else if (parser.token === 122) { - key = parseIdentifier(parser, context); - } else if (context & 1 && parser.token === 131) { - kind |= 4096; - key = parsePrivateIdentifier( - parser, - context, - tokenPos, - linePos, - colPos - ); - } else report(parser, 132); - } - if ((kind & 2) === 0) { - if (parser.tokenValue === 'constructor') { - if ((parser.token & 1073741824) === 1073741824) { - report(parser, 126); - } else if ( - (kind & 32) === 0 && - parser.token === 67174411 - ) { - if (kind & (768 | 16 | 128 | 8)) { - report(parser, 51, 'accessor'); - } else if ((context & 524288) === 0) { - if (parser.flags & 32) report(parser, 52); - else parser.flags |= 32; - } - } - kind |= 64; - } else if ( - (kind & 4096) === 0 && - kind & (32 | 768 | 8 | 16) && - parser.tokenValue === 'prototype' - ) { - report(parser, 50); - } - } - if (context & 1 && parser.token !== 67174411) { - return parsePropertyDefinition( - parser, - context, - key, - kind, - decorators, - tokenPos, - linePos, - colPos - ); - } - const value = parseMethodDefinition( - parser, - context, - kind, - inGroup, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - return finishNode( - parser, - context, - start, - line, - column, - context & 1 - ? { - type: 'MethodDefinition', - kind: - (kind & 32) === 0 && kind & 64 - ? 'constructor' - : kind & 256 - ? 'get' - : kind & 512 - ? 'set' - : 'method', - static: (kind & 32) > 0, - computed: (kind & 2) > 0, - key, - decorators, - value - } - : { - type: 'MethodDefinition', - kind: - (kind & 32) === 0 && kind & 64 - ? 'constructor' - : kind & 256 - ? 'get' - : kind & 512 - ? 'set' - : 'method', - static: (kind & 32) > 0, - computed: (kind & 2) > 0, - key, - value - } - ); - } - function parsePrivateIdentifier( - parser, - context, - start, - line, - column - ) { - nextToken(parser, context); - const { tokenValue } = parser; - if (tokenValue === 'constructor') report(parser, 125); - nextToken(parser, context); - return finishNode(parser, context, start, line, column, { - type: 'PrivateIdentifier', - name: tokenValue - }); - } - function parsePropertyDefinition( - parser, - context, - key, - state, - decorators, - start, - line, - column - ) { - let value = null; - if (state & 8) report(parser, 0); - if (parser.token === 1077936157) { - nextToken(parser, context | 32768); - const { tokenPos, linePos, colPos } = parser; - if (parser.token === 537079928) report(parser, 116); - const modifierFlags = - (state & 64) === 0 ? 31981568 : 14680064; - context = - ((context | modifierFlags) ^ modifierFlags) | - ((state & 88) << 18) | - 100925440; - value = parsePrimaryExpression( - parser, - context | 16384, - 2, - 0, - 1, - 0, - 1, - tokenPos, - linePos, - colPos - ); - if ( - (parser.token & 1073741824) !== 1073741824 || - (parser.token & 4194304) === 4194304 - ) { - value = parseMemberOrUpdateExpression( - parser, - context | 16384, - value, - 0, - 0, - tokenPos, - linePos, - colPos - ); - value = parseAssignmentExpression( - parser, - context | 16384, - 0, - 0, - tokenPos, - linePos, - colPos, - value - ); - if (parser.token === 18) { - value = parseSequenceExpression( - parser, - context, - 0, - start, - line, - column, - value - ); - } - } - } - return finishNode(parser, context, start, line, column, { - type: 'PropertyDefinition', - key, - value, - static: (state & 32) > 0, - computed: (state & 2) > 0, - decorators - }); - } - function parseBindingPattern( - parser, - context, - scope, - type, - origin, - start, - line, - column - ) { - if (parser.token & 143360) - return parseAndClassifyIdentifier( - parser, - context, - scope, - type, - origin, - start, - line, - column - ); - if ((parser.token & 2097152) !== 2097152) - report(parser, 28, KeywordDescTable[parser.token & 255]); - const left = - parser.token === 69271571 - ? parseArrayExpressionOrPattern( - parser, - context, - scope, - 1, - 0, - 1, - type, - origin, - start, - line, - column - ) - : parseObjectLiteralOrPattern( - parser, - context, - scope, - 1, - 0, - 1, - type, - origin, - start, - line, - column - ); - if (parser.destructible & 16) report(parser, 48); - if (parser.destructible & 32) report(parser, 48); - return left; - } - function parseAndClassifyIdentifier( - parser, - context, - scope, - kind, - origin, - start, - line, - column - ) { - const { tokenValue, token } = parser; - if (context & 1024) { - if ((token & 537079808) === 537079808) { - report(parser, 116); - } else if ((token & 36864) === 36864) { - report(parser, 115); - } - } - if ((token & 20480) === 20480) { - report(parser, 100); - } - if (context & (2048 | 2097152) && token === 241773) { - report(parser, 30); - } - if (token === 241739) { - if (kind & (8 | 16)) report(parser, 98); - } - if (context & (4194304 | 2048) && token === 209008) { - report(parser, 96); - } - nextToken(parser, context); - if (scope) - addVarOrBlock( - parser, - context, - scope, - tokenValue, - kind, - origin - ); - return finishNode(parser, context, start, line, column, { - type: 'Identifier', - name: tokenValue - }); - } - function parseJSXRootElementOrFragment( - parser, - context, - inJSXChild, - start, - line, - column - ) { - nextToken(parser, context); - if (parser.token === 8456259) { - return finishNode(parser, context, start, line, column, { - type: 'JSXFragment', - openingFragment: parseOpeningFragment( - parser, - context, - start, - line, - column - ), - children: parseJSXChildren(parser, context), - closingFragment: parseJSXClosingFragment( - parser, - context, - inJSXChild, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - }); - } - let closingElement = null; - let children = []; - const openingElement = - parseJSXOpeningFragmentOrSelfCloseElement( - parser, - context, - inJSXChild, - start, - line, - column - ); - if (!openingElement.selfClosing) { - children = parseJSXChildren(parser, context); - closingElement = parseJSXClosingElement( - parser, - context, - inJSXChild, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - const close = isEqualTagName(closingElement.name); - if (isEqualTagName(openingElement.name) !== close) - report(parser, 150, close); - } - return finishNode(parser, context, start, line, column, { - type: 'JSXElement', - children, - openingElement, - closingElement - }); - } - function parseOpeningFragment( - parser, - context, - start, - line, - column - ) { - scanJSXToken(parser, context); - return finishNode(parser, context, start, line, column, { - type: 'JSXOpeningFragment' - }); - } - function parseJSXClosingElement( - parser, - context, - inJSXChild, - start, - line, - column - ) { - consume(parser, context, 25); - const name = parseJSXElementName( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - if (inJSXChild) { - consume(parser, context, 8456259); - } else { - parser.token = scanJSXToken(parser, context); - } - return finishNode(parser, context, start, line, column, { - type: 'JSXClosingElement', - name - }); - } - function parseJSXClosingFragment( - parser, - context, - inJSXChild, - start, - line, - column - ) { - consume(parser, context, 25); - if (inJSXChild) { - consume(parser, context, 8456259); - } else { - consume(parser, context, 8456259); - } - return finishNode(parser, context, start, line, column, { - type: 'JSXClosingFragment' - }); - } - function parseJSXChildren(parser, context) { - const children = []; - while (parser.token !== 25) { - parser.index = parser.tokenPos = parser.startPos; - parser.column = parser.colPos = parser.startColumn; - parser.line = parser.linePos = parser.startLine; - scanJSXToken(parser, context); - children.push( - parseJSXChild( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - return children; - } - function parseJSXChild(parser, context, start, line, column) { - if (parser.token === 138) - return parseJSXText(parser, context, start, line, column); - if (parser.token === 2162700) - return parseJSXExpressionContainer( - parser, - context, - 0, - 0, - start, - line, - column - ); - if (parser.token === 8456258) - return parseJSXRootElementOrFragment( - parser, - context, - 0, - start, - line, - column - ); - report(parser, 0); - } - function parseJSXText(parser, context, start, line, column) { - scanJSXToken(parser, context); - const node = { - type: 'JSXText', - value: parser.tokenValue - }; - if (context & 512) { - node.raw = parser.tokenRaw; - } - return finishNode(parser, context, start, line, column, node); - } - function parseJSXOpeningFragmentOrSelfCloseElement( - parser, - context, - inJSXChild, - start, - line, - column - ) { - if ( - (parser.token & 143360) !== 143360 && - (parser.token & 4096) !== 4096 - ) - report(parser, 0); - const tagName = parseJSXElementName( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - const attributes = parseJSXAttributes(parser, context); - const selfClosing = parser.token === 8457016; - if (parser.token === 8456259) { - scanJSXToken(parser, context); - } else { - consume(parser, context, 8457016); - if (inJSXChild) { - consume(parser, context, 8456259); - } else { - scanJSXToken(parser, context); - } - } - return finishNode(parser, context, start, line, column, { - type: 'JSXOpeningElement', - name: tagName, - attributes, - selfClosing - }); - } - function parseJSXElementName(parser, context, start, line, column) { - scanJSXIdentifier(parser); - let key = parseJSXIdentifier( - parser, - context, - start, - line, - column - ); - if (parser.token === 21) - return parseJSXNamespacedName( - parser, - context, - key, - start, - line, - column - ); - while (consumeOpt(parser, context, 67108877)) { - scanJSXIdentifier(parser); - key = parseJSXMemberExpression( - parser, - context, - key, - start, - line, - column - ); - } - return key; - } - function parseJSXMemberExpression( - parser, - context, - object, - start, - line, - column - ) { - const property = parseJSXIdentifier( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - return finishNode(parser, context, start, line, column, { - type: 'JSXMemberExpression', - object, - property - }); - } - function parseJSXAttributes(parser, context) { - const attributes = []; - while ( - parser.token !== 8457016 && - parser.token !== 8456259 && - parser.token !== 1048576 - ) { - attributes.push( - parseJsxAttribute( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ) - ); - } - return attributes; - } - function parseJSXSpreadAttribute( - parser, - context, - start, - line, - column - ) { - nextToken(parser, context); - consume(parser, context, 14); - const expression = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context, 1074790415); - return finishNode(parser, context, start, line, column, { - type: 'JSXSpreadAttribute', - argument: expression - }); - } - function parseJsxAttribute(parser, context, start, line, column) { - if (parser.token === 2162700) - return parseJSXSpreadAttribute( - parser, - context, - start, - line, - column - ); - scanJSXIdentifier(parser); - let value = null; - let name = parseJSXIdentifier( - parser, - context, - start, - line, - column - ); - if (parser.token === 21) { - name = parseJSXNamespacedName( - parser, - context, - name, - start, - line, - column - ); - } - if (parser.token === 1077936157) { - const token = scanJSXAttributeValue(parser, context); - const { tokenPos, linePos, colPos } = parser; - switch (token) { - case 134283267: - value = parseLiteral(parser, context); - break; - case 8456258: - value = parseJSXRootElementOrFragment( - parser, - context, - 1, - tokenPos, - linePos, - colPos - ); - break; - case 2162700: - value = parseJSXExpressionContainer( - parser, - context, - 1, - 1, - tokenPos, - linePos, - colPos - ); - break; - default: - report(parser, 149); - } - } - return finishNode(parser, context, start, line, column, { - type: 'JSXAttribute', - value, - name - }); - } - function parseJSXNamespacedName( - parser, - context, - namespace, - start, - line, - column - ) { - consume(parser, context, 21); - const name = parseJSXIdentifier( - parser, - context, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - return finishNode(parser, context, start, line, column, { - type: 'JSXNamespacedName', - namespace, - name - }); - } - function parseJSXExpressionContainer( - parser, - context, - inJSXChild, - isAttr, - start, - line, - column - ) { - nextToken(parser, context | 32768); - const { tokenPos, linePos, colPos } = parser; - if (parser.token === 14) - return parseJSXSpreadChild( - parser, - context, - start, - line, - column - ); - let expression = null; - if (parser.token === 1074790415) { - if (isAttr) report(parser, 152); - expression = parseJSXEmptyExpression( - parser, - context, - parser.startPos, - parser.startLine, - parser.startColumn - ); - } else { - expression = parseExpression( - parser, - context, - 1, - 0, - tokenPos, - linePos, - colPos - ); - } - if (inJSXChild) { - consume(parser, context, 1074790415); - } else { - scanJSXToken(parser, context); - } - return finishNode(parser, context, start, line, column, { - type: 'JSXExpressionContainer', - expression - }); - } - function parseJSXSpreadChild(parser, context, start, line, column) { - consume(parser, context, 14); - const expression = parseExpression( - parser, - context, - 1, - 0, - parser.tokenPos, - parser.linePos, - parser.colPos - ); - consume(parser, context, 1074790415); - return finishNode(parser, context, start, line, column, { - type: 'JSXSpreadChild', - expression - }); - } - function parseJSXEmptyExpression( - parser, - context, - start, - line, - column - ) { - parser.startPos = parser.tokenPos; - parser.startLine = parser.linePos; - parser.startColumn = parser.colPos; - return finishNode(parser, context, start, line, column, { - type: 'JSXEmptyExpression' - }); - } - function parseJSXIdentifier(parser, context, start, line, column) { - const { tokenValue } = parser; - nextToken(parser, context); - return finishNode(parser, context, start, line, column, { - type: 'JSXIdentifier', - name: tokenValue - }); - } - - var estree = /*#__PURE__*/ Object.freeze({ - __proto__: null - }); - - var version$1 = '4.5.0'; - - const version = version$1; - function parseScript(source, options) { - return parseSource(source, options, 0); - } - function parseModule(source, options) { - return parseSource(source, options, 1024 | 2048); - } - function parse(source, options) { - return parseSource(source, options, 0); - } - }, - './node_modules/parse-domain/build/parse-domain.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - ParseResultType: function () { - return ParseResultType; - }, - RESERVED_TOP_LEVEL_DOMAINS: function () { - return RESERVED_TOP_LEVEL_DOMAINS; - }, - parseDomain: function () { - return parseDomain; - } - }); - /* harmony import */ var _serialized_tries_js__WEBPACK_IMPORTED_MODULE_2__ = - __webpack_require__( - /*! ./serialized-tries.js */ './node_modules/parse-domain/serialized-tries/icann.js' - ); - /* harmony import */ var _serialized_tries_js__WEBPACK_IMPORTED_MODULE_3__ = - __webpack_require__( - /*! ./serialized-tries.js */ './node_modules/parse-domain/serialized-tries/private.js' - ); - /* harmony import */ var _trie_look_up_js__WEBPACK_IMPORTED_MODULE_4__ = - __webpack_require__( - /*! ./trie/look-up.js */ './node_modules/parse-domain/build/trie/look-up.js' - ); - /* harmony import */ var _sanitize_js__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./sanitize.js */ './node_modules/parse-domain/build/sanitize.js' - ); - /* harmony import */ var _trie_parse_trie_js__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! ./trie/parse-trie.js */ './node_modules/parse-domain/build/trie/parse-trie.js' - ); - - const RESERVED_TOP_LEVEL_DOMAINS = [ - 'localhost', - 'local', - 'example', - 'invalid', - 'test' - ]; - var ParseResultType; - (function (ParseResultType) { - /** - * This parse result is returned in case the given hostname does not adhere to [RFC 1034](https://tools.ietf.org/html/rfc1034). - */ - ParseResultType['Invalid'] = 'INVALID'; - /** - * This parse result is returned if the given hostname was an IPv4 or IPv6. - */ - ParseResultType['Ip'] = 'IP'; - /** - * This parse result is returned when the given hostname - * - is the root domain (the empty string `""`) - * - belongs to the top-level domain `localhost`, `local`, `example`, `invalid` or `test` - */ - ParseResultType['Reserved'] = 'RESERVED'; - /** - * This parse result is returned when the given hostname is valid and does not belong to a reserved top-level domain, but is not listed in the public suffix list. - */ - ParseResultType['NotListed'] = 'NOT_LISTED'; - /** - * This parse result is returned when the given hostname belongs to a top-level domain that is listed in the public suffix list. - */ - ParseResultType['Listed'] = 'LISTED'; - })(ParseResultType || (ParseResultType = {})); - const getAtIndex = (array, index) => { - return index >= 0 && index < array.length - ? array[index] - : undefined; - }; - const splitLabelsIntoDomains = (labels, index) => { - return { - subDomains: labels.slice(0, Math.max(0, index)), - domain: getAtIndex(labels, index), - topLevelDomains: labels.slice(index + 1) - }; - }; - let parsedIcannTrie; - let parsedPrivateTrie; - /** - * Splits the given hostname in topLevelDomains, a domain and subDomains. - */ - const parseDomain = (hostname, options) => { - const sanitizationResult = (0, - _sanitize_js__WEBPACK_IMPORTED_MODULE_0__.sanitize)( - hostname, - options - ); - if ( - sanitizationResult.type === - _sanitize_js__WEBPACK_IMPORTED_MODULE_0__ - .SanitizationResultType.Error - ) { - return { - type: ParseResultType.Invalid, - hostname, - errors: sanitizationResult.errors - }; - } - if ( - sanitizationResult.type === - _sanitize_js__WEBPACK_IMPORTED_MODULE_0__ - .SanitizationResultType.ValidIp - ) { - return { - type: ParseResultType.Ip, - hostname: sanitizationResult.ip, - ipVersion: sanitizationResult.ipVersion - }; - } - const { labels, domain } = sanitizationResult; - if ( - hostname === '' || - RESERVED_TOP_LEVEL_DOMAINS.includes( - labels[labels.length - 1] - ) - ) { - return { - type: ParseResultType.Reserved, - hostname: domain, - labels - }; - } - // Parse the serialized trie lazily - parsedIcannTrie = - parsedIcannTrie !== null && parsedIcannTrie !== void 0 - ? parsedIcannTrie - : (0, - _trie_parse_trie_js__WEBPACK_IMPORTED_MODULE_1__.parseTrie)( - _serialized_tries_js__WEBPACK_IMPORTED_MODULE_2__[ - 'default' - ] - ); - parsedPrivateTrie = - parsedPrivateTrie !== null && parsedPrivateTrie !== void 0 - ? parsedPrivateTrie - : (0, - _trie_parse_trie_js__WEBPACK_IMPORTED_MODULE_1__.parseTrie)( - _serialized_tries_js__WEBPACK_IMPORTED_MODULE_3__[ - 'default' - ] - ); - const icannTlds = (0, - _trie_look_up_js__WEBPACK_IMPORTED_MODULE_4__.lookUpTldsInTrie)( - labels, - parsedIcannTrie - ); - const privateTlds = (0, - _trie_look_up_js__WEBPACK_IMPORTED_MODULE_4__.lookUpTldsInTrie)( - labels, - parsedPrivateTrie - ); - if (icannTlds.length === 0 && privateTlds.length === 0) { - return { - type: ParseResultType.NotListed, - hostname: domain, - labels - }; - } - const indexOfPublicSuffixDomain = - labels.length - - Math.max(privateTlds.length, icannTlds.length) - - 1; - const indexOfIcannDomain = labels.length - icannTlds.length - 1; - return Object.assign( - { - type: ParseResultType.Listed, - hostname: domain, - labels, - icann: splitLabelsIntoDomains( - labels, - indexOfIcannDomain - ) - }, - splitLabelsIntoDomains(labels, indexOfPublicSuffixDomain) - ); - }; - //# sourceMappingURL=parse-domain.js.map - }, - './node_modules/parse-domain/build/sanitize.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - SanitizationResultType: function () { - return SanitizationResultType; - }, - Validation: function () { - return Validation; - }, - ValidationErrorType: function () { - return ValidationErrorType; - }, - sanitize: function () { - return sanitize; - } - }); - /* harmony import */ var is_ip__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! is-ip */ './node_modules/is-ip/index.js' - ); - - // See https://en.wikipedia.org/wiki/Domain_name - // See https://tools.ietf.org/html/rfc1034 - const LABEL_SEPARATOR = '.'; - const LABEL_LENGTH_MIN = 1; - const LABEL_LENGTH_MAX = 63; - /** - * 255 octets - 2 octets if you remove the last dot - * @see https://devblogs.microsoft.com/oldnewthing/20120412-00/?p=7873 - */ - const DOMAIN_LENGTH_MAX = 253; - const textEncoder = new TextEncoder(); - var Validation; - (function (Validation) { - /** - * Allows any octets as labels - * but still restricts the length of labels and the overall domain. - * - * @see https://www.rfc-editor.org/rfc/rfc2181#section-11 - **/ - Validation['Lax'] = 'LAX'; - /** - * Only allows ASCII letters, digits and hyphens (aka LDH), - * forbids hyphens at the beginning or end of a label - * and requires top-level domain names not to be all-numeric. - * - * This is the default if no validation is configured. - * - * @see https://datatracker.ietf.org/doc/html/rfc3696#section-2 - */ - Validation['Strict'] = 'STRICT'; - })(Validation || (Validation = {})); - var ValidationErrorType; - (function (ValidationErrorType) { - ValidationErrorType['NoHostname'] = 'NO_HOSTNAME'; - ValidationErrorType['DomainMaxLength'] = 'DOMAIN_MAX_LENGTH'; - ValidationErrorType['LabelMinLength'] = 'LABEL_MIN_LENGTH'; - ValidationErrorType['LabelMaxLength'] = 'LABEL_MAX_LENGTH'; - ValidationErrorType['LabelInvalidCharacter'] = - 'LABEL_INVALID_CHARACTER'; - ValidationErrorType['LastLabelInvalid'] = 'LAST_LABEL_INVALID'; - })(ValidationErrorType || (ValidationErrorType = {})); - var SanitizationResultType; - (function (SanitizationResultType) { - SanitizationResultType['ValidIp'] = 'VALID_IP'; - SanitizationResultType['ValidDomain'] = 'VALID_DOMAIN'; - SanitizationResultType['Error'] = 'ERROR'; - })(SanitizationResultType || (SanitizationResultType = {})); - const createNoHostnameError = input => { - return { - type: ValidationErrorType.NoHostname, - message: `The given input ${String(input)} does not look like a hostname.`, - column: 1 - }; - }; - const createDomainMaxLengthError = (domain, length) => { - return { - type: ValidationErrorType.DomainMaxLength, - message: `Domain "${domain}" is too long. Domain is ${length} octets long but should not be longer than ${DOMAIN_LENGTH_MAX}.`, - column: length - }; - }; - const createLabelMinLengthError = (label, column) => { - const length = label.length; - return { - type: ValidationErrorType.LabelMinLength, - message: `Label "${label}" is too short. Label is ${length} octets long but should be at least ${LABEL_LENGTH_MIN}.`, - column - }; - }; - const createLabelMaxLengthError = (label, column) => { - const length = label.length; - return { - type: ValidationErrorType.LabelMaxLength, - message: `Label "${label}" is too long. Label is ${length} octets long but should not be longer than ${LABEL_LENGTH_MAX}.`, - column - }; - }; - const createLabelInvalidCharacterError = ( - label, - invalidCharacter, - column - ) => { - return { - type: ValidationErrorType.LabelInvalidCharacter, - message: `Label "${label}" contains invalid character "${invalidCharacter}" at column ${column}.`, - column - }; - }; - const createLastLabelInvalidError = (label, column) => { - return { - type: ValidationErrorType.LabelInvalidCharacter, - message: `Last label "${label}" must not be all-numeric.`, - column - }; - }; - const sanitize = (input, options = {}) => { - // Extra check for non-TypeScript users - if (typeof input !== 'string') { - return { - type: SanitizationResultType.Error, - errors: [createNoHostnameError(input)] - }; - } - if (input === '') { - return { - type: SanitizationResultType.ValidDomain, - domain: input, - labels: [] - }; - } - // IPv6 addresses are surrounded by square brackets in URLs - // See https://tools.ietf.org/html/rfc3986#section-3.2.2 - const inputTrimmedAsIp = input.replace(/^\[|]$/g, ''); - const ipVersionOfInput = (0, - is_ip__WEBPACK_IMPORTED_MODULE_0__.ipVersion)(inputTrimmedAsIp); - if (ipVersionOfInput !== undefined) { - return { - type: SanitizationResultType.ValidIp, - ip: inputTrimmedAsIp, - ipVersion: ipVersionOfInput - }; - } - const lastChar = input.charAt(input.length - 1); - const canonicalInput = - lastChar === LABEL_SEPARATOR ? input.slice(0, -1) : input; - const octets = new TextEncoder().encode(canonicalInput); - if (octets.length > DOMAIN_LENGTH_MAX) { - return { - type: SanitizationResultType.Error, - errors: [ - createDomainMaxLengthError(input, octets.length) - ] - }; - } - const labels = canonicalInput.split(LABEL_SEPARATOR); - const { validation = Validation.Strict } = options; - const labelValidationErrors = - validateLabels[validation](labels); - if (labelValidationErrors.length > 0) { - return { - type: SanitizationResultType.Error, - errors: labelValidationErrors - }; - } - return { - type: SanitizationResultType.ValidDomain, - domain: input, - labels - }; - }; - const validateLabels = { - [Validation.Lax]: labels => { - const labelValidationErrors = []; - let column = 1; - for (const label of labels) { - const octets = textEncoder.encode(label); - if (octets.length < LABEL_LENGTH_MIN) { - labelValidationErrors.push( - createLabelMinLengthError(label, column) - ); - } else if (octets.length > LABEL_LENGTH_MAX) { - labelValidationErrors.push( - createLabelMaxLengthError(label, column) - ); - } - column += label.length + LABEL_SEPARATOR.length; - } - return labelValidationErrors; - }, - [Validation.Strict]: labels => { - const labelValidationErrors = []; - let column = 1; - let lastLabel; - for (const label of labels) { - // According to https://tools.ietf.org/html/rfc6761 labels should - // only contain ASCII letters, digits and hyphens (LDH). - const invalidCharacter = /[^\da-z-]/i.exec(label); - if (invalidCharacter) { - labelValidationErrors.push( - createLabelInvalidCharacterError( - label, - invalidCharacter[0], - invalidCharacter.index + 1 - ) - ); - } - if (label.startsWith('-')) { - labelValidationErrors.push( - createLabelInvalidCharacterError( - label, - '-', - column - ) - ); - } else if (label.endsWith('-')) { - labelValidationErrors.push( - createLabelInvalidCharacterError( - label, - '-', - column + label.length - 1 - ) - ); - } - if ( - // We can use .length here to check for the octet size because - // label can only contain ASCII LDH characters at this point. - label.length < LABEL_LENGTH_MIN - ) { - labelValidationErrors.push( - createLabelMinLengthError(label, column) - ); - } else if (label.length > LABEL_LENGTH_MAX) { - labelValidationErrors.push( - createLabelMaxLengthError(label, column) - ); - } - column += label.length + LABEL_SEPARATOR.length; - lastLabel = label; - } - if ( - lastLabel !== undefined && - /[a-z-]/iu.test(lastLabel) === false - ) { - labelValidationErrors.push( - createLastLabelInvalidError( - lastLabel, - column - - lastLabel.length - - LABEL_SEPARATOR.length - ) - ); - } - return labelValidationErrors; - } - }; - //# sourceMappingURL=sanitize.js.map - }, - './node_modules/parse-domain/build/trie/characters.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - DOWN: function () { - return DOWN; - }, - EXCEPTION: function () { - return EXCEPTION; - }, - RESET: function () { - return RESET; - }, - SAME: function () { - return SAME; - }, - UP: function () { - return UP; - }, - WILDCARD: function () { - return WILDCARD; - } - }); - // UP, SAME, DOWN, RESET should not be special regex characters in a character class. - const UP = '<'; // one level up - const SAME = ','; // same level - const DOWN = '>'; // one level down - const RESET = '|'; // reset level index and start new - const WILDCARD = '*'; // as defined by publicsuffix.org - const EXCEPTION = '!'; // as defined by publicsuffix.org - //# sourceMappingURL=characters.js.map - }, - './node_modules/parse-domain/build/trie/look-up.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - lookUpTldsInTrie: function () { - return lookUpTldsInTrie; - } - }); - /* harmony import */ var _characters_js__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./characters.js */ './node_modules/parse-domain/build/trie/characters.js' - ); - - const lookUpTldsInTrie = (labels, trie) => { - const labelsToCheck = labels.slice(); - const tlds = []; - let node = trie; - while (labelsToCheck.length !== 0) { - const label = labelsToCheck.pop(); - const labelLowerCase = label.toLowerCase(); - if ( - node.children.has( - _characters_js__WEBPACK_IMPORTED_MODULE_0__.WILDCARD - ) - ) { - if ( - node.children.has( - _characters_js__WEBPACK_IMPORTED_MODULE_0__.EXCEPTION + - labelLowerCase - ) - ) { - break; - } - node = node.children.get( - _characters_js__WEBPACK_IMPORTED_MODULE_0__.WILDCARD - ); - } else { - if (node.children.has(labelLowerCase) === false) { - break; - } - node = node.children.get(labelLowerCase); - } - tlds.unshift(label); - } - return tlds; - }; - //# sourceMappingURL=look-up.js.map - }, - './node_modules/parse-domain/build/trie/nodes.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - NODE_TYPE_CHILD: function () { - return NODE_TYPE_CHILD; - }, - NODE_TYPE_ROOT: function () { - return NODE_TYPE_ROOT; - }, - createOrGetChild: function () { - return createOrGetChild; - }, - createRootNode: function () { - return createRootNode; - } - }); - const NODE_TYPE_ROOT = Symbol('ROOT'); - const NODE_TYPE_CHILD = Symbol('CHILD'); - const createRootNode = () => { - return { - type: NODE_TYPE_ROOT, - children: new Map() - }; - }; - const createOrGetChild = (parent, label) => { - let child = parent.children.get(label); - if (child === undefined) { - child = { - type: NODE_TYPE_CHILD, - label, - children: new Map(), - parent - }; - parent.children.set(label, child); - } - return child; - }; - //# sourceMappingURL=nodes.js.map - }, - './node_modules/parse-domain/build/trie/parse-trie.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - parseTrie: function () { - return parseTrie; - } - }); - /* harmony import */ var _characters_js__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! ./characters.js */ './node_modules/parse-domain/build/trie/characters.js' - ); - /* harmony import */ var _nodes_js__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./nodes.js */ './node_modules/parse-domain/build/trie/nodes.js' - ); - - const parseTrie = serializedTrie => { - const rootNode = (0, - _nodes_js__WEBPACK_IMPORTED_MODULE_0__.createRootNode)(); - let domain = ''; - let parentNode = rootNode; - // Type assertion necessary here due to a TypeScript unsoundness - // https://github.com/microsoft/TypeScript/issues/9998#issuecomment-235963457 - let node = rootNode; - const addDomain = () => { - node = (0, - _nodes_js__WEBPACK_IMPORTED_MODULE_0__.createOrGetChild)( - parentNode, - domain - ); - domain = ''; - }; - for (let i = 0; i < serializedTrie.length; i++) { - const char = serializedTrie.charAt(i); - switch (char) { - case _characters_js__WEBPACK_IMPORTED_MODULE_1__.SAME: { - addDomain(); - continue; - } - case _characters_js__WEBPACK_IMPORTED_MODULE_1__.DOWN: { - addDomain(); - parentNode = node; - continue; - } - case _characters_js__WEBPACK_IMPORTED_MODULE_1__.RESET: { - addDomain(); - parentNode = rootNode; - continue; - } - case _characters_js__WEBPACK_IMPORTED_MODULE_1__.UP: { - if ( - parentNode.type === - _nodes_js__WEBPACK_IMPORTED_MODULE_0__.NODE_TYPE_ROOT - ) { - throw new Error( - `Error in serialized trie at position ${i}: Cannot go up, current parent node is already root` - ); - } - addDomain(); - parentNode = parentNode.parent; - continue; - } - } - domain += char; - } - if (domain !== '') { - addDomain(); - } - return rootNode; - }; - //# sourceMappingURL=parse-trie.js.map - }, - './node_modules/parse-domain/serialized-tries/icann.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - /* harmony default export */ __webpack_exports__['default'] = - 'ac>com,edu,gov,net,mil,orgnomco,net,org,sch,ac,gov,milaccident-investigation,accident-prevention,aerobatic,aeroclub,aerodrome,agents,aircraft,airline,airport,air-surveillance,airtraffic,air-traffic-control,ambulance,amusement,association,author,ballooning,broker,caa,cargo,catering,certification,championship,charter,civilaviation,club,conference,consultant,consulting,control,council,crew,design,dgca,educator,emergency,engine,engineer,entertainment,equipment,exchange,express,federation,flight,fuel,gliding,government,groundhandling,group,hanggliding,homebuilt,insurance,journal,journalist,leasing,logistics,magazine,maintenance,media,microlight,modelling,navigation,parachuting,paragliding,passenger-association,pilot,press,production,recreation,repbody,res,research,rotorcraft,safety,scientist,services,show,skydiving,software,student,trader,trading,trainer,union,workinggroup,worksgov,com,org,net,educom,org,net,co,nomoff,com,net,orgcom,edu,gov,mil,net,orgco,com,commune,net,orged,gv,og,co,pb,itbet,com,coop,edu,gob,gov,int,mil,musica,mutual,net,org,senasa,ture164,in-addr,ip6,iris,uri,urngovac>sthcom,net,org,edu>act,catholic,nsw>schoolsqld,sa,tas,vic,wacomcom,net,int,gov,org,edu,info,pp,mil,name,pro,bizcom,edu,gov,mil,net,orgbiz,co,com,edu,gov,info,net,org,store,tv*acgova,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,0,1,2,3,4,5,6,7,8,9com,edu,net,org,govco,com,edu,or,orgafrica,agro,architectes,assur,avocats,co,com,eco,econo,edu,info,loisirs,money,net,org,ote,resto,restaurant,tourism,univcom,edu,gov,net,orgcom,edu,gov,net,orgcom,edu,gob,int,org,net,mil,tv,web,academia,agro,arte,blog,bolivia,ciencia,cooperativa,democracia,deporte,ecologia,economia,empresa,indigena,industria,info,medicina,movimiento,musica,natural,nombre,noticias,patria,politica,profesional,plurinacional,pueblo,revista,salud,tecnologia,tksat,transporte,wiki
9guacu,abc,adm,adv,agr,aju,am,anani,aparecida,app,arq,art,ato,b,barueri,belem,bhz,bib,bio,blog,bmd,boavista,bsb,campinagrande,campinas,caxias,cim,cng,cnt,com,contagem,coop,coz,cri,cuiaba,curitiba,def,des,det,dev,ecn,eco,edu,emp,enf,eng,esp,etc,eti,far,feira,flog,floripa,fm,fnd,fortal,fot,foz,fst,g12,geo,ggf,goiania,gov>ac,al,am,ap,ba,ce,df,es,go,ma,mg,ms,mt,pa,pb,pe,pi,pr,rj,rn,ro,rr,rs,sc,se,sp,to*com,net,org,edu,govcom,edu,gov,net,orgco,orggov,mil,com,ofcom,net,org,edu,govab,bc,mb,nb,nf,nl,ns,nt,nu,on,pe,qc,sk,yk,gcgovorg,or,com,co,edu,ed,ac,net,go,asso,xn--aroport-bya,int,presse,md,gouv*,!wwwco,gob,gov,milco,com,gov,netac,com,edu,gov,net,org,mil,xn--55qx5d,xn--io0a7i,xn--od0alg,ah,bj,cq,fj,gd,gs,gz,gx,ha,hb,he,hi,hl,hn,jl,js,jx,ln,nm,nx,qh,sc,sd,sh,sn,sx,tj,xj,xz,yn,zj,hk,mo,twarts,com,edu,firm,gov,info,int,mil,net,nom,org,rec,webac,co,ed,fi,go,or,sacom,edu,org,net,gov,infcom,edu,int,nome,orgcom,edu,net,orggovac,biz,com,ekloges,gov,ltd,mil,net,org,press,pro,tmcom,net,org,edu,govart,com,edu,gob,gov,mil,net,org,sld,webart,asso,com,edu,gov,org,net,pol,soc,tmcom,info,net,fin,k12,med,pro,org,edu,gov,gob,miledu,gov,riik,lib,med,com,pri,aip,org,fiecom,edu,eun,gov,mil,name,net,org,sci*com,nom,org,gob,educom,gov,org,edu,biz,name,info,netalandac,biz,com,gov,info,mil,name,net,org,pro*com,edu,net,orgasso,com,gouv,nom,prd,tm,avoues,cci,greta,huissier-justiceedu,govcom,edu,gov,org,mil,net,pvtco,net,orgcom,edu,gov,org,milcom,ltd,gov,mod,edu,orgco,com,edu,net,orgac,com,edu,gov,org,netcom,net,mobi,edu,org,assocom,edu,net,org,govcom,edu,gob,ind,mil,net,orgcom,edu,gov,guam,info,net,org,webco,com,edu,gov,net,orgcom,edu,gov,idv,net,org,xn--55qx5d,xn--wcvs22d,xn--lcvr32d,xn--mxtq1m,xn--gmqw5a,xn--ciqpn,xn--gmq050i,xn--zf0avx,xn--io0a7i,xn--mk0axi,xn--od0alg,xn--od0aq3b,xn--tn0ag,xn--uc0atv,xn--uc0ay4acom,edu,org,net,mil,gob
iz,from,name,comcom,shop,firm,info,adult,net,pro,org,med,art,coop,pol,asso,edu,rel,gouv,persoco,info,org,priv,sport,tm,2000,agrar,bolt,casino,city,erotica,erotika,film,forum,games,hotel,ingatlan,jogasz,konyvelo,lakas,media,news,reklam,sex,shop,suli,szex,tozsde,utazas,videoac,biz,co,desa,go,mil,my,net,or,ponpes,sch,webgovac,co,gov,idf,k12,muni,net,orgxn--4dbgdty6c,xn--5dbhl8d,xn--8dbq2a,xn--hebda8bac,co>ltd,plc5g,6g,ac,ai,am,bihar,biz,business,ca,cn,co,com,coop,cs,delhi,dr,edu,er,firm,gen,gov,gujarat,ind,info,int,internet,io,me,mil,net,nic,org,pg,post,pro,res,travel,tv,uk,up,useucomgov,edu,mil,com,org,netac,co,gov,id,net,org,sch,xn--mgba3a4f16a,xn--mgba3a4franet,com,edu,gov,org,intgov,edu,abr,abruzzo,aosta-valley,aostavalley,bas,basilicata,cal,calabria,cam,campania,emilia-romagna,emiliaromagna,emr,friuli-v-giulia,friuli-ve-giulia,friuli-vegiulia,friuli-venezia-giulia,friuli-veneziagiulia,friuli-vgiulia,friuliv-giulia,friulive-giulia,friulivegiulia,friulivenezia-giulia,friuliveneziagiulia,friulivgiulia,fvg,laz,lazio,lig,liguria,lom,lombardia,lombardy,lucania,mar,marche,mol,molise,piedmont,piemonte,pmn,pug,puglia,sar,sardegna,sardinia,sic,sicilia,sicily,taa,tos,toscana,trentin-sud-tirol,xn--trentin-sd-tirol-rzb,trentin-sudtirol,xn--trentin-sdtirol-7vb,trentin-sued-tirol,trentin-suedtirol,trentino-a-adige,trentino-aadige,trentino-alto-adige,trentino-altoadige,trentino-s-tirol,trentino-stirol,trentino-sud-tirol,xn--trentino-sd-tirol-c3b,trentino-sudtirol,xn--trentino-sdtirol-szb,trentino-sued-tirol,trentino-suedtirol,trentino,trentinoa-adige,trentinoaadige,trentinoalto-adige,trentinoaltoadige,trentinos-tirol,trentinostirol,trentinosud-tirol,xn--trentinosd-tirol-rzb,trentinosudtirol,xn--trentinosdtirol-7vb,trentinosued-tirol,trentinosuedtirol,trentinsud-tirol,xn--trentinsd-tirol-6vb,trentinsudtirol,xn--trentinsdtirol-nsb,trentinsued-tirol,trentinsuedtirol,tuscany,umb,umbria,val-d-aosta,val-daosta,vald-aosta,valdaosta,valle-aosta,valle-d-aosta,valle-daosta,valleaosta,valled-aosta,valledaosta,vallee-aoste,xn--valle-aoste-ebb,vallee-d-aoste,xn--valle-d-aoste-ehb,valleeaoste,xn--valleaoste-e7a,valleedaoste,xn--valledaoste-ebb,vao,vda,ven,veneto,ag,agrigento,al,alessandria,alto-adige,altoadige,an,ancona,andria-barletta-trani,andria-trani-barletta,andriabarlettatrani,andriatranibarletta,ao,aosta,aoste,ap,aq,aquila,ar,arezzo,ascoli-piceno,ascolipiceno,asti,at,av,avellino,ba,balsan-sudtirol,xn--balsan-sdtirol-nsb,balsan-suedtirol,balsan,bari,barletta-trani-andria,barlettatraniandria,belluno,benevento,bergamo,bg,bi,biella,bl,bn,bo,bologna,bolzano-altoadige,bolzano,bozen-sudtirol,xn--bozen-sdtirol-2ob,bozen-suedtirol,bozen,br,brescia,brindisi,bs,bt,bulsan-sudtirol,xn--bulsan-sdtirol-nsb,bulsan-suedtirol,bulsan,bz,ca,cagliari,caltanissetta,campidano-medio,campidanomedio,campobasso,carbonia-iglesias,carboniaiglesias,carrara-massa,carraramassa,caserta,catania,catanzaro,cb,ce,cesena-forli,xn--cesena-forl-mcb,cesenaforli,xn--cesenaforl-i8a,ch,chieti,ci,cl,cn,co,como,cosenza,cr,cremona,crotone,cs,ct,cuneo,cz,dell-ogliastra,dellogliastra,en,enna,fc,fe,fermo,ferrara,fg,fi,firenze,florence,fm,foggia,forli-cesena,xn--forl-cesena-fcb,forlicesena,xn--forlcesena-c8a,fr,frosinone,ge,genoa,genova,go,gorizia,gr,grosseto,iglesias-carbonia,iglesiascarbonia,im,imperia,is,isernia,kr,la-spezia,laquila,laspezia,latina,lc,le,lecce,lecco,li,livorno,lo,lodi,lt,lu,lucca,macerata,mantova,massa-carrara,massacarrara,matera,mb,mc,me,medio-campidano,mediocampidano,messina,mi,milan,milano,mn,mo,modena,monza-brianza,monza-e-della-brianza,monza,monzabrianza,monzaebrianza,monzaedellabrianza,ms,mt,na,naples,napoli,no,novara,nu,nuoro,og,ogliastra,olbia-tempio,olbiatempio,or,oristano,ot,pa,padova,padua,palermo,parma,pavia,pc,pd,pe,perugia,pesaro-urbino,pesarourbino,pescara,pg,pi,piacenza,pisa,pistoia,pn,po,pordenone,potenza,pr,prato,pt,pu,pv,pz,ra,ragusa,ravenna,rc,re,reggio-calabria,reggio-emilia,reggiocalabria,reggioemilia,rg,ri,rieti,rimini,rm,rn,ro,roma,rome,rovigo,sa,salerno,sassari,savona,si,siena,siracusa,so,sondrio,sp,sr,ss,suedtirol,xn--sdtirol-n2a,sv,ta,taranto,te,tempio-olbia,tempioolbia,teramo,terni,tn,to,torino,tp,tr,trani-andria-barletta,trani-barletta-andria,traniandriabarletta,tranibarlettaandria,trapani,trento,treviso,trieste,ts,turin,tv,ud,udine,urbino-pesaro,urbinopesaro,va,varese,vb,vc,ve,venezia,venice,verbania,vercelli,verona,vi,vibo-valentia,vibovalentia,vicenza,viterbo,vr,vs,vt,vvco,net,org*com,org,net,edu,sch,gov,mil,nameac,ad,co,ed,go,gr,lg,ne,or,aichi>aisai,ama,anjo,asuke,chiryu,chita,fuso,gamagori,handa,hazu,hekinan,higashiura,ichinomiya,inazawa,inuyama,isshiki,iwakura,kanie,kariya,kasugai,kira,kiyosu,komaki,konan,kota,mihama,miyoshi,nishio,nisshin,obu,oguchi,oharu,okazaki,owariasahi,seto,shikatsu,shinshiro,shitara,tahara,takahama,tobishima,toei,togo,tokai,tokoname,toyoake,toyohashi,toyokawa,toyone,toyota,tsushima,yatomiakita,daisen,fujisato,gojome,hachirogata,happou,higashinaruse,honjo,honjyo,ikawa,kamikoani,kamioka,katagami,kazuno,kitaakita,kosaka,kyowa,misato,mitane,moriyoshi,nikaho,noshiro,odate,oga,ogata,semboku,yokote,yurihonjoaomori,gonohe,hachinohe,hashikami,hiranai,hirosaki,itayanagi,kuroishi,misawa,mutsu,nakadomari,noheji,oirase,owani,rokunohe,sannohe,shichinohe,shingo,takko,towada,tsugaru,tsurutaabiko,asahi,chonan,chosei,choshi,chuo,funabashi,futtsu,hanamigawa,ichihara,ichikawa,ichinomiya,inzai,isumi,kamagaya,kamogawa,kashiwa,katori,katsuura,kimitsu,kisarazu,kozaki,kujukuri,kyonan,matsudo,midori,mihama,minamiboso,mobara,mutsuzawa,nagara,nagareyama,narashino,narita,noda,oamishirasato,omigawa,onjuku,otaki,sakae,sakura,shimofusa,shirako,shiroi,shisui,sodegaura,sosa,tako,tateyama,togane,tohnosho,tomisato,urayasu,yachimata,yachiyo,yokaichiba,yokoshibahikari,yotsukaidoainan,honai,ikata,imabari,iyo,kamijima,kihoku,kumakogen,masaki,matsuno,matsuyama,namikata,niihama,ozu,saijo,seiyo,shikokuchuo,tobe,toon,uchiko,uwajima,yawatahamaechizen,eiheiji,fukui,ikeda,katsuyama,mihama,minamiechizen,obama,ohi,ono,sabae,sakai,takahama,tsuruga,wakasaashiya,buzen,chikugo,chikuho,chikujo,chikushino,chikuzen,chuo,dazaifu,fukuchi,hakata,higashi,hirokawa,hisayama,iizuka,inatsuki,kaho,kasuga,kasuya,kawara,keisen,koga,kurate,kurogi,kurume,minami,miyako,miyama,miyawaka,mizumaki,munakata,nakagawa,nakama,nishi,nogata,ogori,okagaki,okawa,oki,omuta,onga,onojo,oto,saigawa,sasaguri,shingu,shinyoshitomi,shonai,soeda,sue,tachiarai,tagawa,takata,toho,toyotsu,tsuiki,ukiha,umi,usui,yamada,yame,yanagawa,yukuhashiaizubange,aizumisato,aizuwakamatsu,asakawa,bandai,date,fukushima,furudono,futaba,hanawa,higashi,hirata,hirono,iitate,inawashiro,ishikawa,iwaki,izumizaki,kagamiishi,kaneyama,kawamata,kitakata,kitashiobara,koori,koriyama,kunimi,miharu,mishima,namie,nango,nishiaizu,nishigo,okuma,omotego,ono,otama,samegawa,shimogo,shirakawa,showa,soma,sukagawa,taishin,tamakawa,tanagura,tenei,yabuki,yamato,yamatsuri,yanaizu,yugawaanpachi,ena,gifu,ginan,godo,gujo,hashima,hichiso,hida,higashishirakawa,ibigawa,ikeda,kakamigahara,kani,kasahara,kasamatsu,kawaue,kitagata,mino,minokamo,mitake,mizunami,motosu,nakatsugawa,ogaki,sakahogi,seki,sekigahara,shirakawa,tajimi,takayama,tarui,toki,tomika,wanouchi,yamagata,yaotsu,yoroannaka,chiyoda,fujioka,higashiagatsuma,isesaki,itakura,kanna,kanra,katashina,kawaba,kiryu,kusatsu,maebashi,meiwa,midori,minakami,naganohara,nakanojo,nanmoku,numata,oizumi,ora,ota,shibukawa,shimonita,shinto,showa,takasaki,takayama,tamamura,tatebayashi,tomioka,tsukiyono,tsumagoi,ueno,yoshiokaasaminami,daiwa,etajima,fuchu,fukuyama,hatsukaichi,higashihiroshima,hongo,jinsekikogen,kaita,kui,kumano,kure,mihara,miyoshi,naka,onomichi,osakikamijima,otake,saka,sera,seranishi,shinichi,shobara,takeharaabashiri,abira,aibetsu,akabira,akkeshi,asahikawa,ashibetsu,ashoro,assabu,atsuma,bibai,biei,bifuka,bihoro,biratori,chippubetsu,chitose,date,ebetsu,embetsu,eniwa,erimo,esan,esashi,fukagawa,fukushima,furano,furubira,haboro,hakodate,hamatonbetsu,hidaka,higashikagura,higashikawa,hiroo,hokuryu,hokuto,honbetsu,horokanai,horonobe,ikeda,imakane,ishikari,iwamizawa,iwanai,kamifurano,kamikawa,kamishihoro,kamisunagawa,kamoenai,kayabe,kembuchi,kikonai,kimobetsu,kitahiroshima,kitami,kiyosato,koshimizu,kunneppu,kuriyama,kuromatsunai,kushiro,kutchan,kyowa,mashike,matsumae,mikasa,minamifurano,mombetsu,moseushi,mukawa,muroran,naie,nakagawa,nakasatsunai,nakatombetsu,nanae,nanporo,nayoro,nemuro,niikappu,niki,nishiokoppe,noboribetsu,numata,obihiro,obira,oketo,okoppe,otaru,otobe,otofuke,otoineppu,oumu,ozora,pippu,rankoshi,rebun,rikubetsu,rishiri,rishirifuji,saroma,sarufutsu,shakotan,shari,shibecha,shibetsu,shikabe,shikaoi,shimamaki,shimizu,shimokawa,shinshinotsu,shintoku,shiranuka,shiraoi,shiriuchi,sobetsu,sunagawa,taiki,takasu,takikawa,takinoue,teshikaga,tobetsu,tohma,tomakomai,tomari,toya,toyako,toyotomi,toyoura,tsubetsu,tsukigata,urakawa,urausu,uryu,utashinai,wakkanai,wassamu,yakumo,yoichiaioi,akashi,ako,amagasaki,aogaki,asago,ashiya,awaji,fukusaki,goshiki,harima,himeji,ichikawa,inagawa,itami,kakogawa,kamigori,kamikawa,kasai,kasuga,kawanishi,miki,minamiawaji,nishinomiya,nishiwaki,ono,sanda,sannan,sasayama,sayo,shingu,shinonsen,shiso,sumoto,taishi,taka,takarazuka,takasago,takino,tamba,tatsuno,toyooka,yabu,yashiro,yoka,yokawaami,asahi,bando,chikusei,daigo,fujishiro,hitachi,hitachinaka,hitachiomiya,hitachiota,ibaraki,ina,inashiki,itako,iwama,joso,kamisu,kasama,kashima,kasumigaura,koga,miho,mito,moriya,naka,namegata,oarai,ogawa,omitama,ryugasaki,sakai,sakuragawa,shimodate,shimotsuma,shirosato,sowa,suifu,takahagi,tamatsukuri,tokai,tomobe,tone,toride,tsuchiura,tsukuba,uchihara,ushiku,yachiyo,yamagata,yawara,yukianamizu,hakui,hakusan,kaga,kahoku,kanazawa,kawakita,komatsu,nakanoto,nanao,nomi,nonoichi,noto,shika,suzu,tsubata,tsurugi,uchinada,wajimafudai,fujisawa,hanamaki,hiraizumi,hirono,ichinohe,ichinoseki,iwaizumi,iwate,joboji,kamaishi,kanegasaki,karumai,kawai,kitakami,kuji,kunohe,kuzumaki,miyako,mizusawa,morioka,ninohe,noda,ofunato,oshu,otsuchi,rikuzentakata,shiwa,shizukuishi,sumita,tanohata,tono,yahaba,yamadaayagawa,higashikagawa,kanonji,kotohira,manno,marugame,mitoyo,naoshima,sanuki,tadotsu,takamatsu,tonosho,uchinomi,utazu,zentsujiakune,amami,hioki,isa,isen,izumi,kagoshima,kanoya,kawanabe,kinko,kouyama,makurazaki,matsumoto,minamitane,nakatane,nishinoomote,satsumasendai,soo,tarumizu,yusuiaikawa,atsugi,ayase,chigasaki,ebina,fujisawa,hadano,hakone,hiratsuka,isehara,kaisei,kamakura,kiyokawa,matsuda,minamiashigara,miura,nakai,ninomiya,odawara,oi,oiso,sagamihara,samukawa,tsukui,yamakita,yamato,yokosuka,yugawara,zama,zushiaki,geisei,hidaka,higashitsuno,ino,kagami,kami,kitagawa,kochi,mihara,motoyama,muroto,nahari,nakamura,nankoku,nishitosa,niyodogawa,ochi,okawa,otoyo,otsuki,sakawa,sukumo,susaki,tosa,tosashimizu,toyo,tsuno,umaji,yasuda,yusuharaamakusa,arao,aso,choyo,gyokuto,kamiamakusa,kikuchi,kumamoto,mashiki,mifune,minamata,minamioguni,nagasu,nishihara,oguni,ozu,sumoto,takamori,uki,uto,yamaga,yamato,yatsushiroayabe,fukuchiyama,higashiyama,ide,ine,joyo,kameoka,kamo,kita,kizu,kumiyama,kyotamba,kyotanabe,kyotango,maizuru,minami,minamiyamashiro,miyazu,muko,nagaokakyo,nakagyo,nantan,oyamazaki,sakyo,seika,tanabe,uji,ujitawara,wazuka,yamashina,yawataasahi,inabe,ise,kameyama,kawagoe,kiho,kisosaki,kiwa,komono,kumano,kuwana,matsusaka,meiwa,mihama,minamiise,misugi,miyama,nabari,shima,suzuka,tado,taiki,taki,tamaki,toba,tsu,udono,ureshino,watarai,yokkaichifurukawa,higashimatsushima,ishinomaki,iwanuma,kakuda,kami,kawasaki,marumori,matsushima,minamisanriku,misato,murata,natori,ogawara,ohira,onagawa,osaki,rifu,semine,shibata,shichikashuku,shikama,shiogama,shiroishi,tagajo,taiwa,tome,tomiya,wakuya,watari,yamamoto,zaoaya,ebino,gokase,hyuga,kadogawa,kawaminami,kijo,kitagawa,kitakata,kitaura,kobayashi,kunitomi,kushima,mimata,miyakonojo,miyazaki,morotsuka,nichinan,nishimera,nobeoka,saito,shiiba,shintomi,takaharu,takanabe,takazaki,tsunoachi,agematsu,anan,aoki,asahi,azumino,chikuhoku,chikuma,chino,fujimi,hakuba,hara,hiraya,iida,iijima,iiyama,iizuna,ikeda,ikusaka,ina,karuizawa,kawakami,kiso,kisofukushima,kitaaiki,komagane,komoro,matsukawa,matsumoto,miasa,minamiaiki,minamimaki,minamiminowa,minowa,miyada,miyota,mochizuki,nagano,nagawa,nagiso,nakagawa,nakano,nozawaonsen,obuse,ogawa,okaya,omachi,omi,ookuwa,ooshika,otaki,otari,sakae,sakaki,saku,sakuho,shimosuwa,shinanomachi,shiojiri,suwa,suzaka,takagi,takamori,takayama,tateshina,tatsuno,togakushi,togura,tomi,ueda,wada,yamagata,yamanouchi,yasaka,yasuokachijiwa,futsu,goto,hasami,hirado,iki,isahaya,kawatana,kuchinotsu,matsuura,nagasaki,obama,omura,oseto,saikai,sasebo,seihi,shimabara,shinkamigoto,togitsu,tsushima,unzenando,gose,heguri,higashiyoshino,ikaruga,ikoma,kamikitayama,kanmaki,kashiba,kashihara,katsuragi,kawai,kawakami,kawanishi,koryo,kurotaki,mitsue,miyake,nara,nosegawa,oji,ouda,oyodo,sakurai,sango,shimoichi,shimokitayama,shinjo,soni,takatori,tawaramoto,tenkawa,tenri,uda,yamatokoriyama,yamatotakada,yamazoe,yoshinoaga,agano,gosen,itoigawa,izumozaki,joetsu,kamo,kariwa,kashiwazaki,minamiuonuma,mitsuke,muika,murakami,myoko,nagaoka,niigata,ojiya,omi,sado,sanjo,seiro,seirou,sekikawa,shibata,tagami,tainai,tochio,tokamachi,tsubame,tsunan,uonuma,yahiko,yoita,yuzawabeppu,bungoono,bungotakada,hasama,hiji,himeshima,hita,kamitsue,kokonoe,kuju,kunisaki,kusu,oita,saiki,taketa,tsukumi,usa,usuki,yufuakaiwa,asakuchi,bizen,hayashima,ibara,kagamino,kasaoka,kibichuo,kumenan,kurashiki,maniwa,misaki,nagi,niimi,nishiawakura,okayama,satosho,setouchi,shinjo,shoo,soja,takahashi,tamano,tsuyama,wake,yakageaguni,ginowan,ginoza,gushikami,haebaru,higashi,hirara,iheya,ishigaki,ishikawa,itoman,izena,kadena,kin,kitadaito,kitanakagusuku,kumejima,kunigami,minamidaito,motobu,nago,naha,nakagusuku,nakijin,nanjo,nishihara,ogimi,okinawa,onna,shimoji,taketomi,tarama,tokashiki,tomigusuku,tonaki,urasoe,uruma,yaese,yomitan,yonabaru,yonaguni,zamamiabeno,chihayaakasaka,chuo,daito,fujiidera,habikino,hannan,higashiosaka,higashisumiyoshi,higashiyodogawa,hirakata,ibaraki,ikeda,izumi,izumiotsu,izumisano,kadoma,kaizuka,kanan,kashiwara,katano,kawachinagano,kishiwada,kita,kumatori,matsubara,minato,minoh,misaki,moriguchi,neyagawa,nishi,nose,osakasayama,sakai,sayama,sennan,settsu,shijonawate,shimamoto,suita,tadaoka,taishi,tajiri,takaishi,takatsuki,tondabayashi,toyonaka,toyono,yaoariake,arita,fukudomi,genkai,hamatama,hizen,imari,kamimine,kanzaki,karatsu,kashima,kitagata,kitahata,kiyama,kouhoku,kyuragi,nishiarita,ogi,omachi,ouchi,saga,shiroishi,taku,tara,tosu,yoshinogariarakawa,asaka,chichibu,fujimi,fujimino,fukaya,hanno,hanyu,hasuda,hatogaya,hatoyama,hidaka,higashichichibu,higashimatsuyama,honjo,ina,iruma,iwatsuki,kamiizumi,kamikawa,kamisato,kasukabe,kawagoe,kawaguchi,kawajima,kazo,kitamoto,koshigaya,kounosu,kuki,kumagaya,matsubushi,minano,misato,miyashiro,miyoshi,moroyama,nagatoro,namegawa,niiza,ogano,ogawa,ogose,okegawa,omiya,otaki,ranzan,ryokami,saitama,sakado,satte,sayama,shiki,shiraoka,soka,sugito,toda,tokigawa,tokorozawa,tsurugashima,urawa,warabi,yashio,yokoze,yono,yorii,yoshida,yoshikawa,yoshimiaisho,gamo,higashiomi,hikone,koka,konan,kosei,koto,kusatsu,maibara,moriyama,nagahama,nishiazai,notogawa,omihachiman,otsu,ritto,ryuoh,takashima,takatsuki,torahime,toyosato,yasuakagi,ama,gotsu,hamada,higashiizumo,hikawa,hikimi,izumo,kakinoki,masuda,matsue,misato,nishinoshima,ohda,okinoshima,okuizumo,shimane,tamayu,tsuwano,unnan,yakumo,yasugi,yatsukaarai,atami,fuji,fujieda,fujikawa,fujinomiya,fukuroi,gotemba,haibara,hamamatsu,higashiizu,ito,iwata,izu,izunokuni,kakegawa,kannami,kawanehon,kawazu,kikugawa,kosai,makinohara,matsuzaki,minamiizu,mishima,morimachi,nishiizu,numazu,omaezaki,shimada,shimizu,shimoda,shizuoka,susono,yaizu,yoshidaashikaga,bato,haga,ichikai,iwafune,kaminokawa,kanuma,karasuyama,kuroiso,mashiko,mibu,moka,motegi,nasu,nasushiobara,nikko,nishikata,nogi,ohira,ohtawara,oyama,sakura,sano,shimotsuke,shioya,takanezawa,tochigi,tsuga,ujiie,utsunomiya,yaitaaizumi,anan,ichiba,itano,kainan,komatsushima,matsushige,mima,minami,miyoshi,mugi,nakagawa,naruto,sanagochi,shishikui,tokushima,wajikiadachi,akiruno,akishima,aogashima,arakawa,bunkyo,chiyoda,chofu,chuo,edogawa,fuchu,fussa,hachijo,hachioji,hamura,higashikurume,higashimurayama,higashiyamato,hino,hinode,hinohara,inagi,itabashi,katsushika,kita,kiyose,kodaira,koganei,kokubunji,komae,koto,kouzushima,kunitachi,machida,meguro,minato,mitaka,mizuho,musashimurayama,musashino,nakano,nerima,ogasawara,okutama,ome,oshima,ota,setagaya,shibuya,shinagawa,shinjuku,suginami,sumida,tachikawa,taito,tama,toshimachizu,hino,kawahara,koge,kotoura,misasa,nanbu,nichinan,sakaiminato,tottori,wakasa,yazu,yonagoasahi,fuchu,fukumitsu,funahashi,himi,imizu,inami,johana,kamiichi,kurobe,nakaniikawa,namerikawa,nanto,nyuzen,oyabe,taira,takaoka,tateyama,toga,tonami,toyama,unazuki,uozu,yamadaarida,aridagawa,gobo,hashimoto,hidaka,hirogawa,inami,iwade,kainan,kamitonda,katsuragi,kimino,kinokawa,kitayama,koya,koza,kozagawa,kudoyama,kushimoto,mihama,misato,nachikatsuura,shingu,shirahama,taiji,tanabe,wakayama,yuasa,yuraasahi,funagata,higashine,iide,kahoku,kaminoyama,kaneyama,kawanishi,mamurogawa,mikawa,murayama,nagai,nakayama,nanyo,nishikawa,obanazawa,oe,oguni,ohkura,oishida,sagae,sakata,sakegawa,shinjo,shirataka,shonai,takahata,tendo,tozawa,tsuruoka,yamagata,yamanobe,yonezawa,yuzaabu,hagi,hikari,hofu,iwakuni,kudamatsu,mitou,nagato,oshima,shimonoseki,shunan,tabuse,tokuyama,toyota,ube,yuuchuo,doshi,fuefuki,fujikawa,fujikawaguchiko,fujiyoshida,hayakawa,hokuto,ichikawamisato,kai,kofu,koshu,kosuge,minami-alps,minobu,nakamichi,nanbu,narusawa,nirasaki,nishikatsura,oshino,otsuki,showa,tabayama,tsuru,uenohara,yamanakako,yamanashi*,!city*,!city*,!city*,!city*,!city*,!city*,!city<ac,co,go,info,me,mobi,ne,or,scorg,net,com,edu,gov,mil*edu,biz,net,org,gov,info,comorg,nom,gov,prd,tm,edu,mil,ass,com,coop,asso,presse,medecin,notaires,pharmaciens,veterinaire,gouvnet,org,edu,govcom,edu,gov,org,rep,traac,co,es,go,hs,kg,mil,ms,ne,or,pe,re,sc,busan,chungbuk,chungnam,daegu,daejeon,gangwon,gwangju,gyeongbuk,gyeonggi,gyeongnam,incheon,jeju,jeonbuk,jeonnam,seoul,ulsancom,edu,emb,gov,ind,net,orgcom,edu,net,orgorg,edu,net,gov,mil,comint,net,info,edu,gov,per,com,orgcom,edu,gov,net,orgcom,net,co,org,edu,govgov,sch,net,int,com,org,edu,ngo,soc,web,ltd,assn,grp,hotel,accom,edu,gov,org,netac,biz,co,edu,gov,info,net,org,scgovcom,edu,gov,org,mil,id,net,asn,confcom,net,gov,plc,edu,sch,med,org,idco,net,gov,org,ac,presstm,assoco,net,org,edu,ac,gov,its,privorg,nom,gov,prd,tm,edu,mil,com,cocom,org,net,edu,gov,inf,namecom,edu,gouv,gov,net,org,presse*gov,edu,orgcom,net,org,edu,govgovcom,edu,gov,net,orgcom,edu,net,orgcom,net,org,gov,ac,co,oraero,biz,com,coop,edu,gov,info,int,mil,museum,name,net,org,proac,biz,co,com,coop,edu,gov,int,museum,net,orgcom,org,gob,edu,netbiz,com,edu,gov,mil,name,net,orgac,adv,co,edu,gov,mil,net,orginfo,pro,name,school,or,dr,us,mx,ca,in,cc,tv,ws,mobi,co,com,orgasso,nomcom,net,per,rec,web,arts,firm,info,other,storecom,edu,gov,i,mil,mobi,name,net,org,schac,biz,co,com,edu,gob,in,info,int,mil,net,nom,org,webfhs,vgs,fylkesbibl,folkebibl,museum,idrett,priv,mil,stat,dep,kommune,herad,aa>gsgsgsgsgsgsgsgsgsgsgs
    gsgsgsgsgsgsgsgsgsgsbo,xn--b-5gabo,xn--b-5ga,heroy,xn--hery-iraheroy,sandexn--hery-ira,sandenesnesos,valer,xn--vler-qoaossandevalerxn--vler-qoa<*biz,info,gov,edu,org,net,comac,co,cri,geek,gen,govt,health,iwi,kiwi,maori,mil,xn--mori-qsa,net,org,parliament,schoolco,com,edu,gov,med,museum,net,org,proac,gob,com,org,sld,edu,net,ing,abo,med,nomedu,gob,nom,mil,org,com,netcom,org,edu*com,net,org,gov,edu,ngo,mil,icom,net,edu,org,fam,biz,web,gov,gob,gok,gon,gop,gos,infocom,net,org,aid,agro,atm,auto,biz,edu,gmina,gsm,info,mail,miasta,media,mil,nieruchomosci,nom,pc,powiat,priv,realestate,rel,sex,shop,sklep,sos,szkola,targi,tm,tourism,travel,turystyka,gov>ap,griw,ic,is,kmpsp,konsulat,kppsp,kwp,kwpsp,mup,mw,oia,oirm,oke,oow,oschr,oum,pa,pinb,piw,po,pr,psp,psse,pup,rzgw,sa,sdn,sko,so,sr,starostwo,ug,ugim,um,umig,upow,uppo,us,uw,uzs,wif,wiih,winb,wios,witd,wiw,wkz,wsa,wskr,wsse,wuoz,wzmiuw,zp,zpisdngov,co,org,edu,netcom,net,org,gov,edu,isla,pro,biz,info,name,est,prof,acaaa,aca,acct,avocat,bar,cpa,eng,jur,law,med,rechtedu,gov,sec,plo,com,org,netnet,gov,org,edu,int,publ,com,nomeco,ne,or,ed,go,belaucom,coop,edu,gov,mil,net,orgcom,edu,gov,mil,name,net,org,schasso,com,nomarts,com,firm,info,nom,nt,org,rec,store,tm,wwwac,co,edu,gov,in,orgac,co,coop,gov,mil,net,orgcom,net,org,gov,med,pub,edu,schcom,edu,gov,net,orgcom,gov,net,org,educom,net,org,edu,med,tv,gov,infoa,ac,b,bd,brand,c,d,e,f,fh,fhsk,fhv,g,h,i,k,komforb,kommunalforbund,komvux,l,lanbib,m,n,naturbruksgymn,o,org,p,parti,pp,press,r,s,t,tm,u,w,x,y,zcom,net,org,gov,edu,percom,net,gov,org,milcom,net,edu,gov,orgart,com,edu,gouv,org,perso,univcom,edu,gov,me,net,orgbiz,com,edu,gov,me,net,org,schco,com,consulado,edu,embaixada,mil,net,org,principe,saotome,storecom,edu,gob,org,redgovedu,gov,net,mil,com,orgco,ac,orgac,co,go,in,mi,net,orac,biz,co,com,edu,go,gov,int,mil,name,net,nic,org,test,webgovcom,co,org,net,nom,gov,mil,educom,ens,fin,gov,ind,info,intl,mincom,nat,net,org,perso,tourismcom,gov,net,org,edu,milav,bbs,bel,biz,com,dr,edu,gen,gov,info,mil,k12,kep,name,net,org,pol,tel,tsk,tv,web,nc>gov<co,com,org,net,biz,info,pro,int,coop,jobs,mobi,travel,museum,aero,name,gov,eduedu,gov,mil,com,net,org,idv,game,ebiz,club,xn--zf0ao64a,xn--uc0atv,xn--czrw28bac,co,go,hotel,info,me,mil,mobi,ne,or,sc,tvcom,edu,gov,in,net,org,cherkassy,cherkasy,chernigov,chernihiv,chernivtsi,chernovtsy,ck,cn,cr,crimea,cv,dn,dnepropetrovsk,dnipropetrovsk,donetsk,dp,if,ivano-frankivsk,kh,kharkiv,kharkov,kherson,khmelnitskiy,khmelnytskyi,kiev,kirovograd,km,kr,kropyvnytskyi,krym,ks,kv,kyiv,lg,lt,lugansk,luhansk,lutsk,lv,lviv,mk,mykolaiv,nikolaev,od,odesa,odessa,pl,poltava,rivne,rovno,rv,sb,sebastopol,sevastopol,sm,sumy,te,ternopil,uz,uzhgorod,uzhhorod,vinnica,vinnytsia,vn,volyn,yalta,zakarpattia,zaporizhzhe,zaporizhzhia,zhitomir,zhytomyr,zp,ztco,or,ac,sc,go,ne,com,orgac,co,gov,ltd,me,net,nhs,org,plc,police,sch>*<dni,fed,isa,kids,nsn,ak>k12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcck12,cc,libk12,cc,libk12,cc,libcc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12>pvt,chtr,parochk12,cc,libk12,cc,libk12,cc,lib,ann-arbor,cog,dst,eaton,gen,mus,tec,washtenawk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcc,libk12,cc,libcc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcck12,cc,lib<com,edu,gub,mil,net,orgco,com,net,orgcom,net,org,gov,mil,eduarts,bib,co,com,e12,edu,firm,gob,gov,info,int,mil,net,nom,org,rar,rec,store,tec,webco,com,k12,net,orgac,ai,biz,com,edu,gov,health,id,info,int,io,name,net,org,pro,angiang,bacgiang,backan,baclieu,bacninh,baria-vungtau,bentre,binhdinh,binhduong,binhphuoc,binhthuan,camau,cantho,caobang,daklak,daknong,danang,dienbien,dongnai,dongthap,gialai,hagiang,haiduong,haiphong,hanam,hanoi,hatinh,haugiang,hoabinh,hungyen,khanhhoa,kiengiang,kontum,laichau,lamdong,langson,laocai,longan,namdinh,nghean,ninhbinh,ninhthuan,phutho,phuyen,quangbinh,quangnam,quangngai,quangninh,quangtri,soctrang,sonla,tayninh,thaibinh,thainguyen,thanhhoa,thanhphohochiminh,thuathienhue,tiengiang,travinh,tuyenquang,vinhlong,vinhphuc,yenbaicom,edu,net,orgcom,net,org,gov,eduxn--55qx5d,xn--wcvs22d,xn--mxtq1m,xn--gmqw5a,xn--od0alg,xn--uc0atvxn--o1ac,xn--c1avg,xn--90azh,xn--d1at,xn--o1ach,xn--80auxn--12c1fe0br,xn--12co0c3b4eva,xn--h3cuzk1di,xn--o3cyx2a,xn--m3ch0j3a,xn--12cfi8ixb8lcom,edu,gov,net,mil,orgac,agric,alt,co,edu,gov,grondar,law,mil,net,ngo,nic,nis,nom,org,school,tm,webac,biz,co,com,edu,gov,info,mil,net,org,schac,co,gov,mil,org12chars,panel,autocode,lcl>*****user>*<archer,bones,canary,global,hacker,id,janeway,kim,kira,kirk,odo,paris,picard,pike,prerelease,reed,riker,sisko,spock,staging,sulu,tarpit,teams,tucker,wesley,worf*<12chars,blogspot,ibxos,iliadboxos,neen>jcopen>jelastic>cloud<<<16-b,32-b,64-b,123homepage,myspreadshop,syncloud12chars,cloudns,dnstrace>bcicc,inf,ltd,cx,ie,biz,co,pp,v611,oya,rdv,x0,vpnplus,quickconnect>directa2hosted,cpserver,devcdnaccesso>*dev>*<af-south-1>execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointexecute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websiteexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointwebview-assetsvfs<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fipswebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fipsexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fipsexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<**ap-northeast-1>***************<accesspoint>mrap<*<af-south-1>authauthauthauthauthauthauthauthauthauthauthauthauthauthauthauthauthauthauth,auth-fipsauth,auth-fipsauth-fipsauth,auth-fipsauth,auth-fips<**af-south-1,ap-east-1,ap-northeast-1,ap-northeast-2,ap-northeast-3,ap-south-1,ap-southeast-1,ap-southeast-2,ap-southeast-3,ca-central-1,eu-central-1,eu-north-1,eu-south-1,eu-west-1,eu-west-2,eu-west-3,il-central-1,me-south-1,sa-east-1,us-east-1,us-east-2,us-gov-east-1,us-gov-west-1,us-west-1,us-west-2**,oci>***<demo,instance*eu-1,eu-2,eu-3,eu-4,us-1,us-2,us-3,us-4*r>*<paasrag-cloud,rag-cloud-chjcloud,jcloud-ver-jpcdemopaasjed,lon,rydcns>*<appmembers,nodebalancer>*<*ipappseucloudapp>*<customer,caracal,fentiger,lynx,ocelot,oncilla,onza,sphinx,vs,x,yalicloud<4u,nfshost,001www,ddnslive,myiphost,blogsyte,ciscofreak,damnserver,ditchyourip,dnsiskinky,dynns,geekgalaxy,health-carereform,homesecuritymac,homesecuritypc,myactivedirectory,mysecuritycamera,net-freaks,onthewifi,point2this,quicksytes,securitytactics,serveexchange,servehumour,servep2p,servesarcasm,stufftoread,unusualperson,workisboring,3utilities,ddnsking,myvnc,servebeer,servecounterstrike,serveftp,servegame,servehalflife,servehttp,serveirc,servemp3,servepics,servequake,observableusercontent>static*xeneu*appbuilder>***<platform>code-builder-stg>test>001>*<<<<alpha,betaapisitepro*pagesjsu2,u2-localgraphox,cloudns,drud,is-by,land-4-sale,stuff-4-sale,enscaled>phxlib<on-acorn>*app,backyards>*<s>*<uk0dyndnsid*paassekd1cloud-fr1*ap,au,eu,in,jp,sa,usstagemocksys>*<g**devicesapps**dev>cust,reservdcust,reservdcustcust,reservd<activetrail,cloudns,jozi,dyndns,for-better,for-more,for-some,for-the,selfip,webhop,orx,mmafan,myftp,no-ip,dscloudadaptable,beget>*****idprivatelinkaem,hlx,ewp>*<adobeaemcloud,adobeio-static,adobeioruntime,akadns,akamai,akamai-staging,akamaiedge,akamaiedge-staging,akamaihd,akamaihd-staging,akamaiorigin,akamaiorigin-staging,akamaized,akamaized-staging,edgekey,edgekey-staging,edgesuite,edgesuite-staging,alwaysdata,myamaze,cloudfront,t3l3p0rt,appudo,atlassian-dev>prod>cdn<r*umapfreetls,map,prod>a,globala,b,global<fra1-de,west1-usjls-sto1,jls-sto2,jls-sto3paas>fr-1,lon-1,lon-2,ny-1,ny-2,sg-1<jelastic,nordeste-idcjjelastic1,2,3,4,5,6,7,centralus,eastasia,eastus2,westeurope,westus2core>blobwebpaas>**<jelastic>atl,njs,ric<soc,userbetac>*<pagesstorage,websiteaem,hlx,hlx3,translated,codeberg,pdns,plesk,prvcy,rocky,magnetbeep,ecommerce-shop,shoparena,homesklep,sdscloud,unicloud,krasnik,leczna,lubartow,lublin,poniatowa,swidnik,co,torun,simplesite,art,gliwice,krakow,poznan,wroc,zakopane,myspreadshop,gda,gdansk,gdynia,med,sopotairkitapps,mycd,cloudns,dogado>jelastic*barsy,awdev>*compute>*<alces>*altervista,amune>telec,rscorigin>ssl<go,homeal,asso,at,au,be,bg,ca,cd,ch,cn,cy,cz,de,dk,edu,ee,es,fi,fr,gr,hr,hu,ie,il,in,int,is,it,jp,kr,lt,lu,lv,mc,me,mk,mt,my,net,ng,nl,no,nz,paris,pl,pt,q-a,ro,ru,se,si,sk,tr,uk,uscloud,os>appos>app<<s3com>amazonaws>cn-north-1>execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websiteexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint*cn-north-1>**<cn-north-1,cn-northwest-1*<cn-north-1>notebook,studionotebook,studio<<my>*<direct<sagemaker>af-south-1>notebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebooknotebook,studionotebook,studionotebook,studionotebooknotebook,notebook-fips,studionotebook,notebook-fipsnotebook,studionotebooknotebook,studionotebook,studionotebooknotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,notebook-fips,studionotebook,notebook-fips,studionotebook,notebook-fips,studio,studio-fipsnotebook,notebook-fips,studio,studio-fipsnotebook,studionotebook,notebook-fips,studio<private>*<<eero,eero-stage,barsyf5,gitapp,gitpage,blogspotne>aseinet>userisk01>s3s3<rs,usergv>d<0eparty>user<advisor>*rs,blogspotbanzai>*eu*es-1viparuba>eur>it1<cstn,ukukca,uk,usch,de**baremetal>fr-par-1,fr-par-2,nl-ams-1cockpit,fnc>functionsnodespriv,pubcockpit,k8s>nodescockpit,k8s>nodesruns*base,officialbase,hoplix,barsypagesbnr,cofsquare7,blogspot,flow>ae>alp1*,svc>*<<12hp,2ix,4lima,lima-citybplaced,square7,com,cosidns>dyndyn,dyndnsdyn*it>pages<customer*brendly>shopco>bytemark>dh,vmjcustcampaign,service,apiglug,lug,lugs,affinitylottery,raffleentry,weeklylotterycanva>my>*<***drr,feedback,formsuwucarrd,crd,otap>*blogspotididjucom,blogspot,conf,iopsys,123minsida,itcouldbewor,myspreadshop,paba>su<za,gsjweb,cloudns,co>cyclicaus,nzradio,blogspot,neko,nyaaradio,user>*<discoursediscourse,jelasticc66,daplie>localhostsitecloud66,hs,triton>*cloudaccess,freesite,easypanel,fastvps,myfast,tempurl,wpmudev,jele,mircloud,pcloud,halfco,realm,e4,blogspot,metacentrum>cloud>*cloud>flt,usr<<cloudnscloudns,jele,barsycloudns,ftpaccess,game-server,myphotos,scrapping,twmail,csx,fantasyleague,spawn>instances<cloudns,dynamic-dns,dyndns,barrel-of-knowledge,barrell-of-knowledge,for-our,groks-the,groks-this,here-for-more,knowsitall,selfip,webhop,barsy,mayfirst,forumz,nsupdate,dvrcam,ilovecollege,no-ip,dnsupdate,v-infocloudns,x443cnpyco,hosting-cluster,blogspot,gov,khplay,123website,myspreadshop,transurl>*co,blogspot,123hjemmeside,myspreadshopwebhosting,blogspot,interhostsolutions>cloudezproxy<123website,myspreadshop,transurl>*<ac,edu,gov,int,mil,test,eurodir,adygeya,bashkiria,bir,cbg,com,dagestan,grozny,kalmykia,kustanai,marine,mordovia,msk,mytis,nalchik,nov,pyatigorsk,spb,vladikavkaz,vladimir,blogspot,na4u,mircloud,regruhosting>jelastichosting>****<hbvpscrisp>on<cupcake,blogspotcyon,mypep,dweb>*<biz,co,firm,reg,store,blogspot,123hjemmeside,myspreadshopdapps>*,bzz>*<<my>rss>*<blogspotdiher>*<online,shopbip,hashbang,platform>ent,eu,usdy,blogspot,xn--hkkinen-5wa,iki,cloudplatform>fidemo,paasdyndns,better-than,on-the-web,worse-than,from,sakuraath,info,assessments,calculators,funnels,paynow,quizzes,researched,testsher>forgotforgot<merseine,mine,shacknet,enterprisecloudmyddns,stackit,lima-city,webspaceblogsite,localzone,crafting,zapto,telebit>*<elementor,deen-root,fbx-os,fbxos,freebox-os,freeboxos,blogspot,goupile,123siteweb,on-web,chirurgiens-dentistes-en-france,dedibox,aeroport,avocat,chambagri,chirurgiens-dentistes,experts-comptables,medecin,notaires,pharmacien,port,veterinaire,myspreadshop,ynhonred>staging*com>mymailerabkhazia,adygeya,aktyubinsk,arkhangelsk,armenia,ashgabad,azerbaijan,balashov,bashkiria,bryansk,bukhara,chimkent,dagestan,east-kazakhstan,exnet,georgia,grozny,ivanovo,jambyl,kalmykia,kaluga,karacol,karaganda,karelia,khakassia,krasnodar,kurgan,kustanai,lenug,mangyshlak,mordovia,msk,murmansk,nalchik,navoi,north-kazakhstan,nov,obninsk,penza,pokrovsk,sochi,spb,tashkent,termez,togliatti,troitsk,tselinograd,tula,tuva,vladikavkaz,vladimir,vologdamyfast,uber,xs4allframerframerframerframerco>ravpage,blogspot,tabitorder,mytabit<funkfeuer>wien*,ex>**<ex>**<blogspotlab,minisitenog,ravendb,myforumco,shop,blogspot,barsycloudapps>london<rocloud,translate,usercontent>*<blogspotblogspotblogspot,barsyblogspotblogspotblogspotco>blogspot<co>blogspot<co>blogspot<com>blogspot<com>blogspot,cloudlets>melcom>blogspot,simplesiteac,al,am,ap,ba,ce,df,es,go,ma,mg,ms,mt,pa,pb,pe,pi,pr,rj,rn,ro,rr,rs,sc,se,sp,to<com>blogspotcom>blogspot,scaleforce>j<<com>blogspot<com>blogspot<com>blogspot<123miweb,myspreadshopcom>blogspot<com>blogspotcom>blogspot<com>blogspot<blogspotblogspot,simplesiteblogspot,secaas,ltd,inc
    blogspot,freeblogspotblogspot,myspreadshopblogspot
  1. blogspot,caablogspotblogspot,123websiteblogspot,at,de,jp,toblogspotblogspotblogspotblogspotblogspotblogspot,123paginawebblogspotblogspotblogspot,enscaledblogspotblogspotblogspotblogspotblogspotfin,nlhs,development,ravendb,servers,build>****id>**biz,xxedu,gov>service<sch,surveysjcloud,kazteleport>upaas<orangecloudkaas,cya,stackit,panel>daemon<knightpointkoobin,coco,educococococoweloginlinebarsybarsy,dscloudbarsycn,blog,dev,mehranabu>ui<ngroknoticeablenow-dns,ntdllnerdpolnycomgopencrafttechown,nameowo>*<oypleycoprequalifymecloudsiterit>git-pages<xn--90amc,xn--j1aef,xn--j1ael8b,xn--h1ahn,xn--j1adp,xn--c1avg,xn--80aaa0cvac,xn--h1aliz,xn--90a1af,xn--41akirara,nohosellfy,shopware,storebasestatic>dev,sites<storj1337clanschbiz,schorgrouterbe,cat,es,eu,gg,mc,us,xyappblog,de,tobeccio,jp,tv,uk,usdeindiech,me,weatofficialyboyboyboyboybobss'; - }, - './node_modules/super-regex/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - firstMatch: function () { - return firstMatch; - }, - isMatch: function () { - return isMatch; - }, - matches: function () { - return matches; - } - }); - /* harmony import */ var function_timeout__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! function-timeout */ './node_modules/function-timeout/browser.js' - ); - /* harmony import */ var time_span__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! time-span */ './node_modules/time-span/browser.js' - ); - /* harmony import */ var clone_regexp__WEBPACK_IMPORTED_MODULE_2__ = - __webpack_require__( - /*! clone-regexp */ './node_modules/clone-regexp/index.js' - ); - - // TODO: Use `structuredClone` instead when targeting Node.js 18. - - const resultToMatch = result => ({ - match: result[0], - index: result.index, - groups: result.slice(1), - namedGroups: result.groups ?? {}, - input: result.input - }); - - function isMatch(regex, string, { timeout } = {}) { - try { - return (0, - function_timeout__WEBPACK_IMPORTED_MODULE_0__['default'])( - () => - (0, - clone_regexp__WEBPACK_IMPORTED_MODULE_2__[ - 'default' - ])(regex).test(string), - { timeout } - )(); - } catch (error) { - if ( - (0, - function_timeout__WEBPACK_IMPORTED_MODULE_0__.isTimeoutError)( - error - ) - ) { - return false; - } - - throw error; - } - } - - function firstMatch(regex, string, { timeout } = {}) { - try { - const result = (0, - function_timeout__WEBPACK_IMPORTED_MODULE_0__['default'])( - () => - (0, - clone_regexp__WEBPACK_IMPORTED_MODULE_2__[ - 'default' - ])(regex).exec(string), - { timeout } - )(); - - if (result === null) { - return; - } - - return resultToMatch(result); - } catch (error) { - if ( - (0, - function_timeout__WEBPACK_IMPORTED_MODULE_0__.isTimeoutError)( - error - ) - ) { - return; - } - - throw error; - } - } - - function matches( - regex, - string, - { - timeout = Number.POSITIVE_INFINITY, - matchTimeout = Number.POSITIVE_INFINITY - } = {} - ) { - if (!regex.global) { - throw new Error( - 'The regex must have the global flag, otherwise, use `firstMatch()` instead' - ); - } - - return { - *[Symbol.iterator]() { - try { - const matches = string.matchAll(regex); // The regex is only executed when iterated over. - - while (true) { - const nextMatch = (0, - function_timeout__WEBPACK_IMPORTED_MODULE_0__[ - 'default' - ])(() => matches.next(), { - timeout: - timeout !== Number.POSITIVE_INFINITY || - matchTimeout !== - Number.POSITIVE_INFINITY - ? Math.min(timeout, matchTimeout) - : undefined - }); // `matches.next` must be called within an arrow function so that it doesn't loose its context. - - const end = (0, - time_span__WEBPACK_IMPORTED_MODULE_1__[ - 'default' - ])(); - const { value, done } = nextMatch(); - timeout -= Math.ceil(end()); - - if (done) { - break; - } - - yield resultToMatch(value); - } - } catch (error) { - if ( - !(0, - function_timeout__WEBPACK_IMPORTED_MODULE_0__.isTimeoutError)( - error - ) - ) { - throw error; - } - } - } - }; - } - }, - './node_modules/time-span/browser.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - default: function () { - return timeSpan; - } - }); - function timeSpan() { - const start = performance.now(); - - const end = () => performance.now() - start; - end.rounded = () => Math.round(end()); - end.seconds = () => end() / 1000; - end.nanoseconds = () => end() * 1000000; - - return end; - } - } - }; - /************************************************************************/ - // The module cache - var __webpack_module_cache__ = {}; - - // The require function - function __webpack_require__(moduleId) { - // Check if module is in cache - var cachedModule = __webpack_module_cache__[moduleId]; - if (cachedModule !== undefined) { - return cachedModule.exports; - } - // Create a new module (and put it into the cache) - var module = (__webpack_module_cache__[moduleId] = { - exports: {} - }); - // Execute the module function - __webpack_modules__[moduleId]( - module, - module.exports, - __webpack_require__ - ); - - // Return the exports of the module - return module.exports; - } - - /************************************************************************/ - // webpack/runtime/define_property_getters - (() => { - __webpack_require__.d = function (exports, definition) { - for (var key in definition) { - if ( - __webpack_require__.o(definition, key) && - !__webpack_require__.o(exports, key) - ) { - Object.defineProperty(exports, key, { - enumerable: true, - get: definition[key] - }); - } - } - }; - })(); - // webpack/runtime/has_own_property - (() => { - __webpack_require__.o = function (obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); - }; - })(); - // webpack/runtime/make_namespace_object - (() => { - // define __esModule on exports - __webpack_require__.r = function (exports) { - if (typeof Symbol !== 'undefined' && Symbol.toStringTag) { - Object.defineProperty(exports, Symbol.toStringTag, { - value: 'Module' - }); - } - Object.defineProperty(exports, '__esModule', { value: true }); - }; - })(); - /************************************************************************/ - var __webpack_exports__ = {}; - // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. - (() => { - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _rewriters_url__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./rewriters/url */ './src/shared/rewriters/url.ts' - ); - /* harmony import */ var _rewriters_css__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! ./rewriters/css */ './src/shared/rewriters/css.ts' - ); - /* harmony import */ var _rewriters_html__WEBPACK_IMPORTED_MODULE_2__ = - __webpack_require__( - /*! ./rewriters/html */ './src/shared/rewriters/html.ts' - ); - /* harmony import */ var _rewriters_js__WEBPACK_IMPORTED_MODULE_3__ = - __webpack_require__( - /*! ./rewriters/js */ './src/shared/rewriters/js.ts' - ); - /* harmony import */ var _rewriters_headers__WEBPACK_IMPORTED_MODULE_4__ = - __webpack_require__( - /*! ./rewriters/headers */ './src/shared/rewriters/headers.ts' - ); - /* harmony import */ var _rewriters_worker__WEBPACK_IMPORTED_MODULE_5__ = - __webpack_require__( - /*! ./rewriters/worker */ './src/shared/rewriters/worker.ts' - ); - /* harmony import */ var _mercuryworkshop_bare_mux__WEBPACK_IMPORTED_MODULE_6__ = - __webpack_require__( - /*! @mercuryworkshop/bare-mux */ './node_modules/@mercuryworkshop/bare-mux/dist/index.mjs' - ); - /* harmony import */ var parse_domain__WEBPACK_IMPORTED_MODULE_7__ = - __webpack_require__( - /*! parse-domain */ './node_modules/parse-domain/build/parse-domain.js' - ); - - if (!self.$scramjet) { - //@ts-expect-error really dumb workaround - self.$scramjet = {}; - } - self.$scramjet.shared = { - util: { - isScramjetFile: - _rewriters_html__WEBPACK_IMPORTED_MODULE_2__.isScramjetFile, - parseDomain: - parse_domain__WEBPACK_IMPORTED_MODULE_7__.parseDomain, - BareClient: - _mercuryworkshop_bare_mux__WEBPACK_IMPORTED_MODULE_6__.BareClient - }, - url: { - encodeUrl: - _rewriters_url__WEBPACK_IMPORTED_MODULE_0__.encodeUrl, - decodeUrl: _rewriters_url__WEBPACK_IMPORTED_MODULE_0__.decodeUrl - }, - rewrite: { - rewriteCss: - _rewriters_css__WEBPACK_IMPORTED_MODULE_1__.rewriteCss, - rewriteHtml: - _rewriters_html__WEBPACK_IMPORTED_MODULE_2__.rewriteHtml, - rewriteSrcset: - _rewriters_html__WEBPACK_IMPORTED_MODULE_2__.rewriteSrcset, - rewriteJs: _rewriters_js__WEBPACK_IMPORTED_MODULE_3__.rewriteJs, - rewriteHeaders: - _rewriters_headers__WEBPACK_IMPORTED_MODULE_4__.rewriteHeaders, - rewriteWorkers: - _rewriters_worker__WEBPACK_IMPORTED_MODULE_5__.rewriteWorkers - } - }; - })(); -})(); -//# sourceMappingURL=scramjet.shared.js.map diff --git a/public/$/scramjet.shared.js.map b/public/$/scramjet.shared.js.map deleted file mode 100755 index f2dbaa1..0000000 --- a/public/$/scramjet.shared.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"scramjet.shared.js","sources":["webpack://@mercuryworkshop/scramjet/./node_modules/astravel/dist/module/astravel.js","webpack://@mercuryworkshop/scramjet/./node_modules/astravel/dist/module/attachComments.js","webpack://@mercuryworkshop/scramjet/./node_modules/astravel/dist/module/defaultTraveler.js","webpack://@mercuryworkshop/scramjet/./src/client/url.ts","webpack://@mercuryworkshop/scramjet/./src/shared/rewriters/css.ts","webpack://@mercuryworkshop/scramjet/./src/shared/rewriters/headers.ts","webpack://@mercuryworkshop/scramjet/./src/shared/rewriters/html.ts","webpack://@mercuryworkshop/scramjet/./src/shared/rewriters/js.ts","webpack://@mercuryworkshop/scramjet/./src/shared/rewriters/url.ts","webpack://@mercuryworkshop/scramjet/./src/shared/rewriters/worker.ts","webpack://@mercuryworkshop/scramjet/./node_modules/@mercuryworkshop/bare-mux/dist/index.mjs","webpack://@mercuryworkshop/scramjet/./node_modules/astring/dist/astring.mjs","webpack://@mercuryworkshop/scramjet/./node_modules/clone-regexp/index.js","webpack://@mercuryworkshop/scramjet/./node_modules/dom-serializer/lib/esm/foreignNames.js","webpack://@mercuryworkshop/scramjet/./node_modules/dom-serializer/lib/esm/index.js","webpack://@mercuryworkshop/scramjet/./node_modules/domelementtype/lib/esm/index.js","webpack://@mercuryworkshop/scramjet/./node_modules/domhandler/lib/esm/index.js","webpack://@mercuryworkshop/scramjet/./node_modules/domhandler/lib/esm/node.js","webpack://@mercuryworkshop/scramjet/./node_modules/domutils/lib/esm/feeds.js","webpack://@mercuryworkshop/scramjet/./node_modules/domutils/lib/esm/helpers.js","webpack://@mercuryworkshop/scramjet/./node_modules/domutils/lib/esm/index.js","webpack://@mercuryworkshop/scramjet/./node_modules/domutils/lib/esm/legacy.js","webpack://@mercuryworkshop/scramjet/./node_modules/domutils/lib/esm/manipulation.js","webpack://@mercuryworkshop/scramjet/./node_modules/domutils/lib/esm/querying.js","webpack://@mercuryworkshop/scramjet/./node_modules/domutils/lib/esm/stringify.js","webpack://@mercuryworkshop/scramjet/./node_modules/domutils/lib/esm/traversal.js","webpack://@mercuryworkshop/scramjet/./node_modules/entities/lib/esm/decode.js","webpack://@mercuryworkshop/scramjet/./node_modules/entities/lib/esm/decode_codepoint.js","webpack://@mercuryworkshop/scramjet/./node_modules/entities/lib/esm/encode.js","webpack://@mercuryworkshop/scramjet/./node_modules/entities/lib/esm/escape.js","webpack://@mercuryworkshop/scramjet/./node_modules/entities/lib/esm/generated/decode-data-html.js","webpack://@mercuryworkshop/scramjet/./node_modules/entities/lib/esm/generated/decode-data-xml.js","webpack://@mercuryworkshop/scramjet/./node_modules/entities/lib/esm/generated/encode-html.js","webpack://@mercuryworkshop/scramjet/./node_modules/entities/lib/esm/index.js","webpack://@mercuryworkshop/scramjet/./node_modules/function-timeout/browser.js","webpack://@mercuryworkshop/scramjet/./node_modules/htmlparser2/lib/esm/Parser.js","webpack://@mercuryworkshop/scramjet/./node_modules/htmlparser2/lib/esm/Tokenizer.js","webpack://@mercuryworkshop/scramjet/./node_modules/htmlparser2/lib/esm/index.js","webpack://@mercuryworkshop/scramjet/./node_modules/ip-regex/index.js","webpack://@mercuryworkshop/scramjet/./node_modules/is-ip/index.js","webpack://@mercuryworkshop/scramjet/./node_modules/is-regexp/index.js","webpack://@mercuryworkshop/scramjet/./node_modules/meriyah/dist/meriyah.esm.mjs","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/build/parse-domain.js","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/build/sanitize.js","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/build/trie/characters.js","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/build/trie/look-up.js","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/build/trie/nodes.js","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/build/trie/parse-trie.js","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/serialized-tries/icann.js","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/serialized-tries/private.js","webpack://@mercuryworkshop/scramjet/./node_modules/super-regex/index.js","webpack://@mercuryworkshop/scramjet/./node_modules/time-span/browser.js","webpack://@mercuryworkshop/scramjet/./src/shared/index.ts"],"sourcesContent":["import { defaultTraveler } from \"./defaultTraveler.js\";\nexport { attachComments } from \"./attachComments.js\";\nexport function makeTraveler(properties) {\n return defaultTraveler.makeChild(properties);\n}\nexport { defaultTraveler };\n//# sourceMappingURL=astravel.js.map","import { defaultTraveler } from \"./defaultTraveler.js\";\n\nfunction attachCommentsToNode(traveler, state, parent, children, findHeadingComments) {\n let {\n index\n } = state;\n const {\n comments\n } = state;\n let comment = comments[index];\n let boundComments, trailingComments;\n\n if (comment == null) {\n return;\n }\n\n if (children == null || children.length === 0) {\n boundComments = parent.comments != null ? parent.comments : [];\n\n while (comment != null && comment.end <= parent.end) {\n boundComments.push(comment);\n comment = comments[++index];\n }\n\n state.index = index;\n\n if (boundComments.length !== 0 && parent.comments == null) {\n parent.comments = boundComments;\n }\n\n return;\n }\n\n if (findHeadingComments) {\n boundComments = parent.comments != null ? parent.comments : [];\n const {\n start\n } = children[0];\n\n while (comment != null && (comment.type[0] === 'B' || comment.type[0] === 'M') && comment.end <= start) {\n boundComments.push(comment);\n comment = comments[++index];\n }\n\n if (boundComments.length !== 0 && parent.comments == null) parent.comments = boundComments;\n }\n\n for (let i = 0, {\n length\n } = children; comment != null && i < length; i++) {\n const child = children[i];\n boundComments = [];\n\n while (comment != null && comment.end <= child.start) {\n boundComments.push(comment);\n comment = comments[++index];\n }\n\n if (comment != null && comment.loc != null && (comment.type[0] === 'L' || comment.type[0] === 'S')) {\n if (comment.loc.start.line === child.loc.end.line) {\n boundComments.push(comment);\n comment = comments[++index];\n }\n }\n\n if (boundComments.length !== 0) {\n child.comments = boundComments;\n }\n\n state.index = index;\n traveler[child.type](child, state);\n index = state.index;\n comment = comments[index];\n }\n\n trailingComments = [];\n\n while (comment != null && comment.end <= parent.end) {\n trailingComments.push(comment);\n comment = comments[++index];\n }\n\n if (trailingComments.length !== 0) {\n parent.trailingComments = trailingComments;\n }\n\n state.index = index;\n}\n\nfunction Block(node, state) {\n attachCommentsToNode(this, state, node, node.body, true);\n}\n\nlet traveler = defaultTraveler.makeChild({\n Program: Block,\n BlockStatement: Block,\n ClassBody: Block,\n\n ObjectExpression(node, state) {\n attachCommentsToNode(this, state, node, node.properties, true);\n },\n\n ArrayExpression(node, state) {\n attachCommentsToNode(this, state, node, node.elements, true);\n },\n\n SwitchStatement(node, state) {\n attachCommentsToNode(this, state, node, node.cases, false);\n },\n\n SwitchCase(node, state) {\n attachCommentsToNode(this, state, node, node.consequent, false);\n }\n\n});\nexport function attachComments(node, comments) {\n traveler[node.type](node, {\n comments,\n index: 0\n });\n return node;\n}\n//# sourceMappingURL=attachComments.js.map","let ForInStatement, FunctionDeclaration, RestElement, BinaryExpression, ArrayExpression, Block, MethodDefinition;\nconst ignore = Function.prototype;\n\nclass Found {\n constructor(node, state) {\n this.node = node;\n this.state = state;\n }\n\n}\n\nexport const defaultTraveler = {\n go(node, state) {\n if (this[node.type]) {\n this[node.type](node, state);\n }\n },\n\n find(predicate, node, state) {\n const finder = Object.create(this);\n\n finder.go = function (node, state) {\n if (predicate(node, state)) {\n throw new Found(node, state);\n }\n\n this[node.type](node, state);\n };\n\n try {\n finder.go(node, state);\n } catch (error) {\n if (error instanceof Found) {\n return error;\n } else {\n throw error;\n }\n }\n },\n\n makeChild(properties = {}) {\n const traveler = Object.create(this);\n traveler.super = this;\n\n for (let key in properties) {\n traveler[key] = properties[key];\n }\n\n return traveler;\n },\n\n Program: Block = function (node, state) {\n const {\n body\n } = node;\n\n if (body != null) {\n const {\n length\n } = body;\n\n for (let i = 0; i < length; i++) {\n this.go(body[i], state);\n }\n }\n },\n BlockStatement: Block,\n StaticBlock: Block,\n EmptyStatement: ignore,\n\n ExpressionStatement(node, state) {\n this.go(node.expression, state);\n },\n\n IfStatement(node, state) {\n this.go(node.test, state);\n this.go(node.consequent, state);\n\n if (node.alternate != null) {\n this.go(node.alternate, state);\n }\n },\n\n LabeledStatement(node, state) {\n this.go(node.label, state);\n this.go(node.body, state);\n },\n\n BreakStatement(node, state) {\n if (node.label) {\n this.go(node.label, state);\n }\n },\n\n ContinueStatement(node, state) {\n if (node.label) {\n this.go(node.label, state);\n }\n },\n\n WithStatement(node, state) {\n this.go(node.object, state);\n this.go(node.body, state);\n },\n\n SwitchStatement(node, state) {\n this.go(node.discriminant, state);\n const {\n cases\n } = node,\n {\n length\n } = cases;\n\n for (let i = 0; i < length; i++) {\n this.go(cases[i], state);\n }\n },\n\n SwitchCase(node, state) {\n if (node.test != null) {\n this.go(node.test, state);\n }\n\n const statements = node.consequent,\n {\n length\n } = statements;\n\n for (let i = 0; i < length; i++) {\n this.go(statements[i], state);\n }\n },\n\n ReturnStatement(node, state) {\n if (node.argument) {\n this.go(node.argument, state);\n }\n },\n\n ThrowStatement(node, state) {\n this.go(node.argument, state);\n },\n\n TryStatement(node, state) {\n this.go(node.block, state);\n\n if (node.handler != null) {\n this.go(node.handler, state);\n }\n\n if (node.finalizer != null) {\n this.go(node.finalizer, state);\n }\n },\n\n CatchClause(node, state) {\n if (node.param != null) {\n this.go(node.param, state);\n }\n\n this.go(node.body, state);\n },\n\n WhileStatement(node, state) {\n this.go(node.test, state);\n this.go(node.body, state);\n },\n\n DoWhileStatement(node, state) {\n this.go(node.body, state);\n this.go(node.test, state);\n },\n\n ForStatement(node, state) {\n if (node.init != null) {\n this.go(node.init, state);\n }\n\n if (node.test != null) {\n this.go(node.test, state);\n }\n\n if (node.update != null) {\n this.go(node.update, state);\n }\n\n this.go(node.body, state);\n },\n\n ForInStatement: ForInStatement = function (node, state) {\n this.go(node.left, state);\n this.go(node.right, state);\n this.go(node.body, state);\n },\n DebuggerStatement: ignore,\n FunctionDeclaration: FunctionDeclaration = function (node, state) {\n if (node.id != null) {\n this.go(node.id, state);\n }\n\n const {\n params\n } = node;\n\n if (params != null) {\n for (let i = 0, {\n length\n } = params; i < length; i++) {\n this.go(params[i], state);\n }\n }\n\n this.go(node.body, state);\n },\n\n VariableDeclaration(node, state) {\n const {\n declarations\n } = node,\n {\n length\n } = declarations;\n\n for (let i = 0; i < length; i++) {\n this.go(declarations[i], state);\n }\n },\n\n VariableDeclarator(node, state) {\n this.go(node.id, state);\n\n if (node.init != null) {\n this.go(node.init, state);\n }\n },\n\n ArrowFunctionExpression(node, state) {\n const {\n params\n } = node;\n\n if (params != null) {\n for (let i = 0, {\n length\n } = params; i < length; i++) {\n this.go(params[i], state);\n }\n }\n\n this.go(node.body, state);\n },\n\n ThisExpression: ignore,\n ArrayExpression: ArrayExpression = function (node, state) {\n const {\n elements\n } = node,\n {\n length\n } = elements;\n\n for (let i = 0; i < length; i++) {\n let element = elements[i];\n\n if (element != null) {\n this.go(elements[i], state);\n }\n }\n },\n\n ObjectExpression(node, state) {\n const {\n properties\n } = node,\n {\n length\n } = properties;\n\n for (let i = 0; i < length; i++) {\n this.go(properties[i], state);\n }\n },\n\n Property(node, state) {\n this.go(node.key, state);\n\n if (node.value != null) {\n this.go(node.value, state);\n }\n },\n\n FunctionExpression: FunctionDeclaration,\n\n SequenceExpression(node, state) {\n const {\n expressions\n } = node,\n {\n length\n } = expressions;\n\n for (let i = 0; i < length; i++) {\n this.go(expressions[i], state);\n }\n },\n\n UnaryExpression(node, state) {\n this.go(node.argument, state);\n },\n\n UpdateExpression(node, state) {\n this.go(node.argument, state);\n },\n\n AssignmentExpression(node, state) {\n this.go(node.left, state);\n this.go(node.right, state);\n },\n\n BinaryExpression: BinaryExpression = function (node, state) {\n this.go(node.left, state);\n this.go(node.right, state);\n },\n LogicalExpression: BinaryExpression,\n\n ConditionalExpression(node, state) {\n this.go(node.test, state);\n this.go(node.consequent, state);\n this.go(node.alternate, state);\n },\n\n NewExpression(node, state) {\n this.CallExpression(node, state);\n },\n\n CallExpression(node, state) {\n this.go(node.callee, state);\n const args = node['arguments'],\n {\n length\n } = args;\n\n for (let i = 0; i < length; i++) {\n this.go(args[i], state);\n }\n },\n\n MemberExpression(node, state) {\n this.go(node.object, state);\n this.go(node.property, state);\n },\n\n Identifier: ignore,\n PrivateIdentifier: ignore,\n Literal: ignore,\n ForOfStatement: ForInStatement,\n\n ClassDeclaration(node, state) {\n if (node.id) {\n this.go(node.id, state);\n }\n\n if (node.superClass) {\n this.go(node.superClass, state);\n }\n\n this.go(node.body, state);\n },\n\n ClassBody: Block,\n\n ImportDeclaration(node, state) {\n const {\n specifiers\n } = node,\n {\n length\n } = specifiers;\n\n for (let i = 0; i < length; i++) {\n this.go(specifiers[i], state);\n }\n\n this.go(node.source, state);\n },\n\n ImportNamespaceSpecifier(node, state) {\n this.go(node.local, state);\n },\n\n ImportDefaultSpecifier(node, state) {\n this.go(node.local, state);\n },\n\n ImportSpecifier(node, state) {\n this.go(node.imported, state);\n this.go(node.local, state);\n },\n\n ExportDefaultDeclaration(node, state) {\n this.go(node.declaration, state);\n },\n\n ExportNamedDeclaration(node, state) {\n if (node.declaration) {\n this.go(node.declaration, state);\n }\n\n const {\n specifiers\n } = node,\n {\n length\n } = specifiers;\n\n for (let i = 0; i < length; i++) {\n this.go(specifiers[i], state);\n }\n\n if (node.source) {\n this.go(node.source, state);\n }\n },\n\n ExportSpecifier(node, state) {\n this.go(node.local, state);\n this.go(node.exported, state);\n },\n\n ExportAllDeclaration(node, state) {\n this.go(node.source, state);\n },\n\n MethodDefinition: MethodDefinition = function (node, state) {\n this.go(node.key, state);\n this.go(node.value, state);\n },\n PropertyDefinition: MethodDefinition,\n\n ClassExpression(node, state) {\n this.ClassDeclaration(node, state);\n },\n\n Super: ignore,\n RestElement: RestElement = function (node, state) {\n this.go(node.argument, state);\n },\n SpreadElement: RestElement,\n\n YieldExpression(node, state) {\n if (node.argument) {\n this.go(node.argument, state);\n }\n },\n\n TaggedTemplateExpression(node, state) {\n this.go(node.tag, state);\n this.go(node.quasi, state);\n },\n\n TemplateLiteral(node, state) {\n const {\n quasis,\n expressions\n } = node;\n\n for (let i = 0, {\n length\n } = expressions; i < length; i++) {\n this.go(expressions[i], state);\n }\n\n for (let i = 0, {\n length\n } = quasis; i < length; i++) {\n this.go(quasis[i], state);\n }\n },\n\n TemplateElement: ignore,\n\n ObjectPattern(node, state) {\n const {\n properties\n } = node,\n {\n length\n } = properties;\n\n for (let i = 0; i < length; i++) {\n this.go(properties[i], state);\n }\n },\n\n ArrayPattern: ArrayExpression,\n\n AssignmentPattern(node, state) {\n this.go(node.left, state);\n this.go(node.right, state);\n },\n\n MetaProperty(node, state) {\n this.go(node.meta, state);\n this.go(node.property, state);\n },\n\n AwaitExpression(node, state) {\n this.go(node.argument, state);\n }\n\n};\n//# sourceMappingURL=defaultTraveler.js.map","import { encodeUrl } from \"../shared/rewriters/url\";\nexport const URL = globalThis.URL;\n\nif (globalThis.window) {\n\twindow.URL = new Proxy(URL, {\n\t\tconstruct(target, argArray, newTarget) {\n\t\t\tif (typeof argArray[0] === \"string\") argArray[0] = encodeUrl(argArray[0]);\n\t\t\tif (typeof argArray[1] === \"string\") argArray[1] = encodeUrl(argArray[1]);\n\n\t\t\treturn Reflect.construct(target, argArray, newTarget);\n\t\t},\n\t});\n}\n","// This CSS rewriter uses code from Meteor\n// You can find the original source code at https://github.com/MeteorProxy/Meteor\n\nimport { encodeUrl } from \"./url\";\n\nexport function rewriteCss(css: string, origin?: URL) {\n\tconst regex =\n\t\t/(@import\\s+(?!url\\())?\\s*url\\(\\s*(['\"]?)([^'\")]+)\\2\\s*\\)|@import\\s+(['\"])([^'\"]+)\\4/g;\n\n\treturn css.replace(\n\t\tregex,\n\t\t(\n\t\t\tmatch,\n\t\t\timportStatement,\n\t\t\turlQuote,\n\t\t\turlContent,\n\t\t\timportQuote,\n\t\t\timportContent\n\t\t) => {\n\t\t\tconst url = urlContent || importContent;\n\t\t\tconst encodedUrl = encodeUrl(url.trim(), origin);\n\n\t\t\tif (importStatement) {\n\t\t\t\treturn `@import url(${urlQuote}${encodedUrl}${urlQuote})`;\n\t\t\t}\n\n\t\t\tif (importQuote) {\n\t\t\t\treturn `@import ${importQuote}${encodedUrl}${importQuote}`;\n\t\t\t}\n\n\t\t\treturn `url(${urlQuote}${encodedUrl}${urlQuote})`;\n\t\t}\n\t);\n}\n","import { encodeUrl } from \"./url\";\nimport { BareHeaders } from \"@mercuryworkshop/bare-mux\";\nconst cspHeaders = [\n\t\"cross-origin-embedder-policy\",\n\t\"cross-origin-opener-policy\",\n\t\"cross-origin-resource-policy\",\n\t\"content-security-policy\",\n\t\"content-security-policy-report-only\",\n\t\"expect-ct\",\n\t\"feature-policy\",\n\t\"origin-isolation\",\n\t\"strict-transport-security\",\n\t\"upgrade-insecure-requests\",\n\t\"x-content-type-options\",\n\t\"x-download-options\",\n\t\"x-frame-options\",\n\t\"x-permitted-cross-domain-policies\",\n\t\"x-powered-by\",\n\t\"x-xss-protection\",\n\t// This needs to be emulated, but for right now it isn't that important of a feature to be worried about\n\t// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Clear-Site-Data\n\t\"clear-site-data\",\n];\n\nconst urlHeaders = [\"location\", \"content-location\", \"referer\"];\n\nexport function rewriteHeaders(rawHeaders: BareHeaders, origin?: URL) {\n\tconst headers = {};\n\n\tfor (const key in rawHeaders) {\n\t\theaders[key.toLowerCase()] = rawHeaders[key];\n\t}\n\n\tcspHeaders.forEach((header) => {\n\t\tdelete headers[header];\n\t});\n\n\turlHeaders.forEach((header) => {\n\t\tif (headers[header])\n\t\t\theaders[header] = encodeUrl(headers[header] as string, origin);\n\t});\n\n\tif (headers[\"link\"]) {\n\t\theaders[\"link\"] = headers[\"link\"].replace(/<(.*?)>/gi, (match) =>\n\t\t\tencodeUrl(match, origin)\n\t\t);\n\t}\n\n\treturn headers;\n}\n","import { Parser } from \"htmlparser2\";\nimport { DomHandler, Element } from \"domhandler\";\nimport { hasAttrib } from \"domutils\";\nimport render from \"dom-serializer\";\nimport { encodeUrl } from \"./url\";\nimport { rewriteCss } from \"./css\";\nimport { rewriteJs } from \"./js\";\n\nexport function isScramjetFile(src: string) {\n\tlet bool = false;\n\t[\"codecs\", \"client\", \"shared\", \"worker\", \"config\"].forEach((file) => {\n\t\tif (src === self.$scramjet.config[file]) bool = true;\n\t});\n\n\treturn bool;\n}\n\nexport function rewriteHtml(html: string, origin?: URL) {\n\tconst handler = new DomHandler((err, dom) => dom);\n\tconst parser = new Parser(handler);\n\n\tparser.write(html);\n\tparser.end();\n\n\treturn render(traverseParsedHtml(handler.root, origin));\n}\n\n// i need to add the attributes in during rewriting\n\nfunction traverseParsedHtml(node, origin?: URL) {\n\t/* csp attributes */\n\tfor (const cspAttr of [\"nonce\", \"integrity\", \"csp\"]) {\n\t\tif (hasAttrib(node, cspAttr)) {\n\t\t\tnode.attribs[`data-${cspAttr}`] = node.attribs[cspAttr];\n\t\t\tdelete node.attribs[cspAttr];\n\t\t}\n\t}\n\n\t/* url attributes */\n\tfor (const urlAttr of [\"src\", \"href\", \"action\", \"formaction\"]) {\n\t\tif (hasAttrib(node, urlAttr) && !isScramjetFile(node.attribs[urlAttr])) {\n\t\t\tconst value = node.attribs[urlAttr];\n\t\t\tnode.attribs[`data-${urlAttr}`] = value;\n\t\t\tnode.attribs[urlAttr] = encodeUrl(value, origin);\n\t\t}\n\t}\n\n\t/* other */\n\tfor (const srcsetAttr of [\"srcset\", \"imagesrcset\"]) {\n\t\tif (hasAttrib(node, srcsetAttr)) {\n\t\t\tconst value = node.attribs[srcsetAttr];\n\t\t\tnode.attribs[`data-${srcsetAttr}`] = value;\n\t\t\tnode.attribs[srcsetAttr] = rewriteSrcset(value, origin);\n\t\t}\n\t}\n\n\tif (hasAttrib(node, \"srcdoc\"))\n\t\tnode.attribs.srcdoc = rewriteHtml(node.attribs.srcdoc, origin);\n\tif (hasAttrib(node, \"style\"))\n\t\tnode.attribs.style = rewriteCss(node.attribs.style, origin);\n\n\tif (node.name === \"style\" && node.children[0] !== undefined)\n\t\tnode.children[0].data = rewriteCss(node.children[0].data, origin);\n\tif (\n\t\tnode.name === \"script\" &&\n\t\t/(application|text)\\/javascript|importmap|undefined/.test(\n\t\t\tnode.attribs.type\n\t\t) &&\n\t\tnode.children[0] !== undefined\n\t) {\n\t\tlet js = node.children[0].data;\n\t\tconst htmlcomment = //g;\n\t\tjs = js.replace(htmlcomment, \"\");\n\t\tnode.children[0].data = rewriteJs(js, origin);\n\t}\n\tif (node.name === \"meta\" && hasAttrib(node, \"http-equiv\")) {\n\t\tif (node.attribs[\"http-equiv\"] === \"content-security-policy\") {\n\t\t\tnode = {};\n\t\t} else if (\n\t\t\tnode.attribs[\"http-equiv\"] === \"refresh\" &&\n\t\t\tnode.attribs.content.includes(\"url\")\n\t\t) {\n\t\t\tconst contentArray = node.attribs.content.split(\"url=\");\n\t\t\tcontentArray[1] = encodeUrl(contentArray[1].trim(), origin);\n\t\t\tnode.attribs.content = contentArray.join(\"url=\");\n\t\t}\n\t}\n\n\tif (node.name === \"head\") {\n\t\tconst scramjetScripts = [];\n\t\t[\"codecs\", \"config\", \"shared\", \"client\"].forEach((script) => {\n\t\t\tscramjetScripts.push(\n\t\t\t\tnew Element(\"script\", {\n\t\t\t\t\tsrc: self.$scramjet.config[script],\n\t\t\t\t\t\"data-scramjet\": \"\",\n\t\t\t\t})\n\t\t\t);\n\t\t});\n\n\t\tnode.children.unshift(...scramjetScripts);\n\t}\n\n\tif (node.childNodes) {\n\t\tfor (const childNode in node.childNodes) {\n\t\t\tnode.childNodes[childNode] = traverseParsedHtml(\n\t\t\t\tnode.childNodes[childNode],\n\t\t\t\torigin\n\t\t\t);\n\t\t}\n\t}\n\n\treturn node;\n}\n\nexport function rewriteSrcset(srcset: string, origin?: URL) {\n\tconst urls = srcset.split(/ [0-9]+x,? ?/g);\n\tif (!urls) return \"\";\n\tconst sufixes = srcset.match(/ [0-9]+x,? ?/g);\n\tif (!sufixes) return \"\";\n\tconst rewrittenUrls = urls.map((url, i) => {\n\t\tif (url && sufixes[i]) {\n\t\t\treturn encodeUrl(url, origin) + sufixes[i];\n\t\t}\n\t});\n\n\treturn rewrittenUrls.join(\"\");\n}\n","import { parseModule } from \"meriyah\";\nimport { generate } from \"astring\";\nimport { makeTraveler } from \"astravel\";\nimport { encodeUrl } from \"./url\";\nimport * as ESTree from \"estree\";\n\n// i am a cat. i like to be petted. i like to be fed. i like to be\n\n// js rewiter is NOT finished\n\n// location\n// window\n// self\n// globalThis\n// this\n// top\n// parent\n\nexport function rewriteJs(js: string, origin?: URL) {\n\ttry {\n\t\tconst ast = parseModule(js, {\n\t\t\tmodule: true,\n\t\t\twebcompat: true,\n\t\t});\n\n\t\tconst identifierList = [\n\t\t\t\"window\",\n\t\t\t\"self\",\n\t\t\t\"globalThis\",\n\t\t\t\"this\",\n\t\t\t\"parent\",\n\t\t\t\"top\",\n\t\t\t\"location\",\n\t\t];\n\n\t\tconst customTraveler = makeTraveler({\n\t\t\tImportDeclaration: (node: ESTree.ImportDeclaration) => {\n\t\t\t\tnode.source.value = encodeUrl(node.source.value as string, origin);\n\t\t\t},\n\n\t\t\tImportExpression: (node: ESTree.ImportExpression) => {\n\t\t\t\tif (node.source.type === \"Literal\") {\n\t\t\t\t\tnode.source.value = encodeUrl(node.source.value as string, origin);\n\t\t\t\t} else if (node.source.type === \"Identifier\") {\n\t\t\t\t\t// this is for things that import something like\n\t\t\t\t\t// const moduleName = \"name\";\n\t\t\t\t\t// await import(moduleName);\n\t\t\t\t\tnode.source.name = `__wrapImport(${node.source.name})`;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tExportAllDeclaration: (node: ESTree.ExportAllDeclaration) => {\n\t\t\t\tnode.source.value = encodeUrl(node.source.value as string, origin);\n\t\t\t},\n\n\t\t\tExportNamedDeclaration: (node: ESTree.ExportNamedDeclaration) => {\n\t\t\t\t// strings are Literals in ESTree syntax but these will always be strings\n\t\t\t\tif (node.source)\n\t\t\t\t\tnode.source.value = encodeUrl(node.source.value as string, origin);\n\t\t\t},\n\n\t\t\tMemberExpression: (node: ESTree.MemberExpression) => {\n\t\t\t\tif (\n\t\t\t\t\tnode.object.type === \"Identifier\" &&\n\t\t\t\t\tidentifierList.includes(node.object.name)\n\t\t\t\t) {\n\t\t\t\t\tnode.object.name = `globalThis.$s(${node.object.name})`;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tAssignmentExpression: (node: ESTree.AssignmentExpression) => {\n\t\t\t\tif (\n\t\t\t\t\tnode.left.type === \"Identifier\" &&\n\t\t\t\t\tidentifierList.includes(node.left.name)\n\t\t\t\t) {\n\t\t\t\t\tnode.left.name = `globalThis.$s(${node.left.name})`;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tnode.right.type === \"Identifier\" &&\n\t\t\t\t\tidentifierList.includes(node.right.name)\n\t\t\t\t) {\n\t\t\t\t\tnode.right.name = `globalThis.$s(${node.right.name})`;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tVariableDeclarator: (node: ESTree.VariableDeclarator) => {\n\t\t\t\tif (\n\t\t\t\t\tnode.init &&\n\t\t\t\t\tnode.init.type === \"Identifier\" &&\n\t\t\t\t\tidentifierList.includes(node.init.name)\n\t\t\t\t) {\n\t\t\t\t\tnode.init.name = `globalThis.$s(${node.init.name})`;\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\n\t\tcustomTraveler.go(ast);\n\n\t\treturn generate(ast);\n\t} catch (e) {\n\t\tconsole.error(e);\n\t\tconsole.log(js);\n\n\t\treturn js;\n\t}\n}\n","import { URL } from \"../../client/url\";\nimport { rewriteJs } from \"./js\";\n\nfunction canParseUrl(url: string, origin?: URL) {\n\ttry {\n\t\tnew URL(url, origin);\n\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\n// something is broken with this but i didn't debug it\nexport function encodeUrl(url: string | URL, origin?: URL) {\n\tif (url instanceof URL) {\n\t\treturn url.toString();\n\t}\n\n\tif (!origin) {\n\t\torigin = new URL(\n\t\t\tself.$scramjet.config.codec.decode(\n\t\t\t\tlocation.href.slice(\n\t\t\t\t\t(location.origin + self.$scramjet.config.prefix).length\n\t\t\t\t)\n\t\t\t)\n\t\t);\n\t}\n\n\t// is this the correct behavior?\n\tif (!url) url = origin.href;\n\n\tif (url.startsWith(\"javascript:\")) {\n\t\treturn \"javascript:\" + rewriteJs(url.slice(\"javascript:\".length));\n\t} else if (/^(#|mailto|about|data)/.test(url)) {\n\t\treturn url;\n\t} else if (canParseUrl(url, origin)) {\n\t\treturn (\n\t\t\tlocation.origin +\n\t\t\tself.$scramjet.config.prefix +\n\t\t\tself.$scramjet.config.codec.encode(new URL(url, origin).href)\n\t\t);\n\t}\n}\n\n// something is also broken with this but i didn't debug it\nexport function decodeUrl(url: string | URL) {\n\tif (url instanceof URL) {\n\t\treturn url.toString();\n\t}\n\n\tif (/^(#|about|data|mailto|javascript)/.test(url)) {\n\t\treturn url;\n\t} else if (canParseUrl(url)) {\n\t\treturn self.$scramjet.config.codec.decode(\n\t\t\turl.slice((location.origin + self.$scramjet.config.prefix).length)\n\t\t);\n\t} else {\n\t\treturn url;\n\t}\n}\n","import { rewriteJs } from \"./js\";\nexport function rewriteWorkers(js: string, origin?: URL) {\n\tlet str = new String().toString()[\n\t\t//@ts-expect-error\n\t\t(\"codecs\", \"config\", \"shared\", \"client\")\n\t].forEach((script) => {\n\t\tstr += `import \"${self.$scramjet.config[script]}\"\\n`;\n\t});\n\tstr += rewriteJs(js, origin);\n\n\treturn str;\n}\n","const maxRedirects = 20;\n\n// The user likely has overwritten all networking functions after importing bare-client\n// It is our responsibility to make sure components of Bare-Client are using native networking functions\nconst fetch = globalThis.fetch;\nconst WebSocket = globalThis.WebSocket;\nconst Request = globalThis.Request;\nconst Response = globalThis.Response;\nconst SharedWorker = globalThis.SharedWorker;\nconst localStorage = globalThis.localStorage;\nconst serviceWorker = globalThis.navigator.serviceWorker;\nconst WebSocketFields = {\n prototype: {\n send: WebSocket.prototype.send,\n },\n CLOSED: WebSocket.CLOSED,\n CLOSING: WebSocket.CLOSING,\n CONNECTING: WebSocket.CONNECTING,\n OPEN: WebSocket.OPEN,\n};\n\nasync function searchForPort() {\n // @ts-expect-error\n const clients = await self.clients.matchAll({ type: \"window\", includeUncontrolled: true });\n const promises = clients.map(async (x) => {\n const port = await tryGetPort(x);\n await testPort(port);\n return port;\n });\n const promise = Promise.race([Promise.any(promises), new Promise((_, reject) => setTimeout(reject, 1000, new TypeError(\"timeout\")))]);\n try {\n return await promise;\n }\n catch (err) {\n if (err instanceof AggregateError) {\n console.error(\"bare-mux: failed to get a bare-mux SharedWorker MessagePort as all clients returned an invalid MessagePort.\");\n throw new Error(\"All clients returned an invalid MessagePort.\");\n }\n console.warn(\"bare-mux: failed to get a bare-mux SharedWorker MessagePort within 1s, retrying\");\n return await searchForPort();\n }\n}\nfunction tryGetPort(client) {\n let channel = new MessageChannel();\n return new Promise(resolve => {\n client.postMessage({ type: \"getPort\", port: channel.port2 }, [channel.port2]);\n channel.port1.onmessage = event => {\n resolve(event.data);\n };\n });\n}\nfunction testPort(port) {\n const pingChannel = new MessageChannel();\n const pingPromise = new Promise((resolve, reject) => {\n pingChannel.port1.onmessage = event => {\n if (event.data.type === \"pong\") {\n resolve();\n }\n };\n setTimeout(reject, 1500);\n });\n port.postMessage({ message: { type: \"ping\" }, port: pingChannel.port2 }, [pingChannel.port2]);\n return pingPromise;\n}\nfunction createPort(path, registerHandlers) {\n const worker = new SharedWorker(path, \"bare-mux-worker\");\n if (registerHandlers) {\n // @ts-expect-error we are using snapshot.ts\n serviceWorker.addEventListener(\"message\", (event) => {\n if (event.data.type === \"getPort\" && event.data.port) {\n console.debug(\"bare-mux: recieved request for port from sw\");\n const newWorker = new SharedWorker(path, \"bare-mux-worker\");\n event.data.port.postMessage(newWorker.port, [newWorker.port]);\n }\n });\n }\n return worker.port;\n}\nlet browserSupportsTransferringStreamsCache = null;\nfunction browserSupportsTransferringStreams() {\n if (browserSupportsTransferringStreamsCache === null) {\n const chan = new MessageChannel();\n const stream = new ReadableStream();\n let res;\n try {\n chan.port1.postMessage(stream, [stream]);\n res = true;\n }\n catch (err) {\n res = false;\n }\n browserSupportsTransferringStreamsCache = res;\n return res;\n }\n else {\n return browserSupportsTransferringStreamsCache;\n }\n}\nclass WorkerConnection {\n constructor(worker) {\n this.channel = new BroadcastChannel(\"bare-mux\");\n if (worker instanceof MessagePort) {\n this.port = worker;\n }\n else {\n this.createChannel(worker, true);\n }\n }\n createChannel(workerPath, inInit) {\n // @ts-expect-error\n if (self.clients) {\n // running in a ServiceWorker\n // ask a window for the worker port, register for refreshPort\n this.port = searchForPort();\n this.channel.onmessage = (event) => {\n if (event.data.type === \"refreshPort\") {\n this.port = searchForPort();\n }\n };\n }\n else if (workerPath && SharedWorker) {\n // running in a window, was passed a workerPath\n // create the SharedWorker and help other bare-mux clients get the workerPath\n if (!workerPath.startsWith(\"/\") && !workerPath.includes(\"://\"))\n throw new Error(\"Invalid URL. Must be absolute or start at the root.\");\n this.port = createPort(workerPath, inInit);\n console.debug(\"bare-mux: setting localStorage bare-mux-path to\", workerPath);\n localStorage[\"bare-mux-path\"] = workerPath;\n }\n else if (SharedWorker) {\n // running in a window, was not passed a workerPath\n // use sessionStorage for the workerPath\n const path = localStorage[\"bare-mux-path\"];\n console.debug(\"bare-mux: got localStorage bare-mux-path:\", path);\n if (!path)\n throw new Error(\"Unable to get bare-mux workerPath from localStorage.\");\n this.port = createPort(path, inInit);\n }\n else {\n // SharedWorker does not exist\n throw new Error(\"Unable to get a channel to the SharedWorker.\");\n }\n }\n async sendMessage(message, transferable) {\n if (this.port instanceof Promise)\n this.port = await this.port;\n try {\n await testPort(this.port);\n }\n catch {\n console.warn(\"bare-mux: Failed to get a ping response from the worker within 1.5s. Assuming port is dead.\");\n this.createChannel();\n return await this.sendMessage(message, transferable);\n }\n const channel = new MessageChannel();\n const toTransfer = [channel.port2, ...(transferable || [])];\n const promise = new Promise((resolve, reject) => {\n channel.port1.onmessage = event => {\n const message = event.data;\n if (message.type === \"error\") {\n reject(message.error);\n }\n else {\n resolve(message);\n }\n };\n });\n this.port.postMessage({ message: message, port: channel.port2 }, toTransfer);\n return await promise;\n }\n}\n\nconst validChars = \"!#$%&'*+-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz|~\";\nfunction validProtocol(protocol) {\n for (let i = 0; i < protocol.length; i++) {\n const char = protocol[i];\n if (!validChars.includes(char)) {\n return false;\n }\n }\n return true;\n}\nconst wsProtocols = ['ws:', 'wss:'];\nconst statusEmpty = [101, 204, 205, 304];\nconst statusRedirect = [301, 302, 303, 307, 308];\nclass BareMuxConnection {\n constructor(workerPath) {\n this.worker = new WorkerConnection(workerPath);\n }\n async getTransport() {\n return (await this.worker.sendMessage({ type: \"get\" })).name;\n }\n async setTransport(path, options) {\n await this.setManualTransport(`\n\t\t\tconst { default: BareTransport } = await import(\"${path}\");\n\t\t\treturn [new BareTransport(${options.map(x => JSON.stringify(x)).join(\", \")}), \"${path}\"];\n\t\t`);\n }\n async setManualTransport(functionBody) {\n await this.worker.sendMessage({\n type: \"set\",\n client: functionBody,\n });\n }\n getInnerPort() {\n return this.worker.port;\n }\n}\nclass BareClient {\n /**\n * Create a BareClient. Calls to fetch and connect will wait for an implementation to be ready.\n */\n constructor(worker) {\n this.worker = new WorkerConnection(worker);\n }\n createWebSocket(remote, protocols = [], webSocketImpl, requestHeaders, arrayBufferImpl) {\n try {\n remote = new URL(remote);\n }\n catch (err) {\n throw new DOMException(`Faiiled to construct 'WebSocket': The URL '${remote}' is invalid.`);\n }\n if (!wsProtocols.includes(remote.protocol))\n throw new DOMException(`Failed to construct 'WebSocket': The URL's scheme must be either 'ws' or 'wss'. '${remote.protocol}' is not allowed.`);\n if (!Array.isArray(protocols))\n protocols = [protocols];\n protocols = protocols.map(String);\n for (const proto of protocols)\n if (!validProtocol(proto))\n throw new DOMException(`Failed to construct 'WebSocket': The subprotocol '${proto}' is invalid.`);\n let wsImpl = (webSocketImpl || WebSocket);\n const socket = new wsImpl(\"ws://127.0.0.1:1\", protocols);\n let fakeProtocol = '';\n let fakeReadyState = WebSocketFields.CONNECTING;\n let initialErrorHappened = false;\n socket.addEventListener(\"error\", (e) => {\n if (!initialErrorHappened) {\n fakeReadyState = WebSocket.CONNECTING;\n e.stopImmediatePropagation();\n initialErrorHappened = true;\n }\n });\n let initialCloseHappened = false;\n socket.addEventListener(\"close\", (e) => {\n if (!initialCloseHappened) {\n e.stopImmediatePropagation();\n initialCloseHappened = true;\n }\n });\n // TODO socket onerror will be broken\n arrayBufferImpl = arrayBufferImpl || wsImpl.constructor.constructor(\"return ArrayBuffer\")().prototype;\n requestHeaders = requestHeaders || {};\n requestHeaders['Host'] = (new URL(remote)).host;\n // requestHeaders['Origin'] = origin;\n requestHeaders['Pragma'] = 'no-cache';\n requestHeaders['Cache-Control'] = 'no-cache';\n requestHeaders['Upgrade'] = 'websocket';\n // requestHeaders['User-Agent'] = navigator.userAgent;\n requestHeaders['Connection'] = 'Upgrade';\n const onopen = (protocol) => {\n fakeReadyState = WebSocketFields.OPEN;\n fakeProtocol = protocol;\n socket.meta = {\n headers: {\n \"sec-websocket-protocol\": protocol,\n }\n }; // what the fuck is a meta\n socket.dispatchEvent(new Event(\"open\"));\n };\n const onmessage = async (payload) => {\n if (typeof payload === \"string\") {\n socket.dispatchEvent(new MessageEvent(\"message\", { data: payload }));\n }\n else if (\"byteLength\" in payload) {\n if (socket.binaryType === \"blob\") {\n payload = new Blob([payload]);\n }\n else {\n Object.setPrototypeOf(payload, arrayBufferImpl);\n }\n socket.dispatchEvent(new MessageEvent(\"message\", { data: payload }));\n }\n else if (\"arrayBuffer\" in payload) {\n if (socket.binaryType === \"arraybuffer\") {\n payload = await payload.arrayBuffer();\n Object.setPrototypeOf(payload, arrayBufferImpl);\n }\n socket.dispatchEvent(new MessageEvent(\"message\", { data: payload }));\n }\n };\n const onclose = (code, reason) => {\n fakeReadyState = WebSocketFields.CLOSED;\n socket.dispatchEvent(new CloseEvent(\"close\", { code, reason }));\n };\n const onerror = () => {\n fakeReadyState = WebSocketFields.CLOSED;\n socket.dispatchEvent(new Event(\"error\"));\n };\n const channel = new MessageChannel();\n channel.port1.onmessage = event => {\n if (event.data.type === \"open\") {\n onopen(event.data.args[0]);\n }\n else if (event.data.type === \"message\") {\n onmessage(event.data.args[0]);\n }\n else if (event.data.type === \"close\") {\n onclose(event.data.args[0], event.data.args[1]);\n }\n else if (event.data.type === \"error\") {\n onerror( /* event.data.args[0] */);\n }\n };\n this.worker.sendMessage({\n type: \"websocket\",\n websocket: {\n url: remote.toString(),\n origin: origin,\n protocols: protocols,\n requestHeaders: requestHeaders,\n channel: channel.port2,\n },\n }, [channel.port2]);\n // protocol is always an empty before connecting\n // updated when we receive the metadata\n // this value doesn't change when it's CLOSING or CLOSED etc\n const getReadyState = () => fakeReadyState;\n // we have to hook .readyState ourselves\n Object.defineProperty(socket, 'readyState', {\n get: getReadyState,\n configurable: true,\n enumerable: true,\n });\n /**\n * @returns The error that should be thrown if send() were to be called on this socket according to the fake readyState value\n */\n const getSendError = () => {\n const readyState = getReadyState();\n if (readyState === WebSocketFields.CONNECTING)\n return new DOMException(\"Failed to execute 'send' on 'WebSocket': Still in CONNECTING state.\");\n };\n // we have to hook .send ourselves\n // use ...args to avoid giving the number of args a quantity\n // no arguments will trip the following error: TypeError: Failed to execute 'send' on 'WebSocket': 1 argument required, but only 0 present.\n socket.send = function (...args) {\n const error = getSendError();\n if (error)\n throw error;\n let data = args[0];\n // @ts-expect-error idk why it errors?\n if (data.buffer)\n data = data.buffer;\n channel.port1.postMessage({ type: \"data\", data: data }, data instanceof ArrayBuffer ? [data] : []);\n };\n socket.close = function (code, reason) {\n channel.port1.postMessage({ type: \"close\", closeCode: code, closeReason: reason });\n };\n Object.defineProperty(socket, 'url', {\n get: () => remote.toString(),\n configurable: true,\n enumerable: true,\n });\n const getProtocol = () => fakeProtocol;\n Object.defineProperty(socket, 'protocol', {\n get: getProtocol,\n configurable: true,\n enumerable: true,\n });\n return socket;\n }\n async fetch(url, init) {\n // Only create an instance of Request to parse certain parameters of init such as method, headers, redirect\n // But use init values whenever possible\n const req = new Request(url, init);\n // try to use init.headers because it may contain capitalized headers\n // furthermore, important headers on the Request class are blocked...\n // we should try to preserve the capitalization due to quirks with earlier servers\n const inputHeaders = init?.headers || req.headers;\n const headers = inputHeaders instanceof Headers\n ? Object.fromEntries(inputHeaders)\n : inputHeaders;\n const body = req.body;\n let urlO = new URL(req.url);\n if (urlO.protocol.startsWith('blob:')) {\n const response = await fetch(urlO);\n const result = new Response(response.body, response);\n result.rawHeaders = Object.fromEntries(response.headers);\n result.rawResponse = response;\n return result;\n }\n for (let i = 0;; i++) {\n if ('host' in headers)\n headers.host = urlO.host;\n else\n headers.Host = urlO.host;\n let resp = (await this.worker.sendMessage({\n type: \"fetch\",\n fetch: {\n remote: urlO.toString(),\n method: req.method,\n headers: headers,\n body: body || undefined,\n },\n }, body ? [body] : [])).fetch;\n let responseobj = new Response(statusEmpty.includes(resp.status) ? undefined : resp.body, {\n headers: new Headers(resp.headers),\n status: resp.status,\n statusText: resp.statusText,\n });\n responseobj.rawHeaders = resp.headers;\n responseobj.rawResponse = new Response(resp.body);\n responseobj.finalURL = urlO.toString();\n const redirect = init?.redirect || req.redirect;\n if (statusRedirect.includes(responseobj.status)) {\n switch (redirect) {\n case 'follow': {\n const location = responseobj.headers.get('location');\n if (maxRedirects > i && location !== null) {\n urlO = new URL(location, urlO);\n continue;\n }\n else\n throw new TypeError('Failed to fetch');\n }\n case 'error':\n throw new TypeError('Failed to fetch');\n case 'manual':\n return responseobj;\n }\n }\n else {\n return responseobj;\n }\n }\n }\n}\n\nexport { BareClient, BareMuxConnection, WebSocketFields, WorkerConnection, browserSupportsTransferringStreams, BareClient as default, maxRedirects, validProtocol };\n//# sourceMappingURL=index.mjs.map\n","// Astring is a tiny and fast JavaScript code generator from an ESTree-compliant AST.\n//\n// Astring was written by David Bonnet and released under an MIT license.\n//\n// The Git repository for Astring is available at:\n// https://github.com/davidbonnet/astring.git\n//\n// Please use the GitHub bug tracker to report issues:\n// https://github.com/davidbonnet/astring/issues\n\nconst { stringify } = JSON\n\n/* c8 ignore if */\nif (!String.prototype.repeat) {\n /* c8 ignore next */\n throw new Error(\n 'String.prototype.repeat is undefined, see https://github.com/davidbonnet/astring#installation',\n )\n}\n\n/* c8 ignore if */\nif (!String.prototype.endsWith) {\n /* c8 ignore next */\n throw new Error(\n 'String.prototype.endsWith is undefined, see https://github.com/davidbonnet/astring#installation',\n )\n}\n\nconst OPERATOR_PRECEDENCE = {\n '||': 2,\n '??': 3,\n '&&': 4,\n '|': 5,\n '^': 6,\n '&': 7,\n '==': 8,\n '!=': 8,\n '===': 8,\n '!==': 8,\n '<': 9,\n '>': 9,\n '<=': 9,\n '>=': 9,\n in: 9,\n instanceof: 9,\n '<<': 10,\n '>>': 10,\n '>>>': 10,\n '+': 11,\n '-': 11,\n '*': 12,\n '%': 12,\n '/': 12,\n '**': 13,\n}\n\n// Enables parenthesis regardless of precedence\nexport const NEEDS_PARENTHESES = 17\n\nexport const EXPRESSIONS_PRECEDENCE = {\n // Definitions\n ArrayExpression: 20,\n TaggedTemplateExpression: 20,\n ThisExpression: 20,\n Identifier: 20,\n PrivateIdentifier: 20,\n Literal: 18,\n TemplateLiteral: 20,\n Super: 20,\n SequenceExpression: 20,\n // Operations\n MemberExpression: 19,\n ChainExpression: 19,\n CallExpression: 19,\n NewExpression: 19,\n // Other definitions\n ArrowFunctionExpression: NEEDS_PARENTHESES,\n ClassExpression: NEEDS_PARENTHESES,\n FunctionExpression: NEEDS_PARENTHESES,\n ObjectExpression: NEEDS_PARENTHESES,\n // Other operations\n UpdateExpression: 16,\n UnaryExpression: 15,\n AwaitExpression: 15,\n BinaryExpression: 14,\n LogicalExpression: 13,\n ConditionalExpression: 4,\n AssignmentExpression: 3,\n YieldExpression: 2,\n RestElement: 1,\n}\n\nfunction formatSequence(state, nodes) {\n /*\n Writes into `state` a sequence of `nodes`.\n */\n const { generator } = state\n state.write('(')\n if (nodes != null && nodes.length > 0) {\n generator[nodes[0].type](nodes[0], state)\n const { length } = nodes\n for (let i = 1; i < length; i++) {\n const param = nodes[i]\n state.write(', ')\n generator[param.type](param, state)\n }\n }\n state.write(')')\n}\n\nfunction expressionNeedsParenthesis(state, node, parentNode, isRightHand) {\n const nodePrecedence = state.expressionsPrecedence[node.type]\n if (nodePrecedence === NEEDS_PARENTHESES) {\n return true\n }\n const parentNodePrecedence = state.expressionsPrecedence[parentNode.type]\n if (nodePrecedence !== parentNodePrecedence) {\n // Different node types\n return (\n (!isRightHand &&\n nodePrecedence === 15 &&\n parentNodePrecedence === 14 &&\n parentNode.operator === '**') ||\n nodePrecedence < parentNodePrecedence\n )\n }\n if (nodePrecedence !== 13 && nodePrecedence !== 14) {\n // Not a `LogicalExpression` or `BinaryExpression`\n return false\n }\n if (node.operator === '**' && parentNode.operator === '**') {\n // Exponentiation operator has right-to-left associativity\n return !isRightHand\n }\n if (\n nodePrecedence === 13 &&\n parentNodePrecedence === 13 &&\n (node.operator === '??' || parentNode.operator === '??')\n ) {\n // Nullish coalescing and boolean operators cannot be combined\n return true\n }\n if (isRightHand) {\n // Parenthesis are used if both operators have the same precedence\n return (\n OPERATOR_PRECEDENCE[node.operator] <=\n OPERATOR_PRECEDENCE[parentNode.operator]\n )\n }\n return (\n OPERATOR_PRECEDENCE[node.operator] <\n OPERATOR_PRECEDENCE[parentNode.operator]\n )\n}\n\nfunction formatExpression(state, node, parentNode, isRightHand) {\n /*\n Writes into `state` the provided `node`, adding parenthesis around if the provided `parentNode` needs it. If `node` is a right-hand argument, the provided `isRightHand` parameter should be `true`.\n */\n const { generator } = state\n if (expressionNeedsParenthesis(state, node, parentNode, isRightHand)) {\n state.write('(')\n generator[node.type](node, state)\n state.write(')')\n } else {\n generator[node.type](node, state)\n }\n}\n\nfunction reindent(state, text, indent, lineEnd) {\n /*\n Writes into `state` the `text` string reindented with the provided `indent`.\n */\n const lines = text.split('\\n')\n const end = lines.length - 1\n state.write(lines[0].trim())\n if (end > 0) {\n state.write(lineEnd)\n for (let i = 1; i < end; i++) {\n state.write(indent + lines[i].trim() + lineEnd)\n }\n state.write(indent + lines[end].trim())\n }\n}\n\nfunction formatComments(state, comments, indent, lineEnd) {\n /*\n Writes into `state` the provided list of `comments`, with the given `indent` and `lineEnd` strings.\n Line comments will end with `\"\\n\"` regardless of the value of `lineEnd`.\n Expects to start on a new unindented line.\n */\n const { length } = comments\n for (let i = 0; i < length; i++) {\n const comment = comments[i]\n state.write(indent)\n if (comment.type[0] === 'L') {\n // Line comment\n state.write('// ' + comment.value.trim() + '\\n', comment)\n } else {\n // Block comment\n state.write('/*')\n reindent(state, comment.value, indent, lineEnd)\n state.write('*/' + lineEnd)\n }\n }\n}\n\nfunction hasCallExpression(node) {\n /*\n Returns `true` if the provided `node` contains a call expression and `false` otherwise.\n */\n let currentNode = node\n while (currentNode != null) {\n const { type } = currentNode\n if (type[0] === 'C' && type[1] === 'a') {\n // Is CallExpression\n return true\n } else if (type[0] === 'M' && type[1] === 'e' && type[2] === 'm') {\n // Is MemberExpression\n currentNode = currentNode.object\n } else {\n return false\n }\n }\n}\n\nfunction formatVariableDeclaration(state, node) {\n /*\n Writes into `state` a variable declaration.\n */\n const { generator } = state\n const { declarations } = node\n state.write(node.kind + ' ')\n const { length } = declarations\n if (length > 0) {\n generator.VariableDeclarator(declarations[0], state)\n for (let i = 1; i < length; i++) {\n state.write(', ')\n generator.VariableDeclarator(declarations[i], state)\n }\n }\n}\n\nlet ForInStatement,\n FunctionDeclaration,\n RestElement,\n BinaryExpression,\n ArrayExpression,\n BlockStatement\n\nexport const GENERATOR = {\n /*\n Default generator.\n */\n Program(node, state) {\n const indent = state.indent.repeat(state.indentLevel)\n const { lineEnd, writeComments } = state\n if (writeComments && node.comments != null) {\n formatComments(state, node.comments, indent, lineEnd)\n }\n const statements = node.body\n const { length } = statements\n for (let i = 0; i < length; i++) {\n const statement = statements[i]\n if (writeComments && statement.comments != null) {\n formatComments(state, statement.comments, indent, lineEnd)\n }\n state.write(indent)\n this[statement.type](statement, state)\n state.write(lineEnd)\n }\n if (writeComments && node.trailingComments != null) {\n formatComments(state, node.trailingComments, indent, lineEnd)\n }\n },\n BlockStatement: (BlockStatement = function (node, state) {\n const indent = state.indent.repeat(state.indentLevel++)\n const { lineEnd, writeComments } = state\n const statementIndent = indent + state.indent\n state.write('{')\n const statements = node.body\n if (statements != null && statements.length > 0) {\n state.write(lineEnd)\n if (writeComments && node.comments != null) {\n formatComments(state, node.comments, statementIndent, lineEnd)\n }\n const { length } = statements\n for (let i = 0; i < length; i++) {\n const statement = statements[i]\n if (writeComments && statement.comments != null) {\n formatComments(state, statement.comments, statementIndent, lineEnd)\n }\n state.write(statementIndent)\n this[statement.type](statement, state)\n state.write(lineEnd)\n }\n state.write(indent)\n } else {\n if (writeComments && node.comments != null) {\n state.write(lineEnd)\n formatComments(state, node.comments, statementIndent, lineEnd)\n state.write(indent)\n }\n }\n if (writeComments && node.trailingComments != null) {\n formatComments(state, node.trailingComments, statementIndent, lineEnd)\n }\n state.write('}')\n state.indentLevel--\n }),\n ClassBody: BlockStatement,\n StaticBlock(node, state) {\n state.write('static ')\n this.BlockStatement(node, state)\n },\n EmptyStatement(node, state) {\n state.write(';')\n },\n ExpressionStatement(node, state) {\n const precedence = state.expressionsPrecedence[node.expression.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n (precedence === 3 && node.expression.left.type[0] === 'O')\n ) {\n // Should always have parentheses or is an AssignmentExpression to an ObjectPattern\n state.write('(')\n this[node.expression.type](node.expression, state)\n state.write(')')\n } else {\n this[node.expression.type](node.expression, state)\n }\n state.write(';')\n },\n IfStatement(node, state) {\n state.write('if (')\n this[node.test.type](node.test, state)\n state.write(') ')\n this[node.consequent.type](node.consequent, state)\n if (node.alternate != null) {\n state.write(' else ')\n this[node.alternate.type](node.alternate, state)\n }\n },\n LabeledStatement(node, state) {\n this[node.label.type](node.label, state)\n state.write(': ')\n this[node.body.type](node.body, state)\n },\n BreakStatement(node, state) {\n state.write('break')\n if (node.label != null) {\n state.write(' ')\n this[node.label.type](node.label, state)\n }\n state.write(';')\n },\n ContinueStatement(node, state) {\n state.write('continue')\n if (node.label != null) {\n state.write(' ')\n this[node.label.type](node.label, state)\n }\n state.write(';')\n },\n WithStatement(node, state) {\n state.write('with (')\n this[node.object.type](node.object, state)\n state.write(') ')\n this[node.body.type](node.body, state)\n },\n SwitchStatement(node, state) {\n const indent = state.indent.repeat(state.indentLevel++)\n const { lineEnd, writeComments } = state\n state.indentLevel++\n const caseIndent = indent + state.indent\n const statementIndent = caseIndent + state.indent\n state.write('switch (')\n this[node.discriminant.type](node.discriminant, state)\n state.write(') {' + lineEnd)\n const { cases: occurences } = node\n const { length: occurencesCount } = occurences\n for (let i = 0; i < occurencesCount; i++) {\n const occurence = occurences[i]\n if (writeComments && occurence.comments != null) {\n formatComments(state, occurence.comments, caseIndent, lineEnd)\n }\n if (occurence.test) {\n state.write(caseIndent + 'case ')\n this[occurence.test.type](occurence.test, state)\n state.write(':' + lineEnd)\n } else {\n state.write(caseIndent + 'default:' + lineEnd)\n }\n const { consequent } = occurence\n const { length: consequentCount } = consequent\n for (let i = 0; i < consequentCount; i++) {\n const statement = consequent[i]\n if (writeComments && statement.comments != null) {\n formatComments(state, statement.comments, statementIndent, lineEnd)\n }\n state.write(statementIndent)\n this[statement.type](statement, state)\n state.write(lineEnd)\n }\n }\n state.indentLevel -= 2\n state.write(indent + '}')\n },\n ReturnStatement(node, state) {\n state.write('return')\n if (node.argument) {\n state.write(' ')\n this[node.argument.type](node.argument, state)\n }\n state.write(';')\n },\n ThrowStatement(node, state) {\n state.write('throw ')\n this[node.argument.type](node.argument, state)\n state.write(';')\n },\n TryStatement(node, state) {\n state.write('try ')\n this[node.block.type](node.block, state)\n if (node.handler) {\n const { handler } = node\n if (handler.param == null) {\n state.write(' catch ')\n } else {\n state.write(' catch (')\n this[handler.param.type](handler.param, state)\n state.write(') ')\n }\n this[handler.body.type](handler.body, state)\n }\n if (node.finalizer) {\n state.write(' finally ')\n this[node.finalizer.type](node.finalizer, state)\n }\n },\n WhileStatement(node, state) {\n state.write('while (')\n this[node.test.type](node.test, state)\n state.write(') ')\n this[node.body.type](node.body, state)\n },\n DoWhileStatement(node, state) {\n state.write('do ')\n this[node.body.type](node.body, state)\n state.write(' while (')\n this[node.test.type](node.test, state)\n state.write(');')\n },\n ForStatement(node, state) {\n state.write('for (')\n if (node.init != null) {\n const { init } = node\n if (init.type[0] === 'V') {\n formatVariableDeclaration(state, init)\n } else {\n this[init.type](init, state)\n }\n }\n state.write('; ')\n if (node.test) {\n this[node.test.type](node.test, state)\n }\n state.write('; ')\n if (node.update) {\n this[node.update.type](node.update, state)\n }\n state.write(') ')\n this[node.body.type](node.body, state)\n },\n ForInStatement: (ForInStatement = function (node, state) {\n state.write(`for ${node.await ? 'await ' : ''}(`)\n const { left } = node\n if (left.type[0] === 'V') {\n formatVariableDeclaration(state, left)\n } else {\n this[left.type](left, state)\n }\n // Identifying whether node.type is `ForInStatement` or `ForOfStatement`\n state.write(node.type[3] === 'I' ? ' in ' : ' of ')\n this[node.right.type](node.right, state)\n state.write(') ')\n this[node.body.type](node.body, state)\n }),\n ForOfStatement: ForInStatement,\n DebuggerStatement(node, state) {\n state.write('debugger;', node)\n },\n FunctionDeclaration: (FunctionDeclaration = function (node, state) {\n state.write(\n (node.async ? 'async ' : '') +\n (node.generator ? 'function* ' : 'function ') +\n (node.id ? node.id.name : ''),\n node,\n )\n formatSequence(state, node.params)\n state.write(' ')\n this[node.body.type](node.body, state)\n }),\n FunctionExpression: FunctionDeclaration,\n VariableDeclaration(node, state) {\n formatVariableDeclaration(state, node)\n state.write(';')\n },\n VariableDeclarator(node, state) {\n this[node.id.type](node.id, state)\n if (node.init != null) {\n state.write(' = ')\n this[node.init.type](node.init, state)\n }\n },\n ClassDeclaration(node, state) {\n state.write('class ' + (node.id ? `${node.id.name} ` : ''), node)\n if (node.superClass) {\n state.write('extends ')\n const { superClass } = node\n const { type } = superClass\n const precedence = state.expressionsPrecedence[type]\n if (\n (type[0] !== 'C' || type[1] !== 'l' || type[5] !== 'E') &&\n (precedence === NEEDS_PARENTHESES ||\n precedence < state.expressionsPrecedence.ClassExpression)\n ) {\n // Not a ClassExpression that needs parentheses\n state.write('(')\n this[node.superClass.type](superClass, state)\n state.write(')')\n } else {\n this[superClass.type](superClass, state)\n }\n state.write(' ')\n }\n this.ClassBody(node.body, state)\n },\n ImportDeclaration(node, state) {\n state.write('import ')\n const { specifiers } = node\n const { length } = specifiers\n // TODO: Once babili is fixed, put this after condition\n // https://github.com/babel/babili/issues/430\n let i = 0\n if (length > 0) {\n for (; i < length; ) {\n if (i > 0) {\n state.write(', ')\n }\n const specifier = specifiers[i]\n const type = specifier.type[6]\n if (type === 'D') {\n // ImportDefaultSpecifier\n state.write(specifier.local.name, specifier)\n i++\n } else if (type === 'N') {\n // ImportNamespaceSpecifier\n state.write('* as ' + specifier.local.name, specifier)\n i++\n } else {\n // ImportSpecifier\n break\n }\n }\n if (i < length) {\n state.write('{')\n for (;;) {\n const specifier = specifiers[i]\n const { name } = specifier.imported\n state.write(name, specifier)\n if (name !== specifier.local.name) {\n state.write(' as ' + specifier.local.name)\n }\n if (++i < length) {\n state.write(', ')\n } else {\n break\n }\n }\n state.write('}')\n }\n state.write(' from ')\n }\n this.Literal(node.source, state)\n state.write(';')\n },\n ImportExpression(node, state) {\n state.write('import(')\n this[node.source.type](node.source, state)\n state.write(')')\n },\n ExportDefaultDeclaration(node, state) {\n state.write('export default ')\n this[node.declaration.type](node.declaration, state)\n if (\n state.expressionsPrecedence[node.declaration.type] != null &&\n node.declaration.type[0] !== 'F'\n ) {\n // All expression nodes except `FunctionExpression`\n state.write(';')\n }\n },\n ExportNamedDeclaration(node, state) {\n state.write('export ')\n if (node.declaration) {\n this[node.declaration.type](node.declaration, state)\n } else {\n state.write('{')\n const { specifiers } = node,\n { length } = specifiers\n if (length > 0) {\n for (let i = 0; ; ) {\n const specifier = specifiers[i]\n const { name } = specifier.local\n state.write(name, specifier)\n if (name !== specifier.exported.name) {\n state.write(' as ' + specifier.exported.name)\n }\n if (++i < length) {\n state.write(', ')\n } else {\n break\n }\n }\n }\n state.write('}')\n if (node.source) {\n state.write(' from ')\n this.Literal(node.source, state)\n }\n state.write(';')\n }\n },\n ExportAllDeclaration(node, state) {\n if (node.exported != null) {\n state.write('export * as ' + node.exported.name + ' from ')\n } else {\n state.write('export * from ')\n }\n this.Literal(node.source, state)\n state.write(';')\n },\n MethodDefinition(node, state) {\n if (node.static) {\n state.write('static ')\n }\n const kind = node.kind[0]\n if (kind === 'g' || kind === 's') {\n // Getter or setter\n state.write(node.kind + ' ')\n }\n if (node.value.async) {\n state.write('async ')\n }\n if (node.value.generator) {\n state.write('*')\n }\n if (node.computed) {\n state.write('[')\n this[node.key.type](node.key, state)\n state.write(']')\n } else {\n this[node.key.type](node.key, state)\n }\n formatSequence(state, node.value.params)\n state.write(' ')\n this[node.value.body.type](node.value.body, state)\n },\n ClassExpression(node, state) {\n this.ClassDeclaration(node, state)\n },\n ArrowFunctionExpression(node, state) {\n state.write(node.async ? 'async ' : '', node)\n const { params } = node\n if (params != null) {\n // Omit parenthesis if only one named parameter\n if (params.length === 1 && params[0].type[0] === 'I') {\n // If params[0].type[0] starts with 'I', it can't be `ImportDeclaration` nor `IfStatement` and thus is `Identifier`\n state.write(params[0].name, params[0])\n } else {\n formatSequence(state, node.params)\n }\n }\n state.write(' => ')\n if (node.body.type[0] === 'O') {\n // Body is an object expression\n state.write('(')\n this.ObjectExpression(node.body, state)\n state.write(')')\n } else {\n this[node.body.type](node.body, state)\n }\n },\n ThisExpression(node, state) {\n state.write('this', node)\n },\n Super(node, state) {\n state.write('super', node)\n },\n RestElement: (RestElement = function (node, state) {\n state.write('...')\n this[node.argument.type](node.argument, state)\n }),\n SpreadElement: RestElement,\n YieldExpression(node, state) {\n state.write(node.delegate ? 'yield*' : 'yield')\n if (node.argument) {\n state.write(' ')\n this[node.argument.type](node.argument, state)\n }\n },\n AwaitExpression(node, state) {\n state.write('await ', node)\n formatExpression(state, node.argument, node)\n },\n TemplateLiteral(node, state) {\n const { quasis, expressions } = node\n state.write('`')\n const { length } = expressions\n for (let i = 0; i < length; i++) {\n const expression = expressions[i]\n const quasi = quasis[i]\n state.write(quasi.value.raw, quasi)\n state.write('${')\n this[expression.type](expression, state)\n state.write('}')\n }\n const quasi = quasis[quasis.length - 1]\n state.write(quasi.value.raw, quasi)\n state.write('`')\n },\n TemplateElement(node, state) {\n state.write(node.value.raw, node)\n },\n TaggedTemplateExpression(node, state) {\n formatExpression(state, node.tag, node)\n this[node.quasi.type](node.quasi, state)\n },\n ArrayExpression: (ArrayExpression = function (node, state) {\n state.write('[')\n if (node.elements.length > 0) {\n const { elements } = node,\n { length } = elements\n for (let i = 0; ; ) {\n const element = elements[i]\n if (element != null) {\n this[element.type](element, state)\n }\n if (++i < length) {\n state.write(', ')\n } else {\n if (element == null) {\n state.write(', ')\n }\n break\n }\n }\n }\n state.write(']')\n }),\n ArrayPattern: ArrayExpression,\n ObjectExpression(node, state) {\n const indent = state.indent.repeat(state.indentLevel++)\n const { lineEnd, writeComments } = state\n const propertyIndent = indent + state.indent\n state.write('{')\n if (node.properties.length > 0) {\n state.write(lineEnd)\n if (writeComments && node.comments != null) {\n formatComments(state, node.comments, propertyIndent, lineEnd)\n }\n const comma = ',' + lineEnd\n const { properties } = node,\n { length } = properties\n for (let i = 0; ; ) {\n const property = properties[i]\n if (writeComments && property.comments != null) {\n formatComments(state, property.comments, propertyIndent, lineEnd)\n }\n state.write(propertyIndent)\n this[property.type](property, state)\n if (++i < length) {\n state.write(comma)\n } else {\n break\n }\n }\n state.write(lineEnd)\n if (writeComments && node.trailingComments != null) {\n formatComments(state, node.trailingComments, propertyIndent, lineEnd)\n }\n state.write(indent + '}')\n } else if (writeComments) {\n if (node.comments != null) {\n state.write(lineEnd)\n formatComments(state, node.comments, propertyIndent, lineEnd)\n if (node.trailingComments != null) {\n formatComments(state, node.trailingComments, propertyIndent, lineEnd)\n }\n state.write(indent + '}')\n } else if (node.trailingComments != null) {\n state.write(lineEnd)\n formatComments(state, node.trailingComments, propertyIndent, lineEnd)\n state.write(indent + '}')\n } else {\n state.write('}')\n }\n } else {\n state.write('}')\n }\n state.indentLevel--\n },\n Property(node, state) {\n if (node.method || node.kind[0] !== 'i') {\n // Either a method or of kind `set` or `get` (not `init`)\n this.MethodDefinition(node, state)\n } else {\n if (!node.shorthand) {\n if (node.computed) {\n state.write('[')\n this[node.key.type](node.key, state)\n state.write(']')\n } else {\n this[node.key.type](node.key, state)\n }\n state.write(': ')\n }\n this[node.value.type](node.value, state)\n }\n },\n PropertyDefinition(node, state) {\n if (node.static) {\n state.write('static ')\n }\n if (node.computed) {\n state.write('[')\n }\n this[node.key.type](node.key, state)\n if (node.computed) {\n state.write(']')\n }\n if (node.value == null) {\n if (node.key.type[0] !== 'F') {\n state.write(';')\n }\n return\n }\n state.write(' = ')\n this[node.value.type](node.value, state)\n state.write(';')\n },\n ObjectPattern(node, state) {\n state.write('{')\n if (node.properties.length > 0) {\n const { properties } = node,\n { length } = properties\n for (let i = 0; ; ) {\n this[properties[i].type](properties[i], state)\n if (++i < length) {\n state.write(', ')\n } else {\n break\n }\n }\n }\n state.write('}')\n },\n SequenceExpression(node, state) {\n formatSequence(state, node.expressions)\n },\n UnaryExpression(node, state) {\n if (node.prefix) {\n const {\n operator,\n argument,\n argument: { type },\n } = node\n state.write(operator)\n const needsParentheses = expressionNeedsParenthesis(state, argument, node)\n if (\n !needsParentheses &&\n (operator.length > 1 ||\n (type[0] === 'U' &&\n (type[1] === 'n' || type[1] === 'p') &&\n argument.prefix &&\n argument.operator[0] === operator &&\n (operator === '+' || operator === '-')))\n ) {\n // Large operator or argument is UnaryExpression or UpdateExpression node\n state.write(' ')\n }\n if (needsParentheses) {\n state.write(operator.length > 1 ? ' (' : '(')\n this[type](argument, state)\n state.write(')')\n } else {\n this[type](argument, state)\n }\n } else {\n // FIXME: This case never occurs\n this[node.argument.type](node.argument, state)\n state.write(node.operator)\n }\n },\n UpdateExpression(node, state) {\n // Always applied to identifiers or members, no parenthesis check needed\n if (node.prefix) {\n state.write(node.operator)\n this[node.argument.type](node.argument, state)\n } else {\n this[node.argument.type](node.argument, state)\n state.write(node.operator)\n }\n },\n AssignmentExpression(node, state) {\n this[node.left.type](node.left, state)\n state.write(' ' + node.operator + ' ')\n this[node.right.type](node.right, state)\n },\n AssignmentPattern(node, state) {\n this[node.left.type](node.left, state)\n state.write(' = ')\n this[node.right.type](node.right, state)\n },\n BinaryExpression: (BinaryExpression = function (node, state) {\n const isIn = node.operator === 'in'\n if (isIn) {\n // Avoids confusion in `for` loops initializers\n state.write('(')\n }\n formatExpression(state, node.left, node, false)\n state.write(' ' + node.operator + ' ')\n formatExpression(state, node.right, node, true)\n if (isIn) {\n state.write(')')\n }\n }),\n LogicalExpression: BinaryExpression,\n ConditionalExpression(node, state) {\n const { test } = node\n const precedence = state.expressionsPrecedence[test.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n precedence <= state.expressionsPrecedence.ConditionalExpression\n ) {\n state.write('(')\n this[test.type](test, state)\n state.write(')')\n } else {\n this[test.type](test, state)\n }\n state.write(' ? ')\n this[node.consequent.type](node.consequent, state)\n state.write(' : ')\n this[node.alternate.type](node.alternate, state)\n },\n NewExpression(node, state) {\n state.write('new ')\n const precedence = state.expressionsPrecedence[node.callee.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n precedence < state.expressionsPrecedence.CallExpression ||\n hasCallExpression(node.callee)\n ) {\n state.write('(')\n this[node.callee.type](node.callee, state)\n state.write(')')\n } else {\n this[node.callee.type](node.callee, state)\n }\n formatSequence(state, node['arguments'])\n },\n CallExpression(node, state) {\n const precedence = state.expressionsPrecedence[node.callee.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n precedence < state.expressionsPrecedence.CallExpression\n ) {\n state.write('(')\n this[node.callee.type](node.callee, state)\n state.write(')')\n } else {\n this[node.callee.type](node.callee, state)\n }\n if (node.optional) {\n state.write('?.')\n }\n formatSequence(state, node['arguments'])\n },\n ChainExpression(node, state) {\n this[node.expression.type](node.expression, state)\n },\n MemberExpression(node, state) {\n const precedence = state.expressionsPrecedence[node.object.type]\n if (\n precedence === NEEDS_PARENTHESES ||\n precedence < state.expressionsPrecedence.MemberExpression\n ) {\n state.write('(')\n this[node.object.type](node.object, state)\n state.write(')')\n } else {\n this[node.object.type](node.object, state)\n }\n if (node.computed) {\n if (node.optional) {\n state.write('?.')\n }\n state.write('[')\n this[node.property.type](node.property, state)\n state.write(']')\n } else {\n if (node.optional) {\n state.write('?.')\n } else {\n state.write('.')\n }\n this[node.property.type](node.property, state)\n }\n },\n MetaProperty(node, state) {\n state.write(node.meta.name + '.' + node.property.name, node)\n },\n Identifier(node, state) {\n state.write(node.name, node)\n },\n PrivateIdentifier(node, state) {\n state.write(`#${node.name}`, node)\n },\n Literal(node, state) {\n if (node.raw != null) {\n // Non-standard property\n state.write(node.raw, node)\n } else if (node.regex != null) {\n this.RegExpLiteral(node, state)\n } else if (node.bigint != null) {\n state.write(node.bigint + 'n', node)\n } else {\n state.write(stringify(node.value), node)\n }\n },\n RegExpLiteral(node, state) {\n const { regex } = node\n state.write(`/${regex.pattern}/${regex.flags}`, node)\n },\n}\n\nconst EMPTY_OBJECT = {}\n\n/*\nDEPRECATED: Alternate export of `GENERATOR`.\n*/\nexport const baseGenerator = GENERATOR\n\nclass State {\n constructor(options) {\n const setup = options == null ? EMPTY_OBJECT : options\n this.output = ''\n // Functional options\n if (setup.output != null) {\n this.output = setup.output\n this.write = this.writeToStream\n } else {\n this.output = ''\n }\n this.generator = setup.generator != null ? setup.generator : GENERATOR\n this.expressionsPrecedence =\n setup.expressionsPrecedence != null\n ? setup.expressionsPrecedence\n : EXPRESSIONS_PRECEDENCE\n // Formating setup\n this.indent = setup.indent != null ? setup.indent : ' '\n this.lineEnd = setup.lineEnd != null ? setup.lineEnd : '\\n'\n this.indentLevel =\n setup.startingIndentLevel != null ? setup.startingIndentLevel : 0\n this.writeComments = setup.comments ? setup.comments : false\n // Source map\n if (setup.sourceMap != null) {\n this.write =\n setup.output == null ? this.writeAndMap : this.writeToStreamAndMap\n this.sourceMap = setup.sourceMap\n this.line = 1\n this.column = 0\n this.lineEndSize = this.lineEnd.split('\\n').length - 1\n this.mapping = {\n original: null,\n // Uses the entire state to avoid generating ephemeral objects\n generated: this,\n name: undefined,\n source: setup.sourceMap.file || setup.sourceMap._file,\n }\n }\n }\n\n write(code) {\n this.output += code\n }\n\n writeToStream(code) {\n this.output.write(code)\n }\n\n writeAndMap(code, node) {\n this.output += code\n this.map(code, node)\n }\n\n writeToStreamAndMap(code, node) {\n this.output.write(code)\n this.map(code, node)\n }\n\n map(code, node) {\n if (node != null) {\n const { type } = node\n if (type[0] === 'L' && type[2] === 'n') {\n // LineComment\n this.column = 0\n this.line++\n return\n }\n if (node.loc != null) {\n const { mapping } = this\n mapping.original = node.loc.start\n mapping.name = node.name\n this.sourceMap.addMapping(mapping)\n }\n if (\n (type[0] === 'T' && type[8] === 'E') ||\n (type[0] === 'L' && type[1] === 'i' && typeof node.value === 'string')\n ) {\n // TemplateElement or Literal string node\n const { length } = code\n let { column, line } = this\n for (let i = 0; i < length; i++) {\n if (code[i] === '\\n') {\n column = 0\n line++\n } else {\n column++\n }\n }\n this.column = column\n this.line = line\n return\n }\n }\n const { length } = code\n const { lineEnd } = this\n if (length > 0) {\n if (\n this.lineEndSize > 0 &&\n (lineEnd.length === 1\n ? code[length - 1] === lineEnd\n : code.endsWith(lineEnd))\n ) {\n this.line += this.lineEndSize\n this.column = 0\n } else {\n this.column += length\n }\n }\n }\n\n toString() {\n return this.output\n }\n}\n\nexport function generate(node, options) {\n /*\n Returns a string representing the rendered code of the provided AST `node`.\n The `options` are:\n\n - `indent`: string to use for indentation (defaults to `␣␣`)\n - `lineEnd`: string to use for line endings (defaults to `\\n`)\n - `startingIndentLevel`: indent level to start from (defaults to `0`)\n - `comments`: generate comments if `true` (defaults to `false`)\n - `output`: output stream to write the rendered code to (defaults to `null`)\n - `generator`: custom code generator (defaults to `GENERATOR`)\n - `expressionsPrecedence`: custom map of node types and their precedence level (defaults to `EXPRESSIONS_PRECEDENCE`)\n */\n const state = new State(options)\n // Travel through the AST node and generate the code\n state.generator[node.type](node, state)\n return state.output\n}\n","import isRegexp from 'is-regexp';\n\nconst flagMap = {\n\tglobal: 'g',\n\tignoreCase: 'i',\n\tmultiline: 'm',\n\tdotAll: 's',\n\tsticky: 'y',\n\tunicode: 'u'\n};\n\nexport default function clonedRegexp(regexp, options = {}) {\n\tif (!isRegexp(regexp)) {\n\t\tthrow new TypeError('Expected a RegExp instance');\n\t}\n\n\tconst flags = Object.keys(flagMap).map(flag => (\n\t\t(typeof options[flag] === 'boolean' ? options[flag] : regexp[flag]) ? flagMap[flag] : ''\n\t)).join('');\n\n\tconst clonedRegexp = new RegExp(options.source || regexp.source, flags);\n\n\tclonedRegexp.lastIndex = typeof options.lastIndex === 'number' ?\n\t\toptions.lastIndex :\n\t\tregexp.lastIndex;\n\n\treturn clonedRegexp;\n}\n","export const elementNames = new Map([\n \"altGlyph\",\n \"altGlyphDef\",\n \"altGlyphItem\",\n \"animateColor\",\n \"animateMotion\",\n \"animateTransform\",\n \"clipPath\",\n \"feBlend\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feConvolveMatrix\",\n \"feDiffuseLighting\",\n \"feDisplacementMap\",\n \"feDistantLight\",\n \"feDropShadow\",\n \"feFlood\",\n \"feFuncA\",\n \"feFuncB\",\n \"feFuncG\",\n \"feFuncR\",\n \"feGaussianBlur\",\n \"feImage\",\n \"feMerge\",\n \"feMergeNode\",\n \"feMorphology\",\n \"feOffset\",\n \"fePointLight\",\n \"feSpecularLighting\",\n \"feSpotLight\",\n \"feTile\",\n \"feTurbulence\",\n \"foreignObject\",\n \"glyphRef\",\n \"linearGradient\",\n \"radialGradient\",\n \"textPath\",\n].map((val) => [val.toLowerCase(), val]));\nexport const attributeNames = new Map([\n \"definitionURL\",\n \"attributeName\",\n \"attributeType\",\n \"baseFrequency\",\n \"baseProfile\",\n \"calcMode\",\n \"clipPathUnits\",\n \"diffuseConstant\",\n \"edgeMode\",\n \"filterUnits\",\n \"glyphRef\",\n \"gradientTransform\",\n \"gradientUnits\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keyPoints\",\n \"keySplines\",\n \"keyTimes\",\n \"lengthAdjust\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerUnits\",\n \"markerWidth\",\n \"maskContentUnits\",\n \"maskUnits\",\n \"numOctaves\",\n \"pathLength\",\n \"patternContentUnits\",\n \"patternTransform\",\n \"patternUnits\",\n \"pointsAtX\",\n \"pointsAtY\",\n \"pointsAtZ\",\n \"preserveAlpha\",\n \"preserveAspectRatio\",\n \"primitiveUnits\",\n \"refX\",\n \"refY\",\n \"repeatCount\",\n \"repeatDur\",\n \"requiredExtensions\",\n \"requiredFeatures\",\n \"specularConstant\",\n \"specularExponent\",\n \"spreadMethod\",\n \"startOffset\",\n \"stdDeviation\",\n \"stitchTiles\",\n \"surfaceScale\",\n \"systemLanguage\",\n \"tableValues\",\n \"targetX\",\n \"targetY\",\n \"textLength\",\n \"viewBox\",\n \"viewTarget\",\n \"xChannelSelector\",\n \"yChannelSelector\",\n \"zoomAndPan\",\n].map((val) => [val.toLowerCase(), val]));\n","/*\n * Module dependencies\n */\nimport * as ElementType from \"domelementtype\";\nimport { encodeXML, escapeAttribute, escapeText } from \"entities\";\n/**\n * Mixed-case SVG and MathML tags & attributes\n * recognized by the HTML parser.\n *\n * @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign\n */\nimport { elementNames, attributeNames } from \"./foreignNames.js\";\nconst unencodedElements = new Set([\n \"style\",\n \"script\",\n \"xmp\",\n \"iframe\",\n \"noembed\",\n \"noframes\",\n \"plaintext\",\n \"noscript\",\n]);\nfunction replaceQuotes(value) {\n return value.replace(/\"/g, \""\");\n}\n/**\n * Format attributes\n */\nfunction formatAttributes(attributes, opts) {\n var _a;\n if (!attributes)\n return;\n const encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false\n ? replaceQuotes\n : opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? encodeXML\n : escapeAttribute;\n return Object.keys(attributes)\n .map((key) => {\n var _a, _b;\n const value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : \"\";\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case attribute names */\n key = (_b = attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;\n }\n if (!opts.emptyAttrs && !opts.xmlMode && value === \"\") {\n return key;\n }\n return `${key}=\"${encode(value)}\"`;\n })\n .join(\" \");\n}\n/**\n * Self-enclosing tags\n */\nconst singleTag = new Set([\n \"area\",\n \"base\",\n \"basefont\",\n \"br\",\n \"col\",\n \"command\",\n \"embed\",\n \"frame\",\n \"hr\",\n \"img\",\n \"input\",\n \"isindex\",\n \"keygen\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\n/**\n * Renders a DOM node or an array of DOM nodes to a string.\n *\n * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).\n *\n * @param node Node to be rendered.\n * @param options Changes serialization behavior\n */\nexport function render(node, options = {}) {\n const nodes = \"length\" in node ? node : [node];\n let output = \"\";\n for (let i = 0; i < nodes.length; i++) {\n output += renderNode(nodes[i], options);\n }\n return output;\n}\nexport default render;\nfunction renderNode(node, options) {\n switch (node.type) {\n case ElementType.Root:\n return render(node.children, options);\n // @ts-expect-error We don't use `Doctype` yet\n case ElementType.Doctype:\n case ElementType.Directive:\n return renderDirective(node);\n case ElementType.Comment:\n return renderComment(node);\n case ElementType.CDATA:\n return renderCdata(node);\n case ElementType.Script:\n case ElementType.Style:\n case ElementType.Tag:\n return renderTag(node, options);\n case ElementType.Text:\n return renderText(node, options);\n }\n}\nconst foreignModeIntegrationPoints = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignObject\",\n \"desc\",\n \"title\",\n]);\nconst foreignElements = new Set([\"svg\", \"math\"]);\nfunction renderTag(elem, opts) {\n var _a;\n // Handle SVG / MathML in HTML\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case element names */\n elem.name = (_a = elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;\n /* Exit foreign mode at integration points */\n if (elem.parent &&\n foreignModeIntegrationPoints.has(elem.parent.name)) {\n opts = { ...opts, xmlMode: false };\n }\n }\n if (!opts.xmlMode && foreignElements.has(elem.name)) {\n opts = { ...opts, xmlMode: \"foreign\" };\n }\n let tag = `<${elem.name}`;\n const attribs = formatAttributes(elem.attribs, opts);\n if (attribs) {\n tag += ` ${attribs}`;\n }\n if (elem.children.length === 0 &&\n (opts.xmlMode\n ? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags\n opts.selfClosingTags !== false\n : // User explicitly asked for self-closing tags, even in HTML mode\n opts.selfClosingTags && singleTag.has(elem.name))) {\n if (!opts.xmlMode)\n tag += \" \";\n tag += \"/>\";\n }\n else {\n tag += \">\";\n if (elem.children.length > 0) {\n tag += render(elem.children, opts);\n }\n if (opts.xmlMode || !singleTag.has(elem.name)) {\n tag += ``;\n }\n }\n return tag;\n}\nfunction renderDirective(elem) {\n return `<${elem.data}>`;\n}\nfunction renderText(elem, opts) {\n var _a;\n let data = elem.data || \"\";\n // If entities weren't decoded, no need to encode them back\n if (((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) !== false &&\n !(!opts.xmlMode &&\n elem.parent &&\n unencodedElements.has(elem.parent.name))) {\n data =\n opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? encodeXML(data)\n : escapeText(data);\n }\n return data;\n}\nfunction renderCdata(elem) {\n return ``;\n}\nfunction renderComment(elem) {\n return ``;\n}\n","/** Types of elements found in htmlparser2's DOM */\nexport var ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for `.\n this.sequenceIndex = Number(c === CharCodes.Lt);\n }\n }\n stateCDATASequence(c) {\n if (c === Sequences.Cdata[this.sequenceIndex]) {\n if (++this.sequenceIndex === Sequences.Cdata.length) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CdataEnd;\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n }\n }\n else {\n this.sequenceIndex = 0;\n this.state = State.InDeclaration;\n this.stateInDeclaration(c); // Reconsume the character\n }\n }\n /**\n * When we wait for one specific character, we can speed things up\n * by skipping through the buffer until we find it.\n *\n * @returns Whether the character was found.\n */\n fastForwardTo(c) {\n while (++this.index < this.buffer.length + this.offset) {\n if (this.buffer.charCodeAt(this.index - this.offset) === c) {\n return true;\n }\n }\n /*\n * We increment the index at the end of the `parse` loop,\n * so set it to `buffer.length - 1` here.\n *\n * TODO: Refactor `parse` to increment index before calling states.\n */\n this.index = this.buffer.length + this.offset - 1;\n return false;\n }\n /**\n * Comments and CDATA end with `-->` and `]]>`.\n *\n * Their common qualities are:\n * - Their end sequences have a distinct character they start with.\n * - That character is then repeated, so we have to check multiple repeats.\n * - All characters but the start character of the sequence can be skipped.\n */\n stateInCommentLike(c) {\n if (c === this.currentSequence[this.sequenceIndex]) {\n if (++this.sequenceIndex === this.currentSequence.length) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, this.index, 2);\n }\n else {\n this.cbs.oncomment(this.sectionStart, this.index, 2);\n }\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n this.state = State.Text;\n }\n }\n else if (this.sequenceIndex === 0) {\n // Fast-forward to the first character of the sequence\n if (this.fastForwardTo(this.currentSequence[0])) {\n this.sequenceIndex = 1;\n }\n }\n else if (c !== this.currentSequence[this.sequenceIndex - 1]) {\n // Allow long sequences, eg. --->, ]]]>\n this.sequenceIndex = 0;\n }\n }\n /**\n * HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name.\n *\n * XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar).\n * We allow anything that wouldn't end the tag.\n */\n isTagStartChar(c) {\n return this.xmlMode ? !isEndOfTagSection(c) : isASCIIAlpha(c);\n }\n startSpecial(sequence, offset) {\n this.isSpecial = true;\n this.currentSequence = sequence;\n this.sequenceIndex = offset;\n this.state = State.SpecialStartSequence;\n }\n stateBeforeTagName(c) {\n if (c === CharCodes.ExclamationMark) {\n this.state = State.BeforeDeclaration;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Questionmark) {\n this.state = State.InProcessingInstruction;\n this.sectionStart = this.index + 1;\n }\n else if (this.isTagStartChar(c)) {\n const lower = c | 0x20;\n this.sectionStart = this.index;\n if (this.xmlMode) {\n this.state = State.InTagName;\n }\n else if (lower === Sequences.ScriptEnd[2]) {\n this.state = State.BeforeSpecialS;\n }\n else if (lower === Sequences.TitleEnd[2]) {\n this.state = State.BeforeSpecialT;\n }\n else {\n this.state = State.InTagName;\n }\n }\n else if (c === CharCodes.Slash) {\n this.state = State.BeforeClosingTagName;\n }\n else {\n this.state = State.Text;\n this.stateText(c);\n }\n }\n stateInTagName(c) {\n if (isEndOfTagSection(c)) {\n this.cbs.onopentagname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n }\n stateBeforeClosingTagName(c) {\n if (isWhitespace(c)) {\n // Ignore\n }\n else if (c === CharCodes.Gt) {\n this.state = State.Text;\n }\n else {\n this.state = this.isTagStartChar(c)\n ? State.InClosingTagName\n : State.InSpecialComment;\n this.sectionStart = this.index;\n }\n }\n stateInClosingTagName(c) {\n if (c === CharCodes.Gt || isWhitespace(c)) {\n this.cbs.onclosetag(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.AfterClosingTagName;\n this.stateAfterClosingTagName(c);\n }\n }\n stateAfterClosingTagName(c) {\n // Skip everything until \">\"\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeAttributeName(c) {\n if (c === CharCodes.Gt) {\n this.cbs.onopentagend(this.index);\n if (this.isSpecial) {\n this.state = State.InSpecialTag;\n this.sequenceIndex = 0;\n }\n else {\n this.state = State.Text;\n }\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Slash) {\n this.state = State.InSelfClosingTag;\n }\n else if (!isWhitespace(c)) {\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n }\n stateInSelfClosingTag(c) {\n if (c === CharCodes.Gt) {\n this.cbs.onselfclosingtag(this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n this.isSpecial = false; // Reset special state, in case of self-closing special tags\n }\n else if (!isWhitespace(c)) {\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n }\n stateInAttributeName(c) {\n if (c === CharCodes.Eq || isEndOfTagSection(c)) {\n this.cbs.onattribname(this.sectionStart, this.index);\n this.sectionStart = this.index;\n this.state = State.AfterAttributeName;\n this.stateAfterAttributeName(c);\n }\n }\n stateAfterAttributeName(c) {\n if (c === CharCodes.Eq) {\n this.state = State.BeforeAttributeValue;\n }\n else if (c === CharCodes.Slash || c === CharCodes.Gt) {\n this.cbs.onattribend(QuoteType.NoValue, this.sectionStart);\n this.sectionStart = -1;\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (!isWhitespace(c)) {\n this.cbs.onattribend(QuoteType.NoValue, this.sectionStart);\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n }\n stateBeforeAttributeValue(c) {\n if (c === CharCodes.DoubleQuote) {\n this.state = State.InAttributeValueDq;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.SingleQuote) {\n this.state = State.InAttributeValueSq;\n this.sectionStart = this.index + 1;\n }\n else if (!isWhitespace(c)) {\n this.sectionStart = this.index;\n this.state = State.InAttributeValueNq;\n this.stateInAttributeValueNoQuotes(c); // Reconsume token\n }\n }\n handleInAttributeValue(c, quote) {\n if (c === quote ||\n (!this.decodeEntities && this.fastForwardTo(quote))) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(quote === CharCodes.DoubleQuote\n ? QuoteType.Double\n : QuoteType.Single, this.index + 1);\n this.state = State.BeforeAttributeName;\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.startEntity();\n }\n }\n stateInAttributeValueDoubleQuotes(c) {\n this.handleInAttributeValue(c, CharCodes.DoubleQuote);\n }\n stateInAttributeValueSingleQuotes(c) {\n this.handleInAttributeValue(c, CharCodes.SingleQuote);\n }\n stateInAttributeValueNoQuotes(c) {\n if (isWhitespace(c) || c === CharCodes.Gt) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(QuoteType.Unquoted, this.index);\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.startEntity();\n }\n }\n stateBeforeDeclaration(c) {\n if (c === CharCodes.OpeningSquareBracket) {\n this.state = State.CDATASequence;\n this.sequenceIndex = 0;\n }\n else {\n this.state =\n c === CharCodes.Dash\n ? State.BeforeComment\n : State.InDeclaration;\n }\n }\n stateInDeclaration(c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.ondeclaration(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n }\n stateInProcessingInstruction(c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.onprocessinginstruction(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeComment(c) {\n if (c === CharCodes.Dash) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CommentEnd;\n // Allow short comments (eg. )\n this.sequenceIndex = 2;\n this.sectionStart = this.index + 1;\n }\n else {\n this.state = State.InDeclaration;\n }\n }\n stateInSpecialComment(c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.oncomment(this.sectionStart, this.index, 0);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeSpecialS(c) {\n const lower = c | 0x20;\n if (lower === Sequences.ScriptEnd[3]) {\n this.startSpecial(Sequences.ScriptEnd, 4);\n }\n else if (lower === Sequences.StyleEnd[3]) {\n this.startSpecial(Sequences.StyleEnd, 4);\n }\n else {\n this.state = State.InTagName;\n this.stateInTagName(c); // Consume the token again\n }\n }\n stateBeforeSpecialT(c) {\n const lower = c | 0x20;\n if (lower === Sequences.TitleEnd[3]) {\n this.startSpecial(Sequences.TitleEnd, 4);\n }\n else if (lower === Sequences.TextareaEnd[3]) {\n this.startSpecial(Sequences.TextareaEnd, 4);\n }\n else {\n this.state = State.InTagName;\n this.stateInTagName(c); // Consume the token again\n }\n }\n startEntity() {\n this.baseState = this.state;\n this.state = State.InEntity;\n this.entityStart = this.index;\n this.entityDecoder.startEntity(this.xmlMode\n ? DecodingMode.Strict\n : this.baseState === State.Text ||\n this.baseState === State.InSpecialTag\n ? DecodingMode.Legacy\n : DecodingMode.Attribute);\n }\n stateInEntity() {\n const length = this.entityDecoder.write(this.buffer, this.index - this.offset);\n // If `length` is positive, we are done with the entity.\n if (length >= 0) {\n this.state = this.baseState;\n if (length === 0) {\n this.index = this.entityStart;\n }\n }\n else {\n // Mark buffer as consumed.\n this.index = this.offset + this.buffer.length - 1;\n }\n }\n /**\n * Remove data that has already been consumed from the buffer.\n */\n cleanup() {\n // If we are inside of text or attributes, emit what we already have.\n if (this.running && this.sectionStart !== this.index) {\n if (this.state === State.Text ||\n (this.state === State.InSpecialTag && this.sequenceIndex === 0)) {\n this.cbs.ontext(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n else if (this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueNq) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n }\n }\n shouldContinue() {\n return this.index < this.buffer.length + this.offset && this.running;\n }\n /**\n * Iterates through the buffer, calling the function corresponding to the current state.\n *\n * States that are more likely to be hit are higher up, as a performance improvement.\n */\n parse() {\n while (this.shouldContinue()) {\n const c = this.buffer.charCodeAt(this.index - this.offset);\n switch (this.state) {\n case State.Text: {\n this.stateText(c);\n break;\n }\n case State.SpecialStartSequence: {\n this.stateSpecialStartSequence(c);\n break;\n }\n case State.InSpecialTag: {\n this.stateInSpecialTag(c);\n break;\n }\n case State.CDATASequence: {\n this.stateCDATASequence(c);\n break;\n }\n case State.InAttributeValueDq: {\n this.stateInAttributeValueDoubleQuotes(c);\n break;\n }\n case State.InAttributeName: {\n this.stateInAttributeName(c);\n break;\n }\n case State.InCommentLike: {\n this.stateInCommentLike(c);\n break;\n }\n case State.InSpecialComment: {\n this.stateInSpecialComment(c);\n break;\n }\n case State.BeforeAttributeName: {\n this.stateBeforeAttributeName(c);\n break;\n }\n case State.InTagName: {\n this.stateInTagName(c);\n break;\n }\n case State.InClosingTagName: {\n this.stateInClosingTagName(c);\n break;\n }\n case State.BeforeTagName: {\n this.stateBeforeTagName(c);\n break;\n }\n case State.AfterAttributeName: {\n this.stateAfterAttributeName(c);\n break;\n }\n case State.InAttributeValueSq: {\n this.stateInAttributeValueSingleQuotes(c);\n break;\n }\n case State.BeforeAttributeValue: {\n this.stateBeforeAttributeValue(c);\n break;\n }\n case State.BeforeClosingTagName: {\n this.stateBeforeClosingTagName(c);\n break;\n }\n case State.AfterClosingTagName: {\n this.stateAfterClosingTagName(c);\n break;\n }\n case State.BeforeSpecialS: {\n this.stateBeforeSpecialS(c);\n break;\n }\n case State.BeforeSpecialT: {\n this.stateBeforeSpecialT(c);\n break;\n }\n case State.InAttributeValueNq: {\n this.stateInAttributeValueNoQuotes(c);\n break;\n }\n case State.InSelfClosingTag: {\n this.stateInSelfClosingTag(c);\n break;\n }\n case State.InDeclaration: {\n this.stateInDeclaration(c);\n break;\n }\n case State.BeforeDeclaration: {\n this.stateBeforeDeclaration(c);\n break;\n }\n case State.BeforeComment: {\n this.stateBeforeComment(c);\n break;\n }\n case State.InProcessingInstruction: {\n this.stateInProcessingInstruction(c);\n break;\n }\n case State.InEntity: {\n this.stateInEntity();\n break;\n }\n }\n this.index++;\n }\n this.cleanup();\n }\n finish() {\n if (this.state === State.InEntity) {\n this.entityDecoder.end();\n this.state = this.baseState;\n }\n this.handleTrailingData();\n this.cbs.onend();\n }\n /** Handle any trailing data. */\n handleTrailingData() {\n const endIndex = this.buffer.length + this.offset;\n // If there is no remaining data, we are done.\n if (this.sectionStart >= endIndex) {\n return;\n }\n if (this.state === State.InCommentLike) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, endIndex, 0);\n }\n else {\n this.cbs.oncomment(this.sectionStart, endIndex, 0);\n }\n }\n else if (this.state === State.InTagName ||\n this.state === State.BeforeAttributeName ||\n this.state === State.BeforeAttributeValue ||\n this.state === State.AfterAttributeName ||\n this.state === State.InAttributeName ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueNq ||\n this.state === State.InClosingTagName) {\n /*\n * If we are currently in an opening or closing tag, us not calling the\n * respective callback signals that the tag should be ignored.\n */\n }\n else {\n this.cbs.ontext(this.sectionStart, endIndex);\n }\n }\n emitCodePoint(cp, consumed) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n if (this.sectionStart < this.entityStart) {\n this.cbs.onattribdata(this.sectionStart, this.entityStart);\n }\n this.sectionStart = this.entityStart + consumed;\n this.index = this.sectionStart - 1;\n this.cbs.onattribentity(cp);\n }\n else {\n if (this.sectionStart < this.entityStart) {\n this.cbs.ontext(this.sectionStart, this.entityStart);\n }\n this.sectionStart = this.entityStart + consumed;\n this.index = this.sectionStart - 1;\n this.cbs.ontextentity(cp, this.sectionStart);\n }\n }\n}\n//# sourceMappingURL=Tokenizer.js.map","import { Parser } from \"./Parser.js\";\nexport { Parser } from \"./Parser.js\";\nimport { DomHandler, } from \"domhandler\";\nexport { DomHandler, \n// Old name for DomHandler\nDomHandler as DefaultHandler, } from \"domhandler\";\n// Helper methods\n/**\n * Parses the data, returns the resulting document.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM handler.\n */\nexport function parseDocument(data, options) {\n const handler = new DomHandler(undefined, options);\n new Parser(handler, options).end(data);\n return handler.root;\n}\n/**\n * Parses data, returns an array of the root nodes.\n *\n * Note that the root nodes still have a `Document` node as their parent.\n * Use `parseDocument` to get the `Document` node instead.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM handler.\n * @deprecated Use `parseDocument` instead.\n */\nexport function parseDOM(data, options) {\n return parseDocument(data, options).children;\n}\n/**\n * Creates a parser instance, with an attached DOM handler.\n *\n * @param callback A callback that will be called once parsing has been completed, with the resulting document.\n * @param options Optional options for the parser and DOM handler.\n * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.\n */\nexport function createDocumentStream(callback, options, elementCallback) {\n const handler = new DomHandler((error) => callback(error, handler.root), options, elementCallback);\n return new Parser(handler, options);\n}\n/**\n * Creates a parser instance, with an attached DOM handler.\n *\n * @param callback A callback that will be called once parsing has been completed, with an array of root nodes.\n * @param options Optional options for the parser and DOM handler.\n * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.\n * @deprecated Use `createDocumentStream` instead.\n */\nexport function createDomStream(callback, options, elementCallback) {\n const handler = new DomHandler(callback, options, elementCallback);\n return new Parser(handler, options);\n}\nexport { default as Tokenizer, QuoteType, } from \"./Tokenizer.js\";\n/*\n * All of the following exports exist for backwards-compatibility.\n * They should probably be removed eventually.\n */\nexport * as ElementType from \"domelementtype\";\nimport { getFeed } from \"domutils\";\nexport { getFeed } from \"domutils\";\nconst parseFeedDefaultOptions = { xmlMode: true };\n/**\n * Parse a feed.\n *\n * @param feed The feed that should be parsed, as a string.\n * @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.\n */\nexport function parseFeed(feed, options = parseFeedDefaultOptions) {\n return getFeed(parseDOM(feed, options));\n}\nexport * as DomUtils from \"domutils\";\n//# sourceMappingURL=index.js.map","const word = '[a-fA-F\\\\d:]';\n\nconst boundry = options => options && options.includeBoundaries\n\t? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))`\n\t: '';\n\nconst v4 = '(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}';\n\nconst v6segment = '[a-fA-F\\\\d]{1,4}';\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\\s*\\/\\/.*$/gm, '').replace(/\\n/g, '').trim();\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);\nconst v4exact = new RegExp(`^${v4}$`);\nconst v6exact = new RegExp(`^${v6}$`);\n\nconst ipRegex = options => options && options.exact\n\t? v46Exact\n\t: new RegExp(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, 'g');\n\nipRegex.v4 = options => options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, 'g');\nipRegex.v6 = options => options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(options)}`, 'g');\n\nexport default ipRegex;\n","import ipRegex from 'ip-regex';\nimport {isMatch} from 'super-regex';\n\nconst maxIPv4Length = 15;\nconst maxIPv6Length = 45;\n\nconst options = {\n\ttimeout: 400,\n};\n\nexport function isIP(string) {\n\tif (string.length > maxIPv6Length) {\n\t\treturn false;\n\t}\n\n\treturn isMatch(ipRegex({exact: true}), string, options);\n}\n\nexport function isIPv6(string) {\n\tif (string.length > maxIPv6Length) {\n\t\treturn false;\n\t}\n\n\treturn isMatch(ipRegex.v6({exact: true}), string, options);\n}\n\nexport function isIPv4(string) {\n\tif (string.length > maxIPv4Length) {\n\t\treturn false;\n\t}\n\n\treturn isMatch(ipRegex.v4({exact: true}), string, options);\n}\n\nexport function ipVersion(string) {\n\tif (isIPv6(string)) {\n\t\treturn 6;\n\t}\n\n\tif (isIPv4(string)) {\n\t\treturn 4;\n\t}\n}\n","const {toString} = Object.prototype;\n\nexport default function isRegexp(value) {\n\treturn toString.call(value) === '[object RegExp]';\n}\n","const errorMessages = {\r\n [0]: 'Unexpected token',\r\n [28]: \"Unexpected token: '%0'\",\r\n [1]: 'Octal escape sequences are not allowed in strict mode',\r\n [2]: 'Octal escape sequences are not allowed in template strings',\r\n [3]: 'Unexpected token `#`',\r\n [4]: 'Illegal Unicode escape sequence',\r\n [5]: 'Invalid code point %0',\r\n [6]: 'Invalid hexadecimal escape sequence',\r\n [8]: 'Octal literals are not allowed in strict mode',\r\n [7]: 'Decimal integer literals with a leading zero are forbidden in strict mode',\r\n [9]: 'Expected number in radix %0',\r\n [146]: 'Invalid left-hand side assignment to a destructible right-hand side',\r\n [10]: 'Non-number found after exponent indicator',\r\n [11]: 'Invalid BigIntLiteral',\r\n [12]: 'No identifiers allowed directly after numeric literal',\r\n [13]: 'Escapes \\\\8 or \\\\9 are not syntactically valid escapes',\r\n [14]: 'Unterminated string literal',\r\n [15]: 'Unterminated template literal',\r\n [16]: 'Multiline comment was not closed properly',\r\n [17]: 'The identifier contained dynamic unicode escape that was not closed',\r\n [18]: \"Illegal character '%0'\",\r\n [19]: 'Missing hexadecimal digits',\r\n [20]: 'Invalid implicit octal',\r\n [21]: 'Invalid line break in string literal',\r\n [22]: 'Only unicode escapes are legal in identifier names',\r\n [23]: \"Expected '%0'\",\r\n [24]: 'Invalid left-hand side in assignment',\r\n [25]: 'Invalid left-hand side in async arrow',\r\n [26]: 'Calls to super must be in the \"constructor\" method of a class expression or class declaration that has a superclass',\r\n [27]: 'Member access on super must be in a method',\r\n [29]: 'Await expression not allowed in formal parameter',\r\n [30]: 'Yield expression not allowed in formal parameter',\r\n [93]: \"Unexpected token: 'escaped keyword'\",\r\n [31]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses',\r\n [120]: 'Async functions can only be declared at the top level or inside a block',\r\n [32]: 'Unterminated regular expression',\r\n [33]: 'Unexpected regular expression flag',\r\n [34]: \"Duplicate regular expression flag '%0'\",\r\n [35]: '%0 functions must have exactly %1 argument%2',\r\n [36]: 'Setter function argument must not be a rest parameter',\r\n [37]: '%0 declaration must have a name in this context',\r\n [38]: 'Function name may not contain any reserved words or be eval or arguments in strict mode',\r\n [39]: 'The rest operator is missing an argument',\r\n [40]: 'A getter cannot be a generator',\r\n [41]: 'A setter cannot be a generator',\r\n [42]: 'A computed property name must be followed by a colon or paren',\r\n [131]: 'Object literal keys that are strings or numbers must be a method or have a colon',\r\n [44]: 'Found `* async x(){}` but this should be `async * x(){}`',\r\n [43]: 'Getters and setters can not be generators',\r\n [45]: \"'%0' can not be generator method\",\r\n [46]: \"No line break is allowed after '=>'\",\r\n [47]: 'The left-hand side of the arrow can only be destructed through assignment',\r\n [48]: 'The binding declaration is not destructible',\r\n [49]: 'Async arrow can not be followed by new expression',\r\n [50]: \"Classes may not have a static property named 'prototype'\",\r\n [51]: 'Class constructor may not be a %0',\r\n [52]: 'Duplicate constructor method in class',\r\n [53]: 'Invalid increment/decrement operand',\r\n [54]: 'Invalid use of `new` keyword on an increment/decrement expression',\r\n [55]: '`=>` is an invalid assignment target',\r\n [56]: 'Rest element may not have a trailing comma',\r\n [57]: 'Missing initializer in %0 declaration',\r\n [58]: \"'for-%0' loop head declarations can not have an initializer\",\r\n [59]: 'Invalid left-hand side in for-%0 loop: Must have a single binding',\r\n [60]: 'Invalid shorthand property initializer',\r\n [61]: 'Property name __proto__ appears more than once in object literal',\r\n [62]: 'Let is disallowed as a lexically bound name',\r\n [63]: \"Invalid use of '%0' inside new expression\",\r\n [64]: \"Illegal 'use strict' directive in function with non-simple parameter list\",\r\n [65]: 'Identifier \"let\" disallowed as left-hand side expression in strict mode',\r\n [66]: 'Illegal continue statement',\r\n [67]: 'Illegal break statement',\r\n [68]: 'Cannot have `let[...]` as a var name in strict mode',\r\n [69]: 'Invalid destructuring assignment target',\r\n [70]: 'Rest parameter may not have a default initializer',\r\n [71]: 'The rest argument must the be last parameter',\r\n [72]: 'Invalid rest argument',\r\n [74]: 'In strict mode code, functions can only be declared at top level or inside a block',\r\n [75]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement',\r\n [76]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement',\r\n [77]: \"Class declaration can't appear in single-statement context\",\r\n [78]: 'Invalid left-hand side in for-%0',\r\n [79]: 'Invalid assignment in for-%0',\r\n [80]: 'for await (... of ...) is only valid in async functions and async generators',\r\n [81]: 'The first token after the template expression should be a continuation of the template',\r\n [83]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode',\r\n [82]: '`let \\n [` is a restricted production at the start of a statement',\r\n [84]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)',\r\n [85]: 'Catch clause parameter does not support default values',\r\n [86]: 'Missing catch or finally after try',\r\n [87]: 'More than one default clause in switch statement',\r\n [88]: 'Illegal newline after throw',\r\n [89]: 'Strict mode code may not include a with statement',\r\n [90]: 'Illegal return statement',\r\n [91]: 'The left hand side of the for-header binding declaration is not destructible',\r\n [92]: 'new.target only allowed within functions',\r\n [94]: \"'#' not followed by identifier\",\r\n [100]: 'Invalid keyword',\r\n [99]: \"Can not use 'let' as a class name\",\r\n [98]: \"'A lexical declaration can't define a 'let' binding\",\r\n [97]: 'Can not use `let` as variable name in strict mode',\r\n [95]: \"'%0' may not be used as an identifier in this context\",\r\n [96]: 'Await is only valid in async functions',\r\n [101]: 'The %0 keyword can only be used with the module goal',\r\n [102]: 'Unicode codepoint must not be greater than 0x10FFFF',\r\n [103]: '%0 source must be string',\r\n [104]: 'Only a identifier can be used to indicate alias',\r\n [105]: \"Only '*' or '{...}' can be imported after default\",\r\n [106]: 'Trailing decorator may be followed by method',\r\n [107]: \"Decorators can't be used with a constructor\",\r\n [109]: 'HTML comments are only allowed with web compatibility (Annex B)',\r\n [110]: \"The identifier 'let' must not be in expression position in strict mode\",\r\n [111]: 'Cannot assign to `eval` and `arguments` in strict mode',\r\n [112]: \"The left-hand side of a for-of loop may not start with 'let'\",\r\n [113]: 'Block body arrows can not be immediately invoked without a group',\r\n [114]: 'Block body arrows can not be immediately accessed without a group',\r\n [115]: 'Unexpected strict mode reserved word',\r\n [116]: 'Unexpected eval or arguments in strict mode',\r\n [117]: 'Decorators must not be followed by a semicolon',\r\n [118]: 'Calling delete on expression not allowed in strict mode',\r\n [119]: 'Pattern can not have a tail',\r\n [121]: 'Can not have a `yield` expression on the left side of a ternary',\r\n [122]: 'An arrow function can not have a postfix update operator',\r\n [123]: 'Invalid object literal key character after generator star',\r\n [124]: 'Private fields can not be deleted',\r\n [126]: 'Classes may not have a field called constructor',\r\n [125]: 'Classes may not have a private element named constructor',\r\n [127]: 'A class field initializer may not contain arguments',\r\n [128]: 'Generators can only be declared at the top level or inside a block',\r\n [129]: 'Async methods are a restricted production and cannot have a newline following it',\r\n [130]: 'Unexpected character after object literal property name',\r\n [132]: 'Invalid key token',\r\n [133]: \"Label '%0' has already been declared\",\r\n [134]: 'continue statement must be nested within an iteration statement',\r\n [135]: \"Undefined label '%0'\",\r\n [136]: 'Trailing comma is disallowed inside import(...) arguments',\r\n [137]: 'import() requires exactly one argument',\r\n [138]: 'Cannot use new with import(...)',\r\n [139]: '... is not allowed in import()',\r\n [140]: \"Expected '=>'\",\r\n [141]: \"Duplicate binding '%0'\",\r\n [142]: \"Cannot export a duplicate name '%0'\",\r\n [145]: 'Duplicate %0 for-binding',\r\n [143]: \"Exported binding '%0' needs to refer to a top-level declared variable\",\r\n [144]: 'Unexpected private field',\r\n [148]: 'Numeric separators are not allowed at the end of numeric literals',\r\n [147]: 'Only one underscore is allowed as numeric separator',\r\n [149]: 'JSX value should be either an expression or a quoted JSX text',\r\n [150]: 'Expected corresponding JSX closing tag for %0',\r\n [151]: 'Adjacent JSX elements must be wrapped in an enclosing tag',\r\n [152]: \"JSX attributes must only be assigned a non-empty 'expression'\",\r\n [153]: \"'%0' has already been declared\",\r\n [154]: \"'%0' shadowed a catch clause binding\",\r\n [155]: 'Dot property must be an identifier',\r\n [156]: 'Encountered invalid input after spread/rest argument',\r\n [157]: 'Catch without try',\r\n [158]: 'Finally without try',\r\n [159]: 'Expected corresponding closing tag for JSX fragment',\r\n [160]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses',\r\n [161]: 'Invalid tagged template on optional chain',\r\n [162]: 'Invalid optional chain from super property',\r\n [163]: 'Invalid optional chain from new expression',\r\n [164]: 'Cannot use \"import.meta\" outside a module',\r\n [165]: 'Leading decorators must be attached to a class declaration'\r\n};\r\nclass ParseError extends SyntaxError {\r\n constructor(startindex, line, column, type, ...params) {\r\n const message = '[' + line + ':' + column + ']: ' + errorMessages[type].replace(/%(\\d+)/g, (_, i) => params[i]);\r\n super(`${message}`);\r\n this.index = startindex;\r\n this.line = line;\r\n this.column = column;\r\n this.description = message;\r\n this.loc = {\r\n line,\r\n column\r\n };\r\n }\r\n}\r\nfunction report(parser, type, ...params) {\r\n throw new ParseError(parser.index, parser.line, parser.column, type, ...params);\r\n}\r\nfunction reportScopeError(scope) {\r\n throw new ParseError(scope.index, scope.line, scope.column, scope.type, scope.params);\r\n}\r\nfunction reportMessageAt(index, line, column, type, ...params) {\r\n throw new ParseError(index, line, column, type, ...params);\r\n}\r\nfunction reportScannerError(index, line, column, type) {\r\n throw new ParseError(index, line, column, type);\r\n}\n\nconst unicodeLookup = ((compressed, lookup) => {\r\n const result = new Uint32Array(104448);\r\n let index = 0;\r\n let subIndex = 0;\r\n while (index < 3701) {\r\n const inst = compressed[index++];\r\n if (inst < 0) {\r\n subIndex -= inst;\r\n }\r\n else {\r\n let code = compressed[index++];\r\n if (inst & 2)\r\n code = lookup[code];\r\n if (inst & 1) {\r\n result.fill(code, subIndex, subIndex += compressed[index++]);\r\n }\r\n else {\r\n result[subIndex++] = code;\r\n }\r\n }\r\n }\r\n return result;\r\n})([-1, 2, 26, 2, 27, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 60, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 61, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 18, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 54, 2, 7, 2, 6, 0, 4278222591, 3, 0, 2, 2, 1, 3, 0, 3, 0, 4294901711, 2, 40, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 2, 200, 2, 3, 0, 4093640191, 0, 660618719, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1616920031, 0, 982991, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 66, 0, 4284449919, 0, 851904, 2, 4, 2, 12, 0, 67076095, -1, 2, 67, 0, 1073741743, 0, 4093607775, -1, 0, 50331649, 0, 3265266687, 2, 33, 0, 4294844415, 0, 4278190047, 2, 20, 2, 133, -1, 3, 0, 2, 2, 23, 2, 0, 2, 10, 2, 0, 2, 15, 2, 22, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 11, 0, 261632, 2, 25, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 2151677951, 2, 29, 2, 9, 0, 909311, 3, 0, 2, 0, 814743551, 2, 42, 0, 67090432, 3, 0, 2, 2, 41, 2, 0, 2, 6, 2, 0, 2, 30, 2, 8, 0, 268374015, 2, 107, 2, 48, 2, 0, 2, 76, 0, 134153215, -1, 2, 7, 2, 0, 2, 8, 0, 2684354559, 0, 67044351, 0, 3221160064, 2, 17, -1, 3, 0, 2, 0, 67051519, 0, 1046528, 3, 0, 3, 2, 9, 2, 0, 2, 50, 0, 4294960127, 2, 10, 2, 39, 2, 11, 0, 4294377472, 2, 12, 3, 0, 16, 2, 13, 2, 0, 2, 79, 2, 10, 2, 0, 2, 80, 2, 81, 2, 82, 2, 206, 2, 129, 0, 1048577, 2, 83, 2, 14, -1, 2, 14, 0, 131042, 2, 84, 2, 85, 2, 86, 2, 0, 2, 34, -83, 3, 0, 7, 0, 1046559, 2, 0, 2, 15, 2, 0, 0, 2147516671, 2, 21, 3, 87, 2, 2, 0, -16, 2, 88, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 3, 0, 2, 2, 28, 2, 16, 3, 0, 2, 2, 17, 2, 0, -1, 2, 18, -16, 3, 0, 206, -2, 3, 0, 692, 2, 68, -1, 2, 18, 2, 10, 3, 0, 8, 2, 90, 2, 128, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 91, 2, 92, 3, 0, 2, 2, 93, 2, 0, 2, 94, 2, 45, 2, 0, 0, 4351, 2, 0, 2, 9, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 24, 2, 9, 2, 20, 3, 0, 2, 0, 67076097, 2, 8, 2, 0, 2, 21, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 98, 2, 99, 2, 22, 2, 23, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 100, 2, 101, 2, 7, -264, 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, -1, 0, 3774349439, 2, 102, 2, 103, 3, 0, 2, 2, 19, 2, 104, 3, 0, 10, 2, 10, 2, 18, 2, 0, 2, 46, 2, 0, 2, 31, 2, 105, 2, 25, 0, 1638399, 2, 170, 2, 106, 3, 0, 3, 2, 20, 2, 26, 2, 27, 2, 5, 2, 28, 2, 0, 2, 8, 2, 108, -1, 2, 109, 2, 110, 2, 111, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -3, 2, 159, -4, 2, 20, 2, 0, 2, 36, 0, 1, 2, 0, 2, 62, 2, 6, 2, 12, 2, 10, 2, 0, 2, 112, -1, 3, 0, 4, 2, 10, 2, 23, 2, 113, 2, 7, 2, 0, 2, 114, 2, 0, 2, 115, 2, 116, 2, 117, -2, 3, 0, 9, 2, 21, 2, 30, 2, 31, 2, 118, 2, 119, -2, 2, 120, 2, 121, 2, 30, 2, 21, 2, 8, -2, 2, 122, 2, 30, 2, 32, -2, 2, 0, 2, 38, -2, 0, 4277137519, 0, 2269118463, -1, 3, 20, 2, -1, 2, 33, 2, 37, 2, 0, 3, 30, 2, 2, 35, 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, 2, 35, 2, 0, 2, 35, 2, 0, 2, 47, -10, 2, 0, 0, 203775, -1, 2, 164, 2, 20, 2, 43, 2, 36, 2, 18, 2, 77, 2, 18, 2, 123, 2, 21, 3, 0, 2, 2, 37, 0, 2151677888, 2, 0, 2, 12, 0, 4294901764, 2, 140, 2, 0, 2, 52, 2, 51, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 125, 2, 38, 0, 3, -1, 2, 126, 2, 39, 2, 0, 0, 67045375, 2, 40, 0, 4226678271, 0, 3766565279, 0, 2039759, -4, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 41, 2, 42, -1, 2, 11, 2, 55, 2, 37, -5, 2, 0, 2, 12, -3, 3, 0, 2, 0, 2147484671, 2, 130, 0, 4190109695, 2, 49, -2, 2, 131, 0, 4244635647, 0, 27, 2, 0, 2, 8, 2, 43, 2, 0, 2, 63, 2, 18, 2, 0, 2, 41, -8, 2, 53, 2, 44, 0, 67043329, 2, 45, 2, 46, 0, 8388351, -2, 2, 132, 0, 3028287487, 2, 47, 2, 134, 0, 33259519, 2, 42, -9, 2, 21, 0, 4294836223, 0, 3355443199, 0, 67043335, -2, 2, 64, -2, 3, 0, 28, 2, 32, -3, 3, 0, 3, 2, 17, 3, 0, 6, 2, 78, -81, 2, 18, 3, 0, 2, 2, 36, 3, 0, 33, 2, 25, 2, 30, -125, 3, 0, 18, 2, 37, -269, 3, 0, 17, 2, 41, 2, 8, 2, 23, 2, 0, 2, 8, 2, 23, 2, 48, 2, 0, 2, 21, 2, 49, 2, 135, 2, 25, -21, 3, 0, 2, -4, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 196635, 3, 0, 191, 2, 50, 3, 0, 38, 2, 30, -1, 2, 34, -278, 2, 136, 3, 0, 9, 2, 137, 2, 138, 2, 51, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 139, 0, 1677656575, -147, 2, 0, 2, 24, 2, 37, -16, 0, 4161266656, 0, 4071, 2, 201, -4, 0, 28, -13, 3, 0, 2, 2, 52, 2, 0, 2, 141, 2, 142, 2, 56, 2, 0, 2, 143, 2, 144, 2, 145, 3, 0, 10, 2, 146, 2, 147, 2, 22, 3, 52, 2, 3, 148, 2, 3, 53, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 89, 2, 0, 0, 2105343, 0, 4160749584, 2, 174, -34, 2, 8, 2, 150, -6, 0, 4194303871, 0, 4294903771, 2, 0, 2, 54, 2, 97, -3, 2, 0, 0, 1073684479, 0, 17407, -9, 2, 18, 2, 17, 2, 0, 2, 32, -14, 2, 18, 2, 32, -23, 2, 151, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 55, -37, 2, 56, 2, 152, 2, 153, 2, 154, 2, 155, 2, 156, -105, 2, 26, -32, 3, 0, 1335, -1, 3, 0, 129, 2, 32, 3, 0, 6, 2, 10, 3, 0, 180, 2, 157, 3, 0, 233, 2, 158, 3, 0, 18, 2, 10, -77, 3, 0, 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 130, 2, 25, -22250, 3, 0, 7, 2, 25, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 57, 2, 58, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 59, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 60, 2, 0, 2, 34, -1, 2, 18, 2, 61, -1, 2, 0, 0, 2047, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 25, 2, 62, 3, 0, 2, 0, 131135, 2, 95, 0, 70256639, 0, 71303167, 0, 272, 2, 41, 2, 6, 0, 32511, 2, 0, 2, 42, -1, 2, 96, 2, 63, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 65, 2, 64, 0, 33554435, 2, 127, 2, 65, 2, 160, 0, 131075, 0, 3594373096, 0, 67094296, 2, 64, -1, 0, 4294828000, 0, 603979263, 0, 654311424, 0, 3, 0, 4294828001, 0, 602930687, 2, 167, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 66, 2, 37, -1, 2, 4, 0, 917503, 2, 37, -1, 2, 67, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 33, 2, 68, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 15, 2, 22, 3, 0, 10, 2, 69, 2, 0, 2, 70, 2, 71, 2, 72, 2, 0, 2, 73, 2, 0, 2, 12, -1, 2, 25, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 74, 2, 5, 3, 0, 2, 2, 75, 0, 2147745791, 3, 19, 2, 0, 122879, 2, 0, 2, 9, 0, 276824064, -2, 3, 0, 2, 2, 41, 2, 0, 0, 4294903295, 2, 0, 2, 30, 2, 8, -1, 2, 18, 2, 48, 2, 0, 2, 76, 2, 42, -1, 2, 21, 2, 0, 2, 29, -2, 0, 128, -2, 2, 28, 2, 9, 0, 8160, -1, 2, 124, 0, 4227907585, 2, 0, 2, 77, 2, 0, 2, 78, 2, 180, 2, 10, 2, 39, 2, 11, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 13, 2, 0, 2, 79, 2, 10, 2, 0, 2, 80, 2, 81, 2, 82, -3, 2, 83, 2, 14, -3, 2, 84, 2, 85, 2, 86, 2, 0, 2, 34, -83, 3, 0, 7, 0, 817183, 2, 0, 2, 15, 2, 0, 0, 33023, 2, 21, 3, 87, 2, -17, 2, 88, 0, 524157950, 2, 4, 2, 0, 2, 89, 2, 4, 2, 0, 2, 22, 2, 28, 2, 16, 3, 0, 2, 2, 17, 2, 0, -1, 2, 18, -16, 3, 0, 206, -2, 3, 0, 692, 2, 68, -1, 2, 18, 2, 10, 3, 0, 8, 2, 90, 0, 3072, 2, 0, 0, 2147516415, 2, 10, 3, 0, 2, 2, 25, 2, 91, 2, 92, 3, 0, 2, 2, 93, 2, 0, 2, 94, 2, 45, 0, 4294965179, 0, 7, 2, 0, 2, 9, 2, 92, 2, 9, -1, 0, 1761345536, 2, 95, 0, 4294901823, 2, 37, 2, 20, 2, 96, 2, 35, 2, 97, 0, 2080440287, 2, 0, 2, 34, 2, 149, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 98, 2, 99, 2, 22, 2, 23, 3, 0, 3, 0, 7, 3, 0, 349, 2, 100, 2, 101, 2, 7, -264, 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, -1, 0, 2700607615, 2, 102, 2, 103, 3, 0, 2, 2, 19, 2, 104, 3, 0, 10, 2, 10, 2, 18, 2, 0, 2, 46, 2, 0, 2, 31, 2, 105, -3, 2, 106, 3, 0, 3, 2, 20, -1, 3, 5, 2, 2, 107, 2, 0, 2, 8, 2, 108, -1, 2, 109, 2, 110, 2, 111, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -8, 2, 20, 2, 0, 2, 36, -1, 2, 0, 2, 62, 2, 6, 2, 30, 2, 10, 2, 0, 2, 112, -1, 3, 0, 4, 2, 10, 2, 18, 2, 113, 2, 7, 2, 0, 2, 114, 2, 0, 2, 115, 2, 116, 2, 117, -2, 3, 0, 9, 2, 21, 2, 30, 2, 31, 2, 118, 2, 119, -2, 2, 120, 2, 121, 2, 30, 2, 21, 2, 8, -2, 2, 122, 2, 30, 2, 32, -2, 2, 0, 2, 38, -2, 0, 4277075969, 2, 30, -1, 3, 20, 2, -1, 2, 33, 2, 123, 2, 0, 3, 30, 2, 2, 35, 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, 2, 35, 2, 0, 2, 35, 2, 0, 2, 78, -10, 2, 0, 0, 197631, -2, 2, 20, 2, 43, 2, 77, 2, 18, 0, 3, 2, 18, 2, 123, 2, 21, 2, 124, 2, 50, -1, 0, 2490368, 2, 124, 2, 25, 2, 18, 2, 34, 2, 124, 2, 37, 0, 4294901904, 0, 4718591, 2, 124, 2, 35, 0, 335544350, -1, 2, 125, 0, 2147487743, 0, 1, -1, 2, 126, 2, 39, 2, 8, -1, 2, 127, 2, 65, 0, 3758161920, 0, 3, -4, 2, 0, 2, 29, 0, 2147485568, 0, 3, 2, 0, 2, 25, 0, 176, -5, 2, 0, 2, 17, 2, 188, -1, 2, 0, 2, 25, 2, 205, -1, 2, 0, 0, 16779263, -2, 2, 12, -1, 2, 37, -5, 2, 0, 2, 128, -3, 3, 0, 2, 2, 129, 2, 130, 0, 2147549183, 0, 2, -2, 2, 131, 2, 36, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, 2, 18, 2, 0, 2, 41, -8, 2, 53, 2, 17, 0, 1, 2, 45, 2, 25, -3, 2, 132, 2, 36, 2, 133, 2, 134, 0, 16778239, -10, 2, 35, 0, 4294836212, 2, 9, -3, 2, 64, -2, 3, 0, 28, 2, 32, -3, 3, 0, 3, 2, 17, 3, 0, 6, 2, 78, -81, 2, 18, 3, 0, 2, 2, 36, 3, 0, 33, 2, 25, 0, 126, -125, 3, 0, 18, 2, 37, -269, 3, 0, 17, 2, 41, 2, 8, 2, 18, 2, 0, 2, 8, 2, 18, 2, 54, 2, 0, 2, 25, 2, 78, 2, 135, 2, 25, -21, 3, 0, 2, -4, 3, 0, 2, 0, 67583, -1, 2, 104, -2, 0, 11, 3, 0, 191, 2, 50, 3, 0, 38, 2, 30, -1, 2, 34, -278, 2, 136, 3, 0, 9, 2, 137, 2, 138, 2, 51, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 139, 2, 140, -187, 3, 0, 2, 2, 52, 2, 0, 2, 141, 2, 142, 2, 56, 2, 0, 2, 143, 2, 144, 2, 145, 3, 0, 10, 2, 146, 2, 147, 2, 22, 3, 52, 2, 3, 148, 2, 3, 53, 2, 2, 149, -57, 2, 8, 2, 150, -7, 2, 18, 2, 0, 2, 54, -4, 2, 0, 0, 1065361407, 0, 16384, -9, 2, 18, 2, 54, 2, 0, 2, 128, -14, 2, 18, 2, 128, -23, 2, 151, 3, 0, 6, 2, 123, -1, 3, 0, 2, 0, 2063, -37, 2, 56, 2, 152, 2, 153, 2, 154, 2, 155, 2, 156, -138, 3, 0, 1335, -1, 3, 0, 129, 2, 32, 3, 0, 6, 2, 10, 3, 0, 180, 2, 157, 3, 0, 233, 2, 158, 3, 0, 18, 2, 10, -77, 3, 0, 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 130, 2, 25, -28386, 2, 0, 0, 1, -1, 2, 129, 2, 0, 0, 8193, -21, 2, 198, 0, 10255, 0, 4, -11, 2, 64, 2, 179, -1, 0, 71680, -1, 2, 171, 0, 4292900864, 0, 268435519, -5, 2, 159, -1, 2, 169, -1, 0, 6144, -2, 2, 45, -1, 2, 163, -1, 0, 2147532800, 2, 160, 2, 166, 0, 16744448, -2, 0, 4, -4, 2, 194, 0, 205128192, 0, 1333757536, 0, 2147483696, 0, 423953, 0, 747766272, 0, 2717763192, 0, 4286578751, 0, 278545, 2, 161, 0, 4294886464, 0, 33292336, 0, 417809, 2, 161, 0, 1327482464, 0, 4278190128, 0, 700594195, 0, 1006647527, 0, 4286497336, 0, 4160749631, 2, 162, 0, 201327104, 0, 3634348576, 0, 8323120, 2, 162, 0, 202375680, 0, 2678047264, 0, 4293984304, 2, 162, -1, 0, 983584, 0, 48, 0, 58720273, 0, 3489923072, 0, 10517376, 0, 4293066815, 0, 1, 0, 2013265920, 2, 182, 2, 0, 0, 2089, 0, 3221225552, 0, 201359520, 2, 0, -2, 0, 256, 0, 122880, 0, 16777216, 2, 159, 0, 4160757760, 2, 0, -6, 2, 176, -11, 0, 3263218176, -1, 0, 49664, 0, 2160197632, 0, 8388802, -1, 0, 12713984, -1, 2, 163, 2, 164, 2, 183, -2, 2, 172, -20, 0, 3758096385, -2, 2, 165, 2, 191, 2, 91, 2, 177, 0, 4294057984, -2, 2, 173, 2, 168, 0, 4227874816, -2, 2, 165, -1, 2, 166, -1, 2, 178, 2, 129, 0, 4026593280, 0, 14, 0, 4292919296, -1, 2, 175, 0, 939588608, -1, 0, 805306368, -1, 2, 129, 2, 167, 2, 168, 2, 169, 2, 207, 2, 0, -2, 2, 170, 2, 129, -3, 0, 267386880, -1, 0, 117440512, 0, 7168, -1, 2, 210, 2, 163, 2, 171, 2, 184, -16, 2, 172, -1, 0, 1426112704, 2, 173, -1, 2, 192, 0, 271581216, 0, 2149777408, 2, 25, 2, 171, 2, 129, 0, 851967, 2, 185, -1, 2, 174, 2, 186, -4, 2, 175, -20, 2, 197, 2, 204, -56, 0, 3145728, 2, 187, -10, 0, 32505856, -1, 2, 176, -1, 0, 2147385088, 2, 91, 1, 2155905152, 2, -3, 2, 173, 2, 0, 0, 67108864, -2, 2, 177, -6, 2, 178, 2, 25, 0, 1, -1, 0, 1, -1, 2, 179, -3, 2, 123, 2, 64, -2, 2, 97, -2, 0, 32752, 2, 129, -915, 2, 170, -1, 2, 203, -10, 2, 190, -5, 2, 181, -6, 0, 4229232640, 2, 19, -1, 2, 180, -1, 2, 181, -2, 0, 4227874752, -3, 0, 2146435072, 2, 164, -2, 0, 1006649344, 2, 129, -1, 2, 91, 0, 201375744, -3, 0, 134217720, 2, 91, 0, 4286677377, 0, 32896, -1, 2, 175, -3, 0, 4227907584, -349, 0, 65520, 0, 1920, 2, 182, 3, 0, 264, -11, 2, 169, -2, 2, 183, 2, 0, 0, 520617856, 0, 2692743168, 0, 36, -3, 0, 524280, -13, 2, 189, -1, 0, 4294934272, 2, 25, 2, 183, -1, 2, 213, 0, 2158720, -3, 2, 164, 0, 1, -4, 2, 129, 0, 3808625411, 0, 3489628288, 0, 4096, 0, 1207959680, 0, 3221274624, 2, 0, -3, 2, 184, 0, 120, 0, 7340032, -2, 2, 185, 2, 4, 2, 25, 2, 173, 3, 0, 4, 2, 164, -1, 2, 186, 2, 182, -1, 0, 8176, 2, 166, 2, 184, 2, 211, -1, 0, 4290773232, 2, 0, -4, 2, 173, 2, 193, 0, 15728640, 2, 182, -1, 2, 171, -1, 0, 134250480, 0, 4720640, 0, 3825467396, 3, 0, 2, -9, 2, 91, 2, 178, 0, 4294967040, 2, 133, 0, 4160880640, 3, 0, 2, 0, 704, 0, 1849688064, 2, 187, -1, 2, 129, 0, 4294901887, 2, 0, 0, 130547712, 0, 1879048192, 2, 208, 3, 0, 2, -1, 2, 188, 2, 189, -1, 0, 17829776, 0, 2025848832, 2, 212, -2, 2, 0, -1, 0, 4286580608, -1, 0, 29360128, 2, 196, 0, 16252928, 0, 3791388672, 2, 39, 3, 0, 2, -2, 2, 202, 2, 0, -1, 2, 104, -1, 0, 66584576, -1, 2, 195, 3, 0, 9, 2, 129, -1, 0, 4294755328, 2, 0, 2, 20, -1, 2, 171, 2, 183, 2, 25, 2, 95, 2, 25, 2, 190, 2, 91, -2, 0, 245760, 2, 191, -1, 2, 159, 2, 199, 0, 4227923456, -1, 2, 192, 2, 171, 2, 91, -3, 0, 4292870145, 0, 262144, -1, 2, 92, 2, 0, 0, 1073758848, 2, 193, -1, 0, 4227921920, 2, 194, 0, 68289024, 0, 528402016, 0, 4292927536, 3, 0, 4, -2, 0, 268435456, 2, 92, -2, 2, 195, 3, 0, 5, -1, 2, 196, 2, 173, 2, 0, -2, 0, 4227923936, 2, 62, -1, 2, 183, 2, 95, 2, 0, 2, 163, 2, 175, 2, 197, 3, 0, 5, -1, 2, 182, 3, 0, 3, -2, 0, 2146959360, 0, 9440640, 0, 104857600, 0, 4227923840, 3, 0, 2, 0, 768, 2, 198, 2, 28, -2, 2, 171, -2, 2, 199, -1, 2, 165, 2, 95, 3, 0, 7, 0, 512, 0, 8388608, 2, 200, 2, 170, 2, 189, 0, 4286578944, 3, 0, 2, 0, 1152, 0, 1266679808, 2, 195, 0, 576, 0, 4261707776, 2, 95, 3, 0, 9, 2, 165, 0, 131072, 0, 939524096, 2, 183, 3, 0, 2, 2, 16, -1, 0, 2147221504, -28, 2, 183, 3, 0, 3, -3, 0, 4292902912, -6, 2, 96, 3, 0, 81, 2, 25, -2, 2, 104, -33, 2, 18, 2, 178, 3, 0, 125, -18, 2, 197, 3, 0, 269, -17, 2, 165, 2, 129, 2, 201, -1, 2, 129, 2, 193, 0, 4290822144, -2, 0, 67174336, 0, 520093700, 2, 18, 3, 0, 21, -2, 2, 184, 3, 0, 3, -2, 0, 30720, -1, 0, 32512, 3, 0, 2, 0, 4294770656, -191, 2, 181, -38, 2, 178, 2, 0, 2, 202, 3, 0, 278, 0, 2417033215, -9, 0, 4294705144, 0, 4292411391, 0, 65295, -11, 2, 182, 3, 0, 72, -3, 0, 3758159872, 0, 201391616, 3, 0, 147, -1, 2, 169, 2, 203, -3, 2, 96, 2, 0, -7, 2, 178, -1, 0, 384, -1, 0, 133693440, -3, 2, 204, -2, 2, 107, 3, 0, 3, 3, 177, 2, -2, 2, 91, 2, 165, 3, 0, 4, -2, 2, 192, -1, 2, 159, 0, 335552923, 2, 205, -1, 0, 538974272, 0, 2214592512, 0, 132000, -10, 0, 192, -8, 2, 206, -21, 0, 134213632, 2, 158, 3, 0, 34, 2, 129, 0, 4294965279, 3, 0, 6, 0, 100663424, 0, 63524, -1, 2, 209, 2, 148, 3, 0, 3, -1, 0, 3221282816, 0, 4294917120, 3, 0, 9, 2, 25, 2, 207, -1, 2, 208, 3, 0, 14, 2, 25, 2, 183, 3, 0, 23, 0, 2147520640, -6, 0, 4286578784, 2, 0, -2, 0, 1006694400, 3, 0, 24, 2, 36, -1, 0, 4292870144, 3, 0, 2, 0, 1, 2, 173, 3, 0, 6, 2, 205, 0, 4110942569, 0, 1432950139, 0, 2701658217, 0, 4026532864, 0, 4026532881, 2, 0, 2, 46, 3, 0, 8, -1, 2, 175, -2, 2, 177, 0, 98304, 0, 65537, 2, 178, -5, 2, 209, 2, 0, 2, 77, 2, 199, 2, 182, 0, 4294770176, 2, 107, 3, 0, 4, -30, 2, 188, 0, 3758153728, -3, 0, 125829120, -2, 2, 183, 0, 4294897664, 2, 175, -1, 2, 195, -1, 2, 171, 0, 4294754304, 3, 0, 2, -10, 2, 177, 0, 3758145536, 2, 210, 2, 211, 0, 4026548160, 2, 212, -4, 2, 213, -1, 2, 204, 0, 4227923967, 3, 0, 32, -1335, 2, 0, -129, 2, 183, -6, 2, 173, -180, 0, 65532, -233, 2, 174, -18, 2, 173, 3, 0, 77, -16, 2, 173, 3, 0, 47, -154, 2, 166, -130, 2, 18, 3, 0, 22250, -7, 2, 18, 3, 0, 6128], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 4294903807, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4294901759, 32767, 4294901760, 262143, 536870911, 8388607, 4160749567, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967264, 2097151, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 127, 3238002687, 4294902271, 4294549487, 33554431, 1023, 4294901888, 4286578687, 4294705152, 4294770687, 67043583, 2047999, 67043343, 16777215, 4294902000, 4292870143, 4294966783, 16383, 67047423, 4294967279, 262083, 20511, 4290772991, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 63, 15, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 65734655, 4294966272, 4294967280, 32768, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 4294967232, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4160684047, 4290246655, 469499899, 4294967231, 134086655, 4294966591, 2445279231, 3670015, 31, 4294967288, 4294705151, 3221208447, 4294549472, 4095, 2147483648, 4285526655, 4294966527, 4294966143, 64, 4294966719, 3774873592, 1877934080, 262151, 2555904, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4294934527, 4087, 2016, 2147446655, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901763, 4294901761, 536870912, 2952790016, 202506752, 139264, 402653184, 3758096384, 4261412864, 63488, 1610612736, 4227922944, 49152, 57344, 65280, 3233808384, 3221225472, 65534, 61440, 57152, 4293918720, 4290772992, 25165824, 4227915776, 4278190080, 4026531840, 4227858432, 4160749568, 3758129152, 4294836224, 4194304, 251658240, 196608, 4294963200, 2143289344, 2097152, 64512, 417808, 4227923712, 12582912, 4294967168, 50331648, 65528, 65472, 15360, 4294966784, 65408, 4294965248, 16, 12288, 4294934528, 2080374784, 4294950912, 65024, 1073741824, 4261477888, 524288]);\n\nfunction advanceChar(parser) {\r\n parser.column++;\r\n return (parser.currentChar = parser.source.charCodeAt(++parser.index));\r\n}\r\nfunction consumeMultiUnitCodePoint(parser, hi) {\r\n if ((hi & 0xfc00) !== 55296)\r\n return 0;\r\n const lo = parser.source.charCodeAt(parser.index + 1);\r\n if ((lo & 0xfc00) !== 0xdc00)\r\n return 0;\r\n hi = parser.currentChar = 65536 + ((hi & 0x3ff) << 10) + (lo & 0x3ff);\r\n if (((unicodeLookup[(hi >>> 5) + 0] >>> hi) & 31 & 1) === 0) {\r\n report(parser, 18, fromCodePoint(hi));\r\n }\r\n parser.index++;\r\n parser.column++;\r\n return 1;\r\n}\r\nfunction consumeLineFeed(parser, state) {\r\n parser.currentChar = parser.source.charCodeAt(++parser.index);\r\n parser.flags |= 1;\r\n if ((state & 4) === 0) {\r\n parser.column = 0;\r\n parser.line++;\r\n }\r\n}\r\nfunction scanNewLine(parser) {\r\n parser.flags |= 1;\r\n parser.currentChar = parser.source.charCodeAt(++parser.index);\r\n parser.column = 0;\r\n parser.line++;\r\n}\r\nfunction isExoticECMAScriptWhitespace(ch) {\r\n return (ch === 160 ||\r\n ch === 65279 ||\r\n ch === 133 ||\r\n ch === 5760 ||\r\n (ch >= 8192 && ch <= 8203) ||\r\n ch === 8239 ||\r\n ch === 8287 ||\r\n ch === 12288 ||\r\n ch === 8201 ||\r\n ch === 65519);\r\n}\r\nfunction fromCodePoint(codePoint) {\r\n return codePoint <= 65535\r\n ? String.fromCharCode(codePoint)\r\n : String.fromCharCode(codePoint >>> 10) + String.fromCharCode(codePoint & 0x3ff);\r\n}\r\nfunction toHex(code) {\r\n return code < 65 ? code - 48 : (code - 65 + 10) & 0xf;\r\n}\r\nfunction convertTokenType(t) {\r\n switch (t) {\r\n case 134283266:\r\n return 'NumericLiteral';\r\n case 134283267:\r\n return 'StringLiteral';\r\n case 86021:\r\n case 86022:\r\n return 'BooleanLiteral';\r\n case 86023:\r\n return 'NullLiteral';\r\n case 65540:\r\n return 'RegularExpression';\r\n case 67174408:\r\n case 67174409:\r\n case 132:\r\n return 'TemplateLiteral';\r\n default:\r\n if ((t & 143360) === 143360)\r\n return 'Identifier';\r\n if ((t & 4096) === 4096)\r\n return 'Keyword';\r\n return 'Punctuator';\r\n }\r\n}\n\nconst CharTypes = [\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 8 | 1024,\r\n 0,\r\n 0,\r\n 8 | 2048,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 8192,\r\n 0,\r\n 1 | 2,\r\n 0,\r\n 0,\r\n 8192,\r\n 0,\r\n 0,\r\n 0,\r\n 256,\r\n 0,\r\n 256 | 32768,\r\n 0,\r\n 0,\r\n 2 | 16 | 128 | 32 | 64,\r\n 2 | 16 | 128 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 32 | 64,\r\n 2 | 16 | 512 | 64,\r\n 2 | 16 | 512 | 64,\r\n 0,\r\n 0,\r\n 16384,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2 | 64,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 1 | 2,\r\n 0,\r\n 1,\r\n 0,\r\n 0,\r\n 1 | 2 | 4096,\r\n 0,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4 | 64,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 1 | 2 | 4,\r\n 16384,\r\n 0,\r\n 0,\r\n 0,\r\n 0\r\n];\r\nconst isIdStart = [\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0\r\n];\r\nconst isIdPart = [\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n 0,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0\r\n];\r\nfunction isIdentifierStart(code) {\r\n return code <= 0x7F\r\n ? isIdStart[code]\r\n : (unicodeLookup[(code >>> 5) + 34816] >>> code) & 31 & 1;\r\n}\r\nfunction isIdentifierPart(code) {\r\n return code <= 0x7F\r\n ? isIdPart[code]\r\n : (unicodeLookup[(code >>> 5) + 0] >>> code) & 31 & 1 || (code === 8204 || code === 8205);\r\n}\n\nconst CommentTypes = ['SingleLine', 'MultiLine', 'HTMLOpen', 'HTMLClose', 'HashbangComment'];\r\nfunction skipHashBang(parser) {\r\n const source = parser.source;\r\n if (parser.currentChar === 35 && source.charCodeAt(parser.index + 1) === 33) {\r\n advanceChar(parser);\r\n advanceChar(parser);\r\n skipSingleLineComment(parser, source, 0, 4, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n}\r\nfunction skipSingleHTMLComment(parser, source, state, context, type, start, line, column) {\r\n if (context & 2048)\r\n report(parser, 0);\r\n return skipSingleLineComment(parser, source, state, type, start, line, column);\r\n}\r\nfunction skipSingleLineComment(parser, source, state, type, start, line, column) {\r\n const { index } = parser;\r\n parser.tokenPos = parser.index;\r\n parser.linePos = parser.line;\r\n parser.colPos = parser.column;\r\n while (parser.index < parser.end) {\r\n if (CharTypes[parser.currentChar] & 8) {\r\n const isCR = parser.currentChar === 13;\r\n scanNewLine(parser);\r\n if (isCR && parser.index < parser.end && parser.currentChar === 10)\r\n parser.currentChar = source.charCodeAt(++parser.index);\r\n break;\r\n }\r\n else if ((parser.currentChar ^ 8232) <= 1) {\r\n scanNewLine(parser);\r\n break;\r\n }\r\n advanceChar(parser);\r\n parser.tokenPos = parser.index;\r\n parser.linePos = parser.line;\r\n parser.colPos = parser.column;\r\n }\r\n if (parser.onComment) {\r\n const loc = {\r\n start: {\r\n line,\r\n column\r\n },\r\n end: {\r\n line: parser.linePos,\r\n column: parser.colPos\r\n }\r\n };\r\n parser.onComment(CommentTypes[type & 0xff], source.slice(index, parser.tokenPos), start, parser.tokenPos, loc);\r\n }\r\n return state | 1;\r\n}\r\nfunction skipMultiLineComment(parser, source, state) {\r\n const { index } = parser;\r\n while (parser.index < parser.end) {\r\n if (parser.currentChar < 0x2b) {\r\n let skippedOneAsterisk = false;\r\n while (parser.currentChar === 42) {\r\n if (!skippedOneAsterisk) {\r\n state &= ~4;\r\n skippedOneAsterisk = true;\r\n }\r\n if (advanceChar(parser) === 47) {\r\n advanceChar(parser);\r\n if (parser.onComment) {\r\n const loc = {\r\n start: {\r\n line: parser.linePos,\r\n column: parser.colPos\r\n },\r\n end: {\r\n line: parser.line,\r\n column: parser.column\r\n }\r\n };\r\n parser.onComment(CommentTypes[1 & 0xff], source.slice(index, parser.index - 2), index - 2, parser.index, loc);\r\n }\r\n parser.tokenPos = parser.index;\r\n parser.linePos = parser.line;\r\n parser.colPos = parser.column;\r\n return state;\r\n }\r\n }\r\n if (skippedOneAsterisk) {\r\n continue;\r\n }\r\n if (CharTypes[parser.currentChar] & 8) {\r\n if (parser.currentChar === 13) {\r\n state |= 1 | 4;\r\n scanNewLine(parser);\r\n }\r\n else {\r\n consumeLineFeed(parser, state);\r\n state = (state & ~4) | 1;\r\n }\r\n }\r\n else {\r\n advanceChar(parser);\r\n }\r\n }\r\n else if ((parser.currentChar ^ 8232) <= 1) {\r\n state = (state & ~4) | 1;\r\n scanNewLine(parser);\r\n }\r\n else {\r\n state &= ~4;\r\n advanceChar(parser);\r\n }\r\n }\r\n report(parser, 16);\r\n}\n\nfunction scanRegularExpression(parser, context) {\r\n const bodyStart = parser.index;\r\n let preparseState = 0;\r\n loop: while (true) {\r\n const ch = parser.currentChar;\r\n advanceChar(parser);\r\n if (preparseState & 1) {\r\n preparseState &= ~1;\r\n }\r\n else {\r\n switch (ch) {\r\n case 47:\r\n if (!preparseState)\r\n break loop;\r\n else\r\n break;\r\n case 92:\r\n preparseState |= 1;\r\n break;\r\n case 91:\r\n preparseState |= 2;\r\n break;\r\n case 93:\r\n preparseState &= 1;\r\n break;\r\n case 13:\r\n case 10:\r\n case 8232:\r\n case 8233:\r\n report(parser, 32);\r\n }\r\n }\r\n if (parser.index >= parser.source.length) {\r\n return report(parser, 32);\r\n }\r\n }\r\n const bodyEnd = parser.index - 1;\r\n let mask = 0;\r\n let char = parser.currentChar;\r\n const { index: flagStart } = parser;\r\n while (isIdentifierPart(char)) {\r\n switch (char) {\r\n case 103:\r\n if (mask & 2)\r\n report(parser, 34, 'g');\r\n mask |= 2;\r\n break;\r\n case 105:\r\n if (mask & 1)\r\n report(parser, 34, 'i');\r\n mask |= 1;\r\n break;\r\n case 109:\r\n if (mask & 4)\r\n report(parser, 34, 'm');\r\n mask |= 4;\r\n break;\r\n case 117:\r\n if (mask & 16)\r\n report(parser, 34, 'u');\r\n mask |= 16;\r\n break;\r\n case 121:\r\n if (mask & 8)\r\n report(parser, 34, 'y');\r\n mask |= 8;\r\n break;\r\n case 115:\r\n if (mask & 32)\r\n report(parser, 34, 's');\r\n mask |= 32;\r\n break;\r\n case 100:\r\n if (mask & 64)\r\n report(parser, 34, 'd');\r\n mask |= 64;\r\n break;\r\n default:\r\n report(parser, 33);\r\n }\r\n char = advanceChar(parser);\r\n }\r\n const flags = parser.source.slice(flagStart, parser.index);\r\n const pattern = parser.source.slice(bodyStart, bodyEnd);\r\n parser.tokenRegExp = { pattern, flags };\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n parser.tokenValue = validate(parser, pattern, flags);\r\n return 65540;\r\n}\r\nfunction validate(parser, pattern, flags) {\r\n try {\r\n return new RegExp(pattern, flags);\r\n }\r\n catch (e) {\r\n try {\r\n new RegExp(pattern, flags.replace('d', ''));\r\n return null;\r\n }\r\n catch (e) {\r\n report(parser, 32);\r\n }\r\n }\r\n}\n\nfunction scanString(parser, context, quote) {\r\n const { index: start } = parser;\r\n let ret = '';\r\n let char = advanceChar(parser);\r\n let marker = parser.index;\r\n while ((CharTypes[char] & 8) === 0) {\r\n if (char === quote) {\r\n ret += parser.source.slice(marker, parser.index);\r\n advanceChar(parser);\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(start, parser.index);\r\n parser.tokenValue = ret;\r\n return 134283267;\r\n }\r\n if ((char & 8) === 8 && char === 92) {\r\n ret += parser.source.slice(marker, parser.index);\r\n char = advanceChar(parser);\r\n if (char < 0x7f || char === 8232 || char === 8233) {\r\n const code = parseEscape(parser, context, char);\r\n if (code >= 0)\r\n ret += fromCodePoint(code);\r\n else\r\n handleStringError(parser, code, 0);\r\n }\r\n else {\r\n ret += fromCodePoint(char);\r\n }\r\n marker = parser.index + 1;\r\n }\r\n if (parser.index >= parser.end)\r\n report(parser, 14);\r\n char = advanceChar(parser);\r\n }\r\n report(parser, 14);\r\n}\r\nfunction parseEscape(parser, context, first) {\r\n switch (first) {\r\n case 98:\r\n return 8;\r\n case 102:\r\n return 12;\r\n case 114:\r\n return 13;\r\n case 110:\r\n return 10;\r\n case 116:\r\n return 9;\r\n case 118:\r\n return 11;\r\n case 13: {\r\n if (parser.index < parser.end) {\r\n const nextChar = parser.source.charCodeAt(parser.index + 1);\r\n if (nextChar === 10) {\r\n parser.index = parser.index + 1;\r\n parser.currentChar = nextChar;\r\n }\r\n }\r\n }\r\n case 10:\r\n case 8232:\r\n case 8233:\r\n parser.column = -1;\r\n parser.line++;\r\n return -1;\r\n case 48:\r\n case 49:\r\n case 50:\r\n case 51: {\r\n let code = first - 48;\r\n let index = parser.index + 1;\r\n let column = parser.column + 1;\r\n if (index < parser.end) {\r\n const next = parser.source.charCodeAt(index);\r\n if ((CharTypes[next] & 32) === 0) {\r\n if ((code !== 0 || CharTypes[next] & 512) && context & 1024)\r\n return -2;\r\n }\r\n else if (context & 1024) {\r\n return -2;\r\n }\r\n else {\r\n parser.currentChar = next;\r\n code = (code << 3) | (next - 48);\r\n index++;\r\n column++;\r\n if (index < parser.end) {\r\n const next = parser.source.charCodeAt(index);\r\n if (CharTypes[next] & 32) {\r\n parser.currentChar = next;\r\n code = (code << 3) | (next - 48);\r\n index++;\r\n column++;\r\n }\r\n }\r\n parser.flags |= 64;\r\n parser.index = index - 1;\r\n parser.column = column - 1;\r\n }\r\n }\r\n return code;\r\n }\r\n case 52:\r\n case 53:\r\n case 54:\r\n case 55: {\r\n if (context & 1024)\r\n return -2;\r\n let code = first - 48;\r\n const index = parser.index + 1;\r\n const column = parser.column + 1;\r\n if (index < parser.end) {\r\n const next = parser.source.charCodeAt(index);\r\n if (CharTypes[next] & 32) {\r\n code = (code << 3) | (next - 48);\r\n parser.currentChar = next;\r\n parser.index = index;\r\n parser.column = column;\r\n }\r\n }\r\n parser.flags |= 64;\r\n return code;\r\n }\r\n case 120: {\r\n const ch1 = advanceChar(parser);\r\n if ((CharTypes[ch1] & 64) === 0)\r\n return -4;\r\n const hi = toHex(ch1);\r\n const ch2 = advanceChar(parser);\r\n if ((CharTypes[ch2] & 64) === 0)\r\n return -4;\r\n const lo = toHex(ch2);\r\n return (hi << 4) | lo;\r\n }\r\n case 117: {\r\n const ch = advanceChar(parser);\r\n if (parser.currentChar === 123) {\r\n let code = 0;\r\n while ((CharTypes[advanceChar(parser)] & 64) !== 0) {\r\n code = (code << 4) | toHex(parser.currentChar);\r\n if (code > 1114111)\r\n return -5;\r\n }\r\n if (parser.currentChar < 1 || parser.currentChar !== 125) {\r\n return -4;\r\n }\r\n return code;\r\n }\r\n else {\r\n if ((CharTypes[ch] & 64) === 0)\r\n return -4;\r\n const ch2 = parser.source.charCodeAt(parser.index + 1);\r\n if ((CharTypes[ch2] & 64) === 0)\r\n return -4;\r\n const ch3 = parser.source.charCodeAt(parser.index + 2);\r\n if ((CharTypes[ch3] & 64) === 0)\r\n return -4;\r\n const ch4 = parser.source.charCodeAt(parser.index + 3);\r\n if ((CharTypes[ch4] & 64) === 0)\r\n return -4;\r\n parser.index += 3;\r\n parser.column += 3;\r\n parser.currentChar = parser.source.charCodeAt(parser.index);\r\n return (toHex(ch) << 12) | (toHex(ch2) << 8) | (toHex(ch3) << 4) | toHex(ch4);\r\n }\r\n }\r\n case 56:\r\n case 57:\r\n if ((context & 256) === 0)\r\n return -3;\r\n default:\r\n return first;\r\n }\r\n}\r\nfunction handleStringError(state, code, isTemplate) {\r\n switch (code) {\r\n case -1:\r\n return;\r\n case -2:\r\n report(state, isTemplate ? 2 : 1);\r\n case -3:\r\n report(state, 13);\r\n case -4:\r\n report(state, 6);\r\n case -5:\r\n report(state, 102);\r\n }\r\n}\n\nfunction scanTemplate(parser, context) {\r\n const { index: start } = parser;\r\n let token = 67174409;\r\n let ret = '';\r\n let char = advanceChar(parser);\r\n while (char !== 96) {\r\n if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) {\r\n advanceChar(parser);\r\n token = 67174408;\r\n break;\r\n }\r\n else if ((char & 8) === 8 && char === 92) {\r\n char = advanceChar(parser);\r\n if (char > 0x7e) {\r\n ret += fromCodePoint(char);\r\n }\r\n else {\r\n const code = parseEscape(parser, context | 1024, char);\r\n if (code >= 0) {\r\n ret += fromCodePoint(code);\r\n }\r\n else if (code !== -1 && context & 65536) {\r\n ret = undefined;\r\n char = scanBadTemplate(parser, char);\r\n if (char < 0)\r\n token = 67174408;\r\n break;\r\n }\r\n else {\r\n handleStringError(parser, code, 1);\r\n }\r\n }\r\n }\r\n else {\r\n if (parser.index < parser.end &&\r\n char === 13 &&\r\n parser.source.charCodeAt(parser.index) === 10) {\r\n ret += fromCodePoint(char);\r\n parser.currentChar = parser.source.charCodeAt(++parser.index);\r\n }\r\n if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) {\r\n parser.column = -1;\r\n parser.line++;\r\n }\r\n ret += fromCodePoint(char);\r\n }\r\n if (parser.index >= parser.end)\r\n report(parser, 15);\r\n char = advanceChar(parser);\r\n }\r\n advanceChar(parser);\r\n parser.tokenValue = ret;\r\n parser.tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2));\r\n return token;\r\n}\r\nfunction scanBadTemplate(parser, ch) {\r\n while (ch !== 96) {\r\n switch (ch) {\r\n case 36: {\r\n const index = parser.index + 1;\r\n if (index < parser.end && parser.source.charCodeAt(index) === 123) {\r\n parser.index = index;\r\n parser.column++;\r\n return -ch;\r\n }\r\n break;\r\n }\r\n case 10:\r\n case 8232:\r\n case 8233:\r\n parser.column = -1;\r\n parser.line++;\r\n }\r\n if (parser.index >= parser.end)\r\n report(parser, 15);\r\n ch = advanceChar(parser);\r\n }\r\n return ch;\r\n}\r\nfunction scanTemplateTail(parser, context) {\r\n if (parser.index >= parser.end)\r\n report(parser, 0);\r\n parser.index--;\r\n parser.column--;\r\n return scanTemplate(parser, context);\r\n}\n\nfunction scanNumber(parser, context, kind) {\r\n let char = parser.currentChar;\r\n let value = 0;\r\n let digit = 9;\r\n let atStart = kind & 64 ? 0 : 1;\r\n let digits = 0;\r\n let allowSeparator = 0;\r\n if (kind & 64) {\r\n value = '.' + scanDecimalDigitsOrSeparator(parser, char);\r\n char = parser.currentChar;\r\n if (char === 110)\r\n report(parser, 11);\r\n }\r\n else {\r\n if (char === 48) {\r\n char = advanceChar(parser);\r\n if ((char | 32) === 120) {\r\n kind = 8 | 128;\r\n char = advanceChar(parser);\r\n while (CharTypes[char] & (64 | 4096)) {\r\n if (char === 95) {\r\n if (!allowSeparator)\r\n report(parser, 147);\r\n allowSeparator = 0;\r\n char = advanceChar(parser);\r\n continue;\r\n }\r\n allowSeparator = 1;\r\n value = value * 0x10 + toHex(char);\r\n digits++;\r\n char = advanceChar(parser);\r\n }\r\n if (digits === 0 || !allowSeparator) {\r\n report(parser, digits === 0 ? 19 : 148);\r\n }\r\n }\r\n else if ((char | 32) === 111) {\r\n kind = 4 | 128;\r\n char = advanceChar(parser);\r\n while (CharTypes[char] & (32 | 4096)) {\r\n if (char === 95) {\r\n if (!allowSeparator) {\r\n report(parser, 147);\r\n }\r\n allowSeparator = 0;\r\n char = advanceChar(parser);\r\n continue;\r\n }\r\n allowSeparator = 1;\r\n value = value * 8 + (char - 48);\r\n digits++;\r\n char = advanceChar(parser);\r\n }\r\n if (digits === 0 || !allowSeparator) {\r\n report(parser, digits === 0 ? 0 : 148);\r\n }\r\n }\r\n else if ((char | 32) === 98) {\r\n kind = 2 | 128;\r\n char = advanceChar(parser);\r\n while (CharTypes[char] & (128 | 4096)) {\r\n if (char === 95) {\r\n if (!allowSeparator) {\r\n report(parser, 147);\r\n }\r\n allowSeparator = 0;\r\n char = advanceChar(parser);\r\n continue;\r\n }\r\n allowSeparator = 1;\r\n value = value * 2 + (char - 48);\r\n digits++;\r\n char = advanceChar(parser);\r\n }\r\n if (digits === 0 || !allowSeparator) {\r\n report(parser, digits === 0 ? 0 : 148);\r\n }\r\n }\r\n else if (CharTypes[char] & 32) {\r\n if (context & 1024)\r\n report(parser, 1);\r\n kind = 1;\r\n while (CharTypes[char] & 16) {\r\n if (CharTypes[char] & 512) {\r\n kind = 32;\r\n atStart = 0;\r\n break;\r\n }\r\n value = value * 8 + (char - 48);\r\n char = advanceChar(parser);\r\n }\r\n }\r\n else if (CharTypes[char] & 512) {\r\n if (context & 1024)\r\n report(parser, 1);\r\n parser.flags |= 64;\r\n kind = 32;\r\n }\r\n else if (char === 95) {\r\n report(parser, 0);\r\n }\r\n }\r\n if (kind & 48) {\r\n if (atStart) {\r\n while (digit >= 0 && CharTypes[char] & (16 | 4096)) {\r\n if (char === 95) {\r\n char = advanceChar(parser);\r\n if (char === 95 || kind & 32) {\r\n reportScannerError(parser.index, parser.line, parser.index + 1, 147);\r\n }\r\n allowSeparator = 1;\r\n continue;\r\n }\r\n allowSeparator = 0;\r\n value = 10 * value + (char - 48);\r\n char = advanceChar(parser);\r\n --digit;\r\n }\r\n if (allowSeparator) {\r\n reportScannerError(parser.index, parser.line, parser.index + 1, 148);\r\n }\r\n if (digit >= 0 && !isIdentifierStart(char) && char !== 46) {\r\n parser.tokenValue = value;\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n return 134283266;\r\n }\r\n }\r\n value += scanDecimalDigitsOrSeparator(parser, char);\r\n char = parser.currentChar;\r\n if (char === 46) {\r\n if (advanceChar(parser) === 95)\r\n report(parser, 0);\r\n kind = 64;\r\n value += '.' + scanDecimalDigitsOrSeparator(parser, parser.currentChar);\r\n char = parser.currentChar;\r\n }\r\n }\r\n }\r\n const end = parser.index;\r\n let isBigInt = 0;\r\n if (char === 110 && kind & 128) {\r\n isBigInt = 1;\r\n char = advanceChar(parser);\r\n }\r\n else {\r\n if ((char | 32) === 101) {\r\n char = advanceChar(parser);\r\n if (CharTypes[char] & 256)\r\n char = advanceChar(parser);\r\n const { index } = parser;\r\n if ((CharTypes[char] & 16) === 0)\r\n report(parser, 10);\r\n value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char);\r\n char = parser.currentChar;\r\n }\r\n }\r\n if ((parser.index < parser.end && CharTypes[char] & 16) || isIdentifierStart(char)) {\r\n report(parser, 12);\r\n }\r\n if (isBigInt) {\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n parser.tokenValue = BigInt(value);\r\n return 134283389;\r\n }\r\n parser.tokenValue =\r\n kind & (1 | 2 | 8 | 4)\r\n ? value\r\n : kind & 32\r\n ? parseFloat(parser.source.substring(parser.tokenPos, parser.index))\r\n : +value;\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n return 134283266;\r\n}\r\nfunction scanDecimalDigitsOrSeparator(parser, char) {\r\n let allowSeparator = 0;\r\n let start = parser.index;\r\n let ret = '';\r\n while (CharTypes[char] & (16 | 4096)) {\r\n if (char === 95) {\r\n const { index } = parser;\r\n char = advanceChar(parser);\r\n if (char === 95) {\r\n reportScannerError(parser.index, parser.line, parser.index + 1, 147);\r\n }\r\n allowSeparator = 1;\r\n ret += parser.source.substring(start, index);\r\n start = parser.index;\r\n continue;\r\n }\r\n allowSeparator = 0;\r\n char = advanceChar(parser);\r\n }\r\n if (allowSeparator) {\r\n reportScannerError(parser.index, parser.line, parser.index + 1, 148);\r\n }\r\n return ret + parser.source.substring(start, parser.index);\r\n}\n\nconst KeywordDescTable = [\r\n 'end of source',\r\n 'identifier', 'number', 'string', 'regular expression',\r\n 'false', 'true', 'null',\r\n 'template continuation', 'template tail',\r\n '=>', '(', '{', '.', '...', '}', ')', ';', ',', '[', ']', ':', '?', '\\'', '\"', '',\r\n '++', '--',\r\n '=', '<<=', '>>=', '>>>=', '**=', '+=', '-=', '*=', '/=', '%=', '^=', '|=',\r\n '&=', '||=', '&&=', '??=',\r\n 'typeof', 'delete', 'void', '!', '~', '+', '-', 'in', 'instanceof', '*', '%', '/', '**', '&&',\r\n '||', '===', '!==', '==', '!=', '<=', '>=', '<', '>', '<<', '>>', '>>>', '&', '|', '^',\r\n 'var', 'let', 'const',\r\n 'break', 'case', 'catch', 'class', 'continue', 'debugger', 'default', 'do', 'else', 'export',\r\n 'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch',\r\n 'this', 'throw', 'try', 'while', 'with',\r\n 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield',\r\n 'as', 'async', 'await', 'constructor', 'get', 'set', 'from', 'of',\r\n 'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#',\r\n 'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField',\r\n 'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText'\r\n];\r\nconst descKeywordTable = Object.create(null, {\r\n this: { value: 86113 },\r\n function: { value: 86106 },\r\n if: { value: 20571 },\r\n return: { value: 20574 },\r\n var: { value: 86090 },\r\n else: { value: 20565 },\r\n for: { value: 20569 },\r\n new: { value: 86109 },\r\n in: { value: 8738868 },\r\n typeof: { value: 16863277 },\r\n while: { value: 20580 },\r\n case: { value: 20558 },\r\n break: { value: 20557 },\r\n try: { value: 20579 },\r\n catch: { value: 20559 },\r\n delete: { value: 16863278 },\r\n throw: { value: 86114 },\r\n switch: { value: 86112 },\r\n continue: { value: 20561 },\r\n default: { value: 20563 },\r\n instanceof: { value: 8476725 },\r\n do: { value: 20564 },\r\n void: { value: 16863279 },\r\n finally: { value: 20568 },\r\n async: { value: 209007 },\r\n await: { value: 209008 },\r\n class: { value: 86096 },\r\n const: { value: 86092 },\r\n constructor: { value: 12401 },\r\n debugger: { value: 20562 },\r\n export: { value: 20566 },\r\n extends: { value: 20567 },\r\n false: { value: 86021 },\r\n from: { value: 12404 },\r\n get: { value: 12402 },\r\n implements: { value: 36966 },\r\n import: { value: 86108 },\r\n interface: { value: 36967 },\r\n let: { value: 241739 },\r\n null: { value: 86023 },\r\n of: { value: 274549 },\r\n package: { value: 36968 },\r\n private: { value: 36969 },\r\n protected: { value: 36970 },\r\n public: { value: 36971 },\r\n set: { value: 12403 },\r\n static: { value: 36972 },\r\n super: { value: 86111 },\r\n true: { value: 86022 },\r\n with: { value: 20581 },\r\n yield: { value: 241773 },\r\n enum: { value: 86134 },\r\n eval: { value: 537079927 },\r\n as: { value: 77934 },\r\n arguments: { value: 537079928 },\r\n target: { value: 143494 },\r\n meta: { value: 143495 },\r\n});\n\nfunction scanIdentifier(parser, context, isValidAsKeyword) {\r\n while (isIdPart[advanceChar(parser)]) { }\r\n parser.tokenValue = parser.source.slice(parser.tokenPos, parser.index);\r\n return parser.currentChar !== 92 && parser.currentChar <= 0x7e\r\n ? descKeywordTable[parser.tokenValue] || 208897\r\n : scanIdentifierSlowCase(parser, context, 0, isValidAsKeyword);\r\n}\r\nfunction scanUnicodeIdentifier(parser, context) {\r\n const cookedChar = scanIdentifierUnicodeEscape(parser);\r\n if (!isIdentifierPart(cookedChar))\r\n report(parser, 4);\r\n parser.tokenValue = fromCodePoint(cookedChar);\r\n return scanIdentifierSlowCase(parser, context, 1, CharTypes[cookedChar] & 4);\r\n}\r\nfunction scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) {\r\n let start = parser.index;\r\n while (parser.index < parser.end) {\r\n if (parser.currentChar === 92) {\r\n parser.tokenValue += parser.source.slice(start, parser.index);\r\n hasEscape = 1;\r\n const code = scanIdentifierUnicodeEscape(parser);\r\n if (!isIdentifierPart(code))\r\n report(parser, 4);\r\n isValidAsKeyword = isValidAsKeyword && CharTypes[code] & 4;\r\n parser.tokenValue += fromCodePoint(code);\r\n start = parser.index;\r\n }\r\n else if (isIdentifierPart(parser.currentChar) || consumeMultiUnitCodePoint(parser, parser.currentChar)) {\r\n advanceChar(parser);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n if (parser.index <= parser.end) {\r\n parser.tokenValue += parser.source.slice(start, parser.index);\r\n }\r\n const length = parser.tokenValue.length;\r\n if (isValidAsKeyword && length >= 2 && length <= 11) {\r\n const token = descKeywordTable[parser.tokenValue];\r\n if (token === void 0)\r\n return 208897;\r\n if (!hasEscape)\r\n return token;\r\n if (token === 209008) {\r\n if ((context & (2048 | 4194304)) === 0) {\r\n return token;\r\n }\r\n return 121;\r\n }\r\n if (context & 1024) {\r\n if (token === 36972) {\r\n return 122;\r\n }\r\n if ((token & 36864) === 36864) {\r\n return 122;\r\n }\r\n if ((token & 20480) === 20480) {\r\n if (context & 268435456 && (context & 8192) === 0) {\r\n return token;\r\n }\r\n else {\r\n return 121;\r\n }\r\n }\r\n return 143483;\r\n }\r\n if (context & 268435456 &&\r\n (context & 8192) === 0 &&\r\n (token & 20480) === 20480)\r\n return token;\r\n if (token === 241773) {\r\n return context & 268435456\r\n ? 143483\r\n : context & 2097152\r\n ? 121\r\n : token;\r\n }\r\n if (token === 209007) {\r\n return 143483;\r\n }\r\n if ((token & 36864) === 36864) {\r\n return token;\r\n }\r\n return 121;\r\n }\r\n return 208897;\r\n}\r\nfunction scanPrivateIdentifier(parser) {\r\n if (!isIdentifierStart(advanceChar(parser)))\r\n report(parser, 94);\r\n return 131;\r\n}\r\nfunction scanIdentifierUnicodeEscape(parser) {\r\n if (parser.source.charCodeAt(parser.index + 1) !== 117) {\r\n report(parser, 4);\r\n }\r\n parser.currentChar = parser.source.charCodeAt((parser.index += 2));\r\n return scanUnicodeEscape(parser);\r\n}\r\nfunction scanUnicodeEscape(parser) {\r\n let codePoint = 0;\r\n const char = parser.currentChar;\r\n if (char === 123) {\r\n const begin = parser.index - 2;\r\n while (CharTypes[advanceChar(parser)] & 64) {\r\n codePoint = (codePoint << 4) | toHex(parser.currentChar);\r\n if (codePoint > 1114111)\r\n reportScannerError(begin, parser.line, parser.index + 1, 102);\r\n }\r\n if (parser.currentChar !== 125) {\r\n reportScannerError(begin, parser.line, parser.index - 1, 6);\r\n }\r\n advanceChar(parser);\r\n return codePoint;\r\n }\r\n if ((CharTypes[char] & 64) === 0)\r\n report(parser, 6);\r\n const char2 = parser.source.charCodeAt(parser.index + 1);\r\n if ((CharTypes[char2] & 64) === 0)\r\n report(parser, 6);\r\n const char3 = parser.source.charCodeAt(parser.index + 2);\r\n if ((CharTypes[char3] & 64) === 0)\r\n report(parser, 6);\r\n const char4 = parser.source.charCodeAt(parser.index + 3);\r\n if ((CharTypes[char4] & 64) === 0)\r\n report(parser, 6);\r\n codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4);\r\n parser.currentChar = parser.source.charCodeAt((parser.index += 4));\r\n return codePoint;\r\n}\n\nconst TokenLookup = [\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 128,\r\n 136,\r\n 128,\r\n 128,\r\n 130,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 129,\r\n 128,\r\n 16842800,\r\n 134283267,\r\n 131,\r\n 208897,\r\n 8457015,\r\n 8455751,\r\n 134283267,\r\n 67174411,\r\n 16,\r\n 8457014,\r\n 25233970,\r\n 18,\r\n 25233971,\r\n 67108877,\r\n 8457016,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 134283266,\r\n 21,\r\n 1074790417,\r\n 8456258,\r\n 1077936157,\r\n 8456259,\r\n 22,\r\n 133,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 208897,\r\n 69271571,\r\n 137,\r\n 20,\r\n 8455497,\r\n 208897,\r\n 132,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 208897,\r\n 208897,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 4096,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 4096,\r\n 208897,\r\n 4096,\r\n 4096,\r\n 2162700,\r\n 8455240,\r\n 1074790415,\r\n 16842801,\r\n 129\r\n];\r\nfunction nextToken(parser, context) {\r\n parser.flags = (parser.flags | 1) ^ 1;\r\n parser.startPos = parser.index;\r\n parser.startColumn = parser.column;\r\n parser.startLine = parser.line;\r\n parser.token = scanSingleToken(parser, context, 0);\r\n if (parser.onToken && parser.token !== 1048576) {\r\n const loc = {\r\n start: {\r\n line: parser.linePos,\r\n column: parser.colPos\r\n },\r\n end: {\r\n line: parser.line,\r\n column: parser.column\r\n }\r\n };\r\n parser.onToken(convertTokenType(parser.token), parser.tokenPos, parser.index, loc);\r\n }\r\n}\r\nfunction scanSingleToken(parser, context, state) {\r\n const isStartOfLine = parser.index === 0;\r\n const source = parser.source;\r\n let startPos = parser.index;\r\n let startLine = parser.line;\r\n let startColumn = parser.column;\r\n while (parser.index < parser.end) {\r\n parser.tokenPos = parser.index;\r\n parser.colPos = parser.column;\r\n parser.linePos = parser.line;\r\n let char = parser.currentChar;\r\n if (char <= 0x7e) {\r\n const token = TokenLookup[char];\r\n switch (token) {\r\n case 67174411:\r\n case 16:\r\n case 2162700:\r\n case 1074790415:\r\n case 69271571:\r\n case 20:\r\n case 21:\r\n case 1074790417:\r\n case 18:\r\n case 16842801:\r\n case 133:\r\n case 129:\r\n advanceChar(parser);\r\n return token;\r\n case 208897:\r\n return scanIdentifier(parser, context, 0);\r\n case 4096:\r\n return scanIdentifier(parser, context, 1);\r\n case 134283266:\r\n return scanNumber(parser, context, 16 | 128);\r\n case 134283267:\r\n return scanString(parser, context, char);\r\n case 132:\r\n return scanTemplate(parser, context);\r\n case 137:\r\n return scanUnicodeIdentifier(parser, context);\r\n case 131:\r\n return scanPrivateIdentifier(parser);\r\n case 128:\r\n advanceChar(parser);\r\n break;\r\n case 130:\r\n state |= 1 | 4;\r\n scanNewLine(parser);\r\n break;\r\n case 136:\r\n consumeLineFeed(parser, state);\r\n state = (state & ~4) | 1;\r\n break;\r\n case 8456258:\r\n let ch = advanceChar(parser);\r\n if (parser.index < parser.end) {\r\n if (ch === 60) {\r\n if (parser.index < parser.end && advanceChar(parser) === 61) {\r\n advanceChar(parser);\r\n return 4194334;\r\n }\r\n return 8456516;\r\n }\r\n else if (ch === 61) {\r\n advanceChar(parser);\r\n return 8456256;\r\n }\r\n if (ch === 33) {\r\n const index = parser.index + 1;\r\n if (index + 1 < parser.end &&\r\n source.charCodeAt(index) === 45 &&\r\n source.charCodeAt(index + 1) == 45) {\r\n parser.column += 3;\r\n parser.currentChar = source.charCodeAt((parser.index += 3));\r\n state = skipSingleHTMLComment(parser, source, state, context, 2, parser.tokenPos, parser.linePos, parser.colPos);\r\n startPos = parser.tokenPos;\r\n startLine = parser.linePos;\r\n startColumn = parser.colPos;\r\n continue;\r\n }\r\n return 8456258;\r\n }\r\n if (ch === 47) {\r\n if ((context & 16) === 0)\r\n return 8456258;\r\n const index = parser.index + 1;\r\n if (index < parser.end) {\r\n ch = source.charCodeAt(index);\r\n if (ch === 42 || ch === 47)\r\n break;\r\n }\r\n advanceChar(parser);\r\n return 25;\r\n }\r\n }\r\n return 8456258;\r\n case 1077936157: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 61) {\r\n if (advanceChar(parser) === 61) {\r\n advanceChar(parser);\r\n return 8455996;\r\n }\r\n return 8455998;\r\n }\r\n if (ch === 62) {\r\n advanceChar(parser);\r\n return 10;\r\n }\r\n return 1077936157;\r\n }\r\n case 16842800:\r\n if (advanceChar(parser) !== 61) {\r\n return 16842800;\r\n }\r\n if (advanceChar(parser) !== 61) {\r\n return 8455999;\r\n }\r\n advanceChar(parser);\r\n return 8455997;\r\n case 8457015:\r\n if (advanceChar(parser) !== 61)\r\n return 8457015;\r\n advanceChar(parser);\r\n return 4194342;\r\n case 8457014: {\r\n advanceChar(parser);\r\n if (parser.index >= parser.end)\r\n return 8457014;\r\n const ch = parser.currentChar;\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194340;\r\n }\r\n if (ch !== 42)\r\n return 8457014;\r\n if (advanceChar(parser) !== 61)\r\n return 8457273;\r\n advanceChar(parser);\r\n return 4194337;\r\n }\r\n case 8455497:\r\n if (advanceChar(parser) !== 61)\r\n return 8455497;\r\n advanceChar(parser);\r\n return 4194343;\r\n case 25233970: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 43) {\r\n advanceChar(parser);\r\n return 33619995;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194338;\r\n }\r\n return 25233970;\r\n }\r\n case 25233971: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 45) {\r\n advanceChar(parser);\r\n if ((state & 1 || isStartOfLine) && parser.currentChar === 62) {\r\n if ((context & 256) === 0)\r\n report(parser, 109);\r\n advanceChar(parser);\r\n state = skipSingleHTMLComment(parser, source, state, context, 3, startPos, startLine, startColumn);\r\n startPos = parser.tokenPos;\r\n startLine = parser.linePos;\r\n startColumn = parser.colPos;\r\n continue;\r\n }\r\n return 33619996;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194339;\r\n }\r\n return 25233971;\r\n }\r\n case 8457016: {\r\n advanceChar(parser);\r\n if (parser.index < parser.end) {\r\n const ch = parser.currentChar;\r\n if (ch === 47) {\r\n advanceChar(parser);\r\n state = skipSingleLineComment(parser, source, state, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n startPos = parser.tokenPos;\r\n startLine = parser.linePos;\r\n startColumn = parser.colPos;\r\n continue;\r\n }\r\n if (ch === 42) {\r\n advanceChar(parser);\r\n state = skipMultiLineComment(parser, source, state);\r\n startPos = parser.tokenPos;\r\n startLine = parser.linePos;\r\n startColumn = parser.colPos;\r\n continue;\r\n }\r\n if (context & 32768) {\r\n return scanRegularExpression(parser, context);\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4259877;\r\n }\r\n }\r\n return 8457016;\r\n }\r\n case 67108877:\r\n const next = advanceChar(parser);\r\n if (next >= 48 && next <= 57)\r\n return scanNumber(parser, context, 64 | 16);\r\n if (next === 46) {\r\n const index = parser.index + 1;\r\n if (index < parser.end && source.charCodeAt(index) === 46) {\r\n parser.column += 2;\r\n parser.currentChar = source.charCodeAt((parser.index += 2));\r\n return 14;\r\n }\r\n }\r\n return 67108877;\r\n case 8455240: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 124) {\r\n advanceChar(parser);\r\n if (parser.currentChar === 61) {\r\n advanceChar(parser);\r\n return 4194346;\r\n }\r\n return 8979003;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194344;\r\n }\r\n return 8455240;\r\n }\r\n case 8456259: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 8456257;\r\n }\r\n if (ch !== 62)\r\n return 8456259;\r\n advanceChar(parser);\r\n if (parser.index < parser.end) {\r\n const ch = parser.currentChar;\r\n if (ch === 62) {\r\n if (advanceChar(parser) === 61) {\r\n advanceChar(parser);\r\n return 4194336;\r\n }\r\n return 8456518;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194335;\r\n }\r\n }\r\n return 8456517;\r\n }\r\n case 8455751: {\r\n advanceChar(parser);\r\n const ch = parser.currentChar;\r\n if (ch === 38) {\r\n advanceChar(parser);\r\n if (parser.currentChar === 61) {\r\n advanceChar(parser);\r\n return 4194347;\r\n }\r\n return 8979258;\r\n }\r\n if (ch === 61) {\r\n advanceChar(parser);\r\n return 4194345;\r\n }\r\n return 8455751;\r\n }\r\n case 22: {\r\n let ch = advanceChar(parser);\r\n if (ch === 63) {\r\n advanceChar(parser);\r\n if (parser.currentChar === 61) {\r\n advanceChar(parser);\r\n return 4194348;\r\n }\r\n return 276889982;\r\n }\r\n if (ch === 46) {\r\n const index = parser.index + 1;\r\n if (index < parser.end) {\r\n ch = source.charCodeAt(index);\r\n if (!(ch >= 48 && ch <= 57)) {\r\n advanceChar(parser);\r\n return 67108991;\r\n }\r\n }\r\n }\r\n return 22;\r\n }\r\n }\r\n }\r\n else {\r\n if ((char ^ 8232) <= 1) {\r\n state = (state & ~4) | 1;\r\n scanNewLine(parser);\r\n continue;\r\n }\r\n if ((char & 0xfc00) === 0xd800 || ((unicodeLookup[(char >>> 5) + 34816] >>> char) & 31 & 1) !== 0) {\r\n if ((char & 0xfc00) === 0xdc00) {\r\n char = ((char & 0x3ff) << 10) | (char & 0x3ff) | 0x10000;\r\n if (((unicodeLookup[(char >>> 5) + 0] >>> char) & 31 & 1) === 0) {\r\n report(parser, 18, fromCodePoint(char));\r\n }\r\n parser.index++;\r\n parser.currentChar = char;\r\n }\r\n parser.column++;\r\n parser.tokenValue = '';\r\n return scanIdentifierSlowCase(parser, context, 0, 0);\r\n }\r\n if (isExoticECMAScriptWhitespace(char)) {\r\n advanceChar(parser);\r\n continue;\r\n }\r\n report(parser, 18, fromCodePoint(char));\r\n }\r\n }\r\n return 1048576;\r\n}\n\nconst entities = {\r\n AElig: '\\u00C6',\r\n AMP: '\\u0026',\r\n Aacute: '\\u00C1',\r\n Abreve: '\\u0102',\r\n Acirc: '\\u00C2',\r\n Acy: '\\u0410',\r\n Afr: '\\uD835\\uDD04',\r\n Agrave: '\\u00C0',\r\n Alpha: '\\u0391',\r\n Amacr: '\\u0100',\r\n And: '\\u2A53',\r\n Aogon: '\\u0104',\r\n Aopf: '\\uD835\\uDD38',\r\n ApplyFunction: '\\u2061',\r\n Aring: '\\u00C5',\r\n Ascr: '\\uD835\\uDC9C',\r\n Assign: '\\u2254',\r\n Atilde: '\\u00C3',\r\n Auml: '\\u00C4',\r\n Backslash: '\\u2216',\r\n Barv: '\\u2AE7',\r\n Barwed: '\\u2306',\r\n Bcy: '\\u0411',\r\n Because: '\\u2235',\r\n Bernoullis: '\\u212C',\r\n Beta: '\\u0392',\r\n Bfr: '\\uD835\\uDD05',\r\n Bopf: '\\uD835\\uDD39',\r\n Breve: '\\u02D8',\r\n Bscr: '\\u212C',\r\n Bumpeq: '\\u224E',\r\n CHcy: '\\u0427',\r\n COPY: '\\u00A9',\r\n Cacute: '\\u0106',\r\n Cap: '\\u22D2',\r\n CapitalDifferentialD: '\\u2145',\r\n Cayleys: '\\u212D',\r\n Ccaron: '\\u010C',\r\n Ccedil: '\\u00C7',\r\n Ccirc: '\\u0108',\r\n Cconint: '\\u2230',\r\n Cdot: '\\u010A',\r\n Cedilla: '\\u00B8',\r\n CenterDot: '\\u00B7',\r\n Cfr: '\\u212D',\r\n Chi: '\\u03A7',\r\n CircleDot: '\\u2299',\r\n CircleMinus: '\\u2296',\r\n CirclePlus: '\\u2295',\r\n CircleTimes: '\\u2297',\r\n ClockwiseContourIntegral: '\\u2232',\r\n CloseCurlyDoubleQuote: '\\u201D',\r\n CloseCurlyQuote: '\\u2019',\r\n Colon: '\\u2237',\r\n Colone: '\\u2A74',\r\n Congruent: '\\u2261',\r\n Conint: '\\u222F',\r\n ContourIntegral: '\\u222E',\r\n Copf: '\\u2102',\r\n Coproduct: '\\u2210',\r\n CounterClockwiseContourIntegral: '\\u2233',\r\n Cross: '\\u2A2F',\r\n Cscr: '\\uD835\\uDC9E',\r\n Cup: '\\u22D3',\r\n CupCap: '\\u224D',\r\n DD: '\\u2145',\r\n DDotrahd: '\\u2911',\r\n DJcy: '\\u0402',\r\n DScy: '\\u0405',\r\n DZcy: '\\u040F',\r\n Dagger: '\\u2021',\r\n Darr: '\\u21A1',\r\n Dashv: '\\u2AE4',\r\n Dcaron: '\\u010E',\r\n Dcy: '\\u0414',\r\n Del: '\\u2207',\r\n Delta: '\\u0394',\r\n Dfr: '\\uD835\\uDD07',\r\n DiacriticalAcute: '\\u00B4',\r\n DiacriticalDot: '\\u02D9',\r\n DiacriticalDoubleAcute: '\\u02DD',\r\n DiacriticalGrave: '\\u0060',\r\n DiacriticalTilde: '\\u02DC',\r\n Diamond: '\\u22C4',\r\n DifferentialD: '\\u2146',\r\n Dopf: '\\uD835\\uDD3B',\r\n Dot: '\\u00A8',\r\n DotDot: '\\u20DC',\r\n DotEqual: '\\u2250',\r\n DoubleContourIntegral: '\\u222F',\r\n DoubleDot: '\\u00A8',\r\n DoubleDownArrow: '\\u21D3',\r\n DoubleLeftArrow: '\\u21D0',\r\n DoubleLeftRightArrow: '\\u21D4',\r\n DoubleLeftTee: '\\u2AE4',\r\n DoubleLongLeftArrow: '\\u27F8',\r\n DoubleLongLeftRightArrow: '\\u27FA',\r\n DoubleLongRightArrow: '\\u27F9',\r\n DoubleRightArrow: '\\u21D2',\r\n DoubleRightTee: '\\u22A8',\r\n DoubleUpArrow: '\\u21D1',\r\n DoubleUpDownArrow: '\\u21D5',\r\n DoubleVerticalBar: '\\u2225',\r\n DownArrow: '\\u2193',\r\n DownArrowBar: '\\u2913',\r\n DownArrowUpArrow: '\\u21F5',\r\n DownBreve: '\\u0311',\r\n DownLeftRightVector: '\\u2950',\r\n DownLeftTeeVector: '\\u295E',\r\n DownLeftVector: '\\u21BD',\r\n DownLeftVectorBar: '\\u2956',\r\n DownRightTeeVector: '\\u295F',\r\n DownRightVector: '\\u21C1',\r\n DownRightVectorBar: '\\u2957',\r\n DownTee: '\\u22A4',\r\n DownTeeArrow: '\\u21A7',\r\n Downarrow: '\\u21D3',\r\n Dscr: '\\uD835\\uDC9F',\r\n Dstrok: '\\u0110',\r\n ENG: '\\u014A',\r\n ETH: '\\u00D0',\r\n Eacute: '\\u00C9',\r\n Ecaron: '\\u011A',\r\n Ecirc: '\\u00CA',\r\n Ecy: '\\u042D',\r\n Edot: '\\u0116',\r\n Efr: '\\uD835\\uDD08',\r\n Egrave: '\\u00C8',\r\n Element: '\\u2208',\r\n Emacr: '\\u0112',\r\n EmptySmallSquare: '\\u25FB',\r\n EmptyVerySmallSquare: '\\u25AB',\r\n Eogon: '\\u0118',\r\n Eopf: '\\uD835\\uDD3C',\r\n Epsilon: '\\u0395',\r\n Equal: '\\u2A75',\r\n EqualTilde: '\\u2242',\r\n Equilibrium: '\\u21CC',\r\n Escr: '\\u2130',\r\n Esim: '\\u2A73',\r\n Eta: '\\u0397',\r\n Euml: '\\u00CB',\r\n Exists: '\\u2203',\r\n ExponentialE: '\\u2147',\r\n Fcy: '\\u0424',\r\n Ffr: '\\uD835\\uDD09',\r\n FilledSmallSquare: '\\u25FC',\r\n FilledVerySmallSquare: '\\u25AA',\r\n Fopf: '\\uD835\\uDD3D',\r\n ForAll: '\\u2200',\r\n Fouriertrf: '\\u2131',\r\n Fscr: '\\u2131',\r\n GJcy: '\\u0403',\r\n GT: '\\u003E',\r\n Gamma: '\\u0393',\r\n Gammad: '\\u03DC',\r\n Gbreve: '\\u011E',\r\n Gcedil: '\\u0122',\r\n Gcirc: '\\u011C',\r\n Gcy: '\\u0413',\r\n Gdot: '\\u0120',\r\n Gfr: '\\uD835\\uDD0A',\r\n Gg: '\\u22D9',\r\n Gopf: '\\uD835\\uDD3E',\r\n GreaterEqual: '\\u2265',\r\n GreaterEqualLess: '\\u22DB',\r\n GreaterFullEqual: '\\u2267',\r\n GreaterGreater: '\\u2AA2',\r\n GreaterLess: '\\u2277',\r\n GreaterSlantEqual: '\\u2A7E',\r\n GreaterTilde: '\\u2273',\r\n Gscr: '\\uD835\\uDCA2',\r\n Gt: '\\u226B',\r\n HARDcy: '\\u042A',\r\n Hacek: '\\u02C7',\r\n Hat: '\\u005E',\r\n Hcirc: '\\u0124',\r\n Hfr: '\\u210C',\r\n HilbertSpace: '\\u210B',\r\n Hopf: '\\u210D',\r\n HorizontalLine: '\\u2500',\r\n Hscr: '\\u210B',\r\n Hstrok: '\\u0126',\r\n HumpDownHump: '\\u224E',\r\n HumpEqual: '\\u224F',\r\n IEcy: '\\u0415',\r\n IJlig: '\\u0132',\r\n IOcy: '\\u0401',\r\n Iacute: '\\u00CD',\r\n Icirc: '\\u00CE',\r\n Icy: '\\u0418',\r\n Idot: '\\u0130',\r\n Ifr: '\\u2111',\r\n Igrave: '\\u00CC',\r\n Im: '\\u2111',\r\n Imacr: '\\u012A',\r\n ImaginaryI: '\\u2148',\r\n Implies: '\\u21D2',\r\n Int: '\\u222C',\r\n Integral: '\\u222B',\r\n Intersection: '\\u22C2',\r\n InvisibleComma: '\\u2063',\r\n InvisibleTimes: '\\u2062',\r\n Iogon: '\\u012E',\r\n Iopf: '\\uD835\\uDD40',\r\n Iota: '\\u0399',\r\n Iscr: '\\u2110',\r\n Itilde: '\\u0128',\r\n Iukcy: '\\u0406',\r\n Iuml: '\\u00CF',\r\n Jcirc: '\\u0134',\r\n Jcy: '\\u0419',\r\n Jfr: '\\uD835\\uDD0D',\r\n Jopf: '\\uD835\\uDD41',\r\n Jscr: '\\uD835\\uDCA5',\r\n Jsercy: '\\u0408',\r\n Jukcy: '\\u0404',\r\n KHcy: '\\u0425',\r\n KJcy: '\\u040C',\r\n Kappa: '\\u039A',\r\n Kcedil: '\\u0136',\r\n Kcy: '\\u041A',\r\n Kfr: '\\uD835\\uDD0E',\r\n Kopf: '\\uD835\\uDD42',\r\n Kscr: '\\uD835\\uDCA6',\r\n LJcy: '\\u0409',\r\n LT: '\\u003C',\r\n Lacute: '\\u0139',\r\n Lambda: '\\u039B',\r\n Lang: '\\u27EA',\r\n Laplacetrf: '\\u2112',\r\n Larr: '\\u219E',\r\n Lcaron: '\\u013D',\r\n Lcedil: '\\u013B',\r\n Lcy: '\\u041B',\r\n LeftAngleBracket: '\\u27E8',\r\n LeftArrow: '\\u2190',\r\n LeftArrowBar: '\\u21E4',\r\n LeftArrowRightArrow: '\\u21C6',\r\n LeftCeiling: '\\u2308',\r\n LeftDoubleBracket: '\\u27E6',\r\n LeftDownTeeVector: '\\u2961',\r\n LeftDownVector: '\\u21C3',\r\n LeftDownVectorBar: '\\u2959',\r\n LeftFloor: '\\u230A',\r\n LeftRightArrow: '\\u2194',\r\n LeftRightVector: '\\u294E',\r\n LeftTee: '\\u22A3',\r\n LeftTeeArrow: '\\u21A4',\r\n LeftTeeVector: '\\u295A',\r\n LeftTriangle: '\\u22B2',\r\n LeftTriangleBar: '\\u29CF',\r\n LeftTriangleEqual: '\\u22B4',\r\n LeftUpDownVector: '\\u2951',\r\n LeftUpTeeVector: '\\u2960',\r\n LeftUpVector: '\\u21BF',\r\n LeftUpVectorBar: '\\u2958',\r\n LeftVector: '\\u21BC',\r\n LeftVectorBar: '\\u2952',\r\n Leftarrow: '\\u21D0',\r\n Leftrightarrow: '\\u21D4',\r\n LessEqualGreater: '\\u22DA',\r\n LessFullEqual: '\\u2266',\r\n LessGreater: '\\u2276',\r\n LessLess: '\\u2AA1',\r\n LessSlantEqual: '\\u2A7D',\r\n LessTilde: '\\u2272',\r\n Lfr: '\\uD835\\uDD0F',\r\n Ll: '\\u22D8',\r\n Lleftarrow: '\\u21DA',\r\n Lmidot: '\\u013F',\r\n LongLeftArrow: '\\u27F5',\r\n LongLeftRightArrow: '\\u27F7',\r\n LongRightArrow: '\\u27F6',\r\n Longleftarrow: '\\u27F8',\r\n Longleftrightarrow: '\\u27FA',\r\n Longrightarrow: '\\u27F9',\r\n Lopf: '\\uD835\\uDD43',\r\n LowerLeftArrow: '\\u2199',\r\n LowerRightArrow: '\\u2198',\r\n Lscr: '\\u2112',\r\n Lsh: '\\u21B0',\r\n Lstrok: '\\u0141',\r\n Lt: '\\u226A',\r\n Map: '\\u2905',\r\n Mcy: '\\u041C',\r\n MediumSpace: '\\u205F',\r\n Mellintrf: '\\u2133',\r\n Mfr: '\\uD835\\uDD10',\r\n MinusPlus: '\\u2213',\r\n Mopf: '\\uD835\\uDD44',\r\n Mscr: '\\u2133',\r\n Mu: '\\u039C',\r\n NJcy: '\\u040A',\r\n Nacute: '\\u0143',\r\n Ncaron: '\\u0147',\r\n Ncedil: '\\u0145',\r\n Ncy: '\\u041D',\r\n NegativeMediumSpace: '\\u200B',\r\n NegativeThickSpace: '\\u200B',\r\n NegativeThinSpace: '\\u200B',\r\n NegativeVeryThinSpace: '\\u200B',\r\n NestedGreaterGreater: '\\u226B',\r\n NestedLessLess: '\\u226A',\r\n NewLine: '\\u000A',\r\n Nfr: '\\uD835\\uDD11',\r\n NoBreak: '\\u2060',\r\n NonBreakingSpace: '\\u00A0',\r\n Nopf: '\\u2115',\r\n Not: '\\u2AEC',\r\n NotCongruent: '\\u2262',\r\n NotCupCap: '\\u226D',\r\n NotDoubleVerticalBar: '\\u2226',\r\n NotElement: '\\u2209',\r\n NotEqual: '\\u2260',\r\n NotEqualTilde: '\\u2242\\u0338',\r\n NotExists: '\\u2204',\r\n NotGreater: '\\u226F',\r\n NotGreaterEqual: '\\u2271',\r\n NotGreaterFullEqual: '\\u2267\\u0338',\r\n NotGreaterGreater: '\\u226B\\u0338',\r\n NotGreaterLess: '\\u2279',\r\n NotGreaterSlantEqual: '\\u2A7E\\u0338',\r\n NotGreaterTilde: '\\u2275',\r\n NotHumpDownHump: '\\u224E\\u0338',\r\n NotHumpEqual: '\\u224F\\u0338',\r\n NotLeftTriangle: '\\u22EA',\r\n NotLeftTriangleBar: '\\u29CF\\u0338',\r\n NotLeftTriangleEqual: '\\u22EC',\r\n NotLess: '\\u226E',\r\n NotLessEqual: '\\u2270',\r\n NotLessGreater: '\\u2278',\r\n NotLessLess: '\\u226A\\u0338',\r\n NotLessSlantEqual: '\\u2A7D\\u0338',\r\n NotLessTilde: '\\u2274',\r\n NotNestedGreaterGreater: '\\u2AA2\\u0338',\r\n NotNestedLessLess: '\\u2AA1\\u0338',\r\n NotPrecedes: '\\u2280',\r\n NotPrecedesEqual: '\\u2AAF\\u0338',\r\n NotPrecedesSlantEqual: '\\u22E0',\r\n NotReverseElement: '\\u220C',\r\n NotRightTriangle: '\\u22EB',\r\n NotRightTriangleBar: '\\u29D0\\u0338',\r\n NotRightTriangleEqual: '\\u22ED',\r\n NotSquareSubset: '\\u228F\\u0338',\r\n NotSquareSubsetEqual: '\\u22E2',\r\n NotSquareSuperset: '\\u2290\\u0338',\r\n NotSquareSupersetEqual: '\\u22E3',\r\n NotSubset: '\\u2282\\u20D2',\r\n NotSubsetEqual: '\\u2288',\r\n NotSucceeds: '\\u2281',\r\n NotSucceedsEqual: '\\u2AB0\\u0338',\r\n NotSucceedsSlantEqual: '\\u22E1',\r\n NotSucceedsTilde: '\\u227F\\u0338',\r\n NotSuperset: '\\u2283\\u20D2',\r\n NotSupersetEqual: '\\u2289',\r\n NotTilde: '\\u2241',\r\n NotTildeEqual: '\\u2244',\r\n NotTildeFullEqual: '\\u2247',\r\n NotTildeTilde: '\\u2249',\r\n NotVerticalBar: '\\u2224',\r\n Nscr: '\\uD835\\uDCA9',\r\n Ntilde: '\\u00D1',\r\n Nu: '\\u039D',\r\n OElig: '\\u0152',\r\n Oacute: '\\u00D3',\r\n Ocirc: '\\u00D4',\r\n Ocy: '\\u041E',\r\n Odblac: '\\u0150',\r\n Ofr: '\\uD835\\uDD12',\r\n Ograve: '\\u00D2',\r\n Omacr: '\\u014C',\r\n Omega: '\\u03A9',\r\n Omicron: '\\u039F',\r\n Oopf: '\\uD835\\uDD46',\r\n OpenCurlyDoubleQuote: '\\u201C',\r\n OpenCurlyQuote: '\\u2018',\r\n Or: '\\u2A54',\r\n Oscr: '\\uD835\\uDCAA',\r\n Oslash: '\\u00D8',\r\n Otilde: '\\u00D5',\r\n Otimes: '\\u2A37',\r\n Ouml: '\\u00D6',\r\n OverBar: '\\u203E',\r\n OverBrace: '\\u23DE',\r\n OverBracket: '\\u23B4',\r\n OverParenthesis: '\\u23DC',\r\n PartialD: '\\u2202',\r\n Pcy: '\\u041F',\r\n Pfr: '\\uD835\\uDD13',\r\n Phi: '\\u03A6',\r\n Pi: '\\u03A0',\r\n PlusMinus: '\\u00B1',\r\n Poincareplane: '\\u210C',\r\n Popf: '\\u2119',\r\n Pr: '\\u2ABB',\r\n Precedes: '\\u227A',\r\n PrecedesEqual: '\\u2AAF',\r\n PrecedesSlantEqual: '\\u227C',\r\n PrecedesTilde: '\\u227E',\r\n Prime: '\\u2033',\r\n Product: '\\u220F',\r\n Proportion: '\\u2237',\r\n Proportional: '\\u221D',\r\n Pscr: '\\uD835\\uDCAB',\r\n Psi: '\\u03A8',\r\n QUOT: '\\u0022',\r\n Qfr: '\\uD835\\uDD14',\r\n Qopf: '\\u211A',\r\n Qscr: '\\uD835\\uDCAC',\r\n RBarr: '\\u2910',\r\n REG: '\\u00AE',\r\n Racute: '\\u0154',\r\n Rang: '\\u27EB',\r\n Rarr: '\\u21A0',\r\n Rarrtl: '\\u2916',\r\n Rcaron: '\\u0158',\r\n Rcedil: '\\u0156',\r\n Rcy: '\\u0420',\r\n Re: '\\u211C',\r\n ReverseElement: '\\u220B',\r\n ReverseEquilibrium: '\\u21CB',\r\n ReverseUpEquilibrium: '\\u296F',\r\n Rfr: '\\u211C',\r\n Rho: '\\u03A1',\r\n RightAngleBracket: '\\u27E9',\r\n RightArrow: '\\u2192',\r\n RightArrowBar: '\\u21E5',\r\n RightArrowLeftArrow: '\\u21C4',\r\n RightCeiling: '\\u2309',\r\n RightDoubleBracket: '\\u27E7',\r\n RightDownTeeVector: '\\u295D',\r\n RightDownVector: '\\u21C2',\r\n RightDownVectorBar: '\\u2955',\r\n RightFloor: '\\u230B',\r\n RightTee: '\\u22A2',\r\n RightTeeArrow: '\\u21A6',\r\n RightTeeVector: '\\u295B',\r\n RightTriangle: '\\u22B3',\r\n RightTriangleBar: '\\u29D0',\r\n RightTriangleEqual: '\\u22B5',\r\n RightUpDownVector: '\\u294F',\r\n RightUpTeeVector: '\\u295C',\r\n RightUpVector: '\\u21BE',\r\n RightUpVectorBar: '\\u2954',\r\n RightVector: '\\u21C0',\r\n RightVectorBar: '\\u2953',\r\n Rightarrow: '\\u21D2',\r\n Ropf: '\\u211D',\r\n RoundImplies: '\\u2970',\r\n Rrightarrow: '\\u21DB',\r\n Rscr: '\\u211B',\r\n Rsh: '\\u21B1',\r\n RuleDelayed: '\\u29F4',\r\n SHCHcy: '\\u0429',\r\n SHcy: '\\u0428',\r\n SOFTcy: '\\u042C',\r\n Sacute: '\\u015A',\r\n Sc: '\\u2ABC',\r\n Scaron: '\\u0160',\r\n Scedil: '\\u015E',\r\n Scirc: '\\u015C',\r\n Scy: '\\u0421',\r\n Sfr: '\\uD835\\uDD16',\r\n ShortDownArrow: '\\u2193',\r\n ShortLeftArrow: '\\u2190',\r\n ShortRightArrow: '\\u2192',\r\n ShortUpArrow: '\\u2191',\r\n Sigma: '\\u03A3',\r\n SmallCircle: '\\u2218',\r\n Sopf: '\\uD835\\uDD4A',\r\n Sqrt: '\\u221A',\r\n Square: '\\u25A1',\r\n SquareIntersection: '\\u2293',\r\n SquareSubset: '\\u228F',\r\n SquareSubsetEqual: '\\u2291',\r\n SquareSuperset: '\\u2290',\r\n SquareSupersetEqual: '\\u2292',\r\n SquareUnion: '\\u2294',\r\n Sscr: '\\uD835\\uDCAE',\r\n Star: '\\u22C6',\r\n Sub: '\\u22D0',\r\n Subset: '\\u22D0',\r\n SubsetEqual: '\\u2286',\r\n Succeeds: '\\u227B',\r\n SucceedsEqual: '\\u2AB0',\r\n SucceedsSlantEqual: '\\u227D',\r\n SucceedsTilde: '\\u227F',\r\n SuchThat: '\\u220B',\r\n Sum: '\\u2211',\r\n Sup: '\\u22D1',\r\n Superset: '\\u2283',\r\n SupersetEqual: '\\u2287',\r\n Supset: '\\u22D1',\r\n THORN: '\\u00DE',\r\n TRADE: '\\u2122',\r\n TSHcy: '\\u040B',\r\n TScy: '\\u0426',\r\n Tab: '\\u0009',\r\n Tau: '\\u03A4',\r\n Tcaron: '\\u0164',\r\n Tcedil: '\\u0162',\r\n Tcy: '\\u0422',\r\n Tfr: '\\uD835\\uDD17',\r\n Therefore: '\\u2234',\r\n Theta: '\\u0398',\r\n ThickSpace: '\\u205F\\u200A',\r\n ThinSpace: '\\u2009',\r\n Tilde: '\\u223C',\r\n TildeEqual: '\\u2243',\r\n TildeFullEqual: '\\u2245',\r\n TildeTilde: '\\u2248',\r\n Topf: '\\uD835\\uDD4B',\r\n TripleDot: '\\u20DB',\r\n Tscr: '\\uD835\\uDCAF',\r\n Tstrok: '\\u0166',\r\n Uacute: '\\u00DA',\r\n Uarr: '\\u219F',\r\n Uarrocir: '\\u2949',\r\n Ubrcy: '\\u040E',\r\n Ubreve: '\\u016C',\r\n Ucirc: '\\u00DB',\r\n Ucy: '\\u0423',\r\n Udblac: '\\u0170',\r\n Ufr: '\\uD835\\uDD18',\r\n Ugrave: '\\u00D9',\r\n Umacr: '\\u016A',\r\n UnderBar: '\\u005F',\r\n UnderBrace: '\\u23DF',\r\n UnderBracket: '\\u23B5',\r\n UnderParenthesis: '\\u23DD',\r\n Union: '\\u22C3',\r\n UnionPlus: '\\u228E',\r\n Uogon: '\\u0172',\r\n Uopf: '\\uD835\\uDD4C',\r\n UpArrow: '\\u2191',\r\n UpArrowBar: '\\u2912',\r\n UpArrowDownArrow: '\\u21C5',\r\n UpDownArrow: '\\u2195',\r\n UpEquilibrium: '\\u296E',\r\n UpTee: '\\u22A5',\r\n UpTeeArrow: '\\u21A5',\r\n Uparrow: '\\u21D1',\r\n Updownarrow: '\\u21D5',\r\n UpperLeftArrow: '\\u2196',\r\n UpperRightArrow: '\\u2197',\r\n Upsi: '\\u03D2',\r\n Upsilon: '\\u03A5',\r\n Uring: '\\u016E',\r\n Uscr: '\\uD835\\uDCB0',\r\n Utilde: '\\u0168',\r\n Uuml: '\\u00DC',\r\n VDash: '\\u22AB',\r\n Vbar: '\\u2AEB',\r\n Vcy: '\\u0412',\r\n Vdash: '\\u22A9',\r\n Vdashl: '\\u2AE6',\r\n Vee: '\\u22C1',\r\n Verbar: '\\u2016',\r\n Vert: '\\u2016',\r\n VerticalBar: '\\u2223',\r\n VerticalLine: '\\u007C',\r\n VerticalSeparator: '\\u2758',\r\n VerticalTilde: '\\u2240',\r\n VeryThinSpace: '\\u200A',\r\n Vfr: '\\uD835\\uDD19',\r\n Vopf: '\\uD835\\uDD4D',\r\n Vscr: '\\uD835\\uDCB1',\r\n Vvdash: '\\u22AA',\r\n Wcirc: '\\u0174',\r\n Wedge: '\\u22C0',\r\n Wfr: '\\uD835\\uDD1A',\r\n Wopf: '\\uD835\\uDD4E',\r\n Wscr: '\\uD835\\uDCB2',\r\n Xfr: '\\uD835\\uDD1B',\r\n Xi: '\\u039E',\r\n Xopf: '\\uD835\\uDD4F',\r\n Xscr: '\\uD835\\uDCB3',\r\n YAcy: '\\u042F',\r\n YIcy: '\\u0407',\r\n YUcy: '\\u042E',\r\n Yacute: '\\u00DD',\r\n Ycirc: '\\u0176',\r\n Ycy: '\\u042B',\r\n Yfr: '\\uD835\\uDD1C',\r\n Yopf: '\\uD835\\uDD50',\r\n Yscr: '\\uD835\\uDCB4',\r\n Yuml: '\\u0178',\r\n ZHcy: '\\u0416',\r\n Zacute: '\\u0179',\r\n Zcaron: '\\u017D',\r\n Zcy: '\\u0417',\r\n Zdot: '\\u017B',\r\n ZeroWidthSpace: '\\u200B',\r\n Zeta: '\\u0396',\r\n Zfr: '\\u2128',\r\n Zopf: '\\u2124',\r\n Zscr: '\\uD835\\uDCB5',\r\n aacute: '\\u00E1',\r\n abreve: '\\u0103',\r\n ac: '\\u223E',\r\n acE: '\\u223E\\u0333',\r\n acd: '\\u223F',\r\n acirc: '\\u00E2',\r\n acute: '\\u00B4',\r\n acy: '\\u0430',\r\n aelig: '\\u00E6',\r\n af: '\\u2061',\r\n afr: '\\uD835\\uDD1E',\r\n agrave: '\\u00E0',\r\n alefsym: '\\u2135',\r\n aleph: '\\u2135',\r\n alpha: '\\u03B1',\r\n amacr: '\\u0101',\r\n amalg: '\\u2A3F',\r\n amp: '\\u0026',\r\n and: '\\u2227',\r\n andand: '\\u2A55',\r\n andd: '\\u2A5C',\r\n andslope: '\\u2A58',\r\n andv: '\\u2A5A',\r\n ang: '\\u2220',\r\n ange: '\\u29A4',\r\n angle: '\\u2220',\r\n angmsd: '\\u2221',\r\n angmsdaa: '\\u29A8',\r\n angmsdab: '\\u29A9',\r\n angmsdac: '\\u29AA',\r\n angmsdad: '\\u29AB',\r\n angmsdae: '\\u29AC',\r\n angmsdaf: '\\u29AD',\r\n angmsdag: '\\u29AE',\r\n angmsdah: '\\u29AF',\r\n angrt: '\\u221F',\r\n angrtvb: '\\u22BE',\r\n angrtvbd: '\\u299D',\r\n angsph: '\\u2222',\r\n angst: '\\u00C5',\r\n angzarr: '\\u237C',\r\n aogon: '\\u0105',\r\n aopf: '\\uD835\\uDD52',\r\n ap: '\\u2248',\r\n apE: '\\u2A70',\r\n apacir: '\\u2A6F',\r\n ape: '\\u224A',\r\n apid: '\\u224B',\r\n apos: '\\u0027',\r\n approx: '\\u2248',\r\n approxeq: '\\u224A',\r\n aring: '\\u00E5',\r\n ascr: '\\uD835\\uDCB6',\r\n ast: '\\u002A',\r\n asymp: '\\u2248',\r\n asympeq: '\\u224D',\r\n atilde: '\\u00E3',\r\n auml: '\\u00E4',\r\n awconint: '\\u2233',\r\n awint: '\\u2A11',\r\n bNot: '\\u2AED',\r\n backcong: '\\u224C',\r\n backepsilon: '\\u03F6',\r\n backprime: '\\u2035',\r\n backsim: '\\u223D',\r\n backsimeq: '\\u22CD',\r\n barvee: '\\u22BD',\r\n barwed: '\\u2305',\r\n barwedge: '\\u2305',\r\n bbrk: '\\u23B5',\r\n bbrktbrk: '\\u23B6',\r\n bcong: '\\u224C',\r\n bcy: '\\u0431',\r\n bdquo: '\\u201E',\r\n becaus: '\\u2235',\r\n because: '\\u2235',\r\n bemptyv: '\\u29B0',\r\n bepsi: '\\u03F6',\r\n bernou: '\\u212C',\r\n beta: '\\u03B2',\r\n beth: '\\u2136',\r\n between: '\\u226C',\r\n bfr: '\\uD835\\uDD1F',\r\n bigcap: '\\u22C2',\r\n bigcirc: '\\u25EF',\r\n bigcup: '\\u22C3',\r\n bigodot: '\\u2A00',\r\n bigoplus: '\\u2A01',\r\n bigotimes: '\\u2A02',\r\n bigsqcup: '\\u2A06',\r\n bigstar: '\\u2605',\r\n bigtriangledown: '\\u25BD',\r\n bigtriangleup: '\\u25B3',\r\n biguplus: '\\u2A04',\r\n bigvee: '\\u22C1',\r\n bigwedge: '\\u22C0',\r\n bkarow: '\\u290D',\r\n blacklozenge: '\\u29EB',\r\n blacksquare: '\\u25AA',\r\n blacktriangle: '\\u25B4',\r\n blacktriangledown: '\\u25BE',\r\n blacktriangleleft: '\\u25C2',\r\n blacktriangleright: '\\u25B8',\r\n blank: '\\u2423',\r\n blk12: '\\u2592',\r\n blk14: '\\u2591',\r\n blk34: '\\u2593',\r\n block: '\\u2588',\r\n bne: '\\u003D\\u20E5',\r\n bnequiv: '\\u2261\\u20E5',\r\n bnot: '\\u2310',\r\n bopf: '\\uD835\\uDD53',\r\n bot: '\\u22A5',\r\n bottom: '\\u22A5',\r\n bowtie: '\\u22C8',\r\n boxDL: '\\u2557',\r\n boxDR: '\\u2554',\r\n boxDl: '\\u2556',\r\n boxDr: '\\u2553',\r\n boxH: '\\u2550',\r\n boxHD: '\\u2566',\r\n boxHU: '\\u2569',\r\n boxHd: '\\u2564',\r\n boxHu: '\\u2567',\r\n boxUL: '\\u255D',\r\n boxUR: '\\u255A',\r\n boxUl: '\\u255C',\r\n boxUr: '\\u2559',\r\n boxV: '\\u2551',\r\n boxVH: '\\u256C',\r\n boxVL: '\\u2563',\r\n boxVR: '\\u2560',\r\n boxVh: '\\u256B',\r\n boxVl: '\\u2562',\r\n boxVr: '\\u255F',\r\n boxbox: '\\u29C9',\r\n boxdL: '\\u2555',\r\n boxdR: '\\u2552',\r\n boxdl: '\\u2510',\r\n boxdr: '\\u250C',\r\n boxh: '\\u2500',\r\n boxhD: '\\u2565',\r\n boxhU: '\\u2568',\r\n boxhd: '\\u252C',\r\n boxhu: '\\u2534',\r\n boxminus: '\\u229F',\r\n boxplus: '\\u229E',\r\n boxtimes: '\\u22A0',\r\n boxuL: '\\u255B',\r\n boxuR: '\\u2558',\r\n boxul: '\\u2518',\r\n boxur: '\\u2514',\r\n boxv: '\\u2502',\r\n boxvH: '\\u256A',\r\n boxvL: '\\u2561',\r\n boxvR: '\\u255E',\r\n boxvh: '\\u253C',\r\n boxvl: '\\u2524',\r\n boxvr: '\\u251C',\r\n bprime: '\\u2035',\r\n breve: '\\u02D8',\r\n brvbar: '\\u00A6',\r\n bscr: '\\uD835\\uDCB7',\r\n bsemi: '\\u204F',\r\n bsim: '\\u223D',\r\n bsime: '\\u22CD',\r\n bsol: '\\u005C',\r\n bsolb: '\\u29C5',\r\n bsolhsub: '\\u27C8',\r\n bull: '\\u2022',\r\n bullet: '\\u2022',\r\n bump: '\\u224E',\r\n bumpE: '\\u2AAE',\r\n bumpe: '\\u224F',\r\n bumpeq: '\\u224F',\r\n cacute: '\\u0107',\r\n cap: '\\u2229',\r\n capand: '\\u2A44',\r\n capbrcup: '\\u2A49',\r\n capcap: '\\u2A4B',\r\n capcup: '\\u2A47',\r\n capdot: '\\u2A40',\r\n caps: '\\u2229\\uFE00',\r\n caret: '\\u2041',\r\n caron: '\\u02C7',\r\n ccaps: '\\u2A4D',\r\n ccaron: '\\u010D',\r\n ccedil: '\\u00E7',\r\n ccirc: '\\u0109',\r\n ccups: '\\u2A4C',\r\n ccupssm: '\\u2A50',\r\n cdot: '\\u010B',\r\n cedil: '\\u00B8',\r\n cemptyv: '\\u29B2',\r\n cent: '\\u00A2',\r\n centerdot: '\\u00B7',\r\n cfr: '\\uD835\\uDD20',\r\n chcy: '\\u0447',\r\n check: '\\u2713',\r\n checkmark: '\\u2713',\r\n chi: '\\u03C7',\r\n cir: '\\u25CB',\r\n cirE: '\\u29C3',\r\n circ: '\\u02C6',\r\n circeq: '\\u2257',\r\n circlearrowleft: '\\u21BA',\r\n circlearrowright: '\\u21BB',\r\n circledR: '\\u00AE',\r\n circledS: '\\u24C8',\r\n circledast: '\\u229B',\r\n circledcirc: '\\u229A',\r\n circleddash: '\\u229D',\r\n cire: '\\u2257',\r\n cirfnint: '\\u2A10',\r\n cirmid: '\\u2AEF',\r\n cirscir: '\\u29C2',\r\n clubs: '\\u2663',\r\n clubsuit: '\\u2663',\r\n colon: '\\u003A',\r\n colone: '\\u2254',\r\n coloneq: '\\u2254',\r\n comma: '\\u002C',\r\n commat: '\\u0040',\r\n comp: '\\u2201',\r\n compfn: '\\u2218',\r\n complement: '\\u2201',\r\n complexes: '\\u2102',\r\n cong: '\\u2245',\r\n congdot: '\\u2A6D',\r\n conint: '\\u222E',\r\n copf: '\\uD835\\uDD54',\r\n coprod: '\\u2210',\r\n copy: '\\u00A9',\r\n copysr: '\\u2117',\r\n crarr: '\\u21B5',\r\n cross: '\\u2717',\r\n cscr: '\\uD835\\uDCB8',\r\n csub: '\\u2ACF',\r\n csube: '\\u2AD1',\r\n csup: '\\u2AD0',\r\n csupe: '\\u2AD2',\r\n ctdot: '\\u22EF',\r\n cudarrl: '\\u2938',\r\n cudarrr: '\\u2935',\r\n cuepr: '\\u22DE',\r\n cuesc: '\\u22DF',\r\n cularr: '\\u21B6',\r\n cularrp: '\\u293D',\r\n cup: '\\u222A',\r\n cupbrcap: '\\u2A48',\r\n cupcap: '\\u2A46',\r\n cupcup: '\\u2A4A',\r\n cupdot: '\\u228D',\r\n cupor: '\\u2A45',\r\n cups: '\\u222A\\uFE00',\r\n curarr: '\\u21B7',\r\n curarrm: '\\u293C',\r\n curlyeqprec: '\\u22DE',\r\n curlyeqsucc: '\\u22DF',\r\n curlyvee: '\\u22CE',\r\n curlywedge: '\\u22CF',\r\n curren: '\\u00A4',\r\n curvearrowleft: '\\u21B6',\r\n curvearrowright: '\\u21B7',\r\n cuvee: '\\u22CE',\r\n cuwed: '\\u22CF',\r\n cwconint: '\\u2232',\r\n cwint: '\\u2231',\r\n cylcty: '\\u232D',\r\n dArr: '\\u21D3',\r\n dHar: '\\u2965',\r\n dagger: '\\u2020',\r\n daleth: '\\u2138',\r\n darr: '\\u2193',\r\n dash: '\\u2010',\r\n dashv: '\\u22A3',\r\n dbkarow: '\\u290F',\r\n dblac: '\\u02DD',\r\n dcaron: '\\u010F',\r\n dcy: '\\u0434',\r\n dd: '\\u2146',\r\n ddagger: '\\u2021',\r\n ddarr: '\\u21CA',\r\n ddotseq: '\\u2A77',\r\n deg: '\\u00B0',\r\n delta: '\\u03B4',\r\n demptyv: '\\u29B1',\r\n dfisht: '\\u297F',\r\n dfr: '\\uD835\\uDD21',\r\n dharl: '\\u21C3',\r\n dharr: '\\u21C2',\r\n diam: '\\u22C4',\r\n diamond: '\\u22C4',\r\n diamondsuit: '\\u2666',\r\n diams: '\\u2666',\r\n die: '\\u00A8',\r\n digamma: '\\u03DD',\r\n disin: '\\u22F2',\r\n div: '\\u00F7',\r\n divide: '\\u00F7',\r\n divideontimes: '\\u22C7',\r\n divonx: '\\u22C7',\r\n djcy: '\\u0452',\r\n dlcorn: '\\u231E',\r\n dlcrop: '\\u230D',\r\n dollar: '\\u0024',\r\n dopf: '\\uD835\\uDD55',\r\n dot: '\\u02D9',\r\n doteq: '\\u2250',\r\n doteqdot: '\\u2251',\r\n dotminus: '\\u2238',\r\n dotplus: '\\u2214',\r\n dotsquare: '\\u22A1',\r\n doublebarwedge: '\\u2306',\r\n downarrow: '\\u2193',\r\n downdownarrows: '\\u21CA',\r\n downharpoonleft: '\\u21C3',\r\n downharpoonright: '\\u21C2',\r\n drbkarow: '\\u2910',\r\n drcorn: '\\u231F',\r\n drcrop: '\\u230C',\r\n dscr: '\\uD835\\uDCB9',\r\n dscy: '\\u0455',\r\n dsol: '\\u29F6',\r\n dstrok: '\\u0111',\r\n dtdot: '\\u22F1',\r\n dtri: '\\u25BF',\r\n dtrif: '\\u25BE',\r\n duarr: '\\u21F5',\r\n duhar: '\\u296F',\r\n dwangle: '\\u29A6',\r\n dzcy: '\\u045F',\r\n dzigrarr: '\\u27FF',\r\n eDDot: '\\u2A77',\r\n eDot: '\\u2251',\r\n eacute: '\\u00E9',\r\n easter: '\\u2A6E',\r\n ecaron: '\\u011B',\r\n ecir: '\\u2256',\r\n ecirc: '\\u00EA',\r\n ecolon: '\\u2255',\r\n ecy: '\\u044D',\r\n edot: '\\u0117',\r\n ee: '\\u2147',\r\n efDot: '\\u2252',\r\n efr: '\\uD835\\uDD22',\r\n eg: '\\u2A9A',\r\n egrave: '\\u00E8',\r\n egs: '\\u2A96',\r\n egsdot: '\\u2A98',\r\n el: '\\u2A99',\r\n elinters: '\\u23E7',\r\n ell: '\\u2113',\r\n els: '\\u2A95',\r\n elsdot: '\\u2A97',\r\n emacr: '\\u0113',\r\n empty: '\\u2205',\r\n emptyset: '\\u2205',\r\n emptyv: '\\u2205',\r\n emsp13: '\\u2004',\r\n emsp14: '\\u2005',\r\n emsp: '\\u2003',\r\n eng: '\\u014B',\r\n ensp: '\\u2002',\r\n eogon: '\\u0119',\r\n eopf: '\\uD835\\uDD56',\r\n epar: '\\u22D5',\r\n eparsl: '\\u29E3',\r\n eplus: '\\u2A71',\r\n epsi: '\\u03B5',\r\n epsilon: '\\u03B5',\r\n epsiv: '\\u03F5',\r\n eqcirc: '\\u2256',\r\n eqcolon: '\\u2255',\r\n eqsim: '\\u2242',\r\n eqslantgtr: '\\u2A96',\r\n eqslantless: '\\u2A95',\r\n equals: '\\u003D',\r\n equest: '\\u225F',\r\n equiv: '\\u2261',\r\n equivDD: '\\u2A78',\r\n eqvparsl: '\\u29E5',\r\n erDot: '\\u2253',\r\n erarr: '\\u2971',\r\n escr: '\\u212F',\r\n esdot: '\\u2250',\r\n esim: '\\u2242',\r\n eta: '\\u03B7',\r\n eth: '\\u00F0',\r\n euml: '\\u00EB',\r\n euro: '\\u20AC',\r\n excl: '\\u0021',\r\n exist: '\\u2203',\r\n expectation: '\\u2130',\r\n exponentiale: '\\u2147',\r\n fallingdotseq: '\\u2252',\r\n fcy: '\\u0444',\r\n female: '\\u2640',\r\n ffilig: '\\uFB03',\r\n fflig: '\\uFB00',\r\n ffllig: '\\uFB04',\r\n ffr: '\\uD835\\uDD23',\r\n filig: '\\uFB01',\r\n fjlig: '\\u0066\\u006A',\r\n flat: '\\u266D',\r\n fllig: '\\uFB02',\r\n fltns: '\\u25B1',\r\n fnof: '\\u0192',\r\n fopf: '\\uD835\\uDD57',\r\n forall: '\\u2200',\r\n fork: '\\u22D4',\r\n forkv: '\\u2AD9',\r\n fpartint: '\\u2A0D',\r\n frac12: '\\u00BD',\r\n frac13: '\\u2153',\r\n frac14: '\\u00BC',\r\n frac15: '\\u2155',\r\n frac16: '\\u2159',\r\n frac18: '\\u215B',\r\n frac23: '\\u2154',\r\n frac25: '\\u2156',\r\n frac34: '\\u00BE',\r\n frac35: '\\u2157',\r\n frac38: '\\u215C',\r\n frac45: '\\u2158',\r\n frac56: '\\u215A',\r\n frac58: '\\u215D',\r\n frac78: '\\u215E',\r\n frasl: '\\u2044',\r\n frown: '\\u2322',\r\n fscr: '\\uD835\\uDCBB',\r\n gE: '\\u2267',\r\n gEl: '\\u2A8C',\r\n gacute: '\\u01F5',\r\n gamma: '\\u03B3',\r\n gammad: '\\u03DD',\r\n gap: '\\u2A86',\r\n gbreve: '\\u011F',\r\n gcirc: '\\u011D',\r\n gcy: '\\u0433',\r\n gdot: '\\u0121',\r\n ge: '\\u2265',\r\n gel: '\\u22DB',\r\n geq: '\\u2265',\r\n geqq: '\\u2267',\r\n geqslant: '\\u2A7E',\r\n ges: '\\u2A7E',\r\n gescc: '\\u2AA9',\r\n gesdot: '\\u2A80',\r\n gesdoto: '\\u2A82',\r\n gesdotol: '\\u2A84',\r\n gesl: '\\u22DB\\uFE00',\r\n gesles: '\\u2A94',\r\n gfr: '\\uD835\\uDD24',\r\n gg: '\\u226B',\r\n ggg: '\\u22D9',\r\n gimel: '\\u2137',\r\n gjcy: '\\u0453',\r\n gl: '\\u2277',\r\n glE: '\\u2A92',\r\n gla: '\\u2AA5',\r\n glj: '\\u2AA4',\r\n gnE: '\\u2269',\r\n gnap: '\\u2A8A',\r\n gnapprox: '\\u2A8A',\r\n gne: '\\u2A88',\r\n gneq: '\\u2A88',\r\n gneqq: '\\u2269',\r\n gnsim: '\\u22E7',\r\n gopf: '\\uD835\\uDD58',\r\n grave: '\\u0060',\r\n gscr: '\\u210A',\r\n gsim: '\\u2273',\r\n gsime: '\\u2A8E',\r\n gsiml: '\\u2A90',\r\n gt: '\\u003E',\r\n gtcc: '\\u2AA7',\r\n gtcir: '\\u2A7A',\r\n gtdot: '\\u22D7',\r\n gtlPar: '\\u2995',\r\n gtquest: '\\u2A7C',\r\n gtrapprox: '\\u2A86',\r\n gtrarr: '\\u2978',\r\n gtrdot: '\\u22D7',\r\n gtreqless: '\\u22DB',\r\n gtreqqless: '\\u2A8C',\r\n gtrless: '\\u2277',\r\n gtrsim: '\\u2273',\r\n gvertneqq: '\\u2269\\uFE00',\r\n gvnE: '\\u2269\\uFE00',\r\n hArr: '\\u21D4',\r\n hairsp: '\\u200A',\r\n half: '\\u00BD',\r\n hamilt: '\\u210B',\r\n hardcy: '\\u044A',\r\n harr: '\\u2194',\r\n harrcir: '\\u2948',\r\n harrw: '\\u21AD',\r\n hbar: '\\u210F',\r\n hcirc: '\\u0125',\r\n hearts: '\\u2665',\r\n heartsuit: '\\u2665',\r\n hellip: '\\u2026',\r\n hercon: '\\u22B9',\r\n hfr: '\\uD835\\uDD25',\r\n hksearow: '\\u2925',\r\n hkswarow: '\\u2926',\r\n hoarr: '\\u21FF',\r\n homtht: '\\u223B',\r\n hookleftarrow: '\\u21A9',\r\n hookrightarrow: '\\u21AA',\r\n hopf: '\\uD835\\uDD59',\r\n horbar: '\\u2015',\r\n hscr: '\\uD835\\uDCBD',\r\n hslash: '\\u210F',\r\n hstrok: '\\u0127',\r\n hybull: '\\u2043',\r\n hyphen: '\\u2010',\r\n iacute: '\\u00ED',\r\n ic: '\\u2063',\r\n icirc: '\\u00EE',\r\n icy: '\\u0438',\r\n iecy: '\\u0435',\r\n iexcl: '\\u00A1',\r\n iff: '\\u21D4',\r\n ifr: '\\uD835\\uDD26',\r\n igrave: '\\u00EC',\r\n ii: '\\u2148',\r\n iiiint: '\\u2A0C',\r\n iiint: '\\u222D',\r\n iinfin: '\\u29DC',\r\n iiota: '\\u2129',\r\n ijlig: '\\u0133',\r\n imacr: '\\u012B',\r\n image: '\\u2111',\r\n imagline: '\\u2110',\r\n imagpart: '\\u2111',\r\n imath: '\\u0131',\r\n imof: '\\u22B7',\r\n imped: '\\u01B5',\r\n in: '\\u2208',\r\n incare: '\\u2105',\r\n infin: '\\u221E',\r\n infintie: '\\u29DD',\r\n inodot: '\\u0131',\r\n int: '\\u222B',\r\n intcal: '\\u22BA',\r\n integers: '\\u2124',\r\n intercal: '\\u22BA',\r\n intlarhk: '\\u2A17',\r\n intprod: '\\u2A3C',\r\n iocy: '\\u0451',\r\n iogon: '\\u012F',\r\n iopf: '\\uD835\\uDD5A',\r\n iota: '\\u03B9',\r\n iprod: '\\u2A3C',\r\n iquest: '\\u00BF',\r\n iscr: '\\uD835\\uDCBE',\r\n isin: '\\u2208',\r\n isinE: '\\u22F9',\r\n isindot: '\\u22F5',\r\n isins: '\\u22F4',\r\n isinsv: '\\u22F3',\r\n isinv: '\\u2208',\r\n it: '\\u2062',\r\n itilde: '\\u0129',\r\n iukcy: '\\u0456',\r\n iuml: '\\u00EF',\r\n jcirc: '\\u0135',\r\n jcy: '\\u0439',\r\n jfr: '\\uD835\\uDD27',\r\n jmath: '\\u0237',\r\n jopf: '\\uD835\\uDD5B',\r\n jscr: '\\uD835\\uDCBF',\r\n jsercy: '\\u0458',\r\n jukcy: '\\u0454',\r\n kappa: '\\u03BA',\r\n kappav: '\\u03F0',\r\n kcedil: '\\u0137',\r\n kcy: '\\u043A',\r\n kfr: '\\uD835\\uDD28',\r\n kgreen: '\\u0138',\r\n khcy: '\\u0445',\r\n kjcy: '\\u045C',\r\n kopf: '\\uD835\\uDD5C',\r\n kscr: '\\uD835\\uDCC0',\r\n lAarr: '\\u21DA',\r\n lArr: '\\u21D0',\r\n lAtail: '\\u291B',\r\n lBarr: '\\u290E',\r\n lE: '\\u2266',\r\n lEg: '\\u2A8B',\r\n lHar: '\\u2962',\r\n lacute: '\\u013A',\r\n laemptyv: '\\u29B4',\r\n lagran: '\\u2112',\r\n lambda: '\\u03BB',\r\n lang: '\\u27E8',\r\n langd: '\\u2991',\r\n langle: '\\u27E8',\r\n lap: '\\u2A85',\r\n laquo: '\\u00AB',\r\n larr: '\\u2190',\r\n larrb: '\\u21E4',\r\n larrbfs: '\\u291F',\r\n larrfs: '\\u291D',\r\n larrhk: '\\u21A9',\r\n larrlp: '\\u21AB',\r\n larrpl: '\\u2939',\r\n larrsim: '\\u2973',\r\n larrtl: '\\u21A2',\r\n lat: '\\u2AAB',\r\n latail: '\\u2919',\r\n late: '\\u2AAD',\r\n lates: '\\u2AAD\\uFE00',\r\n lbarr: '\\u290C',\r\n lbbrk: '\\u2772',\r\n lbrace: '\\u007B',\r\n lbrack: '\\u005B',\r\n lbrke: '\\u298B',\r\n lbrksld: '\\u298F',\r\n lbrkslu: '\\u298D',\r\n lcaron: '\\u013E',\r\n lcedil: '\\u013C',\r\n lceil: '\\u2308',\r\n lcub: '\\u007B',\r\n lcy: '\\u043B',\r\n ldca: '\\u2936',\r\n ldquo: '\\u201C',\r\n ldquor: '\\u201E',\r\n ldrdhar: '\\u2967',\r\n ldrushar: '\\u294B',\r\n ldsh: '\\u21B2',\r\n le: '\\u2264',\r\n leftarrow: '\\u2190',\r\n leftarrowtail: '\\u21A2',\r\n leftharpoondown: '\\u21BD',\r\n leftharpoonup: '\\u21BC',\r\n leftleftarrows: '\\u21C7',\r\n leftrightarrow: '\\u2194',\r\n leftrightarrows: '\\u21C6',\r\n leftrightharpoons: '\\u21CB',\r\n leftrightsquigarrow: '\\u21AD',\r\n leftthreetimes: '\\u22CB',\r\n leg: '\\u22DA',\r\n leq: '\\u2264',\r\n leqq: '\\u2266',\r\n leqslant: '\\u2A7D',\r\n les: '\\u2A7D',\r\n lescc: '\\u2AA8',\r\n lesdot: '\\u2A7F',\r\n lesdoto: '\\u2A81',\r\n lesdotor: '\\u2A83',\r\n lesg: '\\u22DA\\uFE00',\r\n lesges: '\\u2A93',\r\n lessapprox: '\\u2A85',\r\n lessdot: '\\u22D6',\r\n lesseqgtr: '\\u22DA',\r\n lesseqqgtr: '\\u2A8B',\r\n lessgtr: '\\u2276',\r\n lesssim: '\\u2272',\r\n lfisht: '\\u297C',\r\n lfloor: '\\u230A',\r\n lfr: '\\uD835\\uDD29',\r\n lg: '\\u2276',\r\n lgE: '\\u2A91',\r\n lhard: '\\u21BD',\r\n lharu: '\\u21BC',\r\n lharul: '\\u296A',\r\n lhblk: '\\u2584',\r\n ljcy: '\\u0459',\r\n ll: '\\u226A',\r\n llarr: '\\u21C7',\r\n llcorner: '\\u231E',\r\n llhard: '\\u296B',\r\n lltri: '\\u25FA',\r\n lmidot: '\\u0140',\r\n lmoust: '\\u23B0',\r\n lmoustache: '\\u23B0',\r\n lnE: '\\u2268',\r\n lnap: '\\u2A89',\r\n lnapprox: '\\u2A89',\r\n lne: '\\u2A87',\r\n lneq: '\\u2A87',\r\n lneqq: '\\u2268',\r\n lnsim: '\\u22E6',\r\n loang: '\\u27EC',\r\n loarr: '\\u21FD',\r\n lobrk: '\\u27E6',\r\n longleftarrow: '\\u27F5',\r\n longleftrightarrow: '\\u27F7',\r\n longmapsto: '\\u27FC',\r\n longrightarrow: '\\u27F6',\r\n looparrowleft: '\\u21AB',\r\n looparrowright: '\\u21AC',\r\n lopar: '\\u2985',\r\n lopf: '\\uD835\\uDD5D',\r\n loplus: '\\u2A2D',\r\n lotimes: '\\u2A34',\r\n lowast: '\\u2217',\r\n lowbar: '\\u005F',\r\n loz: '\\u25CA',\r\n lozenge: '\\u25CA',\r\n lozf: '\\u29EB',\r\n lpar: '\\u0028',\r\n lparlt: '\\u2993',\r\n lrarr: '\\u21C6',\r\n lrcorner: '\\u231F',\r\n lrhar: '\\u21CB',\r\n lrhard: '\\u296D',\r\n lrm: '\\u200E',\r\n lrtri: '\\u22BF',\r\n lsaquo: '\\u2039',\r\n lscr: '\\uD835\\uDCC1',\r\n lsh: '\\u21B0',\r\n lsim: '\\u2272',\r\n lsime: '\\u2A8D',\r\n lsimg: '\\u2A8F',\r\n lsqb: '\\u005B',\r\n lsquo: '\\u2018',\r\n lsquor: '\\u201A',\r\n lstrok: '\\u0142',\r\n lt: '\\u003C',\r\n ltcc: '\\u2AA6',\r\n ltcir: '\\u2A79',\r\n ltdot: '\\u22D6',\r\n lthree: '\\u22CB',\r\n ltimes: '\\u22C9',\r\n ltlarr: '\\u2976',\r\n ltquest: '\\u2A7B',\r\n ltrPar: '\\u2996',\r\n ltri: '\\u25C3',\r\n ltrie: '\\u22B4',\r\n ltrif: '\\u25C2',\r\n lurdshar: '\\u294A',\r\n luruhar: '\\u2966',\r\n lvertneqq: '\\u2268\\uFE00',\r\n lvnE: '\\u2268\\uFE00',\r\n mDDot: '\\u223A',\r\n macr: '\\u00AF',\r\n male: '\\u2642',\r\n malt: '\\u2720',\r\n maltese: '\\u2720',\r\n map: '\\u21A6',\r\n mapsto: '\\u21A6',\r\n mapstodown: '\\u21A7',\r\n mapstoleft: '\\u21A4',\r\n mapstoup: '\\u21A5',\r\n marker: '\\u25AE',\r\n mcomma: '\\u2A29',\r\n mcy: '\\u043C',\r\n mdash: '\\u2014',\r\n measuredangle: '\\u2221',\r\n mfr: '\\uD835\\uDD2A',\r\n mho: '\\u2127',\r\n micro: '\\u00B5',\r\n mid: '\\u2223',\r\n midast: '\\u002A',\r\n midcir: '\\u2AF0',\r\n middot: '\\u00B7',\r\n minus: '\\u2212',\r\n minusb: '\\u229F',\r\n minusd: '\\u2238',\r\n minusdu: '\\u2A2A',\r\n mlcp: '\\u2ADB',\r\n mldr: '\\u2026',\r\n mnplus: '\\u2213',\r\n models: '\\u22A7',\r\n mopf: '\\uD835\\uDD5E',\r\n mp: '\\u2213',\r\n mscr: '\\uD835\\uDCC2',\r\n mstpos: '\\u223E',\r\n mu: '\\u03BC',\r\n multimap: '\\u22B8',\r\n mumap: '\\u22B8',\r\n nGg: '\\u22D9\\u0338',\r\n nGt: '\\u226B\\u20D2',\r\n nGtv: '\\u226B\\u0338',\r\n nLeftarrow: '\\u21CD',\r\n nLeftrightarrow: '\\u21CE',\r\n nLl: '\\u22D8\\u0338',\r\n nLt: '\\u226A\\u20D2',\r\n nLtv: '\\u226A\\u0338',\r\n nRightarrow: '\\u21CF',\r\n nVDash: '\\u22AF',\r\n nVdash: '\\u22AE',\r\n nabla: '\\u2207',\r\n nacute: '\\u0144',\r\n nang: '\\u2220\\u20D2',\r\n nap: '\\u2249',\r\n napE: '\\u2A70\\u0338',\r\n napid: '\\u224B\\u0338',\r\n napos: '\\u0149',\r\n napprox: '\\u2249',\r\n natur: '\\u266E',\r\n natural: '\\u266E',\r\n naturals: '\\u2115',\r\n nbsp: '\\u00A0',\r\n nbump: '\\u224E\\u0338',\r\n nbumpe: '\\u224F\\u0338',\r\n ncap: '\\u2A43',\r\n ncaron: '\\u0148',\r\n ncedil: '\\u0146',\r\n ncong: '\\u2247',\r\n ncongdot: '\\u2A6D\\u0338',\r\n ncup: '\\u2A42',\r\n ncy: '\\u043D',\r\n ndash: '\\u2013',\r\n ne: '\\u2260',\r\n neArr: '\\u21D7',\r\n nearhk: '\\u2924',\r\n nearr: '\\u2197',\r\n nearrow: '\\u2197',\r\n nedot: '\\u2250\\u0338',\r\n nequiv: '\\u2262',\r\n nesear: '\\u2928',\r\n nesim: '\\u2242\\u0338',\r\n nexist: '\\u2204',\r\n nexists: '\\u2204',\r\n nfr: '\\uD835\\uDD2B',\r\n ngE: '\\u2267\\u0338',\r\n nge: '\\u2271',\r\n ngeq: '\\u2271',\r\n ngeqq: '\\u2267\\u0338',\r\n ngeqslant: '\\u2A7E\\u0338',\r\n nges: '\\u2A7E\\u0338',\r\n ngsim: '\\u2275',\r\n ngt: '\\u226F',\r\n ngtr: '\\u226F',\r\n nhArr: '\\u21CE',\r\n nharr: '\\u21AE',\r\n nhpar: '\\u2AF2',\r\n ni: '\\u220B',\r\n nis: '\\u22FC',\r\n nisd: '\\u22FA',\r\n niv: '\\u220B',\r\n njcy: '\\u045A',\r\n nlArr: '\\u21CD',\r\n nlE: '\\u2266\\u0338',\r\n nlarr: '\\u219A',\r\n nldr: '\\u2025',\r\n nle: '\\u2270',\r\n nleftarrow: '\\u219A',\r\n nleftrightarrow: '\\u21AE',\r\n nleq: '\\u2270',\r\n nleqq: '\\u2266\\u0338',\r\n nleqslant: '\\u2A7D\\u0338',\r\n nles: '\\u2A7D\\u0338',\r\n nless: '\\u226E',\r\n nlsim: '\\u2274',\r\n nlt: '\\u226E',\r\n nltri: '\\u22EA',\r\n nltrie: '\\u22EC',\r\n nmid: '\\u2224',\r\n nopf: '\\uD835\\uDD5F',\r\n not: '\\u00AC',\r\n notin: '\\u2209',\r\n notinE: '\\u22F9\\u0338',\r\n notindot: '\\u22F5\\u0338',\r\n notinva: '\\u2209',\r\n notinvb: '\\u22F7',\r\n notinvc: '\\u22F6',\r\n notni: '\\u220C',\r\n notniva: '\\u220C',\r\n notnivb: '\\u22FE',\r\n notnivc: '\\u22FD',\r\n npar: '\\u2226',\r\n nparallel: '\\u2226',\r\n nparsl: '\\u2AFD\\u20E5',\r\n npart: '\\u2202\\u0338',\r\n npolint: '\\u2A14',\r\n npr: '\\u2280',\r\n nprcue: '\\u22E0',\r\n npre: '\\u2AAF\\u0338',\r\n nprec: '\\u2280',\r\n npreceq: '\\u2AAF\\u0338',\r\n nrArr: '\\u21CF',\r\n nrarr: '\\u219B',\r\n nrarrc: '\\u2933\\u0338',\r\n nrarrw: '\\u219D\\u0338',\r\n nrightarrow: '\\u219B',\r\n nrtri: '\\u22EB',\r\n nrtrie: '\\u22ED',\r\n nsc: '\\u2281',\r\n nsccue: '\\u22E1',\r\n nsce: '\\u2AB0\\u0338',\r\n nscr: '\\uD835\\uDCC3',\r\n nshortmid: '\\u2224',\r\n nshortparallel: '\\u2226',\r\n nsim: '\\u2241',\r\n nsime: '\\u2244',\r\n nsimeq: '\\u2244',\r\n nsmid: '\\u2224',\r\n nspar: '\\u2226',\r\n nsqsube: '\\u22E2',\r\n nsqsupe: '\\u22E3',\r\n nsub: '\\u2284',\r\n nsubE: '\\u2AC5\\u0338',\r\n nsube: '\\u2288',\r\n nsubset: '\\u2282\\u20D2',\r\n nsubseteq: '\\u2288',\r\n nsubseteqq: '\\u2AC5\\u0338',\r\n nsucc: '\\u2281',\r\n nsucceq: '\\u2AB0\\u0338',\r\n nsup: '\\u2285',\r\n nsupE: '\\u2AC6\\u0338',\r\n nsupe: '\\u2289',\r\n nsupset: '\\u2283\\u20D2',\r\n nsupseteq: '\\u2289',\r\n nsupseteqq: '\\u2AC6\\u0338',\r\n ntgl: '\\u2279',\r\n ntilde: '\\u00F1',\r\n ntlg: '\\u2278',\r\n ntriangleleft: '\\u22EA',\r\n ntrianglelefteq: '\\u22EC',\r\n ntriangleright: '\\u22EB',\r\n ntrianglerighteq: '\\u22ED',\r\n nu: '\\u03BD',\r\n num: '\\u0023',\r\n numero: '\\u2116',\r\n numsp: '\\u2007',\r\n nvDash: '\\u22AD',\r\n nvHarr: '\\u2904',\r\n nvap: '\\u224D\\u20D2',\r\n nvdash: '\\u22AC',\r\n nvge: '\\u2265\\u20D2',\r\n nvgt: '\\u003E\\u20D2',\r\n nvinfin: '\\u29DE',\r\n nvlArr: '\\u2902',\r\n nvle: '\\u2264\\u20D2',\r\n nvlt: '\\u003C\\u20D2',\r\n nvltrie: '\\u22B4\\u20D2',\r\n nvrArr: '\\u2903',\r\n nvrtrie: '\\u22B5\\u20D2',\r\n nvsim: '\\u223C\\u20D2',\r\n nwArr: '\\u21D6',\r\n nwarhk: '\\u2923',\r\n nwarr: '\\u2196',\r\n nwarrow: '\\u2196',\r\n nwnear: '\\u2927',\r\n oS: '\\u24C8',\r\n oacute: '\\u00F3',\r\n oast: '\\u229B',\r\n ocir: '\\u229A',\r\n ocirc: '\\u00F4',\r\n ocy: '\\u043E',\r\n odash: '\\u229D',\r\n odblac: '\\u0151',\r\n odiv: '\\u2A38',\r\n odot: '\\u2299',\r\n odsold: '\\u29BC',\r\n oelig: '\\u0153',\r\n ofcir: '\\u29BF',\r\n ofr: '\\uD835\\uDD2C',\r\n ogon: '\\u02DB',\r\n ograve: '\\u00F2',\r\n ogt: '\\u29C1',\r\n ohbar: '\\u29B5',\r\n ohm: '\\u03A9',\r\n oint: '\\u222E',\r\n olarr: '\\u21BA',\r\n olcir: '\\u29BE',\r\n olcross: '\\u29BB',\r\n oline: '\\u203E',\r\n olt: '\\u29C0',\r\n omacr: '\\u014D',\r\n omega: '\\u03C9',\r\n omicron: '\\u03BF',\r\n omid: '\\u29B6',\r\n ominus: '\\u2296',\r\n oopf: '\\uD835\\uDD60',\r\n opar: '\\u29B7',\r\n operp: '\\u29B9',\r\n oplus: '\\u2295',\r\n or: '\\u2228',\r\n orarr: '\\u21BB',\r\n ord: '\\u2A5D',\r\n order: '\\u2134',\r\n orderof: '\\u2134',\r\n ordf: '\\u00AA',\r\n ordm: '\\u00BA',\r\n origof: '\\u22B6',\r\n oror: '\\u2A56',\r\n orslope: '\\u2A57',\r\n orv: '\\u2A5B',\r\n oscr: '\\u2134',\r\n oslash: '\\u00F8',\r\n osol: '\\u2298',\r\n otilde: '\\u00F5',\r\n otimes: '\\u2297',\r\n otimesas: '\\u2A36',\r\n ouml: '\\u00F6',\r\n ovbar: '\\u233D',\r\n par: '\\u2225',\r\n para: '\\u00B6',\r\n parallel: '\\u2225',\r\n parsim: '\\u2AF3',\r\n parsl: '\\u2AFD',\r\n part: '\\u2202',\r\n pcy: '\\u043F',\r\n percnt: '\\u0025',\r\n period: '\\u002E',\r\n permil: '\\u2030',\r\n perp: '\\u22A5',\r\n pertenk: '\\u2031',\r\n pfr: '\\uD835\\uDD2D',\r\n phi: '\\u03C6',\r\n phiv: '\\u03D5',\r\n phmmat: '\\u2133',\r\n phone: '\\u260E',\r\n pi: '\\u03C0',\r\n pitchfork: '\\u22D4',\r\n piv: '\\u03D6',\r\n planck: '\\u210F',\r\n planckh: '\\u210E',\r\n plankv: '\\u210F',\r\n plus: '\\u002B',\r\n plusacir: '\\u2A23',\r\n plusb: '\\u229E',\r\n pluscir: '\\u2A22',\r\n plusdo: '\\u2214',\r\n plusdu: '\\u2A25',\r\n pluse: '\\u2A72',\r\n plusmn: '\\u00B1',\r\n plussim: '\\u2A26',\r\n plustwo: '\\u2A27',\r\n pm: '\\u00B1',\r\n pointint: '\\u2A15',\r\n popf: '\\uD835\\uDD61',\r\n pound: '\\u00A3',\r\n pr: '\\u227A',\r\n prE: '\\u2AB3',\r\n prap: '\\u2AB7',\r\n prcue: '\\u227C',\r\n pre: '\\u2AAF',\r\n prec: '\\u227A',\r\n precapprox: '\\u2AB7',\r\n preccurlyeq: '\\u227C',\r\n preceq: '\\u2AAF',\r\n precnapprox: '\\u2AB9',\r\n precneqq: '\\u2AB5',\r\n precnsim: '\\u22E8',\r\n precsim: '\\u227E',\r\n prime: '\\u2032',\r\n primes: '\\u2119',\r\n prnE: '\\u2AB5',\r\n prnap: '\\u2AB9',\r\n prnsim: '\\u22E8',\r\n prod: '\\u220F',\r\n profalar: '\\u232E',\r\n profline: '\\u2312',\r\n profsurf: '\\u2313',\r\n prop: '\\u221D',\r\n propto: '\\u221D',\r\n prsim: '\\u227E',\r\n prurel: '\\u22B0',\r\n pscr: '\\uD835\\uDCC5',\r\n psi: '\\u03C8',\r\n puncsp: '\\u2008',\r\n qfr: '\\uD835\\uDD2E',\r\n qint: '\\u2A0C',\r\n qopf: '\\uD835\\uDD62',\r\n qprime: '\\u2057',\r\n qscr: '\\uD835\\uDCC6',\r\n quaternions: '\\u210D',\r\n quatint: '\\u2A16',\r\n quest: '\\u003F',\r\n questeq: '\\u225F',\r\n quot: '\\u0022',\r\n rAarr: '\\u21DB',\r\n rArr: '\\u21D2',\r\n rAtail: '\\u291C',\r\n rBarr: '\\u290F',\r\n rHar: '\\u2964',\r\n race: '\\u223D\\u0331',\r\n racute: '\\u0155',\r\n radic: '\\u221A',\r\n raemptyv: '\\u29B3',\r\n rang: '\\u27E9',\r\n rangd: '\\u2992',\r\n range: '\\u29A5',\r\n rangle: '\\u27E9',\r\n raquo: '\\u00BB',\r\n rarr: '\\u2192',\r\n rarrap: '\\u2975',\r\n rarrb: '\\u21E5',\r\n rarrbfs: '\\u2920',\r\n rarrc: '\\u2933',\r\n rarrfs: '\\u291E',\r\n rarrhk: '\\u21AA',\r\n rarrlp: '\\u21AC',\r\n rarrpl: '\\u2945',\r\n rarrsim: '\\u2974',\r\n rarrtl: '\\u21A3',\r\n rarrw: '\\u219D',\r\n ratail: '\\u291A',\r\n ratio: '\\u2236',\r\n rationals: '\\u211A',\r\n rbarr: '\\u290D',\r\n rbbrk: '\\u2773',\r\n rbrace: '\\u007D',\r\n rbrack: '\\u005D',\r\n rbrke: '\\u298C',\r\n rbrksld: '\\u298E',\r\n rbrkslu: '\\u2990',\r\n rcaron: '\\u0159',\r\n rcedil: '\\u0157',\r\n rceil: '\\u2309',\r\n rcub: '\\u007D',\r\n rcy: '\\u0440',\r\n rdca: '\\u2937',\r\n rdldhar: '\\u2969',\r\n rdquo: '\\u201D',\r\n rdquor: '\\u201D',\r\n rdsh: '\\u21B3',\r\n real: '\\u211C',\r\n realine: '\\u211B',\r\n realpart: '\\u211C',\r\n reals: '\\u211D',\r\n rect: '\\u25AD',\r\n reg: '\\u00AE',\r\n rfisht: '\\u297D',\r\n rfloor: '\\u230B',\r\n rfr: '\\uD835\\uDD2F',\r\n rhard: '\\u21C1',\r\n rharu: '\\u21C0',\r\n rharul: '\\u296C',\r\n rho: '\\u03C1',\r\n rhov: '\\u03F1',\r\n rightarrow: '\\u2192',\r\n rightarrowtail: '\\u21A3',\r\n rightharpoondown: '\\u21C1',\r\n rightharpoonup: '\\u21C0',\r\n rightleftarrows: '\\u21C4',\r\n rightleftharpoons: '\\u21CC',\r\n rightrightarrows: '\\u21C9',\r\n rightsquigarrow: '\\u219D',\r\n rightthreetimes: '\\u22CC',\r\n ring: '\\u02DA',\r\n risingdotseq: '\\u2253',\r\n rlarr: '\\u21C4',\r\n rlhar: '\\u21CC',\r\n rlm: '\\u200F',\r\n rmoust: '\\u23B1',\r\n rmoustache: '\\u23B1',\r\n rnmid: '\\u2AEE',\r\n roang: '\\u27ED',\r\n roarr: '\\u21FE',\r\n robrk: '\\u27E7',\r\n ropar: '\\u2986',\r\n ropf: '\\uD835\\uDD63',\r\n roplus: '\\u2A2E',\r\n rotimes: '\\u2A35',\r\n rpar: '\\u0029',\r\n rpargt: '\\u2994',\r\n rppolint: '\\u2A12',\r\n rrarr: '\\u21C9',\r\n rsaquo: '\\u203A',\r\n rscr: '\\uD835\\uDCC7',\r\n rsh: '\\u21B1',\r\n rsqb: '\\u005D',\r\n rsquo: '\\u2019',\r\n rsquor: '\\u2019',\r\n rthree: '\\u22CC',\r\n rtimes: '\\u22CA',\r\n rtri: '\\u25B9',\r\n rtrie: '\\u22B5',\r\n rtrif: '\\u25B8',\r\n rtriltri: '\\u29CE',\r\n ruluhar: '\\u2968',\r\n rx: '\\u211E',\r\n sacute: '\\u015B',\r\n sbquo: '\\u201A',\r\n sc: '\\u227B',\r\n scE: '\\u2AB4',\r\n scap: '\\u2AB8',\r\n scaron: '\\u0161',\r\n sccue: '\\u227D',\r\n sce: '\\u2AB0',\r\n scedil: '\\u015F',\r\n scirc: '\\u015D',\r\n scnE: '\\u2AB6',\r\n scnap: '\\u2ABA',\r\n scnsim: '\\u22E9',\r\n scpolint: '\\u2A13',\r\n scsim: '\\u227F',\r\n scy: '\\u0441',\r\n sdot: '\\u22C5',\r\n sdotb: '\\u22A1',\r\n sdote: '\\u2A66',\r\n seArr: '\\u21D8',\r\n searhk: '\\u2925',\r\n searr: '\\u2198',\r\n searrow: '\\u2198',\r\n sect: '\\u00A7',\r\n semi: '\\u003B',\r\n seswar: '\\u2929',\r\n setminus: '\\u2216',\r\n setmn: '\\u2216',\r\n sext: '\\u2736',\r\n sfr: '\\uD835\\uDD30',\r\n sfrown: '\\u2322',\r\n sharp: '\\u266F',\r\n shchcy: '\\u0449',\r\n shcy: '\\u0448',\r\n shortmid: '\\u2223',\r\n shortparallel: '\\u2225',\r\n shy: '\\u00AD',\r\n sigma: '\\u03C3',\r\n sigmaf: '\\u03C2',\r\n sigmav: '\\u03C2',\r\n sim: '\\u223C',\r\n simdot: '\\u2A6A',\r\n sime: '\\u2243',\r\n simeq: '\\u2243',\r\n simg: '\\u2A9E',\r\n simgE: '\\u2AA0',\r\n siml: '\\u2A9D',\r\n simlE: '\\u2A9F',\r\n simne: '\\u2246',\r\n simplus: '\\u2A24',\r\n simrarr: '\\u2972',\r\n slarr: '\\u2190',\r\n smallsetminus: '\\u2216',\r\n smashp: '\\u2A33',\r\n smeparsl: '\\u29E4',\r\n smid: '\\u2223',\r\n smile: '\\u2323',\r\n smt: '\\u2AAA',\r\n smte: '\\u2AAC',\r\n smtes: '\\u2AAC\\uFE00',\r\n softcy: '\\u044C',\r\n sol: '\\u002F',\r\n solb: '\\u29C4',\r\n solbar: '\\u233F',\r\n sopf: '\\uD835\\uDD64',\r\n spades: '\\u2660',\r\n spadesuit: '\\u2660',\r\n spar: '\\u2225',\r\n sqcap: '\\u2293',\r\n sqcaps: '\\u2293\\uFE00',\r\n sqcup: '\\u2294',\r\n sqcups: '\\u2294\\uFE00',\r\n sqsub: '\\u228F',\r\n sqsube: '\\u2291',\r\n sqsubset: '\\u228F',\r\n sqsubseteq: '\\u2291',\r\n sqsup: '\\u2290',\r\n sqsupe: '\\u2292',\r\n sqsupset: '\\u2290',\r\n sqsupseteq: '\\u2292',\r\n squ: '\\u25A1',\r\n square: '\\u25A1',\r\n squarf: '\\u25AA',\r\n squf: '\\u25AA',\r\n srarr: '\\u2192',\r\n sscr: '\\uD835\\uDCC8',\r\n ssetmn: '\\u2216',\r\n ssmile: '\\u2323',\r\n sstarf: '\\u22C6',\r\n star: '\\u2606',\r\n starf: '\\u2605',\r\n straightepsilon: '\\u03F5',\r\n straightphi: '\\u03D5',\r\n strns: '\\u00AF',\r\n sub: '\\u2282',\r\n subE: '\\u2AC5',\r\n subdot: '\\u2ABD',\r\n sube: '\\u2286',\r\n subedot: '\\u2AC3',\r\n submult: '\\u2AC1',\r\n subnE: '\\u2ACB',\r\n subne: '\\u228A',\r\n subplus: '\\u2ABF',\r\n subrarr: '\\u2979',\r\n subset: '\\u2282',\r\n subseteq: '\\u2286',\r\n subseteqq: '\\u2AC5',\r\n subsetneq: '\\u228A',\r\n subsetneqq: '\\u2ACB',\r\n subsim: '\\u2AC7',\r\n subsub: '\\u2AD5',\r\n subsup: '\\u2AD3',\r\n succ: '\\u227B',\r\n succapprox: '\\u2AB8',\r\n succcurlyeq: '\\u227D',\r\n succeq: '\\u2AB0',\r\n succnapprox: '\\u2ABA',\r\n succneqq: '\\u2AB6',\r\n succnsim: '\\u22E9',\r\n succsim: '\\u227F',\r\n sum: '\\u2211',\r\n sung: '\\u266A',\r\n sup1: '\\u00B9',\r\n sup2: '\\u00B2',\r\n sup3: '\\u00B3',\r\n sup: '\\u2283',\r\n supE: '\\u2AC6',\r\n supdot: '\\u2ABE',\r\n supdsub: '\\u2AD8',\r\n supe: '\\u2287',\r\n supedot: '\\u2AC4',\r\n suphsol: '\\u27C9',\r\n suphsub: '\\u2AD7',\r\n suplarr: '\\u297B',\r\n supmult: '\\u2AC2',\r\n supnE: '\\u2ACC',\r\n supne: '\\u228B',\r\n supplus: '\\u2AC0',\r\n supset: '\\u2283',\r\n supseteq: '\\u2287',\r\n supseteqq: '\\u2AC6',\r\n supsetneq: '\\u228B',\r\n supsetneqq: '\\u2ACC',\r\n supsim: '\\u2AC8',\r\n supsub: '\\u2AD4',\r\n supsup: '\\u2AD6',\r\n swArr: '\\u21D9',\r\n swarhk: '\\u2926',\r\n swarr: '\\u2199',\r\n swarrow: '\\u2199',\r\n swnwar: '\\u292A',\r\n szlig: '\\u00DF',\r\n target: '\\u2316',\r\n tau: '\\u03C4',\r\n tbrk: '\\u23B4',\r\n tcaron: '\\u0165',\r\n tcedil: '\\u0163',\r\n tcy: '\\u0442',\r\n tdot: '\\u20DB',\r\n telrec: '\\u2315',\r\n tfr: '\\uD835\\uDD31',\r\n there4: '\\u2234',\r\n therefore: '\\u2234',\r\n theta: '\\u03B8',\r\n thetasym: '\\u03D1',\r\n thetav: '\\u03D1',\r\n thickapprox: '\\u2248',\r\n thicksim: '\\u223C',\r\n thinsp: '\\u2009',\r\n thkap: '\\u2248',\r\n thksim: '\\u223C',\r\n thorn: '\\u00FE',\r\n tilde: '\\u02DC',\r\n times: '\\u00D7',\r\n timesb: '\\u22A0',\r\n timesbar: '\\u2A31',\r\n timesd: '\\u2A30',\r\n tint: '\\u222D',\r\n toea: '\\u2928',\r\n top: '\\u22A4',\r\n topbot: '\\u2336',\r\n topcir: '\\u2AF1',\r\n topf: '\\uD835\\uDD65',\r\n topfork: '\\u2ADA',\r\n tosa: '\\u2929',\r\n tprime: '\\u2034',\r\n trade: '\\u2122',\r\n triangle: '\\u25B5',\r\n triangledown: '\\u25BF',\r\n triangleleft: '\\u25C3',\r\n trianglelefteq: '\\u22B4',\r\n triangleq: '\\u225C',\r\n triangleright: '\\u25B9',\r\n trianglerighteq: '\\u22B5',\r\n tridot: '\\u25EC',\r\n trie: '\\u225C',\r\n triminus: '\\u2A3A',\r\n triplus: '\\u2A39',\r\n trisb: '\\u29CD',\r\n tritime: '\\u2A3B',\r\n trpezium: '\\u23E2',\r\n tscr: '\\uD835\\uDCC9',\r\n tscy: '\\u0446',\r\n tshcy: '\\u045B',\r\n tstrok: '\\u0167',\r\n twixt: '\\u226C',\r\n twoheadleftarrow: '\\u219E',\r\n twoheadrightarrow: '\\u21A0',\r\n uArr: '\\u21D1',\r\n uHar: '\\u2963',\r\n uacute: '\\u00FA',\r\n uarr: '\\u2191',\r\n ubrcy: '\\u045E',\r\n ubreve: '\\u016D',\r\n ucirc: '\\u00FB',\r\n ucy: '\\u0443',\r\n udarr: '\\u21C5',\r\n udblac: '\\u0171',\r\n udhar: '\\u296E',\r\n ufisht: '\\u297E',\r\n ufr: '\\uD835\\uDD32',\r\n ugrave: '\\u00F9',\r\n uharl: '\\u21BF',\r\n uharr: '\\u21BE',\r\n uhblk: '\\u2580',\r\n ulcorn: '\\u231C',\r\n ulcorner: '\\u231C',\r\n ulcrop: '\\u230F',\r\n ultri: '\\u25F8',\r\n umacr: '\\u016B',\r\n uml: '\\u00A8',\r\n uogon: '\\u0173',\r\n uopf: '\\uD835\\uDD66',\r\n uparrow: '\\u2191',\r\n updownarrow: '\\u2195',\r\n upharpoonleft: '\\u21BF',\r\n upharpoonright: '\\u21BE',\r\n uplus: '\\u228E',\r\n upsi: '\\u03C5',\r\n upsih: '\\u03D2',\r\n upsilon: '\\u03C5',\r\n upuparrows: '\\u21C8',\r\n urcorn: '\\u231D',\r\n urcorner: '\\u231D',\r\n urcrop: '\\u230E',\r\n uring: '\\u016F',\r\n urtri: '\\u25F9',\r\n uscr: '\\uD835\\uDCCA',\r\n utdot: '\\u22F0',\r\n utilde: '\\u0169',\r\n utri: '\\u25B5',\r\n utrif: '\\u25B4',\r\n uuarr: '\\u21C8',\r\n uuml: '\\u00FC',\r\n uwangle: '\\u29A7',\r\n vArr: '\\u21D5',\r\n vBar: '\\u2AE8',\r\n vBarv: '\\u2AE9',\r\n vDash: '\\u22A8',\r\n vangrt: '\\u299C',\r\n varepsilon: '\\u03F5',\r\n varkappa: '\\u03F0',\r\n varnothing: '\\u2205',\r\n varphi: '\\u03D5',\r\n varpi: '\\u03D6',\r\n varpropto: '\\u221D',\r\n varr: '\\u2195',\r\n varrho: '\\u03F1',\r\n varsigma: '\\u03C2',\r\n varsubsetneq: '\\u228A\\uFE00',\r\n varsubsetneqq: '\\u2ACB\\uFE00',\r\n varsupsetneq: '\\u228B\\uFE00',\r\n varsupsetneqq: '\\u2ACC\\uFE00',\r\n vartheta: '\\u03D1',\r\n vartriangleleft: '\\u22B2',\r\n vartriangleright: '\\u22B3',\r\n vcy: '\\u0432',\r\n vdash: '\\u22A2',\r\n vee: '\\u2228',\r\n veebar: '\\u22BB',\r\n veeeq: '\\u225A',\r\n vellip: '\\u22EE',\r\n verbar: '\\u007C',\r\n vert: '\\u007C',\r\n vfr: '\\uD835\\uDD33',\r\n vltri: '\\u22B2',\r\n vnsub: '\\u2282\\u20D2',\r\n vnsup: '\\u2283\\u20D2',\r\n vopf: '\\uD835\\uDD67',\r\n vprop: '\\u221D',\r\n vrtri: '\\u22B3',\r\n vscr: '\\uD835\\uDCCB',\r\n vsubnE: '\\u2ACB\\uFE00',\r\n vsubne: '\\u228A\\uFE00',\r\n vsupnE: '\\u2ACC\\uFE00',\r\n vsupne: '\\u228B\\uFE00',\r\n vzigzag: '\\u299A',\r\n wcirc: '\\u0175',\r\n wedbar: '\\u2A5F',\r\n wedge: '\\u2227',\r\n wedgeq: '\\u2259',\r\n weierp: '\\u2118',\r\n wfr: '\\uD835\\uDD34',\r\n wopf: '\\uD835\\uDD68',\r\n wp: '\\u2118',\r\n wr: '\\u2240',\r\n wreath: '\\u2240',\r\n wscr: '\\uD835\\uDCCC',\r\n xcap: '\\u22C2',\r\n xcirc: '\\u25EF',\r\n xcup: '\\u22C3',\r\n xdtri: '\\u25BD',\r\n xfr: '\\uD835\\uDD35',\r\n xhArr: '\\u27FA',\r\n xharr: '\\u27F7',\r\n xi: '\\u03BE',\r\n xlArr: '\\u27F8',\r\n xlarr: '\\u27F5',\r\n xmap: '\\u27FC',\r\n xnis: '\\u22FB',\r\n xodot: '\\u2A00',\r\n xopf: '\\uD835\\uDD69',\r\n xoplus: '\\u2A01',\r\n xotime: '\\u2A02',\r\n xrArr: '\\u27F9',\r\n xrarr: '\\u27F6',\r\n xscr: '\\uD835\\uDCCD',\r\n xsqcup: '\\u2A06',\r\n xuplus: '\\u2A04',\r\n xutri: '\\u25B3',\r\n xvee: '\\u22C1',\r\n xwedge: '\\u22C0',\r\n yacute: '\\u00FD',\r\n yacy: '\\u044F',\r\n ycirc: '\\u0177',\r\n ycy: '\\u044B',\r\n yen: '\\u00A5',\r\n yfr: '\\uD835\\uDD36',\r\n yicy: '\\u0457',\r\n yopf: '\\uD835\\uDD6A',\r\n yscr: '\\uD835\\uDCCE',\r\n yucy: '\\u044E',\r\n yuml: '\\u00FF',\r\n zacute: '\\u017A',\r\n zcaron: '\\u017E',\r\n zcy: '\\u0437',\r\n zdot: '\\u017C',\r\n zeetrf: '\\u2128',\r\n zeta: '\\u03B6',\r\n zfr: '\\uD835\\uDD37',\r\n zhcy: '\\u0436',\r\n zigrarr: '\\u21DD',\r\n zopf: '\\uD835\\uDD6B',\r\n zscr: '\\uD835\\uDCCF',\r\n zwj: '\\u200D',\r\n zwnj: '\\u200C'\r\n};\r\nconst decodeMap = {\r\n '0': 65533,\r\n '128': 8364,\r\n '130': 8218,\r\n '131': 402,\r\n '132': 8222,\r\n '133': 8230,\r\n '134': 8224,\r\n '135': 8225,\r\n '136': 710,\r\n '137': 8240,\r\n '138': 352,\r\n '139': 8249,\r\n '140': 338,\r\n '142': 381,\r\n '145': 8216,\r\n '146': 8217,\r\n '147': 8220,\r\n '148': 8221,\r\n '149': 8226,\r\n '150': 8211,\r\n '151': 8212,\r\n '152': 732,\r\n '153': 8482,\r\n '154': 353,\r\n '155': 8250,\r\n '156': 339,\r\n '158': 382,\r\n '159': 376\r\n};\r\nfunction decodeHTMLStrict(text) {\r\n return text.replace(/&(?:[a-zA-Z]+|#[xX][\\da-fA-F]+|#\\d+);/g, (key) => {\r\n if (key.charAt(1) === '#') {\r\n const secondChar = key.charAt(2);\r\n const codePoint = secondChar === 'X' || secondChar === 'x'\r\n ? parseInt(key.slice(3), 16)\r\n : parseInt(key.slice(2), 10);\r\n return decodeCodePoint(codePoint);\r\n }\r\n return entities[key.slice(1, -1)] || key;\r\n });\r\n}\r\nfunction decodeCodePoint(codePoint) {\r\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\r\n return '\\uFFFD';\r\n }\r\n if (codePoint in decodeMap) {\r\n codePoint = decodeMap[codePoint];\r\n }\r\n return String.fromCodePoint(codePoint);\r\n}\n\nfunction scanJSXAttributeValue(parser, context) {\r\n parser.startPos = parser.tokenPos = parser.index;\r\n parser.startColumn = parser.colPos = parser.column;\r\n parser.startLine = parser.linePos = parser.line;\r\n parser.token =\r\n CharTypes[parser.currentChar] & 8192\r\n ? scanJSXString(parser, context)\r\n : scanSingleToken(parser, context, 0);\r\n return parser.token;\r\n}\r\nfunction scanJSXString(parser, context) {\r\n const quote = parser.currentChar;\r\n let char = advanceChar(parser);\r\n const start = parser.index;\r\n while (char !== quote) {\r\n if (parser.index >= parser.end)\r\n report(parser, 14);\r\n char = advanceChar(parser);\r\n }\r\n if (char !== quote)\r\n report(parser, 14);\r\n parser.tokenValue = parser.source.slice(start, parser.index);\r\n advanceChar(parser);\r\n if (context & 512)\r\n parser.tokenRaw = parser.source.slice(parser.tokenPos, parser.index);\r\n return 134283267;\r\n}\r\nfunction scanJSXToken(parser, context) {\r\n parser.startPos = parser.tokenPos = parser.index;\r\n parser.startColumn = parser.colPos = parser.column;\r\n parser.startLine = parser.linePos = parser.line;\r\n if (parser.index >= parser.end)\r\n return (parser.token = 1048576);\r\n const token = TokenLookup[parser.source.charCodeAt(parser.index)];\r\n switch (token) {\r\n case 8456258: {\r\n advanceChar(parser);\r\n if (parser.currentChar === 47) {\r\n advanceChar(parser);\r\n parser.token = 25;\r\n }\r\n else {\r\n parser.token = 8456258;\r\n }\r\n break;\r\n }\r\n case 2162700: {\r\n advanceChar(parser);\r\n parser.token = 2162700;\r\n break;\r\n }\r\n default: {\r\n let state = 0;\r\n while (parser.index < parser.end) {\r\n const type = CharTypes[parser.source.charCodeAt(parser.index)];\r\n if (type & 1024) {\r\n state |= 1 | 4;\r\n scanNewLine(parser);\r\n }\r\n else if (type & 2048) {\r\n consumeLineFeed(parser, state);\r\n state = (state & ~4) | 1;\r\n }\r\n else {\r\n advanceChar(parser);\r\n }\r\n if (CharTypes[parser.currentChar] & 16384)\r\n break;\r\n }\r\n const raw = parser.source.slice(parser.tokenPos, parser.index);\r\n if (context & 512)\r\n parser.tokenRaw = raw;\r\n parser.tokenValue = decodeHTMLStrict(raw);\r\n parser.token = 138;\r\n }\r\n }\r\n return parser.token;\r\n}\r\nfunction scanJSXIdentifier(parser) {\r\n if ((parser.token & 143360) === 143360) {\r\n const { index } = parser;\r\n let char = parser.currentChar;\r\n while (CharTypes[char] & (32768 | 2)) {\r\n char = advanceChar(parser);\r\n }\r\n parser.tokenValue += parser.source.slice(index, parser.index);\r\n }\r\n parser.token = 208897;\r\n return parser.token;\r\n}\n\nfunction matchOrInsertSemicolon(parser, context) {\r\n if ((parser.flags & 1) === 0 &&\r\n (parser.token & 1048576) !== 1048576) {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n if (!consumeOpt(parser, context, 1074790417)) {\r\n parser.onInsertedSemicolon?.(parser.startPos);\r\n }\r\n}\r\nfunction isValidStrictMode(parser, index, tokenPos, tokenValue) {\r\n if (index - tokenPos < 13 && tokenValue === 'use strict') {\r\n if ((parser.token & 1048576) === 1048576 || parser.flags & 1) {\r\n return 1;\r\n }\r\n }\r\n return 0;\r\n}\r\nfunction optionalBit(parser, context, t) {\r\n if (parser.token !== t)\r\n return 0;\r\n nextToken(parser, context);\r\n return 1;\r\n}\r\nfunction consumeOpt(parser, context, t) {\r\n if (parser.token !== t)\r\n return false;\r\n nextToken(parser, context);\r\n return true;\r\n}\r\nfunction consume(parser, context, t) {\r\n if (parser.token !== t)\r\n report(parser, 23, KeywordDescTable[t & 255]);\r\n nextToken(parser, context);\r\n}\r\nfunction reinterpretToPattern(state, node) {\r\n switch (node.type) {\r\n case 'ArrayExpression':\r\n node.type = 'ArrayPattern';\r\n const elements = node.elements;\r\n for (let i = 0, n = elements.length; i < n; ++i) {\r\n const element = elements[i];\r\n if (element)\r\n reinterpretToPattern(state, element);\r\n }\r\n return;\r\n case 'ObjectExpression':\r\n node.type = 'ObjectPattern';\r\n const properties = node.properties;\r\n for (let i = 0, n = properties.length; i < n; ++i) {\r\n reinterpretToPattern(state, properties[i]);\r\n }\r\n return;\r\n case 'AssignmentExpression':\r\n node.type = 'AssignmentPattern';\r\n if (node.operator !== '=')\r\n report(state, 69);\r\n delete node.operator;\r\n reinterpretToPattern(state, node.left);\r\n return;\r\n case 'Property':\r\n reinterpretToPattern(state, node.value);\r\n return;\r\n case 'SpreadElement':\r\n node.type = 'RestElement';\r\n reinterpretToPattern(state, node.argument);\r\n }\r\n}\r\nfunction validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) {\r\n if (context & 1024) {\r\n if ((t & 36864) === 36864) {\r\n report(parser, 115);\r\n }\r\n if (!skipEvalArgCheck && (t & 537079808) === 537079808) {\r\n report(parser, 116);\r\n }\r\n }\r\n if ((t & 20480) === 20480) {\r\n report(parser, 100);\r\n }\r\n if (kind & (8 | 16) && t === 241739) {\r\n report(parser, 98);\r\n }\r\n if (context & (4194304 | 2048) && t === 209008) {\r\n report(parser, 96);\r\n }\r\n if (context & (2097152 | 1024) && t === 241773) {\r\n report(parser, 95, 'yield');\r\n }\r\n}\r\nfunction validateFunctionName(parser, context, t) {\r\n if (context & 1024) {\r\n if ((t & 36864) === 36864) {\r\n report(parser, 115);\r\n }\r\n if ((t & 537079808) === 537079808) {\r\n report(parser, 116);\r\n }\r\n if (t === 122) {\r\n report(parser, 93);\r\n }\r\n if (t === 121) {\r\n report(parser, 93);\r\n }\r\n }\r\n if ((t & 20480) === 20480) {\r\n report(parser, 100);\r\n }\r\n if (context & (4194304 | 2048) && t === 209008) {\r\n report(parser, 96);\r\n }\r\n if (context & (2097152 | 1024) && t === 241773) {\r\n report(parser, 95, 'yield');\r\n }\r\n}\r\nfunction isStrictReservedWord(parser, context, t) {\r\n if (t === 209008) {\r\n if (context & (4194304 | 2048))\r\n report(parser, 96);\r\n parser.destructible |= 128;\r\n }\r\n if (t === 241773 && context & 2097152)\r\n report(parser, 95, 'yield');\r\n return ((t & 20480) === 20480 ||\r\n (t & 36864) === 36864 ||\r\n t == 122);\r\n}\r\nfunction isPropertyWithPrivateFieldKey(expr) {\r\n return !expr.property ? false : expr.property.type === 'PrivateIdentifier';\r\n}\r\nfunction isValidLabel(parser, labels, name, isIterationStatement) {\r\n while (labels) {\r\n if (labels['$' + name]) {\r\n if (isIterationStatement)\r\n report(parser, 134);\r\n return 1;\r\n }\r\n if (isIterationStatement && labels.loop)\r\n isIterationStatement = 0;\r\n labels = labels['$'];\r\n }\r\n return 0;\r\n}\r\nfunction validateAndDeclareLabel(parser, labels, name) {\r\n let set = labels;\r\n while (set) {\r\n if (set['$' + name])\r\n report(parser, 133, name);\r\n set = set['$'];\r\n }\r\n labels['$' + name] = 1;\r\n}\r\nfunction finishNode(parser, context, start, line, column, node) {\r\n if (context & 2) {\r\n node.start = start;\r\n node.end = parser.startPos;\r\n node.range = [start, parser.startPos];\r\n }\r\n if (context & 4) {\r\n node.loc = {\r\n start: {\r\n line,\r\n column\r\n },\r\n end: {\r\n line: parser.startLine,\r\n column: parser.startColumn\r\n }\r\n };\r\n if (parser.sourceFile) {\r\n node.loc.source = parser.sourceFile;\r\n }\r\n }\r\n return node;\r\n}\r\nfunction isEqualTagName(elementName) {\r\n switch (elementName.type) {\r\n case 'JSXIdentifier':\r\n return elementName.name;\r\n case 'JSXNamespacedName':\r\n return elementName.namespace + ':' + elementName.name;\r\n case 'JSXMemberExpression':\r\n return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property);\r\n }\r\n}\r\nfunction createArrowHeadParsingScope(parser, context, value) {\r\n const scope = addChildScope(createScope(), 1024);\r\n addBlockName(parser, context, scope, value, 1, 0);\r\n return scope;\r\n}\r\nfunction recordScopeError(parser, type, ...params) {\r\n const { index, line, column } = parser;\r\n return {\r\n type,\r\n params,\r\n index,\r\n line,\r\n column\r\n };\r\n}\r\nfunction createScope() {\r\n return {\r\n parent: void 0,\r\n type: 2\r\n };\r\n}\r\nfunction addChildScope(parent, type) {\r\n return {\r\n parent,\r\n type,\r\n scopeError: void 0\r\n };\r\n}\r\nfunction addVarOrBlock(parser, context, scope, name, kind, origin) {\r\n if (kind & 4) {\r\n addVarName(parser, context, scope, name, kind);\r\n }\r\n else {\r\n addBlockName(parser, context, scope, name, kind, origin);\r\n }\r\n if (origin & 64) {\r\n declareUnboundVariable(parser, name);\r\n }\r\n}\r\nfunction addBlockName(parser, context, scope, name, kind, origin) {\r\n const value = scope['#' + name];\r\n if (value && (value & 2) === 0) {\r\n if (kind & 1) {\r\n scope.scopeError = recordScopeError(parser, 141, name);\r\n }\r\n else if (context & 256 &&\r\n value & 64 &&\r\n origin & 2) ;\r\n else {\r\n report(parser, 141, name);\r\n }\r\n }\r\n if (scope.type & 128 &&\r\n (scope.parent['#' + name] && (scope.parent['#' + name] & 2) === 0)) {\r\n report(parser, 141, name);\r\n }\r\n if (scope.type & 1024 && value && (value & 2) === 0) {\r\n if (kind & 1) {\r\n scope.scopeError = recordScopeError(parser, 141, name);\r\n }\r\n }\r\n if (scope.type & 64) {\r\n if (scope.parent['#' + name] & 768)\r\n report(parser, 154, name);\r\n }\r\n scope['#' + name] = kind;\r\n}\r\nfunction addVarName(parser, context, scope, name, kind) {\r\n let currentScope = scope;\r\n while (currentScope && (currentScope.type & 256) === 0) {\r\n const value = currentScope['#' + name];\r\n if (value & 248) {\r\n if (context & 256 &&\r\n (context & 1024) === 0 &&\r\n ((kind & 128 && value & 68) ||\r\n (value & 128 && kind & 68))) ;\r\n else {\r\n report(parser, 141, name);\r\n }\r\n }\r\n if (currentScope === scope) {\r\n if (value & 1 && kind & 1) {\r\n currentScope.scopeError = recordScopeError(parser, 141, name);\r\n }\r\n }\r\n if (value & (512 | 256)) {\r\n if ((value & 512) === 0 ||\r\n (context & 256) === 0 ||\r\n context & 1024) {\r\n report(parser, 141, name);\r\n }\r\n }\r\n currentScope['#' + name] = kind;\r\n currentScope = currentScope.parent;\r\n }\r\n}\r\nfunction declareUnboundVariable(parser, name) {\r\n if (parser.exportedNames !== void 0 && name !== '') {\r\n if (parser.exportedNames['#' + name]) {\r\n report(parser, 142, name);\r\n }\r\n parser.exportedNames['#' + name] = 1;\r\n }\r\n}\r\nfunction addBindingToExports(parser, name) {\r\n if (parser.exportedBindings !== void 0 && name !== '') {\r\n parser.exportedBindings['#' + name] = 1;\r\n }\r\n}\r\nfunction pushComment(context, array) {\r\n return function (type, value, start, end, loc) {\r\n const comment = {\r\n type,\r\n value\r\n };\r\n if (context & 2) {\r\n comment.start = start;\r\n comment.end = end;\r\n comment.range = [start, end];\r\n }\r\n if (context & 4) {\r\n comment.loc = loc;\r\n }\r\n array.push(comment);\r\n };\r\n}\r\nfunction pushToken(context, array) {\r\n return function (token, start, end, loc) {\r\n const tokens = {\r\n token\r\n };\r\n if (context & 2) {\r\n tokens.start = start;\r\n tokens.end = end;\r\n tokens.range = [start, end];\r\n }\r\n if (context & 4) {\r\n tokens.loc = loc;\r\n }\r\n array.push(tokens);\r\n };\r\n}\r\nfunction isValidIdentifier(context, t) {\r\n if (context & (1024 | 2097152)) {\r\n if (context & 2048 && t === 209008)\r\n return false;\r\n if (context & 2097152 && t === 241773)\r\n return false;\r\n return (t & 143360) === 143360 || (t & 12288) === 12288;\r\n }\r\n return ((t & 143360) === 143360 ||\r\n (t & 12288) === 12288 ||\r\n (t & 36864) === 36864);\r\n}\r\nfunction classifyIdentifier(parser, context, t) {\r\n if ((t & 537079808) === 537079808) {\r\n if (context & 1024)\r\n report(parser, 116);\r\n parser.flags |= 512;\r\n }\r\n if (!isValidIdentifier(context, t))\r\n report(parser, 0);\r\n}\n\nfunction create(source, sourceFile, onComment, onToken, onInsertedSemicolon) {\r\n return {\r\n source,\r\n flags: 0,\r\n index: 0,\r\n line: 1,\r\n column: 0,\r\n startPos: 0,\r\n end: source.length,\r\n tokenPos: 0,\r\n startColumn: 0,\r\n colPos: 0,\r\n linePos: 1,\r\n startLine: 1,\r\n sourceFile,\r\n tokenValue: '',\r\n token: 1048576,\r\n tokenRaw: '',\r\n tokenRegExp: void 0,\r\n currentChar: source.charCodeAt(0),\r\n exportedNames: [],\r\n exportedBindings: [],\r\n assignable: 1,\r\n destructible: 0,\r\n onComment,\r\n onToken,\r\n onInsertedSemicolon,\r\n leadingDecorators: []\r\n };\r\n}\r\nfunction parseSource(source, options, context) {\r\n let sourceFile = '';\r\n let onComment;\r\n let onInsertedSemicolon;\r\n let onToken;\r\n if (options != null) {\r\n if (options.module)\r\n context |= 2048 | 1024;\r\n if (options.next)\r\n context |= 1;\r\n if (options.loc)\r\n context |= 4;\r\n if (options.ranges)\r\n context |= 2;\r\n if (options.uniqueKeyInPattern)\r\n context |= 536870912;\r\n if (options.lexical)\r\n context |= 64;\r\n if (options.webcompat)\r\n context |= 256;\r\n if (options.directives)\r\n context |= 8 | 512;\r\n if (options.globalReturn)\r\n context |= 32;\r\n if (options.raw)\r\n context |= 512;\r\n if (options.preserveParens)\r\n context |= 128;\r\n if (options.impliedStrict)\r\n context |= 1024;\r\n if (options.jsx)\r\n context |= 16;\r\n if (options.source)\r\n sourceFile = options.source;\r\n if (options.onComment != null) {\r\n onComment = Array.isArray(options.onComment) ? pushComment(context, options.onComment) : options.onComment;\r\n }\r\n if (options.onInsertedSemicolon != null)\r\n onInsertedSemicolon = options.onInsertedSemicolon;\r\n if (options.onToken != null) {\r\n onToken = Array.isArray(options.onToken) ? pushToken(context, options.onToken) : options.onToken;\r\n }\r\n }\r\n const parser = create(source, sourceFile, onComment, onToken, onInsertedSemicolon);\r\n if (context & 1)\r\n skipHashBang(parser);\r\n const scope = context & 64 ? createScope() : void 0;\r\n let body = [];\r\n let sourceType = 'script';\r\n if (context & 2048) {\r\n sourceType = 'module';\r\n body = parseModuleItemList(parser, context | 8192, scope);\r\n if (scope) {\r\n for (const key in parser.exportedBindings) {\r\n if (key[0] === '#' && !scope[key])\r\n report(parser, 143, key.slice(1));\r\n }\r\n }\r\n }\r\n else {\r\n body = parseStatementList(parser, context | 8192, scope);\r\n }\r\n const node = {\r\n type: 'Program',\r\n sourceType,\r\n body\r\n };\r\n if (context & 2) {\r\n node.start = 0;\r\n node.end = source.length;\r\n node.range = [0, source.length];\r\n }\r\n if (context & 4) {\r\n node.loc = {\r\n start: { line: 1, column: 0 },\r\n end: { line: parser.line, column: parser.column }\r\n };\r\n if (parser.sourceFile)\r\n node.loc.source = sourceFile;\r\n }\r\n return node;\r\n}\r\nfunction parseStatementList(parser, context, scope) {\r\n nextToken(parser, context | 32768 | 268435456);\r\n const statements = [];\r\n while (parser.token === 134283267) {\r\n const { index, tokenPos, tokenValue, linePos, colPos, token } = parser;\r\n const expr = parseLiteral(parser, context);\r\n if (isValidStrictMode(parser, index, tokenPos, tokenValue))\r\n context |= 1024;\r\n statements.push(parseDirective(parser, context, expr, token, tokenPos, linePos, colPos));\r\n }\r\n while (parser.token !== 1048576) {\r\n statements.push(parseStatementListItem(parser, context, scope, 4, {}));\r\n }\r\n return statements;\r\n}\r\nfunction parseModuleItemList(parser, context, scope) {\r\n nextToken(parser, context | 32768);\r\n const statements = [];\r\n if (context & 8) {\r\n while (parser.token === 134283267) {\r\n const { tokenPos, linePos, colPos, token } = parser;\r\n statements.push(parseDirective(parser, context, parseLiteral(parser, context), token, tokenPos, linePos, colPos));\r\n }\r\n }\r\n while (parser.token !== 1048576) {\r\n statements.push(parseModuleItem(parser, context, scope));\r\n }\r\n return statements;\r\n}\r\nfunction parseModuleItem(parser, context, scope) {\r\n parser.leadingDecorators = parseDecorators(parser, context);\r\n let moduleItem;\r\n switch (parser.token) {\r\n case 20566:\r\n moduleItem = parseExportDeclaration(parser, context, scope);\r\n break;\r\n case 86108:\r\n moduleItem = parseImportDeclaration(parser, context, scope);\r\n break;\r\n default:\r\n moduleItem = parseStatementListItem(parser, context, scope, 4, {});\r\n }\r\n if (parser.leadingDecorators.length) {\r\n report(parser, 165);\r\n }\r\n return moduleItem;\r\n}\r\nfunction parseStatementListItem(parser, context, scope, origin, labels) {\r\n const start = parser.tokenPos;\r\n const line = parser.linePos;\r\n const column = parser.colPos;\r\n switch (parser.token) {\r\n case 86106:\r\n return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 0, start, line, column);\r\n case 133:\r\n case 86096:\r\n return parseClassDeclaration(parser, context, scope, 0, start, line, column);\r\n case 86092:\r\n return parseLexicalDeclaration(parser, context, scope, 16, 0, start, line, column);\r\n case 241739:\r\n return parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column);\r\n case 20566:\r\n report(parser, 101, 'export');\r\n case 86108:\r\n nextToken(parser, context);\r\n switch (parser.token) {\r\n case 67174411:\r\n return parseImportCallDeclaration(parser, context, start, line, column);\r\n case 67108877:\r\n return parseImportMetaDeclaration(parser, context, start, line, column);\r\n default:\r\n report(parser, 101, 'import');\r\n }\r\n case 209007:\r\n return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 1, start, line, column);\r\n default:\r\n return parseStatement(parser, context, scope, origin, labels, 1, start, line, column);\r\n }\r\n}\r\nfunction parseStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {\r\n switch (parser.token) {\r\n case 86090:\r\n return parseVariableStatement(parser, context, scope, 0, start, line, column);\r\n case 20574:\r\n return parseReturnStatement(parser, context, start, line, column);\r\n case 20571:\r\n return parseIfStatement(parser, context, scope, labels, start, line, column);\r\n case 20569:\r\n return parseForStatement(parser, context, scope, labels, start, line, column);\r\n case 20564:\r\n return parseDoWhileStatement(parser, context, scope, labels, start, line, column);\r\n case 20580:\r\n return parseWhileStatement(parser, context, scope, labels, start, line, column);\r\n case 86112:\r\n return parseSwitchStatement(parser, context, scope, labels, start, line, column);\r\n case 1074790417:\r\n return parseEmptyStatement(parser, context, start, line, column);\r\n case 2162700:\r\n return parseBlock(parser, context, scope ? addChildScope(scope, 2) : scope, labels, start, line, column);\r\n case 86114:\r\n return parseThrowStatement(parser, context, start, line, column);\r\n case 20557:\r\n return parseBreakStatement(parser, context, labels, start, line, column);\r\n case 20561:\r\n return parseContinueStatement(parser, context, labels, start, line, column);\r\n case 20579:\r\n return parseTryStatement(parser, context, scope, labels, start, line, column);\r\n case 20581:\r\n return parseWithStatement(parser, context, scope, labels, start, line, column);\r\n case 20562:\r\n return parseDebuggerStatement(parser, context, start, line, column);\r\n case 209007:\r\n return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 0, start, line, column);\r\n case 20559:\r\n report(parser, 157);\r\n case 20568:\r\n report(parser, 158);\r\n case 86106:\r\n report(parser, context & 1024\r\n ? 74\r\n : (context & 256) === 0\r\n ? 76\r\n : 75);\r\n case 86096:\r\n report(parser, 77);\r\n default:\r\n return parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column);\r\n }\r\n}\r\nfunction parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {\r\n const { tokenValue, token } = parser;\r\n let expr;\r\n switch (token) {\r\n case 241739:\r\n expr = parseIdentifier(parser, context);\r\n if (context & 1024)\r\n report(parser, 83);\r\n if (parser.token === 69271571)\r\n report(parser, 82);\r\n break;\r\n default:\r\n expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n if (token & 143360 && parser.token === 21) {\r\n return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column);\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr);\r\n if (parser.token === 18) {\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n }\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseBlock(parser, context, scope, labels, start, line, column) {\r\n const body = [];\r\n consume(parser, context | 32768, 2162700);\r\n while (parser.token !== 1074790415) {\r\n body.push(parseStatementListItem(parser, context, scope, 2, { $: labels }));\r\n }\r\n consume(parser, context | 32768, 1074790415);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'BlockStatement',\r\n body\r\n });\r\n}\r\nfunction parseReturnStatement(parser, context, start, line, column) {\r\n if ((context & 32) === 0 && context & 8192)\r\n report(parser, 90);\r\n nextToken(parser, context | 32768);\r\n const argument = parser.flags & 1 || parser.token & 1048576\r\n ? null\r\n : parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ReturnStatement',\r\n argument\r\n });\r\n}\r\nfunction parseExpressionStatement(parser, context, expression, start, line, column) {\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ExpressionStatement',\r\n expression\r\n });\r\n}\r\nfunction parseLabelledStatement(parser, context, scope, origin, labels, value, expr, token, allowFuncDecl, start, line, column) {\r\n validateBindingIdentifier(parser, context, 0, token, 1);\r\n validateAndDeclareLabel(parser, labels, value);\r\n nextToken(parser, context | 32768);\r\n const body = allowFuncDecl &&\r\n (context & 1024) === 0 &&\r\n context & 256 &&\r\n parser.token === 86106\r\n ? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos)\r\n : parseStatement(parser, context, scope, origin, labels, allowFuncDecl, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'LabeledStatement',\r\n label: expr,\r\n body\r\n });\r\n}\r\nfunction parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {\r\n const { token, tokenValue } = parser;\r\n let expr = parseIdentifier(parser, context);\r\n if (parser.token === 21) {\r\n return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column);\r\n }\r\n const asyncNewLine = parser.flags & 1;\r\n if (!asyncNewLine) {\r\n if (parser.token === 86106) {\r\n if (!allowFuncDecl)\r\n report(parser, 120);\r\n return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 1, start, line, column);\r\n }\r\n if ((parser.token & 143360) === 143360) {\r\n expr = parseAsyncArrowAfterIdent(parser, context, 1, start, line, column);\r\n if (parser.token === 18)\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n }\r\n }\r\n if (parser.token === 67174411) {\r\n expr = parseAsyncArrowOrCallExpression(parser, context, expr, 1, 1, 0, asyncNewLine, start, line, column);\r\n }\r\n else {\r\n if (parser.token === 10) {\r\n classifyIdentifier(parser, context, token);\r\n expr = parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, 0, 1, 0, start, line, column);\r\n }\r\n parser.assignable = 1;\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr);\r\n parser.assignable = 1;\r\n if (parser.token === 18) {\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n }\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseDirective(parser, context, expression, token, start, line, column) {\r\n if (token !== 1074790417) {\r\n parser.assignable = 2;\r\n expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);\r\n if (parser.token !== 1074790417) {\r\n expression = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expression);\r\n if (parser.token === 18) {\r\n expression = parseSequenceExpression(parser, context, 0, start, line, column, expression);\r\n }\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n }\r\n return context & 8 && expression.type === 'Literal' && typeof expression.value === 'string'\r\n ? finishNode(parser, context, start, line, column, {\r\n type: 'ExpressionStatement',\r\n expression,\r\n directive: expression.raw.slice(1, -1)\r\n })\r\n : finishNode(parser, context, start, line, column, {\r\n type: 'ExpressionStatement',\r\n expression\r\n });\r\n}\r\nfunction parseEmptyStatement(parser, context, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'EmptyStatement'\r\n });\r\n}\r\nfunction parseThrowStatement(parser, context, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n if (parser.flags & 1)\r\n report(parser, 88);\r\n const argument = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ThrowStatement',\r\n argument\r\n });\r\n}\r\nfunction parseIfStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n consume(parser, context | 32768, 67174411);\r\n parser.assignable = 1;\r\n const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.line, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const consequent = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos);\r\n let alternate = null;\r\n if (parser.token === 20565) {\r\n nextToken(parser, context | 32768);\r\n alternate = parseConsequentOrAlternative(parser, context, scope, labels, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'IfStatement',\r\n test,\r\n consequent,\r\n alternate\r\n });\r\n}\r\nfunction parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) {\r\n return context & 1024 ||\r\n (context & 256) === 0 ||\r\n parser.token !== 86106\r\n ? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos)\r\n : parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column);\r\n}\r\nfunction parseSwitchStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n consume(parser, context | 32768, 67174411);\r\n const discriminant = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 16);\r\n consume(parser, context, 2162700);\r\n const cases = [];\r\n let seenDefault = 0;\r\n if (scope)\r\n scope = addChildScope(scope, 8);\r\n while (parser.token !== 1074790415) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n let test = null;\r\n const consequent = [];\r\n if (consumeOpt(parser, context | 32768, 20558)) {\r\n test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n consume(parser, context | 32768, 20563);\r\n if (seenDefault)\r\n report(parser, 87);\r\n seenDefault = 1;\r\n }\r\n consume(parser, context | 32768, 21);\r\n while (parser.token !== 20558 &&\r\n parser.token !== 1074790415 &&\r\n parser.token !== 20563) {\r\n consequent.push(parseStatementListItem(parser, context | 4096, scope, 2, {\r\n $: labels\r\n }));\r\n }\r\n cases.push(finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'SwitchCase',\r\n test,\r\n consequent\r\n }));\r\n }\r\n consume(parser, context | 32768, 1074790415);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'SwitchStatement',\r\n discriminant,\r\n cases\r\n });\r\n}\r\nfunction parseWhileStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n consume(parser, context | 32768, 67174411);\r\n const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'WhileStatement',\r\n test,\r\n body\r\n });\r\n}\r\nfunction parseIterationStatementBody(parser, context, scope, labels) {\r\n return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n}\r\nfunction parseContinueStatement(parser, context, labels, start, line, column) {\r\n if ((context & 131072) === 0)\r\n report(parser, 66);\r\n nextToken(parser, context);\r\n let label = null;\r\n if ((parser.flags & 1) === 0 && parser.token & 143360) {\r\n const { tokenValue } = parser;\r\n label = parseIdentifier(parser, context | 32768);\r\n if (!isValidLabel(parser, labels, tokenValue, 1))\r\n report(parser, 135, tokenValue);\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ContinueStatement',\r\n label\r\n });\r\n}\r\nfunction parseBreakStatement(parser, context, labels, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n let label = null;\r\n if ((parser.flags & 1) === 0 && parser.token & 143360) {\r\n const { tokenValue } = parser;\r\n label = parseIdentifier(parser, context | 32768);\r\n if (!isValidLabel(parser, labels, tokenValue, 0))\r\n report(parser, 135, tokenValue);\r\n }\r\n else if ((context & (4096 | 131072)) === 0) {\r\n report(parser, 67);\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'BreakStatement',\r\n label\r\n });\r\n}\r\nfunction parseWithStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n if (context & 1024)\r\n report(parser, 89);\r\n consume(parser, context | 32768, 67174411);\r\n const object = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseStatement(parser, context, scope, 2, labels, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'WithStatement',\r\n object,\r\n body\r\n });\r\n}\r\nfunction parseDebuggerStatement(parser, context, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'DebuggerStatement'\r\n });\r\n}\r\nfunction parseTryStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const firstScope = scope ? addChildScope(scope, 32) : void 0;\r\n const block = parseBlock(parser, context, firstScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const handler = consumeOpt(parser, context | 32768, 20559)\r\n ? parseCatchBlock(parser, context, scope, labels, tokenPos, linePos, colPos)\r\n : null;\r\n let finalizer = null;\r\n if (parser.token === 20568) {\r\n nextToken(parser, context | 32768);\r\n const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0;\r\n finalizer = parseBlock(parser, context, finalizerScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n if (!handler && !finalizer) {\r\n report(parser, 86);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'TryStatement',\r\n block,\r\n handler,\r\n finalizer\r\n });\r\n}\r\nfunction parseCatchBlock(parser, context, scope, labels, start, line, column) {\r\n let param = null;\r\n let additionalScope = scope;\r\n if (consumeOpt(parser, context, 67174411)) {\r\n if (scope)\r\n scope = addChildScope(scope, 4);\r\n param = parseBindingPattern(parser, context, scope, (parser.token & 2097152) === 2097152\r\n ? 256\r\n : 512, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (parser.token === 18) {\r\n report(parser, 84);\r\n }\r\n else if (parser.token === 1077936157) {\r\n report(parser, 85);\r\n }\r\n consume(parser, context | 32768, 16);\r\n if (scope)\r\n additionalScope = addChildScope(scope, 64);\r\n }\r\n const body = parseBlock(parser, context, additionalScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'CatchClause',\r\n param,\r\n body\r\n });\r\n}\r\nfunction parseStaticBlock(parser, context, scope, start, line, column) {\r\n if (scope)\r\n scope = addChildScope(scope, 2);\r\n const ctorContext = 16384 | 524288;\r\n context = ((context | ctorContext) ^ ctorContext) | 262144;\r\n const { body } = parseBlock(parser, context, scope, {}, start, line, column);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'StaticBlock',\r\n body\r\n });\r\n}\r\nfunction parseDoWhileStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n consume(parser, context, 20580);\r\n consume(parser, context | 32768, 67174411);\r\n const test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n consumeOpt(parser, context | 32768, 1074790417);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'DoWhileStatement',\r\n body,\r\n test\r\n });\r\n}\r\nfunction parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) {\r\n const { token, tokenValue } = parser;\r\n let expr = parseIdentifier(parser, context);\r\n if (parser.token & (143360 | 2097152)) {\r\n const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'VariableDeclaration',\r\n kind: 'let',\r\n declarations\r\n });\r\n }\r\n parser.assignable = 1;\r\n if (context & 1024)\r\n report(parser, 83);\r\n if (parser.token === 21) {\r\n return parseLabelledStatement(parser, context, scope, origin, {}, tokenValue, expr, token, 0, start, line, column);\r\n }\r\n if (parser.token === 10) {\r\n let scope = void 0;\r\n if (context & 64)\r\n scope = createArrowHeadParsingScope(parser, context, tokenValue);\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n expr = parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column);\r\n }\r\n else {\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr);\r\n }\r\n if (parser.token === 18) {\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n }\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseLexicalDeclaration(parser, context, scope, kind, origin, start, line, column) {\r\n nextToken(parser, context);\r\n const declarations = parseVariableDeclarationList(parser, context, scope, kind, origin);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'VariableDeclaration',\r\n kind: kind & 8 ? 'let' : 'const',\r\n declarations\r\n });\r\n}\r\nfunction parseVariableStatement(parser, context, scope, origin, start, line, column) {\r\n nextToken(parser, context);\r\n const declarations = parseVariableDeclarationList(parser, context, scope, 4, origin);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'VariableDeclaration',\r\n kind: 'var',\r\n declarations\r\n });\r\n}\r\nfunction parseVariableDeclarationList(parser, context, scope, kind, origin) {\r\n let bindingCount = 1;\r\n const list = [parseVariableDeclaration(parser, context, scope, kind, origin)];\r\n while (consumeOpt(parser, context, 18)) {\r\n bindingCount++;\r\n list.push(parseVariableDeclaration(parser, context, scope, kind, origin));\r\n }\r\n if (bindingCount > 1 && origin & 32 && parser.token & 262144) {\r\n report(parser, 59, KeywordDescTable[parser.token & 255]);\r\n }\r\n return list;\r\n}\r\nfunction parseVariableDeclaration(parser, context, scope, kind, origin) {\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n let init = null;\r\n const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos);\r\n if (parser.token === 1077936157) {\r\n nextToken(parser, context | 32768);\r\n init = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (origin & 32 || (token & 2097152) === 0) {\r\n if (parser.token === 274549 ||\r\n (parser.token === 8738868 &&\r\n (token & 2097152 || (kind & 4) === 0 || context & 1024))) {\r\n reportMessageAt(tokenPos, parser.line, parser.index - 3, 58, parser.token === 274549 ? 'of' : 'in');\r\n }\r\n }\r\n }\r\n else if ((kind & 16 || (token & 2097152) > 0) &&\r\n (parser.token & 262144) !== 262144) {\r\n report(parser, 57, kind & 16 ? 'const' : 'destructuring');\r\n }\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'VariableDeclarator',\r\n id,\r\n init\r\n });\r\n}\r\nfunction parseForStatement(parser, context, scope, labels, start, line, column) {\r\n nextToken(parser, context);\r\n const forAwait = ((context & 4194304) > 0 || ((context & 2048) > 0 && (context & 8192) > 0)) &&\r\n consumeOpt(parser, context, 209008);\r\n consume(parser, context | 32768, 67174411);\r\n if (scope)\r\n scope = addChildScope(scope, 1);\r\n let test = null;\r\n let update = null;\r\n let destructible = 0;\r\n let init = null;\r\n let isVarDecl = parser.token === 86090 || parser.token === 241739 || parser.token === 86092;\r\n let right;\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (isVarDecl) {\r\n if (token === 241739) {\r\n init = parseIdentifier(parser, context);\r\n if (parser.token & (143360 | 2097152)) {\r\n if (parser.token === 8738868) {\r\n if (context & 1024)\r\n report(parser, 65);\r\n }\r\n else {\r\n init = finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'VariableDeclaration',\r\n kind: 'let',\r\n declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 8, 32)\r\n });\r\n }\r\n parser.assignable = 1;\r\n }\r\n else if (context & 1024) {\r\n report(parser, 65);\r\n }\r\n else {\r\n isVarDecl = false;\r\n parser.assignable = 1;\r\n init = parseMemberOrUpdateExpression(parser, context, init, 0, 0, tokenPos, linePos, colPos);\r\n if (parser.token === 274549)\r\n report(parser, 112);\r\n }\r\n }\r\n else {\r\n nextToken(parser, context);\r\n init = finishNode(parser, context, tokenPos, linePos, colPos, token === 86090\r\n ? {\r\n type: 'VariableDeclaration',\r\n kind: 'var',\r\n declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 4, 32)\r\n }\r\n : {\r\n type: 'VariableDeclaration',\r\n kind: 'const',\r\n declarations: parseVariableDeclarationList(parser, context | 134217728, scope, 16, 32)\r\n });\r\n parser.assignable = 1;\r\n }\r\n }\r\n else if (token === 1074790417) {\r\n if (forAwait)\r\n report(parser, 80);\r\n }\r\n else if ((token & 2097152) === 2097152) {\r\n init =\r\n token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos);\r\n destructible = parser.destructible;\r\n if (context & 256 && destructible & 64) {\r\n report(parser, 61);\r\n }\r\n parser.assignable =\r\n destructible & 16 ? 2 : 1;\r\n init = parseMemberOrUpdateExpression(parser, context | 134217728, init, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n init = parseLeftHandSideExpression(parser, context | 134217728, 1, 0, 1, tokenPos, linePos, colPos);\r\n }\r\n if ((parser.token & 262144) === 262144) {\r\n if (parser.token === 274549) {\r\n if (parser.assignable & 2)\r\n report(parser, 78, forAwait ? 'await' : 'of');\r\n reinterpretToPattern(parser, init);\r\n nextToken(parser, context | 32768);\r\n right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ForOfStatement',\r\n left: init,\r\n right,\r\n body,\r\n await: forAwait\r\n });\r\n }\r\n if (parser.assignable & 2)\r\n report(parser, 78, 'in');\r\n reinterpretToPattern(parser, init);\r\n nextToken(parser, context | 32768);\r\n if (forAwait)\r\n report(parser, 80);\r\n right = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ForInStatement',\r\n body,\r\n left: init,\r\n right\r\n });\r\n }\r\n if (forAwait)\r\n report(parser, 80);\r\n if (!isVarDecl) {\r\n if (destructible & 8 && parser.token !== 1077936157) {\r\n report(parser, 78, 'loop');\r\n }\r\n init = parseAssignmentExpression(parser, context | 134217728, 0, 0, tokenPos, linePos, colPos, init);\r\n }\r\n if (parser.token === 18)\r\n init = parseSequenceExpression(parser, context, 0, parser.tokenPos, parser.linePos, parser.colPos, init);\r\n consume(parser, context | 32768, 1074790417);\r\n if (parser.token !== 1074790417)\r\n test = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 1074790417);\r\n if (parser.token !== 16)\r\n update = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 16);\r\n const body = parseIterationStatementBody(parser, context, scope, labels);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ForStatement',\r\n init,\r\n test,\r\n update,\r\n body\r\n });\r\n}\r\nfunction parseRestrictedIdentifier(parser, context, scope) {\r\n if (!isValidIdentifier(context, parser.token))\r\n report(parser, 115);\r\n if ((parser.token & 537079808) === 537079808)\r\n report(parser, 116);\r\n if (scope)\r\n addBlockName(parser, context, scope, parser.tokenValue, 8, 0);\r\n return parseIdentifier(parser, context);\r\n}\r\nfunction parseImportDeclaration(parser, context, scope) {\r\n const start = parser.tokenPos;\r\n const line = parser.linePos;\r\n const column = parser.colPos;\r\n nextToken(parser, context);\r\n let source = null;\r\n const { tokenPos, linePos, colPos } = parser;\r\n let specifiers = [];\r\n if (parser.token === 134283267) {\r\n source = parseLiteral(parser, context);\r\n }\r\n else {\r\n if (parser.token & 143360) {\r\n const local = parseRestrictedIdentifier(parser, context, scope);\r\n specifiers = [\r\n finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ImportDefaultSpecifier',\r\n local\r\n })\r\n ];\r\n if (consumeOpt(parser, context, 18)) {\r\n switch (parser.token) {\r\n case 8457014:\r\n specifiers.push(parseImportNamespaceSpecifier(parser, context, scope));\r\n break;\r\n case 2162700:\r\n parseImportSpecifierOrNamedImports(parser, context, scope, specifiers);\r\n break;\r\n default:\r\n report(parser, 105);\r\n }\r\n }\r\n }\r\n else {\r\n switch (parser.token) {\r\n case 8457014:\r\n specifiers = [parseImportNamespaceSpecifier(parser, context, scope)];\r\n break;\r\n case 2162700:\r\n parseImportSpecifierOrNamedImports(parser, context, scope, specifiers);\r\n break;\r\n case 67174411:\r\n return parseImportCallDeclaration(parser, context, start, line, column);\r\n case 67108877:\r\n return parseImportMetaDeclaration(parser, context, start, line, column);\r\n default:\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n }\r\n source = parseModuleSpecifier(parser, context);\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ImportDeclaration',\r\n specifiers,\r\n source\r\n });\r\n}\r\nfunction parseImportNamespaceSpecifier(parser, context, scope) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n nextToken(parser, context);\r\n consume(parser, context, 77934);\r\n if ((parser.token & 134217728) === 134217728) {\r\n reportMessageAt(tokenPos, parser.line, parser.index, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ImportNamespaceSpecifier',\r\n local: parseRestrictedIdentifier(parser, context, scope)\r\n });\r\n}\r\nfunction parseModuleSpecifier(parser, context) {\r\n if (!consumeOpt(parser, context, 12404)) {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n if (parser.token !== 134283267)\r\n report(parser, 103, 'Import');\r\n return parseLiteral(parser, context);\r\n}\r\nfunction parseImportSpecifierOrNamedImports(parser, context, scope, specifiers) {\r\n nextToken(parser, context);\r\n while (parser.token & 143360) {\r\n let { token, tokenValue, tokenPos, linePos, colPos } = parser;\r\n const imported = parseIdentifier(parser, context);\r\n let local;\r\n if (consumeOpt(parser, context, 77934)) {\r\n if ((parser.token & 134217728) === 134217728 || parser.token === 18) {\r\n report(parser, 104);\r\n }\r\n else {\r\n validateBindingIdentifier(parser, context, 16, parser.token, 0);\r\n }\r\n tokenValue = parser.tokenValue;\r\n local = parseIdentifier(parser, context);\r\n }\r\n else {\r\n validateBindingIdentifier(parser, context, 16, token, 0);\r\n local = imported;\r\n }\r\n if (scope)\r\n addBlockName(parser, context, scope, tokenValue, 8, 0);\r\n specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ImportSpecifier',\r\n local,\r\n imported\r\n }));\r\n if (parser.token !== 1074790415)\r\n consume(parser, context, 18);\r\n }\r\n consume(parser, context, 1074790415);\r\n return specifiers;\r\n}\r\nfunction parseImportMetaDeclaration(parser, context, start, line, column) {\r\n let expr = parseImportMetaExpression(parser, context, finishNode(parser, context, start, line, column, {\r\n type: 'Identifier',\r\n name: 'import'\r\n }), start, line, column);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n expr = parseAssignmentExpression(parser, context, 0, 0, start, line, column, expr);\r\n if (parser.token === 18) {\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n }\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseImportCallDeclaration(parser, context, start, line, column) {\r\n let expr = parseImportExpression(parser, context, 0, start, line, column);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, start, line, column);\r\n if (parser.token === 18) {\r\n expr = parseSequenceExpression(parser, context, 0, start, line, column, expr);\r\n }\r\n return parseExpressionStatement(parser, context, expr, start, line, column);\r\n}\r\nfunction parseExportDeclaration(parser, context, scope) {\r\n const start = parser.tokenPos;\r\n const line = parser.linePos;\r\n const column = parser.colPos;\r\n nextToken(parser, context | 32768);\r\n const specifiers = [];\r\n let declaration = null;\r\n let source = null;\r\n let key;\r\n if (consumeOpt(parser, context | 32768, 20563)) {\r\n switch (parser.token) {\r\n case 86106: {\r\n declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n }\r\n case 133:\r\n case 86096:\r\n declaration = parseClassDeclaration(parser, context, scope, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 209007:\r\n const { tokenPos, linePos, colPos } = parser;\r\n declaration = parseIdentifier(parser, context);\r\n const { flags } = parser;\r\n if ((flags & 1) === 0) {\r\n if (parser.token === 86106) {\r\n declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos);\r\n }\r\n else {\r\n if (parser.token === 67174411) {\r\n declaration = parseAsyncArrowOrCallExpression(parser, context, declaration, 1, 1, 0, flags, tokenPos, linePos, colPos);\r\n declaration = parseMemberOrUpdateExpression(parser, context, declaration, 0, 0, tokenPos, linePos, colPos);\r\n declaration = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, declaration);\r\n }\r\n else if (parser.token & 143360) {\r\n if (scope)\r\n scope = createArrowHeadParsingScope(parser, context, parser.tokenValue);\r\n declaration = parseIdentifier(parser, context);\r\n declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos);\r\n }\r\n }\r\n }\r\n break;\r\n default:\r\n declaration = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n }\r\n if (scope)\r\n declareUnboundVariable(parser, 'default');\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ExportDefaultDeclaration',\r\n declaration\r\n });\r\n }\r\n switch (parser.token) {\r\n case 8457014: {\r\n nextToken(parser, context);\r\n let exported = null;\r\n const isNamedDeclaration = consumeOpt(parser, context, 77934);\r\n if (isNamedDeclaration) {\r\n if (scope)\r\n declareUnboundVariable(parser, parser.tokenValue);\r\n exported = parseIdentifier(parser, context);\r\n }\r\n consume(parser, context, 12404);\r\n if (parser.token !== 134283267)\r\n report(parser, 103, 'Export');\r\n source = parseLiteral(parser, context);\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ExportAllDeclaration',\r\n source,\r\n exported\r\n });\r\n }\r\n case 2162700: {\r\n nextToken(parser, context);\r\n const tmpExportedNames = [];\r\n const tmpExportedBindings = [];\r\n while (parser.token & 143360) {\r\n const { tokenPos, tokenValue, linePos, colPos } = parser;\r\n const local = parseIdentifier(parser, context);\r\n let exported;\r\n if (parser.token === 77934) {\r\n nextToken(parser, context);\r\n if ((parser.token & 134217728) === 134217728) {\r\n report(parser, 104);\r\n }\r\n if (scope) {\r\n tmpExportedNames.push(parser.tokenValue);\r\n tmpExportedBindings.push(tokenValue);\r\n }\r\n exported = parseIdentifier(parser, context);\r\n }\r\n else {\r\n if (scope) {\r\n tmpExportedNames.push(parser.tokenValue);\r\n tmpExportedBindings.push(parser.tokenValue);\r\n }\r\n exported = local;\r\n }\r\n specifiers.push(finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ExportSpecifier',\r\n local,\r\n exported\r\n }));\r\n if (parser.token !== 1074790415)\r\n consume(parser, context, 18);\r\n }\r\n consume(parser, context, 1074790415);\r\n if (consumeOpt(parser, context, 12404)) {\r\n if (parser.token !== 134283267)\r\n report(parser, 103, 'Export');\r\n source = parseLiteral(parser, context);\r\n }\r\n else if (scope) {\r\n let i = 0;\r\n let iMax = tmpExportedNames.length;\r\n for (; i < iMax; i++) {\r\n declareUnboundVariable(parser, tmpExportedNames[i]);\r\n }\r\n i = 0;\r\n iMax = tmpExportedBindings.length;\r\n for (; i < iMax; i++) {\r\n addBindingToExports(parser, tmpExportedBindings[i]);\r\n }\r\n }\r\n matchOrInsertSemicolon(parser, context | 32768);\r\n break;\r\n }\r\n case 86096:\r\n declaration = parseClassDeclaration(parser, context, scope, 2, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 86106:\r\n declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 241739:\r\n declaration = parseLexicalDeclaration(parser, context, scope, 8, 64, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 86092:\r\n declaration = parseLexicalDeclaration(parser, context, scope, 16, 64, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 86090:\r\n declaration = parseVariableStatement(parser, context, scope, 64, parser.tokenPos, parser.linePos, parser.colPos);\r\n break;\r\n case 209007:\r\n const { tokenPos, linePos, colPos } = parser;\r\n nextToken(parser, context);\r\n if ((parser.flags & 1) === 0 && parser.token === 86106) {\r\n declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos);\r\n if (scope) {\r\n key = declaration.id ? declaration.id.name : '';\r\n declareUnboundVariable(parser, key);\r\n }\r\n break;\r\n }\r\n default:\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ExportNamedDeclaration',\r\n declaration,\r\n specifiers,\r\n source\r\n });\r\n}\r\nfunction parseExpression(parser, context, canAssign, inGroup, start, line, column) {\r\n let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, 1, start, line, column);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);\r\n return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr);\r\n}\r\nfunction parseSequenceExpression(parser, context, inGroup, start, line, column, expr) {\r\n const expressions = [expr];\r\n while (consumeOpt(parser, context | 32768, 18)) {\r\n expressions.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'SequenceExpression',\r\n expressions\r\n });\r\n}\r\nfunction parseExpressions(parser, context, inGroup, canAssign, start, line, column) {\r\n const expr = parseExpression(parser, context, canAssign, inGroup, start, line, column);\r\n return parser.token === 18\r\n ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr)\r\n : expr;\r\n}\r\nfunction parseAssignmentExpression(parser, context, inGroup, isPattern, start, line, column, left) {\r\n const { token } = parser;\r\n if ((token & 4194304) === 4194304) {\r\n if (parser.assignable & 2)\r\n report(parser, 24);\r\n if ((!isPattern && token === 1077936157 && left.type === 'ArrayExpression') ||\r\n left.type === 'ObjectExpression') {\r\n reinterpretToPattern(parser, left);\r\n }\r\n nextToken(parser, context | 32768);\r\n const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n left,\r\n operator: KeywordDescTable[token & 255],\r\n right\r\n });\r\n }\r\n if ((token & 8454144) === 8454144) {\r\n left = parseBinaryExpression(parser, context, inGroup, start, line, column, 4, token, left);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n left = parseConditionalExpression(parser, context, left, start, line, column);\r\n }\r\n return left;\r\n}\r\nfunction parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) {\r\n const { token } = parser;\r\n nextToken(parser, context | 32768);\r\n const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n left = finishNode(parser, context, start, line, column, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n left,\r\n operator: KeywordDescTable[token & 255],\r\n right\r\n });\r\n parser.assignable = 2;\r\n return left;\r\n}\r\nfunction parseConditionalExpression(parser, context, test, start, line, column) {\r\n const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context | 32768, 21);\r\n parser.assignable = 1;\r\n const alternate = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ConditionalExpression',\r\n test,\r\n consequent,\r\n alternate\r\n });\r\n}\r\nfunction parseBinaryExpression(parser, context, inGroup, start, line, column, minPrec, operator, left) {\r\n const bit = -((context & 134217728) > 0) & 8738868;\r\n let t;\r\n let prec;\r\n parser.assignable = 2;\r\n while (parser.token & 8454144) {\r\n t = parser.token;\r\n prec = t & 3840;\r\n if ((t & 524288 && operator & 268435456) || (operator & 524288 && t & 268435456)) {\r\n report(parser, 160);\r\n }\r\n if (prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= minPrec)\r\n break;\r\n nextToken(parser, context | 32768);\r\n left = finishNode(parser, context, start, line, column, {\r\n type: t & 524288 || t & 268435456 ? 'LogicalExpression' : 'BinaryExpression',\r\n left,\r\n right: parseBinaryExpression(parser, context, inGroup, parser.tokenPos, parser.linePos, parser.colPos, prec, t, parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos)),\r\n operator: KeywordDescTable[t & 255]\r\n });\r\n }\r\n if (parser.token === 1077936157)\r\n report(parser, 24);\r\n return left;\r\n}\r\nfunction parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup) {\r\n if (!isLHS)\r\n report(parser, 0);\r\n const unaryOperator = parser.token;\r\n nextToken(parser, context | 32768);\r\n const arg = parseLeftHandSideExpression(parser, context, 0, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (parser.token === 8457273)\r\n report(parser, 31);\r\n if (context & 1024 && unaryOperator === 16863278) {\r\n if (arg.type === 'Identifier') {\r\n report(parser, 118);\r\n }\r\n else if (isPropertyWithPrivateFieldKey(arg)) {\r\n report(parser, 124);\r\n }\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'UnaryExpression',\r\n operator: KeywordDescTable[unaryOperator & 255],\r\n argument: arg,\r\n prefix: true\r\n });\r\n}\r\nfunction parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column) {\r\n const { token } = parser;\r\n const expr = parseIdentifier(parser, context);\r\n const { flags } = parser;\r\n if ((flags & 1) === 0) {\r\n if (parser.token === 86106) {\r\n return parseFunctionExpression(parser, context, 1, inGroup, start, line, column);\r\n }\r\n if ((parser.token & 143360) === 143360) {\r\n if (!isLHS)\r\n report(parser, 0);\r\n return parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column);\r\n }\r\n }\r\n if (!inNew && parser.token === 67174411) {\r\n return parseAsyncArrowOrCallExpression(parser, context, expr, canAssign, 1, 0, flags, start, line, column);\r\n }\r\n if (parser.token === 10) {\r\n classifyIdentifier(parser, context, token);\r\n if (inNew)\r\n report(parser, 49);\r\n return parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, inNew, canAssign, 0, start, line, column);\r\n }\r\n parser.assignable = 1;\r\n return expr;\r\n}\r\nfunction parseYieldExpression(parser, context, inGroup, canAssign, start, line, column) {\r\n if (inGroup)\r\n parser.destructible |= 256;\r\n if (context & 2097152) {\r\n nextToken(parser, context | 32768);\r\n if (context & 8388608)\r\n report(parser, 30);\r\n if (!canAssign)\r\n report(parser, 24);\r\n if (parser.token === 22)\r\n report(parser, 121);\r\n let argument = null;\r\n let delegate = false;\r\n if ((parser.flags & 1) === 0) {\r\n delegate = consumeOpt(parser, context | 32768, 8457014);\r\n if (parser.token & (12288 | 65536) || delegate) {\r\n argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'YieldExpression',\r\n argument,\r\n delegate\r\n });\r\n }\r\n if (context & 1024)\r\n report(parser, 95, 'yield');\r\n return parseIdentifierOrArrow(parser, context, start, line, column);\r\n}\r\nfunction parseAwaitExpression(parser, context, inNew, inGroup, start, line, column) {\r\n if (inGroup)\r\n parser.destructible |= 128;\r\n if (context & 4194304 || (context & 2048 && context & 8192)) {\r\n if (inNew)\r\n report(parser, 0);\r\n if (context & 8388608) {\r\n reportMessageAt(parser.index, parser.line, parser.index, 29);\r\n }\r\n nextToken(parser, context | 32768);\r\n const argument = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (parser.token === 8457273)\r\n report(parser, 31);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'AwaitExpression',\r\n argument\r\n });\r\n }\r\n if (context & 2048)\r\n report(parser, 96);\r\n return parseIdentifierOrArrow(parser, context, start, line, column);\r\n}\r\nfunction parseFunctionBody(parser, context, scope, origin, firstRestricted, scopeError) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n consume(parser, context | 32768, 2162700);\r\n const body = [];\r\n const prevContext = context;\r\n if (parser.token !== 1074790415) {\r\n while (parser.token === 134283267) {\r\n const { index, tokenPos, tokenValue, token } = parser;\r\n const expr = parseLiteral(parser, context);\r\n if (isValidStrictMode(parser, index, tokenPos, tokenValue)) {\r\n context |= 1024;\r\n if (parser.flags & 128) {\r\n reportMessageAt(parser.index, parser.line, parser.tokenPos, 64);\r\n }\r\n if (parser.flags & 64) {\r\n reportMessageAt(parser.index, parser.line, parser.tokenPos, 8);\r\n }\r\n }\r\n body.push(parseDirective(parser, context, expr, token, tokenPos, parser.linePos, parser.colPos));\r\n }\r\n if (context & 1024) {\r\n if (firstRestricted) {\r\n if ((firstRestricted & 537079808) === 537079808) {\r\n report(parser, 116);\r\n }\r\n if ((firstRestricted & 36864) === 36864) {\r\n report(parser, 38);\r\n }\r\n }\r\n if (parser.flags & 512)\r\n report(parser, 116);\r\n if (parser.flags & 256)\r\n report(parser, 115);\r\n }\r\n if (context & 64 &&\r\n scope &&\r\n scopeError !== void 0 &&\r\n (prevContext & 1024) === 0 &&\r\n (context & 8192) === 0) {\r\n reportScopeError(scopeError);\r\n }\r\n }\r\n parser.flags =\r\n (parser.flags | 512 | 256 | 64) ^\r\n (512 | 256 | 64);\r\n parser.destructible = (parser.destructible | 256) ^ 256;\r\n while (parser.token !== 1074790415) {\r\n body.push(parseStatementListItem(parser, context, scope, 4, {}));\r\n }\r\n consume(parser, origin & (16 | 8) ? context | 32768 : context, 1074790415);\r\n parser.flags &= ~(128 | 64);\r\n if (parser.token === 1077936157)\r\n report(parser, 24);\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'BlockStatement',\r\n body\r\n });\r\n}\r\nfunction parseSuperExpression(parser, context, start, line, column) {\r\n nextToken(parser, context);\r\n switch (parser.token) {\r\n case 67108991:\r\n report(parser, 162);\r\n case 67174411: {\r\n if ((context & 524288) === 0)\r\n report(parser, 26);\r\n if (context & 16384 && !(context & 33554432)) {\r\n report(parser, 27);\r\n }\r\n parser.assignable = 2;\r\n break;\r\n }\r\n case 69271571:\r\n case 67108877: {\r\n if ((context & 262144) === 0)\r\n report(parser, 27);\r\n if (context & 16384 && !(context & 33554432)) {\r\n report(parser, 27);\r\n }\r\n parser.assignable = 1;\r\n break;\r\n }\r\n default:\r\n report(parser, 28, 'super');\r\n }\r\n return finishNode(parser, context, start, line, column, { type: 'Super' });\r\n}\r\nfunction parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) {\r\n const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, isLHS, start, line, column);\r\n return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column);\r\n}\r\nfunction parseUpdateExpression(parser, context, expr, start, line, column) {\r\n if (parser.assignable & 2)\r\n report(parser, 53);\r\n const { token } = parser;\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'UpdateExpression',\r\n argument: expr,\r\n operator: KeywordDescTable[token & 255],\r\n prefix: false\r\n });\r\n}\r\nfunction parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) {\r\n if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) === 0) {\r\n expr = parseUpdateExpression(parser, context, expr, start, line, column);\r\n }\r\n else if ((parser.token & 67108864) === 67108864) {\r\n context = (context | 134217728) ^ 134217728;\r\n switch (parser.token) {\r\n case 67108877: {\r\n nextToken(parser, (context | 268435456 | 8192) ^ 8192);\r\n if (context & 16384 && parser.token === 131 && parser.tokenValue === 'super') {\r\n report(parser, 27);\r\n }\r\n parser.assignable = 1;\r\n const property = parsePropertyOrPrivatePropertyName(parser, context | 65536);\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: false,\r\n property\r\n });\r\n break;\r\n }\r\n case 69271571: {\r\n let restoreHasOptionalChaining = false;\r\n if ((parser.flags & 2048) === 2048) {\r\n restoreHasOptionalChaining = true;\r\n parser.flags = (parser.flags | 2048) ^ 2048;\r\n }\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos);\r\n consume(parser, context, 20);\r\n parser.assignable = 1;\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: true,\r\n property\r\n });\r\n if (restoreHasOptionalChaining) {\r\n parser.flags |= 2048;\r\n }\r\n break;\r\n }\r\n case 67174411: {\r\n if ((parser.flags & 1024) === 1024) {\r\n parser.flags = (parser.flags | 1024) ^ 1024;\r\n return expr;\r\n }\r\n let restoreHasOptionalChaining = false;\r\n if ((parser.flags & 2048) === 2048) {\r\n restoreHasOptionalChaining = true;\r\n parser.flags = (parser.flags | 2048) ^ 2048;\r\n }\r\n const args = parseArguments(parser, context, inGroup);\r\n parser.assignable = 2;\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee: expr,\r\n arguments: args\r\n });\r\n if (restoreHasOptionalChaining) {\r\n parser.flags |= 2048;\r\n }\r\n break;\r\n }\r\n case 67108991: {\r\n nextToken(parser, (context | 268435456 | 8192) ^ 8192);\r\n parser.flags |= 2048;\r\n parser.assignable = 2;\r\n expr = parseOptionalChain(parser, context, expr, start, line, column);\r\n break;\r\n }\r\n default:\r\n if ((parser.flags & 2048) === 2048) {\r\n report(parser, 161);\r\n }\r\n parser.assignable = 2;\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'TaggedTemplateExpression',\r\n tag: expr,\r\n quasi: parser.token === 67174408\r\n ? parseTemplate(parser, context | 65536)\r\n : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos)\r\n });\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 1, start, line, column);\r\n }\r\n if (inChain === 0 && (parser.flags & 2048) === 2048) {\r\n parser.flags = (parser.flags | 2048) ^ 2048;\r\n expr = finishNode(parser, context, start, line, column, {\r\n type: 'ChainExpression',\r\n expression: expr\r\n });\r\n }\r\n return expr;\r\n}\r\nfunction parseOptionalChain(parser, context, expr, start, line, column) {\r\n let restoreHasOptionalChaining = false;\r\n let node;\r\n if (parser.token === 69271571 || parser.token === 67174411) {\r\n if ((parser.flags & 2048) === 2048) {\r\n restoreHasOptionalChaining = true;\r\n parser.flags = (parser.flags | 2048) ^ 2048;\r\n }\r\n }\r\n if (parser.token === 69271571) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const property = parseExpressions(parser, context, 0, 1, tokenPos, linePos, colPos);\r\n consume(parser, context, 20);\r\n parser.assignable = 2;\r\n node = finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: true,\r\n optional: true,\r\n property\r\n });\r\n }\r\n else if (parser.token === 67174411) {\r\n const args = parseArguments(parser, context, 0);\r\n parser.assignable = 2;\r\n node = finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee: expr,\r\n arguments: args,\r\n optional: true\r\n });\r\n }\r\n else {\r\n if ((parser.token & (143360 | 4096)) === 0)\r\n report(parser, 155);\r\n const property = parseIdentifier(parser, context);\r\n parser.assignable = 2;\r\n node = finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: false,\r\n optional: true,\r\n property\r\n });\r\n }\r\n if (restoreHasOptionalChaining) {\r\n parser.flags |= 2048;\r\n }\r\n return node;\r\n}\r\nfunction parsePropertyOrPrivatePropertyName(parser, context) {\r\n if ((parser.token & (143360 | 4096)) === 0 && parser.token !== 131) {\r\n report(parser, 155);\r\n }\r\n return context & 1 && parser.token === 131\r\n ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos)\r\n : parseIdentifier(parser, context);\r\n}\r\nfunction parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) {\r\n if (inNew)\r\n report(parser, 54);\r\n if (!isLHS)\r\n report(parser, 0);\r\n const { token } = parser;\r\n nextToken(parser, context | 32768);\r\n const arg = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (parser.assignable & 2) {\r\n report(parser, 53);\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'UpdateExpression',\r\n argument: arg,\r\n operator: KeywordDescTable[token & 255],\r\n prefix: true\r\n });\r\n}\r\nfunction parsePrimaryExpression(parser, context, kind, inNew, canAssign, inGroup, isLHS, start, line, column) {\r\n if ((parser.token & 143360) === 143360) {\r\n switch (parser.token) {\r\n case 209008:\r\n return parseAwaitExpression(parser, context, inNew, inGroup, start, line, column);\r\n case 241773:\r\n return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column);\r\n case 209007:\r\n return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column);\r\n }\r\n const { token, tokenValue } = parser;\r\n const expr = parseIdentifier(parser, context | 65536);\r\n if (parser.token === 10) {\r\n if (!isLHS)\r\n report(parser, 0);\r\n classifyIdentifier(parser, context, token);\r\n return parseArrowFromIdentifier(parser, context, tokenValue, expr, inNew, canAssign, 0, start, line, column);\r\n }\r\n if (context & 16384 && token === 537079928)\r\n report(parser, 127);\r\n if (token === 241739) {\r\n if (context & 1024)\r\n report(parser, 110);\r\n if (kind & (8 | 16))\r\n report(parser, 98);\r\n }\r\n parser.assignable =\r\n context & 1024 && (token & 537079808) === 537079808\r\n ? 2\r\n : 1;\r\n return expr;\r\n }\r\n if ((parser.token & 134217728) === 134217728) {\r\n return parseLiteral(parser, context);\r\n }\r\n switch (parser.token) {\r\n case 33619995:\r\n case 33619996:\r\n return parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column);\r\n case 16863278:\r\n case 16842800:\r\n case 16842801:\r\n case 25233970:\r\n case 25233971:\r\n case 16863277:\r\n case 16863279:\r\n return parseUnaryExpression(parser, context, isLHS, start, line, column, inGroup);\r\n case 86106:\r\n return parseFunctionExpression(parser, context, 0, inGroup, start, line, column);\r\n case 2162700:\r\n return parseObjectLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column);\r\n case 69271571:\r\n return parseArrayLiteral(parser, context, canAssign ? 0 : 1, inGroup, start, line, column);\r\n case 67174411:\r\n return parseParenthesizedExpression(parser, context | 65536, canAssign, 1, 0, start, line, column);\r\n case 86021:\r\n case 86022:\r\n case 86023:\r\n return parseNullOrTrueOrFalseLiteral(parser, context, start, line, column);\r\n case 86113:\r\n return parseThisExpression(parser, context);\r\n case 65540:\r\n return parseRegExpLiteral(parser, context, start, line, column);\r\n case 133:\r\n case 86096:\r\n return parseClassExpression(parser, context, inGroup, start, line, column);\r\n case 86111:\r\n return parseSuperExpression(parser, context, start, line, column);\r\n case 67174409:\r\n return parseTemplateLiteral(parser, context, start, line, column);\r\n case 67174408:\r\n return parseTemplate(parser, context);\r\n case 86109:\r\n return parseNewExpression(parser, context, inGroup, start, line, column);\r\n case 134283389:\r\n return parseBigIntLiteral(parser, context, start, line, column);\r\n case 131:\r\n return parsePrivateIdentifier(parser, context, start, line, column);\r\n case 86108:\r\n return parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column);\r\n case 8456258:\r\n if (context & 16)\r\n return parseJSXRootElementOrFragment(parser, context, 1, start, line, column);\r\n default:\r\n if (isValidIdentifier(context, parser.token))\r\n return parseIdentifierOrArrow(parser, context, start, line, column);\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n}\r\nfunction parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) {\r\n let expr = parseIdentifier(parser, context);\r\n if (parser.token === 67108877) {\r\n return parseImportMetaExpression(parser, context, expr, start, line, column);\r\n }\r\n if (inNew)\r\n report(parser, 138);\r\n expr = parseImportExpression(parser, context, inGroup, start, line, column);\r\n parser.assignable = 2;\r\n return parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);\r\n}\r\nfunction parseImportMetaExpression(parser, context, meta, start, line, column) {\r\n if ((context & 2048) === 0)\r\n report(parser, 164);\r\n nextToken(parser, context);\r\n if (parser.token !== 143495 && parser.tokenValue !== 'meta')\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'MetaProperty',\r\n meta,\r\n property: parseIdentifier(parser, context)\r\n });\r\n}\r\nfunction parseImportExpression(parser, context, inGroup, start, line, column) {\r\n consume(parser, context | 32768, 67174411);\r\n if (parser.token === 14)\r\n report(parser, 139);\r\n const source = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 16);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ImportExpression',\r\n source\r\n });\r\n}\r\nfunction parseBigIntLiteral(parser, context, start, line, column) {\r\n const { tokenRaw, tokenValue } = parser;\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, context & 512\r\n ? {\r\n type: 'Literal',\r\n value: tokenValue,\r\n bigint: tokenRaw.slice(0, -1),\r\n raw: tokenRaw\r\n }\r\n : {\r\n type: 'Literal',\r\n value: tokenValue,\r\n bigint: tokenRaw.slice(0, -1)\r\n });\r\n}\r\nfunction parseTemplateLiteral(parser, context, start, line, column) {\r\n parser.assignable = 2;\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n consume(parser, context, 67174409);\r\n const quasis = [parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true)];\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'TemplateLiteral',\r\n expressions: [],\r\n quasis\r\n });\r\n}\r\nfunction parseTemplate(parser, context) {\r\n context = (context | 134217728) ^ 134217728;\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n consume(parser, context | 32768, 67174408);\r\n const quasis = [\r\n parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false)\r\n ];\r\n const expressions = [parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)];\r\n if (parser.token !== 1074790415)\r\n report(parser, 81);\r\n while ((parser.token = scanTemplateTail(parser, context)) !== 67174409) {\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n consume(parser, context | 32768, 67174408);\r\n quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false));\r\n expressions.push(parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos));\r\n if (parser.token !== 1074790415)\r\n report(parser, 81);\r\n }\r\n {\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n consume(parser, context, 67174409);\r\n quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, true));\r\n }\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'TemplateLiteral',\r\n expressions,\r\n quasis\r\n });\r\n}\r\nfunction parseTemplateElement(parser, context, cooked, raw, start, line, col, tail) {\r\n const node = finishNode(parser, context, start, line, col, {\r\n type: 'TemplateElement',\r\n value: {\r\n cooked,\r\n raw\r\n },\r\n tail\r\n });\r\n const tailSize = tail ? 1 : 2;\r\n if (context & 2) {\r\n node.start += 1;\r\n node.range[0] += 1;\r\n node.end -= tailSize;\r\n node.range[1] -= tailSize;\r\n }\r\n if (context & 4) {\r\n node.loc.start.column += 1;\r\n node.loc.end.column -= tailSize;\r\n }\r\n return node;\r\n}\r\nfunction parseSpreadElement(parser, context, start, line, column) {\r\n context = (context | 134217728) ^ 134217728;\r\n consume(parser, context | 32768, 14);\r\n const argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n parser.assignable = 1;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'SpreadElement',\r\n argument\r\n });\r\n}\r\nfunction parseArguments(parser, context, inGroup) {\r\n nextToken(parser, context | 32768);\r\n const args = [];\r\n if (parser.token === 16) {\r\n nextToken(parser, context | 65536);\r\n return args;\r\n }\r\n while (parser.token !== 16) {\r\n if (parser.token === 14) {\r\n args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n else {\r\n args.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n if (parser.token !== 18)\r\n break;\r\n nextToken(parser, context | 32768);\r\n if (parser.token === 16)\r\n break;\r\n }\r\n consume(parser, context, 16);\r\n return args;\r\n}\r\nfunction parseIdentifier(parser, context) {\r\n const { tokenValue, tokenPos, linePos, colPos } = parser;\r\n nextToken(parser, context);\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'Identifier',\r\n name: tokenValue\r\n });\r\n}\r\nfunction parseLiteral(parser, context) {\r\n const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;\r\n if (parser.token === 134283389) {\r\n return parseBigIntLiteral(parser, context, tokenPos, linePos, colPos);\r\n }\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, tokenPos, linePos, colPos, context & 512\r\n ? {\r\n type: 'Literal',\r\n value: tokenValue,\r\n raw: tokenRaw\r\n }\r\n : {\r\n type: 'Literal',\r\n value: tokenValue\r\n });\r\n}\r\nfunction parseNullOrTrueOrFalseLiteral(parser, context, start, line, column) {\r\n const raw = KeywordDescTable[parser.token & 255];\r\n const value = parser.token === 86023 ? null : raw === 'true';\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, context & 512\r\n ? {\r\n type: 'Literal',\r\n value,\r\n raw\r\n }\r\n : {\r\n type: 'Literal',\r\n value\r\n });\r\n}\r\nfunction parseThisExpression(parser, context) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ThisExpression'\r\n });\r\n}\r\nfunction parseFunctionDeclaration(parser, context, scope, origin, allowGen, flags, isAsync, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const isGenerator = allowGen ? optionalBit(parser, context, 8457014) : 0;\r\n let id = null;\r\n let firstRestricted;\r\n let functionScope = scope ? createScope() : void 0;\r\n if (parser.token === 67174411) {\r\n if ((flags & 1) === 0)\r\n report(parser, 37, 'Function');\r\n }\r\n else {\r\n const kind = origin & 4 && ((context & 8192) === 0 || (context & 2048) === 0)\r\n ? 4\r\n : 64;\r\n validateFunctionName(parser, context | ((context & 3072) << 11), parser.token);\r\n if (scope) {\r\n if (kind & 4) {\r\n addVarName(parser, context, scope, parser.tokenValue, kind);\r\n }\r\n else {\r\n addBlockName(parser, context, scope, parser.tokenValue, kind, origin);\r\n }\r\n functionScope = addChildScope(functionScope, 256);\r\n if (flags) {\r\n if (flags & 2) {\r\n declareUnboundVariable(parser, parser.tokenValue);\r\n }\r\n }\r\n }\r\n firstRestricted = parser.token;\r\n if (parser.token & 143360) {\r\n id = parseIdentifier(parser, context);\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n }\r\n context =\r\n ((context | 32243712) ^ 32243712) |\r\n 67108864 |\r\n ((isAsync * 2 + isGenerator) << 21) |\r\n (isGenerator ? 0 : 268435456);\r\n if (scope)\r\n functionScope = addChildScope(functionScope, 512);\r\n const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1);\r\n const body = parseFunctionBody(parser, (context | 8192 | 4096 | 131072) ^\r\n (8192 | 4096 | 131072), scope ? addChildScope(functionScope, 128) : functionScope, 8, firstRestricted, scope ? functionScope.scopeError : void 0);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'FunctionDeclaration',\r\n id,\r\n params,\r\n body,\r\n async: isAsync === 1,\r\n generator: isGenerator === 1\r\n });\r\n}\r\nfunction parseFunctionExpression(parser, context, isAsync, inGroup, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const isGenerator = optionalBit(parser, context, 8457014);\r\n const generatorAndAsyncFlags = (isAsync * 2 + isGenerator) << 21;\r\n let id = null;\r\n let firstRestricted;\r\n let scope = context & 64 ? createScope() : void 0;\r\n if ((parser.token & (143360 | 4096 | 36864)) > 0) {\r\n validateFunctionName(parser, ((context | 0x1ec0000) ^ 0x1ec0000) | generatorAndAsyncFlags, parser.token);\r\n if (scope)\r\n scope = addChildScope(scope, 256);\r\n firstRestricted = parser.token;\r\n id = parseIdentifier(parser, context);\r\n }\r\n context =\r\n ((context | 32243712) ^ 32243712) |\r\n 67108864 |\r\n generatorAndAsyncFlags |\r\n (isGenerator ? 0 : 268435456);\r\n if (scope)\r\n scope = addChildScope(scope, 512);\r\n const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1);\r\n const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192 | 4096 | 131072 | 16384), scope ? addChildScope(scope, 128) : scope, 0, firstRestricted, void 0);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'FunctionExpression',\r\n id,\r\n params,\r\n body,\r\n async: isAsync === 1,\r\n generator: isGenerator === 1\r\n });\r\n}\r\nfunction parseArrayLiteral(parser, context, skipInitializer, inGroup, start, line, column) {\r\n const expr = parseArrayExpressionOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column);\r\n if (context & 256 && parser.destructible & 64) {\r\n report(parser, 61);\r\n }\r\n if (parser.destructible & 8) {\r\n report(parser, 60);\r\n }\r\n return expr;\r\n}\r\nfunction parseArrayExpressionOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const elements = [];\r\n let destructible = 0;\r\n context = (context | 134217728) ^ 134217728;\r\n while (parser.token !== 20) {\r\n if (consumeOpt(parser, context | 32768, 18)) {\r\n elements.push(null);\r\n }\r\n else {\r\n let left;\r\n const { token, tokenPos, linePos, colPos, tokenValue } = parser;\r\n if (token & 143360) {\r\n left = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);\r\n if (parser.token === 1077936157) {\r\n if (parser.assignable & 2)\r\n report(parser, 24);\r\n nextToken(parser, context | 32768);\r\n if (scope)\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n operator: '=',\r\n left,\r\n right\r\n });\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n }\r\n else if (parser.token === 18 || parser.token === 20) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (scope) {\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n }\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n }\r\n else {\r\n destructible |=\r\n kind & 1\r\n ? 32\r\n : (kind & 2) === 0\r\n ? 16\r\n : 0;\r\n left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos);\r\n if (parser.token !== 18 && parser.token !== 20) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left);\r\n }\r\n else if (parser.token !== 1077936157) {\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else if (token & 2097152) {\r\n left =\r\n parser.token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n destructible |= parser.destructible;\r\n parser.assignable =\r\n parser.destructible & 16\r\n ? 2\r\n : 1;\r\n if (parser.token === 18 || parser.token === 20) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n }\r\n else if (parser.destructible & 8) {\r\n report(parser, 69);\r\n }\r\n else {\r\n left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 2 ? 16 : 0;\r\n if (parser.token !== 18 && parser.token !== 20) {\r\n left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left);\r\n }\r\n else if (parser.token !== 1077936157) {\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else if (token === 14) {\r\n left = parseSpreadOrRestElement(parser, context, scope, 20, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos);\r\n destructible |= parser.destructible;\r\n if (parser.token !== 18 && parser.token !== 20)\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n else {\r\n left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);\r\n if (parser.token !== 18 && parser.token !== 20) {\r\n left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left);\r\n if ((kind & (2 | 1)) === 0 && token === 67174411)\r\n destructible |= 16;\r\n }\r\n else if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (token === 67174411) {\r\n destructible |=\r\n parser.assignable & 1 && kind & (2 | 1)\r\n ? 32\r\n : 16;\r\n }\r\n }\r\n elements.push(left);\r\n if (consumeOpt(parser, context | 32768, 18)) {\r\n if (parser.token === 20)\r\n break;\r\n }\r\n else\r\n break;\r\n }\r\n }\r\n consume(parser, context, 20);\r\n const node = finishNode(parser, context, start, line, column, {\r\n type: isPattern ? 'ArrayPattern' : 'ArrayExpression',\r\n elements\r\n });\r\n if (!skipInitializer && parser.token & 4194304) {\r\n return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node);\r\n }\r\n parser.destructible = destructible;\r\n return node;\r\n}\r\nfunction parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node) {\r\n if (parser.token !== 1077936157)\r\n report(parser, 24);\r\n nextToken(parser, context | 32768);\r\n if (destructible & 16)\r\n report(parser, 24);\r\n if (!isPattern)\r\n reinterpretToPattern(parser, node);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const right = parseExpression(parser, context, 1, inGroup, tokenPos, linePos, colPos);\r\n parser.destructible =\r\n ((destructible | 64 | 8) ^\r\n (8 | 64)) |\r\n (parser.destructible & 128 ? 128 : 0) |\r\n (parser.destructible & 256 ? 256 : 0);\r\n return finishNode(parser, context, start, line, column, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left: node,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n left: node,\r\n operator: '=',\r\n right\r\n });\r\n}\r\nfunction parseSpreadOrRestElement(parser, context, scope, closingToken, kind, origin, isAsync, inGroup, isPattern, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n let argument = null;\r\n let destructible = 0;\r\n let { token, tokenValue, tokenPos, linePos, colPos } = parser;\r\n if (token & (4096 | 143360)) {\r\n parser.assignable = 1;\r\n argument = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);\r\n token = parser.token;\r\n argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);\r\n if (parser.token !== 18 && parser.token !== closingToken) {\r\n if (parser.assignable & 2 && parser.token === 1077936157)\r\n report(parser, 69);\r\n destructible |= 16;\r\n argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument);\r\n }\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (token === closingToken || token === 18) {\r\n if (scope)\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n }\r\n else {\r\n destructible |= 32;\r\n }\r\n destructible |= parser.destructible & 128 ? 128 : 0;\r\n }\r\n else if (token === closingToken) {\r\n report(parser, 39);\r\n }\r\n else if (token & 2097152) {\r\n argument =\r\n parser.token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n token = parser.token;\r\n if (token !== 1077936157 && token !== closingToken && token !== 18) {\r\n if (parser.destructible & 8)\r\n report(parser, 69);\r\n argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible |= parser.assignable & 2 ? 16 : 0;\r\n if ((parser.token & 4194304) === 4194304) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument);\r\n }\r\n else {\r\n if ((parser.token & 8454144) === 8454144) {\r\n argument = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, argument);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n argument = parseConditionalExpression(parser, context, argument, tokenPos, linePos, colPos);\r\n }\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n else {\r\n destructible |=\r\n closingToken === 1074790415 && token !== 1077936157\r\n ? 16\r\n : parser.destructible;\r\n }\r\n }\r\n else {\r\n destructible |= 32;\r\n argument = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, parser.tokenPos, parser.linePos, parser.colPos);\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (token === 1077936157 && token !== closingToken && token !== 18) {\r\n if (parser.assignable & 2)\r\n report(parser, 24);\r\n argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument);\r\n destructible |= 16;\r\n }\r\n else {\r\n if (token === 18) {\r\n destructible |= 16;\r\n }\r\n else if (token !== closingToken) {\r\n argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument);\r\n }\r\n destructible |=\r\n parser.assignable & 1 ? 32 : 16;\r\n }\r\n parser.destructible = destructible;\r\n if (parser.token !== closingToken && parser.token !== 18)\r\n report(parser, 156);\r\n return finishNode(parser, context, start, line, column, {\r\n type: isPattern ? 'RestElement' : 'SpreadElement',\r\n argument: argument\r\n });\r\n }\r\n if (parser.token !== closingToken) {\r\n if (kind & 1)\r\n destructible |= isAsync ? 16 : 32;\r\n if (consumeOpt(parser, context | 32768, 1077936157)) {\r\n if (destructible & 16)\r\n report(parser, 24);\r\n reinterpretToPattern(parser, argument);\r\n const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern\r\n ? {\r\n type: 'AssignmentPattern',\r\n left: argument,\r\n right\r\n }\r\n : {\r\n type: 'AssignmentExpression',\r\n left: argument,\r\n operator: '=',\r\n right\r\n });\r\n destructible = 16;\r\n }\r\n else {\r\n destructible |= 16;\r\n }\r\n }\r\n parser.destructible = destructible;\r\n return finishNode(parser, context, start, line, column, {\r\n type: isPattern ? 'RestElement' : 'SpreadElement',\r\n argument: argument\r\n });\r\n}\r\nfunction parseMethodDefinition(parser, context, kind, inGroup, start, line, column) {\r\n const modifierFlags = (kind & 64) === 0 ? 31981568 : 14680064;\r\n context =\r\n ((context | modifierFlags) ^ modifierFlags) |\r\n ((kind & 88) << 18) |\r\n 100925440;\r\n let scope = context & 64 ? addChildScope(createScope(), 512) : void 0;\r\n const params = parseMethodFormals(parser, context | 8388608, scope, kind, 1, inGroup);\r\n if (scope)\r\n scope = addChildScope(scope, 128);\r\n const body = parseFunctionBody(parser, context & ~(0x8001000 | 8192), scope, 0, void 0, void 0);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'FunctionExpression',\r\n params,\r\n body,\r\n async: (kind & 16) > 0,\r\n generator: (kind & 8) > 0,\r\n id: null\r\n });\r\n}\r\nfunction parseObjectLiteral(parser, context, skipInitializer, inGroup, start, line, column) {\r\n const expr = parseObjectLiteralOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column);\r\n if (context & 256 && parser.destructible & 64) {\r\n report(parser, 61);\r\n }\r\n if (parser.destructible & 8) {\r\n report(parser, 60);\r\n }\r\n return expr;\r\n}\r\nfunction parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, inGroup, isPattern, kind, origin, start, line, column) {\r\n nextToken(parser, context);\r\n const properties = [];\r\n let destructible = 0;\r\n let prototypeCount = 0;\r\n context = (context | 134217728) ^ 134217728;\r\n while (parser.token !== 1074790415) {\r\n const { token, tokenValue, linePos, colPos, tokenPos } = parser;\r\n if (token === 14) {\r\n properties.push(parseSpreadOrRestElement(parser, context, scope, 1074790415, kind, origin, 0, inGroup, isPattern, tokenPos, linePos, colPos));\r\n }\r\n else {\r\n let state = 0;\r\n let key = null;\r\n let value;\r\n const t = parser.token;\r\n if (parser.token & (143360 | 4096) || parser.token === 121) {\r\n key = parseIdentifier(parser, context);\r\n if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) {\r\n state |= 4;\r\n if (context & 1024 && (token & 537079808) === 537079808) {\r\n destructible |= 16;\r\n }\r\n else {\r\n validateBindingIdentifier(parser, context, kind, token, 0);\r\n }\r\n if (scope)\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n if (consumeOpt(parser, context | 32768, 1077936157)) {\r\n destructible |= 8;\r\n const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n value = finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'AssignmentPattern',\r\n left: context & 536870912 ? Object.assign({}, key) : key,\r\n right\r\n });\r\n }\r\n else {\r\n destructible |=\r\n (token === 209008 ? 128 : 0) |\r\n (token === 121 ? 16 : 0);\r\n value = context & 536870912 ? Object.assign({}, key) : key;\r\n }\r\n }\r\n else if (consumeOpt(parser, context | 32768, 21)) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (tokenValue === '__proto__')\r\n prototypeCount++;\r\n if (parser.token & 143360) {\r\n const tokenAfterColon = parser.token;\r\n const valueAfterColon = parser.tokenValue;\r\n destructible |= t === 121 ? 16 : 0;\r\n value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);\r\n const { token } = parser;\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (token === 1077936157 || token === 1074790415 || token === 18) {\r\n destructible |= parser.destructible & 128 ? 128 : 0;\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (scope && (tokenAfterColon & 143360) === 143360) {\r\n addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin);\r\n }\r\n }\r\n else {\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n }\r\n }\r\n else if ((parser.token & 4194304) === 4194304) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (token !== 1077936157) {\r\n destructible |= 32;\r\n }\r\n else if (scope) {\r\n addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin);\r\n }\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n destructible |= 16;\r\n if ((parser.token & 8454144) === 8454144) {\r\n value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos);\r\n }\r\n }\r\n }\r\n else if ((parser.token & 2097152) === 2097152) {\r\n value =\r\n parser.token === 69271571\r\n ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n destructible = parser.destructible;\r\n parser.assignable =\r\n destructible & 16 ? 2 : 1;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n }\r\n else if (parser.destructible & 8) {\r\n report(parser, 69);\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 2 ? 16 : 0;\r\n if ((parser.token & 4194304) === 4194304) {\r\n value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n if ((parser.token & 8454144) === 8454144) {\r\n value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos);\r\n }\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else {\r\n value = parseLeftHandSideExpression(parser, context, 1, inGroup, 1, tokenPos, linePos, colPos);\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 2 ? 16 : 0;\r\n if (parser.token !== 18 && token !== 1074790415) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n }\r\n }\r\n else if (parser.token === 69271571) {\r\n destructible |= 16;\r\n if (token === 209007)\r\n state |= 16;\r\n state |=\r\n (token === 12402\r\n ? 256\r\n : token === 12403\r\n ? 512\r\n : 1) | 2;\r\n key = parseComputedPropertyName(parser, context, inGroup);\r\n destructible |= parser.assignable;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else if (parser.token & (143360 | 4096)) {\r\n destructible |= 16;\r\n if (token === 121)\r\n report(parser, 93);\r\n if (token === 209007) {\r\n if (parser.flags & 1)\r\n report(parser, 129);\r\n state |= 16;\r\n }\r\n key = parseIdentifier(parser, context);\r\n state |=\r\n token === 12402\r\n ? 256\r\n : token === 12403\r\n ? 512\r\n : 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else if (parser.token === 67174411) {\r\n destructible |= 16;\r\n state |= 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else if (parser.token === 8457014) {\r\n destructible |= 16;\r\n if (token === 12402) {\r\n report(parser, 40);\r\n }\r\n else if (token === 12403) {\r\n report(parser, 41);\r\n }\r\n else if (token === 143483) {\r\n report(parser, 93);\r\n }\r\n nextToken(parser, context);\r\n state |=\r\n 8 | 1 | (token === 209007 ? 16 : 0);\r\n if (parser.token & 143360) {\r\n key = parseIdentifier(parser, context);\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n key = parseLiteral(parser, context);\r\n }\r\n else if (parser.token === 69271571) {\r\n state |= 2;\r\n key = parseComputedPropertyName(parser, context, inGroup);\r\n destructible |= parser.assignable;\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n if (token === 209007)\r\n state |= 16;\r\n state |=\r\n token === 12402\r\n ? 256\r\n : token === 12403\r\n ? 512\r\n : 1;\r\n destructible |= 16;\r\n key = parseLiteral(parser, context);\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n report(parser, 130);\r\n }\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n key = parseLiteral(parser, context);\r\n if (parser.token === 21) {\r\n consume(parser, context | 32768, 21);\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (tokenValue === '__proto__')\r\n prototypeCount++;\r\n if (parser.token & 143360) {\r\n value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);\r\n const { token, tokenValue: valueAfterColon } = parser;\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (token === 1077936157 || token === 1074790415 || token === 18) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (scope) {\r\n addVarOrBlock(parser, context, scope, valueAfterColon, kind, origin);\r\n }\r\n }\r\n else {\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n }\r\n }\r\n else if (parser.token === 1077936157) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n else if ((parser.token & 2097152) === 2097152) {\r\n value =\r\n parser.token === 69271571\r\n ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n destructible = parser.destructible;\r\n parser.assignable =\r\n destructible & 16 ? 2 : 1;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n }\r\n else if ((parser.destructible & 8) !== 8) {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 2 ? 16 : 0;\r\n if ((parser.token & 4194304) === 4194304) {\r\n value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n if ((parser.token & 8454144) === 8454144) {\r\n value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos);\r\n }\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else {\r\n value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 1 ? 0 : 16;\r\n if (parser.token !== 18 && parser.token !== 1074790415) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n }\r\n }\r\n else if (parser.token === 67174411) {\r\n state |= 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n destructible = parser.assignable | 16;\r\n }\r\n else {\r\n report(parser, 131);\r\n }\r\n }\r\n else if (parser.token === 69271571) {\r\n key = parseComputedPropertyName(parser, context, inGroup);\r\n destructible |= parser.destructible & 256 ? 256 : 0;\r\n state |= 2;\r\n if (parser.token === 21) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser;\r\n if (parser.token & 143360) {\r\n value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);\r\n const { token } = parser;\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n if ((parser.token & 4194304) === 4194304) {\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : token === 1077936157\r\n ? 0\r\n : 32;\r\n value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else if (parser.token === 18 || parser.token === 1074790415) {\r\n if (token === 1077936157 || token === 1074790415 || token === 18) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n }\r\n else if (scope && (tokenAfterColon & 143360) === 143360) {\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n }\r\n }\r\n else {\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n }\r\n }\r\n else {\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n else if ((parser.token & 2097152) === 2097152) {\r\n value =\r\n parser.token === 69271571\r\n ? parseArrayExpressionOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos)\r\n : parseObjectLiteralOrPattern(parser, context, scope, 0, inGroup, isPattern, kind, origin, tokenPos, linePos, colPos);\r\n destructible = parser.destructible;\r\n parser.assignable =\r\n destructible & 16 ? 2 : 1;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n }\r\n else if (destructible & 8) {\r\n report(parser, 60);\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible =\r\n parser.assignable & 2 ? destructible | 16 : 0;\r\n if ((parser.token & 4194304) === 4194304) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n value = parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n else {\r\n if ((parser.token & 8454144) === 8454144) {\r\n value = parseBinaryExpression(parser, context, 1, tokenPos, linePos, colPos, 4, token, value);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n value = parseConditionalExpression(parser, context, value, tokenPos, linePos, colPos);\r\n }\r\n destructible |=\r\n parser.assignable & 2\r\n ? 16\r\n : 32;\r\n }\r\n }\r\n }\r\n else {\r\n value = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);\r\n destructible |=\r\n parser.assignable & 1\r\n ? 32\r\n : 16;\r\n if (parser.token === 18 || parser.token === 1074790415) {\r\n if (parser.assignable & 2)\r\n destructible |= 16;\r\n }\r\n else {\r\n value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable & 1 ? 0 : 16;\r\n if (parser.token !== 18 && parser.token !== 1074790415) {\r\n if (parser.token !== 1077936157)\r\n destructible |= 16;\r\n value = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, value);\r\n }\r\n }\r\n }\r\n }\r\n else if (parser.token === 67174411) {\r\n state |= 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, linePos, colPos);\r\n destructible = 16;\r\n }\r\n else {\r\n report(parser, 42);\r\n }\r\n }\r\n else if (token === 8457014) {\r\n consume(parser, context | 32768, 8457014);\r\n state |= 8;\r\n if (parser.token & 143360) {\r\n const { token, line, index } = parser;\r\n key = parseIdentifier(parser, context);\r\n state |= 1;\r\n if (parser.token === 67174411) {\r\n destructible |= 16;\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n reportMessageAt(index, line, index, token === 209007\r\n ? 44\r\n : token === 12402 || parser.token === 12403\r\n ? 43\r\n : 45, KeywordDescTable[token & 255]);\r\n }\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n destructible |= 16;\r\n key = parseLiteral(parser, context);\r\n state |= 1;\r\n value = parseMethodDefinition(parser, context, state, inGroup, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 69271571) {\r\n destructible |= 16;\r\n state |= 2 | 1;\r\n key = parseComputedPropertyName(parser, context, inGroup);\r\n value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n report(parser, 123);\r\n }\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[token & 255]);\r\n }\r\n destructible |= parser.destructible & 128 ? 128 : 0;\r\n parser.destructible = destructible;\r\n properties.push(finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'Property',\r\n key: key,\r\n value,\r\n kind: !(state & 768) ? 'init' : state & 512 ? 'set' : 'get',\r\n computed: (state & 2) > 0,\r\n method: (state & 1) > 0,\r\n shorthand: (state & 4) > 0\r\n }));\r\n }\r\n destructible |= parser.destructible;\r\n if (parser.token !== 18)\r\n break;\r\n nextToken(parser, context);\r\n }\r\n consume(parser, context, 1074790415);\r\n if (prototypeCount > 1)\r\n destructible |= 64;\r\n const node = finishNode(parser, context, start, line, column, {\r\n type: isPattern ? 'ObjectPattern' : 'ObjectExpression',\r\n properties\r\n });\r\n if (!skipInitializer && parser.token & 4194304) {\r\n return parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGroup, isPattern, start, line, column, node);\r\n }\r\n parser.destructible = destructible;\r\n return node;\r\n}\r\nfunction parseMethodFormals(parser, context, scope, kind, type, inGroup) {\r\n consume(parser, context, 67174411);\r\n const params = [];\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n if (parser.token === 16) {\r\n if (kind & 512) {\r\n report(parser, 35, 'Setter', 'one', '');\r\n }\r\n nextToken(parser, context);\r\n return params;\r\n }\r\n if (kind & 256) {\r\n report(parser, 35, 'Getter', 'no', 's');\r\n }\r\n if (kind & 512 && parser.token === 14) {\r\n report(parser, 36);\r\n }\r\n context = (context | 134217728) ^ 134217728;\r\n let setterArgs = 0;\r\n let isSimpleParameterList = 0;\r\n while (parser.token !== 18) {\r\n let left = null;\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (parser.token & 143360) {\r\n if ((context & 1024) === 0) {\r\n if ((parser.token & 36864) === 36864) {\r\n parser.flags |= 256;\r\n }\r\n if ((parser.token & 537079808) === 537079808) {\r\n parser.flags |= 512;\r\n }\r\n }\r\n left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos);\r\n }\r\n else {\r\n if (parser.token === 2162700) {\r\n left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 69271571) {\r\n left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, type, 0, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 14) {\r\n left = parseSpreadOrRestElement(parser, context, scope, 16, type, 0, 0, inGroup, 1, tokenPos, linePos, colPos);\r\n }\r\n isSimpleParameterList = 1;\r\n if (parser.destructible & (32 | 16))\r\n report(parser, 48);\r\n }\r\n if (parser.token === 1077936157) {\r\n nextToken(parser, context | 32768);\r\n isSimpleParameterList = 1;\r\n const right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n left = finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'AssignmentPattern',\r\n left: left,\r\n right\r\n });\r\n }\r\n setterArgs++;\r\n params.push(left);\r\n if (!consumeOpt(parser, context, 18))\r\n break;\r\n if (parser.token === 16) {\r\n break;\r\n }\r\n }\r\n if (kind & 512 && setterArgs !== 1) {\r\n report(parser, 35, 'Setter', 'one', '');\r\n }\r\n if (scope && scope.scopeError !== void 0)\r\n reportScopeError(scope.scopeError);\r\n if (isSimpleParameterList)\r\n parser.flags |= 128;\r\n consume(parser, context, 16);\r\n return params;\r\n}\r\nfunction parseComputedPropertyName(parser, context, inGroup) {\r\n nextToken(parser, context | 32768);\r\n const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 20);\r\n return key;\r\n}\r\nfunction parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) {\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser;\r\n nextToken(parser, context | 32768 | 268435456);\r\n const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;\r\n context = (context | 134217728) ^ 134217728;\r\n if (consumeOpt(parser, context, 16)) {\r\n return parseParenthesizedArrow(parser, context, scope, [], canAssign, 0, start, line, column);\r\n }\r\n let destructible = 0;\r\n parser.destructible &= ~(256 | 128);\r\n let expr;\r\n let expressions = [];\r\n let isSequence = 0;\r\n let isSimpleParameterList = 0;\r\n const { tokenPos: iStart, linePos: lStart, colPos: cStart } = parser;\r\n parser.assignable = 1;\r\n while (parser.token !== 16) {\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (token & (143360 | 4096)) {\r\n if (scope)\r\n addBlockName(parser, context, scope, parser.tokenValue, 1, 0);\r\n expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);\r\n if (parser.token === 16 || parser.token === 18) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n isSimpleParameterList = 1;\r\n }\r\n else if ((token & 537079808) === 537079808 ||\r\n (token & 36864) === 36864) {\r\n isSimpleParameterList = 1;\r\n }\r\n }\r\n else {\r\n if (parser.token === 1077936157) {\r\n isSimpleParameterList = 1;\r\n }\r\n else {\r\n destructible |= 16;\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos);\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr);\r\n }\r\n }\r\n }\r\n else if ((token & 2097152) === 2097152) {\r\n expr =\r\n token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);\r\n destructible |= parser.destructible;\r\n isSimpleParameterList = 1;\r\n parser.assignable = 2;\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n if (destructible & 8)\r\n report(parser, 119);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos);\r\n destructible |= 16;\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n expr = parseAssignmentExpression(parser, context, 0, 0, tokenPos, linePos, colPos, expr);\r\n }\r\n }\r\n }\r\n else if (token === 14) {\r\n expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 0, 1, 0, tokenPos, linePos, colPos);\r\n if (parser.destructible & 16)\r\n report(parser, 72);\r\n isSimpleParameterList = 1;\r\n if (isSequence && (parser.token === 16 || parser.token === 18)) {\r\n expressions.push(expr);\r\n }\r\n destructible |= 8;\r\n break;\r\n }\r\n else {\r\n destructible |= 16;\r\n expr = parseExpression(parser, context, 1, 1, tokenPos, linePos, colPos);\r\n if (isSequence && (parser.token === 16 || parser.token === 18)) {\r\n expressions.push(expr);\r\n }\r\n if (parser.token === 18) {\r\n if (!isSequence) {\r\n isSequence = 1;\r\n expressions = [expr];\r\n }\r\n }\r\n if (isSequence) {\r\n while (consumeOpt(parser, context | 32768, 18)) {\r\n expressions.push(parseExpression(parser, context, 1, 1, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n parser.assignable = 2;\r\n expr = finishNode(parser, context, iStart, lStart, cStart, {\r\n type: 'SequenceExpression',\r\n expressions\r\n });\r\n }\r\n consume(parser, context, 16);\r\n parser.destructible = destructible;\r\n return expr;\r\n }\r\n if (isSequence && (parser.token === 16 || parser.token === 18)) {\r\n expressions.push(expr);\r\n }\r\n if (!consumeOpt(parser, context | 32768, 18))\r\n break;\r\n if (!isSequence) {\r\n isSequence = 1;\r\n expressions = [expr];\r\n }\r\n if (parser.token === 16) {\r\n destructible |= 8;\r\n break;\r\n }\r\n }\r\n if (isSequence) {\r\n parser.assignable = 2;\r\n expr = finishNode(parser, context, iStart, lStart, cStart, {\r\n type: 'SequenceExpression',\r\n expressions\r\n });\r\n }\r\n consume(parser, context, 16);\r\n if (destructible & 16 && destructible & 8)\r\n report(parser, 146);\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n if (parser.token === 10) {\r\n if (destructible & (32 | 16))\r\n report(parser, 47);\r\n if (context & (4194304 | 2048) && destructible & 128)\r\n report(parser, 29);\r\n if (context & (1024 | 2097152) && destructible & 256) {\r\n report(parser, 30);\r\n }\r\n if (isSimpleParameterList)\r\n parser.flags |= 128;\r\n return parseParenthesizedArrow(parser, context, scope, isSequence ? expressions : [expr], canAssign, 0, start, line, column);\r\n }\r\n else if (destructible & 8) {\r\n report(parser, 140);\r\n }\r\n parser.destructible = ((parser.destructible | 256) ^ 256) | destructible;\r\n return context & 128\r\n ? finishNode(parser, context, piStart, plStart, pcStart, {\r\n type: 'ParenthesizedExpression',\r\n expression: expr\r\n })\r\n : expr;\r\n}\r\nfunction parseIdentifierOrArrow(parser, context, start, line, column) {\r\n const { tokenValue } = parser;\r\n const expr = parseIdentifier(parser, context);\r\n parser.assignable = 1;\r\n if (parser.token === 10) {\r\n let scope = void 0;\r\n if (context & 64)\r\n scope = createArrowHeadParsingScope(parser, context, tokenValue);\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n return parseArrowFunctionExpression(parser, context, scope, [expr], 0, start, line, column);\r\n }\r\n return expr;\r\n}\r\nfunction parseArrowFromIdentifier(parser, context, value, expr, inNew, canAssign, isAsync, start, line, column) {\r\n if (!canAssign)\r\n report(parser, 55);\r\n if (inNew)\r\n report(parser, 49);\r\n parser.flags &= ~128;\r\n const scope = context & 64 ? createArrowHeadParsingScope(parser, context, value) : void 0;\r\n return parseArrowFunctionExpression(parser, context, scope, [expr], isAsync, start, line, column);\r\n}\r\nfunction parseParenthesizedArrow(parser, context, scope, params, canAssign, isAsync, start, line, column) {\r\n if (!canAssign)\r\n report(parser, 55);\r\n for (let i = 0; i < params.length; ++i)\r\n reinterpretToPattern(parser, params[i]);\r\n return parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column);\r\n}\r\nfunction parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column) {\r\n if (parser.flags & 1)\r\n report(parser, 46);\r\n consume(parser, context | 32768, 10);\r\n context = ((context | 15728640) ^ 15728640) | (isAsync << 22);\r\n const expression = parser.token !== 2162700;\r\n let body;\r\n if (scope && scope.scopeError !== void 0) {\r\n reportScopeError(scope.scopeError);\r\n }\r\n if (expression) {\r\n body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n }\r\n else {\r\n if (scope)\r\n scope = addChildScope(scope, 128);\r\n body = parseFunctionBody(parser, (context | 134221824 | 8192 | 16384) ^\r\n (134221824 | 8192 | 16384), scope, 16, void 0, void 0);\r\n switch (parser.token) {\r\n case 69271571:\r\n if ((parser.flags & 1) === 0) {\r\n report(parser, 113);\r\n }\r\n break;\r\n case 67108877:\r\n case 67174409:\r\n case 22:\r\n report(parser, 114);\r\n case 67174411:\r\n if ((parser.flags & 1) === 0) {\r\n report(parser, 113);\r\n }\r\n parser.flags |= 1024;\r\n break;\r\n }\r\n if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) === 0)\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n if ((parser.token & 33619968) === 33619968)\r\n report(parser, 122);\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'ArrowFunctionExpression',\r\n params,\r\n body,\r\n async: isAsync === 1,\r\n expression\r\n });\r\n}\r\nfunction parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind) {\r\n consume(parser, context, 67174411);\r\n parser.flags = (parser.flags | 128) ^ 128;\r\n const params = [];\r\n if (consumeOpt(parser, context, 16))\r\n return params;\r\n context = (context | 134217728) ^ 134217728;\r\n let isSimpleParameterList = 0;\r\n while (parser.token !== 18) {\r\n let left;\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (parser.token & 143360) {\r\n if ((context & 1024) === 0) {\r\n if ((parser.token & 36864) === 36864) {\r\n parser.flags |= 256;\r\n }\r\n if ((parser.token & 537079808) === 537079808) {\r\n parser.flags |= 512;\r\n }\r\n }\r\n left = parseAndClassifyIdentifier(parser, context, scope, kind | 1, 0, tokenPos, linePos, colPos);\r\n }\r\n else {\r\n if (parser.token === 2162700) {\r\n left = parseObjectLiteralOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 69271571) {\r\n left = parseArrayExpressionOrPattern(parser, context, scope, 1, inGroup, 1, kind, 0, tokenPos, linePos, colPos);\r\n }\r\n else if (parser.token === 14) {\r\n left = parseSpreadOrRestElement(parser, context, scope, 16, kind, 0, 0, inGroup, 1, tokenPos, linePos, colPos);\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n isSimpleParameterList = 1;\r\n if (parser.destructible & (32 | 16)) {\r\n report(parser, 48);\r\n }\r\n }\r\n if (parser.token === 1077936157) {\r\n nextToken(parser, context | 32768);\r\n isSimpleParameterList = 1;\r\n const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n left = finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'AssignmentPattern',\r\n left,\r\n right\r\n });\r\n }\r\n params.push(left);\r\n if (!consumeOpt(parser, context, 18))\r\n break;\r\n if (parser.token === 16) {\r\n break;\r\n }\r\n }\r\n if (isSimpleParameterList)\r\n parser.flags |= 128;\r\n if (scope && (isSimpleParameterList || context & 1024) && scope.scopeError !== void 0) {\r\n reportScopeError(scope.scopeError);\r\n }\r\n consume(parser, context, 16);\r\n return params;\r\n}\r\nfunction parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line, column) {\r\n const { token } = parser;\r\n if (token & 67108864) {\r\n if (token === 67108877) {\r\n nextToken(parser, context | 268435456);\r\n parser.assignable = 1;\r\n const property = parsePropertyOrPrivatePropertyName(parser, context);\r\n return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: false,\r\n property\r\n }), 0, start, line, column);\r\n }\r\n else if (token === 69271571) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n const property = parseExpressions(parser, context, inGroup, 1, tokenPos, linePos, colPos);\r\n consume(parser, context, 20);\r\n parser.assignable = 1;\r\n return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {\r\n type: 'MemberExpression',\r\n object: expr,\r\n computed: true,\r\n property\r\n }), 0, start, line, column);\r\n }\r\n else if (token === 67174408 || token === 67174409) {\r\n parser.assignable = 2;\r\n return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {\r\n type: 'TaggedTemplateExpression',\r\n tag: expr,\r\n quasi: parser.token === 67174408\r\n ? parseTemplate(parser, context | 65536)\r\n : parseTemplateLiteral(parser, context, parser.tokenPos, parser.linePos, parser.colPos)\r\n }), 0, start, line, column);\r\n }\r\n }\r\n return expr;\r\n}\r\nfunction parseNewExpression(parser, context, inGroup, start, line, column) {\r\n const id = parseIdentifier(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (consumeOpt(parser, context, 67108877)) {\r\n if (context & 67108864 && parser.token === 143494) {\r\n parser.assignable = 2;\r\n return parseMetaProperty(parser, context, id, start, line, column);\r\n }\r\n report(parser, 92);\r\n }\r\n parser.assignable = 2;\r\n if ((parser.token & 16842752) === 16842752) {\r\n report(parser, 63, KeywordDescTable[parser.token & 255]);\r\n }\r\n const expr = parsePrimaryExpression(parser, context, 2, 1, 0, inGroup, 1, tokenPos, linePos, colPos);\r\n context = (context | 134217728) ^ 134217728;\r\n if (parser.token === 67108991)\r\n report(parser, 163);\r\n const callee = parseMembeExpressionNoCall(parser, context, expr, inGroup, tokenPos, linePos, colPos);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'NewExpression',\r\n callee,\r\n arguments: parser.token === 67174411 ? parseArguments(parser, context, inGroup) : []\r\n });\r\n}\r\nfunction parseMetaProperty(parser, context, meta, start, line, column) {\r\n const property = parseIdentifier(parser, context);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'MetaProperty',\r\n meta,\r\n property\r\n });\r\n}\r\nfunction parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, column) {\r\n if (parser.token === 209008)\r\n report(parser, 29);\r\n if (context & (1024 | 2097152) && parser.token === 241773) {\r\n report(parser, 30);\r\n }\r\n if ((parser.token & 537079808) === 537079808) {\r\n parser.flags |= 512;\r\n }\r\n return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context), 0, canAssign, 1, start, line, column);\r\n}\r\nfunction parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;\r\n context = (context | 134217728) ^ 134217728;\r\n if (consumeOpt(parser, context, 16)) {\r\n if (parser.token === 10) {\r\n if (flags & 1)\r\n report(parser, 46);\r\n return parseParenthesizedArrow(parser, context, scope, [], canAssign, 1, start, line, column);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee,\r\n arguments: []\r\n });\r\n }\r\n let destructible = 0;\r\n let expr = null;\r\n let isSimpleParameterList = 0;\r\n parser.destructible =\r\n (parser.destructible | 256 | 128) ^\r\n (256 | 128);\r\n const params = [];\r\n while (parser.token !== 16) {\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (token & (143360 | 4096)) {\r\n if (scope)\r\n addBlockName(parser, context, scope, parser.tokenValue, kind, 0);\r\n expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);\r\n if (parser.token === 16 || parser.token === 18) {\r\n if (parser.assignable & 2) {\r\n destructible |= 16;\r\n isSimpleParameterList = 1;\r\n }\r\n else if ((token & 537079808) === 537079808) {\r\n parser.flags |= 512;\r\n }\r\n else if ((token & 36864) === 36864) {\r\n parser.flags |= 256;\r\n }\r\n }\r\n else {\r\n if (parser.token === 1077936157) {\r\n isSimpleParameterList = 1;\r\n }\r\n else {\r\n destructible |= 16;\r\n }\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 1, 0, tokenPos, linePos, colPos);\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n expr = parseAssignmentExpression(parser, context, 1, 0, tokenPos, linePos, colPos, expr);\r\n }\r\n }\r\n }\r\n else if (token & 2097152) {\r\n expr =\r\n token === 2162700\r\n ? parseObjectLiteralOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)\r\n : parseArrayExpressionOrPattern(parser, context, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);\r\n destructible |= parser.destructible;\r\n isSimpleParameterList = 1;\r\n if (parser.token !== 16 && parser.token !== 18) {\r\n if (destructible & 8)\r\n report(parser, 119);\r\n expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos);\r\n destructible |= 16;\r\n if ((parser.token & 8454144) === 8454144) {\r\n expr = parseBinaryExpression(parser, context, 1, start, line, column, 4, token, expr);\r\n }\r\n if (consumeOpt(parser, context | 32768, 22)) {\r\n expr = parseConditionalExpression(parser, context, expr, start, line, column);\r\n }\r\n }\r\n }\r\n else if (token === 14) {\r\n expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 1, 1, 0, tokenPos, linePos, colPos);\r\n destructible |= (parser.token === 16 ? 0 : 16) | parser.destructible;\r\n isSimpleParameterList = 1;\r\n }\r\n else {\r\n expr = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);\r\n destructible = parser.assignable;\r\n params.push(expr);\r\n while (consumeOpt(parser, context | 32768, 18)) {\r\n params.push(parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos));\r\n }\r\n destructible |= parser.assignable;\r\n consume(parser, context, 16);\r\n parser.destructible = destructible | 16;\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee,\r\n arguments: params\r\n });\r\n }\r\n params.push(expr);\r\n if (!consumeOpt(parser, context | 32768, 18))\r\n break;\r\n }\r\n consume(parser, context, 16);\r\n destructible |=\r\n parser.destructible & 256\r\n ? 256\r\n : 0 | (parser.destructible & 128)\r\n ? 128\r\n : 0;\r\n if (parser.token === 10) {\r\n if (destructible & (32 | 16))\r\n report(parser, 25);\r\n if (parser.flags & 1 || flags & 1)\r\n report(parser, 46);\r\n if (destructible & 128)\r\n report(parser, 29);\r\n if (context & (1024 | 2097152) && destructible & 256)\r\n report(parser, 30);\r\n if (isSimpleParameterList)\r\n parser.flags |= 128;\r\n return parseParenthesizedArrow(parser, context, scope, params, canAssign, 1, start, line, column);\r\n }\r\n else if (destructible & 8) {\r\n report(parser, 60);\r\n }\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'CallExpression',\r\n callee,\r\n arguments: params\r\n });\r\n}\r\nfunction parseRegExpLiteral(parser, context, start, line, column) {\r\n const { tokenRaw, tokenRegExp, tokenValue } = parser;\r\n nextToken(parser, context);\r\n parser.assignable = 2;\r\n return context & 512\r\n ? finishNode(parser, context, start, line, column, {\r\n type: 'Literal',\r\n value: tokenValue,\r\n regex: tokenRegExp,\r\n raw: tokenRaw\r\n })\r\n : finishNode(parser, context, start, line, column, {\r\n type: 'Literal',\r\n value: tokenValue,\r\n regex: tokenRegExp\r\n });\r\n}\r\nfunction parseClassDeclaration(parser, context, scope, flags, start, line, column) {\r\n context = (context | 16777216 | 1024) ^ 16777216;\r\n let decorators = parseDecorators(parser, context);\r\n if (decorators.length) {\r\n start = parser.tokenPos;\r\n line = parser.linePos;\r\n column = parser.colPos;\r\n }\r\n if (parser.leadingDecorators.length) {\r\n parser.leadingDecorators.push(...decorators);\r\n decorators = parser.leadingDecorators;\r\n parser.leadingDecorators = [];\r\n }\r\n nextToken(parser, context);\r\n let id = null;\r\n let superClass = null;\r\n const { tokenValue } = parser;\r\n if (parser.token & 4096 && parser.token !== 20567) {\r\n if (isStrictReservedWord(parser, context, parser.token)) {\r\n report(parser, 115);\r\n }\r\n if ((parser.token & 537079808) === 537079808) {\r\n report(parser, 116);\r\n }\r\n if (scope) {\r\n addBlockName(parser, context, scope, tokenValue, 32, 0);\r\n if (flags) {\r\n if (flags & 2) {\r\n declareUnboundVariable(parser, tokenValue);\r\n }\r\n }\r\n }\r\n id = parseIdentifier(parser, context);\r\n }\r\n else {\r\n if ((flags & 1) === 0)\r\n report(parser, 37, 'Class');\r\n }\r\n let inheritedContext = context;\r\n if (consumeOpt(parser, context | 32768, 20567)) {\r\n superClass = parseLeftHandSideExpression(parser, context, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n inheritedContext |= 524288;\r\n }\r\n else {\r\n inheritedContext = (inheritedContext | 524288) ^ 524288;\r\n }\r\n const body = parseClassBody(parser, inheritedContext, context, scope, 2, 8, 0);\r\n return finishNode(parser, context, start, line, column, context & 1\r\n ? {\r\n type: 'ClassDeclaration',\r\n id,\r\n superClass,\r\n decorators,\r\n body\r\n }\r\n : {\r\n type: 'ClassDeclaration',\r\n id,\r\n superClass,\r\n body\r\n });\r\n}\r\nfunction parseClassExpression(parser, context, inGroup, start, line, column) {\r\n let id = null;\r\n let superClass = null;\r\n context = (context | 1024 | 16777216) ^ 16777216;\r\n const decorators = parseDecorators(parser, context);\r\n if (decorators.length) {\r\n start = parser.tokenPos;\r\n line = parser.linePos;\r\n column = parser.colPos;\r\n }\r\n nextToken(parser, context);\r\n if (parser.token & 4096 && parser.token !== 20567) {\r\n if (isStrictReservedWord(parser, context, parser.token))\r\n report(parser, 115);\r\n if ((parser.token & 537079808) === 537079808) {\r\n report(parser, 116);\r\n }\r\n id = parseIdentifier(parser, context);\r\n }\r\n let inheritedContext = context;\r\n if (consumeOpt(parser, context | 32768, 20567)) {\r\n superClass = parseLeftHandSideExpression(parser, context, 0, inGroup, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n inheritedContext |= 524288;\r\n }\r\n else {\r\n inheritedContext = (inheritedContext | 524288) ^ 524288;\r\n }\r\n const body = parseClassBody(parser, inheritedContext, context, void 0, 2, 0, inGroup);\r\n parser.assignable = 2;\r\n return finishNode(parser, context, start, line, column, context & 1\r\n ? {\r\n type: 'ClassExpression',\r\n id,\r\n superClass,\r\n decorators,\r\n body\r\n }\r\n : {\r\n type: 'ClassExpression',\r\n id,\r\n superClass,\r\n body\r\n });\r\n}\r\nfunction parseDecorators(parser, context) {\r\n const list = [];\r\n if (context & 1) {\r\n while (parser.token === 133) {\r\n list.push(parseDecoratorList(parser, context, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n }\r\n return list;\r\n}\r\nfunction parseDecoratorList(parser, context, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, start, line, column);\r\n expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'Decorator',\r\n expression\r\n });\r\n}\r\nfunction parseClassBody(parser, context, inheritedContext, scope, kind, origin, inGroup) {\r\n const { tokenPos, linePos, colPos } = parser;\r\n consume(parser, context | 32768, 2162700);\r\n context = (context | 134217728) ^ 134217728;\r\n let hasConstr = parser.flags & 32;\r\n parser.flags = (parser.flags | 32) ^ 32;\r\n const body = [];\r\n let decorators;\r\n while (parser.token !== 1074790415) {\r\n let length = 0;\r\n decorators = parseDecorators(parser, context);\r\n length = decorators.length;\r\n if (length > 0 && parser.tokenValue === 'constructor') {\r\n report(parser, 107);\r\n }\r\n if (parser.token === 1074790415)\r\n report(parser, 106);\r\n if (consumeOpt(parser, context, 1074790417)) {\r\n if (length > 0)\r\n report(parser, 117);\r\n continue;\r\n }\r\n body.push(parseClassElementList(parser, context, scope, inheritedContext, kind, decorators, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n consume(parser, origin & 8 ? context | 32768 : context, 1074790415);\r\n parser.flags = (parser.flags & ~32) | hasConstr;\r\n return finishNode(parser, context, tokenPos, linePos, colPos, {\r\n type: 'ClassBody',\r\n body\r\n });\r\n}\r\nfunction parseClassElementList(parser, context, scope, inheritedContext, type, decorators, isStatic, inGroup, start, line, column) {\r\n let kind = isStatic ? 32 : 0;\r\n let key = null;\r\n const { token, tokenPos, linePos, colPos } = parser;\r\n if (token & (143360 | 36864)) {\r\n key = parseIdentifier(parser, context);\r\n switch (token) {\r\n case 36972:\r\n if (!isStatic &&\r\n parser.token !== 67174411 &&\r\n (parser.token & 1048576) !== 1048576 &&\r\n parser.token !== 1077936157) {\r\n return parseClassElementList(parser, context, scope, inheritedContext, type, decorators, 1, inGroup, start, line, column);\r\n }\r\n break;\r\n case 209007:\r\n if (parser.token !== 67174411 && (parser.flags & 1) === 0) {\r\n if (context & 1 && (parser.token & 1073741824) === 1073741824) {\r\n return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);\r\n }\r\n kind |= 16 | (optionalBit(parser, context, 8457014) ? 8 : 0);\r\n }\r\n break;\r\n case 12402:\r\n if (parser.token !== 67174411) {\r\n if (context & 1 && (parser.token & 1073741824) === 1073741824) {\r\n return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);\r\n }\r\n kind |= 256;\r\n }\r\n break;\r\n case 12403:\r\n if (parser.token !== 67174411) {\r\n if (context & 1 && (parser.token & 1073741824) === 1073741824) {\r\n return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);\r\n }\r\n kind |= 512;\r\n }\r\n break;\r\n }\r\n }\r\n else if (token === 69271571) {\r\n kind |= 2;\r\n key = parseComputedPropertyName(parser, inheritedContext, inGroup);\r\n }\r\n else if ((token & 134217728) === 134217728) {\r\n key = parseLiteral(parser, context);\r\n }\r\n else if (token === 8457014) {\r\n kind |= 8;\r\n nextToken(parser, context);\r\n }\r\n else if (context & 1 && parser.token === 131) {\r\n kind |= 4096;\r\n key = parsePrivateIdentifier(parser, context | 16384, tokenPos, linePos, colPos);\r\n }\r\n else if (context & 1 && (parser.token & 1073741824) === 1073741824) {\r\n kind |= 128;\r\n }\r\n else if (isStatic && token === 2162700) {\r\n return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);\r\n }\r\n else if (token === 122) {\r\n key = parseIdentifier(parser, context);\r\n if (parser.token !== 67174411)\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n else {\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n }\r\n if (kind & (8 | 16 | 768)) {\r\n if (parser.token & 143360) {\r\n key = parseIdentifier(parser, context);\r\n }\r\n else if ((parser.token & 134217728) === 134217728) {\r\n key = parseLiteral(parser, context);\r\n }\r\n else if (parser.token === 69271571) {\r\n kind |= 2;\r\n key = parseComputedPropertyName(parser, context, 0);\r\n }\r\n else if (parser.token === 122) {\r\n key = parseIdentifier(parser, context);\r\n }\r\n else if (context & 1 && parser.token === 131) {\r\n kind |= 4096;\r\n key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos);\r\n }\r\n else\r\n report(parser, 132);\r\n }\r\n if ((kind & 2) === 0) {\r\n if (parser.tokenValue === 'constructor') {\r\n if ((parser.token & 1073741824) === 1073741824) {\r\n report(parser, 126);\r\n }\r\n else if ((kind & 32) === 0 && parser.token === 67174411) {\r\n if (kind & (768 | 16 | 128 | 8)) {\r\n report(parser, 51, 'accessor');\r\n }\r\n else if ((context & 524288) === 0) {\r\n if (parser.flags & 32)\r\n report(parser, 52);\r\n else\r\n parser.flags |= 32;\r\n }\r\n }\r\n kind |= 64;\r\n }\r\n else if ((kind & 4096) === 0 &&\r\n kind & (32 | 768 | 8 | 16) &&\r\n parser.tokenValue === 'prototype') {\r\n report(parser, 50);\r\n }\r\n }\r\n if (context & 1 && parser.token !== 67174411) {\r\n return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);\r\n }\r\n const value = parseMethodDefinition(parser, context, kind, inGroup, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, context & 1\r\n ? {\r\n type: 'MethodDefinition',\r\n kind: (kind & 32) === 0 && kind & 64\r\n ? 'constructor'\r\n : kind & 256\r\n ? 'get'\r\n : kind & 512\r\n ? 'set'\r\n : 'method',\r\n static: (kind & 32) > 0,\r\n computed: (kind & 2) > 0,\r\n key,\r\n decorators,\r\n value\r\n }\r\n : {\r\n type: 'MethodDefinition',\r\n kind: (kind & 32) === 0 && kind & 64\r\n ? 'constructor'\r\n : kind & 256\r\n ? 'get'\r\n : kind & 512\r\n ? 'set'\r\n : 'method',\r\n static: (kind & 32) > 0,\r\n computed: (kind & 2) > 0,\r\n key,\r\n value\r\n });\r\n}\r\nfunction parsePrivateIdentifier(parser, context, start, line, column) {\r\n nextToken(parser, context);\r\n const { tokenValue } = parser;\r\n if (tokenValue === 'constructor')\r\n report(parser, 125);\r\n nextToken(parser, context);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'PrivateIdentifier',\r\n name: tokenValue\r\n });\r\n}\r\nfunction parsePropertyDefinition(parser, context, key, state, decorators, start, line, column) {\r\n let value = null;\r\n if (state & 8)\r\n report(parser, 0);\r\n if (parser.token === 1077936157) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (parser.token === 537079928)\r\n report(parser, 116);\r\n const modifierFlags = (state & 64) === 0\r\n ? 31981568\r\n : 14680064;\r\n context =\r\n ((context | modifierFlags) ^ modifierFlags) |\r\n ((state & 88) << 18) |\r\n 100925440;\r\n value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 1, tokenPos, linePos, colPos);\r\n if ((parser.token & 1073741824) !== 1073741824 ||\r\n (parser.token & 4194304) === 4194304) {\r\n value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos);\r\n value = parseAssignmentExpression(parser, context | 16384, 0, 0, tokenPos, linePos, colPos, value);\r\n if (parser.token === 18) {\r\n value = parseSequenceExpression(parser, context, 0, start, line, column, value);\r\n }\r\n }\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'PropertyDefinition',\r\n key,\r\n value,\r\n static: (state & 32) > 0,\r\n computed: (state & 2) > 0,\r\n decorators\r\n });\r\n}\r\nfunction parseBindingPattern(parser, context, scope, type, origin, start, line, column) {\r\n if (parser.token & 143360)\r\n return parseAndClassifyIdentifier(parser, context, scope, type, origin, start, line, column);\r\n if ((parser.token & 2097152) !== 2097152)\r\n report(parser, 28, KeywordDescTable[parser.token & 255]);\r\n const left = parser.token === 69271571\r\n ? parseArrayExpressionOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column)\r\n : parseObjectLiteralOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column);\r\n if (parser.destructible & 16)\r\n report(parser, 48);\r\n if (parser.destructible & 32)\r\n report(parser, 48);\r\n return left;\r\n}\r\nfunction parseAndClassifyIdentifier(parser, context, scope, kind, origin, start, line, column) {\r\n const { tokenValue, token } = parser;\r\n if (context & 1024) {\r\n if ((token & 537079808) === 537079808) {\r\n report(parser, 116);\r\n }\r\n else if ((token & 36864) === 36864) {\r\n report(parser, 115);\r\n }\r\n }\r\n if ((token & 20480) === 20480) {\r\n report(parser, 100);\r\n }\r\n if (context & (2048 | 2097152) && token === 241773) {\r\n report(parser, 30);\r\n }\r\n if (token === 241739) {\r\n if (kind & (8 | 16))\r\n report(parser, 98);\r\n }\r\n if (context & (4194304 | 2048) && token === 209008) {\r\n report(parser, 96);\r\n }\r\n nextToken(parser, context);\r\n if (scope)\r\n addVarOrBlock(parser, context, scope, tokenValue, kind, origin);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'Identifier',\r\n name: tokenValue\r\n });\r\n}\r\nfunction parseJSXRootElementOrFragment(parser, context, inJSXChild, start, line, column) {\r\n nextToken(parser, context);\r\n if (parser.token === 8456259) {\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXFragment',\r\n openingFragment: parseOpeningFragment(parser, context, start, line, column),\r\n children: parseJSXChildren(parser, context),\r\n closingFragment: parseJSXClosingFragment(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos)\r\n });\r\n }\r\n let closingElement = null;\r\n let children = [];\r\n const openingElement = parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column);\r\n if (!openingElement.selfClosing) {\r\n children = parseJSXChildren(parser, context);\r\n closingElement = parseJSXClosingElement(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos);\r\n const close = isEqualTagName(closingElement.name);\r\n if (isEqualTagName(openingElement.name) !== close)\r\n report(parser, 150, close);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXElement',\r\n children,\r\n openingElement,\r\n closingElement\r\n });\r\n}\r\nfunction parseOpeningFragment(parser, context, start, line, column) {\r\n scanJSXToken(parser, context);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXOpeningFragment'\r\n });\r\n}\r\nfunction parseJSXClosingElement(parser, context, inJSXChild, start, line, column) {\r\n consume(parser, context, 25);\r\n const name = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos);\r\n if (inJSXChild) {\r\n consume(parser, context, 8456259);\r\n }\r\n else {\r\n parser.token = scanJSXToken(parser, context);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXClosingElement',\r\n name\r\n });\r\n}\r\nfunction parseJSXClosingFragment(parser, context, inJSXChild, start, line, column) {\r\n consume(parser, context, 25);\r\n if (inJSXChild) {\r\n consume(parser, context, 8456259);\r\n }\r\n else {\r\n consume(parser, context, 8456259);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXClosingFragment'\r\n });\r\n}\r\nfunction parseJSXChildren(parser, context) {\r\n const children = [];\r\n while (parser.token !== 25) {\r\n parser.index = parser.tokenPos = parser.startPos;\r\n parser.column = parser.colPos = parser.startColumn;\r\n parser.line = parser.linePos = parser.startLine;\r\n scanJSXToken(parser, context);\r\n children.push(parseJSXChild(parser, context, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n return children;\r\n}\r\nfunction parseJSXChild(parser, context, start, line, column) {\r\n if (parser.token === 138)\r\n return parseJSXText(parser, context, start, line, column);\r\n if (parser.token === 2162700)\r\n return parseJSXExpressionContainer(parser, context, 0, 0, start, line, column);\r\n if (parser.token === 8456258)\r\n return parseJSXRootElementOrFragment(parser, context, 0, start, line, column);\r\n report(parser, 0);\r\n}\r\nfunction parseJSXText(parser, context, start, line, column) {\r\n scanJSXToken(parser, context);\r\n const node = {\r\n type: 'JSXText',\r\n value: parser.tokenValue\r\n };\r\n if (context & 512) {\r\n node.raw = parser.tokenRaw;\r\n }\r\n return finishNode(parser, context, start, line, column, node);\r\n}\r\nfunction parseJSXOpeningFragmentOrSelfCloseElement(parser, context, inJSXChild, start, line, column) {\r\n if ((parser.token & 143360) !== 143360 && (parser.token & 4096) !== 4096)\r\n report(parser, 0);\r\n const tagName = parseJSXElementName(parser, context, parser.tokenPos, parser.linePos, parser.colPos);\r\n const attributes = parseJSXAttributes(parser, context);\r\n const selfClosing = parser.token === 8457016;\r\n if (parser.token === 8456259) {\r\n scanJSXToken(parser, context);\r\n }\r\n else {\r\n consume(parser, context, 8457016);\r\n if (inJSXChild) {\r\n consume(parser, context, 8456259);\r\n }\r\n else {\r\n scanJSXToken(parser, context);\r\n }\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXOpeningElement',\r\n name: tagName,\r\n attributes,\r\n selfClosing\r\n });\r\n}\r\nfunction parseJSXElementName(parser, context, start, line, column) {\r\n scanJSXIdentifier(parser);\r\n let key = parseJSXIdentifier(parser, context, start, line, column);\r\n if (parser.token === 21)\r\n return parseJSXNamespacedName(parser, context, key, start, line, column);\r\n while (consumeOpt(parser, context, 67108877)) {\r\n scanJSXIdentifier(parser);\r\n key = parseJSXMemberExpression(parser, context, key, start, line, column);\r\n }\r\n return key;\r\n}\r\nfunction parseJSXMemberExpression(parser, context, object, start, line, column) {\r\n const property = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXMemberExpression',\r\n object,\r\n property\r\n });\r\n}\r\nfunction parseJSXAttributes(parser, context) {\r\n const attributes = [];\r\n while (parser.token !== 8457016 && parser.token !== 8456259 && parser.token !== 1048576) {\r\n attributes.push(parseJsxAttribute(parser, context, parser.tokenPos, parser.linePos, parser.colPos));\r\n }\r\n return attributes;\r\n}\r\nfunction parseJSXSpreadAttribute(parser, context, start, line, column) {\r\n nextToken(parser, context);\r\n consume(parser, context, 14);\r\n const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 1074790415);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXSpreadAttribute',\r\n argument: expression\r\n });\r\n}\r\nfunction parseJsxAttribute(parser, context, start, line, column) {\r\n if (parser.token === 2162700)\r\n return parseJSXSpreadAttribute(parser, context, start, line, column);\r\n scanJSXIdentifier(parser);\r\n let value = null;\r\n let name = parseJSXIdentifier(parser, context, start, line, column);\r\n if (parser.token === 21) {\r\n name = parseJSXNamespacedName(parser, context, name, start, line, column);\r\n }\r\n if (parser.token === 1077936157) {\r\n const token = scanJSXAttributeValue(parser, context);\r\n const { tokenPos, linePos, colPos } = parser;\r\n switch (token) {\r\n case 134283267:\r\n value = parseLiteral(parser, context);\r\n break;\r\n case 8456258:\r\n value = parseJSXRootElementOrFragment(parser, context, 1, tokenPos, linePos, colPos);\r\n break;\r\n case 2162700:\r\n value = parseJSXExpressionContainer(parser, context, 1, 1, tokenPos, linePos, colPos);\r\n break;\r\n default:\r\n report(parser, 149);\r\n }\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXAttribute',\r\n value,\r\n name\r\n });\r\n}\r\nfunction parseJSXNamespacedName(parser, context, namespace, start, line, column) {\r\n consume(parser, context, 21);\r\n const name = parseJSXIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXNamespacedName',\r\n namespace,\r\n name\r\n });\r\n}\r\nfunction parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start, line, column) {\r\n nextToken(parser, context | 32768);\r\n const { tokenPos, linePos, colPos } = parser;\r\n if (parser.token === 14)\r\n return parseJSXSpreadChild(parser, context, start, line, column);\r\n let expression = null;\r\n if (parser.token === 1074790415) {\r\n if (isAttr)\r\n report(parser, 152);\r\n expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn);\r\n }\r\n else {\r\n expression = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);\r\n }\r\n if (inJSXChild) {\r\n consume(parser, context, 1074790415);\r\n }\r\n else {\r\n scanJSXToken(parser, context);\r\n }\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXExpressionContainer',\r\n expression\r\n });\r\n}\r\nfunction parseJSXSpreadChild(parser, context, start, line, column) {\r\n consume(parser, context, 14);\r\n const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);\r\n consume(parser, context, 1074790415);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXSpreadChild',\r\n expression\r\n });\r\n}\r\nfunction parseJSXEmptyExpression(parser, context, start, line, column) {\r\n parser.startPos = parser.tokenPos;\r\n parser.startLine = parser.linePos;\r\n parser.startColumn = parser.colPos;\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXEmptyExpression'\r\n });\r\n}\r\nfunction parseJSXIdentifier(parser, context, start, line, column) {\r\n const { tokenValue } = parser;\r\n nextToken(parser, context);\r\n return finishNode(parser, context, start, line, column, {\r\n type: 'JSXIdentifier',\r\n name: tokenValue\r\n });\r\n}\n\nvar estree = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nvar version$1 = \"4.5.0\";\n\nconst version = version$1;\r\nfunction parseScript(source, options) {\r\n return parseSource(source, options, 0);\r\n}\r\nfunction parseModule(source, options) {\r\n return parseSource(source, options, 1024 | 2048);\r\n}\r\nfunction parse(source, options) {\r\n return parseSource(source, options, 0);\r\n}\n\nexport { estree as ESTree, parse, parseModule, parseScript, version };\n","import { icannTrie, privateTrie } from \"./serialized-tries.js\";\nimport { lookUpTldsInTrie } from \"./trie/look-up.js\";\nimport { sanitize, SanitizationResultType, } from \"./sanitize.js\";\nimport { parseTrie } from \"./trie/parse-trie.js\";\nexport const RESERVED_TOP_LEVEL_DOMAINS = [\n \"localhost\",\n \"local\",\n \"example\",\n \"invalid\",\n \"test\",\n];\nexport var ParseResultType;\n(function (ParseResultType) {\n /**\n * This parse result is returned in case the given hostname does not adhere to [RFC 1034](https://tools.ietf.org/html/rfc1034).\n */\n ParseResultType[\"Invalid\"] = \"INVALID\";\n /**\n * This parse result is returned if the given hostname was an IPv4 or IPv6.\n */\n ParseResultType[\"Ip\"] = \"IP\";\n /**\n * This parse result is returned when the given hostname\n * - is the root domain (the empty string `\"\"`)\n * - belongs to the top-level domain `localhost`, `local`, `example`, `invalid` or `test`\n */\n ParseResultType[\"Reserved\"] = \"RESERVED\";\n /**\n * This parse result is returned when the given hostname is valid and does not belong to a reserved top-level domain, but is not listed in the public suffix list.\n */\n ParseResultType[\"NotListed\"] = \"NOT_LISTED\";\n /**\n * This parse result is returned when the given hostname belongs to a top-level domain that is listed in the public suffix list.\n */\n ParseResultType[\"Listed\"] = \"LISTED\";\n})(ParseResultType || (ParseResultType = {}));\nconst getAtIndex = (array, index) => {\n return index >= 0 && index < array.length ? array[index] : undefined;\n};\nconst splitLabelsIntoDomains = (labels, index) => {\n return {\n subDomains: labels.slice(0, Math.max(0, index)),\n domain: getAtIndex(labels, index),\n topLevelDomains: labels.slice(index + 1),\n };\n};\nlet parsedIcannTrie;\nlet parsedPrivateTrie;\n/**\n * Splits the given hostname in topLevelDomains, a domain and subDomains.\n */\nexport const parseDomain = (hostname, options) => {\n const sanitizationResult = sanitize(hostname, options);\n if (sanitizationResult.type === SanitizationResultType.Error) {\n return {\n type: ParseResultType.Invalid,\n hostname,\n errors: sanitizationResult.errors,\n };\n }\n if (sanitizationResult.type === SanitizationResultType.ValidIp) {\n return {\n type: ParseResultType.Ip,\n hostname: sanitizationResult.ip,\n ipVersion: sanitizationResult.ipVersion,\n };\n }\n const { labels, domain } = sanitizationResult;\n if (hostname === \"\" ||\n RESERVED_TOP_LEVEL_DOMAINS.includes(labels[labels.length - 1])) {\n return {\n type: ParseResultType.Reserved,\n hostname: domain,\n labels,\n };\n }\n // Parse the serialized trie lazily\n parsedIcannTrie = parsedIcannTrie !== null && parsedIcannTrie !== void 0 ? parsedIcannTrie : parseTrie(icannTrie);\n parsedPrivateTrie = parsedPrivateTrie !== null && parsedPrivateTrie !== void 0 ? parsedPrivateTrie : parseTrie(privateTrie);\n const icannTlds = lookUpTldsInTrie(labels, parsedIcannTrie);\n const privateTlds = lookUpTldsInTrie(labels, parsedPrivateTrie);\n if (icannTlds.length === 0 && privateTlds.length === 0) {\n return {\n type: ParseResultType.NotListed,\n hostname: domain,\n labels,\n };\n }\n const indexOfPublicSuffixDomain = labels.length - Math.max(privateTlds.length, icannTlds.length) - 1;\n const indexOfIcannDomain = labels.length - icannTlds.length - 1;\n return Object.assign({ type: ParseResultType.Listed, hostname: domain, labels, icann: splitLabelsIntoDomains(labels, indexOfIcannDomain) }, splitLabelsIntoDomains(labels, indexOfPublicSuffixDomain));\n};\n//# sourceMappingURL=parse-domain.js.map","import { ipVersion } from \"is-ip\";\n// See https://en.wikipedia.org/wiki/Domain_name\n// See https://tools.ietf.org/html/rfc1034\nconst LABEL_SEPARATOR = \".\";\nconst LABEL_LENGTH_MIN = 1;\nconst LABEL_LENGTH_MAX = 63;\n/**\n * 255 octets - 2 octets if you remove the last dot\n * @see https://devblogs.microsoft.com/oldnewthing/20120412-00/?p=7873\n */\nconst DOMAIN_LENGTH_MAX = 253;\nconst textEncoder = new TextEncoder();\nexport var Validation;\n(function (Validation) {\n /**\n * Allows any octets as labels\n * but still restricts the length of labels and the overall domain.\n *\n * @see https://www.rfc-editor.org/rfc/rfc2181#section-11\n **/\n Validation[\"Lax\"] = \"LAX\";\n /**\n * Only allows ASCII letters, digits and hyphens (aka LDH),\n * forbids hyphens at the beginning or end of a label\n * and requires top-level domain names not to be all-numeric.\n *\n * This is the default if no validation is configured.\n *\n * @see https://datatracker.ietf.org/doc/html/rfc3696#section-2\n */\n Validation[\"Strict\"] = \"STRICT\";\n})(Validation || (Validation = {}));\nexport var ValidationErrorType;\n(function (ValidationErrorType) {\n ValidationErrorType[\"NoHostname\"] = \"NO_HOSTNAME\";\n ValidationErrorType[\"DomainMaxLength\"] = \"DOMAIN_MAX_LENGTH\";\n ValidationErrorType[\"LabelMinLength\"] = \"LABEL_MIN_LENGTH\";\n ValidationErrorType[\"LabelMaxLength\"] = \"LABEL_MAX_LENGTH\";\n ValidationErrorType[\"LabelInvalidCharacter\"] = \"LABEL_INVALID_CHARACTER\";\n ValidationErrorType[\"LastLabelInvalid\"] = \"LAST_LABEL_INVALID\";\n})(ValidationErrorType || (ValidationErrorType = {}));\nexport var SanitizationResultType;\n(function (SanitizationResultType) {\n SanitizationResultType[\"ValidIp\"] = \"VALID_IP\";\n SanitizationResultType[\"ValidDomain\"] = \"VALID_DOMAIN\";\n SanitizationResultType[\"Error\"] = \"ERROR\";\n})(SanitizationResultType || (SanitizationResultType = {}));\nconst createNoHostnameError = (input) => {\n return {\n type: ValidationErrorType.NoHostname,\n message: `The given input ${String(input)} does not look like a hostname.`,\n column: 1,\n };\n};\nconst createDomainMaxLengthError = (domain, length) => {\n return {\n type: ValidationErrorType.DomainMaxLength,\n message: `Domain \"${domain}\" is too long. Domain is ${length} octets long but should not be longer than ${DOMAIN_LENGTH_MAX}.`,\n column: length,\n };\n};\nconst createLabelMinLengthError = (label, column) => {\n const length = label.length;\n return {\n type: ValidationErrorType.LabelMinLength,\n message: `Label \"${label}\" is too short. Label is ${length} octets long but should be at least ${LABEL_LENGTH_MIN}.`,\n column,\n };\n};\nconst createLabelMaxLengthError = (label, column) => {\n const length = label.length;\n return {\n type: ValidationErrorType.LabelMaxLength,\n message: `Label \"${label}\" is too long. Label is ${length} octets long but should not be longer than ${LABEL_LENGTH_MAX}.`,\n column,\n };\n};\nconst createLabelInvalidCharacterError = (label, invalidCharacter, column) => {\n return {\n type: ValidationErrorType.LabelInvalidCharacter,\n message: `Label \"${label}\" contains invalid character \"${invalidCharacter}\" at column ${column}.`,\n column,\n };\n};\nconst createLastLabelInvalidError = (label, column) => {\n return {\n type: ValidationErrorType.LabelInvalidCharacter,\n message: `Last label \"${label}\" must not be all-numeric.`,\n column,\n };\n};\nexport const sanitize = (input, options = {}) => {\n // Extra check for non-TypeScript users\n if (typeof input !== \"string\") {\n return {\n type: SanitizationResultType.Error,\n errors: [createNoHostnameError(input)],\n };\n }\n if (input === \"\") {\n return {\n type: SanitizationResultType.ValidDomain,\n domain: input,\n labels: [],\n };\n }\n // IPv6 addresses are surrounded by square brackets in URLs\n // See https://tools.ietf.org/html/rfc3986#section-3.2.2\n const inputTrimmedAsIp = input.replace(/^\\[|]$/g, \"\");\n const ipVersionOfInput = ipVersion(inputTrimmedAsIp);\n if (ipVersionOfInput !== undefined) {\n return {\n type: SanitizationResultType.ValidIp,\n ip: inputTrimmedAsIp,\n ipVersion: ipVersionOfInput,\n };\n }\n const lastChar = input.charAt(input.length - 1);\n const canonicalInput = lastChar === LABEL_SEPARATOR ? input.slice(0, -1) : input;\n const octets = new TextEncoder().encode(canonicalInput);\n if (octets.length > DOMAIN_LENGTH_MAX) {\n return {\n type: SanitizationResultType.Error,\n errors: [createDomainMaxLengthError(input, octets.length)],\n };\n }\n const labels = canonicalInput.split(LABEL_SEPARATOR);\n const { validation = Validation.Strict } = options;\n const labelValidationErrors = validateLabels[validation](labels);\n if (labelValidationErrors.length > 0) {\n return {\n type: SanitizationResultType.Error,\n errors: labelValidationErrors,\n };\n }\n return {\n type: SanitizationResultType.ValidDomain,\n domain: input,\n labels,\n };\n};\nconst validateLabels = {\n [Validation.Lax]: (labels) => {\n const labelValidationErrors = [];\n let column = 1;\n for (const label of labels) {\n const octets = textEncoder.encode(label);\n if (octets.length < LABEL_LENGTH_MIN) {\n labelValidationErrors.push(createLabelMinLengthError(label, column));\n }\n else if (octets.length > LABEL_LENGTH_MAX) {\n labelValidationErrors.push(createLabelMaxLengthError(label, column));\n }\n column += label.length + LABEL_SEPARATOR.length;\n }\n return labelValidationErrors;\n },\n [Validation.Strict]: (labels) => {\n const labelValidationErrors = [];\n let column = 1;\n let lastLabel;\n for (const label of labels) {\n // According to https://tools.ietf.org/html/rfc6761 labels should\n // only contain ASCII letters, digits and hyphens (LDH).\n const invalidCharacter = /[^\\da-z-]/i.exec(label);\n if (invalidCharacter) {\n labelValidationErrors.push(createLabelInvalidCharacterError(label, invalidCharacter[0], invalidCharacter.index + 1));\n }\n if (label.startsWith(\"-\")) {\n labelValidationErrors.push(createLabelInvalidCharacterError(label, \"-\", column));\n }\n else if (label.endsWith(\"-\")) {\n labelValidationErrors.push(createLabelInvalidCharacterError(label, \"-\", column + label.length - 1));\n }\n if (\n // We can use .length here to check for the octet size because\n // label can only contain ASCII LDH characters at this point.\n label.length < LABEL_LENGTH_MIN) {\n labelValidationErrors.push(createLabelMinLengthError(label, column));\n }\n else if (label.length > LABEL_LENGTH_MAX) {\n labelValidationErrors.push(createLabelMaxLengthError(label, column));\n }\n column += label.length + LABEL_SEPARATOR.length;\n lastLabel = label;\n }\n if (lastLabel !== undefined && /[a-z-]/iu.test(lastLabel) === false) {\n labelValidationErrors.push(createLastLabelInvalidError(lastLabel, column - lastLabel.length - LABEL_SEPARATOR.length));\n }\n return labelValidationErrors;\n },\n};\n//# sourceMappingURL=sanitize.js.map","// UP, SAME, DOWN, RESET should not be special regex characters in a character class.\nexport const UP = \"<\"; // one level up\nexport const SAME = \",\"; // same level\nexport const DOWN = \">\"; // one level down\nexport const RESET = \"|\"; // reset level index and start new\nexport const WILDCARD = \"*\"; // as defined by publicsuffix.org\nexport const EXCEPTION = \"!\"; // as defined by publicsuffix.org\n//# sourceMappingURL=characters.js.map","import * as characters from \"./characters.js\";\nexport const lookUpTldsInTrie = (labels, trie) => {\n const labelsToCheck = labels.slice();\n const tlds = [];\n let node = trie;\n while (labelsToCheck.length !== 0) {\n const label = labelsToCheck.pop();\n const labelLowerCase = label.toLowerCase();\n if (node.children.has(characters.WILDCARD)) {\n if (node.children.has(characters.EXCEPTION + labelLowerCase)) {\n break;\n }\n node = node.children.get(characters.WILDCARD);\n }\n else {\n if (node.children.has(labelLowerCase) === false) {\n break;\n }\n node = node.children.get(labelLowerCase);\n }\n tlds.unshift(label);\n }\n return tlds;\n};\n//# sourceMappingURL=look-up.js.map","export const NODE_TYPE_ROOT = Symbol(\"ROOT\");\nexport const NODE_TYPE_CHILD = Symbol(\"CHILD\");\nexport const createRootNode = () => {\n return {\n type: NODE_TYPE_ROOT,\n children: new Map(),\n };\n};\nexport const createOrGetChild = (parent, label) => {\n let child = parent.children.get(label);\n if (child === undefined) {\n child = {\n type: NODE_TYPE_CHILD,\n label,\n children: new Map(),\n parent,\n };\n parent.children.set(label, child);\n }\n return child;\n};\n//# sourceMappingURL=nodes.js.map","import * as characters from \"./characters.js\";\nimport { createRootNode, createOrGetChild, NODE_TYPE_ROOT, } from \"./nodes.js\";\nexport const parseTrie = (serializedTrie) => {\n const rootNode = createRootNode();\n let domain = \"\";\n let parentNode = rootNode;\n // Type assertion necessary here due to a TypeScript unsoundness\n // https://github.com/microsoft/TypeScript/issues/9998#issuecomment-235963457\n let node = rootNode;\n const addDomain = () => {\n node = createOrGetChild(parentNode, domain);\n domain = \"\";\n };\n for (let i = 0; i < serializedTrie.length; i++) {\n const char = serializedTrie.charAt(i);\n switch (char) {\n case characters.SAME: {\n addDomain();\n continue;\n }\n case characters.DOWN: {\n addDomain();\n parentNode = node;\n continue;\n }\n case characters.RESET: {\n addDomain();\n parentNode = rootNode;\n continue;\n }\n case characters.UP: {\n if (parentNode.type === NODE_TYPE_ROOT) {\n throw new Error(`Error in serialized trie at position ${i}: Cannot go up, current parent node is already root`);\n }\n addDomain();\n parentNode = parentNode.parent;\n continue;\n }\n }\n domain += char;\n }\n if (domain !== \"\") {\n addDomain();\n }\n return rootNode;\n};\n//# sourceMappingURL=parse-trie.js.map","export default \"ac>com,edu,gov,net,mil,orgnomco,net,org,sch,ac,gov,milaccident-investigation,accident-prevention,aerobatic,aeroclub,aerodrome,agents,aircraft,airline,airport,air-surveillance,airtraffic,air-traffic-control,ambulance,amusement,association,author,ballooning,broker,caa,cargo,catering,certification,championship,charter,civilaviation,club,conference,consultant,consulting,control,council,crew,design,dgca,educator,emergency,engine,engineer,entertainment,equipment,exchange,express,federation,flight,fuel,gliding,government,groundhandling,group,hanggliding,homebuilt,insurance,journal,journalist,leasing,logistics,magazine,maintenance,media,microlight,modelling,navigation,parachuting,paragliding,passenger-association,pilot,press,production,recreation,repbody,res,research,rotorcraft,safety,scientist,services,show,skydiving,software,student,trader,trading,trainer,union,workinggroup,worksgov,com,org,net,educom,org,net,co,nomoff,com,net,orgcom,edu,gov,mil,net,orgco,com,commune,net,orged,gv,og,co,pb,itbet,com,coop,edu,gob,gov,int,mil,musica,mutual,net,org,senasa,ture164,in-addr,ip6,iris,uri,urngovac>sthcom,net,org,edu>act,catholic,nsw>schoolsqld,sa,tas,vic,wacomcom,net,int,gov,org,edu,info,pp,mil,name,pro,bizcom,edu,gov,mil,net,orgbiz,co,com,edu,gov,info,net,org,store,tv*acgova,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,0,1,2,3,4,5,6,7,8,9com,edu,net,org,govco,com,edu,or,orgafrica,agro,architectes,assur,avocats,co,com,eco,econo,edu,info,loisirs,money,net,org,ote,resto,restaurant,tourism,univcom,edu,gov,net,orgcom,edu,gov,net,orgcom,edu,gob,int,org,net,mil,tv,web,academia,agro,arte,blog,bolivia,ciencia,cooperativa,democracia,deporte,ecologia,economia,empresa,indigena,industria,info,medicina,movimiento,musica,natural,nombre,noticias,patria,politica,profesional,plurinacional,pueblo,revista,salud,tecnologia,tksat,transporte,wiki
    9guacu,abc,adm,adv,agr,aju,am,anani,aparecida,app,arq,art,ato,b,barueri,belem,bhz,bib,bio,blog,bmd,boavista,bsb,campinagrande,campinas,caxias,cim,cng,cnt,com,contagem,coop,coz,cri,cuiaba,curitiba,def,des,det,dev,ecn,eco,edu,emp,enf,eng,esp,etc,eti,far,feira,flog,floripa,fm,fnd,fortal,fot,foz,fst,g12,geo,ggf,goiania,gov>ac,al,am,ap,ba,ce,df,es,go,ma,mg,ms,mt,pa,pb,pe,pi,pr,rj,rn,ro,rr,rs,sc,se,sp,to*com,net,org,edu,govcom,edu,gov,net,orgco,orggov,mil,com,ofcom,net,org,edu,govab,bc,mb,nb,nf,nl,ns,nt,nu,on,pe,qc,sk,yk,gcgovorg,or,com,co,edu,ed,ac,net,go,asso,xn--aroport-bya,int,presse,md,gouv*,!wwwco,gob,gov,milco,com,gov,netac,com,edu,gov,net,org,mil,xn--55qx5d,xn--io0a7i,xn--od0alg,ah,bj,cq,fj,gd,gs,gz,gx,ha,hb,he,hi,hl,hn,jl,js,jx,ln,nm,nx,qh,sc,sd,sh,sn,sx,tj,xj,xz,yn,zj,hk,mo,twarts,com,edu,firm,gov,info,int,mil,net,nom,org,rec,webac,co,ed,fi,go,or,sacom,edu,org,net,gov,infcom,edu,int,nome,orgcom,edu,net,orggovac,biz,com,ekloges,gov,ltd,mil,net,org,press,pro,tmcom,net,org,edu,govart,com,edu,gob,gov,mil,net,org,sld,webart,asso,com,edu,gov,org,net,pol,soc,tmcom,info,net,fin,k12,med,pro,org,edu,gov,gob,miledu,gov,riik,lib,med,com,pri,aip,org,fiecom,edu,eun,gov,mil,name,net,org,sci*com,nom,org,gob,educom,gov,org,edu,biz,name,info,netalandac,biz,com,gov,info,mil,name,net,org,pro*com,edu,net,orgasso,com,gouv,nom,prd,tm,avoues,cci,greta,huissier-justiceedu,govcom,edu,gov,org,mil,net,pvtco,net,orgcom,edu,gov,org,milcom,ltd,gov,mod,edu,orgco,com,edu,net,orgac,com,edu,gov,org,netcom,net,mobi,edu,org,assocom,edu,net,org,govcom,edu,gob,ind,mil,net,orgcom,edu,gov,guam,info,net,org,webco,com,edu,gov,net,orgcom,edu,gov,idv,net,org,xn--55qx5d,xn--wcvs22d,xn--lcvr32d,xn--mxtq1m,xn--gmqw5a,xn--ciqpn,xn--gmq050i,xn--zf0avx,xn--io0a7i,xn--mk0axi,xn--od0alg,xn--od0aq3b,xn--tn0ag,xn--uc0atv,xn--uc0ay4acom,edu,org,net,mil,gob
    iz,from,name,comcom,shop,firm,info,adult,net,pro,org,med,art,coop,pol,asso,edu,rel,gouv,persoco,info,org,priv,sport,tm,2000,agrar,bolt,casino,city,erotica,erotika,film,forum,games,hotel,ingatlan,jogasz,konyvelo,lakas,media,news,reklam,sex,shop,suli,szex,tozsde,utazas,videoac,biz,co,desa,go,mil,my,net,or,ponpes,sch,webgovac,co,gov,idf,k12,muni,net,orgxn--4dbgdty6c,xn--5dbhl8d,xn--8dbq2a,xn--hebda8bac,co>ltd,plc5g,6g,ac,ai,am,bihar,biz,business,ca,cn,co,com,coop,cs,delhi,dr,edu,er,firm,gen,gov,gujarat,ind,info,int,internet,io,me,mil,net,nic,org,pg,post,pro,res,travel,tv,uk,up,useucomgov,edu,mil,com,org,netac,co,gov,id,net,org,sch,xn--mgba3a4f16a,xn--mgba3a4franet,com,edu,gov,org,intgov,edu,abr,abruzzo,aosta-valley,aostavalley,bas,basilicata,cal,calabria,cam,campania,emilia-romagna,emiliaromagna,emr,friuli-v-giulia,friuli-ve-giulia,friuli-vegiulia,friuli-venezia-giulia,friuli-veneziagiulia,friuli-vgiulia,friuliv-giulia,friulive-giulia,friulivegiulia,friulivenezia-giulia,friuliveneziagiulia,friulivgiulia,fvg,laz,lazio,lig,liguria,lom,lombardia,lombardy,lucania,mar,marche,mol,molise,piedmont,piemonte,pmn,pug,puglia,sar,sardegna,sardinia,sic,sicilia,sicily,taa,tos,toscana,trentin-sud-tirol,xn--trentin-sd-tirol-rzb,trentin-sudtirol,xn--trentin-sdtirol-7vb,trentin-sued-tirol,trentin-suedtirol,trentino-a-adige,trentino-aadige,trentino-alto-adige,trentino-altoadige,trentino-s-tirol,trentino-stirol,trentino-sud-tirol,xn--trentino-sd-tirol-c3b,trentino-sudtirol,xn--trentino-sdtirol-szb,trentino-sued-tirol,trentino-suedtirol,trentino,trentinoa-adige,trentinoaadige,trentinoalto-adige,trentinoaltoadige,trentinos-tirol,trentinostirol,trentinosud-tirol,xn--trentinosd-tirol-rzb,trentinosudtirol,xn--trentinosdtirol-7vb,trentinosued-tirol,trentinosuedtirol,trentinsud-tirol,xn--trentinsd-tirol-6vb,trentinsudtirol,xn--trentinsdtirol-nsb,trentinsued-tirol,trentinsuedtirol,tuscany,umb,umbria,val-d-aosta,val-daosta,vald-aosta,valdaosta,valle-aosta,valle-d-aosta,valle-daosta,valleaosta,valled-aosta,valledaosta,vallee-aoste,xn--valle-aoste-ebb,vallee-d-aoste,xn--valle-d-aoste-ehb,valleeaoste,xn--valleaoste-e7a,valleedaoste,xn--valledaoste-ebb,vao,vda,ven,veneto,ag,agrigento,al,alessandria,alto-adige,altoadige,an,ancona,andria-barletta-trani,andria-trani-barletta,andriabarlettatrani,andriatranibarletta,ao,aosta,aoste,ap,aq,aquila,ar,arezzo,ascoli-piceno,ascolipiceno,asti,at,av,avellino,ba,balsan-sudtirol,xn--balsan-sdtirol-nsb,balsan-suedtirol,balsan,bari,barletta-trani-andria,barlettatraniandria,belluno,benevento,bergamo,bg,bi,biella,bl,bn,bo,bologna,bolzano-altoadige,bolzano,bozen-sudtirol,xn--bozen-sdtirol-2ob,bozen-suedtirol,bozen,br,brescia,brindisi,bs,bt,bulsan-sudtirol,xn--bulsan-sdtirol-nsb,bulsan-suedtirol,bulsan,bz,ca,cagliari,caltanissetta,campidano-medio,campidanomedio,campobasso,carbonia-iglesias,carboniaiglesias,carrara-massa,carraramassa,caserta,catania,catanzaro,cb,ce,cesena-forli,xn--cesena-forl-mcb,cesenaforli,xn--cesenaforl-i8a,ch,chieti,ci,cl,cn,co,como,cosenza,cr,cremona,crotone,cs,ct,cuneo,cz,dell-ogliastra,dellogliastra,en,enna,fc,fe,fermo,ferrara,fg,fi,firenze,florence,fm,foggia,forli-cesena,xn--forl-cesena-fcb,forlicesena,xn--forlcesena-c8a,fr,frosinone,ge,genoa,genova,go,gorizia,gr,grosseto,iglesias-carbonia,iglesiascarbonia,im,imperia,is,isernia,kr,la-spezia,laquila,laspezia,latina,lc,le,lecce,lecco,li,livorno,lo,lodi,lt,lu,lucca,macerata,mantova,massa-carrara,massacarrara,matera,mb,mc,me,medio-campidano,mediocampidano,messina,mi,milan,milano,mn,mo,modena,monza-brianza,monza-e-della-brianza,monza,monzabrianza,monzaebrianza,monzaedellabrianza,ms,mt,na,naples,napoli,no,novara,nu,nuoro,og,ogliastra,olbia-tempio,olbiatempio,or,oristano,ot,pa,padova,padua,palermo,parma,pavia,pc,pd,pe,perugia,pesaro-urbino,pesarourbino,pescara,pg,pi,piacenza,pisa,pistoia,pn,po,pordenone,potenza,pr,prato,pt,pu,pv,pz,ra,ragusa,ravenna,rc,re,reggio-calabria,reggio-emilia,reggiocalabria,reggioemilia,rg,ri,rieti,rimini,rm,rn,ro,roma,rome,rovigo,sa,salerno,sassari,savona,si,siena,siracusa,so,sondrio,sp,sr,ss,suedtirol,xn--sdtirol-n2a,sv,ta,taranto,te,tempio-olbia,tempioolbia,teramo,terni,tn,to,torino,tp,tr,trani-andria-barletta,trani-barletta-andria,traniandriabarletta,tranibarlettaandria,trapani,trento,treviso,trieste,ts,turin,tv,ud,udine,urbino-pesaro,urbinopesaro,va,varese,vb,vc,ve,venezia,venice,verbania,vercelli,verona,vi,vibo-valentia,vibovalentia,vicenza,viterbo,vr,vs,vt,vvco,net,org*com,org,net,edu,sch,gov,mil,nameac,ad,co,ed,go,gr,lg,ne,or,aichi>aisai,ama,anjo,asuke,chiryu,chita,fuso,gamagori,handa,hazu,hekinan,higashiura,ichinomiya,inazawa,inuyama,isshiki,iwakura,kanie,kariya,kasugai,kira,kiyosu,komaki,konan,kota,mihama,miyoshi,nishio,nisshin,obu,oguchi,oharu,okazaki,owariasahi,seto,shikatsu,shinshiro,shitara,tahara,takahama,tobishima,toei,togo,tokai,tokoname,toyoake,toyohashi,toyokawa,toyone,toyota,tsushima,yatomiakita,daisen,fujisato,gojome,hachirogata,happou,higashinaruse,honjo,honjyo,ikawa,kamikoani,kamioka,katagami,kazuno,kitaakita,kosaka,kyowa,misato,mitane,moriyoshi,nikaho,noshiro,odate,oga,ogata,semboku,yokote,yurihonjoaomori,gonohe,hachinohe,hashikami,hiranai,hirosaki,itayanagi,kuroishi,misawa,mutsu,nakadomari,noheji,oirase,owani,rokunohe,sannohe,shichinohe,shingo,takko,towada,tsugaru,tsurutaabiko,asahi,chonan,chosei,choshi,chuo,funabashi,futtsu,hanamigawa,ichihara,ichikawa,ichinomiya,inzai,isumi,kamagaya,kamogawa,kashiwa,katori,katsuura,kimitsu,kisarazu,kozaki,kujukuri,kyonan,matsudo,midori,mihama,minamiboso,mobara,mutsuzawa,nagara,nagareyama,narashino,narita,noda,oamishirasato,omigawa,onjuku,otaki,sakae,sakura,shimofusa,shirako,shiroi,shisui,sodegaura,sosa,tako,tateyama,togane,tohnosho,tomisato,urayasu,yachimata,yachiyo,yokaichiba,yokoshibahikari,yotsukaidoainan,honai,ikata,imabari,iyo,kamijima,kihoku,kumakogen,masaki,matsuno,matsuyama,namikata,niihama,ozu,saijo,seiyo,shikokuchuo,tobe,toon,uchiko,uwajima,yawatahamaechizen,eiheiji,fukui,ikeda,katsuyama,mihama,minamiechizen,obama,ohi,ono,sabae,sakai,takahama,tsuruga,wakasaashiya,buzen,chikugo,chikuho,chikujo,chikushino,chikuzen,chuo,dazaifu,fukuchi,hakata,higashi,hirokawa,hisayama,iizuka,inatsuki,kaho,kasuga,kasuya,kawara,keisen,koga,kurate,kurogi,kurume,minami,miyako,miyama,miyawaka,mizumaki,munakata,nakagawa,nakama,nishi,nogata,ogori,okagaki,okawa,oki,omuta,onga,onojo,oto,saigawa,sasaguri,shingu,shinyoshitomi,shonai,soeda,sue,tachiarai,tagawa,takata,toho,toyotsu,tsuiki,ukiha,umi,usui,yamada,yame,yanagawa,yukuhashiaizubange,aizumisato,aizuwakamatsu,asakawa,bandai,date,fukushima,furudono,futaba,hanawa,higashi,hirata,hirono,iitate,inawashiro,ishikawa,iwaki,izumizaki,kagamiishi,kaneyama,kawamata,kitakata,kitashiobara,koori,koriyama,kunimi,miharu,mishima,namie,nango,nishiaizu,nishigo,okuma,omotego,ono,otama,samegawa,shimogo,shirakawa,showa,soma,sukagawa,taishin,tamakawa,tanagura,tenei,yabuki,yamato,yamatsuri,yanaizu,yugawaanpachi,ena,gifu,ginan,godo,gujo,hashima,hichiso,hida,higashishirakawa,ibigawa,ikeda,kakamigahara,kani,kasahara,kasamatsu,kawaue,kitagata,mino,minokamo,mitake,mizunami,motosu,nakatsugawa,ogaki,sakahogi,seki,sekigahara,shirakawa,tajimi,takayama,tarui,toki,tomika,wanouchi,yamagata,yaotsu,yoroannaka,chiyoda,fujioka,higashiagatsuma,isesaki,itakura,kanna,kanra,katashina,kawaba,kiryu,kusatsu,maebashi,meiwa,midori,minakami,naganohara,nakanojo,nanmoku,numata,oizumi,ora,ota,shibukawa,shimonita,shinto,showa,takasaki,takayama,tamamura,tatebayashi,tomioka,tsukiyono,tsumagoi,ueno,yoshiokaasaminami,daiwa,etajima,fuchu,fukuyama,hatsukaichi,higashihiroshima,hongo,jinsekikogen,kaita,kui,kumano,kure,mihara,miyoshi,naka,onomichi,osakikamijima,otake,saka,sera,seranishi,shinichi,shobara,takeharaabashiri,abira,aibetsu,akabira,akkeshi,asahikawa,ashibetsu,ashoro,assabu,atsuma,bibai,biei,bifuka,bihoro,biratori,chippubetsu,chitose,date,ebetsu,embetsu,eniwa,erimo,esan,esashi,fukagawa,fukushima,furano,furubira,haboro,hakodate,hamatonbetsu,hidaka,higashikagura,higashikawa,hiroo,hokuryu,hokuto,honbetsu,horokanai,horonobe,ikeda,imakane,ishikari,iwamizawa,iwanai,kamifurano,kamikawa,kamishihoro,kamisunagawa,kamoenai,kayabe,kembuchi,kikonai,kimobetsu,kitahiroshima,kitami,kiyosato,koshimizu,kunneppu,kuriyama,kuromatsunai,kushiro,kutchan,kyowa,mashike,matsumae,mikasa,minamifurano,mombetsu,moseushi,mukawa,muroran,naie,nakagawa,nakasatsunai,nakatombetsu,nanae,nanporo,nayoro,nemuro,niikappu,niki,nishiokoppe,noboribetsu,numata,obihiro,obira,oketo,okoppe,otaru,otobe,otofuke,otoineppu,oumu,ozora,pippu,rankoshi,rebun,rikubetsu,rishiri,rishirifuji,saroma,sarufutsu,shakotan,shari,shibecha,shibetsu,shikabe,shikaoi,shimamaki,shimizu,shimokawa,shinshinotsu,shintoku,shiranuka,shiraoi,shiriuchi,sobetsu,sunagawa,taiki,takasu,takikawa,takinoue,teshikaga,tobetsu,tohma,tomakomai,tomari,toya,toyako,toyotomi,toyoura,tsubetsu,tsukigata,urakawa,urausu,uryu,utashinai,wakkanai,wassamu,yakumo,yoichiaioi,akashi,ako,amagasaki,aogaki,asago,ashiya,awaji,fukusaki,goshiki,harima,himeji,ichikawa,inagawa,itami,kakogawa,kamigori,kamikawa,kasai,kasuga,kawanishi,miki,minamiawaji,nishinomiya,nishiwaki,ono,sanda,sannan,sasayama,sayo,shingu,shinonsen,shiso,sumoto,taishi,taka,takarazuka,takasago,takino,tamba,tatsuno,toyooka,yabu,yashiro,yoka,yokawaami,asahi,bando,chikusei,daigo,fujishiro,hitachi,hitachinaka,hitachiomiya,hitachiota,ibaraki,ina,inashiki,itako,iwama,joso,kamisu,kasama,kashima,kasumigaura,koga,miho,mito,moriya,naka,namegata,oarai,ogawa,omitama,ryugasaki,sakai,sakuragawa,shimodate,shimotsuma,shirosato,sowa,suifu,takahagi,tamatsukuri,tokai,tomobe,tone,toride,tsuchiura,tsukuba,uchihara,ushiku,yachiyo,yamagata,yawara,yukianamizu,hakui,hakusan,kaga,kahoku,kanazawa,kawakita,komatsu,nakanoto,nanao,nomi,nonoichi,noto,shika,suzu,tsubata,tsurugi,uchinada,wajimafudai,fujisawa,hanamaki,hiraizumi,hirono,ichinohe,ichinoseki,iwaizumi,iwate,joboji,kamaishi,kanegasaki,karumai,kawai,kitakami,kuji,kunohe,kuzumaki,miyako,mizusawa,morioka,ninohe,noda,ofunato,oshu,otsuchi,rikuzentakata,shiwa,shizukuishi,sumita,tanohata,tono,yahaba,yamadaayagawa,higashikagawa,kanonji,kotohira,manno,marugame,mitoyo,naoshima,sanuki,tadotsu,takamatsu,tonosho,uchinomi,utazu,zentsujiakune,amami,hioki,isa,isen,izumi,kagoshima,kanoya,kawanabe,kinko,kouyama,makurazaki,matsumoto,minamitane,nakatane,nishinoomote,satsumasendai,soo,tarumizu,yusuiaikawa,atsugi,ayase,chigasaki,ebina,fujisawa,hadano,hakone,hiratsuka,isehara,kaisei,kamakura,kiyokawa,matsuda,minamiashigara,miura,nakai,ninomiya,odawara,oi,oiso,sagamihara,samukawa,tsukui,yamakita,yamato,yokosuka,yugawara,zama,zushiaki,geisei,hidaka,higashitsuno,ino,kagami,kami,kitagawa,kochi,mihara,motoyama,muroto,nahari,nakamura,nankoku,nishitosa,niyodogawa,ochi,okawa,otoyo,otsuki,sakawa,sukumo,susaki,tosa,tosashimizu,toyo,tsuno,umaji,yasuda,yusuharaamakusa,arao,aso,choyo,gyokuto,kamiamakusa,kikuchi,kumamoto,mashiki,mifune,minamata,minamioguni,nagasu,nishihara,oguni,ozu,sumoto,takamori,uki,uto,yamaga,yamato,yatsushiroayabe,fukuchiyama,higashiyama,ide,ine,joyo,kameoka,kamo,kita,kizu,kumiyama,kyotamba,kyotanabe,kyotango,maizuru,minami,minamiyamashiro,miyazu,muko,nagaokakyo,nakagyo,nantan,oyamazaki,sakyo,seika,tanabe,uji,ujitawara,wazuka,yamashina,yawataasahi,inabe,ise,kameyama,kawagoe,kiho,kisosaki,kiwa,komono,kumano,kuwana,matsusaka,meiwa,mihama,minamiise,misugi,miyama,nabari,shima,suzuka,tado,taiki,taki,tamaki,toba,tsu,udono,ureshino,watarai,yokkaichifurukawa,higashimatsushima,ishinomaki,iwanuma,kakuda,kami,kawasaki,marumori,matsushima,minamisanriku,misato,murata,natori,ogawara,ohira,onagawa,osaki,rifu,semine,shibata,shichikashuku,shikama,shiogama,shiroishi,tagajo,taiwa,tome,tomiya,wakuya,watari,yamamoto,zaoaya,ebino,gokase,hyuga,kadogawa,kawaminami,kijo,kitagawa,kitakata,kitaura,kobayashi,kunitomi,kushima,mimata,miyakonojo,miyazaki,morotsuka,nichinan,nishimera,nobeoka,saito,shiiba,shintomi,takaharu,takanabe,takazaki,tsunoachi,agematsu,anan,aoki,asahi,azumino,chikuhoku,chikuma,chino,fujimi,hakuba,hara,hiraya,iida,iijima,iiyama,iizuna,ikeda,ikusaka,ina,karuizawa,kawakami,kiso,kisofukushima,kitaaiki,komagane,komoro,matsukawa,matsumoto,miasa,minamiaiki,minamimaki,minamiminowa,minowa,miyada,miyota,mochizuki,nagano,nagawa,nagiso,nakagawa,nakano,nozawaonsen,obuse,ogawa,okaya,omachi,omi,ookuwa,ooshika,otaki,otari,sakae,sakaki,saku,sakuho,shimosuwa,shinanomachi,shiojiri,suwa,suzaka,takagi,takamori,takayama,tateshina,tatsuno,togakushi,togura,tomi,ueda,wada,yamagata,yamanouchi,yasaka,yasuokachijiwa,futsu,goto,hasami,hirado,iki,isahaya,kawatana,kuchinotsu,matsuura,nagasaki,obama,omura,oseto,saikai,sasebo,seihi,shimabara,shinkamigoto,togitsu,tsushima,unzenando,gose,heguri,higashiyoshino,ikaruga,ikoma,kamikitayama,kanmaki,kashiba,kashihara,katsuragi,kawai,kawakami,kawanishi,koryo,kurotaki,mitsue,miyake,nara,nosegawa,oji,ouda,oyodo,sakurai,sango,shimoichi,shimokitayama,shinjo,soni,takatori,tawaramoto,tenkawa,tenri,uda,yamatokoriyama,yamatotakada,yamazoe,yoshinoaga,agano,gosen,itoigawa,izumozaki,joetsu,kamo,kariwa,kashiwazaki,minamiuonuma,mitsuke,muika,murakami,myoko,nagaoka,niigata,ojiya,omi,sado,sanjo,seiro,seirou,sekikawa,shibata,tagami,tainai,tochio,tokamachi,tsubame,tsunan,uonuma,yahiko,yoita,yuzawabeppu,bungoono,bungotakada,hasama,hiji,himeshima,hita,kamitsue,kokonoe,kuju,kunisaki,kusu,oita,saiki,taketa,tsukumi,usa,usuki,yufuakaiwa,asakuchi,bizen,hayashima,ibara,kagamino,kasaoka,kibichuo,kumenan,kurashiki,maniwa,misaki,nagi,niimi,nishiawakura,okayama,satosho,setouchi,shinjo,shoo,soja,takahashi,tamano,tsuyama,wake,yakageaguni,ginowan,ginoza,gushikami,haebaru,higashi,hirara,iheya,ishigaki,ishikawa,itoman,izena,kadena,kin,kitadaito,kitanakagusuku,kumejima,kunigami,minamidaito,motobu,nago,naha,nakagusuku,nakijin,nanjo,nishihara,ogimi,okinawa,onna,shimoji,taketomi,tarama,tokashiki,tomigusuku,tonaki,urasoe,uruma,yaese,yomitan,yonabaru,yonaguni,zamamiabeno,chihayaakasaka,chuo,daito,fujiidera,habikino,hannan,higashiosaka,higashisumiyoshi,higashiyodogawa,hirakata,ibaraki,ikeda,izumi,izumiotsu,izumisano,kadoma,kaizuka,kanan,kashiwara,katano,kawachinagano,kishiwada,kita,kumatori,matsubara,minato,minoh,misaki,moriguchi,neyagawa,nishi,nose,osakasayama,sakai,sayama,sennan,settsu,shijonawate,shimamoto,suita,tadaoka,taishi,tajiri,takaishi,takatsuki,tondabayashi,toyonaka,toyono,yaoariake,arita,fukudomi,genkai,hamatama,hizen,imari,kamimine,kanzaki,karatsu,kashima,kitagata,kitahata,kiyama,kouhoku,kyuragi,nishiarita,ogi,omachi,ouchi,saga,shiroishi,taku,tara,tosu,yoshinogariarakawa,asaka,chichibu,fujimi,fujimino,fukaya,hanno,hanyu,hasuda,hatogaya,hatoyama,hidaka,higashichichibu,higashimatsuyama,honjo,ina,iruma,iwatsuki,kamiizumi,kamikawa,kamisato,kasukabe,kawagoe,kawaguchi,kawajima,kazo,kitamoto,koshigaya,kounosu,kuki,kumagaya,matsubushi,minano,misato,miyashiro,miyoshi,moroyama,nagatoro,namegawa,niiza,ogano,ogawa,ogose,okegawa,omiya,otaki,ranzan,ryokami,saitama,sakado,satte,sayama,shiki,shiraoka,soka,sugito,toda,tokigawa,tokorozawa,tsurugashima,urawa,warabi,yashio,yokoze,yono,yorii,yoshida,yoshikawa,yoshimiaisho,gamo,higashiomi,hikone,koka,konan,kosei,koto,kusatsu,maibara,moriyama,nagahama,nishiazai,notogawa,omihachiman,otsu,ritto,ryuoh,takashima,takatsuki,torahime,toyosato,yasuakagi,ama,gotsu,hamada,higashiizumo,hikawa,hikimi,izumo,kakinoki,masuda,matsue,misato,nishinoshima,ohda,okinoshima,okuizumo,shimane,tamayu,tsuwano,unnan,yakumo,yasugi,yatsukaarai,atami,fuji,fujieda,fujikawa,fujinomiya,fukuroi,gotemba,haibara,hamamatsu,higashiizu,ito,iwata,izu,izunokuni,kakegawa,kannami,kawanehon,kawazu,kikugawa,kosai,makinohara,matsuzaki,minamiizu,mishima,morimachi,nishiizu,numazu,omaezaki,shimada,shimizu,shimoda,shizuoka,susono,yaizu,yoshidaashikaga,bato,haga,ichikai,iwafune,kaminokawa,kanuma,karasuyama,kuroiso,mashiko,mibu,moka,motegi,nasu,nasushiobara,nikko,nishikata,nogi,ohira,ohtawara,oyama,sakura,sano,shimotsuke,shioya,takanezawa,tochigi,tsuga,ujiie,utsunomiya,yaitaaizumi,anan,ichiba,itano,kainan,komatsushima,matsushige,mima,minami,miyoshi,mugi,nakagawa,naruto,sanagochi,shishikui,tokushima,wajikiadachi,akiruno,akishima,aogashima,arakawa,bunkyo,chiyoda,chofu,chuo,edogawa,fuchu,fussa,hachijo,hachioji,hamura,higashikurume,higashimurayama,higashiyamato,hino,hinode,hinohara,inagi,itabashi,katsushika,kita,kiyose,kodaira,koganei,kokubunji,komae,koto,kouzushima,kunitachi,machida,meguro,minato,mitaka,mizuho,musashimurayama,musashino,nakano,nerima,ogasawara,okutama,ome,oshima,ota,setagaya,shibuya,shinagawa,shinjuku,suginami,sumida,tachikawa,taito,tama,toshimachizu,hino,kawahara,koge,kotoura,misasa,nanbu,nichinan,sakaiminato,tottori,wakasa,yazu,yonagoasahi,fuchu,fukumitsu,funahashi,himi,imizu,inami,johana,kamiichi,kurobe,nakaniikawa,namerikawa,nanto,nyuzen,oyabe,taira,takaoka,tateyama,toga,tonami,toyama,unazuki,uozu,yamadaarida,aridagawa,gobo,hashimoto,hidaka,hirogawa,inami,iwade,kainan,kamitonda,katsuragi,kimino,kinokawa,kitayama,koya,koza,kozagawa,kudoyama,kushimoto,mihama,misato,nachikatsuura,shingu,shirahama,taiji,tanabe,wakayama,yuasa,yuraasahi,funagata,higashine,iide,kahoku,kaminoyama,kaneyama,kawanishi,mamurogawa,mikawa,murayama,nagai,nakayama,nanyo,nishikawa,obanazawa,oe,oguni,ohkura,oishida,sagae,sakata,sakegawa,shinjo,shirataka,shonai,takahata,tendo,tozawa,tsuruoka,yamagata,yamanobe,yonezawa,yuzaabu,hagi,hikari,hofu,iwakuni,kudamatsu,mitou,nagato,oshima,shimonoseki,shunan,tabuse,tokuyama,toyota,ube,yuuchuo,doshi,fuefuki,fujikawa,fujikawaguchiko,fujiyoshida,hayakawa,hokuto,ichikawamisato,kai,kofu,koshu,kosuge,minami-alps,minobu,nakamichi,nanbu,narusawa,nirasaki,nishikatsura,oshino,otsuki,showa,tabayama,tsuru,uenohara,yamanakako,yamanashi*,!city*,!city*,!city*,!city*,!city*,!city*,!city<ac,co,go,info,me,mobi,ne,or,scorg,net,com,edu,gov,mil*edu,biz,net,org,gov,info,comorg,nom,gov,prd,tm,edu,mil,ass,com,coop,asso,presse,medecin,notaires,pharmaciens,veterinaire,gouvnet,org,edu,govcom,edu,gov,org,rep,traac,co,es,go,hs,kg,mil,ms,ne,or,pe,re,sc,busan,chungbuk,chungnam,daegu,daejeon,gangwon,gwangju,gyeongbuk,gyeonggi,gyeongnam,incheon,jeju,jeonbuk,jeonnam,seoul,ulsancom,edu,emb,gov,ind,net,orgcom,edu,net,orgorg,edu,net,gov,mil,comint,net,info,edu,gov,per,com,orgcom,edu,gov,net,orgcom,net,co,org,edu,govgov,sch,net,int,com,org,edu,ngo,soc,web,ltd,assn,grp,hotel,accom,edu,gov,org,netac,biz,co,edu,gov,info,net,org,scgovcom,edu,gov,org,mil,id,net,asn,confcom,net,gov,plc,edu,sch,med,org,idco,net,gov,org,ac,presstm,assoco,net,org,edu,ac,gov,its,privorg,nom,gov,prd,tm,edu,mil,com,cocom,org,net,edu,gov,inf,namecom,edu,gouv,gov,net,org,presse*gov,edu,orgcom,net,org,edu,govgovcom,edu,gov,net,orgcom,edu,net,orgcom,net,org,gov,ac,co,oraero,biz,com,coop,edu,gov,info,int,mil,museum,name,net,org,proac,biz,co,com,coop,edu,gov,int,museum,net,orgcom,org,gob,edu,netbiz,com,edu,gov,mil,name,net,orgac,adv,co,edu,gov,mil,net,orginfo,pro,name,school,or,dr,us,mx,ca,in,cc,tv,ws,mobi,co,com,orgasso,nomcom,net,per,rec,web,arts,firm,info,other,storecom,edu,gov,i,mil,mobi,name,net,org,schac,biz,co,com,edu,gob,in,info,int,mil,net,nom,org,webfhs,vgs,fylkesbibl,folkebibl,museum,idrett,priv,mil,stat,dep,kommune,herad,aa>gsgsgsgsgsgsgsgsgsgsgs
      gsgsgsgsgsgsgsgsgsgsbo,xn--b-5gabo,xn--b-5ga,heroy,xn--hery-iraheroy,sandexn--hery-ira,sandenesnesos,valer,xn--vler-qoaossandevalerxn--vler-qoa<*biz,info,gov,edu,org,net,comac,co,cri,geek,gen,govt,health,iwi,kiwi,maori,mil,xn--mori-qsa,net,org,parliament,schoolco,com,edu,gov,med,museum,net,org,proac,gob,com,org,sld,edu,net,ing,abo,med,nomedu,gob,nom,mil,org,com,netcom,org,edu*com,net,org,gov,edu,ngo,mil,icom,net,edu,org,fam,biz,web,gov,gob,gok,gon,gop,gos,infocom,net,org,aid,agro,atm,auto,biz,edu,gmina,gsm,info,mail,miasta,media,mil,nieruchomosci,nom,pc,powiat,priv,realestate,rel,sex,shop,sklep,sos,szkola,targi,tm,tourism,travel,turystyka,gov>ap,griw,ic,is,kmpsp,konsulat,kppsp,kwp,kwpsp,mup,mw,oia,oirm,oke,oow,oschr,oum,pa,pinb,piw,po,pr,psp,psse,pup,rzgw,sa,sdn,sko,so,sr,starostwo,ug,ugim,um,umig,upow,uppo,us,uw,uzs,wif,wiih,winb,wios,witd,wiw,wkz,wsa,wskr,wsse,wuoz,wzmiuw,zp,zpisdngov,co,org,edu,netcom,net,org,gov,edu,isla,pro,biz,info,name,est,prof,acaaa,aca,acct,avocat,bar,cpa,eng,jur,law,med,rechtedu,gov,sec,plo,com,org,netnet,gov,org,edu,int,publ,com,nomeco,ne,or,ed,go,belaucom,coop,edu,gov,mil,net,orgcom,edu,gov,mil,name,net,org,schasso,com,nomarts,com,firm,info,nom,nt,org,rec,store,tm,wwwac,co,edu,gov,in,orgac,co,coop,gov,mil,net,orgcom,net,org,gov,med,pub,edu,schcom,edu,gov,net,orgcom,gov,net,org,educom,net,org,edu,med,tv,gov,infoa,ac,b,bd,brand,c,d,e,f,fh,fhsk,fhv,g,h,i,k,komforb,kommunalforbund,komvux,l,lanbib,m,n,naturbruksgymn,o,org,p,parti,pp,press,r,s,t,tm,u,w,x,y,zcom,net,org,gov,edu,percom,net,gov,org,milcom,net,edu,gov,orgart,com,edu,gouv,org,perso,univcom,edu,gov,me,net,orgbiz,com,edu,gov,me,net,org,schco,com,consulado,edu,embaixada,mil,net,org,principe,saotome,storecom,edu,gob,org,redgovedu,gov,net,mil,com,orgco,ac,orgac,co,go,in,mi,net,orac,biz,co,com,edu,go,gov,int,mil,name,net,nic,org,test,webgovcom,co,org,net,nom,gov,mil,educom,ens,fin,gov,ind,info,intl,mincom,nat,net,org,perso,tourismcom,gov,net,org,edu,milav,bbs,bel,biz,com,dr,edu,gen,gov,info,mil,k12,kep,name,net,org,pol,tel,tsk,tv,web,nc>gov<co,com,org,net,biz,info,pro,int,coop,jobs,mobi,travel,museum,aero,name,gov,eduedu,gov,mil,com,net,org,idv,game,ebiz,club,xn--zf0ao64a,xn--uc0atv,xn--czrw28bac,co,go,hotel,info,me,mil,mobi,ne,or,sc,tvcom,edu,gov,in,net,org,cherkassy,cherkasy,chernigov,chernihiv,chernivtsi,chernovtsy,ck,cn,cr,crimea,cv,dn,dnepropetrovsk,dnipropetrovsk,donetsk,dp,if,ivano-frankivsk,kh,kharkiv,kharkov,kherson,khmelnitskiy,khmelnytskyi,kiev,kirovograd,km,kr,kropyvnytskyi,krym,ks,kv,kyiv,lg,lt,lugansk,luhansk,lutsk,lv,lviv,mk,mykolaiv,nikolaev,od,odesa,odessa,pl,poltava,rivne,rovno,rv,sb,sebastopol,sevastopol,sm,sumy,te,ternopil,uz,uzhgorod,uzhhorod,vinnica,vinnytsia,vn,volyn,yalta,zakarpattia,zaporizhzhe,zaporizhzhia,zhitomir,zhytomyr,zp,ztco,or,ac,sc,go,ne,com,orgac,co,gov,ltd,me,net,nhs,org,plc,police,sch>*<dni,fed,isa,kids,nsn,ak>k12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcck12,cc,libk12,cc,libk12,cc,libcc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12>pvt,chtr,parochk12,cc,libk12,cc,libk12,cc,lib,ann-arbor,cog,dst,eaton,gen,mus,tec,washtenawk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcc,libk12,cc,libcc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcck12,cc,lib<com,edu,gub,mil,net,orgco,com,net,orgcom,net,org,gov,mil,eduarts,bib,co,com,e12,edu,firm,gob,gov,info,int,mil,net,nom,org,rar,rec,store,tec,webco,com,k12,net,orgac,ai,biz,com,edu,gov,health,id,info,int,io,name,net,org,pro,angiang,bacgiang,backan,baclieu,bacninh,baria-vungtau,bentre,binhdinh,binhduong,binhphuoc,binhthuan,camau,cantho,caobang,daklak,daknong,danang,dienbien,dongnai,dongthap,gialai,hagiang,haiduong,haiphong,hanam,hanoi,hatinh,haugiang,hoabinh,hungyen,khanhhoa,kiengiang,kontum,laichau,lamdong,langson,laocai,longan,namdinh,nghean,ninhbinh,ninhthuan,phutho,phuyen,quangbinh,quangnam,quangngai,quangninh,quangtri,soctrang,sonla,tayninh,thaibinh,thainguyen,thanhhoa,thanhphohochiminh,thuathienhue,tiengiang,travinh,tuyenquang,vinhlong,vinhphuc,yenbaicom,edu,net,orgcom,net,org,gov,eduxn--55qx5d,xn--wcvs22d,xn--mxtq1m,xn--gmqw5a,xn--od0alg,xn--uc0atvxn--o1ac,xn--c1avg,xn--90azh,xn--d1at,xn--o1ach,xn--80auxn--12c1fe0br,xn--12co0c3b4eva,xn--h3cuzk1di,xn--o3cyx2a,xn--m3ch0j3a,xn--12cfi8ixb8lcom,edu,gov,net,mil,orgac,agric,alt,co,edu,gov,grondar,law,mil,net,ngo,nic,nis,nom,org,school,tm,webac,biz,co,com,edu,gov,info,mil,net,org,schac,co,gov,mil,org12chars,panel,autocode,lcl>*****user>*<archer,bones,canary,global,hacker,id,janeway,kim,kira,kirk,odo,paris,picard,pike,prerelease,reed,riker,sisko,spock,staging,sulu,tarpit,teams,tucker,wesley,worf*<12chars,blogspot,ibxos,iliadboxos,neen>jcopen>jelastic>cloud<<<16-b,32-b,64-b,123homepage,myspreadshop,syncloud12chars,cloudns,dnstrace>bcicc,inf,ltd,cx,ie,biz,co,pp,v611,oya,rdv,x0,vpnplus,quickconnect>directa2hosted,cpserver,devcdnaccesso>*dev>*<af-south-1>execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointexecute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websiteexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointwebview-assetsvfs<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fipswebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fipsexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fipsexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<**ap-northeast-1>***************<accesspoint>mrap<*<af-south-1>authauthauthauthauthauthauthauthauthauthauthauthauthauthauthauthauthauthauth,auth-fipsauth,auth-fipsauth-fipsauth,auth-fipsauth,auth-fips<**af-south-1,ap-east-1,ap-northeast-1,ap-northeast-2,ap-northeast-3,ap-south-1,ap-southeast-1,ap-southeast-2,ap-southeast-3,ca-central-1,eu-central-1,eu-north-1,eu-south-1,eu-west-1,eu-west-2,eu-west-3,il-central-1,me-south-1,sa-east-1,us-east-1,us-east-2,us-gov-east-1,us-gov-west-1,us-west-1,us-west-2**,oci>***<demo,instance*eu-1,eu-2,eu-3,eu-4,us-1,us-2,us-3,us-4*r>*<paasrag-cloud,rag-cloud-chjcloud,jcloud-ver-jpcdemopaasjed,lon,rydcns>*<appmembers,nodebalancer>*<*ipappseucloudapp>*<customer,caracal,fentiger,lynx,ocelot,oncilla,onza,sphinx,vs,x,yalicloud<4u,nfshost,001www,ddnslive,myiphost,blogsyte,ciscofreak,damnserver,ditchyourip,dnsiskinky,dynns,geekgalaxy,health-carereform,homesecuritymac,homesecuritypc,myactivedirectory,mysecuritycamera,net-freaks,onthewifi,point2this,quicksytes,securitytactics,serveexchange,servehumour,servep2p,servesarcasm,stufftoread,unusualperson,workisboring,3utilities,ddnsking,myvnc,servebeer,servecounterstrike,serveftp,servegame,servehalflife,servehttp,serveirc,servemp3,servepics,servequake,observableusercontent>static*xeneu*appbuilder>***<platform>code-builder-stg>test>001>*<<<<alpha,betaapisitepro*pagesjsu2,u2-localgraphox,cloudns,drud,is-by,land-4-sale,stuff-4-sale,enscaled>phxlib<on-acorn>*app,backyards>*<s>*<uk0dyndnsid*paassekd1cloud-fr1*ap,au,eu,in,jp,sa,usstagemocksys>*<g**devicesapps**dev>cust,reservdcust,reservdcustcust,reservd<activetrail,cloudns,jozi,dyndns,for-better,for-more,for-some,for-the,selfip,webhop,orx,mmafan,myftp,no-ip,dscloudadaptable,beget>*****idprivatelinkaem,hlx,ewp>*<adobeaemcloud,adobeio-static,adobeioruntime,akadns,akamai,akamai-staging,akamaiedge,akamaiedge-staging,akamaihd,akamaihd-staging,akamaiorigin,akamaiorigin-staging,akamaized,akamaized-staging,edgekey,edgekey-staging,edgesuite,edgesuite-staging,alwaysdata,myamaze,cloudfront,t3l3p0rt,appudo,atlassian-dev>prod>cdn<r*umapfreetls,map,prod>a,globala,b,global<fra1-de,west1-usjls-sto1,jls-sto2,jls-sto3paas>fr-1,lon-1,lon-2,ny-1,ny-2,sg-1<jelastic,nordeste-idcjjelastic1,2,3,4,5,6,7,centralus,eastasia,eastus2,westeurope,westus2core>blobwebpaas>**<jelastic>atl,njs,ric<soc,userbetac>*<pagesstorage,websiteaem,hlx,hlx3,translated,codeberg,pdns,plesk,prvcy,rocky,magnetbeep,ecommerce-shop,shoparena,homesklep,sdscloud,unicloud,krasnik,leczna,lubartow,lublin,poniatowa,swidnik,co,torun,simplesite,art,gliwice,krakow,poznan,wroc,zakopane,myspreadshop,gda,gdansk,gdynia,med,sopotairkitapps,mycd,cloudns,dogado>jelastic*barsy,awdev>*compute>*<alces>*altervista,amune>telec,rscorigin>ssl<go,homeal,asso,at,au,be,bg,ca,cd,ch,cn,cy,cz,de,dk,edu,ee,es,fi,fr,gr,hr,hu,ie,il,in,int,is,it,jp,kr,lt,lu,lv,mc,me,mk,mt,my,net,ng,nl,no,nz,paris,pl,pt,q-a,ro,ru,se,si,sk,tr,uk,uscloud,os>appos>app<<s3com>amazonaws>cn-north-1>execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websiteexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint*cn-north-1>**<cn-north-1,cn-northwest-1*<cn-north-1>notebook,studionotebook,studio<<my>*<direct<sagemaker>af-south-1>notebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebooknotebook,studionotebook,studionotebook,studionotebooknotebook,notebook-fips,studionotebook,notebook-fipsnotebook,studionotebooknotebook,studionotebook,studionotebooknotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,notebook-fips,studionotebook,notebook-fips,studionotebook,notebook-fips,studio,studio-fipsnotebook,notebook-fips,studio,studio-fipsnotebook,studionotebook,notebook-fips,studio<private>*<<eero,eero-stage,barsyf5,gitapp,gitpage,blogspotne>aseinet>userisk01>s3s3<rs,usergv>d<0eparty>user<advisor>*rs,blogspotbanzai>*eu*es-1viparuba>eur>it1<cstn,ukukca,uk,usch,de**baremetal>fr-par-1,fr-par-2,nl-ams-1cockpit,fnc>functionsnodespriv,pubcockpit,k8s>nodescockpit,k8s>nodesruns*base,officialbase,hoplix,barsypagesbnr,cofsquare7,blogspot,flow>ae>alp1*,svc>*<<12hp,2ix,4lima,lima-citybplaced,square7,com,cosidns>dyndyn,dyndnsdyn*it>pages<customer*brendly>shopco>bytemark>dh,vmjcustcampaign,service,apiglug,lug,lugs,affinitylottery,raffleentry,weeklylotterycanva>my>*<***drr,feedback,formsuwucarrd,crd,otap>*blogspotididjucom,blogspot,conf,iopsys,123minsida,itcouldbewor,myspreadshop,paba>su<za,gsjweb,cloudns,co>cyclicaus,nzradio,blogspot,neko,nyaaradio,user>*<discoursediscourse,jelasticc66,daplie>localhostsitecloud66,hs,triton>*cloudaccess,freesite,easypanel,fastvps,myfast,tempurl,wpmudev,jele,mircloud,pcloud,halfco,realm,e4,blogspot,metacentrum>cloud>*cloud>flt,usr<<cloudnscloudns,jele,barsycloudns,ftpaccess,game-server,myphotos,scrapping,twmail,csx,fantasyleague,spawn>instances<cloudns,dynamic-dns,dyndns,barrel-of-knowledge,barrell-of-knowledge,for-our,groks-the,groks-this,here-for-more,knowsitall,selfip,webhop,barsy,mayfirst,forumz,nsupdate,dvrcam,ilovecollege,no-ip,dnsupdate,v-infocloudns,x443cnpyco,hosting-cluster,blogspot,gov,khplay,123website,myspreadshop,transurl>*co,blogspot,123hjemmeside,myspreadshopwebhosting,blogspot,interhostsolutions>cloudezproxy<123website,myspreadshop,transurl>*<ac,edu,gov,int,mil,test,eurodir,adygeya,bashkiria,bir,cbg,com,dagestan,grozny,kalmykia,kustanai,marine,mordovia,msk,mytis,nalchik,nov,pyatigorsk,spb,vladikavkaz,vladimir,blogspot,na4u,mircloud,regruhosting>jelastichosting>****<hbvpscrisp>on<cupcake,blogspotcyon,mypep,dweb>*<biz,co,firm,reg,store,blogspot,123hjemmeside,myspreadshopdapps>*,bzz>*<<my>rss>*<blogspotdiher>*<online,shopbip,hashbang,platform>ent,eu,usdy,blogspot,xn--hkkinen-5wa,iki,cloudplatform>fidemo,paasdyndns,better-than,on-the-web,worse-than,from,sakuraath,info,assessments,calculators,funnels,paynow,quizzes,researched,testsher>forgotforgot<merseine,mine,shacknet,enterprisecloudmyddns,stackit,lima-city,webspaceblogsite,localzone,crafting,zapto,telebit>*<elementor,deen-root,fbx-os,fbxos,freebox-os,freeboxos,blogspot,goupile,123siteweb,on-web,chirurgiens-dentistes-en-france,dedibox,aeroport,avocat,chambagri,chirurgiens-dentistes,experts-comptables,medecin,notaires,pharmacien,port,veterinaire,myspreadshop,ynhonred>staging*com>mymailerabkhazia,adygeya,aktyubinsk,arkhangelsk,armenia,ashgabad,azerbaijan,balashov,bashkiria,bryansk,bukhara,chimkent,dagestan,east-kazakhstan,exnet,georgia,grozny,ivanovo,jambyl,kalmykia,kaluga,karacol,karaganda,karelia,khakassia,krasnodar,kurgan,kustanai,lenug,mangyshlak,mordovia,msk,murmansk,nalchik,navoi,north-kazakhstan,nov,obninsk,penza,pokrovsk,sochi,spb,tashkent,termez,togliatti,troitsk,tselinograd,tula,tuva,vladikavkaz,vladimir,vologdamyfast,uber,xs4allframerframerframerframerco>ravpage,blogspot,tabitorder,mytabit<funkfeuer>wien*,ex>**<ex>**<blogspotlab,minisitenog,ravendb,myforumco,shop,blogspot,barsycloudapps>london<rocloud,translate,usercontent>*<blogspotblogspotblogspot,barsyblogspotblogspotblogspotco>blogspot<co>blogspot<co>blogspot<com>blogspot<com>blogspot,cloudlets>melcom>blogspot,simplesiteac,al,am,ap,ba,ce,df,es,go,ma,mg,ms,mt,pa,pb,pe,pi,pr,rj,rn,ro,rr,rs,sc,se,sp,to<com>blogspotcom>blogspot,scaleforce>j<<com>blogspot<com>blogspot<com>blogspot<123miweb,myspreadshopcom>blogspot<com>blogspotcom>blogspot<com>blogspot<blogspotblogspot,simplesiteblogspot,secaas,ltd,inc
      blogspot,freeblogspotblogspot,myspreadshopblogspot
    1. blogspot,caablogspotblogspot,123websiteblogspot,at,de,jp,toblogspotblogspotblogspotblogspotblogspotblogspot,123paginawebblogspotblogspotblogspot,enscaledblogspotblogspotblogspotblogspotblogspotfin,nlhs,development,ravendb,servers,build>****id>**biz,xxedu,gov>service<sch,surveysjcloud,kazteleport>upaas<orangecloudkaas,cya,stackit,panel>daemon<knightpointkoobin,coco,educococococoweloginlinebarsybarsy,dscloudbarsycn,blog,dev,mehranabu>ui<ngroknoticeablenow-dns,ntdllnerdpolnycomgopencrafttechown,nameowo>*<oypleycoprequalifymecloudsiterit>git-pages<xn--90amc,xn--j1aef,xn--j1ael8b,xn--h1ahn,xn--j1adp,xn--c1avg,xn--80aaa0cvac,xn--h1aliz,xn--90a1af,xn--41akirara,nohosellfy,shopware,storebasestatic>dev,sites<storj1337clanschbiz,schorgrouterbe,cat,es,eu,gg,mc,us,xyappblog,de,tobeccio,jp,tv,uk,usdeindiech,me,weatofficialyboyboyboyboybobss\";","import functionTimeout, {isTimeoutError} from 'function-timeout';\nimport timeSpan from 'time-span';\nimport cloneRegexp from 'clone-regexp'; // TODO: Use `structuredClone` instead when targeting Node.js 18.\n\nconst resultToMatch = result => ({\n\tmatch: result[0],\n\tindex: result.index,\n\tgroups: result.slice(1),\n\tnamedGroups: result.groups ?? {},\n\tinput: result.input,\n});\n\nexport function isMatch(regex, string, {timeout} = {}) {\n\ttry {\n\t\treturn functionTimeout(() => cloneRegexp(regex).test(string), {timeout})();\n\t} catch (error) {\n\t\tif (isTimeoutError(error)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthrow error;\n\t}\n}\n\nexport function firstMatch(regex, string, {timeout} = {}) {\n\ttry {\n\t\tconst result = functionTimeout(() => cloneRegexp(regex).exec(string), {timeout})();\n\n\t\tif (result === null) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn resultToMatch(result);\n\t} catch (error) {\n\t\tif (isTimeoutError(error)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthrow error;\n\t}\n}\n\nexport function matches(regex, string, {timeout = Number.POSITIVE_INFINITY, matchTimeout = Number.POSITIVE_INFINITY} = {}) {\n\tif (!regex.global) {\n\t\tthrow new Error('The regex must have the global flag, otherwise, use `firstMatch()` instead');\n\t}\n\n\treturn {\n\t\t* [Symbol.iterator]() {\n\t\t\ttry {\n\t\t\t\tconst matches = string.matchAll(regex); // The regex is only executed when iterated over.\n\n\t\t\t\twhile (true) {\n\t\t\t\t\tconst nextMatch = functionTimeout(() => matches.next(), {timeout: (timeout !== Number.POSITIVE_INFINITY || matchTimeout !== Number.POSITIVE_INFINITY) ? Math.min(timeout, matchTimeout) : undefined}); // `matches.next` must be called within an arrow function so that it doesn't loose its context.\n\n\t\t\t\t\tconst end = timeSpan();\n\t\t\t\t\tconst {value, done} = nextMatch();\n\t\t\t\t\ttimeout -= Math.ceil(end());\n\n\t\t\t\t\tif (done) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tyield resultToMatch(value);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (!isTimeoutError(error)) {\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n}\n","export default function timeSpan() {\n\tconst start = performance.now();\n\n\tconst end = () => performance.now() - start;\n\tend.rounded = () => Math.round(end());\n\tend.seconds = () => end() / 1000;\n\tend.nanoseconds = () => end() * 1000000;\n\n\treturn end;\n}\n","import { encodeUrl, decodeUrl } from \"./rewriters/url\";\nimport { rewriteCss } from \"./rewriters/css\";\nimport { rewriteHtml, rewriteSrcset } from \"./rewriters/html\";\nimport { rewriteJs } from \"./rewriters/js\";\nimport { rewriteHeaders } from \"./rewriters/headers\";\nimport { rewriteWorkers } from \"./rewriters/worker\";\nimport { isScramjetFile } from \"./rewriters/html\";\nimport { BareClient } from \"@mercuryworkshop/bare-mux\";\nimport { parseDomain } from \"parse-domain\";\n\nif (!self.$scramjet) {\n\t//@ts-expect-error really dumb workaround\n\tself.$scramjet = {};\n}\nself.$scramjet.shared = {\n\tutil: {\n\t\tisScramjetFile,\n\t\tparseDomain,\n\t\tBareClient,\n\t},\n\turl: {\n\t\tencodeUrl,\n\t\tdecodeUrl,\n\t},\n\trewrite: {\n\t\trewriteCss,\n\t\trewriteHtml,\n\t\trewriteSrcset,\n\t\trewriteJs,\n\t\trewriteHeaders,\n\t\trewriteWorkers,\n\t},\n};\n"],"names":["encodeUrl","URL","globalThis","window","Proxy","construct","target","argArray","newTarget","Reflect","rewriteCss","css","origin","regex","replace","match","importStatement","urlQuote","urlContent","importQuote","importContent","url","encodedUrl","trim","concat","cspHeaders","urlHeaders","rewriteHeaders","rawHeaders","headers","key","toLowerCase","forEach","header","Parser","DomHandler","Element","hasAttrib","render","rewriteJs","isScramjetFile","src","bool","file","self","$scramjet","config","rewriteHtml","html","handler","err","dom","parser","write","end","traverseParsedHtml","root","node","_iter","cspAttr","attribs","_iter1","urlAttr","value","_iter2","srcsetAttr","value1","rewriteSrcset","srcdoc","style","name","children","undefined","data","test","type","js","htmlcomment","content","includes","contentArray","split","join","_node_children","scramjetScripts","script","push","unshift","childNodes","childNode","srcset","urls","sufixes","rewrittenUrls","map","i","parseModule","generate","makeTraveler","ast","module","webcompat","identifierList","customTraveler","ImportDeclaration","source","ImportExpression","ExportAllDeclaration","ExportNamedDeclaration","MemberExpression","object","AssignmentExpression","left","right","VariableDeclarator","init","go","e","console","error","log","canParseUrl","_instanceof","toString","codec","decode","location","href","slice","prefix","length","startsWith","encode","decodeUrl","rewriteWorkers","str","String","BareClient","parseDomain","shared","util","rewrite"],"mappings":";;;;;;;;;;;;AAAuD;AACF;AAC9C;AACP,SAAS,0EAAyB;AAClC;AAC2B;AAC3B;;;;;;;;;ACNuD;;AAEvD;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI,YAAY,+BAA+B;AAC/C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,0EAAyB;AACxC;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,CAAC;AACM;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;AC1HA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEO;AACP;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;;AAEH,2BAA2B;AAC3B;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA,QAAQ;;AAER,sBAAsB,YAAY;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA,QAAQ,UAAU,YAAY;AAC9B;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA,QAAQ,UAAU,YAAY;AAC9B;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA,MAAM,eAAe,YAAY;AACjC;AACA;;AAEA;AACA;AACA,MAAM,UAAU,YAAY;AAC5B;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;AAEN,oBAAoB,YAAY;AAChC;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;;;;;;;;AChgBoD;AAC7C,IAAMC,MAAMC,WAAWD,GAAG,CAAC;AAElC,IAAIC,WAAWC,MAAM,EAAE;IACtBA,OAAOF,GAAG,GAAG,IAAIG,MAAMH,KAAK;QAC3BI,WAAAA,SAAAA,UAAUC,MAAM,EAAEC,QAAQ,EAAEC,SAAS;YACpC,IAAI,OAAOD,QAAQ,CAAC,EAAE,KAAK,UAAUA,QAAQ,CAAC,EAAE,GAAGP,gEAASA,CAACO,QAAQ,CAAC,EAAE;YACxE,IAAI,OAAOA,QAAQ,CAAC,EAAE,KAAK,UAAUA,QAAQ,CAAC,EAAE,GAAGP,gEAASA,CAACO,QAAQ,CAAC,EAAE;YAExE,OAAOE,QAAQJ,SAAS,CAACC,QAAQC,UAAUC;QAC5C;IACD;AACD;;;;;;;;;;ACZA,0CAA0C;AAC1C,iFAAiF;AAE/C;AAE3B,SAASE,WAAWC,GAAW,EAAEC,MAAY;IACnD,IAAMC,QACL;IAED,OAAOF,IAAIG,OAAO,CACjBD,OACA,SACCE,OACAC,iBACAC,UACAC,YACAC,aACAC;QAEA,IAAMC,MAAMH,cAAcE;QAC1B,IAAME,aAAatB,+CAASA,CAACqB,IAAIE,IAAI,IAAIX;QAEzC,IAAII,iBAAiB;YACpB,OAAQ,eAAyBM,OAAXL,UAAwBA,OAAbK,YAAsBE,OAATP,UAASO;QACxD;QAEA,IAAIL,aAAa;YAChB,OAAQ,WAAwBG,OAAdH,aAA2BA,OAAbG,YAAyBE,OAAZL;QAC9C;QAEA,OAAQ,OAAiBG,OAAXL,UAAwBA,OAAbK,YAAsBE,OAATP,UAASO;IAChD;AAEF;;;;;;;;;;ACjCkC;AAElC,IAAMC,aAAa;IAClB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,wGAAwG;IACxG,4EAA4E;IAC5E;CACA;AAED,IAAMC,aAAa;IAAC;IAAY;IAAoB;CAAU;AAEvD,SAASC,eAAeC,UAAuB,EAAEhB,MAAY;IACnE,IAAMiB,UAAU,CAAC;IAEjB,IAAK,IAAMC,OAAOF,WAAY;QAC7BC,OAAO,CAACC,IAAIC,WAAW,GAAG,GAAGH,UAAU,CAACE,IAAI;IAC7C;IAEAL,WAAWO,OAAO,CAAC,SAACC;QACnB,OAAOJ,OAAO,CAACI,OAAO;IACvB;IAEAP,WAAWM,OAAO,CAAC,SAACC;QACnB,IAAIJ,OAAO,CAACI,OAAO,EAClBJ,OAAO,CAACI,OAAO,GAAGjC,+CAASA,CAAC6B,OAAO,CAACI,OAAO,EAAYrB;IACzD;IAEA,IAAIiB,OAAO,CAAC,OAAO,EAAE;QACpBA,OAAO,CAAC,OAAO,GAAGA,OAAO,CAAC,OAAO,CAACf,OAAO,CAAC,aAAa,SAACC;mBACvDf,+CAASA,CAACe,OAAOH;;IAEnB;IAEA,OAAOiB;AACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjDqC;AACY;AACZ;AACD;AACF;AACC;AACF;AAE1B,SAASW,eAAeC,GAAW;IACzC,IAAIC,OAAO;IACX;QAAC;QAAU;QAAU;QAAU;QAAU;KAAS,CAACV,OAAO,CAAC,SAACW;QAC3D,IAAIF,QAAQG,KAAKC,SAAS,CAACC,MAAM,CAACH,KAAK,EAAED,OAAO;IACjD;IAEA,OAAOA;AACR;AAEO,SAASK,YAAYC,IAAY,EAAEpC,MAAY;IACrD,IAAMqC,UAAU,IAAId,kDAAUA,CAAC,SAACe,KAAKC;eAAQA;;IAC7C,IAAMC,SAAS,IAAIlB,+CAAMA,CAACe;IAE1BG,OAAOC,KAAK,CAACL;IACbI,OAAOE,GAAG;IAEV,OAAOhB,0DAAMA,CAACiB,mBAAmBN,QAAQO,IAAI,EAAE5C;AAChD;AAEA,mDAAmD;AAEnD,SAAS2C,mBAAmBE,IAAI,EAAE7C,MAAY;IAC7C,kBAAkB,GAClB,gBAAsB8C,QAAAA;QAAC;QAAS;QAAa;KAAM,OAA7BA,mBAA+B;YAA1CC,UAAWD;QACrB,IAAIrB,mDAASA,CAACoB,MAAME,UAAU;YAC7BF,KAAKG,OAAO,CAAE,QAAepC,OAARmC,SAAU,GAAGF,KAAKG,OAAO,CAACD,QAAQ;YACvD,OAAOF,KAAKG,OAAO,CAACD,QAAQ;QAC7B;IACD;IAEA,kBAAkB,GAClB,iBAAsBE,SAAAA;QAAC;QAAO;QAAQ;QAAU;KAAa,QAAvCA,qBAAyC;YAApDC,UAAWD;QACrB,IAAIxB,mDAASA,CAACoB,MAAMK,YAAY,CAACtB,eAAeiB,KAAKG,OAAO,CAACE,QAAQ,GAAG;YACvE,IAAMC,QAAQN,KAAKG,OAAO,CAACE,QAAQ;YACnCL,KAAKG,OAAO,CAAE,QAAepC,OAARsC,SAAU,GAAGC;YAClCN,KAAKG,OAAO,CAACE,QAAQ,GAAG9D,+CAASA,CAAC+D,OAAOnD;QAC1C;IACD;IAEA,SAAS,GACT,iBAAyBoD,SAAAA;QAAC;QAAU;KAAc,QAAzBA,qBAA2B;YAAzCC,aAAcD;QACxB,IAAI3B,mDAASA,CAACoB,MAAMQ,aAAa;YAChC,IAAMC,SAAQT,KAAKG,OAAO,CAACK,WAAW;YACtCR,KAAKG,OAAO,CAAE,QAAkBpC,OAAXyC,YAAa,GAAGC;YACrCT,KAAKG,OAAO,CAACK,WAAW,GAAGE,cAAcD,QAAOtD;QACjD;IACD;IAEA,IAAIyB,mDAASA,CAACoB,MAAM,WACnBA,KAAKG,OAAO,CAACQ,MAAM,GAAGrB,YAAYU,KAAKG,OAAO,CAACQ,MAAM,EAAExD;IACxD,IAAIyB,mDAASA,CAACoB,MAAM,UACnBA,KAAKG,OAAO,CAACS,KAAK,GAAG3D,gDAAUA,CAAC+C,KAAKG,OAAO,CAACS,KAAK,EAAEzD;IAErD,IAAI6C,KAAKa,IAAI,KAAK,WAAWb,KAAKc,QAAQ,CAAC,EAAE,KAAKC,WACjDf,KAAKc,QAAQ,CAAC,EAAE,CAACE,IAAI,GAAG/D,gDAAUA,CAAC+C,KAAKc,QAAQ,CAAC,EAAE,CAACE,IAAI,EAAE7D;IAC3D,IACC6C,KAAKa,IAAI,KAAK,YACd,qDAAqDI,IAAI,CACxDjB,KAAKG,OAAO,CAACe,IAAI,KAElBlB,KAAKc,QAAQ,CAAC,EAAE,KAAKC,WACpB;QACD,IAAII,KAAKnB,KAAKc,QAAQ,CAAC,EAAE,CAACE,IAAI;QAC9B,IAAMI,cAAc;QACpBD,KAAKA,GAAG9D,OAAO,CAAC+D,aAAa;QAC7BpB,KAAKc,QAAQ,CAAC,EAAE,CAACE,IAAI,GAAGlC,8CAASA,CAACqC,IAAIhE;IACvC;IACA,IAAI6C,KAAKa,IAAI,KAAK,UAAUjC,mDAASA,CAACoB,MAAM,eAAe;QAC1D,IAAIA,KAAKG,OAAO,CAAC,aAAa,KAAK,2BAA2B;YAC7DH,OAAO,CAAC;QACT,OAAO,IACNA,KAAKG,OAAO,CAAC,aAAa,KAAK,aAC/BH,KAAKG,OAAO,CAACkB,OAAO,CAACC,QAAQ,CAAC,QAC7B;YACD,IAAMC,eAAevB,KAAKG,OAAO,CAACkB,OAAO,CAACG,KAAK,CAAC;YAChDD,YAAY,CAAC,EAAE,GAAGhF,+CAASA,CAACgF,YAAY,CAAC,EAAE,CAACzD,IAAI,IAAIX;YACpD6C,KAAKG,OAAO,CAACkB,OAAO,GAAGE,aAAaE,IAAI,CAAC;QAC1C;IACD;IAEA,IAAIzB,KAAKa,IAAI,KAAK,QAAQ;YAWzBa;QAVA,IAAMC,kBAAkB,EAAE;QAC1B;YAAC;YAAU;YAAU;YAAU;SAAS,CAACpD,OAAO,CAAC,SAACqD;YACjDD,gBAAgBE,IAAI,CACnB,IAAIlD,+CAAOA,CAAC,UAAU;gBACrBK,KAAKG,KAAKC,SAAS,CAACC,MAAM,CAACuC,OAAO;gBAClC,iBAAiB;YAClB;QAEF;QAEAF,CAAAA,iBAAAA,KAAKZ,QAAQ,EAACgB,OAAO,CAArBJ,MAAAA,gBAAsB,qBAAGC;IAC1B;IAEA,IAAI3B,KAAK+B,UAAU,EAAE;QACpB,IAAK,IAAMC,aAAahC,KAAK+B,UAAU,CAAE;YACxC/B,KAAK+B,UAAU,CAACC,UAAU,GAAGlC,mBAC5BE,KAAK+B,UAAU,CAACC,UAAU,EAC1B7E;QAEF;IACD;IAEA,OAAO6C;AACR;AAEO,SAASU,cAAcuB,MAAc,EAAE9E,MAAY;IACzD,IAAM+E,OAAOD,OAAOT,KAAK,CAAC;IAC1B,IAAI,CAACU,MAAM,OAAO;IAClB,IAAMC,UAAUF,OAAO3E,KAAK,CAAC;IAC7B,IAAI,CAAC6E,SAAS,OAAO;IACrB,IAAMC,gBAAgBF,KAAKG,GAAG,CAAC,SAACzE,KAAK0E;QACpC,IAAI1E,OAAOuE,OAAO,CAACG,EAAE,EAAE;YACtB,OAAO/F,+CAASA,CAACqB,KAAKT,UAAUgF,OAAO,CAACG,EAAE;QAC3C;IACD;IAEA,OAAOF,cAAcX,IAAI,CAAC;AAC3B;;;;;;;;;;;;;AC9HsC;AACH;AACK;AACN;AAGlC,kEAAkE;AAElE,6BAA6B;AAE7B,WAAW;AACX,SAAS;AACT,OAAO;AACP,aAAa;AACb,OAAO;AACP,MAAM;AACN,SAAS;AAEF,SAAS3C,UAAUqC,EAAU,EAAEhE,MAAY;IACjD,IAAI;QACH,IAAMuF,MAAMH,oDAAWA,CAACpB,IAAI;YAC3BwB,QAAQ;YACRC,WAAW;QACZ;QAEA,IAAMC,iBAAiB;YACtB;YACA;YACA;YACA;YACA;YACA;YACA;SACA;QAED,IAAMC,iBAAiBL,sDAAYA,CAAC;YACnCM,mBAAmB,SAAC/C;gBACnBA,KAAKgD,MAAM,CAAC1C,KAAK,GAAG/D,+CAASA,CAACyD,KAAKgD,MAAM,CAAC1C,KAAK,EAAYnD;YAC5D;YAEA8F,kBAAkB,SAACjD;gBAClB,IAAIA,KAAKgD,MAAM,CAAC9B,IAAI,KAAK,WAAW;oBACnClB,KAAKgD,MAAM,CAAC1C,KAAK,GAAG/D,+CAASA,CAACyD,KAAKgD,MAAM,CAAC1C,KAAK,EAAYnD;gBAC5D,OAAO,IAAI6C,KAAKgD,MAAM,CAAC9B,IAAI,KAAK,cAAc;oBAC7C,gDAAgD;oBAChD,6BAA6B;oBAC7B,4BAA4B;oBAC5BlB,KAAKgD,MAAM,CAACnC,IAAI,GAAI,gBAAgC9C,OAAjBiC,KAAKgD,MAAM,CAACnC,IAAI,EAAC9C;gBACrD;YACD;YAEAmF,sBAAsB,SAAClD;gBACtBA,KAAKgD,MAAM,CAAC1C,KAAK,GAAG/D,+CAASA,CAACyD,KAAKgD,MAAM,CAAC1C,KAAK,EAAYnD;YAC5D;YAEAgG,wBAAwB,SAACnD;gBACxB,yEAAyE;gBACzE,IAAIA,KAAKgD,MAAM,EACdhD,KAAKgD,MAAM,CAAC1C,KAAK,GAAG/D,+CAASA,CAACyD,KAAKgD,MAAM,CAAC1C,KAAK,EAAYnD;YAC7D;YAEAiG,kBAAkB,SAACpD;gBAClB,IACCA,KAAKqD,MAAM,CAACnC,IAAI,KAAK,gBACrB2B,eAAevB,QAAQ,CAACtB,KAAKqD,MAAM,CAACxC,IAAI,GACvC;oBACDb,KAAKqD,MAAM,CAACxC,IAAI,GAAI,iBAAiC9C,OAAjBiC,KAAKqD,MAAM,CAACxC,IAAI,EAAC9C;gBACtD;YACD;YAEAuF,sBAAsB,SAACtD;gBACtB,IACCA,KAAKuD,IAAI,CAACrC,IAAI,KAAK,gBACnB2B,eAAevB,QAAQ,CAACtB,KAAKuD,IAAI,CAAC1C,IAAI,GACrC;oBACDb,KAAKuD,IAAI,CAAC1C,IAAI,GAAI,iBAA+B9C,OAAfiC,KAAKuD,IAAI,CAAC1C,IAAI,EAAC9C;gBAClD;gBAEA,IACCiC,KAAKwD,KAAK,CAACtC,IAAI,KAAK,gBACpB2B,eAAevB,QAAQ,CAACtB,KAAKwD,KAAK,CAAC3C,IAAI,GACtC;oBACDb,KAAKwD,KAAK,CAAC3C,IAAI,GAAI,iBAAgC9C,OAAhBiC,KAAKwD,KAAK,CAAC3C,IAAI,EAAC9C;gBACpD;YACD;YAEA0F,oBAAoB,SAACzD;gBACpB,IACCA,KAAK0D,IAAI,IACT1D,KAAK0D,IAAI,CAACxC,IAAI,KAAK,gBACnB2B,eAAevB,QAAQ,CAACtB,KAAK0D,IAAI,CAAC7C,IAAI,GACrC;oBACDb,KAAK0D,IAAI,CAAC7C,IAAI,GAAI,iBAA+B9C,OAAfiC,KAAK0D,IAAI,CAAC7C,IAAI,EAAC9C;gBAClD;YACD;QACD;QAEA+E,eAAea,EAAE,CAACjB;QAElB,OAAOF,iDAAQA,CAACE;IACjB,EAAE,OAAOkB,GAAG;QACXC,QAAQC,KAAK,CAACF;QACdC,QAAQE,GAAG,CAAC5C;QAEZ,OAAOA;IACR;AACD;;;;;;;;;;;;;;;;;;;AC1GuC;AACN;AAEjC,SAAS6C,YAAYpG,GAAW,EAAET,MAAY;IAC7C,IAAI;QACH,IAAIX,4CAAGA,CAACoB,KAAKT;QAEb,OAAO;IACR,EAAE,UAAM;QACP,OAAO;IACR;AACD;AAEA,sDAAsD;AAC/C,SAASZ,UAAUqB,GAAiB,EAAET,MAAY;IACxD,IAAO8G,YAAHrG,KAAepB,4CAAGA,GAAE;QACvB,OAAOoB,IAAIsG,QAAQ;IACpB;IAEA,IAAI,CAAC/G,QAAQ;QACZA,SAAS,IAAIX,4CAAGA,CACf2C,KAAKC,SAAS,CAACC,MAAM,CAAC8E,KAAK,CAACC,MAAM,CACjCC,SAASC,IAAI,CAACC,KAAK,CACjBF,CAAAA,SAASlH,MAAM,GAAGgC,KAAKC,SAAS,CAACC,MAAM,CAACmF,MAAK,EAAGC,MAAM;IAI3D;IAEA,gCAAgC;IAChC,IAAI,CAAC7G,KAAKA,MAAMT,OAAOmH,IAAI;IAE3B,IAAI1G,IAAI8G,UAAU,CAAC,gBAAgB;QAClC,OAAO,gBAAgB5F,8CAASA,CAAClB,IAAI2G,KAAK,CAAC,cAAcE,MAAM;IAChE,OAAO,IAAI,yBAAyBxD,IAAI,CAACrD,MAAM;QAC9C,OAAOA;IACR,OAAO,IAAIoG,YAAYpG,KAAKT,SAAS;QACpC,OACCkH,SAASlH,MAAM,GACfgC,KAAKC,SAAS,CAACC,MAAM,CAACmF,MAAM,GAC5BrF,KAAKC,SAAS,CAACC,MAAM,CAAC8E,KAAK,CAACQ,MAAM,CAAC,IAAInI,4CAAGA,CAACoB,KAAKT,QAAQmH,IAAI;IAE9D;AACD;AAEA,2DAA2D;AACpD,SAASM,UAAUhH,GAAiB;IAC1C,IAAOqG,YAAHrG,KAAepB,4CAAGA,GAAE;QACvB,OAAOoB,IAAIsG,QAAQ;IACpB;IAEA,IAAI,oCAAoCjD,IAAI,CAACrD,MAAM;QAClD,OAAOA;IACR,OAAO,IAAIoG,YAAYpG,MAAM;QAC5B,OAAOuB,KAAKC,SAAS,CAACC,MAAM,CAAC8E,KAAK,CAACC,MAAM,CACxCxG,IAAI2G,KAAK,CAAEF,CAAAA,SAASlH,MAAM,GAAGgC,KAAKC,SAAS,CAACC,MAAM,CAACmF,MAAK,EAAGC,MAAM;IAEnE,OAAO;QACN,OAAO7G;IACR;AACD;;;;;;;;;;AC5DiC;AAC1B,SAASiH,eAAe1D,EAAU,EAAEhE,MAAY;IACtD,IAAI2H,MAAM,IAAIC,SAASb,QAAQ,EAAE,CAChC,kBAAkB;IACjB,UAA8B,SAC/B,CAAC3F,OAAO,CAAC,SAACqD;QACVkD,OAAQ,WAAwC/G,OAA9BoB,KAAKC,SAAS,CAACC,MAAM,CAACuC,OAAO,EAAC7D;IACjD;IACA+G,OAAOhG,8CAASA,CAACqC,IAAIhE;IAErB,OAAO2H;AACR;;;;;;;;;;;;;;;;ACXA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kDAAkD,2CAA2C;AAC7F;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,sCAAsC;AACnE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,uBAAuB,WAAW,cAAc,2BAA2B;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gCAAgC,uCAAuC;AACvE;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,aAAa;AAC7D;AACA;AACA;AACA,WAAW,yBAAyB,kBAAkB,KAAK;AAC3D,+BAA+B,+CAA+C,MAAM,KAAK;AACzF;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF,OAAO;AACxF;AACA;AACA,uHAAuH,gBAAgB;AACvI;AACA;AACA;AACA;AACA;AACA,4FAA4F,MAAM;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,mEAAmE,eAAe;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,eAAe;AAClF;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,eAAe;AAClF;AACA;AACA;AACA;AACA,2DAA2D,cAAc;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0BAA0B;AAClE;AACA;AACA,wCAAwC,qDAAqD;AAC7F;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEoK;AACpK;;;;;;;;;;;;;ACtbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,YAAY;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACO;;AAEA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA,YAAY,SAAS;AACrB,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU,YAAY;AACtB,UAAU,eAAe;AACzB;AACA,UAAU,SAAS;AACnB;AACA;AACA,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,YAAY,yBAAyB;AACrC;AACA;AACA;AACA;AACA,YAAY,SAAS;AACrB,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,YAAY,yBAAyB;AACrC;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,sBAAsB,YAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,YAAY,yBAAyB;AACrC;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,YAAY,oBAAoB;AAChC,YAAY,0BAA0B;AACtC,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,0BAA0B;AACxC,sBAAsB,qBAAqB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,GAAG;AACH;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,uBAAuB,2BAA2B;AAClD,YAAY,OAAO;AACnB;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,0BAA0B;AAC1B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,yCAAyC,cAAc;AACvD;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,YAAY,aAAa;AACzB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,eAAe;AACf;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,MAAM;AACN,oBAAoB;AACpB,cAAc,aAAa;AAC3B,UAAU,SAAS;AACnB;AACA,0BAA0B;AAC1B;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,GAAG;AACH;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,YAAY,sBAAsB;AAClC;AACA,YAAY,SAAS;AACrB,oBAAoB,YAAY;AAChC;AACA;AACA;AACA,qBAAqB;AACrB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,cAAc,WAAW;AACzB,UAAU,SAAS;AACnB,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,YAAY,yBAAyB;AACrC;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B,UAAU,SAAS;AACnB,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,QAAQ;AACR;AACA;AACA,+BAA+B;AAC/B,QAAQ;AACR,sBAAsB;AACtB;AACA,MAAM;AACN,oBAAoB;AACpB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA,kBAAkB;AAClB;AACA,cAAc,aAAa;AAC3B,UAAU,SAAS;AACnB,wBAAwB;AACxB;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,kBAAkB;AAClB,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,oBAAoB,UAAU;AAC9B,GAAG;AACH;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA,YAAY,QAAQ;AACpB,oBAAoB,cAAc,GAAG,YAAY;AACjD,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,SAAS;AACzB,cAAc,eAAe;AAC7B,wBAAwB,YAAY;AACpC;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,SAAS;AACrB,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACnqCiC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,0CAA0C;AACzD,MAAM,qDAAQ;AACd;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;AC3BO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnGA;AACA;AACA;AAC8C;AACoB;AAClE;AACA;AACA;AACA;AACA;AACA;AACiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,+CAAS;AACvB,cAAc,qDAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,gEAAkB;AAC1C;AACA;AACA;AACA;AACA,kBAAkB,IAAI,IAAI,cAAc;AACxC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,kCAAkC;AACzC;AACA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA,+DAAe,MAAM,EAAC;AACtB;AACA;AACA,aAAa,gDAAgB;AAC7B;AACA;AACA,aAAa,mDAAmB;AAChC,aAAa,qDAAqB;AAClC;AACA,aAAa,mDAAmB;AAChC;AACA,aAAa,iDAAiB;AAC9B;AACA,aAAa,kDAAkB;AAC/B,aAAa,iDAAiB;AAC9B,aAAa,+CAAe;AAC5B;AACA,aAAa,gDAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,8DAAgB;AAC1C;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,kBAAkB,UAAU;AAC5B;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,UAAU;AAClC;AACA;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mDAAS;AAC3B,kBAAkB,oDAAU;AAC5B;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,kBAAkB,UAAU;AAC5B;;;;;;;;;;;;;;;;;;;AC7LA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACO;AACP;AACO;AACP;AACO;AACP;AACO;AACP;AACO;AACP;AACO;AACP;AACO;AACP;AACO;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClDsC;AAC+C;AAClE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,8CAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,8CAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,2DAAe;AAC3D,4BAA4B,6CAAO;AACnC;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B,0CAA0C,4DAAgB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0CAAI;AACjC;AACA;AACA;AACA;AACA;AACA,oDAAoD,+DAAmB;AACvE;AACA;AACA;AACA,yBAAyB,6CAAO;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,0CAAI;AAC7B,yBAAyB,2CAAK;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,2DAAqB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;ACjJsC;AAChE;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,oBAAoB,4DAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,oBAAoB,+DAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,oBAAoB,iEAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,eAAe;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,oBAAoB,6DAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,oBAAoB,4DAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,8DAAkB;AAC5B;AACA,cAAc,6DAAiB;AAC/B,cAAc,2DAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACO;AACP,WAAW,qDAAQ;AACnB;AACA;AACA;AACA;AACA;AACO;AACP,yBAAyB,6DAAiB;AAC1C;AACA;AACA;AACA;AACA;AACO;AACP,yBAAyB,4DAAgB;AACzC;AACA;AACA;AACA;AACA;AACO;AACP,yBAAyB,+DAAmB;AAC5C;AACA;AACA;AACA;AACA;AACO;AACP,yBAAyB,iEAAqB;AAC9C;AACA;AACA;AACA;AACA;AACO;AACP,yBAAyB,4DAAgB;AACzC;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,iBAAiB;AAChE;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,UAAU;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjV6C;AACM;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gEAAoB;AACnC;AACA,oBAAoB,WAAW;AAC/B,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gEAAoB;AACnC,oBAAoB,WAAW;AAC/B,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gEAAoB;AAC/B,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gEAAoB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0DAAW,CAAC,gEAAoB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtLyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,UAAU;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,kBAAkB,uDAAW;AAC7B;AACA;AACA;AACA;AACA,cAAc,uDAAW;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvI+B;AACA;AACG;AACJ;AACF;AACC;AACF;AAC3B;AACyF;AACzF;;;;;;;;;;;;;;ACT2C;AACK;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iDAAK;AAClC;AACA;AACA,mBAAmB,6CAAK;AACxB;AACA,yBAAyB,iDAAK;AAC9B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,6BAA6B,kDAAM;AACnC;AACA,yBAAyB,kDAAM;AAC/B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iDAAK;AAC9B;AACA,qBAAqB,iDAAK;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,kBAAkB,oDAAM;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,WAAW,qDAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,WAAW,oDAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,WAAW,oDAAM;AACjB;AACA;;;;;;;;;;;;;AC1IA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACrIgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uDAAW;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,oBAAoB,2BAA2B;AAC/C;AACA,aAAa,iDAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,mCAAmC,iDAAK;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iDAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AChJ6E;AACrC;AACK;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,WAAW,0DAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,WAAW,uDAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,QAAQ,iDAAK;AACb;AACA,QAAQ,mDAAO;AACf;AACA,QAAQ,kDAAM;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACO;AACP;AACA;AACA,QAAQ,uDAAW,WAAW,qDAAS;AACvC;AACA;AACA,QAAQ,kDAAM;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACO;AACP;AACA;AACA,QAAQ,uDAAW,yBAAyB,2DAAe,IAAI,mDAAO;AACtE;AACA;AACA,QAAQ,kDAAM;AACd;AACA;AACA;AACA;;;;;;;;;;;;;;;;AChFiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,WAAW,uDAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,UAAU,aAAa;AACvB;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,UAAU,OAAO;AACjB,6BAA6B,iDAAK;AAClC,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,UAAU,OAAO;AACjB,6BAA6B,iDAAK;AAClC,WAAW,OAAO;AAClB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC/G6D;AACF;AAC+B;AAC1F;AAC0D;AACc;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACO;AACP;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gDAAgD;AAC1C;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,sEAAgB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA,eAAe,qBAAqB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,mEAAa;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sEAAc;AAC7C,8BAA8B,qEAAa;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;;;;;;;;;;AC/eA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;;;;;;;;;;;ACtEkD;AACM;AACxD,yCAAyC,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACO;AACP,4BAA4B,mDAAW;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qEAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA,uBAAuB,wDAAY;AACnC,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACpEO;AACP;AACA,gBAAgB;AAChB,eAAe;AACf,gBAAgB;AAChB,cAAc;AACd,cAAc;AACd;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,0BAA0B,KAAK,mCAAmC;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,cAAc,yEAAyE;AACvF;AACA;AACA;AACO;AACP,gBAAgB;AAChB,eAAe;AACf,iBAAiB;AACjB;AACA;AACA;AACA,cAAc,yEAAyE;AACvF;AACA;AACA;AACO;AACP,eAAe;AACf,cAAc;AACd,cAAc;AACd,iBAAiB;AACjB;AACA;;;;;ACnHA;AACA,+DAAe;AACf;AACA,scAAsc,gBAAgB,mBAAmB,QAAQ,0CAA0C,UAAU,QAAQ,yBAAyB,QAAQ,8BAA8B,2CAA2C,sBAAsB,2HAA2H,qBAAqB,SAAS,QAAQ,sCAAsC,cAAc,QAAQ,QAAQ,qBAAqB,sBAAsB,sBAAsB,iHAAiH,uDAAuD,aAAa,oCAAoC,WAAW,4CAA4C,4BAA4B,WAAW,SAAS,+BAA+B,aAAa,kBAAkB,+CAA+C,WAAW,UAAU,WAAW,gDAAgD,2CAA2C,WAAW,iDAAiD,oBAAoB,uCAAuC,SAAS,kBAAkB,2BAA2B,YAAY,mCAAmC,UAAU,SAAS,0BAA0B,sBAAsB,gGAAgG,mBAAmB,SAAS,SAAS,SAAS,qCAAqC,QAAQ,SAAS,8BAA8B,OAAO,cAAc,qBAAqB,QAAQ,wGAAwG,0BAA0B,eAAe,WAAW,WAAW,UAAU,iBAAiB,8CAA8C,yBAAyB,6BAA6B,WAAW,wHAAwH,4DAA4D,gBAAgB,mEAAmE,gBAAgB,gBAAgB,mCAAmC,SAAS,kCAAkC,eAAe,iBAAiB,kEAAkE,6BAA6B,aAAa,WAAW,gDAAgD,eAAe,kBAAkB,sBAAsB,uCAAuC,kBAAkB,sBAAsB,eAAe,wBAAwB,4BAA4B,sBAAsB,8HAA8H,0EAA0E,yBAAyB,SAAS,QAAQ,4CAA4C,6BAA6B,yCAAyC,qBAAqB,6BAA6B,QAAQ,wBAAwB,mCAAmC,wBAAwB,cAAc,4BAA4B,QAAQ,QAAQ,gDAAgD,gBAAgB,iDAAiD,QAAQ,uDAAuD,qBAAqB,sCAAsC,sBAAsB,cAAc,8GAA8G,6BAA6B,oBAAoB,WAAW,qCAAqC,SAAS,OAAO,SAAS,QAAQ,mBAAmB,SAAS,kFAAkF,uBAAuB,eAAe,aAAa,UAAU,gBAAgB,WAAW,SAAS,mBAAmB,yEAAyE,6BAA6B,OAAO,UAAU,QAAQ,iBAAiB,4BAA4B,kBAAkB,wCAAwC,+CAA+C,iHAAiH,UAAU,SAAS,iEAAiE,SAAS,QAAQ,iCAAiC,0CAA0C,aAAa,8CAA8C,2CAA2C,cAAc,qCAAqC,WAAW,oCAAoC,QAAQ,oBAAoB,SAAS,WAAW,6BAA6B,uFAAuF,OAAO,QAAQ,qBAAqB,wCAAwC,sBAAsB,UAAU,gEAAgE,SAAS,UAAU,8BAA8B,OAAO,QAAQ,qBAAqB,qBAAqB,wGAAwG,gEAAgE,UAAU,QAAQ,cAAc,QAAQ,qCAAqC,UAAU,OAAO,sIAAsI,gBAAgB,6BAA6B,gBAAgB,aAAa,sCAAsC,oCAAoC,kBAAkB,sBAAsB,WAAW,mCAAmC,YAAY,kCAAkC,+BAA+B,YAAY,mBAAmB,6BAA6B,WAAW,4CAA4C,eAAe,kBAAkB,sBAAsB,kBAAkB,sBAAsB,iFAAiF,eAAe,aAAa,UAAU,gBAAgB,WAAW,QAAQ,yBAAyB,2BAA2B,WAAW,gGAAgG,gBAAgB,gBAAgB,2DAA2D,iDAAiD,gBAAgB,4CAA4C,UAAU,OAAO,sEAAsE,QAAQ,mCAAmC,aAAa,QAAQ,0BAA0B,SAAS,8BAA8B,8EAA8E,WAAW,qCAAqC,UAAU,OAAO,4EAA4E,wHAAwH,QAAQ,yDAAyD,oBAAoB,QAAQ,aAAa,4HAA4H,WAAW,uBAAuB,uCAAuC,gBAAgB,wBAAwB,uBAAuB,mBAAmB,2DAA2D,eAAe,yBAAyB,sBAAsB,gBAAgB,uBAAuB,mCAAmC,uBAAuB,uDAAuD,6BAA6B,uBAAuB,cAAc,oDAAoD,aAAa,UAAU,4BAA4B,uBAAuB,6CAA6C,0BAA0B,gCAAgC,+BAA+B,4BAA4B,uCAAuC,wBAAwB,6BAA6B,uBAAuB,8DAA8D,oCAAoC,kBAAkB,oCAAoC,2CAA2C,oCAAoC,kBAAkB,sCAAsC,4BAA4B,WAAW,8BAA8B,oCAAoC,iBAAiB,sCAAsC,eAAe,WAAW,iBAAiB,SAAS,uCAAuC,kHAAkH,iEAAiE,WAAW,QAAQ,oEAAoE,SAAS,WAAW,SAAS,wDAAwD,WAAW,OAAO,4BAA4B,6EAA6E,oEAAoE,6BAA6B,SAAS,iBAAiB,kFAAkF,QAAQ,QAAQ,oBAAoB,OAAO,cAAc,+CAA+C,aAAa,6CAA6C,sCAAsC,gBAAgB,WAAW,SAAS,8BAA8B,mBAAmB,eAAe,4BAA4B,mBAAmB,0DAA0D,qBAAqB,SAAS,gHAAgH,sDAAsD,QAAQ,cAAc,qBAAqB,qCAAqC,UAAU,OAAO,aAAa,qEAAqE,gBAAgB,mBAAmB,mBAAmB,sGAAsG,gBAAgB,6BAA6B,eAAe,aAAa,sCAAsC,oCAAoC,kBAAkB,sBAAsB,WAAW,kCAAkC,+BAA+B,YAAY,mBAAmB,6BAA6B,WAAW,4CAA4C,eAAe,kBAAkB,sBAAsB,kBAAkB,sBAAsB,4BAA4B,gBAAgB,gBAAgB,4BAA4B,OAAO,gBAAgB,+HAA+H,QAAQ,WAAW,WAAW,aAAa,4CAA4C,UAAU,SAAS,OAAO,QAAQ,qHAAqH,UAAU,gBAAgB,SAAS,0CAA0C,gBAAgB,6CAA6C,qCAAqC,wBAAwB,kBAAkB,wBAAwB,WAAW,SAAS,qBAAqB,+CAA+C,4BAA4B,kBAAkB,qCAAqC,sCAAsC,gBAAgB,WAAW,mBAAmB,aAAa,qCAAqC,wBAAwB,4HAA4H,6BAA6B,QAAQ,2BAA2B,OAAO,qCAAqC,UAAU,OAAO,QAAQ,gEAAgE,QAAQ,iCAAiC,wBAAwB,gBAAgB,sCAAsC,eAAe,WAAW,SAAS,0BAA0B,4BAA4B,sBAAsB,6JAA6J,uBAAuB,6BAA6B,SAAS,6CAA6C,WAAW,QAAQ,0CAA0C,sEAAsE,6BAA6B,SAAS,iBAAiB,eAAe,uBAAuB,6BAA6B,QAAQ,2FAA2F,uBAAuB,eAAe,eAAe,iBAAiB,eAAe,wBAAwB,kDAAkD,gBAAgB,cAAc,sBAAsB,UAAU,SAAS,uBAAuB,iGAAiG,SAAS,QAAQ,gBAAgB,oBAAoB,2BAA2B,oCAAoC,aAAa,qDAAqD,UAAU,eAAe,WAAW,gBAAgB,QAAQ,qBAAqB,qBAAqB,uBAAuB,mDAAmD,UAAU,QAAQ,qBAAqB,qBAAqB,sDAAsD,mBAAmB,SAAS,qBAAqB,0FAA0F,SAAS,SAAS,iDAAiD,OAAO,QAAQ,qBAAqB,qBAAqB,qBAAqB,uEAAuE,WAAW,8BAA8B,OAAO,SAAS,2CAA2C,QAAQ,SAAS,SAAS,+JAA+J,aAAa,gDAAgD,mBAAmB,2CAA2C,gCAAgC,YAAY,kFAAkF,mBAAmB,2CAA2C,QAAQ,mCAAmC,2CAA2C,OAAO,WAAW,OAAO,aAAa,uDAAuD,0BAA0B,0EAA0E,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,cAAc,2BAA2B,oBAAoB,4BAA4B,kBAAkB,6BAA6B,QAAQ,yBAAyB,iDAAiD,UAAU,OAAO,QAAQ,QAAQ,gBAAgB,uEAAuE,mBAAmB,eAAe,kGAAkG,+HAA+H,iEAAiE,aAAa,WAAW,eAAe,qBAAqB,2BAA2B,eAAe,uCAAuC,iBAAiB,2BAA2B,UAAU,yDAAyD,kBAAkB,yDAAyD,OAAO,UAAU,QAAQ,kHAAkH,+CAA+C,UAAU,WAAW,gCAAgC,SAAS,qCAAqC,QAAQ,WAAW,gCAAgC,wFAAwF,oBAAoB,qCAAqC,UAAU,WAAW,QAAQ,+CAA+C,OAAO,QAAQ,SAAS,iCAAiC,8BAA8B,oBAAoB,0CAA0C,yBAAyB,6BAA6B,mIAAmI,OAAO,OAAO,OAAO,aAAa,yCAAyC,OAAO,OAAO,OAAO,yCAAyC,OAAO,OAAO,OAAO,aAAa,uDAAuD,OAAO,OAAO,OAAO,OAAO,OAAO,SAAS,yCAAyC,OAAO,OAAO,OAAO,aAAa,mCAAmC,OAAO,OAAO,OAAO,WAAW,UAAU,WAAW,yCAAyC,OAAO,OAAO,OAAO,aAAa,uDAAuD,OAAO,OAAO,OAAO,OAAO,OAAO,iFAAiF,qBAAqB,cAAc,qBAAqB,2BAA2B,UAAU,gCAAgC,sCAAsC,qBAAqB,aAAa,gKAAgK,aAAa,kDAAkD,WAAW,4BAA4B,QAAQ,SAAS,OAAO,wCAAwC,wEAAwE,SAAS,4BAA4B,eAAe,qBAAqB,SAAS,wDAAwD,kBAAkB,gCAAgC,+CAA+C,eAAe,iCAAiC,cAAc,uDAAuD,aAAa,4BAA4B,yDAAyD,WAAW,0DAA0D,SAAS,UAAU,UAAU,WAAW,SAAS,UAAU,gBAAgB,wEAAwE,0BAA0B,uCAAuC,oBAAoB,aAAa,4GAA4G,gBAAgB,6CAA6C,wCAAwC,eAAe,6BAA6B,SAAS,4BAA4B,6CAA6C,oBAAoB,aAAa,oBAAoB,UAAU,qFAAqF,OAAO,8BAA8B,QAAQ,gBAAgB,oBAAoB,aAAa,oDAAoD,4BAA4B,QAAQ,SAAS,QAAQ,OAAO,6DAA6D,oBAAoB,mFAAmF,WAAW,6HAA6H,WAAW,+JAA+J,4CAA4C,UAAU,wBAAwB,oDAAoD,yCAAyC,OAAO,aAAa,0CAA0C,WAAW,oDAAoD,WAAW,8BAA8B,OAAO,6GAA6G,6BAA6B,iBAAiB,WAAW,SAAS,aAAa,uCAAuC,oBAAoB,oBAAoB,gCAAgC,SAAS,mDAAmD,QAAQ,yBAAyB,0CAA0C,gBAAgB,WAAW,UAAU,YAAY,kLAAkL,SAAS,sDAAsD,mBAAmB,QAAQ,UAAU,6BAA6B,cAAc,mEAAmE,4BAA4B,YAAY,oNAAoN,4CAA4C,cAAc,uCAAuC,OAAO,SAAS,6BAA6B,OAAO,yBAAyB,oDAAoD,sBAAsB,aAAa,uCAAuC,OAAO,aAAa,sBAAsB,oCAAoC,eAAe,+CAA+C,+BAA+B,OAAO,iCAAiC,QAAQ,6BAA6B,QAAQ,qDAAqD,qBAAqB,SAAS,cAAc,uCAAuC,sLAAsL,SAAS,cAAc,eAAe,YAAY,6BAA6B,SAAS,mCAAmC,sCAAsC,6DAA6D,mCAAmC,wLAAwL,WAAW,qCAAqC,oCAAoC,eAAe,aAAa,sBAAsB,gBAAgB,qCAAqC,SAAS,eAAe,SAAS,4BAA4B,6CAA6C,oBAAoB,aAAa,uJAAuJ,uBAAuB,OAAO,OAAO,2BAA2B,OAAO,mDAAmD,OAAO,QAAQ,2BAA2B,OAAO,QAAQ,QAAQ,SAAS,SAAS,sJAAsJ,cAAc,qCAAqC,eAAe,oBAAoB,WAAW,6BAA6B,OAAO,SAAS,aAAa,kCAAkC,wCAAwC,6BAA6B,eAAe,0BAA0B,oBAAoB,aAAa,iCAAiC,QAAQ,yBAAyB,iBAAiB,SAAS,aAAa,4BAA4B,OAAO,OAAO,yCAAyC,cAAc,uCAAuC,0BAA0B,gBAAgB,SAAS,wCAAwC,cAAc,qBAAqB,OAAO,cAAc,8DAA8D,QAAQ,SAAS,UAAU,WAAW,kFAAkF,8EAA8E,+MAA+M,aAAa,uBAAuB,OAAO,SAAS,UAAU,2CAA2C,mCAAmC,UAAU,QAAQ,4CAA4C,WAAW,kDAAkD,UAAU,oCAAoC,gBAAgB,QAAQ,sBAAsB,mCAAmC,kCAAkC,8BAA8B,0JAA0J,uCAAuC,4BAA4B,6CAA6C,6CAA6C,kDAAkD,QAAQ,UAAU,SAAS,UAAU,8DAA8D,2DAA2D,QAAQ,SAAS,aAAa,sCAAsC,eAAe,sBAAsB,yBAAyB,qCAAqC,qDAAqD,UAAU,0CAA0C,SAAS,QAAQ,oBAAoB,gDAAgD,0BAA0B,mCAAmC,SAAS,aAAa,oBAAoB,aAAa,iBAAiB,6BAA6B,8FAA8F,OAAO,QAAQ,sBAAsB,SAAS,wCAAwC,sBAAsB,UAAU,8EAA8E,oBAAoB,8BAA8B,OAAO,QAAQ,uBAAuB,SAAS,SAAS,SAAS,qBAAqB,6OAA6O,UAAU,aAAa,cAAc,SAAS,wFAAwF,YAAY,sBAAsB,cAAc,qBAAqB,iBAAiB,gCAAgC,8DAA8D,eAAe,QAAQ,kBAAkB,QAAQ,SAAS,QAAQ,aAAa,6BAA6B,aAAa,oBAAoB,gDAAgD,SAAS,gDAAgD,OAAO,2BAA2B,4BAA4B,OAAO,4CAA4C,6BAA6B,2BAA2B,0CAA0C,eAAe,qCAAqC,WAAW,QAAQ,aAAa,6FAA6F,oFAAoF,gDAAgD,yDAAyD,aAAa,wCAAwC,oCAAoC,eAAe,0BAA0B,oBAAoB,aAAa,iCAAiC,gEAAgE,qGAAqG,OAAO,yBAAyB,cAAc,oDAAoD,cAAc,SAAS,SAAS,aAAa,+DAA+D,SAAS,8BAA8B,gBAAgB,mEAAmE,cAAc,uCAAuC,0BAA0B,gBAAgB,0FAA0F,QAAQ,wFAAwF,+DAA+D,mCAAmC,OAAO,qBAAqB,WAAW,2BAA2B,uBAAuB,gDAAgD,qBAAqB,iFAAiF,cAAc,OAAO,SAAS,0DAA0D,QAAQ,0BAA0B,qBAAqB,OAAO,kCAAkC,cAAc,UAAU,cAAc,4EAA4E,QAAQ,sBAAsB,UAAU,WAAW,6BAA6B,aAAa,oDAAoD,UAAU,iCAAiC,wIAAwI,8EAA8E,aAAa,sCAAsC,sBAAsB,iEAAiE,8BAA8B,OAAO,UAAU,6BAA6B,oBAAoB,0DAA0D,yCAAyC,iCAAiC,iCAAiC,cAAc,0BAA0B,kDAAkD,QAAQ,wCAAwC,sCAAsC,gCAAgC,yMAAyM,yBAAyB,qFAAqF,gBAAgB,OAAO,yBAAyB,yCAAyC,8BAA8B,UAAU,+DAA+D,QAAQ,yBAAyB,mCAAmC,oBAAoB,oBAAoB,2BAA2B,2BAA2B,2DAA2D,2EAA2E,SAAS,UAAU,eAAe,gBAAgB,oBAAoB,OAAO,UAAU,aAAa,mDAAmD,6BAA6B,aAAa,gBAAgB,qDAAqD,0BAA0B,eAAe,2DAA2D,2BAA2B,mDAAmD,gEAAgE,SAAS,aAAa,2BAA2B,oBAAoB,SAAS,yEAAyE,qBAAqB,QAAQ,aAAa,sFAAsF,wCAAwC,yCAAyC,qBAAqB,8CAA8C,6BAA6B,kCAAkC,4BAA4B,qBAAqB,2CAA2C,OAAO,cAAc,sCAAsC,OAAO,yCAAyC,0CAA0C,mBAAmB,uBAAuB,aAAa,sCAAsC,oBAAoB,6EAA6E,2BAA2B,mBAAmB,6CAA6C,2EAA2E,uCAAuC,+DAA+D,oBAAoB,yFAAyF,kCAAkC,2BAA2B,qBAAqB,qBAAqB,8BAA8B,kCAAkC,2BAA2B,qBAAqB,0HAA0H,kCAAkC,8BAA8B,0BAA0B,6BAA6B,QAAQ,+EAA+E,UAAU,QAAQ,sBAAsB,2BAA2B,mBAAmB,kBAAkB,oCAAoC,OAAO,yBAAyB,6BAA6B,yCAAyC,UAAU,qBAAqB,gDAAgD,6BAA6B,aAAa,iBAAiB,+NAA+N,8BAA8B,mDAAmD,QAAQ,UAAU,UAAU,6BAA6B,OAAO,kDAAkD,0BAA0B,6BAA6B,yEAAyE,UAAU,kBAAkB,oCAAoC,SAAS,qCAAqC,OAAO,SAAS,+CAA+C,SAAS,aAAa,wEAAwE,yCAAyC,kEAAkE,QAAQ,WAAW,OAAO,gEAAgE,oDAAoD,eAAe,4BAA4B,8GAA8G,sCAAsC,uDAAuD,OAAO,QAAQ,mDAAmD,SAAS,SAAS,UAAU,QAAQ,oDAAoD,oBAAoB,qBAAqB,aAAa,2CAA2C,uDAAuD,cAAc,wBAAwB,wEAAwE,SAAS,2BAA2B,OAAO,0BAA0B,SAAS,uCAAuC,QAAQ,2CAA2C,sEAAsE,QAAQ,wBAAwB,oBAAoB,iHAAiH,SAAS,SAAS,0BAA0B,kHAAkH,UAAU,UAAU,aAAa,2BAA2B,4BAA4B,mBAAmB,WAAW,wDAAwD,qBAAqB,uBAAuB,SAAS,oFAAoF,eAAe,oPAAoP,qBAAqB,kFAAkF,qBAAqB,uBAAuB,cAAc,4BAA4B,OAAO,0CAA0C,8EAA8E,aAAa,eAAe,OAAO,QAAQ,4BAA4B,SAAS,QAAQ,OAAO,6BAA6B,cAAc,wEAAwE,gDAAgD,OAAO,2BAA2B,4BAA4B,OAAO,4CAA4C,6BAA6B,2BAA2B,0CAA0C,WAAW,eAAe,eAAe,yCAAyC,oDAAoD,qCAAqC,OAAO,4EAA4E,cAAc,aAAa,oBAAoB,8FAA8F,yIAAyI,kCAAkC,QAAQ,0EAA0E,iBAAiB,oCAAoC,8DAA8D,QAAQ,8CAA8C,OAAO,qBAAqB,WAAW,kCAAkC,qBAAqB,YAAY,wDAAwD,QAAQ,8CAA8C,wDAAwD,cAAc,qCAAqC,YAAY,OAAO,iJAAiJ,yBAAyB,sEAAsE,2BAA2B,SAAS,wBAAwB,gBAAgB,SAAS,kCAAkC,QAAQ,SAAS,YAAY,kBAAkB,eAAe,2BAA2B,gEAAgE,4CAA4C,gCAAgC,UAAU,qCAAqC,cAAc,oEAAoE,6BAA6B,OAAO,mGAAmG,2BAA2B,aAAa,0DAA0D,aAAa,oBAAoB,oBAAoB,aAAa,oBAAoB,QAAQ,UAAU,UAAU,0FAA0F,YAAY,4BAA4B,aAAa,0BAA0B,oBAAoB,iDAAiD,aAAa,0BAA0B,qBAAqB,QAAQ,gDAAgD,sFAAsF,cAAc,0BAA0B,cAAc,8CAA8C,6BAA6B,8BAA8B,6BAA6B,8BAA8B,iGAAiG,+EAA+E,oJAAoJ,qEAAqE,SAAS,aAAa,gBAAgB,UAAU,2BAA2B,OAAO,UAAU,UAAU,yCAAyC,4BAA4B,sBAAsB,eAAe,2BAA2B,OAAO,cAAc,sIAAsI,gBAAgB,wIAAwI,4BAA4B,SAAS,aAAa,gBAAgB,6BAA6B,QAAQ,UAAU,UAAU,2BAA2B,OAAO,UAAU,yCAAyC,4BAA4B,sBAAsB,eAAe,2BAA2B,OAAO,oCAAoC,4CAA4C,iBAAiB,2JAA2J,OAAO,gDAAgD,UAAU,OAAO,WAAW,QAAQ,qGAAqG,6BAA6B,yKAAyK,iCAAiC,eAAe,OAAO,kDAAkD,8BAA8B,SAAS,aAAa,kCAAkC,qBAAqB,8GAA8G,+DAA+D,wBAAwB,iBAAiB,0BAA0B,WAAW,UAAU,QAAQ,UAAU,YAAY,sDAAsD,mBAAmB,SAAS,UAAU,mPAAmP,8EAA8E,SAAS,6CAA6C,gDAAgD,yCAAyC,OAAO,oGAAoG,yDAAyD,iCAAiC,SAAS,6BAA6B,6CAA6C,QAAQ,0IAA0I,wDAAwD,gEAAgE,iCAAiC,SAAS,SAAS,SAAS,gDAAgD,UAAU,cAAc,6EAA6E,yIAAyI,oBAAoB,0CAA0C,uIAAuI,wFAAwF,gCAAgC,+BAA+B,gCAAgC,yGAAyG,qDAAqD,uBAAuB,QAAQ,UAAU,uCAAuC,2EAA2E,gEAAgE,0GAA0G,iEAAiE,iDAAiD,cAAc,cAAc,UAAU,QAAQ,qBAAqB,yBAAyB,4BAA4B,wIAAwI,6DAA6D,8DAA8D,sDAAsD,8FAA8F,uJAAuJ,6BAA6B,OAAO,yBAAyB,qBAAqB,SAAS,qBAAqB,wCAAwC,wGAAwG,8BAA8B,OAAO,SAAS,wCAAwC,QAAQ,qBAAqB,YAAY,SAAS,qBAAqB,uCAAuC,QAAQ;AACp68C;AACA,iCAAiC,EAAC;AAClC;;;;;ACNA;AACA,+DAAe;AACf;AACA,6CAA6C,SAAS,QAAQ,QAAQ,UAAU;AAChF;AACA,iCAAiC,EAAC;AAClC;;;;;ACNA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,+DAAe,+CAA+C,kBAAkB,gBAAgB,eAAe,cAAc,iBAAiB,iBAAiB,cAAc,eAAe,eAAe,eAAe,cAAc,eAAe,gBAAgB,iBAAiB,cAAc,iBAAiB,eAAe,UAAU,QAAQ,sBAAsB,GAAG,SAAS,YAAY,qBAAqB,GAAG,SAAS,QAAQ,sBAAsB,GAAG,eAAe,iBAAiB,kBAAkB,eAAe,iBAAiB,cAAc,iBAAiB,2BAA2B,UAAU,mBAAmB,GAAG,iBAAiB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,eAAe,gBAAgB,iBAAiB,cAAc,iBAAiB,eAAe,cAAc,eAAe,eAAe,gBAAgB,cAAc,cAAc,mBAAmB,eAAe,cAAc,oBAAoB,eAAe,eAAe,gBAAgB,gBAAgB,eAAe,oBAAoB,gBAAgB,eAAe,eAAe,gBAAgB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,iBAAiB,eAAe,gBAAgB,gBAAgB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,eAAe,iBAAiB,iBAAiB,gBAAgB,eAAe,cAAc,iBAAiB,iBAAiB,iBAAiB,gBAAgB,iBAAiB,eAAe,gBAAgB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,eAAe,iBAAiB,gBAAgB,gBAAgB,iBAAiB,iBAAiB,gBAAgB,iBAAiB,eAAe,gBAAgB,gBAAgB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,eAAe,iBAAiB,iBAAiB,gBAAgB,eAAe,cAAc,iBAAiB,iBAAiB,iBAAiB,gBAAgB,iBAAiB,eAAe,cAAc,iBAAiB,iBAAiB,iBAAiB,gBAAgB,eAAe,iBAAiB,gBAAgB,eAAe,gBAAgB,gBAAgB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,eAAe,eAAe,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,eAAe,eAAe,gBAAgB,gBAAgB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,iBAAiB,iBAAiB,eAAe,eAAe,iBAAiB,gBAAgB,gBAAgB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,eAAe,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,cAAc,cAAc,gBAAgB,gBAAgB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,eAAe,iBAAiB,iBAAiB,eAAe,eAAe,iBAAiB,iBAAiB,gBAAgB,iBAAiB,kBAAkB,iBAAiB,iBAAiB,gBAAgB,iBAAiB,yBAAyB,eAAe,eAAe,2BAA2B,gBAAgB,qBAAqB,kBAAkB,eAAe,gBAAgB,gBAAgB,kBAAkB,eAAe,cAAc,gBAAgB,eAAe,gBAAgB,iBAAiB,aAAa,aAAa,aAAa,kBAAkB,aAAa,cAAc,gBAAgB,cAAc,kBAAkB,cAAc,cAAc,cAAc,cAAc,gBAAgB,eAAe,gBAAgB,gBAAgB,eAAe,eAAe,cAAc,gBAAgB,eAAe,gBAAgB,iBAAiB,aAAa,aAAa,aAAa,kBAAkB,aAAa,cAAc,iBAAiB,gBAAgB,cAAc,eAAe,cAAc,cAAc,cAAc,gBAAgB,mBAAmB,eAAe,eAAe,cAAc,iBAAiB,kBAAkB,kBAAkB,eAAe,gBAAgB,sBAAsB,gBAAgB,eAAe,eAAe,gBAAgB,eAAe,gBAAgB,eAAe,iBAAiB,eAAe,eAAe,gBAAgB,eAAe,gBAAgB,eAAe,cAAc,cAAc,cAAc,cAAc,cAAc,eAAe,eAAe,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,eAAe,eAAe,eAAe,eAAe,iBAAiB,iBAAiB,cAAc,iBAAiB,cAAc,eAAe,eAAe,cAAc,cAAc,cAAc,cAAc,cAAc,eAAe,eAAe,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,eAAe,eAAe,eAAe,eAAe,iBAAiB,iBAAiB,cAAc,iBAAiB,cAAc,eAAe,eAAe,eAAe,eAAe,eAAe,gBAAgB,eAAe,gBAAgB,eAAe,iBAAiB,eAAe,eAAe,gBAAgB,eAAe,gBAAgB,eAAe,kBAAkB,eAAe,iBAAiB,iBAAiB,gBAAgB,iBAAiB,oBAAoB,iBAAiB,8BAA8B,eAAe,cAAc,cAAc,cAAc,eAAe,gBAAgB,gBAAgB,iBAAiB,iBAAiB,gBAAgB,0BAA0B,iBAAiB,gBAAgB,gCAAgC,gBAAgB,iBAAiB,iBAAiB,eAAe,eAAe,iBAAiB,iBAAiB,kBAAkB,gBAAgB,gBAAgB,iBAAiB,oBAAoB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,iBAAiB,iBAAiB,UAAU,iBAAiB,4BAA4B,GAAG,iBAAiB,aAAa,yBAAyB,aAAa,gBAAgB,gBAAgB,iBAAiB,qBAAqB,iBAAiB,eAAe,iBAAiB,cAAc,eAAe,kBAAkB,eAAe,mBAAmB,cAAc,iBAAiB,cAAc,mBAAmB,iBAAiB,iBAAiB,iBAAiB,eAAe,eAAe,kBAAkB,eAAe,gBAAgB,aAAa,gBAAgB,mBAAmB,cAAc,iBAAiB,gBAAgB,iBAAiB,kBAAkB,eAAe,eAAe,qBAAqB,oBAAoB,gBAAgB,kBAAkB,eAAe,gBAAgB,iBAAiB,gCAAgC,aAAa,aAAa,aAAa,kBAAkB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,uBAAuB,eAAe,eAAe,eAAe,sBAAsB,gBAAgB,gBAAgB,0BAA0B,yBAAyB,gBAAgB,gBAAgB,UAAU,WAAW,uBAAuB,GAAG,cAAc,eAAe,eAAe,eAAe,iBAAiB,iBAAiB,uBAAuB,mBAAmB,cAAc,uBAAuB,wBAAwB,yBAAyB,iBAAiB,yBAAyB,gBAAgB,gBAAgB,cAAc,cAAc,eAAe,eAAe,gBAAgB,iBAAiB,iBAAiB,0BAA0B,2BAA2B,wBAAwB,yBAAyB,wBAAwB,uBAAuB,gBAAgB,0BAA0B,gBAAgB,gBAAgB,8BAA8B,gBAAgB,8BAA8B,yBAAyB,qBAAqB,2BAA2B,gBAAgB,4BAA4B,sBAAsB,gBAAgB,gBAAgB,gBAAgB,0BAA0B,wBAAwB,2BAA2B,eAAe,+BAA+B,4BAA4B,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,kBAAkB,gBAAgB,gBAAgB,4BAA4B,gBAAgB,gBAAgB,gBAAgB,iBAAiB,eAAe,UAAU,UAAU,sBAAsB,GAAG,eAAe,iBAAiB,gBAAgB,cAAc,kBAAkB,qBAAqB,aAAa,gBAAgB,eAAe,iBAAiB,cAAc,gBAAgB,oBAAoB,kBAAkB,oBAAoB,iBAAiB,iBAAiB,gBAAgB,eAAe,gBAAgB,gBAAgB,UAAU,SAAS,sBAAsB,GAAG,gBAAgB,iBAAiB,cAAc,eAAe,4BAA4B,+BAA+B,cAAc,aAAa,UAAU,SAAS,uBAAuB,GAAG,SAAS,SAAS,uBAAuB,GAAG,aAAa,cAAc,gBAAgB,iBAAiB,iBAAiB,kBAAkB,gBAAgB,mCAAmC,mBAAmB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,mBAAmB,gBAAgB,iBAAiB,UAAU,SAAS,uBAAuB,GAAG,SAAS,aAAa,qBAAqB,GAAG,SAAS,QAAQ,oBAAoB,GAAG,aAAa,wBAAwB,mBAAmB,UAAU,WAAW,sBAAsB,GAAG,cAAc,wBAAwB,eAAe,gBAAgB,gBAAgB,aAAa,cAAc,cAAc,UAAU,UAAU,sBAAsB,GAAG,kBAAkB,UAAU,aAAa,sBAAsB,GAAG,SAAS,UAAU,sBAAsB,GAAG,SAAS,WAAW,uBAAuB,GAAG,SAAS,WAAW,sBAAsB,GAAG,kBAAkB,gBAAgB,gBAAgB,iBAAiB,iBAAiB,eAAe,iBAAiB,iBAAiB,gBAAgB,oBAAoB,iBAAiB,aAAa,UAAU,eAAe,yBAAyB,GAAG,gBAAgB,UAAU,QAAQ,sBAAsB,GAAG,SAAS,QAAQ,sBAAsB,GAAG,SAAS,QAAQ,oBAAoB,GAAG,SAAS,QAAQ,oBAAoB,GAAG,SAAS,SAAS,4BAA4B,GAAG,SAAS,SAAS,4BAA4B,GAAG,SAAS,QAAQ,wDAAwD,iBAAiB,OAAO,SAAS,QAAQ,wDAAwD,iBAAiB,OAAO,iBAAiB,oBAAoB,gBAAgB,cAAc,cAAc,cAAc,kBAAkB,uBAAuB,gBAAgB,gBAAgB,sBAAsB,aAAa,yBAAyB,yBAAyB,aAAa,aAAa,gBAAgB,gBAAgB,wBAAwB,UAAU,WAAW,iCAAiC,GAAG,qBAAqB,sBAAsB,UAAU,SAAS,2BAA2B,GAAG,SAAS,SAAS,6BAA6B,GAAG,cAAc,eAAe,eAAe,eAAe,yBAAyB,2BAA2B,UAAU,WAAW,+BAA+B,GAAG,SAAS,WAAW,+BAA+B,GAAG,gBAAgB,oBAAoB,UAAU,WAAW,gCAAgC,GAAG,SAAS,WAAW,kCAAkC,GAAG,gBAAgB,iBAAiB,UAAU,WAAW,yBAAyB,GAAG,SAAS,WAAW,yBAAyB,GAAG,oBAAoB,sBAAsB,sBAAsB,eAAe,oBAAoB,sBAAsB,qBAAqB,sBAAsB,kBAAkB,mBAAmB,mBAAmB,oBAAoB,mBAAmB,gBAAgB,kBAAkB,cAAc,iBAAiB,yBAAyB,gBAAgB,iBAAiB,gBAAgB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,uBAAuB,wBAAwB,UAAU,uBAAuB,yBAAyB,GAAG,SAAS,wBAAwB,yBAAyB,GAAG,gBAAgB,eAAe,mBAAmB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,kBAAkB,gBAAgB,mBAAmB,iBAAiB,iBAAiB,iBAAiB,eAAe,eAAe,iBAAiB,wBAAwB,iBAAiB,iBAAiB,iBAAiB,yBAAyB,0BAA0B,oBAAoB,mBAAmB,qBAAqB,cAAc,cAAc,cAAc,cAAc,eAAe,eAAe,kBAAkB,gBAAgB,UAAU,QAAQ,oBAAoB,GAAG,SAAS,QAAQ,oBAAoB,GAAG,SAAS,SAAS,uBAAuB,GAAG,SAAS,SAAS,uBAAuB,GAAG,eAAe,gBAAgB,gCAAgC,gCAAgC,+BAA+B,iCAAiC,gBAAgB,gBAAgB,mBAAmB,iBAAiB,gBAAgB,2BAA2B,iBAAiB,gCAAgC,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,UAAU,aAAa,yBAAyB,GAAG,iBAAiB,kBAAkB,UAAU,WAAW,uBAAuB,GAAG,cAAc,eAAe,cAAc,kBAAkB,kBAAkB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,oBAAoB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,eAAe,mBAAmB,mBAAmB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,iBAAiB,mBAAmB,iBAAiB,gBAAgB,iBAAiB,mBAAmB,sBAAsB,qBAAqB,sBAAsB,eAAe,mBAAmB,2BAA2B,2BAA2B,oBAAoB,qBAAqB,mBAAmB,mBAAmB,iBAAiB,qBAAqB,gBAAgB,eAAe,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,eAAe,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,kBAAkB,sBAAsB,+BAA+B,eAAe,iBAAiB,gBAAgB,wBAAwB,wBAAwB,mBAAmB,6BAA6B,eAAe,0BAA0B,4BAA4B,eAAe,4BAA4B,eAAe,cAAc,cAAc,kBAAkB,kBAAkB,gBAAgB,gBAAgB,gBAAgB,2BAA2B,4BAA4B,kBAAkB,eAAe,gBAAgB,kBAAkB,eAAe,kBAAkB,gBAAgB,iBAAiB,sBAAsB,eAAe,eAAe,kBAAkB,gBAAgB,kBAAkB,gBAAgB,eAAe,gBAAgB,6BAA6B,iBAAiB,gBAAgB,oBAAoB,kBAAkB,6BAA6B,6BAA6B,eAAe,eAAe,eAAe,eAAe,gBAAgB,gBAAgB,wBAAwB,yBAAyB,6BAA6B,8BAA8B,+BAA+B,mCAAmC,qBAAqB,mBAAmB,mBAAmB,iBAAiB,iBAAiB,cAAc,gBAAgB,iBAAiB,gBAAgB,kBAAkB,mBAAmB,mBAAmB,qBAAqB,uBAAuB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,kBAAkB,kBAAkB,iBAAiB,iBAAiB,mBAAmB,mBAAmB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,UAAU,WAAW,uBAAuB,GAAG,iBAAiB,eAAe,eAAe,kBAAkB,iBAAiB,kBAAkB,kBAAkB,iBAAiB,kBAAkB,mBAAmB,mBAAmB,mBAAmB,0BAA0B,4BAA4B,8BAA8B,2BAA2B,wBAAwB,yBAAyB,2BAA2B,6BAA6B,4BAA4B,6BAA6B,0BAA0B,4BAA4B,wBAAwB,yBAAyB,2BAA2B,6BAA6B,4BAA4B,6BAA6B,0BAA0B,4BAA4B,eAAe,eAAe,eAAe,eAAe,kBAAkB,kBAAkB,kBAAkB,kBAAkB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,uBAAuB,gBAAgB,kBAAkB,kBAAkB,kBAAkB,iBAAiB,iBAAiB,iBAAiB,kBAAkB,kBAAkB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,gBAAgB,gBAAgB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,kBAAkB,iBAAiB,mBAAmB,eAAe,gBAAgB,kBAAkB,kBAAkB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,mBAAmB,kBAAkB,kBAAkB,kBAAkB,mBAAmB,mBAAmB,gBAAgB,eAAe,eAAe,gBAAgB,kBAAkB,iBAAiB,gBAAgB,gBAAgB,cAAc,cAAc,kBAAkB,eAAe,eAAe,gBAAgB,iBAAiB,gBAAgB,mBAAmB,UAAU,qBAAqB,mCAAmC,GAAG,SAAS,sBAAsB,oCAAoC,GAAG,iBAAiB,mBAAmB,kBAAkB,iBAAiB,mBAAmB,mBAAmB,uBAAuB,sBAAsB,eAAe,kBAAkB,mBAAmB,oBAAoB,mBAAmB,mBAAmB,iBAAiB,mBAAmB,mBAAmB,gBAAgB,mBAAmB,mBAAmB,kBAAkB,mBAAmB,kBAAkB,mBAAmB,mBAAmB,mBAAmB,kBAAkB,iBAAiB,kBAAkB,kBAAkB,iBAAiB,kBAAkB,iBAAiB,iBAAiB,gBAAgB,iBAAiB,mBAAmB,iBAAiB,kBAAkB,kBAAkB,mBAAmB,iBAAiB,eAAe,kBAAkB,mBAAmB,kBAAkB,kBAAkB,gBAAgB,iBAAiB,eAAe,eAAe,iBAAiB,gBAAgB,iBAAiB,iBAAiB,mBAAmB,mBAAmB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,kBAAkB,cAAc,aAAa,iBAAiB,eAAe,kBAAkB,mBAAmB,eAAe,cAAc,eAAe,cAAc,iBAAiB,gBAAgB,iBAAiB,UAAU,aAAa,yBAAyB,GAAG,gBAAgB,iBAAiB,UAAU,SAAS,qBAAqB,GAAG,eAAe,gBAAgB,eAAe,iBAAiB,gBAAgB,kBAAkB,kBAAkB,gBAAgB,gBAAgB,kBAAkB,kBAAkB,UAAU,cAAc,0BAA0B,GAAG,SAAS,cAAc,0BAA0B,GAAG,gBAAgB,iBAAiB,kBAAkB,kBAAkB,mBAAmB,mBAAmB,cAAc,cAAc,cAAc,cAAc,eAAe,eAAe,cAAc,cAAc,gBAAgB,gBAAgB,gBAAgB,gBAAgB,cAAc,cAAc,iBAAiB,iBAAiB,cAAc,cAAc,iBAAiB,iBAAiB,aAAa,aAAa,eAAe,eAAe,gBAAgB,gBAAgB,UAAU,cAAc,kCAAkC,GAAG,SAAS,oBAAoB,wCAAwC,GAAG,aAAa,cAAc,eAAe,eAAe,gBAAgB,gBAAgB,cAAc,cAAc,UAAU,UAAU,wBAAwB,GAAG,SAAS,UAAU,wBAAwB,GAAG,eAAe,UAAU,mBAAmB,iCAAiC,GAAG,SAAS,SAAS,iCAAiC,GAAG,aAAa,cAAc,mBAAmB,eAAe,eAAe,eAAe,sBAAsB,gBAAgB,aAAa,aAAa,iBAAiB,iBAAiB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,UAAU,UAAU,sBAAsB,GAAG,SAAS,UAAU,sBAAsB,GAAG,gBAAgB,iBAAiB,UAAU,WAAW,gCAAgC,GAAG,SAAS,WAAW,gCAAgC,GAAG,cAAc,eAAe,gBAAgB,gBAAgB,iBAAiB,iBAAiB,iBAAiB,iBAAiB,kBAAkB,kBAAkB,gBAAgB,kBAAkB,eAAe,gBAAgB,iBAAiB,eAAe,eAAe,gBAAgB,eAAe,cAAc,eAAe,gBAAgB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,iBAAiB,UAAU,WAAW,wBAAwB,GAAG,aAAa,uDAAuD,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,cAAc,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,OAAO,kBAAkB,gBAAgB,gBAAgB,iBAAiB,iBAAiB,KAAK,EAAC;AAC9q0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTkE;AACL;AACqB;AAClF;AACO;AACP;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AAC5B;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,yEAAyE;AAC3F;AACA;AACA;AACA;AACA,kBAAkB,yEAAyE;AAC3F;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,eAAe,sDAAU;AACzB;AACA,WAAW,qDAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,iDAAiD,iBAAiB;AAClE,mEAAmE,2DAAmB;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,iDAAiD,iBAAiB;AAClE;AACA;AACA,eAAe,sDAAU;AACzB;AACA,eAAe,2DAAe;AAC9B;AACA,eAAe,sDAAU;AACzB;AACA;AACA,mBAAmB,8DAAkB;AACrC;AACA,eAAe,sDAAU;AACzB;AACA;AACA,WAAW,qDAAS;AACpB;AAC0F;AAGf;AAG4G;AACvL;;;;;;;;;AClGA;AACe;AACf;;AAEA;AACA,4BAA4B,gCAAgC;AAC5D;AACA,EAAE;;AAEF;AACA;;AAEO;AACP;AACA;;;;;;;;;;;ACdsD;AACC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAwF,qDAAS;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFAAuF,qEAAa;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sGAAsG;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,qEAAa;AACzC;AACA;AACA;AACA;AACA;AACA,yIAAyI,2DAAgB;AACzJ;AACA,wBAAwB,2DAAgB;AACxC;AACA,4BAA4B,4DAAiB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,KAAK,OAAO,MAAM;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,KAAK,OAAO,MAAM;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wGAAwG,MAAM;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,2BAA2B;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACzeqG;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACf,kBAAkB,yCAAyC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iEAAa,WAAW,iEAAa,GAAG,kEAAc;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA,wBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,uEAAmB;AACjC;AACA;AACA,kBAAkB,uEAAmB;AACrC,kBAAkB,0EAAsB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AC/wBqC;AACA;AACI;AAGS;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,wBAAwB,kDAAU;AAClC,QAAQ,8CAAM;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,wBAAwB,kDAAU;AAClC,eAAe,8CAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,wBAAwB,kDAAU;AAClC,eAAe,8CAAM;AACrB;AACkE;AAClE;AACA;AACA;AACA;AAC8C;AACX;AACA;AACnC,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACO;AACP,WAAW,iDAAO;AAClB;AACqC;AACrC;;;;;ACzEA;;AAEA;AACA,sBAAsB,KAAK,QAAQ,KAAK;AACxC;;AAEA,wGAAwG,EAAE;;AAE1G,+BAA+B,IAAI;;AAEnC;AACA;AACA,KAAK,UAAU,GAAG,EAAE,KAAK,UAAU;AACnC,KAAK,UAAU,GAAG,EAAE,KAAK,GAAG,IAAI,UAAU;AAC1C,KAAK,UAAU,GAAG,EAAE,MAAM,GAAG,OAAO,UAAU,EAAE,IAAI;AACpD,KAAK,UAAU,GAAG,EAAE,SAAS,UAAU,EAAE,IAAI,GAAG,GAAG,OAAO,UAAU,EAAE,IAAI;AAC1E,KAAK,UAAU,GAAG,EAAE,SAAS,UAAU,EAAE,IAAI,GAAG,GAAG,OAAO,UAAU,EAAE,IAAI;AAC1E,KAAK,UAAU,GAAG,EAAE,SAAS,UAAU,EAAE,IAAI,GAAG,GAAG,OAAO,UAAU,EAAE,IAAI;AAC1E,KAAK,UAAU,GAAG,EAAE,SAAS,UAAU,EAAE,IAAI,GAAG,GAAG,OAAO,UAAU,EAAE,IAAI;AAC1E,aAAa,UAAU,EAAE,IAAI,GAAG,GAAG,OAAO,UAAU,EAAE,IAAI;AAC1D,iBAAiB,GAAG;AACpB;;AAEA;AACA,mCAAmC,GAAG,SAAS,GAAG;AAClD,+BAA+B,GAAG;AAClC,+BAA+B,GAAG;;AAElC;AACA;AACA,oBAAoB,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,OAAO,iBAAiB,EAAE,GAAG,EAAE,iBAAiB;;AAE7G,2EAA2E,iBAAiB,EAAE,GAAG,EAAE,iBAAiB;AACpH,2EAA2E,iBAAiB,EAAE,GAAG,EAAE,iBAAiB;;AAEpH,+DAAe,OAAO,EAAC;;;;;;;;;;;;;;ACnCQ;AACK;;AAEpC;AACA;;AAEA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEA,QAAQ,oDAAO,CAAC,oDAAO,EAAE,YAAY;AACrC;;AAEO;AACP;AACA;AACA;;AAEA,QAAQ,oDAAO,CAAC,mDAAU,EAAE,YAAY;AACxC;;AAEO;AACP;AACA;AACA;;AAEA,QAAQ,oDAAO,CAAC,mDAAU,EAAE,YAAY;AACxC;;AAEO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;AC1CA,OAAO,UAAU;;AAEF;AACf;AACA;;;;;;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,mCAAmC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,IAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mBAAmB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB,UAAU;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,cAAc;AAC1B,gBAAgB,cAAc;AAC9B,UAAU,cAAc;AACxB,cAAc,cAAc;AAC5B,WAAW,cAAc;AACzB,YAAY,cAAc;AAC1B,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,UAAU,gBAAgB;AAC1B,cAAc,iBAAiB;AAC/B,aAAa,cAAc;AAC3B,YAAY,cAAc;AAC1B,aAAa,cAAc;AAC3B,WAAW,cAAc;AACzB,aAAa,cAAc;AAC3B,cAAc,iBAAiB;AAC/B,aAAa,cAAc;AAC3B,cAAc,cAAc;AAC5B,gBAAgB,cAAc;AAC9B,eAAe,cAAc;AAC7B,kBAAkB,gBAAgB;AAClC,UAAU,cAAc;AACxB,YAAY,iBAAiB;AAC7B,eAAe,cAAc;AAC7B,aAAa,eAAe;AAC5B,aAAa,eAAe;AAC5B,aAAa,cAAc;AAC3B,aAAa,cAAc;AAC3B,mBAAmB,cAAc;AACjC,gBAAgB,cAAc;AAC9B,cAAc,cAAc;AAC5B,eAAe,cAAc;AAC7B,aAAa,cAAc;AAC3B,YAAY,cAAc;AAC1B,WAAW,cAAc;AACzB,kBAAkB,cAAc;AAChC,cAAc,cAAc;AAC5B,iBAAiB,cAAc;AAC/B,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B,UAAU,eAAe;AACzB,eAAe,cAAc;AAC7B,eAAe,cAAc;AAC7B,iBAAiB,cAAc;AAC/B,cAAc,cAAc;AAC5B,WAAW,cAAc;AACzB,cAAc,cAAc;AAC5B,aAAa,cAAc;AAC3B,YAAY,cAAc;AAC1B,YAAY,cAAc;AAC1B,aAAa,eAAe;AAC5B,YAAY,cAAc;AAC1B,YAAY,kBAAkB;AAC9B,UAAU,cAAc;AACxB,iBAAiB,kBAAkB;AACnC,cAAc,eAAe;AAC7B,YAAY,eAAe;AAC3B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,sDAAsD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mCAAmC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,WAAW;AACjF;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,sDAAsD,WAAW;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,4FAA4F,oBAAoB;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,4DAA4D,WAAW;AACvE,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,WAAW;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,WAAW;AAC3E;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO,uCAAuC;AAC1D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mCAAmC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mCAAmC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4BAA4B;AACpD;AACA,wBAAwB,QAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wCAAwC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,UAAU;AACjC;AACA;AACA;AACA;AACA,uBAAuB,UAAU;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,QAAQ;AACpB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA,oBAAoB,qCAAqC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,eAAe;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4BAA4B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,YAAY,kDAAkD;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,kDAAkD;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kDAAkD;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kDAAkD;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,wCAAwC;AACpD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,kDAAkD;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,+CAA+C;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,UAAU,+CAA+C;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mCAAmC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+CAA+C;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;AACA,4BAA4B,4BAA4B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,4BAA4B;AACxD;AACA;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,gEAAgE;AAC5F;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,uDAAuD;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oDAAoD;AAChE;AACA;AACA,gBAAgB,mCAAmC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mCAAmC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,oCAAoC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,YAAY,mCAAmC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEsE;;;;;;;;;;;;;;;;AC7oRP;AACV;AACa;AACjB;AAC1C;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,+BAA+B,sDAAQ;AACvC,oCAAoC,sEAA4B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,wEAA8B;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAAiG,8DAAS,CAAC,4DAAS;AACpH,yGAAyG,8DAAS,CAAC,4DAAW;AAC9H,sBAAsB,kEAAgB;AACtC,wBAAwB,kEAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mHAAmH;AAC9I;AACA;;;;;;;;;;;;AC5FkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AAC1B;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AAC5C;AACP;AACA;AACA;AACA;AACA,CAAC,wDAAwD;AACzD;AACA;AACA;AACA,oCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,OAAO,2BAA2B,QAAQ,4CAA4C,kBAAkB;AACpI;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,MAAM,2BAA2B,QAAQ,qCAAqC,iBAAiB;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,MAAM,0BAA0B,QAAQ,4CAA4C,iBAAiB;AAChI;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,MAAM,gCAAgC,iBAAiB,cAAc,OAAO;AACvG;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,MAAM;AACtC;AACA;AACA;AACO,qCAAqC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,gDAAS;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iCAAiC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;AChMA;AACO,gBAAgB;AAChB,kBAAkB;AAClB,kBAAkB;AAClB,mBAAmB;AACnB,sBAAsB;AACtB,uBAAuB;AAC9B;;;;;;;;;ACP8C;AACvC;AACP;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oDAAmB;AACjD,kCAAkC,qDAAoB;AACtD;AACA;AACA,qCAAqC,oDAAmB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACxBO;AACA;AACA;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACrB8C;AACiC;AACxE;AACP,qBAAqB,yDAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,2DAAgB;AAC/B;AACA;AACA,oBAAoB,2BAA2B;AAC/C;AACA;AACA,iBAAiB,gDAAe;AAChC;AACA;AACA;AACA,iBAAiB,gDAAe;AAChC;AACA;AACA;AACA;AACA,iBAAiB,iDAAgB;AACjC;AACA;AACA;AACA;AACA,iBAAiB,8CAAa;AAC9B,wCAAwC,qDAAc;AACtD,4EAA4E,EAAE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC9CA,+DAAe,my7CAAmy7C;;;;;ACAlz7C,+DAAe,wl5BAAwl5B;;;;;;;;;;;;;ACAti5B;AAChC;AACM,CAAC;;AAExC;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,CAAC;;AAEM,iCAAiC,SAAS,IAAI;AACrD;AACA,SAAS,4DAAe,OAAO,wDAAW,uBAAuB,QAAQ;AACzE,GAAG;AACH,MAAM,gEAAc;AACpB;AACA;;AAEA;AACA;AACA;;AAEO,oCAAoC,SAAS,IAAI;AACxD;AACA,iBAAiB,4DAAe,OAAO,wDAAW,uBAAuB,QAAQ;;AAEjF;AACA;AACA;;AAEA;AACA,GAAG;AACH,MAAM,gEAAc;AACpB;AACA;;AAEA;AACA;AACA;;AAEO,iCAAiC,6EAA6E,IAAI;AACzH;AACA;AACA;;AAEA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA,uBAAuB,4DAAe,wBAAwB,2IAA2I,GAAG;;AAE5M,iBAAiB,qDAAQ;AACzB,YAAY,aAAa;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL,SAAS,gEAAc;AACvB;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;ACxEe;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTuD;AACV;AACiB;AACnB;AACU;AACD;AACF;AACK;AACZ;AAE3C,IAAI,CAAC3F,KAAKC,SAAS,EAAE;IACpB,yCAAyC;IACzCD,KAAKC,SAAS,GAAG,CAAC;AACnB;AACAD,KAAKC,SAAS,CAAC8F,MAAM,GAAG;IACvBC,MAAM;QACLpG,gBAAAA,2DAAcA;QACdkG,aAAAA,qDAAWA;QACXD,YAAAA,iEAAUA;IACX;IACApH,KAAK;QACJrB,WAAAA,qDAASA;QACTqI,WAAAA,qDAASA;IACV;IACAQ,SAAS;QACRnI,YAAAA,sDAAUA;QACVqC,aAAAA,wDAAWA;QACXoB,eAAAA,0DAAaA;QACb5B,WAAAA,oDAASA;QACTZ,gBAAAA,8DAAcA;QACd2G,gBAAAA,6DAAcA;IACf;AACD"} \ No newline at end of file diff --git a/public/$/scramjet.worker.js b/public/$/scramjet.worker.js deleted file mode 100755 index dd382c3..0000000 --- a/public/$/scramjet.worker.js +++ /dev/null @@ -1,2228 +0,0 @@ -(() => { - // webpackBootstrap - 'use strict'; - var __webpack_modules__ = { - './node_modules/@webreflection/idb-map/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - default: function () { - return IDBMap; - } - }); - const { assign } = Object; - - const STORAGE = 'entries'; - const READONLY = 'readonly'; - const READWRITE = 'readwrite'; - - /** - * @typedef {Object} IDBMapOptions - * @prop {'strict' | 'relaxed' | 'default'} [durability] - * @prop {string} [prefix] - */ - - /** @typedef {[IDBValidKey, unknown]} IDBMapEntry */ - - /** @type {IDBMapOptions} */ - const defaultOptions = { durability: 'default', prefix: 'IDBMap' }; - - /** - * @template T - * @param {{ target: IDBRequest }} event - * @returns {T} - */ - const result = ({ target: { result } }) => result; - - class IDBMap extends EventTarget { - // Privates - /** @type {Promise} */ #db; - /** @type {IDBMapOptions} */ #options; - /** @type {string} */ #prefix; - - /** - * @template T - * @param {(store: IDBObjectStore) => IDBRequest} what - * @param {'readonly' | 'readwrite'} how - * @returns {Promise} - */ - async #transaction(what, how) { - const db = await this.#db; - const t = db.transaction(STORAGE, how, this.#options); - return new Promise((onsuccess, onerror) => - assign(what(t.objectStore(STORAGE)), { - onsuccess, - onerror - }) - ); - } - - /** - * @param {string} name - * @param {IDBMapOptions} options - */ - constructor( - name, - { - durability = defaultOptions.durability, - prefix = defaultOptions.prefix - } = defaultOptions - ) { - super(); - this.#prefix = prefix; - this.#options = { durability }; - this.#db = new Promise((resolve, reject) => { - assign(indexedDB.open(`${this.#prefix}/${name}`), { - onupgradeneeded({ - target: { result, transaction } - }) { - if (!result.objectStoreNames.length) - result.createObjectStore(STORAGE); - transaction.oncomplete = () => resolve(result); - }, - onsuccess(event) { - resolve(result(event)); - }, - onerror(event) { - reject(event); - this.dispatchEvent(event); - } - }); - }).then(result => { - const boundDispatch = this.dispatchEvent.bind(this); - for (const key in result) { - if (key.startsWith('on')) - result[key] = boundDispatch; - } - return result; - }); - } - - // EventTarget Forwards - /** - * @param {Event} event - * @returns - */ - dispatchEvent(event) { - const { type, message, isTrusted } = event; - return super.dispatchEvent( - // avoid re-dispatching of the same event - isTrusted ? assign(new Event(type), { message }) : event - ); - } - - // IDBDatabase Forwards - async close() { - (await this.#db).close(); - } - - // Map async API - get size() { - return this.#transaction( - store => store.count(), - READONLY - ).then(result); - } - - async clear() { - await this.#transaction(store => store.clear(), READWRITE); - } - - /** - * @param {IDBValidKey} key - */ - async delete(key) { - await this.#transaction( - store => store.delete(key), - READWRITE - ); - } - - /** - * @returns {Promise} - */ - async entries() { - const keys = await this.keys(); - return Promise.all( - keys.map(key => - this.get(key).then(value => [key, value]) - ) - ); - } - - /** - * @param {(unknown, IDBValidKey, IDBMap) => void} callback - * @param {unknown} [context] - */ - async forEach(callback, context = this) { - for (const [key, value] of await this.entries()) - await callback.call(context, value, key, this); - } - - /** - * @param {IDBValidKey} key - * @returns {Promise} - */ - async get(key) { - const value = await this.#transaction( - store => store.get(key), - READONLY - ).then(result); - return value; - } - - /** - * @param {IDBValidKey} key - */ - async has(key) { - const k = await this.#transaction( - store => store.getKey(key), - READONLY - ).then(result); - return k !== void 0; - } - - async keys() { - const keys = await this.#transaction( - store => store.getAllKeys(), - READONLY - ).then(result); - return keys; - } - - /** - * @param {IDBValidKey} key - * @param {unknown} value - */ - async set(key, value) { - await this.#transaction( - store => store.put(value, key), - READWRITE - ); - return this; - } - - async values() { - const keys = await this.keys(); - return Promise.all(keys.map(key => this.get(key))); - } - - get [Symbol.toStringTag]() { - return this.#prefix; - } - } - }, - './node_modules/clone-regexp/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - default: function () { - return clonedRegexp; - } - }); - /* harmony import */ var is_regexp__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! is-regexp */ './node_modules/is-regexp/index.js' - ); - - const flagMap = { - global: 'g', - ignoreCase: 'i', - multiline: 'm', - dotAll: 's', - sticky: 'y', - unicode: 'u' - }; - - function clonedRegexp(regexp, options = {}) { - if ( - !(0, is_regexp__WEBPACK_IMPORTED_MODULE_0__['default'])( - regexp - ) - ) { - throw new TypeError('Expected a RegExp instance'); - } - - const flags = Object.keys(flagMap) - .map(flag => - ( - typeof options[flag] === 'boolean' - ? options[flag] - : regexp[flag] - ) - ? flagMap[flag] - : '' - ) - .join(''); - - const clonedRegexp = new RegExp( - options.source || regexp.source, - flags - ); - - clonedRegexp.lastIndex = - typeof options.lastIndex === 'number' - ? options.lastIndex - : regexp.lastIndex; - - return clonedRegexp; - } - }, - './node_modules/function-timeout/browser.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - default: function () { - return functionTimeout; - }, - isTimeoutError: function () { - return isTimeoutError; - } - }); - // Even though the browser version is a no-op, we wrap it to ensure consistent behavior. - function functionTimeout(function_) { - const wrappedFunction = (...arguments_) => - function_(...arguments_); - - Object.defineProperty(wrappedFunction, 'name', { - value: `functionTimeout(${function_.name || ''})`, - configurable: true - }); - - return wrappedFunction; - } - - function isTimeoutError() { - return false; - } - }, - './node_modules/ip-regex/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - const word = '[a-fA-F\\d:]'; - - const boundry = options => - options && options.includeBoundaries - ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` - : ''; - - const v4 = - '(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}'; - - const v6segment = '[a-fA-F\\d]{1,4}'; - - const v6 = ` -(?: -(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8 -(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4 -(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4 -(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4 -(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4 -(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4 -(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4 -(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4 -)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1 -` - .replace(/\s*\/\/.*$/gm, '') - .replace(/\n/g, '') - .trim(); - - // Pre-compile only the exact regexes because adding a global flag make regexes stateful - const v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`); - const v4exact = new RegExp(`^${v4}$`); - const v6exact = new RegExp(`^${v6}$`); - - const ipRegex = options => - options && options.exact - ? v46Exact - : new RegExp( - `(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, - 'g' - ); - - ipRegex.v4 = options => - options && options.exact - ? v4exact - : new RegExp( - `${boundry(options)}${v4}${boundry(options)}`, - 'g' - ); - ipRegex.v6 = options => - options && options.exact - ? v6exact - : new RegExp( - `${boundry(options)}${v6}${boundry(options)}`, - 'g' - ); - - /* harmony default export */ __webpack_exports__['default'] = - ipRegex; - }, - './node_modules/is-ip/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - ipVersion: function () { - return ipVersion; - }, - isIP: function () { - return isIP; - }, - isIPv4: function () { - return isIPv4; - }, - isIPv6: function () { - return isIPv6; - } - }); - /* harmony import */ var ip_regex__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ip-regex */ './node_modules/ip-regex/index.js' - ); - /* harmony import */ var super_regex__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! super-regex */ './node_modules/super-regex/index.js' - ); - - const maxIPv4Length = 15; - const maxIPv6Length = 45; - - const options = { - timeout: 400 - }; - - function isIP(string) { - if (string.length > maxIPv6Length) { - return false; - } - - return (0, super_regex__WEBPACK_IMPORTED_MODULE_1__.isMatch)( - (0, ip_regex__WEBPACK_IMPORTED_MODULE_0__['default'])({ - exact: true - }), - string, - options - ); - } - - function isIPv6(string) { - if (string.length > maxIPv6Length) { - return false; - } - - return (0, super_regex__WEBPACK_IMPORTED_MODULE_1__.isMatch)( - ip_regex__WEBPACK_IMPORTED_MODULE_0__['default'].v6({ - exact: true - }), - string, - options - ); - } - - function isIPv4(string) { - if (string.length > maxIPv4Length) { - return false; - } - - return (0, super_regex__WEBPACK_IMPORTED_MODULE_1__.isMatch)( - ip_regex__WEBPACK_IMPORTED_MODULE_0__['default'].v4({ - exact: true - }), - string, - options - ); - } - - function ipVersion(string) { - if (isIPv6(string)) { - return 6; - } - - if (isIPv4(string)) { - return 4; - } - } - }, - './node_modules/is-regexp/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - default: function () { - return isRegexp; - } - }); - const { toString } = Object.prototype; - - function isRegexp(value) { - return toString.call(value) === '[object RegExp]'; - } - }, - './node_modules/parse-domain/build/parse-domain.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - ParseResultType: function () { - return ParseResultType; - }, - RESERVED_TOP_LEVEL_DOMAINS: function () { - return RESERVED_TOP_LEVEL_DOMAINS; - }, - parseDomain: function () { - return parseDomain; - } - }); - /* harmony import */ var _serialized_tries_js__WEBPACK_IMPORTED_MODULE_2__ = - __webpack_require__( - /*! ./serialized-tries.js */ './node_modules/parse-domain/serialized-tries/icann.js' - ); - /* harmony import */ var _serialized_tries_js__WEBPACK_IMPORTED_MODULE_3__ = - __webpack_require__( - /*! ./serialized-tries.js */ './node_modules/parse-domain/serialized-tries/private.js' - ); - /* harmony import */ var _trie_look_up_js__WEBPACK_IMPORTED_MODULE_4__ = - __webpack_require__( - /*! ./trie/look-up.js */ './node_modules/parse-domain/build/trie/look-up.js' - ); - /* harmony import */ var _sanitize_js__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./sanitize.js */ './node_modules/parse-domain/build/sanitize.js' - ); - /* harmony import */ var _trie_parse_trie_js__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! ./trie/parse-trie.js */ './node_modules/parse-domain/build/trie/parse-trie.js' - ); - - const RESERVED_TOP_LEVEL_DOMAINS = [ - 'localhost', - 'local', - 'example', - 'invalid', - 'test' - ]; - var ParseResultType; - (function (ParseResultType) { - /** - * This parse result is returned in case the given hostname does not adhere to [RFC 1034](https://tools.ietf.org/html/rfc1034). - */ - ParseResultType['Invalid'] = 'INVALID'; - /** - * This parse result is returned if the given hostname was an IPv4 or IPv6. - */ - ParseResultType['Ip'] = 'IP'; - /** - * This parse result is returned when the given hostname - * - is the root domain (the empty string `""`) - * - belongs to the top-level domain `localhost`, `local`, `example`, `invalid` or `test` - */ - ParseResultType['Reserved'] = 'RESERVED'; - /** - * This parse result is returned when the given hostname is valid and does not belong to a reserved top-level domain, but is not listed in the public suffix list. - */ - ParseResultType['NotListed'] = 'NOT_LISTED'; - /** - * This parse result is returned when the given hostname belongs to a top-level domain that is listed in the public suffix list. - */ - ParseResultType['Listed'] = 'LISTED'; - })(ParseResultType || (ParseResultType = {})); - const getAtIndex = (array, index) => { - return index >= 0 && index < array.length - ? array[index] - : undefined; - }; - const splitLabelsIntoDomains = (labels, index) => { - return { - subDomains: labels.slice(0, Math.max(0, index)), - domain: getAtIndex(labels, index), - topLevelDomains: labels.slice(index + 1) - }; - }; - let parsedIcannTrie; - let parsedPrivateTrie; - /** - * Splits the given hostname in topLevelDomains, a domain and subDomains. - */ - const parseDomain = (hostname, options) => { - const sanitizationResult = (0, - _sanitize_js__WEBPACK_IMPORTED_MODULE_0__.sanitize)( - hostname, - options - ); - if ( - sanitizationResult.type === - _sanitize_js__WEBPACK_IMPORTED_MODULE_0__ - .SanitizationResultType.Error - ) { - return { - type: ParseResultType.Invalid, - hostname, - errors: sanitizationResult.errors - }; - } - if ( - sanitizationResult.type === - _sanitize_js__WEBPACK_IMPORTED_MODULE_0__ - .SanitizationResultType.ValidIp - ) { - return { - type: ParseResultType.Ip, - hostname: sanitizationResult.ip, - ipVersion: sanitizationResult.ipVersion - }; - } - const { labels, domain } = sanitizationResult; - if ( - hostname === '' || - RESERVED_TOP_LEVEL_DOMAINS.includes( - labels[labels.length - 1] - ) - ) { - return { - type: ParseResultType.Reserved, - hostname: domain, - labels - }; - } - // Parse the serialized trie lazily - parsedIcannTrie = - parsedIcannTrie !== null && parsedIcannTrie !== void 0 - ? parsedIcannTrie - : (0, - _trie_parse_trie_js__WEBPACK_IMPORTED_MODULE_1__.parseTrie)( - _serialized_tries_js__WEBPACK_IMPORTED_MODULE_2__[ - 'default' - ] - ); - parsedPrivateTrie = - parsedPrivateTrie !== null && parsedPrivateTrie !== void 0 - ? parsedPrivateTrie - : (0, - _trie_parse_trie_js__WEBPACK_IMPORTED_MODULE_1__.parseTrie)( - _serialized_tries_js__WEBPACK_IMPORTED_MODULE_3__[ - 'default' - ] - ); - const icannTlds = (0, - _trie_look_up_js__WEBPACK_IMPORTED_MODULE_4__.lookUpTldsInTrie)( - labels, - parsedIcannTrie - ); - const privateTlds = (0, - _trie_look_up_js__WEBPACK_IMPORTED_MODULE_4__.lookUpTldsInTrie)( - labels, - parsedPrivateTrie - ); - if (icannTlds.length === 0 && privateTlds.length === 0) { - return { - type: ParseResultType.NotListed, - hostname: domain, - labels - }; - } - const indexOfPublicSuffixDomain = - labels.length - - Math.max(privateTlds.length, icannTlds.length) - - 1; - const indexOfIcannDomain = labels.length - icannTlds.length - 1; - return Object.assign( - { - type: ParseResultType.Listed, - hostname: domain, - labels, - icann: splitLabelsIntoDomains( - labels, - indexOfIcannDomain - ) - }, - splitLabelsIntoDomains(labels, indexOfPublicSuffixDomain) - ); - }; - //# sourceMappingURL=parse-domain.js.map - }, - './node_modules/parse-domain/build/sanitize.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - SanitizationResultType: function () { - return SanitizationResultType; - }, - Validation: function () { - return Validation; - }, - ValidationErrorType: function () { - return ValidationErrorType; - }, - sanitize: function () { - return sanitize; - } - }); - /* harmony import */ var is_ip__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! is-ip */ './node_modules/is-ip/index.js' - ); - - // See https://en.wikipedia.org/wiki/Domain_name - // See https://tools.ietf.org/html/rfc1034 - const LABEL_SEPARATOR = '.'; - const LABEL_LENGTH_MIN = 1; - const LABEL_LENGTH_MAX = 63; - /** - * 255 octets - 2 octets if you remove the last dot - * @see https://devblogs.microsoft.com/oldnewthing/20120412-00/?p=7873 - */ - const DOMAIN_LENGTH_MAX = 253; - const textEncoder = new TextEncoder(); - var Validation; - (function (Validation) { - /** - * Allows any octets as labels - * but still restricts the length of labels and the overall domain. - * - * @see https://www.rfc-editor.org/rfc/rfc2181#section-11 - **/ - Validation['Lax'] = 'LAX'; - /** - * Only allows ASCII letters, digits and hyphens (aka LDH), - * forbids hyphens at the beginning or end of a label - * and requires top-level domain names not to be all-numeric. - * - * This is the default if no validation is configured. - * - * @see https://datatracker.ietf.org/doc/html/rfc3696#section-2 - */ - Validation['Strict'] = 'STRICT'; - })(Validation || (Validation = {})); - var ValidationErrorType; - (function (ValidationErrorType) { - ValidationErrorType['NoHostname'] = 'NO_HOSTNAME'; - ValidationErrorType['DomainMaxLength'] = 'DOMAIN_MAX_LENGTH'; - ValidationErrorType['LabelMinLength'] = 'LABEL_MIN_LENGTH'; - ValidationErrorType['LabelMaxLength'] = 'LABEL_MAX_LENGTH'; - ValidationErrorType['LabelInvalidCharacter'] = - 'LABEL_INVALID_CHARACTER'; - ValidationErrorType['LastLabelInvalid'] = 'LAST_LABEL_INVALID'; - })(ValidationErrorType || (ValidationErrorType = {})); - var SanitizationResultType; - (function (SanitizationResultType) { - SanitizationResultType['ValidIp'] = 'VALID_IP'; - SanitizationResultType['ValidDomain'] = 'VALID_DOMAIN'; - SanitizationResultType['Error'] = 'ERROR'; - })(SanitizationResultType || (SanitizationResultType = {})); - const createNoHostnameError = input => { - return { - type: ValidationErrorType.NoHostname, - message: `The given input ${String(input)} does not look like a hostname.`, - column: 1 - }; - }; - const createDomainMaxLengthError = (domain, length) => { - return { - type: ValidationErrorType.DomainMaxLength, - message: `Domain "${domain}" is too long. Domain is ${length} octets long but should not be longer than ${DOMAIN_LENGTH_MAX}.`, - column: length - }; - }; - const createLabelMinLengthError = (label, column) => { - const length = label.length; - return { - type: ValidationErrorType.LabelMinLength, - message: `Label "${label}" is too short. Label is ${length} octets long but should be at least ${LABEL_LENGTH_MIN}.`, - column - }; - }; - const createLabelMaxLengthError = (label, column) => { - const length = label.length; - return { - type: ValidationErrorType.LabelMaxLength, - message: `Label "${label}" is too long. Label is ${length} octets long but should not be longer than ${LABEL_LENGTH_MAX}.`, - column - }; - }; - const createLabelInvalidCharacterError = ( - label, - invalidCharacter, - column - ) => { - return { - type: ValidationErrorType.LabelInvalidCharacter, - message: `Label "${label}" contains invalid character "${invalidCharacter}" at column ${column}.`, - column - }; - }; - const createLastLabelInvalidError = (label, column) => { - return { - type: ValidationErrorType.LabelInvalidCharacter, - message: `Last label "${label}" must not be all-numeric.`, - column - }; - }; - const sanitize = (input, options = {}) => { - // Extra check for non-TypeScript users - if (typeof input !== 'string') { - return { - type: SanitizationResultType.Error, - errors: [createNoHostnameError(input)] - }; - } - if (input === '') { - return { - type: SanitizationResultType.ValidDomain, - domain: input, - labels: [] - }; - } - // IPv6 addresses are surrounded by square brackets in URLs - // See https://tools.ietf.org/html/rfc3986#section-3.2.2 - const inputTrimmedAsIp = input.replace(/^\[|]$/g, ''); - const ipVersionOfInput = (0, - is_ip__WEBPACK_IMPORTED_MODULE_0__.ipVersion)(inputTrimmedAsIp); - if (ipVersionOfInput !== undefined) { - return { - type: SanitizationResultType.ValidIp, - ip: inputTrimmedAsIp, - ipVersion: ipVersionOfInput - }; - } - const lastChar = input.charAt(input.length - 1); - const canonicalInput = - lastChar === LABEL_SEPARATOR ? input.slice(0, -1) : input; - const octets = new TextEncoder().encode(canonicalInput); - if (octets.length > DOMAIN_LENGTH_MAX) { - return { - type: SanitizationResultType.Error, - errors: [ - createDomainMaxLengthError(input, octets.length) - ] - }; - } - const labels = canonicalInput.split(LABEL_SEPARATOR); - const { validation = Validation.Strict } = options; - const labelValidationErrors = - validateLabels[validation](labels); - if (labelValidationErrors.length > 0) { - return { - type: SanitizationResultType.Error, - errors: labelValidationErrors - }; - } - return { - type: SanitizationResultType.ValidDomain, - domain: input, - labels - }; - }; - const validateLabels = { - [Validation.Lax]: labels => { - const labelValidationErrors = []; - let column = 1; - for (const label of labels) { - const octets = textEncoder.encode(label); - if (octets.length < LABEL_LENGTH_MIN) { - labelValidationErrors.push( - createLabelMinLengthError(label, column) - ); - } else if (octets.length > LABEL_LENGTH_MAX) { - labelValidationErrors.push( - createLabelMaxLengthError(label, column) - ); - } - column += label.length + LABEL_SEPARATOR.length; - } - return labelValidationErrors; - }, - [Validation.Strict]: labels => { - const labelValidationErrors = []; - let column = 1; - let lastLabel; - for (const label of labels) { - // According to https://tools.ietf.org/html/rfc6761 labels should - // only contain ASCII letters, digits and hyphens (LDH). - const invalidCharacter = /[^\da-z-]/i.exec(label); - if (invalidCharacter) { - labelValidationErrors.push( - createLabelInvalidCharacterError( - label, - invalidCharacter[0], - invalidCharacter.index + 1 - ) - ); - } - if (label.startsWith('-')) { - labelValidationErrors.push( - createLabelInvalidCharacterError( - label, - '-', - column - ) - ); - } else if (label.endsWith('-')) { - labelValidationErrors.push( - createLabelInvalidCharacterError( - label, - '-', - column + label.length - 1 - ) - ); - } - if ( - // We can use .length here to check for the octet size because - // label can only contain ASCII LDH characters at this point. - label.length < LABEL_LENGTH_MIN - ) { - labelValidationErrors.push( - createLabelMinLengthError(label, column) - ); - } else if (label.length > LABEL_LENGTH_MAX) { - labelValidationErrors.push( - createLabelMaxLengthError(label, column) - ); - } - column += label.length + LABEL_SEPARATOR.length; - lastLabel = label; - } - if ( - lastLabel !== undefined && - /[a-z-]/iu.test(lastLabel) === false - ) { - labelValidationErrors.push( - createLastLabelInvalidError( - lastLabel, - column - - lastLabel.length - - LABEL_SEPARATOR.length - ) - ); - } - return labelValidationErrors; - } - }; - //# sourceMappingURL=sanitize.js.map - }, - './node_modules/parse-domain/build/trie/characters.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - DOWN: function () { - return DOWN; - }, - EXCEPTION: function () { - return EXCEPTION; - }, - RESET: function () { - return RESET; - }, - SAME: function () { - return SAME; - }, - UP: function () { - return UP; - }, - WILDCARD: function () { - return WILDCARD; - } - }); - // UP, SAME, DOWN, RESET should not be special regex characters in a character class. - const UP = '<'; // one level up - const SAME = ','; // same level - const DOWN = '>'; // one level down - const RESET = '|'; // reset level index and start new - const WILDCARD = '*'; // as defined by publicsuffix.org - const EXCEPTION = '!'; // as defined by publicsuffix.org - //# sourceMappingURL=characters.js.map - }, - './node_modules/parse-domain/build/trie/look-up.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - lookUpTldsInTrie: function () { - return lookUpTldsInTrie; - } - }); - /* harmony import */ var _characters_js__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./characters.js */ './node_modules/parse-domain/build/trie/characters.js' - ); - - const lookUpTldsInTrie = (labels, trie) => { - const labelsToCheck = labels.slice(); - const tlds = []; - let node = trie; - while (labelsToCheck.length !== 0) { - const label = labelsToCheck.pop(); - const labelLowerCase = label.toLowerCase(); - if ( - node.children.has( - _characters_js__WEBPACK_IMPORTED_MODULE_0__.WILDCARD - ) - ) { - if ( - node.children.has( - _characters_js__WEBPACK_IMPORTED_MODULE_0__.EXCEPTION + - labelLowerCase - ) - ) { - break; - } - node = node.children.get( - _characters_js__WEBPACK_IMPORTED_MODULE_0__.WILDCARD - ); - } else { - if (node.children.has(labelLowerCase) === false) { - break; - } - node = node.children.get(labelLowerCase); - } - tlds.unshift(label); - } - return tlds; - }; - //# sourceMappingURL=look-up.js.map - }, - './node_modules/parse-domain/build/trie/nodes.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - NODE_TYPE_CHILD: function () { - return NODE_TYPE_CHILD; - }, - NODE_TYPE_ROOT: function () { - return NODE_TYPE_ROOT; - }, - createOrGetChild: function () { - return createOrGetChild; - }, - createRootNode: function () { - return createRootNode; - } - }); - const NODE_TYPE_ROOT = Symbol('ROOT'); - const NODE_TYPE_CHILD = Symbol('CHILD'); - const createRootNode = () => { - return { - type: NODE_TYPE_ROOT, - children: new Map() - }; - }; - const createOrGetChild = (parent, label) => { - let child = parent.children.get(label); - if (child === undefined) { - child = { - type: NODE_TYPE_CHILD, - label, - children: new Map(), - parent - }; - parent.children.set(label, child); - } - return child; - }; - //# sourceMappingURL=nodes.js.map - }, - './node_modules/parse-domain/build/trie/parse-trie.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - parseTrie: function () { - return parseTrie; - } - }); - /* harmony import */ var _characters_js__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! ./characters.js */ './node_modules/parse-domain/build/trie/characters.js' - ); - /* harmony import */ var _nodes_js__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! ./nodes.js */ './node_modules/parse-domain/build/trie/nodes.js' - ); - - const parseTrie = serializedTrie => { - const rootNode = (0, - _nodes_js__WEBPACK_IMPORTED_MODULE_0__.createRootNode)(); - let domain = ''; - let parentNode = rootNode; - // Type assertion necessary here due to a TypeScript unsoundness - // https://github.com/microsoft/TypeScript/issues/9998#issuecomment-235963457 - let node = rootNode; - const addDomain = () => { - node = (0, - _nodes_js__WEBPACK_IMPORTED_MODULE_0__.createOrGetChild)( - parentNode, - domain - ); - domain = ''; - }; - for (let i = 0; i < serializedTrie.length; i++) { - const char = serializedTrie.charAt(i); - switch (char) { - case _characters_js__WEBPACK_IMPORTED_MODULE_1__.SAME: { - addDomain(); - continue; - } - case _characters_js__WEBPACK_IMPORTED_MODULE_1__.DOWN: { - addDomain(); - parentNode = node; - continue; - } - case _characters_js__WEBPACK_IMPORTED_MODULE_1__.RESET: { - addDomain(); - parentNode = rootNode; - continue; - } - case _characters_js__WEBPACK_IMPORTED_MODULE_1__.UP: { - if ( - parentNode.type === - _nodes_js__WEBPACK_IMPORTED_MODULE_0__.NODE_TYPE_ROOT - ) { - throw new Error( - `Error in serialized trie at position ${i}: Cannot go up, current parent node is already root` - ); - } - addDomain(); - parentNode = parentNode.parent; - continue; - } - } - domain += char; - } - if (domain !== '') { - addDomain(); - } - return rootNode; - }; - //# sourceMappingURL=parse-trie.js.map - }, - './node_modules/parse-domain/serialized-tries/icann.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - /* harmony default export */ __webpack_exports__['default'] = - 'ac>com,edu,gov,net,mil,orgnomco,net,org,sch,ac,gov,milaccident-investigation,accident-prevention,aerobatic,aeroclub,aerodrome,agents,aircraft,airline,airport,air-surveillance,airtraffic,air-traffic-control,ambulance,amusement,association,author,ballooning,broker,caa,cargo,catering,certification,championship,charter,civilaviation,club,conference,consultant,consulting,control,council,crew,design,dgca,educator,emergency,engine,engineer,entertainment,equipment,exchange,express,federation,flight,fuel,gliding,government,groundhandling,group,hanggliding,homebuilt,insurance,journal,journalist,leasing,logistics,magazine,maintenance,media,microlight,modelling,navigation,parachuting,paragliding,passenger-association,pilot,press,production,recreation,repbody,res,research,rotorcraft,safety,scientist,services,show,skydiving,software,student,trader,trading,trainer,union,workinggroup,worksgov,com,org,net,educom,org,net,co,nomoff,com,net,orgcom,edu,gov,mil,net,orgco,com,commune,net,orged,gv,og,co,pb,itbet,com,coop,edu,gob,gov,int,mil,musica,mutual,net,org,senasa,ture164,in-addr,ip6,iris,uri,urngovac>sthcom,net,org,edu>act,catholic,nsw>schoolsqld,sa,tas,vic,wacomcom,net,int,gov,org,edu,info,pp,mil,name,pro,bizcom,edu,gov,mil,net,orgbiz,co,com,edu,gov,info,net,org,store,tv*acgova,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,0,1,2,3,4,5,6,7,8,9com,edu,net,org,govco,com,edu,or,orgafrica,agro,architectes,assur,avocats,co,com,eco,econo,edu,info,loisirs,money,net,org,ote,resto,restaurant,tourism,univcom,edu,gov,net,orgcom,edu,gov,net,orgcom,edu,gob,int,org,net,mil,tv,web,academia,agro,arte,blog,bolivia,ciencia,cooperativa,democracia,deporte,ecologia,economia,empresa,indigena,industria,info,medicina,movimiento,musica,natural,nombre,noticias,patria,politica,profesional,plurinacional,pueblo,revista,salud,tecnologia,tksat,transporte,wiki
      9guacu,abc,adm,adv,agr,aju,am,anani,aparecida,app,arq,art,ato,b,barueri,belem,bhz,bib,bio,blog,bmd,boavista,bsb,campinagrande,campinas,caxias,cim,cng,cnt,com,contagem,coop,coz,cri,cuiaba,curitiba,def,des,det,dev,ecn,eco,edu,emp,enf,eng,esp,etc,eti,far,feira,flog,floripa,fm,fnd,fortal,fot,foz,fst,g12,geo,ggf,goiania,gov>ac,al,am,ap,ba,ce,df,es,go,ma,mg,ms,mt,pa,pb,pe,pi,pr,rj,rn,ro,rr,rs,sc,se,sp,to*com,net,org,edu,govcom,edu,gov,net,orgco,orggov,mil,com,ofcom,net,org,edu,govab,bc,mb,nb,nf,nl,ns,nt,nu,on,pe,qc,sk,yk,gcgovorg,or,com,co,edu,ed,ac,net,go,asso,xn--aroport-bya,int,presse,md,gouv*,!wwwco,gob,gov,milco,com,gov,netac,com,edu,gov,net,org,mil,xn--55qx5d,xn--io0a7i,xn--od0alg,ah,bj,cq,fj,gd,gs,gz,gx,ha,hb,he,hi,hl,hn,jl,js,jx,ln,nm,nx,qh,sc,sd,sh,sn,sx,tj,xj,xz,yn,zj,hk,mo,twarts,com,edu,firm,gov,info,int,mil,net,nom,org,rec,webac,co,ed,fi,go,or,sacom,edu,org,net,gov,infcom,edu,int,nome,orgcom,edu,net,orggovac,biz,com,ekloges,gov,ltd,mil,net,org,press,pro,tmcom,net,org,edu,govart,com,edu,gob,gov,mil,net,org,sld,webart,asso,com,edu,gov,org,net,pol,soc,tmcom,info,net,fin,k12,med,pro,org,edu,gov,gob,miledu,gov,riik,lib,med,com,pri,aip,org,fiecom,edu,eun,gov,mil,name,net,org,sci*com,nom,org,gob,educom,gov,org,edu,biz,name,info,netalandac,biz,com,gov,info,mil,name,net,org,pro*com,edu,net,orgasso,com,gouv,nom,prd,tm,avoues,cci,greta,huissier-justiceedu,govcom,edu,gov,org,mil,net,pvtco,net,orgcom,edu,gov,org,milcom,ltd,gov,mod,edu,orgco,com,edu,net,orgac,com,edu,gov,org,netcom,net,mobi,edu,org,assocom,edu,net,org,govcom,edu,gob,ind,mil,net,orgcom,edu,gov,guam,info,net,org,webco,com,edu,gov,net,orgcom,edu,gov,idv,net,org,xn--55qx5d,xn--wcvs22d,xn--lcvr32d,xn--mxtq1m,xn--gmqw5a,xn--ciqpn,xn--gmq050i,xn--zf0avx,xn--io0a7i,xn--mk0axi,xn--od0alg,xn--od0aq3b,xn--tn0ag,xn--uc0atv,xn--uc0ay4acom,edu,org,net,mil,gob
      iz,from,name,comcom,shop,firm,info,adult,net,pro,org,med,art,coop,pol,asso,edu,rel,gouv,persoco,info,org,priv,sport,tm,2000,agrar,bolt,casino,city,erotica,erotika,film,forum,games,hotel,ingatlan,jogasz,konyvelo,lakas,media,news,reklam,sex,shop,suli,szex,tozsde,utazas,videoac,biz,co,desa,go,mil,my,net,or,ponpes,sch,webgovac,co,gov,idf,k12,muni,net,orgxn--4dbgdty6c,xn--5dbhl8d,xn--8dbq2a,xn--hebda8bac,co>ltd,plc5g,6g,ac,ai,am,bihar,biz,business,ca,cn,co,com,coop,cs,delhi,dr,edu,er,firm,gen,gov,gujarat,ind,info,int,internet,io,me,mil,net,nic,org,pg,post,pro,res,travel,tv,uk,up,useucomgov,edu,mil,com,org,netac,co,gov,id,net,org,sch,xn--mgba3a4f16a,xn--mgba3a4franet,com,edu,gov,org,intgov,edu,abr,abruzzo,aosta-valley,aostavalley,bas,basilicata,cal,calabria,cam,campania,emilia-romagna,emiliaromagna,emr,friuli-v-giulia,friuli-ve-giulia,friuli-vegiulia,friuli-venezia-giulia,friuli-veneziagiulia,friuli-vgiulia,friuliv-giulia,friulive-giulia,friulivegiulia,friulivenezia-giulia,friuliveneziagiulia,friulivgiulia,fvg,laz,lazio,lig,liguria,lom,lombardia,lombardy,lucania,mar,marche,mol,molise,piedmont,piemonte,pmn,pug,puglia,sar,sardegna,sardinia,sic,sicilia,sicily,taa,tos,toscana,trentin-sud-tirol,xn--trentin-sd-tirol-rzb,trentin-sudtirol,xn--trentin-sdtirol-7vb,trentin-sued-tirol,trentin-suedtirol,trentino-a-adige,trentino-aadige,trentino-alto-adige,trentino-altoadige,trentino-s-tirol,trentino-stirol,trentino-sud-tirol,xn--trentino-sd-tirol-c3b,trentino-sudtirol,xn--trentino-sdtirol-szb,trentino-sued-tirol,trentino-suedtirol,trentino,trentinoa-adige,trentinoaadige,trentinoalto-adige,trentinoaltoadige,trentinos-tirol,trentinostirol,trentinosud-tirol,xn--trentinosd-tirol-rzb,trentinosudtirol,xn--trentinosdtirol-7vb,trentinosued-tirol,trentinosuedtirol,trentinsud-tirol,xn--trentinsd-tirol-6vb,trentinsudtirol,xn--trentinsdtirol-nsb,trentinsued-tirol,trentinsuedtirol,tuscany,umb,umbria,val-d-aosta,val-daosta,vald-aosta,valdaosta,valle-aosta,valle-d-aosta,valle-daosta,valleaosta,valled-aosta,valledaosta,vallee-aoste,xn--valle-aoste-ebb,vallee-d-aoste,xn--valle-d-aoste-ehb,valleeaoste,xn--valleaoste-e7a,valleedaoste,xn--valledaoste-ebb,vao,vda,ven,veneto,ag,agrigento,al,alessandria,alto-adige,altoadige,an,ancona,andria-barletta-trani,andria-trani-barletta,andriabarlettatrani,andriatranibarletta,ao,aosta,aoste,ap,aq,aquila,ar,arezzo,ascoli-piceno,ascolipiceno,asti,at,av,avellino,ba,balsan-sudtirol,xn--balsan-sdtirol-nsb,balsan-suedtirol,balsan,bari,barletta-trani-andria,barlettatraniandria,belluno,benevento,bergamo,bg,bi,biella,bl,bn,bo,bologna,bolzano-altoadige,bolzano,bozen-sudtirol,xn--bozen-sdtirol-2ob,bozen-suedtirol,bozen,br,brescia,brindisi,bs,bt,bulsan-sudtirol,xn--bulsan-sdtirol-nsb,bulsan-suedtirol,bulsan,bz,ca,cagliari,caltanissetta,campidano-medio,campidanomedio,campobasso,carbonia-iglesias,carboniaiglesias,carrara-massa,carraramassa,caserta,catania,catanzaro,cb,ce,cesena-forli,xn--cesena-forl-mcb,cesenaforli,xn--cesenaforl-i8a,ch,chieti,ci,cl,cn,co,como,cosenza,cr,cremona,crotone,cs,ct,cuneo,cz,dell-ogliastra,dellogliastra,en,enna,fc,fe,fermo,ferrara,fg,fi,firenze,florence,fm,foggia,forli-cesena,xn--forl-cesena-fcb,forlicesena,xn--forlcesena-c8a,fr,frosinone,ge,genoa,genova,go,gorizia,gr,grosseto,iglesias-carbonia,iglesiascarbonia,im,imperia,is,isernia,kr,la-spezia,laquila,laspezia,latina,lc,le,lecce,lecco,li,livorno,lo,lodi,lt,lu,lucca,macerata,mantova,massa-carrara,massacarrara,matera,mb,mc,me,medio-campidano,mediocampidano,messina,mi,milan,milano,mn,mo,modena,monza-brianza,monza-e-della-brianza,monza,monzabrianza,monzaebrianza,monzaedellabrianza,ms,mt,na,naples,napoli,no,novara,nu,nuoro,og,ogliastra,olbia-tempio,olbiatempio,or,oristano,ot,pa,padova,padua,palermo,parma,pavia,pc,pd,pe,perugia,pesaro-urbino,pesarourbino,pescara,pg,pi,piacenza,pisa,pistoia,pn,po,pordenone,potenza,pr,prato,pt,pu,pv,pz,ra,ragusa,ravenna,rc,re,reggio-calabria,reggio-emilia,reggiocalabria,reggioemilia,rg,ri,rieti,rimini,rm,rn,ro,roma,rome,rovigo,sa,salerno,sassari,savona,si,siena,siracusa,so,sondrio,sp,sr,ss,suedtirol,xn--sdtirol-n2a,sv,ta,taranto,te,tempio-olbia,tempioolbia,teramo,terni,tn,to,torino,tp,tr,trani-andria-barletta,trani-barletta-andria,traniandriabarletta,tranibarlettaandria,trapani,trento,treviso,trieste,ts,turin,tv,ud,udine,urbino-pesaro,urbinopesaro,va,varese,vb,vc,ve,venezia,venice,verbania,vercelli,verona,vi,vibo-valentia,vibovalentia,vicenza,viterbo,vr,vs,vt,vvco,net,org*com,org,net,edu,sch,gov,mil,nameac,ad,co,ed,go,gr,lg,ne,or,aichi>aisai,ama,anjo,asuke,chiryu,chita,fuso,gamagori,handa,hazu,hekinan,higashiura,ichinomiya,inazawa,inuyama,isshiki,iwakura,kanie,kariya,kasugai,kira,kiyosu,komaki,konan,kota,mihama,miyoshi,nishio,nisshin,obu,oguchi,oharu,okazaki,owariasahi,seto,shikatsu,shinshiro,shitara,tahara,takahama,tobishima,toei,togo,tokai,tokoname,toyoake,toyohashi,toyokawa,toyone,toyota,tsushima,yatomiakita,daisen,fujisato,gojome,hachirogata,happou,higashinaruse,honjo,honjyo,ikawa,kamikoani,kamioka,katagami,kazuno,kitaakita,kosaka,kyowa,misato,mitane,moriyoshi,nikaho,noshiro,odate,oga,ogata,semboku,yokote,yurihonjoaomori,gonohe,hachinohe,hashikami,hiranai,hirosaki,itayanagi,kuroishi,misawa,mutsu,nakadomari,noheji,oirase,owani,rokunohe,sannohe,shichinohe,shingo,takko,towada,tsugaru,tsurutaabiko,asahi,chonan,chosei,choshi,chuo,funabashi,futtsu,hanamigawa,ichihara,ichikawa,ichinomiya,inzai,isumi,kamagaya,kamogawa,kashiwa,katori,katsuura,kimitsu,kisarazu,kozaki,kujukuri,kyonan,matsudo,midori,mihama,minamiboso,mobara,mutsuzawa,nagara,nagareyama,narashino,narita,noda,oamishirasato,omigawa,onjuku,otaki,sakae,sakura,shimofusa,shirako,shiroi,shisui,sodegaura,sosa,tako,tateyama,togane,tohnosho,tomisato,urayasu,yachimata,yachiyo,yokaichiba,yokoshibahikari,yotsukaidoainan,honai,ikata,imabari,iyo,kamijima,kihoku,kumakogen,masaki,matsuno,matsuyama,namikata,niihama,ozu,saijo,seiyo,shikokuchuo,tobe,toon,uchiko,uwajima,yawatahamaechizen,eiheiji,fukui,ikeda,katsuyama,mihama,minamiechizen,obama,ohi,ono,sabae,sakai,takahama,tsuruga,wakasaashiya,buzen,chikugo,chikuho,chikujo,chikushino,chikuzen,chuo,dazaifu,fukuchi,hakata,higashi,hirokawa,hisayama,iizuka,inatsuki,kaho,kasuga,kasuya,kawara,keisen,koga,kurate,kurogi,kurume,minami,miyako,miyama,miyawaka,mizumaki,munakata,nakagawa,nakama,nishi,nogata,ogori,okagaki,okawa,oki,omuta,onga,onojo,oto,saigawa,sasaguri,shingu,shinyoshitomi,shonai,soeda,sue,tachiarai,tagawa,takata,toho,toyotsu,tsuiki,ukiha,umi,usui,yamada,yame,yanagawa,yukuhashiaizubange,aizumisato,aizuwakamatsu,asakawa,bandai,date,fukushima,furudono,futaba,hanawa,higashi,hirata,hirono,iitate,inawashiro,ishikawa,iwaki,izumizaki,kagamiishi,kaneyama,kawamata,kitakata,kitashiobara,koori,koriyama,kunimi,miharu,mishima,namie,nango,nishiaizu,nishigo,okuma,omotego,ono,otama,samegawa,shimogo,shirakawa,showa,soma,sukagawa,taishin,tamakawa,tanagura,tenei,yabuki,yamato,yamatsuri,yanaizu,yugawaanpachi,ena,gifu,ginan,godo,gujo,hashima,hichiso,hida,higashishirakawa,ibigawa,ikeda,kakamigahara,kani,kasahara,kasamatsu,kawaue,kitagata,mino,minokamo,mitake,mizunami,motosu,nakatsugawa,ogaki,sakahogi,seki,sekigahara,shirakawa,tajimi,takayama,tarui,toki,tomika,wanouchi,yamagata,yaotsu,yoroannaka,chiyoda,fujioka,higashiagatsuma,isesaki,itakura,kanna,kanra,katashina,kawaba,kiryu,kusatsu,maebashi,meiwa,midori,minakami,naganohara,nakanojo,nanmoku,numata,oizumi,ora,ota,shibukawa,shimonita,shinto,showa,takasaki,takayama,tamamura,tatebayashi,tomioka,tsukiyono,tsumagoi,ueno,yoshiokaasaminami,daiwa,etajima,fuchu,fukuyama,hatsukaichi,higashihiroshima,hongo,jinsekikogen,kaita,kui,kumano,kure,mihara,miyoshi,naka,onomichi,osakikamijima,otake,saka,sera,seranishi,shinichi,shobara,takeharaabashiri,abira,aibetsu,akabira,akkeshi,asahikawa,ashibetsu,ashoro,assabu,atsuma,bibai,biei,bifuka,bihoro,biratori,chippubetsu,chitose,date,ebetsu,embetsu,eniwa,erimo,esan,esashi,fukagawa,fukushima,furano,furubira,haboro,hakodate,hamatonbetsu,hidaka,higashikagura,higashikawa,hiroo,hokuryu,hokuto,honbetsu,horokanai,horonobe,ikeda,imakane,ishikari,iwamizawa,iwanai,kamifurano,kamikawa,kamishihoro,kamisunagawa,kamoenai,kayabe,kembuchi,kikonai,kimobetsu,kitahiroshima,kitami,kiyosato,koshimizu,kunneppu,kuriyama,kuromatsunai,kushiro,kutchan,kyowa,mashike,matsumae,mikasa,minamifurano,mombetsu,moseushi,mukawa,muroran,naie,nakagawa,nakasatsunai,nakatombetsu,nanae,nanporo,nayoro,nemuro,niikappu,niki,nishiokoppe,noboribetsu,numata,obihiro,obira,oketo,okoppe,otaru,otobe,otofuke,otoineppu,oumu,ozora,pippu,rankoshi,rebun,rikubetsu,rishiri,rishirifuji,saroma,sarufutsu,shakotan,shari,shibecha,shibetsu,shikabe,shikaoi,shimamaki,shimizu,shimokawa,shinshinotsu,shintoku,shiranuka,shiraoi,shiriuchi,sobetsu,sunagawa,taiki,takasu,takikawa,takinoue,teshikaga,tobetsu,tohma,tomakomai,tomari,toya,toyako,toyotomi,toyoura,tsubetsu,tsukigata,urakawa,urausu,uryu,utashinai,wakkanai,wassamu,yakumo,yoichiaioi,akashi,ako,amagasaki,aogaki,asago,ashiya,awaji,fukusaki,goshiki,harima,himeji,ichikawa,inagawa,itami,kakogawa,kamigori,kamikawa,kasai,kasuga,kawanishi,miki,minamiawaji,nishinomiya,nishiwaki,ono,sanda,sannan,sasayama,sayo,shingu,shinonsen,shiso,sumoto,taishi,taka,takarazuka,takasago,takino,tamba,tatsuno,toyooka,yabu,yashiro,yoka,yokawaami,asahi,bando,chikusei,daigo,fujishiro,hitachi,hitachinaka,hitachiomiya,hitachiota,ibaraki,ina,inashiki,itako,iwama,joso,kamisu,kasama,kashima,kasumigaura,koga,miho,mito,moriya,naka,namegata,oarai,ogawa,omitama,ryugasaki,sakai,sakuragawa,shimodate,shimotsuma,shirosato,sowa,suifu,takahagi,tamatsukuri,tokai,tomobe,tone,toride,tsuchiura,tsukuba,uchihara,ushiku,yachiyo,yamagata,yawara,yukianamizu,hakui,hakusan,kaga,kahoku,kanazawa,kawakita,komatsu,nakanoto,nanao,nomi,nonoichi,noto,shika,suzu,tsubata,tsurugi,uchinada,wajimafudai,fujisawa,hanamaki,hiraizumi,hirono,ichinohe,ichinoseki,iwaizumi,iwate,joboji,kamaishi,kanegasaki,karumai,kawai,kitakami,kuji,kunohe,kuzumaki,miyako,mizusawa,morioka,ninohe,noda,ofunato,oshu,otsuchi,rikuzentakata,shiwa,shizukuishi,sumita,tanohata,tono,yahaba,yamadaayagawa,higashikagawa,kanonji,kotohira,manno,marugame,mitoyo,naoshima,sanuki,tadotsu,takamatsu,tonosho,uchinomi,utazu,zentsujiakune,amami,hioki,isa,isen,izumi,kagoshima,kanoya,kawanabe,kinko,kouyama,makurazaki,matsumoto,minamitane,nakatane,nishinoomote,satsumasendai,soo,tarumizu,yusuiaikawa,atsugi,ayase,chigasaki,ebina,fujisawa,hadano,hakone,hiratsuka,isehara,kaisei,kamakura,kiyokawa,matsuda,minamiashigara,miura,nakai,ninomiya,odawara,oi,oiso,sagamihara,samukawa,tsukui,yamakita,yamato,yokosuka,yugawara,zama,zushiaki,geisei,hidaka,higashitsuno,ino,kagami,kami,kitagawa,kochi,mihara,motoyama,muroto,nahari,nakamura,nankoku,nishitosa,niyodogawa,ochi,okawa,otoyo,otsuki,sakawa,sukumo,susaki,tosa,tosashimizu,toyo,tsuno,umaji,yasuda,yusuharaamakusa,arao,aso,choyo,gyokuto,kamiamakusa,kikuchi,kumamoto,mashiki,mifune,minamata,minamioguni,nagasu,nishihara,oguni,ozu,sumoto,takamori,uki,uto,yamaga,yamato,yatsushiroayabe,fukuchiyama,higashiyama,ide,ine,joyo,kameoka,kamo,kita,kizu,kumiyama,kyotamba,kyotanabe,kyotango,maizuru,minami,minamiyamashiro,miyazu,muko,nagaokakyo,nakagyo,nantan,oyamazaki,sakyo,seika,tanabe,uji,ujitawara,wazuka,yamashina,yawataasahi,inabe,ise,kameyama,kawagoe,kiho,kisosaki,kiwa,komono,kumano,kuwana,matsusaka,meiwa,mihama,minamiise,misugi,miyama,nabari,shima,suzuka,tado,taiki,taki,tamaki,toba,tsu,udono,ureshino,watarai,yokkaichifurukawa,higashimatsushima,ishinomaki,iwanuma,kakuda,kami,kawasaki,marumori,matsushima,minamisanriku,misato,murata,natori,ogawara,ohira,onagawa,osaki,rifu,semine,shibata,shichikashuku,shikama,shiogama,shiroishi,tagajo,taiwa,tome,tomiya,wakuya,watari,yamamoto,zaoaya,ebino,gokase,hyuga,kadogawa,kawaminami,kijo,kitagawa,kitakata,kitaura,kobayashi,kunitomi,kushima,mimata,miyakonojo,miyazaki,morotsuka,nichinan,nishimera,nobeoka,saito,shiiba,shintomi,takaharu,takanabe,takazaki,tsunoachi,agematsu,anan,aoki,asahi,azumino,chikuhoku,chikuma,chino,fujimi,hakuba,hara,hiraya,iida,iijima,iiyama,iizuna,ikeda,ikusaka,ina,karuizawa,kawakami,kiso,kisofukushima,kitaaiki,komagane,komoro,matsukawa,matsumoto,miasa,minamiaiki,minamimaki,minamiminowa,minowa,miyada,miyota,mochizuki,nagano,nagawa,nagiso,nakagawa,nakano,nozawaonsen,obuse,ogawa,okaya,omachi,omi,ookuwa,ooshika,otaki,otari,sakae,sakaki,saku,sakuho,shimosuwa,shinanomachi,shiojiri,suwa,suzaka,takagi,takamori,takayama,tateshina,tatsuno,togakushi,togura,tomi,ueda,wada,yamagata,yamanouchi,yasaka,yasuokachijiwa,futsu,goto,hasami,hirado,iki,isahaya,kawatana,kuchinotsu,matsuura,nagasaki,obama,omura,oseto,saikai,sasebo,seihi,shimabara,shinkamigoto,togitsu,tsushima,unzenando,gose,heguri,higashiyoshino,ikaruga,ikoma,kamikitayama,kanmaki,kashiba,kashihara,katsuragi,kawai,kawakami,kawanishi,koryo,kurotaki,mitsue,miyake,nara,nosegawa,oji,ouda,oyodo,sakurai,sango,shimoichi,shimokitayama,shinjo,soni,takatori,tawaramoto,tenkawa,tenri,uda,yamatokoriyama,yamatotakada,yamazoe,yoshinoaga,agano,gosen,itoigawa,izumozaki,joetsu,kamo,kariwa,kashiwazaki,minamiuonuma,mitsuke,muika,murakami,myoko,nagaoka,niigata,ojiya,omi,sado,sanjo,seiro,seirou,sekikawa,shibata,tagami,tainai,tochio,tokamachi,tsubame,tsunan,uonuma,yahiko,yoita,yuzawabeppu,bungoono,bungotakada,hasama,hiji,himeshima,hita,kamitsue,kokonoe,kuju,kunisaki,kusu,oita,saiki,taketa,tsukumi,usa,usuki,yufuakaiwa,asakuchi,bizen,hayashima,ibara,kagamino,kasaoka,kibichuo,kumenan,kurashiki,maniwa,misaki,nagi,niimi,nishiawakura,okayama,satosho,setouchi,shinjo,shoo,soja,takahashi,tamano,tsuyama,wake,yakageaguni,ginowan,ginoza,gushikami,haebaru,higashi,hirara,iheya,ishigaki,ishikawa,itoman,izena,kadena,kin,kitadaito,kitanakagusuku,kumejima,kunigami,minamidaito,motobu,nago,naha,nakagusuku,nakijin,nanjo,nishihara,ogimi,okinawa,onna,shimoji,taketomi,tarama,tokashiki,tomigusuku,tonaki,urasoe,uruma,yaese,yomitan,yonabaru,yonaguni,zamamiabeno,chihayaakasaka,chuo,daito,fujiidera,habikino,hannan,higashiosaka,higashisumiyoshi,higashiyodogawa,hirakata,ibaraki,ikeda,izumi,izumiotsu,izumisano,kadoma,kaizuka,kanan,kashiwara,katano,kawachinagano,kishiwada,kita,kumatori,matsubara,minato,minoh,misaki,moriguchi,neyagawa,nishi,nose,osakasayama,sakai,sayama,sennan,settsu,shijonawate,shimamoto,suita,tadaoka,taishi,tajiri,takaishi,takatsuki,tondabayashi,toyonaka,toyono,yaoariake,arita,fukudomi,genkai,hamatama,hizen,imari,kamimine,kanzaki,karatsu,kashima,kitagata,kitahata,kiyama,kouhoku,kyuragi,nishiarita,ogi,omachi,ouchi,saga,shiroishi,taku,tara,tosu,yoshinogariarakawa,asaka,chichibu,fujimi,fujimino,fukaya,hanno,hanyu,hasuda,hatogaya,hatoyama,hidaka,higashichichibu,higashimatsuyama,honjo,ina,iruma,iwatsuki,kamiizumi,kamikawa,kamisato,kasukabe,kawagoe,kawaguchi,kawajima,kazo,kitamoto,koshigaya,kounosu,kuki,kumagaya,matsubushi,minano,misato,miyashiro,miyoshi,moroyama,nagatoro,namegawa,niiza,ogano,ogawa,ogose,okegawa,omiya,otaki,ranzan,ryokami,saitama,sakado,satte,sayama,shiki,shiraoka,soka,sugito,toda,tokigawa,tokorozawa,tsurugashima,urawa,warabi,yashio,yokoze,yono,yorii,yoshida,yoshikawa,yoshimiaisho,gamo,higashiomi,hikone,koka,konan,kosei,koto,kusatsu,maibara,moriyama,nagahama,nishiazai,notogawa,omihachiman,otsu,ritto,ryuoh,takashima,takatsuki,torahime,toyosato,yasuakagi,ama,gotsu,hamada,higashiizumo,hikawa,hikimi,izumo,kakinoki,masuda,matsue,misato,nishinoshima,ohda,okinoshima,okuizumo,shimane,tamayu,tsuwano,unnan,yakumo,yasugi,yatsukaarai,atami,fuji,fujieda,fujikawa,fujinomiya,fukuroi,gotemba,haibara,hamamatsu,higashiizu,ito,iwata,izu,izunokuni,kakegawa,kannami,kawanehon,kawazu,kikugawa,kosai,makinohara,matsuzaki,minamiizu,mishima,morimachi,nishiizu,numazu,omaezaki,shimada,shimizu,shimoda,shizuoka,susono,yaizu,yoshidaashikaga,bato,haga,ichikai,iwafune,kaminokawa,kanuma,karasuyama,kuroiso,mashiko,mibu,moka,motegi,nasu,nasushiobara,nikko,nishikata,nogi,ohira,ohtawara,oyama,sakura,sano,shimotsuke,shioya,takanezawa,tochigi,tsuga,ujiie,utsunomiya,yaitaaizumi,anan,ichiba,itano,kainan,komatsushima,matsushige,mima,minami,miyoshi,mugi,nakagawa,naruto,sanagochi,shishikui,tokushima,wajikiadachi,akiruno,akishima,aogashima,arakawa,bunkyo,chiyoda,chofu,chuo,edogawa,fuchu,fussa,hachijo,hachioji,hamura,higashikurume,higashimurayama,higashiyamato,hino,hinode,hinohara,inagi,itabashi,katsushika,kita,kiyose,kodaira,koganei,kokubunji,komae,koto,kouzushima,kunitachi,machida,meguro,minato,mitaka,mizuho,musashimurayama,musashino,nakano,nerima,ogasawara,okutama,ome,oshima,ota,setagaya,shibuya,shinagawa,shinjuku,suginami,sumida,tachikawa,taito,tama,toshimachizu,hino,kawahara,koge,kotoura,misasa,nanbu,nichinan,sakaiminato,tottori,wakasa,yazu,yonagoasahi,fuchu,fukumitsu,funahashi,himi,imizu,inami,johana,kamiichi,kurobe,nakaniikawa,namerikawa,nanto,nyuzen,oyabe,taira,takaoka,tateyama,toga,tonami,toyama,unazuki,uozu,yamadaarida,aridagawa,gobo,hashimoto,hidaka,hirogawa,inami,iwade,kainan,kamitonda,katsuragi,kimino,kinokawa,kitayama,koya,koza,kozagawa,kudoyama,kushimoto,mihama,misato,nachikatsuura,shingu,shirahama,taiji,tanabe,wakayama,yuasa,yuraasahi,funagata,higashine,iide,kahoku,kaminoyama,kaneyama,kawanishi,mamurogawa,mikawa,murayama,nagai,nakayama,nanyo,nishikawa,obanazawa,oe,oguni,ohkura,oishida,sagae,sakata,sakegawa,shinjo,shirataka,shonai,takahata,tendo,tozawa,tsuruoka,yamagata,yamanobe,yonezawa,yuzaabu,hagi,hikari,hofu,iwakuni,kudamatsu,mitou,nagato,oshima,shimonoseki,shunan,tabuse,tokuyama,toyota,ube,yuuchuo,doshi,fuefuki,fujikawa,fujikawaguchiko,fujiyoshida,hayakawa,hokuto,ichikawamisato,kai,kofu,koshu,kosuge,minami-alps,minobu,nakamichi,nanbu,narusawa,nirasaki,nishikatsura,oshino,otsuki,showa,tabayama,tsuru,uenohara,yamanakako,yamanashi*,!city*,!city*,!city*,!city*,!city*,!city*,!city<ac,co,go,info,me,mobi,ne,or,scorg,net,com,edu,gov,mil*edu,biz,net,org,gov,info,comorg,nom,gov,prd,tm,edu,mil,ass,com,coop,asso,presse,medecin,notaires,pharmaciens,veterinaire,gouvnet,org,edu,govcom,edu,gov,org,rep,traac,co,es,go,hs,kg,mil,ms,ne,or,pe,re,sc,busan,chungbuk,chungnam,daegu,daejeon,gangwon,gwangju,gyeongbuk,gyeonggi,gyeongnam,incheon,jeju,jeonbuk,jeonnam,seoul,ulsancom,edu,emb,gov,ind,net,orgcom,edu,net,orgorg,edu,net,gov,mil,comint,net,info,edu,gov,per,com,orgcom,edu,gov,net,orgcom,net,co,org,edu,govgov,sch,net,int,com,org,edu,ngo,soc,web,ltd,assn,grp,hotel,accom,edu,gov,org,netac,biz,co,edu,gov,info,net,org,scgovcom,edu,gov,org,mil,id,net,asn,confcom,net,gov,plc,edu,sch,med,org,idco,net,gov,org,ac,presstm,assoco,net,org,edu,ac,gov,its,privorg,nom,gov,prd,tm,edu,mil,com,cocom,org,net,edu,gov,inf,namecom,edu,gouv,gov,net,org,presse*gov,edu,orgcom,net,org,edu,govgovcom,edu,gov,net,orgcom,edu,net,orgcom,net,org,gov,ac,co,oraero,biz,com,coop,edu,gov,info,int,mil,museum,name,net,org,proac,biz,co,com,coop,edu,gov,int,museum,net,orgcom,org,gob,edu,netbiz,com,edu,gov,mil,name,net,orgac,adv,co,edu,gov,mil,net,orginfo,pro,name,school,or,dr,us,mx,ca,in,cc,tv,ws,mobi,co,com,orgasso,nomcom,net,per,rec,web,arts,firm,info,other,storecom,edu,gov,i,mil,mobi,name,net,org,schac,biz,co,com,edu,gob,in,info,int,mil,net,nom,org,webfhs,vgs,fylkesbibl,folkebibl,museum,idrett,priv,mil,stat,dep,kommune,herad,aa>gsgsgsgsgsgsgsgsgsgsgs
        gsgsgsgsgsgsgsgsgsgsbo,xn--b-5gabo,xn--b-5ga,heroy,xn--hery-iraheroy,sandexn--hery-ira,sandenesnesos,valer,xn--vler-qoaossandevalerxn--vler-qoa<*biz,info,gov,edu,org,net,comac,co,cri,geek,gen,govt,health,iwi,kiwi,maori,mil,xn--mori-qsa,net,org,parliament,schoolco,com,edu,gov,med,museum,net,org,proac,gob,com,org,sld,edu,net,ing,abo,med,nomedu,gob,nom,mil,org,com,netcom,org,edu*com,net,org,gov,edu,ngo,mil,icom,net,edu,org,fam,biz,web,gov,gob,gok,gon,gop,gos,infocom,net,org,aid,agro,atm,auto,biz,edu,gmina,gsm,info,mail,miasta,media,mil,nieruchomosci,nom,pc,powiat,priv,realestate,rel,sex,shop,sklep,sos,szkola,targi,tm,tourism,travel,turystyka,gov>ap,griw,ic,is,kmpsp,konsulat,kppsp,kwp,kwpsp,mup,mw,oia,oirm,oke,oow,oschr,oum,pa,pinb,piw,po,pr,psp,psse,pup,rzgw,sa,sdn,sko,so,sr,starostwo,ug,ugim,um,umig,upow,uppo,us,uw,uzs,wif,wiih,winb,wios,witd,wiw,wkz,wsa,wskr,wsse,wuoz,wzmiuw,zp,zpisdngov,co,org,edu,netcom,net,org,gov,edu,isla,pro,biz,info,name,est,prof,acaaa,aca,acct,avocat,bar,cpa,eng,jur,law,med,rechtedu,gov,sec,plo,com,org,netnet,gov,org,edu,int,publ,com,nomeco,ne,or,ed,go,belaucom,coop,edu,gov,mil,net,orgcom,edu,gov,mil,name,net,org,schasso,com,nomarts,com,firm,info,nom,nt,org,rec,store,tm,wwwac,co,edu,gov,in,orgac,co,coop,gov,mil,net,orgcom,net,org,gov,med,pub,edu,schcom,edu,gov,net,orgcom,gov,net,org,educom,net,org,edu,med,tv,gov,infoa,ac,b,bd,brand,c,d,e,f,fh,fhsk,fhv,g,h,i,k,komforb,kommunalforbund,komvux,l,lanbib,m,n,naturbruksgymn,o,org,p,parti,pp,press,r,s,t,tm,u,w,x,y,zcom,net,org,gov,edu,percom,net,gov,org,milcom,net,edu,gov,orgart,com,edu,gouv,org,perso,univcom,edu,gov,me,net,orgbiz,com,edu,gov,me,net,org,schco,com,consulado,edu,embaixada,mil,net,org,principe,saotome,storecom,edu,gob,org,redgovedu,gov,net,mil,com,orgco,ac,orgac,co,go,in,mi,net,orac,biz,co,com,edu,go,gov,int,mil,name,net,nic,org,test,webgovcom,co,org,net,nom,gov,mil,educom,ens,fin,gov,ind,info,intl,mincom,nat,net,org,perso,tourismcom,gov,net,org,edu,milav,bbs,bel,biz,com,dr,edu,gen,gov,info,mil,k12,kep,name,net,org,pol,tel,tsk,tv,web,nc>gov<co,com,org,net,biz,info,pro,int,coop,jobs,mobi,travel,museum,aero,name,gov,eduedu,gov,mil,com,net,org,idv,game,ebiz,club,xn--zf0ao64a,xn--uc0atv,xn--czrw28bac,co,go,hotel,info,me,mil,mobi,ne,or,sc,tvcom,edu,gov,in,net,org,cherkassy,cherkasy,chernigov,chernihiv,chernivtsi,chernovtsy,ck,cn,cr,crimea,cv,dn,dnepropetrovsk,dnipropetrovsk,donetsk,dp,if,ivano-frankivsk,kh,kharkiv,kharkov,kherson,khmelnitskiy,khmelnytskyi,kiev,kirovograd,km,kr,kropyvnytskyi,krym,ks,kv,kyiv,lg,lt,lugansk,luhansk,lutsk,lv,lviv,mk,mykolaiv,nikolaev,od,odesa,odessa,pl,poltava,rivne,rovno,rv,sb,sebastopol,sevastopol,sm,sumy,te,ternopil,uz,uzhgorod,uzhhorod,vinnica,vinnytsia,vn,volyn,yalta,zakarpattia,zaporizhzhe,zaporizhzhia,zhitomir,zhytomyr,zp,ztco,or,ac,sc,go,ne,com,orgac,co,gov,ltd,me,net,nhs,org,plc,police,sch>*<dni,fed,isa,kids,nsn,ak>k12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcck12,cc,libk12,cc,libk12,cc,libcc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12>pvt,chtr,parochk12,cc,libk12,cc,libk12,cc,lib,ann-arbor,cog,dst,eaton,gen,mus,tec,washtenawk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcc,libk12,cc,libcc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcck12,cc,lib<com,edu,gub,mil,net,orgco,com,net,orgcom,net,org,gov,mil,eduarts,bib,co,com,e12,edu,firm,gob,gov,info,int,mil,net,nom,org,rar,rec,store,tec,webco,com,k12,net,orgac,ai,biz,com,edu,gov,health,id,info,int,io,name,net,org,pro,angiang,bacgiang,backan,baclieu,bacninh,baria-vungtau,bentre,binhdinh,binhduong,binhphuoc,binhthuan,camau,cantho,caobang,daklak,daknong,danang,dienbien,dongnai,dongthap,gialai,hagiang,haiduong,haiphong,hanam,hanoi,hatinh,haugiang,hoabinh,hungyen,khanhhoa,kiengiang,kontum,laichau,lamdong,langson,laocai,longan,namdinh,nghean,ninhbinh,ninhthuan,phutho,phuyen,quangbinh,quangnam,quangngai,quangninh,quangtri,soctrang,sonla,tayninh,thaibinh,thainguyen,thanhhoa,thanhphohochiminh,thuathienhue,tiengiang,travinh,tuyenquang,vinhlong,vinhphuc,yenbaicom,edu,net,orgcom,net,org,gov,eduxn--55qx5d,xn--wcvs22d,xn--mxtq1m,xn--gmqw5a,xn--od0alg,xn--uc0atvxn--o1ac,xn--c1avg,xn--90azh,xn--d1at,xn--o1ach,xn--80auxn--12c1fe0br,xn--12co0c3b4eva,xn--h3cuzk1di,xn--o3cyx2a,xn--m3ch0j3a,xn--12cfi8ixb8lcom,edu,gov,net,mil,orgac,agric,alt,co,edu,gov,grondar,law,mil,net,ngo,nic,nis,nom,org,school,tm,webac,biz,co,com,edu,gov,info,mil,net,org,schac,co,gov,mil,org12chars,panel,autocode,lcl>*****user>*<archer,bones,canary,global,hacker,id,janeway,kim,kira,kirk,odo,paris,picard,pike,prerelease,reed,riker,sisko,spock,staging,sulu,tarpit,teams,tucker,wesley,worf*<12chars,blogspot,ibxos,iliadboxos,neen>jcopen>jelastic>cloud<<<16-b,32-b,64-b,123homepage,myspreadshop,syncloud12chars,cloudns,dnstrace>bcicc,inf,ltd,cx,ie,biz,co,pp,v611,oya,rdv,x0,vpnplus,quickconnect>directa2hosted,cpserver,devcdnaccesso>*dev>*<af-south-1>execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointexecute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websiteexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointwebview-assetsvfs<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fipswebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fipsexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fipsexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<**ap-northeast-1>***************<accesspoint>mrap<*<af-south-1>authauthauthauthauthauthauthauthauthauthauthauthauthauthauthauthauthauthauth,auth-fipsauth,auth-fipsauth-fipsauth,auth-fipsauth,auth-fips<**af-south-1,ap-east-1,ap-northeast-1,ap-northeast-2,ap-northeast-3,ap-south-1,ap-southeast-1,ap-southeast-2,ap-southeast-3,ca-central-1,eu-central-1,eu-north-1,eu-south-1,eu-west-1,eu-west-2,eu-west-3,il-central-1,me-south-1,sa-east-1,us-east-1,us-east-2,us-gov-east-1,us-gov-west-1,us-west-1,us-west-2**,oci>***<demo,instance*eu-1,eu-2,eu-3,eu-4,us-1,us-2,us-3,us-4*r>*<paasrag-cloud,rag-cloud-chjcloud,jcloud-ver-jpcdemopaasjed,lon,rydcns>*<appmembers,nodebalancer>*<*ipappseucloudapp>*<customer,caracal,fentiger,lynx,ocelot,oncilla,onza,sphinx,vs,x,yalicloud<4u,nfshost,001www,ddnslive,myiphost,blogsyte,ciscofreak,damnserver,ditchyourip,dnsiskinky,dynns,geekgalaxy,health-carereform,homesecuritymac,homesecuritypc,myactivedirectory,mysecuritycamera,net-freaks,onthewifi,point2this,quicksytes,securitytactics,serveexchange,servehumour,servep2p,servesarcasm,stufftoread,unusualperson,workisboring,3utilities,ddnsking,myvnc,servebeer,servecounterstrike,serveftp,servegame,servehalflife,servehttp,serveirc,servemp3,servepics,servequake,observableusercontent>static*xeneu*appbuilder>***<platform>code-builder-stg>test>001>*<<<<alpha,betaapisitepro*pagesjsu2,u2-localgraphox,cloudns,drud,is-by,land-4-sale,stuff-4-sale,enscaled>phxlib<on-acorn>*app,backyards>*<s>*<uk0dyndnsid*paassekd1cloud-fr1*ap,au,eu,in,jp,sa,usstagemocksys>*<g**devicesapps**dev>cust,reservdcust,reservdcustcust,reservd<activetrail,cloudns,jozi,dyndns,for-better,for-more,for-some,for-the,selfip,webhop,orx,mmafan,myftp,no-ip,dscloudadaptable,beget>*****idprivatelinkaem,hlx,ewp>*<adobeaemcloud,adobeio-static,adobeioruntime,akadns,akamai,akamai-staging,akamaiedge,akamaiedge-staging,akamaihd,akamaihd-staging,akamaiorigin,akamaiorigin-staging,akamaized,akamaized-staging,edgekey,edgekey-staging,edgesuite,edgesuite-staging,alwaysdata,myamaze,cloudfront,t3l3p0rt,appudo,atlassian-dev>prod>cdn<r*umapfreetls,map,prod>a,globala,b,global<fra1-de,west1-usjls-sto1,jls-sto2,jls-sto3paas>fr-1,lon-1,lon-2,ny-1,ny-2,sg-1<jelastic,nordeste-idcjjelastic1,2,3,4,5,6,7,centralus,eastasia,eastus2,westeurope,westus2core>blobwebpaas>**<jelastic>atl,njs,ric<soc,userbetac>*<pagesstorage,websiteaem,hlx,hlx3,translated,codeberg,pdns,plesk,prvcy,rocky,magnetbeep,ecommerce-shop,shoparena,homesklep,sdscloud,unicloud,krasnik,leczna,lubartow,lublin,poniatowa,swidnik,co,torun,simplesite,art,gliwice,krakow,poznan,wroc,zakopane,myspreadshop,gda,gdansk,gdynia,med,sopotairkitapps,mycd,cloudns,dogado>jelastic*barsy,awdev>*compute>*<alces>*altervista,amune>telec,rscorigin>ssl<go,homeal,asso,at,au,be,bg,ca,cd,ch,cn,cy,cz,de,dk,edu,ee,es,fi,fr,gr,hr,hu,ie,il,in,int,is,it,jp,kr,lt,lu,lv,mc,me,mk,mt,my,net,ng,nl,no,nz,paris,pl,pt,q-a,ro,ru,se,si,sk,tr,uk,uscloud,os>appos>app<<s3com>amazonaws>cn-north-1>execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websiteexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint*cn-north-1>**<cn-north-1,cn-northwest-1*<cn-north-1>notebook,studionotebook,studio<<my>*<direct<sagemaker>af-south-1>notebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebooknotebook,studionotebook,studionotebook,studionotebooknotebook,notebook-fips,studionotebook,notebook-fipsnotebook,studionotebooknotebook,studionotebook,studionotebooknotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,notebook-fips,studionotebook,notebook-fips,studionotebook,notebook-fips,studio,studio-fipsnotebook,notebook-fips,studio,studio-fipsnotebook,studionotebook,notebook-fips,studio<private>*<<eero,eero-stage,barsyf5,gitapp,gitpage,blogspotne>aseinet>userisk01>s3s3<rs,usergv>d<0eparty>user<advisor>*rs,blogspotbanzai>*eu*es-1viparuba>eur>it1<cstn,ukukca,uk,usch,de**baremetal>fr-par-1,fr-par-2,nl-ams-1cockpit,fnc>functionsnodespriv,pubcockpit,k8s>nodescockpit,k8s>nodesruns*base,officialbase,hoplix,barsypagesbnr,cofsquare7,blogspot,flow>ae>alp1*,svc>*<<12hp,2ix,4lima,lima-citybplaced,square7,com,cosidns>dyndyn,dyndnsdyn*it>pages<customer*brendly>shopco>bytemark>dh,vmjcustcampaign,service,apiglug,lug,lugs,affinitylottery,raffleentry,weeklylotterycanva>my>*<***drr,feedback,formsuwucarrd,crd,otap>*blogspotididjucom,blogspot,conf,iopsys,123minsida,itcouldbewor,myspreadshop,paba>su<za,gsjweb,cloudns,co>cyclicaus,nzradio,blogspot,neko,nyaaradio,user>*<discoursediscourse,jelasticc66,daplie>localhostsitecloud66,hs,triton>*cloudaccess,freesite,easypanel,fastvps,myfast,tempurl,wpmudev,jele,mircloud,pcloud,halfco,realm,e4,blogspot,metacentrum>cloud>*cloud>flt,usr<<cloudnscloudns,jele,barsycloudns,ftpaccess,game-server,myphotos,scrapping,twmail,csx,fantasyleague,spawn>instances<cloudns,dynamic-dns,dyndns,barrel-of-knowledge,barrell-of-knowledge,for-our,groks-the,groks-this,here-for-more,knowsitall,selfip,webhop,barsy,mayfirst,forumz,nsupdate,dvrcam,ilovecollege,no-ip,dnsupdate,v-infocloudns,x443cnpyco,hosting-cluster,blogspot,gov,khplay,123website,myspreadshop,transurl>*co,blogspot,123hjemmeside,myspreadshopwebhosting,blogspot,interhostsolutions>cloudezproxy<123website,myspreadshop,transurl>*<ac,edu,gov,int,mil,test,eurodir,adygeya,bashkiria,bir,cbg,com,dagestan,grozny,kalmykia,kustanai,marine,mordovia,msk,mytis,nalchik,nov,pyatigorsk,spb,vladikavkaz,vladimir,blogspot,na4u,mircloud,regruhosting>jelastichosting>****<hbvpscrisp>on<cupcake,blogspotcyon,mypep,dweb>*<biz,co,firm,reg,store,blogspot,123hjemmeside,myspreadshopdapps>*,bzz>*<<my>rss>*<blogspotdiher>*<online,shopbip,hashbang,platform>ent,eu,usdy,blogspot,xn--hkkinen-5wa,iki,cloudplatform>fidemo,paasdyndns,better-than,on-the-web,worse-than,from,sakuraath,info,assessments,calculators,funnels,paynow,quizzes,researched,testsher>forgotforgot<merseine,mine,shacknet,enterprisecloudmyddns,stackit,lima-city,webspaceblogsite,localzone,crafting,zapto,telebit>*<elementor,deen-root,fbx-os,fbxos,freebox-os,freeboxos,blogspot,goupile,123siteweb,on-web,chirurgiens-dentistes-en-france,dedibox,aeroport,avocat,chambagri,chirurgiens-dentistes,experts-comptables,medecin,notaires,pharmacien,port,veterinaire,myspreadshop,ynhonred>staging*com>mymailerabkhazia,adygeya,aktyubinsk,arkhangelsk,armenia,ashgabad,azerbaijan,balashov,bashkiria,bryansk,bukhara,chimkent,dagestan,east-kazakhstan,exnet,georgia,grozny,ivanovo,jambyl,kalmykia,kaluga,karacol,karaganda,karelia,khakassia,krasnodar,kurgan,kustanai,lenug,mangyshlak,mordovia,msk,murmansk,nalchik,navoi,north-kazakhstan,nov,obninsk,penza,pokrovsk,sochi,spb,tashkent,termez,togliatti,troitsk,tselinograd,tula,tuva,vladikavkaz,vladimir,vologdamyfast,uber,xs4allframerframerframerframerco>ravpage,blogspot,tabitorder,mytabit<funkfeuer>wien*,ex>**<ex>**<blogspotlab,minisitenog,ravendb,myforumco,shop,blogspot,barsycloudapps>london<rocloud,translate,usercontent>*<blogspotblogspotblogspot,barsyblogspotblogspotblogspotco>blogspot<co>blogspot<co>blogspot<com>blogspot<com>blogspot,cloudlets>melcom>blogspot,simplesiteac,al,am,ap,ba,ce,df,es,go,ma,mg,ms,mt,pa,pb,pe,pi,pr,rj,rn,ro,rr,rs,sc,se,sp,to<com>blogspotcom>blogspot,scaleforce>j<<com>blogspot<com>blogspot<com>blogspot<123miweb,myspreadshopcom>blogspot<com>blogspotcom>blogspot<com>blogspot<blogspotblogspot,simplesiteblogspot,secaas,ltd,inc
        blogspot,freeblogspotblogspot,myspreadshopblogspot
      1. blogspot,caablogspotblogspot,123websiteblogspot,at,de,jp,toblogspotblogspotblogspotblogspotblogspotblogspot,123paginawebblogspotblogspotblogspot,enscaledblogspotblogspotblogspotblogspotblogspotfin,nlhs,development,ravendb,servers,build>****id>**biz,xxedu,gov>service<sch,surveysjcloud,kazteleport>upaas<orangecloudkaas,cya,stackit,panel>daemon<knightpointkoobin,coco,educococococoweloginlinebarsybarsy,dscloudbarsycn,blog,dev,mehranabu>ui<ngroknoticeablenow-dns,ntdllnerdpolnycomgopencrafttechown,nameowo>*<oypleycoprequalifymecloudsiterit>git-pages<xn--90amc,xn--j1aef,xn--j1ael8b,xn--h1ahn,xn--j1adp,xn--c1avg,xn--80aaa0cvac,xn--h1aliz,xn--90a1af,xn--41akirara,nohosellfy,shopware,storebasestatic>dev,sites<storj1337clanschbiz,schorgrouterbe,cat,es,eu,gg,mc,us,xyappblog,de,tobeccio,jp,tv,uk,usdeindiech,me,weatofficialyboyboyboyboybobss'; - }, - './node_modules/super-regex/index.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - firstMatch: function () { - return firstMatch; - }, - isMatch: function () { - return isMatch; - }, - matches: function () { - return matches; - } - }); - /* harmony import */ var function_timeout__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! function-timeout */ './node_modules/function-timeout/browser.js' - ); - /* harmony import */ var time_span__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! time-span */ './node_modules/time-span/browser.js' - ); - /* harmony import */ var clone_regexp__WEBPACK_IMPORTED_MODULE_2__ = - __webpack_require__( - /*! clone-regexp */ './node_modules/clone-regexp/index.js' - ); - - // TODO: Use `structuredClone` instead when targeting Node.js 18. - - const resultToMatch = result => ({ - match: result[0], - index: result.index, - groups: result.slice(1), - namedGroups: result.groups ?? {}, - input: result.input - }); - - function isMatch(regex, string, { timeout } = {}) { - try { - return (0, - function_timeout__WEBPACK_IMPORTED_MODULE_0__['default'])( - () => - (0, - clone_regexp__WEBPACK_IMPORTED_MODULE_2__[ - 'default' - ])(regex).test(string), - { timeout } - )(); - } catch (error) { - if ( - (0, - function_timeout__WEBPACK_IMPORTED_MODULE_0__.isTimeoutError)( - error - ) - ) { - return false; - } - - throw error; - } - } - - function firstMatch(regex, string, { timeout } = {}) { - try { - const result = (0, - function_timeout__WEBPACK_IMPORTED_MODULE_0__['default'])( - () => - (0, - clone_regexp__WEBPACK_IMPORTED_MODULE_2__[ - 'default' - ])(regex).exec(string), - { timeout } - )(); - - if (result === null) { - return; - } - - return resultToMatch(result); - } catch (error) { - if ( - (0, - function_timeout__WEBPACK_IMPORTED_MODULE_0__.isTimeoutError)( - error - ) - ) { - return; - } - - throw error; - } - } - - function matches( - regex, - string, - { - timeout = Number.POSITIVE_INFINITY, - matchTimeout = Number.POSITIVE_INFINITY - } = {} - ) { - if (!regex.global) { - throw new Error( - 'The regex must have the global flag, otherwise, use `firstMatch()` instead' - ); - } - - return { - *[Symbol.iterator]() { - try { - const matches = string.matchAll(regex); // The regex is only executed when iterated over. - - while (true) { - const nextMatch = (0, - function_timeout__WEBPACK_IMPORTED_MODULE_0__[ - 'default' - ])(() => matches.next(), { - timeout: - timeout !== Number.POSITIVE_INFINITY || - matchTimeout !== - Number.POSITIVE_INFINITY - ? Math.min(timeout, matchTimeout) - : undefined - }); // `matches.next` must be called within an arrow function so that it doesn't loose its context. - - const end = (0, - time_span__WEBPACK_IMPORTED_MODULE_1__[ - 'default' - ])(); - const { value, done } = nextMatch(); - timeout -= Math.ceil(end()); - - if (done) { - break; - } - - yield resultToMatch(value); - } - } catch (error) { - if ( - !(0, - function_timeout__WEBPACK_IMPORTED_MODULE_0__.isTimeoutError)( - error - ) - ) { - throw error; - } - } - } - }; - } - }, - './node_modules/time-span/browser.js': function ( - __unused_webpack___webpack_module__, - __webpack_exports__, - __webpack_require__ - ) { - __webpack_require__.r(__webpack_exports__); - __webpack_require__.d(__webpack_exports__, { - default: function () { - return timeSpan; - } - }); - function timeSpan() { - const start = performance.now(); - - const end = () => performance.now() - start; - end.rounded = () => Math.round(end()); - end.seconds = () => end() / 1000; - end.nanoseconds = () => end() * 1000000; - - return end; - } - } - }; - /************************************************************************/ - // The module cache - var __webpack_module_cache__ = {}; - - // The require function - function __webpack_require__(moduleId) { - // Check if module is in cache - var cachedModule = __webpack_module_cache__[moduleId]; - if (cachedModule !== undefined) { - return cachedModule.exports; - } - // Create a new module (and put it into the cache) - var module = (__webpack_module_cache__[moduleId] = { - exports: {} - }); - // Execute the module function - __webpack_modules__[moduleId]( - module, - module.exports, - __webpack_require__ - ); - - // Return the exports of the module - return module.exports; - } - - /************************************************************************/ - // webpack/runtime/define_property_getters - (() => { - __webpack_require__.d = function (exports, definition) { - for (var key in definition) { - if ( - __webpack_require__.o(definition, key) && - !__webpack_require__.o(exports, key) - ) { - Object.defineProperty(exports, key, { - enumerable: true, - get: definition[key] - }); - } - } - }; - })(); - // webpack/runtime/has_own_property - (() => { - __webpack_require__.o = function (obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); - }; - })(); - // webpack/runtime/make_namespace_object - (() => { - // define __esModule on exports - __webpack_require__.r = function (exports) { - if (typeof Symbol !== 'undefined' && Symbol.toStringTag) { - Object.defineProperty(exports, Symbol.toStringTag, { - value: 'Module' - }); - } - Object.defineProperty(exports, '__esModule', { value: true }); - }; - })(); - /************************************************************************/ - var __webpack_exports__ = {}; - // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. - (() => { - __webpack_require__.r(__webpack_exports__); - /* harmony import */ var _webreflection_idb_map__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__( - /*! @webreflection/idb-map */ './node_modules/@webreflection/idb-map/index.js' - ); - /* harmony import */ var parse_domain__WEBPACK_IMPORTED_MODULE_1__ = - __webpack_require__( - /*! parse-domain */ './node_modules/parse-domain/build/parse-domain.js' - ); - function _array_like_to_array(arr, len) { - if (len == null || len > arr.length) len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) - arr2[i] = arr[i]; - return arr2; - } - function _array_with_holes(arr) { - if (Array.isArray(arr)) return arr; - } - function _array_without_holes(arr) { - if (Array.isArray(arr)) return _array_like_to_array(arr); - } - function asyncGeneratorStep( - gen, - resolve, - reject, - _next, - _throw, - key, - arg - ) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - if (info.done) { - resolve(value); - } else { - Promise.resolve(value).then(_next, _throw); - } - } - function _async_to_generator(fn) { - return function () { - var self1 = this, - args = arguments; - return new Promise(function (resolve, reject) { - var gen = fn.apply(self1, args); - function _next(value) { - asyncGeneratorStep( - gen, - resolve, - reject, - _next, - _throw, - 'next', - value - ); - } - function _throw(err) { - asyncGeneratorStep( - gen, - resolve, - reject, - _next, - _throw, - 'throw', - err - ); - } - _next(undefined); - }); - }; - } - function _class_call_check(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError('Cannot call a class as a function'); - } - } - function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ('value' in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - function _create_class(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - return Constructor; - } - function _define_property(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - return obj; - } - function _instanceof(left, right) { - if ( - right != null && - typeof Symbol !== 'undefined' && - right[Symbol.hasInstance] - ) { - return !!right[Symbol.hasInstance](left); - } else { - return left instanceof right; - } - } - function _iterable_to_array(iter) { - if ( - (typeof Symbol !== 'undefined' && - iter[Symbol.iterator] != null) || - iter['@@iterator'] != null - ) - return Array.from(iter); - } - function _iterable_to_array_limit(arr, i) { - var _i = - arr == null - ? null - : (typeof Symbol !== 'undefined' && arr[Symbol.iterator]) || - arr['@@iterator']; - if (_i == null) return; - var _arr = []; - var _n = true; - var _d = false; - var _s, _e; - try { - for ( - _i = _i.call(arr); - !(_n = (_s = _i.next()).done); - _n = true - ) { - _arr.push(_s.value); - if (i && _arr.length === i) break; - } - } catch (err) { - _d = true; - _e = err; - } finally { - try { - if (!_n && _i['return'] != null) _i['return'](); - } finally { - if (_d) throw _e; - } - } - return _arr; - } - function _non_iterable_rest() { - throw new TypeError( - 'Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.' - ); - } - function _non_iterable_spread() { - throw new TypeError( - 'Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.' - ); - } - function _sliced_to_array(arr, i) { - return ( - _array_with_holes(arr) || - _iterable_to_array_limit(arr, i) || - _unsupported_iterable_to_array(arr, i) || - _non_iterable_rest() - ); - } - function _to_consumable_array(arr) { - return ( - _array_without_holes(arr) || - _iterable_to_array(arr) || - _unsupported_iterable_to_array(arr) || - _non_iterable_spread() - ); - } - function _unsupported_iterable_to_array(o, minLen) { - if (!o) return; - if (typeof o === 'string') return _array_like_to_array(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === 'Object' && o.constructor) n = o.constructor.name; - if (n === 'Map' || n === 'Set') return Array.from(n); - if ( - n === 'Arguments' || - /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ) - return _array_like_to_array(o, minLen); - } - function _ts_generator(thisArg, body) { - var f, - y, - t, - g, - _ = { - label: 0, - sent: function () { - if (t[0] & 1) throw t[1]; - return t[1]; - }, - trys: [], - ops: [] - }; - return ( - (g = { - next: verb(0), - throw: verb(1), - return: verb(2) - }), - typeof Symbol === 'function' && - (g[Symbol.iterator] = function () { - return this; - }), - g - ); - function verb(n) { - return function (v) { - return step([n, v]); - }; - } - function step(op) { - if (f) throw new TypeError('Generator is already executing.'); - while (_) - try { - if ( - ((f = 1), - y && - (t = - op[0] & 2 - ? y['return'] - : op[0] - ? y['throw'] || - ((t = y['return']) && t.call(y), - 0) - : y.next) && - !(t = t.call(y, op[1])).done) - ) - return t; - if (((y = 0), t)) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: - case 1: - t = op; - break; - case 4: - _.label++; - return { - value: op[1], - done: false - }; - case 5: - _.label++; - y = op[1]; - op = [0]; - continue; - case 7: - op = _.ops.pop(); - _.trys.pop(); - continue; - default: - if ( - !((t = _.trys), - (t = t.length > 0 && t[t.length - 1])) && - (op[0] === 6 || op[0] === 2) - ) { - _ = 0; - continue; - } - if ( - op[0] === 3 && - (!t || (op[1] > t[0] && op[1] < t[3])) - ) { - _.label = op[1]; - break; - } - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - if (t && _.label < t[2]) { - _.label = t[2]; - _.ops.push(op); - break; - } - if (t[2]) _.ops.pop(); - _.trys.pop(); - continue; - } - op = body.call(thisArg, _); - } catch (e) { - op = [6, e]; - y = 0; - } finally { - f = t = 0; - } - if (op[0] & 5) throw op[1]; - return { - value: op[0] ? op[1] : void 0, - done: true - }; - } - } - - self.ScramjetServiceWorker = /*#__PURE__*/ (function () { - 'use strict'; - function ScramjetServiceWorker() { - var config = - arguments.length > 0 && arguments[0] !== void 0 - ? arguments[0] - : self.$scramjet.config; - _class_call_check(this, ScramjetServiceWorker); - _define_property(this, 'client', void 0); - _define_property(this, 'config', void 0); - this.client = new self.$scramjet.shared.util.BareClient(); - if (!config.prefix) config.prefix = '/scramjet/'; - this.config = config; - } - _create_class(ScramjetServiceWorker, [ - { - key: 'route', - value: function route(param) { - var request = param.request; - if ( - request.url.startsWith( - location.origin + this.config.prefix - ) - ) - return true; - else return false; - } - }, - { - key: 'fetch', - value: function fetch(param) { - var request = param.request; - var _this = this; - return _async_to_generator(function () { - var urlParam, - _self_$scramjet_shared_url, - encodeUrl, - decodeUrl, - _self_$scramjet_shared_rewrite, - rewriteHeaders, - rewriteHtml, - rewriteJs, - rewriteCss, - rewriteWorkers, - parseDomain, - url, - cookieStore, - response, - responseBody, - responseHeaders, - _iteratorNormalCompletion, - _didIteratorError, - _iteratorError, - _iterator, - _step, - cookie, - cookieParsed, - _cookieParsed_shift, - key, - value, - hostArg, - host, - urlDomain, - _, - domain, - topLevelDomains, - realCookieStore, - header, - _1, - _responseHeaders_contenttype_toString, - _responseHeaders_contenttype, - header1, - type, - _pathname_split_slice, - filename, - err; - return _ts_generator(this, function (_state) { - switch (_state.label) { - case 0: - urlParam = new URLSearchParams( - new URL(request.url).search - ); - (_self_$scramjet_shared_url = - self.$scramjet.shared.url), - (encodeUrl = - _self_$scramjet_shared_url.encodeUrl), - (decodeUrl = - _self_$scramjet_shared_url.decodeUrl); - (_self_$scramjet_shared_rewrite = - self.$scramjet.shared.rewrite), - (rewriteHeaders = - _self_$scramjet_shared_rewrite.rewriteHeaders), - (rewriteHtml = - _self_$scramjet_shared_rewrite.rewriteHtml), - (rewriteJs = - _self_$scramjet_shared_rewrite.rewriteJs), - (rewriteCss = - _self_$scramjet_shared_rewrite.rewriteCss), - (rewriteWorkers = - _self_$scramjet_shared_rewrite.rewriteWorkers); - parseDomain = - self.$scramjet.shared.util - .parseDomain; - if (urlParam.has('url')) { - return [ - 2, - Response.redirect( - encodeUrl( - urlParam.get('url'), - new URL( - urlParam.get('url') - ) - ) - ) - ]; - } - _state.label = 1; - case 1: - _state.trys.push([1, 15, , 16]); - url = new URL(decodeUrl(request.url)); - cookieStore = - new _webreflection_idb_map__WEBPACK_IMPORTED_MODULE_0__[ - 'default' - ](url.host, { - durability: 'relaxed', - prefix: 'Cookies' - }); - return [ - 4, - _this.client.fetch(url, { - method: request.method, - body: request.body, - headers: request.headers, - credentials: 'omit', - mode: - request.mode === 'cors' - ? request.mode - : 'same-origin', - cache: request.cache, - redirect: request.redirect, - //@ts-ignore why the fuck is this not typed mircosoft - duplex: 'half' - }) - ]; - case 2: - response = _state.sent(); - responseHeaders = rewriteHeaders( - response.rawHeaders, - url - ); - (_iteratorNormalCompletion = true), - (_didIteratorError = false), - (_iteratorError = undefined); - try { - for ( - _iterator = (responseHeaders[ - 'set-cookie' - ] || [])[Symbol.iterator](); - !(_iteratorNormalCompletion = - (_step = _iterator.next()) - .done); - _iteratorNormalCompletion = true - ) { - cookie = _step.value; - cookieParsed = cookie - .split(';') - .map(function (x) { - return x - .trim() - .split('='); - }); - (_cookieParsed_shift = - _sliced_to_array( - cookieParsed.shift(), - 2 - )), - (key = - _cookieParsed_shift[0]), - (value = - _cookieParsed_shift[1]); - value = value.replace('"', ''); - hostArg = cookieParsed.find( - function (x) { - return ( - x[0] === 'Domain' - ); - } - ); - cookieParsed = - cookieParsed.filter( - function (x) { - return ( - x[0] !== - 'Domain' - ); - } - ); - host = hostArg - ? hostArg[1] - : undefined; - if ( - url.protocol === 'http' && - cookieParsed.includes([ - 'Secure' - ]) - ) - continue; - if ( - cookieParsed.includes([ - 'SameSite', - 'None' - ]) && - !cookieParsed.includes([ - 'Secure' - ]) - ) - continue; - if (host && host !== url.host) { - if (host.startsWith('.')) - host = host.slice(1); - urlDomain = parseDomain( - url.hostname - ); - if ( - urlDomain.type === - parse_domain__WEBPACK_IMPORTED_MODULE_1__ - .ParseResultType - .Listed - ) { - (_ = - urlDomain.subDomains), - (domain = - urlDomain.domain), - (topLevelDomains = - urlDomain.topLevelDomains); - if ( - !host.endsWith( - [domain] - .concat( - _to_consumable_array( - topLevelDomains - ) - ) - .join('.') - ) - ) - continue; - } else { - continue; - } - realCookieStore = - new _webreflection_idb_map__WEBPACK_IMPORTED_MODULE_0__[ - 'default' - ](host, { - durability: - 'relaxed', - prefix: 'Cookies' - }); - realCookieStore.set(key, { - value: value, - args: cookieParsed, - subdomain: true - }); - } else { - cookieStore.set(key, { - value: value, - args: cookieParsed, - subdomain: false - }); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if ( - !_iteratorNormalCompletion && - _iterator.return != null - ) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - for (var header in responseHeaders) { - // flatten everything past here - if ( - _instanceof( - responseHeaders[header], - Array - ) - ) - responseHeaders[header] = - responseHeaders[header][0]; - } - if (!response.body) return [3, 14]; - _1 = request.destination; - switch (_1) { - case 'iframe': - return [3, 3]; - case 'document': - return [3, 3]; - case 'script': - return [3, 7]; - case 'style': - return [3, 9]; - case 'sharedworker': - return [3, 11]; - case 'worker': - return [3, 11]; - } - return [3, 13]; - case 3: - if ( - !((_responseHeaders_contenttype = - responseHeaders[ - 'content-type' - ]) === null || - _responseHeaders_contenttype === - void 0 - ? void 0 - : (_responseHeaders_contenttype_toString = - _responseHeaders_contenttype.toString()) === - null || - _responseHeaders_contenttype_toString === - void 0 - ? void 0 - : _responseHeaders_contenttype_toString.startsWith( - 'text/html' - )) - ) - return [3, 5]; - return [4, response.text()]; - case 4: - responseBody = rewriteHtml.apply( - void 0, - [_state.sent(), url] - ); - return [3, 6]; - case 5: - responseBody = response.body; - _state.label = 6; - case 6: - return [3, 14]; - case 7: - return [4, response.text()]; - case 8: - responseBody = rewriteJs.apply(void 0, [ - _state.sent(), - url - ]); - return [3, 14]; - case 9: - return [4, response.text()]; - case 10: - responseBody = rewriteCss.apply( - void 0, - [_state.sent(), url] - ); - return [3, 14]; - case 11: - return [4, response.text()]; - case 12: - responseBody = rewriteWorkers.apply( - void 0, - [_state.sent(), url] - ); - return [3, 14]; - case 13: - responseBody = response.body; - return [3, 14]; - case 14: - // downloads - if ( - ['document', 'iframe'].includes( - request.destination - ) - ) { - header1 = - responseHeaders[ - 'content-disposition' - ]; - // validate header and test for filename - if ( - !/\s*?((inline|attachment);\s*?)filename=/i.test( - header1 - ) - ) { - // if filename= wasn"t specified then maybe the remote specified to download this as an attachment? - // if it"s invalid then we can still possibly test for the attachment/inline type - type = /^\s*?attachment/i.test( - header1 - ) - ? 'attachment' - : 'inline'; - // set the filename - (_pathname_split_slice = - _sliced_to_array( - new URL( - response.finalURL - ).pathname - .split('/') - .slice(-1), - 1 - )), - (filename = - _pathname_split_slice[0]); - responseHeaders[ - 'content-disposition' - ] = '' - .concat(type, '; filename=') - .concat( - JSON.stringify(filename) - ); - } - } - if ( - responseHeaders['accept'] === - 'text/event-stream' - ) { - responseHeaders['content-type'] = - 'text/event-stream'; - } - if (crossOriginIsolated) { - responseHeaders[ - 'Cross-Origin-Embedder-Policy' - ] = 'require-corp'; - } - return [ - 2, - new Response(responseBody, { - headers: responseHeaders, - status: response.status, - statusText: response.statusText - }) - ]; - case 15: - err = _state.sent(); - if ( - !['document', 'iframe'].includes( - request.destination - ) - ) - return [ - 2, - new Response(undefined, { - status: 500 - }) - ]; - console.error(err); - return [ - 2, - renderError( - err, - decodeUrl(request.url) - ) - ]; - case 16: - return [2]; - } - }); - })(); - } - } - ]); - return ScramjetServiceWorker; - })(); - function errorTemplate(trace, fetchedURL) { - // turn script into a data URI so we don"t have to escape any HTML values - var script = '\n errorTrace.value = ' - .concat( - JSON.stringify(trace), - ';\n fetchedURL.textContent = ' - ) - .concat( - JSON.stringify(fetchedURL), - ';\n for (const node of document.querySelectorAll("#hostname")) node.textContent = ' - ) - .concat( - JSON.stringify(location.hostname), - ';\n reload.addEventListener("click", () => location.reload());\n version.textContent = "0.0.1";\n ' - ); - return '\n \n \n \n Error\n \n \n \n

        Error processing your request

        \n
        \n

        Failed to load

        \n

        Internal Server Error

        \n \n

        Try:

        \n
          \n
        • Checking your internet connection
        • \n
        • Verifying you entered the correct address
        • \n
        • Clearing the site data
        • \n
        • Contacting "s administrator
        • \n
        • Verify the server isn"t censored
        • \n
        \n

        If you"re the administrator of , try:

        \n
          \n
        • Restarting your server
        • \n
        • Updating Scramjet
        • \n
        • Troubleshooting the error on the GitHub repository
        • \n
        \n \n
        \n

        Scramjet v

        \n \n - -\n \n ' - ); - } - /** - * - * @param {unknown} err - * @param {string} fetchedURL - */ function renderError(err, fetchedURL) { - var headers = { - 'content-type': 'text/html' - }; - if (crossOriginIsolated) { - headers['Cross-Origin-Embedder-Policy'] = 'require-corp'; - } - return new Response(errorTemplate(String(err), fetchedURL), { - status: 500, - headers: headers - }); - } - })(); -})(); -//# sourceMappingURL=scramjet.worker.js.map diff --git a/public/$/scramjet.worker.js.map b/public/$/scramjet.worker.js.map deleted file mode 100755 index aca76ae..0000000 --- a/public/$/scramjet.worker.js.map +++ /dev/null @@ -1,18 +0,0 @@ -{"version":3,"file":"scramjet.worker.js","sources":["webpack://@mercuryworkshop/scramjet/./node_modules/@webreflection/idb-map/index.js?8638","webpack://@mercuryworkshop/scramjet/./node_modules/clone-regexp/index.js?106d","webpack://@mercuryworkshop/scramjet/./node_modules/function-timeout/browser.js?8cea","webpack://@mercuryworkshop/scramjet/./node_modules/ip-regex/index.js?f2e3","webpack://@mercuryworkshop/scramjet/./node_modules/is-ip/index.js?45f7","webpack://@mercuryworkshop/scramjet/./node_modules/is-regexp/index.js?4688","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/build/parse-domain.js?e86a","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/build/sanitize.js?b27c","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/build/trie/characters.js?a989","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/build/trie/look-up.js?b304","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/build/trie/nodes.js?62b9","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/build/trie/parse-trie.js?1143","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/serialized-tries/icann.js?d6a8","webpack://@mercuryworkshop/scramjet/./node_modules/parse-domain/serialized-tries/private.js?41ee","webpack://@mercuryworkshop/scramjet/./node_modules/super-regex/index.js?8dfc","webpack://@mercuryworkshop/scramjet/./node_modules/time-span/browser.js?39c3","webpack://@mercuryworkshop/scramjet/./src/worker/index.ts"],"sourcesContent":["const { assign } = Object;\n\nconst STORAGE = 'entries';\nconst READONLY = 'readonly';\nconst READWRITE = 'readwrite';\n\n/**\n * @typedef {Object} IDBMapOptions\n * @prop {'strict' | 'relaxed' | 'default'} [durability]\n * @prop {string} [prefix]\n */\n\n/** @typedef {[IDBValidKey, unknown]} IDBMapEntry */\n\n/** @type {IDBMapOptions} */\nconst defaultOptions = { durability: 'default', prefix: 'IDBMap' };\n\n/**\n * @template T\n * @param {{ target: IDBRequest }} event\n * @returns {T}\n */\nconst result = ({ target: { result } }) => result;\n\nexport default class IDBMap extends EventTarget {\n // Privates\n /** @type {Promise} */ #db;\n /** @type {IDBMapOptions} */ #options;\n /** @type {string} */ #prefix;\n\n /**\n * @template T\n * @param {(store: IDBObjectStore) => IDBRequest} what\n * @param {'readonly' | 'readwrite'} how\n * @returns {Promise}\n */\n async #transaction(what, how) {\n const db = await this.#db;\n const t = db.transaction(STORAGE, how, this.#options);\n return new Promise((onsuccess, onerror) => assign(\n what(t.objectStore(STORAGE)),\n {\n onsuccess,\n onerror,\n }\n ));\n }\n\n /**\n * @param {string} name\n * @param {IDBMapOptions} options\n */\n constructor(\n name,\n {\n durability = defaultOptions.durability,\n prefix = defaultOptions.prefix,\n } = defaultOptions\n ) {\n super();\n this.#prefix = prefix;\n this.#options = { durability };\n this.#db = new Promise((resolve, reject) => {\n assign(\n indexedDB.open(`${this.#prefix}/${name}`),\n {\n onupgradeneeded({ target: { result, transaction } }) {\n if (!result.objectStoreNames.length)\n result.createObjectStore(STORAGE);\n transaction.oncomplete = () => resolve(result);\n },\n onsuccess(event) {\n resolve(result(event));\n },\n onerror(event) {\n reject(event);\n this.dispatchEvent(event);\n },\n },\n );\n }).then(result => {\n const boundDispatch = this.dispatchEvent.bind(this);\n for (const key in result) {\n if (key.startsWith('on'))\n result[key] = boundDispatch;\n }\n return result;\n });\n }\n\n // EventTarget Forwards\n /**\n * @param {Event} event\n * @returns \n */\n dispatchEvent(event) {\n const { type, message, isTrusted } = event;\n return super.dispatchEvent(\n // avoid re-dispatching of the same event\n isTrusted ?\n assign(new Event(type), { message }) :\n event\n );\n }\n\n // IDBDatabase Forwards\n async close() {\n (await this.#db).close();\n }\n\n // Map async API\n get size() {\n return this.#transaction(\n store => store.count(),\n READONLY,\n ).then(result);\n }\n\n async clear() {\n await this.#transaction(\n store => store.clear(),\n READWRITE,\n );\n }\n\n /**\n * @param {IDBValidKey} key\n */\n async delete(key) {\n await this.#transaction(\n store => store.delete(key),\n READWRITE,\n );\n }\n\n /**\n * @returns {Promise}\n */\n async entries() {\n const keys = await this.keys();\n return Promise.all(keys.map(key => this.get(key).then(value => [key, value])));\n }\n\n /**\n * @param {(unknown, IDBValidKey, IDBMap) => void} callback\n * @param {unknown} [context]\n */\n async forEach(callback, context = this) {\n for (const [key, value] of await this.entries())\n await callback.call(context, value, key, this);\n }\n\n /**\n * @param {IDBValidKey} key\n * @returns {Promise}\n */\n async get(key) {\n const value = await this.#transaction(\n store => store.get(key),\n READONLY,\n ).then(result);\n return value;\n }\n\n /**\n * @param {IDBValidKey} key\n */\n async has(key) {\n const k = await this.#transaction(\n store => store.getKey(key),\n READONLY,\n ).then(result);\n return k !== void 0;\n }\n\n async keys() {\n const keys = await this.#transaction(\n store => store.getAllKeys(),\n READONLY,\n ).then(result);\n return keys;\n }\n\n /**\n * @param {IDBValidKey} key\n * @param {unknown} value\n */\n async set(key, value) {\n await this.#transaction(\n store => store.put(value, key),\n READWRITE,\n );\n return this;\n }\n\n async values() {\n const keys = await this.keys();\n return Promise.all(keys.map(key => this.get(key)));\n }\n\n get [Symbol.toStringTag]() {\n return this.#prefix;\n }\n}\n","import isRegexp from 'is-regexp';\n\nconst flagMap = {\n\tglobal: 'g',\n\tignoreCase: 'i',\n\tmultiline: 'm',\n\tdotAll: 's',\n\tsticky: 'y',\n\tunicode: 'u'\n};\n\nexport default function clonedRegexp(regexp, options = {}) {\n\tif (!isRegexp(regexp)) {\n\t\tthrow new TypeError('Expected a RegExp instance');\n\t}\n\n\tconst flags = Object.keys(flagMap).map(flag => (\n\t\t(typeof options[flag] === 'boolean' ? options[flag] : regexp[flag]) ? flagMap[flag] : ''\n\t)).join('');\n\n\tconst clonedRegexp = new RegExp(options.source || regexp.source, flags);\n\n\tclonedRegexp.lastIndex = typeof options.lastIndex === 'number' ?\n\t\toptions.lastIndex :\n\t\tregexp.lastIndex;\n\n\treturn clonedRegexp;\n}\n","// Even though the browser version is a no-op, we wrap it to ensure consistent behavior.\nexport default function functionTimeout(function_) {\n\tconst wrappedFunction = (...arguments_) => function_(...arguments_);\n\n\tObject.defineProperty(wrappedFunction, 'name', {\n\t\tvalue: `functionTimeout(${function_.name || ''})`,\n\t\tconfigurable: true,\n\t});\n\n\treturn wrappedFunction;\n}\n\nexport function isTimeoutError() {\n\treturn false;\n}\n","const word = '[a-fA-F\\\\d:]';\n\nconst boundry = options => options && options.includeBoundaries\n\t? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))`\n\t: '';\n\nconst v4 = '(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}';\n\nconst v6segment = '[a-fA-F\\\\d]{1,4}';\n\nconst v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`.replace(/\\s*\\/\\/.*$/gm, '').replace(/\\n/g, '').trim();\n\n// Pre-compile only the exact regexes because adding a global flag make regexes stateful\nconst v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);\nconst v4exact = new RegExp(`^${v4}$`);\nconst v6exact = new RegExp(`^${v6}$`);\n\nconst ipRegex = options => options && options.exact\n\t? v46Exact\n\t: new RegExp(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, 'g');\n\nipRegex.v4 = options => options && options.exact ? v4exact : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, 'g');\nipRegex.v6 = options => options && options.exact ? v6exact : new RegExp(`${boundry(options)}${v6}${boundry(options)}`, 'g');\n\nexport default ipRegex;\n","import ipRegex from 'ip-regex';\nimport {isMatch} from 'super-regex';\n\nconst maxIPv4Length = 15;\nconst maxIPv6Length = 45;\n\nconst options = {\n\ttimeout: 400,\n};\n\nexport function isIP(string) {\n\tif (string.length > maxIPv6Length) {\n\t\treturn false;\n\t}\n\n\treturn isMatch(ipRegex({exact: true}), string, options);\n}\n\nexport function isIPv6(string) {\n\tif (string.length > maxIPv6Length) {\n\t\treturn false;\n\t}\n\n\treturn isMatch(ipRegex.v6({exact: true}), string, options);\n}\n\nexport function isIPv4(string) {\n\tif (string.length > maxIPv4Length) {\n\t\treturn false;\n\t}\n\n\treturn isMatch(ipRegex.v4({exact: true}), string, options);\n}\n\nexport function ipVersion(string) {\n\tif (isIPv6(string)) {\n\t\treturn 6;\n\t}\n\n\tif (isIPv4(string)) {\n\t\treturn 4;\n\t}\n}\n","const {toString} = Object.prototype;\n\nexport default function isRegexp(value) {\n\treturn toString.call(value) === '[object RegExp]';\n}\n","import { icannTrie, privateTrie } from \"./serialized-tries.js\";\nimport { lookUpTldsInTrie } from \"./trie/look-up.js\";\nimport { sanitize, SanitizationResultType, } from \"./sanitize.js\";\nimport { parseTrie } from \"./trie/parse-trie.js\";\nexport const RESERVED_TOP_LEVEL_DOMAINS = [\n \"localhost\",\n \"local\",\n \"example\",\n \"invalid\",\n \"test\",\n];\nexport var ParseResultType;\n(function (ParseResultType) {\n /**\n * This parse result is returned in case the given hostname does not adhere to [RFC 1034](https://tools.ietf.org/html/rfc1034).\n */\n ParseResultType[\"Invalid\"] = \"INVALID\";\n /**\n * This parse result is returned if the given hostname was an IPv4 or IPv6.\n */\n ParseResultType[\"Ip\"] = \"IP\";\n /**\n * This parse result is returned when the given hostname\n * - is the root domain (the empty string `\"\"`)\n * - belongs to the top-level domain `localhost`, `local`, `example`, `invalid` or `test`\n */\n ParseResultType[\"Reserved\"] = \"RESERVED\";\n /**\n * This parse result is returned when the given hostname is valid and does not belong to a reserved top-level domain, but is not listed in the public suffix list.\n */\n ParseResultType[\"NotListed\"] = \"NOT_LISTED\";\n /**\n * This parse result is returned when the given hostname belongs to a top-level domain that is listed in the public suffix list.\n */\n ParseResultType[\"Listed\"] = \"LISTED\";\n})(ParseResultType || (ParseResultType = {}));\nconst getAtIndex = (array, index) => {\n return index >= 0 && index < array.length ? array[index] : undefined;\n};\nconst splitLabelsIntoDomains = (labels, index) => {\n return {\n subDomains: labels.slice(0, Math.max(0, index)),\n domain: getAtIndex(labels, index),\n topLevelDomains: labels.slice(index + 1),\n };\n};\nlet parsedIcannTrie;\nlet parsedPrivateTrie;\n/**\n * Splits the given hostname in topLevelDomains, a domain and subDomains.\n */\nexport const parseDomain = (hostname, options) => {\n const sanitizationResult = sanitize(hostname, options);\n if (sanitizationResult.type === SanitizationResultType.Error) {\n return {\n type: ParseResultType.Invalid,\n hostname,\n errors: sanitizationResult.errors,\n };\n }\n if (sanitizationResult.type === SanitizationResultType.ValidIp) {\n return {\n type: ParseResultType.Ip,\n hostname: sanitizationResult.ip,\n ipVersion: sanitizationResult.ipVersion,\n };\n }\n const { labels, domain } = sanitizationResult;\n if (hostname === \"\" ||\n RESERVED_TOP_LEVEL_DOMAINS.includes(labels[labels.length - 1])) {\n return {\n type: ParseResultType.Reserved,\n hostname: domain,\n labels,\n };\n }\n // Parse the serialized trie lazily\n parsedIcannTrie = parsedIcannTrie !== null && parsedIcannTrie !== void 0 ? parsedIcannTrie : parseTrie(icannTrie);\n parsedPrivateTrie = parsedPrivateTrie !== null && parsedPrivateTrie !== void 0 ? parsedPrivateTrie : parseTrie(privateTrie);\n const icannTlds = lookUpTldsInTrie(labels, parsedIcannTrie);\n const privateTlds = lookUpTldsInTrie(labels, parsedPrivateTrie);\n if (icannTlds.length === 0 && privateTlds.length === 0) {\n return {\n type: ParseResultType.NotListed,\n hostname: domain,\n labels,\n };\n }\n const indexOfPublicSuffixDomain = labels.length - Math.max(privateTlds.length, icannTlds.length) - 1;\n const indexOfIcannDomain = labels.length - icannTlds.length - 1;\n return Object.assign({ type: ParseResultType.Listed, hostname: domain, labels, icann: splitLabelsIntoDomains(labels, indexOfIcannDomain) }, splitLabelsIntoDomains(labels, indexOfPublicSuffixDomain));\n};\n//# sourceMappingURL=parse-domain.js.map","import { ipVersion } from \"is-ip\";\n// See https://en.wikipedia.org/wiki/Domain_name\n// See https://tools.ietf.org/html/rfc1034\nconst LABEL_SEPARATOR = \".\";\nconst LABEL_LENGTH_MIN = 1;\nconst LABEL_LENGTH_MAX = 63;\n/**\n * 255 octets - 2 octets if you remove the last dot\n * @see https://devblogs.microsoft.com/oldnewthing/20120412-00/?p=7873\n */\nconst DOMAIN_LENGTH_MAX = 253;\nconst textEncoder = new TextEncoder();\nexport var Validation;\n(function (Validation) {\n /**\n * Allows any octets as labels\n * but still restricts the length of labels and the overall domain.\n *\n * @see https://www.rfc-editor.org/rfc/rfc2181#section-11\n **/\n Validation[\"Lax\"] = \"LAX\";\n /**\n * Only allows ASCII letters, digits and hyphens (aka LDH),\n * forbids hyphens at the beginning or end of a label\n * and requires top-level domain names not to be all-numeric.\n *\n * This is the default if no validation is configured.\n *\n * @see https://datatracker.ietf.org/doc/html/rfc3696#section-2\n */\n Validation[\"Strict\"] = \"STRICT\";\n})(Validation || (Validation = {}));\nexport var ValidationErrorType;\n(function (ValidationErrorType) {\n ValidationErrorType[\"NoHostname\"] = \"NO_HOSTNAME\";\n ValidationErrorType[\"DomainMaxLength\"] = \"DOMAIN_MAX_LENGTH\";\n ValidationErrorType[\"LabelMinLength\"] = \"LABEL_MIN_LENGTH\";\n ValidationErrorType[\"LabelMaxLength\"] = \"LABEL_MAX_LENGTH\";\n ValidationErrorType[\"LabelInvalidCharacter\"] = \"LABEL_INVALID_CHARACTER\";\n ValidationErrorType[\"LastLabelInvalid\"] = \"LAST_LABEL_INVALID\";\n})(ValidationErrorType || (ValidationErrorType = {}));\nexport var SanitizationResultType;\n(function (SanitizationResultType) {\n SanitizationResultType[\"ValidIp\"] = \"VALID_IP\";\n SanitizationResultType[\"ValidDomain\"] = \"VALID_DOMAIN\";\n SanitizationResultType[\"Error\"] = \"ERROR\";\n})(SanitizationResultType || (SanitizationResultType = {}));\nconst createNoHostnameError = (input) => {\n return {\n type: ValidationErrorType.NoHostname,\n message: `The given input ${String(input)} does not look like a hostname.`,\n column: 1,\n };\n};\nconst createDomainMaxLengthError = (domain, length) => {\n return {\n type: ValidationErrorType.DomainMaxLength,\n message: `Domain \"${domain}\" is too long. Domain is ${length} octets long but should not be longer than ${DOMAIN_LENGTH_MAX}.`,\n column: length,\n };\n};\nconst createLabelMinLengthError = (label, column) => {\n const length = label.length;\n return {\n type: ValidationErrorType.LabelMinLength,\n message: `Label \"${label}\" is too short. Label is ${length} octets long but should be at least ${LABEL_LENGTH_MIN}.`,\n column,\n };\n};\nconst createLabelMaxLengthError = (label, column) => {\n const length = label.length;\n return {\n type: ValidationErrorType.LabelMaxLength,\n message: `Label \"${label}\" is too long. Label is ${length} octets long but should not be longer than ${LABEL_LENGTH_MAX}.`,\n column,\n };\n};\nconst createLabelInvalidCharacterError = (label, invalidCharacter, column) => {\n return {\n type: ValidationErrorType.LabelInvalidCharacter,\n message: `Label \"${label}\" contains invalid character \"${invalidCharacter}\" at column ${column}.`,\n column,\n };\n};\nconst createLastLabelInvalidError = (label, column) => {\n return {\n type: ValidationErrorType.LabelInvalidCharacter,\n message: `Last label \"${label}\" must not be all-numeric.`,\n column,\n };\n};\nexport const sanitize = (input, options = {}) => {\n // Extra check for non-TypeScript users\n if (typeof input !== \"string\") {\n return {\n type: SanitizationResultType.Error,\n errors: [createNoHostnameError(input)],\n };\n }\n if (input === \"\") {\n return {\n type: SanitizationResultType.ValidDomain,\n domain: input,\n labels: [],\n };\n }\n // IPv6 addresses are surrounded by square brackets in URLs\n // See https://tools.ietf.org/html/rfc3986#section-3.2.2\n const inputTrimmedAsIp = input.replace(/^\\[|]$/g, \"\");\n const ipVersionOfInput = ipVersion(inputTrimmedAsIp);\n if (ipVersionOfInput !== undefined) {\n return {\n type: SanitizationResultType.ValidIp,\n ip: inputTrimmedAsIp,\n ipVersion: ipVersionOfInput,\n };\n }\n const lastChar = input.charAt(input.length - 1);\n const canonicalInput = lastChar === LABEL_SEPARATOR ? input.slice(0, -1) : input;\n const octets = new TextEncoder().encode(canonicalInput);\n if (octets.length > DOMAIN_LENGTH_MAX) {\n return {\n type: SanitizationResultType.Error,\n errors: [createDomainMaxLengthError(input, octets.length)],\n };\n }\n const labels = canonicalInput.split(LABEL_SEPARATOR);\n const { validation = Validation.Strict } = options;\n const labelValidationErrors = validateLabels[validation](labels);\n if (labelValidationErrors.length > 0) {\n return {\n type: SanitizationResultType.Error,\n errors: labelValidationErrors,\n };\n }\n return {\n type: SanitizationResultType.ValidDomain,\n domain: input,\n labels,\n };\n};\nconst validateLabels = {\n [Validation.Lax]: (labels) => {\n const labelValidationErrors = [];\n let column = 1;\n for (const label of labels) {\n const octets = textEncoder.encode(label);\n if (octets.length < LABEL_LENGTH_MIN) {\n labelValidationErrors.push(createLabelMinLengthError(label, column));\n }\n else if (octets.length > LABEL_LENGTH_MAX) {\n labelValidationErrors.push(createLabelMaxLengthError(label, column));\n }\n column += label.length + LABEL_SEPARATOR.length;\n }\n return labelValidationErrors;\n },\n [Validation.Strict]: (labels) => {\n const labelValidationErrors = [];\n let column = 1;\n let lastLabel;\n for (const label of labels) {\n // According to https://tools.ietf.org/html/rfc6761 labels should\n // only contain ASCII letters, digits and hyphens (LDH).\n const invalidCharacter = /[^\\da-z-]/i.exec(label);\n if (invalidCharacter) {\n labelValidationErrors.push(createLabelInvalidCharacterError(label, invalidCharacter[0], invalidCharacter.index + 1));\n }\n if (label.startsWith(\"-\")) {\n labelValidationErrors.push(createLabelInvalidCharacterError(label, \"-\", column));\n }\n else if (label.endsWith(\"-\")) {\n labelValidationErrors.push(createLabelInvalidCharacterError(label, \"-\", column + label.length - 1));\n }\n if (\n // We can use .length here to check for the octet size because\n // label can only contain ASCII LDH characters at this point.\n label.length < LABEL_LENGTH_MIN) {\n labelValidationErrors.push(createLabelMinLengthError(label, column));\n }\n else if (label.length > LABEL_LENGTH_MAX) {\n labelValidationErrors.push(createLabelMaxLengthError(label, column));\n }\n column += label.length + LABEL_SEPARATOR.length;\n lastLabel = label;\n }\n if (lastLabel !== undefined && /[a-z-]/iu.test(lastLabel) === false) {\n labelValidationErrors.push(createLastLabelInvalidError(lastLabel, column - lastLabel.length - LABEL_SEPARATOR.length));\n }\n return labelValidationErrors;\n },\n};\n//# sourceMappingURL=sanitize.js.map","// UP, SAME, DOWN, RESET should not be special regex characters in a character class.\nexport const UP = \"<\"; // one level up\nexport const SAME = \",\"; // same level\nexport const DOWN = \">\"; // one level down\nexport const RESET = \"|\"; // reset level index and start new\nexport const WILDCARD = \"*\"; // as defined by publicsuffix.org\nexport const EXCEPTION = \"!\"; // as defined by publicsuffix.org\n//# sourceMappingURL=characters.js.map","import * as characters from \"./characters.js\";\nexport const lookUpTldsInTrie = (labels, trie) => {\n const labelsToCheck = labels.slice();\n const tlds = [];\n let node = trie;\n while (labelsToCheck.length !== 0) {\n const label = labelsToCheck.pop();\n const labelLowerCase = label.toLowerCase();\n if (node.children.has(characters.WILDCARD)) {\n if (node.children.has(characters.EXCEPTION + labelLowerCase)) {\n break;\n }\n node = node.children.get(characters.WILDCARD);\n }\n else {\n if (node.children.has(labelLowerCase) === false) {\n break;\n }\n node = node.children.get(labelLowerCase);\n }\n tlds.unshift(label);\n }\n return tlds;\n};\n//# sourceMappingURL=look-up.js.map","export const NODE_TYPE_ROOT = Symbol(\"ROOT\");\nexport const NODE_TYPE_CHILD = Symbol(\"CHILD\");\nexport const createRootNode = () => {\n return {\n type: NODE_TYPE_ROOT,\n children: new Map(),\n };\n};\nexport const createOrGetChild = (parent, label) => {\n let child = parent.children.get(label);\n if (child === undefined) {\n child = {\n type: NODE_TYPE_CHILD,\n label,\n children: new Map(),\n parent,\n };\n parent.children.set(label, child);\n }\n return child;\n};\n//# sourceMappingURL=nodes.js.map","import * as characters from \"./characters.js\";\nimport { createRootNode, createOrGetChild, NODE_TYPE_ROOT, } from \"./nodes.js\";\nexport const parseTrie = (serializedTrie) => {\n const rootNode = createRootNode();\n let domain = \"\";\n let parentNode = rootNode;\n // Type assertion necessary here due to a TypeScript unsoundness\n // https://github.com/microsoft/TypeScript/issues/9998#issuecomment-235963457\n let node = rootNode;\n const addDomain = () => {\n node = createOrGetChild(parentNode, domain);\n domain = \"\";\n };\n for (let i = 0; i < serializedTrie.length; i++) {\n const char = serializedTrie.charAt(i);\n switch (char) {\n case characters.SAME: {\n addDomain();\n continue;\n }\n case characters.DOWN: {\n addDomain();\n parentNode = node;\n continue;\n }\n case characters.RESET: {\n addDomain();\n parentNode = rootNode;\n continue;\n }\n case characters.UP: {\n if (parentNode.type === NODE_TYPE_ROOT) {\n throw new Error(`Error in serialized trie at position ${i}: Cannot go up, current parent node is already root`);\n }\n addDomain();\n parentNode = parentNode.parent;\n continue;\n }\n }\n domain += char;\n }\n if (domain !== \"\") {\n addDomain();\n }\n return rootNode;\n};\n//# sourceMappingURL=parse-trie.js.map","export default \"ac>com,edu,gov,net,mil,orgnomco,net,org,sch,ac,gov,milaccident-investigation,accident-prevention,aerobatic,aeroclub,aerodrome,agents,aircraft,airline,airport,air-surveillance,airtraffic,air-traffic-control,ambulance,amusement,association,author,ballooning,broker,caa,cargo,catering,certification,championship,charter,civilaviation,club,conference,consultant,consulting,control,council,crew,design,dgca,educator,emergency,engine,engineer,entertainment,equipment,exchange,express,federation,flight,fuel,gliding,government,groundhandling,group,hanggliding,homebuilt,insurance,journal,journalist,leasing,logistics,magazine,maintenance,media,microlight,modelling,navigation,parachuting,paragliding,passenger-association,pilot,press,production,recreation,repbody,res,research,rotorcraft,safety,scientist,services,show,skydiving,software,student,trader,trading,trainer,union,workinggroup,worksgov,com,org,net,educom,org,net,co,nomoff,com,net,orgcom,edu,gov,mil,net,orgco,com,commune,net,orged,gv,og,co,pb,itbet,com,coop,edu,gob,gov,int,mil,musica,mutual,net,org,senasa,ture164,in-addr,ip6,iris,uri,urngovac>sthcom,net,org,edu>act,catholic,nsw>schoolsqld,sa,tas,vic,wacomcom,net,int,gov,org,edu,info,pp,mil,name,pro,bizcom,edu,gov,mil,net,orgbiz,co,com,edu,gov,info,net,org,store,tv*acgova,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,0,1,2,3,4,5,6,7,8,9com,edu,net,org,govco,com,edu,or,orgafrica,agro,architectes,assur,avocats,co,com,eco,econo,edu,info,loisirs,money,net,org,ote,resto,restaurant,tourism,univcom,edu,gov,net,orgcom,edu,gov,net,orgcom,edu,gob,int,org,net,mil,tv,web,academia,agro,arte,blog,bolivia,ciencia,cooperativa,democracia,deporte,ecologia,economia,empresa,indigena,industria,info,medicina,movimiento,musica,natural,nombre,noticias,patria,politica,profesional,plurinacional,pueblo,revista,salud,tecnologia,tksat,transporte,wiki
        9guacu,abc,adm,adv,agr,aju,am,anani,aparecida,app,arq,art,ato,b,barueri,belem,bhz,bib,bio,blog,bmd,boavista,bsb,campinagrande,campinas,caxias,cim,cng,cnt,com,contagem,coop,coz,cri,cuiaba,curitiba,def,des,det,dev,ecn,eco,edu,emp,enf,eng,esp,etc,eti,far,feira,flog,floripa,fm,fnd,fortal,fot,foz,fst,g12,geo,ggf,goiania,gov>ac,al,am,ap,ba,ce,df,es,go,ma,mg,ms,mt,pa,pb,pe,pi,pr,rj,rn,ro,rr,rs,sc,se,sp,to*com,net,org,edu,govcom,edu,gov,net,orgco,orggov,mil,com,ofcom,net,org,edu,govab,bc,mb,nb,nf,nl,ns,nt,nu,on,pe,qc,sk,yk,gcgovorg,or,com,co,edu,ed,ac,net,go,asso,xn--aroport-bya,int,presse,md,gouv*,!wwwco,gob,gov,milco,com,gov,netac,com,edu,gov,net,org,mil,xn--55qx5d,xn--io0a7i,xn--od0alg,ah,bj,cq,fj,gd,gs,gz,gx,ha,hb,he,hi,hl,hn,jl,js,jx,ln,nm,nx,qh,sc,sd,sh,sn,sx,tj,xj,xz,yn,zj,hk,mo,twarts,com,edu,firm,gov,info,int,mil,net,nom,org,rec,webac,co,ed,fi,go,or,sacom,edu,org,net,gov,infcom,edu,int,nome,orgcom,edu,net,orggovac,biz,com,ekloges,gov,ltd,mil,net,org,press,pro,tmcom,net,org,edu,govart,com,edu,gob,gov,mil,net,org,sld,webart,asso,com,edu,gov,org,net,pol,soc,tmcom,info,net,fin,k12,med,pro,org,edu,gov,gob,miledu,gov,riik,lib,med,com,pri,aip,org,fiecom,edu,eun,gov,mil,name,net,org,sci*com,nom,org,gob,educom,gov,org,edu,biz,name,info,netalandac,biz,com,gov,info,mil,name,net,org,pro*com,edu,net,orgasso,com,gouv,nom,prd,tm,avoues,cci,greta,huissier-justiceedu,govcom,edu,gov,org,mil,net,pvtco,net,orgcom,edu,gov,org,milcom,ltd,gov,mod,edu,orgco,com,edu,net,orgac,com,edu,gov,org,netcom,net,mobi,edu,org,assocom,edu,net,org,govcom,edu,gob,ind,mil,net,orgcom,edu,gov,guam,info,net,org,webco,com,edu,gov,net,orgcom,edu,gov,idv,net,org,xn--55qx5d,xn--wcvs22d,xn--lcvr32d,xn--mxtq1m,xn--gmqw5a,xn--ciqpn,xn--gmq050i,xn--zf0avx,xn--io0a7i,xn--mk0axi,xn--od0alg,xn--od0aq3b,xn--tn0ag,xn--uc0atv,xn--uc0ay4acom,edu,org,net,mil,gob
        iz,from,name,comcom,shop,firm,info,adult,net,pro,org,med,art,coop,pol,asso,edu,rel,gouv,persoco,info,org,priv,sport,tm,2000,agrar,bolt,casino,city,erotica,erotika,film,forum,games,hotel,ingatlan,jogasz,konyvelo,lakas,media,news,reklam,sex,shop,suli,szex,tozsde,utazas,videoac,biz,co,desa,go,mil,my,net,or,ponpes,sch,webgovac,co,gov,idf,k12,muni,net,orgxn--4dbgdty6c,xn--5dbhl8d,xn--8dbq2a,xn--hebda8bac,co>ltd,plc5g,6g,ac,ai,am,bihar,biz,business,ca,cn,co,com,coop,cs,delhi,dr,edu,er,firm,gen,gov,gujarat,ind,info,int,internet,io,me,mil,net,nic,org,pg,post,pro,res,travel,tv,uk,up,useucomgov,edu,mil,com,org,netac,co,gov,id,net,org,sch,xn--mgba3a4f16a,xn--mgba3a4franet,com,edu,gov,org,intgov,edu,abr,abruzzo,aosta-valley,aostavalley,bas,basilicata,cal,calabria,cam,campania,emilia-romagna,emiliaromagna,emr,friuli-v-giulia,friuli-ve-giulia,friuli-vegiulia,friuli-venezia-giulia,friuli-veneziagiulia,friuli-vgiulia,friuliv-giulia,friulive-giulia,friulivegiulia,friulivenezia-giulia,friuliveneziagiulia,friulivgiulia,fvg,laz,lazio,lig,liguria,lom,lombardia,lombardy,lucania,mar,marche,mol,molise,piedmont,piemonte,pmn,pug,puglia,sar,sardegna,sardinia,sic,sicilia,sicily,taa,tos,toscana,trentin-sud-tirol,xn--trentin-sd-tirol-rzb,trentin-sudtirol,xn--trentin-sdtirol-7vb,trentin-sued-tirol,trentin-suedtirol,trentino-a-adige,trentino-aadige,trentino-alto-adige,trentino-altoadige,trentino-s-tirol,trentino-stirol,trentino-sud-tirol,xn--trentino-sd-tirol-c3b,trentino-sudtirol,xn--trentino-sdtirol-szb,trentino-sued-tirol,trentino-suedtirol,trentino,trentinoa-adige,trentinoaadige,trentinoalto-adige,trentinoaltoadige,trentinos-tirol,trentinostirol,trentinosud-tirol,xn--trentinosd-tirol-rzb,trentinosudtirol,xn--trentinosdtirol-7vb,trentinosued-tirol,trentinosuedtirol,trentinsud-tirol,xn--trentinsd-tirol-6vb,trentinsudtirol,xn--trentinsdtirol-nsb,trentinsued-tirol,trentinsuedtirol,tuscany,umb,umbria,val-d-aosta,val-daosta,vald-aosta,valdaosta,valle-aosta,valle-d-aosta,valle-daosta,valleaosta,valled-aosta,valledaosta,vallee-aoste,xn--valle-aoste-ebb,vallee-d-aoste,xn--valle-d-aoste-ehb,valleeaoste,xn--valleaoste-e7a,valleedaoste,xn--valledaoste-ebb,vao,vda,ven,veneto,ag,agrigento,al,alessandria,alto-adige,altoadige,an,ancona,andria-barletta-trani,andria-trani-barletta,andriabarlettatrani,andriatranibarletta,ao,aosta,aoste,ap,aq,aquila,ar,arezzo,ascoli-piceno,ascolipiceno,asti,at,av,avellino,ba,balsan-sudtirol,xn--balsan-sdtirol-nsb,balsan-suedtirol,balsan,bari,barletta-trani-andria,barlettatraniandria,belluno,benevento,bergamo,bg,bi,biella,bl,bn,bo,bologna,bolzano-altoadige,bolzano,bozen-sudtirol,xn--bozen-sdtirol-2ob,bozen-suedtirol,bozen,br,brescia,brindisi,bs,bt,bulsan-sudtirol,xn--bulsan-sdtirol-nsb,bulsan-suedtirol,bulsan,bz,ca,cagliari,caltanissetta,campidano-medio,campidanomedio,campobasso,carbonia-iglesias,carboniaiglesias,carrara-massa,carraramassa,caserta,catania,catanzaro,cb,ce,cesena-forli,xn--cesena-forl-mcb,cesenaforli,xn--cesenaforl-i8a,ch,chieti,ci,cl,cn,co,como,cosenza,cr,cremona,crotone,cs,ct,cuneo,cz,dell-ogliastra,dellogliastra,en,enna,fc,fe,fermo,ferrara,fg,fi,firenze,florence,fm,foggia,forli-cesena,xn--forl-cesena-fcb,forlicesena,xn--forlcesena-c8a,fr,frosinone,ge,genoa,genova,go,gorizia,gr,grosseto,iglesias-carbonia,iglesiascarbonia,im,imperia,is,isernia,kr,la-spezia,laquila,laspezia,latina,lc,le,lecce,lecco,li,livorno,lo,lodi,lt,lu,lucca,macerata,mantova,massa-carrara,massacarrara,matera,mb,mc,me,medio-campidano,mediocampidano,messina,mi,milan,milano,mn,mo,modena,monza-brianza,monza-e-della-brianza,monza,monzabrianza,monzaebrianza,monzaedellabrianza,ms,mt,na,naples,napoli,no,novara,nu,nuoro,og,ogliastra,olbia-tempio,olbiatempio,or,oristano,ot,pa,padova,padua,palermo,parma,pavia,pc,pd,pe,perugia,pesaro-urbino,pesarourbino,pescara,pg,pi,piacenza,pisa,pistoia,pn,po,pordenone,potenza,pr,prato,pt,pu,pv,pz,ra,ragusa,ravenna,rc,re,reggio-calabria,reggio-emilia,reggiocalabria,reggioemilia,rg,ri,rieti,rimini,rm,rn,ro,roma,rome,rovigo,sa,salerno,sassari,savona,si,siena,siracusa,so,sondrio,sp,sr,ss,suedtirol,xn--sdtirol-n2a,sv,ta,taranto,te,tempio-olbia,tempioolbia,teramo,terni,tn,to,torino,tp,tr,trani-andria-barletta,trani-barletta-andria,traniandriabarletta,tranibarlettaandria,trapani,trento,treviso,trieste,ts,turin,tv,ud,udine,urbino-pesaro,urbinopesaro,va,varese,vb,vc,ve,venezia,venice,verbania,vercelli,verona,vi,vibo-valentia,vibovalentia,vicenza,viterbo,vr,vs,vt,vvco,net,org*com,org,net,edu,sch,gov,mil,nameac,ad,co,ed,go,gr,lg,ne,or,aichi>aisai,ama,anjo,asuke,chiryu,chita,fuso,gamagori,handa,hazu,hekinan,higashiura,ichinomiya,inazawa,inuyama,isshiki,iwakura,kanie,kariya,kasugai,kira,kiyosu,komaki,konan,kota,mihama,miyoshi,nishio,nisshin,obu,oguchi,oharu,okazaki,owariasahi,seto,shikatsu,shinshiro,shitara,tahara,takahama,tobishima,toei,togo,tokai,tokoname,toyoake,toyohashi,toyokawa,toyone,toyota,tsushima,yatomiakita,daisen,fujisato,gojome,hachirogata,happou,higashinaruse,honjo,honjyo,ikawa,kamikoani,kamioka,katagami,kazuno,kitaakita,kosaka,kyowa,misato,mitane,moriyoshi,nikaho,noshiro,odate,oga,ogata,semboku,yokote,yurihonjoaomori,gonohe,hachinohe,hashikami,hiranai,hirosaki,itayanagi,kuroishi,misawa,mutsu,nakadomari,noheji,oirase,owani,rokunohe,sannohe,shichinohe,shingo,takko,towada,tsugaru,tsurutaabiko,asahi,chonan,chosei,choshi,chuo,funabashi,futtsu,hanamigawa,ichihara,ichikawa,ichinomiya,inzai,isumi,kamagaya,kamogawa,kashiwa,katori,katsuura,kimitsu,kisarazu,kozaki,kujukuri,kyonan,matsudo,midori,mihama,minamiboso,mobara,mutsuzawa,nagara,nagareyama,narashino,narita,noda,oamishirasato,omigawa,onjuku,otaki,sakae,sakura,shimofusa,shirako,shiroi,shisui,sodegaura,sosa,tako,tateyama,togane,tohnosho,tomisato,urayasu,yachimata,yachiyo,yokaichiba,yokoshibahikari,yotsukaidoainan,honai,ikata,imabari,iyo,kamijima,kihoku,kumakogen,masaki,matsuno,matsuyama,namikata,niihama,ozu,saijo,seiyo,shikokuchuo,tobe,toon,uchiko,uwajima,yawatahamaechizen,eiheiji,fukui,ikeda,katsuyama,mihama,minamiechizen,obama,ohi,ono,sabae,sakai,takahama,tsuruga,wakasaashiya,buzen,chikugo,chikuho,chikujo,chikushino,chikuzen,chuo,dazaifu,fukuchi,hakata,higashi,hirokawa,hisayama,iizuka,inatsuki,kaho,kasuga,kasuya,kawara,keisen,koga,kurate,kurogi,kurume,minami,miyako,miyama,miyawaka,mizumaki,munakata,nakagawa,nakama,nishi,nogata,ogori,okagaki,okawa,oki,omuta,onga,onojo,oto,saigawa,sasaguri,shingu,shinyoshitomi,shonai,soeda,sue,tachiarai,tagawa,takata,toho,toyotsu,tsuiki,ukiha,umi,usui,yamada,yame,yanagawa,yukuhashiaizubange,aizumisato,aizuwakamatsu,asakawa,bandai,date,fukushima,furudono,futaba,hanawa,higashi,hirata,hirono,iitate,inawashiro,ishikawa,iwaki,izumizaki,kagamiishi,kaneyama,kawamata,kitakata,kitashiobara,koori,koriyama,kunimi,miharu,mishima,namie,nango,nishiaizu,nishigo,okuma,omotego,ono,otama,samegawa,shimogo,shirakawa,showa,soma,sukagawa,taishin,tamakawa,tanagura,tenei,yabuki,yamato,yamatsuri,yanaizu,yugawaanpachi,ena,gifu,ginan,godo,gujo,hashima,hichiso,hida,higashishirakawa,ibigawa,ikeda,kakamigahara,kani,kasahara,kasamatsu,kawaue,kitagata,mino,minokamo,mitake,mizunami,motosu,nakatsugawa,ogaki,sakahogi,seki,sekigahara,shirakawa,tajimi,takayama,tarui,toki,tomika,wanouchi,yamagata,yaotsu,yoroannaka,chiyoda,fujioka,higashiagatsuma,isesaki,itakura,kanna,kanra,katashina,kawaba,kiryu,kusatsu,maebashi,meiwa,midori,minakami,naganohara,nakanojo,nanmoku,numata,oizumi,ora,ota,shibukawa,shimonita,shinto,showa,takasaki,takayama,tamamura,tatebayashi,tomioka,tsukiyono,tsumagoi,ueno,yoshiokaasaminami,daiwa,etajima,fuchu,fukuyama,hatsukaichi,higashihiroshima,hongo,jinsekikogen,kaita,kui,kumano,kure,mihara,miyoshi,naka,onomichi,osakikamijima,otake,saka,sera,seranishi,shinichi,shobara,takeharaabashiri,abira,aibetsu,akabira,akkeshi,asahikawa,ashibetsu,ashoro,assabu,atsuma,bibai,biei,bifuka,bihoro,biratori,chippubetsu,chitose,date,ebetsu,embetsu,eniwa,erimo,esan,esashi,fukagawa,fukushima,furano,furubira,haboro,hakodate,hamatonbetsu,hidaka,higashikagura,higashikawa,hiroo,hokuryu,hokuto,honbetsu,horokanai,horonobe,ikeda,imakane,ishikari,iwamizawa,iwanai,kamifurano,kamikawa,kamishihoro,kamisunagawa,kamoenai,kayabe,kembuchi,kikonai,kimobetsu,kitahiroshima,kitami,kiyosato,koshimizu,kunneppu,kuriyama,kuromatsunai,kushiro,kutchan,kyowa,mashike,matsumae,mikasa,minamifurano,mombetsu,moseushi,mukawa,muroran,naie,nakagawa,nakasatsunai,nakatombetsu,nanae,nanporo,nayoro,nemuro,niikappu,niki,nishiokoppe,noboribetsu,numata,obihiro,obira,oketo,okoppe,otaru,otobe,otofuke,otoineppu,oumu,ozora,pippu,rankoshi,rebun,rikubetsu,rishiri,rishirifuji,saroma,sarufutsu,shakotan,shari,shibecha,shibetsu,shikabe,shikaoi,shimamaki,shimizu,shimokawa,shinshinotsu,shintoku,shiranuka,shiraoi,shiriuchi,sobetsu,sunagawa,taiki,takasu,takikawa,takinoue,teshikaga,tobetsu,tohma,tomakomai,tomari,toya,toyako,toyotomi,toyoura,tsubetsu,tsukigata,urakawa,urausu,uryu,utashinai,wakkanai,wassamu,yakumo,yoichiaioi,akashi,ako,amagasaki,aogaki,asago,ashiya,awaji,fukusaki,goshiki,harima,himeji,ichikawa,inagawa,itami,kakogawa,kamigori,kamikawa,kasai,kasuga,kawanishi,miki,minamiawaji,nishinomiya,nishiwaki,ono,sanda,sannan,sasayama,sayo,shingu,shinonsen,shiso,sumoto,taishi,taka,takarazuka,takasago,takino,tamba,tatsuno,toyooka,yabu,yashiro,yoka,yokawaami,asahi,bando,chikusei,daigo,fujishiro,hitachi,hitachinaka,hitachiomiya,hitachiota,ibaraki,ina,inashiki,itako,iwama,joso,kamisu,kasama,kashima,kasumigaura,koga,miho,mito,moriya,naka,namegata,oarai,ogawa,omitama,ryugasaki,sakai,sakuragawa,shimodate,shimotsuma,shirosato,sowa,suifu,takahagi,tamatsukuri,tokai,tomobe,tone,toride,tsuchiura,tsukuba,uchihara,ushiku,yachiyo,yamagata,yawara,yukianamizu,hakui,hakusan,kaga,kahoku,kanazawa,kawakita,komatsu,nakanoto,nanao,nomi,nonoichi,noto,shika,suzu,tsubata,tsurugi,uchinada,wajimafudai,fujisawa,hanamaki,hiraizumi,hirono,ichinohe,ichinoseki,iwaizumi,iwate,joboji,kamaishi,kanegasaki,karumai,kawai,kitakami,kuji,kunohe,kuzumaki,miyako,mizusawa,morioka,ninohe,noda,ofunato,oshu,otsuchi,rikuzentakata,shiwa,shizukuishi,sumita,tanohata,tono,yahaba,yamadaayagawa,higashikagawa,kanonji,kotohira,manno,marugame,mitoyo,naoshima,sanuki,tadotsu,takamatsu,tonosho,uchinomi,utazu,zentsujiakune,amami,hioki,isa,isen,izumi,kagoshima,kanoya,kawanabe,kinko,kouyama,makurazaki,matsumoto,minamitane,nakatane,nishinoomote,satsumasendai,soo,tarumizu,yusuiaikawa,atsugi,ayase,chigasaki,ebina,fujisawa,hadano,hakone,hiratsuka,isehara,kaisei,kamakura,kiyokawa,matsuda,minamiashigara,miura,nakai,ninomiya,odawara,oi,oiso,sagamihara,samukawa,tsukui,yamakita,yamato,yokosuka,yugawara,zama,zushiaki,geisei,hidaka,higashitsuno,ino,kagami,kami,kitagawa,kochi,mihara,motoyama,muroto,nahari,nakamura,nankoku,nishitosa,niyodogawa,ochi,okawa,otoyo,otsuki,sakawa,sukumo,susaki,tosa,tosashimizu,toyo,tsuno,umaji,yasuda,yusuharaamakusa,arao,aso,choyo,gyokuto,kamiamakusa,kikuchi,kumamoto,mashiki,mifune,minamata,minamioguni,nagasu,nishihara,oguni,ozu,sumoto,takamori,uki,uto,yamaga,yamato,yatsushiroayabe,fukuchiyama,higashiyama,ide,ine,joyo,kameoka,kamo,kita,kizu,kumiyama,kyotamba,kyotanabe,kyotango,maizuru,minami,minamiyamashiro,miyazu,muko,nagaokakyo,nakagyo,nantan,oyamazaki,sakyo,seika,tanabe,uji,ujitawara,wazuka,yamashina,yawataasahi,inabe,ise,kameyama,kawagoe,kiho,kisosaki,kiwa,komono,kumano,kuwana,matsusaka,meiwa,mihama,minamiise,misugi,miyama,nabari,shima,suzuka,tado,taiki,taki,tamaki,toba,tsu,udono,ureshino,watarai,yokkaichifurukawa,higashimatsushima,ishinomaki,iwanuma,kakuda,kami,kawasaki,marumori,matsushima,minamisanriku,misato,murata,natori,ogawara,ohira,onagawa,osaki,rifu,semine,shibata,shichikashuku,shikama,shiogama,shiroishi,tagajo,taiwa,tome,tomiya,wakuya,watari,yamamoto,zaoaya,ebino,gokase,hyuga,kadogawa,kawaminami,kijo,kitagawa,kitakata,kitaura,kobayashi,kunitomi,kushima,mimata,miyakonojo,miyazaki,morotsuka,nichinan,nishimera,nobeoka,saito,shiiba,shintomi,takaharu,takanabe,takazaki,tsunoachi,agematsu,anan,aoki,asahi,azumino,chikuhoku,chikuma,chino,fujimi,hakuba,hara,hiraya,iida,iijima,iiyama,iizuna,ikeda,ikusaka,ina,karuizawa,kawakami,kiso,kisofukushima,kitaaiki,komagane,komoro,matsukawa,matsumoto,miasa,minamiaiki,minamimaki,minamiminowa,minowa,miyada,miyota,mochizuki,nagano,nagawa,nagiso,nakagawa,nakano,nozawaonsen,obuse,ogawa,okaya,omachi,omi,ookuwa,ooshika,otaki,otari,sakae,sakaki,saku,sakuho,shimosuwa,shinanomachi,shiojiri,suwa,suzaka,takagi,takamori,takayama,tateshina,tatsuno,togakushi,togura,tomi,ueda,wada,yamagata,yamanouchi,yasaka,yasuokachijiwa,futsu,goto,hasami,hirado,iki,isahaya,kawatana,kuchinotsu,matsuura,nagasaki,obama,omura,oseto,saikai,sasebo,seihi,shimabara,shinkamigoto,togitsu,tsushima,unzenando,gose,heguri,higashiyoshino,ikaruga,ikoma,kamikitayama,kanmaki,kashiba,kashihara,katsuragi,kawai,kawakami,kawanishi,koryo,kurotaki,mitsue,miyake,nara,nosegawa,oji,ouda,oyodo,sakurai,sango,shimoichi,shimokitayama,shinjo,soni,takatori,tawaramoto,tenkawa,tenri,uda,yamatokoriyama,yamatotakada,yamazoe,yoshinoaga,agano,gosen,itoigawa,izumozaki,joetsu,kamo,kariwa,kashiwazaki,minamiuonuma,mitsuke,muika,murakami,myoko,nagaoka,niigata,ojiya,omi,sado,sanjo,seiro,seirou,sekikawa,shibata,tagami,tainai,tochio,tokamachi,tsubame,tsunan,uonuma,yahiko,yoita,yuzawabeppu,bungoono,bungotakada,hasama,hiji,himeshima,hita,kamitsue,kokonoe,kuju,kunisaki,kusu,oita,saiki,taketa,tsukumi,usa,usuki,yufuakaiwa,asakuchi,bizen,hayashima,ibara,kagamino,kasaoka,kibichuo,kumenan,kurashiki,maniwa,misaki,nagi,niimi,nishiawakura,okayama,satosho,setouchi,shinjo,shoo,soja,takahashi,tamano,tsuyama,wake,yakageaguni,ginowan,ginoza,gushikami,haebaru,higashi,hirara,iheya,ishigaki,ishikawa,itoman,izena,kadena,kin,kitadaito,kitanakagusuku,kumejima,kunigami,minamidaito,motobu,nago,naha,nakagusuku,nakijin,nanjo,nishihara,ogimi,okinawa,onna,shimoji,taketomi,tarama,tokashiki,tomigusuku,tonaki,urasoe,uruma,yaese,yomitan,yonabaru,yonaguni,zamamiabeno,chihayaakasaka,chuo,daito,fujiidera,habikino,hannan,higashiosaka,higashisumiyoshi,higashiyodogawa,hirakata,ibaraki,ikeda,izumi,izumiotsu,izumisano,kadoma,kaizuka,kanan,kashiwara,katano,kawachinagano,kishiwada,kita,kumatori,matsubara,minato,minoh,misaki,moriguchi,neyagawa,nishi,nose,osakasayama,sakai,sayama,sennan,settsu,shijonawate,shimamoto,suita,tadaoka,taishi,tajiri,takaishi,takatsuki,tondabayashi,toyonaka,toyono,yaoariake,arita,fukudomi,genkai,hamatama,hizen,imari,kamimine,kanzaki,karatsu,kashima,kitagata,kitahata,kiyama,kouhoku,kyuragi,nishiarita,ogi,omachi,ouchi,saga,shiroishi,taku,tara,tosu,yoshinogariarakawa,asaka,chichibu,fujimi,fujimino,fukaya,hanno,hanyu,hasuda,hatogaya,hatoyama,hidaka,higashichichibu,higashimatsuyama,honjo,ina,iruma,iwatsuki,kamiizumi,kamikawa,kamisato,kasukabe,kawagoe,kawaguchi,kawajima,kazo,kitamoto,koshigaya,kounosu,kuki,kumagaya,matsubushi,minano,misato,miyashiro,miyoshi,moroyama,nagatoro,namegawa,niiza,ogano,ogawa,ogose,okegawa,omiya,otaki,ranzan,ryokami,saitama,sakado,satte,sayama,shiki,shiraoka,soka,sugito,toda,tokigawa,tokorozawa,tsurugashima,urawa,warabi,yashio,yokoze,yono,yorii,yoshida,yoshikawa,yoshimiaisho,gamo,higashiomi,hikone,koka,konan,kosei,koto,kusatsu,maibara,moriyama,nagahama,nishiazai,notogawa,omihachiman,otsu,ritto,ryuoh,takashima,takatsuki,torahime,toyosato,yasuakagi,ama,gotsu,hamada,higashiizumo,hikawa,hikimi,izumo,kakinoki,masuda,matsue,misato,nishinoshima,ohda,okinoshima,okuizumo,shimane,tamayu,tsuwano,unnan,yakumo,yasugi,yatsukaarai,atami,fuji,fujieda,fujikawa,fujinomiya,fukuroi,gotemba,haibara,hamamatsu,higashiizu,ito,iwata,izu,izunokuni,kakegawa,kannami,kawanehon,kawazu,kikugawa,kosai,makinohara,matsuzaki,minamiizu,mishima,morimachi,nishiizu,numazu,omaezaki,shimada,shimizu,shimoda,shizuoka,susono,yaizu,yoshidaashikaga,bato,haga,ichikai,iwafune,kaminokawa,kanuma,karasuyama,kuroiso,mashiko,mibu,moka,motegi,nasu,nasushiobara,nikko,nishikata,nogi,ohira,ohtawara,oyama,sakura,sano,shimotsuke,shioya,takanezawa,tochigi,tsuga,ujiie,utsunomiya,yaitaaizumi,anan,ichiba,itano,kainan,komatsushima,matsushige,mima,minami,miyoshi,mugi,nakagawa,naruto,sanagochi,shishikui,tokushima,wajikiadachi,akiruno,akishima,aogashima,arakawa,bunkyo,chiyoda,chofu,chuo,edogawa,fuchu,fussa,hachijo,hachioji,hamura,higashikurume,higashimurayama,higashiyamato,hino,hinode,hinohara,inagi,itabashi,katsushika,kita,kiyose,kodaira,koganei,kokubunji,komae,koto,kouzushima,kunitachi,machida,meguro,minato,mitaka,mizuho,musashimurayama,musashino,nakano,nerima,ogasawara,okutama,ome,oshima,ota,setagaya,shibuya,shinagawa,shinjuku,suginami,sumida,tachikawa,taito,tama,toshimachizu,hino,kawahara,koge,kotoura,misasa,nanbu,nichinan,sakaiminato,tottori,wakasa,yazu,yonagoasahi,fuchu,fukumitsu,funahashi,himi,imizu,inami,johana,kamiichi,kurobe,nakaniikawa,namerikawa,nanto,nyuzen,oyabe,taira,takaoka,tateyama,toga,tonami,toyama,unazuki,uozu,yamadaarida,aridagawa,gobo,hashimoto,hidaka,hirogawa,inami,iwade,kainan,kamitonda,katsuragi,kimino,kinokawa,kitayama,koya,koza,kozagawa,kudoyama,kushimoto,mihama,misato,nachikatsuura,shingu,shirahama,taiji,tanabe,wakayama,yuasa,yuraasahi,funagata,higashine,iide,kahoku,kaminoyama,kaneyama,kawanishi,mamurogawa,mikawa,murayama,nagai,nakayama,nanyo,nishikawa,obanazawa,oe,oguni,ohkura,oishida,sagae,sakata,sakegawa,shinjo,shirataka,shonai,takahata,tendo,tozawa,tsuruoka,yamagata,yamanobe,yonezawa,yuzaabu,hagi,hikari,hofu,iwakuni,kudamatsu,mitou,nagato,oshima,shimonoseki,shunan,tabuse,tokuyama,toyota,ube,yuuchuo,doshi,fuefuki,fujikawa,fujikawaguchiko,fujiyoshida,hayakawa,hokuto,ichikawamisato,kai,kofu,koshu,kosuge,minami-alps,minobu,nakamichi,nanbu,narusawa,nirasaki,nishikatsura,oshino,otsuki,showa,tabayama,tsuru,uenohara,yamanakako,yamanashi*,!city*,!city*,!city*,!city*,!city*,!city*,!city<ac,co,go,info,me,mobi,ne,or,scorg,net,com,edu,gov,mil*edu,biz,net,org,gov,info,comorg,nom,gov,prd,tm,edu,mil,ass,com,coop,asso,presse,medecin,notaires,pharmaciens,veterinaire,gouvnet,org,edu,govcom,edu,gov,org,rep,traac,co,es,go,hs,kg,mil,ms,ne,or,pe,re,sc,busan,chungbuk,chungnam,daegu,daejeon,gangwon,gwangju,gyeongbuk,gyeonggi,gyeongnam,incheon,jeju,jeonbuk,jeonnam,seoul,ulsancom,edu,emb,gov,ind,net,orgcom,edu,net,orgorg,edu,net,gov,mil,comint,net,info,edu,gov,per,com,orgcom,edu,gov,net,orgcom,net,co,org,edu,govgov,sch,net,int,com,org,edu,ngo,soc,web,ltd,assn,grp,hotel,accom,edu,gov,org,netac,biz,co,edu,gov,info,net,org,scgovcom,edu,gov,org,mil,id,net,asn,confcom,net,gov,plc,edu,sch,med,org,idco,net,gov,org,ac,presstm,assoco,net,org,edu,ac,gov,its,privorg,nom,gov,prd,tm,edu,mil,com,cocom,org,net,edu,gov,inf,namecom,edu,gouv,gov,net,org,presse*gov,edu,orgcom,net,org,edu,govgovcom,edu,gov,net,orgcom,edu,net,orgcom,net,org,gov,ac,co,oraero,biz,com,coop,edu,gov,info,int,mil,museum,name,net,org,proac,biz,co,com,coop,edu,gov,int,museum,net,orgcom,org,gob,edu,netbiz,com,edu,gov,mil,name,net,orgac,adv,co,edu,gov,mil,net,orginfo,pro,name,school,or,dr,us,mx,ca,in,cc,tv,ws,mobi,co,com,orgasso,nomcom,net,per,rec,web,arts,firm,info,other,storecom,edu,gov,i,mil,mobi,name,net,org,schac,biz,co,com,edu,gob,in,info,int,mil,net,nom,org,webfhs,vgs,fylkesbibl,folkebibl,museum,idrett,priv,mil,stat,dep,kommune,herad,aa>gsgsgsgsgsgsgsgsgsgsgs
          gsgsgsgsgsgsgsgsgsgsbo,xn--b-5gabo,xn--b-5ga,heroy,xn--hery-iraheroy,sandexn--hery-ira,sandenesnesos,valer,xn--vler-qoaossandevalerxn--vler-qoa<*biz,info,gov,edu,org,net,comac,co,cri,geek,gen,govt,health,iwi,kiwi,maori,mil,xn--mori-qsa,net,org,parliament,schoolco,com,edu,gov,med,museum,net,org,proac,gob,com,org,sld,edu,net,ing,abo,med,nomedu,gob,nom,mil,org,com,netcom,org,edu*com,net,org,gov,edu,ngo,mil,icom,net,edu,org,fam,biz,web,gov,gob,gok,gon,gop,gos,infocom,net,org,aid,agro,atm,auto,biz,edu,gmina,gsm,info,mail,miasta,media,mil,nieruchomosci,nom,pc,powiat,priv,realestate,rel,sex,shop,sklep,sos,szkola,targi,tm,tourism,travel,turystyka,gov>ap,griw,ic,is,kmpsp,konsulat,kppsp,kwp,kwpsp,mup,mw,oia,oirm,oke,oow,oschr,oum,pa,pinb,piw,po,pr,psp,psse,pup,rzgw,sa,sdn,sko,so,sr,starostwo,ug,ugim,um,umig,upow,uppo,us,uw,uzs,wif,wiih,winb,wios,witd,wiw,wkz,wsa,wskr,wsse,wuoz,wzmiuw,zp,zpisdngov,co,org,edu,netcom,net,org,gov,edu,isla,pro,biz,info,name,est,prof,acaaa,aca,acct,avocat,bar,cpa,eng,jur,law,med,rechtedu,gov,sec,plo,com,org,netnet,gov,org,edu,int,publ,com,nomeco,ne,or,ed,go,belaucom,coop,edu,gov,mil,net,orgcom,edu,gov,mil,name,net,org,schasso,com,nomarts,com,firm,info,nom,nt,org,rec,store,tm,wwwac,co,edu,gov,in,orgac,co,coop,gov,mil,net,orgcom,net,org,gov,med,pub,edu,schcom,edu,gov,net,orgcom,gov,net,org,educom,net,org,edu,med,tv,gov,infoa,ac,b,bd,brand,c,d,e,f,fh,fhsk,fhv,g,h,i,k,komforb,kommunalforbund,komvux,l,lanbib,m,n,naturbruksgymn,o,org,p,parti,pp,press,r,s,t,tm,u,w,x,y,zcom,net,org,gov,edu,percom,net,gov,org,milcom,net,edu,gov,orgart,com,edu,gouv,org,perso,univcom,edu,gov,me,net,orgbiz,com,edu,gov,me,net,org,schco,com,consulado,edu,embaixada,mil,net,org,principe,saotome,storecom,edu,gob,org,redgovedu,gov,net,mil,com,orgco,ac,orgac,co,go,in,mi,net,orac,biz,co,com,edu,go,gov,int,mil,name,net,nic,org,test,webgovcom,co,org,net,nom,gov,mil,educom,ens,fin,gov,ind,info,intl,mincom,nat,net,org,perso,tourismcom,gov,net,org,edu,milav,bbs,bel,biz,com,dr,edu,gen,gov,info,mil,k12,kep,name,net,org,pol,tel,tsk,tv,web,nc>gov<co,com,org,net,biz,info,pro,int,coop,jobs,mobi,travel,museum,aero,name,gov,eduedu,gov,mil,com,net,org,idv,game,ebiz,club,xn--zf0ao64a,xn--uc0atv,xn--czrw28bac,co,go,hotel,info,me,mil,mobi,ne,or,sc,tvcom,edu,gov,in,net,org,cherkassy,cherkasy,chernigov,chernihiv,chernivtsi,chernovtsy,ck,cn,cr,crimea,cv,dn,dnepropetrovsk,dnipropetrovsk,donetsk,dp,if,ivano-frankivsk,kh,kharkiv,kharkov,kherson,khmelnitskiy,khmelnytskyi,kiev,kirovograd,km,kr,kropyvnytskyi,krym,ks,kv,kyiv,lg,lt,lugansk,luhansk,lutsk,lv,lviv,mk,mykolaiv,nikolaev,od,odesa,odessa,pl,poltava,rivne,rovno,rv,sb,sebastopol,sevastopol,sm,sumy,te,ternopil,uz,uzhgorod,uzhhorod,vinnica,vinnytsia,vn,volyn,yalta,zakarpattia,zaporizhzhe,zaporizhzhia,zhitomir,zhytomyr,zp,ztco,or,ac,sc,go,ne,com,orgac,co,gov,ltd,me,net,nhs,org,plc,police,sch>*<dni,fed,isa,kids,nsn,ak>k12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcck12,cc,libk12,cc,libk12,cc,libcc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12>pvt,chtr,parochk12,cc,libk12,cc,libk12,cc,lib,ann-arbor,cog,dst,eaton,gen,mus,tec,washtenawk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcc,libk12,cc,libcc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libk12,cc,libcck12,cc,lib<com,edu,gub,mil,net,orgco,com,net,orgcom,net,org,gov,mil,eduarts,bib,co,com,e12,edu,firm,gob,gov,info,int,mil,net,nom,org,rar,rec,store,tec,webco,com,k12,net,orgac,ai,biz,com,edu,gov,health,id,info,int,io,name,net,org,pro,angiang,bacgiang,backan,baclieu,bacninh,baria-vungtau,bentre,binhdinh,binhduong,binhphuoc,binhthuan,camau,cantho,caobang,daklak,daknong,danang,dienbien,dongnai,dongthap,gialai,hagiang,haiduong,haiphong,hanam,hanoi,hatinh,haugiang,hoabinh,hungyen,khanhhoa,kiengiang,kontum,laichau,lamdong,langson,laocai,longan,namdinh,nghean,ninhbinh,ninhthuan,phutho,phuyen,quangbinh,quangnam,quangngai,quangninh,quangtri,soctrang,sonla,tayninh,thaibinh,thainguyen,thanhhoa,thanhphohochiminh,thuathienhue,tiengiang,travinh,tuyenquang,vinhlong,vinhphuc,yenbaicom,edu,net,orgcom,net,org,gov,eduxn--55qx5d,xn--wcvs22d,xn--mxtq1m,xn--gmqw5a,xn--od0alg,xn--uc0atvxn--o1ac,xn--c1avg,xn--90azh,xn--d1at,xn--o1ach,xn--80auxn--12c1fe0br,xn--12co0c3b4eva,xn--h3cuzk1di,xn--o3cyx2a,xn--m3ch0j3a,xn--12cfi8ixb8lcom,edu,gov,net,mil,orgac,agric,alt,co,edu,gov,grondar,law,mil,net,ngo,nic,nis,nom,org,school,tm,webac,biz,co,com,edu,gov,info,mil,net,org,schac,co,gov,mil,org12chars,panel,autocode,lcl>*****user>*<archer,bones,canary,global,hacker,id,janeway,kim,kira,kirk,odo,paris,picard,pike,prerelease,reed,riker,sisko,spock,staging,sulu,tarpit,teams,tucker,wesley,worf*<12chars,blogspot,ibxos,iliadboxos,neen>jcopen>jelastic>cloud<<<16-b,32-b,64-b,123homepage,myspreadshop,syncloud12chars,cloudns,dnstrace>bcicc,inf,ltd,cx,ie,biz,co,pp,v611,oya,rdv,x0,vpnplus,quickconnect>directa2hosted,cpserver,devcdnaccesso>*dev>*<af-south-1>execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointexecute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websiteexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,dualstack>s3,s3-accesspointwebview-assetsvfs<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspointwebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fipswebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fipsexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fipsexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-accesspoint-fips,s3-fips,s3-websitewebview-assetsvfs,webview-assets<**ap-northeast-1>***************<accesspoint>mrap<*<af-south-1>authauthauthauthauthauthauthauthauthauthauthauthauthauthauthauthauthauthauth,auth-fipsauth,auth-fipsauth-fipsauth,auth-fipsauth,auth-fips<**af-south-1,ap-east-1,ap-northeast-1,ap-northeast-2,ap-northeast-3,ap-south-1,ap-southeast-1,ap-southeast-2,ap-southeast-3,ca-central-1,eu-central-1,eu-north-1,eu-south-1,eu-west-1,eu-west-2,eu-west-3,il-central-1,me-south-1,sa-east-1,us-east-1,us-east-2,us-gov-east-1,us-gov-west-1,us-west-1,us-west-2**,oci>***<demo,instance*eu-1,eu-2,eu-3,eu-4,us-1,us-2,us-3,us-4*r>*<paasrag-cloud,rag-cloud-chjcloud,jcloud-ver-jpcdemopaasjed,lon,rydcns>*<appmembers,nodebalancer>*<*ipappseucloudapp>*<customer,caracal,fentiger,lynx,ocelot,oncilla,onza,sphinx,vs,x,yalicloud<4u,nfshost,001www,ddnslive,myiphost,blogsyte,ciscofreak,damnserver,ditchyourip,dnsiskinky,dynns,geekgalaxy,health-carereform,homesecuritymac,homesecuritypc,myactivedirectory,mysecuritycamera,net-freaks,onthewifi,point2this,quicksytes,securitytactics,serveexchange,servehumour,servep2p,servesarcasm,stufftoread,unusualperson,workisboring,3utilities,ddnsking,myvnc,servebeer,servecounterstrike,serveftp,servegame,servehalflife,servehttp,serveirc,servemp3,servepics,servequake,observableusercontent>static*xeneu*appbuilder>***<platform>code-builder-stg>test>001>*<<<<alpha,betaapisitepro*pagesjsu2,u2-localgraphox,cloudns,drud,is-by,land-4-sale,stuff-4-sale,enscaled>phxlib<on-acorn>*app,backyards>*<s>*<uk0dyndnsid*paassekd1cloud-fr1*ap,au,eu,in,jp,sa,usstagemocksys>*<g**devicesapps**dev>cust,reservdcust,reservdcustcust,reservd<activetrail,cloudns,jozi,dyndns,for-better,for-more,for-some,for-the,selfip,webhop,orx,mmafan,myftp,no-ip,dscloudadaptable,beget>*****idprivatelinkaem,hlx,ewp>*<adobeaemcloud,adobeio-static,adobeioruntime,akadns,akamai,akamai-staging,akamaiedge,akamaiedge-staging,akamaihd,akamaihd-staging,akamaiorigin,akamaiorigin-staging,akamaized,akamaized-staging,edgekey,edgekey-staging,edgesuite,edgesuite-staging,alwaysdata,myamaze,cloudfront,t3l3p0rt,appudo,atlassian-dev>prod>cdn<r*umapfreetls,map,prod>a,globala,b,global<fra1-de,west1-usjls-sto1,jls-sto2,jls-sto3paas>fr-1,lon-1,lon-2,ny-1,ny-2,sg-1<jelastic,nordeste-idcjjelastic1,2,3,4,5,6,7,centralus,eastasia,eastus2,westeurope,westus2core>blobwebpaas>**<jelastic>atl,njs,ric<soc,userbetac>*<pagesstorage,websiteaem,hlx,hlx3,translated,codeberg,pdns,plesk,prvcy,rocky,magnetbeep,ecommerce-shop,shoparena,homesklep,sdscloud,unicloud,krasnik,leczna,lubartow,lublin,poniatowa,swidnik,co,torun,simplesite,art,gliwice,krakow,poznan,wroc,zakopane,myspreadshop,gda,gdansk,gdynia,med,sopotairkitapps,mycd,cloudns,dogado>jelastic*barsy,awdev>*compute>*<alces>*altervista,amune>telec,rscorigin>ssl<go,homeal,asso,at,au,be,bg,ca,cd,ch,cn,cy,cz,de,dk,edu,ee,es,fi,fr,gr,hr,hu,ie,il,in,int,is,it,jp,kr,lt,lu,lv,mc,me,mk,mt,my,net,ng,nl,no,nz,paris,pl,pt,q-a,ro,ru,se,si,sk,tr,uk,uscloud,os>appos>app<<s3com>amazonaws>cn-north-1>execute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint,s3-websiteexecute-api,emrappui-prod,emrnotebooks-prod,emrstudio-prod,dualstack>s3,s3-accesspoint*cn-north-1>**<cn-north-1,cn-northwest-1*<cn-north-1>notebook,studionotebook,studio<<my>*<direct<sagemaker>af-south-1>notebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebooknotebook,studionotebook,studionotebook,studionotebooknotebook,notebook-fips,studionotebook,notebook-fipsnotebook,studionotebooknotebook,studionotebook,studionotebooknotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,studionotebook,notebook-fips,studionotebook,notebook-fips,studionotebook,notebook-fips,studio,studio-fipsnotebook,notebook-fips,studio,studio-fipsnotebook,studionotebook,notebook-fips,studio<private>*<<eero,eero-stage,barsyf5,gitapp,gitpage,blogspotne>aseinet>userisk01>s3s3<rs,usergv>d<0eparty>user<advisor>*rs,blogspotbanzai>*eu*es-1viparuba>eur>it1<cstn,ukukca,uk,usch,de**baremetal>fr-par-1,fr-par-2,nl-ams-1cockpit,fnc>functionsnodespriv,pubcockpit,k8s>nodescockpit,k8s>nodesruns*base,officialbase,hoplix,barsypagesbnr,cofsquare7,blogspot,flow>ae>alp1*,svc>*<<12hp,2ix,4lima,lima-citybplaced,square7,com,cosidns>dyndyn,dyndnsdyn*it>pages<customer*brendly>shopco>bytemark>dh,vmjcustcampaign,service,apiglug,lug,lugs,affinitylottery,raffleentry,weeklylotterycanva>my>*<***drr,feedback,formsuwucarrd,crd,otap>*blogspotididjucom,blogspot,conf,iopsys,123minsida,itcouldbewor,myspreadshop,paba>su<za,gsjweb,cloudns,co>cyclicaus,nzradio,blogspot,neko,nyaaradio,user>*<discoursediscourse,jelasticc66,daplie>localhostsitecloud66,hs,triton>*cloudaccess,freesite,easypanel,fastvps,myfast,tempurl,wpmudev,jele,mircloud,pcloud,halfco,realm,e4,blogspot,metacentrum>cloud>*cloud>flt,usr<<cloudnscloudns,jele,barsycloudns,ftpaccess,game-server,myphotos,scrapping,twmail,csx,fantasyleague,spawn>instances<cloudns,dynamic-dns,dyndns,barrel-of-knowledge,barrell-of-knowledge,for-our,groks-the,groks-this,here-for-more,knowsitall,selfip,webhop,barsy,mayfirst,forumz,nsupdate,dvrcam,ilovecollege,no-ip,dnsupdate,v-infocloudns,x443cnpyco,hosting-cluster,blogspot,gov,khplay,123website,myspreadshop,transurl>*co,blogspot,123hjemmeside,myspreadshopwebhosting,blogspot,interhostsolutions>cloudezproxy<123website,myspreadshop,transurl>*<ac,edu,gov,int,mil,test,eurodir,adygeya,bashkiria,bir,cbg,com,dagestan,grozny,kalmykia,kustanai,marine,mordovia,msk,mytis,nalchik,nov,pyatigorsk,spb,vladikavkaz,vladimir,blogspot,na4u,mircloud,regruhosting>jelastichosting>****<hbvpscrisp>on<cupcake,blogspotcyon,mypep,dweb>*<biz,co,firm,reg,store,blogspot,123hjemmeside,myspreadshopdapps>*,bzz>*<<my>rss>*<blogspotdiher>*<online,shopbip,hashbang,platform>ent,eu,usdy,blogspot,xn--hkkinen-5wa,iki,cloudplatform>fidemo,paasdyndns,better-than,on-the-web,worse-than,from,sakuraath,info,assessments,calculators,funnels,paynow,quizzes,researched,testsher>forgotforgot<merseine,mine,shacknet,enterprisecloudmyddns,stackit,lima-city,webspaceblogsite,localzone,crafting,zapto,telebit>*<elementor,deen-root,fbx-os,fbxos,freebox-os,freeboxos,blogspot,goupile,123siteweb,on-web,chirurgiens-dentistes-en-france,dedibox,aeroport,avocat,chambagri,chirurgiens-dentistes,experts-comptables,medecin,notaires,pharmacien,port,veterinaire,myspreadshop,ynhonred>staging*com>mymailerabkhazia,adygeya,aktyubinsk,arkhangelsk,armenia,ashgabad,azerbaijan,balashov,bashkiria,bryansk,bukhara,chimkent,dagestan,east-kazakhstan,exnet,georgia,grozny,ivanovo,jambyl,kalmykia,kaluga,karacol,karaganda,karelia,khakassia,krasnodar,kurgan,kustanai,lenug,mangyshlak,mordovia,msk,murmansk,nalchik,navoi,north-kazakhstan,nov,obninsk,penza,pokrovsk,sochi,spb,tashkent,termez,togliatti,troitsk,tselinograd,tula,tuva,vladikavkaz,vladimir,vologdamyfast,uber,xs4allframerframerframerframerco>ravpage,blogspot,tabitorder,mytabit<funkfeuer>wien*,ex>**<ex>**<blogspotlab,minisitenog,ravendb,myforumco,shop,blogspot,barsycloudapps>london<rocloud,translate,usercontent>*<blogspotblogspotblogspot,barsyblogspotblogspotblogspotco>blogspot<co>blogspot<co>blogspot<com>blogspot<com>blogspot,cloudlets>melcom>blogspot,simplesiteac,al,am,ap,ba,ce,df,es,go,ma,mg,ms,mt,pa,pb,pe,pi,pr,rj,rn,ro,rr,rs,sc,se,sp,to<com>blogspotcom>blogspot,scaleforce>j<<com>blogspot<com>blogspot<com>blogspot<123miweb,myspreadshopcom>blogspot<com>blogspotcom>blogspot<com>blogspot<blogspotblogspot,simplesiteblogspot,secaas,ltd,inc
          blogspot,freeblogspotblogspot,myspreadshopblogspot
        1. blogspot,caablogspotblogspot,123websiteblogspot,at,de,jp,toblogspotblogspotblogspotblogspotblogspotblogspot,123paginawebblogspotblogspotblogspot,enscaledblogspotblogspotblogspotblogspotblogspotfin,nlhs,development,ravendb,servers,build>****id>**biz,xxedu,gov>service<sch,surveysjcloud,kazteleport>upaas<orangecloudkaas,cya,stackit,panel>daemon<knightpointkoobin,coco,educococococoweloginlinebarsybarsy,dscloudbarsycn,blog,dev,mehranabu>ui<ngroknoticeablenow-dns,ntdllnerdpolnycomgopencrafttechown,nameowo>*<oypleycoprequalifymecloudsiterit>git-pages<xn--90amc,xn--j1aef,xn--j1ael8b,xn--h1ahn,xn--j1adp,xn--c1avg,xn--80aaa0cvac,xn--h1aliz,xn--90a1af,xn--41akirara,nohosellfy,shopware,storebasestatic>dev,sites<storj1337clanschbiz,schorgrouterbe,cat,es,eu,gg,mc,us,xyappblog,de,tobeccio,jp,tv,uk,usdeindiech,me,weatofficialyboyboyboyboybobss\";","import functionTimeout, {isTimeoutError} from 'function-timeout';\nimport timeSpan from 'time-span';\nimport cloneRegexp from 'clone-regexp'; // TODO: Use `structuredClone` instead when targeting Node.js 18.\n\nconst resultToMatch = result => ({\n\tmatch: result[0],\n\tindex: result.index,\n\tgroups: result.slice(1),\n\tnamedGroups: result.groups ?? {},\n\tinput: result.input,\n});\n\nexport function isMatch(regex, string, {timeout} = {}) {\n\ttry {\n\t\treturn functionTimeout(() => cloneRegexp(regex).test(string), {timeout})();\n\t} catch (error) {\n\t\tif (isTimeoutError(error)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthrow error;\n\t}\n}\n\nexport function firstMatch(regex, string, {timeout} = {}) {\n\ttry {\n\t\tconst result = functionTimeout(() => cloneRegexp(regex).exec(string), {timeout})();\n\n\t\tif (result === null) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn resultToMatch(result);\n\t} catch (error) {\n\t\tif (isTimeoutError(error)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthrow error;\n\t}\n}\n\nexport function matches(regex, string, {timeout = Number.POSITIVE_INFINITY, matchTimeout = Number.POSITIVE_INFINITY} = {}) {\n\tif (!regex.global) {\n\t\tthrow new Error('The regex must have the global flag, otherwise, use `firstMatch()` instead');\n\t}\n\n\treturn {\n\t\t* [Symbol.iterator]() {\n\t\t\ttry {\n\t\t\t\tconst matches = string.matchAll(regex); // The regex is only executed when iterated over.\n\n\t\t\t\twhile (true) {\n\t\t\t\t\tconst nextMatch = functionTimeout(() => matches.next(), {timeout: (timeout !== Number.POSITIVE_INFINITY || matchTimeout !== Number.POSITIVE_INFINITY) ? Math.min(timeout, matchTimeout) : undefined}); // `matches.next` must be called within an arrow function so that it doesn't loose its context.\n\n\t\t\t\t\tconst end = timeSpan();\n\t\t\t\t\tconst {value, done} = nextMatch();\n\t\t\t\t\ttimeout -= Math.ceil(end());\n\n\t\t\t\t\tif (done) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tyield resultToMatch(value);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (!isTimeoutError(error)) {\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n}\n","export default function timeSpan() {\n\tconst start = performance.now();\n\n\tconst end = () => performance.now() - start;\n\tend.rounded = () => Math.round(end());\n\tend.seconds = () => end() / 1000;\n\tend.nanoseconds = () => end() * 1000000;\n\n\treturn end;\n}\n","import { BareResponseFetch } from \"@mercuryworkshop/bare-mux\";\nimport IDBMap from \"@webreflection/idb-map\";\nimport { ParseResultType } from \"parse-domain\";\nimport { parse } from \"path\";\n\ndeclare global {\n\tinterface Window {\n\t\tScramjetServiceWorker;\n\t}\n}\n\nself.ScramjetServiceWorker = class ScramjetServiceWorker {\n\tclient: typeof self.$scramjet.shared.util.BareClient.prototype;\n\tconfig: typeof self.$scramjet.config;\n\n\tconstructor(config = self.$scramjet.config) {\n\t\tthis.client = new self.$scramjet.shared.util.BareClient();\n\t\tif (!config.prefix) config.prefix = \"/scramjet/\";\n\t\tthis.config = config;\n\t}\n\n\troute({ request }: FetchEvent) {\n\t\tif (request.url.startsWith(location.origin + this.config.prefix))\n\t\t\treturn true;\n\t\telse return false;\n\t}\n\n\tasync fetch({ request }: FetchEvent) {\n\t\tconst urlParam = new URLSearchParams(new URL(request.url).search);\n\t\tconst { encodeUrl, decodeUrl } = self.$scramjet.shared.url;\n\t\tconst {\n\t\t\trewriteHeaders,\n\t\t\trewriteHtml,\n\t\t\trewriteJs,\n\t\t\trewriteCss,\n\t\t\trewriteWorkers,\n\t\t} = self.$scramjet.shared.rewrite;\n\t\tconst { parseDomain } = self.$scramjet.shared.util;\n\n\t\tif (urlParam.has(\"url\")) {\n\t\t\treturn Response.redirect(\n\t\t\t\tencodeUrl(urlParam.get(\"url\"), new URL(urlParam.get(\"url\")))\n\t\t\t);\n\t\t}\n\n\t\ttry {\n\t\t\tconst url = new URL(decodeUrl(request.url));\n\n\t\t\tconst cookieStore = new IDBMap(url.host, {\n\t\t\t\tdurability: \"relaxed\",\n\t\t\t\tprefix: \"Cookies\",\n\t\t\t});\n\n\t\t\tconst response: BareResponseFetch = await this.client.fetch(url, {\n\t\t\t\tmethod: request.method,\n\t\t\t\tbody: request.body,\n\t\t\t\theaders: request.headers,\n\t\t\t\tcredentials: \"omit\",\n\t\t\t\tmode: request.mode === \"cors\" ? request.mode : \"same-origin\",\n\t\t\t\tcache: request.cache,\n\t\t\t\tredirect: request.redirect,\n\t\t\t\t//@ts-ignore why the fuck is this not typed mircosoft\n\t\t\t\tduplex: \"half\",\n\t\t\t});\n\n\t\t\tlet responseBody;\n\t\t\tconst responseHeaders = rewriteHeaders(response.rawHeaders, url);\n\n\t\t\tfor (const cookie of (responseHeaders[\"set-cookie\"] || []) as string[]) {\n\t\t\t\tlet cookieParsed = cookie.split(\";\").map((x) => x.trim().split(\"=\"));\n\n\t\t\t\tlet [key, value] = cookieParsed.shift();\n\t\t\t\tvalue = value.replace('\"', \"\");\n\n\t\t\t\tconst hostArg = cookieParsed.find((x) => x[0] === \"Domain\");\n\t\t\t\tcookieParsed = cookieParsed.filter((x) => x[0] !== \"Domain\");\n\t\t\t\tlet host = hostArg ? hostArg[1] : undefined;\n\n\t\t\t\tif (url.protocol === \"http\" && cookieParsed.includes([\"Secure\"]))\n\t\t\t\t\tcontinue;\n\t\t\t\tif (\n\t\t\t\t\tcookieParsed.includes([\"SameSite\", \"None\"]) &&\n\t\t\t\t\t!cookieParsed.includes([\"Secure\"])\n\t\t\t\t)\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (host && host !== url.host) {\n\t\t\t\t\tif (host.startsWith(\".\")) host = host.slice(1);\n\t\t\t\t\tconst urlDomain = parseDomain(url.hostname);\n\n\t\t\t\t\tif (urlDomain.type === ParseResultType.Listed) {\n\t\t\t\t\t\tconst { subDomains: _, domain, topLevelDomains } = urlDomain;\n\t\t\t\t\t\tif (!host.endsWith([domain, ...topLevelDomains].join(\".\")))\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst realCookieStore = new IDBMap(host, {\n\t\t\t\t\t\tdurability: \"relaxed\",\n\t\t\t\t\t\tprefix: \"Cookies\",\n\t\t\t\t\t});\n\t\t\t\t\trealCookieStore.set(key, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\targs: cookieParsed,\n\t\t\t\t\t\tsubdomain: true,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tcookieStore.set(key, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\targs: cookieParsed,\n\t\t\t\t\t\tsubdomain: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (let header in responseHeaders) {\n\t\t\t\t// flatten everything past here\n\t\t\t\tif (responseHeaders[header] instanceof Array)\n\t\t\t\t\tresponseHeaders[header] = responseHeaders[header][0];\n\t\t\t}\n\n\t\t\tif (response.body) {\n\t\t\t\tswitch (request.destination) {\n\t\t\t\t\tcase \"iframe\":\n\t\t\t\t\tcase \"document\":\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tresponseHeaders[\"content-type\"]\n\t\t\t\t\t\t\t\t?.toString()\n\t\t\t\t\t\t\t\t?.startsWith(\"text/html\")\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tresponseBody = rewriteHtml(await response.text(), url);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresponseBody = response.body;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"script\":\n\t\t\t\t\t\tresponseBody = rewriteJs(await response.text(), url);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"style\":\n\t\t\t\t\t\tresponseBody = rewriteCss(await response.text(), url);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"sharedworker\":\n\t\t\t\t\tcase \"worker\":\n\t\t\t\t\t\tresponseBody = rewriteWorkers(await response.text(), url);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tresponseBody = response.body;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// downloads\n\t\t\tif ([\"document\", \"iframe\"].includes(request.destination)) {\n\t\t\t\tconst header = responseHeaders[\"content-disposition\"];\n\n\t\t\t\t// validate header and test for filename\n\t\t\t\tif (!/\\s*?((inline|attachment);\\s*?)filename=/i.test(header)) {\n\t\t\t\t\t// if filename= wasn\"t specified then maybe the remote specified to download this as an attachment?\n\t\t\t\t\t// if it\"s invalid then we can still possibly test for the attachment/inline type\n\t\t\t\t\tconst type = /^\\s*?attachment/i.test(header)\n\t\t\t\t\t\t? \"attachment\"\n\t\t\t\t\t\t: \"inline\";\n\n\t\t\t\t\t// set the filename\n\t\t\t\t\tconst [filename] = new URL(response.finalURL).pathname\n\t\t\t\t\t\t.split(\"/\")\n\t\t\t\t\t\t.slice(-1);\n\n\t\t\t\t\tresponseHeaders[\"content-disposition\"] =\n\t\t\t\t\t\t`${type}; filename=${JSON.stringify(filename)}`;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (responseHeaders[\"accept\"] === \"text/event-stream\") {\n\t\t\t\tresponseHeaders[\"content-type\"] = \"text/event-stream\";\n\t\t\t}\n\t\t\tif (crossOriginIsolated) {\n\t\t\t\tresponseHeaders[\"Cross-Origin-Embedder-Policy\"] = \"require-corp\";\n\t\t\t}\n\n\t\t\treturn new Response(responseBody, {\n\t\t\t\theaders: responseHeaders as HeadersInit,\n\t\t\t\tstatus: response.status,\n\t\t\t\tstatusText: response.statusText,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tif (![\"document\", \"iframe\"].includes(request.destination))\n\t\t\t\treturn new Response(undefined, { status: 500 });\n\n\t\t\tconsole.error(err);\n\n\t\t\treturn renderError(err, decodeUrl(request.url));\n\t\t}\n\t}\n};\n\nfunction errorTemplate(trace: string, fetchedURL: string) {\n\t// turn script into a data URI so we don\"t have to escape any HTML values\n\tconst script = `\n errorTrace.value = ${JSON.stringify(trace)};\n fetchedURL.textContent = ${JSON.stringify(fetchedURL)};\n for (const node of document.querySelectorAll(\"#hostname\")) node.textContent = ${JSON.stringify(\n\t\t\t\t\tlocation.hostname\n\t\t\t\t)};\n reload.addEventListener(\"click\", () => location.reload());\n version.textContent = \"0.0.1\";\n `;\n\n\treturn `\n \n \n \n Error\n \n \n \n

          Error processing your request

          \n
          \n

          Failed to load

          \n

          Internal Server Error

          \n \n

          Try:

          \n
            \n
          • Checking your internet connection
          • \n
          • Verifying you entered the correct address
          • \n
          • Clearing the site data
          • \n
          • Contacting \"s administrator
          • \n
          • Verify the server isn\"t censored
          • \n
          \n

          If you\"re the administrator of , try:

          \n
            \n
          • Restarting your server
          • \n
          • Updating Scramjet
          • \n
          • Troubleshooting the error on the GitHub repository
          • \n
          \n \n
          \n

          Scramjet v

          \n \n - -\n \n `;\n}\n\n/**\n *\n * @param {unknown} err\n * @param {string} fetchedURL\n */\nfunction renderError(err, fetchedURL) {\n\tconst headers = {\n\t\t\"content-type\": \"text/html\",\n\t};\n\tif (crossOriginIsolated) {\n\t\theaders[\"Cross-Origin-Embedder-Policy\"] = \"require-corp\";\n\t}\n\n\treturn new Response(errorTemplate(String(err), fetchedURL), {\n\t\tstatus: 500,\n\t\theaders: headers,\n\t});\n}\n"],"names":["IDBMap","ParseResultType","self","ScramjetServiceWorker","config","$scramjet","client","shared","util","BareClient","prefix","route","param","request","url","startsWith","location","origin","fetch","urlParam","_self_$scramjet_shared_url","encodeUrl","decodeUrl","_self_$scramjet_shared_rewrite","rewriteHeaders","rewriteHtml","rewriteJs","rewriteCss","rewriteWorkers","parseDomain","cookieStore","response","responseBody","responseHeaders","_iteratorError","cookie","cookieParsed","_cookieParsed_shift","key","value","hostArg","host","urlDomain","_","domain","topLevelDomains","realCookieStore","header","_responseHeaders_contenttype_toString","header1","type","_pathname_split_slice","filename","err","URLSearchParams","URL","search","rewrite","has","Response","redirect","get","durability","method","body","headers","credentials","mode","cache","duplex","rawHeaders","split","map","x","trim","shift","replace","find","filter","undefined","protocol","includes","slice","hostname","Listed","subDomains","endsWith","concat","join","set","args","subdomain","_instanceof","Array","destination","toString","text","apply","test","finalURL","pathname","JSON","stringify","crossOriginIsolated","status","statusText","console","error","renderError","errorTemplate","trace","fetchedURL","script","encodeURIComponent","String"],"mappings":";;;;;;;;AAAA,QAAQ,SAAS;;AAEjB;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB,UAAU,kCAAkC;AAC5C,UAAU,QAAQ;AAClB;;AAEA,cAAc,wBAAwB;;AAEtC,WAAW,eAAe;AAC1B,yBAAyB;;AAEzB;AACA;AACA,aAAa,yBAAyB;AACtC,aAAa;AACb;AACA,kBAAkB,UAAU,UAAU;;AAEvB;AACf;AACA,aAAa,sBAAsB;AACnC,aAAa,eAAe;AAC5B,aAAa,QAAQ;;AAErB;AACA;AACA,aAAa,0CAA0C;AACvD,aAAa,0BAA0B;AACvC,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,0BAA0B,aAAa,GAAG,KAAK;AAC/C;AACA,4BAA4B,UAAU,uBAAuB;AAC7D;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,YAAY,2BAA2B;AACvC;AACA;AACA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,aAAa;AAC1B,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,aAAa;AAC1B,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;AC3MiC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,0CAA0C;AACzD,MAAM,qDAAQ;AACd;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;AC3BA;AACe;AACf;;AAEA;AACA,4BAA4B,gCAAgC;AAC5D;AACA,EAAE;;AAEF;AACA;;AAEO;AACP;AACA;;;;;;ACdA;;AAEA;AACA,sBAAsB,KAAK,QAAQ,KAAK;AACxC;;AAEA,wGAAwG,EAAE;;AAE1G,+BAA+B,IAAI;;AAEnC;AACA;AACA,KAAK,UAAU,GAAG,EAAE,KAAK,UAAU;AACnC,KAAK,UAAU,GAAG,EAAE,KAAK,GAAG,IAAI,UAAU;AAC1C,KAAK,UAAU,GAAG,EAAE,MAAM,GAAG,OAAO,UAAU,EAAE,IAAI;AACpD,KAAK,UAAU,GAAG,EAAE,SAAS,UAAU,EAAE,IAAI,GAAG,GAAG,OAAO,UAAU,EAAE,IAAI;AAC1E,KAAK,UAAU,GAAG,EAAE,SAAS,UAAU,EAAE,IAAI,GAAG,GAAG,OAAO,UAAU,EAAE,IAAI;AAC1E,KAAK,UAAU,GAAG,EAAE,SAAS,UAAU,EAAE,IAAI,GAAG,GAAG,OAAO,UAAU,EAAE,IAAI;AAC1E,KAAK,UAAU,GAAG,EAAE,SAAS,UAAU,EAAE,IAAI,GAAG,GAAG,OAAO,UAAU,EAAE,IAAI;AAC1E,aAAa,UAAU,EAAE,IAAI,GAAG,GAAG,OAAO,UAAU,EAAE,IAAI;AAC1D,iBAAiB,GAAG;AACpB;;AAEA;AACA,mCAAmC,GAAG,SAAS,GAAG;AAClD,+BAA+B,GAAG;AAClC,+BAA+B,GAAG;;AAElC;AACA;AACA,oBAAoB,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,OAAO,iBAAiB,EAAE,GAAG,EAAE,iBAAiB;;AAE7G,2EAA2E,iBAAiB,EAAE,GAAG,EAAE,iBAAiB;AACpH,2EAA2E,iBAAiB,EAAE,GAAG,EAAE,iBAAiB;;AAEpH,+DAAe,OAAO,EAAC;;;;;;;;;;;;;;ACnCQ;AACK;;AAEpC;AACA;;AAEA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEA,QAAQ,oDAAO,CAAC,oDAAO,EAAE,YAAY;AACrC;;AAEO;AACP;AACA;AACA;;AAEA,QAAQ,oDAAO,CAAC,mDAAU,EAAE,YAAY;AACxC;;AAEO;AACP;AACA;AACA;;AAEA,QAAQ,oDAAO,CAAC,mDAAU,EAAE,YAAY;AACxC;;AAEO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;AC1CA,OAAO,UAAU;;AAEF;AACf;AACA;;;;;;;;;;;;;;;;ACJ+D;AACV;AACa;AACjB;AAC1C;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,+BAA+B,sDAAQ;AACvC,oCAAoC,sEAA4B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,wEAA8B;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAAiG,8DAAS,CAAC,4DAAS;AACpH,yGAAyG,8DAAS,CAAC,4DAAW;AAC9H,sBAAsB,kEAAgB;AACtC,wBAAwB,kEAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mHAAmH;AAC9I;AACA;;;;;;;;;;;;AC5FkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AAC1B;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AAC5C;AACP;AACA;AACA;AACA;AACA,CAAC,wDAAwD;AACzD;AACA;AACA;AACA,oCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,OAAO,2BAA2B,QAAQ,4CAA4C,kBAAkB;AACpI;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,MAAM,2BAA2B,QAAQ,qCAAqC,iBAAiB;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,MAAM,0BAA0B,QAAQ,4CAA4C,iBAAiB;AAChI;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,MAAM,gCAAgC,iBAAiB,cAAc,OAAO;AACvG;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,MAAM;AACtC;AACA;AACA;AACO,qCAAqC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,gDAAS;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iCAAiC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;AChMA;AACO,gBAAgB;AAChB,kBAAkB;AAClB,kBAAkB;AAClB,mBAAmB;AACnB,sBAAsB;AACtB,uBAAuB;AAC9B;;;;;;;;;ACP8C;AACvC;AACP;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oDAAmB;AACjD,kCAAkC,qDAAoB;AACtD;AACA;AACA,qCAAqC,oDAAmB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACxBO;AACA;AACA;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACrB8C;AACiC;AACxE;AACP,qBAAqB,yDAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,2DAAgB;AAC/B;AACA;AACA,oBAAoB,2BAA2B;AAC/C;AACA;AACA,iBAAiB,gDAAe;AAChC;AACA;AACA;AACA,iBAAiB,gDAAe;AAChC;AACA;AACA;AACA;AACA,iBAAiB,iDAAgB;AACjC;AACA;AACA;AACA;AACA,iBAAiB,8CAAa;AAC9B,wCAAwC,qDAAc;AACtD,4EAA4E,EAAE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC9CA,+DAAe,my7CAAmy7C;;;;;ACAlz7C,+DAAe,wl5BAAwl5B;;;;;;;;;;;;;ACAti5B;AAChC;AACM,CAAC;;AAExC;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,CAAC;;AAEM,iCAAiC,SAAS,IAAI;AACrD;AACA,SAAS,4DAAe,OAAO,wDAAW,uBAAuB,QAAQ;AACzE,GAAG;AACH,MAAM,gEAAc;AACpB;AACA;;AAEA;AACA;AACA;;AAEO,oCAAoC,SAAS,IAAI;AACxD;AACA,iBAAiB,4DAAe,OAAO,wDAAW,uBAAuB,QAAQ;;AAEjF;AACA;AACA;;AAEA;AACA,GAAG;AACH,MAAM,gEAAc;AACpB;AACA;;AAEA;AACA;AACA;;AAEO,iCAAiC,6EAA6E,IAAI;AACzH;AACA;AACA;;AAEA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA,uBAAuB,4DAAe,wBAAwB,2IAA2I,GAAG;;AAE5M,iBAAiB,qDAAQ;AACzB,YAAY,aAAa;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL,SAAS,gEAAc;AACvB;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;ACxEe;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACR4C;AACG;AAS/CE,KAAKC,qBAAqB,iBAAG;;aAAMA;YAItBC,SAAAA,iEAASF,KAAKG,SAAS,CAACD,MAAM;;QAH1C;QACA;QAGC,IAAI,CAACE,MAAM,GAAG,IAAIJ,KAAKG,SAAS,CAACE,MAAM,CAACC,IAAI,CAACC,UAAU;QACvD,IAAI,CAACL,OAAOM,MAAM,EAAEN,OAAOM,MAAM,GAAG;QACpC,IAAI,CAACN,MAAM,GAAGA;;;;YAGfO,KAAAA;mBAAAA,SAAAA,MAAMC,KAAuB;oBAArBC,UAAFD,MAAEC;gBACP,IAAIA,QAAQC,GAAG,CAACC,UAAU,CAACC,SAASC,MAAM,GAAG,IAAI,CAACb,MAAM,CAACM,MAAM,GAC9D,OAAO;qBACH,OAAO;YACb;;;YAEMQ,KAAAA;mBAAN,SAAMA,MAAMN,KAAuB;oBAArBC,UAAFD,MAAEC;;uBAAd;wBACOM,UAC2BC,4BAAzBC,WAAWC,WAOfC,gCALHC,gBACAC,aACAC,WACAC,YACAC,gBAEOC,aASDf,KAEAgB,aAKAC,UAYFC,cACEC,iBAEDC,2BAAAA,mBAAAA,gBAAAA,WAAAA,OAAMC,QACNC,cAEeC,qBAAdC,KAAKC,OAGJC,SAEFC,MAYGC,WAGeC,GAAGC,QAAQC,iBAO1BC,iBAkBCC,YAWLC,uCAAAA,8BA0BGC,SAMCC,MAKaC,uBAAZC,UAoBDC;;;;gCA5JHlC,WAAW,IAAImC,gBAAgB,IAAIC,IAAI1C,QAAQC,GAAG,EAAE0C,MAAM;gCAC/BpC,6BAAAA,KAAKf,SAAS,CAACE,MAAM,CAACO,GAAG,EAAlDO,YAAyBD,2BAAzBC,WAAWC,YAAcF,2BAAdE;gCAOfC,iCAAAA,KAAKlB,SAAS,CAACE,MAAM,CAACkD,OAAO,EALhCjC,iBAKGD,+BALHC,gBACAC,cAIGF,+BAJHE,aACAC,YAGGH,+BAHHG,WACAC,aAEGJ,+BAFHI,YACAC,iBACGL,+BADHK;gCAEOC,cAAgB3B,KAAKG,SAAS,CAACE,MAAM,CAACC,IAAI,CAA1CqB;gCAER,IAAIV,SAASuC,GAAG,CAAC,QAAQ;oCACxB;;wCAAOC,SAASC,QAAQ,CACvBvC,UAAUF,SAAS0C,GAAG,CAAC,QAAQ,IAAIN,IAAIpC,SAAS0C,GAAG,CAAC;;gCAEtD;;;;;;;;;gCAGO/C,MAAM,IAAIyC,IAAIjC,UAAUT,QAAQC,GAAG;gCAEnCgB,cAAc,IAAI9B,8DAAMA,CAACc,IAAI2B,IAAI,EAAE;oCACxCqB,YAAY;oCACZpD,QAAQ;gCACT;gCAEoC;;oCAAM,MAAKJ,MAAM,CAACY,KAAK,CAACJ,KAAK;wCAChEiD,QAAQlD,QAAQkD,MAAM;wCACtBC,MAAMnD,QAAQmD,IAAI;wCAClBC,SAASpD,QAAQoD,OAAO;wCACxBC,aAAa;wCACbC,MAAMtD,QAAQsD,IAAI,KAAK,SAAStD,QAAQsD,IAAI,GAAG;wCAC/CC,OAAOvD,QAAQuD,KAAK;wCACpBR,UAAU/C,QAAQ+C,QAAQ;wCAC1B,qDAAqD;wCACrDS,QAAQ;oCACT;;;gCAVMtC,WAA8B;gCAa9BE,kBAAkBT,eAAeO,SAASuC,UAAU,EAAExD;gCAEvDoB,kCAAAA,2BAAAA;;oCAAL,IAAKA,YAAiBD,CAAAA,eAAe,CAAC,aAAa,MAAK,wBAAnDC,6BAAAA,QAAAA,yBAAAA,iCAAmE;wCAA7DC,SAAND;wCACAE,eAAeD,OAAOoC,KAAK,CAAC,KAAKC,GAAG,CAAC,SAACC;mDAAMA,EAAEC,IAAI,GAAGH,KAAK,CAAC;;wCAE5ClC,uCAAAA,aAAasC,KAAK,QAAhCrC,MAAcD,wBAATE,QAASF;wCACnBE,QAAQA,MAAMqC,OAAO,CAAC,KAAK;wCAErBpC,UAAUJ,aAAayC,IAAI,CAAC,SAACJ;mDAAMA,CAAC,CAAC,EAAE,KAAK;;wCAClDrC,eAAeA,aAAa0C,MAAM,CAAC,SAACL;mDAAMA,CAAC,CAAC,EAAE,KAAK;;wCAC/ChC,OAAOD,UAAUA,OAAO,CAAC,EAAE,GAAGuC;wCAElC,IAAIjE,IAAIkE,QAAQ,KAAK,UAAU5C,aAAa6C,QAAQ;4CAAE;4CACrD;wCACD,IACC7C,aAAa6C,QAAQ;4CAAE;4CAAY;8CACnC,CAAC7C,aAAa6C,QAAQ;4CAAE;4CAExB;wCAED,IAAIxC,QAAQA,SAAS3B,IAAI2B,IAAI,EAAE;4CAC9B,IAAIA,KAAK1B,UAAU,CAAC,MAAM0B,OAAOA,KAAKyC,KAAK,CAAC;4CACtCxC,YAAYb,YAAYf,IAAIqE,QAAQ;4CAE1C,IAAIzC,UAAUQ,IAAI,KAAKjD,gEAAsB,EAAE;gDAC1B0C,IAA+BD,UAA3C2C,YAAezC,SAA4BF,UAA5BE,QAAQC,kBAAoBH,UAApBG;gDAC/B,IAAI,CAACJ,KAAK6C,QAAQ,CAACC;oDAAC3C;kDAAD2C,OAAS,qBAAG1C,kBAAiB2C,IAAI,CAAC,OACpD;4CACF,OAAO;gDACN;4CACD;4CAEM1C,kBAAkB,IAAI9C,8DAAMA,CAACyC,MAAM;gDACxCqB,YAAY;gDACZpD,QAAQ;4CACT;4CACAoC,gBAAgB2C,GAAG,CAACnD,KAAK;gDACxBC,OAAOA;gDACPmD,MAAMtD;gDACNuD,WAAW;4CACZ;wCACD,OAAO;4CACN7D,YAAY2D,GAAG,CAACnD,KAAK;gDACpBC,OAAOA;gDACPmD,MAAMtD;gDACNuD,WAAW;4CACZ;wCACD;oCACD;;oCA9CKzD;oCAAAA;;;6CAAAA,6BAAAA;4CAAAA;;;4CAAAA;kDAAAA;;;;gCAgDL,IAAK,IAAIa,UAAUd,gBAAiB;oCACnC,+BAA+B;oCAC/B,IAA2B2D,YAAvB3D,eAAe,CAACc,OAAO6C,EAAYC,QACtC5D,eAAe,CAACc,OAAO,GAAGd,eAAe,CAACc,OAAO,CAAC,EAAE;gCACtD;qCAEIhB,SAASiC,IAAI,EAAbjC;;;;qCACKlB,QAAQiF,WAAW;;yCACrB;wCAAA;;;;yCACA;wCAAA;;;;yCAWA;wCAAA;;;;yCAGA;wCAAA;;;;yCAGA;wCAAA;;;;yCACA;wCAAA;;;;;;;;;;uCAhBH9C,+BAAAA,eAAe,CAAC,eAAe,cAA/BA,oDAAAA,wCAAAA,6BACG+C,QAAQ,gBADX/C,4DAAAA,sCAEGjC,UAAU,CAAC;;;;gCAEa;;oCAAMgB,SAASiE,IAAI;;;gCAA9ChE,eAAeiE,YAAAA;oCAAY;oCAAuBnF;;;;;;;gCAElDkB,eAAeD,SAASiC,IAAI;;;gCAE7B;;;;;gCAEyB;;oCAAMjC,SAASiE,IAAI;;;gCAA5ChE,eAAeiE,UAAAA;oCAAU;oCAAuBnF;;gCAChD;;;;;gCAE0B;;oCAAMiB,SAASiE,IAAI;;;gCAA7ChE,eAAeiE,WAAAA;oCAAW;oCAAuBnF;;gCACjD;;;;;gCAG8B;;oCAAMiB,SAASiE,IAAI;;;gCAAjDhE,eAAeiE,eAAAA;oCAAe;oCAAuBnF;;gCACrD;;;;;gCAEAkB,eAAeD,SAASiC,IAAI;gCAC5B;;;;;gCAGH,YAAY;gCACZ,IAAI;oCAAC;oCAAY;kCAAUiB,QAAQ,CAACpE,QAAQiF,WAAW,GAAG;oCACnD7C,UAAShB,eAAe,CAAC,sBAAsB;oCAErD,wCAAwC;oCACxC,IAAI,CAAC,2CAA2CiE,IAAI,CAACjD,UAAS;wCAC7D,mGAAmG;wCACnG,iFAAiF;wCAC3EC,OAAO,mBAAmBgD,IAAI,CAACjD,WAClC,eACA;wCAEH,mBAAmB;wCACAE,yCAAAA,IAAII,IAAIxB,SAASoE,QAAQ,EAAEC,QAAQ,CACpD7B,KAAK,CAAC,KACNW,KAAK,CAAC,CAAC,QAFF9B,WAAYD;wCAInBlB,eAAe,CAAC,sBAAsB,GACpC,GAAoBoE,OAAlBnD,MAAK,eAAsCqC,OAAzBc,KAAKC,SAAS,CAAClD;oCACtC;gCACD;gCACA,IAAInB,eAAe,CAAC,SAAS,KAAK,qBAAqB;oCACtDA,eAAe,CAAC,eAAe,GAAG;gCACnC;gCACA,IAAIsE,qBAAqB;oCACxBtE,eAAe,CAAC,+BAA+B,GAAG;gCACnD;gCAEA;;oCAAO,IAAI0B,SAAS3B,cAAc;wCACjCiC,SAAShC;wCACTuE,QAAQzE,SAASyE,MAAM;wCACvBC,YAAY1E,SAAS0E,UAAU;oCAChC;;;gCACQpD;gCACR,IAAI,CAAC;oCAAC;oCAAY;kCAAU4B,QAAQ,CAACpE,QAAQiF,WAAW,GACvD;;oCAAO,IAAInC,SAASoB,WAAW;wCAAEyB,QAAQ;oCAAI;;gCAE9CE,QAAQC,KAAK,CAACtD;gCAEd;;oCAAOuD,YAAYvD,KAAK/B,UAAUT,QAAQC,GAAG;;;;;;;;gBAE/C;;;;;;AAGD,SAAS+F,cAAcC,KAAa,EAAEC,UAAkB;IACvD,yEAAyE;IACzE,IAAMC,SAAU,gCAEkBX,OADNA,KAAKC,SAAS,CAACQ,QAAO,wCAEqCT,OADrDA,KAAKC,SAAS,CAACS,aAAY,6FAGxDxB,OAFkFc,KAAKC,SAAS,CACjGtF,SAASmE,QAAQ,GAChBI;IAKL,OAAQ,6vCAkCJA,OADA,iCAAiC0B,mBAAmBD,SACpDzB;AAIL;AAEA;;;;CAIC,GACD,SAASqB,YAAYvD,GAAG,EAAE0D,UAAU;IACnC,IAAM9C,UAAU;QACf,gBAAgB;IACjB;IACA,IAAIsC,qBAAqB;QACxBtC,OAAO,CAAC,+BAA+B,GAAG;IAC3C;IAEA,OAAO,IAAIN,SAASkD,cAAcK,OAAO7D,MAAM0D,aAAa;QAC3DP,QAAQ;QACRvC,SAASA;IACV;AACD"} \ No newline at end of file diff --git a/public/$/sw.js b/public/$/sw.js deleted file mode 100755 index ebf38c5..0000000 --- a/public/$/sw.js +++ /dev/null @@ -1,20 +0,0 @@ -importScripts( - '/$/scramjet.codecs.js', - '/$/scramjet.config.js', - '/$/scramjet.shared.js', - '/$/scramjet.worker.js' -); - -const scramjet = new ScramjetServiceWorker(); - -async function handleRequest(event) { - if (scramjet.route(event)) { - return scramjet.fetch(event); - } - - return fetch(event.request); -} - -self.addEventListener('fetch', event => { - event.respondWith(handleRequest(event)); -}); diff --git a/public/&.html b/public/&.html index 17b36f8..9169a1c 100644 --- a/public/&.html +++ b/public/&.html @@ -6,8 +6,7 @@ - - + - + + + + - + + + @@ -26,7 +27,7 @@ /> - + + +