945 lines
1.0 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[5],{
/***/ "./node_modules/@babel/parser/lib/index.js":
/*!*************************************************!*\
!*** ./node_modules/@babel/parser/lib/index.js ***!
\*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nclass BaseParser {\n constructor() {\n this.sawUnambiguousESM = false;\n this.ambiguousScriptDifferentAst = false;\n }\n\n hasPlugin(pluginConfig) {\n if (typeof pluginConfig === \"string\") {\n return this.plugins.has(pluginConfig);\n } else {\n const [pluginName, pluginOptions] = pluginConfig;\n\n if (!this.hasPlugin(pluginName)) {\n return false;\n }\n\n const actualOptions = this.plugins.get(pluginName);\n\n for (const key of Object.keys(pluginOptions)) {\n if ((actualOptions == null ? void 0 : actualOptions[key]) !== pluginOptions[key]) {\n return false;\n }\n }\n\n return true;\n }\n }\n\n getPluginOption(plugin, name) {\n var _this$plugins$get;\n\n return (_this$plugins$get = this.plugins.get(plugin)) == null ? void 0 : _this$plugins$get[name];\n }\n\n}\n\nfunction setTrailingComments(node, comments) {\n if (node.trailingComments === undefined) {\n node.trailingComments = comments;\n } else {\n node.trailingComments.unshift(...comments);\n }\n}\n\nfunction setLeadingComments(node, comments) {\n if (node.leadingComments === undefined) {\n node.leadingComments = comments;\n } else {\n node.leadingComments.unshift(...comments);\n }\n}\n\nfunction setInnerComments(node, comments) {\n if (node.innerComments === undefined) {\n node.innerComments = comments;\n } else {\n node.innerComments.unshift(...comments);\n }\n}\n\nfunction adjustInnerComments(node, elements, commentWS) {\n let lastElement = null;\n let i = elements.length;\n\n while (lastElement === null && i > 0) {\n lastElement = elements[--i];\n }\n\n if (lastElement === null || lastElement.start > commentWS.start) {\n setInnerComments(node, commentWS.comments);\n } else {\n setTrailingComments(lastElement, commentWS.comments);\n }\n}\n\nclass CommentsParser extends BaseParser {\n addComment(comment) {\n if (this.filename) comment.loc.filename = this.filename;\n this.state.comments.push(comment);\n }\n\n processComment(node) {\n const {\n commentStack\n } = this.state;\n const commentStackLength = commentStack.length;\n if (commentStackLength === 0) return;\n let i = commentStackLength - 1;\n const lastCommentWS = commentStack[i];\n\n if (lastCommentWS.start === node.end) {\n lastCommentWS.leadingNode = node;\n i--;\n }\n\n const {\n start: nodeStart\n } = node;\n\n for (; i >= 0; i--) {\n const commentWS = commentStack[i];\n const commentEnd = commentWS.end;\n\n if (commentEnd > nodeStart) {\n commentWS.containingNode = node;\n this.finalizeComment(commentWS);\n commentStack.splice(i, 1);\n } else {\n if (commentEnd === nodeStart) {\n commentWS.trailingNode = node;\n }\n\n break;\n }\n }\n }\n\n finalizeComment(commentWS) {\n const {\n comments\n } = commentWS;\n\n if (commentWS.leadingNode !== null || commentWS.trailingNode !== null) {\n if (commentWS.leadingNode !== null) {\n setTrailingComments(commentWS.leadingNode, comments);\n }\n\n if (commentWS.trailingNode !== null) {\n setLeadingComments(commentWS.trailingNode, comments);\n }\n } else {\n const {\n containingNode: node,\n start: commentStart\n } = commentWS;\n\n if (this.input.charCodeAt(commentStart - 1) === 44) {\n switch (node.type) {\n case \"ObjectExpression\":\n case \"ObjectPattern\":\n case \"RecordExpression\":\n adjustInnerComments(node, node.properties, commentWS);\n break;\n\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n adjustInnerComments(node, node.arguments, commentWS);\n break;\n\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"ArrowFunctionExpression\":\n case \"ObjectMethod\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n adjustInnerComments(node, node.params, commentWS);\n break;\n\n case \"ArrayExpression\":\n case \"ArrayPattern\":\n case \"TupleExpression\":\n adjustInnerComments(node, node.elements, commentWS);\n break;\n\n case \"ExportNamedDeclaration\":\n case \"ImportDeclaration\":\n adjustInnerComments(node, node.specifiers, commentWS);\n break;\n\n default:\n {\n setInnerComments(node, comments);\n }\n }\n } else {\n setInnerComments(node, comments);\n }\n }\n }\n\n finalizeRemainingComments() {\n const {\n commentStack\n } = this.state;\n\n for (let i = commentStack.length - 1; i >= 0; i--) {\n this.finalizeComment(commentStack[i]);\n }\n\n this.state.commentStack = [];\n }\n\n resetPreviousNodeTrailingComments(node) {\n const {\n commentStack\n } = this.state;\n const {\n length\n } = commentStack;\n if (length === 0) return;\n const commentWS = commentStack[length - 1];\n\n if (commentWS.leadingNode === node) {\n commentWS.leadingNode = null;\n }\n }\n\n takeSurroundingComments(node, start, end) {\n const {\n commentStack\n } = this.state;\n const commentStackLength = commentStack.length;\n if (commentStackLength === 0) return;\n let i = commentStackLength - 1;\n\n for (; i >= 0; i--) {\n const commentWS = commentStack[i];\n const commentEnd = commentWS.end;\n const commentStart = commentWS.start;\n\n if (commentStart === end) {\n commentWS.leadingNode = node;\n } else if (commentEnd === start) {\n commentWS.trailingNode = node;\n } else if (commentEnd < start) {\n break;\n }\n }\n }\n\n}\n\nconst ErrorCodes = Object.freeze({\n SyntaxError: \"BABEL_PARSER_SYNTAX_ERROR\",\n SourceTypeModuleError: \"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED\"\n});\n\nconst ErrorMessages = makeErrorTemplates({\n AccessorIsGenerator: \"A %0ter cannot be a generator.\",\n ArgumentsInClass: \"'arguments' is only allowed in functions and class methods.\",\n AsyncFunctionInSingleStatementContext: \"Async functions can only be declared at the top level or inside a block.\",\n AwaitBindingIdentifier: \"Can not use 'await' as identifier inside an async function.\",\n AwaitBindingIdentifierInStaticBlock: \"Can not use 'await' as identifier inside a static block.\",\n AwaitExpressionFormalParameter: \"'await' is not allowed in async function parameters.\",\n AwaitNotInAsyncContext: \"'await' is only allowed within async functions and at the top levels of modules.\",\n AwaitNotInAsyncFunction: \"'await' is only allowed within async functions.\",\n BadGetterArity: \"A 'get' accesor must not have any formal parameters.\",\n BadSetterArity: \"A 'set' accesor must have exactly one formal parameter.\",\n BadSetterRestParameter: \"A 'set' accesor function argument must not be a rest parameter.\",\n ConstructorClassField: \"Classes may not have a field named 'constructor'.\",\n ConstructorClassPrivateField: \"Classes may not have a private field named '#constructor'.\",\n ConstructorIsAccessor: \"Class constructor may not be an accessor.\",\n ConstructorIsAsync: \"Constructor can't be an async function.\",\n ConstructorIsGenerator: \"Constructor can't be a generator.\",\n DeclarationMissingInitializer: \"'%0' require an initialization value.\",\n DecoratorBeforeExport: \"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax.\",\n DecoratorConstructor: \"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?\",\n DecoratorExportClass: \"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.\",\n DecoratorSemicolon: \"Decorators must not be followed by a semicolon.\",\n DecoratorStaticBlock: \"Decorators can't be used with a static block.\",\n DeletePrivateField: \"Deleting a private field is not allowed.\",\n DestructureNamedImport: \"ES2015 named imports do not destructure. Use another statement for destructuring after the import.\",\n DuplicateConstructor: \"Duplicate constructor in the same class.\",\n DuplicateDefaultExport: \"Only one default export allowed per module.\",\n DuplicateExport: \"`%0` has already been exported. Exported identifiers must be unique.\",\n DuplicateProto: \"Redefinition of __proto__ property.\",\n DuplicateRegExpFlags: \"Duplicate regular expression flag.\",\n ElementAfterRest: \"Rest element must be last element.\",\n EscapedCharNotAnIdentifier: \"Invalid Unicode escape.\",\n ExportBindingIsString: \"A string literal cannot be used as an exported binding without `from`.\\n- Did you mean `export { '%0' as '%1' } from 'some-module'`?\",\n ExportDefaultFromAsIdentifier: \"'from' is not allowed as an identifier after 'export default'.\",\n ForInOfLoopInitializer: \"'%0' loop variable declaration may not have an initializer.\",\n ForOfAsync: \"The left-hand side of a for-of loop may not be 'async'.\",\n ForOfLet: \"The left-hand side of a for-of loop may not start with 'let'.\",\n GeneratorInSingleStatementContext: \"Generators can only be declared at the top level or inside a block.\",\n IllegalBreakContinue: \"Unsyntactic %0.\",\n IllegalLanguageModeDirective: \"Illegal 'use strict' directive in function with non-simple parameter list.\",\n IllegalReturn: \"'return' outside of function.\",\n ImportBindingIsString: 'A string literal cannot be used as an imported binding.\\n- Did you mean `import { \"%0\" as foo }`?',\n ImportCallArgumentTrailingComma: \"Trailing comma is disallowed inside import(...) arguments.\",\n ImportCallArity: \"`import()` requires exactly %0.\",\n ImportCallNotNewExpression: \"Cannot use new with import(...).\",\n ImportCallSpreadArgument: \"`...` is not allowed in `import()`.\",\n IncompatibleRegExpUVFlags: \"The 'u' and 'v' regular expression flags cannot be enabled at the same time.\",\n InvalidBigIntLiteral: \"Invalid BigIntLiteral.\",\n InvalidCodePoint: \"Code point out of bounds.\",\n InvalidCoverInitializedName: \"Invalid shorthand property initializer.\",\n InvalidDecimal: \"Invalid decimal.\",\n InvalidDigit: \"Expected number in radix %0.\",\n InvalidEscapeSequence: \"Bad character escape sequence.\",\n InvalidEscapeSequenceTemplate: \"Invalid escape sequence in template.\",\n InvalidEscapedReservedWord: \"Escape sequence in keyword %0.\",\n InvalidIdentifier: \"Invalid identifier %0.\",\n InvalidLhs: \"Invalid left-hand side in %0.\",\n InvalidLhsBinding: \"Binding invalid left-hand side in %0.\",\n InvalidNumber: \"Invalid number.\",\n InvalidOrMissingExponent: \"Floating-point numbers require a valid exponent after the 'e'.\",\n InvalidOrUnexpectedToken: \"Unexpected character '%0'.\",\n InvalidParenthesizedAssignment: \"Invalid parenthesized assignment pattern.\",\n InvalidPrivateFieldResolution: \"Private name #%0 is not defined.\",\n InvalidPropertyBindingPattern: \"Binding member expression.\",\n InvalidRecordProperty: \"Only properties and spread elements are allowed in record definitions.\",\n InvalidRestAssignmentPattern: \"Invalid rest operator's argument.\",\n LabelRedeclaration: \"Label '%0' is already declared.\",\n LetInLexicalBinding: \"'let' is not allowed to be used as a name in 'let' or 'const' declarations.\",\n LineTerminatorBeforeArrow: \"No line break is allowed before '=>'.\",\n MalformedRegExpFlags: \"Invalid regular expression flag.\",\n MissingClassName: \"A class name is required.\",\n MissingEqInAssignment: \"Only '=' operator can be used for specifying default value.\",\n MissingSemicolon: \"Missing semicolon.\",\n MissingUnicodeEscape: \"Expecting Unicode escape sequence \\\\uXXXX.\",\n MixingCoalesceWithLogical: \"Nullish coalescing operator(??) requires parens when mixing with logical operators.\",\n ModuleAttributeDifferentFromType: \"The only accepted module attribute is `type`.\",\n ModuleAttributeInvalidValue: \"Only string literals are allowed as module attribute values.\",\n ModuleAttributesWithDuplicateKeys: 'Duplicate key \"%0\" is not allowed in module attributes.',\n ModuleExportNameHasLoneSurrogate: \"An export name cannot include a lone surrogate, found '\\\\u%0'.\",\n ModuleExportUndefined: \"Export '%0' is not defined.\",\n MultipleDefaultsInSwitch: \"Multiple default clauses.\",\n NewlineAfterThrow: \"Illegal newline after throw.\",\n NoCatchOrFinally: \"Missing catch or finally clause.\",\n NumberIdentifier: \"Identifier directly after number.\",\n NumericSeparatorInEscapeSequence: \"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.\",\n ObsoleteAwaitStar: \"'await*' has been removed from the async functions proposal. Use Promise.all() instead.\",\n OptionalChainingNoNew: \"Constructors in/after an Optional Chain are not allowed.\",\n OptionalChainingNoTemplate: \"Tagged Template Literals are not allowed in optionalChain.\",\n OverrideOnConstructor: \"'override' modifier cannot appear on a constructor declaration.\",\n ParamDupe: \"Argument name clash.\",\n PatternHasAccessor: \"Object pattern can't contain getter or setter.\",\n PatternHasMethod: \"Object pattern can't contain methods.\",\n PipeBodyIsTighter: \"Unexpected %0 after pipeline body; any %0 expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.\",\n PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a \"proposal\": \"hack\" or \"smart\" option.',\n PipeTopicUnbound: \"Topic reference is unbound; it must be inside a pipe body.\",\n PipeTopicUnconfiguredToken: 'Invalid topic token %0. In order to use %0 as a topic reference, the pipelineOperator plugin must be configured with { \"proposal\": \"hack\", \"topicToken\": \"%0\" }.',\n PipeTopicUnused: \"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.\",\n PipeUnparenthesizedBody: \"Hack-style pipe body cannot be an unparenthesized %0 expression; please wrap it in parentheses.\",\n PipelineBodyNoArrow: 'Unexpected arrow \"=>\" after pipeline body; arrow function in pipeline body must be parenthesized.',\n PipelineBodySequenceExpression: \"Pipeline body may not be a comma-separated sequence expression.\",\n PipelineHeadSequenceExpression: \"Pipeline head should not be a comma-separated sequence expression.\",\n PipelineTopicUnused: \"Pipeline is in topic style but does not use topic reference.\",\n PrimaryTopicNotAllowed: \"Topic reference was used in a lexical context without topic binding.\",\n PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a \"proposal\": \"hack\" or \"smart\" option.',\n PrivateInExpectedIn: \"Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`).\",\n PrivateNameRedeclaration: \"Duplicate private name #%0.\",\n RecordExpressionBarIncorrectEndSyntaxType: \"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n RecordExpressionBarIncorrectStartSyntaxType: \"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n RecordExpressionHashIncorrectStartSyntaxType: \"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.\",\n RecordNoProto: \"'__proto__' is not allowed in Record expressions.\",\n RestTrailingComma: \"Unexpected trailing comma after rest element.\",\n SloppyFunction: \"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.\",\n StaticPrototype: \"Classes may not have static property named prototype.\",\n StrictDelete: \"Deleting local variable in strict mode.\",\n StrictEvalArguments: \"Assigning to '%0' in strict mode.\",\n StrictEvalArgumentsBinding: \"Binding '%0' in strict mode.\",\n StrictFunction: \"In strict mode code, functions can only be declared at top level or inside a block.\",\n StrictNumericEscape: \"The only valid numeric escape in strict mode is '\\\\0'.\",\n StrictOctalLiteral: \"Legacy octal literals are not allowed in strict mode.\",\n StrictWith: \"'with' in strict mode.\",\n SuperNotAllowed: \"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?\",\n SuperPrivateField: \"Private fields can't be accessed on super.\",\n TrailingDecorator: \"Decorators must be attached to a class element.\",\n TupleExpressionBarIncorrectEndSyntaxType: \"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n TupleExpressionBarIncorrectStartSyntaxType: \"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n TupleExpressionHashIncorrectStartSyntaxType: \"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.\",\n UnexpectedArgumentPlaceholder: \"Unexpected argument placeholder.\",\n UnexpectedAwaitAfterPipelineBody: 'Unexpected \"await\" after pipeline body; await must have parentheses in minimal proposal.',\n UnexpectedDigitAfterHash: \"Unexpected digit after hash token.\",\n UnexpectedImportExport: \"'import' and 'export' may only appear at the top level.\",\n UnexpectedKeyword: \"Unexpected keyword '%0'.\",\n UnexpectedLeadingDecorator: \"Leading decorators must be attached to a class declaration.\",\n UnexpectedLexicalDeclaration: \"Lexical declaration cannot appear in a single-statement context.\",\n UnexpectedNewTarget: \"`new.target` can only be used in functions or class properties.\",\n UnexpectedNumericSeparator: \"A numeric separator is only allowed between two digits.\",\n UnexpectedPrivateField: \"Unexpected private name.\",\n UnexpectedReservedWord: \"Unexpected reserved word '%0'.\",\n UnexpectedSuper: \"'super' is only allowed in object methods and classes.\",\n UnexpectedToken: \"Unexpected token '%0'.\",\n UnexpectedTokenUnaryExponentiation: \"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.\",\n UnsupportedBind: \"Binding should be performed on object property.\",\n UnsupportedDecoratorExport: \"A decorated export must export a class declaration.\",\n UnsupportedDefaultExport: \"Only expressions, functions or classes are allowed as the `default` export.\",\n UnsupportedImport: \"`import` can only be used in `import()` or `import.meta`.\",\n UnsupportedMetaProperty: \"The only valid meta property for %0 is %0.%1.\",\n UnsupportedParameterDecorator: \"Decorators cannot be used to decorate parameters.\",\n UnsupportedPropertyDecorator: \"Decorators cannot be used to decorate object literal properties.\",\n UnsupportedSuper: \"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).\",\n UnterminatedComment: \"Unterminated comment.\",\n UnterminatedRegExp: \"Unterminated regular expression.\",\n UnterminatedString: \"Unterminated string constant.\",\n UnterminatedTemplate: \"Unterminated template.\",\n VarRedeclaration: \"Identifier '%0' has already been declared.\",\n YieldBindingIdentifier: \"Can not use 'yield' as identifier inside a generator.\",\n YieldInParameter: \"Yield expression is not allowed in formal parameters.\",\n ZeroDigitNumericSeparator: \"Numeric separator can not be used after leading 0.\"\n}, ErrorCodes.SyntaxError);\nconst SourceTypeModuleErrorMessages = makeErrorTemplates({\n ImportMetaOutsideModule: `import.meta may appear only with 'sourceType: \"module\"'`,\n ImportOutsideModule: `'import' and 'export' may appear only with 'sourceType: \"module\"'`\n}, ErrorCodes.SourceTypeModuleError);\n\nfunction keepReasonCodeCompat(reasonCode, syntaxPlugin) {\n {\n if (syntaxPlugin === \"flow\" && reasonCode === \"PatternIsOptional\") {\n return \"OptionalBindingPattern\";\n }\n }\n return reasonCode;\n}\n\nfunction makeErrorTemplates(messages, code, syntaxPlugin) {\n const templates = {};\n Object.keys(messages).forEach(reasonCode => {\n templates[reasonCode] = Object.freeze({\n code,\n reasonCode: keepReasonCodeCompat(reasonCode, syntaxPlugin),\n template: messages[reasonCode]\n });\n });\n return Object.freeze(templates);\n}\nclass ParserError extends CommentsParser {\n raise({\n code,\n reasonCode,\n template\n }, origin, ...params) {\n return this.raiseWithData(origin.node ? origin.node.loc.start : origin.at, {\n code,\n reasonCode\n }, template, ...params);\n }\n\n raiseOverwrite(loc, {\n code,\n template\n }, ...params) {\n const pos = loc.index;\n const message = template.replace(/%(\\d+)/g, (_, i) => params[i]) + ` (${loc.line}:${loc.column})`;\n\n if (this.options.errorRecovery) {\n const errors = this.state.errors;\n\n for (let i = errors.length - 1; i >= 0; i--) {\n const error = errors[i];\n\n if (error.pos === pos) {\n return Object.assign(error, {\n message\n });\n } else if (error.pos < pos) {\n break;\n }\n }\n }\n\n return this._raise({\n code,\n loc,\n pos\n }, message);\n }\n\n raiseWithData(loc, data, errorTemplate, ...params) {\n const pos = loc.index;\n const message = errorTemplate.replace(/%(\\d+)/g, (_, i) => params[i]) + ` (${loc.line}:${loc.column})`;\n return this._raise(Object.assign({\n loc,\n pos\n }, data), message);\n }\n\n _raise(errorContext, message) {\n const err = new SyntaxError(message);\n Object.assign(err, errorContext);\n\n if (this.options.errorRecovery) {\n if (!this.isLookahead) this.state.errors.push(err);\n return err;\n } else {\n throw err;\n }\n }\n\n}\n\nconst {\n defineProperty\n} = Object;\n\nconst toUnenumerable = (object, key) => defineProperty(object, key, {\n enumerable: false,\n value: object[key]\n});\n\nfunction toESTreeLocation(node) {\n toUnenumerable(node.loc.start, \"index\");\n toUnenumerable(node.loc.end, \"index\");\n return node;\n}\n\nvar estree = (superClass => class extends superClass {\n parse() {\n const file = toESTreeLocation(super.parse());\n\n if (this.options.tokens) {\n file.tokens = file.tokens.map(toESTreeLocation);\n }\n\n return file;\n }\n\n parseRegExpLiteral({\n pattern,\n flags\n }) {\n let regex = null;\n\n try {\n regex = new RegExp(pattern, flags);\n } catch (e) {}\n\n const node = this.estreeParseLiteral(regex);\n node.regex = {\n pattern,\n flags\n };\n return node;\n }\n\n parseBigIntLiteral(value) {\n let bigInt;\n\n try {\n bigInt = BigInt(value);\n } catch (_unused) {\n bigInt = null;\n }\n\n const node = this.estreeParseLiteral(bigInt);\n node.bigint = String(node.value || value);\n return node;\n }\n\n parseDecimalLiteral(value) {\n const decimal = null;\n const node = this.estreeParseLiteral(decimal);\n node.decimal = String(node.value || value);\n return node;\n }\n\n estreeParseLiteral(value) {\n return this.parseLiteral(value, \"Literal\");\n }\n\n parseStringLiteral(value) {\n return this.estreeParseLiteral(value);\n }\n\n parseNumericLiteral(value) {\n return this.estreeParseLiteral(value);\n }\n\n parseNullLiteral() {\n return this.estreeParseLiteral(null);\n }\n\n parseBooleanLiteral(value) {\n return this.estreeParseLiteral(value);\n }\n\n directiveToStmt(directive) {\n const directiveLiteral = directive.value;\n const stmt = this.startNodeAt(directive.start, directive.loc.start);\n const expression = this.startNodeAt(directiveLiteral.start, directiveLiteral.loc.start);\n expression.value = directiveLiteral.extra.expressionValue;\n expression.raw = directiveLiteral.extra.raw;\n stmt.expression = this.finishNodeAt(expression, \"Literal\", directiveLiteral.loc.end);\n stmt.directive = directiveLiteral.extra.raw.slice(1, -1);\n return this.finishNodeAt(stmt, \"ExpressionStatement\", directive.loc.end);\n }\n\n initFunction(node, isAsync) {\n super.initFunction(node, isAsync);\n node.expression = false;\n }\n\n checkDeclaration(node) {\n if (node != null && this.isObjectProperty(node)) {\n this.checkDeclaration(node.value);\n } else {\n super.checkDeclaration(node);\n }\n }\n\n getObjectOrClassMethodParams(method) {\n return method.value.params;\n }\n\n isValidDirective(stmt) {\n var _stmt$expression$extr;\n\n return stmt.type === \"ExpressionStatement\" && stmt.expression.type === \"Literal\" && typeof stmt.expression.value === \"string\" && !((_stmt$expression$extr = stmt.expression.extra) != null && _stmt$expression$extr.parenthesized);\n }\n\n parseBlockBody(node, ...args) {\n super.parseBlockBody(node, ...args);\n const directiveStatements = node.directives.map(d => this.directiveToStmt(d));\n node.body = directiveStatements.concat(node.body);\n delete node.directives;\n }\n\n pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {\n this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, \"ClassMethod\", true);\n\n if (method.typeParameters) {\n method.value.typeParameters = method.typeParameters;\n delete method.typeParameters;\n }\n\n classBody.body.push(method);\n }\n\n parsePrivateName() {\n const node = super.parsePrivateName();\n {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return node;\n }\n }\n return this.convertPrivateNameToPrivateIdentifier(node);\n }\n\n convertPrivateNameToPrivateIdentifier(node) {\n const name = super.getPrivateNameSV(node);\n node = node;\n delete node.id;\n node.name = name;\n node.type = \"PrivateIdentifier\";\n return node;\n }\n\n isPrivateName(node) {\n {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return super.isPrivateName(node);\n }\n }\n return node.type === \"PrivateIdentifier\";\n }\n\n getPrivateNameSV(node) {\n {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return super.getPrivateNameSV(node);\n }\n }\n return node.name;\n }\n\n parseLiteral(value, type) {\n const node = super.parseLiteral(value, type);\n node.raw = node.extra.raw;\n delete node.extra;\n return node;\n }\n\n parseFunctionBody(node, allowExpression, isMethod = false) {\n super.parseFunctionBody(node, allowExpression, isMethod);\n node.expression = node.body.type !== \"BlockStatement\";\n }\n\n parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) {\n let funcNode = this.startNode();\n funcNode.kind = node.kind;\n funcNode = super.parseMethod(funcNode, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope);\n funcNode.type = \"FunctionExpression\";\n delete funcNode.kind;\n node.value = funcNode;\n\n if (type === \"ClassPrivateMethod\") {\n node.computed = false;\n }\n\n type = \"MethodDefinition\";\n return this.finishNode(node, type);\n }\n\n parseClassProperty(...args) {\n const propertyNode = super.parseClassProperty(...args);\n {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return propertyNode;\n }\n }\n propertyNode.type = \"PropertyDefinition\";\n return propertyNode;\n }\n\n parseClassPrivateProperty(...args) {\n const propertyNode = super.parseClassPrivateProperty(...args);\n {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return propertyNode;\n }\n }\n propertyNode.type = \"PropertyDefinition\";\n propertyNode.computed = false;\n return propertyNode;\n }\n\n parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) {\n const node = super.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor);\n\n if (node) {\n node.type = \"Property\";\n if (node.kind === \"method\") node.kind = \"init\";\n node.shorthand = false;\n }\n\n return node;\n }\n\n parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors) {\n const node = super.parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors);\n\n if (node) {\n node.kind = \"init\";\n node.type = \"Property\";\n }\n\n return node;\n }\n\n isAssignable(node, isBinding) {\n if (node != null && this.isObjectProperty(node)) {\n return this.isAssignable(node.value, isBinding);\n }\n\n return super.isAssignable(node, isBinding);\n }\n\n toAssignable(node, isLHS = false) {\n if (node != null && this.isObjectProperty(node)) {\n const {\n key,\n value\n } = node;\n\n if (this.isPrivateName(key)) {\n this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start);\n }\n\n this.toAssignable(value, isLHS);\n return node;\n }\n\n return super.toAssignable(node, isLHS);\n }\n\n toAssignableObjectExpressionProp(prop, ...args) {\n if (prop.kind === \"get\" || prop.kind === \"set\") {\n this.raise(ErrorMessages.PatternHasAccessor, {\n node: prop.key\n });\n } else if (prop.method) {\n this.raise(ErrorMessages.PatternHasMethod, {\n node: prop.key\n });\n } else {\n super.toAssignableObjectExpressionProp(prop, ...args);\n }\n }\n\n finishCallExpression(node, optional) {\n super.finishCallExpression(node, optional);\n\n if (node.callee.type === \"Import\") {\n node.type = \"ImportExpression\";\n node.source = node.arguments[0];\n\n if (this.hasPlugin(\"importAssertions\")) {\n var _node$arguments$;\n\n node.attributes = (_node$arguments$ = node.arguments[1]) != null ? _node$arguments$ : null;\n }\n\n delete node.arguments;\n delete node.callee;\n }\n\n return node;\n }\n\n toReferencedArguments(node) {\n if (node.type === \"ImportExpression\") {\n return;\n }\n\n super.toReferencedArguments(node);\n }\n\n parseExport(node) {\n super.parseExport(node);\n\n switch (node.type) {\n case \"ExportAllDeclaration\":\n node.exported = null;\n break;\n\n case \"ExportNamedDeclaration\":\n if (node.specifiers.length === 1 && node.specifiers[0].type === \"ExportNamespaceSpecifier\") {\n node.type = \"ExportAllDeclaration\";\n node.exported = node.specifiers[0].exported;\n delete node.specifiers;\n }\n\n break;\n }\n\n return node;\n }\n\n parseSubscript(base, startPos, startLoc, noCalls, state) {\n const node = super.parseSubscript(base, startPos, startLoc, noCalls, state);\n\n if (state.optionalChainMember) {\n if (node.type === \"OptionalMemberExpression\" || node.type === \"OptionalCallExpression\") {\n node.type = node.type.substring(8);\n }\n\n if (state.stop) {\n const chain = this.startNodeAtNode(node);\n chain.expression = node;\n return this.finishNode(chain, \"ChainExpression\");\n }\n } else if (node.type === \"MemberExpression\" || node.type === \"CallExpression\") {\n node.optional = false;\n }\n\n return node;\n }\n\n hasPropertyAsPrivateName(node) {\n if (node.type === \"ChainExpression\") {\n node = node.expression;\n }\n\n return super.hasPropertyAsPrivateName(node);\n }\n\n isOptionalChain(node) {\n return node.type === \"ChainExpression\";\n }\n\n isObjectProperty(node) {\n return node.type === \"Property\" && node.kind === \"init\" && !node.method;\n }\n\n isObjectMethod(node) {\n return node.method || node.kind === \"get\" || node.kind === \"set\";\n }\n\n finishNodeAt(node, type, endLoc) {\n return toESTreeLocation(super.finishNodeAt(node, type, endLoc));\n }\n\n resetEndLocation(node, endLoc = this.state.lastTokEndLoc) {\n super.resetEndLocation(node, endLoc);\n toESTreeLocation(node);\n }\n\n});\n\nclass TokContext {\n constructor(token, preserveSpace) {\n this.token = void 0;\n this.preserveSpace = void 0;\n this.token = token;\n this.preserveSpace = !!preserveSpace;\n }\n\n}\nconst types = {\n brace: new TokContext(\"{\"),\n j_oTag: new TokContext(\"<tag\"),\n j_cTag: new TokContext(\"</tag\"),\n j_expr: new TokContext(\"<tag>...</tag>\", true)\n};\n{\n types.template = new TokContext(\"`\", true);\n}\n\nconst beforeExpr = true;\nconst startsExpr = true;\nconst isLoop = true;\nconst isAssign = true;\nconst prefix = true;\nconst postfix = true;\nclass ExportedTokenType {\n constructor(label, conf = {}) {\n this.label = void 0;\n this.keyword = void 0;\n this.beforeExpr = void 0;\n this.startsExpr = void 0;\n this.rightAssociative = void 0;\n this.isLoop = void 0;\n this.isAssign = void 0;\n this.prefix = void 0;\n this.postfix = void 0;\n this.binop = void 0;\n this.label = label;\n this.keyword = conf.keyword;\n this.beforeExpr = !!conf.beforeExpr;\n this.startsExpr = !!conf.startsExpr;\n this.rightAssociative = !!conf.rightAssociative;\n this.isLoop = !!conf.isLoop;\n this.isAssign = !!conf.isAssign;\n this.prefix = !!conf.prefix;\n this.postfix = !!conf.postfix;\n this.binop = conf.binop != null ? conf.binop : null;\n {\n this.updateContext = null;\n }\n }\n\n}\nconst keywords$1 = new Map();\n\nfunction createKeyword(name, options = {}) {\n options.keyword = name;\n const token = createToken(name, options);\n keywords$1.set(name, token);\n return token;\n}\n\nfunction createBinop(name, binop) {\n return createToken(name, {\n beforeExpr,\n binop\n });\n}\n\nlet tokenTypeCounter = -1;\nconst tokenTypes = [];\nconst tokenLabels = [];\nconst tokenBinops = [];\nconst tokenBeforeExprs = [];\nconst tokenStartsExprs = [];\nconst tokenPrefixes = [];\n\nfunction createToken(name, options = {}) {\n var _options$binop, _options$beforeExpr, _options$startsExpr, _options$prefix;\n\n ++tokenTypeCounter;\n tokenLabels.push(name);\n tokenBinops.push((_options$binop = options.binop) != null ? _options$binop : -1);\n tokenBeforeExprs.push((_options$beforeExpr = options.beforeExpr) != null ? _options$beforeExpr : false);\n tokenStartsExprs.push((_options$startsExpr = options.startsExpr) != null ? _options$startsExpr : false);\n tokenPrefixes.push((_options$prefix = options.prefix) != null ? _options$prefix : false);\n tokenTypes.push(new ExportedTokenType(name, options));\n return tokenTypeCounter;\n}\n\nfunction createKeywordLike(name, options = {}) {\n var _options$binop2, _options$beforeExpr2, _options$startsExpr2, _options$prefix2;\n\n ++tokenTypeCounter;\n keywords$1.set(name, tokenTypeCounter);\n tokenLabels.push(name);\n tokenBinops.push((_options$binop2 = options.binop) != null ? _options$binop2 : -1);\n tokenBeforeExprs.push((_options$beforeExpr2 = options.beforeExpr) != null ? _options$beforeExpr2 : false);\n tokenStartsExprs.push((_options$startsExpr2 = options.startsExpr) != null ? _options$startsExpr2 : false);\n tokenPrefixes.push((_options$prefix2 = options.prefix) != null ? _options$prefix2 : false);\n tokenTypes.push(new ExportedTokenType(\"name\", options));\n return tokenTypeCounter;\n}\n\nconst tt = {\n bracketL: createToken(\"[\", {\n beforeExpr,\n startsExpr\n }),\n bracketHashL: createToken(\"#[\", {\n beforeExpr,\n startsExpr\n }),\n bracketBarL: createToken(\"[|\", {\n beforeExpr,\n startsExpr\n }),\n bracketR: createToken(\"]\"),\n bracketBarR: createToken(\"|]\"),\n braceL: createToken(\"{\", {\n beforeExpr,\n startsExpr\n }),\n braceBarL: createToken(\"{|\", {\n beforeExpr,\n startsExpr\n }),\n braceHashL: createToken(\"#{\", {\n beforeExpr,\n startsExpr\n }),\n braceR: createToken(\"}\", {\n beforeExpr\n }),\n braceBarR: createToken(\"|}\"),\n parenL: createToken(\"(\", {\n beforeExpr,\n startsExpr\n }),\n parenR: createToken(\")\"),\n comma: createToken(\",\", {\n beforeExpr\n }),\n semi: createToken(\";\", {\n beforeExpr\n }),\n colon: createToken(\":\", {\n beforeExpr\n }),\n doubleColon: createToken(\"::\", {\n beforeExpr\n }),\n dot: createToken(\".\"),\n question: createToken(\"?\", {\n beforeExpr\n }),\n questionDot: createToken(\"?.\"),\n arrow: createToken(\"=>\", {\n beforeExpr\n }),\n template: createToken(\"template\"),\n ellipsis: createToken(\"...\", {\n beforeExpr\n }),\n backQuote: createToken(\"`\", {\n startsExpr\n }),\n dollarBraceL: createToken(\"${\", {\n beforeExpr,\n startsExpr\n }),\n templateTail: createToken(\"...`\", {\n startsExpr\n }),\n templateNonTail: createToken(\"...${\", {\n beforeExpr,\n startsExpr\n }),\n at: createToken(\"@\"),\n hash: createToken(\"#\", {\n startsExpr\n }),\n interpreterDirective: createToken(\"#!...\"),\n eq: createToken(\"=\", {\n beforeExpr,\n isAssign\n }),\n assign: createToken(\"_=\", {\n beforeExpr,\n isAssign\n }),\n slashAssign: createToken(\"_=\", {\n beforeExpr,\n isAssign\n }),\n xorAssign: createToken(\"_=\", {\n beforeExpr,\n isAssign\n }),\n moduloAssign: createToken(\"_=\", {\n beforeExpr,\n isAssign\n }),\n incDec: createToken(\"++/--\", {\n prefix,\n postfix,\n startsExpr\n }),\n bang: createToken(\"!\", {\n beforeExpr,\n prefix,\n startsExpr\n }),\n tilde: createToken(\"~\", {\n beforeExpr,\n prefix,\n startsExpr\n }),\n doubleCaret: createToken(\"^^\", {\n startsExpr\n }),\n doubleAt: createToken(\"@@\", {\n startsExpr\n }),\n pipeline: createBinop(\"|>\", 0),\n nullishCoalescing: createBinop(\"??\", 1),\n logicalOR: createBinop(\"||\", 1),\n logicalAND: createBinop(\"&&\", 2),\n bitwiseOR: createBinop(\"|\", 3),\n bitwiseXOR: createBinop(\"^\", 4),\n bitwiseAND: createBinop(\"&\", 5),\n equality: createBinop(\"==/!=/===/!==\", 6),\n lt: createBinop(\"</>/<=/>=\", 7),\n gt: createBinop(\"</>/<=/>=\", 7),\n relational: createBinop(\"</>/<=/>=\", 7),\n bitShift: createBinop(\"<</>>/>>>\", 8),\n bitShiftL: createBinop(\"<</>>/>>>\", 8),\n bitShiftR: createBinop(\"<</>>/>>>\", 8),\n plusMin: createToken(\"+/-\", {\n beforeExpr,\n binop: 9,\n prefix,\n startsExpr\n }),\n modulo: createToken(\"%\", {\n binop: 10,\n startsExpr\n }),\n star: createToken(\"*\", {\n binop: 10\n }),\n slash: createBinop(\"/\", 10),\n exponent: createToken(\"**\", {\n beforeExpr,\n binop: 11,\n rightAssociative: true\n }),\n _in: createKeyword(\"in\", {\n beforeExpr,\n binop: 7\n }),\n _instanceof: createKeyword(\"instanceof\", {\n beforeExpr,\n binop: 7\n }),\n _break: createKeyword(\"break\"),\n _case: createKeyword(\"case\", {\n beforeExpr\n }),\n _catch: createKeyword(\"catch\"),\n _continue: createKeyword(\"continue\"),\n _debugger: createKeyword(\"debugger\"),\n _default: createKeyword(\"default\", {\n beforeExpr\n }),\n _else: createKeyword(\"else\", {\n beforeExpr\n }),\n _finally: createKeyword(\"finally\"),\n _function: createKeyword(\"function\", {\n startsExpr\n }),\n _if: createKeyword(\"if\"),\n _return: createKeyword(\"return\", {\n beforeExpr\n }),\n _switch: createKeyword(\"switch\"),\n _throw: createKeyword(\"throw\", {\n beforeExpr,\n prefix,\n startsExpr\n }),\n _try: createKeyword(\"try\"),\n _var: createKeyword(\"var\"),\n _const: createKeyword(\"const\"),\n _with: createKeyword(\"with\"),\n _new: createKeyword(\"new\", {\n beforeExpr,\n startsExpr\n }),\n _this: createKeyword(\"this\", {\n startsExpr\n }),\n _super: createKeyword(\"super\", {\n startsExpr\n }),\n _class: createKeyword(\"class\", {\n startsExpr\n }),\n _extends: createKeyword(\"extends\", {\n beforeExpr\n }),\n _export: createKeyword(\"export\"),\n _import: createKeyword(\"import\", {\n startsExpr\n }),\n _null: createKeyword(\"null\", {\n startsExpr\n }),\n _true: createKeyword(\"true\", {\n startsExpr\n }),\n _false: createKeyword(\"false\", {\n startsExpr\n }),\n _typeof: createKeyword(\"typeof\", {\n beforeExpr,\n prefix,\n startsExpr\n }),\n _void: createKeyword(\"void\", {\n beforeExpr,\n prefix,\n startsExpr\n }),\n _delete: createKeyword(\"delete\", {\n beforeExpr,\n prefix,\n startsExpr\n }),\n _do: createKeyword(\"do\", {\n isLoop,\n beforeExpr\n }),\n _for: createKeyword(\"for\", {\n isLoop\n }),\n _while: createKeyword(\"while\", {\n isLoop\n }),\n _as: createKeywordLike(\"as\", {\n startsExpr\n }),\n _assert: createKeywordLike(\"assert\", {\n startsExpr\n }),\n _async: createKeywordLike(\"async\", {\n startsExpr\n }),\n _await: createKeywordLike(\"await\", {\n startsExpr\n }),\n _from: createKeywordLike(\"from\", {\n startsExpr\n }),\n _get: createKeywordLike(\"get\", {\n startsExpr\n }),\n _let: createKeywordLike(\"let\", {\n startsExpr\n }),\n _meta: createKeywordLike(\"meta\", {\n startsExpr\n }),\n _of: createKeywordLike(\"of\", {\n startsExpr\n }),\n _sent: createKeywordLike(\"sent\", {\n startsExpr\n }),\n _set: createKeywordLike(\"set\", {\n startsExpr\n }),\n _static: createKeywordLike(\"static\", {\n startsExpr\n }),\n _yield: createKeywordLike(\"yield\", {\n startsExpr\n }),\n _asserts: createKeywordLike(\"asserts\", {\n startsExpr\n }),\n _checks: createKeywordLike(\"checks\", {\n startsExpr\n }),\n _exports: createKeywordLike(\"exports\", {\n startsExpr\n }),\n _global: createKeywordLike(\"global\", {\n startsExpr\n }),\n _implements: createKeywordLike(\"implements\", {\n startsExpr\n }),\n _intrinsic: createKeywordLike(\"intrinsic\", {\n startsExpr\n }),\n _infer: createKeywordLike(\"infer\", {\n startsExpr\n }),\n _is: createKeywordLike(\"is\", {\n startsExpr\n }),\n _mixins: createKeywordLike(\"mixins\", {\n startsExpr\n }),\n _proto: createKeywordLike(\"proto\", {\n startsExpr\n }),\n _require: createKeywordLike(\"require\", {\n startsExpr\n }),\n _keyof: createKeywordLike(\"keyof\", {\n startsExpr\n }),\n _readonly: createKeywordLike(\"readonly\", {\n startsExpr\n }),\n _unique: createKeywordLike(\"unique\", {\n startsExpr\n }),\n _abstract: createKeywordLike(\"abstract\", {\n startsExpr\n }),\n _declare: createKeywordLike(\"declare\", {\n startsExpr\n }),\n _enum: createKeywordLike(\"enum\", {\n startsExpr\n }),\n _module: createKeywordLike(\"module\", {\n startsExpr\n }),\n _namespace: createKeywordLike(\"namespace\", {\n startsExpr\n }),\n _interface: createKeywordLike(\"interface\", {\n startsExpr\n }),\n _type: createKeywordLike(\"type\", {\n startsExpr\n }),\n _opaque: createKeywordLike(\"opaque\", {\n startsExpr\n }),\n name: createToken(\"name\", {\n startsExpr\n }),\n string: createToken(\"string\", {\n startsExpr\n }),\n num: createToken(\"num\", {\n startsExpr\n }),\n bigint: createToken(\"bigint\", {\n startsExpr\n }),\n decimal: createToken(\"decimal\", {\n startsExpr\n }),\n regexp: createToken(\"regexp\", {\n startsExpr\n }),\n privateName: createToken(\"#name\", {\n startsExpr\n }),\n eof: createToken(\"eof\"),\n jsxName: createToken(\"jsxName\"),\n jsxText: createToken(\"jsxText\", {\n beforeExpr: true\n }),\n jsxTagStart: createToken(\"jsxTagStart\", {\n startsExpr: true\n }),\n jsxTagEnd: createToken(\"jsxTagEnd\"),\n placeholder: createToken(\"%%\", {\n startsExpr: true\n })\n};\nfunction tokenIsIdentifier(token) {\n return token >= 93 && token <= 128;\n}\nfunction tokenKeywordOrIdentifierIsKeyword(token) {\n return token <= 92;\n}\nfunction tokenIsKeywordOrIdentifier(token) {\n return token >= 58 && token <= 128;\n}\nfunction tokenIsLiteralPropertyName(token) {\n return token >= 58 && token <= 132;\n}\nfunction tokenComesBeforeExpression(token) {\n return tokenBeforeExprs[token];\n}\nfunction tokenCanStartExpression(token) {\n return tokenStartsExprs[token];\n}\nfunction tokenIsAssignment(token) {\n return token >= 29 && token <= 33;\n}\nfunction tokenIsFlowInterfaceOrTypeOrOpaque(token) {\n return token >= 125 && token <= 127;\n}\nfunction tokenIsLoop(token) {\n return token >= 90 && token <= 92;\n}\nfunction tokenIsKeyword(token) {\n return token >= 58 && token <= 92;\n}\nfunction tokenIsOperator(token) {\n return token >= 39 && token <= 59;\n}\nfunction tokenIsPostfix(token) {\n return token === 34;\n}\nfunction tokenIsPrefix(token) {\n return tokenPrefixes[token];\n}\nfunction tokenIsTSTypeOperator(token) {\n return token >= 117 && token <= 119;\n}\nfunction tokenIsTSDeclarationStart(token) {\n return token >= 120 && token <= 126;\n}\nfunction tokenLabelName(token) {\n return tokenLabels[token];\n}\nfunction tokenOperatorPrecedence(token) {\n return tokenBinops[token];\n}\nfunction tokenIsRightAssociative(token) {\n return token === 57;\n}\nfunction tokenIsTemplate(token) {\n return token >= 24 && token <= 25;\n}\nfunction getExportedToken(token) {\n return tokenTypes[token];\n}\n{\n tokenTypes[8].updateContext = context => {\n context.pop();\n };\n\n tokenTypes[5].updateContext = tokenTypes[7].updateContext = tokenTypes[23].updateContext = context => {\n context.push(types.brace);\n };\n\n tokenTypes[22].updateContext = context => {\n if (context[context.length - 1] === types.template) {\n context.pop();\n } else {\n context.push(types.template);\n }\n };\n\n tokenTypes[138].updateContext = context => {\n context.push(types.j_expr, types.j_oTag);\n };\n}\n\nclass Position {\n constructor(line, col, index) {\n this.line = void 0;\n this.column = void 0;\n this.index = void 0;\n this.line = line;\n this.column = col;\n this.index = index;\n }\n\n}\nclass SourceLocation {\n constructor(start, end) {\n this.start = void 0;\n this.end = void 0;\n this.filename = void 0;\n this.identifierName = void 0;\n this.start = start;\n this.end = end;\n }\n\n}\nfunction createPositionWithColumnOffset(position, columnOffset) {\n const {\n line,\n column,\n index\n } = position;\n return new Position(line, column + columnOffset, index + columnOffset);\n}\n\nlet nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088e\\u08a0-\\u08c9\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7ca\\ua7d0\\ua7d1\\ua7d3\\ua7d5-\\ua7d9\\ua7f2-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\nlet nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0898-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1ace\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\";\nconst nonASCIIidentifierStart = new RegExp(\"[\" + nonASCIIidentifierStartChars + \"]\");\nconst nonASCIIidentifier = new RegExp(\"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\");\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\nconst astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1070, 4050, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 46, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 482, 44, 11, 6, 17, 0, 322, 29, 19, 43, 1269, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4152, 8, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938];\nconst astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 357, 0, 62, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];\n\nfunction isInAstralSet(code, set) {\n let pos = 0x10000;\n\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n\n return false;\n}\n\nfunction isIdentifierStart(code) {\n if (code < 65) return code === 36;\n if (code <= 90) return true;\n if (code < 97) return code === 95;\n if (code <= 122) return true;\n\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));\n }\n\n return isInAstralSet(code, astralIdentifierStartCodes);\n}\nfunction isIdentifierChar(code) {\n if (code < 48) return code === 36;\n if (code < 58) return true;\n if (code < 65) return false;\n if (code <= 90) return true;\n if (code < 97) return code === 95;\n if (code <= 122) return true;\n\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n\n return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);\n}\n\nconst reservedWords = {\n keyword: [\"break\", \"case\", \"catch\", \"continue\", \"debugger\", \"default\", \"do\", \"else\", \"finally\", \"for\", \"function\", \"if\", \"return\", \"switch\", \"throw\", \"try\", \"var\", \"const\", \"while\", \"with\", \"new\", \"this\", \"super\", \"class\", \"extends\", \"export\", \"import\", \"null\", \"true\", \"false\", \"in\", \"instanceof\", \"typeof\", \"void\", \"delete\"],\n strict: [\"implements\", \"interface\", \"let\", \"package\", \"private\", \"protected\", \"public\", \"static\", \"yield\"],\n strictBind: [\"eval\", \"arguments\"]\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\nfunction isReservedWord(word, inModule) {\n return inModule && word === \"await\" || word === \"enum\";\n}\nfunction isStrictReservedWord(word, inModule) {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\nfunction isStrictBindOnlyReservedWord(word) {\n return reservedWordsStrictBindSet.has(word);\n}\nfunction isStrictBindReservedWord(word, inModule) {\n return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);\n}\nfunction isKeyword(word) {\n return keywords.has(word);\n}\n\nfunction isIteratorStart(current, next, next2) {\n return current === 64 && next === 64 && isIdentifierStart(next2);\n}\nconst reservedWordLikeSet = new Set([\"break\", \"case\", \"catch\", \"continue\", \"debugger\", \"default\", \"do\", \"else\", \"finally\", \"for\", \"function\", \"if\", \"return\", \"switch\", \"throw\", \"try\", \"var\", \"const\", \"while\", \"with\", \"new\", \"this\", \"super\", \"class\", \"extends\", \"export\", \"import\", \"null\", \"true\", \"false\", \"in\", \"instanceof\", \"typeof\", \"void\", \"delete\", \"implements\", \"interface\", \"let\", \"package\", \"private\", \"protected\", \"public\", \"static\", \"yield\", \"eval\", \"arguments\", \"enum\", \"await\"]);\nfunction canBeReservedWord(word) {\n return reservedWordLikeSet.has(word);\n}\n\nconst SCOPE_OTHER = 0b000000000,\n SCOPE_PROGRAM = 0b000000001,\n SCOPE_FUNCTION = 0b000000010,\n SCOPE_ARROW = 0b000000100,\n SCOPE_SIMPLE_CATCH = 0b000001000,\n SCOPE_SUPER = 0b000010000,\n SCOPE_DIRECT_SUPER = 0b000100000,\n SCOPE_CLASS = 0b001000000,\n SCOPE_STATIC_BLOCK = 0b010000000,\n SCOPE_TS_MODULE = 0b100000000,\n SCOPE_VAR = SCOPE_PROGRAM | SCOPE_FUNCTION | SCOPE_TS_MODULE;\nconst BIND_KIND_VALUE = 0b000000000001,\n BIND_KIND_TYPE = 0b000000000010,\n BIND_SCOPE_VAR = 0b000000000100,\n BIND_SCOPE_LEXICAL = 0b000000001000,\n BIND_SCOPE_FUNCTION = 0b000000010000,\n BIND_FLAGS_NONE = 0b000001000000,\n BIND_FLAGS_CLASS = 0b000010000000,\n BIND_FLAGS_TS_ENUM = 0b000100000000,\n BIND_FLAGS_TS_CONST_ENUM = 0b001000000000,\n BIND_FLAGS_TS_EXPORT_ONLY = 0b010000000000,\n BIND_FLAGS_FLOW_DECLARE_FN = 0b100000000000;\nconst BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_CLASS,\n BIND_LEXICAL = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | 0,\n BIND_VAR = BIND_KIND_VALUE | 0 | BIND_SCOPE_VAR | 0,\n BIND_FUNCTION = BIND_KIND_VALUE | 0 | BIND_SCOPE_FUNCTION | 0,\n BIND_TS_INTERFACE = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_CLASS,\n BIND_TS_TYPE = 0 | BIND_KIND_TYPE | 0 | 0,\n BIND_TS_ENUM = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_TS_ENUM,\n BIND_TS_AMBIENT = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,\n BIND_NONE = 0 | 0 | 0 | BIND_FLAGS_NONE,\n BIND_OUTSIDE = BIND_KIND_VALUE | 0 | 0 | BIND_FLAGS_NONE,\n BIND_TS_CONST_ENUM = BIND_TS_ENUM | BIND_FLAGS_TS_CONST_ENUM,\n BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,\n BIND_FLOW_DECLARE_FN = BIND_FLAGS_FLOW_DECLARE_FN;\nconst CLASS_ELEMENT_FLAG_STATIC = 0b100,\n CLASS_ELEMENT_KIND_GETTER = 0b010,\n CLASS_ELEMENT_KIND_SETTER = 0b001,\n CLASS_ELEMENT_KIND_ACCESSOR = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_KIND_SETTER;\nconst CLASS_ELEMENT_STATIC_GETTER = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_FLAG_STATIC,\n CLASS_ELEMENT_STATIC_SETTER = CLASS_ELEMENT_KIND_SETTER | CLASS_ELEMENT_FLAG_STATIC,\n CLASS_ELEMENT_INSTANCE_GETTER = CLASS_ELEMENT_KIND_GETTER,\n CLASS_ELEMENT_INSTANCE_SETTER = CLASS_ELEMENT_KIND_SETTER,\n CLASS_ELEMENT_OTHER = 0;\n\nclass Scope {\n constructor(flags) {\n this.var = new Set();\n this.lexical = new Set();\n this.functions = new Set();\n this.flags = flags;\n }\n\n}\nclass ScopeHandler {\n constructor(raise, inModule) {\n this.scopeStack = [];\n this.undefinedExports = new Map();\n this.raise = raise;\n this.inModule = inModule;\n }\n\n get inFunction() {\n return (this.currentVarScopeFlags() & SCOPE_FUNCTION) > 0;\n }\n\n get allowSuper() {\n return (this.currentThisScopeFlags() & SCOPE_SUPER) > 0;\n }\n\n get allowDirectSuper() {\n return (this.currentThisScopeFlags() & SCOPE_DIRECT_SUPER) > 0;\n }\n\n get inClass() {\n return (this.currentThisScopeFlags() & SCOPE_CLASS) > 0;\n }\n\n get inClassAndNotInNonArrowFunction() {\n const flags = this.currentThisScopeFlags();\n return (flags & SCOPE_CLASS) > 0 && (flags & SCOPE_FUNCTION) === 0;\n }\n\n get inStaticBlock() {\n for (let i = this.scopeStack.length - 1;; i--) {\n const {\n flags\n } = this.scopeStack[i];\n\n if (flags & SCOPE_STATIC_BLOCK) {\n return true;\n }\n\n if (flags & (SCOPE_VAR | SCOPE_CLASS)) {\n return false;\n }\n }\n }\n\n get inNonArrowFunction() {\n return (this.currentThisScopeFlags() & SCOPE_FUNCTION) > 0;\n }\n\n get treatFunctionsAsVar() {\n return this.treatFunctionsAsVarInScope(this.currentScope());\n }\n\n createScope(flags) {\n return new Scope(flags);\n }\n\n enter(flags) {\n this.scopeStack.push(this.createScope(flags));\n }\n\n exit() {\n this.scopeStack.pop();\n }\n\n treatFunctionsAsVarInScope(scope) {\n return !!(scope.flags & SCOPE_FUNCTION || !this.inModule && scope.flags & SCOPE_PROGRAM);\n }\n\n declareName(name, bindingType, loc) {\n let scope = this.currentScope();\n\n if (bindingType & BIND_SCOPE_LEXICAL || bindingType & BIND_SCOPE_FUNCTION) {\n this.checkRedeclarationInScope(scope, name, bindingType, loc);\n\n if (bindingType & BIND_SCOPE_FUNCTION) {\n scope.functions.add(name);\n } else {\n scope.lexical.add(name);\n }\n\n if (bindingType & BIND_SCOPE_LEXICAL) {\n this.maybeExportDefined(scope, name);\n }\n } else if (bindingType & BIND_SCOPE_VAR) {\n for (let i = this.scopeStack.length - 1; i >= 0; --i) {\n scope = this.scopeStack[i];\n this.checkRedeclarationInScope(scope, name, bindingType, loc);\n scope.var.add(name);\n this.maybeExportDefined(scope, name);\n if (scope.flags & SCOPE_VAR) break;\n }\n }\n\n if (this.inModule && scope.flags & SCOPE_PROGRAM) {\n this.undefinedExports.delete(name);\n }\n }\n\n maybeExportDefined(scope, name) {\n if (this.inModule && scope.flags & SCOPE_PROGRAM) {\n this.undefinedExports.delete(name);\n }\n }\n\n checkRedeclarationInScope(scope, name, bindingType, loc) {\n if (this.isRedeclaredInScope(scope, name, bindingType)) {\n this.raise(ErrorMessages.VarRedeclaration, {\n at: loc\n }, name);\n }\n }\n\n isRedeclaredInScope(scope, name, bindingType) {\n if (!(bindingType & BIND_KIND_VALUE)) return false;\n\n if (bindingType & BIND_SCOPE_LEXICAL) {\n return scope.lexical.has(name) || scope.functions.has(name) || scope.var.has(name);\n }\n\n if (bindingType & BIND_SCOPE_FUNCTION) {\n return scope.lexical.has(name) || !this.treatFunctionsAsVarInScope(scope) && scope.var.has(name);\n }\n\n return scope.lexical.has(name) && !(scope.flags & SCOPE_SIMPLE_CATCH && scope.lexical.values().next().value === name) || !this.treatFunctionsAsVarInScope(scope) && scope.functions.has(name);\n }\n\n checkLocalExport(id) {\n const {\n name\n } = id;\n const topLevelScope = this.scopeStack[0];\n\n if (!topLevelScope.lexical.has(name) && !topLevelScope.var.has(name) && !topLevelScope.functions.has(name)) {\n this.undefinedExports.set(name, id.loc.start);\n }\n }\n\n currentScope() {\n return this.scopeStack[this.scopeStack.length - 1];\n }\n\n currentVarScopeFlags() {\n for (let i = this.scopeStack.length - 1;; i--) {\n const {\n flags\n } = this.scopeStack[i];\n\n if (flags & SCOPE_VAR) {\n return flags;\n }\n }\n }\n\n currentThisScopeFlags() {\n for (let i = this.scopeStack.length - 1;; i--) {\n const {\n flags\n } = this.scopeStack[i];\n\n if (flags & (SCOPE_VAR | SCOPE_CLASS) && !(flags & SCOPE_ARROW)) {\n return flags;\n }\n }\n }\n\n}\n\nclass FlowScope extends Scope {\n constructor(...args) {\n super(...args);\n this.declareFunctions = new Set();\n }\n\n}\n\nclass FlowScopeHandler extends ScopeHandler {\n createScope(flags) {\n return new FlowScope(flags);\n }\n\n declareName(name, bindingType, loc) {\n const scope = this.currentScope();\n\n if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) {\n this.checkRedeclarationInScope(scope, name, bindingType, loc);\n this.maybeExportDefined(scope, name);\n scope.declareFunctions.add(name);\n return;\n }\n\n super.declareName(...arguments);\n }\n\n isRedeclaredInScope(scope, name, bindingType) {\n if (super.isRedeclaredInScope(...arguments)) return true;\n\n if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) {\n return !scope.declareFunctions.has(name) && (scope.lexical.has(name) || scope.functions.has(name));\n }\n\n return false;\n }\n\n checkLocalExport(id) {\n if (!this.scopeStack[0].declareFunctions.has(id.name)) {\n super.checkLocalExport(id);\n }\n }\n\n}\n\nconst lineBreak = /\\r\\n?|[\\n\\u2028\\u2029]/;\nconst lineBreakG = new RegExp(lineBreak.source, \"g\");\nfunction isNewLine(code) {\n switch (code) {\n case 10:\n case 13:\n case 8232:\n case 8233:\n return true;\n\n default:\n return false;\n }\n}\nconst skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;\nconst skipWhiteSpaceInLine = /(?:[^\\S\\n\\r\\u2028\\u2029]|\\/\\/.*|\\/\\*.*?\\*\\/)*/y;\nconst skipWhiteSpaceToLineBreak = new RegExp(\"(?=(\" + skipWhiteSpaceInLine.source + \"))\\\\1\" + /(?=[\\n\\r\\u2028\\u2029]|\\/\\*(?!.*?\\*\\/)|$)/.source, \"y\");\nfunction isWhitespace(code) {\n switch (code) {\n case 0x0009:\n case 0x000b:\n case 0x000c:\n case 32:\n case 160:\n case 5760:\n case 0x2000:\n case 0x2001:\n case 0x2002:\n case 0x2003:\n case 0x2004:\n case 0x2005:\n case 0x2006:\n case 0x2007:\n case 0x2008:\n case 0x2009:\n case 0x200a:\n case 0x202f:\n case 0x205f:\n case 0x3000:\n case 0xfeff:\n return true;\n\n default:\n return false;\n }\n}\n\nclass State {\n constructor() {\n this.strict = void 0;\n this.curLine = void 0;\n this.lineStart = void 0;\n this.startLoc = void 0;\n this.endLoc = void 0;\n this.errors = [];\n this.potentialArrowAt = -1;\n this.noArrowAt = [];\n this.noArrowParamsConversionAt = [];\n this.maybeInArrowParameters = false;\n this.inType = false;\n this.noAnonFunctionType = false;\n this.hasFlowComment = false;\n this.isAmbientContext = false;\n this.inAbstractClass = false;\n this.topicContext = {\n maxNumOfResolvableTopics: 0,\n maxTopicIndex: null\n };\n this.soloAwait = false;\n this.inFSharpPipelineDirectBody = false;\n this.labels = [];\n this.decoratorStack = [[]];\n this.comments = [];\n this.commentStack = [];\n this.pos = 0;\n this.type = 135;\n this.value = null;\n this.start = 0;\n this.end = 0;\n this.lastTokEndLoc = null;\n this.lastTokStartLoc = null;\n this.lastTokStart = 0;\n this.context = [types.brace];\n this.canStartJSXElement = true;\n this.containsEsc = false;\n this.strictErrors = new Map();\n this.tokensLength = 0;\n }\n\n init({\n strictMode,\n sourceType,\n startLine,\n startColumn\n }) {\n this.strict = strictMode === false ? false : strictMode === true ? true : sourceType === \"module\";\n this.curLine = startLine;\n this.lineStart = -startColumn;\n this.startLoc = this.endLoc = new Position(startLine, startColumn, 0);\n }\n\n curPosition() {\n return new Position(this.curLine, this.pos - this.lineStart, this.pos);\n }\n\n clone(skipArrays) {\n const state = new State();\n const keys = Object.keys(this);\n\n for (let i = 0, length = keys.length; i < length; i++) {\n const key = keys[i];\n let val = this[key];\n\n if (!skipArrays && Array.isArray(val)) {\n val = val.slice();\n }\n\n state[key] = val;\n }\n\n return state;\n }\n\n}\n\nvar _isDigit = function isDigit(code) {\n return code >= 48 && code <= 57;\n};\nconst VALID_REGEX_FLAGS = new Set([103, 109, 115, 105, 121, 117, 100, 118]);\nconst forbiddenNumericSeparatorSiblings = {\n decBinOct: [46, 66, 69, 79, 95, 98, 101, 111],\n hex: [46, 88, 95, 120]\n};\nconst allowedNumericSeparatorSiblings = {};\nallowedNumericSeparatorSiblings.bin = [48, 49];\nallowedNumericSeparatorSiblings.oct = [...allowedNumericSeparatorSiblings.bin, 50, 51, 52, 53, 54, 55];\nallowedNumericSeparatorSiblings.dec = [...allowedNumericSeparatorSiblings.oct, 56, 57];\nallowedNumericSeparatorSiblings.hex = [...allowedNumericSeparatorSiblings.dec, 65, 66, 67, 68, 69, 70, 97, 98, 99, 100, 101, 102];\nclass Token {\n constructor(state) {\n this.type = state.type;\n this.value = state.value;\n this.start = state.start;\n this.end = state.end;\n this.loc = new SourceLocation(state.startLoc, state.endLoc);\n }\n\n}\nclass Tokenizer extends ParserError {\n constructor(options, input) {\n super();\n this.isLookahead = void 0;\n this.tokens = [];\n this.state = new State();\n this.state.init(options);\n this.input = input;\n this.length = input.length;\n this.isLookahead = false;\n }\n\n pushToken(token) {\n this.tokens.length = this.state.tokensLength;\n this.tokens.push(token);\n ++this.state.tokensLength;\n }\n\n next() {\n this.checkKeywordEscapes();\n\n if (this.options.tokens) {\n this.pushToken(new Token(this.state));\n }\n\n this.state.lastTokStart = this.state.start;\n this.state.lastTokEndLoc = this.state.endLoc;\n this.state.lastTokStartLoc = this.state.startLoc;\n this.nextToken();\n }\n\n eat(type) {\n if (this.match(type)) {\n this.next();\n return true;\n } else {\n return false;\n }\n }\n\n match(type) {\n return this.state.type === type;\n }\n\n createLookaheadState(state) {\n return {\n pos: state.pos,\n value: null,\n type: state.type,\n start: state.start,\n end: state.end,\n context: [this.curContext()],\n inType: state.inType,\n startLoc: state.startLoc,\n lastTokEndLoc: state.lastTokEndLoc,\n curLine: state.curLine,\n lineStart: state.lineStart,\n curPosition: state.curPosition\n };\n }\n\n lookahead() {\n const old = this.state;\n this.state = this.createLookaheadState(old);\n this.isLookahead = true;\n this.nextToken();\n this.isLookahead = false;\n const curr = this.state;\n this.state = old;\n return curr;\n }\n\n nextTokenStart() {\n return this.nextTokenStartSince(this.state.pos);\n }\n\n nextTokenStartSince(pos) {\n skipWhiteSpace.lastIndex = pos;\n return skipWhiteSpace.test(this.input) ? skipWhiteSpace.lastIndex : pos;\n }\n\n lookaheadCharCode() {\n return this.input.charCodeAt(this.nextTokenStart());\n }\n\n codePointAtPos(pos) {\n let cp = this.input.charCodeAt(pos);\n\n if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) {\n const trail = this.input.charCodeAt(pos);\n\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n\n return cp;\n }\n\n setStrict(strict) {\n this.state.strict = strict;\n\n if (strict) {\n this.state.strictErrors.forEach(({\n message,\n loc\n }) => this.raise(message, {\n at: loc\n }));\n this.state.strictErrors.clear();\n }\n }\n\n curContext() {\n return this.state.context[this.state.context.length - 1];\n }\n\n nextToken() {\n this.skipSpace();\n this.state.start = this.state.pos;\n if (!this.isLookahead) this.state.startLoc = this.state.curPosition();\n\n if (this.state.pos >= this.length) {\n this.finishToken(135);\n return;\n }\n\n this.getTokenFromCode(this.codePointAtPos(this.state.pos));\n }\n\n skipBlockComment() {\n let startLoc;\n if (!this.isLookahead) startLoc = this.state.curPosition();\n const start = this.state.pos;\n const end = this.input.indexOf(\"*/\", start + 2);\n\n if (end === -1) {\n throw this.raise(ErrorMessages.UnterminatedComment, {\n at: this.state.curPosition()\n });\n }\n\n this.state.pos = end + 2;\n lineBreakG.lastIndex = start + 2;\n\n while (lineBreakG.test(this.input) && lineBreakG.lastIndex <= end) {\n ++this.state.curLine;\n this.state.lineStart = lineBreakG.lastIndex;\n }\n\n if (this.isLookahead) return;\n const comment = {\n type: \"CommentBlock\",\n value: this.input.slice(start + 2, end),\n start,\n end: end + 2,\n loc: new SourceLocation(startLoc, this.state.curPosition())\n };\n if (this.options.tokens) this.pushToken(comment);\n return comment;\n }\n\n skipLineComment(startSkip) {\n const start = this.state.pos;\n let startLoc;\n if (!this.isLookahead) startLoc = this.state.curPosition();\n let ch = this.input.charCodeAt(this.state.pos += startSkip);\n\n if (this.state.pos < this.length) {\n while (!isNewLine(ch) && ++this.state.pos < this.length) {\n ch = this.input.charCodeAt(this.state.pos);\n }\n }\n\n if (this.isLookahead) return;\n const end = this.state.pos;\n const value = this.input.slice(start + startSkip, end);\n const comment = {\n type: \"CommentLine\",\n value,\n start,\n end,\n loc: new SourceLocation(startLoc, this.state.curPosition())\n };\n if (this.options.tokens) this.pushToken(comment);\n return comment;\n }\n\n skipSpace() {\n const spaceStart = this.state.pos;\n const comments = [];\n\n loop: while (this.state.pos < this.length) {\n const ch = this.input.charCodeAt(this.state.pos);\n\n switch (ch) {\n case 32:\n case 160:\n case 9:\n ++this.state.pos;\n break;\n\n case 13:\n if (this.input.charCodeAt(this.state.pos + 1) === 10) {\n ++this.state.pos;\n }\n\n case 10:\n case 8232:\n case 8233:\n ++this.state.pos;\n ++this.state.curLine;\n this.state.lineStart = this.state.pos;\n break;\n\n case 47:\n switch (this.input.charCodeAt(this.state.pos + 1)) {\n case 42:\n {\n const comment = this.skipBlockComment();\n\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n\n break;\n }\n\n case 47:\n {\n const comment = this.skipLineComment(2);\n\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n\n break;\n }\n\n default:\n break loop;\n }\n\n break;\n\n default:\n if (isWhitespace(ch)) {\n ++this.state.pos;\n } else if (ch === 45 && !this.inModule) {\n const pos = this.state.pos;\n\n if (this.input.charCodeAt(pos + 1) === 45 && this.input.charCodeAt(pos + 2) === 62 && (spaceStart === 0 || this.state.lineStart > spaceStart)) {\n const comment = this.skipLineComment(3);\n\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n } else {\n break loop;\n }\n } else if (ch === 60 && !this.inModule) {\n const pos = this.state.pos;\n\n if (this.input.charCodeAt(pos + 1) === 33 && this.input.charCodeAt(pos + 2) === 45 && this.input.charCodeAt(pos + 3) === 45) {\n const comment = this.skipLineComment(4);\n\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n } else {\n break loop;\n }\n } else {\n break loop;\n }\n\n }\n }\n\n if (comments.length > 0) {\n const end = this.state.pos;\n const CommentWhitespace = {\n start: spaceStart,\n end,\n comments,\n leadingNode: null,\n trailingNode: null,\n containingNode: null\n };\n this.state.commentStack.push(CommentWhitespace);\n }\n }\n\n finishToken(type, val) {\n this.state.end = this.state.pos;\n this.state.endLoc = this.state.curPosition();\n const prevType = this.state.type;\n this.state.type = type;\n this.state.value = val;\n\n if (!this.isLookahead) {\n this.updateContext(prevType);\n }\n }\n\n replaceToken(type) {\n this.state.type = type;\n this.updateContext();\n }\n\n readToken_numberSign() {\n if (this.state.pos === 0 && this.readToken_interpreter()) {\n return;\n }\n\n const nextPos = this.state.pos + 1;\n const next = this.codePointAtPos(nextPos);\n\n if (next >= 48 && next <= 57) {\n throw this.raise(ErrorMessages.UnexpectedDigitAfterHash, {\n at: this.state.curPosition()\n });\n }\n\n if (next === 123 || next === 91 && this.hasPlugin(\"recordAndTuple\")) {\n this.expectPlugin(\"recordAndTuple\");\n\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") !== \"hash\") {\n throw this.raise(next === 123 ? ErrorMessages.RecordExpressionHashIncorrectStartSyntaxType : ErrorMessages.TupleExpressionHashIncorrectStartSyntaxType, {\n at: this.state.curPosition()\n });\n }\n\n this.state.pos += 2;\n\n if (next === 123) {\n this.finishToken(7);\n } else {\n this.finishToken(1);\n }\n } else if (isIdentifierStart(next)) {\n ++this.state.pos;\n this.finishToken(134, this.readWord1(next));\n } else if (next === 92) {\n ++this.state.pos;\n this.finishToken(134, this.readWord1());\n } else {\n this.finishOp(27, 1);\n }\n }\n\n readToken_dot() {\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (next >= 48 && next <= 57) {\n this.readNumber(true);\n return;\n }\n\n if (next === 46 && this.input.charCodeAt(this.state.pos + 2) === 46) {\n this.state.pos += 3;\n this.finishToken(21);\n } else {\n ++this.state.pos;\n this.finishToken(16);\n }\n }\n\n readToken_slash() {\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (next === 61) {\n this.finishOp(31, 2);\n } else {\n this.finishOp(56, 1);\n }\n }\n\n readToken_interpreter() {\n if (this.state.pos !== 0 || this.length < 2) return false;\n let ch = this.input.charCodeAt(this.state.pos + 1);\n if (ch !== 33) return false;\n const start = this.state.pos;\n this.state.pos += 1;\n\n while (!isNewLine(ch) && ++this.state.pos < this.length) {\n ch = this.input.charCodeAt(this.state.pos);\n }\n\n const value = this.input.slice(start + 2, this.state.pos);\n this.finishToken(28, value);\n return true;\n }\n\n readToken_mult_modulo(code) {\n let type = code === 42 ? 55 : 54;\n let width = 1;\n let next = this.input.charCodeAt(this.state.pos + 1);\n\n if (code === 42 && next === 42) {\n width++;\n next = this.input.charCodeAt(this.state.pos + 2);\n type = 57;\n }\n\n if (next === 61 && !this.state.inType) {\n width++;\n type = code === 37 ? 33 : 30;\n }\n\n this.finishOp(type, width);\n }\n\n readToken_pipe_amp(code) {\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (next === code) {\n if (this.input.charCodeAt(this.state.pos + 2) === 61) {\n this.finishOp(30, 3);\n } else {\n this.finishOp(code === 124 ? 41 : 42, 2);\n }\n\n return;\n }\n\n if (code === 124) {\n if (next === 62) {\n this.finishOp(39, 2);\n return;\n }\n\n if (this.hasPlugin(\"recordAndTuple\") && next === 125) {\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") !== \"bar\") {\n throw this.raise(ErrorMessages.RecordExpressionBarIncorrectEndSyntaxType, {\n at: this.state.curPosition()\n });\n }\n\n this.state.pos += 2;\n this.finishToken(9);\n return;\n }\n\n if (this.hasPlugin(\"recordAndTuple\") && next === 93) {\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") !== \"bar\") {\n throw this.raise(ErrorMessages.TupleExpressionBarIncorrectEndSyntaxType, {\n at: this.state.curPosition()\n });\n }\n\n this.state.pos += 2;\n this.finishToken(4);\n return;\n }\n }\n\n if (next === 61) {\n this.finishOp(30, 2);\n return;\n }\n\n this.finishOp(code === 124 ? 43 : 45, 1);\n }\n\n readToken_caret() {\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (next === 61 && !this.state.inType) {\n this.finishOp(32, 2);\n } else if (next === 94 && this.hasPlugin([\"pipelineOperator\", {\n proposal: \"hack\",\n topicToken: \"^^\"\n }])) {\n this.finishOp(37, 2);\n const lookaheadCh = this.input.codePointAt(this.state.pos);\n\n if (lookaheadCh === 94) {\n throw this.unexpected();\n }\n } else {\n this.finishOp(44, 1);\n }\n }\n\n readToken_atSign() {\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (next === 64 && this.hasPlugin([\"pipelineOperator\", {\n proposal: \"hack\",\n topicToken: \"@@\"\n }])) {\n this.finishOp(38, 2);\n } else {\n this.finishOp(26, 1);\n }\n }\n\n readToken_plus_min(code) {\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (next === code) {\n this.finishOp(34, 2);\n return;\n }\n\n if (next === 61) {\n this.finishOp(30, 2);\n } else {\n this.finishOp(53, 1);\n }\n }\n\n readToken_lt() {\n const {\n pos\n } = this.state;\n const next = this.input.charCodeAt(pos + 1);\n\n if (next === 60) {\n if (this.input.charCodeAt(pos + 2) === 61) {\n this.finishOp(30, 3);\n return;\n }\n\n this.finishOp(51, 2);\n return;\n }\n\n if (next === 61) {\n this.finishOp(49, 2);\n return;\n }\n\n this.finishOp(47, 1);\n }\n\n readToken_gt() {\n const {\n pos\n } = this.state;\n const next = this.input.charCodeAt(pos + 1);\n\n if (next === 62) {\n const size = this.input.charCodeAt(pos + 2) === 62 ? 3 : 2;\n\n if (this.input.charCodeAt(pos + size) === 61) {\n this.finishOp(30, size + 1);\n return;\n }\n\n this.finishOp(52, size);\n return;\n }\n\n if (next === 61) {\n this.finishOp(49, 2);\n return;\n }\n\n this.finishOp(48, 1);\n }\n\n readToken_eq_excl(code) {\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (next === 61) {\n this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2);\n return;\n }\n\n if (code === 61 && next === 62) {\n this.state.pos += 2;\n this.finishToken(19);\n return;\n }\n\n this.finishOp(code === 61 ? 29 : 35, 1);\n }\n\n readToken_question() {\n const next = this.input.charCodeAt(this.state.pos + 1);\n const next2 = this.input.charCodeAt(this.state.pos + 2);\n\n if (next === 63) {\n if (next2 === 61) {\n this.finishOp(30, 3);\n } else {\n this.finishOp(40, 2);\n }\n } else if (next === 46 && !(next2 >= 48 && next2 <= 57)) {\n this.state.pos += 2;\n this.finishToken(18);\n } else {\n ++this.state.pos;\n this.finishToken(17);\n }\n }\n\n getTokenFromCode(code) {\n switch (code) {\n case 46:\n this.readToken_dot();\n return;\n\n case 40:\n ++this.state.pos;\n this.finishToken(10);\n return;\n\n case 41:\n ++this.state.pos;\n this.finishToken(11);\n return;\n\n case 59:\n ++this.state.pos;\n this.finishToken(13);\n return;\n\n case 44:\n ++this.state.pos;\n this.finishToken(12);\n return;\n\n case 91:\n if (this.hasPlugin(\"recordAndTuple\") && this.input.charCodeAt(this.state.pos + 1) === 124) {\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") !== \"bar\") {\n throw this.raise(ErrorMessages.TupleExpressionBarIncorrectStartSyntaxType, {\n at: this.state.curPosition()\n });\n }\n\n this.state.pos += 2;\n this.finishToken(2);\n } else {\n ++this.state.pos;\n this.finishToken(0);\n }\n\n return;\n\n case 93:\n ++this.state.pos;\n this.finishToken(3);\n return;\n\n case 123:\n if (this.hasPlugin(\"recordAndTuple\") && this.input.charCodeAt(this.state.pos + 1) === 124) {\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") !== \"bar\") {\n throw this.raise(ErrorMessages.RecordExpressionBarIncorrectStartSyntaxType, {\n at: this.state.curPosition()\n });\n }\n\n this.state.pos += 2;\n this.finishToken(6);\n } else {\n ++this.state.pos;\n this.finishToken(5);\n }\n\n return;\n\n case 125:\n ++this.state.pos;\n this.finishToken(8);\n return;\n\n case 58:\n if (this.hasPlugin(\"functionBind\") && this.input.charCodeAt(this.state.pos + 1) === 58) {\n this.finishOp(15, 2);\n } else {\n ++this.state.pos;\n this.finishToken(14);\n }\n\n return;\n\n case 63:\n this.readToken_question();\n return;\n\n case 96:\n this.readTemplateToken();\n return;\n\n case 48:\n {\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (next === 120 || next === 88) {\n this.readRadixNumber(16);\n return;\n }\n\n if (next === 111 || next === 79) {\n this.readRadixNumber(8);\n return;\n }\n\n if (next === 98 || next === 66) {\n this.readRadixNumber(2);\n return;\n }\n }\n\n case 49:\n case 50:\n case 51:\n case 52:\n case 53:\n case 54:\n case 55:\n case 56:\n case 57:\n this.readNumber(false);\n return;\n\n case 34:\n case 39:\n this.readString(code);\n return;\n\n case 47:\n this.readToken_slash();\n return;\n\n case 37:\n case 42:\n this.readToken_mult_modulo(code);\n return;\n\n case 124:\n case 38:\n this.readToken_pipe_amp(code);\n return;\n\n case 94:\n this.readToken_caret();\n return;\n\n case 43:\n case 45:\n this.readToken_plus_min(code);\n return;\n\n case 60:\n this.readToken_lt();\n return;\n\n case 62:\n this.readToken_gt();\n return;\n\n case 61:\n case 33:\n this.readToken_eq_excl(code);\n return;\n\n case 126:\n this.finishOp(36, 1);\n return;\n\n case 64:\n this.readToken_atSign();\n return;\n\n case 35:\n this.readToken_numberSign();\n return;\n\n case 92:\n this.readWord();\n return;\n\n default:\n if (isIdentifierStart(code)) {\n this.readWord(code);\n return;\n }\n\n }\n\n throw this.raise(ErrorMessages.InvalidOrUnexpectedToken, {\n at: this.state.curPosition()\n }, String.fromCodePoint(code));\n }\n\n finishOp(type, size) {\n const str = this.input.slice(this.state.pos, this.state.pos + size);\n this.state.pos += size;\n this.finishToken(type, str);\n }\n\n readRegexp() {\n const startLoc = this.state.startLoc;\n const start = this.state.start + 1;\n let escaped, inClass;\n let {\n pos\n } = this.state;\n\n for (;; ++pos) {\n if (pos >= this.length) {\n throw this.raise(ErrorMessages.UnterminatedRegExp, {\n at: createPositionWithColumnOffset(startLoc, 1)\n });\n }\n\n const ch = this.input.charCodeAt(pos);\n\n if (isNewLine(ch)) {\n throw this.raise(ErrorMessages.UnterminatedRegExp, {\n at: createPositionWithColumnOffset(startLoc, 1)\n });\n }\n\n if (escaped) {\n escaped = false;\n } else {\n if (ch === 91) {\n inClass = true;\n } else if (ch === 93 && inClass) {\n inClass = false;\n } else if (ch === 47 && !inClass) {\n break;\n }\n\n escaped = ch === 92;\n }\n }\n\n const content = this.input.slice(start, pos);\n ++pos;\n let mods = \"\";\n\n const nextPos = () => createPositionWithColumnOffset(startLoc, pos + 2 - start);\n\n while (pos < this.length) {\n const cp = this.codePointAtPos(pos);\n const char = String.fromCharCode(cp);\n\n if (VALID_REGEX_FLAGS.has(cp)) {\n if (cp === 118) {\n this.expectPlugin(\"regexpUnicodeSets\", nextPos());\n\n if (mods.includes(\"u\")) {\n this.raise(ErrorMessages.IncompatibleRegExpUVFlags, {\n at: nextPos()\n });\n }\n } else if (cp === 117) {\n if (mods.includes(\"v\")) {\n this.raise(ErrorMessages.IncompatibleRegExpUVFlags, {\n at: nextPos()\n });\n }\n }\n\n if (mods.includes(char)) {\n this.raise(ErrorMessages.DuplicateRegExpFlags, {\n at: nextPos()\n });\n }\n } else if (isIdentifierChar(cp) || cp === 92) {\n this.raise(ErrorMessages.MalformedRegExpFlags, {\n at: nextPos()\n });\n } else {\n break;\n }\n\n ++pos;\n mods += char;\n }\n\n this.state.pos = pos;\n this.finishToken(133, {\n pattern: content,\n flags: mods\n });\n }\n\n readInt(radix, len, forceLen, allowNumSeparator = true) {\n const start = this.state.pos;\n const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;\n const allowedSiblings = radix === 16 ? allowedNumericSeparatorSiblings.hex : radix === 10 ? allowedNumericSeparatorSiblings.dec : radix === 8 ? allowedNumericSeparatorSiblings.oct : allowedNumericSeparatorSiblings.bin;\n let invalid = false;\n let total = 0;\n\n for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n const code = this.input.charCodeAt(this.state.pos);\n let val;\n\n if (code === 95) {\n const prev = this.input.charCodeAt(this.state.pos - 1);\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (allowedSiblings.indexOf(next) === -1) {\n this.raise(ErrorMessages.UnexpectedNumericSeparator, {\n at: this.state.curPosition()\n });\n } else if (forbiddenSiblings.indexOf(prev) > -1 || forbiddenSiblings.indexOf(next) > -1 || Number.isNaN(next)) {\n this.raise(ErrorMessages.UnexpectedNumericSeparator, {\n at: this.state.curPosition()\n });\n }\n\n if (!allowNumSeparator) {\n this.raise(ErrorMessages.NumericSeparatorInEscapeSequence, {\n at: this.state.curPosition()\n });\n }\n\n ++this.state.pos;\n continue;\n }\n\n if (code >= 97) {\n val = code - 97 + 10;\n } else if (code >= 65) {\n val = code - 65 + 10;\n } else if (_isDigit(code)) {\n val = code - 48;\n } else {\n val = Infinity;\n }\n\n if (val >= radix) {\n if (this.options.errorRecovery && val <= 9) {\n val = 0;\n this.raise(ErrorMessages.InvalidDigit, {\n at: this.state.curPosition()\n }, radix);\n } else if (forceLen) {\n val = 0;\n invalid = true;\n } else {\n break;\n }\n }\n\n ++this.state.pos;\n total = total * radix + val;\n }\n\n if (this.state.pos === start || len != null && this.state.pos - start !== len || invalid) {\n return null;\n }\n\n return total;\n }\n\n readRadixNumber(radix) {\n const startLoc = this.state.curPosition();\n let isBigInt = false;\n this.state.pos += 2;\n const val = this.readInt(radix);\n\n if (val == null) {\n this.raise(ErrorMessages.InvalidDigit, {\n at: createPositionWithColumnOffset(startLoc, 2)\n }, radix);\n }\n\n const next = this.input.charCodeAt(this.state.pos);\n\n if (next === 110) {\n ++this.state.pos;\n isBigInt = true;\n } else if (next === 109) {\n throw this.raise(ErrorMessages.InvalidDecimal, {\n at: startLoc\n });\n }\n\n if (isIdentifierStart(this.codePointAtPos(this.state.pos))) {\n throw this.raise(ErrorMessages.NumberIdentifier, {\n at: this.state.curPosition()\n });\n }\n\n if (isBigInt) {\n const str = this.input.slice(startLoc.index, this.state.pos).replace(/[_n]/g, \"\");\n this.finishToken(131, str);\n return;\n }\n\n this.finishToken(130, val);\n }\n\n readNumber(startsWithDot) {\n const start = this.state.pos;\n const startLoc = this.state.curPosition();\n let isFloat = false;\n let isBigInt = false;\n let isDecimal = false;\n let hasExponent = false;\n let isOctal = false;\n\n if (!startsWithDot && this.readInt(10) === null) {\n this.raise(ErrorMessages.InvalidNumber, {\n at: this.state.curPosition()\n });\n }\n\n const hasLeadingZero = this.state.pos - start >= 2 && this.input.charCodeAt(start) === 48;\n\n if (hasLeadingZero) {\n const integer = this.input.slice(start, this.state.pos);\n this.recordStrictModeErrors(ErrorMessages.StrictOctalLiteral, startLoc);\n\n if (!this.state.strict) {\n const underscorePos = integer.indexOf(\"_\");\n\n if (underscorePos > 0) {\n this.raise(ErrorMessages.ZeroDigitNumericSeparator, {\n at: createPositionWithColumnOffset(startLoc, underscorePos)\n });\n }\n }\n\n isOctal = hasLeadingZero && !/[89]/.test(integer);\n }\n\n let next = this.input.charCodeAt(this.state.pos);\n\n if (next === 46 && !isOctal) {\n ++this.state.pos;\n this.readInt(10);\n isFloat = true;\n next = this.input.charCodeAt(this.state.pos);\n }\n\n if ((next === 69 || next === 101) && !isOctal) {\n next = this.input.charCodeAt(++this.state.pos);\n\n if (next === 43 || next === 45) {\n ++this.state.pos;\n }\n\n if (this.readInt(10) === null) {\n this.raise(ErrorMessages.InvalidOrMissingExponent, {\n at: startLoc\n });\n }\n\n isFloat = true;\n hasExponent = true;\n next = this.input.charCodeAt(this.state.pos);\n }\n\n if (next === 110) {\n if (isFloat || hasLeadingZero) {\n this.raise(ErrorMessages.InvalidBigIntLiteral, {\n at: startLoc\n });\n }\n\n ++this.state.pos;\n isBigInt = true;\n }\n\n if (next === 109) {\n this.expectPlugin(\"decimal\", this.state.curPosition());\n\n if (hasExponent || hasLeadingZero) {\n this.raise(ErrorMessages.InvalidDecimal, {\n at: startLoc\n });\n }\n\n ++this.state.pos;\n isDecimal = true;\n }\n\n if (isIdentifierStart(this.codePointAtPos(this.state.pos))) {\n throw this.raise(ErrorMessages.NumberIdentifier, {\n at: this.state.curPosition()\n });\n }\n\n const str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, \"\");\n\n if (isBigInt) {\n this.finishToken(131, str);\n return;\n }\n\n if (isDecimal) {\n this.finishToken(132, str);\n return;\n }\n\n const val = isOctal ? parseInt(str, 8) : parseFloat(str);\n this.finishToken(130, val);\n }\n\n readCodePoint(throwOnInvalid) {\n const ch = this.input.charCodeAt(this.state.pos);\n let code;\n\n if (ch === 123) {\n ++this.state.pos;\n code = this.readHexChar(this.input.indexOf(\"}\", this.state.pos) - this.state.pos, true, throwOnInvalid);\n ++this.state.pos;\n\n if (code !== null && code > 0x10ffff) {\n if (throwOnInvalid) {\n this.raise(ErrorMessages.InvalidCodePoint, {\n at: this.state.curPosition()\n });\n } else {\n return null;\n }\n }\n } else {\n code = this.readHexChar(4, false, throwOnInvalid);\n }\n\n return code;\n }\n\n readString(quote) {\n let out = \"\",\n chunkStart = ++this.state.pos;\n\n for (;;) {\n if (this.state.pos >= this.length) {\n throw this.raise(ErrorMessages.UnterminatedString, {\n at: this.state.startLoc\n });\n }\n\n const ch = this.input.charCodeAt(this.state.pos);\n if (ch === quote) break;\n\n if (ch === 92) {\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.readEscapedChar(false);\n chunkStart = this.state.pos;\n } else if (ch === 8232 || ch === 8233) {\n ++this.state.pos;\n ++this.state.curLine;\n this.state.lineStart = this.state.pos;\n } else if (isNewLine(ch)) {\n throw this.raise(ErrorMessages.UnterminatedString, {\n at: this.state.startLoc\n });\n } else {\n ++this.state.pos;\n }\n }\n\n out += this.input.slice(chunkStart, this.state.pos++);\n this.finishToken(129, out);\n }\n\n readTemplateContinuation() {\n if (!this.match(8)) {\n this.unexpected(null, 8);\n }\n\n this.state.pos--;\n this.readTemplateToken();\n }\n\n readTemplateToken() {\n let out = \"\",\n chunkStart = this.state.pos,\n containsInvalid = false;\n ++this.state.pos;\n\n for (;;) {\n if (this.state.pos >= this.length) {\n throw this.raise(ErrorMessages.UnterminatedTemplate, {\n at: createPositionWithColumnOffset(this.state.startLoc, 1)\n });\n }\n\n const ch = this.input.charCodeAt(this.state.pos);\n\n if (ch === 96) {\n ++this.state.pos;\n out += this.input.slice(chunkStart, this.state.pos);\n this.finishToken(24, containsInvalid ? null : out);\n return;\n }\n\n if (ch === 36 && this.input.charCodeAt(this.state.pos + 1) === 123) {\n this.state.pos += 2;\n out += this.input.slice(chunkStart, this.state.pos);\n this.finishToken(25, containsInvalid ? null : out);\n return;\n }\n\n if (ch === 92) {\n out += this.input.slice(chunkStart, this.state.pos);\n const escaped = this.readEscapedChar(true);\n\n if (escaped === null) {\n containsInvalid = true;\n } else {\n out += escaped;\n }\n\n chunkStart = this.state.pos;\n } else if (isNewLine(ch)) {\n out += this.input.slice(chunkStart, this.state.pos);\n ++this.state.pos;\n\n switch (ch) {\n case 13:\n if (this.input.charCodeAt(this.state.pos) === 10) {\n ++this.state.pos;\n }\n\n case 10:\n out += \"\\n\";\n break;\n\n default:\n out += String.fromCharCode(ch);\n break;\n }\n\n ++this.state.curLine;\n this.state.lineStart = this.state.pos;\n chunkStart = this.state.pos;\n } else {\n ++this.state.pos;\n }\n }\n }\n\n recordStrictModeErrors(message, loc) {\n if (this.state.strict && !this.state.strictErrors.has(loc.index)) {\n this.raise(message, {\n at: loc\n });\n } else {\n this.state.strictErrors.set(loc.index, {\n loc,\n message\n });\n }\n }\n\n readEscapedChar(inTemplate) {\n const throwOnInvalid = !inTemplate;\n const ch = this.input.charCodeAt(++this.state.pos);\n ++this.state.pos;\n\n switch (ch) {\n case 110:\n return \"\\n\";\n\n case 114:\n return \"\\r\";\n\n case 120:\n {\n const code = this.readHexChar(2, false, throwOnInvalid);\n return code === null ? null : String.fromCharCode(code);\n }\n\n case 117:\n {\n const code = this.readCodePoint(throwOnInvalid);\n return code === null ? null : String.fromCodePoint(code);\n }\n\n case 116:\n return \"\\t\";\n\n case 98:\n return \"\\b\";\n\n case 118:\n return \"\\u000b\";\n\n case 102:\n return \"\\f\";\n\n case 13:\n if (this.input.charCodeAt(this.state.pos) === 10) {\n ++this.state.pos;\n }\n\n case 10:\n this.state.lineStart = this.state.pos;\n ++this.state.curLine;\n\n case 8232:\n case 8233:\n return \"\";\n\n case 56:\n case 57:\n if (inTemplate) {\n return null;\n } else {\n this.recordStrictModeErrors(ErrorMessages.StrictNumericEscape, createPositionWithColumnOffset(this.state.curPosition(), -1));\n }\n\n default:\n if (ch >= 48 && ch <= 55) {\n const codePos = createPositionWithColumnOffset(this.state.curPosition(), -1);\n const match = this.input.substr(this.state.pos - 1, 3).match(/^[0-7]+/);\n let octalStr = match[0];\n let octal = parseInt(octalStr, 8);\n\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1);\n octal = parseInt(octalStr, 8);\n }\n\n this.state.pos += octalStr.length - 1;\n const next = this.input.charCodeAt(this.state.pos);\n\n if (octalStr !== \"0\" || next === 56 || next === 57) {\n if (inTemplate) {\n return null;\n } else {\n this.recordStrictModeErrors(ErrorMessages.StrictNumericEscape, codePos);\n }\n }\n\n return String.fromCharCode(octal);\n }\n\n return String.fromCharCode(ch);\n }\n }\n\n readHexChar(len, forceLen, throwOnInvalid) {\n const codeLoc = this.state.curPosition();\n const n = this.readInt(16, len, forceLen, false);\n\n if (n === null) {\n if (throwOnInvalid) {\n this.raise(ErrorMessages.InvalidEscapeSequence, {\n at: codeLoc\n });\n } else {\n this.state.pos = codeLoc.index - 1;\n }\n }\n\n return n;\n }\n\n readWord1(firstCode) {\n this.state.containsEsc = false;\n let word = \"\";\n const start = this.state.pos;\n let chunkStart = this.state.pos;\n\n if (firstCode !== undefined) {\n this.state.pos += firstCode <= 0xffff ? 1 : 2;\n }\n\n while (this.state.pos < this.length) {\n const ch = this.codePointAtPos(this.state.pos);\n\n if (isIdentifierChar(ch)) {\n this.state.pos += ch <= 0xffff ? 1 : 2;\n } else if (ch === 92) {\n this.state.containsEsc = true;\n word += this.input.slice(chunkStart, this.state.pos);\n const escStart = this.state.curPosition();\n const identifierCheck = this.state.pos === start ? isIdentifierStart : isIdentifierChar;\n\n if (this.input.charCodeAt(++this.state.pos) !== 117) {\n this.raise(ErrorMessages.MissingUnicodeEscape, {\n at: this.state.curPosition()\n });\n chunkStart = this.state.pos - 1;\n continue;\n }\n\n ++this.state.pos;\n const esc = this.readCodePoint(true);\n\n if (esc !== null) {\n if (!identifierCheck(esc)) {\n this.raise(ErrorMessages.EscapedCharNotAnIdentifier, {\n at: escStart\n });\n }\n\n word += String.fromCodePoint(esc);\n }\n\n chunkStart = this.state.pos;\n } else {\n break;\n }\n }\n\n return word + this.input.slice(chunkStart, this.state.pos);\n }\n\n readWord(firstCode) {\n const word = this.readWord1(firstCode);\n const type = keywords$1.get(word);\n\n if (type !== undefined) {\n this.finishToken(type, tokenLabelName(type));\n } else {\n this.finishToken(128, word);\n }\n }\n\n checkKeywordEscapes() {\n const {\n type\n } = this.state;\n\n if (tokenIsKeyword(type) && this.state.containsEsc) {\n this.raise(ErrorMessages.InvalidEscapedReservedWord, {\n at: this.state.startLoc\n }, tokenLabelName(type));\n }\n }\n\n updateContext(prevType) {}\n\n}\n\nclass ClassScope {\n constructor() {\n this.privateNames = new Set();\n this.loneAccessors = new Map();\n this.undefinedPrivateNames = new Map();\n }\n\n}\nclass ClassScopeHandler {\n constructor(raise) {\n this.stack = [];\n this.undefinedPrivateNames = new Map();\n this.raise = raise;\n }\n\n current() {\n return this.stack[this.stack.length - 1];\n }\n\n enter() {\n this.stack.push(new ClassScope());\n }\n\n exit() {\n const oldClassScope = this.stack.pop();\n const current = this.current();\n\n for (const [name, loc] of Array.from(oldClassScope.undefinedPrivateNames)) {\n if (current) {\n if (!current.undefinedPrivateNames.has(name)) {\n current.undefinedPrivateNames.set(name, loc);\n }\n } else {\n this.raise(ErrorMessages.InvalidPrivateFieldResolution, {\n at: loc\n }, name);\n }\n }\n }\n\n declarePrivateName(name, elementType, loc) {\n const {\n privateNames,\n loneAccessors,\n undefinedPrivateNames\n } = this.current();\n let redefined = privateNames.has(name);\n\n if (elementType & CLASS_ELEMENT_KIND_ACCESSOR) {\n const accessor = redefined && loneAccessors.get(name);\n\n if (accessor) {\n const oldStatic = accessor & CLASS_ELEMENT_FLAG_STATIC;\n const newStatic = elementType & CLASS_ELEMENT_FLAG_STATIC;\n const oldKind = accessor & CLASS_ELEMENT_KIND_ACCESSOR;\n const newKind = elementType & CLASS_ELEMENT_KIND_ACCESSOR;\n redefined = oldKind === newKind || oldStatic !== newStatic;\n if (!redefined) loneAccessors.delete(name);\n } else if (!redefined) {\n loneAccessors.set(name, elementType);\n }\n }\n\n if (redefined) {\n this.raise(ErrorMessages.PrivateNameRedeclaration, {\n at: loc\n }, name);\n }\n\n privateNames.add(name);\n undefinedPrivateNames.delete(name);\n }\n\n usePrivateName(name, loc) {\n let classScope;\n\n for (classScope of this.stack) {\n if (classScope.privateNames.has(name)) return;\n }\n\n if (classScope) {\n classScope.undefinedPrivateNames.set(name, loc);\n } else {\n this.raise(ErrorMessages.InvalidPrivateFieldResolution, {\n at: loc\n }, name);\n }\n }\n\n}\n\nconst kExpression = 0,\n kMaybeArrowParameterDeclaration = 1,\n kMaybeAsyncArrowParameterDeclaration = 2,\n kParameterDeclaration = 3;\n\nclass ExpressionScope {\n constructor(type = kExpression) {\n this.type = void 0;\n this.type = type;\n }\n\n canBeArrowParameterDeclaration() {\n return this.type === kMaybeAsyncArrowParameterDeclaration || this.type === kMaybeArrowParameterDeclaration;\n }\n\n isCertainlyParameterDeclaration() {\n return this.type === kParameterDeclaration;\n }\n\n}\n\nclass ArrowHeadParsingScope extends ExpressionScope {\n constructor(type) {\n super(type);\n this.errors = new Map();\n }\n\n recordDeclarationError(message, loc) {\n this.errors.set(loc.index, {\n message,\n loc\n });\n }\n\n clearDeclarationError(loc) {\n this.errors.delete(loc.index);\n }\n\n iterateErrors(iterator) {\n this.errors.forEach(iterator);\n }\n\n}\n\nclass ExpressionScopeHandler {\n constructor(raise) {\n this.stack = [new ExpressionScope()];\n this.raise = raise;\n }\n\n enter(scope) {\n this.stack.push(scope);\n }\n\n exit() {\n this.stack.pop();\n }\n\n recordParameterInitializerError(loc, template) {\n const {\n stack\n } = this;\n let i = stack.length - 1;\n let scope = stack[i];\n\n while (!scope.isCertainlyParameterDeclaration()) {\n if (scope.canBeArrowParameterDeclaration()) {\n scope.recordDeclarationError(template, loc);\n } else {\n return;\n }\n\n scope = stack[--i];\n }\n\n this.raise(template, {\n at: loc\n });\n }\n\n recordParenthesizedIdentifierError(template, loc) {\n const {\n stack\n } = this;\n const scope = stack[stack.length - 1];\n\n if (scope.isCertainlyParameterDeclaration()) {\n this.raise(template, {\n at: loc\n });\n } else if (scope.canBeArrowParameterDeclaration()) {\n scope.recordDeclarationError(template, loc);\n } else {\n return;\n }\n }\n\n recordAsyncArrowParametersError(template, loc) {\n const {\n stack\n } = this;\n let i = stack.length - 1;\n let scope = stack[i];\n\n while (scope.canBeArrowParameterDeclaration()) {\n if (scope.type === kMaybeAsyncArrowParameterDeclaration) {\n scope.recordDeclarationError(template, loc);\n }\n\n scope = stack[--i];\n }\n }\n\n validateAsPattern() {\n const {\n stack\n } = this;\n const currentScope = stack[stack.length - 1];\n if (!currentScope.canBeArrowParameterDeclaration()) return;\n currentScope.iterateErrors(({\n message,\n loc\n }) => {\n this.raise(message, {\n at: loc\n });\n let i = stack.length - 2;\n let scope = stack[i];\n\n while (scope.canBeArrowParameterDeclaration()) {\n scope.clearDeclarationError(loc);\n scope = stack[--i];\n }\n });\n }\n\n}\nfunction newParameterDeclarationScope() {\n return new ExpressionScope(kParameterDeclaration);\n}\nfunction newArrowHeadScope() {\n return new ArrowHeadParsingScope(kMaybeArrowParameterDeclaration);\n}\nfunction newAsyncArrowScope() {\n return new ArrowHeadParsingScope(kMaybeAsyncArrowParameterDeclaration);\n}\nfunction newExpressionScope() {\n return new ExpressionScope();\n}\n\nconst PARAM = 0b0000,\n PARAM_YIELD = 0b0001,\n PARAM_AWAIT = 0b0010,\n PARAM_RETURN = 0b0100,\n PARAM_IN = 0b1000;\nclass ProductionParameterHandler {\n constructor() {\n this.stacks = [];\n }\n\n enter(flags) {\n this.stacks.push(flags);\n }\n\n exit() {\n this.stacks.pop();\n }\n\n currentFlags() {\n return this.stacks[this.stacks.length - 1];\n }\n\n get hasAwait() {\n return (this.currentFlags() & PARAM_AWAIT) > 0;\n }\n\n get hasYield() {\n return (this.currentFlags() & PARAM_YIELD) > 0;\n }\n\n get hasReturn() {\n return (this.currentFlags() & PARAM_RETURN) > 0;\n }\n\n get hasIn() {\n return (this.currentFlags() & PARAM_IN) > 0;\n }\n\n}\nfunction functionFlags(isAsync, isGenerator) {\n return (isAsync ? PARAM_AWAIT : 0) | (isGenerator ? PARAM_YIELD : 0);\n}\n\nclass UtilParser extends Tokenizer {\n addExtra(node, key, value, enumerable = true) {\n if (!node) return;\n const extra = node.extra = node.extra || {};\n\n if (enumerable) {\n extra[key] = value;\n } else {\n Object.defineProperty(extra, key, {\n enumerable,\n value\n });\n }\n }\n\n isContextual(token) {\n return this.state.type === token && !this.state.containsEsc;\n }\n\n isUnparsedContextual(nameStart, name) {\n const nameEnd = nameStart + name.length;\n\n if (this.input.slice(nameStart, nameEnd) === name) {\n const nextCh = this.input.charCodeAt(nameEnd);\n return !(isIdentifierChar(nextCh) || (nextCh & 0xfc00) === 0xd800);\n }\n\n return false;\n }\n\n isLookaheadContextual(name) {\n const next = this.nextTokenStart();\n return this.isUnparsedContextual(next, name);\n }\n\n eatContextual(token) {\n if (this.isContextual(token)) {\n this.next();\n return true;\n }\n\n return false;\n }\n\n expectContextual(token, template) {\n if (!this.eatContextual(token)) {\n if (template != null) {\n throw this.raise(template, {\n at: this.state.startLoc\n });\n }\n\n throw this.unexpected(null, token);\n }\n }\n\n canInsertSemicolon() {\n return this.match(135) || this.match(8) || this.hasPrecedingLineBreak();\n }\n\n hasPrecedingLineBreak() {\n return lineBreak.test(this.input.slice(this.state.lastTokEndLoc.index, this.state.start));\n }\n\n hasFollowingLineBreak() {\n skipWhiteSpaceToLineBreak.lastIndex = this.state.end;\n return skipWhiteSpaceToLineBreak.test(this.input);\n }\n\n isLineTerminator() {\n return this.eat(13) || this.canInsertSemicolon();\n }\n\n semicolon(allowAsi = true) {\n if (allowAsi ? this.isLineTerminator() : this.eat(13)) return;\n this.raise(ErrorMessages.MissingSemicolon, {\n at: this.state.lastTokEndLoc\n });\n }\n\n expect(type, loc) {\n this.eat(type) || this.unexpected(loc, type);\n }\n\n assertNoSpace(message = \"Unexpected space.\") {\n if (this.state.start > this.state.lastTokEndLoc.index) {\n this.raise({\n code: ErrorCodes.SyntaxError,\n reasonCode: \"UnexpectedSpace\",\n template: message\n }, {\n at: this.state.lastTokEndLoc\n });\n }\n }\n\n unexpected(loc, type) {\n throw this.raise({\n code: ErrorCodes.SyntaxError,\n reasonCode: \"UnexpectedToken\",\n template: type != null ? `Unexpected token, expected \"${tokenLabelName(type)}\"` : \"Unexpected token\"\n }, {\n at: loc != null ? loc : this.state.startLoc\n });\n }\n\n getPluginNamesFromConfigs(pluginConfigs) {\n return pluginConfigs.map(c => {\n if (typeof c === \"string\") {\n return c;\n } else {\n return c[0];\n }\n });\n }\n\n expectPlugin(pluginConfig, loc) {\n if (!this.hasPlugin(pluginConfig)) {\n throw this.raiseWithData(loc != null ? loc : this.state.startLoc, {\n missingPlugin: this.getPluginNamesFromConfigs([pluginConfig])\n }, `This experimental syntax requires enabling the parser plugin: ${JSON.stringify(pluginConfig)}.`);\n }\n\n return true;\n }\n\n expectOnePlugin(pluginConfigs) {\n if (!pluginConfigs.some(c => this.hasPlugin(c))) {\n throw this.raiseWithData(this.state.startLoc, {\n missingPlugin: this.getPluginNamesFromConfigs(pluginConfigs)\n }, `This experimental syntax requires enabling one of the following parser plugin(s): ${pluginConfigs.map(c => JSON.stringify(c)).join(\", \")}.`);\n }\n }\n\n tryParse(fn, oldState = this.state.clone()) {\n const abortSignal = {\n node: null\n };\n\n try {\n const node = fn((node = null) => {\n abortSignal.node = node;\n throw abortSignal;\n });\n\n if (this.state.errors.length > oldState.errors.length) {\n const failState = this.state;\n this.state = oldState;\n this.state.tokensLength = failState.tokensLength;\n return {\n node,\n error: failState.errors[oldState.errors.length],\n thrown: false,\n aborted: false,\n failState\n };\n }\n\n return {\n node,\n error: null,\n thrown: false,\n aborted: false,\n failState: null\n };\n } catch (error) {\n const failState = this.state;\n this.state = oldState;\n\n if (error instanceof SyntaxError) {\n return {\n node: null,\n error,\n thrown: true,\n aborted: false,\n failState\n };\n }\n\n if (error === abortSignal) {\n return {\n node: abortSignal.node,\n error: null,\n thrown: false,\n aborted: true,\n failState\n };\n }\n\n throw error;\n }\n }\n\n checkExpressionErrors(refExpressionErrors, andThrow) {\n if (!refExpressionErrors) return false;\n const {\n shorthandAssignLoc,\n doubleProtoLoc,\n privateKeyLoc,\n optionalParametersLoc\n } = refExpressionErrors;\n const hasErrors = !!shorthandAssignLoc || !!doubleProtoLoc || !!optionalParametersLoc || !!privateKeyLoc;\n\n if (!andThrow) {\n return hasErrors;\n }\n\n if (shorthandAssignLoc != null) {\n this.raise(ErrorMessages.InvalidCoverInitializedName, {\n at: shorthandAssignLoc\n });\n }\n\n if (doubleProtoLoc != null) {\n this.raise(ErrorMessages.DuplicateProto, {\n at: doubleProtoLoc\n });\n }\n\n if (privateKeyLoc != null) {\n this.raise(ErrorMessages.UnexpectedPrivateField, {\n at: privateKeyLoc\n });\n }\n\n if (optionalParametersLoc != null) {\n this.unexpected(optionalParametersLoc);\n }\n }\n\n isLiteralPropertyName() {\n return tokenIsLiteralPropertyName(this.state.type);\n }\n\n isPrivateName(node) {\n return node.type === \"PrivateName\";\n }\n\n getPrivateNameSV(node) {\n return node.id.name;\n }\n\n hasPropertyAsPrivateName(node) {\n return (node.type === \"MemberExpression\" || node.type === \"OptionalMemberExpression\") && this.isPrivateName(node.property);\n }\n\n isOptionalChain(node) {\n return node.type === \"OptionalMemberExpression\" || node.type === \"OptionalCallExpression\";\n }\n\n isObjectProperty(node) {\n return node.type === \"ObjectProperty\";\n }\n\n isObjectMethod(node) {\n return node.type === \"ObjectMethod\";\n }\n\n initializeScopes(inModule = this.options.sourceType === \"module\") {\n const oldLabels = this.state.labels;\n this.state.labels = [];\n const oldExportedIdentifiers = this.exportedIdentifiers;\n this.exportedIdentifiers = new Set();\n const oldInModule = this.inModule;\n this.inModule = inModule;\n const oldScope = this.scope;\n const ScopeHandler = this.getScopeHandler();\n this.scope = new ScopeHandler(this.raise.bind(this), this.inModule);\n const oldProdParam = this.prodParam;\n this.prodParam = new ProductionParameterHandler();\n const oldClassScope = this.classScope;\n this.classScope = new ClassScopeHandler(this.raise.bind(this));\n const oldExpressionScope = this.expressionScope;\n this.expressionScope = new ExpressionScopeHandler(this.raise.bind(this));\n return () => {\n this.state.labels = oldLabels;\n this.exportedIdentifiers = oldExportedIdentifiers;\n this.inModule = oldInModule;\n this.scope = oldScope;\n this.prodParam = oldProdParam;\n this.classScope = oldClassScope;\n this.expressionScope = oldExpressionScope;\n };\n }\n\n enterInitialScopes() {\n let paramFlags = PARAM;\n\n if (this.inModule) {\n paramFlags |= PARAM_AWAIT;\n }\n\n this.scope.enter(SCOPE_PROGRAM);\n this.prodParam.enter(paramFlags);\n }\n\n checkDestructuringPrivate(refExpressionErrors) {\n const {\n privateKeyLoc\n } = refExpressionErrors;\n\n if (privateKeyLoc !== null) {\n this.expectPlugin(\"destructuringPrivate\", privateKeyLoc);\n }\n }\n\n}\nclass ExpressionErrors {\n constructor() {\n this.shorthandAssignLoc = null;\n this.doubleProtoLoc = null;\n this.privateKeyLoc = null;\n this.optionalParametersLoc = null;\n }\n\n}\n\nclass Node {\n constructor(parser, pos, loc) {\n this.type = \"\";\n this.start = pos;\n this.end = 0;\n this.loc = new SourceLocation(loc);\n if (parser != null && parser.options.ranges) this.range = [pos, 0];\n if (parser != null && parser.filename) this.loc.filename = parser.filename;\n }\n\n}\n\nconst NodePrototype = Node.prototype;\n{\n NodePrototype.__clone = function () {\n const newNode = new Node();\n const keys = Object.keys(this);\n\n for (let i = 0, length = keys.length; i < length; i++) {\n const key = keys[i];\n\n if (key !== \"leadingComments\" && key !== \"trailingComments\" && key !== \"innerComments\") {\n newNode[key] = this[key];\n }\n }\n\n return newNode;\n };\n}\n\nfunction clonePlaceholder(node) {\n return cloneIdentifier(node);\n}\n\nfunction cloneIdentifier(node) {\n const {\n type,\n start,\n end,\n loc,\n range,\n extra,\n name\n } = node;\n const cloned = Object.create(NodePrototype);\n cloned.type = type;\n cloned.start = start;\n cloned.end = end;\n cloned.loc = loc;\n cloned.range = range;\n cloned.extra = extra;\n cloned.name = name;\n\n if (type === \"Placeholder\") {\n cloned.expectedNode = node.expectedNode;\n }\n\n return cloned;\n}\nfunction cloneStringLiteral(node) {\n const {\n type,\n start,\n end,\n loc,\n range,\n extra\n } = node;\n\n if (type === \"Placeholder\") {\n return clonePlaceholder(node);\n }\n\n const cloned = Object.create(NodePrototype);\n cloned.type = type;\n cloned.start = start;\n cloned.end = end;\n cloned.loc = loc;\n cloned.range = range;\n\n if (node.raw !== undefined) {\n cloned.raw = node.raw;\n } else {\n cloned.extra = extra;\n }\n\n cloned.value = node.value;\n return cloned;\n}\nclass NodeUtils extends UtilParser {\n startNode() {\n return new Node(this, this.state.start, this.state.startLoc);\n }\n\n startNodeAt(pos, loc) {\n return new Node(this, pos, loc);\n }\n\n startNodeAtNode(type) {\n return this.startNodeAt(type.start, type.loc.start);\n }\n\n finishNode(node, type) {\n return this.finishNodeAt(node, type, this.state.lastTokEndLoc);\n }\n\n finishNodeAt(node, type, endLoc) {\n\n node.type = type;\n node.end = endLoc.index;\n node.loc.end = endLoc;\n if (this.options.ranges) node.range[1] = endLoc.index;\n if (this.options.attachComment) this.processComment(node);\n return node;\n }\n\n resetStartLocation(node, start, startLoc) {\n node.start = start;\n node.loc.start = startLoc;\n if (this.options.ranges) node.range[0] = start;\n }\n\n resetEndLocation(node, endLoc = this.state.lastTokEndLoc) {\n node.end = endLoc.index;\n node.loc.end = endLoc;\n if (this.options.ranges) node.range[1] = endLoc.index;\n }\n\n resetStartLocationFromNode(node, locationNode) {\n this.resetStartLocation(node, locationNode.start, locationNode.loc.start);\n }\n\n}\n\nconst reservedTypes = new Set([\"_\", \"any\", \"bool\", \"boolean\", \"empty\", \"extends\", \"false\", \"interface\", \"mixed\", \"null\", \"number\", \"static\", \"string\", \"true\", \"typeof\", \"void\"]);\nconst FlowErrors = makeErrorTemplates({\n AmbiguousConditionalArrow: \"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.\",\n AmbiguousDeclareModuleKind: \"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.\",\n AssignReservedType: \"Cannot overwrite reserved type %0.\",\n DeclareClassElement: \"The `declare` modifier can only appear on class fields.\",\n DeclareClassFieldInitializer: \"Initializers are not allowed in fields with the `declare` modifier.\",\n DuplicateDeclareModuleExports: \"Duplicate `declare module.exports` statement.\",\n EnumBooleanMemberNotInitialized: \"Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.\",\n EnumDuplicateMemberName: \"Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.\",\n EnumInconsistentMemberValues: \"Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.\",\n EnumInvalidExplicitType: \"Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.\",\n EnumInvalidExplicitTypeUnknownSupplied: \"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.\",\n EnumInvalidMemberInitializerPrimaryType: \"Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.\",\n EnumInvalidMemberInitializerSymbolType: \"Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.\",\n EnumInvalidMemberInitializerUnknownType: \"The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.\",\n EnumInvalidMemberName: \"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%0`, consider using `%1`, in enum `%2`.\",\n EnumNumberMemberNotInitialized: \"Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.\",\n EnumStringMemberInconsistentlyInitailized: \"String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.\",\n GetterMayNotHaveThisParam: \"A getter cannot have a `this` parameter.\",\n ImportTypeShorthandOnlyInPureImport: \"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.\",\n InexactInsideExact: \"Explicit inexact syntax cannot appear inside an explicit exact object type.\",\n InexactInsideNonObject: \"Explicit inexact syntax cannot appear in class or interface definitions.\",\n InexactVariance: \"Explicit inexact syntax cannot have variance.\",\n InvalidNonTypeImportInDeclareModule: \"Imports within a `declare module` body must always be `import type` or `import typeof`.\",\n MissingTypeParamDefault: \"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.\",\n NestedDeclareModule: \"`declare module` cannot be used inside another `declare module`.\",\n NestedFlowComment: \"Cannot have a flow comment inside another flow comment.\",\n PatternIsOptional: \"A binding pattern parameter cannot be optional in an implementation signature.\",\n SetterMayNotHaveThisParam: \"A setter cannot have a `this` parameter.\",\n SpreadVariance: \"Spread properties cannot have variance.\",\n ThisParamAnnotationRequired: \"A type annotation is required for the `this` parameter.\",\n ThisParamBannedInConstructor: \"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.\",\n ThisParamMayNotBeOptional: \"The `this` parameter cannot be optional.\",\n ThisParamMustBeFirst: \"The `this` parameter must be the first function parameter.\",\n ThisParamNoDefault: \"The `this` parameter may not have a default value.\",\n TypeBeforeInitializer: \"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.\",\n TypeCastInPattern: \"The type cast expression is expected to be wrapped with parenthesis.\",\n UnexpectedExplicitInexactInObject: \"Explicit inexact syntax must appear at the end of an inexact object.\",\n UnexpectedReservedType: \"Unexpected reserved type %0.\",\n UnexpectedReservedUnderscore: \"`_` is only allowed as a type argument to call or new.\",\n UnexpectedSpaceBetweenModuloChecks: \"Spaces between `%` and `checks` are not allowed here.\",\n UnexpectedSpreadType: \"Spread operator cannot appear in class or interface definitions.\",\n UnexpectedSubtractionOperand: 'Unexpected token, expected \"number\" or \"bigint\".',\n UnexpectedTokenAfterTypeParameter: \"Expected an arrow function after this type parameter declaration.\",\n UnexpectedTypeParameterBeforeAsyncArrowFunction: \"Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}`, use `async <T>() => {}`.\",\n UnsupportedDeclareExportKind: \"`declare export %0` is not supported. Use `%1` instead.\",\n UnsupportedStatementInDeclareModule: \"Only declares and type imports are allowed inside declare module.\",\n UnterminatedFlowComment: \"Unterminated flow-comment.\"\n}, ErrorCodes.SyntaxError, \"flow\");\n\nfunction isEsModuleType(bodyElement) {\n return bodyElement.type === \"DeclareExportAllDeclaration\" || bodyElement.type === \"DeclareExportDeclaration\" && (!bodyElement.declaration || bodyElement.declaration.type !== \"TypeAlias\" && bodyElement.declaration.type !== \"InterfaceDeclaration\");\n}\n\nfunction hasTypeImportKind(node) {\n return node.importKind === \"type\" || node.importKind === \"typeof\";\n}\n\nfunction isMaybeDefaultImport(type) {\n return tokenIsKeywordOrIdentifier(type) && type !== 97;\n}\n\nconst exportSuggestions = {\n const: \"declare export var\",\n let: \"declare export var\",\n type: \"export type\",\n interface: \"export interface\"\n};\n\nfunction partition(list, test) {\n const list1 = [];\n const list2 = [];\n\n for (let i = 0; i < list.length; i++) {\n (test(list[i], i, list) ? list1 : list2).push(list[i]);\n }\n\n return [list1, list2];\n}\n\nconst FLOW_PRAGMA_REGEX = /\\*?\\s*@((?:no)?flow)\\b/;\nvar flow = (superClass => class extends superClass {\n constructor(...args) {\n super(...args);\n this.flowPragma = undefined;\n }\n\n getScopeHandler() {\n return FlowScopeHandler;\n }\n\n shouldParseTypes() {\n return this.getPluginOption(\"flow\", \"all\") || this.flowPragma === \"flow\";\n }\n\n shouldParseEnums() {\n return !!this.getPluginOption(\"flow\", \"enums\");\n }\n\n finishToken(type, val) {\n if (type !== 129 && type !== 13 && type !== 28) {\n if (this.flowPragma === undefined) {\n this.flowPragma = null;\n }\n }\n\n return super.finishToken(type, val);\n }\n\n addComment(comment) {\n if (this.flowPragma === undefined) {\n const matches = FLOW_PRAGMA_REGEX.exec(comment.value);\n\n if (!matches) ; else if (matches[1] === \"flow\") {\n this.flowPragma = \"flow\";\n } else if (matches[1] === \"noflow\") {\n this.flowPragma = \"noflow\";\n } else {\n throw new Error(\"Unexpected flow pragma\");\n }\n }\n\n return super.addComment(comment);\n }\n\n flowParseTypeInitialiser(tok) {\n const oldInType = this.state.inType;\n this.state.inType = true;\n this.expect(tok || 14);\n const type = this.flowParseType();\n this.state.inType = oldInType;\n return type;\n }\n\n flowParsePredicate() {\n const node = this.startNode();\n const moduloLoc = this.state.startLoc;\n this.next();\n this.expectContextual(107);\n\n if (this.state.lastTokStart > moduloLoc.index + 1) {\n this.raise(FlowErrors.UnexpectedSpaceBetweenModuloChecks, {\n at: moduloLoc\n });\n }\n\n if (this.eat(10)) {\n node.value = this.parseExpression();\n this.expect(11);\n return this.finishNode(node, \"DeclaredPredicate\");\n } else {\n return this.finishNode(node, \"InferredPredicate\");\n }\n }\n\n flowParseTypeAndPredicateInitialiser() {\n const oldInType = this.state.inType;\n this.state.inType = true;\n this.expect(14);\n let type = null;\n let predicate = null;\n\n if (this.match(54)) {\n this.state.inType = oldInType;\n predicate = this.flowParsePredicate();\n } else {\n type = this.flowParseType();\n this.state.inType = oldInType;\n\n if (this.match(54)) {\n predicate = this.flowParsePredicate();\n }\n }\n\n return [type, predicate];\n }\n\n flowParseDeclareClass(node) {\n this.next();\n this.flowParseInterfaceish(node, true);\n return this.finishNode(node, \"DeclareClass\");\n }\n\n flowParseDeclareFunction(node) {\n this.next();\n const id = node.id = this.parseIdentifier();\n const typeNode = this.startNode();\n const typeContainer = this.startNode();\n\n if (this.match(47)) {\n typeNode.typeParameters = this.flowParseTypeParameterDeclaration();\n } else {\n typeNode.typeParameters = null;\n }\n\n this.expect(10);\n const tmp = this.flowParseFunctionTypeParams();\n typeNode.params = tmp.params;\n typeNode.rest = tmp.rest;\n typeNode.this = tmp._this;\n this.expect(11);\n [typeNode.returnType, node.predicate] = this.flowParseTypeAndPredicateInitialiser();\n typeContainer.typeAnnotation = this.finishNode(typeNode, \"FunctionTypeAnnotation\");\n id.typeAnnotation = this.finishNode(typeContainer, \"TypeAnnotation\");\n this.resetEndLocation(id);\n this.semicolon();\n this.scope.declareName(node.id.name, BIND_FLOW_DECLARE_FN, node.id.loc.start);\n return this.finishNode(node, \"DeclareFunction\");\n }\n\n flowParseDeclare(node, insideModule) {\n if (this.match(80)) {\n return this.flowParseDeclareClass(node);\n } else if (this.match(68)) {\n return this.flowParseDeclareFunction(node);\n } else if (this.match(74)) {\n return this.flowParseDeclareVariable(node);\n } else if (this.eatContextual(123)) {\n if (this.match(16)) {\n return this.flowParseDeclareModuleExports(node);\n } else {\n if (insideModule) {\n this.raise(FlowErrors.NestedDeclareModule, {\n at: this.state.lastTokStartLoc\n });\n }\n\n return this.flowParseDeclareModule(node);\n }\n } else if (this.isContextual(126)) {\n return this.flowParseDeclareTypeAlias(node);\n } else if (this.isContextual(127)) {\n return this.flowParseDeclareOpaqueType(node);\n } else if (this.isContextual(125)) {\n return this.flowParseDeclareInterface(node);\n } else if (this.match(82)) {\n return this.flowParseDeclareExportDeclaration(node, insideModule);\n } else {\n throw this.unexpected();\n }\n }\n\n flowParseDeclareVariable(node) {\n this.next();\n node.id = this.flowParseTypeAnnotatableIdentifier(true);\n this.scope.declareName(node.id.name, BIND_VAR, node.id.loc.start);\n this.semicolon();\n return this.finishNode(node, \"DeclareVariable\");\n }\n\n flowParseDeclareModule(node) {\n this.scope.enter(SCOPE_OTHER);\n\n if (this.match(129)) {\n node.id = this.parseExprAtom();\n } else {\n node.id = this.parseIdentifier();\n }\n\n const bodyNode = node.body = this.startNode();\n const body = bodyNode.body = [];\n this.expect(5);\n\n while (!this.match(8)) {\n let bodyNode = this.startNode();\n\n if (this.match(83)) {\n this.next();\n\n if (!this.isContextual(126) && !this.match(87)) {\n this.raise(FlowErrors.InvalidNonTypeImportInDeclareModule, {\n at: this.state.lastTokStartLoc\n });\n }\n\n this.parseImport(bodyNode);\n } else {\n this.expectContextual(121, FlowErrors.UnsupportedStatementInDeclareModule);\n bodyNode = this.flowParseDeclare(bodyNode, true);\n }\n\n body.push(bodyNode);\n }\n\n this.scope.exit();\n this.expect(8);\n this.finishNode(bodyNode, \"BlockStatement\");\n let kind = null;\n let hasModuleExport = false;\n body.forEach(bodyElement => {\n if (isEsModuleType(bodyElement)) {\n if (kind === \"CommonJS\") {\n this.raise(FlowErrors.AmbiguousDeclareModuleKind, {\n node: bodyElement\n });\n }\n\n kind = \"ES\";\n } else if (bodyElement.type === \"DeclareModuleExports\") {\n if (hasModuleExport) {\n this.raise(FlowErrors.DuplicateDeclareModuleExports, {\n node: bodyElement\n });\n }\n\n if (kind === \"ES\") {\n this.raise(FlowErrors.AmbiguousDeclareModuleKind, {\n node: bodyElement\n });\n }\n\n kind = \"CommonJS\";\n hasModuleExport = true;\n }\n });\n node.kind = kind || \"CommonJS\";\n return this.finishNode(node, \"DeclareModule\");\n }\n\n flowParseDeclareExportDeclaration(node, insideModule) {\n this.expect(82);\n\n if (this.eat(65)) {\n if (this.match(68) || this.match(80)) {\n node.declaration = this.flowParseDeclare(this.startNode());\n } else {\n node.declaration = this.flowParseType();\n this.semicolon();\n }\n\n node.default = true;\n return this.finishNode(node, \"DeclareExportDeclaration\");\n } else {\n if (this.match(75) || this.isLet() || (this.isContextual(126) || this.isContextual(125)) && !insideModule) {\n const label = this.state.value;\n const suggestion = exportSuggestions[label];\n throw this.raise(FlowErrors.UnsupportedDeclareExportKind, {\n at: this.state.startLoc\n }, label, suggestion);\n }\n\n if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(127)) {\n node.declaration = this.flowParseDeclare(this.startNode());\n node.default = false;\n return this.finishNode(node, \"DeclareExportDeclaration\");\n } else if (this.match(55) || this.match(5) || this.isContextual(125) || this.isContextual(126) || this.isContextual(127)) {\n node = this.parseExport(node);\n\n if (node.type === \"ExportNamedDeclaration\") {\n node.type = \"ExportDeclaration\";\n node.default = false;\n delete node.exportKind;\n }\n\n node.type = \"Declare\" + node.type;\n return node;\n }\n }\n\n throw this.unexpected();\n }\n\n flowParseDeclareModuleExports(node) {\n this.next();\n this.expectContextual(108);\n node.typeAnnotation = this.flowParseTypeAnnotation();\n this.semicolon();\n return this.finishNode(node, \"DeclareModuleExports\");\n }\n\n flowParseDeclareTypeAlias(node) {\n this.next();\n this.flowParseTypeAlias(node);\n node.type = \"DeclareTypeAlias\";\n return node;\n }\n\n flowParseDeclareOpaqueType(node) {\n this.next();\n this.flowParseOpaqueType(node, true);\n node.type = \"DeclareOpaqueType\";\n return node;\n }\n\n flowParseDeclareInterface(node) {\n this.next();\n this.flowParseInterfaceish(node);\n return this.finishNode(node, \"DeclareInterface\");\n }\n\n flowParseInterfaceish(node, isClass = false) {\n node.id = this.flowParseRestrictedIdentifier(!isClass, true);\n this.scope.declareName(node.id.name, isClass ? BIND_FUNCTION : BIND_LEXICAL, node.id.loc.start);\n\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n } else {\n node.typeParameters = null;\n }\n\n node.extends = [];\n node.implements = [];\n node.mixins = [];\n\n if (this.eat(81)) {\n do {\n node.extends.push(this.flowParseInterfaceExtends());\n } while (!isClass && this.eat(12));\n }\n\n if (this.isContextual(114)) {\n this.next();\n\n do {\n node.mixins.push(this.flowParseInterfaceExtends());\n } while (this.eat(12));\n }\n\n if (this.isContextual(110)) {\n this.next();\n\n do {\n node.implements.push(this.flowParseInterfaceExtends());\n } while (this.eat(12));\n }\n\n node.body = this.flowParseObjectType({\n allowStatic: isClass,\n allowExact: false,\n allowSpread: false,\n allowProto: isClass,\n allowInexact: false\n });\n }\n\n flowParseInterfaceExtends() {\n const node = this.startNode();\n node.id = this.flowParseQualifiedTypeIdentifier();\n\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterInstantiation();\n } else {\n node.typeParameters = null;\n }\n\n return this.finishNode(node, \"InterfaceExtends\");\n }\n\n flowParseInterface(node) {\n this.flowParseInterfaceish(node);\n return this.finishNode(node, \"InterfaceDeclaration\");\n }\n\n checkNotUnderscore(word) {\n if (word === \"_\") {\n this.raise(FlowErrors.UnexpectedReservedUnderscore, {\n at: this.state.startLoc\n });\n }\n }\n\n checkReservedType(word, startLoc, declaration) {\n if (!reservedTypes.has(word)) return;\n this.raise(declaration ? FlowErrors.AssignReservedType : FlowErrors.UnexpectedReservedType, {\n at: startLoc\n }, word);\n }\n\n flowParseRestrictedIdentifier(liberal, declaration) {\n this.checkReservedType(this.state.value, this.state.startLoc, declaration);\n return this.parseIdentifier(liberal);\n }\n\n flowParseTypeAlias(node) {\n node.id = this.flowParseRestrictedIdentifier(false, true);\n this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.loc.start);\n\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n } else {\n node.typeParameters = null;\n }\n\n node.right = this.flowParseTypeInitialiser(29);\n this.semicolon();\n return this.finishNode(node, \"TypeAlias\");\n }\n\n flowParseOpaqueType(node, declare) {\n this.expectContextual(126);\n node.id = this.flowParseRestrictedIdentifier(true, true);\n this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.loc.start);\n\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n } else {\n node.typeParameters = null;\n }\n\n node.supertype = null;\n\n if (this.match(14)) {\n node.supertype = this.flowParseTypeInitialiser(14);\n }\n\n node.impltype = null;\n\n if (!declare) {\n node.impltype = this.flowParseTypeInitialiser(29);\n }\n\n this.semicolon();\n return this.finishNode(node, \"OpaqueType\");\n }\n\n flowParseTypeParameter(requireDefault = false) {\n const nodeStartLoc = this.state.startLoc;\n const node = this.startNode();\n const variance = this.flowParseVariance();\n const ident = this.flowParseTypeAnnotatableIdentifier();\n node.name = ident.name;\n node.variance = variance;\n node.bound = ident.typeAnnotation;\n\n if (this.match(29)) {\n this.eat(29);\n node.default = this.flowParseType();\n } else {\n if (requireDefault) {\n this.raise(FlowErrors.MissingTypeParamDefault, {\n at: nodeStartLoc\n });\n }\n }\n\n return this.finishNode(node, \"TypeParameter\");\n }\n\n flowParseTypeParameterDeclaration() {\n const oldInType = this.state.inType;\n const node = this.startNode();\n node.params = [];\n this.state.inType = true;\n\n if (this.match(47) || this.match(138)) {\n this.next();\n } else {\n this.unexpected();\n }\n\n let defaultRequired = false;\n\n do {\n const typeParameter = this.flowParseTypeParameter(defaultRequired);\n node.params.push(typeParameter);\n\n if (typeParameter.default) {\n defaultRequired = true;\n }\n\n if (!this.match(48)) {\n this.expect(12);\n }\n } while (!this.match(48));\n\n this.expect(48);\n this.state.inType = oldInType;\n return this.finishNode(node, \"TypeParameterDeclaration\");\n }\n\n flowParseTypeParameterInstantiation() {\n const node = this.startNode();\n const oldInType = this.state.inType;\n node.params = [];\n this.state.inType = true;\n this.expect(47);\n const oldNoAnonFunctionType = this.state.noAnonFunctionType;\n this.state.noAnonFunctionType = false;\n\n while (!this.match(48)) {\n node.params.push(this.flowParseType());\n\n if (!this.match(48)) {\n this.expect(12);\n }\n }\n\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n this.expect(48);\n this.state.inType = oldInType;\n return this.finishNode(node, \"TypeParameterInstantiation\");\n }\n\n flowParseTypeParameterInstantiationCallOrNew() {\n const node = this.startNode();\n const oldInType = this.state.inType;\n node.params = [];\n this.state.inType = true;\n this.expect(47);\n\n while (!this.match(48)) {\n node.params.push(this.flowParseTypeOrImplicitInstantiation());\n\n if (!this.match(48)) {\n this.expect(12);\n }\n }\n\n this.expect(48);\n this.state.inType = oldInType;\n return this.finishNode(node, \"TypeParameterInstantiation\");\n }\n\n flowParseInterfaceType() {\n const node = this.startNode();\n this.expectContextual(125);\n node.extends = [];\n\n if (this.eat(81)) {\n do {\n node.extends.push(this.flowParseInterfaceExtends());\n } while (this.eat(12));\n }\n\n node.body = this.flowParseObjectType({\n allowStatic: false,\n allowExact: false,\n allowSpread: false,\n allowProto: false,\n allowInexact: false\n });\n return this.finishNode(node, \"InterfaceTypeAnnotation\");\n }\n\n flowParseObjectPropertyKey() {\n return this.match(130) || this.match(129) ? this.parseExprAtom() : this.parseIdentifier(true);\n }\n\n flowParseObjectTypeIndexer(node, isStatic, variance) {\n node.static = isStatic;\n\n if (this.lookahead().type === 14) {\n node.id = this.flowParseObjectPropertyKey();\n node.key = this.flowParseTypeInitialiser();\n } else {\n node.id = null;\n node.key = this.flowParseType();\n }\n\n this.expect(3);\n node.value = this.flowParseTypeInitialiser();\n node.variance = variance;\n return this.finishNode(node, \"ObjectTypeIndexer\");\n }\n\n flowParseObjectTypeInternalSlot(node, isStatic) {\n node.static = isStatic;\n node.id = this.flowParseObjectPropertyKey();\n this.expect(3);\n this.expect(3);\n\n if (this.match(47) || this.match(10)) {\n node.method = true;\n node.optional = false;\n node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start));\n } else {\n node.method = false;\n\n if (this.eat(17)) {\n node.optional = true;\n }\n\n node.value = this.flowParseTypeInitialiser();\n }\n\n return this.finishNode(node, \"ObjectTypeInternalSlot\");\n }\n\n flowParseObjectTypeMethodish(node) {\n node.params = [];\n node.rest = null;\n node.typeParameters = null;\n node.this = null;\n\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n\n this.expect(10);\n\n if (this.match(78)) {\n node.this = this.flowParseFunctionTypeParam(true);\n node.this.name = null;\n\n if (!this.match(11)) {\n this.expect(12);\n }\n }\n\n while (!this.match(11) && !this.match(21)) {\n node.params.push(this.flowParseFunctionTypeParam(false));\n\n if (!this.match(11)) {\n this.expect(12);\n }\n }\n\n if (this.eat(21)) {\n node.rest = this.flowParseFunctionTypeParam(false);\n }\n\n this.expect(11);\n node.returnType = this.flowParseTypeInitialiser();\n return this.finishNode(node, \"FunctionTypeAnnotation\");\n }\n\n flowParseObjectTypeCallProperty(node, isStatic) {\n const valueNode = this.startNode();\n node.static = isStatic;\n node.value = this.flowParseObjectTypeMethodish(valueNode);\n return this.finishNode(node, \"ObjectTypeCallProperty\");\n }\n\n flowParseObjectType({\n allowStatic,\n allowExact,\n allowSpread,\n allowProto,\n allowInexact\n }) {\n const oldInType = this.state.inType;\n this.state.inType = true;\n const nodeStart = this.startNode();\n nodeStart.callProperties = [];\n nodeStart.properties = [];\n nodeStart.indexers = [];\n nodeStart.internalSlots = [];\n let endDelim;\n let exact;\n let inexact = false;\n\n if (allowExact && this.match(6)) {\n this.expect(6);\n endDelim = 9;\n exact = true;\n } else {\n this.expect(5);\n endDelim = 8;\n exact = false;\n }\n\n nodeStart.exact = exact;\n\n while (!this.match(endDelim)) {\n let isStatic = false;\n let protoStartLoc = null;\n let inexactStartLoc = null;\n const node = this.startNode();\n\n if (allowProto && this.isContextual(115)) {\n const lookahead = this.lookahead();\n\n if (lookahead.type !== 14 && lookahead.type !== 17) {\n this.next();\n protoStartLoc = this.state.startLoc;\n allowStatic = false;\n }\n }\n\n if (allowStatic && this.isContextual(104)) {\n const lookahead = this.lookahead();\n\n if (lookahead.type !== 14 && lookahead.type !== 17) {\n this.next();\n isStatic = true;\n }\n }\n\n const variance = this.flowParseVariance();\n\n if (this.eat(0)) {\n if (protoStartLoc != null) {\n this.unexpected(protoStartLoc);\n }\n\n if (this.eat(0)) {\n if (variance) {\n this.unexpected(variance.loc.start);\n }\n\n nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic));\n } else {\n nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance));\n }\n } else if (this.match(10) || this.match(47)) {\n if (protoStartLoc != null) {\n this.unexpected(protoStartLoc);\n }\n\n if (variance) {\n this.unexpected(variance.loc.start);\n }\n\n nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic));\n } else {\n let kind = \"init\";\n\n if (this.isContextual(98) || this.isContextual(103)) {\n const lookahead = this.lookahead();\n\n if (tokenIsLiteralPropertyName(lookahead.type)) {\n kind = this.state.value;\n this.next();\n }\n }\n\n const propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact != null ? allowInexact : !exact);\n\n if (propOrInexact === null) {\n inexact = true;\n inexactStartLoc = this.state.lastTokStartLoc;\n } else {\n nodeStart.properties.push(propOrInexact);\n }\n }\n\n this.flowObjectTypeSemicolon();\n\n if (inexactStartLoc && !this.match(8) && !this.match(9)) {\n this.raise(FlowErrors.UnexpectedExplicitInexactInObject, {\n at: inexactStartLoc\n });\n }\n }\n\n this.expect(endDelim);\n\n if (allowSpread) {\n nodeStart.inexact = inexact;\n }\n\n const out = this.finishNode(nodeStart, \"ObjectTypeAnnotation\");\n this.state.inType = oldInType;\n return out;\n }\n\n flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact) {\n if (this.eat(21)) {\n const isInexactToken = this.match(12) || this.match(13) || this.match(8) || this.match(9);\n\n if (isInexactToken) {\n if (!allowSpread) {\n this.raise(FlowErrors.InexactInsideNonObject, {\n at: this.state.lastTokStartLoc\n });\n } else if (!allowInexact) {\n this.raise(FlowErrors.InexactInsideExact, {\n at: this.state.lastTokStartLoc\n });\n }\n\n if (variance) {\n this.raise(FlowErrors.InexactVariance, {\n node: variance\n });\n }\n\n return null;\n }\n\n if (!allowSpread) {\n this.raise(FlowErrors.UnexpectedSpreadType, {\n at: this.state.lastTokStartLoc\n });\n }\n\n if (protoStartLoc != null) {\n this.unexpected(protoStartLoc);\n }\n\n if (variance) {\n this.raise(FlowErrors.SpreadVariance, {\n node: variance\n });\n }\n\n node.argument = this.flowParseType();\n return this.finishNode(node, \"ObjectTypeSpreadProperty\");\n } else {\n node.key = this.flowParseObjectPropertyKey();\n node.static = isStatic;\n node.proto = protoStartLoc != null;\n node.kind = kind;\n let optional = false;\n\n if (this.match(47) || this.match(10)) {\n node.method = true;\n\n if (protoStartLoc != null) {\n this.unexpected(protoStartLoc);\n }\n\n if (variance) {\n this.unexpected(variance.loc.start);\n }\n\n node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start));\n\n if (kind === \"get\" || kind === \"set\") {\n this.flowCheckGetterSetterParams(node);\n }\n\n if (!allowSpread && node.key.name === \"constructor\" && node.value.this) {\n this.raise(FlowErrors.ThisParamBannedInConstructor, {\n node: node.value.this\n });\n }\n } else {\n if (kind !== \"init\") this.unexpected();\n node.method = false;\n\n if (this.eat(17)) {\n optional = true;\n }\n\n node.value = this.flowParseTypeInitialiser();\n node.variance = variance;\n }\n\n node.optional = optional;\n return this.finishNode(node, \"ObjectTypeProperty\");\n }\n }\n\n flowCheckGetterSetterParams(property) {\n const paramCount = property.kind === \"get\" ? 0 : 1;\n const length = property.value.params.length + (property.value.rest ? 1 : 0);\n\n if (property.value.this) {\n this.raise(property.kind === \"get\" ? FlowErrors.GetterMayNotHaveThisParam : FlowErrors.SetterMayNotHaveThisParam, {\n node: property.value.this\n });\n }\n\n if (length !== paramCount) {\n this.raise(property.kind === \"get\" ? ErrorMessages.BadGetterArity : ErrorMessages.BadSetterArity, {\n node: property\n });\n }\n\n if (property.kind === \"set\" && property.value.rest) {\n this.raise(ErrorMessages.BadSetterRestParameter, {\n node: property\n });\n }\n }\n\n flowObjectTypeSemicolon() {\n if (!this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9)) {\n this.unexpected();\n }\n }\n\n flowParseQualifiedTypeIdentifier(startPos, startLoc, id) {\n startPos = startPos || this.state.start;\n startLoc = startLoc || this.state.startLoc;\n let node = id || this.flowParseRestrictedIdentifier(true);\n\n while (this.eat(16)) {\n const node2 = this.startNodeAt(startPos, startLoc);\n node2.qualification = node;\n node2.id = this.flowParseRestrictedIdentifier(true);\n node = this.finishNode(node2, \"QualifiedTypeIdentifier\");\n }\n\n return node;\n }\n\n flowParseGenericType(startPos, startLoc, id) {\n const node = this.startNodeAt(startPos, startLoc);\n node.typeParameters = null;\n node.id = this.flowParseQualifiedTypeIdentifier(startPos, startLoc, id);\n\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterInstantiation();\n }\n\n return this.finishNode(node, \"GenericTypeAnnotation\");\n }\n\n flowParseTypeofType() {\n const node = this.startNode();\n this.expect(87);\n node.argument = this.flowParsePrimaryType();\n return this.finishNode(node, \"TypeofTypeAnnotation\");\n }\n\n flowParseTupleType() {\n const node = this.startNode();\n node.types = [];\n this.expect(0);\n\n while (this.state.pos < this.length && !this.match(3)) {\n node.types.push(this.flowParseType());\n if (this.match(3)) break;\n this.expect(12);\n }\n\n this.expect(3);\n return this.finishNode(node, \"TupleTypeAnnotation\");\n }\n\n flowParseFunctionTypeParam(first) {\n let name = null;\n let optional = false;\n let typeAnnotation = null;\n const node = this.startNode();\n const lh = this.lookahead();\n const isThis = this.state.type === 78;\n\n if (lh.type === 14 || lh.type === 17) {\n if (isThis && !first) {\n this.raise(FlowErrors.ThisParamMustBeFirst, {\n node\n });\n }\n\n name = this.parseIdentifier(isThis);\n\n if (this.eat(17)) {\n optional = true;\n\n if (isThis) {\n this.raise(FlowErrors.ThisParamMayNotBeOptional, {\n node\n });\n }\n }\n\n typeAnnotation = this.flowParseTypeInitialiser();\n } else {\n typeAnnotation = this.flowParseType();\n }\n\n node.name = name;\n node.optional = optional;\n node.typeAnnotation = typeAnnotation;\n return this.finishNode(node, \"FunctionTypeParam\");\n }\n\n reinterpretTypeAsFunctionTypeParam(type) {\n const node = this.startNodeAt(type.start, type.loc.start);\n node.name = null;\n node.optional = false;\n node.typeAnnotation = type;\n return this.finishNode(node, \"FunctionTypeParam\");\n }\n\n flowParseFunctionTypeParams(params = []) {\n let rest = null;\n let _this = null;\n\n if (this.match(78)) {\n _this = this.flowParseFunctionTypeParam(true);\n _this.name = null;\n\n if (!this.match(11)) {\n this.expect(12);\n }\n }\n\n while (!this.match(11) && !this.match(21)) {\n params.push(this.flowParseFunctionTypeParam(false));\n\n if (!this.match(11)) {\n this.expect(12);\n }\n }\n\n if (this.eat(21)) {\n rest = this.flowParseFunctionTypeParam(false);\n }\n\n return {\n params,\n rest,\n _this\n };\n }\n\n flowIdentToTypeAnnotation(startPos, startLoc, node, id) {\n switch (id.name) {\n case \"any\":\n return this.finishNode(node, \"AnyTypeAnnotation\");\n\n case \"bool\":\n case \"boolean\":\n return this.finishNode(node, \"BooleanTypeAnnotation\");\n\n case \"mixed\":\n return this.finishNode(node, \"MixedTypeAnnotation\");\n\n case \"empty\":\n return this.finishNode(node, \"EmptyTypeAnnotation\");\n\n case \"number\":\n return this.finishNode(node, \"NumberTypeAnnotation\");\n\n case \"string\":\n return this.finishNode(node, \"StringTypeAnnotation\");\n\n case \"symbol\":\n return this.finishNode(node, \"SymbolTypeAnnotation\");\n\n default:\n this.checkNotUnderscore(id.name);\n return this.flowParseGenericType(startPos, startLoc, id);\n }\n }\n\n flowParsePrimaryType() {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const node = this.startNode();\n let tmp;\n let type;\n let isGroupedType = false;\n const oldNoAnonFunctionType = this.state.noAnonFunctionType;\n\n switch (this.state.type) {\n case 5:\n return this.flowParseObjectType({\n allowStatic: false,\n allowExact: false,\n allowSpread: true,\n allowProto: false,\n allowInexact: true\n });\n\n case 6:\n return this.flowParseObjectType({\n allowStatic: false,\n allowExact: true,\n allowSpread: true,\n allowProto: false,\n allowInexact: false\n });\n\n case 0:\n this.state.noAnonFunctionType = false;\n type = this.flowParseTupleType();\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n return type;\n\n case 47:\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n this.expect(10);\n tmp = this.flowParseFunctionTypeParams();\n node.params = tmp.params;\n node.rest = tmp.rest;\n node.this = tmp._this;\n this.expect(11);\n this.expect(19);\n node.returnType = this.flowParseType();\n return this.finishNode(node, \"FunctionTypeAnnotation\");\n\n case 10:\n this.next();\n\n if (!this.match(11) && !this.match(21)) {\n if (tokenIsIdentifier(this.state.type) || this.match(78)) {\n const token = this.lookahead().type;\n isGroupedType = token !== 17 && token !== 14;\n } else {\n isGroupedType = true;\n }\n }\n\n if (isGroupedType) {\n this.state.noAnonFunctionType = false;\n type = this.flowParseType();\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n\n if (this.state.noAnonFunctionType || !(this.match(12) || this.match(11) && this.lookahead().type === 19)) {\n this.expect(11);\n return type;\n } else {\n this.eat(12);\n }\n }\n\n if (type) {\n tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]);\n } else {\n tmp = this.flowParseFunctionTypeParams();\n }\n\n node.params = tmp.params;\n node.rest = tmp.rest;\n node.this = tmp._this;\n this.expect(11);\n this.expect(19);\n node.returnType = this.flowParseType();\n node.typeParameters = null;\n return this.finishNode(node, \"FunctionTypeAnnotation\");\n\n case 129:\n return this.parseLiteral(this.state.value, \"StringLiteralTypeAnnotation\");\n\n case 85:\n case 86:\n node.value = this.match(85);\n this.next();\n return this.finishNode(node, \"BooleanLiteralTypeAnnotation\");\n\n case 53:\n if (this.state.value === \"-\") {\n this.next();\n\n if (this.match(130)) {\n return this.parseLiteralAtNode(-this.state.value, \"NumberLiteralTypeAnnotation\", node);\n }\n\n if (this.match(131)) {\n return this.parseLiteralAtNode(-this.state.value, \"BigIntLiteralTypeAnnotation\", node);\n }\n\n throw this.raise(FlowErrors.UnexpectedSubtractionOperand, {\n at: this.state.startLoc\n });\n }\n\n throw this.unexpected();\n\n case 130:\n return this.parseLiteral(this.state.value, \"NumberLiteralTypeAnnotation\");\n\n case 131:\n return this.parseLiteral(this.state.value, \"BigIntLiteralTypeAnnotation\");\n\n case 88:\n this.next();\n return this.finishNode(node, \"VoidTypeAnnotation\");\n\n case 84:\n this.next();\n return this.finishNode(node, \"NullLiteralTypeAnnotation\");\n\n case 78:\n this.next();\n return this.finishNode(node, \"ThisTypeAnnotation\");\n\n case 55:\n this.next();\n return this.finishNode(node, \"ExistsTypeAnnotation\");\n\n case 87:\n return this.flowParseTypeofType();\n\n default:\n if (tokenIsKeyword(this.state.type)) {\n const label = tokenLabelName(this.state.type);\n this.next();\n return super.createIdentifier(node, label);\n } else if (tokenIsIdentifier(this.state.type)) {\n if (this.isContextual(125)) {\n return this.flowParseInterfaceType();\n }\n\n return this.flowIdentToTypeAnnotation(startPos, startLoc, node, this.parseIdentifier());\n }\n\n }\n\n throw this.unexpected();\n }\n\n flowParsePostfixType() {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n let type = this.flowParsePrimaryType();\n let seenOptionalIndexedAccess = false;\n\n while ((this.match(0) || this.match(18)) && !this.canInsertSemicolon()) {\n const node = this.startNodeAt(startPos, startLoc);\n const optional = this.eat(18);\n seenOptionalIndexedAccess = seenOptionalIndexedAccess || optional;\n this.expect(0);\n\n if (!optional && this.match(3)) {\n node.elementType = type;\n this.next();\n type = this.finishNode(node, \"ArrayTypeAnnotation\");\n } else {\n node.objectType = type;\n node.indexType = this.flowParseType();\n this.expect(3);\n\n if (seenOptionalIndexedAccess) {\n node.optional = optional;\n type = this.finishNode(node, \"OptionalIndexedAccessType\");\n } else {\n type = this.finishNode(node, \"IndexedAccessType\");\n }\n }\n }\n\n return type;\n }\n\n flowParsePrefixType() {\n const node = this.startNode();\n\n if (this.eat(17)) {\n node.typeAnnotation = this.flowParsePrefixType();\n return this.finishNode(node, \"NullableTypeAnnotation\");\n } else {\n return this.flowParsePostfixType();\n }\n }\n\n flowParseAnonFunctionWithoutParens() {\n const param = this.flowParsePrefixType();\n\n if (!this.state.noAnonFunctionType && this.eat(19)) {\n const node = this.startNodeAt(param.start, param.loc.start);\n node.params = [this.reinterpretTypeAsFunctionTypeParam(param)];\n node.rest = null;\n node.this = null;\n node.returnType = this.flowParseType();\n node.typeParameters = null;\n return this.finishNode(node, \"FunctionTypeAnnotation\");\n }\n\n return param;\n }\n\n flowParseIntersectionType() {\n const node = this.startNode();\n this.eat(45);\n const type = this.flowParseAnonFunctionWithoutParens();\n node.types = [type];\n\n while (this.eat(45)) {\n node.types.push(this.flowParseAnonFunctionWithoutParens());\n }\n\n return node.types.length === 1 ? type : this.finishNode(node, \"IntersectionTypeAnnotation\");\n }\n\n flowParseUnionType() {\n const node = this.startNode();\n this.eat(43);\n const type = this.flowParseIntersectionType();\n node.types = [type];\n\n while (this.eat(43)) {\n node.types.push(this.flowParseIntersectionType());\n }\n\n return node.types.length === 1 ? type : this.finishNode(node, \"UnionTypeAnnotation\");\n }\n\n flowParseType() {\n const oldInType = this.state.inType;\n this.state.inType = true;\n const type = this.flowParseUnionType();\n this.state.inType = oldInType;\n return type;\n }\n\n flowParseTypeOrImplicitInstantiation() {\n if (this.state.type === 128 && this.state.value === \"_\") {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const node = this.parseIdentifier();\n return this.flowParseGenericType(startPos, startLoc, node);\n } else {\n return this.flowParseType();\n }\n }\n\n flowParseTypeAnnotation() {\n const node = this.startNode();\n node.typeAnnotation = this.flowParseTypeInitialiser();\n return this.finishNode(node, \"TypeAnnotation\");\n }\n\n flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride) {\n const ident = allowPrimitiveOverride ? this.parseIdentifier() : this.flowParseRestrictedIdentifier();\n\n if (this.match(14)) {\n ident.typeAnnotation = this.flowParseTypeAnnotation();\n this.resetEndLocation(ident);\n }\n\n return ident;\n }\n\n typeCastToParameter(node) {\n node.expression.typeAnnotation = node.typeAnnotation;\n this.resetEndLocation(node.expression, node.typeAnnotation.loc.end);\n return node.expression;\n }\n\n flowParseVariance() {\n let variance = null;\n\n if (this.match(53)) {\n variance = this.startNode();\n\n if (this.state.value === \"+\") {\n variance.kind = \"plus\";\n } else {\n variance.kind = \"minus\";\n }\n\n this.next();\n this.finishNode(variance, \"Variance\");\n }\n\n return variance;\n }\n\n parseFunctionBody(node, allowExpressionBody, isMethod = false) {\n if (allowExpressionBody) {\n return this.forwardNoArrowParamsConversionAt(node, () => super.parseFunctionBody(node, true, isMethod));\n }\n\n return super.parseFunctionBody(node, false, isMethod);\n }\n\n parseFunctionBodyAndFinish(node, type, isMethod = false) {\n if (this.match(14)) {\n const typeNode = this.startNode();\n [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser();\n node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, \"TypeAnnotation\") : null;\n }\n\n super.parseFunctionBodyAndFinish(node, type, isMethod);\n }\n\n parseStatement(context, topLevel) {\n if (this.state.strict && this.isContextual(125)) {\n const lookahead = this.lookahead();\n\n if (tokenIsKeywordOrIdentifier(lookahead.type)) {\n const node = this.startNode();\n this.next();\n return this.flowParseInterface(node);\n }\n } else if (this.shouldParseEnums() && this.isContextual(122)) {\n const node = this.startNode();\n this.next();\n return this.flowParseEnumDeclaration(node);\n }\n\n const stmt = super.parseStatement(context, topLevel);\n\n if (this.flowPragma === undefined && !this.isValidDirective(stmt)) {\n this.flowPragma = null;\n }\n\n return stmt;\n }\n\n parseExpressionStatement(node, expr) {\n if (expr.type === \"Identifier\") {\n if (expr.name === \"declare\") {\n if (this.match(80) || tokenIsIdentifier(this.state.type) || this.match(68) || this.match(74) || this.match(82)) {\n return this.flowParseDeclare(node);\n }\n } else if (tokenIsIdentifier(this.state.type)) {\n if (expr.name === \"interface\") {\n return this.flowParseInterface(node);\n } else if (expr.name === \"type\") {\n return this.flowParseTypeAlias(node);\n } else if (expr.name === \"opaque\") {\n return this.flowParseOpaqueType(node, false);\n }\n }\n }\n\n return super.parseExpressionStatement(node, expr);\n }\n\n shouldParseExportDeclaration() {\n const {\n type\n } = this.state;\n\n if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.shouldParseEnums() && type === 122) {\n return !this.state.containsEsc;\n }\n\n return super.shouldParseExportDeclaration();\n }\n\n isExportDefaultSpecifier() {\n const {\n type\n } = this.state;\n\n if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.shouldParseEnums() && type === 122) {\n return this.state.containsEsc;\n }\n\n return super.isExportDefaultSpecifier();\n }\n\n parseExportDefaultExpression() {\n if (this.shouldParseEnums() && this.isContextual(122)) {\n const node = this.startNode();\n this.next();\n return this.flowParseEnumDeclaration(node);\n }\n\n return super.parseExportDefaultExpression();\n }\n\n parseConditional(expr, startPos, startLoc, refExpressionErrors) {\n if (!this.match(17)) return expr;\n\n if (this.state.maybeInArrowParameters) {\n const nextCh = this.lookaheadCharCode();\n\n if (nextCh === 44 || nextCh === 61 || nextCh === 58 || nextCh === 41) {\n this.setOptionalParametersError(refExpressionErrors);\n return expr;\n }\n }\n\n this.expect(17);\n const state = this.state.clone();\n const originalNoArrowAt = this.state.noArrowAt;\n const node = this.startNodeAt(startPos, startLoc);\n let {\n consequent,\n failed\n } = this.tryParseConditionalConsequent();\n let [valid, invalid] = this.getArrowLikeExpressions(consequent);\n\n if (failed || invalid.length > 0) {\n const noArrowAt = [...originalNoArrowAt];\n\n if (invalid.length > 0) {\n this.state = state;\n this.state.noArrowAt = noArrowAt;\n\n for (let i = 0; i < invalid.length; i++) {\n noArrowAt.push(invalid[i].start);\n }\n\n ({\n consequent,\n failed\n } = this.tryParseConditionalConsequent());\n [valid, invalid] = this.getArrowLikeExpressions(consequent);\n }\n\n if (failed && valid.length > 1) {\n this.raise(FlowErrors.AmbiguousConditionalArrow, {\n at: state.startLoc\n });\n }\n\n if (failed && valid.length === 1) {\n this.state = state;\n noArrowAt.push(valid[0].start);\n this.state.noArrowAt = noArrowAt;\n ({\n consequent,\n failed\n } = this.tryParseConditionalConsequent());\n }\n }\n\n this.getArrowLikeExpressions(consequent, true);\n this.state.noArrowAt = originalNoArrowAt;\n this.expect(14);\n node.test = expr;\n node.consequent = consequent;\n node.alternate = this.forwardNoArrowParamsConversionAt(node, () => this.parseMaybeAssign(undefined, undefined));\n return this.finishNode(node, \"ConditionalExpression\");\n }\n\n tryParseConditionalConsequent() {\n this.state.noArrowParamsConversionAt.push(this.state.start);\n const consequent = this.parseMaybeAssignAllowIn();\n const failed = !this.match(14);\n this.state.noArrowParamsConversionAt.pop();\n return {\n consequent,\n failed\n };\n }\n\n getArrowLikeExpressions(node, disallowInvalid) {\n const stack = [node];\n const arrows = [];\n\n while (stack.length !== 0) {\n const node = stack.pop();\n\n if (node.type === \"ArrowFunctionExpression\") {\n if (node.typeParameters || !node.returnType) {\n this.finishArrowValidation(node);\n } else {\n arrows.push(node);\n }\n\n stack.push(node.body);\n } else if (node.type === \"ConditionalExpression\") {\n stack.push(node.consequent);\n stack.push(node.alternate);\n }\n }\n\n if (disallowInvalid) {\n arrows.forEach(node => this.finishArrowValidation(node));\n return [arrows, []];\n }\n\n return partition(arrows, node => node.params.every(param => this.isAssignable(param, true)));\n }\n\n finishArrowValidation(node) {\n var _node$extra;\n\n this.toAssignableList(node.params, (_node$extra = node.extra) == null ? void 0 : _node$extra.trailingCommaLoc, false);\n this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW);\n super.checkParams(node, false, true);\n this.scope.exit();\n }\n\n forwardNoArrowParamsConversionAt(node, parse) {\n let result;\n\n if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) {\n this.state.noArrowParamsConversionAt.push(this.state.start);\n result = parse();\n this.state.noArrowParamsConversionAt.pop();\n } else {\n result = parse();\n }\n\n return result;\n }\n\n parseParenItem(node, startPos, startLoc) {\n node = super.parseParenItem(node, startPos, startLoc);\n\n if (this.eat(17)) {\n node.optional = true;\n this.resetEndLocation(node);\n }\n\n if (this.match(14)) {\n const typeCastNode = this.startNodeAt(startPos, startLoc);\n typeCastNode.expression = node;\n typeCastNode.typeAnnotation = this.flowParseTypeAnnotation();\n return this.finishNode(typeCastNode, \"TypeCastExpression\");\n }\n\n return node;\n }\n\n assertModuleNodeAllowed(node) {\n if (node.type === \"ImportDeclaration\" && (node.importKind === \"type\" || node.importKind === \"typeof\") || node.type === \"ExportNamedDeclaration\" && node.exportKind === \"type\" || node.type === \"ExportAllDeclaration\" && node.exportKind === \"type\") {\n return;\n }\n\n super.assertModuleNodeAllowed(node);\n }\n\n parseExport(node) {\n const decl = super.parseExport(node);\n\n if (decl.type === \"ExportNamedDeclaration\" || decl.type === \"ExportAllDeclaration\") {\n decl.exportKind = decl.exportKind || \"value\";\n }\n\n return decl;\n }\n\n parseExportDeclaration(node) {\n if (this.isContextual(126)) {\n node.exportKind = \"type\";\n const declarationNode = this.startNode();\n this.next();\n\n if (this.match(5)) {\n node.specifiers = this.parseExportSpecifiers(true);\n this.parseExportFrom(node);\n return null;\n } else {\n return this.flowParseTypeAlias(declarationNode);\n }\n } else if (this.isContextual(127)) {\n node.exportKind = \"type\";\n const declarationNode = this.startNode();\n this.next();\n return this.flowParseOpaqueType(declarationNode, false);\n } else if (this.isContextual(125)) {\n node.exportKind = \"type\";\n const declarationNode = this.startNode();\n this.next();\n return this.flowParseInterface(declarationNode);\n } else if (this.shouldParseEnums() && this.isContextual(122)) {\n node.exportKind = \"value\";\n const declarationNode = this.startNode();\n this.next();\n return this.flowParseEnumDeclaration(declarationNode);\n } else {\n return super.parseExportDeclaration(node);\n }\n }\n\n eatExportStar(node) {\n if (super.eatExportStar(...arguments)) return true;\n\n if (this.isContextual(126) && this.lookahead().type === 55) {\n node.exportKind = \"type\";\n this.next();\n this.next();\n return true;\n }\n\n return false;\n }\n\n maybeParseExportNamespaceSpecifier(node) {\n const {\n startLoc\n } = this.state;\n const hasNamespace = super.maybeParseExportNamespaceSpecifier(node);\n\n if (hasNamespace && node.exportKind === \"type\") {\n this.unexpected(startLoc);\n }\n\n return hasNamespace;\n }\n\n parseClassId(node, isStatement, optionalId) {\n super.parseClassId(node, isStatement, optionalId);\n\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n }\n\n parseClassMember(classBody, member, state) {\n const {\n startLoc\n } = this.state;\n\n if (this.isContextual(121)) {\n if (this.parseClassMemberFromModifier(classBody, member)) {\n return;\n }\n\n member.declare = true;\n }\n\n super.parseClassMember(classBody, member, state);\n\n if (member.declare) {\n if (member.type !== \"ClassProperty\" && member.type !== \"ClassPrivateProperty\" && member.type !== \"PropertyDefinition\") {\n this.raise(FlowErrors.DeclareClassElement, {\n at: startLoc\n });\n } else if (member.value) {\n this.raise(FlowErrors.DeclareClassFieldInitializer, {\n node: member.value\n });\n }\n }\n }\n\n isIterator(word) {\n return word === \"iterator\" || word === \"asyncIterator\";\n }\n\n readIterator() {\n const word = super.readWord1();\n const fullWord = \"@@\" + word;\n\n if (!this.isIterator(word) || !this.state.inType) {\n this.raise(ErrorMessages.InvalidIdentifier, {\n at: this.state.curPosition()\n }, fullWord);\n }\n\n this.finishToken(128, fullWord);\n }\n\n getTokenFromCode(code) {\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (code === 123 && next === 124) {\n return this.finishOp(6, 2);\n } else if (this.state.inType && (code === 62 || code === 60)) {\n return this.finishOp(code === 62 ? 48 : 47, 1);\n } else if (this.state.inType && code === 63) {\n if (next === 46) {\n return this.finishOp(18, 2);\n }\n\n return this.finishOp(17, 1);\n } else if (isIteratorStart(code, next, this.input.charCodeAt(this.state.pos + 2))) {\n this.state.pos += 2;\n return this.readIterator();\n } else {\n return super.getTokenFromCode(code);\n }\n }\n\n isAssignable(node, isBinding) {\n if (node.type === \"TypeCastExpression\") {\n return this.isAssignable(node.expression, isBinding);\n } else {\n return super.isAssignable(node, isBinding);\n }\n }\n\n toAssignable(node, isLHS = false) {\n if (node.type === \"TypeCastExpression\") {\n return super.toAssignable(this.typeCastToParameter(node), isLHS);\n } else {\n return super.toAssignable(node, isLHS);\n }\n }\n\n toAssignableList(exprList, trailingCommaLoc, isLHS) {\n for (let i = 0; i < exprList.length; i++) {\n const expr = exprList[i];\n\n if ((expr == null ? void 0 : expr.type) === \"TypeCastExpression\") {\n exprList[i] = this.typeCastToParameter(expr);\n }\n }\n\n return super.toAssignableList(exprList, trailingCommaLoc, isLHS);\n }\n\n toReferencedList(exprList, isParenthesizedExpr) {\n for (let i = 0; i < exprList.length; i++) {\n var _expr$extra;\n\n const expr = exprList[i];\n\n if (expr && expr.type === \"TypeCastExpression\" && !((_expr$extra = expr.extra) != null && _expr$extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) {\n this.raise(FlowErrors.TypeCastInPattern, {\n node: expr.typeAnnotation\n });\n }\n }\n\n return exprList;\n }\n\n parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) {\n const node = super.parseArrayLike(close, canBePattern, isTuple, refExpressionErrors);\n\n if (canBePattern && !this.state.maybeInArrowParameters) {\n this.toReferencedList(node.elements);\n }\n\n return node;\n }\n\n checkLVal(expr, ...args) {\n if (expr.type !== \"TypeCastExpression\") {\n return super.checkLVal(expr, ...args);\n }\n }\n\n parseClassProperty(node) {\n if (this.match(14)) {\n node.typeAnnotation = this.flowParseTypeAnnotation();\n }\n\n return super.parseClassProperty(node);\n }\n\n parseClassPrivateProperty(node) {\n if (this.match(14)) {\n node.typeAnnotation = this.flowParseTypeAnnotation();\n }\n\n return super.parseClassPrivateProperty(node);\n }\n\n isClassMethod() {\n return this.match(47) || super.isClassMethod();\n }\n\n isClassProperty() {\n return this.match(14) || super.isClassProperty();\n }\n\n isNonstaticConstructor(method) {\n return !this.match(14) && super.isNonstaticConstructor(method);\n }\n\n pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {\n if (method.variance) {\n this.unexpected(method.variance.loc.start);\n }\n\n delete method.variance;\n\n if (this.match(47)) {\n method.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n\n super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper);\n\n if (method.params && isConstructor) {\n const params = method.params;\n\n if (params.length > 0 && this.isThisParam(params[0])) {\n this.raise(FlowErrors.ThisParamBannedInConstructor, {\n node: method\n });\n }\n } else if (method.type === \"MethodDefinition\" && isConstructor && method.value.params) {\n const params = method.value.params;\n\n if (params.length > 0 && this.isThisParam(params[0])) {\n this.raise(FlowErrors.ThisParamBannedInConstructor, {\n node: method\n });\n }\n }\n }\n\n pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {\n if (method.variance) {\n this.unexpected(method.variance.loc.start);\n }\n\n delete method.variance;\n\n if (this.match(47)) {\n method.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n\n super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync);\n }\n\n parseClassSuper(node) {\n super.parseClassSuper(node);\n\n if (node.superClass && this.match(47)) {\n node.superTypeParameters = this.flowParseTypeParameterInstantiation();\n }\n\n if (this.isContextual(110)) {\n this.next();\n const implemented = node.implements = [];\n\n do {\n const node = this.startNode();\n node.id = this.flowParseRestrictedIdentifier(true);\n\n if (this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterInstantiation();\n } else {\n node.typeParameters = null;\n }\n\n implemented.push(this.finishNode(node, \"ClassImplements\"));\n } while (this.eat(12));\n }\n }\n\n checkGetterSetterParams(method) {\n super.checkGetterSetterParams(method);\n const params = this.getObjectOrClassMethodParams(method);\n\n if (params.length > 0) {\n const param = params[0];\n\n if (this.isThisParam(param) && method.kind === \"get\") {\n this.raise(FlowErrors.GetterMayNotHaveThisParam, {\n node: param\n });\n } else if (this.isThisParam(param)) {\n this.raise(FlowErrors.SetterMayNotHaveThisParam, {\n node: param\n });\n }\n }\n }\n\n parsePropertyNamePrefixOperator(node) {\n node.variance = this.flowParseVariance();\n }\n\n parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) {\n if (prop.variance) {\n this.unexpected(prop.variance.loc.start);\n }\n\n delete prop.variance;\n let typeParameters;\n\n if (this.match(47) && !isAccessor) {\n typeParameters = this.flowParseTypeParameterDeclaration();\n if (!this.match(10)) this.unexpected();\n }\n\n super.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors);\n\n if (typeParameters) {\n (prop.value || prop).typeParameters = typeParameters;\n }\n }\n\n parseAssignableListItemTypes(param) {\n if (this.eat(17)) {\n if (param.type !== \"Identifier\") {\n this.raise(FlowErrors.PatternIsOptional, {\n node: param\n });\n }\n\n if (this.isThisParam(param)) {\n this.raise(FlowErrors.ThisParamMayNotBeOptional, {\n node: param\n });\n }\n\n param.optional = true;\n }\n\n if (this.match(14)) {\n param.typeAnnotation = this.flowParseTypeAnnotation();\n } else if (this.isThisParam(param)) {\n this.raise(FlowErrors.ThisParamAnnotationRequired, {\n node: param\n });\n }\n\n if (this.match(29) && this.isThisParam(param)) {\n this.raise(FlowErrors.ThisParamNoDefault, {\n node: param\n });\n }\n\n this.resetEndLocation(param);\n return param;\n }\n\n parseMaybeDefault(startPos, startLoc, left) {\n const node = super.parseMaybeDefault(startPos, startLoc, left);\n\n if (node.type === \"AssignmentPattern\" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) {\n this.raise(FlowErrors.TypeBeforeInitializer, {\n node: node.typeAnnotation\n });\n }\n\n return node;\n }\n\n shouldParseDefaultImport(node) {\n if (!hasTypeImportKind(node)) {\n return super.shouldParseDefaultImport(node);\n }\n\n return isMaybeDefaultImport(this.state.type);\n }\n\n parseImportSpecifierLocal(node, specifier, type, contextDescription) {\n specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true, true) : this.parseIdentifier();\n this.checkLVal(specifier.local, contextDescription, BIND_LEXICAL);\n node.specifiers.push(this.finishNode(specifier, type));\n }\n\n maybeParseDefaultImportSpecifier(node) {\n node.importKind = \"value\";\n let kind = null;\n\n if (this.match(87)) {\n kind = \"typeof\";\n } else if (this.isContextual(126)) {\n kind = \"type\";\n }\n\n if (kind) {\n const lh = this.lookahead();\n const {\n type\n } = lh;\n\n if (kind === \"type\" && type === 55) {\n this.unexpected(null, lh.type);\n }\n\n if (isMaybeDefaultImport(type) || type === 5 || type === 55) {\n this.next();\n node.importKind = kind;\n }\n }\n\n return super.maybeParseDefaultImportSpecifier(node);\n }\n\n parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly) {\n const firstIdent = specifier.imported;\n let specifierTypeKind = null;\n\n if (firstIdent.type === \"Identifier\") {\n if (firstIdent.name === \"type\") {\n specifierTypeKind = \"type\";\n } else if (firstIdent.name === \"typeof\") {\n specifierTypeKind = \"typeof\";\n }\n }\n\n let isBinding = false;\n\n if (this.isContextual(93) && !this.isLookaheadContextual(\"as\")) {\n const as_ident = this.parseIdentifier(true);\n\n if (specifierTypeKind !== null && !tokenIsKeywordOrIdentifier(this.state.type)) {\n specifier.imported = as_ident;\n specifier.importKind = specifierTypeKind;\n specifier.local = cloneIdentifier(as_ident);\n } else {\n specifier.imported = firstIdent;\n specifier.importKind = null;\n specifier.local = this.parseIdentifier();\n }\n } else {\n if (specifierTypeKind !== null && tokenIsKeywordOrIdentifier(this.state.type)) {\n specifier.imported = this.parseIdentifier(true);\n specifier.importKind = specifierTypeKind;\n } else {\n if (importedIsString) {\n throw this.raise(ErrorMessages.ImportBindingIsString, {\n node: specifier\n }, firstIdent.value);\n }\n\n specifier.imported = firstIdent;\n specifier.importKind = null;\n }\n\n if (this.eatContextual(93)) {\n specifier.local = this.parseIdentifier();\n } else {\n isBinding = true;\n specifier.local = cloneIdentifier(specifier.imported);\n }\n }\n\n const specifierIsTypeImport = hasTypeImportKind(specifier);\n\n if (isInTypeOnlyImport && specifierIsTypeImport) {\n this.raise(FlowErrors.ImportTypeShorthandOnlyInPureImport, {\n node: specifier\n });\n }\n\n if (isInTypeOnlyImport || specifierIsTypeImport) {\n this.checkReservedType(specifier.local.name, specifier.local.loc.start, true);\n }\n\n if (isBinding && !isInTypeOnlyImport && !specifierIsTypeImport) {\n this.checkReservedWord(specifier.local.name, specifier.loc.start, true, true);\n }\n\n this.checkLVal(specifier.local, \"import specifier\", BIND_LEXICAL);\n return this.finishNode(specifier, \"ImportSpecifier\");\n }\n\n parseBindingAtom() {\n switch (this.state.type) {\n case 78:\n return this.parseIdentifier(true);\n\n default:\n return super.parseBindingAtom();\n }\n }\n\n parseFunctionParams(node, allowModifiers) {\n const kind = node.kind;\n\n if (kind !== \"get\" && kind !== \"set\" && this.match(47)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n\n super.parseFunctionParams(node, allowModifiers);\n }\n\n parseVarId(decl, kind) {\n super.parseVarId(decl, kind);\n\n if (this.match(14)) {\n decl.id.typeAnnotation = this.flowParseTypeAnnotation();\n this.resetEndLocation(decl.id);\n }\n }\n\n parseAsyncArrowFromCallExpression(node, call) {\n if (this.match(14)) {\n const oldNoAnonFunctionType = this.state.noAnonFunctionType;\n this.state.noAnonFunctionType = true;\n node.returnType = this.flowParseTypeAnnotation();\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n }\n\n return super.parseAsyncArrowFromCallExpression(node, call);\n }\n\n shouldParseAsyncArrow() {\n return this.match(14) || super.shouldParseAsyncArrow();\n }\n\n parseMaybeAssign(refExpressionErrors, afterLeftParse) {\n var _jsx;\n\n let state = null;\n let jsx;\n\n if (this.hasPlugin(\"jsx\") && (this.match(138) || this.match(47))) {\n state = this.state.clone();\n jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state);\n if (!jsx.error) return jsx.node;\n const {\n context\n } = this.state;\n const currentContext = context[context.length - 1];\n\n if (currentContext === types.j_oTag || currentContext === types.j_expr) {\n context.pop();\n }\n }\n\n if ((_jsx = jsx) != null && _jsx.error || this.match(47)) {\n var _jsx2, _jsx3;\n\n state = state || this.state.clone();\n let typeParameters;\n const arrow = this.tryParse(abort => {\n var _arrowExpression$extr;\n\n typeParameters = this.flowParseTypeParameterDeclaration();\n const arrowExpression = this.forwardNoArrowParamsConversionAt(typeParameters, () => {\n const result = super.parseMaybeAssign(refExpressionErrors, afterLeftParse);\n this.resetStartLocationFromNode(result, typeParameters);\n return result;\n });\n if ((_arrowExpression$extr = arrowExpression.extra) != null && _arrowExpression$extr.parenthesized) abort();\n const expr = this.maybeUnwrapTypeCastExpression(arrowExpression);\n if (expr.type !== \"ArrowFunctionExpression\") abort();\n expr.typeParameters = typeParameters;\n this.resetStartLocationFromNode(expr, typeParameters);\n return arrowExpression;\n }, state);\n let arrowExpression = null;\n\n if (arrow.node && this.maybeUnwrapTypeCastExpression(arrow.node).type === \"ArrowFunctionExpression\") {\n if (!arrow.error && !arrow.aborted) {\n if (arrow.node.async) {\n this.raise(FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction, {\n node: typeParameters\n });\n }\n\n return arrow.node;\n }\n\n arrowExpression = arrow.node;\n }\n\n if ((_jsx2 = jsx) != null && _jsx2.node) {\n this.state = jsx.failState;\n return jsx.node;\n }\n\n if (arrowExpression) {\n this.state = arrow.failState;\n return arrowExpression;\n }\n\n if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error;\n if (arrow.thrown) throw arrow.error;\n throw this.raise(FlowErrors.UnexpectedTokenAfterTypeParameter, {\n node: typeParameters\n });\n }\n\n return super.parseMaybeAssign(refExpressionErrors, afterLeftParse);\n }\n\n parseArrow(node) {\n if (this.match(14)) {\n const result = this.tryParse(() => {\n const oldNoAnonFunctionType = this.state.noAnonFunctionType;\n this.state.noAnonFunctionType = true;\n const typeNode = this.startNode();\n [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser();\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n if (this.canInsertSemicolon()) this.unexpected();\n if (!this.match(19)) this.unexpected();\n return typeNode;\n });\n if (result.thrown) return null;\n if (result.error) this.state = result.failState;\n node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, \"TypeAnnotation\") : null;\n }\n\n return super.parseArrow(node);\n }\n\n shouldParseArrow(params) {\n return this.match(14) || super.shouldParseArrow(params);\n }\n\n setArrowFunctionParameters(node, params) {\n if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) {\n node.params = params;\n } else {\n super.setArrowFunctionParameters(node, params);\n }\n }\n\n checkParams(node, allowDuplicates, isArrowFunction) {\n if (isArrowFunction && this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) {\n return;\n }\n\n for (let i = 0; i < node.params.length; i++) {\n if (this.isThisParam(node.params[i]) && i > 0) {\n this.raise(FlowErrors.ThisParamMustBeFirst, {\n node: node.params[i]\n });\n }\n }\n\n return super.checkParams(...arguments);\n }\n\n parseParenAndDistinguishExpression(canBeArrow) {\n return super.parseParenAndDistinguishExpression(canBeArrow && this.state.noArrowAt.indexOf(this.state.start) === -1);\n }\n\n parseSubscripts(base, startPos, startLoc, noCalls) {\n if (base.type === \"Identifier\" && base.name === \"async\" && this.state.noArrowAt.indexOf(startPos) !== -1) {\n this.next();\n const node = this.startNodeAt(startPos, startLoc);\n node.callee = base;\n node.arguments = this.parseCallExpressionArguments(11, false);\n base = this.finishNode(node, \"CallExpression\");\n } else if (base.type === \"Identifier\" && base.name === \"async\" && this.match(47)) {\n const state = this.state.clone();\n const arrow = this.tryParse(abort => this.parseAsyncArrowWithTypeParameters(startPos, startLoc) || abort(), state);\n if (!arrow.error && !arrow.aborted) return arrow.node;\n const result = this.tryParse(() => super.parseSubscripts(base, startPos, startLoc, noCalls), state);\n if (result.node && !result.error) return result.node;\n\n if (arrow.node) {\n this.state = arrow.failState;\n return arrow.node;\n }\n\n if (result.node) {\n this.state = result.failState;\n return result.node;\n }\n\n throw arrow.error || result.error;\n }\n\n return super.parseSubscripts(base, startPos, startLoc, noCalls);\n }\n\n parseSubscript(base, startPos, startLoc, noCalls, subscriptState) {\n if (this.match(18) && this.isLookaheadToken_lt()) {\n subscriptState.optionalChainMember = true;\n\n if (noCalls) {\n subscriptState.stop = true;\n return base;\n }\n\n this.next();\n const node = this.startNodeAt(startPos, startLoc);\n node.callee = base;\n node.typeArguments = this.flowParseTypeParameterInstantiation();\n this.expect(10);\n node.arguments = this.parseCallExpressionArguments(11, false);\n node.optional = true;\n return this.finishCallExpression(node, true);\n } else if (!noCalls && this.shouldParseTypes() && this.match(47)) {\n const node = this.startNodeAt(startPos, startLoc);\n node.callee = base;\n const result = this.tryParse(() => {\n node.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew();\n this.expect(10);\n node.arguments = this.parseCallExpressionArguments(11, false);\n if (subscriptState.optionalChainMember) node.optional = false;\n return this.finishCallExpression(node, subscriptState.optionalChainMember);\n });\n\n if (result.node) {\n if (result.error) this.state = result.failState;\n return result.node;\n }\n }\n\n return super.parseSubscript(base, startPos, startLoc, noCalls, subscriptState);\n }\n\n parseNewArguments(node) {\n let targs = null;\n\n if (this.shouldParseTypes() && this.match(47)) {\n targs = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node;\n }\n\n node.typeArguments = targs;\n super.parseNewArguments(node);\n }\n\n parseAsyncArrowWithTypeParameters(startPos, startLoc) {\n const node = this.startNodeAt(startPos, startLoc);\n this.parseFunctionParams(node);\n if (!this.parseArrow(node)) return;\n return this.parseArrowExpression(node, undefined, true);\n }\n\n readToken_mult_modulo(code) {\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (code === 42 && next === 47 && this.state.hasFlowComment) {\n this.state.hasFlowComment = false;\n this.state.pos += 2;\n this.nextToken();\n return;\n }\n\n super.readToken_mult_modulo(code);\n }\n\n readToken_pipe_amp(code) {\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (code === 124 && next === 125) {\n this.finishOp(9, 2);\n return;\n }\n\n super.readToken_pipe_amp(code);\n }\n\n parseTopLevel(file, program) {\n const fileNode = super.parseTopLevel(file, program);\n\n if (this.state.hasFlowComment) {\n this.raise(FlowErrors.UnterminatedFlowComment, {\n at: this.state.curPosition()\n });\n }\n\n return fileNode;\n }\n\n skipBlockComment() {\n if (this.hasPlugin(\"flowComments\") && this.skipFlowComment()) {\n if (this.state.hasFlowComment) {\n throw this.raise(FlowErrors.NestedFlowComment, {\n at: this.state.startLoc\n });\n }\n\n this.hasFlowCommentCompletion();\n this.state.pos += this.skipFlowComment();\n this.state.hasFlowComment = true;\n return;\n }\n\n if (this.state.hasFlowComment) {\n const end = this.input.indexOf(\"*-/\", this.state.pos + 2);\n\n if (end === -1) {\n throw this.raise(ErrorMessages.UnterminatedComment, {\n at: this.state.curPosition()\n });\n }\n\n this.state.pos = end + 2 + 3;\n return;\n }\n\n return super.skipBlockComment();\n }\n\n skipFlowComment() {\n const {\n pos\n } = this.state;\n let shiftToFirstNonWhiteSpace = 2;\n\n while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) {\n shiftToFirstNonWhiteSpace++;\n }\n\n const ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos);\n const ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1);\n\n if (ch2 === 58 && ch3 === 58) {\n return shiftToFirstNonWhiteSpace + 2;\n }\n\n if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === \"flow-include\") {\n return shiftToFirstNonWhiteSpace + 12;\n }\n\n if (ch2 === 58 && ch3 !== 58) {\n return shiftToFirstNonWhiteSpace;\n }\n\n return false;\n }\n\n hasFlowCommentCompletion() {\n const end = this.input.indexOf(\"*/\", this.state.pos);\n\n if (end === -1) {\n throw this.raise(ErrorMessages.UnterminatedComment, {\n at: this.state.curPosition()\n });\n }\n }\n\n flowEnumErrorBooleanMemberNotInitialized(loc, {\n enumName,\n memberName\n }) {\n this.raise(FlowErrors.EnumBooleanMemberNotInitialized, {\n at: loc\n }, memberName, enumName);\n }\n\n flowEnumErrorInvalidExplicitType(loc, {\n enumName,\n suppliedType\n }) {\n return this.raise(suppliedType === null ? FlowErrors.EnumInvalidExplicitTypeUnknownSupplied : FlowErrors.EnumInvalidExplicitType, {\n at: loc\n }, enumName, suppliedType);\n }\n\n flowEnumErrorInvalidMemberInitializer(loc, {\n enumName,\n explicitType,\n memberName\n }) {\n return this.raise(explicitType === \"boolean\" || explicitType === \"number\" || explicitType === \"string\" ? FlowErrors.EnumInvalidMemberInitializerPrimaryType : explicitType === \"symbol\" ? FlowErrors.EnumInvalidMemberInitializerSymbolType : FlowErrors.EnumInvalidMemberInitializerUnknownType, {\n at: loc\n }, enumName, memberName, explicitType);\n }\n\n flowEnumErrorNumberMemberNotInitialized(loc, {\n enumName,\n memberName\n }) {\n this.raise(FlowErrors.EnumNumberMemberNotInitialized, {\n at: loc\n }, enumName, memberName);\n }\n\n flowEnumErrorStringMemberInconsistentlyInitailized(node, {\n enumName\n }) {\n this.raise(FlowErrors.EnumStringMemberInconsistentlyInitailized, {\n node\n }, enumName);\n }\n\n flowEnumMemberInit() {\n const startLoc = this.state.startLoc;\n\n const endOfInit = () => this.match(12) || this.match(8);\n\n switch (this.state.type) {\n case 130:\n {\n const literal = this.parseNumericLiteral(this.state.value);\n\n if (endOfInit()) {\n return {\n type: \"number\",\n loc: literal.loc.start,\n value: literal\n };\n }\n\n return {\n type: \"invalid\",\n loc: startLoc\n };\n }\n\n case 129:\n {\n const literal = this.parseStringLiteral(this.state.value);\n\n if (endOfInit()) {\n return {\n type: \"string\",\n loc: literal.loc.start,\n value: literal\n };\n }\n\n return {\n type: \"invalid\",\n loc: startLoc\n };\n }\n\n case 85:\n case 86:\n {\n const literal = this.parseBooleanLiteral(this.match(85));\n\n if (endOfInit()) {\n return {\n type: \"boolean\",\n loc: literal.loc.start,\n value: literal\n };\n }\n\n return {\n type: \"invalid\",\n loc: startLoc\n };\n }\n\n default:\n return {\n type: \"invalid\",\n loc: startLoc\n };\n }\n }\n\n flowEnumMemberRaw() {\n const loc = this.state.startLoc;\n const id = this.parseIdentifier(true);\n const init = this.eat(29) ? this.flowEnumMemberInit() : {\n type: \"none\",\n loc\n };\n return {\n id,\n init\n };\n }\n\n flowEnumCheckExplicitTypeMismatch(loc, context, expectedType) {\n const {\n explicitType\n } = context;\n\n if (explicitType === null) {\n return;\n }\n\n if (explicitType !== expectedType) {\n this.flowEnumErrorInvalidMemberInitializer(loc, context);\n }\n }\n\n flowEnumMembers({\n enumName,\n explicitType\n }) {\n const seenNames = new Set();\n const members = {\n booleanMembers: [],\n numberMembers: [],\n stringMembers: [],\n defaultedMembers: []\n };\n let hasUnknownMembers = false;\n\n while (!this.match(8)) {\n if (this.eat(21)) {\n hasUnknownMembers = true;\n break;\n }\n\n const memberNode = this.startNode();\n const {\n id,\n init\n } = this.flowEnumMemberRaw();\n const memberName = id.name;\n\n if (memberName === \"\") {\n continue;\n }\n\n if (/^[a-z]/.test(memberName)) {\n this.raise(FlowErrors.EnumInvalidMemberName, {\n node: id\n }, memberName, memberName[0].toUpperCase() + memberName.slice(1), enumName);\n }\n\n if (seenNames.has(memberName)) {\n this.raise(FlowErrors.EnumDuplicateMemberName, {\n node: id\n }, memberName, enumName);\n }\n\n seenNames.add(memberName);\n const context = {\n enumName,\n explicitType,\n memberName\n };\n memberNode.id = id;\n\n switch (init.type) {\n case \"boolean\":\n {\n this.flowEnumCheckExplicitTypeMismatch(init.loc, context, \"boolean\");\n memberNode.init = init.value;\n members.booleanMembers.push(this.finishNode(memberNode, \"EnumBooleanMember\"));\n break;\n }\n\n case \"number\":\n {\n this.flowEnumCheckExplicitTypeMismatch(init.loc, context, \"number\");\n memberNode.init = init.value;\n members.numberMembers.push(this.finishNode(memberNode, \"EnumNumberMember\"));\n break;\n }\n\n case \"string\":\n {\n this.flowEnumCheckExplicitTypeMismatch(init.loc, context, \"string\");\n memberNode.init = init.value;\n members.stringMembers.push(this.finishNode(memberNode, \"EnumStringMember\"));\n break;\n }\n\n case \"invalid\":\n {\n throw this.flowEnumErrorInvalidMemberInitializer(init.loc, context);\n }\n\n case \"none\":\n {\n switch (explicitType) {\n case \"boolean\":\n this.flowEnumErrorBooleanMemberNotInitialized(init.loc, context);\n break;\n\n case \"number\":\n this.flowEnumErrorNumberMemberNotInitialized(init.loc, context);\n break;\n\n default:\n members.defaultedMembers.push(this.finishNode(memberNode, \"EnumDefaultedMember\"));\n }\n }\n }\n\n if (!this.match(8)) {\n this.expect(12);\n }\n }\n\n return {\n members,\n hasUnknownMembers\n };\n }\n\n flowEnumStringMembers(initializedMembers, defaultedMembers, {\n enumName\n }) {\n if (initializedMembers.length === 0) {\n return defaultedMembers;\n } else if (defaultedMembers.length === 0) {\n return initializedMembers;\n } else if (defaultedMembers.length > initializedMembers.length) {\n for (const member of initializedMembers) {\n this.flowEnumErrorStringMemberInconsistentlyInitailized(member, {\n enumName\n });\n }\n\n return defaultedMembers;\n } else {\n for (const member of defaultedMembers) {\n this.flowEnumErrorStringMemberInconsistentlyInitailized(member, {\n enumName\n });\n }\n\n return initializedMembers;\n }\n }\n\n flowEnumParseExplicitType({\n enumName\n }) {\n if (this.eatContextual(101)) {\n if (!tokenIsIdentifier(this.state.type)) {\n throw this.flowEnumErrorInvalidExplicitType(this.state.startLoc, {\n enumName,\n suppliedType: null\n });\n }\n\n const {\n value\n } = this.state;\n this.next();\n\n if (value !== \"boolean\" && value !== \"number\" && value !== \"string\" && value !== \"symbol\") {\n this.flowEnumErrorInvalidExplicitType(this.state.startLoc, {\n enumName,\n suppliedType: value\n });\n }\n\n return value;\n }\n\n return null;\n }\n\n flowEnumBody(node, id) {\n const enumName = id.name;\n const nameLoc = id.loc.start;\n const explicitType = this.flowEnumParseExplicitType({\n enumName\n });\n this.expect(5);\n const {\n members,\n hasUnknownMembers\n } = this.flowEnumMembers({\n enumName,\n explicitType\n });\n node.hasUnknownMembers = hasUnknownMembers;\n\n switch (explicitType) {\n case \"boolean\":\n node.explicitType = true;\n node.members = members.booleanMembers;\n this.expect(8);\n return this.finishNode(node, \"EnumBooleanBody\");\n\n case \"number\":\n node.explicitType = true;\n node.members = members.numberMembers;\n this.expect(8);\n return this.finishNode(node, \"EnumNumberBody\");\n\n case \"string\":\n node.explicitType = true;\n node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, {\n enumName\n });\n this.expect(8);\n return this.finishNode(node, \"EnumStringBody\");\n\n case \"symbol\":\n node.members = members.defaultedMembers;\n this.expect(8);\n return this.finishNode(node, \"EnumSymbolBody\");\n\n default:\n {\n const empty = () => {\n node.members = [];\n this.expect(8);\n return this.finishNode(node, \"EnumStringBody\");\n };\n\n node.explicitType = false;\n const boolsLen = members.booleanMembers.length;\n const numsLen = members.numberMembers.length;\n const strsLen = members.stringMembers.length;\n const defaultedLen = members.defaultedMembers.length;\n\n if (!boolsLen && !numsLen && !strsLen && !defaultedLen) {\n return empty();\n } else if (!boolsLen && !numsLen) {\n node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, {\n enumName\n });\n this.expect(8);\n return this.finishNode(node, \"EnumStringBody\");\n } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) {\n for (const member of members.defaultedMembers) {\n this.flowEnumErrorBooleanMemberNotInitialized(member.loc.start, {\n enumName,\n memberName: member.id.name\n });\n }\n\n node.members = members.booleanMembers;\n this.expect(8);\n return this.finishNode(node, \"EnumBooleanBody\");\n } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) {\n for (const member of members.defaultedMembers) {\n this.flowEnumErrorNumberMemberNotInitialized(member.loc.start, {\n enumName,\n memberName: member.id.name\n });\n }\n\n node.members = members.numberMembers;\n this.expect(8);\n return this.finishNode(node, \"EnumNumberBody\");\n } else {\n this.raise(FlowErrors.EnumInconsistentMemberValues, {\n at: nameLoc\n }, enumName);\n return empty();\n }\n }\n }\n }\n\n flowParseEnumDeclaration(node) {\n const id = this.parseIdentifier();\n node.id = id;\n node.body = this.flowEnumBody(this.startNode(), id);\n return this.finishNode(node, \"EnumDeclaration\");\n }\n\n isLookaheadToken_lt() {\n const next = this.nextTokenStart();\n\n if (this.input.charCodeAt(next) === 60) {\n const afterNext = this.input.charCodeAt(next + 1);\n return afterNext !== 60 && afterNext !== 61;\n }\n\n return false;\n }\n\n maybeUnwrapTypeCastExpression(node) {\n return node.type === \"TypeCastExpression\" ? node.expression : node;\n }\n\n});\n\nconst entities = {\n quot: \"\\u0022\",\n amp: \"&\",\n apos: \"\\u0027\",\n lt: \"<\",\n gt: \">\",\n nbsp: \"\\u00A0\",\n iexcl: \"\\u00A1\",\n cent: \"\\u00A2\",\n pound: \"\\u00A3\",\n curren: \"\\u00A4\",\n yen: \"\\u00A5\",\n brvbar: \"\\u00A6\",\n sect: \"\\u00A7\",\n uml: \"\\u00A8\",\n copy: \"\\u00A9\",\n ordf: \"\\u00AA\",\n laquo: \"\\u00AB\",\n not: \"\\u00AC\",\n shy: \"\\u00AD\",\n reg: \"\\u00AE\",\n macr: \"\\u00AF\",\n deg: \"\\u00B0\",\n plusmn: \"\\u00B1\",\n sup2: \"\\u00B2\",\n sup3: \"\\u00B3\",\n acute: \"\\u00B4\",\n micro: \"\\u00B5\",\n para: \"\\u00B6\",\n middot: \"\\u00B7\",\n cedil: \"\\u00B8\",\n sup1: \"\\u00B9\",\n ordm: \"\\u00BA\",\n raquo: \"\\u00BB\",\n frac14: \"\\u00BC\",\n frac12: \"\\u00BD\",\n frac34: \"\\u00BE\",\n iquest: \"\\u00BF\",\n Agrave: \"\\u00C0\",\n Aacute: \"\\u00C1\",\n Acirc: \"\\u00C2\",\n Atilde: \"\\u00C3\",\n Auml: \"\\u00C4\",\n Aring: \"\\u00C5\",\n AElig: \"\\u00C6\",\n Ccedil: \"\\u00C7\",\n Egrave: \"\\u00C8\",\n Eacute: \"\\u00C9\",\n Ecirc: \"\\u00CA\",\n Euml: \"\\u00CB\",\n Igrave: \"\\u00CC\",\n Iacute: \"\\u00CD\",\n Icirc: \"\\u00CE\",\n Iuml: \"\\u00CF\",\n ETH: \"\\u00D0\",\n Ntilde: \"\\u00D1\",\n Ograve: \"\\u00D2\",\n Oacute: \"\\u00D3\",\n Ocirc: \"\\u00D4\",\n Otilde: \"\\u00D5\",\n Ouml: \"\\u00D6\",\n times: \"\\u00D7\",\n Oslash: \"\\u00D8\",\n Ugrave: \"\\u00D9\",\n Uacute: \"\\u00DA\",\n Ucirc: \"\\u00DB\",\n Uuml: \"\\u00DC\",\n Yacute: \"\\u00DD\",\n THORN: \"\\u00DE\",\n szlig: \"\\u00DF\",\n agrave: \"\\u00E0\",\n aacute: \"\\u00E1\",\n acirc: \"\\u00E2\",\n atilde: \"\\u00E3\",\n auml: \"\\u00E4\",\n aring: \"\\u00E5\",\n aelig: \"\\u00E6\",\n ccedil: \"\\u00E7\",\n egrave: \"\\u00E8\",\n eacute: \"\\u00E9\",\n ecirc: \"\\u00EA\",\n euml: \"\\u00EB\",\n igrave: \"\\u00EC\",\n iacute: \"\\u00ED\",\n icirc: \"\\u00EE\",\n iuml: \"\\u00EF\",\n eth: \"\\u00F0\",\n ntilde: \"\\u00F1\",\n ograve: \"\\u00F2\",\n oacute: \"\\u00F3\",\n ocirc: \"\\u00F4\",\n otilde: \"\\u00F5\",\n ouml: \"\\u00F6\",\n divide: \"\\u00F7\",\n oslash: \"\\u00F8\",\n ugrave: \"\\u00F9\",\n uacute: \"\\u00FA\",\n ucirc: \"\\u00FB\",\n uuml: \"\\u00FC\",\n yacute: \"\\u00FD\",\n thorn: \"\\u00FE\",\n yuml: \"\\u00FF\",\n OElig: \"\\u0152\",\n oelig: \"\\u0153\",\n Scaron: \"\\u0160\",\n scaron: \"\\u0161\",\n Yuml: \"\\u0178\",\n fnof: \"\\u0192\",\n circ: \"\\u02C6\",\n tilde: \"\\u02DC\",\n Alpha: \"\\u0391\",\n Beta: \"\\u0392\",\n Gamma: \"\\u0393\",\n Delta: \"\\u0394\",\n Epsilon: \"\\u0395\",\n Zeta: \"\\u0396\",\n Eta: \"\\u0397\",\n Theta: \"\\u0398\",\n Iota: \"\\u0399\",\n Kappa: \"\\u039A\",\n Lambda: \"\\u039B\",\n Mu: \"\\u039C\",\n Nu: \"\\u039D\",\n Xi: \"\\u039E\",\n Omicron: \"\\u039F\",\n Pi: \"\\u03A0\",\n Rho: \"\\u03A1\",\n Sigma: \"\\u03A3\",\n Tau: \"\\u03A4\",\n Upsilon: \"\\u03A5\",\n Phi: \"\\u03A6\",\n Chi: \"\\u03A7\",\n Psi: \"\\u03A8\",\n Omega: \"\\u03A9\",\n alpha: \"\\u03B1\",\n beta: \"\\u03B2\",\n gamma: \"\\u03B3\",\n delta: \"\\u03B4\",\n epsilon: \"\\u03B5\",\n zeta: \"\\u03B6\",\n eta: \"\\u03B7\",\n theta: \"\\u03B8\",\n iota: \"\\u03B9\",\n kappa: \"\\u03BA\",\n lambda: \"\\u03BB\",\n mu: \"\\u03BC\",\n nu: \"\\u03BD\",\n xi: \"\\u03BE\",\n omicron: \"\\u03BF\",\n pi: \"\\u03C0\",\n rho: \"\\u03C1\",\n sigmaf: \"\\u03C2\",\n sigma: \"\\u03C3\",\n tau: \"\\u03C4\",\n upsilon: \"\\u03C5\",\n phi: \"\\u03C6\",\n chi: \"\\u03C7\",\n psi: \"\\u03C8\",\n omega: \"\\u03C9\",\n thetasym: \"\\u03D1\",\n upsih: \"\\u03D2\",\n piv: \"\\u03D6\",\n ensp: \"\\u2002\",\n emsp: \"\\u2003\",\n thinsp: \"\\u2009\",\n zwnj: \"\\u200C\",\n zwj: \"\\u200D\",\n lrm: \"\\u200E\",\n rlm: \"\\u200F\",\n ndash: \"\\u2013\",\n mdash: \"\\u2014\",\n lsquo: \"\\u2018\",\n rsquo: \"\\u2019\",\n sbquo: \"\\u201A\",\n ldquo: \"\\u201C\",\n rdquo: \"\\u201D\",\n bdquo: \"\\u201E\",\n dagger: \"\\u2020\",\n Dagger: \"\\u2021\",\n bull: \"\\u2022\",\n hellip: \"\\u2026\",\n permil: \"\\u2030\",\n prime: \"\\u2032\",\n Prime: \"\\u2033\",\n lsaquo: \"\\u2039\",\n rsaquo: \"\\u203A\",\n oline: \"\\u203E\",\n frasl: \"\\u2044\",\n euro: \"\\u20AC\",\n image: \"\\u2111\",\n weierp: \"\\u2118\",\n real: \"\\u211C\",\n trade: \"\\u2122\",\n alefsym: \"\\u2135\",\n larr: \"\\u2190\",\n uarr: \"\\u2191\",\n rarr: \"\\u2192\",\n darr: \"\\u2193\",\n harr: \"\\u2194\",\n crarr: \"\\u21B5\",\n lArr: \"\\u21D0\",\n uArr: \"\\u21D1\",\n rArr: \"\\u21D2\",\n dArr: \"\\u21D3\",\n hArr: \"\\u21D4\",\n forall: \"\\u2200\",\n part: \"\\u2202\",\n exist: \"\\u2203\",\n empty: \"\\u2205\",\n nabla: \"\\u2207\",\n isin: \"\\u2208\",\n notin: \"\\u2209\",\n ni: \"\\u220B\",\n prod: \"\\u220F\",\n sum: \"\\u2211\",\n minus: \"\\u2212\",\n lowast: \"\\u2217\",\n radic: \"\\u221A\",\n prop: \"\\u221D\",\n infin: \"\\u221E\",\n ang: \"\\u2220\",\n and: \"\\u2227\",\n or: \"\\u2228\",\n cap: \"\\u2229\",\n cup: \"\\u222A\",\n int: \"\\u222B\",\n there4: \"\\u2234\",\n sim: \"\\u223C\",\n cong: \"\\u2245\",\n asymp: \"\\u2248\",\n ne: \"\\u2260\",\n equiv: \"\\u2261\",\n le: \"\\u2264\",\n ge: \"\\u2265\",\n sub: \"\\u2282\",\n sup: \"\\u2283\",\n nsub: \"\\u2284\",\n sube: \"\\u2286\",\n supe: \"\\u2287\",\n oplus: \"\\u2295\",\n otimes: \"\\u2297\",\n perp: \"\\u22A5\",\n sdot: \"\\u22C5\",\n lceil: \"\\u2308\",\n rceil: \"\\u2309\",\n lfloor: \"\\u230A\",\n rfloor: \"\\u230B\",\n lang: \"\\u2329\",\n rang: \"\\u232A\",\n loz: \"\\u25CA\",\n spades: \"\\u2660\",\n clubs: \"\\u2663\",\n hearts: \"\\u2665\",\n diams: \"\\u2666\"\n};\n\nconst HEX_NUMBER = /^[\\da-fA-F]+$/;\nconst DECIMAL_NUMBER = /^\\d+$/;\nconst JsxErrors = makeErrorTemplates({\n AttributeIsEmpty: \"JSX attributes must only be assigned a non-empty expression.\",\n MissingClosingTagElement: \"Expected corresponding JSX closing tag for <%0>.\",\n MissingClosingTagFragment: \"Expected corresponding JSX closing tag for <>.\",\n UnexpectedSequenceExpression: \"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?\",\n UnsupportedJsxValue: \"JSX value should be either an expression or a quoted JSX text.\",\n UnterminatedJsxContent: \"Unterminated JSX contents.\",\n UnwrappedAdjacentJSXElements: \"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?\"\n}, ErrorCodes.SyntaxError, \"jsx\");\n\nfunction isFragment(object) {\n return object ? object.type === \"JSXOpeningFragment\" || object.type === \"JSXClosingFragment\" : false;\n}\n\nfunction getQualifiedJSXName(object) {\n if (object.type === \"JSXIdentifier\") {\n return object.name;\n }\n\n if (object.type === \"JSXNamespacedName\") {\n return object.namespace.name + \":\" + object.name.name;\n }\n\n if (object.type === \"JSXMemberExpression\") {\n return getQualifiedJSXName(object.object) + \".\" + getQualifiedJSXName(object.property);\n }\n\n throw new Error(\"Node had unexpected type: \" + object.type);\n}\n\nvar jsx = (superClass => class extends superClass {\n jsxReadToken() {\n let out = \"\";\n let chunkStart = this.state.pos;\n\n for (;;) {\n if (this.state.pos >= this.length) {\n throw this.raise(JsxErrors.UnterminatedJsxContent, {\n at: this.state.startLoc\n });\n }\n\n const ch = this.input.charCodeAt(this.state.pos);\n\n switch (ch) {\n case 60:\n case 123:\n if (this.state.pos === this.state.start) {\n if (ch === 60 && this.state.canStartJSXElement) {\n ++this.state.pos;\n return this.finishToken(138);\n }\n\n return super.getTokenFromCode(ch);\n }\n\n out += this.input.slice(chunkStart, this.state.pos);\n return this.finishToken(137, out);\n\n case 38:\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadEntity();\n chunkStart = this.state.pos;\n break;\n\n case 62:\n case 125:\n\n default:\n if (isNewLine(ch)) {\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadNewLine(true);\n chunkStart = this.state.pos;\n } else {\n ++this.state.pos;\n }\n\n }\n }\n }\n\n jsxReadNewLine(normalizeCRLF) {\n const ch = this.input.charCodeAt(this.state.pos);\n let out;\n ++this.state.pos;\n\n if (ch === 13 && this.input.charCodeAt(this.state.pos) === 10) {\n ++this.state.pos;\n out = normalizeCRLF ? \"\\n\" : \"\\r\\n\";\n } else {\n out = String.fromCharCode(ch);\n }\n\n ++this.state.curLine;\n this.state.lineStart = this.state.pos;\n return out;\n }\n\n jsxReadString(quote) {\n let out = \"\";\n let chunkStart = ++this.state.pos;\n\n for (;;) {\n if (this.state.pos >= this.length) {\n throw this.raise(ErrorMessages.UnterminatedString, {\n at: this.state.startLoc\n });\n }\n\n const ch = this.input.charCodeAt(this.state.pos);\n if (ch === quote) break;\n\n if (ch === 38) {\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadEntity();\n chunkStart = this.state.pos;\n } else if (isNewLine(ch)) {\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadNewLine(false);\n chunkStart = this.state.pos;\n } else {\n ++this.state.pos;\n }\n }\n\n out += this.input.slice(chunkStart, this.state.pos++);\n return this.finishToken(129, out);\n }\n\n jsxReadEntity() {\n let str = \"\";\n let count = 0;\n let entity;\n let ch = this.input[this.state.pos];\n const startPos = ++this.state.pos;\n\n while (this.state.pos < this.length && count++ < 10) {\n ch = this.input[this.state.pos++];\n\n if (ch === \";\") {\n if (str[0] === \"#\") {\n if (str[1] === \"x\") {\n str = str.substr(2);\n\n if (HEX_NUMBER.test(str)) {\n entity = String.fromCodePoint(parseInt(str, 16));\n }\n } else {\n str = str.substr(1);\n\n if (DECIMAL_NUMBER.test(str)) {\n entity = String.fromCodePoint(parseInt(str, 10));\n }\n }\n } else {\n entity = entities[str];\n }\n\n break;\n }\n\n str += ch;\n }\n\n if (!entity) {\n this.state.pos = startPos;\n return \"&\";\n }\n\n return entity;\n }\n\n jsxReadWord() {\n let ch;\n const start = this.state.pos;\n\n do {\n ch = this.input.charCodeAt(++this.state.pos);\n } while (isIdentifierChar(ch) || ch === 45);\n\n return this.finishToken(136, this.input.slice(start, this.state.pos));\n }\n\n jsxParseIdentifier() {\n const node = this.startNode();\n\n if (this.match(136)) {\n node.name = this.state.value;\n } else if (tokenIsKeyword(this.state.type)) {\n node.name = tokenLabelName(this.state.type);\n } else {\n this.unexpected();\n }\n\n this.next();\n return this.finishNode(node, \"JSXIdentifier\");\n }\n\n jsxParseNamespacedName() {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const name = this.jsxParseIdentifier();\n if (!this.eat(14)) return name;\n const node = this.startNodeAt(startPos, startLoc);\n node.namespace = name;\n node.name = this.jsxParseIdentifier();\n return this.finishNode(node, \"JSXNamespacedName\");\n }\n\n jsxParseElementName() {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n let node = this.jsxParseNamespacedName();\n\n if (node.type === \"JSXNamespacedName\") {\n return node;\n }\n\n while (this.eat(16)) {\n const newNode = this.startNodeAt(startPos, startLoc);\n newNode.object = node;\n newNode.property = this.jsxParseIdentifier();\n node = this.finishNode(newNode, \"JSXMemberExpression\");\n }\n\n return node;\n }\n\n jsxParseAttributeValue() {\n let node;\n\n switch (this.state.type) {\n case 5:\n node = this.startNode();\n this.setContext(types.brace);\n this.next();\n node = this.jsxParseExpressionContainer(node, types.j_oTag);\n\n if (node.expression.type === \"JSXEmptyExpression\") {\n this.raise(JsxErrors.AttributeIsEmpty, {\n node\n });\n }\n\n return node;\n\n case 138:\n case 129:\n return this.parseExprAtom();\n\n default:\n throw this.raise(JsxErrors.UnsupportedJsxValue, {\n at: this.state.startLoc\n });\n }\n }\n\n jsxParseEmptyExpression() {\n const node = this.startNodeAt(this.state.lastTokEndLoc.index, this.state.lastTokEndLoc);\n return this.finishNodeAt(node, \"JSXEmptyExpression\", this.state.startLoc);\n }\n\n jsxParseSpreadChild(node) {\n this.next();\n node.expression = this.parseExpression();\n this.setContext(types.j_oTag);\n this.expect(8);\n return this.finishNode(node, \"JSXSpreadChild\");\n }\n\n jsxParseExpressionContainer(node, previousContext) {\n if (this.match(8)) {\n node.expression = this.jsxParseEmptyExpression();\n } else {\n const expression = this.parseExpression();\n node.expression = expression;\n }\n\n this.setContext(previousContext);\n this.expect(8);\n return this.finishNode(node, \"JSXExpressionContainer\");\n }\n\n jsxParseAttribute() {\n const node = this.startNode();\n\n if (this.match(5)) {\n this.setContext(types.brace);\n this.next();\n this.expect(21);\n node.argument = this.parseMaybeAssignAllowIn();\n this.setContext(types.j_oTag);\n this.expect(8);\n return this.finishNode(node, \"JSXSpreadAttribute\");\n }\n\n node.name = this.jsxParseNamespacedName();\n node.value = this.eat(29) ? this.jsxParseAttributeValue() : null;\n return this.finishNode(node, \"JSXAttribute\");\n }\n\n jsxParseOpeningElementAt(startPos, startLoc) {\n const node = this.startNodeAt(startPos, startLoc);\n\n if (this.match(139)) {\n this.expect(139);\n return this.finishNode(node, \"JSXOpeningFragment\");\n }\n\n node.name = this.jsxParseElementName();\n return this.jsxParseOpeningElementAfterName(node);\n }\n\n jsxParseOpeningElementAfterName(node) {\n const attributes = [];\n\n while (!this.match(56) && !this.match(139)) {\n attributes.push(this.jsxParseAttribute());\n }\n\n node.attributes = attributes;\n node.selfClosing = this.eat(56);\n this.expect(139);\n return this.finishNode(node, \"JSXOpeningElement\");\n }\n\n jsxParseClosingElementAt(startPos, startLoc) {\n const node = this.startNodeAt(startPos, startLoc);\n\n if (this.match(139)) {\n this.expect(139);\n return this.finishNode(node, \"JSXClosingFragment\");\n }\n\n node.name = this.jsxParseElementName();\n this.expect(139);\n return this.finishNode(node, \"JSXClosingElement\");\n }\n\n jsxParseElementAt(startPos, startLoc) {\n const node = this.startNodeAt(startPos, startLoc);\n const children = [];\n const openingElement = this.jsxParseOpeningElementAt(startPos, startLoc);\n let closingElement = null;\n\n if (!openingElement.selfClosing) {\n contents: for (;;) {\n switch (this.state.type) {\n case 138:\n startPos = this.state.start;\n startLoc = this.state.startLoc;\n this.next();\n\n if (this.eat(56)) {\n closingElement = this.jsxParseClosingElementAt(startPos, startLoc);\n break contents;\n }\n\n children.push(this.jsxParseElementAt(startPos, startLoc));\n break;\n\n case 137:\n children.push(this.parseExprAtom());\n break;\n\n case 5:\n {\n const node = this.startNode();\n this.setContext(types.brace);\n this.next();\n\n if (this.match(21)) {\n children.push(this.jsxParseSpreadChild(node));\n } else {\n children.push(this.jsxParseExpressionContainer(node, types.j_expr));\n }\n\n break;\n }\n\n default:\n throw this.unexpected();\n }\n }\n\n if (isFragment(openingElement) && !isFragment(closingElement) && closingElement !== null) {\n this.raise(JsxErrors.MissingClosingTagFragment, {\n node: closingElement\n });\n } else if (!isFragment(openingElement) && isFragment(closingElement)) {\n this.raise(JsxErrors.MissingClosingTagElement, {\n node: closingElement\n }, getQualifiedJSXName(openingElement.name));\n } else if (!isFragment(openingElement) && !isFragment(closingElement)) {\n if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) {\n this.raise(JsxErrors.MissingClosingTagElement, {\n node: closingElement\n }, getQualifiedJSXName(openingElement.name));\n }\n }\n }\n\n if (isFragment(openingElement)) {\n node.openingFragment = openingElement;\n node.closingFragment = closingElement;\n } else {\n node.openingElement = openingElement;\n node.closingElement = closingElement;\n }\n\n node.children = children;\n\n if (this.match(47)) {\n throw this.raise(JsxErrors.UnwrappedAdjacentJSXElements, {\n at: this.state.startLoc\n });\n }\n\n return isFragment(openingElement) ? this.finishNode(node, \"JSXFragment\") : this.finishNode(node, \"JSXElement\");\n }\n\n jsxParseElement() {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n this.next();\n return this.jsxParseElementAt(startPos, startLoc);\n }\n\n setContext(newContext) {\n const {\n context\n } = this.state;\n context[context.length - 1] = newContext;\n }\n\n parseExprAtom(refExpressionErrors) {\n if (this.match(137)) {\n return this.parseLiteral(this.state.value, \"JSXText\");\n } else if (this.match(138)) {\n return this.jsxParseElement();\n } else if (this.match(47) && this.input.charCodeAt(this.state.pos) !== 33) {\n this.replaceToken(138);\n return this.jsxParseElement();\n } else {\n return super.parseExprAtom(refExpressionErrors);\n }\n }\n\n skipSpace() {\n const curContext = this.curContext();\n if (!curContext.preserveSpace) super.skipSpace();\n }\n\n getTokenFromCode(code) {\n const context = this.curContext();\n\n if (context === types.j_expr) {\n return this.jsxReadToken();\n }\n\n if (context === types.j_oTag || context === types.j_cTag) {\n if (isIdentifierStart(code)) {\n return this.jsxReadWord();\n }\n\n if (code === 62) {\n ++this.state.pos;\n return this.finishToken(139);\n }\n\n if ((code === 34 || code === 39) && context === types.j_oTag) {\n return this.jsxReadString(code);\n }\n }\n\n if (code === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) {\n ++this.state.pos;\n return this.finishToken(138);\n }\n\n return super.getTokenFromCode(code);\n }\n\n updateContext(prevType) {\n const {\n context,\n type\n } = this.state;\n\n if (type === 56 && prevType === 138) {\n context.splice(-2, 2, types.j_cTag);\n this.state.canStartJSXElement = false;\n } else if (type === 138) {\n context.push(types.j_oTag);\n } else if (type === 139) {\n const out = context[context.length - 1];\n\n if (out === types.j_oTag && prevType === 56 || out === types.j_cTag) {\n context.pop();\n this.state.canStartJSXElement = context[context.length - 1] === types.j_expr;\n } else {\n this.setContext(types.j_expr);\n this.state.canStartJSXElement = true;\n }\n } else {\n this.state.canStartJSXElement = tokenComesBeforeExpression(type);\n }\n }\n\n});\n\nclass TypeScriptScope extends Scope {\n constructor(...args) {\n super(...args);\n this.types = new Set();\n this.enums = new Set();\n this.constEnums = new Set();\n this.classes = new Set();\n this.exportOnlyBindings = new Set();\n }\n\n}\n\nclass TypeScriptScopeHandler extends ScopeHandler {\n createScope(flags) {\n return new TypeScriptScope(flags);\n }\n\n declareName(name, bindingType, loc) {\n const scope = this.currentScope();\n\n if (bindingType & BIND_FLAGS_TS_EXPORT_ONLY) {\n this.maybeExportDefined(scope, name);\n scope.exportOnlyBindings.add(name);\n return;\n }\n\n super.declareName(...arguments);\n\n if (bindingType & BIND_KIND_TYPE) {\n if (!(bindingType & BIND_KIND_VALUE)) {\n this.checkRedeclarationInScope(scope, name, bindingType, loc);\n this.maybeExportDefined(scope, name);\n }\n\n scope.types.add(name);\n }\n\n if (bindingType & BIND_FLAGS_TS_ENUM) scope.enums.add(name);\n if (bindingType & BIND_FLAGS_TS_CONST_ENUM) scope.constEnums.add(name);\n if (bindingType & BIND_FLAGS_CLASS) scope.classes.add(name);\n }\n\n isRedeclaredInScope(scope, name, bindingType) {\n if (scope.enums.has(name)) {\n if (bindingType & BIND_FLAGS_TS_ENUM) {\n const isConst = !!(bindingType & BIND_FLAGS_TS_CONST_ENUM);\n const wasConst = scope.constEnums.has(name);\n return isConst !== wasConst;\n }\n\n return true;\n }\n\n if (bindingType & BIND_FLAGS_CLASS && scope.classes.has(name)) {\n if (scope.lexical.has(name)) {\n return !!(bindingType & BIND_KIND_VALUE);\n } else {\n return false;\n }\n }\n\n if (bindingType & BIND_KIND_TYPE && scope.types.has(name)) {\n return true;\n }\n\n return super.isRedeclaredInScope(...arguments);\n }\n\n checkLocalExport(id) {\n const topLevelScope = this.scopeStack[0];\n const {\n name\n } = id;\n\n if (!topLevelScope.types.has(name) && !topLevelScope.exportOnlyBindings.has(name)) {\n super.checkLocalExport(id);\n }\n }\n\n}\n\nfunction nonNull(x) {\n if (x == null) {\n throw new Error(`Unexpected ${x} value.`);\n }\n\n return x;\n}\n\nfunction assert(x) {\n if (!x) {\n throw new Error(\"Assert fail\");\n }\n}\n\nconst TSErrors = makeErrorTemplates({\n AbstractMethodHasImplementation: \"Method '%0' cannot have an implementation because it is marked abstract.\",\n AbstractPropertyHasInitializer: \"Property '%0' cannot have an initializer because it is marked abstract.\",\n AccesorCannotDeclareThisParameter: \"'get' and 'set' accessors cannot declare 'this' parameters.\",\n AccesorCannotHaveTypeParameters: \"An accessor cannot have type parameters.\",\n ClassMethodHasDeclare: \"Class methods cannot have the 'declare' modifier.\",\n ClassMethodHasReadonly: \"Class methods cannot have the 'readonly' modifier.\",\n ConstructorHasTypeParameters: \"Type parameters cannot appear on a constructor declaration.\",\n DeclareAccessor: \"'declare' is not allowed in %0ters.\",\n DeclareClassFieldHasInitializer: \"Initializers are not allowed in ambient contexts.\",\n DeclareFunctionHasImplementation: \"An implementation cannot be declared in ambient contexts.\",\n DuplicateAccessibilityModifier: \"Accessibility modifier already seen.\",\n DuplicateModifier: \"Duplicate modifier: '%0'.\",\n EmptyHeritageClauseType: \"'%0' list cannot be empty.\",\n EmptyTypeArguments: \"Type argument list cannot be empty.\",\n EmptyTypeParameters: \"Type parameter list cannot be empty.\",\n ExpectedAmbientAfterExportDeclare: \"'export declare' must be followed by an ambient declaration.\",\n ImportAliasHasImportType: \"An import alias can not use 'import type'.\",\n IncompatibleModifiers: \"'%0' modifier cannot be used with '%1' modifier.\",\n IndexSignatureHasAbstract: \"Index signatures cannot have the 'abstract' modifier.\",\n IndexSignatureHasAccessibility: \"Index signatures cannot have an accessibility modifier ('%0').\",\n IndexSignatureHasDeclare: \"Index signatures cannot have the 'declare' modifier.\",\n IndexSignatureHasOverride: \"'override' modifier cannot appear on an index signature.\",\n IndexSignatureHasStatic: \"Index signatures cannot have the 'static' modifier.\",\n InvalidModifierOnTypeMember: \"'%0' modifier cannot appear on a type member.\",\n InvalidModifiersOrder: \"'%0' modifier must precede '%1' modifier.\",\n InvalidTupleMemberLabel: \"Tuple members must be labeled with a simple identifier.\",\n MissingInterfaceName: \"'interface' declarations must be followed by an identifier.\",\n MixedLabeledAndUnlabeledElements: \"Tuple members must all have names or all not have names.\",\n NonAbstractClassHasAbstractMethod: \"Abstract methods can only appear within an abstract class.\",\n NonClassMethodPropertyHasAbstractModifer: \"'abstract' modifier can only appear on a class, method, or property declaration.\",\n OptionalTypeBeforeRequired: \"A required element cannot follow an optional element.\",\n OverrideNotInSubClass: \"This member cannot have an 'override' modifier because its containing class does not extend another class.\",\n PatternIsOptional: \"A binding pattern parameter cannot be optional in an implementation signature.\",\n PrivateElementHasAbstract: \"Private elements cannot have the 'abstract' modifier.\",\n PrivateElementHasAccessibility: \"Private elements cannot have an accessibility modifier ('%0').\",\n ReadonlyForMethodSignature: \"'readonly' modifier can only appear on a property declaration or index signature.\",\n ReservedArrowTypeParam: \"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.\",\n ReservedTypeAssertion: \"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.\",\n SetAccesorCannotHaveOptionalParameter: \"A 'set' accessor cannot have an optional parameter.\",\n SetAccesorCannotHaveRestParameter: \"A 'set' accessor cannot have rest parameter.\",\n SetAccesorCannotHaveReturnType: \"A 'set' accessor cannot have a return type annotation.\",\n StaticBlockCannotHaveModifier: \"Static class blocks cannot have any modifier.\",\n TypeAnnotationAfterAssign: \"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.\",\n TypeImportCannotSpecifyDefaultAndNamed: \"A type-only import can specify a default import or named bindings, but not both.\",\n TypeModifierIsUsedInTypeExports: \"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.\",\n TypeModifierIsUsedInTypeImports: \"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.\",\n UnexpectedParameterModifier: \"A parameter property is only allowed in a constructor implementation.\",\n UnexpectedReadonly: \"'readonly' type modifier is only permitted on array and tuple literal types.\",\n UnexpectedTypeAnnotation: \"Did not expect a type annotation here.\",\n UnexpectedTypeCastInParameter: \"Unexpected type cast in parameter position.\",\n UnsupportedImportTypeArgument: \"Argument in a type import must be a string literal.\",\n UnsupportedParameterPropertyKind: \"A parameter property may not be declared using a binding pattern.\",\n UnsupportedSignatureParameterKind: \"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0.\"\n}, ErrorCodes.SyntaxError, \"typescript\");\n\nfunction keywordTypeFromName(value) {\n switch (value) {\n case \"any\":\n return \"TSAnyKeyword\";\n\n case \"boolean\":\n return \"TSBooleanKeyword\";\n\n case \"bigint\":\n return \"TSBigIntKeyword\";\n\n case \"never\":\n return \"TSNeverKeyword\";\n\n case \"number\":\n return \"TSNumberKeyword\";\n\n case \"object\":\n return \"TSObjectKeyword\";\n\n case \"string\":\n return \"TSStringKeyword\";\n\n case \"symbol\":\n return \"TSSymbolKeyword\";\n\n case \"undefined\":\n return \"TSUndefinedKeyword\";\n\n case \"unknown\":\n return \"TSUnknownKeyword\";\n\n default:\n return undefined;\n }\n}\n\nfunction tsIsAccessModifier(modifier) {\n return modifier === \"private\" || modifier === \"public\" || modifier === \"protected\";\n}\n\nvar typescript = (superClass => class extends superClass {\n getScopeHandler() {\n return TypeScriptScopeHandler;\n }\n\n tsIsIdentifier() {\n return tokenIsIdentifier(this.state.type);\n }\n\n tsTokenCanFollowModifier() {\n return (this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(134) || this.isLiteralPropertyName()) && !this.hasPrecedingLineBreak();\n }\n\n tsNextTokenCanFollowModifier() {\n this.next();\n return this.tsTokenCanFollowModifier();\n }\n\n tsParseModifier(allowedModifiers, stopOnStartOfClassStaticBlock) {\n if (!tokenIsIdentifier(this.state.type)) {\n return undefined;\n }\n\n const modifier = this.state.value;\n\n if (allowedModifiers.indexOf(modifier) !== -1) {\n if (stopOnStartOfClassStaticBlock && this.tsIsStartOfStaticBlocks()) {\n return undefined;\n }\n\n if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))) {\n return modifier;\n }\n }\n\n return undefined;\n }\n\n tsParseModifiers(modified, allowedModifiers, disallowedModifiers, errorTemplate, stopOnStartOfClassStaticBlock) {\n const enforceOrder = (loc, modifier, before, after) => {\n if (modifier === before && modified[after]) {\n this.raise(TSErrors.InvalidModifiersOrder, {\n at: loc\n }, before, after);\n }\n };\n\n const incompatible = (loc, modifier, mod1, mod2) => {\n if (modified[mod1] && modifier === mod2 || modified[mod2] && modifier === mod1) {\n this.raise(TSErrors.IncompatibleModifiers, {\n at: loc\n }, mod1, mod2);\n }\n };\n\n for (;;) {\n const {\n startLoc\n } = this.state;\n const modifier = this.tsParseModifier(allowedModifiers.concat(disallowedModifiers != null ? disallowedModifiers : []), stopOnStartOfClassStaticBlock);\n if (!modifier) break;\n\n if (tsIsAccessModifier(modifier)) {\n if (modified.accessibility) {\n this.raise(TSErrors.DuplicateAccessibilityModifier, {\n at: startLoc\n });\n } else {\n enforceOrder(startLoc, modifier, modifier, \"override\");\n enforceOrder(startLoc, modifier, modifier, \"static\");\n enforceOrder(startLoc, modifier, modifier, \"readonly\");\n modified.accessibility = modifier;\n }\n } else {\n if (Object.hasOwnProperty.call(modified, modifier)) {\n this.raise(TSErrors.DuplicateModifier, {\n at: startLoc\n }, modifier);\n } else {\n enforceOrder(startLoc, modifier, \"static\", \"readonly\");\n enforceOrder(startLoc, modifier, \"static\", \"override\");\n enforceOrder(startLoc, modifier, \"override\", \"readonly\");\n enforceOrder(startLoc, modifier, \"abstract\", \"override\");\n incompatible(startLoc, modifier, \"declare\", \"override\");\n incompatible(startLoc, modifier, \"static\", \"abstract\");\n }\n\n modified[modifier] = true;\n }\n\n if (disallowedModifiers != null && disallowedModifiers.includes(modifier)) {\n this.raise(errorTemplate, {\n at: startLoc\n }, modifier);\n }\n }\n }\n\n tsIsListTerminator(kind) {\n switch (kind) {\n case \"EnumMembers\":\n case \"TypeMembers\":\n return this.match(8);\n\n case \"HeritageClauseElement\":\n return this.match(5);\n\n case \"TupleElementTypes\":\n return this.match(3);\n\n case \"TypeParametersOrArguments\":\n return this.match(48);\n }\n\n throw new Error(\"Unreachable\");\n }\n\n tsParseList(kind, parseElement) {\n const result = [];\n\n while (!this.tsIsListTerminator(kind)) {\n result.push(parseElement());\n }\n\n return result;\n }\n\n tsParseDelimitedList(kind, parseElement, refTrailingCommaPos) {\n return nonNull(this.tsParseDelimitedListWorker(kind, parseElement, true, refTrailingCommaPos));\n }\n\n tsParseDelimitedListWorker(kind, parseElement, expectSuccess, refTrailingCommaPos) {\n const result = [];\n let trailingCommaPos = -1;\n\n for (;;) {\n if (this.tsIsListTerminator(kind)) {\n break;\n }\n\n trailingCommaPos = -1;\n const element = parseElement();\n\n if (element == null) {\n return undefined;\n }\n\n result.push(element);\n\n if (this.eat(12)) {\n trailingCommaPos = this.state.lastTokStart;\n continue;\n }\n\n if (this.tsIsListTerminator(kind)) {\n break;\n }\n\n if (expectSuccess) {\n this.expect(12);\n }\n\n return undefined;\n }\n\n if (refTrailingCommaPos) {\n refTrailingCommaPos.value = trailingCommaPos;\n }\n\n return result;\n }\n\n tsParseBracketedList(kind, parseElement, bracket, skipFirstToken, refTrailingCommaPos) {\n if (!skipFirstToken) {\n if (bracket) {\n this.expect(0);\n } else {\n this.expect(47);\n }\n }\n\n const result = this.tsParseDelimitedList(kind, parseElement, refTrailingCommaPos);\n\n if (bracket) {\n this.expect(3);\n } else {\n this.expect(48);\n }\n\n return result;\n }\n\n tsParseImportType() {\n const node = this.startNode();\n this.expect(83);\n this.expect(10);\n\n if (!this.match(129)) {\n this.raise(TSErrors.UnsupportedImportTypeArgument, {\n at: this.state.startLoc\n });\n }\n\n node.argument = this.parseExprAtom();\n this.expect(11);\n\n if (this.eat(16)) {\n node.qualifier = this.tsParseEntityName(true);\n }\n\n if (this.match(47)) {\n node.typeParameters = this.tsParseTypeArguments();\n }\n\n return this.finishNode(node, \"TSImportType\");\n }\n\n tsParseEntityName(allowReservedWords) {\n let entity = this.parseIdentifier();\n\n while (this.eat(16)) {\n const node = this.startNodeAtNode(entity);\n node.left = entity;\n node.right = this.parseIdentifier(allowReservedWords);\n entity = this.finishNode(node, \"TSQualifiedName\");\n }\n\n return entity;\n }\n\n tsParseTypeReference() {\n const node = this.startNode();\n node.typeName = this.tsParseEntityName(false);\n\n if (!this.hasPrecedingLineBreak() && this.match(47)) {\n node.typeParameters = this.tsParseTypeArguments();\n }\n\n return this.finishNode(node, \"TSTypeReference\");\n }\n\n tsParseThisTypePredicate(lhs) {\n this.next();\n const node = this.startNodeAtNode(lhs);\n node.parameterName = lhs;\n node.typeAnnotation = this.tsParseTypeAnnotation(false);\n node.asserts = false;\n return this.finishNode(node, \"TSTypePredicate\");\n }\n\n tsParseThisTypeNode() {\n const node = this.startNode();\n this.next();\n return this.finishNode(node, \"TSThisType\");\n }\n\n tsParseTypeQuery() {\n const node = this.startNode();\n this.expect(87);\n\n if (this.match(83)) {\n node.exprName = this.tsParseImportType();\n } else {\n node.exprName = this.tsParseEntityName(true);\n }\n\n return this.finishNode(node, \"TSTypeQuery\");\n }\n\n tsParseTypeParameter() {\n const node = this.startNode();\n node.name = this.tsParseTypeParameterName();\n node.constraint = this.tsEatThenParseType(81);\n node.default = this.tsEatThenParseType(29);\n return this.finishNode(node, \"TSTypeParameter\");\n }\n\n tsTryParseTypeParameters() {\n if (this.match(47)) {\n return this.tsParseTypeParameters();\n }\n }\n\n tsParseTypeParameters() {\n const node = this.startNode();\n\n if (this.match(47) || this.match(138)) {\n this.next();\n } else {\n this.unexpected();\n }\n\n const refTrailingCommaPos = {\n value: -1\n };\n node.params = this.tsParseBracketedList(\"TypeParametersOrArguments\", this.tsParseTypeParameter.bind(this), false, true, refTrailingCommaPos);\n\n if (node.params.length === 0) {\n this.raise(TSErrors.EmptyTypeParameters, {\n node\n });\n }\n\n if (refTrailingCommaPos.value !== -1) {\n this.addExtra(node, \"trailingComma\", refTrailingCommaPos.value);\n }\n\n return this.finishNode(node, \"TSTypeParameterDeclaration\");\n }\n\n tsTryNextParseConstantContext() {\n if (this.lookahead().type === 75) {\n this.next();\n return this.tsParseTypeReference();\n }\n\n return null;\n }\n\n tsFillSignature(returnToken, signature) {\n const returnTokenRequired = returnToken === 19;\n const paramsKey = \"parameters\";\n const returnTypeKey = \"typeAnnotation\";\n signature.typeParameters = this.tsTryParseTypeParameters();\n this.expect(10);\n signature[paramsKey] = this.tsParseBindingListForSignature();\n\n if (returnTokenRequired) {\n signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken);\n } else if (this.match(returnToken)) {\n signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken);\n }\n }\n\n tsParseBindingListForSignature() {\n return this.parseBindingList(11, 41).map(pattern => {\n if (pattern.type !== \"Identifier\" && pattern.type !== \"RestElement\" && pattern.type !== \"ObjectPattern\" && pattern.type !== \"ArrayPattern\") {\n this.raise(TSErrors.UnsupportedSignatureParameterKind, {\n node: pattern\n }, pattern.type);\n }\n\n return pattern;\n });\n }\n\n tsParseTypeMemberSemicolon() {\n if (!this.eat(12) && !this.isLineTerminator()) {\n this.expect(13);\n }\n }\n\n tsParseSignatureMember(kind, node) {\n this.tsFillSignature(14, node);\n this.tsParseTypeMemberSemicolon();\n return this.finishNode(node, kind);\n }\n\n tsIsUnambiguouslyIndexSignature() {\n this.next();\n\n if (tokenIsIdentifier(this.state.type)) {\n this.next();\n return this.match(14);\n }\n\n return false;\n }\n\n tsTryParseIndexSignature(node) {\n if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) {\n return undefined;\n }\n\n this.expect(0);\n const id = this.parseIdentifier();\n id.typeAnnotation = this.tsParseTypeAnnotation();\n this.resetEndLocation(id);\n this.expect(3);\n node.parameters = [id];\n const type = this.tsTryParseTypeAnnotation();\n if (type) node.typeAnnotation = type;\n this.tsParseTypeMemberSemicolon();\n return this.finishNode(node, \"TSIndexSignature\");\n }\n\n tsParsePropertyOrMethodSignature(node, readonly) {\n if (this.eat(17)) node.optional = true;\n const nodeAny = node;\n\n if (this.match(10) || this.match(47)) {\n if (readonly) {\n this.raise(TSErrors.ReadonlyForMethodSignature, {\n node\n });\n }\n\n const method = nodeAny;\n\n if (method.kind && this.match(47)) {\n this.raise(TSErrors.AccesorCannotHaveTypeParameters, {\n at: this.state.curPosition()\n });\n }\n\n this.tsFillSignature(14, method);\n this.tsParseTypeMemberSemicolon();\n const paramsKey = \"parameters\";\n const returnTypeKey = \"typeAnnotation\";\n\n if (method.kind === \"get\") {\n if (method[paramsKey].length > 0) {\n this.raise(ErrorMessages.BadGetterArity, {\n at: this.state.curPosition()\n });\n\n if (this.isThisParam(method[paramsKey][0])) {\n this.raise(TSErrors.AccesorCannotDeclareThisParameter, {\n at: this.state.curPosition()\n });\n }\n }\n } else if (method.kind === \"set\") {\n if (method[paramsKey].length !== 1) {\n this.raise(ErrorMessages.BadSetterArity, {\n at: this.state.curPosition()\n });\n } else {\n const firstParameter = method[paramsKey][0];\n\n if (this.isThisParam(firstParameter)) {\n this.raise(TSErrors.AccesorCannotDeclareThisParameter, {\n at: this.state.curPosition()\n });\n }\n\n if (firstParameter.type === \"Identifier\" && firstParameter.optional) {\n this.raise(TSErrors.SetAccesorCannotHaveOptionalParameter, {\n at: this.state.curPosition()\n });\n }\n\n if (firstParameter.type === \"RestElement\") {\n this.raise(TSErrors.SetAccesorCannotHaveRestParameter, {\n at: this.state.curPosition()\n });\n }\n }\n\n if (method[returnTypeKey]) {\n this.raise(TSErrors.SetAccesorCannotHaveReturnType, {\n node: method[returnTypeKey]\n });\n }\n } else {\n method.kind = \"method\";\n }\n\n return this.finishNode(method, \"TSMethodSignature\");\n } else {\n const property = nodeAny;\n if (readonly) property.readonly = true;\n const type = this.tsTryParseTypeAnnotation();\n if (type) property.typeAnnotation = type;\n this.tsParseTypeMemberSemicolon();\n return this.finishNode(property, \"TSPropertySignature\");\n }\n }\n\n tsParseTypeMember() {\n const node = this.startNode();\n\n if (this.match(10) || this.match(47)) {\n return this.tsParseSignatureMember(\"TSCallSignatureDeclaration\", node);\n }\n\n if (this.match(77)) {\n const id = this.startNode();\n this.next();\n\n if (this.match(10) || this.match(47)) {\n return this.tsParseSignatureMember(\"TSConstructSignatureDeclaration\", node);\n } else {\n node.key = this.createIdentifier(id, \"new\");\n return this.tsParsePropertyOrMethodSignature(node, false);\n }\n }\n\n this.tsParseModifiers(node, [\"readonly\"], [\"declare\", \"abstract\", \"private\", \"protected\", \"public\", \"static\", \"override\"], TSErrors.InvalidModifierOnTypeMember);\n const idx = this.tsTryParseIndexSignature(node);\n\n if (idx) {\n return idx;\n }\n\n this.parsePropertyName(node);\n\n if (!node.computed && node.key.type === \"Identifier\" && (node.key.name === \"get\" || node.key.name === \"set\") && this.tsTokenCanFollowModifier()) {\n node.kind = node.key.name;\n this.parsePropertyName(node);\n }\n\n return this.tsParsePropertyOrMethodSignature(node, !!node.readonly);\n }\n\n tsParseTypeLiteral() {\n const node = this.startNode();\n node.members = this.tsParseObjectTypeMembers();\n return this.finishNode(node, \"TSTypeLiteral\");\n }\n\n tsParseObjectTypeMembers() {\n this.expect(5);\n const members = this.tsParseList(\"TypeMembers\", this.tsParseTypeMember.bind(this));\n this.expect(8);\n return members;\n }\n\n tsIsStartOfMappedType() {\n this.next();\n\n if (this.eat(53)) {\n return this.isContextual(118);\n }\n\n if (this.isContextual(118)) {\n this.next();\n }\n\n if (!this.match(0)) {\n return false;\n }\n\n this.next();\n\n if (!this.tsIsIdentifier()) {\n return false;\n }\n\n this.next();\n return this.match(58);\n }\n\n tsParseMappedTypeParameter() {\n const node = this.startNode();\n node.name = this.tsParseTypeParameterName();\n node.constraint = this.tsExpectThenParseType(58);\n return this.finishNode(node, \"TSTypeParameter\");\n }\n\n tsParseMappedType() {\n const node = this.startNode();\n this.expect(5);\n\n if (this.match(53)) {\n node.readonly = this.state.value;\n this.next();\n this.expectContextual(118);\n } else if (this.eatContextual(118)) {\n node.readonly = true;\n }\n\n this.expect(0);\n node.typeParameter = this.tsParseMappedTypeParameter();\n node.nameType = this.eatContextual(93) ? this.tsParseType() : null;\n this.expect(3);\n\n if (this.match(53)) {\n node.optional = this.state.value;\n this.next();\n this.expect(17);\n } else if (this.eat(17)) {\n node.optional = true;\n }\n\n node.typeAnnotation = this.tsTryParseType();\n this.semicolon();\n this.expect(8);\n return this.finishNode(node, \"TSMappedType\");\n }\n\n tsParseTupleType() {\n const node = this.startNode();\n node.elementTypes = this.tsParseBracketedList(\"TupleElementTypes\", this.tsParseTupleElementType.bind(this), true, false);\n let seenOptionalElement = false;\n let labeledElements = null;\n node.elementTypes.forEach(elementNode => {\n var _labeledElements;\n\n let {\n type\n } = elementNode;\n\n if (seenOptionalElement && type !== \"TSRestType\" && type !== \"TSOptionalType\" && !(type === \"TSNamedTupleMember\" && elementNode.optional)) {\n this.raise(TSErrors.OptionalTypeBeforeRequired, {\n node: elementNode\n });\n }\n\n seenOptionalElement = seenOptionalElement || type === \"TSNamedTupleMember\" && elementNode.optional || type === \"TSOptionalType\";\n\n if (type === \"TSRestType\") {\n elementNode = elementNode.typeAnnotation;\n type = elementNode.type;\n }\n\n const isLabeled = type === \"TSNamedTupleMember\";\n labeledElements = (_labeledElements = labeledElements) != null ? _labeledElements : isLabeled;\n\n if (labeledElements !== isLabeled) {\n this.raise(TSErrors.MixedLabeledAndUnlabeledElements, {\n node: elementNode\n });\n }\n });\n return this.finishNode(node, \"TSTupleType\");\n }\n\n tsParseTupleElementType() {\n const {\n start: startPos,\n startLoc\n } = this.state;\n const rest = this.eat(21);\n let type = this.tsParseType();\n const optional = this.eat(17);\n const labeled = this.eat(14);\n\n if (labeled) {\n const labeledNode = this.startNodeAtNode(type);\n labeledNode.optional = optional;\n\n if (type.type === \"TSTypeReference\" && !type.typeParameters && type.typeName.type === \"Identifier\") {\n labeledNode.label = type.typeName;\n } else {\n this.raise(TSErrors.InvalidTupleMemberLabel, {\n node: type\n });\n labeledNode.label = type;\n }\n\n labeledNode.elementType = this.tsParseType();\n type = this.finishNode(labeledNode, \"TSNamedTupleMember\");\n } else if (optional) {\n const optionalTypeNode = this.startNodeAtNode(type);\n optionalTypeNode.typeAnnotation = type;\n type = this.finishNode(optionalTypeNode, \"TSOptionalType\");\n }\n\n if (rest) {\n const restNode = this.startNodeAt(startPos, startLoc);\n restNode.typeAnnotation = type;\n type = this.finishNode(restNode, \"TSRestType\");\n }\n\n return type;\n }\n\n tsParseParenthesizedType() {\n const node = this.startNode();\n this.expect(10);\n node.typeAnnotation = this.tsParseType();\n this.expect(11);\n return this.finishNode(node, \"TSParenthesizedType\");\n }\n\n tsParseFunctionOrConstructorType(type, abstract) {\n const node = this.startNode();\n\n if (type === \"TSConstructorType\") {\n node.abstract = !!abstract;\n if (abstract) this.next();\n this.next();\n }\n\n this.tsFillSignature(19, node);\n return this.finishNode(node, type);\n }\n\n tsParseLiteralTypeNode() {\n const node = this.startNode();\n\n node.literal = (() => {\n switch (this.state.type) {\n case 130:\n case 131:\n case 129:\n case 85:\n case 86:\n return this.parseExprAtom();\n\n default:\n throw this.unexpected();\n }\n })();\n\n return this.finishNode(node, \"TSLiteralType\");\n }\n\n tsParseTemplateLiteralType() {\n const node = this.startNode();\n node.literal = this.parseTemplate(false);\n return this.finishNode(node, \"TSLiteralType\");\n }\n\n parseTemplateSubstitution() {\n if (this.state.inType) return this.tsParseType();\n return super.parseTemplateSubstitution();\n }\n\n tsParseThisTypeOrThisTypePredicate() {\n const thisKeyword = this.tsParseThisTypeNode();\n\n if (this.isContextual(113) && !this.hasPrecedingLineBreak()) {\n return this.tsParseThisTypePredicate(thisKeyword);\n } else {\n return thisKeyword;\n }\n }\n\n tsParseNonArrayType() {\n switch (this.state.type) {\n case 129:\n case 130:\n case 131:\n case 85:\n case 86:\n return this.tsParseLiteralTypeNode();\n\n case 53:\n if (this.state.value === \"-\") {\n const node = this.startNode();\n const nextToken = this.lookahead();\n\n if (nextToken.type !== 130 && nextToken.type !== 131) {\n throw this.unexpected();\n }\n\n node.literal = this.parseMaybeUnary();\n return this.finishNode(node, \"TSLiteralType\");\n }\n\n break;\n\n case 78:\n return this.tsParseThisTypeOrThisTypePredicate();\n\n case 87:\n return this.tsParseTypeQuery();\n\n case 83:\n return this.tsParseImportType();\n\n case 5:\n return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral();\n\n case 0:\n return this.tsParseTupleType();\n\n case 10:\n return this.tsParseParenthesizedType();\n\n case 25:\n case 24:\n return this.tsParseTemplateLiteralType();\n\n default:\n {\n const {\n type\n } = this.state;\n\n if (tokenIsIdentifier(type) || type === 88 || type === 84) {\n const nodeType = type === 88 ? \"TSVoidKeyword\" : type === 84 ? \"TSNullKeyword\" : keywordTypeFromName(this.state.value);\n\n if (nodeType !== undefined && this.lookaheadCharCode() !== 46) {\n const node = this.startNode();\n this.next();\n return this.finishNode(node, nodeType);\n }\n\n return this.tsParseTypeReference();\n }\n }\n }\n\n throw this.unexpected();\n }\n\n tsParseArrayTypeOrHigher() {\n let type = this.tsParseNonArrayType();\n\n while (!this.hasPrecedingLineBreak() && this.eat(0)) {\n if (this.match(3)) {\n const node = this.startNodeAtNode(type);\n node.elementType = type;\n this.expect(3);\n type = this.finishNode(node, \"TSArrayType\");\n } else {\n const node = this.startNodeAtNode(type);\n node.objectType = type;\n node.indexType = this.tsParseType();\n this.expect(3);\n type = this.finishNode(node, \"TSIndexedAccessType\");\n }\n }\n\n return type;\n }\n\n tsParseTypeOperator() {\n const node = this.startNode();\n const operator = this.state.value;\n this.next();\n node.operator = operator;\n node.typeAnnotation = this.tsParseTypeOperatorOrHigher();\n\n if (operator === \"readonly\") {\n this.tsCheckTypeAnnotationForReadOnly(node);\n }\n\n return this.finishNode(node, \"TSTypeOperator\");\n }\n\n tsCheckTypeAnnotationForReadOnly(node) {\n switch (node.typeAnnotation.type) {\n case \"TSTupleType\":\n case \"TSArrayType\":\n return;\n\n default:\n this.raise(TSErrors.UnexpectedReadonly, {\n node\n });\n }\n }\n\n tsParseInferType() {\n const node = this.startNode();\n this.expectContextual(112);\n const typeParameter = this.startNode();\n typeParameter.name = this.tsParseTypeParameterName();\n node.typeParameter = this.finishNode(typeParameter, \"TSTypeParameter\");\n return this.finishNode(node, \"TSInferType\");\n }\n\n tsParseTypeOperatorOrHigher() {\n const isTypeOperator = tokenIsTSTypeOperator(this.state.type) && !this.state.containsEsc;\n return isTypeOperator ? this.tsParseTypeOperator() : this.isContextual(112) ? this.tsParseInferType() : this.tsParseArrayTypeOrHigher();\n }\n\n tsParseUnionOrIntersectionType(kind, parseConstituentType, operator) {\n const node = this.startNode();\n const hasLeadingOperator = this.eat(operator);\n const types = [];\n\n do {\n types.push(parseConstituentType());\n } while (this.eat(operator));\n\n if (types.length === 1 && !hasLeadingOperator) {\n return types[0];\n }\n\n node.types = types;\n return this.finishNode(node, kind);\n }\n\n tsParseIntersectionTypeOrHigher() {\n return this.tsParseUnionOrIntersectionType(\"TSIntersectionType\", this.tsParseTypeOperatorOrHigher.bind(this), 45);\n }\n\n tsParseUnionTypeOrHigher() {\n return this.tsParseUnionOrIntersectionType(\"TSUnionType\", this.tsParseIntersectionTypeOrHigher.bind(this), 43);\n }\n\n tsIsStartOfFunctionType() {\n if (this.match(47)) {\n return true;\n }\n\n return this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this));\n }\n\n tsSkipParameterStart() {\n if (tokenIsIdentifier(this.state.type) || this.match(78)) {\n this.next();\n return true;\n }\n\n if (this.match(5)) {\n let braceStackCounter = 1;\n this.next();\n\n while (braceStackCounter > 0) {\n if (this.match(5)) {\n ++braceStackCounter;\n } else if (this.match(8)) {\n --braceStackCounter;\n }\n\n this.next();\n }\n\n return true;\n }\n\n if (this.match(0)) {\n let braceStackCounter = 1;\n this.next();\n\n while (braceStackCounter > 0) {\n if (this.match(0)) {\n ++braceStackCounter;\n } else if (this.match(3)) {\n --braceStackCounter;\n }\n\n this.next();\n }\n\n return true;\n }\n\n return false;\n }\n\n tsIsUnambiguouslyStartOfFunctionType() {\n this.next();\n\n if (this.match(11) || this.match(21)) {\n return true;\n }\n\n if (this.tsSkipParameterStart()) {\n if (this.match(14) || this.match(12) || this.match(17) || this.match(29)) {\n return true;\n }\n\n if (this.match(11)) {\n this.next();\n\n if (this.match(19)) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n tsParseTypeOrTypePredicateAnnotation(returnToken) {\n return this.tsInType(() => {\n const t = this.startNode();\n this.expect(returnToken);\n const node = this.startNode();\n const asserts = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));\n\n if (asserts && this.match(78)) {\n let thisTypePredicate = this.tsParseThisTypeOrThisTypePredicate();\n\n if (thisTypePredicate.type === \"TSThisType\") {\n node.parameterName = thisTypePredicate;\n node.asserts = true;\n node.typeAnnotation = null;\n thisTypePredicate = this.finishNode(node, \"TSTypePredicate\");\n } else {\n this.resetStartLocationFromNode(thisTypePredicate, node);\n thisTypePredicate.asserts = true;\n }\n\n t.typeAnnotation = thisTypePredicate;\n return this.finishNode(t, \"TSTypeAnnotation\");\n }\n\n const typePredicateVariable = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));\n\n if (!typePredicateVariable) {\n if (!asserts) {\n return this.tsParseTypeAnnotation(false, t);\n }\n\n node.parameterName = this.parseIdentifier();\n node.asserts = asserts;\n node.typeAnnotation = null;\n t.typeAnnotation = this.finishNode(node, \"TSTypePredicate\");\n return this.finishNode(t, \"TSTypeAnnotation\");\n }\n\n const type = this.tsParseTypeAnnotation(false);\n node.parameterName = typePredicateVariable;\n node.typeAnnotation = type;\n node.asserts = asserts;\n t.typeAnnotation = this.finishNode(node, \"TSTypePredicate\");\n return this.finishNode(t, \"TSTypeAnnotation\");\n });\n }\n\n tsTryParseTypeOrTypePredicateAnnotation() {\n return this.match(14) ? this.tsParseTypeOrTypePredicateAnnotation(14) : undefined;\n }\n\n tsTryParseTypeAnnotation() {\n return this.match(14) ? this.tsParseTypeAnnotation() : undefined;\n }\n\n tsTryParseType() {\n return this.tsEatThenParseType(14);\n }\n\n tsParseTypePredicatePrefix() {\n const id = this.parseIdentifier();\n\n if (this.isContextual(113) && !this.hasPrecedingLineBreak()) {\n this.next();\n return id;\n }\n }\n\n tsParseTypePredicateAsserts() {\n if (this.state.type !== 106) {\n return false;\n }\n\n const containsEsc = this.state.containsEsc;\n this.next();\n\n if (!tokenIsIdentifier(this.state.type) && !this.match(78)) {\n return false;\n }\n\n if (containsEsc) {\n this.raise(ErrorMessages.InvalidEscapedReservedWord, {\n at: this.state.lastTokStartLoc\n }, \"asserts\");\n }\n\n return true;\n }\n\n tsParseTypeAnnotation(eatColon = true, t = this.startNode()) {\n this.tsInType(() => {\n if (eatColon) this.expect(14);\n t.typeAnnotation = this.tsParseType();\n });\n return this.finishNode(t, \"TSTypeAnnotation\");\n }\n\n tsParseType() {\n assert(this.state.inType);\n const type = this.tsParseNonConditionalType();\n\n if (this.hasPrecedingLineBreak() || !this.eat(81)) {\n return type;\n }\n\n const node = this.startNodeAtNode(type);\n node.checkType = type;\n node.extendsType = this.tsParseNonConditionalType();\n this.expect(17);\n node.trueType = this.tsParseType();\n this.expect(14);\n node.falseType = this.tsParseType();\n return this.finishNode(node, \"TSConditionalType\");\n }\n\n isAbstractConstructorSignature() {\n return this.isContextual(120) && this.lookahead().type === 77;\n }\n\n tsParseNonConditionalType() {\n if (this.tsIsStartOfFunctionType()) {\n return this.tsParseFunctionOrConstructorType(\"TSFunctionType\");\n }\n\n if (this.match(77)) {\n return this.tsParseFunctionOrConstructorType(\"TSConstructorType\");\n } else if (this.isAbstractConstructorSignature()) {\n return this.tsParseFunctionOrConstructorType(\"TSConstructorType\", true);\n }\n\n return this.tsParseUnionTypeOrHigher();\n }\n\n tsParseTypeAssertion() {\n if (this.getPluginOption(\"typescript\", \"disallowAmbiguousJSXLike\")) {\n this.raise(TSErrors.ReservedTypeAssertion, {\n at: this.state.startLoc\n });\n }\n\n const node = this.startNode();\n\n const _const = this.tsTryNextParseConstantContext();\n\n node.typeAnnotation = _const || this.tsNextThenParseType();\n this.expect(48);\n node.expression = this.parseMaybeUnary();\n return this.finishNode(node, \"TSTypeAssertion\");\n }\n\n tsParseHeritageClause(descriptor) {\n const originalStartLoc = this.state.startLoc;\n const delimitedList = this.tsParseDelimitedList(\"HeritageClauseElement\", this.tsParseExpressionWithTypeArguments.bind(this));\n\n if (!delimitedList.length) {\n this.raise(TSErrors.EmptyHeritageClauseType, {\n at: originalStartLoc\n }, descriptor);\n }\n\n return delimitedList;\n }\n\n tsParseExpressionWithTypeArguments() {\n const node = this.startNode();\n node.expression = this.tsParseEntityName(false);\n\n if (this.match(47)) {\n node.typeParameters = this.tsParseTypeArguments();\n }\n\n return this.finishNode(node, \"TSExpressionWithTypeArguments\");\n }\n\n tsParseInterfaceDeclaration(node) {\n if (tokenIsIdentifier(this.state.type)) {\n node.id = this.parseIdentifier();\n this.checkLVal(node.id, \"typescript interface declaration\", BIND_TS_INTERFACE);\n } else {\n node.id = null;\n this.raise(TSErrors.MissingInterfaceName, {\n at: this.state.startLoc\n });\n }\n\n node.typeParameters = this.tsTryParseTypeParameters();\n\n if (this.eat(81)) {\n node.extends = this.tsParseHeritageClause(\"extends\");\n }\n\n const body = this.startNode();\n body.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this));\n node.body = this.finishNode(body, \"TSInterfaceBody\");\n return this.finishNode(node, \"TSInterfaceDeclaration\");\n }\n\n tsParseTypeAliasDeclaration(node) {\n node.id = this.parseIdentifier();\n this.checkLVal(node.id, \"typescript type alias\", BIND_TS_TYPE);\n node.typeParameters = this.tsTryParseTypeParameters();\n node.typeAnnotation = this.tsInType(() => {\n this.expect(29);\n\n if (this.isContextual(111) && this.lookahead().type !== 16) {\n const node = this.startNode();\n this.next();\n return this.finishNode(node, \"TSIntrinsicKeyword\");\n }\n\n return this.tsParseType();\n });\n this.semicolon();\n return this.finishNode(node, \"TSTypeAliasDeclaration\");\n }\n\n tsInNoContext(cb) {\n const oldContext = this.state.context;\n this.state.context = [oldContext[0]];\n\n try {\n return cb();\n } finally {\n this.state.context = oldContext;\n }\n }\n\n tsInType(cb) {\n const oldInType = this.state.inType;\n this.state.inType = true;\n\n try {\n return cb();\n } finally {\n this.state.inType = oldInType;\n }\n }\n\n tsEatThenParseType(token) {\n return !this.match(token) ? undefined : this.tsNextThenParseType();\n }\n\n tsExpectThenParseType(token) {\n return this.tsDoThenParseType(() => this.expect(token));\n }\n\n tsNextThenParseType() {\n return this.tsDoThenParseType(() => this.next());\n }\n\n tsDoThenParseType(cb) {\n return this.tsInType(() => {\n cb();\n return this.tsParseType();\n });\n }\n\n tsParseEnumMember() {\n const node = this.startNode();\n node.id = this.match(129) ? this.parseExprAtom() : this.parseIdentifier(true);\n\n if (this.eat(29)) {\n node.initializer = this.parseMaybeAssignAllowIn();\n }\n\n return this.finishNode(node, \"TSEnumMember\");\n }\n\n tsParseEnumDeclaration(node, isConst) {\n if (isConst) node.const = true;\n node.id = this.parseIdentifier();\n this.checkLVal(node.id, \"typescript enum declaration\", isConst ? BIND_TS_CONST_ENUM : BIND_TS_ENUM);\n this.expect(5);\n node.members = this.tsParseDelimitedList(\"EnumMembers\", this.tsParseEnumMember.bind(this));\n this.expect(8);\n return this.finishNode(node, \"TSEnumDeclaration\");\n }\n\n tsParseModuleBlock() {\n const node = this.startNode();\n this.scope.enter(SCOPE_OTHER);\n this.expect(5);\n this.parseBlockOrModuleBlockBody(node.body = [], undefined, true, 8);\n this.scope.exit();\n return this.finishNode(node, \"TSModuleBlock\");\n }\n\n tsParseModuleOrNamespaceDeclaration(node, nested = false) {\n node.id = this.parseIdentifier();\n\n if (!nested) {\n this.checkLVal(node.id, \"module or namespace declaration\", BIND_TS_NAMESPACE);\n }\n\n if (this.eat(16)) {\n const inner = this.startNode();\n this.tsParseModuleOrNamespaceDeclaration(inner, true);\n node.body = inner;\n } else {\n this.scope.enter(SCOPE_TS_MODULE);\n this.prodParam.enter(PARAM);\n node.body = this.tsParseModuleBlock();\n this.prodParam.exit();\n this.scope.exit();\n }\n\n return this.finishNode(node, \"TSModuleDeclaration\");\n }\n\n tsParseAmbientExternalModuleDeclaration(node) {\n if (this.isContextual(109)) {\n node.global = true;\n node.id = this.parseIdentifier();\n } else if (this.match(129)) {\n node.id = this.parseExprAtom();\n } else {\n this.unexpected();\n }\n\n if (this.match(5)) {\n this.scope.enter(SCOPE_TS_MODULE);\n this.prodParam.enter(PARAM);\n node.body = this.tsParseModuleBlock();\n this.prodParam.exit();\n this.scope.exit();\n } else {\n this.semicolon();\n }\n\n return this.finishNode(node, \"TSModuleDeclaration\");\n }\n\n tsParseImportEqualsDeclaration(node, isExport) {\n node.isExport = isExport || false;\n node.id = this.parseIdentifier();\n this.checkLVal(node.id, \"import equals declaration\", BIND_LEXICAL);\n this.expect(29);\n const moduleReference = this.tsParseModuleReference();\n\n if (node.importKind === \"type\" && moduleReference.type !== \"TSExternalModuleReference\") {\n this.raise(TSErrors.ImportAliasHasImportType, {\n node: moduleReference\n });\n }\n\n node.moduleReference = moduleReference;\n this.semicolon();\n return this.finishNode(node, \"TSImportEqualsDeclaration\");\n }\n\n tsIsExternalModuleReference() {\n return this.isContextual(116) && this.lookaheadCharCode() === 40;\n }\n\n tsParseModuleReference() {\n return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(false);\n }\n\n tsParseExternalModuleReference() {\n const node = this.startNode();\n this.expectContextual(116);\n this.expect(10);\n\n if (!this.match(129)) {\n throw this.unexpected();\n }\n\n node.expression = this.parseExprAtom();\n this.expect(11);\n return this.finishNode(node, \"TSExternalModuleReference\");\n }\n\n tsLookAhead(f) {\n const state = this.state.clone();\n const res = f();\n this.state = state;\n return res;\n }\n\n tsTryParseAndCatch(f) {\n const result = this.tryParse(abort => f() || abort());\n if (result.aborted || !result.node) return undefined;\n if (result.error) this.state = result.failState;\n return result.node;\n }\n\n tsTryParse(f) {\n const state = this.state.clone();\n const result = f();\n\n if (result !== undefined && result !== false) {\n return result;\n } else {\n this.state = state;\n return undefined;\n }\n }\n\n tsTryParseDeclare(nany) {\n if (this.isLineTerminator()) {\n return;\n }\n\n let starttype = this.state.type;\n let kind;\n\n if (this.isContextual(99)) {\n starttype = 74;\n kind = \"let\";\n }\n\n return this.tsInAmbientContext(() => {\n switch (starttype) {\n case 68:\n nany.declare = true;\n return this.parseFunctionStatement(nany, false, true);\n\n case 80:\n nany.declare = true;\n return this.parseClass(nany, true, false);\n\n case 75:\n if (this.match(75) && this.isLookaheadContextual(\"enum\")) {\n this.expect(75);\n this.expectContextual(122);\n return this.tsParseEnumDeclaration(nany, true);\n }\n\n case 74:\n kind = kind || this.state.value;\n return this.parseVarStatement(nany, kind);\n\n case 109:\n return this.tsParseAmbientExternalModuleDeclaration(nany);\n\n default:\n {\n if (tokenIsIdentifier(starttype)) {\n return this.tsParseDeclaration(nany, this.state.value, true);\n }\n }\n }\n });\n }\n\n tsTryParseExportDeclaration() {\n return this.tsParseDeclaration(this.startNode(), this.state.value, true);\n }\n\n tsParseExpressionStatement(node, expr) {\n switch (expr.name) {\n case \"declare\":\n {\n const declaration = this.tsTryParseDeclare(node);\n\n if (declaration) {\n declaration.declare = true;\n return declaration;\n }\n\n break;\n }\n\n case \"global\":\n if (this.match(5)) {\n this.scope.enter(SCOPE_TS_MODULE);\n this.prodParam.enter(PARAM);\n const mod = node;\n mod.global = true;\n mod.id = expr;\n mod.body = this.tsParseModuleBlock();\n this.scope.exit();\n this.prodParam.exit();\n return this.finishNode(mod, \"TSModuleDeclaration\");\n }\n\n break;\n\n default:\n return this.tsParseDeclaration(node, expr.name, false);\n }\n }\n\n tsParseDeclaration(node, value, next) {\n switch (value) {\n case \"abstract\":\n if (this.tsCheckLineTerminator(next) && (this.match(80) || tokenIsIdentifier(this.state.type))) {\n return this.tsParseAbstractDeclaration(node);\n }\n\n break;\n\n case \"enum\":\n if (next || tokenIsIdentifier(this.state.type)) {\n if (next) this.next();\n return this.tsParseEnumDeclaration(node, false);\n }\n\n break;\n\n case \"interface\":\n if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) {\n return this.tsParseInterfaceDeclaration(node);\n }\n\n break;\n\n case \"module\":\n if (this.tsCheckLineTerminator(next)) {\n if (this.match(129)) {\n return this.tsParseAmbientExternalModuleDeclaration(node);\n } else if (tokenIsIdentifier(this.state.type)) {\n return this.tsParseModuleOrNamespaceDeclaration(node);\n }\n }\n\n break;\n\n case \"namespace\":\n if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) {\n return this.tsParseModuleOrNamespaceDeclaration(node);\n }\n\n break;\n\n case \"type\":\n if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) {\n return this.tsParseTypeAliasDeclaration(node);\n }\n\n break;\n }\n }\n\n tsCheckLineTerminator(next) {\n if (next) {\n if (this.hasFollowingLineBreak()) return false;\n this.next();\n return true;\n }\n\n return !this.isLineTerminator();\n }\n\n tsTryParseGenericAsyncArrowFunction(startPos, startLoc) {\n if (!this.match(47)) {\n return undefined;\n }\n\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n this.state.maybeInArrowParameters = true;\n const res = this.tsTryParseAndCatch(() => {\n const node = this.startNodeAt(startPos, startLoc);\n node.typeParameters = this.tsParseTypeParameters();\n super.parseFunctionParams(node);\n node.returnType = this.tsTryParseTypeOrTypePredicateAnnotation();\n this.expect(19);\n return node;\n });\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n\n if (!res) {\n return undefined;\n }\n\n return this.parseArrowExpression(res, null, true);\n }\n\n tsParseTypeArgumentsInExpression() {\n if (this.reScan_lt() !== 47) {\n return undefined;\n }\n\n return this.tsParseTypeArguments();\n }\n\n tsParseTypeArguments() {\n const node = this.startNode();\n node.params = this.tsInType(() => this.tsInNoContext(() => {\n this.expect(47);\n return this.tsParseDelimitedList(\"TypeParametersOrArguments\", this.tsParseType.bind(this));\n }));\n\n if (node.params.length === 0) {\n this.raise(TSErrors.EmptyTypeArguments, {\n node\n });\n }\n\n this.expect(48);\n return this.finishNode(node, \"TSTypeParameterInstantiation\");\n }\n\n tsIsDeclarationStart() {\n return tokenIsTSDeclarationStart(this.state.type);\n }\n\n isExportDefaultSpecifier() {\n if (this.tsIsDeclarationStart()) return false;\n return super.isExportDefaultSpecifier();\n }\n\n parseAssignableListItem(allowModifiers, decorators) {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n let accessibility;\n let readonly = false;\n let override = false;\n\n if (allowModifiers !== undefined) {\n const modified = {};\n this.tsParseModifiers(modified, [\"public\", \"private\", \"protected\", \"override\", \"readonly\"]);\n accessibility = modified.accessibility;\n override = modified.override;\n readonly = modified.readonly;\n\n if (allowModifiers === false && (accessibility || readonly || override)) {\n this.raise(TSErrors.UnexpectedParameterModifier, {\n at: startLoc\n });\n }\n }\n\n const left = this.parseMaybeDefault();\n this.parseAssignableListItemTypes(left);\n const elt = this.parseMaybeDefault(left.start, left.loc.start, left);\n\n if (accessibility || readonly || override) {\n const pp = this.startNodeAt(startPos, startLoc);\n\n if (decorators.length) {\n pp.decorators = decorators;\n }\n\n if (accessibility) pp.accessibility = accessibility;\n if (readonly) pp.readonly = readonly;\n if (override) pp.override = override;\n\n if (elt.type !== \"Identifier\" && elt.type !== \"AssignmentPattern\") {\n this.raise(TSErrors.UnsupportedParameterPropertyKind, {\n node: pp\n });\n }\n\n pp.parameter = elt;\n return this.finishNode(pp, \"TSParameterProperty\");\n }\n\n if (decorators.length) {\n left.decorators = decorators;\n }\n\n return elt;\n }\n\n parseFunctionBodyAndFinish(node, type, isMethod = false) {\n if (this.match(14)) {\n node.returnType = this.tsParseTypeOrTypePredicateAnnotation(14);\n }\n\n const bodilessType = type === \"FunctionDeclaration\" ? \"TSDeclareFunction\" : type === \"ClassMethod\" || type === \"ClassPrivateMethod\" ? \"TSDeclareMethod\" : undefined;\n\n if (bodilessType && !this.match(5) && this.isLineTerminator()) {\n this.finishNode(node, bodilessType);\n return;\n }\n\n if (bodilessType === \"TSDeclareFunction\" && this.state.isAmbientContext) {\n this.raise(TSErrors.DeclareFunctionHasImplementation, {\n node\n });\n\n if (node.declare) {\n super.parseFunctionBodyAndFinish(node, bodilessType, isMethod);\n return;\n }\n }\n\n super.parseFunctionBodyAndFinish(node, type, isMethod);\n }\n\n registerFunctionStatementId(node) {\n if (!node.body && node.id) {\n this.checkLVal(node.id, \"function name\", BIND_TS_AMBIENT);\n } else {\n super.registerFunctionStatementId(...arguments);\n }\n }\n\n tsCheckForInvalidTypeCasts(items) {\n items.forEach(node => {\n if ((node == null ? void 0 : node.type) === \"TSTypeCastExpression\") {\n this.raise(TSErrors.UnexpectedTypeAnnotation, {\n node: node.typeAnnotation\n });\n }\n });\n }\n\n toReferencedList(exprList, isInParens) {\n this.tsCheckForInvalidTypeCasts(exprList);\n return exprList;\n }\n\n parseArrayLike(...args) {\n const node = super.parseArrayLike(...args);\n\n if (node.type === \"ArrayExpression\") {\n this.tsCheckForInvalidTypeCasts(node.elements);\n }\n\n return node;\n }\n\n parseSubscript(base, startPos, startLoc, noCalls, state) {\n if (!this.hasPrecedingLineBreak() && this.match(35)) {\n this.state.canStartJSXElement = false;\n this.next();\n const nonNullExpression = this.startNodeAt(startPos, startLoc);\n nonNullExpression.expression = base;\n return this.finishNode(nonNullExpression, \"TSNonNullExpression\");\n }\n\n let isOptionalCall = false;\n\n if (this.match(18) && this.lookaheadCharCode() === 60) {\n if (noCalls) {\n state.stop = true;\n return base;\n }\n\n state.optionalChainMember = isOptionalCall = true;\n this.next();\n }\n\n if (this.match(47) || this.match(51)) {\n let missingParenErrorLoc;\n const result = this.tsTryParseAndCatch(() => {\n if (!noCalls && this.atPossibleAsyncArrow(base)) {\n const asyncArrowFn = this.tsTryParseGenericAsyncArrowFunction(startPos, startLoc);\n\n if (asyncArrowFn) {\n return asyncArrowFn;\n }\n }\n\n const node = this.startNodeAt(startPos, startLoc);\n node.callee = base;\n const typeArguments = this.tsParseTypeArgumentsInExpression();\n\n if (typeArguments) {\n if (isOptionalCall && !this.match(10)) {\n missingParenErrorLoc = this.state.curPosition();\n this.unexpected();\n }\n\n if (!noCalls && this.eat(10)) {\n node.arguments = this.parseCallExpressionArguments(11, false);\n this.tsCheckForInvalidTypeCasts(node.arguments);\n node.typeParameters = typeArguments;\n\n if (state.optionalChainMember) {\n node.optional = isOptionalCall;\n }\n\n return this.finishCallExpression(node, state.optionalChainMember);\n } else if (tokenIsTemplate(this.state.type)) {\n const result = this.parseTaggedTemplateExpression(base, startPos, startLoc, state);\n result.typeParameters = typeArguments;\n return result;\n }\n }\n\n this.unexpected();\n });\n\n if (missingParenErrorLoc) {\n this.unexpected(missingParenErrorLoc, 10);\n }\n\n if (result) return result;\n }\n\n return super.parseSubscript(base, startPos, startLoc, noCalls, state);\n }\n\n parseNewArguments(node) {\n if (this.match(47) || this.match(51)) {\n const typeParameters = this.tsTryParseAndCatch(() => {\n const args = this.tsParseTypeArgumentsInExpression();\n if (!this.match(10)) this.unexpected();\n return args;\n });\n\n if (typeParameters) {\n node.typeParameters = typeParameters;\n }\n }\n\n super.parseNewArguments(node);\n }\n\n parseExprOp(left, leftStartPos, leftStartLoc, minPrec) {\n if (tokenOperatorPrecedence(58) > minPrec && !this.hasPrecedingLineBreak() && this.isContextual(93)) {\n const node = this.startNodeAt(leftStartPos, leftStartLoc);\n node.expression = left;\n\n const _const = this.tsTryNextParseConstantContext();\n\n if (_const) {\n node.typeAnnotation = _const;\n } else {\n node.typeAnnotation = this.tsNextThenParseType();\n }\n\n this.finishNode(node, \"TSAsExpression\");\n this.reScan_lt_gt();\n return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec);\n }\n\n return super.parseExprOp(left, leftStartPos, leftStartLoc, minPrec);\n }\n\n checkReservedWord(word, startLoc, checkKeywords, isBinding) {}\n\n checkDuplicateExports() {}\n\n parseImport(node) {\n node.importKind = \"value\";\n\n if (tokenIsIdentifier(this.state.type) || this.match(55) || this.match(5)) {\n let ahead = this.lookahead();\n\n if (this.isContextual(126) && ahead.type !== 12 && ahead.type !== 97 && ahead.type !== 29) {\n node.importKind = \"type\";\n this.next();\n ahead = this.lookahead();\n }\n\n if (tokenIsIdentifier(this.state.type) && ahead.type === 29) {\n return this.tsParseImportEqualsDeclaration(node);\n }\n }\n\n const importNode = super.parseImport(node);\n\n if (importNode.importKind === \"type\" && importNode.specifiers.length > 1 && importNode.specifiers[0].type === \"ImportDefaultSpecifier\") {\n this.raise(TSErrors.TypeImportCannotSpecifyDefaultAndNamed, {\n node: importNode\n });\n }\n\n return importNode;\n }\n\n parseExport(node) {\n if (this.match(83)) {\n this.next();\n\n if (this.isContextual(126) && this.lookaheadCharCode() !== 61) {\n node.importKind = \"type\";\n this.next();\n } else {\n node.importKind = \"value\";\n }\n\n return this.tsParseImportEqualsDeclaration(node, true);\n } else if (this.eat(29)) {\n const assign = node;\n assign.expression = this.parseExpression();\n this.semicolon();\n return this.finishNode(assign, \"TSExportAssignment\");\n } else if (this.eatContextual(93)) {\n const decl = node;\n this.expectContextual(124);\n decl.id = this.parseIdentifier();\n this.semicolon();\n return this.finishNode(decl, \"TSNamespaceExportDeclaration\");\n } else {\n if (this.isContextual(126) && this.lookahead().type === 5) {\n this.next();\n node.exportKind = \"type\";\n } else {\n node.exportKind = \"value\";\n }\n\n return super.parseExport(node);\n }\n }\n\n isAbstractClass() {\n return this.isContextual(120) && this.lookahead().type === 80;\n }\n\n parseExportDefaultExpression() {\n if (this.isAbstractClass()) {\n const cls = this.startNode();\n this.next();\n cls.abstract = true;\n this.parseClass(cls, true, true);\n return cls;\n }\n\n if (this.match(125)) {\n const interfaceNode = this.startNode();\n this.next();\n const result = this.tsParseInterfaceDeclaration(interfaceNode);\n if (result) return result;\n }\n\n return super.parseExportDefaultExpression();\n }\n\n parseStatementContent(context, topLevel) {\n if (this.state.type === 75) {\n const ahead = this.lookahead();\n\n if (ahead.type === 122) {\n const node = this.startNode();\n this.next();\n this.expectContextual(122);\n return this.tsParseEnumDeclaration(node, true);\n }\n }\n\n return super.parseStatementContent(context, topLevel);\n }\n\n parseAccessModifier() {\n return this.tsParseModifier([\"public\", \"protected\", \"private\"]);\n }\n\n tsHasSomeModifiers(member, modifiers) {\n return modifiers.some(modifier => {\n if (tsIsAccessModifier(modifier)) {\n return member.accessibility === modifier;\n }\n\n return !!member[modifier];\n });\n }\n\n tsIsStartOfStaticBlocks() {\n return this.isContextual(104) && this.lookaheadCharCode() === 123;\n }\n\n parseClassMember(classBody, member, state) {\n const modifiers = [\"declare\", \"private\", \"public\", \"protected\", \"override\", \"abstract\", \"readonly\", \"static\"];\n this.tsParseModifiers(member, modifiers, undefined, undefined, true);\n\n const callParseClassMemberWithIsStatic = () => {\n if (this.tsIsStartOfStaticBlocks()) {\n this.next();\n this.next();\n\n if (this.tsHasSomeModifiers(member, modifiers)) {\n this.raise(TSErrors.StaticBlockCannotHaveModifier, {\n at: this.state.curPosition()\n });\n }\n\n this.parseClassStaticBlock(classBody, member);\n } else {\n this.parseClassMemberWithIsStatic(classBody, member, state, !!member.static);\n }\n };\n\n if (member.declare) {\n this.tsInAmbientContext(callParseClassMemberWithIsStatic);\n } else {\n callParseClassMemberWithIsStatic();\n }\n }\n\n parseClassMemberWithIsStatic(classBody, member, state, isStatic) {\n const idx = this.tsTryParseIndexSignature(member);\n\n if (idx) {\n classBody.body.push(idx);\n\n if (member.abstract) {\n this.raise(TSErrors.IndexSignatureHasAbstract, {\n node: member\n });\n }\n\n if (member.accessibility) {\n this.raise(TSErrors.IndexSignatureHasAccessibility, {\n node: member\n }, member.accessibility);\n }\n\n if (member.declare) {\n this.raise(TSErrors.IndexSignatureHasDeclare, {\n node: member\n });\n }\n\n if (member.override) {\n this.raise(TSErrors.IndexSignatureHasOverride, {\n node: member\n });\n }\n\n return;\n }\n\n if (!this.state.inAbstractClass && member.abstract) {\n this.raise(TSErrors.NonAbstractClassHasAbstractMethod, {\n node: member\n });\n }\n\n if (member.override) {\n if (!state.hadSuperClass) {\n this.raise(TSErrors.OverrideNotInSubClass, {\n node: member\n });\n }\n }\n\n super.parseClassMemberWithIsStatic(classBody, member, state, isStatic);\n }\n\n parsePostMemberNameModifiers(methodOrProp) {\n const optional = this.eat(17);\n if (optional) methodOrProp.optional = true;\n\n if (methodOrProp.readonly && this.match(10)) {\n this.raise(TSErrors.ClassMethodHasReadonly, {\n node: methodOrProp\n });\n }\n\n if (methodOrProp.declare && this.match(10)) {\n this.raise(TSErrors.ClassMethodHasDeclare, {\n node: methodOrProp\n });\n }\n }\n\n parseExpressionStatement(node, expr) {\n const decl = expr.type === \"Identifier\" ? this.tsParseExpressionStatement(node, expr) : undefined;\n return decl || super.parseExpressionStatement(node, expr);\n }\n\n shouldParseExportDeclaration() {\n if (this.tsIsDeclarationStart()) return true;\n return super.shouldParseExportDeclaration();\n }\n\n parseConditional(expr, startPos, startLoc, refExpressionErrors) {\n if (!this.state.maybeInArrowParameters || !this.match(17)) {\n return super.parseConditional(expr, startPos, startLoc, refExpressionErrors);\n }\n\n const result = this.tryParse(() => super.parseConditional(expr, startPos, startLoc));\n\n if (!result.node) {\n if (result.error) {\n super.setOptionalParametersError(refExpressionErrors, result.error);\n }\n\n return expr;\n }\n\n if (result.error) this.state = result.failState;\n return result.node;\n }\n\n parseParenItem(node, startPos, startLoc) {\n node = super.parseParenItem(node, startPos, startLoc);\n\n if (this.eat(17)) {\n node.optional = true;\n this.resetEndLocation(node);\n }\n\n if (this.match(14)) {\n const typeCastNode = this.startNodeAt(startPos, startLoc);\n typeCastNode.expression = node;\n typeCastNode.typeAnnotation = this.tsParseTypeAnnotation();\n return this.finishNode(typeCastNode, \"TSTypeCastExpression\");\n }\n\n return node;\n }\n\n parseExportDeclaration(node) {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const isDeclare = this.eatContextual(121);\n\n if (isDeclare && (this.isContextual(121) || !this.shouldParseExportDeclaration())) {\n throw this.raise(TSErrors.ExpectedAmbientAfterExportDeclare, {\n at: this.state.startLoc\n });\n }\n\n let declaration;\n\n if (tokenIsIdentifier(this.state.type)) {\n declaration = this.tsTryParseExportDeclaration();\n }\n\n if (!declaration) {\n declaration = super.parseExportDeclaration(node);\n }\n\n if (declaration && (declaration.type === \"TSInterfaceDeclaration\" || declaration.type === \"TSTypeAliasDeclaration\" || isDeclare)) {\n node.exportKind = \"type\";\n }\n\n if (declaration && isDeclare) {\n this.resetStartLocation(declaration, startPos, startLoc);\n declaration.declare = true;\n }\n\n return declaration;\n }\n\n parseClassId(node, isStatement, optionalId) {\n if ((!isStatement || optionalId) && this.isContextual(110)) {\n return;\n }\n\n super.parseClassId(node, isStatement, optionalId, node.declare ? BIND_TS_AMBIENT : BIND_CLASS);\n const typeParameters = this.tsTryParseTypeParameters();\n if (typeParameters) node.typeParameters = typeParameters;\n }\n\n parseClassPropertyAnnotation(node) {\n if (!node.optional && this.eat(35)) {\n node.definite = true;\n }\n\n const type = this.tsTryParseTypeAnnotation();\n if (type) node.typeAnnotation = type;\n }\n\n parseClassProperty(node) {\n this.parseClassPropertyAnnotation(node);\n\n if (this.state.isAmbientContext && this.match(29)) {\n this.raise(TSErrors.DeclareClassFieldHasInitializer, {\n at: this.state.startLoc\n });\n }\n\n if (node.abstract && this.match(29)) {\n const {\n key\n } = node;\n this.raise(TSErrors.AbstractPropertyHasInitializer, {\n at: this.state.startLoc\n }, key.type === \"Identifier\" && !node.computed ? key.name : `[${this.input.slice(key.start, key.end)}]`);\n }\n\n return super.parseClassProperty(node);\n }\n\n parseClassPrivateProperty(node) {\n if (node.abstract) {\n this.raise(TSErrors.PrivateElementHasAbstract, {\n node\n });\n }\n\n if (node.accessibility) {\n this.raise(TSErrors.PrivateElementHasAccessibility, {\n node\n }, node.accessibility);\n }\n\n this.parseClassPropertyAnnotation(node);\n return super.parseClassPrivateProperty(node);\n }\n\n pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {\n const typeParameters = this.tsTryParseTypeParameters();\n\n if (typeParameters && isConstructor) {\n this.raise(TSErrors.ConstructorHasTypeParameters, {\n node: typeParameters\n });\n }\n\n if (method.declare && (method.kind === \"get\" || method.kind === \"set\")) {\n this.raise(TSErrors.DeclareAccessor, {\n node: method\n }, method.kind);\n }\n\n if (typeParameters) method.typeParameters = typeParameters;\n super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper);\n }\n\n pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {\n const typeParameters = this.tsTryParseTypeParameters();\n if (typeParameters) method.typeParameters = typeParameters;\n super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync);\n }\n\n declareClassPrivateMethodInScope(node, kind) {\n if (node.type === \"TSDeclareMethod\") return;\n if (node.type === \"MethodDefinition\" && !node.value.body) return;\n super.declareClassPrivateMethodInScope(node, kind);\n }\n\n parseClassSuper(node) {\n super.parseClassSuper(node);\n\n if (node.superClass && (this.match(47) || this.match(51))) {\n node.superTypeParameters = this.tsParseTypeArgumentsInExpression();\n }\n\n if (this.eatContextual(110)) {\n node.implements = this.tsParseHeritageClause(\"implements\");\n }\n }\n\n parseObjPropValue(prop, ...args) {\n const typeParameters = this.tsTryParseTypeParameters();\n if (typeParameters) prop.typeParameters = typeParameters;\n super.parseObjPropValue(prop, ...args);\n }\n\n parseFunctionParams(node, allowModifiers) {\n const typeParameters = this.tsTryParseTypeParameters();\n if (typeParameters) node.typeParameters = typeParameters;\n super.parseFunctionParams(node, allowModifiers);\n }\n\n parseVarId(decl, kind) {\n super.parseVarId(decl, kind);\n\n if (decl.id.type === \"Identifier\" && !this.hasPrecedingLineBreak() && this.eat(35)) {\n decl.definite = true;\n }\n\n const type = this.tsTryParseTypeAnnotation();\n\n if (type) {\n decl.id.typeAnnotation = type;\n this.resetEndLocation(decl.id);\n }\n }\n\n parseAsyncArrowFromCallExpression(node, call) {\n if (this.match(14)) {\n node.returnType = this.tsParseTypeAnnotation();\n }\n\n return super.parseAsyncArrowFromCallExpression(node, call);\n }\n\n parseMaybeAssign(...args) {\n var _jsx, _jsx2, _typeCast, _jsx3, _typeCast2, _jsx4, _typeCast3;\n\n let state;\n let jsx;\n let typeCast;\n\n if (this.hasPlugin(\"jsx\") && (this.match(138) || this.match(47))) {\n state = this.state.clone();\n jsx = this.tryParse(() => super.parseMaybeAssign(...args), state);\n if (!jsx.error) return jsx.node;\n const {\n context\n } = this.state;\n const currentContext = context[context.length - 1];\n\n if (currentContext === types.j_oTag || currentContext === types.j_expr) {\n context.pop();\n }\n }\n\n if (!((_jsx = jsx) != null && _jsx.error) && !this.match(47)) {\n return super.parseMaybeAssign(...args);\n }\n\n let typeParameters;\n state = state || this.state.clone();\n const arrow = this.tryParse(abort => {\n var _expr$extra, _typeParameters;\n\n typeParameters = this.tsParseTypeParameters();\n const expr = super.parseMaybeAssign(...args);\n\n if (expr.type !== \"ArrowFunctionExpression\" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) {\n abort();\n }\n\n if (((_typeParameters = typeParameters) == null ? void 0 : _typeParameters.params.length) !== 0) {\n this.resetStartLocationFromNode(expr, typeParameters);\n }\n\n expr.typeParameters = typeParameters;\n return expr;\n }, state);\n\n if (!arrow.error && !arrow.aborted) {\n if (typeParameters) this.reportReservedArrowTypeParam(typeParameters);\n return arrow.node;\n }\n\n if (!jsx) {\n assert(!this.hasPlugin(\"jsx\"));\n typeCast = this.tryParse(() => super.parseMaybeAssign(...args), state);\n if (!typeCast.error) return typeCast.node;\n }\n\n if ((_jsx2 = jsx) != null && _jsx2.node) {\n this.state = jsx.failState;\n return jsx.node;\n }\n\n if (arrow.node) {\n this.state = arrow.failState;\n if (typeParameters) this.reportReservedArrowTypeParam(typeParameters);\n return arrow.node;\n }\n\n if ((_typeCast = typeCast) != null && _typeCast.node) {\n this.state = typeCast.failState;\n return typeCast.node;\n }\n\n if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error;\n if (arrow.thrown) throw arrow.error;\n if ((_typeCast2 = typeCast) != null && _typeCast2.thrown) throw typeCast.error;\n throw ((_jsx4 = jsx) == null ? void 0 : _jsx4.error) || arrow.error || ((_typeCast3 = typeCast) == null ? void 0 : _typeCast3.error);\n }\n\n reportReservedArrowTypeParam(node) {\n var _node$extra;\n\n if (node.params.length === 1 && !((_node$extra = node.extra) != null && _node$extra.trailingComma) && this.getPluginOption(\"typescript\", \"disallowAmbiguousJSXLike\")) {\n this.raise(TSErrors.ReservedArrowTypeParam, {\n node\n });\n }\n }\n\n parseMaybeUnary(refExpressionErrors) {\n if (!this.hasPlugin(\"jsx\") && this.match(47)) {\n return this.tsParseTypeAssertion();\n } else {\n return super.parseMaybeUnary(refExpressionErrors);\n }\n }\n\n parseArrow(node) {\n if (this.match(14)) {\n const result = this.tryParse(abort => {\n const returnType = this.tsParseTypeOrTypePredicateAnnotation(14);\n if (this.canInsertSemicolon() || !this.match(19)) abort();\n return returnType;\n });\n if (result.aborted) return;\n\n if (!result.thrown) {\n if (result.error) this.state = result.failState;\n node.returnType = result.node;\n }\n }\n\n return super.parseArrow(node);\n }\n\n parseAssignableListItemTypes(param) {\n if (this.eat(17)) {\n if (param.type !== \"Identifier\" && !this.state.isAmbientContext && !this.state.inType) {\n this.raise(TSErrors.PatternIsOptional, {\n node: param\n });\n }\n\n param.optional = true;\n }\n\n const type = this.tsTryParseTypeAnnotation();\n if (type) param.typeAnnotation = type;\n this.resetEndLocation(param);\n return param;\n }\n\n isAssignable(node, isBinding) {\n switch (node.type) {\n case \"TSTypeCastExpression\":\n return this.isAssignable(node.expression, isBinding);\n\n case \"TSParameterProperty\":\n return true;\n\n default:\n return super.isAssignable(node, isBinding);\n }\n }\n\n toAssignable(node, isLHS = false) {\n switch (node.type) {\n case \"TSTypeCastExpression\":\n return super.toAssignable(this.typeCastToParameter(node), isLHS);\n\n case \"TSParameterProperty\":\n return super.toAssignable(node, isLHS);\n\n case \"ParenthesizedExpression\":\n return this.toAssignableParenthesizedExpression(node, isLHS);\n\n case \"TSAsExpression\":\n case \"TSNonNullExpression\":\n case \"TSTypeAssertion\":\n node.expression = this.toAssignable(node.expression, isLHS);\n return node;\n\n default:\n return super.toAssignable(node, isLHS);\n }\n }\n\n toAssignableParenthesizedExpression(node, isLHS) {\n switch (node.expression.type) {\n case \"TSAsExpression\":\n case \"TSNonNullExpression\":\n case \"TSTypeAssertion\":\n case \"ParenthesizedExpression\":\n node.expression = this.toAssignable(node.expression, isLHS);\n return node;\n\n default:\n return super.toAssignable(node, isLHS);\n }\n }\n\n checkLVal(expr, contextDescription, ...args) {\n var _expr$extra2;\n\n switch (expr.type) {\n case \"TSTypeCastExpression\":\n return;\n\n case \"TSParameterProperty\":\n this.checkLVal(expr.parameter, \"parameter property\", ...args);\n return;\n\n case \"TSAsExpression\":\n case \"TSTypeAssertion\":\n if (!args[0] && contextDescription !== \"parenthesized expression\" && !((_expr$extra2 = expr.extra) != null && _expr$extra2.parenthesized)) {\n this.raise(ErrorMessages.InvalidLhs, {\n node: expr\n }, contextDescription);\n break;\n }\n\n this.checkLVal(expr.expression, \"parenthesized expression\", ...args);\n return;\n\n case \"TSNonNullExpression\":\n this.checkLVal(expr.expression, contextDescription, ...args);\n return;\n\n default:\n super.checkLVal(expr, contextDescription, ...args);\n return;\n }\n }\n\n parseBindingAtom() {\n switch (this.state.type) {\n case 78:\n return this.parseIdentifier(true);\n\n default:\n return super.parseBindingAtom();\n }\n }\n\n parseMaybeDecoratorArguments(expr) {\n if (this.match(47) || this.match(51)) {\n const typeArguments = this.tsParseTypeArgumentsInExpression();\n\n if (this.match(10)) {\n const call = super.parseMaybeDecoratorArguments(expr);\n call.typeParameters = typeArguments;\n return call;\n }\n\n this.unexpected(null, 10);\n }\n\n return super.parseMaybeDecoratorArguments(expr);\n }\n\n checkCommaAfterRest(close) {\n if (this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === close) {\n this.next();\n return false;\n } else {\n return super.checkCommaAfterRest(close);\n }\n }\n\n isClassMethod() {\n return this.match(47) || super.isClassMethod();\n }\n\n isClassProperty() {\n return this.match(35) || this.match(14) || super.isClassProperty();\n }\n\n parseMaybeDefault(...args) {\n const node = super.parseMaybeDefault(...args);\n\n if (node.type === \"AssignmentPattern\" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) {\n this.raise(TSErrors.TypeAnnotationAfterAssign, {\n node: node.typeAnnotation\n });\n }\n\n return node;\n }\n\n getTokenFromCode(code) {\n if (this.state.inType) {\n if (code === 62) {\n return this.finishOp(48, 1);\n }\n\n if (code === 60) {\n return this.finishOp(47, 1);\n }\n }\n\n return super.getTokenFromCode(code);\n }\n\n reScan_lt_gt() {\n const {\n type\n } = this.state;\n\n if (type === 47) {\n this.state.pos -= 1;\n this.readToken_lt();\n } else if (type === 48) {\n this.state.pos -= 1;\n this.readToken_gt();\n }\n }\n\n reScan_lt() {\n const {\n type\n } = this.state;\n\n if (type === 51) {\n this.state.pos -= 2;\n this.finishOp(47, 1);\n return 47;\n }\n\n return type;\n }\n\n toAssignableList(exprList) {\n for (let i = 0; i < exprList.length; i++) {\n const expr = exprList[i];\n if (!expr) continue;\n\n switch (expr.type) {\n case \"TSTypeCastExpression\":\n exprList[i] = this.typeCastToParameter(expr);\n break;\n\n case \"TSAsExpression\":\n case \"TSTypeAssertion\":\n if (!this.state.maybeInArrowParameters) {\n exprList[i] = this.typeCastToParameter(expr);\n } else {\n this.raise(TSErrors.UnexpectedTypeCastInParameter, {\n node: expr\n });\n }\n\n break;\n }\n }\n\n return super.toAssignableList(...arguments);\n }\n\n typeCastToParameter(node) {\n node.expression.typeAnnotation = node.typeAnnotation;\n this.resetEndLocation(node.expression, node.typeAnnotation.loc.end);\n return node.expression;\n }\n\n shouldParseArrow(params) {\n if (this.match(14)) {\n return params.every(expr => this.isAssignable(expr, true));\n }\n\n return super.shouldParseArrow(params);\n }\n\n shouldParseAsyncArrow() {\n return this.match(14) || super.shouldParseAsyncArrow();\n }\n\n canHaveLeadingDecorator() {\n return super.canHaveLeadingDecorator() || this.isAbstractClass();\n }\n\n jsxParseOpeningElementAfterName(node) {\n if (this.match(47) || this.match(51)) {\n const typeArguments = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression());\n if (typeArguments) node.typeParameters = typeArguments;\n }\n\n return super.jsxParseOpeningElementAfterName(node);\n }\n\n getGetterSetterExpectedParamCount(method) {\n const baseCount = super.getGetterSetterExpectedParamCount(method);\n const params = this.getObjectOrClassMethodParams(method);\n const firstParam = params[0];\n const hasContextParam = firstParam && this.isThisParam(firstParam);\n return hasContextParam ? baseCount + 1 : baseCount;\n }\n\n parseCatchClauseParam() {\n const param = super.parseCatchClauseParam();\n const type = this.tsTryParseTypeAnnotation();\n\n if (type) {\n param.typeAnnotation = type;\n this.resetEndLocation(param);\n }\n\n return param;\n }\n\n tsInAmbientContext(cb) {\n const oldIsAmbientContext = this.state.isAmbientContext;\n this.state.isAmbientContext = true;\n\n try {\n return cb();\n } finally {\n this.state.isAmbientContext = oldIsAmbientContext;\n }\n }\n\n parseClass(node, ...args) {\n const oldInAbstractClass = this.state.inAbstractClass;\n this.state.inAbstractClass = !!node.abstract;\n\n try {\n return super.parseClass(node, ...args);\n } finally {\n this.state.inAbstractClass = oldInAbstractClass;\n }\n }\n\n tsParseAbstractDeclaration(node) {\n if (this.match(80)) {\n node.abstract = true;\n return this.parseClass(node, true, false);\n } else if (this.isContextual(125)) {\n if (!this.hasFollowingLineBreak()) {\n node.abstract = true;\n this.raise(TSErrors.NonClassMethodPropertyHasAbstractModifer, {\n node\n });\n this.next();\n return this.tsParseInterfaceDeclaration(node);\n }\n } else {\n this.unexpected(null, 80);\n }\n }\n\n parseMethod(...args) {\n const method = super.parseMethod(...args);\n\n if (method.abstract) {\n const hasBody = this.hasPlugin(\"estree\") ? !!method.value.body : !!method.body;\n\n if (hasBody) {\n const {\n key\n } = method;\n this.raise(TSErrors.AbstractMethodHasImplementation, {\n node: method\n }, key.type === \"Identifier\" && !method.computed ? key.name : `[${this.input.slice(key.start, key.end)}]`);\n }\n }\n\n return method;\n }\n\n tsParseTypeParameterName() {\n const typeName = this.parseIdentifier();\n return typeName.name;\n }\n\n shouldParseAsAmbientContext() {\n return !!this.getPluginOption(\"typescript\", \"dts\");\n }\n\n parse() {\n if (this.shouldParseAsAmbientContext()) {\n this.state.isAmbientContext = true;\n }\n\n return super.parse();\n }\n\n getExpression() {\n if (this.shouldParseAsAmbientContext()) {\n this.state.isAmbientContext = true;\n }\n\n return super.getExpression();\n }\n\n parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) {\n if (!isString && isMaybeTypeOnly) {\n this.parseTypeOnlyImportExportSpecifier(node, false, isInTypeExport);\n return this.finishNode(node, \"ExportSpecifier\");\n }\n\n node.exportKind = \"value\";\n return super.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly);\n }\n\n parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly) {\n if (!importedIsString && isMaybeTypeOnly) {\n this.parseTypeOnlyImportExportSpecifier(specifier, true, isInTypeOnlyImport);\n return this.finishNode(specifier, \"ImportSpecifier\");\n }\n\n specifier.importKind = \"value\";\n return super.parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly);\n }\n\n parseTypeOnlyImportExportSpecifier(node, isImport, isInTypeOnlyImportExport) {\n const leftOfAsKey = isImport ? \"imported\" : \"local\";\n const rightOfAsKey = isImport ? \"local\" : \"exported\";\n let leftOfAs = node[leftOfAsKey];\n let rightOfAs;\n let hasTypeSpecifier = false;\n let canParseAsKeyword = true;\n const loc = leftOfAs.loc.start;\n\n if (this.isContextual(93)) {\n const firstAs = this.parseIdentifier();\n\n if (this.isContextual(93)) {\n const secondAs = this.parseIdentifier();\n\n if (tokenIsKeywordOrIdentifier(this.state.type)) {\n hasTypeSpecifier = true;\n leftOfAs = firstAs;\n rightOfAs = this.parseIdentifier();\n canParseAsKeyword = false;\n } else {\n rightOfAs = secondAs;\n canParseAsKeyword = false;\n }\n } else if (tokenIsKeywordOrIdentifier(this.state.type)) {\n canParseAsKeyword = false;\n rightOfAs = this.parseIdentifier();\n } else {\n hasTypeSpecifier = true;\n leftOfAs = firstAs;\n }\n } else if (tokenIsKeywordOrIdentifier(this.state.type)) {\n hasTypeSpecifier = true;\n leftOfAs = this.parseIdentifier();\n }\n\n if (hasTypeSpecifier && isInTypeOnlyImportExport) {\n this.raise(isImport ? TSErrors.TypeModifierIsUsedInTypeImports : TSErrors.TypeModifierIsUsedInTypeExports, {\n at: loc\n });\n }\n\n node[leftOfAsKey] = leftOfAs;\n node[rightOfAsKey] = rightOfAs;\n const kindKey = isImport ? \"importKind\" : \"exportKind\";\n node[kindKey] = hasTypeSpecifier ? \"type\" : \"value\";\n\n if (canParseAsKeyword && this.eatContextual(93)) {\n node[rightOfAsKey] = isImport ? this.parseIdentifier() : this.parseModuleExportName();\n }\n\n if (!node[rightOfAsKey]) {\n node[rightOfAsKey] = cloneIdentifier(node[leftOfAsKey]);\n }\n\n if (isImport) {\n this.checkLVal(node[rightOfAsKey], \"import specifier\", BIND_LEXICAL);\n }\n }\n\n});\n\nconst PlaceholderErrors = makeErrorTemplates({\n ClassNameIsRequired: \"A class name is required.\"\n}, ErrorCodes.SyntaxError, \"placeholders\");\nvar placeholders = (superClass => class extends superClass {\n parsePlaceholder(expectedNode) {\n if (this.match(140)) {\n const node = this.startNode();\n this.next();\n this.assertNoSpace(\"Unexpected space in placeholder.\");\n node.name = super.parseIdentifier(true);\n this.assertNoSpace(\"Unexpected space in placeholder.\");\n this.expect(140);\n return this.finishPlaceholder(node, expectedNode);\n }\n }\n\n finishPlaceholder(node, expectedNode) {\n const isFinished = !!(node.expectedNode && node.type === \"Placeholder\");\n node.expectedNode = expectedNode;\n return isFinished ? node : this.finishNode(node, \"Placeholder\");\n }\n\n getTokenFromCode(code) {\n if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) {\n return this.finishOp(140, 2);\n }\n\n return super.getTokenFromCode(...arguments);\n }\n\n parseExprAtom() {\n return this.parsePlaceholder(\"Expression\") || super.parseExprAtom(...arguments);\n }\n\n parseIdentifier() {\n return this.parsePlaceholder(\"Identifier\") || super.parseIdentifier(...arguments);\n }\n\n checkReservedWord(word) {\n if (word !== undefined) super.checkReservedWord(...arguments);\n }\n\n parseBindingAtom() {\n return this.parsePlaceholder(\"Pattern\") || super.parseBindingAtom(...arguments);\n }\n\n checkLVal(expr) {\n if (expr.type !== \"Placeholder\") super.checkLVal(...arguments);\n }\n\n toAssignable(node) {\n if (node && node.type === \"Placeholder\" && node.expectedNode === \"Expression\") {\n node.expectedNode = \"Pattern\";\n return node;\n }\n\n return super.toAssignable(...arguments);\n }\n\n isLet(context) {\n if (super.isLet(context)) {\n return true;\n }\n\n if (!this.isContextual(99)) {\n return false;\n }\n\n if (context) return false;\n const nextToken = this.lookahead();\n\n if (nextToken.type === 140) {\n return true;\n }\n\n return false;\n }\n\n verifyBreakContinue(node) {\n if (node.label && node.label.type === \"Placeholder\") return;\n super.verifyBreakContinue(...arguments);\n }\n\n parseExpressionStatement(node, expr) {\n if (expr.type !== \"Placeholder\" || expr.extra && expr.extra.parenthesized) {\n return super.parseExpressionStatement(...arguments);\n }\n\n if (this.match(14)) {\n const stmt = node;\n stmt.label = this.finishPlaceholder(expr, \"Identifier\");\n this.next();\n stmt.body = this.parseStatement(\"label\");\n return this.finishNode(stmt, \"LabeledStatement\");\n }\n\n this.semicolon();\n node.name = expr.name;\n return this.finishPlaceholder(node, \"Statement\");\n }\n\n parseBlock() {\n return this.parsePlaceholder(\"BlockStatement\") || super.parseBlock(...arguments);\n }\n\n parseFunctionId() {\n return this.parsePlaceholder(\"Identifier\") || super.parseFunctionId(...arguments);\n }\n\n parseClass(node, isStatement, optionalId) {\n const type = isStatement ? \"ClassDeclaration\" : \"ClassExpression\";\n this.next();\n this.takeDecorators(node);\n const oldStrict = this.state.strict;\n const placeholder = this.parsePlaceholder(\"Identifier\");\n\n if (placeholder) {\n if (this.match(81) || this.match(140) || this.match(5)) {\n node.id = placeholder;\n } else if (optionalId || !isStatement) {\n node.id = null;\n node.body = this.finishPlaceholder(placeholder, \"ClassBody\");\n return this.finishNode(node, type);\n } else {\n throw this.raise(PlaceholderErrors.ClassNameIsRequired, {\n at: this.state.startLoc\n });\n }\n } else {\n this.parseClassId(node, isStatement, optionalId);\n }\n\n this.parseClassSuper(node);\n node.body = this.parsePlaceholder(\"ClassBody\") || this.parseClassBody(!!node.superClass, oldStrict);\n return this.finishNode(node, type);\n }\n\n parseExport(node) {\n const placeholder = this.parsePlaceholder(\"Identifier\");\n if (!placeholder) return super.parseExport(...arguments);\n\n if (!this.isContextual(97) && !this.match(12)) {\n node.specifiers = [];\n node.source = null;\n node.declaration = this.finishPlaceholder(placeholder, \"Declaration\");\n return this.finishNode(node, \"ExportNamedDeclaration\");\n }\n\n this.expectPlugin(\"exportDefaultFrom\");\n const specifier = this.startNode();\n specifier.exported = placeholder;\n node.specifiers = [this.finishNode(specifier, \"ExportDefaultSpecifier\")];\n return super.parseExport(node);\n }\n\n isExportDefaultSpecifier() {\n if (this.match(65)) {\n const next = this.nextTokenStart();\n\n if (this.isUnparsedContextual(next, \"from\")) {\n if (this.input.startsWith(tokenLabelName(140), this.nextTokenStartSince(next + 4))) {\n return true;\n }\n }\n }\n\n return super.isExportDefaultSpecifier();\n }\n\n maybeParseExportDefaultSpecifier(node) {\n if (node.specifiers && node.specifiers.length > 0) {\n return true;\n }\n\n return super.maybeParseExportDefaultSpecifier(...arguments);\n }\n\n checkExport(node) {\n const {\n specifiers\n } = node;\n\n if (specifiers != null && specifiers.length) {\n node.specifiers = specifiers.filter(node => node.exported.type === \"Placeholder\");\n }\n\n super.checkExport(node);\n node.specifiers = specifiers;\n }\n\n parseImport(node) {\n const placeholder = this.parsePlaceholder(\"Identifier\");\n if (!placeholder) return super.parseImport(...arguments);\n node.specifiers = [];\n\n if (!this.isContextual(97) && !this.match(12)) {\n node.source = this.finishPlaceholder(placeholder, \"StringLiteral\");\n this.semicolon();\n return this.finishNode(node, \"ImportDeclaration\");\n }\n\n const specifier = this.startNodeAtNode(placeholder);\n specifier.local = placeholder;\n this.finishNode(specifier, \"ImportDefaultSpecifier\");\n node.specifiers.push(specifier);\n\n if (this.eat(12)) {\n const hasStarImport = this.maybeParseStarImportSpecifier(node);\n if (!hasStarImport) this.parseNamedImportSpecifiers(node);\n }\n\n this.expectContextual(97);\n node.source = this.parseImportSource();\n this.semicolon();\n return this.finishNode(node, \"ImportDeclaration\");\n }\n\n parseImportSource() {\n return this.parsePlaceholder(\"StringLiteral\") || super.parseImportSource(...arguments);\n }\n\n});\n\nvar v8intrinsic = (superClass => class extends superClass {\n parseV8Intrinsic() {\n if (this.match(54)) {\n const v8IntrinsicStartLoc = this.state.startLoc;\n const node = this.startNode();\n this.next();\n\n if (tokenIsIdentifier(this.state.type)) {\n const name = this.parseIdentifierName(this.state.start);\n const identifier = this.createIdentifier(node, name);\n identifier.type = \"V8IntrinsicIdentifier\";\n\n if (this.match(10)) {\n return identifier;\n }\n }\n\n this.unexpected(v8IntrinsicStartLoc);\n }\n }\n\n parseExprAtom() {\n return this.parseV8Intrinsic() || super.parseExprAtom(...arguments);\n }\n\n});\n\nfunction hasPlugin(plugins, expectedConfig) {\n const [expectedName, expectedOptions] = typeof expectedConfig === \"string\" ? [expectedConfig, {}] : expectedConfig;\n const expectedKeys = Object.keys(expectedOptions);\n const expectedOptionsIsEmpty = expectedKeys.length === 0;\n return plugins.some(p => {\n if (typeof p === \"string\") {\n return expectedOptionsIsEmpty && p === expectedName;\n } else {\n const [pluginName, pluginOptions] = p;\n\n if (pluginName !== expectedName) {\n return false;\n }\n\n for (const key of expectedKeys) {\n if (pluginOptions[key] !== expectedOptions[key]) {\n return false;\n }\n }\n\n return true;\n }\n });\n}\nfunction getPluginOption(plugins, name, option) {\n const plugin = plugins.find(plugin => {\n if (Array.isArray(plugin)) {\n return plugin[0] === name;\n } else {\n return plugin === name;\n }\n });\n\n if (plugin && Array.isArray(plugin)) {\n return plugin[1][option];\n }\n\n return null;\n}\nconst PIPELINE_PROPOSALS = [\"minimal\", \"fsharp\", \"hack\", \"smart\"];\nconst TOPIC_TOKENS = [\"^^\", \"@@\", \"^\", \"%\", \"#\"];\nconst RECORD_AND_TUPLE_SYNTAX_TYPES = [\"hash\", \"bar\"];\nfunction validatePlugins(plugins) {\n if (hasPlugin(plugins, \"decorators\")) {\n if (hasPlugin(plugins, \"decorators-legacy\")) {\n throw new Error(\"Cannot use the decorators and decorators-legacy plugin together\");\n }\n\n const decoratorsBeforeExport = getPluginOption(plugins, \"decorators\", \"decoratorsBeforeExport\");\n\n if (decoratorsBeforeExport == null) {\n throw new Error(\"The 'decorators' plugin requires a 'decoratorsBeforeExport' option,\" + \" whose value must be a boolean. If you are migrating from\" + \" Babylon/Babel 6 or want to use the old decorators proposal, you\" + \" should use the 'decorators-legacy' plugin instead of 'decorators'.\");\n } else if (typeof decoratorsBeforeExport !== \"boolean\") {\n throw new Error(\"'decoratorsBeforeExport' must be a boolean.\");\n }\n }\n\n if (hasPlugin(plugins, \"flow\") && hasPlugin(plugins, \"typescript\")) {\n throw new Error(\"Cannot combine flow and typescript plugins.\");\n }\n\n if (hasPlugin(plugins, \"placeholders\") && hasPlugin(plugins, \"v8intrinsic\")) {\n throw new Error(\"Cannot combine placeholders and v8intrinsic plugins.\");\n }\n\n if (hasPlugin(plugins, \"pipelineOperator\")) {\n const proposal = getPluginOption(plugins, \"pipelineOperator\", \"proposal\");\n\n if (!PIPELINE_PROPOSALS.includes(proposal)) {\n const proposalList = PIPELINE_PROPOSALS.map(p => `\"${p}\"`).join(\", \");\n throw new Error(`\"pipelineOperator\" requires \"proposal\" option whose value must be one of: ${proposalList}.`);\n }\n\n const tupleSyntaxIsHash = hasPlugin(plugins, [\"recordAndTuple\", {\n syntaxType: \"hash\"\n }]);\n\n if (proposal === \"hack\") {\n if (hasPlugin(plugins, \"placeholders\")) {\n throw new Error(\"Cannot combine placeholders plugin and Hack-style pipes.\");\n }\n\n if (hasPlugin(plugins, \"v8intrinsic\")) {\n throw new Error(\"Cannot combine v8intrinsic plugin and Hack-style pipes.\");\n }\n\n const topicToken = getPluginOption(plugins, \"pipelineOperator\", \"topicToken\");\n\n if (!TOPIC_TOKENS.includes(topicToken)) {\n const tokenList = TOPIC_TOKENS.map(t => `\"${t}\"`).join(\", \");\n throw new Error(`\"pipelineOperator\" in \"proposal\": \"hack\" mode also requires a \"topicToken\" option whose value must be one of: ${tokenList}.`);\n }\n\n if (topicToken === \"#\" && tupleSyntaxIsHash) {\n throw new Error('Plugin conflict between `[\"pipelineOperator\", { proposal: \"hack\", topicToken: \"#\" }]` and `[\"recordAndtuple\", { syntaxType: \"hash\"}]`.');\n }\n } else if (proposal === \"smart\" && tupleSyntaxIsHash) {\n throw new Error('Plugin conflict between `[\"pipelineOperator\", { proposal: \"smart\" }]` and `[\"recordAndtuple\", { syntaxType: \"hash\"}]`.');\n }\n }\n\n if (hasPlugin(plugins, \"moduleAttributes\")) {\n {\n if (hasPlugin(plugins, \"importAssertions\")) {\n throw new Error(\"Cannot combine importAssertions and moduleAttributes plugins.\");\n }\n\n const moduleAttributesVerionPluginOption = getPluginOption(plugins, \"moduleAttributes\", \"version\");\n\n if (moduleAttributesVerionPluginOption !== \"may-2020\") {\n throw new Error(\"The 'moduleAttributes' plugin requires a 'version' option,\" + \" representing the last proposal update. Currently, the\" + \" only supported value is 'may-2020'.\");\n }\n }\n }\n\n if (hasPlugin(plugins, \"recordAndTuple\") && !RECORD_AND_TUPLE_SYNTAX_TYPES.includes(getPluginOption(plugins, \"recordAndTuple\", \"syntaxType\"))) {\n throw new Error(\"'recordAndTuple' requires 'syntaxType' option whose value should be one of: \" + RECORD_AND_TUPLE_SYNTAX_TYPES.map(p => `'${p}'`).join(\", \"));\n }\n\n if (hasPlugin(plugins, \"asyncDoExpressions\") && !hasPlugin(plugins, \"doExpressions\")) {\n const error = new Error(\"'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.\");\n error.missingPlugins = \"doExpressions\";\n throw error;\n }\n}\nconst mixinPlugins = {\n estree,\n jsx,\n flow,\n typescript,\n v8intrinsic,\n placeholders\n};\nconst mixinPluginNames = Object.keys(mixinPlugins);\n\nconst defaultOptions = {\n sourceType: \"script\",\n sourceFilename: undefined,\n startColumn: 0,\n startLine: 1,\n allowAwaitOutsideFunction: false,\n allowReturnOutsideFunction: false,\n allowImportExportEverywhere: false,\n allowSuperOutsideMethod: false,\n allowUndeclaredExports: false,\n plugins: [],\n strictMode: null,\n ranges: false,\n tokens: false,\n createParenthesizedExpressions: false,\n errorRecovery: false,\n attachComment: true\n};\nfunction getOptions(opts) {\n const options = {};\n\n for (const key of Object.keys(defaultOptions)) {\n options[key] = opts && opts[key] != null ? opts[key] : defaultOptions[key];\n }\n\n return options;\n}\n\nconst unwrapParenthesizedExpression = node => {\n return node.type === \"ParenthesizedExpression\" ? unwrapParenthesizedExpression(node.expression) : node;\n};\n\nclass LValParser extends NodeUtils {\n toAssignable(node, isLHS = false) {\n var _node$extra, _node$extra3;\n\n let parenthesized = undefined;\n\n if (node.type === \"ParenthesizedExpression\" || (_node$extra = node.extra) != null && _node$extra.parenthesized) {\n parenthesized = unwrapParenthesizedExpression(node);\n\n if (isLHS) {\n if (parenthesized.type === \"Identifier\") {\n this.expressionScope.recordParenthesizedIdentifierError(ErrorMessages.InvalidParenthesizedAssignment, node.loc.start);\n } else if (parenthesized.type !== \"MemberExpression\") {\n this.raise(ErrorMessages.InvalidParenthesizedAssignment, {\n node\n });\n }\n } else {\n this.raise(ErrorMessages.InvalidParenthesizedAssignment, {\n node\n });\n }\n }\n\n switch (node.type) {\n case \"Identifier\":\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n case \"AssignmentPattern\":\n case \"RestElement\":\n break;\n\n case \"ObjectExpression\":\n node.type = \"ObjectPattern\";\n\n for (let i = 0, length = node.properties.length, last = length - 1; i < length; i++) {\n var _node$extra2;\n\n const prop = node.properties[i];\n const isLast = i === last;\n this.toAssignableObjectExpressionProp(prop, isLast, isLHS);\n\n if (isLast && prop.type === \"RestElement\" && (_node$extra2 = node.extra) != null && _node$extra2.trailingCommaLoc) {\n this.raise(ErrorMessages.RestTrailingComma, {\n at: node.extra.trailingCommaLoc\n });\n }\n }\n\n break;\n\n case \"ObjectProperty\":\n {\n const {\n key,\n value\n } = node;\n\n if (this.isPrivateName(key)) {\n this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start);\n }\n\n this.toAssignable(value, isLHS);\n break;\n }\n\n case \"SpreadElement\":\n {\n this.checkToRestConversion(node);\n node.type = \"RestElement\";\n const arg = node.argument;\n this.toAssignable(arg, isLHS);\n break;\n }\n\n case \"ArrayExpression\":\n node.type = \"ArrayPattern\";\n this.toAssignableList(node.elements, (_node$extra3 = node.extra) == null ? void 0 : _node$extra3.trailingCommaLoc, isLHS);\n break;\n\n case \"AssignmentExpression\":\n if (node.operator !== \"=\") {\n this.raise(ErrorMessages.MissingEqInAssignment, {\n at: node.left.loc.end\n });\n }\n\n node.type = \"AssignmentPattern\";\n delete node.operator;\n this.toAssignable(node.left, isLHS);\n break;\n\n case \"ParenthesizedExpression\":\n this.toAssignable(parenthesized, isLHS);\n break;\n }\n\n return node;\n }\n\n toAssignableObjectExpressionProp(prop, isLast, isLHS) {\n if (prop.type === \"ObjectMethod\") {\n this.raise(prop.kind === \"get\" || prop.kind === \"set\" ? ErrorMessages.PatternHasAccessor : ErrorMessages.PatternHasMethod, {\n node: prop.key\n });\n } else if (prop.type === \"SpreadElement\" && !isLast) {\n this.raise(ErrorMessages.RestTrailingComma, {\n node: prop\n });\n } else {\n this.toAssignable(prop, isLHS);\n }\n }\n\n toAssignableList(exprList, trailingCommaLoc, isLHS) {\n let end = exprList.length;\n\n if (end) {\n const last = exprList[end - 1];\n\n if ((last == null ? void 0 : last.type) === \"RestElement\") {\n --end;\n } else if ((last == null ? void 0 : last.type) === \"SpreadElement\") {\n last.type = \"RestElement\";\n let arg = last.argument;\n this.toAssignable(arg, isLHS);\n arg = unwrapParenthesizedExpression(arg);\n\n if (arg.type !== \"Identifier\" && arg.type !== \"MemberExpression\" && arg.type !== \"ArrayPattern\" && arg.type !== \"ObjectPattern\") {\n this.unexpected(arg.start);\n }\n\n if (trailingCommaLoc) {\n this.raise(ErrorMessages.RestTrailingComma, {\n at: trailingCommaLoc\n });\n }\n\n --end;\n }\n }\n\n for (let i = 0; i < end; i++) {\n const elt = exprList[i];\n\n if (elt) {\n this.toAssignable(elt, isLHS);\n\n if (elt.type === \"RestElement\") {\n this.raise(ErrorMessages.RestTrailingComma, {\n node: elt\n });\n }\n }\n }\n\n return exprList;\n }\n\n isAssignable(node, isBinding) {\n switch (node.type) {\n case \"Identifier\":\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n case \"AssignmentPattern\":\n case \"RestElement\":\n return true;\n\n case \"ObjectExpression\":\n {\n const last = node.properties.length - 1;\n return node.properties.every((prop, i) => {\n return prop.type !== \"ObjectMethod\" && (i === last || prop.type !== \"SpreadElement\") && this.isAssignable(prop);\n });\n }\n\n case \"ObjectProperty\":\n return this.isAssignable(node.value);\n\n case \"SpreadElement\":\n return this.isAssignable(node.argument);\n\n case \"ArrayExpression\":\n return node.elements.every(element => element === null || this.isAssignable(element));\n\n case \"AssignmentExpression\":\n return node.operator === \"=\";\n\n case \"ParenthesizedExpression\":\n return this.isAssignable(node.expression);\n\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n return !isBinding;\n\n default:\n return false;\n }\n }\n\n toReferencedList(exprList, isParenthesizedExpr) {\n return exprList;\n }\n\n toReferencedListDeep(exprList, isParenthesizedExpr) {\n this.toReferencedList(exprList, isParenthesizedExpr);\n\n for (const expr of exprList) {\n if ((expr == null ? void 0 : expr.type) === \"ArrayExpression\") {\n this.toReferencedListDeep(expr.elements);\n }\n }\n }\n\n parseSpread(refExpressionErrors, refNeedsArrowPos) {\n const node = this.startNode();\n this.next();\n node.argument = this.parseMaybeAssignAllowIn(refExpressionErrors, undefined, refNeedsArrowPos);\n return this.finishNode(node, \"SpreadElement\");\n }\n\n parseRestBinding() {\n const node = this.startNode();\n this.next();\n node.argument = this.parseBindingAtom();\n return this.finishNode(node, \"RestElement\");\n }\n\n parseBindingAtom() {\n switch (this.state.type) {\n case 0:\n {\n const node = this.startNode();\n this.next();\n node.elements = this.parseBindingList(3, 93, true);\n return this.finishNode(node, \"ArrayPattern\");\n }\n\n case 5:\n return this.parseObjectLike(8, true);\n }\n\n return this.parseIdentifier();\n }\n\n parseBindingList(close, closeCharCode, allowEmpty, allowModifiers) {\n const elts = [];\n let first = true;\n\n while (!this.eat(close)) {\n if (first) {\n first = false;\n } else {\n this.expect(12);\n }\n\n if (allowEmpty && this.match(12)) {\n elts.push(null);\n } else if (this.eat(close)) {\n break;\n } else if (this.match(21)) {\n elts.push(this.parseAssignableListItemTypes(this.parseRestBinding()));\n\n if (!this.checkCommaAfterRest(closeCharCode)) {\n this.expect(close);\n break;\n }\n } else {\n const decorators = [];\n\n if (this.match(26) && this.hasPlugin(\"decorators\")) {\n this.raise(ErrorMessages.UnsupportedParameterDecorator, {\n at: this.state.startLoc\n });\n }\n\n while (this.match(26)) {\n decorators.push(this.parseDecorator());\n }\n\n elts.push(this.parseAssignableListItem(allowModifiers, decorators));\n }\n }\n\n return elts;\n }\n\n parseBindingRestProperty(prop) {\n this.next();\n prop.argument = this.parseIdentifier();\n this.checkCommaAfterRest(125);\n return this.finishNode(prop, \"RestElement\");\n }\n\n parseBindingProperty() {\n const prop = this.startNode();\n const {\n type,\n start: startPos,\n startLoc\n } = this.state;\n\n if (type === 21) {\n return this.parseBindingRestProperty(prop);\n } else if (type === 134) {\n this.expectPlugin(\"destructuringPrivate\", startLoc);\n this.classScope.usePrivateName(this.state.value, startLoc);\n prop.key = this.parsePrivateName();\n } else {\n this.parsePropertyName(prop);\n }\n\n prop.method = false;\n this.parseObjPropValue(prop, startPos, startLoc, false, false, true, false);\n return prop;\n }\n\n parseAssignableListItem(allowModifiers, decorators) {\n const left = this.parseMaybeDefault();\n this.parseAssignableListItemTypes(left);\n const elt = this.parseMaybeDefault(left.start, left.loc.start, left);\n\n if (decorators.length) {\n left.decorators = decorators;\n }\n\n return elt;\n }\n\n parseAssignableListItemTypes(param) {\n return param;\n }\n\n parseMaybeDefault(startPos, startLoc, left) {\n var _startLoc, _startPos, _left;\n\n startLoc = (_startLoc = startLoc) != null ? _startLoc : this.state.startLoc;\n startPos = (_startPos = startPos) != null ? _startPos : this.state.start;\n left = (_left = left) != null ? _left : this.parseBindingAtom();\n if (!this.eat(29)) return left;\n const node = this.startNodeAt(startPos, startLoc);\n node.left = left;\n node.right = this.parseMaybeAssignAllowIn();\n return this.finishNode(node, \"AssignmentPattern\");\n }\n\n checkLVal(expr, contextDescription, bindingType = BIND_NONE, checkClashes, disallowLetBinding, strictModeChanged = false) {\n switch (expr.type) {\n case \"Identifier\":\n {\n const {\n name\n } = expr;\n\n if (this.state.strict && (strictModeChanged ? isStrictBindReservedWord(name, this.inModule) : isStrictBindOnlyReservedWord(name))) {\n this.raise(bindingType === BIND_NONE ? ErrorMessages.StrictEvalArguments : ErrorMessages.StrictEvalArgumentsBinding, {\n node: expr\n }, name);\n }\n\n if (checkClashes) {\n if (checkClashes.has(name)) {\n this.raise(ErrorMessages.ParamDupe, {\n node: expr\n });\n } else {\n checkClashes.add(name);\n }\n }\n\n if (disallowLetBinding && name === \"let\") {\n this.raise(ErrorMessages.LetInLexicalBinding, {\n node: expr\n });\n }\n\n if (!(bindingType & BIND_NONE)) {\n this.scope.declareName(name, bindingType, expr.loc.start);\n }\n\n break;\n }\n\n case \"MemberExpression\":\n if (bindingType !== BIND_NONE) {\n this.raise(ErrorMessages.InvalidPropertyBindingPattern, {\n node: expr\n });\n }\n\n break;\n\n case \"ObjectPattern\":\n for (let prop of expr.properties) {\n if (this.isObjectProperty(prop)) prop = prop.value;else if (this.isObjectMethod(prop)) continue;\n this.checkLVal(prop, \"object destructuring pattern\", bindingType, checkClashes, disallowLetBinding);\n }\n\n break;\n\n case \"ArrayPattern\":\n for (const elem of expr.elements) {\n if (elem) {\n this.checkLVal(elem, \"array destructuring pattern\", bindingType, checkClashes, disallowLetBinding);\n }\n }\n\n break;\n\n case \"AssignmentPattern\":\n this.checkLVal(expr.left, \"assignment pattern\", bindingType, checkClashes);\n break;\n\n case \"RestElement\":\n this.checkLVal(expr.argument, \"rest element\", bindingType, checkClashes);\n break;\n\n case \"ParenthesizedExpression\":\n this.checkLVal(expr.expression, \"parenthesized expression\", bindingType, checkClashes);\n break;\n\n default:\n {\n this.raise(bindingType === BIND_NONE ? ErrorMessages.InvalidLhs : ErrorMessages.InvalidLhsBinding, {\n node: expr\n }, contextDescription);\n }\n }\n }\n\n checkToRestConversion(node) {\n if (node.argument.type !== \"Identifier\" && node.argument.type !== \"MemberExpression\") {\n this.raise(ErrorMessages.InvalidRestAssignmentPattern, {\n node: node.argument\n });\n }\n }\n\n checkCommaAfterRest(close) {\n if (!this.match(12)) {\n return false;\n }\n\n this.raise(this.lookaheadCharCode() === close ? ErrorMessages.RestTrailingComma : ErrorMessages.ElementAfterRest, {\n at: this.state.startLoc\n });\n return true;\n }\n\n}\n\nconst invalidHackPipeBodies = new Map([[\"ArrowFunctionExpression\", \"arrow function\"], [\"AssignmentExpression\", \"assignment\"], [\"ConditionalExpression\", \"conditional\"], [\"YieldExpression\", \"yield\"]]);\nclass ExpressionParser extends LValParser {\n checkProto(prop, isRecord, protoRef, refExpressionErrors) {\n if (prop.type === \"SpreadElement\" || this.isObjectMethod(prop) || prop.computed || prop.shorthand) {\n return;\n }\n\n const key = prop.key;\n const name = key.type === \"Identifier\" ? key.name : key.value;\n\n if (name === \"__proto__\") {\n if (isRecord) {\n this.raise(ErrorMessages.RecordNoProto, {\n node: key\n });\n return;\n }\n\n if (protoRef.used) {\n if (refExpressionErrors) {\n if (refExpressionErrors.doubleProtoLoc === null) {\n refExpressionErrors.doubleProtoLoc = key.loc.start;\n }\n } else {\n this.raise(ErrorMessages.DuplicateProto, {\n node: key\n });\n }\n }\n\n protoRef.used = true;\n }\n }\n\n shouldExitDescending(expr, potentialArrowAt) {\n return expr.type === \"ArrowFunctionExpression\" && expr.start === potentialArrowAt;\n }\n\n getExpression() {\n this.enterInitialScopes();\n this.nextToken();\n const expr = this.parseExpression();\n\n if (!this.match(135)) {\n this.unexpected();\n }\n\n this.finalizeRemainingComments();\n expr.comments = this.state.comments;\n expr.errors = this.state.errors;\n\n if (this.options.tokens) {\n expr.tokens = this.tokens;\n }\n\n return expr;\n }\n\n parseExpression(disallowIn, refExpressionErrors) {\n if (disallowIn) {\n return this.disallowInAnd(() => this.parseExpressionBase(refExpressionErrors));\n }\n\n return this.allowInAnd(() => this.parseExpressionBase(refExpressionErrors));\n }\n\n parseExpressionBase(refExpressionErrors) {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const expr = this.parseMaybeAssign(refExpressionErrors);\n\n if (this.match(12)) {\n const node = this.startNodeAt(startPos, startLoc);\n node.expressions = [expr];\n\n while (this.eat(12)) {\n node.expressions.push(this.parseMaybeAssign(refExpressionErrors));\n }\n\n this.toReferencedList(node.expressions);\n return this.finishNode(node, \"SequenceExpression\");\n }\n\n return expr;\n }\n\n parseMaybeAssignDisallowIn(refExpressionErrors, afterLeftParse) {\n return this.disallowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse));\n }\n\n parseMaybeAssignAllowIn(refExpressionErrors, afterLeftParse) {\n return this.allowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse));\n }\n\n setOptionalParametersError(refExpressionErrors, resultError) {\n var _resultError$loc;\n\n refExpressionErrors.optionalParametersLoc = (_resultError$loc = resultError == null ? void 0 : resultError.loc) != null ? _resultError$loc : this.state.startLoc;\n }\n\n parseMaybeAssign(refExpressionErrors, afterLeftParse) {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n\n if (this.isContextual(105)) {\n if (this.prodParam.hasYield) {\n let left = this.parseYield();\n\n if (afterLeftParse) {\n left = afterLeftParse.call(this, left, startPos, startLoc);\n }\n\n return left;\n }\n }\n\n let ownExpressionErrors;\n\n if (refExpressionErrors) {\n ownExpressionErrors = false;\n } else {\n refExpressionErrors = new ExpressionErrors();\n ownExpressionErrors = true;\n }\n\n const {\n type\n } = this.state;\n\n if (type === 10 || tokenIsIdentifier(type)) {\n this.state.potentialArrowAt = this.state.start;\n }\n\n let left = this.parseMaybeConditional(refExpressionErrors);\n\n if (afterLeftParse) {\n left = afterLeftParse.call(this, left, startPos, startLoc);\n }\n\n if (tokenIsAssignment(this.state.type)) {\n const node = this.startNodeAt(startPos, startLoc);\n const operator = this.state.value;\n node.operator = operator;\n\n if (this.match(29)) {\n node.left = this.toAssignable(left, true);\n\n if (refExpressionErrors.doubleProtoLoc != null && refExpressionErrors.doubleProtoLoc.index >= startPos) {\n refExpressionErrors.doubleProtoLoc = null;\n }\n\n if (refExpressionErrors.shorthandAssignLoc != null && refExpressionErrors.shorthandAssignLoc.index >= startPos) {\n refExpressionErrors.shorthandAssignLoc = null;\n }\n\n if (refExpressionErrors.privateKeyLoc != null && refExpressionErrors.privateKeyLoc.index >= startPos) {\n this.checkDestructuringPrivate(refExpressionErrors);\n refExpressionErrors.privateKeyLoc = null;\n }\n } else {\n node.left = left;\n }\n\n this.checkLVal(left, \"assignment expression\");\n this.next();\n node.right = this.parseMaybeAssign();\n return this.finishNode(node, \"AssignmentExpression\");\n } else if (ownExpressionErrors) {\n this.checkExpressionErrors(refExpressionErrors, true);\n }\n\n return left;\n }\n\n parseMaybeConditional(refExpressionErrors) {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const potentialArrowAt = this.state.potentialArrowAt;\n const expr = this.parseExprOps(refExpressionErrors);\n\n if (this.shouldExitDescending(expr, potentialArrowAt)) {\n return expr;\n }\n\n return this.parseConditional(expr, startPos, startLoc, refExpressionErrors);\n }\n\n parseConditional(expr, startPos, startLoc, refExpressionErrors) {\n if (this.eat(17)) {\n const node = this.startNodeAt(startPos, startLoc);\n node.test = expr;\n node.consequent = this.parseMaybeAssignAllowIn();\n this.expect(14);\n node.alternate = this.parseMaybeAssign();\n return this.finishNode(node, \"ConditionalExpression\");\n }\n\n return expr;\n }\n\n parseMaybeUnaryOrPrivate(refExpressionErrors) {\n return this.match(134) ? this.parsePrivateName() : this.parseMaybeUnary(refExpressionErrors);\n }\n\n parseExprOps(refExpressionErrors) {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const potentialArrowAt = this.state.potentialArrowAt;\n const expr = this.parseMaybeUnaryOrPrivate(refExpressionErrors);\n\n if (this.shouldExitDescending(expr, potentialArrowAt)) {\n return expr;\n }\n\n return this.parseExprOp(expr, startPos, startLoc, -1);\n }\n\n parseExprOp(left, leftStartPos, leftStartLoc, minPrec) {\n if (this.isPrivateName(left)) {\n const value = this.getPrivateNameSV(left);\n\n if (minPrec >= tokenOperatorPrecedence(58) || !this.prodParam.hasIn || !this.match(58)) {\n this.raise(ErrorMessages.PrivateInExpectedIn, {\n node: left\n }, value);\n }\n\n this.classScope.usePrivateName(value, left.loc.start);\n }\n\n const op = this.state.type;\n\n if (tokenIsOperator(op) && (this.prodParam.hasIn || !this.match(58))) {\n let prec = tokenOperatorPrecedence(op);\n\n if (prec > minPrec) {\n if (op === 39) {\n this.expectPlugin(\"pipelineOperator\");\n\n if (this.state.inFSharpPipelineDirectBody) {\n return left;\n }\n\n this.checkPipelineAtInfixOperator(left, leftStartLoc);\n }\n\n const node = this.startNodeAt(leftStartPos, leftStartLoc);\n node.left = left;\n node.operator = this.state.value;\n const logical = op === 41 || op === 42;\n const coalesce = op === 40;\n\n if (coalesce) {\n prec = tokenOperatorPrecedence(42);\n }\n\n this.next();\n\n if (op === 39 && this.hasPlugin([\"pipelineOperator\", {\n proposal: \"minimal\"\n }])) {\n if (this.state.type === 96 && this.prodParam.hasAwait) {\n throw this.raise(ErrorMessages.UnexpectedAwaitAfterPipelineBody, {\n at: this.state.startLoc\n });\n }\n }\n\n node.right = this.parseExprOpRightExpr(op, prec);\n this.finishNode(node, logical || coalesce ? \"LogicalExpression\" : \"BinaryExpression\");\n const nextOp = this.state.type;\n\n if (coalesce && (nextOp === 41 || nextOp === 42) || logical && nextOp === 40) {\n throw this.raise(ErrorMessages.MixingCoalesceWithLogical, {\n at: this.state.startLoc\n });\n }\n\n return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec);\n }\n }\n\n return left;\n }\n\n parseExprOpRightExpr(op, prec) {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n\n switch (op) {\n case 39:\n switch (this.getPluginOption(\"pipelineOperator\", \"proposal\")) {\n case \"hack\":\n return this.withTopicBindingContext(() => {\n return this.parseHackPipeBody();\n });\n\n case \"smart\":\n return this.withTopicBindingContext(() => {\n if (this.prodParam.hasYield && this.isContextual(105)) {\n throw this.raise(ErrorMessages.PipeBodyIsTighter, {\n at: this.state.startLoc\n }, this.state.value);\n }\n\n return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(op, prec), startPos, startLoc);\n });\n\n case \"fsharp\":\n return this.withSoloAwaitPermittingContext(() => {\n return this.parseFSharpPipelineBody(prec);\n });\n }\n\n default:\n return this.parseExprOpBaseRightExpr(op, prec);\n }\n }\n\n parseExprOpBaseRightExpr(op, prec) {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startPos, startLoc, tokenIsRightAssociative(op) ? prec - 1 : prec);\n }\n\n parseHackPipeBody() {\n var _body$extra;\n\n const {\n startLoc\n } = this.state;\n const body = this.parseMaybeAssign();\n\n if (invalidHackPipeBodies.has(body.type) && !((_body$extra = body.extra) != null && _body$extra.parenthesized)) {\n this.raise(ErrorMessages.PipeUnparenthesizedBody, {\n at: startLoc\n }, invalidHackPipeBodies.get(body.type));\n }\n\n if (!this.topicReferenceWasUsedInCurrentContext()) {\n this.raise(ErrorMessages.PipeTopicUnused, {\n at: startLoc\n });\n }\n\n return body;\n }\n\n checkExponentialAfterUnary(node) {\n if (this.match(57)) {\n this.raise(ErrorMessages.UnexpectedTokenUnaryExponentiation, {\n node: node.argument\n });\n }\n }\n\n parseMaybeUnary(refExpressionErrors, sawUnary) {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const isAwait = this.isContextual(96);\n\n if (isAwait && this.isAwaitAllowed()) {\n this.next();\n const expr = this.parseAwait(startPos, startLoc);\n if (!sawUnary) this.checkExponentialAfterUnary(expr);\n return expr;\n }\n\n const update = this.match(34);\n const node = this.startNode();\n\n if (tokenIsPrefix(this.state.type)) {\n node.operator = this.state.value;\n node.prefix = true;\n\n if (this.match(72)) {\n this.expectPlugin(\"throwExpressions\");\n }\n\n const isDelete = this.match(89);\n this.next();\n node.argument = this.parseMaybeUnary(null, true);\n this.checkExpressionErrors(refExpressionErrors, true);\n\n if (this.state.strict && isDelete) {\n const arg = node.argument;\n\n if (arg.type === \"Identifier\") {\n this.raise(ErrorMessages.StrictDelete, {\n node\n });\n } else if (this.hasPropertyAsPrivateName(arg)) {\n this.raise(ErrorMessages.DeletePrivateField, {\n node\n });\n }\n }\n\n if (!update) {\n if (!sawUnary) this.checkExponentialAfterUnary(node);\n return this.finishNode(node, \"UnaryExpression\");\n }\n }\n\n const expr = this.parseUpdate(node, update, refExpressionErrors);\n\n if (isAwait) {\n const {\n type\n } = this.state;\n const startsExpr = this.hasPlugin(\"v8intrinsic\") ? tokenCanStartExpression(type) : tokenCanStartExpression(type) && !this.match(54);\n\n if (startsExpr && !this.isAmbiguousAwait()) {\n this.raiseOverwrite(startLoc, ErrorMessages.AwaitNotInAsyncContext);\n return this.parseAwait(startPos, startLoc);\n }\n }\n\n return expr;\n }\n\n parseUpdate(node, update, refExpressionErrors) {\n if (update) {\n this.checkLVal(node.argument, \"prefix operation\");\n return this.finishNode(node, \"UpdateExpression\");\n }\n\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n let expr = this.parseExprSubscripts(refExpressionErrors);\n if (this.checkExpressionErrors(refExpressionErrors, false)) return expr;\n\n while (tokenIsPostfix(this.state.type) && !this.canInsertSemicolon()) {\n const node = this.startNodeAt(startPos, startLoc);\n node.operator = this.state.value;\n node.prefix = false;\n node.argument = expr;\n this.checkLVal(expr, \"postfix operation\");\n this.next();\n expr = this.finishNode(node, \"UpdateExpression\");\n }\n\n return expr;\n }\n\n parseExprSubscripts(refExpressionErrors) {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const potentialArrowAt = this.state.potentialArrowAt;\n const expr = this.parseExprAtom(refExpressionErrors);\n\n if (this.shouldExitDescending(expr, potentialArrowAt)) {\n return expr;\n }\n\n return this.parseSubscripts(expr, startPos, startLoc);\n }\n\n parseSubscripts(base, startPos, startLoc, noCalls) {\n const state = {\n optionalChainMember: false,\n maybeAsyncArrow: this.atPossibleAsyncArrow(base),\n stop: false\n };\n\n do {\n base = this.parseSubscript(base, startPos, startLoc, noCalls, state);\n state.maybeAsyncArrow = false;\n } while (!state.stop);\n\n return base;\n }\n\n parseSubscript(base, startPos, startLoc, noCalls, state) {\n const {\n type\n } = this.state;\n\n if (!noCalls && type === 15) {\n return this.parseBind(base, startPos, startLoc, noCalls, state);\n } else if (tokenIsTemplate(type)) {\n return this.parseTaggedTemplateExpression(base, startPos, startLoc, state);\n }\n\n let optional = false;\n\n if (type === 18) {\n if (noCalls && this.lookaheadCharCode() === 40) {\n state.stop = true;\n return base;\n }\n\n state.optionalChainMember = optional = true;\n this.next();\n }\n\n if (!noCalls && this.match(10)) {\n return this.parseCoverCallAndAsyncArrowHead(base, startPos, startLoc, state, optional);\n } else {\n const computed = this.eat(0);\n\n if (computed || optional || this.eat(16)) {\n return this.parseMember(base, startPos, startLoc, state, computed, optional);\n } else {\n state.stop = true;\n return base;\n }\n }\n }\n\n parseMember(base, startPos, startLoc, state, computed, optional) {\n const node = this.startNodeAt(startPos, startLoc);\n node.object = base;\n node.computed = computed;\n\n if (computed) {\n node.property = this.parseExpression();\n this.expect(3);\n } else if (this.match(134)) {\n if (base.type === \"Super\") {\n this.raise(ErrorMessages.SuperPrivateField, {\n at: startLoc\n });\n }\n\n this.classScope.usePrivateName(this.state.value, this.state.startLoc);\n node.property = this.parsePrivateName();\n } else {\n node.property = this.parseIdentifier(true);\n }\n\n if (state.optionalChainMember) {\n node.optional = optional;\n return this.finishNode(node, \"OptionalMemberExpression\");\n } else {\n return this.finishNode(node, \"MemberExpression\");\n }\n }\n\n parseBind(base, startPos, startLoc, noCalls, state) {\n const node = this.startNodeAt(startPos, startLoc);\n node.object = base;\n this.next();\n node.callee = this.parseNoCallExpr();\n state.stop = true;\n return this.parseSubscripts(this.finishNode(node, \"BindExpression\"), startPos, startLoc, noCalls);\n }\n\n parseCoverCallAndAsyncArrowHead(base, startPos, startLoc, state, optional) {\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n let refExpressionErrors = null;\n this.state.maybeInArrowParameters = true;\n this.next();\n let node = this.startNodeAt(startPos, startLoc);\n node.callee = base;\n const {\n maybeAsyncArrow,\n optionalChainMember\n } = state;\n\n if (maybeAsyncArrow) {\n this.expressionScope.enter(newAsyncArrowScope());\n refExpressionErrors = new ExpressionErrors();\n }\n\n if (optionalChainMember) {\n node.optional = optional;\n }\n\n if (optional) {\n node.arguments = this.parseCallExpressionArguments(11);\n } else {\n node.arguments = this.parseCallExpressionArguments(11, base.type === \"Import\", base.type !== \"Super\", node, refExpressionErrors);\n }\n\n this.finishCallExpression(node, optionalChainMember);\n\n if (maybeAsyncArrow && this.shouldParseAsyncArrow() && !optional) {\n state.stop = true;\n this.checkDestructuringPrivate(refExpressionErrors);\n this.expressionScope.validateAsPattern();\n this.expressionScope.exit();\n node = this.parseAsyncArrowFromCallExpression(this.startNodeAt(startPos, startLoc), node);\n } else {\n if (maybeAsyncArrow) {\n this.checkExpressionErrors(refExpressionErrors, true);\n this.expressionScope.exit();\n }\n\n this.toReferencedArguments(node);\n }\n\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n return node;\n }\n\n toReferencedArguments(node, isParenthesizedExpr) {\n this.toReferencedListDeep(node.arguments, isParenthesizedExpr);\n }\n\n parseTaggedTemplateExpression(base, startPos, startLoc, state) {\n const node = this.startNodeAt(startPos, startLoc);\n node.tag = base;\n node.quasi = this.parseTemplate(true);\n\n if (state.optionalChainMember) {\n this.raise(ErrorMessages.OptionalChainingNoTemplate, {\n at: startLoc\n });\n }\n\n return this.finishNode(node, \"TaggedTemplateExpression\");\n }\n\n atPossibleAsyncArrow(base) {\n return base.type === \"Identifier\" && base.name === \"async\" && this.state.lastTokEndLoc.index === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && base.start === this.state.potentialArrowAt;\n }\n\n finishCallExpression(node, optional) {\n if (node.callee.type === \"Import\") {\n if (node.arguments.length === 2) {\n {\n if (!this.hasPlugin(\"moduleAttributes\")) {\n this.expectPlugin(\"importAssertions\");\n }\n }\n }\n\n if (node.arguments.length === 0 || node.arguments.length > 2) {\n this.raise(ErrorMessages.ImportCallArity, {\n node\n }, this.hasPlugin(\"importAssertions\") || this.hasPlugin(\"moduleAttributes\") ? \"one or two arguments\" : \"one argument\");\n } else {\n for (const arg of node.arguments) {\n if (arg.type === \"SpreadElement\") {\n this.raise(ErrorMessages.ImportCallSpreadArgument, {\n node: arg\n });\n }\n }\n }\n }\n\n return this.finishNode(node, optional ? \"OptionalCallExpression\" : \"CallExpression\");\n }\n\n parseCallExpressionArguments(close, dynamicImport, allowPlaceholder, nodeForExtra, refExpressionErrors) {\n const elts = [];\n let first = true;\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.inFSharpPipelineDirectBody = false;\n\n while (!this.eat(close)) {\n if (first) {\n first = false;\n } else {\n this.expect(12);\n\n if (this.match(close)) {\n if (dynamicImport && !this.hasPlugin(\"importAssertions\") && !this.hasPlugin(\"moduleAttributes\")) {\n this.raise(ErrorMessages.ImportCallArgumentTrailingComma, {\n at: this.state.lastTokStartLoc\n });\n }\n\n if (nodeForExtra) {\n this.addTrailingCommaExtraToNode(nodeForExtra);\n }\n\n this.next();\n break;\n }\n }\n\n elts.push(this.parseExprListItem(false, refExpressionErrors, allowPlaceholder));\n }\n\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n return elts;\n }\n\n shouldParseAsyncArrow() {\n return this.match(19) && !this.canInsertSemicolon();\n }\n\n parseAsyncArrowFromCallExpression(node, call) {\n var _call$extra;\n\n this.resetPreviousNodeTrailingComments(call);\n this.expect(19);\n this.parseArrowExpression(node, call.arguments, true, (_call$extra = call.extra) == null ? void 0 : _call$extra.trailingCommaLoc);\n\n if (call.innerComments) {\n setInnerComments(node, call.innerComments);\n }\n\n if (call.callee.trailingComments) {\n setInnerComments(node, call.callee.trailingComments);\n }\n\n return node;\n }\n\n parseNoCallExpr() {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n return this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true);\n }\n\n parseExprAtom(refExpressionErrors) {\n let node;\n const {\n type\n } = this.state;\n\n switch (type) {\n case 79:\n return this.parseSuper();\n\n case 83:\n node = this.startNode();\n this.next();\n\n if (this.match(16)) {\n return this.parseImportMetaProperty(node);\n }\n\n if (!this.match(10)) {\n this.raise(ErrorMessages.UnsupportedImport, {\n at: this.state.lastTokStartLoc\n });\n }\n\n return this.finishNode(node, \"Import\");\n\n case 78:\n node = this.startNode();\n this.next();\n return this.finishNode(node, \"ThisExpression\");\n\n case 90:\n {\n return this.parseDo(this.startNode(), false);\n }\n\n case 56:\n case 31:\n {\n this.readRegexp();\n return this.parseRegExpLiteral(this.state.value);\n }\n\n case 130:\n return this.parseNumericLiteral(this.state.value);\n\n case 131:\n return this.parseBigIntLiteral(this.state.value);\n\n case 132:\n return this.parseDecimalLiteral(this.state.value);\n\n case 129:\n return this.parseStringLiteral(this.state.value);\n\n case 84:\n return this.parseNullLiteral();\n\n case 85:\n return this.parseBooleanLiteral(true);\n\n case 86:\n return this.parseBooleanLiteral(false);\n\n case 10:\n {\n const canBeArrow = this.state.potentialArrowAt === this.state.start;\n return this.parseParenAndDistinguishExpression(canBeArrow);\n }\n\n case 2:\n case 1:\n {\n return this.parseArrayLike(this.state.type === 2 ? 4 : 3, false, true);\n }\n\n case 0:\n {\n return this.parseArrayLike(3, true, false, refExpressionErrors);\n }\n\n case 6:\n case 7:\n {\n return this.parseObjectLike(this.state.type === 6 ? 9 : 8, false, true);\n }\n\n case 5:\n {\n return this.parseObjectLike(8, false, false, refExpressionErrors);\n }\n\n case 68:\n return this.parseFunctionOrFunctionSent();\n\n case 26:\n this.parseDecorators();\n\n case 80:\n node = this.startNode();\n this.takeDecorators(node);\n return this.parseClass(node, false);\n\n case 77:\n return this.parseNewOrNewTarget();\n\n case 25:\n case 24:\n return this.parseTemplate(false);\n\n case 15:\n {\n node = this.startNode();\n this.next();\n node.object = null;\n const callee = node.callee = this.parseNoCallExpr();\n\n if (callee.type === \"MemberExpression\") {\n return this.finishNode(node, \"BindExpression\");\n } else {\n throw this.raise(ErrorMessages.UnsupportedBind, {\n node: callee\n });\n }\n }\n\n case 134:\n {\n this.raise(ErrorMessages.PrivateInExpectedIn, {\n at: this.state.startLoc\n }, this.state.value);\n return this.parsePrivateName();\n }\n\n case 33:\n {\n return this.parseTopicReferenceThenEqualsSign(54, \"%\");\n }\n\n case 32:\n {\n return this.parseTopicReferenceThenEqualsSign(44, \"^\");\n }\n\n case 37:\n case 38:\n {\n return this.parseTopicReference(\"hack\");\n }\n\n case 44:\n case 54:\n case 27:\n {\n const pipeProposal = this.getPluginOption(\"pipelineOperator\", \"proposal\");\n\n if (pipeProposal) {\n return this.parseTopicReference(pipeProposal);\n } else {\n throw this.unexpected();\n }\n }\n\n case 47:\n {\n const lookaheadCh = this.input.codePointAt(this.nextTokenStart());\n\n if (isIdentifierStart(lookaheadCh) || lookaheadCh === 62) {\n this.expectOnePlugin([\"jsx\", \"flow\", \"typescript\"]);\n break;\n } else {\n throw this.unexpected();\n }\n }\n\n default:\n if (tokenIsIdentifier(type)) {\n if (this.isContextual(123) && this.lookaheadCharCode() === 123 && !this.hasFollowingLineBreak()) {\n return this.parseModuleExpression();\n }\n\n const canBeArrow = this.state.potentialArrowAt === this.state.start;\n const containsEsc = this.state.containsEsc;\n const id = this.parseIdentifier();\n\n if (!containsEsc && id.name === \"async\" && !this.canInsertSemicolon()) {\n const {\n type\n } = this.state;\n\n if (type === 68) {\n this.resetPreviousNodeTrailingComments(id);\n this.next();\n return this.parseFunction(this.startNodeAtNode(id), undefined, true);\n } else if (tokenIsIdentifier(type)) {\n if (this.lookaheadCharCode() === 61) {\n return this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(id));\n } else {\n return id;\n }\n } else if (type === 90) {\n this.resetPreviousNodeTrailingComments(id);\n return this.parseDo(this.startNodeAtNode(id), true);\n }\n }\n\n if (canBeArrow && this.match(19) && !this.canInsertSemicolon()) {\n this.next();\n return this.parseArrowExpression(this.startNodeAtNode(id), [id], false);\n }\n\n return id;\n } else {\n throw this.unexpected();\n }\n\n }\n }\n\n parseTopicReferenceThenEqualsSign(topicTokenType, topicTokenValue) {\n const pipeProposal = this.getPluginOption(\"pipelineOperator\", \"proposal\");\n\n if (pipeProposal) {\n this.state.type = topicTokenType;\n this.state.value = topicTokenValue;\n this.state.pos--;\n this.state.end--;\n this.state.endLoc = createPositionWithColumnOffset(this.state.endLoc, -1);\n return this.parseTopicReference(pipeProposal);\n } else {\n throw this.unexpected();\n }\n }\n\n parseTopicReference(pipeProposal) {\n const node = this.startNode();\n const startLoc = this.state.startLoc;\n const tokenType = this.state.type;\n this.next();\n return this.finishTopicReference(node, startLoc, pipeProposal, tokenType);\n }\n\n finishTopicReference(node, startLoc, pipeProposal, tokenType) {\n if (this.testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType)) {\n const nodeType = pipeProposal === \"smart\" ? \"PipelinePrimaryTopicReference\" : \"TopicReference\";\n\n if (!this.topicReferenceIsAllowedInCurrentContext()) {\n this.raise(pipeProposal === \"smart\" ? ErrorMessages.PrimaryTopicNotAllowed : ErrorMessages.PipeTopicUnbound, {\n at: startLoc\n });\n }\n\n this.registerTopicReference();\n return this.finishNode(node, nodeType);\n } else {\n throw this.raise(ErrorMessages.PipeTopicUnconfiguredToken, {\n at: startLoc\n }, tokenLabelName(tokenType));\n }\n }\n\n testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType) {\n switch (pipeProposal) {\n case \"hack\":\n {\n return this.hasPlugin([\"pipelineOperator\", {\n topicToken: tokenLabelName(tokenType)\n }]);\n }\n\n case \"smart\":\n return tokenType === 27;\n\n default:\n throw this.raise(ErrorMessages.PipeTopicRequiresHackPipes, {\n at: startLoc\n });\n }\n }\n\n parseAsyncArrowUnaryFunction(node) {\n this.prodParam.enter(functionFlags(true, this.prodParam.hasYield));\n const params = [this.parseIdentifier()];\n this.prodParam.exit();\n\n if (this.hasPrecedingLineBreak()) {\n this.raise(ErrorMessages.LineTerminatorBeforeArrow, {\n at: this.state.curPosition()\n });\n }\n\n this.expect(19);\n this.parseArrowExpression(node, params, true);\n return node;\n }\n\n parseDo(node, isAsync) {\n this.expectPlugin(\"doExpressions\");\n\n if (isAsync) {\n this.expectPlugin(\"asyncDoExpressions\");\n }\n\n node.async = isAsync;\n this.next();\n const oldLabels = this.state.labels;\n this.state.labels = [];\n\n if (isAsync) {\n this.prodParam.enter(PARAM_AWAIT);\n node.body = this.parseBlock();\n this.prodParam.exit();\n } else {\n node.body = this.parseBlock();\n }\n\n this.state.labels = oldLabels;\n return this.finishNode(node, \"DoExpression\");\n }\n\n parseSuper() {\n const node = this.startNode();\n this.next();\n\n if (this.match(10) && !this.scope.allowDirectSuper && !this.options.allowSuperOutsideMethod) {\n this.raise(ErrorMessages.SuperNotAllowed, {\n node\n });\n } else if (!this.scope.allowSuper && !this.options.allowSuperOutsideMethod) {\n this.raise(ErrorMessages.UnexpectedSuper, {\n node\n });\n }\n\n if (!this.match(10) && !this.match(0) && !this.match(16)) {\n this.raise(ErrorMessages.UnsupportedSuper, {\n node\n });\n }\n\n return this.finishNode(node, \"Super\");\n }\n\n parsePrivateName() {\n const node = this.startNode();\n const id = this.startNodeAt(this.state.start + 1, new Position(this.state.curLine, this.state.start + 1 - this.state.lineStart, this.state.start + 1));\n const name = this.state.value;\n this.next();\n node.id = this.createIdentifier(id, name);\n return this.finishNode(node, \"PrivateName\");\n }\n\n parseFunctionOrFunctionSent() {\n const node = this.startNode();\n this.next();\n\n if (this.prodParam.hasYield && this.match(16)) {\n const meta = this.createIdentifier(this.startNodeAtNode(node), \"function\");\n this.next();\n\n if (this.match(102)) {\n this.expectPlugin(\"functionSent\");\n } else if (!this.hasPlugin(\"functionSent\")) {\n this.unexpected();\n }\n\n return this.parseMetaProperty(node, meta, \"sent\");\n }\n\n return this.parseFunction(node);\n }\n\n parseMetaProperty(node, meta, propertyName) {\n node.meta = meta;\n const containsEsc = this.state.containsEsc;\n node.property = this.parseIdentifier(true);\n\n if (node.property.name !== propertyName || containsEsc) {\n this.raise(ErrorMessages.UnsupportedMetaProperty, {\n node: node.property\n }, meta.name, propertyName);\n }\n\n return this.finishNode(node, \"MetaProperty\");\n }\n\n parseImportMetaProperty(node) {\n const id = this.createIdentifier(this.startNodeAtNode(node), \"import\");\n this.next();\n\n if (this.isContextual(100)) {\n if (!this.inModule) {\n this.raise(SourceTypeModuleErrorMessages.ImportMetaOutsideModule, {\n node: id\n });\n }\n\n this.sawUnambiguousESM = true;\n }\n\n return this.parseMetaProperty(node, id, \"meta\");\n }\n\n parseLiteralAtNode(value, type, node) {\n this.addExtra(node, \"rawValue\", value);\n this.addExtra(node, \"raw\", this.input.slice(node.start, this.state.end));\n node.value = value;\n this.next();\n return this.finishNode(node, type);\n }\n\n parseLiteral(value, type) {\n const node = this.startNode();\n return this.parseLiteralAtNode(value, type, node);\n }\n\n parseStringLiteral(value) {\n return this.parseLiteral(value, \"StringLiteral\");\n }\n\n parseNumericLiteral(value) {\n return this.parseLiteral(value, \"NumericLiteral\");\n }\n\n parseBigIntLiteral(value) {\n return this.parseLiteral(value, \"BigIntLiteral\");\n }\n\n parseDecimalLiteral(value) {\n return this.parseLiteral(value, \"DecimalLiteral\");\n }\n\n parseRegExpLiteral(value) {\n const node = this.parseLiteral(value.value, \"RegExpLiteral\");\n node.pattern = value.pattern;\n node.flags = value.flags;\n return node;\n }\n\n parseBooleanLiteral(value) {\n const node = this.startNode();\n node.value = value;\n this.next();\n return this.finishNode(node, \"BooleanLiteral\");\n }\n\n parseNullLiteral() {\n const node = this.startNode();\n this.next();\n return this.finishNode(node, \"NullLiteral\");\n }\n\n parseParenAndDistinguishExpression(canBeArrow) {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n let val;\n this.next();\n this.expressionScope.enter(newArrowHeadScope());\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.maybeInArrowParameters = true;\n this.state.inFSharpPipelineDirectBody = false;\n const innerStartPos = this.state.start;\n const innerStartLoc = this.state.startLoc;\n const exprList = [];\n const refExpressionErrors = new ExpressionErrors();\n let first = true;\n let spreadStartLoc;\n let optionalCommaStartLoc;\n\n while (!this.match(11)) {\n if (first) {\n first = false;\n } else {\n this.expect(12, refExpressionErrors.optionalParametersLoc === null ? null : refExpressionErrors.optionalParametersLoc);\n\n if (this.match(11)) {\n optionalCommaStartLoc = this.state.startLoc;\n break;\n }\n }\n\n if (this.match(21)) {\n const spreadNodeStartPos = this.state.start;\n const spreadNodeStartLoc = this.state.startLoc;\n spreadStartLoc = this.state.startLoc;\n exprList.push(this.parseParenItem(this.parseRestBinding(), spreadNodeStartPos, spreadNodeStartLoc));\n\n if (!this.checkCommaAfterRest(41)) {\n break;\n }\n } else {\n exprList.push(this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem));\n }\n }\n\n const innerEndLoc = this.state.lastTokEndLoc;\n this.expect(11);\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n let arrowNode = this.startNodeAt(startPos, startLoc);\n\n if (canBeArrow && this.shouldParseArrow(exprList) && (arrowNode = this.parseArrow(arrowNode))) {\n this.checkDestructuringPrivate(refExpressionErrors);\n this.expressionScope.validateAsPattern();\n this.expressionScope.exit();\n this.parseArrowExpression(arrowNode, exprList, false);\n return arrowNode;\n }\n\n this.expressionScope.exit();\n\n if (!exprList.length) {\n this.unexpected(this.state.lastTokStartLoc);\n }\n\n if (optionalCommaStartLoc) this.unexpected(optionalCommaStartLoc);\n if (spreadStartLoc) this.unexpected(spreadStartLoc);\n this.checkExpressionErrors(refExpressionErrors, true);\n this.toReferencedListDeep(exprList, true);\n\n if (exprList.length > 1) {\n val = this.startNodeAt(innerStartPos, innerStartLoc);\n val.expressions = exprList;\n this.finishNode(val, \"SequenceExpression\");\n this.resetEndLocation(val, innerEndLoc);\n } else {\n val = exprList[0];\n }\n\n if (!this.options.createParenthesizedExpressions) {\n this.addExtra(val, \"parenthesized\", true);\n this.addExtra(val, \"parenStart\", startPos);\n this.takeSurroundingComments(val, startPos, this.state.lastTokEndLoc.index);\n return val;\n }\n\n const parenExpression = this.startNodeAt(startPos, startLoc);\n parenExpression.expression = val;\n this.finishNode(parenExpression, \"ParenthesizedExpression\");\n return parenExpression;\n }\n\n shouldParseArrow(params) {\n return !this.canInsertSemicolon();\n }\n\n parseArrow(node) {\n if (this.eat(19)) {\n return node;\n }\n }\n\n parseParenItem(node, startPos, startLoc) {\n return node;\n }\n\n parseNewOrNewTarget() {\n const node = this.startNode();\n this.next();\n\n if (this.match(16)) {\n const meta = this.createIdentifier(this.startNodeAtNode(node), \"new\");\n this.next();\n const metaProp = this.parseMetaProperty(node, meta, \"target\");\n\n if (!this.scope.inNonArrowFunction && !this.scope.inClass) {\n this.raise(ErrorMessages.UnexpectedNewTarget, {\n node: metaProp\n });\n }\n\n return metaProp;\n }\n\n return this.parseNew(node);\n }\n\n parseNew(node) {\n node.callee = this.parseNoCallExpr();\n\n if (node.callee.type === \"Import\") {\n this.raise(ErrorMessages.ImportCallNotNewExpression, {\n node: node.callee\n });\n } else if (this.isOptionalChain(node.callee)) {\n this.raise(ErrorMessages.OptionalChainingNoNew, {\n at: this.state.lastTokEndLoc\n });\n } else if (this.eat(18)) {\n this.raise(ErrorMessages.OptionalChainingNoNew, {\n at: this.state.startLoc\n });\n }\n\n this.parseNewArguments(node);\n return this.finishNode(node, \"NewExpression\");\n }\n\n parseNewArguments(node) {\n if (this.eat(10)) {\n const args = this.parseExprList(11);\n this.toReferencedList(args);\n node.arguments = args;\n } else {\n node.arguments = [];\n }\n }\n\n parseTemplateElement(isTagged) {\n const {\n start,\n startLoc,\n end,\n value\n } = this.state;\n const elemStart = start + 1;\n const elem = this.startNodeAt(elemStart, createPositionWithColumnOffset(startLoc, 1));\n\n if (value === null) {\n if (!isTagged) {\n this.raise(ErrorMessages.InvalidEscapeSequenceTemplate, {\n at: createPositionWithColumnOffset(startLoc, 2)\n });\n }\n }\n\n const isTail = this.match(24);\n const endOffset = isTail ? -1 : -2;\n const elemEnd = end + endOffset;\n elem.value = {\n raw: this.input.slice(elemStart, elemEnd).replace(/\\r\\n?/g, \"\\n\"),\n cooked: value === null ? null : value.slice(1, endOffset)\n };\n elem.tail = isTail;\n this.next();\n this.finishNode(elem, \"TemplateElement\");\n this.resetEndLocation(elem, createPositionWithColumnOffset(this.state.lastTokEndLoc, endOffset));\n return elem;\n }\n\n parseTemplate(isTagged) {\n const node = this.startNode();\n node.expressions = [];\n let curElt = this.parseTemplateElement(isTagged);\n node.quasis = [curElt];\n\n while (!curElt.tail) {\n node.expressions.push(this.parseTemplateSubstitution());\n this.readTemplateContinuation();\n node.quasis.push(curElt = this.parseTemplateElement(isTagged));\n }\n\n return this.finishNode(node, \"TemplateLiteral\");\n }\n\n parseTemplateSubstitution() {\n return this.parseExpression();\n }\n\n parseObjectLike(close, isPattern, isRecord, refExpressionErrors) {\n if (isRecord) {\n this.expectPlugin(\"recordAndTuple\");\n }\n\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.inFSharpPipelineDirectBody = false;\n const propHash = Object.create(null);\n let first = true;\n const node = this.startNode();\n node.properties = [];\n this.next();\n\n while (!this.match(close)) {\n if (first) {\n first = false;\n } else {\n this.expect(12);\n\n if (this.match(close)) {\n this.addTrailingCommaExtraToNode(node);\n break;\n }\n }\n\n let prop;\n\n if (isPattern) {\n prop = this.parseBindingProperty();\n } else {\n prop = this.parsePropertyDefinition(refExpressionErrors);\n this.checkProto(prop, isRecord, propHash, refExpressionErrors);\n }\n\n if (isRecord && !this.isObjectProperty(prop) && prop.type !== \"SpreadElement\") {\n this.raise(ErrorMessages.InvalidRecordProperty, {\n node: prop\n });\n }\n\n if (prop.shorthand) {\n this.addExtra(prop, \"shorthand\", true);\n }\n\n node.properties.push(prop);\n }\n\n this.next();\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n let type = \"ObjectExpression\";\n\n if (isPattern) {\n type = \"ObjectPattern\";\n } else if (isRecord) {\n type = \"RecordExpression\";\n }\n\n return this.finishNode(node, type);\n }\n\n addTrailingCommaExtraToNode(node) {\n this.addExtra(node, \"trailingComma\", this.state.lastTokStart);\n this.addExtra(node, \"trailingCommaLoc\", this.state.lastTokStartLoc, false);\n }\n\n maybeAsyncOrAccessorProp(prop) {\n return !prop.computed && prop.key.type === \"Identifier\" && (this.isLiteralPropertyName() || this.match(0) || this.match(55));\n }\n\n parsePropertyDefinition(refExpressionErrors) {\n let decorators = [];\n\n if (this.match(26)) {\n if (this.hasPlugin(\"decorators\")) {\n this.raise(ErrorMessages.UnsupportedPropertyDecorator, {\n at: this.state.startLoc\n });\n }\n\n while (this.match(26)) {\n decorators.push(this.parseDecorator());\n }\n }\n\n const prop = this.startNode();\n let isAsync = false;\n let isAccessor = false;\n let startPos;\n let startLoc;\n\n if (this.match(21)) {\n if (decorators.length) this.unexpected();\n return this.parseSpread();\n }\n\n if (decorators.length) {\n prop.decorators = decorators;\n decorators = [];\n }\n\n prop.method = false;\n\n if (refExpressionErrors) {\n startPos = this.state.start;\n startLoc = this.state.startLoc;\n }\n\n let isGenerator = this.eat(55);\n this.parsePropertyNamePrefixOperator(prop);\n const containsEsc = this.state.containsEsc;\n const key = this.parsePropertyName(prop, refExpressionErrors);\n\n if (!isGenerator && !containsEsc && this.maybeAsyncOrAccessorProp(prop)) {\n const keyName = key.name;\n\n if (keyName === \"async\" && !this.hasPrecedingLineBreak()) {\n isAsync = true;\n this.resetPreviousNodeTrailingComments(key);\n isGenerator = this.eat(55);\n this.parsePropertyName(prop);\n }\n\n if (keyName === \"get\" || keyName === \"set\") {\n isAccessor = true;\n this.resetPreviousNodeTrailingComments(key);\n prop.kind = keyName;\n\n if (this.match(55)) {\n isGenerator = true;\n this.raise(ErrorMessages.AccessorIsGenerator, {\n at: this.state.curPosition()\n }, keyName);\n this.next();\n }\n\n this.parsePropertyName(prop);\n }\n }\n\n this.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, false, isAccessor, refExpressionErrors);\n return prop;\n }\n\n getGetterSetterExpectedParamCount(method) {\n return method.kind === \"get\" ? 0 : 1;\n }\n\n getObjectOrClassMethodParams(method) {\n return method.params;\n }\n\n checkGetterSetterParams(method) {\n var _params;\n\n const paramCount = this.getGetterSetterExpectedParamCount(method);\n const params = this.getObjectOrClassMethodParams(method);\n\n if (params.length !== paramCount) {\n this.raise(method.kind === \"get\" ? ErrorMessages.BadGetterArity : ErrorMessages.BadSetterArity, {\n node: method\n });\n }\n\n if (method.kind === \"set\" && ((_params = params[params.length - 1]) == null ? void 0 : _params.type) === \"RestElement\") {\n this.raise(ErrorMessages.BadSetterRestParameter, {\n node: method\n });\n }\n }\n\n parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) {\n if (isAccessor) {\n this.parseMethod(prop, isGenerator, false, false, false, \"ObjectMethod\");\n this.checkGetterSetterParams(prop);\n return prop;\n }\n\n if (isAsync || isGenerator || this.match(10)) {\n if (isPattern) this.unexpected();\n prop.kind = \"method\";\n prop.method = true;\n return this.parseMethod(prop, isGenerator, isAsync, false, false, \"ObjectMethod\");\n }\n }\n\n parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors) {\n prop.shorthand = false;\n\n if (this.eat(14)) {\n prop.value = isPattern ? this.parseMaybeDefault(this.state.start, this.state.startLoc) : this.parseMaybeAssignAllowIn(refExpressionErrors);\n return this.finishNode(prop, \"ObjectProperty\");\n }\n\n if (!prop.computed && prop.key.type === \"Identifier\") {\n this.checkReservedWord(prop.key.name, prop.key.loc.start, true, false);\n\n if (isPattern) {\n prop.value = this.parseMaybeDefault(startPos, startLoc, cloneIdentifier(prop.key));\n } else if (this.match(29)) {\n const shorthandAssignLoc = this.state.startLoc;\n\n if (refExpressionErrors != null) {\n if (refExpressionErrors.shorthandAssignLoc === null) {\n refExpressionErrors.shorthandAssignLoc = shorthandAssignLoc;\n }\n } else {\n this.raise(ErrorMessages.InvalidCoverInitializedName, {\n at: shorthandAssignLoc\n });\n }\n\n prop.value = this.parseMaybeDefault(startPos, startLoc, cloneIdentifier(prop.key));\n } else {\n prop.value = cloneIdentifier(prop.key);\n }\n\n prop.shorthand = true;\n return this.finishNode(prop, \"ObjectProperty\");\n }\n }\n\n parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) {\n const node = this.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) || this.parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors);\n if (!node) this.unexpected();\n return node;\n }\n\n parsePropertyName(prop, refExpressionErrors) {\n if (this.eat(0)) {\n prop.computed = true;\n prop.key = this.parseMaybeAssignAllowIn();\n this.expect(3);\n } else {\n const {\n type,\n value\n } = this.state;\n let key;\n\n if (tokenIsKeywordOrIdentifier(type)) {\n key = this.parseIdentifier(true);\n } else {\n switch (type) {\n case 130:\n key = this.parseNumericLiteral(value);\n break;\n\n case 129:\n key = this.parseStringLiteral(value);\n break;\n\n case 131:\n key = this.parseBigIntLiteral(value);\n break;\n\n case 132:\n key = this.parseDecimalLiteral(value);\n break;\n\n case 134:\n {\n const privateKeyLoc = this.state.startLoc;\n\n if (refExpressionErrors != null) {\n if (refExpressionErrors.privateKeyLoc === null) {\n refExpressionErrors.privateKeyLoc = privateKeyLoc;\n }\n } else {\n this.raise(ErrorMessages.UnexpectedPrivateField, {\n at: privateKeyLoc\n });\n }\n\n key = this.parsePrivateName();\n break;\n }\n\n default:\n throw this.unexpected();\n }\n }\n\n prop.key = key;\n\n if (type !== 134) {\n prop.computed = false;\n }\n }\n\n return prop.key;\n }\n\n initFunction(node, isAsync) {\n node.id = null;\n node.generator = false;\n node.async = !!isAsync;\n }\n\n parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) {\n this.initFunction(node, isAsync);\n node.generator = !!isGenerator;\n const allowModifiers = isConstructor;\n this.scope.enter(SCOPE_FUNCTION | SCOPE_SUPER | (inClassScope ? SCOPE_CLASS : 0) | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0));\n this.prodParam.enter(functionFlags(isAsync, node.generator));\n this.parseFunctionParams(node, allowModifiers);\n this.parseFunctionBodyAndFinish(node, type, true);\n this.prodParam.exit();\n this.scope.exit();\n return node;\n }\n\n parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) {\n if (isTuple) {\n this.expectPlugin(\"recordAndTuple\");\n }\n\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.inFSharpPipelineDirectBody = false;\n const node = this.startNode();\n this.next();\n node.elements = this.parseExprList(close, !isTuple, refExpressionErrors, node);\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n return this.finishNode(node, isTuple ? \"TupleExpression\" : \"ArrayExpression\");\n }\n\n parseArrowExpression(node, params, isAsync, trailingCommaLoc) {\n this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW);\n let flags = functionFlags(isAsync, false);\n\n if (!this.match(5) && this.prodParam.hasIn) {\n flags |= PARAM_IN;\n }\n\n this.prodParam.enter(flags);\n this.initFunction(node, isAsync);\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n\n if (params) {\n this.state.maybeInArrowParameters = true;\n this.setArrowFunctionParameters(node, params, trailingCommaLoc);\n }\n\n this.state.maybeInArrowParameters = false;\n this.parseFunctionBody(node, true);\n this.prodParam.exit();\n this.scope.exit();\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n return this.finishNode(node, \"ArrowFunctionExpression\");\n }\n\n setArrowFunctionParameters(node, params, trailingCommaLoc) {\n node.params = this.toAssignableList(params, trailingCommaLoc, false);\n }\n\n parseFunctionBodyAndFinish(node, type, isMethod = false) {\n this.parseFunctionBody(node, false, isMethod);\n this.finishNode(node, type);\n }\n\n parseFunctionBody(node, allowExpression, isMethod = false) {\n const isExpression = allowExpression && !this.match(5);\n this.expressionScope.enter(newExpressionScope());\n\n if (isExpression) {\n node.body = this.parseMaybeAssign();\n this.checkParams(node, false, allowExpression, false);\n } else {\n const oldStrict = this.state.strict;\n const oldLabels = this.state.labels;\n this.state.labels = [];\n this.prodParam.enter(this.prodParam.currentFlags() | PARAM_RETURN);\n node.body = this.parseBlock(true, false, hasStrictModeDirective => {\n const nonSimple = !this.isSimpleParamList(node.params);\n\n if (hasStrictModeDirective && nonSimple) {\n const errorOrigin = (node.kind === \"method\" || node.kind === \"constructor\") && !!node.key ? {\n at: node.key.loc.end\n } : {\n node\n };\n this.raise(ErrorMessages.IllegalLanguageModeDirective, errorOrigin);\n }\n\n const strictModeChanged = !oldStrict && this.state.strict;\n this.checkParams(node, !this.state.strict && !allowExpression && !isMethod && !nonSimple, allowExpression, strictModeChanged);\n\n if (this.state.strict && node.id) {\n this.checkLVal(node.id, \"function name\", BIND_OUTSIDE, undefined, undefined, strictModeChanged);\n }\n });\n this.prodParam.exit();\n this.state.labels = oldLabels;\n }\n\n this.expressionScope.exit();\n }\n\n isSimpleParamList(params) {\n for (let i = 0, len = params.length; i < len; i++) {\n if (params[i].type !== \"Identifier\") return false;\n }\n\n return true;\n }\n\n checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) {\n const checkClashes = new Set();\n\n for (const param of node.params) {\n this.checkLVal(param, \"function parameter list\", BIND_VAR, allowDuplicates ? null : checkClashes, undefined, strictModeChanged);\n }\n }\n\n parseExprList(close, allowEmpty, refExpressionErrors, nodeForExtra) {\n const elts = [];\n let first = true;\n\n while (!this.eat(close)) {\n if (first) {\n first = false;\n } else {\n this.expect(12);\n\n if (this.match(close)) {\n if (nodeForExtra) {\n this.addTrailingCommaExtraToNode(nodeForExtra);\n }\n\n this.next();\n break;\n }\n }\n\n elts.push(this.parseExprListItem(allowEmpty, refExpressionErrors));\n }\n\n return elts;\n }\n\n parseExprListItem(allowEmpty, refExpressionErrors, allowPlaceholder) {\n let elt;\n\n if (this.match(12)) {\n if (!allowEmpty) {\n this.raise(ErrorMessages.UnexpectedToken, {\n at: this.state.curPosition()\n }, \",\");\n }\n\n elt = null;\n } else if (this.match(21)) {\n const spreadNodeStartPos = this.state.start;\n const spreadNodeStartLoc = this.state.startLoc;\n elt = this.parseParenItem(this.parseSpread(refExpressionErrors), spreadNodeStartPos, spreadNodeStartLoc);\n } else if (this.match(17)) {\n this.expectPlugin(\"partialApplication\");\n\n if (!allowPlaceholder) {\n this.raise(ErrorMessages.UnexpectedArgumentPlaceholder, {\n at: this.state.startLoc\n });\n }\n\n const node = this.startNode();\n this.next();\n elt = this.finishNode(node, \"ArgumentPlaceholder\");\n } else {\n elt = this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem);\n }\n\n return elt;\n }\n\n parseIdentifier(liberal) {\n const node = this.startNode();\n const name = this.parseIdentifierName(node.start, liberal);\n return this.createIdentifier(node, name);\n }\n\n createIdentifier(node, name) {\n node.name = name;\n node.loc.identifierName = name;\n return this.finishNode(node, \"Identifier\");\n }\n\n parseIdentifierName(pos, liberal) {\n let name;\n const {\n startLoc,\n type\n } = this.state;\n\n if (tokenIsKeywordOrIdentifier(type)) {\n name = this.state.value;\n } else {\n throw this.unexpected();\n }\n\n const tokenIsKeyword = tokenKeywordOrIdentifierIsKeyword(type);\n\n if (liberal) {\n if (tokenIsKeyword) {\n this.replaceToken(128);\n }\n } else {\n this.checkReservedWord(name, startLoc, tokenIsKeyword, false);\n }\n\n this.next();\n return name;\n }\n\n checkReservedWord(word, startLoc, checkKeywords, isBinding) {\n if (word.length > 10) {\n return;\n }\n\n if (!canBeReservedWord(word)) {\n return;\n }\n\n if (word === \"yield\") {\n if (this.prodParam.hasYield) {\n this.raise(ErrorMessages.YieldBindingIdentifier, {\n at: startLoc\n });\n return;\n }\n } else if (word === \"await\") {\n if (this.prodParam.hasAwait) {\n this.raise(ErrorMessages.AwaitBindingIdentifier, {\n at: startLoc\n });\n return;\n }\n\n if (this.scope.inStaticBlock) {\n this.raise(ErrorMessages.AwaitBindingIdentifierInStaticBlock, {\n at: startLoc\n });\n return;\n }\n\n this.expressionScope.recordAsyncArrowParametersError(ErrorMessages.AwaitBindingIdentifier, startLoc);\n } else if (word === \"arguments\") {\n if (this.scope.inClassAndNotInNonArrowFunction) {\n this.raise(ErrorMessages.ArgumentsInClass, {\n at: startLoc\n });\n return;\n }\n }\n\n if (checkKeywords && isKeyword(word)) {\n this.raise(ErrorMessages.UnexpectedKeyword, {\n at: startLoc\n }, word);\n return;\n }\n\n const reservedTest = !this.state.strict ? isReservedWord : isBinding ? isStrictBindReservedWord : isStrictReservedWord;\n\n if (reservedTest(word, this.inModule)) {\n this.raise(ErrorMessages.UnexpectedReservedWord, {\n at: startLoc\n }, word);\n }\n }\n\n isAwaitAllowed() {\n if (this.prodParam.hasAwait) return true;\n\n if (this.options.allowAwaitOutsideFunction && !this.scope.inFunction) {\n return true;\n }\n\n return false;\n }\n\n parseAwait(startPos, startLoc) {\n const node = this.startNodeAt(startPos, startLoc);\n this.expressionScope.recordParameterInitializerError(node.loc.start, ErrorMessages.AwaitExpressionFormalParameter);\n\n if (this.eat(55)) {\n this.raise(ErrorMessages.ObsoleteAwaitStar, {\n node\n });\n }\n\n if (!this.scope.inFunction && !this.options.allowAwaitOutsideFunction) {\n if (this.isAmbiguousAwait()) {\n this.ambiguousScriptDifferentAst = true;\n } else {\n this.sawUnambiguousESM = true;\n }\n }\n\n if (!this.state.soloAwait) {\n node.argument = this.parseMaybeUnary(null, true);\n }\n\n return this.finishNode(node, \"AwaitExpression\");\n }\n\n isAmbiguousAwait() {\n if (this.hasPrecedingLineBreak()) return true;\n const {\n type\n } = this.state;\n return type === 53 || type === 10 || type === 0 || tokenIsTemplate(type) || type === 133 || type === 56 || this.hasPlugin(\"v8intrinsic\") && type === 54;\n }\n\n parseYield() {\n const node = this.startNode();\n this.expressionScope.recordParameterInitializerError(node.loc.start, ErrorMessages.YieldInParameter);\n this.next();\n let delegating = false;\n let argument = null;\n\n if (!this.hasPrecedingLineBreak()) {\n delegating = this.eat(55);\n\n switch (this.state.type) {\n case 13:\n case 135:\n case 8:\n case 11:\n case 3:\n case 9:\n case 14:\n case 12:\n if (!delegating) break;\n\n default:\n argument = this.parseMaybeAssign();\n }\n }\n\n node.delegate = delegating;\n node.argument = argument;\n return this.finishNode(node, \"YieldExpression\");\n }\n\n checkPipelineAtInfixOperator(left, leftStartLoc) {\n if (this.hasPlugin([\"pipelineOperator\", {\n proposal: \"smart\"\n }])) {\n if (left.type === \"SequenceExpression\") {\n this.raise(ErrorMessages.PipelineHeadSequenceExpression, {\n at: leftStartLoc\n });\n }\n }\n }\n\n parseSmartPipelineBodyInStyle(childExpr, startPos, startLoc) {\n const bodyNode = this.startNodeAt(startPos, startLoc);\n\n if (this.isSimpleReference(childExpr)) {\n bodyNode.callee = childExpr;\n return this.finishNode(bodyNode, \"PipelineBareFunction\");\n } else {\n this.checkSmartPipeTopicBodyEarlyErrors(startLoc);\n bodyNode.expression = childExpr;\n return this.finishNode(bodyNode, \"PipelineTopicExpression\");\n }\n }\n\n isSimpleReference(expression) {\n switch (expression.type) {\n case \"MemberExpression\":\n return !expression.computed && this.isSimpleReference(expression.object);\n\n case \"Identifier\":\n return true;\n\n default:\n return false;\n }\n }\n\n checkSmartPipeTopicBodyEarlyErrors(startLoc) {\n if (this.match(19)) {\n throw this.raise(ErrorMessages.PipelineBodyNoArrow, {\n at: this.state.startLoc\n });\n }\n\n if (!this.topicReferenceWasUsedInCurrentContext()) {\n this.raise(ErrorMessages.PipelineTopicUnused, {\n at: startLoc\n });\n }\n }\n\n withTopicBindingContext(callback) {\n const outerContextTopicState = this.state.topicContext;\n this.state.topicContext = {\n maxNumOfResolvableTopics: 1,\n maxTopicIndex: null\n };\n\n try {\n return callback();\n } finally {\n this.state.topicContext = outerContextTopicState;\n }\n }\n\n withSmartMixTopicForbiddingContext(callback) {\n if (this.hasPlugin([\"pipelineOperator\", {\n proposal: \"smart\"\n }])) {\n const outerContextTopicState = this.state.topicContext;\n this.state.topicContext = {\n maxNumOfResolvableTopics: 0,\n maxTopicIndex: null\n };\n\n try {\n return callback();\n } finally {\n this.state.topicContext = outerContextTopicState;\n }\n } else {\n return callback();\n }\n }\n\n withSoloAwaitPermittingContext(callback) {\n const outerContextSoloAwaitState = this.state.soloAwait;\n this.state.soloAwait = true;\n\n try {\n return callback();\n } finally {\n this.state.soloAwait = outerContextSoloAwaitState;\n }\n }\n\n allowInAnd(callback) {\n const flags = this.prodParam.currentFlags();\n const prodParamToSet = PARAM_IN & ~flags;\n\n if (prodParamToSet) {\n this.prodParam.enter(flags | PARAM_IN);\n\n try {\n return callback();\n } finally {\n this.prodParam.exit();\n }\n }\n\n return callback();\n }\n\n disallowInAnd(callback) {\n const flags = this.prodParam.currentFlags();\n const prodParamToClear = PARAM_IN & flags;\n\n if (prodParamToClear) {\n this.prodParam.enter(flags & ~PARAM_IN);\n\n try {\n return callback();\n } finally {\n this.prodParam.exit();\n }\n }\n\n return callback();\n }\n\n registerTopicReference() {\n this.state.topicContext.maxTopicIndex = 0;\n }\n\n topicReferenceIsAllowedInCurrentContext() {\n return this.state.topicContext.maxNumOfResolvableTopics >= 1;\n }\n\n topicReferenceWasUsedInCurrentContext() {\n return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0;\n }\n\n parseFSharpPipelineBody(prec) {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n this.state.potentialArrowAt = this.state.start;\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.inFSharpPipelineDirectBody = true;\n const ret = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startPos, startLoc, prec);\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n return ret;\n }\n\n parseModuleExpression() {\n this.expectPlugin(\"moduleBlocks\");\n const node = this.startNode();\n this.next();\n this.eat(5);\n const revertScopes = this.initializeScopes(true);\n this.enterInitialScopes();\n const program = this.startNode();\n\n try {\n node.body = this.parseProgram(program, 8, \"module\");\n } finally {\n revertScopes();\n }\n\n this.eat(8);\n return this.finishNode(node, \"ModuleExpression\");\n }\n\n parsePropertyNamePrefixOperator(prop) {}\n\n}\n\nconst loopLabel = {\n kind: \"loop\"\n},\n switchLabel = {\n kind: \"switch\"\n};\nconst FUNC_NO_FLAGS = 0b000,\n FUNC_STATEMENT = 0b001,\n FUNC_HANGING_STATEMENT = 0b010,\n FUNC_NULLABLE_ID = 0b100;\nconst loneSurrogate = /[\\uD800-\\uDFFF]/u;\nconst keywordRelationalOperator = /in(?:stanceof)?/y;\n\nfunction babel7CompatTokens(tokens, input) {\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n const {\n type\n } = token;\n\n if (typeof type === \"number\") {\n {\n if (type === 134) {\n const {\n loc,\n start,\n value,\n end\n } = token;\n const hashEndPos = start + 1;\n const hashEndLoc = createPositionWithColumnOffset(loc.start, 1);\n tokens.splice(i, 1, new Token({\n type: getExportedToken(27),\n value: \"#\",\n start: start,\n end: hashEndPos,\n startLoc: loc.start,\n endLoc: hashEndLoc\n }), new Token({\n type: getExportedToken(128),\n value: value,\n start: hashEndPos,\n end: end,\n startLoc: hashEndLoc,\n endLoc: loc.end\n }));\n i++;\n continue;\n }\n\n if (tokenIsTemplate(type)) {\n const {\n loc,\n start,\n value,\n end\n } = token;\n const backquoteEnd = start + 1;\n const backquoteEndLoc = createPositionWithColumnOffset(loc.start, 1);\n let startToken;\n\n if (input.charCodeAt(start) === 96) {\n startToken = new Token({\n type: getExportedToken(22),\n value: \"`\",\n start: start,\n end: backquoteEnd,\n startLoc: loc.start,\n endLoc: backquoteEndLoc\n });\n } else {\n startToken = new Token({\n type: getExportedToken(8),\n value: \"}\",\n start: start,\n end: backquoteEnd,\n startLoc: loc.start,\n endLoc: backquoteEndLoc\n });\n }\n\n let templateValue, templateElementEnd, templateElementEndLoc, endToken;\n\n if (type === 24) {\n templateElementEnd = end - 1;\n templateElementEndLoc = createPositionWithColumnOffset(loc.end, -1);\n templateValue = value === null ? null : value.slice(1, -1);\n endToken = new Token({\n type: getExportedToken(22),\n value: \"`\",\n start: templateElementEnd,\n end: end,\n startLoc: templateElementEndLoc,\n endLoc: loc.end\n });\n } else {\n templateElementEnd = end - 2;\n templateElementEndLoc = createPositionWithColumnOffset(loc.end, -2);\n templateValue = value === null ? null : value.slice(1, -2);\n endToken = new Token({\n type: getExportedToken(23),\n value: \"${\",\n start: templateElementEnd,\n end: end,\n startLoc: templateElementEndLoc,\n endLoc: loc.end\n });\n }\n\n tokens.splice(i, 1, startToken, new Token({\n type: getExportedToken(20),\n value: templateValue,\n start: backquoteEnd,\n end: templateElementEnd,\n startLoc: backquoteEndLoc,\n endLoc: templateElementEndLoc\n }), endToken);\n i += 2;\n continue;\n }\n }\n token.type = getExportedToken(type);\n }\n }\n\n return tokens;\n}\n\nclass StatementParser extends ExpressionParser {\n parseTopLevel(file, program) {\n file.program = this.parseProgram(program);\n file.comments = this.state.comments;\n\n if (this.options.tokens) {\n file.tokens = babel7CompatTokens(this.tokens, this.input);\n }\n\n return this.finishNode(file, \"File\");\n }\n\n parseProgram(program, end = 135, sourceType = this.options.sourceType) {\n program.sourceType = sourceType;\n program.interpreter = this.parseInterpreterDirective();\n this.parseBlockBody(program, true, true, end);\n\n if (this.inModule && !this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) {\n for (const [name, loc] of Array.from(this.scope.undefinedExports)) {\n this.raise(ErrorMessages.ModuleExportUndefined, {\n at: loc\n }, name);\n }\n }\n\n return this.finishNode(program, \"Program\");\n }\n\n stmtToDirective(stmt) {\n const directive = stmt;\n directive.type = \"Directive\";\n directive.value = directive.expression;\n delete directive.expression;\n const directiveLiteral = directive.value;\n const expressionValue = directiveLiteral.value;\n const raw = this.input.slice(directiveLiteral.start, directiveLiteral.end);\n const val = directiveLiteral.value = raw.slice(1, -1);\n this.addExtra(directiveLiteral, \"raw\", raw);\n this.addExtra(directiveLiteral, \"rawValue\", val);\n this.addExtra(directiveLiteral, \"expressionValue\", expressionValue);\n directiveLiteral.type = \"DirectiveLiteral\";\n return directive;\n }\n\n parseInterpreterDirective() {\n if (!this.match(28)) {\n return null;\n }\n\n const node = this.startNode();\n node.value = this.state.value;\n this.next();\n return this.finishNode(node, \"InterpreterDirective\");\n }\n\n isLet(context) {\n if (!this.isContextual(99)) {\n return false;\n }\n\n return this.isLetKeyword(context);\n }\n\n isLetKeyword(context) {\n const next = this.nextTokenStart();\n const nextCh = this.codePointAtPos(next);\n\n if (nextCh === 92 || nextCh === 91) {\n return true;\n }\n\n if (context) return false;\n if (nextCh === 123) return true;\n\n if (isIdentifierStart(nextCh)) {\n keywordRelationalOperator.lastIndex = next;\n\n if (keywordRelationalOperator.test(this.input)) {\n const endCh = this.codePointAtPos(keywordRelationalOperator.lastIndex);\n\n if (!isIdentifierChar(endCh) && endCh !== 92) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n }\n\n parseStatement(context, topLevel) {\n if (this.match(26)) {\n this.parseDecorators(true);\n }\n\n return this.parseStatementContent(context, topLevel);\n }\n\n parseStatementContent(context, topLevel) {\n let starttype = this.state.type;\n const node = this.startNode();\n let kind;\n\n if (this.isLet(context)) {\n starttype = 74;\n kind = \"let\";\n }\n\n switch (starttype) {\n case 60:\n return this.parseBreakContinueStatement(node, true);\n\n case 63:\n return this.parseBreakContinueStatement(node, false);\n\n case 64:\n return this.parseDebuggerStatement(node);\n\n case 90:\n return this.parseDoStatement(node);\n\n case 91:\n return this.parseForStatement(node);\n\n case 68:\n if (this.lookaheadCharCode() === 46) break;\n\n if (context) {\n if (this.state.strict) {\n this.raise(ErrorMessages.StrictFunction, {\n at: this.state.startLoc\n });\n } else if (context !== \"if\" && context !== \"label\") {\n this.raise(ErrorMessages.SloppyFunction, {\n at: this.state.startLoc\n });\n }\n }\n\n return this.parseFunctionStatement(node, false, !context);\n\n case 80:\n if (context) this.unexpected();\n return this.parseClass(node, true);\n\n case 69:\n return this.parseIfStatement(node);\n\n case 70:\n return this.parseReturnStatement(node);\n\n case 71:\n return this.parseSwitchStatement(node);\n\n case 72:\n return this.parseThrowStatement(node);\n\n case 73:\n return this.parseTryStatement(node);\n\n case 75:\n case 74:\n kind = kind || this.state.value;\n\n if (context && kind !== \"var\") {\n this.raise(ErrorMessages.UnexpectedLexicalDeclaration, {\n at: this.state.startLoc\n });\n }\n\n return this.parseVarStatement(node, kind);\n\n case 92:\n return this.parseWhileStatement(node);\n\n case 76:\n return this.parseWithStatement(node);\n\n case 5:\n return this.parseBlock();\n\n case 13:\n return this.parseEmptyStatement(node);\n\n case 83:\n {\n const nextTokenCharCode = this.lookaheadCharCode();\n\n if (nextTokenCharCode === 40 || nextTokenCharCode === 46) {\n break;\n }\n }\n\n case 82:\n {\n if (!this.options.allowImportExportEverywhere && !topLevel) {\n this.raise(ErrorMessages.UnexpectedImportExport, {\n at: this.state.startLoc\n });\n }\n\n this.next();\n let result;\n\n if (starttype === 83) {\n result = this.parseImport(node);\n\n if (result.type === \"ImportDeclaration\" && (!result.importKind || result.importKind === \"value\")) {\n this.sawUnambiguousESM = true;\n }\n } else {\n result = this.parseExport(node);\n\n if (result.type === \"ExportNamedDeclaration\" && (!result.exportKind || result.exportKind === \"value\") || result.type === \"ExportAllDeclaration\" && (!result.exportKind || result.exportKind === \"value\") || result.type === \"ExportDefaultDeclaration\") {\n this.sawUnambiguousESM = true;\n }\n }\n\n this.assertModuleNodeAllowed(node);\n return result;\n }\n\n default:\n {\n if (this.isAsyncFunction()) {\n if (context) {\n this.raise(ErrorMessages.AsyncFunctionInSingleStatementContext, {\n at: this.state.startLoc\n });\n }\n\n this.next();\n return this.parseFunctionStatement(node, true, !context);\n }\n }\n }\n\n const maybeName = this.state.value;\n const expr = this.parseExpression();\n\n if (tokenIsIdentifier(starttype) && expr.type === \"Identifier\" && this.eat(14)) {\n return this.parseLabeledStatement(node, maybeName, expr, context);\n } else {\n return this.parseExpressionStatement(node, expr);\n }\n }\n\n assertModuleNodeAllowed(node) {\n if (!this.options.allowImportExportEverywhere && !this.inModule) {\n this.raise(SourceTypeModuleErrorMessages.ImportOutsideModule, {\n node\n });\n }\n }\n\n takeDecorators(node) {\n const decorators = this.state.decoratorStack[this.state.decoratorStack.length - 1];\n\n if (decorators.length) {\n node.decorators = decorators;\n this.resetStartLocationFromNode(node, decorators[0]);\n this.state.decoratorStack[this.state.decoratorStack.length - 1] = [];\n }\n }\n\n canHaveLeadingDecorator() {\n return this.match(80);\n }\n\n parseDecorators(allowExport) {\n const currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1];\n\n while (this.match(26)) {\n const decorator = this.parseDecorator();\n currentContextDecorators.push(decorator);\n }\n\n if (this.match(82)) {\n if (!allowExport) {\n this.unexpected();\n }\n\n if (this.hasPlugin(\"decorators\") && !this.getPluginOption(\"decorators\", \"decoratorsBeforeExport\")) {\n this.raise(ErrorMessages.DecoratorExportClass, {\n at: this.state.startLoc\n });\n }\n } else if (!this.canHaveLeadingDecorator()) {\n throw this.raise(ErrorMessages.UnexpectedLeadingDecorator, {\n at: this.state.startLoc\n });\n }\n }\n\n parseDecorator() {\n this.expectOnePlugin([\"decorators-legacy\", \"decorators\"]);\n const node = this.startNode();\n this.next();\n\n if (this.hasPlugin(\"decorators\")) {\n this.state.decoratorStack.push([]);\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n let expr;\n\n if (this.eat(10)) {\n expr = this.parseExpression();\n this.expect(11);\n } else {\n expr = this.parseIdentifier(false);\n\n while (this.eat(16)) {\n const node = this.startNodeAt(startPos, startLoc);\n node.object = expr;\n node.property = this.parseIdentifier(true);\n node.computed = false;\n expr = this.finishNode(node, \"MemberExpression\");\n }\n }\n\n node.expression = this.parseMaybeDecoratorArguments(expr);\n this.state.decoratorStack.pop();\n } else {\n node.expression = this.parseExprSubscripts();\n }\n\n return this.finishNode(node, \"Decorator\");\n }\n\n parseMaybeDecoratorArguments(expr) {\n if (this.eat(10)) {\n const node = this.startNodeAtNode(expr);\n node.callee = expr;\n node.arguments = this.parseCallExpressionArguments(11, false);\n this.toReferencedList(node.arguments);\n return this.finishNode(node, \"CallExpression\");\n }\n\n return expr;\n }\n\n parseBreakContinueStatement(node, isBreak) {\n this.next();\n\n if (this.isLineTerminator()) {\n node.label = null;\n } else {\n node.label = this.parseIdentifier();\n this.semicolon();\n }\n\n this.verifyBreakContinue(node, isBreak);\n return this.finishNode(node, isBreak ? \"BreakStatement\" : \"ContinueStatement\");\n }\n\n verifyBreakContinue(node, isBreak) {\n let i;\n\n for (i = 0; i < this.state.labels.length; ++i) {\n const lab = this.state.labels[i];\n\n if (node.label == null || lab.name === node.label.name) {\n if (lab.kind != null && (isBreak || lab.kind === \"loop\")) break;\n if (node.label && isBreak) break;\n }\n }\n\n if (i === this.state.labels.length) {\n this.raise(ErrorMessages.IllegalBreakContinue, {\n node\n }, isBreak ? \"break\" : \"continue\");\n }\n }\n\n parseDebuggerStatement(node) {\n this.next();\n this.semicolon();\n return this.finishNode(node, \"DebuggerStatement\");\n }\n\n parseHeaderExpression() {\n this.expect(10);\n const val = this.parseExpression();\n this.expect(11);\n return val;\n }\n\n parseDoStatement(node) {\n this.next();\n this.state.labels.push(loopLabel);\n node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement(\"do\"));\n this.state.labels.pop();\n this.expect(92);\n node.test = this.parseHeaderExpression();\n this.eat(13);\n return this.finishNode(node, \"DoWhileStatement\");\n }\n\n parseForStatement(node) {\n this.next();\n this.state.labels.push(loopLabel);\n let awaitAt = null;\n\n if (this.isAwaitAllowed() && this.eatContextual(96)) {\n awaitAt = this.state.lastTokStartLoc;\n }\n\n this.scope.enter(SCOPE_OTHER);\n this.expect(10);\n\n if (this.match(13)) {\n if (awaitAt !== null) {\n this.unexpected(awaitAt);\n }\n\n return this.parseFor(node, null);\n }\n\n const startsWithLet = this.isContextual(99);\n const isLet = startsWithLet && this.isLetKeyword();\n\n if (this.match(74) || this.match(75) || isLet) {\n const init = this.startNode();\n const kind = isLet ? \"let\" : this.state.value;\n this.next();\n this.parseVar(init, true, kind);\n this.finishNode(init, \"VariableDeclaration\");\n\n if ((this.match(58) || this.isContextual(101)) && init.declarations.length === 1) {\n return this.parseForIn(node, init, awaitAt);\n }\n\n if (awaitAt !== null) {\n this.unexpected(awaitAt);\n }\n\n return this.parseFor(node, init);\n }\n\n const startsWithAsync = this.isContextual(95);\n const refExpressionErrors = new ExpressionErrors();\n const init = this.parseExpression(true, refExpressionErrors);\n const isForOf = this.isContextual(101);\n\n if (isForOf) {\n if (startsWithLet) {\n this.raise(ErrorMessages.ForOfLet, {\n node: init\n });\n }\n\n if (awaitAt === null && startsWithAsync && init.type === \"Identifier\") {\n this.raise(ErrorMessages.ForOfAsync, {\n node: init\n });\n }\n }\n\n if (isForOf || this.match(58)) {\n this.checkDestructuringPrivate(refExpressionErrors);\n this.toAssignable(init, true);\n const description = isForOf ? \"for-of statement\" : \"for-in statement\";\n this.checkLVal(init, description);\n return this.parseForIn(node, init, awaitAt);\n } else {\n this.checkExpressionErrors(refExpressionErrors, true);\n }\n\n if (awaitAt !== null) {\n this.unexpected(awaitAt);\n }\n\n return this.parseFor(node, init);\n }\n\n parseFunctionStatement(node, isAsync, declarationPosition) {\n this.next();\n return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), isAsync);\n }\n\n parseIfStatement(node) {\n this.next();\n node.test = this.parseHeaderExpression();\n node.consequent = this.parseStatement(\"if\");\n node.alternate = this.eat(66) ? this.parseStatement(\"if\") : null;\n return this.finishNode(node, \"IfStatement\");\n }\n\n parseReturnStatement(node) {\n if (!this.prodParam.hasReturn && !this.options.allowReturnOutsideFunction) {\n this.raise(ErrorMessages.IllegalReturn, {\n at: this.state.startLoc\n });\n }\n\n this.next();\n\n if (this.isLineTerminator()) {\n node.argument = null;\n } else {\n node.argument = this.parseExpression();\n this.semicolon();\n }\n\n return this.finishNode(node, \"ReturnStatement\");\n }\n\n parseSwitchStatement(node) {\n this.next();\n node.discriminant = this.parseHeaderExpression();\n const cases = node.cases = [];\n this.expect(5);\n this.state.labels.push(switchLabel);\n this.scope.enter(SCOPE_OTHER);\n let cur;\n\n for (let sawDefault; !this.match(8);) {\n if (this.match(61) || this.match(65)) {\n const isCase = this.match(61);\n if (cur) this.finishNode(cur, \"SwitchCase\");\n cases.push(cur = this.startNode());\n cur.consequent = [];\n this.next();\n\n if (isCase) {\n cur.test = this.parseExpression();\n } else {\n if (sawDefault) {\n this.raise(ErrorMessages.MultipleDefaultsInSwitch, {\n at: this.state.lastTokStartLoc\n });\n }\n\n sawDefault = true;\n cur.test = null;\n }\n\n this.expect(14);\n } else {\n if (cur) {\n cur.consequent.push(this.parseStatement(null));\n } else {\n this.unexpected();\n }\n }\n }\n\n this.scope.exit();\n if (cur) this.finishNode(cur, \"SwitchCase\");\n this.next();\n this.state.labels.pop();\n return this.finishNode(node, \"SwitchStatement\");\n }\n\n parseThrowStatement(node) {\n this.next();\n\n if (this.hasPrecedingLineBreak()) {\n this.raise(ErrorMessages.NewlineAfterThrow, {\n at: this.state.lastTokEndLoc\n });\n }\n\n node.argument = this.parseExpression();\n this.semicolon();\n return this.finishNode(node, \"ThrowStatement\");\n }\n\n parseCatchClauseParam() {\n const param = this.parseBindingAtom();\n const simple = param.type === \"Identifier\";\n this.scope.enter(simple ? SCOPE_SIMPLE_CATCH : 0);\n this.checkLVal(param, \"catch clause\", BIND_LEXICAL);\n return param;\n }\n\n parseTryStatement(node) {\n this.next();\n node.block = this.parseBlock();\n node.handler = null;\n\n if (this.match(62)) {\n const clause = this.startNode();\n this.next();\n\n if (this.match(10)) {\n this.expect(10);\n clause.param = this.parseCatchClauseParam();\n this.expect(11);\n } else {\n clause.param = null;\n this.scope.enter(SCOPE_OTHER);\n }\n\n clause.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(false, false));\n this.scope.exit();\n node.handler = this.finishNode(clause, \"CatchClause\");\n }\n\n node.finalizer = this.eat(67) ? this.parseBlock() : null;\n\n if (!node.handler && !node.finalizer) {\n this.raise(ErrorMessages.NoCatchOrFinally, {\n node\n });\n }\n\n return this.finishNode(node, \"TryStatement\");\n }\n\n parseVarStatement(node, kind) {\n this.next();\n this.parseVar(node, false, kind);\n this.semicolon();\n return this.finishNode(node, \"VariableDeclaration\");\n }\n\n parseWhileStatement(node) {\n this.next();\n node.test = this.parseHeaderExpression();\n this.state.labels.push(loopLabel);\n node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement(\"while\"));\n this.state.labels.pop();\n return this.finishNode(node, \"WhileStatement\");\n }\n\n parseWithStatement(node) {\n if (this.state.strict) {\n this.raise(ErrorMessages.StrictWith, {\n at: this.state.startLoc\n });\n }\n\n this.next();\n node.object = this.parseHeaderExpression();\n node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement(\"with\"));\n return this.finishNode(node, \"WithStatement\");\n }\n\n parseEmptyStatement(node) {\n this.next();\n return this.finishNode(node, \"EmptyStatement\");\n }\n\n parseLabeledStatement(node, maybeName, expr, context) {\n for (const label of this.state.labels) {\n if (label.name === maybeName) {\n this.raise(ErrorMessages.LabelRedeclaration, {\n node: expr\n }, maybeName);\n }\n }\n\n const kind = tokenIsLoop(this.state.type) ? \"loop\" : this.match(71) ? \"switch\" : null;\n\n for (let i = this.state.labels.length - 1; i >= 0; i--) {\n const label = this.state.labels[i];\n\n if (label.statementStart === node.start) {\n label.statementStart = this.state.start;\n label.kind = kind;\n } else {\n break;\n }\n }\n\n this.state.labels.push({\n name: maybeName,\n kind: kind,\n statementStart: this.state.start\n });\n node.body = this.parseStatement(context ? context.indexOf(\"label\") === -1 ? context + \"label\" : context : \"label\");\n this.state.labels.pop();\n node.label = expr;\n return this.finishNode(node, \"LabeledStatement\");\n }\n\n parseExpressionStatement(node, expr) {\n node.expression = expr;\n this.semicolon();\n return this.finishNode(node, \"ExpressionStatement\");\n }\n\n parseBlock(allowDirectives = false, createNewLexicalScope = true, afterBlockParse) {\n const node = this.startNode();\n\n if (allowDirectives) {\n this.state.strictErrors.clear();\n }\n\n this.expect(5);\n\n if (createNewLexicalScope) {\n this.scope.enter(SCOPE_OTHER);\n }\n\n this.parseBlockBody(node, allowDirectives, false, 8, afterBlockParse);\n\n if (createNewLexicalScope) {\n this.scope.exit();\n }\n\n return this.finishNode(node, \"BlockStatement\");\n }\n\n isValidDirective(stmt) {\n return stmt.type === \"ExpressionStatement\" && stmt.expression.type === \"StringLiteral\" && !stmt.expression.extra.parenthesized;\n }\n\n parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) {\n const body = node.body = [];\n const directives = node.directives = [];\n this.parseBlockOrModuleBlockBody(body, allowDirectives ? directives : undefined, topLevel, end, afterBlockParse);\n }\n\n parseBlockOrModuleBlockBody(body, directives, topLevel, end, afterBlockParse) {\n const oldStrict = this.state.strict;\n let hasStrictModeDirective = false;\n let parsedNonDirective = false;\n\n while (!this.match(end)) {\n const stmt = this.parseStatement(null, topLevel);\n\n if (directives && !parsedNonDirective) {\n if (this.isValidDirective(stmt)) {\n const directive = this.stmtToDirective(stmt);\n directives.push(directive);\n\n if (!hasStrictModeDirective && directive.value.value === \"use strict\") {\n hasStrictModeDirective = true;\n this.setStrict(true);\n }\n\n continue;\n }\n\n parsedNonDirective = true;\n this.state.strictErrors.clear();\n }\n\n body.push(stmt);\n }\n\n if (afterBlockParse) {\n afterBlockParse.call(this, hasStrictModeDirective);\n }\n\n if (!oldStrict) {\n this.setStrict(false);\n }\n\n this.next();\n }\n\n parseFor(node, init) {\n node.init = init;\n this.semicolon(false);\n node.test = this.match(13) ? null : this.parseExpression();\n this.semicolon(false);\n node.update = this.match(11) ? null : this.parseExpression();\n this.expect(11);\n node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement(\"for\"));\n this.scope.exit();\n this.state.labels.pop();\n return this.finishNode(node, \"ForStatement\");\n }\n\n parseForIn(node, init, awaitAt) {\n const isForIn = this.match(58);\n this.next();\n\n if (isForIn) {\n if (awaitAt !== null) this.unexpected(awaitAt);\n } else {\n node.await = awaitAt !== null;\n }\n\n if (init.type === \"VariableDeclaration\" && init.declarations[0].init != null && (!isForIn || this.state.strict || init.kind !== \"var\" || init.declarations[0].id.type !== \"Identifier\")) {\n this.raise(ErrorMessages.ForInOfLoopInitializer, {\n node: init\n }, isForIn ? \"for-in\" : \"for-of\");\n }\n\n if (init.type === \"AssignmentPattern\") {\n this.raise(ErrorMessages.InvalidLhs, {\n node: init\n }, \"for-loop\");\n }\n\n node.left = init;\n node.right = isForIn ? this.parseExpression() : this.parseMaybeAssignAllowIn();\n this.expect(11);\n node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement(\"for\"));\n this.scope.exit();\n this.state.labels.pop();\n return this.finishNode(node, isForIn ? \"ForInStatement\" : \"ForOfStatement\");\n }\n\n parseVar(node, isFor, kind) {\n const declarations = node.declarations = [];\n const isTypescript = this.hasPlugin(\"typescript\");\n node.kind = kind;\n\n for (;;) {\n const decl = this.startNode();\n this.parseVarId(decl, kind);\n\n if (this.eat(29)) {\n decl.init = isFor ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn();\n } else {\n if (kind === \"const\" && !(this.match(58) || this.isContextual(101))) {\n if (!isTypescript) {\n this.raise(ErrorMessages.DeclarationMissingInitializer, {\n at: this.state.lastTokEndLoc\n }, \"Const declarations\");\n }\n } else if (decl.id.type !== \"Identifier\" && !(isFor && (this.match(58) || this.isContextual(101)))) {\n this.raise(ErrorMessages.DeclarationMissingInitializer, {\n at: this.state.lastTokEndLoc\n }, \"Complex binding patterns\");\n }\n\n decl.init = null;\n }\n\n declarations.push(this.finishNode(decl, \"VariableDeclarator\"));\n if (!this.eat(12)) break;\n }\n\n return node;\n }\n\n parseVarId(decl, kind) {\n decl.id = this.parseBindingAtom();\n this.checkLVal(decl.id, \"variable declaration\", kind === \"var\" ? BIND_VAR : BIND_LEXICAL, undefined, kind !== \"var\");\n }\n\n parseFunction(node, statement = FUNC_NO_FLAGS, isAsync = false) {\n const isStatement = statement & FUNC_STATEMENT;\n const isHangingStatement = statement & FUNC_HANGING_STATEMENT;\n const requireId = !!isStatement && !(statement & FUNC_NULLABLE_ID);\n this.initFunction(node, isAsync);\n\n if (this.match(55) && isHangingStatement) {\n this.raise(ErrorMessages.GeneratorInSingleStatementContext, {\n at: this.state.startLoc\n });\n }\n\n node.generator = this.eat(55);\n\n if (isStatement) {\n node.id = this.parseFunctionId(requireId);\n }\n\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n this.state.maybeInArrowParameters = false;\n this.scope.enter(SCOPE_FUNCTION);\n this.prodParam.enter(functionFlags(isAsync, node.generator));\n\n if (!isStatement) {\n node.id = this.parseFunctionId();\n }\n\n this.parseFunctionParams(node, false);\n this.withSmartMixTopicForbiddingContext(() => {\n this.parseFunctionBodyAndFinish(node, isStatement ? \"FunctionDeclaration\" : \"FunctionExpression\");\n });\n this.prodParam.exit();\n this.scope.exit();\n\n if (isStatement && !isHangingStatement) {\n this.registerFunctionStatementId(node);\n }\n\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n return node;\n }\n\n parseFunctionId(requireId) {\n return requireId || tokenIsIdentifier(this.state.type) ? this.parseIdentifier() : null;\n }\n\n parseFunctionParams(node, allowModifiers) {\n this.expect(10);\n this.expressionScope.enter(newParameterDeclarationScope());\n node.params = this.parseBindingList(11, 41, false, allowModifiers);\n this.expressionScope.exit();\n }\n\n registerFunctionStatementId(node) {\n if (!node.id) return;\n this.scope.declareName(node.id.name, this.state.strict || node.generator || node.async ? this.scope.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION, node.id.loc.start);\n }\n\n parseClass(node, isStatement, optionalId) {\n this.next();\n this.takeDecorators(node);\n const oldStrict = this.state.strict;\n this.state.strict = true;\n this.parseClassId(node, isStatement, optionalId);\n this.parseClassSuper(node);\n node.body = this.parseClassBody(!!node.superClass, oldStrict);\n return this.finishNode(node, isStatement ? \"ClassDeclaration\" : \"ClassExpression\");\n }\n\n isClassProperty() {\n return this.match(29) || this.match(13) || this.match(8);\n }\n\n isClassMethod() {\n return this.match(10);\n }\n\n isNonstaticConstructor(method) {\n return !method.computed && !method.static && (method.key.name === \"constructor\" || method.key.value === \"constructor\");\n }\n\n parseClassBody(hadSuperClass, oldStrict) {\n this.classScope.enter();\n const state = {\n hadConstructor: false,\n hadSuperClass\n };\n let decorators = [];\n const classBody = this.startNode();\n classBody.body = [];\n this.expect(5);\n this.withSmartMixTopicForbiddingContext(() => {\n while (!this.match(8)) {\n if (this.eat(13)) {\n if (decorators.length > 0) {\n throw this.raise(ErrorMessages.DecoratorSemicolon, {\n at: this.state.lastTokEndLoc\n });\n }\n\n continue;\n }\n\n if (this.match(26)) {\n decorators.push(this.parseDecorator());\n continue;\n }\n\n const member = this.startNode();\n\n if (decorators.length) {\n member.decorators = decorators;\n this.resetStartLocationFromNode(member, decorators[0]);\n decorators = [];\n }\n\n this.parseClassMember(classBody, member, state);\n\n if (member.kind === \"constructor\" && member.decorators && member.decorators.length > 0) {\n this.raise(ErrorMessages.DecoratorConstructor, {\n node: member\n });\n }\n }\n });\n this.state.strict = oldStrict;\n this.next();\n\n if (decorators.length) {\n throw this.raise(ErrorMessages.TrailingDecorator, {\n at: this.state.startLoc\n });\n }\n\n this.classScope.exit();\n return this.finishNode(classBody, \"ClassBody\");\n }\n\n parseClassMemberFromModifier(classBody, member) {\n const key = this.parseIdentifier(true);\n\n if (this.isClassMethod()) {\n const method = member;\n method.kind = \"method\";\n method.computed = false;\n method.key = key;\n method.static = false;\n this.pushClassMethod(classBody, method, false, false, false, false);\n return true;\n } else if (this.isClassProperty()) {\n const prop = member;\n prop.computed = false;\n prop.key = key;\n prop.static = false;\n classBody.body.push(this.parseClassProperty(prop));\n return true;\n }\n\n this.resetPreviousNodeTrailingComments(key);\n return false;\n }\n\n parseClassMember(classBody, member, state) {\n const isStatic = this.isContextual(104);\n\n if (isStatic) {\n if (this.parseClassMemberFromModifier(classBody, member)) {\n return;\n }\n\n if (this.eat(5)) {\n this.parseClassStaticBlock(classBody, member);\n return;\n }\n }\n\n this.parseClassMemberWithIsStatic(classBody, member, state, isStatic);\n }\n\n parseClassMemberWithIsStatic(classBody, member, state, isStatic) {\n const publicMethod = member;\n const privateMethod = member;\n const publicProp = member;\n const privateProp = member;\n const accessorProp = member;\n const method = publicMethod;\n const publicMember = publicMethod;\n member.static = isStatic;\n this.parsePropertyNamePrefixOperator(member);\n\n if (this.eat(55)) {\n method.kind = \"method\";\n const isPrivateName = this.match(134);\n this.parseClassElementName(method);\n\n if (isPrivateName) {\n this.pushClassPrivateMethod(classBody, privateMethod, true, false);\n return;\n }\n\n if (this.isNonstaticConstructor(publicMethod)) {\n this.raise(ErrorMessages.ConstructorIsGenerator, {\n node: publicMethod.key\n });\n }\n\n this.pushClassMethod(classBody, publicMethod, true, false, false, false);\n return;\n }\n\n const isContextual = tokenIsIdentifier(this.state.type) && !this.state.containsEsc;\n const isPrivate = this.match(134);\n const key = this.parseClassElementName(member);\n const maybeQuestionTokenStartLoc = this.state.startLoc;\n this.parsePostMemberNameModifiers(publicMember);\n\n if (this.isClassMethod()) {\n method.kind = \"method\";\n\n if (isPrivate) {\n this.pushClassPrivateMethod(classBody, privateMethod, false, false);\n return;\n }\n\n const isConstructor = this.isNonstaticConstructor(publicMethod);\n let allowsDirectSuper = false;\n\n if (isConstructor) {\n publicMethod.kind = \"constructor\";\n\n if (state.hadConstructor && !this.hasPlugin(\"typescript\")) {\n this.raise(ErrorMessages.DuplicateConstructor, {\n node: key\n });\n }\n\n if (isConstructor && this.hasPlugin(\"typescript\") && member.override) {\n this.raise(ErrorMessages.OverrideOnConstructor, {\n node: key\n });\n }\n\n state.hadConstructor = true;\n allowsDirectSuper = state.hadSuperClass;\n }\n\n this.pushClassMethod(classBody, publicMethod, false, false, isConstructor, allowsDirectSuper);\n } else if (this.isClassProperty()) {\n if (isPrivate) {\n this.pushClassPrivateProperty(classBody, privateProp);\n } else {\n this.pushClassProperty(classBody, publicProp);\n }\n } else if (isContextual && key.name === \"async\" && !this.isLineTerminator()) {\n this.resetPreviousNodeTrailingComments(key);\n const isGenerator = this.eat(55);\n\n if (publicMember.optional) {\n this.unexpected(maybeQuestionTokenStartLoc);\n }\n\n method.kind = \"method\";\n const isPrivate = this.match(134);\n this.parseClassElementName(method);\n this.parsePostMemberNameModifiers(publicMember);\n\n if (isPrivate) {\n this.pushClassPrivateMethod(classBody, privateMethod, isGenerator, true);\n } else {\n if (this.isNonstaticConstructor(publicMethod)) {\n this.raise(ErrorMessages.ConstructorIsAsync, {\n node: publicMethod.key\n });\n }\n\n this.pushClassMethod(classBody, publicMethod, isGenerator, true, false, false);\n }\n } else if (isContextual && (key.name === \"get\" || key.name === \"set\") && !(this.match(55) && this.isLineTerminator())) {\n this.resetPreviousNodeTrailingComments(key);\n method.kind = key.name;\n const isPrivate = this.match(134);\n this.parseClassElementName(publicMethod);\n\n if (isPrivate) {\n this.pushClassPrivateMethod(classBody, privateMethod, false, false);\n } else {\n if (this.isNonstaticConstructor(publicMethod)) {\n this.raise(ErrorMessages.ConstructorIsAccessor, {\n node: publicMethod.key\n });\n }\n\n this.pushClassMethod(classBody, publicMethod, false, false, false, false);\n }\n\n this.checkGetterSetterParams(publicMethod);\n } else if (isContextual && key.name === \"accessor\" && !this.isLineTerminator()) {\n this.expectPlugin(\"decoratorAutoAccessors\");\n this.resetPreviousNodeTrailingComments(key);\n const isPrivate = this.match(134);\n this.parseClassElementName(publicProp);\n this.pushClassAccessorProperty(classBody, accessorProp, isPrivate);\n } else if (this.isLineTerminator()) {\n if (isPrivate) {\n this.pushClassPrivateProperty(classBody, privateProp);\n } else {\n this.pushClassProperty(classBody, publicProp);\n }\n } else {\n this.unexpected();\n }\n }\n\n parseClassElementName(member) {\n const {\n type,\n value\n } = this.state;\n\n if ((type === 128 || type === 129) && member.static && value === \"prototype\") {\n this.raise(ErrorMessages.StaticPrototype, {\n at: this.state.startLoc\n });\n }\n\n if (type === 134) {\n if (value === \"constructor\") {\n this.raise(ErrorMessages.ConstructorClassPrivateField, {\n at: this.state.startLoc\n });\n }\n\n const key = this.parsePrivateName();\n member.key = key;\n return key;\n }\n\n return this.parsePropertyName(member);\n }\n\n parseClassStaticBlock(classBody, member) {\n var _member$decorators;\n\n this.scope.enter(SCOPE_CLASS | SCOPE_STATIC_BLOCK | SCOPE_SUPER);\n const oldLabels = this.state.labels;\n this.state.labels = [];\n this.prodParam.enter(PARAM);\n const body = member.body = [];\n this.parseBlockOrModuleBlockBody(body, undefined, false, 8);\n this.prodParam.exit();\n this.scope.exit();\n this.state.labels = oldLabels;\n classBody.body.push(this.finishNode(member, \"StaticBlock\"));\n\n if ((_member$decorators = member.decorators) != null && _member$decorators.length) {\n this.raise(ErrorMessages.DecoratorStaticBlock, {\n node: member\n });\n }\n }\n\n pushClassProperty(classBody, prop) {\n if (!prop.computed && (prop.key.name === \"constructor\" || prop.key.value === \"constructor\")) {\n this.raise(ErrorMessages.ConstructorClassField, {\n node: prop.key\n });\n }\n\n classBody.body.push(this.parseClassProperty(prop));\n }\n\n pushClassPrivateProperty(classBody, prop) {\n const node = this.parseClassPrivateProperty(prop);\n classBody.body.push(node);\n this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), CLASS_ELEMENT_OTHER, node.key.loc.start);\n }\n\n pushClassAccessorProperty(classBody, prop, isPrivate) {\n if (!isPrivate && !prop.computed) {\n const key = prop.key;\n\n if (key.name === \"constructor\" || key.value === \"constructor\") {\n this.raise(ErrorMessages.ConstructorClassField, {\n node: key\n });\n }\n }\n\n const node = this.parseClassAccessorProperty(prop);\n classBody.body.push(node);\n\n if (isPrivate) {\n this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), CLASS_ELEMENT_OTHER, node.key.loc.start);\n }\n }\n\n pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {\n classBody.body.push(this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, \"ClassMethod\", true));\n }\n\n pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {\n const node = this.parseMethod(method, isGenerator, isAsync, false, false, \"ClassPrivateMethod\", true);\n classBody.body.push(node);\n const kind = node.kind === \"get\" ? node.static ? CLASS_ELEMENT_STATIC_GETTER : CLASS_ELEMENT_INSTANCE_GETTER : node.kind === \"set\" ? node.static ? CLASS_ELEMENT_STATIC_SETTER : CLASS_ELEMENT_INSTANCE_SETTER : CLASS_ELEMENT_OTHER;\n this.declareClassPrivateMethodInScope(node, kind);\n }\n\n declareClassPrivateMethodInScope(node, kind) {\n this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), kind, node.key.loc.start);\n }\n\n parsePostMemberNameModifiers(methodOrProp) {}\n\n parseClassPrivateProperty(node) {\n this.parseInitializer(node);\n this.semicolon();\n return this.finishNode(node, \"ClassPrivateProperty\");\n }\n\n parseClassProperty(node) {\n this.parseInitializer(node);\n this.semicolon();\n return this.finishNode(node, \"ClassProperty\");\n }\n\n parseClassAccessorProperty(node) {\n this.parseInitializer(node);\n this.semicolon();\n return this.finishNode(node, \"ClassAccessorProperty\");\n }\n\n parseInitializer(node) {\n this.scope.enter(SCOPE_CLASS | SCOPE_SUPER);\n this.expressionScope.enter(newExpressionScope());\n this.prodParam.enter(PARAM);\n node.value = this.eat(29) ? this.parseMaybeAssignAllowIn() : null;\n this.expressionScope.exit();\n this.prodParam.exit();\n this.scope.exit();\n }\n\n parseClassId(node, isStatement, optionalId, bindingType = BIND_CLASS) {\n if (tokenIsIdentifier(this.state.type)) {\n node.id = this.parseIdentifier();\n\n if (isStatement) {\n this.checkLVal(node.id, \"class name\", bindingType);\n }\n } else {\n if (optionalId || !isStatement) {\n node.id = null;\n } else {\n throw this.raise(ErrorMessages.MissingClassName, {\n at: this.state.startLoc\n });\n }\n }\n }\n\n parseClassSuper(node) {\n node.superClass = this.eat(81) ? this.parseExprSubscripts() : null;\n }\n\n parseExport(node) {\n const hasDefault = this.maybeParseExportDefaultSpecifier(node);\n const parseAfterDefault = !hasDefault || this.eat(12);\n const hasStar = parseAfterDefault && this.eatExportStar(node);\n const hasNamespace = hasStar && this.maybeParseExportNamespaceSpecifier(node);\n const parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(12));\n const isFromRequired = hasDefault || hasStar;\n\n if (hasStar && !hasNamespace) {\n if (hasDefault) this.unexpected();\n this.parseExportFrom(node, true);\n return this.finishNode(node, \"ExportAllDeclaration\");\n }\n\n const hasSpecifiers = this.maybeParseExportNamedSpecifiers(node);\n\n if (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers || hasNamespace && parseAfterNamespace && !hasSpecifiers) {\n throw this.unexpected(null, 5);\n }\n\n let hasDeclaration;\n\n if (isFromRequired || hasSpecifiers) {\n hasDeclaration = false;\n this.parseExportFrom(node, isFromRequired);\n } else {\n hasDeclaration = this.maybeParseExportDeclaration(node);\n }\n\n if (isFromRequired || hasSpecifiers || hasDeclaration) {\n this.checkExport(node, true, false, !!node.source);\n return this.finishNode(node, \"ExportNamedDeclaration\");\n }\n\n if (this.eat(65)) {\n node.declaration = this.parseExportDefaultExpression();\n this.checkExport(node, true, true);\n return this.finishNode(node, \"ExportDefaultDeclaration\");\n }\n\n throw this.unexpected(null, 5);\n }\n\n eatExportStar(node) {\n return this.eat(55);\n }\n\n maybeParseExportDefaultSpecifier(node) {\n if (this.isExportDefaultSpecifier()) {\n this.expectPlugin(\"exportDefaultFrom\");\n const specifier = this.startNode();\n specifier.exported = this.parseIdentifier(true);\n node.specifiers = [this.finishNode(specifier, \"ExportDefaultSpecifier\")];\n return true;\n }\n\n return false;\n }\n\n maybeParseExportNamespaceSpecifier(node) {\n if (this.isContextual(93)) {\n if (!node.specifiers) node.specifiers = [];\n const specifier = this.startNodeAt(this.state.lastTokStart, this.state.lastTokStartLoc);\n this.next();\n specifier.exported = this.parseModuleExportName();\n node.specifiers.push(this.finishNode(specifier, \"ExportNamespaceSpecifier\"));\n return true;\n }\n\n return false;\n }\n\n maybeParseExportNamedSpecifiers(node) {\n if (this.match(5)) {\n if (!node.specifiers) node.specifiers = [];\n const isTypeExport = node.exportKind === \"type\";\n node.specifiers.push(...this.parseExportSpecifiers(isTypeExport));\n node.source = null;\n node.declaration = null;\n\n if (this.hasPlugin(\"importAssertions\")) {\n node.assertions = [];\n }\n\n return true;\n }\n\n return false;\n }\n\n maybeParseExportDeclaration(node) {\n if (this.shouldParseExportDeclaration()) {\n node.specifiers = [];\n node.source = null;\n\n if (this.hasPlugin(\"importAssertions\")) {\n node.assertions = [];\n }\n\n node.declaration = this.parseExportDeclaration(node);\n return true;\n }\n\n return false;\n }\n\n isAsyncFunction() {\n if (!this.isContextual(95)) return false;\n const next = this.nextTokenStart();\n return !lineBreak.test(this.input.slice(this.state.pos, next)) && this.isUnparsedContextual(next, \"function\");\n }\n\n parseExportDefaultExpression() {\n const expr = this.startNode();\n const isAsync = this.isAsyncFunction();\n\n if (this.match(68) || isAsync) {\n this.next();\n\n if (isAsync) {\n this.next();\n }\n\n return this.parseFunction(expr, FUNC_STATEMENT | FUNC_NULLABLE_ID, isAsync);\n }\n\n if (this.match(80)) {\n return this.parseClass(expr, true, true);\n }\n\n if (this.match(26)) {\n if (this.hasPlugin(\"decorators\") && this.getPluginOption(\"decorators\", \"decoratorsBeforeExport\")) {\n this.raise(ErrorMessages.DecoratorBeforeExport, {\n at: this.state.startLoc\n });\n }\n\n this.parseDecorators(false);\n return this.parseClass(expr, true, true);\n }\n\n if (this.match(75) || this.match(74) || this.isLet()) {\n throw this.raise(ErrorMessages.UnsupportedDefaultExport, {\n at: this.state.startLoc\n });\n }\n\n const res = this.parseMaybeAssignAllowIn();\n this.semicolon();\n return res;\n }\n\n parseExportDeclaration(node) {\n return this.parseStatement(null);\n }\n\n isExportDefaultSpecifier() {\n const {\n type\n } = this.state;\n\n if (tokenIsIdentifier(type)) {\n if (type === 95 && !this.state.containsEsc || type === 99) {\n return false;\n }\n\n if ((type === 126 || type === 125) && !this.state.containsEsc) {\n const {\n type: nextType\n } = this.lookahead();\n\n if (tokenIsIdentifier(nextType) && nextType !== 97 || nextType === 5) {\n this.expectOnePlugin([\"flow\", \"typescript\"]);\n return false;\n }\n }\n } else if (!this.match(65)) {\n return false;\n }\n\n const next = this.nextTokenStart();\n const hasFrom = this.isUnparsedContextual(next, \"from\");\n\n if (this.input.charCodeAt(next) === 44 || tokenIsIdentifier(this.state.type) && hasFrom) {\n return true;\n }\n\n if (this.match(65) && hasFrom) {\n const nextAfterFrom = this.input.charCodeAt(this.nextTokenStartSince(next + 4));\n return nextAfterFrom === 34 || nextAfterFrom === 39;\n }\n\n return false;\n }\n\n parseExportFrom(node, expect) {\n if (this.eatContextual(97)) {\n node.source = this.parseImportSource();\n this.checkExport(node);\n const assertions = this.maybeParseImportAssertions();\n\n if (assertions) {\n node.assertions = assertions;\n }\n } else if (expect) {\n this.unexpected();\n }\n\n this.semicolon();\n }\n\n shouldParseExportDeclaration() {\n const {\n type\n } = this.state;\n\n if (type === 26) {\n this.expectOnePlugin([\"decorators\", \"decorators-legacy\"]);\n\n if (this.hasPlugin(\"decorators\")) {\n if (this.getPluginOption(\"decorators\", \"decoratorsBeforeExport\")) {\n throw this.raise(ErrorMessages.DecoratorBeforeExport, {\n at: this.state.startLoc\n });\n }\n\n return true;\n }\n }\n\n return type === 74 || type === 75 || type === 68 || type === 80 || this.isLet() || this.isAsyncFunction();\n }\n\n checkExport(node, checkNames, isDefault, isFrom) {\n if (checkNames) {\n if (isDefault) {\n this.checkDuplicateExports(node, \"default\");\n\n if (this.hasPlugin(\"exportDefaultFrom\")) {\n var _declaration$extra;\n\n const declaration = node.declaration;\n\n if (declaration.type === \"Identifier\" && declaration.name === \"from\" && declaration.end - declaration.start === 4 && !((_declaration$extra = declaration.extra) != null && _declaration$extra.parenthesized)) {\n this.raise(ErrorMessages.ExportDefaultFromAsIdentifier, {\n node: declaration\n });\n }\n }\n } else if (node.specifiers && node.specifiers.length) {\n for (const specifier of node.specifiers) {\n const {\n exported\n } = specifier;\n const exportedName = exported.type === \"Identifier\" ? exported.name : exported.value;\n this.checkDuplicateExports(specifier, exportedName);\n\n if (!isFrom && specifier.local) {\n const {\n local\n } = specifier;\n\n if (local.type !== \"Identifier\") {\n this.raise(ErrorMessages.ExportBindingIsString, {\n node: specifier\n }, local.value, exportedName);\n } else {\n this.checkReservedWord(local.name, local.loc.start, true, false);\n this.scope.checkLocalExport(local);\n }\n }\n }\n } else if (node.declaration) {\n if (node.declaration.type === \"FunctionDeclaration\" || node.declaration.type === \"ClassDeclaration\") {\n const id = node.declaration.id;\n if (!id) throw new Error(\"Assertion failure\");\n this.checkDuplicateExports(node, id.name);\n } else if (node.declaration.type === \"VariableDeclaration\") {\n for (const declaration of node.declaration.declarations) {\n this.checkDeclaration(declaration.id);\n }\n }\n }\n }\n\n const currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1];\n\n if (currentContextDecorators.length) {\n throw this.raise(ErrorMessages.UnsupportedDecoratorExport, {\n node\n });\n }\n }\n\n checkDeclaration(node) {\n if (node.type === \"Identifier\") {\n this.checkDuplicateExports(node, node.name);\n } else if (node.type === \"ObjectPattern\") {\n for (const prop of node.properties) {\n this.checkDeclaration(prop);\n }\n } else if (node.type === \"ArrayPattern\") {\n for (const elem of node.elements) {\n if (elem) {\n this.checkDeclaration(elem);\n }\n }\n } else if (node.type === \"ObjectProperty\") {\n this.checkDeclaration(node.value);\n } else if (node.type === \"RestElement\") {\n this.checkDeclaration(node.argument);\n } else if (node.type === \"AssignmentPattern\") {\n this.checkDeclaration(node.left);\n }\n }\n\n checkDuplicateExports(node, name) {\n if (this.exportedIdentifiers.has(name)) {\n this.raise(name === \"default\" ? ErrorMessages.DuplicateDefaultExport : ErrorMessages.DuplicateExport, {\n node\n }, name);\n }\n\n this.exportedIdentifiers.add(name);\n }\n\n parseExportSpecifiers(isInTypeExport) {\n const nodes = [];\n let first = true;\n this.expect(5);\n\n while (!this.eat(8)) {\n if (first) {\n first = false;\n } else {\n this.expect(12);\n if (this.eat(8)) break;\n }\n\n const isMaybeTypeOnly = this.isContextual(126);\n const isString = this.match(129);\n const node = this.startNode();\n node.local = this.parseModuleExportName();\n nodes.push(this.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly));\n }\n\n return nodes;\n }\n\n parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) {\n if (this.eatContextual(93)) {\n node.exported = this.parseModuleExportName();\n } else if (isString) {\n node.exported = cloneStringLiteral(node.local);\n } else if (!node.exported) {\n node.exported = cloneIdentifier(node.local);\n }\n\n return this.finishNode(node, \"ExportSpecifier\");\n }\n\n parseModuleExportName() {\n if (this.match(129)) {\n const result = this.parseStringLiteral(this.state.value);\n const surrogate = result.value.match(loneSurrogate);\n\n if (surrogate) {\n this.raise(ErrorMessages.ModuleExportNameHasLoneSurrogate, {\n node: result\n }, surrogate[0].charCodeAt(0).toString(16));\n }\n\n return result;\n }\n\n return this.parseIdentifier(true);\n }\n\n parseImport(node) {\n node.specifiers = [];\n\n if (!this.match(129)) {\n const hasDefault = this.maybeParseDefaultImportSpecifier(node);\n const parseNext = !hasDefault || this.eat(12);\n const hasStar = parseNext && this.maybeParseStarImportSpecifier(node);\n if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node);\n this.expectContextual(97);\n }\n\n node.source = this.parseImportSource();\n const assertions = this.maybeParseImportAssertions();\n\n if (assertions) {\n node.assertions = assertions;\n } else {\n const attributes = this.maybeParseModuleAttributes();\n\n if (attributes) {\n node.attributes = attributes;\n }\n }\n\n this.semicolon();\n return this.finishNode(node, \"ImportDeclaration\");\n }\n\n parseImportSource() {\n if (!this.match(129)) this.unexpected();\n return this.parseExprAtom();\n }\n\n shouldParseDefaultImport(node) {\n return tokenIsIdentifier(this.state.type);\n }\n\n parseImportSpecifierLocal(node, specifier, type, contextDescription) {\n specifier.local = this.parseIdentifier();\n this.checkLVal(specifier.local, contextDescription, BIND_LEXICAL);\n node.specifiers.push(this.finishNode(specifier, type));\n }\n\n parseAssertEntries() {\n const attrs = [];\n const attrNames = new Set();\n\n do {\n if (this.match(8)) {\n break;\n }\n\n const node = this.startNode();\n const keyName = this.state.value;\n\n if (attrNames.has(keyName)) {\n this.raise(ErrorMessages.ModuleAttributesWithDuplicateKeys, {\n at: this.state.startLoc\n }, keyName);\n }\n\n attrNames.add(keyName);\n\n if (this.match(129)) {\n node.key = this.parseStringLiteral(keyName);\n } else {\n node.key = this.parseIdentifier(true);\n }\n\n this.expect(14);\n\n if (!this.match(129)) {\n throw this.raise(ErrorMessages.ModuleAttributeInvalidValue, {\n at: this.state.startLoc\n });\n }\n\n node.value = this.parseStringLiteral(this.state.value);\n this.finishNode(node, \"ImportAttribute\");\n attrs.push(node);\n } while (this.eat(12));\n\n return attrs;\n }\n\n maybeParseModuleAttributes() {\n if (this.match(76) && !this.hasPrecedingLineBreak()) {\n this.expectPlugin(\"moduleAttributes\");\n this.next();\n } else {\n if (this.hasPlugin(\"moduleAttributes\")) return [];\n return null;\n }\n\n const attrs = [];\n const attributes = new Set();\n\n do {\n const node = this.startNode();\n node.key = this.parseIdentifier(true);\n\n if (node.key.name !== \"type\") {\n this.raise(ErrorMessages.ModuleAttributeDifferentFromType, {\n node: node.key\n }, node.key.name);\n }\n\n if (attributes.has(node.key.name)) {\n this.raise(ErrorMessages.ModuleAttributesWithDuplicateKeys, {\n node: node.key\n }, node.key.name);\n }\n\n attributes.add(node.key.name);\n this.expect(14);\n\n if (!this.match(129)) {\n throw this.raise(ErrorMessages.ModuleAttributeInvalidValue, {\n at: this.state.startLoc\n });\n }\n\n node.value = this.parseStringLiteral(this.state.value);\n this.finishNode(node, \"ImportAttribute\");\n attrs.push(node);\n } while (this.eat(12));\n\n return attrs;\n }\n\n maybeParseImportAssertions() {\n if (this.isContextual(94) && !this.hasPrecedingLineBreak()) {\n this.expectPlugin(\"importAssertions\");\n this.next();\n } else {\n if (this.hasPlugin(\"importAssertions\")) return [];\n return null;\n }\n\n this.eat(5);\n const attrs = this.parseAssertEntries();\n this.eat(8);\n return attrs;\n }\n\n maybeParseDefaultImportSpecifier(node) {\n if (this.shouldParseDefaultImport(node)) {\n this.parseImportSpecifierLocal(node, this.startNode(), \"ImportDefaultSpecifier\", \"default import specifier\");\n return true;\n }\n\n return false;\n }\n\n maybeParseStarImportSpecifier(node) {\n if (this.match(55)) {\n const specifier = this.startNode();\n this.next();\n this.expectContextual(93);\n this.parseImportSpecifierLocal(node, specifier, \"ImportNamespaceSpecifier\", \"import namespace specifier\");\n return true;\n }\n\n return false;\n }\n\n parseNamedImportSpecifiers(node) {\n let first = true;\n this.expect(5);\n\n while (!this.eat(8)) {\n if (first) {\n first = false;\n } else {\n if (this.eat(14)) {\n throw this.raise(ErrorMessages.DestructureNamedImport, {\n at: this.state.startLoc\n });\n }\n\n this.expect(12);\n if (this.eat(8)) break;\n }\n\n const specifier = this.startNode();\n const importedIsString = this.match(129);\n const isMaybeTypeOnly = this.isContextual(126);\n specifier.imported = this.parseModuleExportName();\n const importSpecifier = this.parseImportSpecifier(specifier, importedIsString, node.importKind === \"type\" || node.importKind === \"typeof\", isMaybeTypeOnly);\n node.specifiers.push(importSpecifier);\n }\n }\n\n parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly) {\n if (this.eatContextual(93)) {\n specifier.local = this.parseIdentifier();\n } else {\n const {\n imported\n } = specifier;\n\n if (importedIsString) {\n throw this.raise(ErrorMessages.ImportBindingIsString, {\n node: specifier\n }, imported.value);\n }\n\n this.checkReservedWord(imported.name, specifier.loc.start, true, true);\n\n if (!specifier.local) {\n specifier.local = cloneIdentifier(imported);\n }\n }\n\n this.checkLVal(specifier.local, \"import specifier\", BIND_LEXICAL);\n return this.finishNode(specifier, \"ImportSpecifier\");\n }\n\n isThisParam(param) {\n return param.type === \"Identifier\" && param.name === \"this\";\n }\n\n}\n\nclass Parser extends StatementParser {\n constructor(options, input) {\n options = getOptions(options);\n super(options, input);\n this.options = options;\n this.initializeScopes();\n this.plugins = pluginsMap(this.options.plugins);\n this.filename = options.sourceFilename;\n }\n\n getScopeHandler() {\n return ScopeHandler;\n }\n\n parse() {\n this.enterInitialScopes();\n const file = this.startNode();\n const program = this.startNode();\n this.nextToken();\n file.errors = null;\n this.parseTopLevel(file, program);\n file.errors = this.state.errors;\n return file;\n }\n\n}\n\nfunction pluginsMap(plugins) {\n const pluginMap = new Map();\n\n for (const plugin of plugins) {\n const [name, options] = Array.isArray(plugin) ? plugin : [plugin, {}];\n if (!pluginMap.has(name)) pluginMap.set(name, options || {});\n }\n\n return pluginMap;\n}\n\nfunction parse(input, options) {\n var _options;\n\n if (((_options = options) == null ? void 0 : _options.sourceType) === \"unambiguous\") {\n options = Object.assign({}, options);\n\n try {\n options.sourceType = \"module\";\n const parser = getParser(options, input);\n const ast = parser.parse();\n\n if (parser.sawUnambiguousESM) {\n return ast;\n }\n\n if (parser.ambiguousScriptDifferentAst) {\n try {\n options.sourceType = \"script\";\n return getParser(options, input).parse();\n } catch (_unused) {}\n } else {\n ast.program.sourceType = \"script\";\n }\n\n return ast;\n } catch (moduleError) {\n try {\n options.sourceType = \"script\";\n return getParser(options, input).parse();\n } catch (_unused2) {}\n\n throw moduleError;\n }\n } else {\n return getParser(options, input).parse();\n }\n}\nfunction parseExpression(input, options) {\n const parser = getParser(options, input);\n\n if (parser.options.strictMode) {\n parser.state.strict = true;\n }\n\n return parser.getExpression();\n}\n\nfunction generateExportedTokenTypes(internalTokenTypes) {\n const tokenTypes = {};\n\n for (const typeName of Object.keys(internalTokenTypes)) {\n tokenTypes[typeName] = getExportedToken(internalTokenTypes[typeName]);\n }\n\n return tokenTypes;\n}\n\nconst tokTypes = generateExportedTokenTypes(tt);\n\nfunction getParser(options, input) {\n let cls = Parser;\n\n if (options != null && options.plugins) {\n validatePlugins(options.plugins);\n cls = getParserClass(options.plugins);\n }\n\n return new cls(options, input);\n}\n\nconst parserClassCache = {};\n\nfunction getParserClass(pluginsFromOptions) {\n const pluginList = mixinPluginNames.filter(name => hasPlugin(pluginsFromOptions, name));\n const key = pluginList.join(\"/\");\n let cls = parserClassCache[key];\n\n if (!cls) {\n cls = Parser;\n\n for (const plugin of pluginList) {\n cls = mixinPlugins[plugin](cls);\n }\n\n parserClassCache[key] = cls;\n }\n\n return cls;\n}\n\nexports.parse = parse;\nexports.parseExpression = parseExpression;\nexports.tokTypes = tokTypes;\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack:///./node_modules/@babel/parser/lib/index.js?");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bpm/form/formEditor.vue?vue&type=script&lang=js&":
/*!***********************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/bpm/form/formEditor.vue?vue&type=script&lang=js& ***!
\***********************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _typeof2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/helpers/typeof.js */ \"./node_modules/@babel/runtime/helpers/typeof.js\"));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/helpers/objectSpread2.js */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\"));\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.find-index.js */ \"./node_modules/core-js/modules/es.array.find-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n\nvar _vuedraggable = _interopRequireDefault(__webpack_require__(/*! vuedraggable */ \"./node_modules/vuedraggable/dist/vuedraggable.umd.js\"));\n\nvar _throttleDebounce = __webpack_require__(/*! throttle-debounce */ \"./node_modules/throttle-debounce/index.umd.js\");\n\nvar _fileSaver = __webpack_require__(/*! file-saver */ \"./node_modules/file-saver/dist/FileSaver.min.js\");\n\nvar _clipboard = _interopRequireDefault(__webpack_require__(/*! clipboard */ \"./node_modules/clipboard/dist/clipboard.js\"));\n\nvar _render = _interopRequireDefault(__webpack_require__(/*! @/components/render/render */ \"./src/components/render/render.js\"));\n\nvar _FormDrawer = _interopRequireDefault(__webpack_require__(/*! @/views/infra/build/FormDrawer */ \"./src/views/infra/build/FormDrawer.vue\"));\n\nvar _JsonDrawer = _interopRequireDefault(__webpack_require__(/*! @/views/infra/build/JsonDrawer */ \"./src/views/infra/build/JsonDrawer.vue\"));\n\nvar _RightPanel = _interopRequireDefault(__webpack_require__(/*! @/views/infra/build/RightPanel */ \"./src/views/infra/build/RightPanel.vue\"));\n\nvar _config = __webpack_require__(/*! @/components/generator/config */ \"./src/components/generator/config.js\");\n\nvar _index = __webpack_require__(/*! @/utils/index */ \"./src/utils/index.js\");\n\nvar _html = __webpack_require__(/*! @/components/generator/html */ \"./src/components/generator/html.js\");\n\nvar _js = __webpack_require__(/*! @/components/generator/js */ \"./src/components/generator/js.js\");\n\nvar _css = __webpack_require__(/*! @/components/generator/css */ \"./src/components/generator/css.js\");\n\nvar _drawingDefalut = _interopRequireDefault(__webpack_require__(/*! @/components/generator/drawingDefalut */ \"./src/components/generator/drawingDefalut.js\"));\n\nvar _logo = _interopRequireDefault(__webpack_require__(/*! @/assets/logo/logo.png */ \"./src/assets/logo/logo.png\"));\n\nvar _CodeTypeDialog = _interopRequireDefault(__webpack_require__(/*! @/views/infra/build/CodeTypeDialog */ \"./src/views/infra/build/CodeTypeDialog.vue\"));\n\nvar _DraggableItem = _interopRequireDefault(__webpack_require__(/*! @/views/infra/build/DraggableItem */ \"./src/views/infra/build/DraggableItem.vue\"));\n\nvar _db = __webpack_require__(/*! @/utils/db */ \"./src/utils/db.js\");\n\nvar _loadBeautifier = _interopRequireDefault(__webpack_require__(/*! @/utils/loadBeautifier */ \"./src/utils/loadBeautifier.js\"));\n\nvar _constants = __webpack_require__(/*! @/utils/constants */ \"./src/utils/constants.js\");\n\nvar _form = __webpack_require__(/*! @/api/bpm/form */ \"./src/api/bpm/form.js\");\n\nvar _formGenerator = __webpack_require__(/*! @/utils/formGenerator */ \"./src/utils/formGenerator.js\");\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar beautifier;\nvar emptyActiveData = {\n style: {},\n autosize: {}\n};\nvar oldActiveId;\nvar tempActiveData;\nvar drawingListInDB = (0, _db.getDrawingList)();\nvar formConfInDB = (0, _db.getFormConf)();\nvar idGlobal = (0, _db.getIdGlobal)();\nvar _default = {\n components: {\n draggable: _vuedraggable.default,\n render: _render.default,\n FormDrawer: _FormDrawer.default,\n JsonDrawer: _JsonDrawer.default,\n RightPanel: _RightPanel.default,\n CodeTypeDialog: _CodeTypeDialog.default,\n DraggableItem: _DraggableItem.default\n },\n data: function data() {\n return {\n logo: _logo.default,\n idGlobal: idGlobal,\n formConf: _config.formConf,\n inputComponents: _config.inputComponents,\n selectComponents: _config.selectComponents,\n layoutComponents: _config.layoutComponents,\n labelWidth: 100,\n // drawingList: drawingDefalut,\n drawingData: {},\n // 生成后的表单数据\n activeId: _drawingDefalut.default[0].__config__.formId,\n drawingList: [],\n // 表单项的数组\n // activeId: undefined,\n // activeData: {},\n drawerVisible: false,\n formData: {},\n dialogVisible: false,\n jsonDrawerVisible: false,\n generateConf: null,\n showFileName: false,\n activeData: _drawingDefalut.default[0],\n // 右边编辑器激活的表单项\n saveDrawingListDebounce: (0, _throttleDebounce.debounce)(340, _db.saveDrawingList),\n saveIdGlobalDebounce: (0, _throttleDebounce.debounce)(340, _db.saveIdGlobal),\n leftComponents: [{\n title: '输入型组件',\n list: _config.inputComponents\n }, {\n title: '选择型组件',\n list: _config.selectComponents\n }, {\n title: '布局型组件',\n list: _config.layoutComponents\n }],\n // 表单参数\n form: {\n status: _constants.CommonStatusEnum.ENABLE\n },\n // 表单校验\n rules: {\n name: [{\n required: true,\n message: \"表单名不能为空\",\n trigger: \"blur\"\n }],\n status: [{\n required: true,\n message: \"开启状态不能为空\",\n trigger: \"blur\"\n }]\n }\n };\n },\n computed: {},\n watch: {\n // eslint-disable-next-line func-names\n 'activeData.__config__.label': function activeData__config__Label(val, oldVal) {\n if (this.activeData.placeholder === undefined || !this.activeData.__config__.tag || oldActiveId !== this.activeId) {\n return;\n }\n\n this.activeData.placeholder = this.activeData.placeholder.replace(oldVal, '') + val;\n },\n activeId: {\n handler: function handler(val) {\n oldActiveId = val;\n },\n immediate: true\n },\n drawingList: {\n handler: function handler(val) {\n this.saveDrawingListDebounce(val);\n if (val.length === 0) this.idGlobal = 100;\n },\n deep: true\n },\n idGlobal: {\n handler: function handler(val) {\n this.saveIdGlobalDebounce(val);\n },\n immediate: true\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // 【add by 芋道源码】不读缓存\n // if (Array.isArray(drawingListInDB) && drawingListInDB.length > 0) {\n // this.drawingList = drawingListInDB\n // } else {\n // this.drawingList = drawingDefalut\n // }\n // this.activeFormItem(this.drawingList[0])\n // if (formConfInDB) {\n // this.formConf = formConfInDB\n // }\n (0, _loadBeautifier.default)(function (btf) {\n beautifier = btf;\n });\n var clipboard = new _clipboard.default('#copyNode', {\n text: function text(trigger) {\n var codeStr = _this.generateCode();\n\n _this.$notify({\n title: '成功',\n message: '代码已复制到剪切板,可粘贴。',\n type: 'success'\n });\n\n return codeStr;\n }\n });\n clipboard.on('error', function (e) {\n _this.$message.error('代码复制失败');\n });\n },\n created: function created() {\n var _this2 = this;\n\n // 读取表单配置\n var formId = this.$route.query && this.$route.query.formId;\n\n if (formId) {\n (0, _form.getForm)(formId).then(function (response) {\n var data = response.data;\n _this2.form = {\n id: data.id,\n name: data.name,\n status: data.status,\n remark: data.remark\n };\n _this2.formConf = JSON.parse(data.conf);\n _this2.drawingList = (0, _formGenerator.decodeFields)(data.fields); // 设置激活的表单项\n\n _this2.activeData = _this2.drawingList[0];\n _this2.activeId = _this2.activeData.__config__.formId; // 设置 idGlobal避免重复\n\n _this2.idGlobal += _this2.drawingList.length;\n });\n }\n },\n methods: {\n setObjectValueReduce: function setObjectValueReduce(obj, strKeys, data) {\n var arr = strKeys.split('.');\n arr.reduce(function (pre, item, i) {\n if (arr.length === i + 1) {\n pre[item] = data;\n } else if (!(0, _index.isObjectObject)(pre[item])) {\n pre[item] = {};\n }\n\n return pre[item];\n }, obj);\n },\n setRespData: function setRespData(component, resp) {\n var _component$__config__ = component.__config__,\n dataPath = _component$__config__.dataPath,\n renderKey = _component$__config__.renderKey,\n dataConsumer = _component$__config__.dataConsumer;\n if (!dataPath || !dataConsumer) return;\n var respData = dataPath.split('.').reduce(function (pre, item) {\n return pre[item];\n }, resp); // 将请求回来的数据,赋值到指定属性。\n // 以el-tabel为例根据Element文档应该将数据赋值给el-tabel的data属性所以dataConsumer的值应为'data';\n // 此时赋值代码可写成 component[dataConsumer] = respData\n // 但为支持更深层级的赋值dataConsumer的值为'options.data',使用setObjectValueReduce\n\n this.setObjectValueReduce(component, dataConsumer, respData);\n var i = this.drawingList.findIndex(function (item) {\n return item.__config__.renderKey === renderKey;\n });\n if (i > -1) this.$set(this.drawingList, i, component);\n },\n fetchData: function fetchData(component) {\n var _this3 = this;\n\n var _component$__config__2 = component.__config__,\n dataType = _component$__config__2.dataType,\n method = _component$__config__2.method,\n url = _component$__config__2.url;\n\n if (dataType === 'dynamic' && method && url) {\n this.setLoading(component, true);\n this.$axios({\n method: method,\n url: url\n }).then(function (resp) {\n _this3.setLoading(component, false);\n\n _this3.setRespData(component, resp.data);\n });\n }\n },\n setLoading: function setLoading(component, val) {\n var directives = component.directives;\n\n if (Array.isArray(directives)) {\n var t = directives.find(function (d) {\n return d.name === 'loading';\n });\n if (t) t.value = val;\n }\n },\n activeFormItem: function activeFormItem(currentItem) {\n this.activeData = currentItem;\n this.activeId = currentItem.__config__.formId;\n },\n onEnd: function onEnd(obj) {\n if (obj.from !== obj.to) {\n this.fetchData(tempActiveData);\n this.activeData = tempActiveData;\n this.activeId = this.idGlobal;\n }\n },\n addComponent: function addComponent(item) {\n var clone = this.cloneComponent(item);\n this.fetchData(clone);\n this.drawingList.push(clone);\n this.activeFormItem(clone);\n },\n cloneComponent: function cloneComponent(origin) {\n var clone = (0, _index.deepClone)(origin);\n var config = clone.__config__;\n config.span = this.formConf.span; // 生成代码时会根据span做精简判断\n\n this.createIdAndKey(clone);\n clone.placeholder !== undefined && (clone.placeholder += config.label);\n tempActiveData = clone;\n return tempActiveData;\n },\n createIdAndKey: function createIdAndKey(item) {\n var _this4 = this;\n\n var config = item.__config__;\n config.formId = ++this.idGlobal;\n config.renderKey = \"\".concat(config.formId).concat(+new Date()); // 改变renderKey后可以实现强制更新组件\n\n if (config.layout === 'colFormItem') {\n item.__vModel__ = \"field\".concat(this.idGlobal);\n } else if (config.layout === 'rowFormItem') {\n config.componentName = \"row\".concat(this.idGlobal);\n !Array.isArray(config.children) && (config.children = []);\n delete config.label; // rowFormItem无需配置label属性\n }\n\n if (Array.isArray(config.children)) {\n config.children = config.children.map(function (childItem) {\n return _this4.createIdAndKey(childItem);\n });\n }\n\n return item;\n },\n // 获得表单数据\n AssembleFormData: function AssembleFormData() {\n this.formData = (0, _objectSpread2.default)({\n fields: (0, _index.deepClone)(this.drawingList)\n }, this.formConf);\n },\n save: function save() {\n var _this5 = this;\n\n // this.AssembleFormData()\n // console.log(this.formData)\n this.$refs[\"form\"].validate(function (valid) {\n if (!valid) {\n return;\n }\n\n var form = (0, _objectSpread2.default)({\n conf: JSON.stringify(_this5.formConf),\n // 表单配置\n fields: _this5.encodeFields()\n }, _this5.form); // 修改的提交\n\n if (_this5.form.id != null) {\n (0, _form.updateForm)(form).then(function (response) {\n _this5.$modal.msgSuccess(\"修改成功\");\n\n _this5.close();\n });\n return;\n } // 添加的提交\n\n\n (0, _form.createForm)(form).then(function (response) {\n _this5.$modal.msgSuccess(\"新增成功\");\n\n _this5.close();\n });\n });\n },\n\n /** 关闭按钮 */\n close: function close() {\n this.$tab.closeOpenPage({\n path: \"/bpm/manager/form\"\n });\n },\n encodeFields: function encodeFields() {\n var fields = [];\n this.drawingList.forEach(function (item) {\n fields.push(JSON.stringify(item));\n });\n return fields;\n },\n generate: function generate(data) {\n var func = this[\"exec\".concat((0, _index.titleCase)(this.operationType))];\n this.generateConf = data;\n func && func(data);\n },\n execRun: function execRun(data) {\n this.AssembleFormData();\n this.drawerVisible = true;\n },\n execDownload: function execDownload(data) {\n var codeStr = this.generateCode();\n var blob = new Blob([codeStr], {\n type: 'text/plain;charset=utf-8'\n });\n (0, _fileSaver.saveAs)(blob, data.fileName);\n },\n execCopy: function execCopy(data) {\n document.getElementById('copyNode').click();\n },\n empty: function empty() {\n var _this6 = this;\n\n this.$confirm('确定要清空所有组件吗?', '提示', {\n type: 'warning'\n }).then(function () {\n _this6.drawingList = [];\n _this6.idGlobal = 100;\n });\n },\n drawingItemCopy: function drawingItemCopy(item, list) {\n var clone = (0, _index.deepClone)(item);\n clone = this.createIdAndKey(clone);\n list.push(clone);\n this.activeFormItem(clone);\n },\n drawingItemDelete: function drawingItemDelete(index, list) {\n var _this7 = this;\n\n list.splice(index, 1);\n this.$nextTick(function () {\n var len = _this7.drawingList.length;\n\n if (len) {\n _this7.activeFormItem(_this7.drawingList[len - 1]);\n }\n });\n },\n generateCode: function generateCode() {\n var type = this.generateConf.type;\n this.AssembleFormData();\n var script = (0, _html.vueScript)((0, _js.makeUpJs)(this.formData, type));\n var html = (0, _html.vueTemplate)((0, _html.makeUpHtml)(this.formData, type));\n var css = (0, _html.cssStyle)((0, _css.makeUpCss)(this.formData));\n return beautifier.html(html + script + css, _index.beautifierConf.html);\n },\n showJson: function showJson() {\n this.AssembleFormData();\n this.jsonDrawerVisible = true;\n },\n download: function download() {\n this.dialogVisible = true;\n this.showFileName = true;\n this.operationType = 'download';\n },\n run: function run() {\n this.dialogVisible = true;\n this.showFileName = false;\n this.operationType = 'run';\n },\n copy: function copy() {\n this.dialogVisible = true;\n this.showFileName = false;\n this.operationType = 'copy';\n },\n tagChange: function tagChange(newTag) {\n var _this8 = this;\n\n newTag = this.cloneComponent(newTag);\n var config = newTag.__config__;\n newTag.__vModel__ = this.activeData.__vModel__;\n config.formId = this.activeId;\n config.span = this.activeData.__config__.span;\n this.activeData.__config__.tag = config.tag;\n this.activeData.__config__.tagIcon = config.tagIcon;\n this.activeData.__config__.document = config.document;\n\n if ((0, _typeof2.default)(this.activeData.__config__.defaultValue) === (0, _typeof2.default)(config.defaultValue)) {\n config.defaultValue = this.activeData.__config__.defaultValue;\n }\n\n Object.keys(newTag).forEach(function (key) {\n if (_this8.activeData[key] !== undefined) {\n newTag[key] = _this8.activeData[key];\n }\n });\n this.activeData = newTag;\n this.updateDrawingList(newTag, this.drawingList);\n },\n updateDrawingList: function updateDrawingList(newTag, list) {\n var _this9 = this;\n\n var index = list.findIndex(function (item) {\n return item.__config__.formId === _this9.activeId;\n });\n\n if (index > -1) {\n list.splice(index, 1, newTag);\n } else {\n list.forEach(function (item) {\n if (Array.isArray(item.__config__.children)) _this9.updateDrawingList(newTag, item.__config__.children);\n });\n }\n },\n refreshJson: function refreshJson(data) {\n this.drawingList = (0, _index.deepClone)(data.fields);\n delete data.fields;\n this.formConf = data;\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./src/views/bpm/form/formEditor.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/CodeTypeDialog.vue?vue&type=script&lang=js&":
/*!******************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/CodeTypeDialog.vue?vue&type=script&lang=js& ***!
\******************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/helpers/objectSpread2.js */ \"./node_modules/@babel/runtime/helpers/objectSpread2.js\"));\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n inheritAttrs: false,\n props: ['showFileName'],\n data: function data() {\n return {\n formData: {\n fileName: undefined,\n type: 'file'\n },\n rules: {\n fileName: [{\n required: true,\n message: '请输入文件名',\n trigger: 'blur'\n }],\n type: [{\n required: true,\n message: '生成类型不能为空',\n trigger: 'change'\n }]\n },\n typeOptions: [{\n label: '页面',\n value: 'file'\n }, {\n label: '弹窗',\n value: 'dialog'\n }]\n };\n },\n computed: {},\n watch: {},\n mounted: function mounted() {},\n methods: {\n onOpen: function onOpen() {\n if (this.showFileName) {\n this.formData.fileName = \"\".concat(+new Date(), \".vue\");\n }\n },\n onClose: function onClose() {},\n close: function close(e) {\n this.$emit('update:visible', false);\n },\n handelConfirm: function handelConfirm() {\n var _this = this;\n\n this.$refs.elForm.validate(function (valid) {\n if (!valid) return;\n\n _this.$emit('confirm', (0, _objectSpread2.default)({}, _this.formData));\n\n _this.close();\n });\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./src/views/infra/build/CodeTypeDialog.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/DraggableItem.vue?vue&type=script&lang=js&":
/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/DraggableItem.vue?vue&type=script&lang=js& ***!
\*****************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n\nvar _vuedraggable = _interopRequireDefault(__webpack_require__(/*! vuedraggable */ \"./node_modules/vuedraggable/dist/vuedraggable.umd.js\"));\n\nvar _render = _interopRequireDefault(__webpack_require__(/*! @/components/render/render */ \"./src/components/render/render.js\"));\n\nvar components = {\n itemBtns: function itemBtns(h, currentItem, index, list) {\n var _this$$listeners = this.$listeners,\n copyItem = _this$$listeners.copyItem,\n deleteItem = _this$$listeners.deleteItem;\n return [h(\"span\", {\n \"class\": \"drawing-item-copy\",\n \"attrs\": {\n \"title\": \"复制\"\n },\n \"on\": {\n \"click\": function click(event) {\n copyItem(currentItem, list);\n event.stopPropagation();\n }\n }\n }, [h(\"i\", {\n \"class\": \"el-icon-copy-document\"\n })]), h(\"span\", {\n \"class\": \"drawing-item-delete\",\n \"attrs\": {\n \"title\": \"删除\"\n },\n \"on\": {\n \"click\": function click(event) {\n deleteItem(index, list);\n event.stopPropagation();\n }\n }\n }, [h(\"i\", {\n \"class\": \"el-icon-delete\"\n })])];\n }\n};\nvar layouts = {\n colFormItem: function colFormItem(h, currentItem, index, list) {\n var _this = this;\n\n var activeItem = this.$listeners.activeItem;\n var config = currentItem.__config__;\n var child = renderChildren.apply(this, arguments);\n var className = this.activeId === config.formId ? 'drawing-item active-from-item' : 'drawing-item';\n if (this.formConf.unFocusedComponentBorder) className += ' unfocus-bordered';\n var labelWidth = config.labelWidth ? \"\".concat(config.labelWidth, \"px\") : null;\n if (config.showLabel === false) labelWidth = '0';\n return h(\"el-col\", {\n \"attrs\": {\n \"span\": config.span\n },\n \"class\": className,\n \"nativeOn\": {\n \"click\": function click(event) {\n activeItem(currentItem);\n event.stopPropagation();\n }\n }\n }, [h(\"el-form-item\", {\n \"attrs\": {\n \"label-width\": labelWidth,\n \"label\": config.showLabel ? config.label : '',\n \"required\": config.required\n }\n }, [h(_render.default, {\n \"key\": config.renderKey,\n \"attrs\": {\n \"conf\": currentItem\n },\n \"on\": {\n \"input\": function input(event) {\n _this.$set(config, 'defaultValue', event);\n }\n }\n }, [child])]), components.itemBtns.apply(this, arguments)]);\n },\n rowFormItem: function rowFormItem(h, currentItem, index, list) {\n var activeItem = this.$listeners.activeItem;\n var config = currentItem.__config__;\n var className = this.activeId === config.formId ? 'drawing-row-item active-from-item' : 'drawing-row-item';\n var child = renderChildren.apply(this, arguments);\n\n if (currentItem.type === 'flex') {\n child = h(\"el-row\", {\n \"attrs\": {\n \"type\": currentItem.type,\n \"justify\": currentItem.justify,\n \"align\": currentItem.align\n }\n }, [child]);\n }\n\n return h(\"el-col\", {\n \"attrs\": {\n \"span\": config.span\n }\n }, [h(\"el-row\", {\n \"attrs\": {\n \"gutter\": config.gutter\n },\n \"class\": className,\n \"nativeOn\": {\n \"click\": function click(event) {\n activeItem(currentItem);\n event.stopPropagation();\n }\n }\n }, [h(\"span\", {\n \"class\": \"component-name\"\n }, [config.componentName]), h(_vuedraggable.default, {\n \"attrs\": {\n \"list\": config.children || [],\n \"animation\": 340,\n \"group\": \"componentsGroup\"\n },\n \"class\": \"drag-wrapper\"\n }, [child]), components.itemBtns.apply(this, arguments)])]);\n },\n raw: function raw(h, currentItem, index, list) {\n var _this2 = this;\n\n var config = currentItem.__config__;\n var child = renderChildren.apply(this, arguments);\n return h(_render.default, {\n \"key\": config.renderKey,\n \"attrs\": {\n \"conf\": currentItem\n },\n \"on\": {\n \"input\": function input(event) {\n _this2.$set(config, 'defaultValue', event);\n }\n }\n }, [child]);\n }\n};\n\nfunction renderChildren(h, currentItem, index, list) {\n var _this3 = this;\n\n var config = currentItem.__config__;\n if (!Array.isArray(config.children)) return null;\n return config.children.map(function (el, i) {\n var layout = layouts[el.__config__.layout];\n\n if (layout) {\n return layout.call(_this3, h, el, i, config.children);\n }\n\n return layoutIsNotFound.call(_this3);\n });\n}\n\nfunction layoutIsNotFound() {\n throw new Error(\"\\u6CA1\\u6709\\u4E0E\".concat(this.currentItem.__config__.layout, \"\\u5339\\u914D\\u7684layout\"));\n}\n\nvar _default = {\n components: {\n render: _render.default,\n draggable: _vuedraggable.default\n },\n props: ['currentItem', 'index', 'drawingList', 'activeId', 'formConf'],\n render: function render(h) {\n var layout = layouts[this.currentItem.__config__.layout];\n\n if (layout) {\n return layout.call(this, h, this.currentItem, this.index, this.drawingList);\n }\n\n return layoutIsNotFound.call(this);\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./src/views/infra/build/DraggableItem.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/FormDrawer.vue?vue&type=script&lang=js&":
/*!**************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/FormDrawer.vue?vue&type=script&lang=js& ***!
\**************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.ends-with.js */ \"./node_modules/core-js/modules/es.string.ends-with.js\");\n\nvar _parser = __webpack_require__(/*! @babel/parser */ \"./node_modules/@babel/parser/lib/index.js\");\n\nvar _clipboard = _interopRequireDefault(__webpack_require__(/*! clipboard */ \"./node_modules/clipboard/dist/clipboard.js\"));\n\nvar _fileSaver = __webpack_require__(/*! file-saver */ \"./node_modules/file-saver/dist/FileSaver.min.js\");\n\nvar _html = __webpack_require__(/*! @/components/generator/html */ \"./src/components/generator/html.js\");\n\nvar _js = __webpack_require__(/*! @/components/generator/js */ \"./src/components/generator/js.js\");\n\nvar _css = __webpack_require__(/*! @/components/generator/css */ \"./src/components/generator/css.js\");\n\nvar _index = __webpack_require__(/*! @/utils/index */ \"./src/utils/index.js\");\n\nvar _ResourceDialog = _interopRequireDefault(__webpack_require__(/*! ./ResourceDialog */ \"./src/views/infra/build/ResourceDialog.vue\"));\n\nvar _loadMonaco = _interopRequireDefault(__webpack_require__(/*! @/utils/loadMonaco */ \"./src/utils/loadMonaco.js\"));\n\nvar _loadBeautifier = _interopRequireDefault(__webpack_require__(/*! @/utils/loadBeautifier */ \"./src/utils/loadBeautifier.js\"));\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar editorObj = {\n html: null,\n js: null,\n css: null\n};\nvar mode = {\n html: 'html',\n js: 'javascript',\n css: 'css'\n};\nvar beautifier;\nvar monaco;\nvar _default = {\n components: {\n ResourceDialog: _ResourceDialog.default\n },\n props: ['formData', 'generateConf'],\n data: function data() {\n return {\n activeTab: 'html',\n htmlCode: '',\n jsCode: '',\n cssCode: '',\n codeFrame: '',\n isIframeLoaded: false,\n isInitcode: false,\n // 保证open后两个异步只执行一次runcode\n isRefreshCode: false,\n // 每次打开都需要重新刷新代码\n resourceVisible: false,\n scripts: [],\n links: [],\n monaco: null\n };\n },\n computed: {\n resources: function resources() {\n return this.scripts.concat(this.links);\n }\n },\n watch: {},\n created: function created() {},\n mounted: function mounted() {\n var _this = this;\n\n window.addEventListener('keydown', this.preventDefaultSave);\n var clipboard = new _clipboard.default('.copy-btn', {\n text: function text(trigger) {\n var codeStr = _this.generateCode();\n\n _this.$notify({\n title: '成功',\n message: '代码已复制到剪切板,可粘贴。',\n type: 'success'\n });\n\n return codeStr;\n }\n });\n clipboard.on('error', function (e) {\n _this.$message.error('代码复制失败');\n });\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('keydown', this.preventDefaultSave);\n },\n methods: {\n preventDefaultSave: function preventDefaultSave(e) {\n if (e.key === 's' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault();\n }\n },\n onOpen: function onOpen() {\n var _this2 = this;\n\n var type = this.generateConf.type;\n this.htmlCode = (0, _html.makeUpHtml)(this.formData, type);\n this.jsCode = (0, _js.makeUpJs)(this.formData, type);\n this.cssCode = (0, _css.makeUpCss)(this.formData);\n (0, _loadBeautifier.default)(function (btf) {\n beautifier = btf;\n _this2.htmlCode = beautifier.html(_this2.htmlCode, _index.beautifierConf.html);\n _this2.jsCode = beautifier.js(_this2.jsCode, _index.beautifierConf.js);\n _this2.cssCode = beautifier.css(_this2.cssCode, _index.beautifierConf.html);\n (0, _loadMonaco.default)(function (val) {\n monaco = val;\n\n _this2.setEditorValue('editorHtml', 'html', _this2.htmlCode);\n\n _this2.setEditorValue('editorJs', 'js', _this2.jsCode);\n\n _this2.setEditorValue('editorCss', 'css', _this2.cssCode);\n\n if (!_this2.isInitcode) {\n _this2.isRefreshCode = true;\n _this2.isIframeLoaded && (_this2.isInitcode = true) && _this2.runCode();\n }\n });\n });\n },\n onClose: function onClose() {\n this.isInitcode = false;\n this.isRefreshCode = false;\n },\n iframeLoad: function iframeLoad() {\n if (!this.isInitcode) {\n this.isIframeLoaded = true;\n this.isRefreshCode && (this.isInitcode = true) && this.runCode();\n }\n },\n setEditorValue: function setEditorValue(id, type, codeStr) {\n var _this3 = this;\n\n if (editorObj[type]) {\n editorObj[type].setValue(codeStr);\n } else {\n editorObj[type] = monaco.editor.create(document.getElementById(id), {\n value: codeStr,\n theme: 'vs-dark',\n language: mode[type],\n automaticLayout: true\n });\n } // ctrl + s 刷新\n\n\n editorObj[type].onKeyDown(function (e) {\n if (e.keyCode === 49 && (e.metaKey || e.ctrlKey)) {\n _this3.runCode();\n }\n });\n },\n runCode: function runCode() {\n var jsCodeStr = editorObj.js.getValue();\n\n try {\n var ast = (0, _parser.parse)(jsCodeStr, {\n sourceType: 'module'\n });\n var astBody = ast.program.body;\n\n if (astBody.length > 1) {\n this.$confirm('js格式不能识别仅支持修改export default的对象内容', '提示', {\n type: 'warning'\n }).catch(function () {});\n return;\n }\n\n if (astBody[0].type === 'ExportDefaultDeclaration') {\n var postData = {\n type: 'refreshFrame',\n data: {\n generateConf: this.generateConf,\n html: editorObj.html.getValue(),\n js: jsCodeStr.replace(_index.exportDefault, ''),\n css: editorObj.css.getValue(),\n scripts: this.scripts,\n links: this.links\n }\n };\n this.$refs.previewPage.contentWindow.postMessage(postData, location.origin);\n } else {\n this.$message.error('请使用export default');\n }\n } catch (err) {\n this.$message.error(\"js\\u9519\\u8BEF\\uFF1A\".concat(err));\n console.error(err);\n }\n },\n generateCode: function generateCode() {\n var html = (0, _html.vueTemplate)(editorObj.html.getValue());\n var script = (0, _html.vueScript)(editorObj.js.getValue());\n var css = (0, _html.cssStyle)(editorObj.css.getValue());\n return beautifier.html(html + script + css, _index.beautifierConf.html);\n },\n exportFile: function exportFile() {\n var _this4 = this;\n\n this.$prompt('文件名:', '导出文件', {\n inputValue: \"\".concat(+new Date(), \".vue\"),\n closeOnClickModal: false,\n inputPlaceholder: '请输入文件名'\n }).then(function (_ref) {\n var value = _ref.value;\n if (!value) value = \"\".concat(+new Date(), \".vue\");\n\n var codeStr = _this4.generateCode();\n\n var blob = new Blob([codeStr], {\n type: 'text/plain;charset=utf-8'\n });\n (0, _fileSaver.saveAs)(blob, value);\n });\n },\n showResource: function showResource() {\n this.resourceVisible = true;\n },\n setResource: function setResource(arr) {\n var scripts = [];\n var links = [];\n\n if (Array.isArray(arr)) {\n arr.forEach(function (item) {\n if (item.endsWith('.css')) {\n links.push(item);\n } else {\n scripts.push(item);\n }\n });\n this.scripts = scripts;\n this.links = links;\n } else {\n this.scripts = [];\n this.links = [];\n }\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./src/views/infra/build/FormDrawer.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/IconsDialog.vue?vue&type=script&lang=js&":
/*!***************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/IconsDialog.vue?vue&type=script&lang=js& ***!
\***************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\nvar _icon = _interopRequireDefault(__webpack_require__(/*! @/utils/icon.json */ \"./src/utils/icon.json\"));\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar originList = _icon.default.map(function (name) {\n return \"el-icon-\".concat(name);\n});\n\nvar _default = {\n inheritAttrs: false,\n props: ['current'],\n data: function data() {\n return {\n iconList: originList,\n active: null,\n key: ''\n };\n },\n watch: {\n key: function key(val) {\n if (val) {\n this.iconList = originList.filter(function (name) {\n return name.indexOf(val) > -1;\n });\n } else {\n this.iconList = originList;\n }\n }\n },\n methods: {\n onOpen: function onOpen() {\n this.active = this.current;\n this.key = '';\n },\n onClose: function onClose() {},\n onSelect: function onSelect(icon) {\n this.active = icon;\n this.$emit('select', icon);\n this.$emit('update:visible', false);\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./src/views/infra/build/IconsDialog.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/JsonDrawer.vue?vue&type=script&lang=js&":
/*!**************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/JsonDrawer.vue?vue&type=script&lang=js& ***!
\**************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _index = __webpack_require__(/*! @/utils/index */ \"./src/utils/index.js\");\n\nvar _clipboard = _interopRequireDefault(__webpack_require__(/*! clipboard */ \"./node_modules/clipboard/dist/clipboard.js\"));\n\nvar _fileSaver = __webpack_require__(/*! file-saver */ \"./node_modules/file-saver/dist/FileSaver.min.js\");\n\nvar _loadMonaco = _interopRequireDefault(__webpack_require__(/*! @/utils/loadMonaco */ \"./src/utils/loadMonaco.js\"));\n\nvar _loadBeautifier = _interopRequireDefault(__webpack_require__(/*! @/utils/loadBeautifier */ \"./src/utils/loadBeautifier.js\"));\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar beautifier;\nvar monaco;\nvar _default = {\n components: {},\n props: {\n jsonStr: {\n type: String,\n required: true\n }\n },\n data: function data() {\n return {};\n },\n computed: {},\n watch: {},\n created: function created() {},\n mounted: function mounted() {\n var _this = this;\n\n window.addEventListener('keydown', this.preventDefaultSave);\n var clipboard = new _clipboard.default('.copy-json-btn', {\n text: function text(trigger) {\n _this.$notify({\n title: '成功',\n message: '代码已复制到剪切板,可粘贴。',\n type: 'success'\n });\n\n return _this.beautifierJson;\n }\n });\n clipboard.on('error', function (e) {\n _this.$message.error('代码复制失败');\n });\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('keydown', this.preventDefaultSave);\n },\n methods: {\n preventDefaultSave: function preventDefaultSave(e) {\n if (e.key === 's' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault();\n }\n },\n onOpen: function onOpen() {\n var _this2 = this;\n\n (0, _loadBeautifier.default)(function (btf) {\n beautifier = btf;\n _this2.beautifierJson = beautifier.js(_this2.jsonStr, _index.beautifierConf.js);\n (0, _loadMonaco.default)(function (val) {\n monaco = val;\n\n _this2.setEditorValue('editorJson', _this2.beautifierJson);\n });\n });\n },\n onClose: function onClose() {},\n setEditorValue: function setEditorValue(id, codeStr) {\n var _this3 = this;\n\n if (this.jsonEditor) {\n this.jsonEditor.setValue(codeStr);\n } else {\n this.jsonEditor = monaco.editor.create(document.getElementById(id), {\n value: codeStr,\n theme: 'vs-dark',\n language: 'json',\n automaticLayout: true\n }); // ctrl + s 刷新\n\n this.jsonEditor.onKeyDown(function (e) {\n if (e.keyCode === 49 && (e.metaKey || e.ctrlKey)) {\n _this3.refresh();\n }\n });\n }\n },\n exportJsonFile: function exportJsonFile() {\n var _this4 = this;\n\n this.$prompt('文件名:', '导出文件', {\n inputValue: \"\".concat(+new Date(), \".json\"),\n closeOnClickModal: false,\n inputPlaceholder: '请输入文件名'\n }).then(function (_ref) {\n var value = _ref.value;\n if (!value) value = \"\".concat(+new Date(), \".json\");\n\n var codeStr = _this4.jsonEditor.getValue();\n\n var blob = new Blob([codeStr], {\n type: 'text/plain;charset=utf-8'\n });\n (0, _fileSaver.saveAs)(blob, value);\n });\n },\n refresh: function refresh() {\n try {\n this.$emit('refresh', JSON.parse(this.jsonEditor.getValue()));\n } catch (error) {\n this.$notify({\n title: '错误',\n message: 'JSON格式错误请检查',\n type: 'error'\n });\n }\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./src/views/infra/build/JsonDrawer.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/ResourceDialog.vue?vue&type=script&lang=js&":
/*!******************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/ResourceDialog.vue?vue&type=script&lang=js& ***!
\******************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n__webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");\n\nvar _index = __webpack_require__(/*! @/utils/index */ \"./src/utils/index.js\");\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n components: {},\n inheritAttrs: false,\n props: ['originResource'],\n data: function data() {\n return {\n resources: null\n };\n },\n computed: {},\n watch: {},\n created: function created() {},\n mounted: function mounted() {},\n methods: {\n onOpen: function onOpen() {\n this.resources = this.originResource.length ? (0, _index.deepClone)(this.originResource) : [''];\n },\n onClose: function onClose() {},\n close: function close() {\n this.$emit('update:visible', false);\n },\n handelConfirm: function handelConfirm() {\n var results = this.resources.filter(function (item) {\n return !!item;\n }) || [];\n this.$emit('save', results);\n this.close();\n\n if (results.length) {\n this.resources = results;\n }\n },\n deleteOne: function deleteOne(index) {\n this.resources.splice(index, 1);\n },\n addOne: function addOne(url) {\n if (this.resources.indexOf(url) > -1) {\n this.$message('资源已存在');\n } else {\n this.resources.push(url);\n }\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./src/views/infra/build/ResourceDialog.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/RightPanel.vue?vue&type=script&lang=js&":
/*!**************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/RightPanel.vue?vue&type=script&lang=js& ***!
\**************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.find-index.js */ \"./node_modules/core-js/modules/es.array.find-index.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n\nvar _util = __webpack_require__(/*! util */ \"./node_modules/util/util.js\");\n\nvar _TreeNodeDialog = _interopRequireDefault(__webpack_require__(/*! ./TreeNodeDialog */ \"./src/views/infra/build/TreeNodeDialog.vue\"));\n\nvar _index = __webpack_require__(/*! @/utils/index */ \"./src/utils/index.js\");\n\nvar _IconsDialog = _interopRequireDefault(__webpack_require__(/*! ./IconsDialog */ \"./src/views/infra/build/IconsDialog.vue\"));\n\nvar _config = __webpack_require__(/*! @/components/generator/config */ \"./src/components/generator/config.js\");\n\nvar _db = __webpack_require__(/*! @/utils/db */ \"./src/utils/db.js\");\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar dateTimeFormat = {\n date: 'yyyy-MM-dd',\n week: 'yyyy 第 WW 周',\n month: 'yyyy-MM',\n year: 'yyyy',\n datetime: 'yyyy-MM-dd HH:mm:ss',\n daterange: 'yyyy-MM-dd',\n monthrange: 'yyyy-MM',\n datetimerange: 'yyyy-MM-dd HH:mm:ss'\n}; // 使changeRenderKey在目标组件改变时可用\n\nvar needRerenderList = ['tinymce'];\nvar _default = {\n components: {\n TreeNodeDialog: _TreeNodeDialog.default,\n IconsDialog: _IconsDialog.default\n },\n props: ['showField', 'activeData', 'formConf'],\n data: function data() {\n return {\n currentTab: 'field',\n currentNode: null,\n dialogVisible: false,\n iconsVisible: false,\n currentIconModel: null,\n dateTypeOptions: [{\n label: '日(date)',\n value: 'date'\n }, {\n label: '周(week)',\n value: 'week'\n }, {\n label: '月(month)',\n value: 'month'\n }, {\n label: '年(year)',\n value: 'year'\n }, {\n label: '日期时间(datetime)',\n value: 'datetime'\n }],\n dateRangeTypeOptions: [{\n label: '日期范围(daterange)',\n value: 'daterange'\n }, {\n label: '月范围(monthrange)',\n value: 'monthrange'\n }, {\n label: '日期时间范围(datetimerange)',\n value: 'datetimerange'\n }],\n colorFormatOptions: [{\n label: 'hex',\n value: 'hex'\n }, {\n label: 'rgb',\n value: 'rgb'\n }, {\n label: 'rgba',\n value: 'rgba'\n }, {\n label: 'hsv',\n value: 'hsv'\n }, {\n label: 'hsl',\n value: 'hsl'\n }],\n justifyOptions: [{\n label: 'start',\n value: 'start'\n }, {\n label: 'end',\n value: 'end'\n }, {\n label: 'center',\n value: 'center'\n }, {\n label: 'space-around',\n value: 'space-around'\n }, {\n label: 'space-between',\n value: 'space-between'\n }],\n layoutTreeProps: {\n label: function label(data, node) {\n var config = data.__config__;\n return data.componentName || \"\".concat(config.label, \": \").concat(data.__vModel__);\n }\n }\n };\n },\n computed: {\n documentLink: function documentLink() {\n return this.activeData.__config__.document || 'https://element.eleme.cn/#/zh-CN/component/installation';\n },\n dateOptions: function dateOptions() {\n if (this.activeData.type !== undefined && this.activeData.__config__.tag === 'el-date-picker') {\n if (this.activeData['start-placeholder'] === undefined) {\n return this.dateTypeOptions;\n }\n\n return this.dateRangeTypeOptions;\n }\n\n return [];\n },\n tagList: function tagList() {\n return [{\n label: '输入型组件',\n options: _config.inputComponents\n }, {\n label: '选择型组件',\n options: _config.selectComponents\n }];\n },\n activeTag: function activeTag() {\n return this.activeData.__config__.tag;\n },\n isShowMin: function isShowMin() {\n return ['el-input-number', 'el-slider'].indexOf(this.activeTag) > -1;\n },\n isShowMax: function isShowMax() {\n return ['el-input-number', 'el-slider', 'el-rate'].indexOf(this.activeTag) > -1;\n },\n isShowStep: function isShowStep() {\n return ['el-input-number', 'el-slider'].indexOf(this.activeTag) > -1;\n }\n },\n watch: {\n formConf: {\n handler: function handler(val) {\n (0, _db.saveFormConf)(val);\n },\n deep: true\n }\n },\n methods: {\n addReg: function addReg() {\n this.activeData.__config__.regList.push({\n pattern: '',\n message: ''\n });\n },\n addSelectItem: function addSelectItem() {\n this.activeData.__slot__.options.push({\n label: '',\n value: ''\n });\n },\n addTreeItem: function addTreeItem() {\n ++this.idGlobal;\n this.dialogVisible = true;\n this.currentNode = this.activeData.options;\n },\n renderContent: function renderContent(h, _ref) {\n var _this = this;\n\n var node = _ref.node,\n data = _ref.data,\n store = _ref.store;\n return h(\"div\", {\n \"class\": \"custom-tree-node\"\n }, [h(\"span\", [node.label]), h(\"span\", {\n \"class\": \"node-operation\"\n }, [h(\"i\", {\n \"on\": {\n \"click\": function click() {\n return _this.append(data);\n }\n },\n \"class\": \"el-icon-plus\",\n \"attrs\": {\n \"title\": \"添加\"\n }\n }), h(\"i\", {\n \"on\": {\n \"click\": function click() {\n return _this.remove(node, data);\n }\n },\n \"class\": \"el-icon-delete\",\n \"attrs\": {\n \"title\": \"删除\"\n }\n })])]);\n },\n append: function append(data) {\n if (!data.children) {\n this.$set(data, 'children', []);\n }\n\n this.dialogVisible = true;\n this.currentNode = data.children;\n },\n remove: function remove(node, data) {\n this.activeData.__config__.defaultValue = []; // 避免删除时报错\n\n var parent = node.parent;\n var children = parent.data.children || parent.data;\n var index = children.findIndex(function (d) {\n return d.id === data.id;\n });\n children.splice(index, 1);\n },\n addNode: function addNode(data) {\n this.currentNode.push(data);\n },\n setOptionValue: function setOptionValue(item, val) {\n item.value = (0, _index.isNumberStr)(val) ? +val : val;\n },\n setDefaultValue: function setDefaultValue(val) {\n if (Array.isArray(val)) {\n return val.join(',');\n } // if (['string', 'number'].indexOf(typeof val) > -1) {\n // return val\n // }\n\n\n if (typeof val === 'boolean') {\n return \"\".concat(val);\n }\n\n return val;\n },\n onDefaultValueInput: function onDefaultValueInput(str) {\n if ((0, _util.isArray)(this.activeData.__config__.defaultValue)) {\n // 数组\n this.$set(this.activeData.__config__, 'defaultValue', str.split(',').map(function (val) {\n return (0, _index.isNumberStr)(val) ? +val : val;\n }));\n } else if (['true', 'false'].indexOf(str) > -1) {\n // 布尔\n this.$set(this.activeData.__config__, 'defaultValue', JSON.parse(str));\n } else {\n // 字符串和数字\n this.$set(this.activeData.__config__, 'defaultValue', (0, _index.isNumberStr)(str) ? +str : str);\n }\n },\n onSwitchValueInput: function onSwitchValueInput(val, name) {\n if (['true', 'false'].indexOf(val) > -1) {\n this.$set(this.activeData, name, JSON.parse(val));\n } else {\n this.$set(this.activeData, name, (0, _index.isNumberStr)(val) ? +val : val);\n }\n },\n setTimeValue: function setTimeValue(val, type) {\n var valueFormat = type === 'week' ? dateTimeFormat.date : val;\n this.$set(this.activeData.__config__, 'defaultValue', null);\n this.$set(this.activeData, 'value-format', valueFormat);\n this.$set(this.activeData, 'format', val);\n },\n spanChange: function spanChange(val) {\n this.formConf.span = val;\n },\n multipleChange: function multipleChange(val) {\n this.$set(this.activeData.__config__, 'defaultValue', val ? [] : '');\n },\n dateTypeChange: function dateTypeChange(val) {\n this.setTimeValue(dateTimeFormat[val], val);\n },\n rangeChange: function rangeChange(val) {\n this.$set(this.activeData.__config__, 'defaultValue', val ? [this.activeData.min, this.activeData.max] : this.activeData.min);\n },\n rateTextChange: function rateTextChange(val) {\n if (val) this.activeData['show-score'] = false;\n },\n rateScoreChange: function rateScoreChange(val) {\n if (val) this.activeData['show-text'] = false;\n },\n colorFormatChange: function colorFormatChange(val) {\n this.activeData.__config__.defaultValue = null;\n this.activeData['show-alpha'] = val.indexOf('a') > -1;\n this.activeData.__config__.renderKey = +new Date(); // 更新renderKey,重新渲染该组件\n },\n openIconsDialog: function openIconsDialog(model) {\n this.iconsVisible = true;\n this.currentIconModel = model;\n },\n setIcon: function setIcon(val) {\n this.activeData[this.currentIconModel] = val;\n },\n tagChange: function tagChange(tagIcon) {\n var target = _config.inputComponents.find(function (item) {\n return item.__config__.tagIcon === tagIcon;\n });\n\n if (!target) target = _config.selectComponents.find(function (item) {\n return item.__config__.tagIcon === tagIcon;\n });\n this.$emit('tag-change', target);\n },\n changeRenderKey: function changeRenderKey() {\n if (needRerenderList.includes(this.activeData.__config__.tag)) {\n this.activeData.__config__.renderKey = +new Date();\n }\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./src/views/infra/build/RightPanel.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/TreeNodeDialog.vue?vue&type=script&lang=js&":
/*!******************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/TreeNodeDialog.vue?vue&type=script&lang=js& ***!
\******************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _index = __webpack_require__(/*! @/utils/index */ \"./src/utils/index.js\");\n\nvar _db = __webpack_require__(/*! @/utils/db */ \"./src/utils/db.js\");\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar id = (0, _db.getTreeNodeId)();\nvar _default = {\n components: {},\n inheritAttrs: false,\n props: [],\n data: function data() {\n return {\n id: id,\n formData: {\n label: undefined,\n value: undefined\n },\n rules: {\n label: [{\n required: true,\n message: '请输入选项名',\n trigger: 'blur'\n }],\n value: [{\n required: true,\n message: '请输入选项值',\n trigger: 'blur'\n }]\n },\n dataType: 'string',\n dataTypeOptions: [{\n label: '字符串',\n value: 'string'\n }, {\n label: '数字',\n value: 'number'\n }]\n };\n },\n computed: {},\n watch: {\n // eslint-disable-next-line func-names\n 'formData.value': function formDataValue(val) {\n this.dataType = (0, _index.isNumberStr)(val) ? 'number' : 'string';\n },\n id: function id(val) {\n (0, _db.saveTreeNodeId)(val);\n }\n },\n created: function created() {},\n mounted: function mounted() {},\n methods: {\n onOpen: function onOpen() {\n this.formData = {\n label: undefined,\n value: undefined\n };\n },\n onClose: function onClose() {},\n close: function close() {\n this.$emit('update:visible', false);\n },\n handelConfirm: function handelConfirm() {\n var _this = this;\n\n this.$refs.elForm.validate(function (valid) {\n if (!valid) return;\n\n if (_this.dataType === 'number') {\n _this.formData.value = parseFloat(_this.formData.value);\n }\n\n _this.formData.id = _this.id++;\n\n _this.$emit('commit', _this.formData);\n\n _this.close();\n });\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./src/views/infra/build/TreeNodeDialog.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bpm/form/formEditor.vue?vue&type=template&id=3df0b122&":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8e17e5e2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/bpm/form/formEditor.vue?vue&type=template&id=3df0b122& ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"container\" },\n [\n _c(\n \"div\",\n { staticClass: \"left-board\" },\n [\n _vm._m(0),\n _c(\"el-scrollbar\", { staticClass: \"left-scrollbar\" }, [\n _c(\n \"div\",\n { staticClass: \"components-list\" },\n [\n _vm._l(_vm.leftComponents, function (item, listIndex) {\n return _c(\n \"div\",\n { key: listIndex },\n [\n _c(\n \"div\",\n { staticClass: \"components-title\" },\n [\n _c(\"svg-icon\", {\n attrs: { \"icon-class\": \"component\" },\n }),\n _vm._v(\" \" + _vm._s(item.title) + \" \"),\n ],\n 1\n ),\n _c(\n \"draggable\",\n {\n staticClass: \"components-draggable\",\n attrs: {\n list: item.list,\n group: {\n name: \"componentsGroup\",\n pull: \"clone\",\n put: false,\n },\n clone: _vm.cloneComponent,\n draggable: \".components-item\",\n sort: false,\n },\n on: { end: _vm.onEnd },\n },\n _vm._l(item.list, function (element, index) {\n return _c(\n \"div\",\n {\n key: index,\n staticClass: \"components-item\",\n on: {\n click: function ($event) {\n return _vm.addComponent(element)\n },\n },\n },\n [\n _c(\n \"div\",\n { staticClass: \"components-body\" },\n [\n _c(\"svg-icon\", {\n attrs: {\n \"icon-class\": element.__config__.tagIcon,\n },\n }),\n _vm._v(\n \" \" + _vm._s(element.__config__.label) + \" \"\n ),\n ],\n 1\n ),\n ]\n )\n }),\n 0\n ),\n ],\n 1\n )\n }),\n _c(\n \"el-form\",\n {\n ref: \"form\",\n attrs: {\n model: _vm.form,\n rules: _vm.rules,\n \"label-width\": \"80px\",\n },\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"表单名\", prop: \"name\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入表单名\" },\n model: {\n value: _vm.form.name,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"name\", $$v)\n },\n expression: \"form.name\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"开启状态\", prop: \"status\" } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.form.status,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"status\", $$v)\n },\n expression: \"form.status\",\n },\n },\n _vm._l(\n this.getDictDatas(_vm.DICT_TYPE.COMMON_STATUS),\n function (dict) {\n return _c(\n \"el-radio\",\n {\n key: dict.value,\n attrs: { label: parseInt(dict.value) },\n },\n [_vm._v(_vm._s(dict.label))]\n )\n }\n ),\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"备注\", prop: \"remark\" } },\n [\n _c(\"el-input\", {\n attrs: {\n type: \"textarea\",\n placeholder: \"请输入备注\",\n },\n model: {\n value: _vm.form.remark,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"remark\", $$v)\n },\n expression: \"form.remark\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 2\n ),\n ]),\n ],\n 1\n ),\n _c(\n \"div\",\n { staticClass: \"center-board\" },\n [\n _c(\n \"div\",\n { staticClass: \"action-bar\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { icon: \"el-icon-check\", type: \"text\" },\n on: { click: _vm.save },\n },\n [_vm._v(\"保存\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: { icon: \"el-icon-view\", type: \"text\" },\n on: { click: _vm.showJson },\n },\n [_vm._v(\" 查看json \")]\n ),\n _c(\n \"el-button\",\n {\n staticClass: \"delete-btn\",\n attrs: { icon: \"el-icon-delete\", type: \"text\" },\n on: { click: _vm.empty },\n },\n [_vm._v(\" 清空 \")]\n ),\n ],\n 1\n ),\n _c(\n \"el-scrollbar\",\n { staticClass: \"center-scrollbar\" },\n [\n _c(\n \"el-row\",\n {\n staticClass: \"center-board-row\",\n attrs: { gutter: _vm.formConf.gutter },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n size: _vm.formConf.size,\n \"label-position\": _vm.formConf.labelPosition,\n disabled: _vm.formConf.disabled,\n \"label-width\": _vm.formConf.labelWidth + \"px\",\n },\n },\n [\n _c(\n \"draggable\",\n {\n staticClass: \"drawing-board\",\n attrs: {\n list: _vm.drawingList,\n animation: 340,\n group: \"componentsGroup\",\n },\n },\n _vm._l(_vm.drawingList, function (item, index) {\n return _c(\"draggable-item\", {\n key: item.renderKey,\n attrs: {\n \"drawing-list\": _vm.drawingList,\n \"current-item\": item,\n index: index,\n \"active-id\": _vm.activeId,\n \"form-conf\": _vm.formConf,\n },\n on: {\n activeItem: _vm.activeFormItem,\n copyItem: _vm.drawingItemCopy,\n deleteItem: _vm.drawingItemDelete,\n },\n })\n }),\n 1\n ),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.drawingList.length,\n expression: \"!drawingList.length\",\n },\n ],\n staticClass: \"empty-info\",\n },\n [_vm._v(\" 从左侧拖入或点选组件进行表单设计 \")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\"right-panel\", {\n attrs: {\n \"active-data\": _vm.activeData,\n \"form-conf\": _vm.formConf,\n \"show-field\": !!_vm.drawingList.length,\n },\n on: { \"tag-change\": _vm.tagChange, \"fetch-data\": _vm.fetchData },\n }),\n _c(\"json-drawer\", {\n attrs: {\n size: \"60%\",\n visible: _vm.jsonDrawerVisible,\n \"json-str\": JSON.stringify(_vm.formData),\n },\n on: {\n \"update:visible\": function ($event) {\n _vm.jsonDrawerVisible = $event\n },\n refresh: _vm.refreshJson,\n },\n }),\n ],\n 1\n )\n}\nvar staticRenderFns = [\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"logo-wrapper\" }, [\n _c(\"div\", { staticClass: \"logo\" }, [_vm._v(\"流程表单\")]),\n ])\n },\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/bpm/form/formEditor.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%228e17e5e2-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/CodeTypeDialog.vue?vue&type=template&id=ac1f446e&scoped=true&":
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8e17e5e2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/CodeTypeDialog.vue?vue&type=template&id=ac1f446e&scoped=true& ***!
\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"el-dialog\",\n _vm._g(\n _vm._b(\n {\n attrs: {\n width: \"500px\",\n \"close-on-click-modal\": false,\n \"modal-append-to-body\": false,\n },\n on: { open: _vm.onOpen, close: _vm.onClose },\n },\n \"el-dialog\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 15 } },\n [\n _c(\n \"el-form\",\n {\n ref: \"elForm\",\n attrs: {\n model: _vm.formData,\n rules: _vm.rules,\n size: \"medium\",\n \"label-width\": \"100px\",\n },\n },\n [\n _c(\n \"el-col\",\n { attrs: { span: 24 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"生成类型\", prop: \"type\" } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.formData.type,\n callback: function ($$v) {\n _vm.$set(_vm.formData, \"type\", $$v)\n },\n expression: \"formData.type\",\n },\n },\n _vm._l(_vm.typeOptions, function (item, index) {\n return _c(\n \"el-radio-button\",\n {\n key: index,\n attrs: {\n label: item.value,\n disabled: item.disabled,\n },\n },\n [_vm._v(\" \" + _vm._s(item.label) + \" \")]\n )\n }),\n 1\n ),\n ],\n 1\n ),\n _vm.showFileName\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"文件名\", prop: \"fileName\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"请输入文件名\",\n clearable: \"\",\n },\n model: {\n value: _vm.formData.fileName,\n callback: function ($$v) {\n _vm.$set(_vm.formData, \"fileName\", $$v)\n },\n expression: \"formData.fileName\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"div\",\n { attrs: { slot: \"footer\" }, slot: \"footer\" },\n [\n _c(\"el-button\", { on: { click: _vm.close } }, [_vm._v(\" 取消 \")]),\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.handelConfirm },\n },\n [_vm._v(\" 确定 \")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/infra/build/CodeTypeDialog.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%228e17e5e2-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/FormDrawer.vue?vue&type=template&id=753f0faf&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8e17e5e2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/FormDrawer.vue?vue&type=template&id=753f0faf&scoped=true& ***!
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"el-drawer\",\n _vm._g(\n _vm._b(\n { on: { opened: _vm.onOpen, close: _vm.onClose } },\n \"el-drawer\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n [\n _c(\n \"div\",\n { staticStyle: { height: \"100%\" } },\n [\n _c(\n \"el-row\",\n { staticStyle: { height: \"100%\", overflow: \"auto\" } },\n [\n _c(\n \"el-col\",\n { staticClass: \"left-editor\", attrs: { md: 24, lg: 12 } },\n [\n _c(\n \"div\",\n {\n staticClass: \"setting\",\n attrs: { title: \"资源引用\" },\n on: { click: _vm.showResource },\n },\n [\n _c(\n \"el-badge\",\n {\n staticClass: \"item\",\n attrs: { \"is-dot\": !!_vm.resources.length },\n },\n [_c(\"i\", { staticClass: \"el-icon-setting\" })]\n ),\n ],\n 1\n ),\n _c(\n \"el-tabs\",\n {\n staticClass: \"editor-tabs\",\n attrs: { type: \"card\" },\n model: {\n value: _vm.activeTab,\n callback: function ($$v) {\n _vm.activeTab = $$v\n },\n expression: \"activeTab\",\n },\n },\n [\n _c(\"el-tab-pane\", { attrs: { name: \"html\" } }, [\n _c(\n \"span\",\n { attrs: { slot: \"label\" }, slot: \"label\" },\n [\n _vm.activeTab === \"html\"\n ? _c(\"i\", { staticClass: \"el-icon-edit\" })\n : _c(\"i\", {\n staticClass: \"el-icon-document\",\n }),\n _vm._v(\" template \"),\n ]\n ),\n ]),\n _c(\"el-tab-pane\", { attrs: { name: \"js\" } }, [\n _c(\n \"span\",\n { attrs: { slot: \"label\" }, slot: \"label\" },\n [\n _vm.activeTab === \"js\"\n ? _c(\"i\", { staticClass: \"el-icon-edit\" })\n : _c(\"i\", {\n staticClass: \"el-icon-document\",\n }),\n _vm._v(\" script \"),\n ]\n ),\n ]),\n _c(\"el-tab-pane\", { attrs: { name: \"css\" } }, [\n _c(\n \"span\",\n { attrs: { slot: \"label\" }, slot: \"label\" },\n [\n _vm.activeTab === \"css\"\n ? _c(\"i\", { staticClass: \"el-icon-edit\" })\n : _c(\"i\", {\n staticClass: \"el-icon-document\",\n }),\n _vm._v(\" css \"),\n ]\n ),\n ]),\n ],\n 1\n ),\n _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.activeTab === \"html\",\n expression: \"activeTab==='html'\",\n },\n ],\n staticClass: \"tab-editor\",\n attrs: { id: \"editorHtml\" },\n }),\n _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.activeTab === \"js\",\n expression: \"activeTab==='js'\",\n },\n ],\n staticClass: \"tab-editor\",\n attrs: { id: \"editorJs\" },\n }),\n _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.activeTab === \"css\",\n expression: \"activeTab==='css'\",\n },\n ],\n staticClass: \"tab-editor\",\n attrs: { id: \"editorCss\" },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { staticClass: \"right-preview\", attrs: { md: 24, lg: 12 } },\n [\n _c(\n \"div\",\n {\n staticClass: \"action-bar\",\n style: { \"text-align\": \"left\" },\n },\n [\n _c(\n \"span\",\n {\n staticClass: \"bar-btn\",\n on: { click: _vm.runCode },\n },\n [\n _c(\"i\", { staticClass: \"el-icon-refresh\" }),\n _vm._v(\" 刷新 \"),\n ]\n ),\n _c(\n \"span\",\n {\n staticClass: \"bar-btn\",\n on: { click: _vm.exportFile },\n },\n [\n _c(\"i\", { staticClass: \"el-icon-download\" }),\n _vm._v(\" 导出vue文件 \"),\n ]\n ),\n _c(\n \"span\",\n { ref: \"copyBtn\", staticClass: \"bar-btn copy-btn\" },\n [\n _c(\"i\", { staticClass: \"el-icon-document-copy\" }),\n _vm._v(\" 复制代码 \"),\n ]\n ),\n _c(\n \"span\",\n {\n staticClass: \"bar-btn delete-btn\",\n on: {\n click: function ($event) {\n return _vm.$emit(\"update:visible\", false)\n },\n },\n },\n [\n _c(\"i\", { staticClass: \"el-icon-circle-close\" }),\n _vm._v(\" 关闭 \"),\n ]\n ),\n ]\n ),\n _c(\"iframe\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.isIframeLoaded,\n expression: \"isIframeLoaded\",\n },\n ],\n ref: \"previewPage\",\n staticClass: \"result-wrapper\",\n attrs: { frameborder: \"0\", src: \"preview.html\" },\n on: { load: _vm.iframeLoad },\n }),\n _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.isIframeLoaded,\n expression: \"!isIframeLoaded\",\n },\n {\n name: \"loading\",\n rawName: \"v-loading\",\n value: true,\n expression: \"true\",\n },\n ],\n staticClass: \"result-wrapper\",\n }),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n ),\n _c(\"resource-dialog\", {\n attrs: {\n visible: _vm.resourceVisible,\n \"origin-resource\": _vm.resources,\n },\n on: {\n \"update:visible\": function ($event) {\n _vm.resourceVisible = $event\n },\n save: _vm.setResource,\n },\n }),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/infra/build/FormDrawer.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%228e17e5e2-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/IconsDialog.vue?vue&type=template&id=7bbbfa18&scoped=true&":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8e17e5e2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/IconsDialog.vue?vue&type=template&id=7bbbfa18&scoped=true& ***!
\***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"icon-dialog\" },\n [\n _c(\n \"el-dialog\",\n _vm._g(\n _vm._b(\n {\n attrs: { width: \"980px\", \"modal-append-to-body\": false },\n on: { open: _vm.onOpen, close: _vm.onClose },\n },\n \"el-dialog\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n [\n _c(\n \"div\",\n { attrs: { slot: \"title\" }, slot: \"title\" },\n [\n _vm._v(\" 选择图标 \"),\n _c(\"el-input\", {\n style: { width: \"260px\" },\n attrs: {\n size: \"mini\",\n placeholder: \"请输入图标名称\",\n \"prefix-icon\": \"el-icon-search\",\n clearable: \"\",\n },\n model: {\n value: _vm.key,\n callback: function ($$v) {\n _vm.key = $$v\n },\n expression: \"key\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"ul\",\n { staticClass: \"icon-ul\" },\n _vm._l(_vm.iconList, function (icon) {\n return _c(\n \"li\",\n {\n key: icon,\n class: _vm.active === icon ? \"active-item\" : \"\",\n on: {\n click: function ($event) {\n return _vm.onSelect(icon)\n },\n },\n },\n [_c(\"i\", { class: icon }), _c(\"div\", [_vm._v(_vm._s(icon))])]\n )\n }),\n 0\n ),\n ]\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/infra/build/IconsDialog.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%228e17e5e2-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/JsonDrawer.vue?vue&type=template&id=349212d3&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8e17e5e2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/JsonDrawer.vue?vue&type=template&id=349212d3&scoped=true& ***!
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"el-drawer\",\n _vm._g(\n _vm._b(\n { on: { opened: _vm.onOpen, close: _vm.onClose } },\n \"el-drawer\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n [\n _c(\n \"div\",\n { staticClass: \"action-bar\", style: { \"text-align\": \"left\" } },\n [\n _c(\n \"span\",\n { staticClass: \"bar-btn\", on: { click: _vm.refresh } },\n [_c(\"i\", { staticClass: \"el-icon-refresh\" }), _vm._v(\" 刷新 \")]\n ),\n _c(\n \"span\",\n { ref: \"copyBtn\", staticClass: \"bar-btn copy-json-btn\" },\n [\n _c(\"i\", { staticClass: \"el-icon-document-copy\" }),\n _vm._v(\" 复制JSON \"),\n ]\n ),\n _c(\n \"span\",\n { staticClass: \"bar-btn\", on: { click: _vm.exportJsonFile } },\n [\n _c(\"i\", { staticClass: \"el-icon-download\" }),\n _vm._v(\" 导出JSON文件 \"),\n ]\n ),\n _c(\n \"span\",\n {\n staticClass: \"bar-btn delete-btn\",\n on: {\n click: function ($event) {\n return _vm.$emit(\"update:visible\", false)\n },\n },\n },\n [\n _c(\"i\", { staticClass: \"el-icon-circle-close\" }),\n _vm._v(\" 关闭 \"),\n ]\n ),\n ]\n ),\n _c(\"div\", {\n staticClass: \"json-editor\",\n attrs: { id: \"editorJson\" },\n }),\n ]\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/infra/build/JsonDrawer.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%228e17e5e2-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/ResourceDialog.vue?vue&type=template&id=1416fb60&scoped=true&":
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8e17e5e2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/ResourceDialog.vue?vue&type=template&id=1416fb60&scoped=true& ***!
\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"el-dialog\",\n _vm._g(\n _vm._b(\n {\n attrs: {\n title: \"外部资源引用\",\n width: \"600px\",\n \"close-on-click-modal\": false,\n },\n on: { open: _vm.onOpen, close: _vm.onClose },\n },\n \"el-dialog\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n [\n _vm._l(_vm.resources, function (item, index) {\n return _c(\n \"el-input\",\n {\n key: index,\n staticClass: \"url-item\",\n attrs: {\n placeholder: \"请输入 css 或 js 资源路径\",\n \"prefix-icon\": \"el-icon-link\",\n clearable: \"\",\n },\n model: {\n value: _vm.resources[index],\n callback: function ($$v) {\n _vm.$set(_vm.resources, index, $$v)\n },\n expression: \"resources[index]\",\n },\n },\n [\n _c(\"el-button\", {\n attrs: { slot: \"append\", icon: \"el-icon-delete\" },\n on: {\n click: function ($event) {\n return _vm.deleteOne(index)\n },\n },\n slot: \"append\",\n }),\n ],\n 1\n )\n }),\n _c(\n \"el-button-group\",\n { staticClass: \"add-item\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { plain: \"\" },\n on: {\n click: function ($event) {\n return _vm.addOne(\n \"https://lib.baomitu.com/jquery/1.8.3/jquery.min.js\"\n )\n },\n },\n },\n [_vm._v(\" jQuery1.8.3 \")]\n ),\n _c(\n \"el-button\",\n {\n attrs: { plain: \"\" },\n on: {\n click: function ($event) {\n return _vm.addOne(\"https://unpkg.com/http-vue-loader\")\n },\n },\n },\n [_vm._v(\" http-vue-loader \")]\n ),\n _c(\n \"el-button\",\n {\n attrs: { icon: \"el-icon-circle-plus-outline\", plain: \"\" },\n on: {\n click: function ($event) {\n return _vm.addOne(\"\")\n },\n },\n },\n [_vm._v(\" 添加其他 \")]\n ),\n ],\n 1\n ),\n _c(\n \"div\",\n { attrs: { slot: \"footer\" }, slot: \"footer\" },\n [\n _c(\"el-button\", { on: { click: _vm.close } }, [_vm._v(\" 取消 \")]),\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.handelConfirm },\n },\n [_vm._v(\" 确定 \")]\n ),\n ],\n 1\n ),\n ],\n 2\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/infra/build/ResourceDialog.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%228e17e5e2-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/RightPanel.vue?vue&type=template&id=77ba98a2&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8e17e5e2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/RightPanel.vue?vue&type=template&id=77ba98a2&scoped=true& ***!
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"right-board\" },\n [\n _c(\n \"el-tabs\",\n {\n staticClass: \"center-tabs\",\n model: {\n value: _vm.currentTab,\n callback: function ($$v) {\n _vm.currentTab = $$v\n },\n expression: \"currentTab\",\n },\n },\n [\n _c(\"el-tab-pane\", { attrs: { label: \"组件属性\", name: \"field\" } }),\n _c(\"el-tab-pane\", { attrs: { label: \"表单属性\", name: \"form\" } }),\n ],\n 1\n ),\n _c(\n \"div\",\n { staticClass: \"field-box\" },\n [\n _c(\n \"a\",\n {\n staticClass: \"document-link\",\n attrs: {\n target: \"_blank\",\n href: _vm.documentLink,\n title: \"查看组件文档\",\n },\n },\n [_c(\"i\", { staticClass: \"el-icon-link\" })]\n ),\n _c(\n \"el-scrollbar\",\n { staticClass: \"right-scrollbar\" },\n [\n _c(\n \"el-form\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.currentTab === \"field\" && _vm.showField,\n expression: \"currentTab==='field' && showField\",\n },\n ],\n attrs: { size: \"small\", \"label-width\": \"90px\" },\n },\n [\n _vm.activeData.__config__.changeTag\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"组件类型\" } },\n [\n _c(\n \"el-select\",\n {\n style: { width: \"100%\" },\n attrs: { placeholder: \"请选择组件类型\" },\n on: { change: _vm.tagChange },\n model: {\n value: _vm.activeData.__config__.tagIcon,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"tagIcon\",\n $$v\n )\n },\n expression: \"activeData.__config__.tagIcon\",\n },\n },\n _vm._l(_vm.tagList, function (group) {\n return _c(\n \"el-option-group\",\n {\n key: group.label,\n attrs: { label: group.label },\n },\n _vm._l(group.options, function (item) {\n return _c(\n \"el-option\",\n {\n key: item.__config__.label,\n attrs: {\n label: item.__config__.label,\n value: item.__config__.tagIcon,\n },\n },\n [\n _c(\"svg-icon\", {\n staticClass: \"node-icon\",\n attrs: {\n \"icon-class\": item.__config__.tagIcon,\n },\n }),\n _c(\"span\", [\n _vm._v(\n \" \" + _vm._s(item.__config__.label)\n ),\n ]),\n ],\n 1\n )\n }),\n 1\n )\n }),\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__vModel__ !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"字段名\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入字段名v-model\" },\n model: {\n value: _vm.activeData.__vModel__,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"__vModel__\", $$v)\n },\n expression: \"activeData.__vModel__\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.componentName !== undefined\n ? _c(\"el-form-item\", { attrs: { label: \"组件名\" } }, [\n _vm._v(\n \" \" +\n _vm._s(_vm.activeData.__config__.componentName) +\n \" \"\n ),\n ])\n : _vm._e(),\n _vm.activeData.__config__.label !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"标题\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入标题\" },\n on: { input: _vm.changeRenderKey },\n model: {\n value: _vm.activeData.__config__.label,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"label\",\n $$v\n )\n },\n expression: \"activeData.__config__.label\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.placeholder !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"占位提示\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入占位提示\" },\n on: { input: _vm.changeRenderKey },\n model: {\n value: _vm.activeData.placeholder,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"placeholder\", $$v)\n },\n expression: \"activeData.placeholder\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"start-placeholder\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"开始占位\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入占位提示\" },\n model: {\n value: _vm.activeData[\"start-placeholder\"],\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData,\n \"start-placeholder\",\n $$v\n )\n },\n expression: \"activeData['start-placeholder']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"end-placeholder\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"结束占位\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入占位提示\" },\n model: {\n value: _vm.activeData[\"end-placeholder\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"end-placeholder\", $$v)\n },\n expression: \"activeData['end-placeholder']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.span !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"表单栅格\" } },\n [\n _c(\"el-slider\", {\n attrs: { max: 24, min: 1, marks: { 12: \"\" } },\n on: { change: _vm.spanChange },\n model: {\n value: _vm.activeData.__config__.span,\n callback: function ($$v) {\n _vm.$set(_vm.activeData.__config__, \"span\", $$v)\n },\n expression: \"activeData.__config__.span\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.layout === \"rowFormItem\" &&\n _vm.activeData.gutter !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"栅格间隔\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 0, placeholder: \"栅格间隔\" },\n model: {\n value: _vm.activeData.gutter,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"gutter\", $$v)\n },\n expression: \"activeData.gutter\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.layout === \"rowFormItem\" &&\n _vm.activeData.type !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"布局模式\" } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.activeData.type,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"type\", $$v)\n },\n expression: \"activeData.type\",\n },\n },\n [\n _c(\"el-radio-button\", {\n attrs: { label: \"default\" },\n }),\n _c(\"el-radio-button\", {\n attrs: { label: \"flex\" },\n }),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.justify !== undefined &&\n _vm.activeData.type === \"flex\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"水平排列\" } },\n [\n _c(\n \"el-select\",\n {\n style: { width: \"100%\" },\n attrs: { placeholder: \"请选择水平排列\" },\n model: {\n value: _vm.activeData.justify,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"justify\", $$v)\n },\n expression: \"activeData.justify\",\n },\n },\n _vm._l(_vm.justifyOptions, function (item, index) {\n return _c(\"el-option\", {\n key: index,\n attrs: { label: item.label, value: item.value },\n })\n }),\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.align !== undefined &&\n _vm.activeData.type === \"flex\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"垂直排列\" } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.activeData.align,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"align\", $$v)\n },\n expression: \"activeData.align\",\n },\n },\n [\n _c(\"el-radio-button\", {\n attrs: { label: \"top\" },\n }),\n _c(\"el-radio-button\", {\n attrs: { label: \"middle\" },\n }),\n _c(\"el-radio-button\", {\n attrs: { label: \"bottom\" },\n }),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.labelWidth !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"标签宽度\" } },\n [\n _c(\"el-input\", {\n attrs: {\n type: \"number\",\n placeholder: \"请输入标签宽度\",\n },\n model: {\n value: _vm.activeData.__config__.labelWidth,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"labelWidth\",\n _vm._n($$v)\n )\n },\n expression: \"activeData.__config__.labelWidth\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.style &&\n _vm.activeData.style.width !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"组件宽度\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"请输入组件宽度\",\n clearable: \"\",\n },\n model: {\n value: _vm.activeData.style.width,\n callback: function ($$v) {\n _vm.$set(_vm.activeData.style, \"width\", $$v)\n },\n expression: \"activeData.style.width\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__vModel__ !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"默认值\" } },\n [\n _c(\"el-input\", {\n attrs: {\n value: _vm.setDefaultValue(\n _vm.activeData.__config__.defaultValue\n ),\n placeholder: \"请输入默认值\",\n },\n on: { input: _vm.onDefaultValueInput },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-checkbox-group\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"至少应选\" } },\n [\n _c(\"el-input-number\", {\n attrs: {\n value: _vm.activeData.min,\n min: 0,\n placeholder: \"至少应选\",\n },\n on: {\n input: function ($event) {\n return _vm.$set(\n _vm.activeData,\n \"min\",\n $event ? $event : undefined\n )\n },\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-checkbox-group\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"最多可选\" } },\n [\n _c(\"el-input-number\", {\n attrs: {\n value: _vm.activeData.max,\n min: 0,\n placeholder: \"最多可选\",\n },\n on: {\n input: function ($event) {\n return _vm.$set(\n _vm.activeData,\n \"max\",\n $event ? $event : undefined\n )\n },\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__slot__ &&\n _vm.activeData.__slot__.prepend !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"前缀\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入前缀\" },\n model: {\n value: _vm.activeData.__slot__.prepend,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__slot__,\n \"prepend\",\n $$v\n )\n },\n expression: \"activeData.__slot__.prepend\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__slot__ &&\n _vm.activeData.__slot__.append !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"后缀\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入后缀\" },\n model: {\n value: _vm.activeData.__slot__.append,\n callback: function ($$v) {\n _vm.$set(_vm.activeData.__slot__, \"append\", $$v)\n },\n expression: \"activeData.__slot__.append\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"prefix-icon\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"前图标\" } },\n [\n _c(\n \"el-input\",\n {\n attrs: { placeholder: \"请输入前图标名称\" },\n model: {\n value: _vm.activeData[\"prefix-icon\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"prefix-icon\", $$v)\n },\n expression: \"activeData['prefix-icon']\",\n },\n },\n [\n _c(\n \"el-button\",\n {\n attrs: {\n slot: \"append\",\n icon: \"el-icon-thumb\",\n },\n on: {\n click: function ($event) {\n return _vm.openIconsDialog(\"prefix-icon\")\n },\n },\n slot: \"append\",\n },\n [_vm._v(\" 选择 \")]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"suffix-icon\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"后图标\" } },\n [\n _c(\n \"el-input\",\n {\n attrs: { placeholder: \"请输入后图标名称\" },\n model: {\n value: _vm.activeData[\"suffix-icon\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"suffix-icon\", $$v)\n },\n expression: \"activeData['suffix-icon']\",\n },\n },\n [\n _c(\n \"el-button\",\n {\n attrs: {\n slot: \"append\",\n icon: \"el-icon-thumb\",\n },\n on: {\n click: function ($event) {\n return _vm.openIconsDialog(\"suffix-icon\")\n },\n },\n slot: \"append\",\n },\n [_vm._v(\" 选择 \")]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"icon\"] !== undefined &&\n _vm.activeData.__config__.tag === \"el-button\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"按钮图标\" } },\n [\n _c(\n \"el-input\",\n {\n attrs: { placeholder: \"请输入按钮图标名称\" },\n model: {\n value: _vm.activeData[\"icon\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"icon\", $$v)\n },\n expression: \"activeData['icon']\",\n },\n },\n [\n _c(\n \"el-button\",\n {\n attrs: {\n slot: \"append\",\n icon: \"el-icon-thumb\",\n },\n on: {\n click: function ($event) {\n return _vm.openIconsDialog(\"icon\")\n },\n },\n slot: \"append\",\n },\n [_vm._v(\" 选择 \")]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-cascader\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"选项分隔符\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入选项分隔符\" },\n model: {\n value: _vm.activeData.separator,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"separator\", $$v)\n },\n expression: \"activeData.separator\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.autosize !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"最小行数\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 1, placeholder: \"最小行数\" },\n model: {\n value: _vm.activeData.autosize.minRows,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.autosize,\n \"minRows\",\n $$v\n )\n },\n expression: \"activeData.autosize.minRows\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.autosize !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"最大行数\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 1, placeholder: \"最大行数\" },\n model: {\n value: _vm.activeData.autosize.maxRows,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.autosize,\n \"maxRows\",\n $$v\n )\n },\n expression: \"activeData.autosize.maxRows\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.isShowMin\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"最小值\" } },\n [\n _c(\"el-input-number\", {\n attrs: { placeholder: \"最小值\" },\n model: {\n value: _vm.activeData.min,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"min\", $$v)\n },\n expression: \"activeData.min\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.isShowMax\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"最大值\" } },\n [\n _c(\"el-input-number\", {\n attrs: { placeholder: \"最大值\" },\n model: {\n value: _vm.activeData.max,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"max\", $$v)\n },\n expression: \"activeData.max\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.height !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"组件高度\" } },\n [\n _c(\"el-input-number\", {\n attrs: { placeholder: \"高度\" },\n on: { input: _vm.changeRenderKey },\n model: {\n value: _vm.activeData.height,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"height\", $$v)\n },\n expression: \"activeData.height\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.isShowStep\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"步长\" } },\n [\n _c(\"el-input-number\", {\n attrs: { placeholder: \"步数\" },\n model: {\n value: _vm.activeData.step,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"step\", $$v)\n },\n expression: \"activeData.step\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-input-number\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"精度\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 0, placeholder: \"精度\" },\n model: {\n value: _vm.activeData.precision,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"precision\", $$v)\n },\n expression: \"activeData.precision\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-input-number\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"按钮位置\" } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.activeData[\"controls-position\"],\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData,\n \"controls-position\",\n $$v\n )\n },\n expression: \"activeData['controls-position']\",\n },\n },\n [\n _c(\"el-radio-button\", { attrs: { label: \"\" } }, [\n _vm._v(\" 默认 \"),\n ]),\n _c(\n \"el-radio-button\",\n { attrs: { label: \"right\" } },\n [_vm._v(\" 右侧 \")]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.maxlength !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"最多输入\" } },\n [\n _c(\n \"el-input\",\n {\n attrs: { placeholder: \"请输入字符长度\" },\n model: {\n value: _vm.activeData.maxlength,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"maxlength\", $$v)\n },\n expression: \"activeData.maxlength\",\n },\n },\n [\n _c(\"template\", { slot: \"append\" }, [\n _vm._v(\" 个字符 \"),\n ]),\n ],\n 2\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"active-text\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"开启提示\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入开启提示\" },\n model: {\n value: _vm.activeData[\"active-text\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"active-text\", $$v)\n },\n expression: \"activeData['active-text']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"inactive-text\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"关闭提示\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入关闭提示\" },\n model: {\n value: _vm.activeData[\"inactive-text\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"inactive-text\", $$v)\n },\n expression: \"activeData['inactive-text']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"active-value\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"开启值\" } },\n [\n _c(\"el-input\", {\n attrs: {\n value: _vm.setDefaultValue(\n _vm.activeData[\"active-value\"]\n ),\n placeholder: \"请输入开启值\",\n },\n on: {\n input: function ($event) {\n return _vm.onSwitchValueInput(\n $event,\n \"active-value\"\n )\n },\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"inactive-value\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"关闭值\" } },\n [\n _c(\"el-input\", {\n attrs: {\n value: _vm.setDefaultValue(\n _vm.activeData[\"inactive-value\"]\n ),\n placeholder: \"请输入关闭值\",\n },\n on: {\n input: function ($event) {\n return _vm.onSwitchValueInput(\n $event,\n \"inactive-value\"\n )\n },\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.type !== undefined &&\n \"el-date-picker\" === _vm.activeData.__config__.tag\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"时间类型\" } },\n [\n _c(\n \"el-select\",\n {\n style: { width: \"100%\" },\n attrs: { placeholder: \"请选择时间类型\" },\n on: { change: _vm.dateTypeChange },\n model: {\n value: _vm.activeData.type,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"type\", $$v)\n },\n expression: \"activeData.type\",\n },\n },\n _vm._l(_vm.dateOptions, function (item, index) {\n return _c(\"el-option\", {\n key: index,\n attrs: { label: item.label, value: item.value },\n })\n }),\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.name !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"文件字段名\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入上传文件字段名\" },\n model: {\n value: _vm.activeData.name,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"name\", $$v)\n },\n expression: \"activeData.name\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.accept !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"文件类型\" } },\n [\n _c(\n \"el-select\",\n {\n style: { width: \"100%\" },\n attrs: {\n placeholder: \"请选择文件类型\",\n clearable: \"\",\n },\n model: {\n value: _vm.activeData.accept,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"accept\", $$v)\n },\n expression: \"activeData.accept\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: { label: \"图片\", value: \"image/*\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"视频\", value: \"video/*\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"音频\", value: \"audio/*\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"excel\", value: \".xls,.xlsx\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"word\", value: \".doc,.docx\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"pdf\", value: \".pdf\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"txt\", value: \".txt\" },\n }),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.fileSize !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"文件大小\" } },\n [\n _c(\n \"el-input\",\n {\n attrs: { placeholder: \"请输入文件大小\" },\n model: {\n value: _vm.activeData.__config__.fileSize,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"fileSize\",\n _vm._n($$v)\n )\n },\n expression: \"activeData.__config__.fileSize\",\n },\n },\n [\n _c(\n \"el-select\",\n {\n style: { width: \"66px\" },\n attrs: { slot: \"append\" },\n slot: \"append\",\n model: {\n value: _vm.activeData.__config__.sizeUnit,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"sizeUnit\",\n $$v\n )\n },\n expression:\n \"activeData.__config__.sizeUnit\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: { label: \"KB\", value: \"KB\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"MB\", value: \"MB\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"GB\", value: \"GB\" },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.action !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"上传地址\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"请输入上传地址\",\n clearable: \"\",\n },\n model: {\n value: _vm.activeData.action,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"action\", $$v)\n },\n expression: \"activeData.action\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"list-type\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"列表类型\" } },\n [\n _c(\n \"el-radio-group\",\n {\n attrs: { size: \"small\" },\n model: {\n value: _vm.activeData[\"list-type\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"list-type\", $$v)\n },\n expression: \"activeData['list-type']\",\n },\n },\n [\n _c(\n \"el-radio-button\",\n { attrs: { label: \"text\" } },\n [_vm._v(\" text \")]\n ),\n _c(\n \"el-radio-button\",\n { attrs: { label: \"picture\" } },\n [_vm._v(\" picture \")]\n ),\n _c(\n \"el-radio-button\",\n { attrs: { label: \"picture-card\" } },\n [_vm._v(\" picture-card \")]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.type !== undefined &&\n _vm.activeData.__config__.tag === \"el-button\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"按钮类型\" } },\n [\n _c(\n \"el-select\",\n {\n style: { width: \"100%\" },\n model: {\n value: _vm.activeData.type,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"type\", $$v)\n },\n expression: \"activeData.type\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: { label: \"primary\", value: \"primary\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"success\", value: \"success\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"warning\", value: \"warning\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"danger\", value: \"danger\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"info\", value: \"info\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"text\", value: \"text\" },\n }),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.buttonText !== undefined\n ? _c(\n \"el-form-item\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n \"picture-card\" !== _vm.activeData[\"list-type\"],\n expression:\n \"'picture-card' !== activeData['list-type']\",\n },\n ],\n attrs: { label: \"按钮文字\" },\n },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入按钮文字\" },\n model: {\n value: _vm.activeData.__config__.buttonText,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"buttonText\",\n $$v\n )\n },\n expression: \"activeData.__config__.buttonText\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-button\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"按钮文字\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入按钮文字\" },\n model: {\n value: _vm.activeData.__slot__.default,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__slot__,\n \"default\",\n $$v\n )\n },\n expression: \"activeData.__slot__.default\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"range-separator\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"分隔符\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入分隔符\" },\n model: {\n value: _vm.activeData[\"range-separator\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"range-separator\", $$v)\n },\n expression: \"activeData['range-separator']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"picker-options\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"时间段\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入时间段\" },\n model: {\n value:\n _vm.activeData[\"picker-options\"]\n .selectableRange,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData[\"picker-options\"],\n \"selectableRange\",\n $$v\n )\n },\n expression:\n \"activeData['picker-options'].selectableRange\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.format !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"时间格式\" } },\n [\n _c(\"el-input\", {\n attrs: {\n value: _vm.activeData.format,\n placeholder: \"请输入时间格式\",\n },\n on: {\n input: function ($event) {\n return _vm.setTimeValue($event)\n },\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n [\"el-checkbox-group\", \"el-radio-group\", \"el-select\"].indexOf(\n _vm.activeData.__config__.tag\n ) > -1\n ? [\n _c(\"el-divider\", [_vm._v(\"选项\")]),\n _c(\n \"draggable\",\n {\n attrs: {\n list: _vm.activeData.__slot__.options,\n animation: 340,\n group: \"selectItem\",\n handle: \".option-drag\",\n },\n },\n _vm._l(\n _vm.activeData.__slot__.options,\n function (item, index) {\n return _c(\n \"div\",\n { key: index, staticClass: \"select-item\" },\n [\n _c(\n \"div\",\n {\n staticClass:\n \"select-line-icon option-drag\",\n },\n [\n _c(\"i\", {\n staticClass: \"el-icon-s-operation\",\n }),\n ]\n ),\n _c(\"el-input\", {\n attrs: {\n placeholder: \"选项名\",\n size: \"small\",\n },\n model: {\n value: item.label,\n callback: function ($$v) {\n _vm.$set(item, \"label\", $$v)\n },\n expression: \"item.label\",\n },\n }),\n _c(\"el-input\", {\n attrs: {\n placeholder: \"选项值\",\n size: \"small\",\n value: item.value,\n },\n on: {\n input: function ($event) {\n return _vm.setOptionValue(item, $event)\n },\n },\n }),\n _c(\n \"div\",\n {\n staticClass: \"close-btn select-line-icon\",\n on: {\n click: function ($event) {\n return _vm.activeData.__slot__.options.splice(\n index,\n 1\n )\n },\n },\n },\n [\n _c(\"i\", {\n staticClass: \"el-icon-remove-outline\",\n }),\n ]\n ),\n ],\n 1\n )\n }\n ),\n 0\n ),\n _c(\n \"div\",\n { staticStyle: { \"margin-left\": \"20px\" } },\n [\n _c(\n \"el-button\",\n {\n staticStyle: { \"padding-bottom\": \"0\" },\n attrs: {\n icon: \"el-icon-circle-plus-outline\",\n type: \"text\",\n },\n on: { click: _vm.addSelectItem },\n },\n [_vm._v(\" 添加选项 \")]\n ),\n ],\n 1\n ),\n _c(\"el-divider\"),\n ]\n : _vm._e(),\n [\"el-cascader\", \"el-table\"].includes(\n _vm.activeData.__config__.tag\n )\n ? [\n _c(\"el-divider\", [_vm._v(\"选项\")]),\n _vm.activeData.__config__.dataType\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"数据类型\" } },\n [\n _c(\n \"el-radio-group\",\n {\n attrs: { size: \"small\" },\n model: {\n value: _vm.activeData.__config__.dataType,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"dataType\",\n $$v\n )\n },\n expression:\n \"activeData.__config__.dataType\",\n },\n },\n [\n _c(\n \"el-radio-button\",\n { attrs: { label: \"dynamic\" } },\n [_vm._v(\" 动态数据 \")]\n ),\n _c(\n \"el-radio-button\",\n { attrs: { label: \"static\" } },\n [_vm._v(\" 静态数据 \")]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.dataType === \"dynamic\"\n ? [\n _c(\n \"el-form-item\",\n { attrs: { label: \"接口地址\" } },\n [\n _c(\n \"el-input\",\n {\n attrs: {\n title: _vm.activeData.__config__.url,\n placeholder: \"请输入接口地址\",\n clearable: \"\",\n },\n on: {\n blur: function ($event) {\n return _vm.$emit(\n \"fetch-data\",\n _vm.activeData\n )\n },\n },\n model: {\n value: _vm.activeData.__config__.url,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"url\",\n $$v\n )\n },\n expression: \"activeData.__config__.url\",\n },\n },\n [\n _c(\n \"el-select\",\n {\n style: { width: \"85px\" },\n attrs: { slot: \"prepend\" },\n on: {\n change: function ($event) {\n return _vm.$emit(\n \"fetch-data\",\n _vm.activeData\n )\n },\n },\n slot: \"prepend\",\n model: {\n value:\n _vm.activeData.__config__.method,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"method\",\n $$v\n )\n },\n expression:\n \"activeData.__config__.method\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"get\",\n value: \"get\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"post\",\n value: \"post\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"put\",\n value: \"put\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"delete\",\n value: \"delete\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"数据位置\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入数据位置\" },\n on: {\n blur: function ($event) {\n return _vm.$emit(\n \"fetch-data\",\n _vm.activeData\n )\n },\n },\n model: {\n value: _vm.activeData.__config__.dataPath,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"dataPath\",\n $$v\n )\n },\n expression:\n \"activeData.__config__.dataPath\",\n },\n }),\n ],\n 1\n ),\n _vm.activeData.props && _vm.activeData.props.props\n ? [\n _c(\n \"el-form-item\",\n { attrs: { label: \"标签键名\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"请输入标签键名\",\n },\n model: {\n value:\n _vm.activeData.props.props.label,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.props.props,\n \"label\",\n $$v\n )\n },\n expression:\n \"activeData.props.props.label\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"值键名\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"请输入值键名\",\n },\n model: {\n value:\n _vm.activeData.props.props.value,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.props.props,\n \"value\",\n $$v\n )\n },\n expression:\n \"activeData.props.props.value\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"子级键名\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"请输入子级键名\",\n },\n model: {\n value:\n _vm.activeData.props.props\n .children,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.props.props,\n \"children\",\n $$v\n )\n },\n expression:\n \"activeData.props.props.children\",\n },\n }),\n ],\n 1\n ),\n ]\n : _vm._e(),\n ]\n : _vm._e(),\n _vm.activeData.__config__.dataType === \"static\"\n ? _c(\"el-tree\", {\n attrs: {\n draggable: \"\",\n data: _vm.activeData.options,\n \"node-key\": \"id\",\n \"expand-on-click-node\": false,\n \"render-content\": _vm.renderContent,\n },\n })\n : _vm._e(),\n _vm.activeData.__config__.dataType === \"static\"\n ? _c(\n \"div\",\n { staticStyle: { \"margin-left\": \"20px\" } },\n [\n _c(\n \"el-button\",\n {\n staticStyle: { \"padding-bottom\": \"0\" },\n attrs: {\n icon: \"el-icon-circle-plus-outline\",\n type: \"text\",\n },\n on: { click: _vm.addTreeItem },\n },\n [_vm._v(\" 添加父级 \")]\n ),\n ],\n 1\n )\n : _vm._e(),\n _c(\"el-divider\"),\n ]\n : _vm._e(),\n _vm.activeData.__config__.optionType !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"选项样式\" } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.activeData.__config__.optionType,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"optionType\",\n $$v\n )\n },\n expression: \"activeData.__config__.optionType\",\n },\n },\n [\n _c(\n \"el-radio-button\",\n { attrs: { label: \"default\" } },\n [_vm._v(\" 默认 \")]\n ),\n _c(\n \"el-radio-button\",\n { attrs: { label: \"button\" } },\n [_vm._v(\" 按钮 \")]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"active-color\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"开启颜色\" } },\n [\n _c(\"el-color-picker\", {\n model: {\n value: _vm.activeData[\"active-color\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"active-color\", $$v)\n },\n expression: \"activeData['active-color']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"inactive-color\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"关闭颜色\" } },\n [\n _c(\"el-color-picker\", {\n model: {\n value: _vm.activeData[\"inactive-color\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"inactive-color\", $$v)\n },\n expression: \"activeData['inactive-color']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.showLabel !== undefined &&\n _vm.activeData.__config__.labelWidth !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"显示标签\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData.__config__.showLabel,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"showLabel\",\n $$v\n )\n },\n expression: \"activeData.__config__.showLabel\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.branding !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"品牌烙印\" } },\n [\n _c(\"el-switch\", {\n on: { input: _vm.changeRenderKey },\n model: {\n value: _vm.activeData.branding,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"branding\", $$v)\n },\n expression: \"activeData.branding\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"allow-half\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"允许半选\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData[\"allow-half\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"allow-half\", $$v)\n },\n expression: \"activeData['allow-half']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"show-text\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"辅助文字\" } },\n [\n _c(\"el-switch\", {\n on: { change: _vm.rateTextChange },\n model: {\n value: _vm.activeData[\"show-text\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"show-text\", $$v)\n },\n expression: \"activeData['show-text']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"show-score\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"显示分数\" } },\n [\n _c(\"el-switch\", {\n on: { change: _vm.rateScoreChange },\n model: {\n value: _vm.activeData[\"show-score\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"show-score\", $$v)\n },\n expression: \"activeData['show-score']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"show-stops\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"显示间断点\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData[\"show-stops\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"show-stops\", $$v)\n },\n expression: \"activeData['show-stops']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.range !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"范围选择\" } },\n [\n _c(\"el-switch\", {\n on: { change: _vm.rangeChange },\n model: {\n value: _vm.activeData.range,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"range\", $$v)\n },\n expression: \"activeData.range\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.border !== undefined &&\n _vm.activeData.__config__.optionType === \"default\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"是否带边框\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData.__config__.border,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"border\",\n $$v\n )\n },\n expression: \"activeData.__config__.border\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-color-picker\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"颜色格式\" } },\n [\n _c(\n \"el-select\",\n {\n style: { width: \"100%\" },\n attrs: {\n placeholder: \"请选择颜色格式\",\n clearable: \"\",\n },\n on: { change: _vm.colorFormatChange },\n model: {\n value: _vm.activeData[\"color-format\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"color-format\", $$v)\n },\n expression: \"activeData['color-format']\",\n },\n },\n _vm._l(\n _vm.colorFormatOptions,\n function (item, index) {\n return _c(\"el-option\", {\n key: index,\n attrs: {\n label: item.label,\n value: item.value,\n },\n })\n }\n ),\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.size !== undefined &&\n (_vm.activeData.__config__.optionType === \"button\" ||\n _vm.activeData.__config__.border ||\n _vm.activeData.__config__.tag === \"el-color-picker\" ||\n _vm.activeData.__config__.tag === \"el-button\")\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"组件尺寸\" } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.activeData.size,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"size\", $$v)\n },\n expression: \"activeData.size\",\n },\n },\n [\n _c(\n \"el-radio-button\",\n { attrs: { label: \"medium\" } },\n [_vm._v(\" 中等 \")]\n ),\n _c(\n \"el-radio-button\",\n { attrs: { label: \"small\" } },\n [_vm._v(\" 较小 \")]\n ),\n _c(\n \"el-radio-button\",\n { attrs: { label: \"mini\" } },\n [_vm._v(\" 迷你 \")]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"show-word-limit\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"输入统计\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData[\"show-word-limit\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"show-word-limit\", $$v)\n },\n expression: \"activeData['show-word-limit']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-input-number\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"严格步数\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData[\"step-strictly\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"step-strictly\", $$v)\n },\n expression: \"activeData['step-strictly']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-cascader\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"任选层级\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData.props.props.checkStrictly,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.props.props,\n \"checkStrictly\",\n $$v\n )\n },\n expression:\n \"activeData.props.props.checkStrictly\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-cascader\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"是否多选\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData.props.props.multiple,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.props.props,\n \"multiple\",\n $$v\n )\n },\n expression: \"activeData.props.props.multiple\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-cascader\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"展示全路径\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData[\"show-all-levels\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"show-all-levels\", $$v)\n },\n expression: \"activeData['show-all-levels']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-cascader\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"可否筛选\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData.filterable,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"filterable\", $$v)\n },\n expression: \"activeData.filterable\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.clearable !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"能否清空\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData.clearable,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"clearable\", $$v)\n },\n expression: \"activeData.clearable\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.showTip !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"显示提示\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData.__config__.showTip,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"showTip\",\n $$v\n )\n },\n expression: \"activeData.__config__.showTip\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-upload\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"多选文件\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData.multiple,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"multiple\", $$v)\n },\n expression: \"activeData.multiple\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData[\"auto-upload\"] !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"自动上传\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData[\"auto-upload\"],\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"auto-upload\", $$v)\n },\n expression: \"activeData['auto-upload']\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.readonly !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"是否只读\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData.readonly,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"readonly\", $$v)\n },\n expression: \"activeData.readonly\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.disabled !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"是否禁用\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData.disabled,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"disabled\", $$v)\n },\n expression: \"activeData.disabled\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-select\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"能否搜索\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData.filterable,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"filterable\", $$v)\n },\n expression: \"activeData.filterable\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.tag === \"el-select\"\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"是否多选\" } },\n [\n _c(\"el-switch\", {\n on: { change: _vm.multipleChange },\n model: {\n value: _vm.activeData.multiple,\n callback: function ($$v) {\n _vm.$set(_vm.activeData, \"multiple\", $$v)\n },\n expression: \"activeData.multiple\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.required !== undefined\n ? _c(\n \"el-form-item\",\n { attrs: { label: \"是否必填\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.activeData.__config__.required,\n callback: function ($$v) {\n _vm.$set(\n _vm.activeData.__config__,\n \"required\",\n $$v\n )\n },\n expression: \"activeData.__config__.required\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.activeData.__config__.layoutTree\n ? [\n _c(\"el-divider\", [_vm._v(\"布局结构树\")]),\n _c(\"el-tree\", {\n attrs: {\n data: [_vm.activeData.__config__],\n props: _vm.layoutTreeProps,\n \"node-key\": \"renderKey\",\n \"default-expand-all\": \"\",\n draggable: \"\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var node = ref.node\n var data = ref.data\n return _c(\"span\", {}, [\n _c(\n \"span\",\n { staticClass: \"node-label\" },\n [\n _c(\"svg-icon\", {\n staticClass: \"node-icon\",\n attrs: {\n \"icon-class\": data.__config__\n ? data.__config__.tagIcon\n : data.tagIcon,\n },\n }),\n _vm._v(\" \" + _vm._s(node.label) + \" \"),\n ],\n 1\n ),\n ])\n },\n },\n ],\n null,\n false,\n 3924665115\n ),\n }),\n ]\n : _vm._e(),\n Array.isArray(_vm.activeData.__config__.regList)\n ? [\n _c(\"el-divider\", [_vm._v(\"正则校验\")]),\n _vm._l(\n _vm.activeData.__config__.regList,\n function (item, index) {\n return _c(\n \"div\",\n { key: index, staticClass: \"reg-item\" },\n [\n _c(\n \"span\",\n {\n staticClass: \"close-btn\",\n on: {\n click: function ($event) {\n return _vm.activeData.__config__.regList.splice(\n index,\n 1\n )\n },\n },\n },\n [_c(\"i\", { staticClass: \"el-icon-close\" })]\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"表达式\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入正则\" },\n model: {\n value: item.pattern,\n callback: function ($$v) {\n _vm.$set(item, \"pattern\", $$v)\n },\n expression: \"item.pattern\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n staticStyle: { \"margin-bottom\": \"0\" },\n attrs: { label: \"错误提示\" },\n },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入错误提示\" },\n model: {\n value: item.message,\n callback: function ($$v) {\n _vm.$set(item, \"message\", $$v)\n },\n expression: \"item.message\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n )\n }\n ),\n _c(\n \"div\",\n { staticStyle: { \"margin-left\": \"20px\" } },\n [\n _c(\n \"el-button\",\n {\n attrs: {\n icon: \"el-icon-circle-plus-outline\",\n type: \"text\",\n },\n on: { click: _vm.addReg },\n },\n [_vm._v(\" 添加规则 \")]\n ),\n ],\n 1\n ),\n ]\n : _vm._e(),\n ],\n 2\n ),\n _c(\n \"el-form\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.currentTab === \"form\",\n expression: \"currentTab === 'form'\",\n },\n ],\n attrs: { size: \"small\", \"label-width\": \"90px\" },\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"表单名\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入表单名ref\" },\n model: {\n value: _vm.formConf.formRef,\n callback: function ($$v) {\n _vm.$set(_vm.formConf, \"formRef\", $$v)\n },\n expression: \"formConf.formRef\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"表单模型\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入数据模型\" },\n model: {\n value: _vm.formConf.formModel,\n callback: function ($$v) {\n _vm.$set(_vm.formConf, \"formModel\", $$v)\n },\n expression: \"formConf.formModel\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"校验模型\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入校验模型\" },\n model: {\n value: _vm.formConf.formRules,\n callback: function ($$v) {\n _vm.$set(_vm.formConf, \"formRules\", $$v)\n },\n expression: \"formConf.formRules\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"表单尺寸\" } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.formConf.size,\n callback: function ($$v) {\n _vm.$set(_vm.formConf, \"size\", $$v)\n },\n expression: \"formConf.size\",\n },\n },\n [\n _c(\n \"el-radio-button\",\n { attrs: { label: \"medium\" } },\n [_vm._v(\" 中等 \")]\n ),\n _c(\"el-radio-button\", { attrs: { label: \"small\" } }, [\n _vm._v(\" 较小 \"),\n ]),\n _c(\"el-radio-button\", { attrs: { label: \"mini\" } }, [\n _vm._v(\" 迷你 \"),\n ]),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"标签对齐\" } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.formConf.labelPosition,\n callback: function ($$v) {\n _vm.$set(_vm.formConf, \"labelPosition\", $$v)\n },\n expression: \"formConf.labelPosition\",\n },\n },\n [\n _c(\"el-radio-button\", { attrs: { label: \"left\" } }, [\n _vm._v(\" 左对齐 \"),\n ]),\n _c(\"el-radio-button\", { attrs: { label: \"right\" } }, [\n _vm._v(\" 右对齐 \"),\n ]),\n _c(\"el-radio-button\", { attrs: { label: \"top\" } }, [\n _vm._v(\" 顶部对齐 \"),\n ]),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"标签宽度\" } },\n [\n _c(\"el-input\", {\n attrs: {\n type: \"number\",\n placeholder: \"请输入标签宽度\",\n },\n model: {\n value: _vm.formConf.labelWidth,\n callback: function ($$v) {\n _vm.$set(_vm.formConf, \"labelWidth\", _vm._n($$v))\n },\n expression: \"formConf.labelWidth\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"栅格间隔\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 0, placeholder: \"栅格间隔\" },\n model: {\n value: _vm.formConf.gutter,\n callback: function ($$v) {\n _vm.$set(_vm.formConf, \"gutter\", $$v)\n },\n expression: \"formConf.gutter\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"禁用表单\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.formConf.disabled,\n callback: function ($$v) {\n _vm.$set(_vm.formConf, \"disabled\", $$v)\n },\n expression: \"formConf.disabled\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"表单按钮\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.formConf.formBtns,\n callback: function ($$v) {\n _vm.$set(_vm.formConf, \"formBtns\", $$v)\n },\n expression: \"formConf.formBtns\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"显示未选中组件边框\" } },\n [\n _c(\"el-switch\", {\n model: {\n value: _vm.formConf.unFocusedComponentBorder,\n callback: function ($$v) {\n _vm.$set(\n _vm.formConf,\n \"unFocusedComponentBorder\",\n $$v\n )\n },\n expression: \"formConf.unFocusedComponentBorder\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\"treeNode-dialog\", {\n attrs: { visible: _vm.dialogVisible, title: \"添加选项\" },\n on: {\n \"update:visible\": function ($event) {\n _vm.dialogVisible = $event\n },\n commit: _vm.addNode,\n },\n }),\n _c(\"icons-dialog\", {\n attrs: {\n visible: _vm.iconsVisible,\n current: _vm.activeData[_vm.currentIconModel],\n },\n on: {\n \"update:visible\": function ($event) {\n _vm.iconsVisible = $event\n },\n select: _vm.setIcon,\n },\n }),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/infra/build/RightPanel.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%228e17e5e2-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/TreeNodeDialog.vue?vue&type=template&id=dae9c2fc&scoped=true&":
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"8e17e5e2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/TreeNodeDialog.vue?vue&type=template&id=dae9c2fc&scoped=true& ***!
\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"el-dialog\",\n _vm._g(\n _vm._b(\n {\n attrs: {\n \"close-on-click-modal\": false,\n \"modal-append-to-body\": false,\n },\n on: { open: _vm.onOpen, close: _vm.onClose },\n },\n \"el-dialog\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 0 } },\n [\n _c(\n \"el-form\",\n {\n ref: \"elForm\",\n attrs: {\n model: _vm.formData,\n rules: _vm.rules,\n size: \"small\",\n \"label-width\": \"100px\",\n },\n },\n [\n _c(\n \"el-col\",\n { attrs: { span: 24 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"选项名\", prop: \"label\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"请输入选项名\",\n clearable: \"\",\n },\n model: {\n value: _vm.formData.label,\n callback: function ($$v) {\n _vm.$set(_vm.formData, \"label\", $$v)\n },\n expression: \"formData.label\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 24 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"选项值\", prop: \"value\" } },\n [\n _c(\n \"el-input\",\n {\n attrs: {\n placeholder: \"请输入选项值\",\n clearable: \"\",\n },\n model: {\n value: _vm.formData.value,\n callback: function ($$v) {\n _vm.$set(_vm.formData, \"value\", $$v)\n },\n expression: \"formData.value\",\n },\n },\n [\n _c(\n \"el-select\",\n {\n style: { width: \"100px\" },\n attrs: { slot: \"append\" },\n slot: \"append\",\n model: {\n value: _vm.dataType,\n callback: function ($$v) {\n _vm.dataType = $$v\n },\n expression: \"dataType\",\n },\n },\n _vm._l(\n _vm.dataTypeOptions,\n function (item, index) {\n return _c(\"el-option\", {\n key: index,\n attrs: {\n label: item.label,\n value: item.value,\n disabled: item.disabled,\n },\n })\n }\n ),\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"div\",\n { attrs: { slot: \"footer\" }, slot: \"footer\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.handelConfirm },\n },\n [_vm._v(\" 确定 \")]\n ),\n _c(\"el-button\", { on: { click: _vm.close } }, [_vm._v(\" 取消 \")]),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/infra/build/TreeNodeDialog.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%228e17e5e2-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/core-js/modules/es.string.ends-with.js":
/*!*************************************************************!*\
!*** ./node_modules/core-js/modules/es.string.ends-with.js ***!
\*************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ \"./node_modules/core-js/internals/function-uncurry-this.js\");\nvar getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ \"./node_modules/core-js/internals/object-get-own-property-descriptor.js\").f;\nvar toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\nvar toString = __webpack_require__(/*! ../internals/to-string */ \"./node_modules/core-js/internals/to-string.js\");\nvar notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ \"./node_modules/core-js/internals/not-a-regexp.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\nvar correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ \"./node_modules/core-js/internals/correct-is-regexp-logic.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\n\n// eslint-disable-next-line es/no-string-prototype-endswith -- safe\nvar un$EndsWith = uncurryThis(''.endsWith);\nvar slice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = that.length;\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = toString(searchString);\n return un$EndsWith\n ? un$EndsWith(that, search, end)\n : slice(that, end - search.length, end) === search;\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/core-js/modules/es.string.ends-with.js?");
/***/ }),
/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bpm/form/formEditor.vue?vue&type=style&index=0&lang=scss&":
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/bpm/form/formEditor.vue?vue&type=style&index=0&lang=scss& ***!
\***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \".container {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n}\\n.components-list {\\n padding: 8px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n height: 100%;\\n}\\n.components-list .components-item {\\n display: inline-block;\\n width: 48%;\\n margin: 1%;\\n -webkit-transition: -webkit-transform 0ms !important;\\n transition: -webkit-transform 0ms !important;\\n transition: transform 0ms !important;\\n transition: transform 0ms, -webkit-transform 0ms !important;\\n}\\n.components-draggable {\\n padding-bottom: 20px;\\n}\\n.components-title {\\n font-size: 14px;\\n color: #222;\\n margin: 6px 2px;\\n}\\n.components-title .svg-icon {\\n color: #666;\\n font-size: 18px;\\n}\\n.components-body {\\n padding: 8px 10px;\\n background: #f6f7ff;\\n font-size: 12px;\\n cursor: move;\\n border: 1px dashed #f6f7ff;\\n border-radius: 3px;\\n}\\n.components-body .svg-icon {\\n color: #777;\\n font-size: 15px;\\n}\\n.components-body:hover {\\n border: 1px dashed #787be8;\\n color: #787be8;\\n}\\n.components-body:hover .svg-icon {\\n color: #787be8;\\n}\\n.left-board {\\n width: 260px;\\n position: absolute;\\n left: 0;\\n top: 0;\\n height: 100vh;\\n}\\n.left-scrollbar {\\n height: calc(100vh - 42px);\\n overflow: hidden;\\n}\\n.center-scrollbar {\\n height: calc(100vh - 42px);\\n overflow: hidden;\\n border-left: 1px solid #f1e8e8;\\n border-right: 1px solid #f1e8e8;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.center-board {\\n height: 100vh;\\n width: auto;\\n margin: 0 350px 0 260px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.empty-info {\\n position: absolute;\\n top: 46%;\\n left: 0;\\n right: 0;\\n text-align: center;\\n font-size: 18px;\\n color: #ccb1ea;\\n letter-spacing: 4px;\\n}\\n.action-bar {\\n position: relative;\\n height: 42px;\\n text-align: right;\\n padding: 0 15px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n border: 1px solid #f1e8e8;\\n border-top: none;\\n border-left: none;\\n}\\n.action-bar .delete-btn {\\n color: #F56C6C;\\n}\\n.logo-wrapper {\\n position: relative;\\n height: 42px;\\n background: #fff;\\n border-bottom: 1px solid #f1e8e8;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.logo {\\n position: absolute;\\n left: 12px;\\n top: 6px;\\n line-height: 30px;\\n color: #00afff;\\n font-weight: 600;\\n font-size: 17px;\\n white-space: nowrap;\\n}\\n.logo > img {\\n width: 30px;\\n height: 30px;\\n vertical-align: top;\\n}\\n.logo .github {\\n display: inline-block;\\n vertical-align: sub;\\n margin-left: 15px;\\n}\\n.logo .github > img {\\n height: 22px;\\n}\\n.center-board-row {\\n padding: 12px 12px 15px 12px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.center-board-row > .el-form {\\n height: calc(100vh - 69px);\\n}\\n.drawing-board {\\n height: 100%;\\n position: relative;\\n}\\n.drawing-board .components-body {\\n padding: 0;\\n margin: 0;\\n font-size: 0;\\n}\\n.drawing-board .sortable-ghost {\\n position: relative;\\n display: block;\\n overflow: hidden;\\n}\\n.drawing-board .sortable-ghost::before {\\n content: \\\" \\\";\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n height: 3px;\\n background: #5959df;\\n z-index: 2;\\n}\\n.drawing-board .components-item.sortable-ghost {\\n width: 100%;\\n height: 60px;\\n background-color: #f6f7ff;\\n}\\n.drawing-board .active-from-item > .el-form-item {\\n background: #f6f7ff;\\n border-radius: 6px;\\n}\\n.drawing-board .active-from-item > .drawing-item-copy, .drawing-board .active-from-item > .drawing-item-delete {\\n display: initial;\\n}\\n.drawing-board .active-from-item > .component-name {\\n color: #409EFF;\\n}\\n.drawing-board .el-form-item {\\n margin-bottom: 15px;\\n}\\n.drawing-item {\\n position: relative;\\n cursor: move;\\n}\\n.drawing-item.unfocus-bordered:not(.active-from-item) > div:first-child {\\n border: 1px dashed #ccc;\\n}\\n.drawing-item .el-form-item {\\n padding: 12px 10px;\\n}\\n.drawing-row-item {\\n position: relative;\\n cursor: move;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n border: 1px dashed #ccc;\\n border-radius: 3px;\\n padding: 0 2px;\\n margin-bottom: 15px;\\n}\\n.drawing-row-item .drawing-row-item {\\n margin-bottom: 2px;\\n}\\n.drawing-row-item .el-col {\\n margin-top: 22px;\\n}\\n.drawing-row-item .el-form-item {\\n margin-bottom: 0;\\n}\\n.drawing-row-item .drag-wrapper {\\n min-height: 80px;\\n}\\n.drawing-row-item.active-from-item {\\n border: 1px dashed #409EFF;\\n}\\n.drawing-row-item .component-name {\\n position: absolute;\\n top: 0;\\n left: 0;\\n font-size: 12px;\\n color: #bbb;\\n display: inline-block;\\n padding: 0 6px;\\n}\\n.drawing-item:hover > .el-form-item, .drawing-row-item:hover > .el-form-item {\\n background: #f6f7ff;\\n border-radius: 6px;\\n}\\n.drawing-item:hover > .drawing-item-copy, .drawing-item:hover > .drawing-item-delete, .drawing-row-item:hover > .drawing-item-copy, .drawing-row-item:hover > .drawing-item-delete {\\n display: initial;\\n}\\n.drawing-item > .drawing-item-copy, .drawing-item > .drawing-item-delete, .drawing-row-item > .drawing-item-copy, .drawing-row-item > .drawing-item-delete {\\n display: none;\\n position: absolute;\\n top: -10px;\\n width: 22px;\\n height: 22px;\\n line-height: 22px;\\n text-align: center;\\n border-radius: 50%;\\n font-size: 12px;\\n border: 1px solid;\\n cursor: pointer;\\n z-index: 1;\\n}\\n.drawing-item > .drawing-item-copy, .drawing-row-item > .drawing-item-copy {\\n right: 56px;\\n border-color: #409EFF;\\n color: #409EFF;\\n background: #fff;\\n}\\n.drawing-item > .drawing-item-copy:hover, .drawing-row-item > .drawing-item-copy:hover {\\n background: #409EFF;\\n color: #fff;\\n}\\n.drawing-item > .drawing-item-delete, .drawing-row-item > .drawing-item-delete {\\n right: 24px;\\n border-color: #F56C6C;\\n color: #F56C6C;\\n background: #fff;\\n}\\n.drawing-item > .drawing-item-delete:hover, .drawing-row-item > .drawing-item-delete:hover {\\n background: #F56C6C;\\n color: #fff;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/bpm/form/formEditor.vue?./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/FormDrawer.vue?vue&type=style&index=0&id=753f0faf&lang=scss&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/FormDrawer.vue?vue&type=style&index=0&id=753f0faf&lang=scss&scoped=true& ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \".tab-editor[data-v-753f0faf] {\\n position: absolute;\\n top: 33px;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n font-size: 14px;\\n}\\n.left-editor[data-v-753f0faf] {\\n position: relative;\\n height: 100%;\\n background: #1e1e1e;\\n overflow: hidden;\\n}\\n.setting[data-v-753f0faf] {\\n position: absolute;\\n right: 15px;\\n top: 3px;\\n color: #a9f122;\\n font-size: 18px;\\n cursor: pointer;\\n z-index: 1;\\n}\\n.right-preview[data-v-753f0faf] {\\n height: 100%;\\n}\\n.right-preview .result-wrapper[data-v-753f0faf] {\\n height: calc(100vh - 33px);\\n width: 100%;\\n overflow: auto;\\n padding: 12px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.action-bar[data-v-753f0faf] {\\n height: 33px;\\n background: #f2fafb;\\n padding: 0 15px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.action-bar .bar-btn[data-v-753f0faf] {\\n display: inline-block;\\n padding: 0 6px;\\n line-height: 32px;\\n color: #8285f5;\\n cursor: pointer;\\n font-size: 14px;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n.action-bar .bar-btn i[data-v-753f0faf] {\\n font-size: 20px;\\n}\\n.action-bar .bar-btn[data-v-753f0faf]:hover {\\n color: #4348d4;\\n}\\n.action-bar .bar-btn + .bar-btn[data-v-753f0faf] {\\n margin-left: 8px;\\n}\\n.action-bar .delete-btn[data-v-753f0faf] {\\n color: #f56c6c;\\n}\\n.action-bar .delete-btn[data-v-753f0faf]:hover {\\n color: #ea0b30;\\n}\\n[data-v-753f0faf] .el-drawer__header {\\n display: none;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/infra/build/FormDrawer.vue?./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/IconsDialog.vue?vue&type=style&index=0&id=7bbbfa18&lang=scss&scoped=true&":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/IconsDialog.vue?vue&type=style&index=0&id=7bbbfa18&lang=scss&scoped=true& ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \".icon-ul[data-v-7bbbfa18] {\\n margin: 0;\\n padding: 0;\\n font-size: 0;\\n}\\n.icon-ul li[data-v-7bbbfa18] {\\n list-style-type: none;\\n text-align: center;\\n font-size: 14px;\\n display: inline-block;\\n width: 16.66%;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n height: 108px;\\n padding: 15px 6px 6px 6px;\\n cursor: pointer;\\n overflow: hidden;\\n}\\n.icon-ul li[data-v-7bbbfa18]:hover {\\n background: #f2f2f2;\\n}\\n.icon-ul li.active-item[data-v-7bbbfa18] {\\n background: #e1f3fb;\\n color: #7a6df0;\\n}\\n.icon-ul li > i[data-v-7bbbfa18] {\\n font-size: 30px;\\n line-height: 50px;\\n}\\n.icon-dialog[data-v-7bbbfa18] .el-dialog {\\n border-radius: 8px;\\n margin-bottom: 0;\\n margin-top: 4vh !important;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n max-height: 92vh;\\n overflow: hidden;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.icon-dialog[data-v-7bbbfa18] .el-dialog .el-dialog__header {\\n padding-top: 14px;\\n}\\n.icon-dialog[data-v-7bbbfa18] .el-dialog .el-dialog__body {\\n margin: 0 20px 20px 20px;\\n padding: 0;\\n overflow: auto;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/infra/build/IconsDialog.vue?./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/JsonDrawer.vue?vue&type=style&index=0&id=349212d3&lang=scss&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/JsonDrawer.vue?vue&type=style&index=0&id=349212d3&lang=scss&scoped=true& ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"[data-v-349212d3] .el-drawer__header {\\n display: none;\\n}\\n.action-bar[data-v-349212d3] {\\n height: 33px;\\n background: #f2fafb;\\n padding: 0 15px;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.action-bar .bar-btn[data-v-349212d3] {\\n display: inline-block;\\n padding: 0 6px;\\n line-height: 32px;\\n color: #8285f5;\\n cursor: pointer;\\n font-size: 14px;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n.action-bar .bar-btn i[data-v-349212d3] {\\n font-size: 20px;\\n}\\n.action-bar .bar-btn[data-v-349212d3]:hover {\\n color: #4348d4;\\n}\\n.action-bar .bar-btn + .bar-btn[data-v-349212d3] {\\n margin-left: 8px;\\n}\\n.action-bar .delete-btn[data-v-349212d3] {\\n color: #f56c6c;\\n}\\n.action-bar .delete-btn[data-v-349212d3]:hover {\\n color: #ea0b30;\\n}\\n.json-editor[data-v-349212d3] {\\n height: calc(100vh - 33px);\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/infra/build/JsonDrawer.vue?./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/ResourceDialog.vue?vue&type=style&index=0&id=1416fb60&lang=scss&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/ResourceDialog.vue?vue&type=style&index=0&id=1416fb60&lang=scss&scoped=true& ***!
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \".add-item[data-v-1416fb60] {\\n margin-top: 8px;\\n}\\n.url-item[data-v-1416fb60] {\\n margin-bottom: 12px;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/infra/build/ResourceDialog.vue?./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/RightPanel.vue?vue&type=style&index=0&id=77ba98a2&lang=scss&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/RightPanel.vue?vue&type=style&index=0&id=77ba98a2&lang=scss&scoped=true& ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \".right-board[data-v-77ba98a2] {\\n width: 350px;\\n position: absolute;\\n right: 0;\\n top: 0;\\n padding-top: 3px;\\n}\\n.right-board .field-box[data-v-77ba98a2] {\\n position: relative;\\n height: calc(100vh - 42px);\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n overflow: hidden;\\n}\\n.right-board .el-scrollbar[data-v-77ba98a2] {\\n height: 100%;\\n}\\n.select-item[data-v-77ba98a2] {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n border: 1px dashed #fff;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.select-item .close-btn[data-v-77ba98a2] {\\n cursor: pointer;\\n color: #f56c6c;\\n}\\n.select-item .el-input + .el-input[data-v-77ba98a2] {\\n margin-left: 4px;\\n}\\n.select-item + .select-item[data-v-77ba98a2] {\\n margin-top: 4px;\\n}\\n.select-item.sortable-chosen[data-v-77ba98a2] {\\n border: 1px dashed #409eff;\\n}\\n.select-line-icon[data-v-77ba98a2] {\\n line-height: 32px;\\n font-size: 22px;\\n padding: 0 4px;\\n color: #777;\\n}\\n.option-drag[data-v-77ba98a2] {\\n cursor: move;\\n}\\n.time-range .el-date-editor[data-v-77ba98a2] {\\n width: 227px;\\n}\\n.time-range[data-v-77ba98a2] .el-icon-time {\\n display: none;\\n}\\n.document-link[data-v-77ba98a2] {\\n position: absolute;\\n display: block;\\n width: 26px;\\n height: 26px;\\n top: 0;\\n left: 0;\\n cursor: pointer;\\n background: #409eff;\\n z-index: 1;\\n border-radius: 0 0 6px 0;\\n text-align: center;\\n line-height: 26px;\\n color: #fff;\\n font-size: 18px;\\n}\\n.node-label[data-v-77ba98a2] {\\n font-size: 14px;\\n}\\n.node-icon[data-v-77ba98a2] {\\n color: #bebfc3;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/infra/build/RightPanel.vue?./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/file-saver/dist/FileSaver.min.js":
/*!*******************************************************!*\
!*** ./node_modules/file-saver/dist/FileSaver.min.js ***!
\*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(global) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(a,b){if(true)!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (b),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));else {}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g, true&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/file-saver/dist/FileSaver.min.js?");
/***/ }),
/***/ "./node_modules/util/node_modules/inherits/inherits_browser.js":
/*!*********************************************************************!*\
!*** ./node_modules/util/node_modules/inherits/inherits_browser.js ***!
\*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/util/node_modules/inherits/inherits_browser.js?");
/***/ }),
/***/ "./node_modules/util/support/isBufferBrowser.js":
/*!******************************************************!*\
!*** ./node_modules/util/support/isBufferBrowser.js ***!
\******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}\n\n//# sourceURL=webpack:///./node_modules/util/support/isBufferBrowser.js?");
/***/ }),
/***/ "./node_modules/util/util.js":
/*!***********************************!*\
!*** ./node_modules/util/util.js ***!
\***********************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = Object({\"NODE_ENV\":\"development\",\"VUE_APP_TITLE\":\"芋道管理系统\",\"VUE_APP_BASE_API\":\"http://127.0.0.1:48080\",\"VUE_APP_APP_NAME\":\"/admin-ui/\",\"VUE_APP_TENANT_ENABLE\":\"true\",\"VUE_APP_DOC_ENABLE\":\"true\",\"VUE_APP_BAIDU_CODE\":\"fadc1bd5db1a1d6f581df60a1807f8ab\",\"BASE_URL\":\"/admin-ui/\"}).NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = __webpack_require__(/*! ./support/isBuffer */ \"./node_modules/util/support/isBufferBrowser.js\");\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = __webpack_require__(/*! inherits */ \"./node_modules/util/node_modules/inherits/inherits_browser.js\");\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node-libs-browser/mock/process.js */ \"./node_modules/node-libs-browser/mock/process.js\")))\n\n//# sourceURL=webpack:///./node_modules/util/util.js?");
/***/ }),
/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bpm/form/formEditor.vue?vue&type=style&index=0&lang=scss&":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/bpm/form/formEditor.vue?vue&type=style&index=0&lang=scss& ***!
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./formEditor.vue?vue&type=style&index=0&lang=scss& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bpm/form/formEditor.vue?vue&type=style&index=0&lang=scss&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7beca679\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/views/bpm/form/formEditor.vue?./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/FormDrawer.vue?vue&type=style&index=0&id=753f0faf&lang=scss&scoped=true&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/FormDrawer.vue?vue&type=style&index=0&id=753f0faf&lang=scss&scoped=true& ***!
\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./FormDrawer.vue?vue&type=style&index=0&id=753f0faf&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/FormDrawer.vue?vue&type=style&index=0&id=753f0faf&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"91af62de\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/views/infra/build/FormDrawer.vue?./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/IconsDialog.vue?vue&type=style&index=0&id=7bbbfa18&lang=scss&scoped=true&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/IconsDialog.vue?vue&type=style&index=0&id=7bbbfa18&lang=scss&scoped=true& ***!
\*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./IconsDialog.vue?vue&type=style&index=0&id=7bbbfa18&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/IconsDialog.vue?vue&type=style&index=0&id=7bbbfa18&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"51e64f50\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/views/infra/build/IconsDialog.vue?./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/JsonDrawer.vue?vue&type=style&index=0&id=349212d3&lang=scss&scoped=true&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/JsonDrawer.vue?vue&type=style&index=0&id=349212d3&lang=scss&scoped=true& ***!
\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./JsonDrawer.vue?vue&type=style&index=0&id=349212d3&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/JsonDrawer.vue?vue&type=style&index=0&id=349212d3&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"38d0e5af\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/views/infra/build/JsonDrawer.vue?./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/ResourceDialog.vue?vue&type=style&index=0&id=1416fb60&lang=scss&scoped=true&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/ResourceDialog.vue?vue&type=style&index=0&id=1416fb60&lang=scss&scoped=true& ***!
\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./ResourceDialog.vue?vue&type=style&index=0&id=1416fb60&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/ResourceDialog.vue?vue&type=style&index=0&id=1416fb60&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"65824a63\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/views/infra/build/ResourceDialog.vue?./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/RightPanel.vue?vue&type=style&index=0&id=77ba98a2&lang=scss&scoped=true&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/infra/build/RightPanel.vue?vue&type=style&index=0&id=77ba98a2&lang=scss&scoped=true& ***!
\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./RightPanel.vue?vue&type=style&index=0&id=77ba98a2&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/RightPanel.vue?vue&type=style&index=0&id=77ba98a2&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6285e358\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/views/infra/build/RightPanel.vue?./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
/***/ "./node_modules/vuedraggable/dist/vuedraggable.umd.js":
/*!************************************************************!*\
!*** ./node_modules/vuedraggable/dist/vuedraggable.umd.js ***!
\************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory(__webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/modular/sortable.esm.js\"));\n\telse {}\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE_a352__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"01f9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(\"2d00\");\nvar $export = __webpack_require__(\"5ca1\");\nvar redefine = __webpack_require__(\"2aba\");\nvar hide = __webpack_require__(\"32e9\");\nvar Iterators = __webpack_require__(\"84f2\");\nvar $iterCreate = __webpack_require__(\"41a0\");\nvar setToStringTag = __webpack_require__(\"7f20\");\nvar getPrototypeOf = __webpack_require__(\"38fd\");\nvar ITERATOR = __webpack_require__(\"2b4c\")('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/***/ }),\n\n/***/ \"02f4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"4588\");\nvar defined = __webpack_require__(\"be13\");\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n\n/***/ \"0390\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar at = __webpack_require__(\"02f4\")(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n\n\n/***/ }),\n\n/***/ \"0bfb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = __webpack_require__(\"cb7c\");\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"0d58\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(\"ce10\");\nvar enumBugKeys = __webpack_require__(\"e11e\");\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ \"1495\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(\"86cc\");\nvar anObject = __webpack_require__(\"cb7c\");\nvar getKeys = __webpack_require__(\"0d58\");\n\nmodule.exports = __webpack_require__(\"9e1e\") ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/***/ }),\n\n/***/ \"214f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n__webpack_require__(\"b0c5\");\nvar redefine = __webpack_require__(\"2aba\");\nvar hide = __webpack_require__(\"32e9\");\nvar fails = __webpack_require__(\"79e5\");\nvar defined = __webpack_require__(\"be13\");\nvar wks = __webpack_require__(\"2b4c\");\nvar regexpExec = __webpack_require__(\"520a\");\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n\n\n/***/ }),\n\n/***/ \"230e\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"d3f4\");\nvar document = __webpack_require__(\"7726\").document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ \"23c6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(\"2d95\");\nvar TAG = __webpack_require__(\"2b4c\")('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n\n/***/ \"2621\":\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ \"2aba\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"7726\");\nvar hide = __webpack_require__(\"32e9\");\nvar has = __webpack_require__(\"69a8\");\nvar SRC = __webpack_require__(\"ca5a\")('src');\nvar $toString = __webpack_require__(\"fa5b\");\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__webpack_require__(\"8378\").inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n/***/ }),\n\n/***/ \"2aeb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(\"cb7c\");\nvar dPs = __webpack_require__(\"1495\");\nvar enumBugKeys = __webpack_require__(\"e11e\");\nvar IE_PROTO = __webpack_require__(\"613b\")('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(\"230e\")('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(\"fab2\").appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ \"2b4c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(\"5537\")('wks');\nvar uid = __webpack_require__(\"ca5a\");\nvar Symbol = __webpack_require__(\"7726\").Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ \"2d00\":\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n\n/***/ \"2d95\":\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ \"2fdb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n\nvar $export = __webpack_require__(\"5ca1\");\nvar context = __webpack_require__(\"d2c8\");\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * __webpack_require__(\"5147\")(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n\n/***/ \"32e9\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(\"86cc\");\nvar createDesc = __webpack_require__(\"4630\");\nmodule.exports = __webpack_require__(\"9e1e\") ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n\n/***/ \"38fd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(\"69a8\");\nvar toObject = __webpack_require__(\"4bf8\");\nvar IE_PROTO = __webpack_require__(\"613b\")('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n\n/***/ \"41a0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(\"2aeb\");\nvar descriptor = __webpack_require__(\"4630\");\nvar setToStringTag = __webpack_require__(\"7f20\");\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(\"32e9\")(IteratorPrototype, __webpack_require__(\"2b4c\")('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n\n/***/ \"456d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(\"4bf8\");\nvar $keys = __webpack_require__(\"0d58\");\n\n__webpack_require__(\"5eda\")('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n\n/***/ \"4588\":\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ \"4630\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n\n/***/ \"4bf8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(\"be13\");\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"5147\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar MATCH = __webpack_require__(\"2b4c\")('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n\n\n/***/ }),\n\n/***/ \"520a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar regexpFlags = __webpack_require__(\"0bfb\");\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n\n\n/***/ }),\n\n/***/ \"52a7\":\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ \"5537\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(\"8378\");\nvar global = __webpack_require__(\"7726\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(\"2d00\") ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ \"5ca1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"7726\");\nvar core = __webpack_require__(\"8378\");\nvar hide = __webpack_require__(\"32e9\");\nvar redefine = __webpack_require__(\"2aba\");\nvar ctx = __webpack_require__(\"9b43\");\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ \"5eda\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(\"5ca1\");\nvar core = __webpack_require__(\"8378\");\nvar fails = __webpack_require__(\"79e5\");\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n\n/***/ \"5f1b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar classof = __webpack_require__(\"23c6\");\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n\n\n/***/ }),\n\n/***/ \"613b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(\"5537\")('keys');\nvar uid = __webpack_require__(\"ca5a\");\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ \"626a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(\"2d95\");\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ \"6762\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/Array.prototype.includes\nvar $export = __webpack_require__(\"5ca1\");\nvar $includes = __webpack_require__(\"c366\")(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n__webpack_require__(\"9c6c\")('includes');\n\n\n/***/ }),\n\n/***/ \"6821\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(\"626a\");\nvar defined = __webpack_require__(\"be13\");\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"69a8\":\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"6a99\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(\"d3f4\");\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ \"7333\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(\"0d58\");\nvar gOPS = __webpack_require__(\"2621\");\nvar pIE = __webpack_require__(\"52a7\");\nvar toObject = __webpack_require__(\"4bf8\");\nvar IObject = __webpack_require__(\"626a\");\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(\"79e5\")(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n/***/ }),\n\n/***/ \"7726\":\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"77f1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"4588\");\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ \"79e5\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n/***/ }),\n\n/***/ \"7f20\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(\"86cc\").f;\nvar has = __webpack_require__(\"69a8\");\nvar TAG = __webpack_require__(\"2b4c\")('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n\n/***/ \"8378\":\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"84f2\":\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"86cc\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"cb7c\");\nvar IE8_DOM_DEFINE = __webpack_require__(\"c69a\");\nvar toPrimitive = __webpack_require__(\"6a99\");\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(\"9e1e\") ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n\n/***/ \"9b43\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(\"d8e8\");\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n\n/***/ \"9c6c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = __webpack_require__(\"2b4c\")('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(\"32e9\")(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n\n/***/ \"9def\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(\"4588\");\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ \"9e1e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(\"79e5\")(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"a352\":\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_a352__;\n\n/***/ }),\n\n/***/ \"a481\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(\"cb7c\");\nvar toObject = __webpack_require__(\"4bf8\");\nvar toLength = __webpack_require__(\"9def\");\nvar toInteger = __webpack_require__(\"4588\");\nvar advanceStringIndex = __webpack_require__(\"0390\");\nvar regExpExec = __webpack_require__(\"5f1b\");\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\n__webpack_require__(\"214f\")('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n\n\n/***/ }),\n\n/***/ \"aae3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.8 IsRegExp(argument)\nvar isObject = __webpack_require__(\"d3f4\");\nvar cof = __webpack_require__(\"2d95\");\nvar MATCH = __webpack_require__(\"2b4c\")('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n/***/ }),\n\n/***/ \"ac6a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $iterators = __webpack_require__(\"cadf\");\nvar getKeys = __webpack_require__(\"0d58\");\nvar redefine = __webpack_require__(\"2aba\");\nvar global = __webpack_require__(\"7726\");\nvar hide = __webpack_require__(\"32e9\");\nvar Iterators = __webpack_require__(\"84f2\");\nvar wks = __webpack_require__(\"2b4c\");\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n/***/ }),\n\n/***/ \"b0c5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar regexpExec = __webpack_require__(\"520a\");\n__webpack_require__(\"5ca1\")({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n\n\n/***/ }),\n\n/***/ \"be13\":\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"c366\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(\"6821\");\nvar toLength = __webpack_require__(\"9def\");\nvar toAbsoluteIndex = __webpack_require__(\"77f1\");\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n\n/***/ \"c649\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return insertNodeAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return camelize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return console; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return removeNode; });\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"a481\");\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__);\n\n\nfunction getConsole() {\n if (typeof window !== \"undefined\") {\n return window.console;\n }\n\n return global.console;\n}\n\nvar console = getConsole();\n\nfunction cached(fn) {\n var cache = Object.create(null);\n return function cachedFn(str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\n\nvar regex = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(regex, function (_, c) {\n return c ? c.toUpperCase() : \"\";\n });\n});\n\nfunction removeNode(node) {\n if (node.parentElement !== null) {\n node.parentElement.removeChild(node);\n }\n}\n\nfunction insertNodeAt(fatherNode, node, position) {\n var refNode = position === 0 ? fatherNode.children[0] : fatherNode.children[position - 1].nextSibling;\n fatherNode.insertBefore(node, refNode);\n}\n\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"c69a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(\"9e1e\") && !__webpack_require__(\"79e5\")(function () {\n return Object.defineProperty(__webpack_require__(\"230e\")('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"c8ba\":\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n\n/***/ \"ca5a\":\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ \"cadf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(\"9c6c\");\nvar step = __webpack_require__(\"d53b\");\nvar Iterators = __webpack_require__(\"84f2\");\nvar toIObject = __webpack_require__(\"6821\");\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(\"01f9\")(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n\n/***/ \"cb7c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"d3f4\");\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"ce10\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(\"69a8\");\nvar toIObject = __webpack_require__(\"6821\");\nvar arrayIndexOf = __webpack_require__(\"c366\")(false);\nvar IE_PROTO = __webpack_require__(\"613b\")('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"d2c8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = __webpack_require__(\"aae3\");\nvar defined = __webpack_require__(\"be13\");\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n/***/ }),\n\n/***/ \"d3f4\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"d53b\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n/***/ }),\n\n/***/ \"d8e8\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"e11e\":\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ \"f559\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n\nvar $export = __webpack_require__(\"5ca1\");\nvar toLength = __webpack_require__(\"9def\");\nvar context = __webpack_require__(\"d2c8\");\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(\"5147\")(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n/***/ }),\n\n/***/ \"f6fd\":\n/***/ (function(module, exports) {\n\n// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n\n\n/***/ }),\n\n/***/ \"f751\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(\"5ca1\");\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(\"7333\") });\n\n\n/***/ }),\n\n/***/ \"fa5b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"5537\")('native-function-to-string', Function.toString);\n\n\n/***/ }),\n\n/***/ \"fab2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(\"7726\").document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ \"fb15\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (true) {\n __webpack_require__(\"f6fd\")\n }\n\n var setPublicPath_i\n if ((setPublicPath_i = window.document.currentScript) && (setPublicPath_i = setPublicPath_i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_require__.p = setPublicPath_i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\n/* harmony default export */ var setPublicPath = (null);\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.assign.js\nvar es6_object_assign = __webpack_require__(\"f751\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.starts-with.js\nvar es6_string_starts_with = __webpack_require__(\"f559\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js\nvar web_dom_iterable = __webpack_require__(\"ac6a\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.iterator.js\nvar es6_array_iterator = __webpack_require__(\"cadf\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.keys.js\nvar es6_object_keys = __webpack_require__(\"456d\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\n\n\n\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es7.array.includes.js\nvar es7_array_includes = __webpack_require__(\"6762\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.includes.js\nvar es6_string_includes = __webpack_require__(\"2fdb\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\n\n\n\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n// EXTERNAL MODULE: external {\"commonjs\":\"sortablejs\",\"commonjs2\":\"sortablejs\",\"amd\":\"sortablejs\",\"root\":\"Sortable\"}\nvar external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_ = __webpack_require__(\"a352\");\nvar external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_);\n\n// EXTERNAL MODULE: ./src/util/helper.js\nvar helper = __webpack_require__(\"c649\");\n\n// CONCATENATED MODULE: ./src/vuedraggable.js\n\n\n\n\n\n\n\n\n\n\n\n\nfunction buildAttribute(object, propName, value) {\n if (value === undefined) {\n return object;\n }\n\n object = object || {};\n object[propName] = value;\n return object;\n}\n\nfunction computeVmIndex(vnodes, element) {\n return vnodes.map(function (elt) {\n return elt.elm;\n }).indexOf(element);\n}\n\nfunction _computeIndexes(slots, children, isTransition, footerOffset) {\n if (!slots) {\n return [];\n }\n\n var elmFromNodes = slots.map(function (elt) {\n return elt.elm;\n });\n var footerIndex = children.length - footerOffset;\n\n var rawIndexes = _toConsumableArray(children).map(function (elt, idx) {\n return idx >= footerIndex ? elmFromNodes.length : elmFromNodes.indexOf(elt);\n });\n\n return isTransition ? rawIndexes.filter(function (ind) {\n return ind !== -1;\n }) : rawIndexes;\n}\n\nfunction emit(evtName, evtData) {\n var _this = this;\n\n this.$nextTick(function () {\n return _this.$emit(evtName.toLowerCase(), evtData);\n });\n}\n\nfunction delegateAndEmit(evtName) {\n var _this2 = this;\n\n return function (evtData) {\n if (_this2.realList !== null) {\n _this2[\"onDrag\" + evtName](evtData);\n }\n\n emit.call(_this2, evtName, evtData);\n };\n}\n\nfunction isTransitionName(name) {\n return [\"transition-group\", \"TransitionGroup\"].includes(name);\n}\n\nfunction vuedraggable_isTransition(slots) {\n if (!slots || slots.length !== 1) {\n return false;\n }\n\n var _slots = _slicedToArray(slots, 1),\n componentOptions = _slots[0].componentOptions;\n\n if (!componentOptions) {\n return false;\n }\n\n return isTransitionName(componentOptions.tag);\n}\n\nfunction getSlot(slot, scopedSlot, key) {\n return slot[key] || (scopedSlot[key] ? scopedSlot[key]() : undefined);\n}\n\nfunction computeChildrenAndOffsets(children, slot, scopedSlot) {\n var headerOffset = 0;\n var footerOffset = 0;\n var header = getSlot(slot, scopedSlot, \"header\");\n\n if (header) {\n headerOffset = header.length;\n children = children ? [].concat(_toConsumableArray(header), _toConsumableArray(children)) : _toConsumableArray(header);\n }\n\n var footer = getSlot(slot, scopedSlot, \"footer\");\n\n if (footer) {\n footerOffset = footer.length;\n children = children ? [].concat(_toConsumableArray(children), _toConsumableArray(footer)) : _toConsumableArray(footer);\n }\n\n return {\n children: children,\n headerOffset: headerOffset,\n footerOffset: footerOffset\n };\n}\n\nfunction getComponentAttributes($attrs, componentData) {\n var attributes = null;\n\n var update = function update(name, value) {\n attributes = buildAttribute(attributes, name, value);\n };\n\n var attrs = Object.keys($attrs).filter(function (key) {\n return key === \"id\" || key.startsWith(\"data-\");\n }).reduce(function (res, key) {\n res[key] = $attrs[key];\n return res;\n }, {});\n update(\"attrs\", attrs);\n\n if (!componentData) {\n return attributes;\n }\n\n var on = componentData.on,\n props = componentData.props,\n componentDataAttrs = componentData.attrs;\n update(\"on\", on);\n update(\"props\", props);\n Object.assign(attributes.attrs, componentDataAttrs);\n return attributes;\n}\n\nvar eventsListened = [\"Start\", \"Add\", \"Remove\", \"Update\", \"End\"];\nvar eventsToEmit = [\"Choose\", \"Unchoose\", \"Sort\", \"Filter\", \"Clone\"];\nvar readonlyProperties = [\"Move\"].concat(eventsListened, eventsToEmit).map(function (evt) {\n return \"on\" + evt;\n});\nvar draggingElement = null;\nvar props = {\n options: Object,\n list: {\n type: Array,\n required: false,\n default: null\n },\n value: {\n type: Array,\n required: false,\n default: null\n },\n noTransitionOnDrag: {\n type: Boolean,\n default: false\n },\n clone: {\n type: Function,\n default: function _default(original) {\n return original;\n }\n },\n element: {\n type: String,\n default: \"div\"\n },\n tag: {\n type: String,\n default: null\n },\n move: {\n type: Function,\n default: null\n },\n componentData: {\n type: Object,\n required: false,\n default: null\n }\n};\nvar draggableComponent = {\n name: \"draggable\",\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n transitionMode: false,\n noneFunctionalComponentMode: false\n };\n },\n render: function render(h) {\n var slots = this.$slots.default;\n this.transitionMode = vuedraggable_isTransition(slots);\n\n var _computeChildrenAndOf = computeChildrenAndOffsets(slots, this.$slots, this.$scopedSlots),\n children = _computeChildrenAndOf.children,\n headerOffset = _computeChildrenAndOf.headerOffset,\n footerOffset = _computeChildrenAndOf.footerOffset;\n\n this.headerOffset = headerOffset;\n this.footerOffset = footerOffset;\n var attributes = getComponentAttributes(this.$attrs, this.componentData);\n return h(this.getTag(), attributes, children);\n },\n created: function created() {\n if (this.list !== null && this.value !== null) {\n helper[\"b\" /* console */].error(\"Value and list props are mutually exclusive! Please set one or another.\");\n }\n\n if (this.element !== \"div\") {\n helper[\"b\" /* console */].warn(\"Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props\");\n }\n\n if (this.options !== undefined) {\n helper[\"b\" /* console */].warn(\"Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props\");\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.noneFunctionalComponentMode = this.getTag().toLowerCase() !== this.$el.nodeName.toLowerCase() && !this.getIsFunctional();\n\n if (this.noneFunctionalComponentMode && this.transitionMode) {\n throw new Error(\"Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: \".concat(this.getTag()));\n }\n\n var optionsAdded = {};\n eventsListened.forEach(function (elt) {\n optionsAdded[\"on\" + elt] = delegateAndEmit.call(_this3, elt);\n });\n eventsToEmit.forEach(function (elt) {\n optionsAdded[\"on\" + elt] = emit.bind(_this3, elt);\n });\n var attributes = Object.keys(this.$attrs).reduce(function (res, key) {\n res[Object(helper[\"a\" /* camelize */])(key)] = _this3.$attrs[key];\n return res;\n }, {});\n var options = Object.assign({}, this.options, attributes, optionsAdded, {\n onMove: function onMove(evt, originalEvent) {\n return _this3.onDragMove(evt, originalEvent);\n }\n });\n !(\"draggable\" in options) && (options.draggable = \">*\");\n this._sortable = new external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default.a(this.rootContainer, options);\n this.computeIndexes();\n },\n beforeDestroy: function beforeDestroy() {\n if (this._sortable !== undefined) this._sortable.destroy();\n },\n computed: {\n rootContainer: function rootContainer() {\n return this.transitionMode ? this.$el.children[0] : this.$el;\n },\n realList: function realList() {\n return this.list ? this.list : this.value;\n }\n },\n watch: {\n options: {\n handler: function handler(newOptionValue) {\n this.updateOptions(newOptionValue);\n },\n deep: true\n },\n $attrs: {\n handler: function handler(newOptionValue) {\n this.updateOptions(newOptionValue);\n },\n deep: true\n },\n realList: function realList() {\n this.computeIndexes();\n }\n },\n methods: {\n getIsFunctional: function getIsFunctional() {\n var fnOptions = this._vnode.fnOptions;\n return fnOptions && fnOptions.functional;\n },\n getTag: function getTag() {\n return this.tag || this.element;\n },\n updateOptions: function updateOptions(newOptionValue) {\n for (var property in newOptionValue) {\n var value = Object(helper[\"a\" /* camelize */])(property);\n\n if (readonlyProperties.indexOf(value) === -1) {\n this._sortable.option(value, newOptionValue[property]);\n }\n }\n },\n getChildrenNodes: function getChildrenNodes() {\n if (this.noneFunctionalComponentMode) {\n return this.$children[0].$slots.default;\n }\n\n var rawNodes = this.$slots.default;\n return this.transitionMode ? rawNodes[0].child.$slots.default : rawNodes;\n },\n computeIndexes: function computeIndexes() {\n var _this4 = this;\n\n this.$nextTick(function () {\n _this4.visibleIndexes = _computeIndexes(_this4.getChildrenNodes(), _this4.rootContainer.children, _this4.transitionMode, _this4.footerOffset);\n });\n },\n getUnderlyingVm: function getUnderlyingVm(htmlElt) {\n var index = computeVmIndex(this.getChildrenNodes() || [], htmlElt);\n\n if (index === -1) {\n //Edge case during move callback: related element might be\n //an element different from collection\n return null;\n }\n\n var element = this.realList[index];\n return {\n index: index,\n element: element\n };\n },\n getUnderlyingPotencialDraggableComponent: function getUnderlyingPotencialDraggableComponent(_ref) {\n var vue = _ref.__vue__;\n\n if (!vue || !vue.$options || !isTransitionName(vue.$options._componentTag)) {\n if (!(\"realList\" in vue) && vue.$children.length === 1 && \"realList\" in vue.$children[0]) return vue.$children[0];\n return vue;\n }\n\n return vue.$parent;\n },\n emitChanges: function emitChanges(evt) {\n var _this5 = this;\n\n this.$nextTick(function () {\n _this5.$emit(\"change\", evt);\n });\n },\n alterList: function alterList(onList) {\n if (this.list) {\n onList(this.list);\n return;\n }\n\n var newList = _toConsumableArray(this.value);\n\n onList(newList);\n this.$emit(\"input\", newList);\n },\n spliceList: function spliceList() {\n var _arguments = arguments;\n\n var spliceList = function spliceList(list) {\n return list.splice.apply(list, _toConsumableArray(_arguments));\n };\n\n this.alterList(spliceList);\n },\n updatePosition: function updatePosition(oldIndex, newIndex) {\n var updatePosition = function updatePosition(list) {\n return list.splice(newIndex, 0, list.splice(oldIndex, 1)[0]);\n };\n\n this.alterList(updatePosition);\n },\n getRelatedContextFromMoveEvent: function getRelatedContextFromMoveEvent(_ref2) {\n var to = _ref2.to,\n related = _ref2.related;\n var component = this.getUnderlyingPotencialDraggableComponent(to);\n\n if (!component) {\n return {\n component: component\n };\n }\n\n var list = component.realList;\n var context = {\n list: list,\n component: component\n };\n\n if (to !== related && list && component.getUnderlyingVm) {\n var destination = component.getUnderlyingVm(related);\n\n if (destination) {\n return Object.assign(destination, context);\n }\n }\n\n return context;\n },\n getVmIndex: function getVmIndex(domIndex) {\n var indexes = this.visibleIndexes;\n var numberIndexes = indexes.length;\n return domIndex > numberIndexes - 1 ? numberIndexes : indexes[domIndex];\n },\n getComponent: function getComponent() {\n return this.$slots.default[0].componentInstance;\n },\n resetTransitionData: function resetTransitionData(index) {\n if (!this.noTransitionOnDrag || !this.transitionMode) {\n return;\n }\n\n var nodes = this.getChildrenNodes();\n nodes[index].data = null;\n var transitionContainer = this.getComponent();\n transitionContainer.children = [];\n transitionContainer.kept = undefined;\n },\n onDragStart: function onDragStart(evt) {\n this.context = this.getUnderlyingVm(evt.item);\n evt.item._underlying_vm_ = this.clone(this.context.element);\n draggingElement = evt.item;\n },\n onDragAdd: function onDragAdd(evt) {\n var element = evt.item._underlying_vm_;\n\n if (element === undefined) {\n return;\n }\n\n Object(helper[\"d\" /* removeNode */])(evt.item);\n var newIndex = this.getVmIndex(evt.newIndex);\n this.spliceList(newIndex, 0, element);\n this.computeIndexes();\n var added = {\n element: element,\n newIndex: newIndex\n };\n this.emitChanges({\n added: added\n });\n },\n onDragRemove: function onDragRemove(evt) {\n Object(helper[\"c\" /* insertNodeAt */])(this.rootContainer, evt.item, evt.oldIndex);\n\n if (evt.pullMode === \"clone\") {\n Object(helper[\"d\" /* removeNode */])(evt.clone);\n return;\n }\n\n var oldIndex = this.context.index;\n this.spliceList(oldIndex, 1);\n var removed = {\n element: this.context.element,\n oldIndex: oldIndex\n };\n this.resetTransitionData(oldIndex);\n this.emitChanges({\n removed: removed\n });\n },\n onDragUpdate: function onDragUpdate(evt) {\n Object(helper[\"d\" /* removeNode */])(evt.item);\n Object(helper[\"c\" /* insertNodeAt */])(evt.from, evt.item, evt.oldIndex);\n var oldIndex = this.context.index;\n var newIndex = this.getVmIndex(evt.newIndex);\n this.updatePosition(oldIndex, newIndex);\n var moved = {\n element: this.context.element,\n oldIndex: oldIndex,\n newIndex: newIndex\n };\n this.emitChanges({\n moved: moved\n });\n },\n updateProperty: function updateProperty(evt, propertyName) {\n evt.hasOwnProperty(propertyName) && (evt[propertyName] += this.headerOffset);\n },\n computeFutureIndex: function computeFutureIndex(relatedContext, evt) {\n if (!relatedContext.element) {\n return 0;\n }\n\n var domChildren = _toConsumableArray(evt.to.children).filter(function (el) {\n return el.style[\"display\"] !== \"none\";\n });\n\n var currentDOMIndex = domChildren.indexOf(evt.related);\n var currentIndex = relatedContext.component.getVmIndex(currentDOMIndex);\n var draggedInList = domChildren.indexOf(draggingElement) !== -1;\n return draggedInList || !evt.willInsertAfter ? currentIndex : currentIndex + 1;\n },\n onDragMove: function onDragMove(evt, originalEvent) {\n var onMove = this.move;\n\n if (!onMove || !this.realList) {\n return true;\n }\n\n var relatedContext = this.getRelatedContextFromMoveEvent(evt);\n var draggedContext = this.context;\n var futureIndex = this.computeFutureIndex(relatedContext, evt);\n Object.assign(draggedContext, {\n futureIndex: futureIndex\n });\n var sendEvt = Object.assign({}, evt, {\n relatedContext: relatedContext,\n draggedContext: draggedContext\n });\n return onMove(sendEvt, originalEvent);\n },\n onDragEnd: function onDragEnd() {\n this.computeIndexes();\n draggingElement = null;\n }\n }\n};\n\nif (typeof window !== \"undefined\" && \"Vue\" in window) {\n window.Vue.component(\"draggable\", draggableComponent);\n}\n\n/* harmony default export */ var vuedraggable = (draggableComponent);\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ var entry_lib = __webpack_exports__[\"default\"] = (vuedraggable);\n\n\n\n/***/ })\n\n/******/ })[\"default\"];\n});\n//# sourceMappingURL=vuedraggable.umd.js.map\n\n//# sourceURL=webpack:///./node_modules/vuedraggable/dist/vuedraggable.umd.js?");
/***/ }),
/***/ "./src/api/bpm/form.js":
/*!*****************************!*\
!*** ./src/api/bpm/form.js ***!
\*****************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createForm = createForm;\nexports.deleteForm = deleteForm;\nexports.getForm = getForm;\nexports.getFormPage = getFormPage;\nexports.getSimpleForms = getSimpleForms;\nexports.updateForm = updateForm;\n\nvar _request = _interopRequireDefault(__webpack_require__(/*! @/utils/request */ \"./src/utils/request.js\"));\n\n// 创建工作流的表单定义\nfunction createForm(data) {\n return (0, _request.default)({\n url: '/bpm/form/create',\n method: 'post',\n data: data\n });\n} // 更新工作流的表单定义\n\n\nfunction updateForm(data) {\n return (0, _request.default)({\n url: '/bpm/form/update',\n method: 'put',\n data: data\n });\n} // 删除工作流的表单定义\n\n\nfunction deleteForm(id) {\n return (0, _request.default)({\n url: '/bpm/form/delete?id=' + id,\n method: 'delete'\n });\n} // 获得工作流的表单定义\n\n\nfunction getForm(id) {\n return (0, _request.default)({\n url: '/bpm/form/get?id=' + id,\n method: 'get'\n });\n} // 获得工作流的表单定义分页\n\n\nfunction getFormPage(query) {\n return (0, _request.default)({\n url: '/bpm/form/page',\n method: 'get',\n params: query\n });\n} // 获得动态表单的精简列表\n\n\nfunction getSimpleForms() {\n return (0, _request.default)({\n url: '/bpm/form/list-all-simple',\n method: 'get'\n });\n}\n\n//# sourceURL=webpack:///./src/api/bpm/form.js?");
/***/ }),
/***/ "./src/components/generator/config.js":
/*!********************************************!*\
!*** ./src/components/generator/config.js ***!
\********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.selectComponents = exports.layoutComponents = exports.inputComponents = exports.formConf = void 0;\n// 表单属性【右面板】\nvar formConf = {\n formRef: 'elForm',\n formModel: 'formData',\n size: 'medium',\n labelPosition: 'right',\n labelWidth: 100,\n formRules: 'rules',\n gutter: 15,\n disabled: false,\n span: 24,\n formBtns: true\n}; // 输入型组件 【左面板】\n\nexports.formConf = formConf;\nvar inputComponents = [{\n // 组件的自定义配置\n __config__: {\n label: '单行文本',\n labelWidth: null,\n showLabel: true,\n changeTag: true,\n tag: 'el-input',\n tagIcon: 'input',\n defaultValue: undefined,\n required: true,\n layout: 'colFormItem',\n span: 24,\n document: 'https://element.eleme.cn/#/zh-CN/component/input',\n // 正则校验规则\n regList: []\n },\n // 组件的插槽属性\n __slot__: {\n prepend: '',\n append: ''\n },\n // 其余的为可直接写在组件标签上的属性\n placeholder: '请输入',\n style: {\n width: '100%'\n },\n clearable: true,\n 'prefix-icon': '',\n 'suffix-icon': '',\n maxlength: null,\n 'show-word-limit': false,\n readonly: false,\n disabled: false\n}, {\n __config__: {\n label: '多行文本',\n labelWidth: null,\n showLabel: true,\n tag: 'el-input',\n tagIcon: 'textarea',\n defaultValue: undefined,\n required: true,\n layout: 'colFormItem',\n span: 24,\n regList: [],\n changeTag: true,\n document: 'https://element.eleme.cn/#/zh-CN/component/input'\n },\n type: 'textarea',\n placeholder: '请输入',\n autosize: {\n minRows: 4,\n maxRows: 4\n },\n style: {\n width: '100%'\n },\n maxlength: null,\n 'show-word-limit': false,\n readonly: false,\n disabled: false\n}, {\n __config__: {\n label: '密码',\n showLabel: true,\n labelWidth: null,\n changeTag: true,\n tag: 'el-input',\n tagIcon: 'password',\n defaultValue: undefined,\n layout: 'colFormItem',\n span: 24,\n required: true,\n regList: [],\n document: 'https://element.eleme.cn/#/zh-CN/component/input'\n },\n __slot__: {\n prepend: '',\n append: ''\n },\n placeholder: '请输入',\n 'show-password': true,\n style: {\n width: '100%'\n },\n clearable: true,\n 'prefix-icon': '',\n 'suffix-icon': '',\n maxlength: null,\n 'show-word-limit': false,\n readonly: false,\n disabled: false\n}, {\n __config__: {\n label: '计数器',\n showLabel: true,\n changeTag: true,\n labelWidth: null,\n tag: 'el-input-number',\n tagIcon: 'number',\n defaultValue: undefined,\n span: 24,\n layout: 'colFormItem',\n required: true,\n regList: [],\n document: 'https://element.eleme.cn/#/zh-CN/component/input-number'\n },\n placeholder: '',\n min: undefined,\n max: undefined,\n step: 1,\n 'step-strictly': false,\n precision: undefined,\n 'controls-position': '',\n disabled: false\n}, {\n __config__: {\n label: '编辑器',\n showLabel: true,\n changeTag: true,\n labelWidth: null,\n tag: 'tinymce',\n tagIcon: 'rich-text',\n defaultValue: null,\n span: 24,\n layout: 'colFormItem',\n required: true,\n regList: [],\n document: 'http://tinymce.ax-z.cn'\n },\n placeholder: '请输入',\n height: 300,\n // 编辑器高度\n branding: false // 隐藏右下角品牌烙印\n\n}]; // 选择型组件 【左面板】\n\nexports.inputComponents = inputComponents;\nvar selectComponents = [{\n __config__: {\n label: '下拉选择',\n showLabel: true,\n labelWidth: null,\n tag: 'el-select',\n tagIcon: 'select',\n layout: 'colFormItem',\n span: 24,\n required: true,\n regList: [],\n changeTag: true,\n document: 'https://element.eleme.cn/#/zh-CN/component/select'\n },\n __slot__: {\n options: [{\n label: '选项一',\n value: 1\n }, {\n label: '选项二',\n value: 2\n }]\n },\n placeholder: '请选择',\n style: {\n width: '100%'\n },\n clearable: true,\n disabled: false,\n filterable: false,\n multiple: false\n}, {\n __config__: {\n label: '级联选择',\n url: 'https://www.fastmock.site/mock/f8d7a54fb1e60561e2f720d5a810009d/fg/cascaderList',\n method: 'get',\n dataPath: 'list',\n dataConsumer: 'options',\n showLabel: true,\n labelWidth: null,\n tag: 'el-cascader',\n tagIcon: 'cascader',\n layout: 'colFormItem',\n defaultValue: [],\n dataType: 'dynamic',\n span: 24,\n required: true,\n regList: [],\n changeTag: true,\n document: 'https://element.eleme.cn/#/zh-CN/component/cascader'\n },\n options: [{\n id: 1,\n value: 1,\n label: '选项1',\n children: [{\n id: 2,\n value: 2,\n label: '选项1-1'\n }]\n }],\n placeholder: '请选择',\n style: {\n width: '100%'\n },\n props: {\n props: {\n multiple: false,\n label: 'label',\n value: 'value',\n children: 'children'\n }\n },\n 'show-all-levels': true,\n disabled: false,\n clearable: true,\n filterable: false,\n separator: '/'\n}, {\n __config__: {\n label: '单选框组',\n labelWidth: null,\n showLabel: true,\n tag: 'el-radio-group',\n tagIcon: 'radio',\n changeTag: true,\n defaultValue: undefined,\n layout: 'colFormItem',\n span: 24,\n optionType: 'default',\n regList: [],\n required: true,\n border: false,\n document: 'https://element.eleme.cn/#/zh-CN/component/radio'\n },\n __slot__: {\n options: [{\n label: '选项一',\n value: 1\n }, {\n label: '选项二',\n value: 2\n }]\n },\n style: {},\n size: 'medium',\n disabled: false\n}, {\n __config__: {\n label: '多选框组',\n tag: 'el-checkbox-group',\n tagIcon: 'checkbox',\n defaultValue: [],\n span: 24,\n showLabel: true,\n labelWidth: null,\n layout: 'colFormItem',\n optionType: 'default',\n required: true,\n regList: [],\n changeTag: true,\n border: false,\n document: 'https://element.eleme.cn/#/zh-CN/component/checkbox'\n },\n __slot__: {\n options: [{\n label: '选项一',\n value: 1\n }, {\n label: '选项二',\n value: 2\n }]\n },\n style: {},\n size: 'medium',\n min: null,\n max: null,\n disabled: false\n}, {\n __config__: {\n label: '开关',\n tag: 'el-switch',\n tagIcon: 'switch',\n defaultValue: false,\n span: 24,\n showLabel: true,\n labelWidth: null,\n layout: 'colFormItem',\n required: true,\n regList: [],\n changeTag: true,\n document: 'https://element.eleme.cn/#/zh-CN/component/switch'\n },\n style: {},\n disabled: false,\n 'active-text': '',\n 'inactive-text': '',\n 'active-color': null,\n 'inactive-color': null,\n 'active-value': true,\n 'inactive-value': false\n}, {\n __config__: {\n label: '滑块',\n tag: 'el-slider',\n tagIcon: 'slider',\n defaultValue: null,\n span: 24,\n showLabel: true,\n layout: 'colFormItem',\n labelWidth: null,\n required: true,\n regList: [],\n changeTag: true,\n document: 'https://element.eleme.cn/#/zh-CN/component/slider'\n },\n disabled: false,\n min: 0,\n max: 100,\n step: 1,\n 'show-stops': false,\n range: false\n}, {\n __config__: {\n label: '时间选择',\n tag: 'el-time-picker',\n tagIcon: 'time',\n defaultValue: null,\n span: 24,\n showLabel: true,\n layout: 'colFormItem',\n labelWidth: null,\n required: true,\n regList: [],\n changeTag: true,\n document: 'https://element.eleme.cn/#/zh-CN/component/time-picker'\n },\n placeholder: '请选择',\n style: {\n width: '100%'\n },\n disabled: false,\n clearable: true,\n 'picker-options': {\n selectableRange: '00:00:00-23:59:59'\n },\n format: 'HH:mm:ss',\n 'value-format': 'HH:mm:ss'\n}, {\n __config__: {\n label: '时间范围',\n tag: 'el-time-picker',\n tagIcon: 'time-range',\n span: 24,\n showLabel: true,\n labelWidth: null,\n layout: 'colFormItem',\n defaultValue: null,\n required: true,\n regList: [],\n changeTag: true,\n document: 'https://element.eleme.cn/#/zh-CN/component/time-picker'\n },\n style: {\n width: '100%'\n },\n disabled: false,\n clearable: true,\n 'is-range': true,\n 'range-separator': '至',\n 'start-placeholder': '开始时间',\n 'end-placeholder': '结束时间',\n format: 'HH:mm:ss',\n 'value-format': 'HH:mm:ss'\n}, {\n __config__: {\n label: '日期选择',\n tag: 'el-date-picker',\n tagIcon: 'date',\n defaultValue: null,\n showLabel: true,\n labelWidth: null,\n span: 24,\n layout: 'colFormItem',\n required: true,\n regList: [],\n changeTag: true,\n document: 'https://element.eleme.cn/#/zh-CN/component/date-picker'\n },\n placeholder: '请选择',\n type: 'date',\n style: {\n width: '100%'\n },\n disabled: false,\n clearable: true,\n format: 'yyyy-MM-dd',\n 'value-format': 'yyyy-MM-dd',\n readonly: false\n}, {\n __config__: {\n label: '日期范围',\n tag: 'el-date-picker',\n tagIcon: 'date-range',\n defaultValue: null,\n span: 24,\n showLabel: true,\n labelWidth: null,\n required: true,\n layout: 'colFormItem',\n regList: [],\n changeTag: true,\n document: 'https://element.eleme.cn/#/zh-CN/component/date-picker'\n },\n style: {\n width: '100%'\n },\n type: 'daterange',\n 'range-separator': '至',\n 'start-placeholder': '开始日期',\n 'end-placeholder': '结束日期',\n disabled: false,\n clearable: true,\n format: 'yyyy-MM-dd',\n 'value-format': 'yyyy-MM-dd',\n readonly: false\n}, {\n __config__: {\n label: '评分',\n tag: 'el-rate',\n tagIcon: 'rate',\n defaultValue: 0,\n span: 24,\n showLabel: true,\n labelWidth: null,\n layout: 'colFormItem',\n required: true,\n regList: [],\n changeTag: true,\n document: 'https://element.eleme.cn/#/zh-CN/component/rate'\n },\n style: {},\n max: 5,\n 'allow-half': false,\n 'show-text': false,\n 'show-score': false,\n disabled: false\n}, {\n __config__: {\n label: '颜色选择',\n tag: 'el-color-picker',\n tagIcon: 'color',\n span: 24,\n defaultValue: null,\n showLabel: true,\n labelWidth: null,\n layout: 'colFormItem',\n required: true,\n regList: [],\n changeTag: true,\n document: 'https://element.eleme.cn/#/zh-CN/component/color-picker'\n },\n 'show-alpha': false,\n 'color-format': '',\n disabled: false,\n size: 'medium'\n}, {\n __config__: {\n label: '上传',\n tag: 'el-upload',\n tagIcon: 'upload',\n layout: 'colFormItem',\n defaultValue: null,\n showLabel: true,\n labelWidth: null,\n required: true,\n span: 24,\n showTip: false,\n buttonText: '点击上传',\n regList: [],\n changeTag: true,\n fileSize: 2,\n sizeUnit: 'MB',\n document: 'https://element.eleme.cn/#/zh-CN/component/upload'\n },\n __slot__: {\n 'list-type': true\n },\n action: 'https://jsonplaceholder.typicode.com/posts/',\n disabled: false,\n accept: '',\n name: 'file',\n 'auto-upload': true,\n 'list-type': 'text',\n multiple: false\n}]; // 布局型组件 【左面板】\n\nexports.selectComponents = selectComponents;\nvar layoutComponents = [{\n __config__: {\n layout: 'rowFormItem',\n tagIcon: 'row',\n label: '行容器',\n layoutTree: true,\n document: 'https://element.eleme.cn/#/zh-CN/component/layout#row-attributes'\n },\n type: 'default',\n justify: 'start',\n align: 'top'\n}, {\n __config__: {\n label: '按钮',\n showLabel: true,\n changeTag: true,\n labelWidth: null,\n tag: 'el-button',\n tagIcon: 'button',\n span: 24,\n layout: 'colFormItem',\n document: 'https://element.eleme.cn/#/zh-CN/component/button'\n },\n __slot__: {\n default: '主要按钮'\n },\n type: 'primary',\n icon: 'el-icon-search',\n round: false,\n size: 'medium',\n plain: false,\n circle: false,\n disabled: false\n}, {\n __config__: {\n layout: 'colFormItem',\n tagIcon: 'table',\n tag: 'el-table',\n document: 'https://element.eleme.cn/#/zh-CN/component/table',\n span: 24,\n formId: 101,\n renderKey: 1595761764203,\n componentName: 'row101',\n showLabel: true,\n changeTag: true,\n labelWidth: null,\n label: '表格[开发中]',\n dataType: 'dynamic',\n method: 'get',\n dataPath: 'list',\n dataConsumer: 'data',\n url: 'https://www.fastmock.site/mock/f8d7a54fb1e60561e2f720d5a810009d/fg/tableData',\n children: [{\n __config__: {\n layout: 'raw',\n tag: 'el-table-column',\n renderKey: 15957617660153\n },\n prop: 'date',\n label: '日期'\n }, {\n __config__: {\n layout: 'raw',\n tag: 'el-table-column',\n renderKey: 15957617660152\n },\n prop: 'address',\n label: '地址'\n }, {\n __config__: {\n layout: 'raw',\n tag: 'el-table-column',\n renderKey: 15957617660151\n },\n prop: 'name',\n label: '名称'\n }, {\n __config__: {\n layout: 'raw',\n tag: 'el-table-column',\n renderKey: 1595774496335,\n children: [{\n __config__: {\n label: '按钮',\n tag: 'el-button',\n tagIcon: 'button',\n layout: 'raw',\n renderKey: 1595779809901\n },\n __slot__: {\n default: '主要按钮'\n },\n type: 'primary',\n icon: 'el-icon-search',\n round: false,\n size: 'medium'\n }]\n },\n label: '操作'\n }]\n },\n data: [],\n directives: [{\n name: 'loading',\n value: true\n }],\n border: true,\n type: 'default',\n justify: 'start',\n align: 'top'\n}];\nexports.layoutComponents = layoutComponents;\n\n//# sourceURL=webpack:///./src/components/generator/config.js?");
/***/ }),
/***/ "./src/components/generator/css.js":
/*!*****************************************!*\
!*** ./src/components/generator/css.js ***!
\*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.makeUpCss = makeUpCss;\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n\nvar styles = {\n 'el-rate': '.el-rate{display: inline-block; vertical-align: text-top;}',\n 'el-upload': '.el-upload__tip{line-height: 1.2;}'\n};\n\nfunction addCss(cssList, el) {\n var css = styles[el.__config__.tag];\n css && cssList.indexOf(css) === -1 && cssList.push(css);\n\n if (el.__config__.children) {\n el.__config__.children.forEach(function (el2) {\n return addCss(cssList, el2);\n });\n }\n}\n\nfunction makeUpCss(conf) {\n var cssList = [];\n conf.fields.forEach(function (el) {\n return addCss(cssList, el);\n });\n return cssList.join('\\n');\n}\n\n//# sourceURL=webpack:///./src/components/generator/css.js?");
/***/ }),
/***/ "./src/components/generator/drawingDefalut.js":
/*!****************************************************!*\
!*** ./src/components/generator/drawingDefalut.js ***!
\****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = [{\n __config__: {\n label: '单行文本',\n labelWidth: null,\n showLabel: true,\n changeTag: true,\n tag: 'el-input',\n tagIcon: 'input',\n defaultValue: undefined,\n required: true,\n layout: 'colFormItem',\n span: 24,\n document: 'https://element.eleme.cn/#/zh-CN/component/input',\n // 正则校验规则\n regList: [{\n pattern: '/^1(3|4|5|7|8|9)\\\\d{9}$/',\n message: '手机号格式错误'\n }]\n },\n // 组件的插槽属性\n __slot__: {\n prepend: '',\n append: ''\n },\n __vModel__: 'mobile',\n placeholder: '请输入手机号',\n style: {\n width: '100%'\n },\n clearable: true,\n 'prefix-icon': 'el-icon-mobile',\n 'suffix-icon': '',\n maxlength: 11,\n 'show-word-limit': true,\n readonly: false,\n disabled: false\n}];\nexports.default = _default;\n\n//# sourceURL=webpack:///./src/components/generator/drawingDefalut.js?");
/***/ }),
/***/ "./src/components/generator/html.js":
/*!******************************************!*\
!*** ./src/components/generator/html.js ***!
\******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.cssStyle = cssStyle;\nexports.dialogWrapper = dialogWrapper;\nexports.makeUpHtml = makeUpHtml;\nexports.vueScript = vueScript;\nexports.vueTemplate = vueTemplate;\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\nvar _ruleTrigger = _interopRequireDefault(__webpack_require__(/*! ./ruleTrigger */ \"./src/components/generator/ruleTrigger.js\"));\n\n/* eslint-disable max-len */\nvar confGlobal;\nvar someSpanIsNot24;\n\nfunction dialogWrapper(str) {\n return \"<el-dialog v-bind=\\\"$attrs\\\" v-on=\\\"$listeners\\\" @open=\\\"onOpen\\\" @close=\\\"onClose\\\" title=\\\"Dialog Titile\\\">\\n \".concat(str, \"\\n <div slot=\\\"footer\\\">\\n <el-button @click=\\\"close\\\">\\u53D6\\u6D88</el-button>\\n <el-button type=\\\"primary\\\" @click=\\\"handelConfirm\\\">\\u786E\\u5B9A</el-button>\\n </div>\\n </el-dialog>\");\n}\n\nfunction vueTemplate(str) {\n return \"<template>\\n <div>\\n \".concat(str, \"\\n </div>\\n </template>\");\n}\n\nfunction vueScript(str) {\n return \"<script>\\n \".concat(str, \"\\n </script>\");\n}\n\nfunction cssStyle(cssStr) {\n return \"<style>\\n \".concat(cssStr, \"\\n </style>\");\n}\n\nfunction buildFormTemplate(scheme, child, type) {\n var labelPosition = '';\n\n if (scheme.labelPosition !== 'right') {\n labelPosition = \"label-position=\\\"\".concat(scheme.labelPosition, \"\\\"\");\n }\n\n var disabled = scheme.disabled ? \":disabled=\\\"\".concat(scheme.disabled, \"\\\"\") : '';\n var str = \"<el-form ref=\\\"\".concat(scheme.formRef, \"\\\" :model=\\\"\").concat(scheme.formModel, \"\\\" :rules=\\\"\").concat(scheme.formRules, \"\\\" size=\\\"\").concat(scheme.size, \"\\\" \").concat(disabled, \" label-width=\\\"\").concat(scheme.labelWidth, \"px\\\" \").concat(labelPosition, \">\\n \").concat(child, \"\\n \").concat(buildFromBtns(scheme, type), \"\\n </el-form>\");\n\n if (someSpanIsNot24) {\n str = \"<el-row :gutter=\\\"\".concat(scheme.gutter, \"\\\">\\n \").concat(str, \"\\n </el-row>\");\n }\n\n return str;\n}\n\nfunction buildFromBtns(scheme, type) {\n var str = '';\n\n if (scheme.formBtns && type === 'file') {\n str = \"<el-form-item size=\\\"large\\\">\\n <el-button type=\\\"primary\\\" @click=\\\"submitForm\\\">\\u63D0\\u4EA4</el-button>\\n <el-button @click=\\\"resetForm\\\">\\u91CD\\u7F6E</el-button>\\n </el-form-item>\";\n\n if (someSpanIsNot24) {\n str = \"<el-col :span=\\\"24\\\">\\n \".concat(str, \"\\n </el-col>\");\n }\n }\n\n return str;\n} // span不为24的用el-col包裹\n\n\nfunction colWrapper(scheme, str) {\n if (someSpanIsNot24 || scheme.__config__.span !== 24) {\n return \"<el-col :span=\\\"\".concat(scheme.__config__.span, \"\\\">\\n \").concat(str, \"\\n </el-col>\");\n }\n\n return str;\n}\n\nvar layouts = {\n colFormItem: function colFormItem(scheme) {\n var config = scheme.__config__;\n var labelWidth = '';\n var label = \"label=\\\"\".concat(config.label, \"\\\"\");\n\n if (config.labelWidth && config.labelWidth !== confGlobal.labelWidth) {\n labelWidth = \"label-width=\\\"\".concat(config.labelWidth, \"px\\\"\");\n }\n\n if (config.showLabel === false) {\n labelWidth = 'label-width=\"0\"';\n label = '';\n }\n\n var required = !_ruleTrigger.default[config.tag] && config.required ? 'required' : '';\n var tagDom = tags[config.tag] ? tags[config.tag](scheme) : null;\n var str = \"<el-form-item \".concat(labelWidth, \" \").concat(label, \" prop=\\\"\").concat(scheme.__vModel__, \"\\\" \").concat(required, \">\\n \").concat(tagDom, \"\\n </el-form-item>\");\n str = colWrapper(scheme, str);\n return str;\n },\n rowFormItem: function rowFormItem(scheme) {\n var config = scheme.__config__;\n var type = scheme.type === 'default' ? '' : \"type=\\\"\".concat(scheme.type, \"\\\"\");\n var justify = scheme.type === 'default' ? '' : \"justify=\\\"\".concat(scheme.justify, \"\\\"\");\n var align = scheme.type === 'default' ? '' : \"align=\\\"\".concat(scheme.align, \"\\\"\");\n var gutter = scheme.gutter ? \":gutter=\\\"\".concat(scheme.gutter, \"\\\"\") : '';\n var children = config.children.map(function (el) {\n return layouts[el.__config__.layout](el);\n });\n var str = \"<el-row \".concat(type, \" \").concat(justify, \" \").concat(align, \" \").concat(gutter, \">\\n \").concat(children.join('\\n'), \"\\n </el-row>\");\n str = colWrapper(scheme, str);\n return str;\n }\n};\nvar tags = {\n 'el-button': function elButton(el) {\n var _attrBuilder = attrBuilder(el),\n tag = _attrBuilder.tag,\n disabled = _attrBuilder.disabled;\n\n var type = el.type ? \"type=\\\"\".concat(el.type, \"\\\"\") : '';\n var icon = el.icon ? \"icon=\\\"\".concat(el.icon, \"\\\"\") : '';\n var round = el.round ? 'round' : '';\n var size = el.size ? \"size=\\\"\".concat(el.size, \"\\\"\") : '';\n var plain = el.plain ? 'plain' : '';\n var circle = el.circle ? 'circle' : '';\n var child = buildElButtonChild(el);\n if (child) child = \"\\n\".concat(child, \"\\n\"); // 换行\n\n return \"<\".concat(tag, \" \").concat(type, \" \").concat(icon, \" \").concat(round, \" \").concat(size, \" \").concat(plain, \" \").concat(disabled, \" \").concat(circle, \">\").concat(child, \"</\").concat(tag, \">\");\n },\n 'el-input': function elInput(el) {\n var _attrBuilder2 = attrBuilder(el),\n tag = _attrBuilder2.tag,\n disabled = _attrBuilder2.disabled,\n vModel = _attrBuilder2.vModel,\n clearable = _attrBuilder2.clearable,\n placeholder = _attrBuilder2.placeholder,\n width = _attrBuilder2.width;\n\n var maxlength = el.maxlength ? \":maxlength=\\\"\".concat(el.maxlength, \"\\\"\") : '';\n var showWordLimit = el['show-word-limit'] ? 'show-word-limit' : '';\n var readonly = el.readonly ? 'readonly' : '';\n var prefixIcon = el['prefix-icon'] ? \"prefix-icon='\".concat(el['prefix-icon'], \"'\") : '';\n var suffixIcon = el['suffix-icon'] ? \"suffix-icon='\".concat(el['suffix-icon'], \"'\") : '';\n var showPassword = el['show-password'] ? 'show-password' : '';\n var type = el.type ? \"type=\\\"\".concat(el.type, \"\\\"\") : '';\n var autosize = el.autosize && el.autosize.minRows ? \":autosize=\\\"{minRows: \".concat(el.autosize.minRows, \", maxRows: \").concat(el.autosize.maxRows, \"}\\\"\") : '';\n var child = buildElInputChild(el);\n if (child) child = \"\\n\".concat(child, \"\\n\"); // 换行\n\n return \"<\".concat(tag, \" \").concat(vModel, \" \").concat(type, \" \").concat(placeholder, \" \").concat(maxlength, \" \").concat(showWordLimit, \" \").concat(readonly, \" \").concat(disabled, \" \").concat(clearable, \" \").concat(prefixIcon, \" \").concat(suffixIcon, \" \").concat(showPassword, \" \").concat(autosize, \" \").concat(width, \">\").concat(child, \"</\").concat(tag, \">\");\n },\n 'el-input-number': function elInputNumber(el) {\n var _attrBuilder3 = attrBuilder(el),\n tag = _attrBuilder3.tag,\n disabled = _attrBuilder3.disabled,\n vModel = _attrBuilder3.vModel,\n placeholder = _attrBuilder3.placeholder;\n\n var controlsPosition = el['controls-position'] ? \"controls-position=\".concat(el['controls-position']) : '';\n var min = el.min ? \":min='\".concat(el.min, \"'\") : '';\n var max = el.max ? \":max='\".concat(el.max, \"'\") : '';\n var step = el.step ? \":step='\".concat(el.step, \"'\") : '';\n var stepStrictly = el['step-strictly'] ? 'step-strictly' : '';\n var precision = el.precision ? \":precision='\".concat(el.precision, \"'\") : '';\n return \"<\".concat(tag, \" \").concat(vModel, \" \").concat(placeholder, \" \").concat(step, \" \").concat(stepStrictly, \" \").concat(precision, \" \").concat(controlsPosition, \" \").concat(min, \" \").concat(max, \" \").concat(disabled, \"></\").concat(tag, \">\");\n },\n 'el-select': function elSelect(el) {\n var _attrBuilder4 = attrBuilder(el),\n tag = _attrBuilder4.tag,\n disabled = _attrBuilder4.disabled,\n vModel = _attrBuilder4.vModel,\n clearable = _attrBuilder4.clearable,\n placeholder = _attrBuilder4.placeholder,\n width = _attrBuilder4.width;\n\n var filterable = el.filterable ? 'filterable' : '';\n var multiple = el.multiple ? 'multiple' : '';\n var child = buildElSelectChild(el);\n if (child) child = \"\\n\".concat(child, \"\\n\"); // 换行\n\n return \"<\".concat(tag, \" \").concat(vModel, \" \").concat(placeholder, \" \").concat(disabled, \" \").concat(multiple, \" \").concat(filterable, \" \").concat(clearable, \" \").concat(width, \">\").concat(child, \"</\").concat(tag, \">\");\n },\n 'el-radio-group': function elRadioGroup(el) {\n var _attrBuilder5 = attrBuilder(el),\n tag = _attrBuilder5.tag,\n disabled = _attrBuilder5.disabled,\n vModel = _attrBuilder5.vModel;\n\n var size = \"size=\\\"\".concat(el.size, \"\\\"\");\n var child = buildElRadioGroupChild(el);\n if (child) child = \"\\n\".concat(child, \"\\n\"); // 换行\n\n return \"<\".concat(tag, \" \").concat(vModel, \" \").concat(size, \" \").concat(disabled, \">\").concat(child, \"</\").concat(tag, \">\");\n },\n 'el-checkbox-group': function elCheckboxGroup(el) {\n var _attrBuilder6 = attrBuilder(el),\n tag = _attrBuilder6.tag,\n disabled = _attrBuilder6.disabled,\n vModel = _attrBuilder6.vModel;\n\n var size = \"size=\\\"\".concat(el.size, \"\\\"\");\n var min = el.min ? \":min=\\\"\".concat(el.min, \"\\\"\") : '';\n var max = el.max ? \":max=\\\"\".concat(el.max, \"\\\"\") : '';\n var child = buildElCheckboxGroupChild(el);\n if (child) child = \"\\n\".concat(child, \"\\n\"); // 换行\n\n return \"<\".concat(tag, \" \").concat(vModel, \" \").concat(min, \" \").concat(max, \" \").concat(size, \" \").concat(disabled, \">\").concat(child, \"</\").concat(tag, \">\");\n },\n 'el-switch': function elSwitch(el) {\n var _attrBuilder7 = attrBuilder(el),\n tag = _attrBuilder7.tag,\n disabled = _attrBuilder7.disabled,\n vModel = _attrBuilder7.vModel;\n\n var activeText = el['active-text'] ? \"active-text=\\\"\".concat(el['active-text'], \"\\\"\") : '';\n var inactiveText = el['inactive-text'] ? \"inactive-text=\\\"\".concat(el['inactive-text'], \"\\\"\") : '';\n var activeColor = el['active-color'] ? \"active-color=\\\"\".concat(el['active-color'], \"\\\"\") : '';\n var inactiveColor = el['inactive-color'] ? \"inactive-color=\\\"\".concat(el['inactive-color'], \"\\\"\") : '';\n var activeValue = el['active-value'] !== true ? \":active-value='\".concat(JSON.stringify(el['active-value']), \"'\") : '';\n var inactiveValue = el['inactive-value'] !== false ? \":inactive-value='\".concat(JSON.stringify(el['inactive-value']), \"'\") : '';\n return \"<\".concat(tag, \" \").concat(vModel, \" \").concat(activeText, \" \").concat(inactiveText, \" \").concat(activeColor, \" \").concat(inactiveColor, \" \").concat(activeValue, \" \").concat(inactiveValue, \" \").concat(disabled, \"></\").concat(tag, \">\");\n },\n 'el-cascader': function elCascader(el) {\n var _attrBuilder8 = attrBuilder(el),\n tag = _attrBuilder8.tag,\n disabled = _attrBuilder8.disabled,\n vModel = _attrBuilder8.vModel,\n clearable = _attrBuilder8.clearable,\n placeholder = _attrBuilder8.placeholder,\n width = _attrBuilder8.width;\n\n var options = el.options ? \":options=\\\"\".concat(el.__vModel__, \"Options\\\"\") : '';\n var props = el.props ? \":props=\\\"\".concat(el.__vModel__, \"Props\\\"\") : '';\n var showAllLevels = el['show-all-levels'] ? '' : ':show-all-levels=\"false\"';\n var filterable = el.filterable ? 'filterable' : '';\n var separator = el.separator === '/' ? '' : \"separator=\\\"\".concat(el.separator, \"\\\"\");\n return \"<\".concat(tag, \" \").concat(vModel, \" \").concat(options, \" \").concat(props, \" \").concat(width, \" \").concat(showAllLevels, \" \").concat(placeholder, \" \").concat(separator, \" \").concat(filterable, \" \").concat(clearable, \" \").concat(disabled, \"></\").concat(tag, \">\");\n },\n 'el-slider': function elSlider(el) {\n var _attrBuilder9 = attrBuilder(el),\n tag = _attrBuilder9.tag,\n disabled = _attrBuilder9.disabled,\n vModel = _attrBuilder9.vModel;\n\n var min = el.min ? \":min='\".concat(el.min, \"'\") : '';\n var max = el.max ? \":max='\".concat(el.max, \"'\") : '';\n var step = el.step ? \":step='\".concat(el.step, \"'\") : '';\n var range = el.range ? 'range' : '';\n var showStops = el['show-stops'] ? \":show-stops=\\\"\".concat(el['show-stops'], \"\\\"\") : '';\n return \"<\".concat(tag, \" \").concat(min, \" \").concat(max, \" \").concat(step, \" \").concat(vModel, \" \").concat(range, \" \").concat(showStops, \" \").concat(disabled, \"></\").concat(tag, \">\");\n },\n 'el-time-picker': function elTimePicker(el) {\n var _attrBuilder10 = attrBuilder(el),\n tag = _attrBuilder10.tag,\n disabled = _attrBuilder10.disabled,\n vModel = _attrBuilder10.vModel,\n clearable = _attrBuilder10.clearable,\n placeholder = _attrBuilder10.placeholder,\n width = _attrBuilder10.width;\n\n var startPlaceholder = el['start-placeholder'] ? \"start-placeholder=\\\"\".concat(el['start-placeholder'], \"\\\"\") : '';\n var endPlaceholder = el['end-placeholder'] ? \"end-placeholder=\\\"\".concat(el['end-placeholder'], \"\\\"\") : '';\n var rangeSeparator = el['range-separator'] ? \"range-separator=\\\"\".concat(el['range-separator'], \"\\\"\") : '';\n var isRange = el['is-range'] ? 'is-range' : '';\n var format = el.format ? \"format=\\\"\".concat(el.format, \"\\\"\") : '';\n var valueFormat = el['value-format'] ? \"value-format=\\\"\".concat(el['value-format'], \"\\\"\") : '';\n var pickerOptions = el['picker-options'] ? \":picker-options='\".concat(JSON.stringify(el['picker-options']), \"'\") : '';\n return \"<\".concat(tag, \" \").concat(vModel, \" \").concat(isRange, \" \").concat(format, \" \").concat(valueFormat, \" \").concat(pickerOptions, \" \").concat(width, \" \").concat(placeholder, \" \").concat(startPlaceholder, \" \").concat(endPlaceholder, \" \").concat(rangeSeparator, \" \").concat(clearable, \" \").concat(disabled, \"></\").concat(tag, \">\");\n },\n 'el-date-picker': function elDatePicker(el) {\n var _attrBuilder11 = attrBuilder(el),\n tag = _attrBuilder11.tag,\n disabled = _attrBuilder11.disabled,\n vModel = _attrBuilder11.vModel,\n clearable = _attrBuilder11.clearable,\n placeholder = _attrBuilder11.placeholder,\n width = _attrBuilder11.width;\n\n var startPlaceholder = el['start-placeholder'] ? \"start-placeholder=\\\"\".concat(el['start-placeholder'], \"\\\"\") : '';\n var endPlaceholder = el['end-placeholder'] ? \"end-placeholder=\\\"\".concat(el['end-placeholder'], \"\\\"\") : '';\n var rangeSeparator = el['range-separator'] ? \"range-separator=\\\"\".concat(el['range-separator'], \"\\\"\") : '';\n var format = el.format ? \"format=\\\"\".concat(el.format, \"\\\"\") : '';\n var valueFormat = el['value-format'] ? \"value-format=\\\"\".concat(el['value-format'], \"\\\"\") : '';\n var type = el.type === 'date' ? '' : \"type=\\\"\".concat(el.type, \"\\\"\");\n var readonly = el.readonly ? 'readonly' : '';\n return \"<\".concat(tag, \" \").concat(type, \" \").concat(vModel, \" \").concat(format, \" \").concat(valueFormat, \" \").concat(width, \" \").concat(placeholder, \" \").concat(startPlaceholder, \" \").concat(endPlaceholder, \" \").concat(rangeSeparator, \" \").concat(clearable, \" \").concat(readonly, \" \").concat(disabled, \"></\").concat(tag, \">\");\n },\n 'el-rate': function elRate(el) {\n var _attrBuilder12 = attrBuilder(el),\n tag = _attrBuilder12.tag,\n disabled = _attrBuilder12.disabled,\n vModel = _attrBuilder12.vModel;\n\n var max = el.max ? \":max='\".concat(el.max, \"'\") : '';\n var allowHalf = el['allow-half'] ? 'allow-half' : '';\n var showText = el['show-text'] ? 'show-text' : '';\n var showScore = el['show-score'] ? 'show-score' : '';\n return \"<\".concat(tag, \" \").concat(vModel, \" \").concat(max, \" \").concat(allowHalf, \" \").concat(showText, \" \").concat(showScore, \" \").concat(disabled, \"></\").concat(tag, \">\");\n },\n 'el-color-picker': function elColorPicker(el) {\n var _attrBuilder13 = attrBuilder(el),\n tag = _attrBuilder13.tag,\n disabled = _attrBuilder13.disabled,\n vModel = _attrBuilder13.vModel;\n\n var size = \"size=\\\"\".concat(el.size, \"\\\"\");\n var showAlpha = el['show-alpha'] ? 'show-alpha' : '';\n var colorFormat = el['color-format'] ? \"color-format=\\\"\".concat(el['color-format'], \"\\\"\") : '';\n return \"<\".concat(tag, \" \").concat(vModel, \" \").concat(size, \" \").concat(showAlpha, \" \").concat(colorFormat, \" \").concat(disabled, \"></\").concat(tag, \">\");\n },\n 'el-upload': function elUpload(el) {\n var tag = el.__config__.tag;\n var disabled = el.disabled ? ':disabled=\\'true\\'' : '';\n var action = el.action ? \":action=\\\"\".concat(el.__vModel__, \"Action\\\"\") : '';\n var multiple = el.multiple ? 'multiple' : '';\n var listType = el['list-type'] !== 'text' ? \"list-type=\\\"\".concat(el['list-type'], \"\\\"\") : '';\n var accept = el.accept ? \"accept=\\\"\".concat(el.accept, \"\\\"\") : '';\n var name = el.name !== 'file' ? \"name=\\\"\".concat(el.name, \"\\\"\") : '';\n var autoUpload = el['auto-upload'] === false ? ':auto-upload=\"false\"' : '';\n var beforeUpload = \":before-upload=\\\"\".concat(el.__vModel__, \"BeforeUpload\\\"\");\n var fileList = \":file-list=\\\"\".concat(el.__vModel__, \"fileList\\\"\");\n var ref = \"ref=\\\"\".concat(el.__vModel__, \"\\\"\");\n var child = buildElUploadChild(el);\n if (child) child = \"\\n\".concat(child, \"\\n\"); // 换行\n\n return \"<\".concat(tag, \" \").concat(ref, \" \").concat(fileList, \" \").concat(action, \" \").concat(autoUpload, \" \").concat(multiple, \" \").concat(beforeUpload, \" \").concat(listType, \" \").concat(accept, \" \").concat(name, \" \").concat(disabled, \">\").concat(child, \"</\").concat(tag, \">\");\n },\n tinymce: function tinymce(el) {\n var _attrBuilder14 = attrBuilder(el),\n tag = _attrBuilder14.tag,\n vModel = _attrBuilder14.vModel,\n placeholder = _attrBuilder14.placeholder;\n\n var height = el.height ? \":height=\\\"\".concat(el.height, \"\\\"\") : '';\n var branding = el.branding ? \":branding=\\\"\".concat(el.branding, \"\\\"\") : '';\n return \"<\".concat(tag, \" \").concat(vModel, \" \").concat(placeholder, \" \").concat(height, \" \").concat(branding, \"></\").concat(tag, \">\");\n }\n};\n\nfunction attrBuilder(el) {\n return {\n tag: el.__config__.tag,\n vModel: \"v-model=\\\"\".concat(confGlobal.formModel, \".\").concat(el.__vModel__, \"\\\"\"),\n clearable: el.clearable ? 'clearable' : '',\n placeholder: el.placeholder ? \"placeholder=\\\"\".concat(el.placeholder, \"\\\"\") : '',\n width: el.style && el.style.width ? ':style=\"{width: \\'100%\\'}\"' : '',\n disabled: el.disabled ? ':disabled=\\'true\\'' : ''\n };\n} // el-buttin 子级\n\n\nfunction buildElButtonChild(scheme) {\n var children = [];\n var slot = scheme.__slot__ || {};\n\n if (slot.default) {\n children.push(slot.default);\n }\n\n return children.join('\\n');\n} // el-input 子级\n\n\nfunction buildElInputChild(scheme) {\n var children = [];\n var slot = scheme.__slot__;\n\n if (slot && slot.prepend) {\n children.push(\"<template slot=\\\"prepend\\\">\".concat(slot.prepend, \"</template>\"));\n }\n\n if (slot && slot.append) {\n children.push(\"<template slot=\\\"append\\\">\".concat(slot.append, \"</template>\"));\n }\n\n return children.join('\\n');\n} // el-select 子级\n\n\nfunction buildElSelectChild(scheme) {\n var children = [];\n var slot = scheme.__slot__;\n\n if (slot && slot.options && slot.options.length) {\n children.push(\"<el-option v-for=\\\"(item, index) in \".concat(scheme.__vModel__, \"Options\\\" :key=\\\"index\\\" :label=\\\"item.label\\\" :value=\\\"item.value\\\" :disabled=\\\"item.disabled\\\"></el-option>\"));\n }\n\n return children.join('\\n');\n} // el-radio-group 子级\n\n\nfunction buildElRadioGroupChild(scheme) {\n var children = [];\n var slot = scheme.__slot__;\n var config = scheme.__config__;\n\n if (slot && slot.options && slot.options.length) {\n var tag = config.optionType === 'button' ? 'el-radio-button' : 'el-radio';\n var border = config.border ? 'border' : '';\n children.push(\"<\".concat(tag, \" v-for=\\\"(item, index) in \").concat(scheme.__vModel__, \"Options\\\" :key=\\\"index\\\" :label=\\\"item.value\\\" :disabled=\\\"item.disabled\\\" \").concat(border, \">{{item.label}}</\").concat(tag, \">\"));\n }\n\n return children.join('\\n');\n} // el-checkbox-group 子级\n\n\nfunction buildElCheckboxGroupChild(scheme) {\n var children = [];\n var slot = scheme.__slot__;\n var config = scheme.__config__;\n\n if (slot && slot.options && slot.options.length) {\n var tag = config.optionType === 'button' ? 'el-checkbox-button' : 'el-checkbox';\n var border = config.border ? 'border' : '';\n children.push(\"<\".concat(tag, \" v-for=\\\"(item, index) in \").concat(scheme.__vModel__, \"Options\\\" :key=\\\"index\\\" :label=\\\"item.value\\\" :disabled=\\\"item.disabled\\\" \").concat(border, \">{{item.label}}</\").concat(tag, \">\"));\n }\n\n return children.join('\\n');\n} // el-upload 子级\n\n\nfunction buildElUploadChild(scheme) {\n var list = [];\n var config = scheme.__config__;\n if (scheme['list-type'] === 'picture-card') list.push('<i class=\"el-icon-plus\"></i>');else list.push(\"<el-button size=\\\"small\\\" type=\\\"primary\\\" icon=\\\"el-icon-upload\\\">\".concat(config.buttonText, \"</el-button>\"));\n if (config.showTip) list.push(\"<div slot=\\\"tip\\\" class=\\\"el-upload__tip\\\">\\u53EA\\u80FD\\u4E0A\\u4F20\\u4E0D\\u8D85\\u8FC7 \".concat(config.fileSize).concat(config.sizeUnit, \" \\u7684\").concat(scheme.accept, \"\\u6587\\u4EF6</div>\"));\n return list.join('\\n');\n}\n/**\n * 组装html代码。【入口函数】\n * @param {Object} formConfig 整个表单配置\n * @param {String} type 生成类型,文件或弹窗等\n */\n\n\nfunction makeUpHtml(formConfig, type) {\n var htmlList = [];\n confGlobal = formConfig; // 判断布局是否都沾满了24个栅格以备后续简化代码结构\n\n someSpanIsNot24 = formConfig.fields.some(function (item) {\n return item.__config__.span !== 24;\n }); // 遍历渲染每个组件成html\n\n formConfig.fields.forEach(function (el) {\n htmlList.push(layouts[el.__config__.layout](el));\n });\n var htmlStr = htmlList.join('\\n'); // 将组件代码放进form标签\n\n var temp = buildFormTemplate(formConfig, htmlStr, type); // dialog标签包裹代码\n\n if (type === 'dialog') {\n temp = dialogWrapper(temp);\n }\n\n confGlobal = null;\n return temp;\n}\n\n//# sourceURL=webpack:///./src/components/generator/html.js?");
/***/ }),
/***/ "./src/components/generator/js.js":
/*!****************************************!*\
!*** ./src/components/generator/js.js ***!
\****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.makeUpJs = makeUpJs;\n\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n\n__webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n\n__webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n\nvar _util = __webpack_require__(/*! util */ \"./node_modules/util/util.js\");\n\nvar _index = __webpack_require__(/*! @/utils/index */ \"./src/utils/index.js\");\n\nvar _ruleTrigger = _interopRequireDefault(__webpack_require__(/*! ./ruleTrigger */ \"./src/components/generator/ruleTrigger.js\"));\n\nvar units = {\n KB: '1024',\n MB: '1024 / 1024',\n GB: '1024 / 1024 / 1024'\n};\nvar confGlobal;\nvar inheritAttrs = {\n file: '',\n dialog: 'inheritAttrs: false,'\n};\n/**\n * 组装js 【入口函数】\n * @param {Object} formConfig 整个表单配置\n * @param {String} type 生成类型,文件或弹窗等\n */\n\nfunction makeUpJs(formConfig, type) {\n confGlobal = formConfig = (0, _index.deepClone)(formConfig);\n var dataList = [];\n var ruleList = [];\n var optionsList = [];\n var propsList = [];\n var methodList = mixinMethod(type);\n var uploadVarList = [];\n var created = [];\n formConfig.fields.forEach(function (el) {\n buildAttributes(el, dataList, ruleList, optionsList, methodList, propsList, uploadVarList, created);\n });\n var script = buildexport(formConfig, type, dataList.join('\\n'), ruleList.join('\\n'), optionsList.join('\\n'), uploadVarList.join('\\n'), propsList.join('\\n'), methodList.join('\\n'), created.join('\\n'));\n confGlobal = null;\n return script;\n} // 构建组件属性\n\n\nfunction buildAttributes(scheme, dataList, ruleList, optionsList, methodList, propsList, uploadVarList, created) {\n var config = scheme.__config__;\n var slot = scheme.__slot__;\n buildData(scheme, dataList);\n buildRules(scheme, ruleList); // 特殊处理options属性\n\n if (scheme.options || slot && slot.options && slot.options.length) {\n buildOptions(scheme, optionsList);\n\n if (config.dataType === 'dynamic') {\n var model = \"\".concat(scheme.__vModel__, \"Options\");\n var options = (0, _index.titleCase)(model);\n var methodName = \"get\".concat(options);\n buildOptionMethod(methodName, model, methodList, scheme);\n callInCreated(methodName, created);\n }\n } // 处理props\n\n\n if (scheme.props && scheme.props.props) {\n buildProps(scheme, propsList);\n } // 处理el-upload的action\n\n\n if (scheme.action && config.tag === 'el-upload') {\n uploadVarList.push(\"\".concat(scheme.__vModel__, \"Action: '\").concat(scheme.action, \"',\\n \").concat(scheme.__vModel__, \"fileList: [],\"));\n methodList.push(buildBeforeUpload(scheme)); // 非自动上传时,生成手动上传的函数\n\n if (!scheme['auto-upload']) {\n methodList.push(buildSubmitUpload(scheme));\n }\n } // 构建子级组件属性\n\n\n if (config.children) {\n config.children.forEach(function (item) {\n buildAttributes(item, dataList, ruleList, optionsList, methodList, propsList, uploadVarList, created);\n });\n }\n} // 在Created调用函数\n\n\nfunction callInCreated(methodName, created) {\n created.push(\"this.\".concat(methodName, \"()\"));\n} // 混入处理函数\n\n\nfunction mixinMethod(type) {\n var list = [];\n var minxins = {\n file: confGlobal.formBtns ? {\n submitForm: \"submitForm() {\\n this.$refs['\".concat(confGlobal.formRef, \"'].validate(valid => {\\n if(!valid) return\\n // TODO \\u63D0\\u4EA4\\u8868\\u5355\\n })\\n },\"),\n resetForm: \"resetForm() {\\n this.$refs['\".concat(confGlobal.formRef, \"'].resetFields()\\n },\")\n } : null,\n dialog: {\n onOpen: 'onOpen() {},',\n onClose: \"onClose() {\\n this.$refs['\".concat(confGlobal.formRef, \"'].resetFields()\\n },\"),\n close: \"close() {\\n this.$emit('update:visible', false)\\n },\",\n handelConfirm: \"handelConfirm() {\\n this.$refs['\".concat(confGlobal.formRef, \"'].validate(valid => {\\n if(!valid) return\\n this.close()\\n })\\n },\")\n }\n };\n var methods = minxins[type];\n\n if (methods) {\n Object.keys(methods).forEach(function (key) {\n list.push(methods[key]);\n });\n }\n\n return list;\n} // 构建data\n\n\nfunction buildData(scheme, dataList) {\n var config = scheme.__config__;\n if (scheme.__vModel__ === undefined) return;\n var defaultValue = JSON.stringify(config.defaultValue);\n dataList.push(\"\".concat(scheme.__vModel__, \": \").concat(defaultValue, \",\"));\n} // 构建校验规则\n\n\nfunction buildRules(scheme, ruleList) {\n var config = scheme.__config__;\n if (scheme.__vModel__ === undefined) return;\n var rules = [];\n\n if (_ruleTrigger.default[config.tag]) {\n if (config.required) {\n var type = (0, _util.isArray)(config.defaultValue) ? 'type: \\'array\\',' : '';\n var message = (0, _util.isArray)(config.defaultValue) ? \"\\u8BF7\\u81F3\\u5C11\\u9009\\u62E9\\u4E00\\u4E2A\".concat(config.label) : scheme.placeholder;\n if (message === undefined) message = \"\".concat(config.label, \"\\u4E0D\\u80FD\\u4E3A\\u7A7A\");\n rules.push(\"{ required: true, \".concat(type, \" message: '\").concat(message, \"', trigger: '\").concat(_ruleTrigger.default[config.tag], \"' }\"));\n }\n\n if (config.regList && (0, _util.isArray)(config.regList)) {\n config.regList.forEach(function (item) {\n if (item.pattern) {\n rules.push(\"{ pattern: \".concat(eval(item.pattern), \", message: '\").concat(item.message, \"', trigger: '\").concat(_ruleTrigger.default[config.tag], \"' }\"));\n }\n });\n }\n\n ruleList.push(\"\".concat(scheme.__vModel__, \": [\").concat(rules.join(','), \"],\"));\n }\n} // 构建options\n\n\nfunction buildOptions(scheme, optionsList) {\n if (scheme.__vModel__ === undefined) return; // el-cascader直接有options属性其他组件都是定义在slot中所以有两处判断\n\n var options = scheme.options;\n if (!options) options = scheme.__slot__.options;\n\n if (scheme.__config__.dataType === 'dynamic') {\n options = [];\n }\n\n var str = \"\".concat(scheme.__vModel__, \"Options: \").concat(JSON.stringify(options), \",\");\n optionsList.push(str);\n}\n\nfunction buildProps(scheme, propsList) {\n var str = \"\".concat(scheme.__vModel__, \"Props: \").concat(JSON.stringify(scheme.props.props), \",\");\n propsList.push(str);\n} // el-upload的BeforeUpload\n\n\nfunction buildBeforeUpload(scheme) {\n var config = scheme.__config__;\n var unitNum = units[config.sizeUnit];\n var rightSizeCode = '';\n var acceptCode = '';\n var returnList = [];\n\n if (config.fileSize) {\n rightSizeCode = \"let isRightSize = file.size / \".concat(unitNum, \" < \").concat(config.fileSize, \"\\n if(!isRightSize){\\n this.$message.error('\\u6587\\u4EF6\\u5927\\u5C0F\\u8D85\\u8FC7 \").concat(config.fileSize).concat(config.sizeUnit, \"')\\n }\");\n returnList.push('isRightSize');\n }\n\n if (scheme.accept) {\n acceptCode = \"let isAccept = new RegExp('\".concat(scheme.accept, \"').test(file.type)\\n if(!isAccept){\\n this.$message.error('\\u5E94\\u8BE5\\u9009\\u62E9\").concat(scheme.accept, \"\\u7C7B\\u578B\\u7684\\u6587\\u4EF6')\\n }\");\n returnList.push('isAccept');\n }\n\n var str = \"\".concat(scheme.__vModel__, \"BeforeUpload(file) {\\n \").concat(rightSizeCode, \"\\n \").concat(acceptCode, \"\\n return \").concat(returnList.join('&&'), \"\\n },\");\n return returnList.length ? str : '';\n} // el-upload的submit\n\n\nfunction buildSubmitUpload(scheme) {\n var str = \"submitUpload() {\\n this.$refs['\".concat(scheme.__vModel__, \"'].submit()\\n },\");\n return str;\n}\n\nfunction buildOptionMethod(methodName, model, methodList, scheme) {\n var config = scheme.__config__;\n var str = \"\".concat(methodName, \"() {\\n // \\u6CE8\\u610F\\uFF1Athis.$axios\\u662F\\u901A\\u8FC7Vue.prototype.$axios = axios\\u6302\\u8F7D\\u4EA7\\u751F\\u7684\\n this.$axios({\\n method: '\").concat(config.method, \"',\\n url: '\").concat(config.url, \"'\\n }).then(resp => {\\n var { data } = resp\\n this.\").concat(model, \" = data.\").concat(config.dataPath, \"\\n })\\n },\");\n methodList.push(str);\n} // js整体拼接\n\n\nfunction buildexport(conf, type, data, rules, selectOptions, uploadVar, props, methods, created) {\n var str = \"\".concat(_index.exportDefault, \"{\\n \").concat(inheritAttrs[type], \"\\n components: {},\\n props: [],\\n data () {\\n return {\\n \").concat(conf.formModel, \": {\\n \").concat(data, \"\\n },\\n \").concat(conf.formRules, \": {\\n \").concat(rules, \"\\n },\\n \").concat(uploadVar, \"\\n \").concat(selectOptions, \"\\n \").concat(props, \"\\n }\\n },\\n computed: {},\\n watch: {},\\n created () {\\n \").concat(created, \"\\n },\\n mounted () {},\\n methods: {\\n \").concat(methods, \"\\n }\\n}\");\n return str;\n}\n\n//# sourceURL=webpack:///./src/components/generator/js.js?");
/***/ }),
/***/ "./src/components/generator/ruleTrigger.js":
/*!*************************************************!*\
!*** ./src/components/generator/ruleTrigger.js ***!
\*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/**\n * 用于生成表单校验,指定正则规则的触发方式。\n * 未在此处声明无触发方式的组件将不生成rule\n */\nvar _default = {\n 'el-input': 'blur',\n 'el-input-number': 'blur',\n 'el-select': 'change',\n 'el-radio-group': 'change',\n 'el-checkbox-group': 'change',\n 'el-cascader': 'change',\n 'el-time-picker': 'change',\n 'el-date-picker': 'change',\n 'el-rate': 'change',\n tinymce: 'blur'\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./src/components/generator/ruleTrigger.js?");
/***/ }),
/***/ "./src/utils/constants.js":
/*!********************************!*\
!*** ./src/utils/constants.js ***!
\********************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SystemUserSocialTypeEnum = exports.SystemRoleTypeEnum = exports.SystemMenuTypeEnum = exports.SystemDataScopeEnum = exports.PayType = exports.PayRefundStatusEnum = exports.PayOrderStatusEnum = exports.PayOrderRefundStatusEnum = exports.PayOrderNotifyStatusEnum = exports.PayChannelEnum = exports.InfraJobStatusEnum = exports.InfraCodegenTemplateTypeEnum = exports.InfraApiErrorLogProcessStatusEnum = exports.CommonStatusEnum = void 0;\n\n/**\n * Created by 芋道源码\n *\n * 枚举类\n */\n\n/**\n * 全局通用状态枚举\n */\nvar CommonStatusEnum = {\n ENABLE: 0,\n // 开启\n DISABLE: 1 // 禁用\n\n};\n/**\n * 菜单的类型枚举\n */\n\nexports.CommonStatusEnum = CommonStatusEnum;\nvar SystemMenuTypeEnum = {\n DIR: 1,\n // 目录\n MENU: 2,\n // 菜单\n BUTTON: 3 // 按钮\n\n};\n/**\n * 角色的类型枚举\n */\n\nexports.SystemMenuTypeEnum = SystemMenuTypeEnum;\nvar SystemRoleTypeEnum = {\n SYSTEM: 1,\n // 内置角色\n CUSTOM: 2 // 自定义角色\n\n};\n/**\n * 数据权限的范围枚举\n */\n\nexports.SystemRoleTypeEnum = SystemRoleTypeEnum;\nvar SystemDataScopeEnum = {\n ALL: 1,\n // 全部数据权限\n DEPT_CUSTOM: 2,\n // 指定部门数据权限\n DEPT_ONLY: 3,\n // 部门数据权限\n DEPT_AND_CHILD: 4,\n // 部门及以下数据权限\n DEPT_SELF: 5 // 仅本人数据权限\n\n};\n/**\n * 代码生成模板类型\n */\n\nexports.SystemDataScopeEnum = SystemDataScopeEnum;\nvar InfraCodegenTemplateTypeEnum = {\n CRUD: 1,\n // 基础 CRUD\n TREE: 2,\n // 树形 CRUD\n SUB: 3 // 主子表 CRUD\n\n};\n/**\n * 任务状态的枚举\n */\n\nexports.InfraCodegenTemplateTypeEnum = InfraCodegenTemplateTypeEnum;\nvar InfraJobStatusEnum = {\n INIT: 0,\n // 初始化中\n NORMAL: 1,\n // 运行中\n STOP: 2 // 暂停运行\n\n};\n/**\n * API 异常数据的处理状态\n */\n\nexports.InfraJobStatusEnum = InfraJobStatusEnum;\nvar InfraApiErrorLogProcessStatusEnum = {\n INIT: 0,\n // 未处理\n DONE: 1,\n // 已处理\n IGNORE: 2 // 已忽略\n\n};\n/**\n * 用户的社交平台的类型枚举\n */\n\nexports.InfraApiErrorLogProcessStatusEnum = InfraApiErrorLogProcessStatusEnum;\nvar SystemUserSocialTypeEnum = {\n // GITEE: {\n // title: \"码云\",\n // type: 10,\n // source: \"gitee\",\n // img: \"https://cdn.jsdelivr.net/gh/justauth/justauth-oauth-logo@1.11/gitee.png\",\n // },\n DINGTALK: {\n title: \"钉钉\",\n type: 20,\n source: \"dingtalk\",\n img: \"https://cdn.jsdelivr.net/gh/justauth/justauth-oauth-logo@1.11/dingtalk.png\"\n },\n WECHAT_ENTERPRISE: {\n title: \"企业微信\",\n type: 30,\n source: \"wechat_enterprise\",\n img: \"https://cdn.jsdelivr.net/gh/justauth/justauth-oauth-logo@1.11/wechat_enterprise.png\"\n }\n};\n/**\n * 支付渠道枚举\n */\n\nexports.SystemUserSocialTypeEnum = SystemUserSocialTypeEnum;\nvar PayChannelEnum = {\n WX_PUB: {\n \"code\": \"wx_pub\",\n \"name\": \"微信 JSAPI 支付\"\n },\n WX_LITE: {\n \"code\": \"wx_lite\",\n \"name\": \"微信小程序支付\"\n },\n WX_APP: {\n \"code\": \"wx_app\",\n \"name\": \"微信 APP 支付\"\n },\n ALIPAY_PC: {\n \"code\": \"alipay_pc\",\n \"name\": \"支付宝 PC 网站支付\"\n },\n ALIPAY_WAP: {\n \"code\": \"alipay_wap\",\n \"name\": \"支付宝 WAP 网站支付\"\n },\n ALIPAY_APP: {\n \"code\": \"alipay_app\",\n \"name\": \"支付宝 APP 支付\"\n },\n ALIPAY_QR: {\n \"code\": \"alipay_qr\",\n \"name\": \"支付宝扫码支付\"\n }\n};\n/**\n * 支付类型枚举\n */\n\nexports.PayChannelEnum = PayChannelEnum;\nvar PayType = {\n WECHAT: \"WECHAT\",\n ALIPAY: \"ALIPAY\"\n};\n/**\n * 支付订单状态枚举\n */\n\nexports.PayType = PayType;\nvar PayOrderStatusEnum = {\n WAITING: {\n status: 0,\n name: '未支付'\n },\n SUCCESS: {\n status: 10,\n name: '已支付'\n },\n CLOSED: {\n status: 20,\n name: '未支付'\n }\n};\n/**\n * 支付订单回调状态枚举\n */\n\nexports.PayOrderStatusEnum = PayOrderStatusEnum;\nvar PayOrderNotifyStatusEnum = {\n NO: {\n status: 0,\n name: '未通知'\n },\n SUCCESS: {\n status: 10,\n name: '通知成功'\n },\n FAILURE: {\n status: 20,\n name: '通知失败'\n }\n};\n/**\n * 支付订单退款状态枚举\n */\n\nexports.PayOrderNotifyStatusEnum = PayOrderNotifyStatusEnum;\nvar PayOrderRefundStatusEnum = {\n NO: {\n status: 0,\n name: '未退款'\n },\n SOME: {\n status: 10,\n name: '部分退款'\n },\n ALL: {\n status: 20,\n name: '全部退款'\n }\n};\n/**\n * 支付退款订单状态枚举\n */\n\nexports.PayOrderRefundStatusEnum = PayOrderRefundStatusEnum;\nvar PayRefundStatusEnum = {\n CREATE: {\n status: 0,\n name: '退款订单生成'\n },\n SUCCESS: {\n status: 1,\n name: '退款成功'\n },\n FAILURE: {\n status: 2,\n name: '退款失败'\n },\n PROCESSING_NOTIFY: {\n status: 3,\n name: '退款中,渠道通知结果'\n },\n PROCESSING_QUERY: {\n status: 4,\n name: '退款中,系统查询结果'\n },\n UNKNOWN_RETRY: {\n status: 5,\n name: '状态未知,请重试'\n },\n UNKNOWN_QUERY: {\n status: 6,\n name: '状态未知,系统查询结果'\n },\n CLOSE: {\n status: 99,\n name: '退款关闭'\n }\n};\nexports.PayRefundStatusEnum = PayRefundStatusEnum;\n\n//# sourceURL=webpack:///./src/utils/constants.js?");
/***/ }),
/***/ "./src/utils/db.js":
/*!*************************!*\
!*** ./src/utils/db.js ***!
\*************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDrawingList = getDrawingList;\nexports.getFormConf = getFormConf;\nexports.getIdGlobal = getIdGlobal;\nexports.getTreeNodeId = getTreeNodeId;\nexports.saveDrawingList = saveDrawingList;\nexports.saveFormConf = saveFormConf;\nexports.saveIdGlobal = saveIdGlobal;\nexports.saveTreeNodeId = saveTreeNodeId;\n\n__webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n\nvar DRAWING_ITEMS = 'drawingItems';\nvar DRAWING_ITEMS_VERSION = '1.2';\nvar DRAWING_ITEMS_VERSION_KEY = 'DRAWING_ITEMS_VERSION';\nvar DRAWING_ID = 'idGlobal';\nvar TREE_NODE_ID = 'treeNodeId';\nvar FORM_CONF = 'formConf';\n\nfunction getDrawingList() {\n // 加入缓存版本的概念,保证缓存数据与程序匹配\n var version = localStorage.getItem(DRAWING_ITEMS_VERSION_KEY);\n\n if (version !== DRAWING_ITEMS_VERSION) {\n localStorage.setItem(DRAWING_ITEMS_VERSION_KEY, DRAWING_ITEMS_VERSION);\n saveDrawingList([]);\n return null;\n }\n\n var str = localStorage.getItem(DRAWING_ITEMS);\n if (str) return JSON.parse(str);\n return null;\n}\n\nfunction saveDrawingList(list) {\n localStorage.setItem(DRAWING_ITEMS, JSON.stringify(list));\n}\n\nfunction getIdGlobal() {\n var str = localStorage.getItem(DRAWING_ID);\n if (str) return parseInt(str, 10);\n return 100;\n}\n\nfunction saveIdGlobal(id) {\n localStorage.setItem(DRAWING_ID, \"\".concat(id));\n}\n\nfunction getTreeNodeId() {\n var str = localStorage.getItem(TREE_NODE_ID);\n if (str) return parseInt(str, 10);\n return 100;\n}\n\nfunction saveTreeNodeId(id) {\n localStorage.setItem(TREE_NODE_ID, \"\".concat(id));\n}\n\nfunction getFormConf() {\n var str = localStorage.getItem(FORM_CONF);\n if (str) return JSON.parse(str);\n return null;\n}\n\nfunction saveFormConf(obj) {\n localStorage.setItem(FORM_CONF, JSON.stringify(obj));\n}\n\n//# sourceURL=webpack:///./src/utils/db.js?");
/***/ }),
/***/ "./src/utils/icon.json":
/*!*****************************!*\
!*** ./src/utils/icon.json ***!
\*****************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, default */
/***/ (function(module) {
eval("module.exports = JSON.parse(\"[\\\"platform-eleme\\\",\\\"eleme\\\",\\\"delete-solid\\\",\\\"delete\\\",\\\"s-tools\\\",\\\"setting\\\",\\\"user-solid\\\",\\\"user\\\",\\\"phone\\\",\\\"phone-outline\\\",\\\"more\\\",\\\"more-outline\\\",\\\"star-on\\\",\\\"star-off\\\",\\\"s-goods\\\",\\\"goods\\\",\\\"warning\\\",\\\"warning-outline\\\",\\\"question\\\",\\\"info\\\",\\\"remove\\\",\\\"circle-plus\\\",\\\"success\\\",\\\"error\\\",\\\"zoom-in\\\",\\\"zoom-out\\\",\\\"remove-outline\\\",\\\"circle-plus-outline\\\",\\\"circle-check\\\",\\\"circle-close\\\",\\\"s-help\\\",\\\"help\\\",\\\"minus\\\",\\\"plus\\\",\\\"check\\\",\\\"close\\\",\\\"picture\\\",\\\"picture-outline\\\",\\\"picture-outline-round\\\",\\\"upload\\\",\\\"upload2\\\",\\\"download\\\",\\\"camera-solid\\\",\\\"camera\\\",\\\"video-camera-solid\\\",\\\"video-camera\\\",\\\"message-solid\\\",\\\"bell\\\",\\\"s-cooperation\\\",\\\"s-order\\\",\\\"s-platform\\\",\\\"s-fold\\\",\\\"s-unfold\\\",\\\"s-operation\\\",\\\"s-promotion\\\",\\\"s-home\\\",\\\"s-release\\\",\\\"s-ticket\\\",\\\"s-management\\\",\\\"s-open\\\",\\\"s-shop\\\",\\\"s-marketing\\\",\\\"s-flag\\\",\\\"s-comment\\\",\\\"s-finance\\\",\\\"s-claim\\\",\\\"s-custom\\\",\\\"s-opportunity\\\",\\\"s-data\\\",\\\"s-check\\\",\\\"s-grid\\\",\\\"menu\\\",\\\"share\\\",\\\"d-caret\\\",\\\"caret-left\\\",\\\"caret-right\\\",\\\"caret-bottom\\\",\\\"caret-top\\\",\\\"bottom-left\\\",\\\"bottom-right\\\",\\\"back\\\",\\\"right\\\",\\\"bottom\\\",\\\"top\\\",\\\"top-left\\\",\\\"top-right\\\",\\\"arrow-left\\\",\\\"arrow-right\\\",\\\"arrow-down\\\",\\\"arrow-up\\\",\\\"d-arrow-left\\\",\\\"d-arrow-right\\\",\\\"video-pause\\\",\\\"video-play\\\",\\\"refresh\\\",\\\"refresh-right\\\",\\\"refresh-left\\\",\\\"finished\\\",\\\"sort\\\",\\\"sort-up\\\",\\\"sort-down\\\",\\\"rank\\\",\\\"loading\\\",\\\"view\\\",\\\"c-scale-to-original\\\",\\\"date\\\",\\\"edit\\\",\\\"edit-outline\\\",\\\"folder\\\",\\\"folder-opened\\\",\\\"folder-add\\\",\\\"folder-remove\\\",\\\"folder-delete\\\",\\\"folder-checked\\\",\\\"tickets\\\",\\\"document-remove\\\",\\\"document-delete\\\",\\\"document-copy\\\",\\\"document-checked\\\",\\\"document\\\",\\\"document-add\\\",\\\"printer\\\",\\\"paperclip\\\",\\\"takeaway-box\\\",\\\"search\\\",\\\"monitor\\\",\\\"attract\\\",\\\"mobile\\\",\\\"scissors\\\",\\\"umbrella\\\",\\\"headset\\\",\\\"brush\\\",\\\"mouse\\\",\\\"coordinate\\\",\\\"magic-stick\\\",\\\"reading\\\",\\\"data-line\\\",\\\"data-board\\\",\\\"pie-chart\\\",\\\"data-analysis\\\",\\\"collection-tag\\\",\\\"film\\\",\\\"suitcase\\\",\\\"suitcase-1\\\",\\\"receiving\\\",\\\"collection\\\",\\\"files\\\",\\\"notebook-1\\\",\\\"notebook-2\\\",\\\"toilet-paper\\\",\\\"office-building\\\",\\\"school\\\",\\\"table-lamp\\\",\\\"house\\\",\\\"no-smoking\\\",\\\"smoking\\\",\\\"shopping-cart-full\\\",\\\"shopping-cart-1\\\",\\\"shopping-cart-2\\\",\\\"shopping-bag-1\\\",\\\"shopping-bag-2\\\",\\\"sold-out\\\",\\\"sell\\\",\\\"present\\\",\\\"box\\\",\\\"bank-card\\\",\\\"money\\\",\\\"coin\\\",\\\"wallet\\\",\\\"discount\\\",\\\"price-tag\\\",\\\"news\\\",\\\"guide\\\",\\\"male\\\",\\\"female\\\",\\\"thumb\\\",\\\"cpu\\\",\\\"link\\\",\\\"connection\\\",\\\"open\\\",\\\"turn-off\\\",\\\"set-up\\\",\\\"chat-round\\\",\\\"chat-line-round\\\",\\\"chat-square\\\",\\\"chat-dot-round\\\",\\\"chat-dot-square\\\",\\\"chat-line-square\\\",\\\"message\\\",\\\"postcard\\\",\\\"position\\\",\\\"turn-off-microphone\\\",\\\"microphone\\\",\\\"close-notification\\\",\\\"bangzhu\\\",\\\"time\\\",\\\"odometer\\\",\\\"crop\\\",\\\"aim\\\",\\\"switch-button\\\",\\\"full-screen\\\",\\\"copy-document\\\",\\\"mic\\\",\\\"stopwatch\\\",\\\"medal-1\\\",\\\"medal\\\",\\\"trophy\\\",\\\"trophy-1\\\",\\\"first-aid-kit\\\",\\\"discover\\\",\\\"place\\\",\\\"location\\\",\\\"location-outline\\\",\\\"location-information\\\",\\\"add-location\\\",\\\"delete-location\\\",\\\"map-location\\\",\\\"alarm-clock\\\",\\\"timer\\\",\\\"watch-1\\\",\\\"watch\\\",\\\"lock\\\",\\\"unlock\\\",\\\"key\\\",\\\"service\\\",\\\"mobile-phone\\\",\\\"bicycle\\\",\\\"truck\\\",\\\"ship\\\",\\\"basketball\\\",\\\"football\\\",\\\"soccer\\\",\\\"baseball\\\",\\\"wind-power\\\",\\\"light-rain\\\",\\\"lightning\\\",\\\"heavy-rain\\\",\\\"sunrise\\\",\\\"sunrise-1\\\",\\\"sunset\\\",\\\"sunny\\\",\\\"cloudy\\\",\\\"partly-cloudy\\\",\\\"cloudy-and-sunny\\\",\\\"moon\\\",\\\"moon-night\\\",\\\"dish\\\",\\\"dish-1\\\",\\\"food\\\",\\\"chicken\\\",\\\"fork-spoon\\\",\\\"knife-fork\\\",\\\"burger\\\",\\\"tableware\\\",\\\"sugar\\\",\\\"dessert\\\",\\\"ice-cream\\\",\\\"hot-water\\\",\\\"water-cup\\\",\\\"coffee-cup\\\",\\\"cold-drink\\\",\\\"goblet\\\",\\\"goblet-full\\\",\\\"goblet-square\\\",\\\"goblet-square-full\\\",\\\"refrigerator\\\",\\\"grape\\\",\\\"watermelon\\\",\\\"cherry\\\",\\\"apple\\\",\\\"pear\\\",\\\"orange\\\",\\\"coffee\\\",\\\"ice-tea\\\",\\\"ice-drink\\\",\\\"milk-tea\\\",\\\"potato-strips\\\",\\\"lollipop\\\",\\\"ice-cream-square\\\",\\\"ice-cream-round\\\"]\");\n\n//# sourceURL=webpack:///./src/utils/icon.json?");
/***/ }),
/***/ "./src/utils/loadBeautifier.js":
/*!*************************************!*\
!*** ./src/utils/loadBeautifier.js ***!
\*************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = loadBeautifier;\n\nvar _loadScript = _interopRequireDefault(__webpack_require__(/*! ./loadScript */ \"./src/utils/loadScript.js\"));\n\nvar _elementUi = _interopRequireDefault(__webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\"));\n\nvar _pluginsConfig = _interopRequireDefault(__webpack_require__(/*! ./pluginsConfig */ \"./src/utils/pluginsConfig.js\"));\n\nvar beautifierObj;\n\nfunction loadBeautifier(cb) {\n var beautifierUrl = _pluginsConfig.default.beautifierUrl;\n\n if (beautifierObj) {\n cb(beautifierObj);\n return;\n }\n\n var loading = _elementUi.default.Loading.service({\n fullscreen: true,\n lock: true,\n text: '格式化资源加载中...',\n spinner: 'el-icon-loading',\n background: 'rgba(255, 255, 255, 0.5)'\n });\n\n (0, _loadScript.default)(beautifierUrl, function () {\n loading.close(); // eslint-disable-next-line no-undef\n\n beautifierObj = beautifier;\n cb(beautifierObj);\n });\n}\n\n//# sourceURL=webpack:///./src/utils/loadBeautifier.js?");
/***/ }),
/***/ "./src/utils/loadMonaco.js":
/*!*********************************!*\
!*** ./src/utils/loadMonaco.js ***!
\*********************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = loadMonaco;\n\nvar _loadScript = _interopRequireDefault(__webpack_require__(/*! ./loadScript */ \"./src/utils/loadScript.js\"));\n\nvar _elementUi = _interopRequireDefault(__webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\"));\n\nvar _pluginsConfig = _interopRequireDefault(__webpack_require__(/*! ./pluginsConfig */ \"./src/utils/pluginsConfig.js\"));\n\n// monaco-editor单例\nvar monacoEidtor;\n/**\n * 动态加载monaco-editor cdn资源\n * @param {Function} cb 回调,必填\n */\n\nfunction loadMonaco(cb) {\n if (monacoEidtor) {\n cb(monacoEidtor);\n return;\n }\n\n var vs = _pluginsConfig.default.monacoEditorUrl; // 使用element ui实现加载提示\n\n var loading = _elementUi.default.Loading.service({\n fullscreen: true,\n lock: true,\n text: '编辑器资源初始化中...',\n spinner: 'el-icon-loading',\n background: 'rgba(255, 255, 255, 0.5)'\n });\n\n !window.require && (window.require = {});\n !window.require.paths && (window.require.paths = {});\n window.require.paths.vs = vs;\n (0, _loadScript.default)(\"\".concat(vs, \"/loader.js\"), function () {\n window.require(['vs/editor/editor.main'], function () {\n loading.close();\n monacoEidtor = window.monaco;\n cb(monacoEidtor);\n });\n });\n}\n\n//# sourceURL=webpack:///./src/utils/loadMonaco.js?");
/***/ }),
/***/ "./src/views/bpm/form/formEditor.vue":
/*!*******************************************!*\
!*** ./src/views/bpm/form/formEditor.vue ***!
\*******************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _formEditor_vue_vue_type_template_id_3df0b122___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./formEditor.vue?vue&type=template&id=3df0b122& */ \"./src/views/bpm/form/formEditor.vue?vue&type=template&id=3df0b122&\");\n/* harmony import */ var _formEditor_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./formEditor.vue?vue&type=script&lang=js& */ \"./src/views/bpm/form/formEditor.vue?vue&type=script&lang=js&\");\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _formEditor_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _formEditor_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _formEditor_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formEditor.vue?vue&type=style&index=0&lang=scss& */ \"./src/views/bpm/form/formEditor.vue?vue&type=style&index=0&lang=scss&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _formEditor_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _formEditor_vue_vue_type_template_id_3df0b122___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _formEditor_vue_vue_type_template_id_3df0b122___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/bpm/form/formEditor.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/bpm/form/formEditor.vue?");
/***/ }),
/***/ "./src/views/bpm/form/formEditor.vue?vue&type=script&lang=js&":
/*!********************************************************************!*\
!*** ./src/views/bpm/form/formEditor.vue?vue&type=script&lang=js& ***!
\********************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_formEditor_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./formEditor.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bpm/form/formEditor.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_formEditor_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_formEditor_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_formEditor_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_formEditor_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_formEditor_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); \n\n//# sourceURL=webpack:///./src/views/bpm/form/formEditor.vue?");
/***/ }),
/***/ "./src/views/bpm/form/formEditor.vue?vue&type=style&index=0&lang=scss&":
/*!*****************************************************************************!*\
!*** ./src/views/bpm/form/formEditor.vue?vue&type=style&index=0&lang=scss& ***!
\*****************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_formEditor_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./formEditor.vue?vue&type=style&index=0&lang=scss& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bpm/form/formEditor.vue?vue&type=style&index=0&lang=scss&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_formEditor_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_formEditor_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_formEditor_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_formEditor_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/views/bpm/form/formEditor.vue?");
/***/ }),
/***/ "./src/views/bpm/form/formEditor.vue?vue&type=template&id=3df0b122&":
/*!**************************************************************************!*\
!*** ./src/views/bpm/form/formEditor.vue?vue&type=template&id=3df0b122& ***!
\**************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_formEditor_vue_vue_type_template_id_3df0b122___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./formEditor.vue?vue&type=template&id=3df0b122& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"8e17e5e2-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bpm/form/formEditor.vue?vue&type=template&id=3df0b122&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_formEditor_vue_vue_type_template_id_3df0b122___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_formEditor_vue_vue_type_template_id_3df0b122___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/bpm/form/formEditor.vue?");
/***/ }),
/***/ "./src/views/infra/build/CodeTypeDialog.vue":
/*!**************************************************!*\
!*** ./src/views/infra/build/CodeTypeDialog.vue ***!
\**************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _CodeTypeDialog_vue_vue_type_template_id_ac1f446e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CodeTypeDialog.vue?vue&type=template&id=ac1f446e&scoped=true& */ \"./src/views/infra/build/CodeTypeDialog.vue?vue&type=template&id=ac1f446e&scoped=true&\");\n/* harmony import */ var _CodeTypeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CodeTypeDialog.vue?vue&type=script&lang=js& */ \"./src/views/infra/build/CodeTypeDialog.vue?vue&type=script&lang=js&\");\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _CodeTypeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _CodeTypeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _CodeTypeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _CodeTypeDialog_vue_vue_type_template_id_ac1f446e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _CodeTypeDialog_vue_vue_type_template_id_ac1f446e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"ac1f446e\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/infra/build/CodeTypeDialog.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/infra/build/CodeTypeDialog.vue?");
/***/ }),
/***/ "./src/views/infra/build/CodeTypeDialog.vue?vue&type=script&lang=js&":
/*!***************************************************************************!*\
!*** ./src/views/infra/build/CodeTypeDialog.vue?vue&type=script&lang=js& ***!
\***************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CodeTypeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./CodeTypeDialog.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/CodeTypeDialog.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CodeTypeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CodeTypeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CodeTypeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CodeTypeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CodeTypeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); \n\n//# sourceURL=webpack:///./src/views/infra/build/CodeTypeDialog.vue?");
/***/ }),
/***/ "./src/views/infra/build/CodeTypeDialog.vue?vue&type=template&id=ac1f446e&scoped=true&":
/*!*********************************************************************************************!*\
!*** ./src/views/infra/build/CodeTypeDialog.vue?vue&type=template&id=ac1f446e&scoped=true& ***!
\*********************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CodeTypeDialog_vue_vue_type_template_id_ac1f446e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./CodeTypeDialog.vue?vue&type=template&id=ac1f446e&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"8e17e5e2-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/CodeTypeDialog.vue?vue&type=template&id=ac1f446e&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CodeTypeDialog_vue_vue_type_template_id_ac1f446e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CodeTypeDialog_vue_vue_type_template_id_ac1f446e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/infra/build/CodeTypeDialog.vue?");
/***/ }),
/***/ "./src/views/infra/build/DraggableItem.vue":
/*!*************************************************!*\
!*** ./src/views/infra/build/DraggableItem.vue ***!
\*************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _DraggableItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DraggableItem.vue?vue&type=script&lang=js& */ \"./src/views/infra/build/DraggableItem.vue?vue&type=script&lang=js&\");\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _DraggableItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _DraggableItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\nvar render, staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\n _DraggableItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/infra/build/DraggableItem.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/infra/build/DraggableItem.vue?");
/***/ }),
/***/ "./src/views/infra/build/DraggableItem.vue?vue&type=script&lang=js&":
/*!**************************************************************************!*\
!*** ./src/views/infra/build/DraggableItem.vue?vue&type=script&lang=js& ***!
\**************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DraggableItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./DraggableItem.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/DraggableItem.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DraggableItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DraggableItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DraggableItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DraggableItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DraggableItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); \n\n//# sourceURL=webpack:///./src/views/infra/build/DraggableItem.vue?");
/***/ }),
/***/ "./src/views/infra/build/FormDrawer.vue":
/*!**********************************************!*\
!*** ./src/views/infra/build/FormDrawer.vue ***!
\**********************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _FormDrawer_vue_vue_type_template_id_753f0faf_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./FormDrawer.vue?vue&type=template&id=753f0faf&scoped=true& */ \"./src/views/infra/build/FormDrawer.vue?vue&type=template&id=753f0faf&scoped=true&\");\n/* harmony import */ var _FormDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FormDrawer.vue?vue&type=script&lang=js& */ \"./src/views/infra/build/FormDrawer.vue?vue&type=script&lang=js&\");\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _FormDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _FormDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _FormDrawer_vue_vue_type_style_index_0_id_753f0faf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormDrawer.vue?vue&type=style&index=0&id=753f0faf&lang=scss&scoped=true& */ \"./src/views/infra/build/FormDrawer.vue?vue&type=style&index=0&id=753f0faf&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _FormDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _FormDrawer_vue_vue_type_template_id_753f0faf_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _FormDrawer_vue_vue_type_template_id_753f0faf_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"753f0faf\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/infra/build/FormDrawer.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/infra/build/FormDrawer.vue?");
/***/ }),
/***/ "./src/views/infra/build/FormDrawer.vue?vue&type=script&lang=js&":
/*!***********************************************************************!*\
!*** ./src/views/infra/build/FormDrawer.vue?vue&type=script&lang=js& ***!
\***********************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./FormDrawer.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/FormDrawer.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); \n\n//# sourceURL=webpack:///./src/views/infra/build/FormDrawer.vue?");
/***/ }),
/***/ "./src/views/infra/build/FormDrawer.vue?vue&type=style&index=0&id=753f0faf&lang=scss&scoped=true&":
/*!********************************************************************************************************!*\
!*** ./src/views/infra/build/FormDrawer.vue?vue&type=style&index=0&id=753f0faf&lang=scss&scoped=true& ***!
\********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormDrawer_vue_vue_type_style_index_0_id_753f0faf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./FormDrawer.vue?vue&type=style&index=0&id=753f0faf&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/FormDrawer.vue?vue&type=style&index=0&id=753f0faf&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormDrawer_vue_vue_type_style_index_0_id_753f0faf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormDrawer_vue_vue_type_style_index_0_id_753f0faf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormDrawer_vue_vue_type_style_index_0_id_753f0faf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormDrawer_vue_vue_type_style_index_0_id_753f0faf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/views/infra/build/FormDrawer.vue?");
/***/ }),
/***/ "./src/views/infra/build/FormDrawer.vue?vue&type=template&id=753f0faf&scoped=true&":
/*!*****************************************************************************************!*\
!*** ./src/views/infra/build/FormDrawer.vue?vue&type=template&id=753f0faf&scoped=true& ***!
\*****************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormDrawer_vue_vue_type_template_id_753f0faf_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./FormDrawer.vue?vue&type=template&id=753f0faf&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"8e17e5e2-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/FormDrawer.vue?vue&type=template&id=753f0faf&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormDrawer_vue_vue_type_template_id_753f0faf_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormDrawer_vue_vue_type_template_id_753f0faf_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/infra/build/FormDrawer.vue?");
/***/ }),
/***/ "./src/views/infra/build/IconsDialog.vue":
/*!***********************************************!*\
!*** ./src/views/infra/build/IconsDialog.vue ***!
\***********************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _IconsDialog_vue_vue_type_template_id_7bbbfa18_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./IconsDialog.vue?vue&type=template&id=7bbbfa18&scoped=true& */ \"./src/views/infra/build/IconsDialog.vue?vue&type=template&id=7bbbfa18&scoped=true&\");\n/* harmony import */ var _IconsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./IconsDialog.vue?vue&type=script&lang=js& */ \"./src/views/infra/build/IconsDialog.vue?vue&type=script&lang=js&\");\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _IconsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _IconsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _IconsDialog_vue_vue_type_style_index_0_id_7bbbfa18_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./IconsDialog.vue?vue&type=style&index=0&id=7bbbfa18&lang=scss&scoped=true& */ \"./src/views/infra/build/IconsDialog.vue?vue&type=style&index=0&id=7bbbfa18&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _IconsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _IconsDialog_vue_vue_type_template_id_7bbbfa18_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _IconsDialog_vue_vue_type_template_id_7bbbfa18_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"7bbbfa18\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/infra/build/IconsDialog.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/infra/build/IconsDialog.vue?");
/***/ }),
/***/ "./src/views/infra/build/IconsDialog.vue?vue&type=script&lang=js&":
/*!************************************************************************!*\
!*** ./src/views/infra/build/IconsDialog.vue?vue&type=script&lang=js& ***!
\************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IconsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./IconsDialog.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/IconsDialog.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IconsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IconsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IconsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IconsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IconsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); \n\n//# sourceURL=webpack:///./src/views/infra/build/IconsDialog.vue?");
/***/ }),
/***/ "./src/views/infra/build/IconsDialog.vue?vue&type=style&index=0&id=7bbbfa18&lang=scss&scoped=true&":
/*!*********************************************************************************************************!*\
!*** ./src/views/infra/build/IconsDialog.vue?vue&type=style&index=0&id=7bbbfa18&lang=scss&scoped=true& ***!
\*********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IconsDialog_vue_vue_type_style_index_0_id_7bbbfa18_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./IconsDialog.vue?vue&type=style&index=0&id=7bbbfa18&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/IconsDialog.vue?vue&type=style&index=0&id=7bbbfa18&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IconsDialog_vue_vue_type_style_index_0_id_7bbbfa18_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IconsDialog_vue_vue_type_style_index_0_id_7bbbfa18_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IconsDialog_vue_vue_type_style_index_0_id_7bbbfa18_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IconsDialog_vue_vue_type_style_index_0_id_7bbbfa18_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/views/infra/build/IconsDialog.vue?");
/***/ }),
/***/ "./src/views/infra/build/IconsDialog.vue?vue&type=template&id=7bbbfa18&scoped=true&":
/*!******************************************************************************************!*\
!*** ./src/views/infra/build/IconsDialog.vue?vue&type=template&id=7bbbfa18&scoped=true& ***!
\******************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IconsDialog_vue_vue_type_template_id_7bbbfa18_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./IconsDialog.vue?vue&type=template&id=7bbbfa18&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"8e17e5e2-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/IconsDialog.vue?vue&type=template&id=7bbbfa18&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IconsDialog_vue_vue_type_template_id_7bbbfa18_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_IconsDialog_vue_vue_type_template_id_7bbbfa18_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/infra/build/IconsDialog.vue?");
/***/ }),
/***/ "./src/views/infra/build/JsonDrawer.vue":
/*!**********************************************!*\
!*** ./src/views/infra/build/JsonDrawer.vue ***!
\**********************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _JsonDrawer_vue_vue_type_template_id_349212d3_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./JsonDrawer.vue?vue&type=template&id=349212d3&scoped=true& */ \"./src/views/infra/build/JsonDrawer.vue?vue&type=template&id=349212d3&scoped=true&\");\n/* harmony import */ var _JsonDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./JsonDrawer.vue?vue&type=script&lang=js& */ \"./src/views/infra/build/JsonDrawer.vue?vue&type=script&lang=js&\");\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _JsonDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _JsonDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _JsonDrawer_vue_vue_type_style_index_0_id_349212d3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./JsonDrawer.vue?vue&type=style&index=0&id=349212d3&lang=scss&scoped=true& */ \"./src/views/infra/build/JsonDrawer.vue?vue&type=style&index=0&id=349212d3&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _JsonDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _JsonDrawer_vue_vue_type_template_id_349212d3_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _JsonDrawer_vue_vue_type_template_id_349212d3_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"349212d3\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/infra/build/JsonDrawer.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/infra/build/JsonDrawer.vue?");
/***/ }),
/***/ "./src/views/infra/build/JsonDrawer.vue?vue&type=script&lang=js&":
/*!***********************************************************************!*\
!*** ./src/views/infra/build/JsonDrawer.vue?vue&type=script&lang=js& ***!
\***********************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JsonDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./JsonDrawer.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/JsonDrawer.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JsonDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JsonDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JsonDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JsonDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JsonDrawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); \n\n//# sourceURL=webpack:///./src/views/infra/build/JsonDrawer.vue?");
/***/ }),
/***/ "./src/views/infra/build/JsonDrawer.vue?vue&type=style&index=0&id=349212d3&lang=scss&scoped=true&":
/*!********************************************************************************************************!*\
!*** ./src/views/infra/build/JsonDrawer.vue?vue&type=style&index=0&id=349212d3&lang=scss&scoped=true& ***!
\********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JsonDrawer_vue_vue_type_style_index_0_id_349212d3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./JsonDrawer.vue?vue&type=style&index=0&id=349212d3&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/JsonDrawer.vue?vue&type=style&index=0&id=349212d3&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JsonDrawer_vue_vue_type_style_index_0_id_349212d3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JsonDrawer_vue_vue_type_style_index_0_id_349212d3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JsonDrawer_vue_vue_type_style_index_0_id_349212d3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JsonDrawer_vue_vue_type_style_index_0_id_349212d3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/views/infra/build/JsonDrawer.vue?");
/***/ }),
/***/ "./src/views/infra/build/JsonDrawer.vue?vue&type=template&id=349212d3&scoped=true&":
/*!*****************************************************************************************!*\
!*** ./src/views/infra/build/JsonDrawer.vue?vue&type=template&id=349212d3&scoped=true& ***!
\*****************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JsonDrawer_vue_vue_type_template_id_349212d3_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./JsonDrawer.vue?vue&type=template&id=349212d3&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"8e17e5e2-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/JsonDrawer.vue?vue&type=template&id=349212d3&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JsonDrawer_vue_vue_type_template_id_349212d3_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_JsonDrawer_vue_vue_type_template_id_349212d3_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/infra/build/JsonDrawer.vue?");
/***/ }),
/***/ "./src/views/infra/build/ResourceDialog.vue":
/*!**************************************************!*\
!*** ./src/views/infra/build/ResourceDialog.vue ***!
\**************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ResourceDialog_vue_vue_type_template_id_1416fb60_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ResourceDialog.vue?vue&type=template&id=1416fb60&scoped=true& */ \"./src/views/infra/build/ResourceDialog.vue?vue&type=template&id=1416fb60&scoped=true&\");\n/* harmony import */ var _ResourceDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ResourceDialog.vue?vue&type=script&lang=js& */ \"./src/views/infra/build/ResourceDialog.vue?vue&type=script&lang=js&\");\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ResourceDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ResourceDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _ResourceDialog_vue_vue_type_style_index_0_id_1416fb60_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ResourceDialog.vue?vue&type=style&index=0&id=1416fb60&lang=scss&scoped=true& */ \"./src/views/infra/build/ResourceDialog.vue?vue&type=style&index=0&id=1416fb60&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _ResourceDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ResourceDialog_vue_vue_type_template_id_1416fb60_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ResourceDialog_vue_vue_type_template_id_1416fb60_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"1416fb60\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/infra/build/ResourceDialog.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/infra/build/ResourceDialog.vue?");
/***/ }),
/***/ "./src/views/infra/build/ResourceDialog.vue?vue&type=script&lang=js&":
/*!***************************************************************************!*\
!*** ./src/views/infra/build/ResourceDialog.vue?vue&type=script&lang=js& ***!
\***************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ResourceDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./ResourceDialog.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/ResourceDialog.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ResourceDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ResourceDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ResourceDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ResourceDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ResourceDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); \n\n//# sourceURL=webpack:///./src/views/infra/build/ResourceDialog.vue?");
/***/ }),
/***/ "./src/views/infra/build/ResourceDialog.vue?vue&type=style&index=0&id=1416fb60&lang=scss&scoped=true&":
/*!************************************************************************************************************!*\
!*** ./src/views/infra/build/ResourceDialog.vue?vue&type=style&index=0&id=1416fb60&lang=scss&scoped=true& ***!
\************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ResourceDialog_vue_vue_type_style_index_0_id_1416fb60_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./ResourceDialog.vue?vue&type=style&index=0&id=1416fb60&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/ResourceDialog.vue?vue&type=style&index=0&id=1416fb60&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ResourceDialog_vue_vue_type_style_index_0_id_1416fb60_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ResourceDialog_vue_vue_type_style_index_0_id_1416fb60_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ResourceDialog_vue_vue_type_style_index_0_id_1416fb60_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ResourceDialog_vue_vue_type_style_index_0_id_1416fb60_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/views/infra/build/ResourceDialog.vue?");
/***/ }),
/***/ "./src/views/infra/build/ResourceDialog.vue?vue&type=template&id=1416fb60&scoped=true&":
/*!*********************************************************************************************!*\
!*** ./src/views/infra/build/ResourceDialog.vue?vue&type=template&id=1416fb60&scoped=true& ***!
\*********************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ResourceDialog_vue_vue_type_template_id_1416fb60_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./ResourceDialog.vue?vue&type=template&id=1416fb60&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"8e17e5e2-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/ResourceDialog.vue?vue&type=template&id=1416fb60&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ResourceDialog_vue_vue_type_template_id_1416fb60_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ResourceDialog_vue_vue_type_template_id_1416fb60_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/infra/build/ResourceDialog.vue?");
/***/ }),
/***/ "./src/views/infra/build/RightPanel.vue":
/*!**********************************************!*\
!*** ./src/views/infra/build/RightPanel.vue ***!
\**********************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _RightPanel_vue_vue_type_template_id_77ba98a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RightPanel.vue?vue&type=template&id=77ba98a2&scoped=true& */ \"./src/views/infra/build/RightPanel.vue?vue&type=template&id=77ba98a2&scoped=true&\");\n/* harmony import */ var _RightPanel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RightPanel.vue?vue&type=script&lang=js& */ \"./src/views/infra/build/RightPanel.vue?vue&type=script&lang=js&\");\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _RightPanel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _RightPanel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _RightPanel_vue_vue_type_style_index_0_id_77ba98a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./RightPanel.vue?vue&type=style&index=0&id=77ba98a2&lang=scss&scoped=true& */ \"./src/views/infra/build/RightPanel.vue?vue&type=style&index=0&id=77ba98a2&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _RightPanel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _RightPanel_vue_vue_type_template_id_77ba98a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _RightPanel_vue_vue_type_template_id_77ba98a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"77ba98a2\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/infra/build/RightPanel.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/infra/build/RightPanel.vue?");
/***/ }),
/***/ "./src/views/infra/build/RightPanel.vue?vue&type=script&lang=js&":
/*!***********************************************************************!*\
!*** ./src/views/infra/build/RightPanel.vue?vue&type=script&lang=js& ***!
\***********************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_RightPanel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./RightPanel.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/RightPanel.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_RightPanel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_RightPanel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_RightPanel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_RightPanel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_RightPanel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); \n\n//# sourceURL=webpack:///./src/views/infra/build/RightPanel.vue?");
/***/ }),
/***/ "./src/views/infra/build/RightPanel.vue?vue&type=style&index=0&id=77ba98a2&lang=scss&scoped=true&":
/*!********************************************************************************************************!*\
!*** ./src/views/infra/build/RightPanel.vue?vue&type=style&index=0&id=77ba98a2&lang=scss&scoped=true& ***!
\********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_RightPanel_vue_vue_type_style_index_0_id_77ba98a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./RightPanel.vue?vue&type=style&index=0&id=77ba98a2&lang=scss&scoped=true& */ \"./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/RightPanel.vue?vue&type=style&index=0&id=77ba98a2&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_RightPanel_vue_vue_type_style_index_0_id_77ba98a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_RightPanel_vue_vue_type_style_index_0_id_77ba98a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_RightPanel_vue_vue_type_style_index_0_id_77ba98a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_RightPanel_vue_vue_type_style_index_0_id_77ba98a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n\n\n//# sourceURL=webpack:///./src/views/infra/build/RightPanel.vue?");
/***/ }),
/***/ "./src/views/infra/build/RightPanel.vue?vue&type=template&id=77ba98a2&scoped=true&":
/*!*****************************************************************************************!*\
!*** ./src/views/infra/build/RightPanel.vue?vue&type=template&id=77ba98a2&scoped=true& ***!
\*****************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_RightPanel_vue_vue_type_template_id_77ba98a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./RightPanel.vue?vue&type=template&id=77ba98a2&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"8e17e5e2-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/RightPanel.vue?vue&type=template&id=77ba98a2&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_RightPanel_vue_vue_type_template_id_77ba98a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_RightPanel_vue_vue_type_template_id_77ba98a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/infra/build/RightPanel.vue?");
/***/ }),
/***/ "./src/views/infra/build/TreeNodeDialog.vue":
/*!**************************************************!*\
!*** ./src/views/infra/build/TreeNodeDialog.vue ***!
\**************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _TreeNodeDialog_vue_vue_type_template_id_dae9c2fc_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./TreeNodeDialog.vue?vue&type=template&id=dae9c2fc&scoped=true& */ \"./src/views/infra/build/TreeNodeDialog.vue?vue&type=template&id=dae9c2fc&scoped=true&\");\n/* harmony import */ var _TreeNodeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TreeNodeDialog.vue?vue&type=script&lang=js& */ \"./src/views/infra/build/TreeNodeDialog.vue?vue&type=script&lang=js&\");\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _TreeNodeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _TreeNodeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _TreeNodeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _TreeNodeDialog_vue_vue_type_template_id_dae9c2fc_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _TreeNodeDialog_vue_vue_type_template_id_dae9c2fc_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"dae9c2fc\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/views/infra/build/TreeNodeDialog.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./src/views/infra/build/TreeNodeDialog.vue?");
/***/ }),
/***/ "./src/views/infra/build/TreeNodeDialog.vue?vue&type=script&lang=js&":
/*!***************************************************************************!*\
!*** ./src/views/infra/build/TreeNodeDialog.vue?vue&type=script&lang=js& ***!
\***************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeNodeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/babel-loader/lib!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./TreeNodeDialog.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/TreeNodeDialog.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeNodeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeNodeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeNodeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeNodeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeNodeDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); \n\n//# sourceURL=webpack:///./src/views/infra/build/TreeNodeDialog.vue?");
/***/ }),
/***/ "./src/views/infra/build/TreeNodeDialog.vue?vue&type=template&id=dae9c2fc&scoped=true&":
/*!*********************************************************************************************!*\
!*** ./src/views/infra/build/TreeNodeDialog.vue?vue&type=template&id=dae9c2fc&scoped=true& ***!
\*********************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeNodeDialog_vue_vue_type_template_id_dae9c2fc_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"8e17e5e2-vue-loader-template\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./TreeNodeDialog.vue?vue&type=template&id=dae9c2fc&scoped=true& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"8e17e5e2-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/infra/build/TreeNodeDialog.vue?vue&type=template&id=dae9c2fc&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeNodeDialog_vue_vue_type_template_id_dae9c2fc_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_8e17e5e2_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeNodeDialog_vue_vue_type_template_id_dae9c2fc_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./src/views/infra/build/TreeNodeDialog.vue?");
/***/ })
}]);