diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2024-10-13 10:37:19 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2024-10-13 10:37:19 +0800 |
| commit | e29b244aeab08ea36fb385c7beb2ad0560217039 (patch) | |
| tree | c66b744dc29573f1acc871862937a23f1b80e6bf /node_modules/@babel/helper-create-class-features-plugin | |
| parent | 62c2881629e6413a8fec6d3dd092e4568e2a81dc (diff) | |
bump: @babel/cli 7.25.6 → 7.25.7, @babel/core 7.25.2 → 7.25.8, @babel/preset-env 7.25.4 → 7.25.8, postcss 8.4.41 → 8.4.47, swup 4.7.0 → 4.8.1
Diffstat (limited to 'node_modules/@babel/helper-create-class-features-plugin')
4 files changed, 17 insertions, 17 deletions
diff --git a/node_modules/@babel/helper-create-class-features-plugin/lib/decorators.js.map b/node_modules/@babel/helper-create-class-features-plugin/lib/decorators.js.map index 4f5c51f4..a2690477 100644 --- a/node_modules/@babel/helper-create-class-features-plugin/lib/decorators.js.map +++ b/node_modules/@babel/helper-create-class-features-plugin/lib/decorators.js.map @@ -1 +1 @@ -{"version":3,"names":["_core","require","_helperReplaceSupers","_helperSkipTransparentExpressionWrappers","_fields","_misc","incrementId","id","idx","length","unshift","current","createPrivateUidGeneratorForClass","classPath","currentPrivateId","privateNames","Set","traverse","PrivateName","path","add","node","name","reifiedId","String","fromCharCode","has","t","privateName","identifier","createLazyPrivateUidGeneratorForClass","generator","replaceClassWithVar","className","scope","type","varId","generateUidIdentifierBasedOnNode","classId","rename","get","replaceWith","cloneNode","generateLetUidIdentifier","parent","newClassExpr","classExpression","superClass","body","newPath","sequenceExpression","generateClassProperty","key","value","isStatic","classPrivateProperty","undefined","classProperty","assignIdForAnonymousClass","generateUidIdentifier","addProxyAccessorsFor","element","getterKey","setterKey","targetKey","isComputed","version","thisArg","thisExpression","getterBody","blockStatement","returnStatement","memberExpression","setterBody","expressionStatement","assignmentExpression","getter","setter","classPrivateMethod","classMethod","insertAfter","extractProxyAccessorsFor","template","expression","ast","getComputedKeyLastElement","skipTransparentExprWrappers","isSequenceExpression","expressions","getComputedKeyMemoiser","isConstantExpression","isIdentifier","hasUid","isAssignmentExpression","left","Error","toString","prependExpressionsToComputedKey","fieldPath","push","maybeSequenceExpression","appendExpressionsToComputedKey","completion","scopeParent","maybeAssignment","memoiseComputedKey","generateUid","expressionSequence","completionParent","parentPath","pushContainer","prependExpressionsToFieldInitializer","initializer","unaryExpression","prependExpressionsToStaticBlock","blockPath","unshiftContainer","prependExpressionsToConstructor","constructorPath","isProtoInitCallExpression","protoInitCall","isCallExpression","callee","optimizeSuperCallAndExpressions","protoInitLocal","mergedSuperCall","callExpression","splice","isThisExpression","insertExpressionsAfterSuperCallAndOptimize","CallExpression","exit","isSuper","newNodes","map","expr","isCompletionRecord","skip","ClassMethod","kind","createConstructorFromExpressions","isDerivedClass","super","spreadElement","restElement","createStaticBlockFromExpressions","staticBlock","FIELD","ACCESSOR","METHOD","GETTER","SETTER","STATIC_OLD_VERSION","STATIC","DECORATORS_HAVE_THIS","getElementKind","toSortedDecoratorInfo","info","filter","el","generateDecorationList","decorators","decoratorsThis","decsCount","haveOneThis","some","Boolean","decs","i","numericLiteral","haveThis","generateDecorationExprs","decorationInfo","arrayExpression","flag","decoratorsHaveThis","decoratorsArray","privateMethods","extractElementLocalAssignments","localIds","locals","Array","isArray","addCallAccessorsFor","getId","setId","movePrivateAccessor","methodLocalVar","params","block","isClassDecoratableElementPath","staticBlockToIIFE","arrowFunctionExpression","staticBlockToFunctionClosure","functionExpression","fieldInitializerToClosure","exprs","createFunctionExpressionFromPrivateMethod","isGenerator","async","isAsync","createSetFunctionNameCall","state","addHelper","createToPropertyKeyCall","propertyKey","createPrivateBrandCheckClosure","brandName","binaryExpression","usesPrivateField","traverseFast","isPrivateName","_unused","convertToComputedKey","computed","stringLiteral","hasInstancePrivateAccess","containsInstancePrivateAccess","privateNameVisitor","privateNameVisitorFactory","privateNamesMap","stop","Map","set","checkPrivateMethodUpdateError","decoratedPrivateMethods","parentParentPath","buildCodeFrameError","transformClass","constantSuper","ignoreFunctionLength","propertyVisitor","_path$node$id","_classDecorationsId","classDecorators","hasElementDecorators","hasComputedKeysSideEffects","elemDecsUseFnContext","generateClassPrivateUid","classAssignments","memoiseExpression","hint","assignments","localEvaluatedId","staticInitLocal","classIdName","setClassName","usesFunctionContextOrYieldAwait","decorator","isYieldExpression","isAwaitExpression","isMetaProperty","meta","_unused2","instancePrivateNames","elementNode","static","isDecorated","ClassProperty","ClassPrivateProperty","ClassAccessorProperty","_staticInitLocal","_protoInitLocal","newId","newField","keyPath","elementDecoratorInfo","classInitLocal","classIdLocal","decoratorReceiverId","handleDecorators","hasSideEffects","usesFnContext","object","isMemberExpression","_decoratorReceiverId","willExtractSomeElemDecs","needsDeclaraionForClassBinding","classDecorationsFlag","classDecorations","classDecorationsId","computedKeyAssignments","isClassDeclaration","classDecsUsePrivateName","isClassProperty","lastInstancePrivateName","needsInstancePrivateBrandCheck","fieldInitializerExpressions","staticFieldInitializerExpressions","isStaticBlock","hasDecorators","isPrivate","isClassPrivateProperty","isClassMethod","nameExpr","newFieldInitId","newValue","initId","valuePath","args","callId","replaceSupers","ReplaceSupers","methodPath","objectRef","superRef","file","refToPreserve","replace","remove","getNextSibling","initExtraId","initExtraCall","elements","lastComputedElement","sortedElementDecoratorInfo","elementDecorations","elementLocals","classLocals","classInitInjected","classInitCall","originalClassPath","originalClass","staticClosures","statics","forEach","staticBlockClosureId","fieldValueClosureId","isClassPrivateMethod","privateMethodDelegateId","p","isRestElement","staticsClass","toExpression","constructorBody","newExpr","newExpression","arguments","maybeGenerateMemoised","applyDecoratorWrapper","applyDecsBody","firstPublicElement","createLocalsAssignment","insertBefore","classBindingInfo","getBinding","constantViolations","variableDeclaration","variableDeclarator","classOuterBindingDelegateLocal","classOuterBindingLocal","replaceWithMultiple","size","crawl","maybePrivateBrandName","lhs","rhs","availableHelper","arrayPattern","objectPattern","objectProperty","isProtoKey","shouldTransformElement","shouldTransformClass","NamedEvaluationVisitoryFactory","isAnonymous","visitor","handleComputedProperty","propertyPath","keyValue","ref","VariableDeclarator","AssignmentExpression","operator","AssignmentPattern","ObjectExpression","isObjectProperty","isDecoratedAnonymousClassExpression","isClassExpression","_default","assertVersion","assumption","loose","inherits","_assumption","_assumption2","VISITED","WeakSet","namedEvaluationVisitor","visitClass","_className","_node$id","Object","assign","ExportDefaultDeclaration","declaration","_path$splitExportDecl","splitExportDeclaration","NodePath","prototype","updatedVarDeclarationPath","ExportNamedDeclaration","_path$splitExportDecl2","Class"],"sources":["../src/decorators.ts"],"sourcesContent":["import type { NodePath, Scope, Visitor } from \"@babel/core\";\nimport { types as t, template } from \"@babel/core\";\nimport ReplaceSupers from \"@babel/helper-replace-supers\";\nimport type { PluginAPI, PluginObject, PluginPass } from \"@babel/core\";\nimport { skipTransparentExprWrappers } from \"@babel/helper-skip-transparent-expression-wrappers\";\nimport {\n privateNameVisitorFactory,\n type PrivateNameVisitorState,\n} from \"./fields.ts\";\nimport { memoiseComputedKey } from \"./misc.ts\";\n\n// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\ninterface Options {\n /** @deprecated use `constantSuper` assumption instead. Only supported in 2021-12 version. */\n loose?: boolean;\n}\n\ntype ClassDecoratableElement =\n | t.ClassMethod\n | t.ClassPrivateMethod\n | t.ClassProperty\n | t.ClassPrivateProperty\n | t.ClassAccessorProperty;\n\ntype ClassElement =\n | ClassDecoratableElement\n | t.TSDeclareMethod\n | t.TSIndexSignature\n | t.StaticBlock;\n\ntype ClassElementCanHaveComputedKeys =\n | t.ClassMethod\n | t.ClassProperty\n | t.ClassAccessorProperty;\n\n// TODO(Babel 8): Only keep 2023-11\nexport type DecoratorVersionKind =\n | \"2023-11\"\n | \"2023-05\"\n | \"2023-01\"\n | \"2022-03\"\n | \"2021-12\";\n\nfunction incrementId(id: number[], idx = id.length - 1): void {\n // If index is -1, id needs an additional character, unshift A\n if (idx === -1) {\n id.unshift(charCodes.uppercaseA);\n return;\n }\n\n const current = id[idx];\n\n if (current === charCodes.uppercaseZ) {\n // if current is Z, skip to a\n id[idx] = charCodes.lowercaseA;\n } else if (current === charCodes.lowercaseZ) {\n // if current is z, reset to A and carry the 1\n id[idx] = charCodes.uppercaseA;\n incrementId(id, idx - 1);\n } else {\n // else, increment by one\n id[idx] = current + 1;\n }\n}\n\n/**\n * Generates a new private name that is unique to the given class. This can be\n * used to create extra class fields and methods for the implementation, while\n * keeping the length of those names as small as possible. This is important for\n * minification purposes (though private names can generally be minified,\n * transpilations and polyfills cannot yet).\n */\nfunction createPrivateUidGeneratorForClass(\n classPath: NodePath<t.ClassDeclaration | t.ClassExpression>,\n): () => t.PrivateName {\n const currentPrivateId: number[] = [];\n const privateNames = new Set<string>();\n\n classPath.traverse({\n PrivateName(path) {\n privateNames.add(path.node.id.name);\n },\n });\n\n return (): t.PrivateName => {\n let reifiedId;\n do {\n incrementId(currentPrivateId);\n reifiedId = String.fromCharCode(...currentPrivateId);\n } while (privateNames.has(reifiedId));\n\n return t.privateName(t.identifier(reifiedId));\n };\n}\n\n/**\n * Wraps the above generator function so that it's run lazily the first time\n * it's actually required. Several types of decoration do not require this, so it\n * saves iterating the class elements an additional time and allocating the space\n * for the Sets of element names.\n */\nfunction createLazyPrivateUidGeneratorForClass(\n classPath: NodePath<t.ClassDeclaration | t.ClassExpression>,\n): () => t.PrivateName {\n let generator: () => t.PrivateName;\n\n return (): t.PrivateName => {\n if (!generator) {\n generator = createPrivateUidGeneratorForClass(classPath);\n }\n\n return generator();\n };\n}\n\n/**\n * Takes a class definition and the desired class name if anonymous and\n * replaces it with an equivalent class declaration (path) which is then\n * assigned to a local variable (id). This allows us to reassign the local variable with the\n * decorated version of the class. The class definition retains its original\n * name so that `toString` is not affected, other references to the class\n * are renamed instead.\n */\nfunction replaceClassWithVar(\n path: NodePath<t.ClassDeclaration | t.ClassExpression>,\n className: string | t.Identifier | t.StringLiteral | undefined,\n): {\n id: t.Identifier;\n path: NodePath<t.ClassDeclaration | t.ClassExpression>;\n} {\n const id = path.node.id;\n const scope = path.scope;\n if (path.type === \"ClassDeclaration\") {\n const className = id.name;\n const varId = scope.generateUidIdentifierBasedOnNode(id);\n const classId = t.identifier(className);\n\n scope.rename(className, varId.name);\n\n path.get(\"id\").replaceWith(classId);\n\n return { id: t.cloneNode(varId), path };\n } else {\n let varId: t.Identifier;\n\n if (id) {\n className = id.name;\n varId = generateLetUidIdentifier(scope.parent, className);\n scope.rename(className, varId.name);\n } else {\n varId = generateLetUidIdentifier(\n scope.parent,\n typeof className === \"string\" ? className : \"decorated_class\",\n );\n }\n\n const newClassExpr = t.classExpression(\n typeof className === \"string\" ? t.identifier(className) : null,\n path.node.superClass,\n path.node.body,\n );\n\n const [newPath] = path.replaceWith(\n t.sequenceExpression([newClassExpr, varId]),\n );\n\n return {\n id: t.cloneNode(varId),\n path: newPath.get(\"expressions.0\") as NodePath<t.ClassExpression>,\n };\n }\n}\n\nfunction generateClassProperty(\n key: t.PrivateName | t.Identifier,\n value: t.Expression | undefined,\n isStatic: boolean,\n): t.ClassPrivateProperty | t.ClassProperty {\n if (key.type === \"PrivateName\") {\n return t.classPrivateProperty(key, value, undefined, isStatic);\n } else {\n return t.classProperty(key, value, undefined, undefined, isStatic);\n }\n}\n\nfunction assignIdForAnonymousClass(\n path: NodePath<t.Class>,\n className: string | t.Identifier | t.StringLiteral | undefined,\n) {\n if (!path.node.id) {\n path.node.id =\n typeof className === \"string\"\n ? t.identifier(className)\n : path.scope.generateUidIdentifier(\"Class\");\n }\n}\n\nfunction addProxyAccessorsFor(\n className: t.Identifier,\n element: NodePath<ClassDecoratableElement>,\n getterKey: t.PrivateName | t.Expression,\n setterKey: t.PrivateName | t.Expression,\n targetKey: t.PrivateName,\n isComputed: boolean,\n isStatic: boolean,\n version: DecoratorVersionKind,\n): void {\n const thisArg =\n (version === \"2023-11\" ||\n (!process.env.BABEL_8_BREAKING && version === \"2023-05\")) &&\n isStatic\n ? className\n : t.thisExpression();\n\n const getterBody = t.blockStatement([\n t.returnStatement(\n t.memberExpression(t.cloneNode(thisArg), t.cloneNode(targetKey)),\n ),\n ]);\n\n const setterBody = t.blockStatement([\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.memberExpression(t.cloneNode(thisArg), t.cloneNode(targetKey)),\n t.identifier(\"v\"),\n ),\n ),\n ]);\n\n let getter: t.ClassMethod | t.ClassPrivateMethod,\n setter: t.ClassMethod | t.ClassPrivateMethod;\n\n if (getterKey.type === \"PrivateName\") {\n getter = t.classPrivateMethod(\"get\", getterKey, [], getterBody, isStatic);\n setter = t.classPrivateMethod(\n \"set\",\n setterKey as t.PrivateName,\n [t.identifier(\"v\")],\n setterBody,\n isStatic,\n );\n } else {\n getter = t.classMethod(\n \"get\",\n getterKey,\n [],\n getterBody,\n isComputed,\n isStatic,\n );\n setter = t.classMethod(\n \"set\",\n setterKey as t.Expression,\n [t.identifier(\"v\")],\n setterBody,\n isComputed,\n isStatic,\n );\n }\n\n element.insertAfter(setter);\n element.insertAfter(getter);\n}\n\nfunction extractProxyAccessorsFor(\n targetKey: t.PrivateName,\n version: DecoratorVersionKind,\n): (t.FunctionExpression | t.ArrowFunctionExpression)[] {\n if (version !== \"2023-11\" && version !== \"2023-05\" && version !== \"2023-01\") {\n return [\n template.expression.ast`\n function () {\n return this.${t.cloneNode(targetKey)};\n }\n ` as t.FunctionExpression,\n template.expression.ast`\n function (value) {\n this.${t.cloneNode(targetKey)} = value;\n }\n ` as t.FunctionExpression,\n ];\n }\n return [\n template.expression.ast`\n o => o.${t.cloneNode(targetKey)}\n ` as t.ArrowFunctionExpression,\n template.expression.ast`\n (o, v) => o.${t.cloneNode(targetKey)} = v\n ` as t.ArrowFunctionExpression,\n ];\n}\n\n/**\n * Get the last element for the given computed key path.\n *\n * This function unwraps transparent wrappers and gets the last item when\n * the key is a SequenceExpression.\n *\n * @param {NodePath<t.Expression>} path The key of a computed class element\n * @returns {NodePath<t.Expression>} The simple completion result\n */\nfunction getComputedKeyLastElement(\n path: NodePath<t.Expression>,\n): NodePath<t.Expression> {\n path = skipTransparentExprWrappers(path);\n if (path.isSequenceExpression()) {\n const expressions = path.get(\"expressions\");\n return getComputedKeyLastElement(expressions[expressions.length - 1]);\n }\n return path;\n}\n\n/**\n * Get a memoiser of the computed key path.\n *\n * This function does not mutate AST. If the computed key is not a constant\n * expression, this function must be called after the key has been memoised.\n *\n * @param {NodePath<t.Expression>} path The key of a computed class element.\n * @returns {t.Expression} A clone of key if key is a constant expression,\n * otherwise a memoiser identifier.\n */\nfunction getComputedKeyMemoiser(path: NodePath<t.Expression>): t.Expression {\n const element = getComputedKeyLastElement(path);\n if (element.isConstantExpression()) {\n return t.cloneNode(path.node);\n } else if (element.isIdentifier() && path.scope.hasUid(element.node.name)) {\n return t.cloneNode(path.node);\n } else if (\n element.isAssignmentExpression() &&\n element.get(\"left\").isIdentifier()\n ) {\n return t.cloneNode(element.node.left as t.Identifier);\n } else {\n throw new Error(\n `Internal Error: the computed key ${path.toString()} has not yet been memoised.`,\n );\n }\n}\n\n/**\n * Prepend expressions to the computed key of the given field path.\n *\n * If the computed key is a sequence expression, this function will unwrap\n * the sequence expression for optimal output size.\n *\n * @param {t.Expression[]} expressions\n * @param {(NodePath<\n * t.ClassMethod | t.ClassProperty | t.ClassAccessorProperty\n * >)} fieldPath\n */\nfunction prependExpressionsToComputedKey(\n expressions: t.Expression[],\n fieldPath: NodePath<\n t.ClassMethod | t.ClassProperty | t.ClassAccessorProperty\n >,\n) {\n const key = fieldPath.get(\"key\") as NodePath<t.Expression>;\n if (key.isSequenceExpression()) {\n expressions.push(...key.node.expressions);\n } else {\n expressions.push(key.node);\n }\n key.replaceWith(maybeSequenceExpression(expressions));\n}\n\n/**\n * Append expressions to the computed key of the given field path.\n *\n * If the computed key is a constant expression or uid reference, it\n * will prepend expressions before the comptued key. Otherwise it will\n * memoise the computed key to preserve its completion result.\n *\n * @param {t.Expression[]} expressions\n * @param {(NodePath<\n * t.ClassMethod | t.ClassProperty | t.ClassAccessorProperty\n * >)} fieldPath\n */\nfunction appendExpressionsToComputedKey(\n expressions: t.Expression[],\n fieldPath: NodePath<\n t.ClassMethod | t.ClassProperty | t.ClassAccessorProperty\n >,\n) {\n const key = fieldPath.get(\"key\") as NodePath<t.Expression>;\n const completion = getComputedKeyLastElement(key);\n if (completion.isConstantExpression()) {\n prependExpressionsToComputedKey(expressions, fieldPath);\n } else {\n const scopeParent = key.scope.parent;\n const maybeAssignment = memoiseComputedKey(\n completion.node,\n scopeParent,\n scopeParent.generateUid(\"computedKey\"),\n );\n if (!maybeAssignment) {\n // If the memoiseComputedKey returns undefined, the key is already a uid reference,\n // treat it as a constant expression and prepend expressions before it\n prependExpressionsToComputedKey(expressions, fieldPath);\n } else {\n const expressionSequence = [\n ...expressions,\n // preserve the completion result\n t.cloneNode(maybeAssignment.left),\n ];\n const completionParent = completion.parentPath;\n if (completionParent.isSequenceExpression()) {\n completionParent.pushContainer(\"expressions\", expressionSequence);\n } else {\n completion.replaceWith(\n maybeSequenceExpression([\n t.cloneNode(maybeAssignment),\n ...expressionSequence,\n ]),\n );\n }\n }\n }\n}\n\n/**\n * Prepend expressions to the field initializer. If the initializer is not defined,\n * this function will wrap the last expression within a `void` unary expression.\n *\n * @param {t.Expression[]} expressions\n * @param {(NodePath<\n * t.ClassProperty | t.ClassPrivateProperty | t.ClassAccessorProperty\n * >)} fieldPath\n */\nfunction prependExpressionsToFieldInitializer(\n expressions: t.Expression[],\n fieldPath: NodePath<\n t.ClassProperty | t.ClassPrivateProperty | t.ClassAccessorProperty\n >,\n) {\n const initializer = fieldPath.get(\"value\");\n if (initializer.node) {\n expressions.push(initializer.node);\n } else if (expressions.length > 0) {\n expressions[expressions.length - 1] = t.unaryExpression(\n \"void\",\n expressions[expressions.length - 1],\n );\n }\n initializer.replaceWith(maybeSequenceExpression(expressions));\n}\n\nfunction prependExpressionsToStaticBlock(\n expressions: t.Expression[],\n blockPath: NodePath<t.StaticBlock>,\n) {\n blockPath.unshiftContainer(\n \"body\",\n t.expressionStatement(maybeSequenceExpression(expressions)),\n );\n}\n\nfunction prependExpressionsToConstructor(\n expressions: t.Expression[],\n constructorPath: NodePath<t.ClassMethod>,\n) {\n constructorPath.node.body.body.unshift(\n t.expressionStatement(maybeSequenceExpression(expressions)),\n );\n}\n\nfunction isProtoInitCallExpression(\n expression: t.Expression,\n protoInitCall: t.Identifier,\n) {\n return (\n t.isCallExpression(expression) &&\n t.isIdentifier(expression.callee, { name: protoInitCall.name })\n );\n}\n\n/**\n * Optimize super call and its following expressions\n *\n * @param {t.Expression[]} expressions Mutated by this function. The first element must by a super call\n * @param {t.Identifier} protoInitLocal The generated protoInit id\n * @returns optimized expression\n */\nfunction optimizeSuperCallAndExpressions(\n expressions: t.Expression[],\n protoInitLocal: t.Identifier,\n) {\n if (protoInitLocal) {\n if (\n expressions.length >= 2 &&\n isProtoInitCallExpression(expressions[1], protoInitLocal)\n ) {\n // Merge `super(), protoInit(this)` into `protoInit(super())`\n const mergedSuperCall = t.callExpression(t.cloneNode(protoInitLocal), [\n expressions[0],\n ]);\n expressions.splice(0, 2, mergedSuperCall);\n }\n // Merge `protoInit(super()), this` into `protoInit(super())`\n if (\n expressions.length >= 2 &&\n t.isThisExpression(expressions[expressions.length - 1]) &&\n isProtoInitCallExpression(\n expressions[expressions.length - 2],\n protoInitLocal,\n )\n ) {\n expressions.splice(expressions.length - 1, 1);\n }\n }\n return maybeSequenceExpression(expressions);\n}\n\n/**\n * Insert expressions immediately after super() and optimize the output if possible.\n * This function will preserve the completion result using the trailing this expression.\n *\n * @param {t.Expression[]} expressions\n * @param {NodePath<t.ClassMethod>} constructorPath\n * @param {t.Identifier} protoInitLocal The generated protoInit id\n * @returns\n */\nfunction insertExpressionsAfterSuperCallAndOptimize(\n expressions: t.Expression[],\n constructorPath: NodePath<t.ClassMethod>,\n protoInitLocal: t.Identifier,\n) {\n constructorPath.traverse({\n CallExpression: {\n exit(path) {\n if (!path.get(\"callee\").isSuper()) return;\n const newNodes = [\n path.node,\n ...expressions.map(expr => t.cloneNode(expr)),\n ];\n // preserve completion result if super() is in an RHS or a return statement\n if (path.isCompletionRecord()) {\n newNodes.push(t.thisExpression());\n }\n path.replaceWith(\n optimizeSuperCallAndExpressions(newNodes, protoInitLocal),\n );\n\n path.skip();\n },\n },\n ClassMethod(path) {\n if (path.node.kind === \"constructor\") {\n path.skip();\n }\n },\n });\n}\n\n/**\n * Build a class constructor node from the given expressions. If the class is\n * derived, the constructor will call super() first to ensure that `this`\n * in the expressions work as expected.\n *\n * @param {t.Expression[]} expressions\n * @param {boolean} isDerivedClass\n * @returns The class constructor node\n */\nfunction createConstructorFromExpressions(\n expressions: t.Expression[],\n isDerivedClass: boolean,\n) {\n const body: t.Statement[] = [\n t.expressionStatement(maybeSequenceExpression(expressions)),\n ];\n if (isDerivedClass) {\n body.unshift(\n t.expressionStatement(\n t.callExpression(t.super(), [t.spreadElement(t.identifier(\"args\"))]),\n ),\n );\n }\n return t.classMethod(\n \"constructor\",\n t.identifier(\"constructor\"),\n isDerivedClass ? [t.restElement(t.identifier(\"args\"))] : [],\n t.blockStatement(body),\n );\n}\n\nfunction createStaticBlockFromExpressions(expressions: t.Expression[]) {\n return t.staticBlock([\n t.expressionStatement(maybeSequenceExpression(expressions)),\n ]);\n}\n\n// 3 bits reserved to this (0-7)\nconst FIELD = 0;\nconst ACCESSOR = 1;\nconst METHOD = 2;\nconst GETTER = 3;\nconst SETTER = 4;\n\nconst STATIC_OLD_VERSION = 5; // Before 2023-05\nconst STATIC = 8; // 1 << 3\nconst DECORATORS_HAVE_THIS = 16; // 1 << 4\n\nfunction getElementKind(element: NodePath<ClassDecoratableElement>): number {\n switch (element.node.type) {\n case \"ClassProperty\":\n case \"ClassPrivateProperty\":\n return FIELD;\n case \"ClassAccessorProperty\":\n return ACCESSOR;\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n if (element.node.kind === \"get\") {\n return GETTER;\n } else if (element.node.kind === \"set\") {\n return SETTER;\n } else {\n return METHOD;\n }\n }\n}\n\n// Information about the decorators applied to an element\ninterface DecoratorInfo {\n // An array of applied decorators or a memoised identifier\n decoratorsArray: t.Identifier | t.ArrayExpression | t.Expression;\n decoratorsHaveThis: boolean;\n\n // The kind of the decorated value, matches the kind value passed to applyDecs\n kind: number;\n\n // whether or not the field is static\n isStatic: boolean;\n\n // The name of the decorator\n name: t.StringLiteral | t.Expression;\n\n privateMethods:\n | (t.FunctionExpression | t.ArrowFunctionExpression)[]\n | undefined;\n\n // The names of local variables that will be used/returned from the decoration\n locals: t.Identifier | t.Identifier[] | undefined;\n}\n\n/**\n * Sort decoration info in the application order:\n * - static non-fields\n * - instance non-fields\n * - static fields\n * - instance fields\n *\n * @param {DecoratorInfo[]} info\n * @returns {DecoratorInfo[]} Sorted decoration info\n */\nfunction toSortedDecoratorInfo(info: DecoratorInfo[]): DecoratorInfo[] {\n return [\n ...info.filter(\n el => el.isStatic && el.kind >= ACCESSOR && el.kind <= SETTER,\n ),\n ...info.filter(\n el => !el.isStatic && el.kind >= ACCESSOR && el.kind <= SETTER,\n ),\n ...info.filter(el => el.isStatic && el.kind === FIELD),\n ...info.filter(el => !el.isStatic && el.kind === FIELD),\n ];\n}\n\ntype GenerateDecorationListResult = {\n // The zipped decorators array that will be passed to generateDecorationExprs\n decs: t.Expression[];\n // Whether there are non-empty decorator this values\n haveThis: boolean;\n};\n/**\n * Zip decorators and decorator this values into an array\n *\n * @param {t.Decorator[]} decorators\n * @param {((t.Expression | undefined)[])} decoratorsThis decorator this values\n * @param {DecoratorVersionKind} version\n * @returns {GenerateDecorationListResult}\n */\nfunction generateDecorationList(\n decorators: t.Decorator[],\n decoratorsThis: (t.Expression | undefined)[],\n version: DecoratorVersionKind,\n): GenerateDecorationListResult {\n const decsCount = decorators.length;\n const haveOneThis = decoratorsThis.some(Boolean);\n const decs: t.Expression[] = [];\n for (let i = 0; i < decsCount; i++) {\n if (\n (version === \"2023-11\" ||\n (!process.env.BABEL_8_BREAKING && version === \"2023-05\")) &&\n haveOneThis\n ) {\n decs.push(\n decoratorsThis[i] || t.unaryExpression(\"void\", t.numericLiteral(0)),\n );\n }\n decs.push(decorators[i].expression);\n }\n\n return { haveThis: haveOneThis, decs };\n}\n\nfunction generateDecorationExprs(\n decorationInfo: DecoratorInfo[],\n version: DecoratorVersionKind,\n): t.ArrayExpression {\n return t.arrayExpression(\n decorationInfo.map(el => {\n let flag = el.kind;\n if (el.isStatic) {\n flag +=\n version === \"2023-11\" ||\n (!process.env.BABEL_8_BREAKING && version === \"2023-05\")\n ? STATIC\n : STATIC_OLD_VERSION;\n }\n if (el.decoratorsHaveThis) flag += DECORATORS_HAVE_THIS;\n\n return t.arrayExpression([\n el.decoratorsArray,\n t.numericLiteral(flag),\n el.name,\n ...(el.privateMethods || []),\n ]);\n }),\n );\n}\n\nfunction extractElementLocalAssignments(decorationInfo: DecoratorInfo[]) {\n const localIds: t.Identifier[] = [];\n\n for (const el of decorationInfo) {\n const { locals } = el;\n\n if (Array.isArray(locals)) {\n localIds.push(...locals);\n } else if (locals !== undefined) {\n localIds.push(locals);\n }\n }\n\n return localIds;\n}\n\nfunction addCallAccessorsFor(\n version: DecoratorVersionKind,\n element: NodePath,\n key: t.PrivateName,\n getId: t.Identifier,\n setId: t.Identifier,\n isStatic: boolean,\n) {\n element.insertAfter(\n t.classPrivateMethod(\n \"get\",\n t.cloneNode(key),\n [],\n t.blockStatement([\n t.returnStatement(\n t.callExpression(\n t.cloneNode(getId),\n (process.env.BABEL_8_BREAKING || version === \"2023-11\") && isStatic\n ? []\n : [t.thisExpression()],\n ),\n ),\n ]),\n isStatic,\n ),\n );\n\n element.insertAfter(\n t.classPrivateMethod(\n \"set\",\n t.cloneNode(key),\n [t.identifier(\"v\")],\n t.blockStatement([\n t.expressionStatement(\n t.callExpression(\n t.cloneNode(setId),\n (process.env.BABEL_8_BREAKING || version === \"2023-11\") && isStatic\n ? [t.identifier(\"v\")]\n : [t.thisExpression(), t.identifier(\"v\")],\n ),\n ),\n ]),\n isStatic,\n ),\n );\n}\n\nfunction movePrivateAccessor(\n element: NodePath<t.ClassPrivateMethod>,\n key: t.PrivateName,\n methodLocalVar: t.Identifier,\n isStatic: boolean,\n) {\n let params: (t.Identifier | t.RestElement)[];\n let block: t.Statement[];\n\n if (element.node.kind === \"set\") {\n params = [t.identifier(\"v\")];\n block = [\n t.expressionStatement(\n t.callExpression(methodLocalVar, [\n t.thisExpression(),\n t.identifier(\"v\"),\n ]),\n ),\n ];\n } else {\n params = [];\n block = [\n t.returnStatement(t.callExpression(methodLocalVar, [t.thisExpression()])),\n ];\n }\n\n element.replaceWith(\n t.classPrivateMethod(\n element.node.kind,\n t.cloneNode(key),\n params,\n t.blockStatement(block),\n isStatic,\n ),\n );\n}\n\nfunction isClassDecoratableElementPath(\n path: NodePath<ClassElement>,\n): path is NodePath<ClassDecoratableElement> {\n const { type } = path;\n\n return (\n type !== \"TSDeclareMethod\" &&\n type !== \"TSIndexSignature\" &&\n type !== \"StaticBlock\"\n );\n}\n\nfunction staticBlockToIIFE(block: t.StaticBlock) {\n return t.callExpression(\n t.arrowFunctionExpression([], t.blockStatement(block.body)),\n [],\n );\n}\n\nfunction staticBlockToFunctionClosure(block: t.StaticBlock) {\n return t.functionExpression(null, [], t.blockStatement(block.body));\n}\n\nfunction fieldInitializerToClosure(value: t.Expression) {\n return t.functionExpression(\n null,\n [],\n t.blockStatement([t.returnStatement(value)]),\n );\n}\n\nfunction maybeSequenceExpression(exprs: t.Expression[]) {\n if (exprs.length === 0) return t.unaryExpression(\"void\", t.numericLiteral(0));\n if (exprs.length === 1) return exprs[0];\n return t.sequenceExpression(exprs);\n}\n\n/**\n * Create FunctionExpression from a ClassPrivateMethod.\n * The returned FunctionExpression node takes ownership of the private method's body and params.\n *\n * @param {t.ClassPrivateMethod} node\n * @returns\n */\nfunction createFunctionExpressionFromPrivateMethod(node: t.ClassPrivateMethod) {\n const { params, body, generator: isGenerator, async: isAsync } = node;\n return t.functionExpression(\n undefined,\n // @ts-expect-error todo: Improve typings: TSParameterProperty is only allowed in constructor\n params,\n body,\n isGenerator,\n isAsync,\n );\n}\n\nfunction createSetFunctionNameCall(\n state: PluginPass,\n className: t.Identifier | t.StringLiteral,\n) {\n return t.callExpression(state.addHelper(\"setFunctionName\"), [\n t.thisExpression(),\n className,\n ]);\n}\n\nfunction createToPropertyKeyCall(state: PluginPass, propertyKey: t.Expression) {\n return t.callExpression(state.addHelper(\"toPropertyKey\"), [propertyKey]);\n}\n\nfunction createPrivateBrandCheckClosure(brandName: t.PrivateName) {\n return t.arrowFunctionExpression(\n [t.identifier(\"_\")],\n t.binaryExpression(\"in\", t.cloneNode(brandName), t.identifier(\"_\")),\n );\n}\n\nfunction usesPrivateField(expression: t.Node) {\n try {\n t.traverseFast(expression, node => {\n if (t.isPrivateName(node)) {\n // TODO: Add early return support to t.traverseFast\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw null;\n }\n });\n return false;\n } catch {\n return true;\n }\n}\n\n/**\n * Convert a non-computed class element to its equivalent computed form.\n *\n * This function is to provide a decorator evaluation storage from non-computed\n * class elements.\n *\n * @param {(NodePath<t.ClassProperty | t.ClassMethod>)} path A non-computed class property or method\n */\nfunction convertToComputedKey(path: NodePath<t.ClassProperty | t.ClassMethod>) {\n const { node } = path;\n node.computed = true;\n if (t.isIdentifier(node.key)) {\n node.key = t.stringLiteral(node.key.name);\n }\n}\n\nfunction hasInstancePrivateAccess(path: NodePath, privateNames: string[]) {\n let containsInstancePrivateAccess = false;\n if (privateNames.length > 0) {\n const privateNameVisitor = privateNameVisitorFactory<\n PrivateNameVisitorState<null>,\n null\n >({\n PrivateName(path, state) {\n if (state.privateNamesMap.has(path.node.id.name)) {\n containsInstancePrivateAccess = true;\n path.stop();\n }\n },\n });\n const privateNamesMap = new Map<string, null>();\n for (const name of privateNames) {\n privateNamesMap.set(name, null);\n }\n path.traverse(privateNameVisitor, {\n privateNamesMap: privateNamesMap,\n });\n }\n return containsInstancePrivateAccess;\n}\n\nfunction checkPrivateMethodUpdateError(\n path: NodePath<t.Class>,\n decoratedPrivateMethods: Set<string>,\n) {\n const privateNameVisitor = privateNameVisitorFactory<\n PrivateNameVisitorState<null>,\n null\n >({\n PrivateName(path, state) {\n if (!state.privateNamesMap.has(path.node.id.name)) return;\n\n const parentPath = path.parentPath;\n const parentParentPath = parentPath.parentPath;\n\n if (\n // this.bar().#x = 123;\n (parentParentPath.node.type === \"AssignmentExpression\" &&\n parentParentPath.node.left === parentPath.node) ||\n // this.#x++;\n parentParentPath.node.type === \"UpdateExpression\" ||\n // ([...this.#x] = foo);\n parentParentPath.node.type === \"RestElement\" ||\n // ([this.#x] = foo);\n parentParentPath.node.type === \"ArrayPattern\" ||\n // ({ a: this.#x } = bar);\n (parentParentPath.node.type === \"ObjectProperty\" &&\n parentParentPath.node.value === parentPath.node &&\n parentParentPath.parentPath.type === \"ObjectPattern\") ||\n // for (this.#x of []);\n (parentParentPath.node.type === \"ForOfStatement\" &&\n parentParentPath.node.left === parentPath.node)\n ) {\n throw path.buildCodeFrameError(\n `Decorated private methods are read-only, but \"#${path.node.id.name}\" is updated via this expression.`,\n );\n }\n },\n });\n const privateNamesMap = new Map<string, null>();\n for (const name of decoratedPrivateMethods) {\n privateNamesMap.set(name, null);\n }\n path.traverse(privateNameVisitor, {\n privateNamesMap: privateNamesMap,\n });\n}\n\n/**\n * Apply decorator and accessor transform\n * @param path The class path.\n * @param state The plugin pass.\n * @param constantSuper The constantSuper compiler assumption.\n * @param ignoreFunctionLength The ignoreFunctionLength compiler assumption.\n * @param className The class name.\n * - If className is a `string`, it will be a valid identifier name that can safely serve as a class id\n * - If className is an Identifier, it is the reference to the name derived from NamedEvaluation\n * - If className is a StringLiteral, it is derived from NamedEvaluation on literal computed keys\n * @param propertyVisitor The visitor that should be applied on property prior to the transform.\n * @param version The decorator version.\n * @returns The transformed class path or undefined if there are no decorators.\n */\nfunction transformClass(\n path: NodePath<t.Class>,\n state: PluginPass,\n constantSuper: boolean,\n ignoreFunctionLength: boolean,\n className: string | t.Identifier | t.StringLiteral | undefined,\n propertyVisitor: Visitor<PluginPass>,\n version: DecoratorVersionKind,\n): NodePath | undefined {\n const body = path.get(\"body.body\");\n\n const classDecorators = path.node.decorators;\n let hasElementDecorators = false;\n let hasComputedKeysSideEffects = false;\n let elemDecsUseFnContext = false;\n\n const generateClassPrivateUid = createLazyPrivateUidGeneratorForClass(path);\n\n const classAssignments: t.AssignmentExpression[] = [];\n const scopeParent: Scope = path.scope.parent;\n const memoiseExpression = (\n expression: t.Expression,\n hint: string,\n assignments: t.AssignmentExpression[],\n ) => {\n const localEvaluatedId = generateLetUidIdentifier(scopeParent, hint);\n assignments.push(t.assignmentExpression(\"=\", localEvaluatedId, expression));\n return t.cloneNode(localEvaluatedId);\n };\n\n let protoInitLocal: t.Identifier;\n let staticInitLocal: t.Identifier;\n const classIdName = path.node.id?.name;\n // Whether to generate a setFunctionName call to preserve the class name\n const setClassName = typeof className === \"object\" ? className : undefined;\n // Check if the decorator does not reference function-specific\n // context or the given identifier name or contains yield or await expression.\n // `true` means \"maybe\" and `false` means \"no\".\n const usesFunctionContextOrYieldAwait = (decorator: t.Decorator) => {\n try {\n t.traverseFast(decorator, node => {\n if (\n t.isThisExpression(node) ||\n t.isSuper(node) ||\n t.isYieldExpression(node) ||\n t.isAwaitExpression(node) ||\n t.isIdentifier(node, { name: \"arguments\" }) ||\n (classIdName && t.isIdentifier(node, { name: classIdName })) ||\n (t.isMetaProperty(node) && node.meta.name !== \"import\")\n ) {\n // TODO: Add early return support to t.traverseFast\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw null;\n }\n });\n return false;\n } catch {\n return true;\n }\n };\n\n const instancePrivateNames: string[] = [];\n // Iterate over the class to see if we need to decorate it, and also to\n // transform simple auto accessors which are not decorated, and handle inferred\n // class name when the initializer of the class field is a class expression\n for (const element of body) {\n if (!isClassDecoratableElementPath(element)) {\n continue;\n }\n\n const elementNode = element.node;\n\n if (!elementNode.static && t.isPrivateName(elementNode.key)) {\n instancePrivateNames.push(elementNode.key.id.name);\n }\n\n if (isDecorated(elementNode)) {\n switch (elementNode.type) {\n case \"ClassProperty\":\n // @ts-expect-error todo: propertyVisitor.ClassProperty should be callable. Improve typings.\n propertyVisitor.ClassProperty(\n element as NodePath<t.ClassProperty>,\n state,\n );\n break;\n case \"ClassPrivateProperty\":\n // @ts-expect-error todo: propertyVisitor.ClassPrivateProperty should be callable. Improve typings.\n propertyVisitor.ClassPrivateProperty(\n element as NodePath<t.ClassPrivateProperty>,\n state,\n );\n break;\n case \"ClassAccessorProperty\":\n // @ts-expect-error todo: propertyVisitor.ClassAccessorProperty should be callable. Improve typings.\n propertyVisitor.ClassAccessorProperty(\n element as NodePath<t.ClassAccessorProperty>,\n state,\n );\n if (version === \"2023-11\") {\n break;\n }\n /* fallthrough */\n default:\n if (elementNode.static) {\n staticInitLocal ??= generateLetUidIdentifier(\n scopeParent,\n \"initStatic\",\n );\n } else {\n protoInitLocal ??= generateLetUidIdentifier(\n scopeParent,\n \"initProto\",\n );\n }\n break;\n }\n hasElementDecorators = true;\n elemDecsUseFnContext ||= elementNode.decorators.some(\n usesFunctionContextOrYieldAwait,\n );\n } else if (elementNode.type === \"ClassAccessorProperty\") {\n // @ts-expect-error todo: propertyVisitor.ClassAccessorProperty should be callable. Improve typings.\n propertyVisitor.ClassAccessorProperty(\n element as NodePath<t.ClassAccessorProperty>,\n state,\n );\n const { key, value, static: isStatic, computed } = elementNode;\n\n const newId = generateClassPrivateUid();\n const newField = generateClassProperty(newId, value, isStatic);\n const keyPath = element.get(\"key\");\n const [newPath] = element.replaceWith(newField);\n\n let getterKey, setterKey;\n if (computed && !keyPath.isConstantExpression()) {\n getterKey = memoiseComputedKey(\n createToPropertyKeyCall(state, key as t.Expression),\n scopeParent,\n scopeParent.generateUid(\"computedKey\"),\n )!;\n setterKey = t.cloneNode(getterKey.left as t.Identifier);\n } else {\n getterKey = t.cloneNode(key);\n setterKey = t.cloneNode(key);\n }\n\n assignIdForAnonymousClass(path, className);\n\n addProxyAccessorsFor(\n path.node.id,\n newPath,\n getterKey,\n setterKey,\n newId,\n computed,\n isStatic,\n version,\n );\n }\n\n if (\"computed\" in element.node && element.node.computed) {\n hasComputedKeysSideEffects ||= !scopeParent.isStatic(element.node.key);\n }\n }\n\n if (!classDecorators && !hasElementDecorators) {\n if (!path.node.id && typeof className === \"string\") {\n path.node.id = t.identifier(className);\n }\n if (setClassName) {\n path.node.body.body.unshift(\n createStaticBlockFromExpressions([\n createSetFunctionNameCall(state, setClassName),\n ]),\n );\n }\n // If nothing is decorated and no assignments inserted, return\n return;\n }\n\n const elementDecoratorInfo: DecoratorInfo[] = [];\n\n let constructorPath: NodePath<t.ClassMethod> | undefined;\n const decoratedPrivateMethods = new Set<string>();\n\n let classInitLocal: t.Identifier, classIdLocal: t.Identifier;\n let decoratorReceiverId: t.Identifier | null = null;\n\n // Memoise the this value `a.b` of decorator member expressions `@a.b.dec`,\n type HandleDecoratorsResult = {\n // whether the whole decorator list requires memoisation\n hasSideEffects: boolean;\n usesFnContext: boolean;\n // the this value of each decorator if applicable\n decoratorsThis: (t.Expression | undefined)[];\n };\n function handleDecorators(decorators: t.Decorator[]): HandleDecoratorsResult {\n let hasSideEffects = false;\n let usesFnContext = false;\n const decoratorsThis: (t.Expression | null)[] = [];\n for (const decorator of decorators) {\n const { expression } = decorator;\n let object;\n if (\n (version === \"2023-11\" ||\n (!process.env.BABEL_8_BREAKING && version === \"2023-05\")) &&\n t.isMemberExpression(expression)\n ) {\n if (t.isSuper(expression.object)) {\n object = t.thisExpression();\n } else if (scopeParent.isStatic(expression.object)) {\n object = t.cloneNode(expression.object);\n } else {\n decoratorReceiverId ??= generateLetUidIdentifier(scopeParent, \"obj\");\n object = t.assignmentExpression(\n \"=\",\n t.cloneNode(decoratorReceiverId),\n expression.object,\n );\n expression.object = t.cloneNode(decoratorReceiverId);\n }\n }\n decoratorsThis.push(object);\n hasSideEffects ||= !scopeParent.isStatic(expression);\n usesFnContext ||= usesFunctionContextOrYieldAwait(decorator);\n }\n return { hasSideEffects, usesFnContext, decoratorsThis };\n }\n\n const willExtractSomeElemDecs =\n hasComputedKeysSideEffects ||\n (process.env.BABEL_8_BREAKING\n ? elemDecsUseFnContext\n : elemDecsUseFnContext || version !== \"2023-11\");\n\n let needsDeclaraionForClassBinding = false;\n let classDecorationsFlag = 0;\n let classDecorations: t.Expression[] = [];\n let classDecorationsId: t.Identifier;\n let computedKeyAssignments: t.AssignmentExpression[] = [];\n if (classDecorators) {\n classInitLocal = generateLetUidIdentifier(scopeParent, \"initClass\");\n needsDeclaraionForClassBinding = path.isClassDeclaration();\n ({ id: classIdLocal, path } = replaceClassWithVar(path, className));\n\n path.node.decorators = null;\n\n const classDecsUsePrivateName = classDecorators.some(usesPrivateField);\n const { hasSideEffects, usesFnContext, decoratorsThis } =\n handleDecorators(classDecorators);\n\n const { haveThis, decs } = generateDecorationList(\n classDecorators,\n decoratorsThis,\n version,\n );\n classDecorationsFlag = haveThis ? 1 : 0;\n classDecorations = decs;\n\n if (\n usesFnContext ||\n (hasSideEffects && willExtractSomeElemDecs) ||\n classDecsUsePrivateName\n ) {\n classDecorationsId = memoiseExpression(\n t.arrayExpression(classDecorations),\n \"classDecs\",\n classAssignments,\n );\n }\n\n if (!hasElementDecorators) {\n // Sync body paths as non-decorated computed accessors have been transpiled\n // to getter-setter pairs.\n for (const element of path.get(\"body.body\")) {\n const { node } = element;\n const isComputed = \"computed\" in node && node.computed;\n if (isComputed) {\n if (element.isClassProperty({ static: true })) {\n if (!element.get(\"key\").isConstantExpression()) {\n const key = (node as t.ClassProperty).key;\n const maybeAssignment = memoiseComputedKey(\n key,\n scopeParent,\n scopeParent.generateUid(\"computedKey\"),\n );\n if (maybeAssignment != null) {\n // If it is a static computed field within a decorated class, we move the computed key\n // into `computedKeyAssignments` which will be then moved into the non-static class,\n // to ensure that the evaluation order and private environment are correct\n node.key = t.cloneNode(maybeAssignment.left);\n computedKeyAssignments.push(maybeAssignment);\n }\n }\n } else if (computedKeyAssignments.length > 0) {\n prependExpressionsToComputedKey(\n computedKeyAssignments,\n element as NodePath<ClassElementCanHaveComputedKeys>,\n );\n computedKeyAssignments = [];\n }\n }\n }\n }\n } else {\n assignIdForAnonymousClass(path, className);\n classIdLocal = t.cloneNode(path.node.id);\n }\n\n let lastInstancePrivateName: t.PrivateName;\n let needsInstancePrivateBrandCheck = false;\n\n let fieldInitializerExpressions = [];\n let staticFieldInitializerExpressions: t.Expression[] = [];\n\n if (hasElementDecorators) {\n if (protoInitLocal) {\n const protoInitCall = t.callExpression(t.cloneNode(protoInitLocal), [\n t.thisExpression(),\n ]);\n fieldInitializerExpressions.push(protoInitCall);\n }\n for (const element of body) {\n if (!isClassDecoratableElementPath(element)) {\n if (\n staticFieldInitializerExpressions.length > 0 &&\n element.isStaticBlock()\n ) {\n prependExpressionsToStaticBlock(\n staticFieldInitializerExpressions,\n element,\n );\n staticFieldInitializerExpressions = [];\n }\n continue;\n }\n\n const { node } = element;\n const decorators = node.decorators;\n\n const hasDecorators = !!decorators?.length;\n\n const isComputed = \"computed\" in node && node.computed;\n\n let name = \"computedKey\";\n\n if (node.key.type === \"PrivateName\") {\n name = node.key.id.name;\n } else if (!isComputed && node.key.type === \"Identifier\") {\n name = node.key.name;\n }\n let decoratorsArray: t.Identifier | t.ArrayExpression | t.Expression;\n let decoratorsHaveThis;\n\n if (hasDecorators) {\n const { hasSideEffects, usesFnContext, decoratorsThis } =\n handleDecorators(decorators);\n const { decs, haveThis } = generateDecorationList(\n decorators,\n decoratorsThis,\n version,\n );\n decoratorsHaveThis = haveThis;\n decoratorsArray = decs.length === 1 ? decs[0] : t.arrayExpression(decs);\n if (usesFnContext || (hasSideEffects && willExtractSomeElemDecs)) {\n decoratorsArray = memoiseExpression(\n decoratorsArray,\n name + \"Decs\",\n computedKeyAssignments,\n );\n }\n }\n\n if (isComputed) {\n if (!element.get(\"key\").isConstantExpression()) {\n const key = node.key as t.Expression;\n const maybeAssignment = memoiseComputedKey(\n hasDecorators ? createToPropertyKeyCall(state, key) : key,\n scopeParent,\n scopeParent.generateUid(\"computedKey\"),\n );\n if (maybeAssignment != null) {\n // If it is a static computed field within a decorated class, we move the computed key\n // into `computedKeyAssignments` which will be then moved into the non-static class,\n // to ensure that the evaluation order and private environment are correct\n if (classDecorators && element.isClassProperty({ static: true })) {\n node.key = t.cloneNode(maybeAssignment.left);\n computedKeyAssignments.push(maybeAssignment);\n } else {\n node.key = maybeAssignment;\n }\n }\n }\n }\n\n const { key, static: isStatic } = node;\n\n const isPrivate = key.type === \"PrivateName\";\n\n const kind = getElementKind(element);\n\n if (isPrivate && !isStatic) {\n if (hasDecorators) {\n needsInstancePrivateBrandCheck = true;\n }\n if (t.isClassPrivateProperty(node) || !lastInstancePrivateName) {\n lastInstancePrivateName = key;\n }\n }\n\n if (element.isClassMethod({ kind: \"constructor\" })) {\n constructorPath = element;\n }\n\n let locals: t.Identifier[];\n if (hasDecorators) {\n let privateMethods: Array<\n t.FunctionExpression | t.ArrowFunctionExpression\n >;\n\n let nameExpr: t.Expression;\n\n if (isComputed) {\n nameExpr = getComputedKeyMemoiser(\n element.get(\"key\") as NodePath<t.Expression>,\n );\n } else if (key.type === \"PrivateName\") {\n nameExpr = t.stringLiteral(key.id.name);\n } else if (key.type === \"Identifier\") {\n nameExpr = t.stringLiteral(key.name);\n } else {\n nameExpr = t.cloneNode(key as t.Expression);\n }\n\n if (kind === ACCESSOR) {\n const { value } = element.node as t.ClassAccessorProperty;\n\n const params: t.Expression[] =\n (process.env.BABEL_8_BREAKING || version === \"2023-11\") && isStatic\n ? []\n : [t.thisExpression()];\n\n if (value) {\n params.push(t.cloneNode(value));\n }\n\n const newId = generateClassPrivateUid();\n const newFieldInitId = generateLetUidIdentifier(\n scopeParent,\n `init_${name}`,\n );\n const newValue = t.callExpression(\n t.cloneNode(newFieldInitId),\n params,\n );\n\n const newField = generateClassProperty(newId, newValue, isStatic);\n const [newPath] = element.replaceWith(newField);\n\n if (isPrivate) {\n privateMethods = extractProxyAccessorsFor(newId, version);\n\n const getId = generateLetUidIdentifier(scopeParent, `get_${name}`);\n const setId = generateLetUidIdentifier(scopeParent, `set_${name}`);\n\n addCallAccessorsFor(version, newPath, key, getId, setId, isStatic);\n\n locals = [newFieldInitId, getId, setId];\n } else {\n assignIdForAnonymousClass(path, className);\n addProxyAccessorsFor(\n path.node.id,\n newPath,\n t.cloneNode(key),\n t.isAssignmentExpression(key)\n ? t.cloneNode(key.left as t.Identifier)\n : t.cloneNode(key),\n newId,\n isComputed,\n isStatic,\n version,\n );\n locals = [newFieldInitId];\n }\n } else if (kind === FIELD) {\n const initId = generateLetUidIdentifier(scopeParent, `init_${name}`);\n const valuePath = (\n element as NodePath<t.ClassProperty | t.ClassPrivateProperty>\n ).get(\"value\");\n\n const args: t.Expression[] =\n (process.env.BABEL_8_BREAKING || version === \"2023-11\") && isStatic\n ? []\n : [t.thisExpression()];\n if (valuePath.node) args.push(valuePath.node);\n\n valuePath.replaceWith(t.callExpression(t.cloneNode(initId), args));\n\n locals = [initId];\n\n if (isPrivate) {\n privateMethods = extractProxyAccessorsFor(key, version);\n }\n } else if (isPrivate) {\n const callId = generateLetUidIdentifier(scopeParent, `call_${name}`);\n locals = [callId];\n\n const replaceSupers = new ReplaceSupers({\n constantSuper,\n methodPath: element as NodePath<t.ClassPrivateMethod>,\n objectRef: classIdLocal,\n superRef: path.node.superClass,\n file: state.file,\n refToPreserve: classIdLocal,\n });\n\n replaceSupers.replace();\n\n privateMethods = [\n createFunctionExpressionFromPrivateMethod(\n element.node as t.ClassPrivateMethod,\n ),\n ];\n\n if (kind === GETTER || kind === SETTER) {\n movePrivateAccessor(\n element as NodePath<t.ClassPrivateMethod>,\n t.cloneNode(key),\n t.cloneNode(callId),\n isStatic,\n );\n } else {\n const node = element.node as t.ClassPrivateMethod;\n\n // Unshift\n path.node.body.body.unshift(\n t.classPrivateProperty(key, t.cloneNode(callId), [], node.static),\n );\n\n decoratedPrivateMethods.add(key.id.name);\n\n element.remove();\n }\n }\n\n elementDecoratorInfo.push({\n kind,\n decoratorsArray,\n decoratorsHaveThis,\n name: nameExpr,\n isStatic,\n privateMethods,\n locals,\n });\n\n if (element.node) {\n element.node.decorators = null;\n }\n }\n\n if (isComputed && computedKeyAssignments.length > 0) {\n if (classDecorators && element.isClassProperty({ static: true })) {\n // If the class is decorated, we don't insert computedKeyAssignments here\n // because any non-static computed elements defined after it will be moved\n // into the non-static class, so they will be evaluated before the key of\n // this field. At this momemnt, its key must be either a constant expression\n // or a uid reference which has been assigned _within_ the non-static class.\n } else {\n prependExpressionsToComputedKey(\n computedKeyAssignments,\n (kind === ACCESSOR\n ? element.getNextSibling() // the transpiled getter of the accessor property\n : element) as NodePath<ClassElementCanHaveComputedKeys>,\n );\n computedKeyAssignments = [];\n }\n }\n\n if (\n fieldInitializerExpressions.length > 0 &&\n !isStatic &&\n (kind === FIELD || kind === ACCESSOR)\n ) {\n prependExpressionsToFieldInitializer(\n fieldInitializerExpressions,\n element as NodePath<t.ClassProperty | t.ClassPrivateProperty>,\n );\n fieldInitializerExpressions = [];\n }\n\n if (\n staticFieldInitializerExpressions.length > 0 &&\n isStatic &&\n (kind === FIELD || kind === ACCESSOR)\n ) {\n prependExpressionsToFieldInitializer(\n staticFieldInitializerExpressions,\n element as NodePath<t.ClassProperty | t.ClassPrivateProperty>,\n );\n staticFieldInitializerExpressions = [];\n }\n\n if (hasDecorators && version === \"2023-11\") {\n if (kind === FIELD || kind === ACCESSOR) {\n const initExtraId = generateLetUidIdentifier(\n scopeParent,\n `init_extra_${name}`,\n );\n locals.push(initExtraId);\n const initExtraCall = t.callExpression(\n t.cloneNode(initExtraId),\n isStatic ? [] : [t.thisExpression()],\n );\n if (!isStatic) {\n fieldInitializerExpressions.push(initExtraCall);\n } else {\n staticFieldInitializerExpressions.push(initExtraCall);\n }\n }\n }\n }\n }\n\n if (computedKeyAssignments.length > 0) {\n const elements = path.get(\"body.body\");\n let lastComputedElement: NodePath<ClassElementCanHaveComputedKeys>;\n for (let i = elements.length - 1; i >= 0; i--) {\n const path = elements[i];\n const node = path.node as ClassElementCanHaveComputedKeys;\n if (node.computed) {\n if (classDecorators && t.isClassProperty(node, { static: true })) {\n continue;\n }\n lastComputedElement = path as NodePath<ClassElementCanHaveComputedKeys>;\n break;\n }\n }\n if (lastComputedElement != null) {\n appendExpressionsToComputedKey(\n computedKeyAssignments,\n lastComputedElement,\n );\n computedKeyAssignments = [];\n } else {\n // If there is no computed key, we will try to convert the first non-computed\n // class element into a computed key and insert assignments there. This will\n // be done after we handle the class elements split when the class is decorated.\n }\n }\n\n if (fieldInitializerExpressions.length > 0) {\n const isDerivedClass = !!path.node.superClass;\n if (constructorPath) {\n if (isDerivedClass) {\n insertExpressionsAfterSuperCallAndOptimize(\n fieldInitializerExpressions,\n constructorPath,\n protoInitLocal,\n );\n } else {\n prependExpressionsToConstructor(\n fieldInitializerExpressions,\n constructorPath,\n );\n }\n } else {\n path.node.body.body.unshift(\n createConstructorFromExpressions(\n fieldInitializerExpressions,\n isDerivedClass,\n ),\n );\n }\n fieldInitializerExpressions = [];\n }\n\n if (staticFieldInitializerExpressions.length > 0) {\n path.node.body.body.push(\n createStaticBlockFromExpressions(staticFieldInitializerExpressions),\n );\n staticFieldInitializerExpressions = [];\n }\n\n const sortedElementDecoratorInfo =\n toSortedDecoratorInfo(elementDecoratorInfo);\n\n const elementDecorations = generateDecorationExprs(\n process.env.BABEL_8_BREAKING || version === \"2023-11\"\n ? elementDecoratorInfo\n : sortedElementDecoratorInfo,\n version,\n );\n\n const elementLocals: t.Identifier[] = extractElementLocalAssignments(\n sortedElementDecoratorInfo,\n );\n\n if (protoInitLocal) {\n elementLocals.push(protoInitLocal);\n }\n\n if (staticInitLocal) {\n elementLocals.push(staticInitLocal);\n }\n\n const classLocals: t.Identifier[] = [];\n let classInitInjected = false;\n const classInitCall =\n classInitLocal && t.callExpression(t.cloneNode(classInitLocal), []);\n\n let originalClassPath = path;\n const originalClass = path.node;\n\n const staticClosures: t.AssignmentExpression[] = [];\n if (classDecorators) {\n classLocals.push(classIdLocal, classInitLocal);\n const statics: (\n | t.ClassProperty\n | t.ClassPrivateProperty\n | t.ClassPrivateMethod\n )[] = [];\n path.get(\"body.body\").forEach(element => {\n // Static blocks cannot be compiled to \"instance blocks\", but we can inline\n // them as IIFEs in the next property.\n if (element.isStaticBlock()) {\n if (hasInstancePrivateAccess(element, instancePrivateNames)) {\n const staticBlockClosureId = memoiseExpression(\n staticBlockToFunctionClosure(element.node),\n \"staticBlock\",\n staticClosures,\n );\n staticFieldInitializerExpressions.push(\n t.callExpression(\n t.memberExpression(staticBlockClosureId, t.identifier(\"call\")),\n [t.thisExpression()],\n ),\n );\n } else {\n staticFieldInitializerExpressions.push(\n staticBlockToIIFE(element.node),\n );\n }\n element.remove();\n return;\n }\n\n if (\n (element.isClassProperty() || element.isClassPrivateProperty()) &&\n element.node.static\n ) {\n const valuePath = (\n element as NodePath<t.ClassProperty | t.ClassPrivateProperty>\n ).get(\"value\");\n if (hasInstancePrivateAccess(valuePath, instancePrivateNames)) {\n const fieldValueClosureId = memoiseExpression(\n fieldInitializerToClosure(valuePath.node),\n \"fieldValue\",\n staticClosures,\n );\n valuePath.replaceWith(\n t.callExpression(\n t.memberExpression(fieldValueClosureId, t.identifier(\"call\")),\n [t.thisExpression()],\n ),\n );\n }\n if (staticFieldInitializerExpressions.length > 0) {\n prependExpressionsToFieldInitializer(\n staticFieldInitializerExpressions,\n element,\n );\n staticFieldInitializerExpressions = [];\n }\n element.node.static = false;\n statics.push(element.node);\n element.remove();\n } else if (element.isClassPrivateMethod({ static: true })) {\n // At this moment the element must not have decorators, so any private name\n // within the element must come from either params or body\n if (hasInstancePrivateAccess(element, instancePrivateNames)) {\n const replaceSupers = new ReplaceSupers({\n constantSuper,\n methodPath: element,\n objectRef: classIdLocal,\n superRef: path.node.superClass,\n file: state.file,\n refToPreserve: classIdLocal,\n });\n\n replaceSupers.replace();\n\n const privateMethodDelegateId = memoiseExpression(\n createFunctionExpressionFromPrivateMethod(element.node),\n element.get(\"key.id\").node.name,\n staticClosures,\n );\n\n if (ignoreFunctionLength) {\n element.node.params = [t.restElement(t.identifier(\"arg\"))];\n element.node.body = t.blockStatement([\n t.returnStatement(\n t.callExpression(\n t.memberExpression(\n privateMethodDelegateId,\n t.identifier(\"apply\"),\n ),\n [t.thisExpression(), t.identifier(\"arg\")],\n ),\n ),\n ]);\n } else {\n element.node.params = element.node.params.map((p, i) => {\n if (t.isRestElement(p)) {\n return t.restElement(t.identifier(\"arg\"));\n } else {\n return t.identifier(\"_\" + i);\n }\n });\n element.node.body = t.blockStatement([\n t.returnStatement(\n t.callExpression(\n t.memberExpression(\n privateMethodDelegateId,\n t.identifier(\"apply\"),\n ),\n [t.thisExpression(), t.identifier(\"arguments\")],\n ),\n ),\n ]);\n }\n }\n element.node.static = false;\n statics.push(element.node);\n element.remove();\n }\n });\n\n if (statics.length > 0 || staticFieldInitializerExpressions.length > 0) {\n const staticsClass = template.expression.ast`\n class extends ${state.addHelper(\"identity\")} {}\n ` as t.ClassExpression;\n staticsClass.body.body = [\n // Insert the original class to a computed key of the wrapper so that\n // 1) they share the same function context with the wrapper class\n // 2) the memoisation of static computed field is evaluated before they\n // are referenced in the wrapper class keys\n // Note that any static elements of the wrapper class can not be accessed\n // in the user land, so we don't have to remove the temporary class field.\n t.classProperty(\n t.toExpression(originalClass),\n undefined,\n undefined,\n undefined,\n /* computed */ true,\n /* static */ true,\n ),\n ...statics,\n ];\n\n const constructorBody: t.Expression[] = [];\n\n const newExpr = t.newExpression(staticsClass, []);\n\n if (staticFieldInitializerExpressions.length > 0) {\n constructorBody.push(...staticFieldInitializerExpressions);\n }\n if (classInitCall) {\n classInitInjected = true;\n constructorBody.push(classInitCall);\n }\n if (constructorBody.length > 0) {\n constructorBody.unshift(\n t.callExpression(t.super(), [t.cloneNode(classIdLocal)]),\n );\n\n // set isDerivedClass to false as we have already prepended super call\n staticsClass.body.body.push(\n createConstructorFromExpressions(\n constructorBody,\n /* isDerivedClass */ false,\n ),\n );\n } else {\n newExpr.arguments.push(t.cloneNode(classIdLocal));\n }\n\n const [newPath] = path.replaceWith(newExpr);\n\n // update originalClassPath according to the new AST\n originalClassPath = (\n newPath.get(\"callee\").get(\"body\") as NodePath<t.Class>\n ).get(\"body.0.key\");\n }\n }\n if (!classInitInjected && classInitCall) {\n path.node.body.body.push(\n t.staticBlock([t.expressionStatement(classInitCall)]),\n );\n }\n\n let { superClass } = originalClass;\n if (\n superClass &&\n (process.env.BABEL_8_BREAKING ||\n version === \"2023-11\" ||\n version === \"2023-05\")\n ) {\n const id = path.scope.maybeGenerateMemoised(superClass);\n if (id) {\n originalClass.superClass = t.assignmentExpression(\"=\", id, superClass);\n superClass = id;\n }\n }\n\n const applyDecoratorWrapper = t.staticBlock([]);\n originalClass.body.body.unshift(applyDecoratorWrapper);\n const applyDecsBody = applyDecoratorWrapper.body;\n if (computedKeyAssignments.length > 0) {\n const elements = originalClassPath.get(\"body.body\");\n let firstPublicElement: NodePath<t.ClassProperty | t.ClassMethod>;\n for (const path of elements) {\n if (\n (path.isClassProperty() || path.isClassMethod()) &&\n (path.node as t.ClassMethod).kind !== \"constructor\"\n ) {\n firstPublicElement = path;\n break;\n }\n }\n if (firstPublicElement != null) {\n // Convert its key to a computed one to host the decorator evaluations.\n convertToComputedKey(firstPublicElement);\n prependExpressionsToComputedKey(\n computedKeyAssignments,\n firstPublicElement,\n );\n } else {\n // When there is no public class elements, we inject a temporary computed\n // field whose key will host the decorator evaluations. The field will be\n // deleted immediately after it is defiend.\n originalClass.body.body.unshift(\n t.classProperty(\n t.sequenceExpression([\n ...computedKeyAssignments,\n t.stringLiteral(\"_\"),\n ]),\n undefined,\n undefined,\n undefined,\n /* computed */ true,\n /* static */ true,\n ),\n );\n applyDecsBody.push(\n t.expressionStatement(\n t.unaryExpression(\n \"delete\",\n t.memberExpression(t.thisExpression(), t.identifier(\"_\")),\n ),\n ),\n );\n }\n computedKeyAssignments = [];\n }\n\n applyDecsBody.push(\n t.expressionStatement(\n createLocalsAssignment(\n elementLocals,\n classLocals,\n elementDecorations,\n classDecorationsId ?? t.arrayExpression(classDecorations),\n t.numericLiteral(classDecorationsFlag),\n needsInstancePrivateBrandCheck ? lastInstancePrivateName : null,\n setClassName,\n t.cloneNode(superClass),\n state,\n version,\n ),\n ),\n );\n if (staticInitLocal) {\n applyDecsBody.push(\n t.expressionStatement(\n t.callExpression(t.cloneNode(staticInitLocal), [t.thisExpression()]),\n ),\n );\n }\n if (staticClosures.length > 0) {\n applyDecsBody.push(\n ...staticClosures.map(expr => t.expressionStatement(expr)),\n );\n }\n\n // When path is a ClassExpression, path.insertBefore will convert `path`\n // into a SequenceExpression\n path.insertBefore(classAssignments.map(expr => t.expressionStatement(expr)));\n\n if (needsDeclaraionForClassBinding) {\n const classBindingInfo = scopeParent.getBinding(classIdLocal.name);\n if (!classBindingInfo.constantViolations.length) {\n // optimization: reuse the inner class binding if the outer class binding is not mutated\n path.insertBefore(\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(t.cloneNode(classIdLocal)),\n ]),\n );\n } else {\n const classOuterBindingDelegateLocal = scopeParent.generateUidIdentifier(\n \"t\" + classIdLocal.name,\n );\n const classOuterBindingLocal = classIdLocal;\n path.replaceWithMultiple([\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(t.cloneNode(classOuterBindingLocal)),\n t.variableDeclarator(classOuterBindingDelegateLocal),\n ]),\n t.blockStatement([\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(t.cloneNode(classIdLocal)),\n ]),\n // needsDeclaraionForClassBinding is true ↔ node is a class declaration\n path.node as t.ClassDeclaration,\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.cloneNode(classOuterBindingDelegateLocal),\n t.cloneNode(classIdLocal),\n ),\n ),\n ]),\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.cloneNode(classOuterBindingLocal),\n t.cloneNode(classOuterBindingDelegateLocal),\n ),\n ),\n ]);\n }\n }\n\n if (decoratedPrivateMethods.size > 0) {\n checkPrivateMethodUpdateError(path, decoratedPrivateMethods);\n }\n\n // Recrawl the scope to make sure new identifiers are properly synced\n path.scope.crawl();\n\n return path;\n}\n\nfunction createLocalsAssignment(\n elementLocals: t.Identifier[],\n classLocals: t.Identifier[],\n elementDecorations: t.ArrayExpression | t.Identifier,\n classDecorations: t.ArrayExpression | t.Identifier,\n classDecorationsFlag: t.NumericLiteral,\n maybePrivateBrandName: t.PrivateName | null,\n setClassName: t.Identifier | t.StringLiteral | undefined,\n superClass: null | t.Expression,\n state: PluginPass,\n version: DecoratorVersionKind,\n) {\n let lhs, rhs;\n const args: t.Expression[] = [\n setClassName\n ? createSetFunctionNameCall(state, setClassName)\n : t.thisExpression(),\n classDecorations,\n elementDecorations,\n ];\n\n if (!process.env.BABEL_8_BREAKING) {\n if (version !== \"2023-11\") {\n args.splice(1, 2, elementDecorations, classDecorations);\n }\n if (\n version === \"2021-12\" ||\n (version === \"2022-03\" && !state.availableHelper(\"applyDecs2203R\"))\n ) {\n lhs = t.arrayPattern([...elementLocals, ...classLocals]);\n rhs = t.callExpression(\n state.addHelper(version === \"2021-12\" ? \"applyDecs\" : \"applyDecs2203\"),\n args,\n );\n return t.assignmentExpression(\"=\", lhs, rhs);\n } else if (version === \"2022-03\") {\n rhs = t.callExpression(state.addHelper(\"applyDecs2203R\"), args);\n } else if (version === \"2023-01\") {\n if (maybePrivateBrandName) {\n args.push(createPrivateBrandCheckClosure(maybePrivateBrandName));\n }\n rhs = t.callExpression(state.addHelper(\"applyDecs2301\"), args);\n } else if (version === \"2023-05\") {\n if (\n maybePrivateBrandName ||\n superClass ||\n classDecorationsFlag.value !== 0\n ) {\n args.push(classDecorationsFlag);\n }\n if (maybePrivateBrandName) {\n args.push(createPrivateBrandCheckClosure(maybePrivateBrandName));\n } else if (superClass) {\n args.push(t.unaryExpression(\"void\", t.numericLiteral(0)));\n }\n if (superClass) args.push(superClass);\n rhs = t.callExpression(state.addHelper(\"applyDecs2305\"), args);\n }\n }\n if (process.env.BABEL_8_BREAKING || version === \"2023-11\") {\n if (\n maybePrivateBrandName ||\n superClass ||\n classDecorationsFlag.value !== 0\n ) {\n args.push(classDecorationsFlag);\n }\n if (maybePrivateBrandName) {\n args.push(createPrivateBrandCheckClosure(maybePrivateBrandName));\n } else if (superClass) {\n args.push(t.unaryExpression(\"void\", t.numericLiteral(0)));\n }\n if (superClass) args.push(superClass);\n rhs = t.callExpression(state.addHelper(\"applyDecs2311\"), args);\n }\n\n // optimize `{ c: [classLocals] } = applyDecsHelper(...)` to\n // `[classLocals] = applyDecsHelper(...).c`\n if (elementLocals.length > 0) {\n if (classLocals.length > 0) {\n lhs = t.objectPattern([\n t.objectProperty(t.identifier(\"e\"), t.arrayPattern(elementLocals)),\n t.objectProperty(t.identifier(\"c\"), t.arrayPattern(classLocals)),\n ]);\n } else {\n lhs = t.arrayPattern(elementLocals);\n rhs = t.memberExpression(rhs, t.identifier(\"e\"), false, false);\n }\n } else {\n // invariant: classLocals.length > 0\n lhs = t.arrayPattern(classLocals);\n rhs = t.memberExpression(rhs, t.identifier(\"c\"), false, false);\n }\n\n return t.assignmentExpression(\"=\", lhs, rhs);\n}\n\nfunction isProtoKey(\n node: t.Identifier | t.StringLiteral | t.BigIntLiteral | t.NumericLiteral,\n) {\n return node.type === \"Identifier\"\n ? node.name === \"__proto__\"\n : node.value === \"__proto__\";\n}\n\nfunction isDecorated(node: t.Class | ClassDecoratableElement) {\n return node.decorators && node.decorators.length > 0;\n}\n\nfunction shouldTransformElement(node: ClassElement) {\n switch (node.type) {\n case \"ClassAccessorProperty\":\n return true;\n case \"ClassMethod\":\n case \"ClassProperty\":\n case \"ClassPrivateMethod\":\n case \"ClassPrivateProperty\":\n return isDecorated(node);\n default:\n return false;\n }\n}\n\nfunction shouldTransformClass(node: t.Class) {\n return isDecorated(node) || node.body.body.some(shouldTransformElement);\n}\n\n// Todo: unify name references logic with helper-function-name\nfunction NamedEvaluationVisitoryFactory(\n isAnonymous: (path: NodePath) => boolean,\n visitor: (\n path: NodePath,\n state: PluginPass,\n name:\n | string\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral,\n ) => void,\n) {\n function handleComputedProperty(\n propertyPath: NodePath<\n t.ObjectProperty | t.ClassProperty | t.ClassAccessorProperty\n >,\n key: t.Expression,\n state: PluginPass,\n ): t.StringLiteral | t.Identifier {\n switch (key.type) {\n case \"StringLiteral\":\n return t.stringLiteral(key.value);\n case \"NumericLiteral\":\n case \"BigIntLiteral\": {\n const keyValue = key.value + \"\";\n propertyPath.get(\"key\").replaceWith(t.stringLiteral(keyValue));\n return t.stringLiteral(keyValue);\n }\n default: {\n const ref = propertyPath.scope.maybeGenerateMemoised(key);\n propertyPath\n .get(\"key\")\n .replaceWith(\n t.assignmentExpression(\n \"=\",\n ref,\n createToPropertyKeyCall(state, key),\n ),\n );\n return t.cloneNode(ref);\n }\n }\n }\n return {\n VariableDeclarator(path, state) {\n const id = path.node.id;\n if (id.type === \"Identifier\") {\n const initializer = skipTransparentExprWrappers(path.get(\"init\"));\n if (isAnonymous(initializer)) {\n const name = id.name;\n visitor(initializer, state, name);\n }\n }\n },\n AssignmentExpression(path, state) {\n const id = path.node.left;\n if (id.type === \"Identifier\") {\n const initializer = skipTransparentExprWrappers(path.get(\"right\"));\n if (isAnonymous(initializer)) {\n switch (path.node.operator) {\n case \"=\":\n case \"&&=\":\n case \"||=\":\n case \"??=\":\n visitor(initializer, state, id.name);\n }\n }\n }\n },\n AssignmentPattern(path, state) {\n const id = path.node.left;\n if (id.type === \"Identifier\") {\n const initializer = skipTransparentExprWrappers(path.get(\"right\"));\n if (isAnonymous(initializer)) {\n const name = id.name;\n visitor(initializer, state, name);\n }\n }\n },\n // We listen on ObjectExpression so that we don't have to visit\n // the object properties under object patterns\n ObjectExpression(path, state) {\n for (const propertyPath of path.get(\"properties\")) {\n if (!propertyPath.isObjectProperty()) continue;\n const { node } = propertyPath;\n const id = node.key;\n const initializer = skipTransparentExprWrappers(\n propertyPath.get(\"value\") as NodePath<t.Expression>,\n );\n if (isAnonymous(initializer)) {\n if (!node.computed) {\n // 13.2.5.5 RS: PropertyDefinitionEvaluation\n if (!isProtoKey(id as t.StringLiteral | t.Identifier)) {\n if (id.type === \"Identifier\") {\n visitor(initializer, state, id.name);\n } else {\n const className = t.stringLiteral(\n (id as t.StringLiteral | t.NumericLiteral | t.BigIntLiteral)\n .value + \"\",\n );\n visitor(initializer, state, className);\n }\n }\n } else {\n const ref = handleComputedProperty(\n propertyPath,\n // The key of a computed object property must not be a private name\n id as t.Expression,\n state,\n );\n visitor(initializer, state, ref);\n }\n }\n }\n },\n ClassPrivateProperty(path, state) {\n const { node } = path;\n const initializer = skipTransparentExprWrappers(path.get(\"value\"));\n if (isAnonymous(initializer)) {\n const className = t.stringLiteral(\"#\" + node.key.id.name);\n visitor(initializer, state, className);\n }\n },\n ClassAccessorProperty(path, state) {\n const { node } = path;\n const id = node.key;\n const initializer = skipTransparentExprWrappers(path.get(\"value\"));\n if (isAnonymous(initializer)) {\n if (!node.computed) {\n if (id.type === \"Identifier\") {\n visitor(initializer, state, id.name);\n } else if (id.type === \"PrivateName\") {\n const className = t.stringLiteral(\"#\" + id.id.name);\n visitor(initializer, state, className);\n } else {\n const className = t.stringLiteral(\n (id as t.StringLiteral | t.NumericLiteral | t.BigIntLiteral)\n .value + \"\",\n );\n visitor(initializer, state, className);\n }\n } else {\n const ref = handleComputedProperty(\n path,\n // The key of a computed accessor property must not be a private name\n id as t.Expression,\n state,\n );\n visitor(initializer, state, ref);\n }\n }\n },\n ClassProperty(path, state) {\n const { node } = path;\n const id = node.key;\n const initializer = skipTransparentExprWrappers(path.get(\"value\"));\n if (isAnonymous(initializer)) {\n if (!node.computed) {\n if (id.type === \"Identifier\") {\n visitor(initializer, state, id.name);\n } else {\n const className = t.stringLiteral(\n (id as t.StringLiteral | t.NumericLiteral | t.BigIntLiteral)\n .value + \"\",\n );\n visitor(initializer, state, className);\n }\n } else {\n const ref = handleComputedProperty(path, id, state);\n visitor(initializer, state, ref);\n }\n }\n },\n } satisfies Visitor<PluginPass>;\n}\n\nfunction isDecoratedAnonymousClassExpression(path: NodePath) {\n return (\n path.isClassExpression({ id: null }) && shouldTransformClass(path.node)\n );\n}\n\nfunction generateLetUidIdentifier(scope: Scope, name: string) {\n const id = scope.generateUidIdentifier(name);\n scope.push({ id, kind: \"let\" });\n return t.cloneNode(id);\n}\n\nexport default function (\n { assertVersion, assumption }: PluginAPI,\n { loose }: Options,\n version: DecoratorVersionKind,\n inherits: PluginObject[\"inherits\"],\n): PluginObject {\n if (process.env.BABEL_8_BREAKING) {\n assertVersion(REQUIRED_VERSION(\"^7.21.0\"));\n } else {\n if (\n version === \"2023-11\" ||\n version === \"2023-05\" ||\n version === \"2023-01\"\n ) {\n assertVersion(REQUIRED_VERSION(\"^7.21.0\"));\n } else if (version === \"2021-12\") {\n assertVersion(REQUIRED_VERSION(\"^7.16.0\"));\n } else {\n assertVersion(REQUIRED_VERSION(\"^7.19.0\"));\n }\n }\n\n const VISITED = new WeakSet<NodePath>();\n const constantSuper = assumption(\"constantSuper\") ?? loose;\n const ignoreFunctionLength = assumption(\"ignoreFunctionLength\") ?? loose;\n\n const namedEvaluationVisitor: Visitor<PluginPass> =\n NamedEvaluationVisitoryFactory(\n isDecoratedAnonymousClassExpression,\n visitClass,\n );\n\n function visitClass(\n path: NodePath<t.Class>,\n state: PluginPass,\n className: string | t.Identifier | t.StringLiteral | undefined,\n ) {\n if (VISITED.has(path)) return;\n const { node } = path;\n className ??= node.id?.name;\n const newPath = transformClass(\n path,\n state,\n constantSuper,\n ignoreFunctionLength,\n className,\n namedEvaluationVisitor,\n version,\n );\n if (newPath) {\n VISITED.add(newPath);\n return;\n }\n VISITED.add(path);\n }\n\n return {\n name: \"proposal-decorators\",\n inherits: inherits,\n\n visitor: {\n ExportDefaultDeclaration(path, state) {\n const { declaration } = path.node;\n if (\n declaration?.type === \"ClassDeclaration\" &&\n // When compiling class decorators we need to replace the class\n // binding, so we must split it in two separate declarations.\n isDecorated(declaration)\n ) {\n const isAnonymous = !declaration.id;\n if (!process.env.BABEL_8_BREAKING && !USE_ESM && !IS_STANDALONE) {\n // polyfill when being run by an older Babel version\n path.splitExportDeclaration ??=\n // eslint-disable-next-line no-restricted-globals\n require(\"@babel/traverse\").NodePath.prototype.splitExportDeclaration;\n }\n const updatedVarDeclarationPath =\n path.splitExportDeclaration() as NodePath<t.ClassDeclaration>;\n if (isAnonymous) {\n visitClass(\n updatedVarDeclarationPath,\n state,\n t.stringLiteral(\"default\"),\n );\n }\n }\n },\n ExportNamedDeclaration(path) {\n const { declaration } = path.node;\n if (\n declaration?.type === \"ClassDeclaration\" &&\n // When compiling class decorators we need to replace the class\n // binding, so we must split it in two separate declarations.\n isDecorated(declaration)\n ) {\n if (!process.env.BABEL_8_BREAKING && !USE_ESM && !IS_STANDALONE) {\n // polyfill when being run by an older Babel version\n path.splitExportDeclaration ??=\n // eslint-disable-next-line no-restricted-globals\n require(\"@babel/traverse\").NodePath.prototype.splitExportDeclaration;\n }\n path.splitExportDeclaration();\n }\n },\n\n Class(path, state) {\n visitClass(path, state, undefined);\n },\n\n ...namedEvaluationVisitor,\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file +{"version":3,"names":["_core","require","_helperReplaceSupers","_helperSkipTransparentExpressionWrappers","_fields","_misc","incrementId","id","idx","length","unshift","current","createPrivateUidGeneratorForClass","classPath","currentPrivateId","privateNames","Set","traverse","PrivateName","path","add","node","name","reifiedId","String","fromCharCode","has","t","privateName","identifier","createLazyPrivateUidGeneratorForClass","generator","replaceClassWithVar","className","scope","type","varId","generateUidIdentifierBasedOnNode","classId","rename","get","replaceWith","cloneNode","generateLetUidIdentifier","parent","newClassExpr","classExpression","superClass","body","newPath","sequenceExpression","generateClassProperty","key","value","isStatic","classPrivateProperty","undefined","classProperty","assignIdForAnonymousClass","generateUidIdentifier","addProxyAccessorsFor","element","getterKey","setterKey","targetKey","isComputed","version","thisArg","thisExpression","getterBody","blockStatement","returnStatement","memberExpression","setterBody","expressionStatement","assignmentExpression","getter","setter","classPrivateMethod","classMethod","insertAfter","extractProxyAccessorsFor","template","expression","ast","getComputedKeyLastElement","skipTransparentExprWrappers","isSequenceExpression","expressions","getComputedKeyMemoiser","isConstantExpression","isIdentifier","hasUid","isAssignmentExpression","left","Error","toString","prependExpressionsToComputedKey","fieldPath","push","maybeSequenceExpression","appendExpressionsToComputedKey","completion","scopeParent","maybeAssignment","memoiseComputedKey","generateUid","expressionSequence","completionParent","parentPath","pushContainer","prependExpressionsToFieldInitializer","initializer","unaryExpression","prependExpressionsToStaticBlock","blockPath","unshiftContainer","prependExpressionsToConstructor","constructorPath","isProtoInitCallExpression","protoInitCall","isCallExpression","callee","optimizeSuperCallAndExpressions","protoInitLocal","mergedSuperCall","callExpression","splice","isThisExpression","insertExpressionsAfterSuperCallAndOptimize","CallExpression","exit","isSuper","newNodes","map","expr","isCompletionRecord","skip","ClassMethod","kind","createConstructorFromExpressions","isDerivedClass","super","spreadElement","restElement","createStaticBlockFromExpressions","staticBlock","FIELD","ACCESSOR","METHOD","GETTER","SETTER","STATIC_OLD_VERSION","STATIC","DECORATORS_HAVE_THIS","getElementKind","toSortedDecoratorInfo","info","filter","el","generateDecorationList","decorators","decoratorsThis","decsCount","haveOneThis","some","Boolean","decs","i","numericLiteral","haveThis","generateDecorationExprs","decorationInfo","arrayExpression","flag","decoratorsHaveThis","decoratorsArray","privateMethods","extractElementLocalAssignments","localIds","locals","Array","isArray","addCallAccessorsFor","getId","setId","movePrivateAccessor","methodLocalVar","params","block","isClassDecoratableElementPath","staticBlockToIIFE","arrowFunctionExpression","staticBlockToFunctionClosure","functionExpression","fieldInitializerToClosure","exprs","createFunctionExpressionFromPrivateMethod","isGenerator","async","isAsync","createSetFunctionNameCall","state","addHelper","createToPropertyKeyCall","propertyKey","createPrivateBrandCheckClosure","brandName","binaryExpression","usesPrivateField","traverseFast","isPrivateName","_unused","convertToComputedKey","computed","stringLiteral","hasInstancePrivateAccess","containsInstancePrivateAccess","privateNameVisitor","privateNameVisitorFactory","privateNamesMap","stop","Map","set","checkPrivateMethodUpdateError","decoratedPrivateMethods","parentParentPath","buildCodeFrameError","transformClass","constantSuper","ignoreFunctionLength","propertyVisitor","_path$node$id","_classDecorationsId","classDecorators","hasElementDecorators","hasComputedKeysSideEffects","elemDecsUseFnContext","generateClassPrivateUid","classAssignments","memoiseExpression","hint","assignments","localEvaluatedId","staticInitLocal","classIdName","setClassName","usesFunctionContextOrYieldAwait","decorator","isYieldExpression","isAwaitExpression","isMetaProperty","meta","_unused2","instancePrivateNames","elementNode","static","isDecorated","ClassProperty","ClassPrivateProperty","ClassAccessorProperty","_staticInitLocal","_protoInitLocal","newId","newField","keyPath","elementDecoratorInfo","classInitLocal","classIdLocal","decoratorReceiverId","handleDecorators","hasSideEffects","usesFnContext","object","isMemberExpression","_decoratorReceiverId","willExtractSomeElemDecs","needsDeclaraionForClassBinding","classDecorationsFlag","classDecorations","classDecorationsId","computedKeyAssignments","isClassDeclaration","classDecsUsePrivateName","isClassProperty","lastInstancePrivateName","needsInstancePrivateBrandCheck","fieldInitializerExpressions","staticFieldInitializerExpressions","isStaticBlock","hasDecorators","isPrivate","isClassPrivateProperty","isClassMethod","nameExpr","newFieldInitId","newValue","initId","valuePath","args","callId","replaceSupers","ReplaceSupers","methodPath","objectRef","superRef","file","refToPreserve","replace","remove","getNextSibling","initExtraId","initExtraCall","elements","lastComputedElement","sortedElementDecoratorInfo","elementDecorations","elementLocals","classLocals","classInitInjected","classInitCall","originalClassPath","originalClass","staticClosures","statics","forEach","staticBlockClosureId","fieldValueClosureId","isClassPrivateMethod","privateMethodDelegateId","p","isRestElement","staticsClass","toExpression","constructorBody","newExpr","newExpression","arguments","maybeGenerateMemoised","applyDecoratorWrapper","applyDecsBody","firstPublicElement","createLocalsAssignment","insertBefore","classBindingInfo","getBinding","constantViolations","variableDeclaration","variableDeclarator","classOuterBindingDelegateLocal","classOuterBindingLocal","replaceWithMultiple","size","crawl","maybePrivateBrandName","lhs","rhs","availableHelper","arrayPattern","objectPattern","objectProperty","isProtoKey","shouldTransformElement","shouldTransformClass","NamedEvaluationVisitoryFactory","isAnonymous","visitor","handleComputedProperty","propertyPath","keyValue","ref","VariableDeclarator","AssignmentExpression","operator","AssignmentPattern","ObjectExpression","isObjectProperty","isDecoratedAnonymousClassExpression","isClassExpression","_default","assertVersion","assumption","loose","inherits","_assumption","_assumption2","VISITED","WeakSet","namedEvaluationVisitor","visitClass","_className","_node$id","Object","assign","ExportDefaultDeclaration","declaration","_path$splitExportDecl","splitExportDeclaration","NodePath","prototype","updatedVarDeclarationPath","ExportNamedDeclaration","_path$splitExportDecl2","Class"],"sources":["../src/decorators.ts"],"sourcesContent":["import type { NodePath, Scope, Visitor } from \"@babel/core\";\nimport { types as t, template } from \"@babel/core\";\nimport ReplaceSupers from \"@babel/helper-replace-supers\";\nimport type { PluginAPI, PluginObject, PluginPass } from \"@babel/core\";\nimport { skipTransparentExprWrappers } from \"@babel/helper-skip-transparent-expression-wrappers\";\nimport {\n privateNameVisitorFactory,\n type PrivateNameVisitorState,\n} from \"./fields.ts\";\nimport { memoiseComputedKey } from \"./misc.ts\";\n\n// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\ninterface Options {\n /** @deprecated use `constantSuper` assumption instead. Only supported in 2021-12 version. */\n loose?: boolean;\n}\n\ntype ClassDecoratableElement =\n | t.ClassMethod\n | t.ClassPrivateMethod\n | t.ClassProperty\n | t.ClassPrivateProperty\n | t.ClassAccessorProperty;\n\ntype ClassElement =\n | ClassDecoratableElement\n | t.TSDeclareMethod\n | t.TSIndexSignature\n | t.StaticBlock;\n\ntype ClassElementCanHaveComputedKeys =\n | t.ClassMethod\n | t.ClassProperty\n | t.ClassAccessorProperty;\n\n// TODO(Babel 8): Only keep 2023-11\nexport type DecoratorVersionKind =\n | \"2023-11\"\n | \"2023-05\"\n | \"2023-01\"\n | \"2022-03\"\n | \"2021-12\";\n\nfunction incrementId(id: number[], idx = id.length - 1): void {\n // If index is -1, id needs an additional character, unshift A\n if (idx === -1) {\n id.unshift(charCodes.uppercaseA);\n return;\n }\n\n const current = id[idx];\n\n if (current === charCodes.uppercaseZ) {\n // if current is Z, skip to a\n id[idx] = charCodes.lowercaseA;\n } else if (current === charCodes.lowercaseZ) {\n // if current is z, reset to A and carry the 1\n id[idx] = charCodes.uppercaseA;\n incrementId(id, idx - 1);\n } else {\n // else, increment by one\n id[idx] = current + 1;\n }\n}\n\n/**\n * Generates a new private name that is unique to the given class. This can be\n * used to create extra class fields and methods for the implementation, while\n * keeping the length of those names as small as possible. This is important for\n * minification purposes (though private names can generally be minified,\n * transpilations and polyfills cannot yet).\n */\nfunction createPrivateUidGeneratorForClass(\n classPath: NodePath<t.ClassDeclaration | t.ClassExpression>,\n): () => t.PrivateName {\n const currentPrivateId: number[] = [];\n const privateNames = new Set<string>();\n\n classPath.traverse({\n PrivateName(path) {\n privateNames.add(path.node.id.name);\n },\n });\n\n return (): t.PrivateName => {\n let reifiedId;\n do {\n incrementId(currentPrivateId);\n reifiedId = String.fromCharCode(...currentPrivateId);\n } while (privateNames.has(reifiedId));\n\n return t.privateName(t.identifier(reifiedId));\n };\n}\n\n/**\n * Wraps the above generator function so that it's run lazily the first time\n * it's actually required. Several types of decoration do not require this, so it\n * saves iterating the class elements an additional time and allocating the space\n * for the Sets of element names.\n */\nfunction createLazyPrivateUidGeneratorForClass(\n classPath: NodePath<t.ClassDeclaration | t.ClassExpression>,\n): () => t.PrivateName {\n let generator: () => t.PrivateName;\n\n return (): t.PrivateName => {\n if (!generator) {\n generator = createPrivateUidGeneratorForClass(classPath);\n }\n\n return generator();\n };\n}\n\n/**\n * Takes a class definition and the desired class name if anonymous and\n * replaces it with an equivalent class declaration (path) which is then\n * assigned to a local variable (id). This allows us to reassign the local variable with the\n * decorated version of the class. The class definition retains its original\n * name so that `toString` is not affected, other references to the class\n * are renamed instead.\n */\nfunction replaceClassWithVar(\n path: NodePath<t.ClassDeclaration | t.ClassExpression>,\n className: string | t.Identifier | t.StringLiteral | undefined,\n): {\n id: t.Identifier;\n path: NodePath<t.ClassDeclaration | t.ClassExpression>;\n} {\n const id = path.node.id;\n const scope = path.scope;\n if (path.type === \"ClassDeclaration\") {\n const className = id.name;\n const varId = scope.generateUidIdentifierBasedOnNode(id);\n const classId = t.identifier(className);\n\n scope.rename(className, varId.name);\n\n path.get(\"id\").replaceWith(classId);\n\n return { id: t.cloneNode(varId), path };\n } else {\n let varId: t.Identifier;\n\n if (id) {\n className = id.name;\n varId = generateLetUidIdentifier(scope.parent, className);\n scope.rename(className, varId.name);\n } else {\n varId = generateLetUidIdentifier(\n scope.parent,\n typeof className === \"string\" ? className : \"decorated_class\",\n );\n }\n\n const newClassExpr = t.classExpression(\n typeof className === \"string\" ? t.identifier(className) : null,\n path.node.superClass,\n path.node.body,\n );\n\n const [newPath] = path.replaceWith(\n t.sequenceExpression([newClassExpr, varId]),\n );\n\n return {\n id: t.cloneNode(varId),\n path: newPath.get(\"expressions.0\") as NodePath<t.ClassExpression>,\n };\n }\n}\n\nfunction generateClassProperty(\n key: t.PrivateName | t.Identifier,\n value: t.Expression | undefined,\n isStatic: boolean,\n): t.ClassPrivateProperty | t.ClassProperty {\n if (key.type === \"PrivateName\") {\n return t.classPrivateProperty(key, value, undefined, isStatic);\n } else {\n return t.classProperty(key, value, undefined, undefined, isStatic);\n }\n}\n\nfunction assignIdForAnonymousClass(\n path: NodePath<t.Class>,\n className: string | t.Identifier | t.StringLiteral | undefined,\n) {\n if (!path.node.id) {\n path.node.id =\n typeof className === \"string\"\n ? t.identifier(className)\n : path.scope.generateUidIdentifier(\"Class\");\n }\n}\n\nfunction addProxyAccessorsFor(\n className: t.Identifier,\n element: NodePath<ClassDecoratableElement>,\n getterKey: t.PrivateName | t.Expression,\n setterKey: t.PrivateName | t.Expression,\n targetKey: t.PrivateName,\n isComputed: boolean,\n isStatic: boolean,\n version: DecoratorVersionKind,\n): void {\n const thisArg =\n (version === \"2023-11\" ||\n (!process.env.BABEL_8_BREAKING && version === \"2023-05\")) &&\n isStatic\n ? className\n : t.thisExpression();\n\n const getterBody = t.blockStatement([\n t.returnStatement(\n t.memberExpression(t.cloneNode(thisArg), t.cloneNode(targetKey)),\n ),\n ]);\n\n const setterBody = t.blockStatement([\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.memberExpression(t.cloneNode(thisArg), t.cloneNode(targetKey)),\n t.identifier(\"v\"),\n ),\n ),\n ]);\n\n let getter: t.ClassMethod | t.ClassPrivateMethod,\n setter: t.ClassMethod | t.ClassPrivateMethod;\n\n if (getterKey.type === \"PrivateName\") {\n getter = t.classPrivateMethod(\"get\", getterKey, [], getterBody, isStatic);\n setter = t.classPrivateMethod(\n \"set\",\n setterKey as t.PrivateName,\n [t.identifier(\"v\")],\n setterBody,\n isStatic,\n );\n } else {\n getter = t.classMethod(\n \"get\",\n getterKey,\n [],\n getterBody,\n isComputed,\n isStatic,\n );\n setter = t.classMethod(\n \"set\",\n setterKey as t.Expression,\n [t.identifier(\"v\")],\n setterBody,\n isComputed,\n isStatic,\n );\n }\n\n element.insertAfter(setter);\n element.insertAfter(getter);\n}\n\nfunction extractProxyAccessorsFor(\n targetKey: t.PrivateName,\n version: DecoratorVersionKind,\n): (t.FunctionExpression | t.ArrowFunctionExpression)[] {\n if (version !== \"2023-11\" && version !== \"2023-05\" && version !== \"2023-01\") {\n return [\n template.expression.ast`\n function () {\n return this.${t.cloneNode(targetKey)};\n }\n ` as t.FunctionExpression,\n template.expression.ast`\n function (value) {\n this.${t.cloneNode(targetKey)} = value;\n }\n ` as t.FunctionExpression,\n ];\n }\n return [\n template.expression.ast`\n o => o.${t.cloneNode(targetKey)}\n ` as t.ArrowFunctionExpression,\n template.expression.ast`\n (o, v) => o.${t.cloneNode(targetKey)} = v\n ` as t.ArrowFunctionExpression,\n ];\n}\n\n/**\n * Get the last element for the given computed key path.\n *\n * This function unwraps transparent wrappers and gets the last item when\n * the key is a SequenceExpression.\n *\n * @param {NodePath<t.Expression>} path The key of a computed class element\n * @returns {NodePath<t.Expression>} The simple completion result\n */\nfunction getComputedKeyLastElement(\n path: NodePath<t.Expression>,\n): NodePath<t.Expression> {\n path = skipTransparentExprWrappers(path);\n if (path.isSequenceExpression()) {\n const expressions = path.get(\"expressions\");\n return getComputedKeyLastElement(expressions[expressions.length - 1]);\n }\n return path;\n}\n\n/**\n * Get a memoiser of the computed key path.\n *\n * This function does not mutate AST. If the computed key is not a constant\n * expression, this function must be called after the key has been memoised.\n *\n * @param {NodePath<t.Expression>} path The key of a computed class element.\n * @returns {t.Expression} A clone of key if key is a constant expression,\n * otherwise a memoiser identifier.\n */\nfunction getComputedKeyMemoiser(path: NodePath<t.Expression>): t.Expression {\n const element = getComputedKeyLastElement(path);\n if (element.isConstantExpression()) {\n return t.cloneNode(path.node);\n } else if (element.isIdentifier() && path.scope.hasUid(element.node.name)) {\n return t.cloneNode(path.node);\n } else if (\n element.isAssignmentExpression() &&\n element.get(\"left\").isIdentifier()\n ) {\n return t.cloneNode(element.node.left as t.Identifier);\n } else {\n throw new Error(\n `Internal Error: the computed key ${path.toString()} has not yet been memoised.`,\n );\n }\n}\n\n/**\n * Prepend expressions to the computed key of the given field path.\n *\n * If the computed key is a sequence expression, this function will unwrap\n * the sequence expression for optimal output size.\n *\n * @param {t.Expression[]} expressions\n * @param {(NodePath<\n * t.ClassMethod | t.ClassProperty | t.ClassAccessorProperty\n * >)} fieldPath\n */\nfunction prependExpressionsToComputedKey(\n expressions: t.Expression[],\n fieldPath: NodePath<\n t.ClassMethod | t.ClassProperty | t.ClassAccessorProperty\n >,\n) {\n const key = fieldPath.get(\"key\") as NodePath<t.Expression>;\n if (key.isSequenceExpression()) {\n expressions.push(...key.node.expressions);\n } else {\n expressions.push(key.node);\n }\n key.replaceWith(maybeSequenceExpression(expressions));\n}\n\n/**\n * Append expressions to the computed key of the given field path.\n *\n * If the computed key is a constant expression or uid reference, it\n * will prepend expressions before the comptued key. Otherwise it will\n * memoise the computed key to preserve its completion result.\n *\n * @param {t.Expression[]} expressions\n * @param {(NodePath<\n * t.ClassMethod | t.ClassProperty | t.ClassAccessorProperty\n * >)} fieldPath\n */\nfunction appendExpressionsToComputedKey(\n expressions: t.Expression[],\n fieldPath: NodePath<\n t.ClassMethod | t.ClassProperty | t.ClassAccessorProperty\n >,\n) {\n const key = fieldPath.get(\"key\") as NodePath<t.Expression>;\n const completion = getComputedKeyLastElement(key);\n if (completion.isConstantExpression()) {\n prependExpressionsToComputedKey(expressions, fieldPath);\n } else {\n const scopeParent = key.scope.parent;\n const maybeAssignment = memoiseComputedKey(\n completion.node,\n scopeParent,\n scopeParent.generateUid(\"computedKey\"),\n );\n if (!maybeAssignment) {\n // If the memoiseComputedKey returns undefined, the key is already a uid reference,\n // treat it as a constant expression and prepend expressions before it\n prependExpressionsToComputedKey(expressions, fieldPath);\n } else {\n const expressionSequence = [\n ...expressions,\n // preserve the completion result\n t.cloneNode(maybeAssignment.left),\n ];\n const completionParent = completion.parentPath;\n if (completionParent.isSequenceExpression()) {\n completionParent.pushContainer(\"expressions\", expressionSequence);\n } else {\n completion.replaceWith(\n maybeSequenceExpression([\n t.cloneNode(maybeAssignment),\n ...expressionSequence,\n ]),\n );\n }\n }\n }\n}\n\n/**\n * Prepend expressions to the field initializer. If the initializer is not defined,\n * this function will wrap the last expression within a `void` unary expression.\n *\n * @param {t.Expression[]} expressions\n * @param {(NodePath<\n * t.ClassProperty | t.ClassPrivateProperty | t.ClassAccessorProperty\n * >)} fieldPath\n */\nfunction prependExpressionsToFieldInitializer(\n expressions: t.Expression[],\n fieldPath: NodePath<\n t.ClassProperty | t.ClassPrivateProperty | t.ClassAccessorProperty\n >,\n) {\n const initializer = fieldPath.get(\"value\");\n if (initializer.node) {\n expressions.push(initializer.node);\n } else if (expressions.length > 0) {\n expressions[expressions.length - 1] = t.unaryExpression(\n \"void\",\n expressions[expressions.length - 1],\n );\n }\n initializer.replaceWith(maybeSequenceExpression(expressions));\n}\n\nfunction prependExpressionsToStaticBlock(\n expressions: t.Expression[],\n blockPath: NodePath<t.StaticBlock>,\n) {\n blockPath.unshiftContainer(\n \"body\",\n t.expressionStatement(maybeSequenceExpression(expressions)),\n );\n}\n\nfunction prependExpressionsToConstructor(\n expressions: t.Expression[],\n constructorPath: NodePath<t.ClassMethod>,\n) {\n constructorPath.node.body.body.unshift(\n t.expressionStatement(maybeSequenceExpression(expressions)),\n );\n}\n\nfunction isProtoInitCallExpression(\n expression: t.Expression,\n protoInitCall: t.Identifier,\n) {\n return (\n t.isCallExpression(expression) &&\n t.isIdentifier(expression.callee, { name: protoInitCall.name })\n );\n}\n\n/**\n * Optimize super call and its following expressions\n *\n * @param {t.Expression[]} expressions Mutated by this function. The first element must by a super call\n * @param {t.Identifier} protoInitLocal The generated protoInit id\n * @returns optimized expression\n */\nfunction optimizeSuperCallAndExpressions(\n expressions: t.Expression[],\n protoInitLocal: t.Identifier,\n) {\n if (protoInitLocal) {\n if (\n expressions.length >= 2 &&\n isProtoInitCallExpression(expressions[1], protoInitLocal)\n ) {\n // Merge `super(), protoInit(this)` into `protoInit(super())`\n const mergedSuperCall = t.callExpression(t.cloneNode(protoInitLocal), [\n expressions[0],\n ]);\n expressions.splice(0, 2, mergedSuperCall);\n }\n // Merge `protoInit(super()), this` into `protoInit(super())`\n if (\n expressions.length >= 2 &&\n t.isThisExpression(expressions[expressions.length - 1]) &&\n isProtoInitCallExpression(\n expressions[expressions.length - 2],\n protoInitLocal,\n )\n ) {\n expressions.splice(expressions.length - 1, 1);\n }\n }\n return maybeSequenceExpression(expressions);\n}\n\n/**\n * Insert expressions immediately after super() and optimize the output if possible.\n * This function will preserve the completion result using the trailing this expression.\n *\n * @param {t.Expression[]} expressions\n * @param {NodePath<t.ClassMethod>} constructorPath\n * @param {t.Identifier} protoInitLocal The generated protoInit id\n * @returns\n */\nfunction insertExpressionsAfterSuperCallAndOptimize(\n expressions: t.Expression[],\n constructorPath: NodePath<t.ClassMethod>,\n protoInitLocal: t.Identifier,\n) {\n constructorPath.traverse({\n CallExpression: {\n exit(path) {\n if (!path.get(\"callee\").isSuper()) return;\n const newNodes = [\n path.node,\n ...expressions.map(expr => t.cloneNode(expr)),\n ];\n // preserve completion result if super() is in an RHS or a return statement\n if (path.isCompletionRecord()) {\n newNodes.push(t.thisExpression());\n }\n path.replaceWith(\n optimizeSuperCallAndExpressions(newNodes, protoInitLocal),\n );\n\n path.skip();\n },\n },\n ClassMethod(path) {\n if (path.node.kind === \"constructor\") {\n path.skip();\n }\n },\n });\n}\n\n/**\n * Build a class constructor node from the given expressions. If the class is\n * derived, the constructor will call super() first to ensure that `this`\n * in the expressions work as expected.\n *\n * @param {t.Expression[]} expressions\n * @param {boolean} isDerivedClass\n * @returns The class constructor node\n */\nfunction createConstructorFromExpressions(\n expressions: t.Expression[],\n isDerivedClass: boolean,\n) {\n const body: t.Statement[] = [\n t.expressionStatement(maybeSequenceExpression(expressions)),\n ];\n if (isDerivedClass) {\n body.unshift(\n t.expressionStatement(\n t.callExpression(t.super(), [t.spreadElement(t.identifier(\"args\"))]),\n ),\n );\n }\n return t.classMethod(\n \"constructor\",\n t.identifier(\"constructor\"),\n isDerivedClass ? [t.restElement(t.identifier(\"args\"))] : [],\n t.blockStatement(body),\n );\n}\n\nfunction createStaticBlockFromExpressions(expressions: t.Expression[]) {\n return t.staticBlock([\n t.expressionStatement(maybeSequenceExpression(expressions)),\n ]);\n}\n\n// 3 bits reserved to this (0-7)\nconst FIELD = 0;\nconst ACCESSOR = 1;\nconst METHOD = 2;\nconst GETTER = 3;\nconst SETTER = 4;\n\nconst STATIC_OLD_VERSION = 5; // Before 2023-05\nconst STATIC = 8; // 1 << 3\nconst DECORATORS_HAVE_THIS = 16; // 1 << 4\n\nfunction getElementKind(element: NodePath<ClassDecoratableElement>): number {\n switch (element.node.type) {\n case \"ClassProperty\":\n case \"ClassPrivateProperty\":\n return FIELD;\n case \"ClassAccessorProperty\":\n return ACCESSOR;\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n if (element.node.kind === \"get\") {\n return GETTER;\n } else if (element.node.kind === \"set\") {\n return SETTER;\n } else {\n return METHOD;\n }\n }\n}\n\n// Information about the decorators applied to an element\ninterface DecoratorInfo {\n // An array of applied decorators or a memoised identifier\n decoratorsArray: t.Identifier | t.ArrayExpression | t.Expression;\n decoratorsHaveThis: boolean;\n\n // The kind of the decorated value, matches the kind value passed to applyDecs\n kind: number;\n\n // whether or not the field is static\n isStatic: boolean;\n\n // The name of the decorator\n name: t.StringLiteral | t.Expression;\n\n privateMethods:\n | (t.FunctionExpression | t.ArrowFunctionExpression)[]\n | undefined;\n\n // The names of local variables that will be used/returned from the decoration\n locals: t.Identifier | t.Identifier[] | undefined;\n}\n\n/**\n * Sort decoration info in the application order:\n * - static non-fields\n * - instance non-fields\n * - static fields\n * - instance fields\n *\n * @param {DecoratorInfo[]} info\n * @returns {DecoratorInfo[]} Sorted decoration info\n */\nfunction toSortedDecoratorInfo(info: DecoratorInfo[]): DecoratorInfo[] {\n return [\n ...info.filter(\n el => el.isStatic && el.kind >= ACCESSOR && el.kind <= SETTER,\n ),\n ...info.filter(\n el => !el.isStatic && el.kind >= ACCESSOR && el.kind <= SETTER,\n ),\n ...info.filter(el => el.isStatic && el.kind === FIELD),\n ...info.filter(el => !el.isStatic && el.kind === FIELD),\n ];\n}\n\ntype GenerateDecorationListResult = {\n // The zipped decorators array that will be passed to generateDecorationExprs\n decs: t.Expression[];\n // Whether there are non-empty decorator this values\n haveThis: boolean;\n};\n/**\n * Zip decorators and decorator this values into an array\n *\n * @param {t.Decorator[]} decorators\n * @param {((t.Expression | undefined)[])} decoratorsThis decorator this values\n * @param {DecoratorVersionKind} version\n * @returns {GenerateDecorationListResult}\n */\nfunction generateDecorationList(\n decorators: t.Decorator[],\n decoratorsThis: (t.Expression | undefined)[],\n version: DecoratorVersionKind,\n): GenerateDecorationListResult {\n const decsCount = decorators.length;\n const haveOneThis = decoratorsThis.some(Boolean);\n const decs: t.Expression[] = [];\n for (let i = 0; i < decsCount; i++) {\n if (\n (version === \"2023-11\" ||\n (!process.env.BABEL_8_BREAKING && version === \"2023-05\")) &&\n haveOneThis\n ) {\n decs.push(\n decoratorsThis[i] || t.unaryExpression(\"void\", t.numericLiteral(0)),\n );\n }\n decs.push(decorators[i].expression);\n }\n\n return { haveThis: haveOneThis, decs };\n}\n\nfunction generateDecorationExprs(\n decorationInfo: DecoratorInfo[],\n version: DecoratorVersionKind,\n): t.ArrayExpression {\n return t.arrayExpression(\n decorationInfo.map(el => {\n let flag = el.kind;\n if (el.isStatic) {\n flag +=\n version === \"2023-11\" ||\n (!process.env.BABEL_8_BREAKING && version === \"2023-05\")\n ? STATIC\n : STATIC_OLD_VERSION;\n }\n if (el.decoratorsHaveThis) flag += DECORATORS_HAVE_THIS;\n\n return t.arrayExpression([\n el.decoratorsArray,\n t.numericLiteral(flag),\n el.name,\n ...(el.privateMethods || []),\n ]);\n }),\n );\n}\n\nfunction extractElementLocalAssignments(decorationInfo: DecoratorInfo[]) {\n const localIds: t.Identifier[] = [];\n\n for (const el of decorationInfo) {\n const { locals } = el;\n\n if (Array.isArray(locals)) {\n localIds.push(...locals);\n } else if (locals !== undefined) {\n localIds.push(locals);\n }\n }\n\n return localIds;\n}\n\nfunction addCallAccessorsFor(\n version: DecoratorVersionKind,\n element: NodePath,\n key: t.PrivateName,\n getId: t.Identifier,\n setId: t.Identifier,\n isStatic: boolean,\n) {\n element.insertAfter(\n t.classPrivateMethod(\n \"get\",\n t.cloneNode(key),\n [],\n t.blockStatement([\n t.returnStatement(\n t.callExpression(\n t.cloneNode(getId),\n (process.env.BABEL_8_BREAKING || version === \"2023-11\") && isStatic\n ? []\n : [t.thisExpression()],\n ),\n ),\n ]),\n isStatic,\n ),\n );\n\n element.insertAfter(\n t.classPrivateMethod(\n \"set\",\n t.cloneNode(key),\n [t.identifier(\"v\")],\n t.blockStatement([\n t.expressionStatement(\n t.callExpression(\n t.cloneNode(setId),\n (process.env.BABEL_8_BREAKING || version === \"2023-11\") && isStatic\n ? [t.identifier(\"v\")]\n : [t.thisExpression(), t.identifier(\"v\")],\n ),\n ),\n ]),\n isStatic,\n ),\n );\n}\n\nfunction movePrivateAccessor(\n element: NodePath<t.ClassPrivateMethod>,\n key: t.PrivateName,\n methodLocalVar: t.Identifier,\n isStatic: boolean,\n) {\n let params: (t.Identifier | t.RestElement)[];\n let block: t.Statement[];\n\n if (element.node.kind === \"set\") {\n params = [t.identifier(\"v\")];\n block = [\n t.expressionStatement(\n t.callExpression(methodLocalVar, [\n t.thisExpression(),\n t.identifier(\"v\"),\n ]),\n ),\n ];\n } else {\n params = [];\n block = [\n t.returnStatement(t.callExpression(methodLocalVar, [t.thisExpression()])),\n ];\n }\n\n element.replaceWith(\n t.classPrivateMethod(\n element.node.kind,\n t.cloneNode(key),\n params,\n t.blockStatement(block),\n isStatic,\n ),\n );\n}\n\nfunction isClassDecoratableElementPath(\n path: NodePath<ClassElement>,\n): path is NodePath<ClassDecoratableElement> {\n const { type } = path;\n\n return (\n type !== \"TSDeclareMethod\" &&\n type !== \"TSIndexSignature\" &&\n type !== \"StaticBlock\"\n );\n}\n\nfunction staticBlockToIIFE(block: t.StaticBlock) {\n return t.callExpression(\n t.arrowFunctionExpression([], t.blockStatement(block.body)),\n [],\n );\n}\n\nfunction staticBlockToFunctionClosure(block: t.StaticBlock) {\n return t.functionExpression(null, [], t.blockStatement(block.body));\n}\n\nfunction fieldInitializerToClosure(value: t.Expression) {\n return t.functionExpression(\n null,\n [],\n t.blockStatement([t.returnStatement(value)]),\n );\n}\n\nfunction maybeSequenceExpression(exprs: t.Expression[]) {\n if (exprs.length === 0) return t.unaryExpression(\"void\", t.numericLiteral(0));\n if (exprs.length === 1) return exprs[0];\n return t.sequenceExpression(exprs);\n}\n\n/**\n * Create FunctionExpression from a ClassPrivateMethod.\n * The returned FunctionExpression node takes ownership of the private method's body and params.\n *\n * @param {t.ClassPrivateMethod} node\n * @returns\n */\nfunction createFunctionExpressionFromPrivateMethod(node: t.ClassPrivateMethod) {\n const { params, body, generator: isGenerator, async: isAsync } = node;\n return t.functionExpression(\n undefined,\n // @ts-expect-error todo: Improve typings: TSParameterProperty is only allowed in constructor\n params,\n body,\n isGenerator,\n isAsync,\n );\n}\n\nfunction createSetFunctionNameCall(\n state: PluginPass,\n className: t.Identifier | t.StringLiteral,\n) {\n return t.callExpression(state.addHelper(\"setFunctionName\"), [\n t.thisExpression(),\n className,\n ]);\n}\n\nfunction createToPropertyKeyCall(state: PluginPass, propertyKey: t.Expression) {\n return t.callExpression(state.addHelper(\"toPropertyKey\"), [propertyKey]);\n}\n\nfunction createPrivateBrandCheckClosure(brandName: t.PrivateName) {\n return t.arrowFunctionExpression(\n [t.identifier(\"_\")],\n t.binaryExpression(\"in\", t.cloneNode(brandName), t.identifier(\"_\")),\n );\n}\n\nfunction usesPrivateField(expression: t.Node) {\n try {\n t.traverseFast(expression, node => {\n if (t.isPrivateName(node)) {\n // TODO: Add early return support to t.traverseFast\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw null;\n }\n });\n return false;\n } catch {\n return true;\n }\n}\n\n/**\n * Convert a non-computed class element to its equivalent computed form.\n *\n * This function is to provide a decorator evaluation storage from non-computed\n * class elements.\n *\n * @param {(NodePath<t.ClassProperty | t.ClassMethod>)} path A non-computed class property or method\n */\nfunction convertToComputedKey(path: NodePath<t.ClassProperty | t.ClassMethod>) {\n const { node } = path;\n node.computed = true;\n if (t.isIdentifier(node.key)) {\n node.key = t.stringLiteral(node.key.name);\n }\n}\n\nfunction hasInstancePrivateAccess(path: NodePath, privateNames: string[]) {\n let containsInstancePrivateAccess = false;\n if (privateNames.length > 0) {\n const privateNameVisitor = privateNameVisitorFactory<\n PrivateNameVisitorState<null>,\n null\n >({\n PrivateName(path, state) {\n if (state.privateNamesMap.has(path.node.id.name)) {\n containsInstancePrivateAccess = true;\n path.stop();\n }\n },\n });\n const privateNamesMap = new Map<string, null>();\n for (const name of privateNames) {\n privateNamesMap.set(name, null);\n }\n path.traverse(privateNameVisitor, {\n privateNamesMap: privateNamesMap,\n });\n }\n return containsInstancePrivateAccess;\n}\n\nfunction checkPrivateMethodUpdateError(\n path: NodePath<t.Class>,\n decoratedPrivateMethods: Set<string>,\n) {\n const privateNameVisitor = privateNameVisitorFactory<\n PrivateNameVisitorState<null>,\n null\n >({\n PrivateName(path, state) {\n if (!state.privateNamesMap.has(path.node.id.name)) return;\n\n const parentPath = path.parentPath;\n const parentParentPath = parentPath.parentPath;\n\n if (\n // this.bar().#x = 123;\n (parentParentPath.node.type === \"AssignmentExpression\" &&\n parentParentPath.node.left === parentPath.node) ||\n // this.#x++;\n parentParentPath.node.type === \"UpdateExpression\" ||\n // ([...this.#x] = foo);\n parentParentPath.node.type === \"RestElement\" ||\n // ([this.#x] = foo);\n parentParentPath.node.type === \"ArrayPattern\" ||\n // ({ a: this.#x } = bar);\n (parentParentPath.node.type === \"ObjectProperty\" &&\n parentParentPath.node.value === parentPath.node &&\n parentParentPath.parentPath.type === \"ObjectPattern\") ||\n // for (this.#x of []);\n (parentParentPath.node.type === \"ForOfStatement\" &&\n parentParentPath.node.left === parentPath.node)\n ) {\n throw path.buildCodeFrameError(\n `Decorated private methods are read-only, but \"#${path.node.id.name}\" is updated via this expression.`,\n );\n }\n },\n });\n const privateNamesMap = new Map<string, null>();\n for (const name of decoratedPrivateMethods) {\n privateNamesMap.set(name, null);\n }\n path.traverse(privateNameVisitor, {\n privateNamesMap: privateNamesMap,\n });\n}\n\n/**\n * Apply decorator and accessor transform\n * @param path The class path.\n * @param state The plugin pass.\n * @param constantSuper The constantSuper compiler assumption.\n * @param ignoreFunctionLength The ignoreFunctionLength compiler assumption.\n * @param className The class name.\n * - If className is a `string`, it will be a valid identifier name that can safely serve as a class id\n * - If className is an Identifier, it is the reference to the name derived from NamedEvaluation\n * - If className is a StringLiteral, it is derived from NamedEvaluation on literal computed keys\n * @param propertyVisitor The visitor that should be applied on property prior to the transform.\n * @param version The decorator version.\n * @returns The transformed class path or undefined if there are no decorators.\n */\nfunction transformClass(\n path: NodePath<t.Class>,\n state: PluginPass,\n constantSuper: boolean,\n ignoreFunctionLength: boolean,\n className: string | t.Identifier | t.StringLiteral | undefined,\n propertyVisitor: Visitor<PluginPass>,\n version: DecoratorVersionKind,\n): NodePath | undefined {\n const body = path.get(\"body.body\");\n\n const classDecorators = path.node.decorators;\n let hasElementDecorators = false;\n let hasComputedKeysSideEffects = false;\n let elemDecsUseFnContext = false;\n\n const generateClassPrivateUid = createLazyPrivateUidGeneratorForClass(path);\n\n const classAssignments: t.AssignmentExpression[] = [];\n const scopeParent: Scope = path.scope.parent;\n const memoiseExpression = (\n expression: t.Expression,\n hint: string,\n assignments: t.AssignmentExpression[],\n ) => {\n const localEvaluatedId = generateLetUidIdentifier(scopeParent, hint);\n assignments.push(t.assignmentExpression(\"=\", localEvaluatedId, expression));\n return t.cloneNode(localEvaluatedId);\n };\n\n let protoInitLocal: t.Identifier;\n let staticInitLocal: t.Identifier;\n const classIdName = path.node.id?.name;\n // Whether to generate a setFunctionName call to preserve the class name\n const setClassName = typeof className === \"object\" ? className : undefined;\n // Check if the decorator does not reference function-specific\n // context or the given identifier name or contains yield or await expression.\n // `true` means \"maybe\" and `false` means \"no\".\n const usesFunctionContextOrYieldAwait = (decorator: t.Decorator) => {\n try {\n t.traverseFast(decorator, node => {\n if (\n t.isThisExpression(node) ||\n t.isSuper(node) ||\n t.isYieldExpression(node) ||\n t.isAwaitExpression(node) ||\n t.isIdentifier(node, { name: \"arguments\" }) ||\n (classIdName && t.isIdentifier(node, { name: classIdName })) ||\n (t.isMetaProperty(node) && node.meta.name !== \"import\")\n ) {\n // TODO: Add early return support to t.traverseFast\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw null;\n }\n });\n return false;\n } catch {\n return true;\n }\n };\n\n const instancePrivateNames: string[] = [];\n // Iterate over the class to see if we need to decorate it, and also to\n // transform simple auto accessors which are not decorated, and handle inferred\n // class name when the initializer of the class field is a class expression\n for (const element of body) {\n if (!isClassDecoratableElementPath(element)) {\n continue;\n }\n\n const elementNode = element.node;\n\n if (!elementNode.static && t.isPrivateName(elementNode.key)) {\n instancePrivateNames.push(elementNode.key.id.name);\n }\n\n if (isDecorated(elementNode)) {\n switch (elementNode.type) {\n case \"ClassProperty\":\n // @ts-expect-error todo: propertyVisitor.ClassProperty should be callable. Improve typings.\n propertyVisitor.ClassProperty(\n element as NodePath<t.ClassProperty>,\n state,\n );\n break;\n case \"ClassPrivateProperty\":\n // @ts-expect-error todo: propertyVisitor.ClassPrivateProperty should be callable. Improve typings.\n propertyVisitor.ClassPrivateProperty(\n element as NodePath<t.ClassPrivateProperty>,\n state,\n );\n break;\n case \"ClassAccessorProperty\":\n // @ts-expect-error todo: propertyVisitor.ClassAccessorProperty should be callable. Improve typings.\n propertyVisitor.ClassAccessorProperty(\n element as NodePath<t.ClassAccessorProperty>,\n state,\n );\n if (version === \"2023-11\") {\n break;\n }\n /* fallthrough */\n default:\n if (elementNode.static) {\n staticInitLocal ??= generateLetUidIdentifier(\n scopeParent,\n \"initStatic\",\n );\n } else {\n protoInitLocal ??= generateLetUidIdentifier(\n scopeParent,\n \"initProto\",\n );\n }\n break;\n }\n hasElementDecorators = true;\n elemDecsUseFnContext ||= elementNode.decorators.some(\n usesFunctionContextOrYieldAwait,\n );\n } else if (elementNode.type === \"ClassAccessorProperty\") {\n // @ts-expect-error todo: propertyVisitor.ClassAccessorProperty should be callable. Improve typings.\n propertyVisitor.ClassAccessorProperty(\n element as NodePath<t.ClassAccessorProperty>,\n state,\n );\n const { key, value, static: isStatic, computed } = elementNode;\n\n const newId = generateClassPrivateUid();\n const newField = generateClassProperty(newId, value, isStatic);\n const keyPath = element.get(\"key\");\n const [newPath] = element.replaceWith(newField);\n\n let getterKey, setterKey;\n if (computed && !keyPath.isConstantExpression()) {\n getterKey = memoiseComputedKey(\n createToPropertyKeyCall(state, key as t.Expression),\n scopeParent,\n scopeParent.generateUid(\"computedKey\"),\n )!;\n setterKey = t.cloneNode(getterKey.left as t.Identifier);\n } else {\n getterKey = t.cloneNode(key);\n setterKey = t.cloneNode(key);\n }\n\n assignIdForAnonymousClass(path, className);\n\n addProxyAccessorsFor(\n path.node.id,\n newPath,\n getterKey,\n setterKey,\n newId,\n computed,\n isStatic,\n version,\n );\n }\n\n if (\"computed\" in element.node && element.node.computed) {\n hasComputedKeysSideEffects ||= !scopeParent.isStatic(element.node.key);\n }\n }\n\n if (!classDecorators && !hasElementDecorators) {\n if (!path.node.id && typeof className === \"string\") {\n path.node.id = t.identifier(className);\n }\n if (setClassName) {\n path.node.body.body.unshift(\n createStaticBlockFromExpressions([\n createSetFunctionNameCall(state, setClassName),\n ]),\n );\n }\n // If nothing is decorated and no assignments inserted, return\n return;\n }\n\n const elementDecoratorInfo: DecoratorInfo[] = [];\n\n let constructorPath: NodePath<t.ClassMethod> | undefined;\n const decoratedPrivateMethods = new Set<string>();\n\n let classInitLocal: t.Identifier, classIdLocal: t.Identifier;\n let decoratorReceiverId: t.Identifier | null = null;\n\n // Memoise the this value `a.b` of decorator member expressions `@a.b.dec`,\n type HandleDecoratorsResult = {\n // whether the whole decorator list requires memoisation\n hasSideEffects: boolean;\n usesFnContext: boolean;\n // the this value of each decorator if applicable\n decoratorsThis: (t.Expression | undefined)[];\n };\n function handleDecorators(decorators: t.Decorator[]): HandleDecoratorsResult {\n let hasSideEffects = false;\n let usesFnContext = false;\n const decoratorsThis: (t.Expression | null)[] = [];\n for (const decorator of decorators) {\n const { expression } = decorator;\n let object;\n if (\n (version === \"2023-11\" ||\n (!process.env.BABEL_8_BREAKING && version === \"2023-05\")) &&\n t.isMemberExpression(expression)\n ) {\n if (t.isSuper(expression.object)) {\n object = t.thisExpression();\n } else if (scopeParent.isStatic(expression.object)) {\n object = t.cloneNode(expression.object);\n } else {\n decoratorReceiverId ??= generateLetUidIdentifier(scopeParent, \"obj\");\n object = t.assignmentExpression(\n \"=\",\n t.cloneNode(decoratorReceiverId),\n expression.object,\n );\n expression.object = t.cloneNode(decoratorReceiverId);\n }\n }\n decoratorsThis.push(object);\n hasSideEffects ||= !scopeParent.isStatic(expression);\n usesFnContext ||= usesFunctionContextOrYieldAwait(decorator);\n }\n return { hasSideEffects, usesFnContext, decoratorsThis };\n }\n\n const willExtractSomeElemDecs =\n hasComputedKeysSideEffects ||\n (process.env.BABEL_8_BREAKING\n ? elemDecsUseFnContext\n : elemDecsUseFnContext || version !== \"2023-11\");\n\n let needsDeclaraionForClassBinding = false;\n let classDecorationsFlag = 0;\n let classDecorations: t.Expression[] = [];\n let classDecorationsId: t.Identifier;\n let computedKeyAssignments: t.AssignmentExpression[] = [];\n if (classDecorators) {\n classInitLocal = generateLetUidIdentifier(scopeParent, \"initClass\");\n needsDeclaraionForClassBinding = path.isClassDeclaration();\n ({ id: classIdLocal, path } = replaceClassWithVar(path, className));\n\n path.node.decorators = null;\n\n const classDecsUsePrivateName = classDecorators.some(usesPrivateField);\n const { hasSideEffects, usesFnContext, decoratorsThis } =\n handleDecorators(classDecorators);\n\n const { haveThis, decs } = generateDecorationList(\n classDecorators,\n decoratorsThis,\n version,\n );\n classDecorationsFlag = haveThis ? 1 : 0;\n classDecorations = decs;\n\n if (\n usesFnContext ||\n (hasSideEffects && willExtractSomeElemDecs) ||\n classDecsUsePrivateName\n ) {\n classDecorationsId = memoiseExpression(\n t.arrayExpression(classDecorations),\n \"classDecs\",\n classAssignments,\n );\n }\n\n if (!hasElementDecorators) {\n // Sync body paths as non-decorated computed accessors have been transpiled\n // to getter-setter pairs.\n for (const element of path.get(\"body.body\")) {\n const { node } = element;\n const isComputed = \"computed\" in node && node.computed;\n if (isComputed) {\n if (element.isClassProperty({ static: true })) {\n if (!element.get(\"key\").isConstantExpression()) {\n const key = (node as t.ClassProperty).key;\n const maybeAssignment = memoiseComputedKey(\n key,\n scopeParent,\n scopeParent.generateUid(\"computedKey\"),\n );\n if (maybeAssignment != null) {\n // If it is a static computed field within a decorated class, we move the computed key\n // into `computedKeyAssignments` which will be then moved into the non-static class,\n // to ensure that the evaluation order and private environment are correct\n node.key = t.cloneNode(maybeAssignment.left);\n computedKeyAssignments.push(maybeAssignment);\n }\n }\n } else if (computedKeyAssignments.length > 0) {\n prependExpressionsToComputedKey(\n computedKeyAssignments,\n element as NodePath<ClassElementCanHaveComputedKeys>,\n );\n computedKeyAssignments = [];\n }\n }\n }\n }\n } else {\n assignIdForAnonymousClass(path, className);\n classIdLocal = t.cloneNode(path.node.id);\n }\n\n let lastInstancePrivateName: t.PrivateName;\n let needsInstancePrivateBrandCheck = false;\n\n let fieldInitializerExpressions = [];\n let staticFieldInitializerExpressions: t.Expression[] = [];\n\n if (hasElementDecorators) {\n if (protoInitLocal) {\n const protoInitCall = t.callExpression(t.cloneNode(protoInitLocal), [\n t.thisExpression(),\n ]);\n fieldInitializerExpressions.push(protoInitCall);\n }\n for (const element of body) {\n if (!isClassDecoratableElementPath(element)) {\n if (\n staticFieldInitializerExpressions.length > 0 &&\n element.isStaticBlock()\n ) {\n prependExpressionsToStaticBlock(\n staticFieldInitializerExpressions,\n element,\n );\n staticFieldInitializerExpressions = [];\n }\n continue;\n }\n\n const { node } = element;\n const decorators = node.decorators;\n\n const hasDecorators = !!decorators?.length;\n\n const isComputed = \"computed\" in node && node.computed;\n\n let name = \"computedKey\";\n\n if (node.key.type === \"PrivateName\") {\n name = node.key.id.name;\n } else if (!isComputed && node.key.type === \"Identifier\") {\n name = node.key.name;\n }\n let decoratorsArray: t.Identifier | t.ArrayExpression | t.Expression;\n let decoratorsHaveThis;\n\n if (hasDecorators) {\n const { hasSideEffects, usesFnContext, decoratorsThis } =\n handleDecorators(decorators);\n const { decs, haveThis } = generateDecorationList(\n decorators,\n decoratorsThis,\n version,\n );\n decoratorsHaveThis = haveThis;\n decoratorsArray = decs.length === 1 ? decs[0] : t.arrayExpression(decs);\n if (usesFnContext || (hasSideEffects && willExtractSomeElemDecs)) {\n decoratorsArray = memoiseExpression(\n decoratorsArray,\n name + \"Decs\",\n computedKeyAssignments,\n );\n }\n }\n\n if (isComputed) {\n if (!element.get(\"key\").isConstantExpression()) {\n const key = node.key as t.Expression;\n const maybeAssignment = memoiseComputedKey(\n hasDecorators ? createToPropertyKeyCall(state, key) : key,\n scopeParent,\n scopeParent.generateUid(\"computedKey\"),\n );\n if (maybeAssignment != null) {\n // If it is a static computed field within a decorated class, we move the computed key\n // into `computedKeyAssignments` which will be then moved into the non-static class,\n // to ensure that the evaluation order and private environment are correct\n if (classDecorators && element.isClassProperty({ static: true })) {\n node.key = t.cloneNode(maybeAssignment.left);\n computedKeyAssignments.push(maybeAssignment);\n } else {\n node.key = maybeAssignment;\n }\n }\n }\n }\n\n const { key, static: isStatic } = node;\n\n const isPrivate = key.type === \"PrivateName\";\n\n const kind = getElementKind(element);\n\n if (isPrivate && !isStatic) {\n if (hasDecorators) {\n needsInstancePrivateBrandCheck = true;\n }\n if (t.isClassPrivateProperty(node) || !lastInstancePrivateName) {\n lastInstancePrivateName = key;\n }\n }\n\n if (element.isClassMethod({ kind: \"constructor\" })) {\n constructorPath = element;\n }\n\n let locals: t.Identifier[];\n if (hasDecorators) {\n let privateMethods: Array<\n t.FunctionExpression | t.ArrowFunctionExpression\n >;\n\n let nameExpr: t.Expression;\n\n if (isComputed) {\n nameExpr = getComputedKeyMemoiser(\n element.get(\"key\") as NodePath<t.Expression>,\n );\n } else if (key.type === \"PrivateName\") {\n nameExpr = t.stringLiteral(key.id.name);\n } else if (key.type === \"Identifier\") {\n nameExpr = t.stringLiteral(key.name);\n } else {\n nameExpr = t.cloneNode(key as t.Expression);\n }\n\n if (kind === ACCESSOR) {\n const { value } = element.node as t.ClassAccessorProperty;\n\n const params: t.Expression[] =\n (process.env.BABEL_8_BREAKING || version === \"2023-11\") && isStatic\n ? []\n : [t.thisExpression()];\n\n if (value) {\n params.push(t.cloneNode(value));\n }\n\n const newId = generateClassPrivateUid();\n const newFieldInitId = generateLetUidIdentifier(\n scopeParent,\n `init_${name}`,\n );\n const newValue = t.callExpression(\n t.cloneNode(newFieldInitId),\n params,\n );\n\n const newField = generateClassProperty(newId, newValue, isStatic);\n const [newPath] = element.replaceWith(newField);\n\n if (isPrivate) {\n privateMethods = extractProxyAccessorsFor(newId, version);\n\n const getId = generateLetUidIdentifier(scopeParent, `get_${name}`);\n const setId = generateLetUidIdentifier(scopeParent, `set_${name}`);\n\n addCallAccessorsFor(version, newPath, key, getId, setId, isStatic);\n\n locals = [newFieldInitId, getId, setId];\n } else {\n assignIdForAnonymousClass(path, className);\n addProxyAccessorsFor(\n path.node.id,\n newPath,\n t.cloneNode(key),\n t.isAssignmentExpression(key)\n ? t.cloneNode(key.left as t.Identifier)\n : t.cloneNode(key),\n newId,\n isComputed,\n isStatic,\n version,\n );\n locals = [newFieldInitId];\n }\n } else if (kind === FIELD) {\n const initId = generateLetUidIdentifier(scopeParent, `init_${name}`);\n const valuePath = (\n element as NodePath<t.ClassProperty | t.ClassPrivateProperty>\n ).get(\"value\");\n\n const args: t.Expression[] =\n (process.env.BABEL_8_BREAKING || version === \"2023-11\") && isStatic\n ? []\n : [t.thisExpression()];\n if (valuePath.node) args.push(valuePath.node);\n\n valuePath.replaceWith(t.callExpression(t.cloneNode(initId), args));\n\n locals = [initId];\n\n if (isPrivate) {\n privateMethods = extractProxyAccessorsFor(key, version);\n }\n } else if (isPrivate) {\n const callId = generateLetUidIdentifier(scopeParent, `call_${name}`);\n locals = [callId];\n\n const replaceSupers = new ReplaceSupers({\n constantSuper,\n methodPath: element as NodePath<t.ClassPrivateMethod>,\n objectRef: classIdLocal,\n superRef: path.node.superClass,\n file: state.file,\n refToPreserve: classIdLocal,\n });\n\n replaceSupers.replace();\n\n privateMethods = [\n createFunctionExpressionFromPrivateMethod(\n element.node as t.ClassPrivateMethod,\n ),\n ];\n\n if (kind === GETTER || kind === SETTER) {\n movePrivateAccessor(\n element as NodePath<t.ClassPrivateMethod>,\n t.cloneNode(key),\n t.cloneNode(callId),\n isStatic,\n );\n } else {\n const node = element.node as t.ClassPrivateMethod;\n\n // Unshift\n path.node.body.body.unshift(\n t.classPrivateProperty(key, t.cloneNode(callId), [], node.static),\n );\n\n decoratedPrivateMethods.add(key.id.name);\n\n element.remove();\n }\n }\n\n elementDecoratorInfo.push({\n kind,\n decoratorsArray,\n decoratorsHaveThis,\n name: nameExpr,\n isStatic,\n privateMethods,\n locals,\n });\n\n if (element.node) {\n element.node.decorators = null;\n }\n }\n\n if (isComputed && computedKeyAssignments.length > 0) {\n if (classDecorators && element.isClassProperty({ static: true })) {\n // If the class is decorated, we don't insert computedKeyAssignments here\n // because any non-static computed elements defined after it will be moved\n // into the non-static class, so they will be evaluated before the key of\n // this field. At this momemnt, its key must be either a constant expression\n // or a uid reference which has been assigned _within_ the non-static class.\n } else {\n prependExpressionsToComputedKey(\n computedKeyAssignments,\n (kind === ACCESSOR\n ? element.getNextSibling() // the transpiled getter of the accessor property\n : element) as NodePath<ClassElementCanHaveComputedKeys>,\n );\n computedKeyAssignments = [];\n }\n }\n\n if (\n fieldInitializerExpressions.length > 0 &&\n !isStatic &&\n (kind === FIELD || kind === ACCESSOR)\n ) {\n prependExpressionsToFieldInitializer(\n fieldInitializerExpressions,\n element as NodePath<t.ClassProperty | t.ClassPrivateProperty>,\n );\n fieldInitializerExpressions = [];\n }\n\n if (\n staticFieldInitializerExpressions.length > 0 &&\n isStatic &&\n (kind === FIELD || kind === ACCESSOR)\n ) {\n prependExpressionsToFieldInitializer(\n staticFieldInitializerExpressions,\n element as NodePath<t.ClassProperty | t.ClassPrivateProperty>,\n );\n staticFieldInitializerExpressions = [];\n }\n\n if (hasDecorators && version === \"2023-11\") {\n if (kind === FIELD || kind === ACCESSOR) {\n const initExtraId = generateLetUidIdentifier(\n scopeParent,\n `init_extra_${name}`,\n );\n locals.push(initExtraId);\n const initExtraCall = t.callExpression(\n t.cloneNode(initExtraId),\n isStatic ? [] : [t.thisExpression()],\n );\n if (!isStatic) {\n fieldInitializerExpressions.push(initExtraCall);\n } else {\n staticFieldInitializerExpressions.push(initExtraCall);\n }\n }\n }\n }\n }\n\n if (computedKeyAssignments.length > 0) {\n const elements = path.get(\"body.body\");\n let lastComputedElement: NodePath<ClassElementCanHaveComputedKeys>;\n for (let i = elements.length - 1; i >= 0; i--) {\n const path = elements[i];\n const node = path.node as ClassElementCanHaveComputedKeys;\n if (node.computed) {\n if (classDecorators && t.isClassProperty(node, { static: true })) {\n continue;\n }\n lastComputedElement = path as NodePath<ClassElementCanHaveComputedKeys>;\n break;\n }\n }\n if (lastComputedElement != null) {\n appendExpressionsToComputedKey(\n computedKeyAssignments,\n lastComputedElement,\n );\n computedKeyAssignments = [];\n } else {\n // If there is no computed key, we will try to convert the first non-computed\n // class element into a computed key and insert assignments there. This will\n // be done after we handle the class elements split when the class is decorated.\n }\n }\n\n if (fieldInitializerExpressions.length > 0) {\n const isDerivedClass = !!path.node.superClass;\n if (constructorPath) {\n if (isDerivedClass) {\n insertExpressionsAfterSuperCallAndOptimize(\n fieldInitializerExpressions,\n constructorPath,\n protoInitLocal,\n );\n } else {\n prependExpressionsToConstructor(\n fieldInitializerExpressions,\n constructorPath,\n );\n }\n } else {\n path.node.body.body.unshift(\n createConstructorFromExpressions(\n fieldInitializerExpressions,\n isDerivedClass,\n ),\n );\n }\n fieldInitializerExpressions = [];\n }\n\n if (staticFieldInitializerExpressions.length > 0) {\n path.node.body.body.push(\n createStaticBlockFromExpressions(staticFieldInitializerExpressions),\n );\n staticFieldInitializerExpressions = [];\n }\n\n const sortedElementDecoratorInfo =\n toSortedDecoratorInfo(elementDecoratorInfo);\n\n const elementDecorations = generateDecorationExprs(\n process.env.BABEL_8_BREAKING || version === \"2023-11\"\n ? elementDecoratorInfo\n : sortedElementDecoratorInfo,\n version,\n );\n\n const elementLocals: t.Identifier[] = extractElementLocalAssignments(\n sortedElementDecoratorInfo,\n );\n\n if (protoInitLocal) {\n elementLocals.push(protoInitLocal);\n }\n\n if (staticInitLocal) {\n elementLocals.push(staticInitLocal);\n }\n\n const classLocals: t.Identifier[] = [];\n let classInitInjected = false;\n const classInitCall =\n classInitLocal && t.callExpression(t.cloneNode(classInitLocal), []);\n\n let originalClassPath = path;\n const originalClass = path.node;\n\n const staticClosures: t.AssignmentExpression[] = [];\n if (classDecorators) {\n classLocals.push(classIdLocal, classInitLocal);\n const statics: (\n | t.ClassProperty\n | t.ClassPrivateProperty\n | t.ClassPrivateMethod\n )[] = [];\n path.get(\"body.body\").forEach(element => {\n // Static blocks cannot be compiled to \"instance blocks\", but we can inline\n // them as IIFEs in the next property.\n if (element.isStaticBlock()) {\n if (hasInstancePrivateAccess(element, instancePrivateNames)) {\n const staticBlockClosureId = memoiseExpression(\n staticBlockToFunctionClosure(element.node),\n \"staticBlock\",\n staticClosures,\n );\n staticFieldInitializerExpressions.push(\n t.callExpression(\n t.memberExpression(staticBlockClosureId, t.identifier(\"call\")),\n [t.thisExpression()],\n ),\n );\n } else {\n staticFieldInitializerExpressions.push(\n staticBlockToIIFE(element.node),\n );\n }\n element.remove();\n return;\n }\n\n if (\n (element.isClassProperty() || element.isClassPrivateProperty()) &&\n element.node.static\n ) {\n const valuePath = (\n element as NodePath<t.ClassProperty | t.ClassPrivateProperty>\n ).get(\"value\");\n if (hasInstancePrivateAccess(valuePath, instancePrivateNames)) {\n const fieldValueClosureId = memoiseExpression(\n fieldInitializerToClosure(valuePath.node),\n \"fieldValue\",\n staticClosures,\n );\n valuePath.replaceWith(\n t.callExpression(\n t.memberExpression(fieldValueClosureId, t.identifier(\"call\")),\n [t.thisExpression()],\n ),\n );\n }\n if (staticFieldInitializerExpressions.length > 0) {\n prependExpressionsToFieldInitializer(\n staticFieldInitializerExpressions,\n element,\n );\n staticFieldInitializerExpressions = [];\n }\n element.node.static = false;\n statics.push(element.node);\n element.remove();\n } else if (element.isClassPrivateMethod({ static: true })) {\n // At this moment the element must not have decorators, so any private name\n // within the element must come from either params or body\n if (hasInstancePrivateAccess(element, instancePrivateNames)) {\n const replaceSupers = new ReplaceSupers({\n constantSuper,\n methodPath: element,\n objectRef: classIdLocal,\n superRef: path.node.superClass,\n file: state.file,\n refToPreserve: classIdLocal,\n });\n\n replaceSupers.replace();\n\n const privateMethodDelegateId = memoiseExpression(\n createFunctionExpressionFromPrivateMethod(element.node),\n element.get(\"key.id\").node.name,\n staticClosures,\n );\n\n if (ignoreFunctionLength) {\n element.node.params = [t.restElement(t.identifier(\"arg\"))];\n element.node.body = t.blockStatement([\n t.returnStatement(\n t.callExpression(\n t.memberExpression(\n privateMethodDelegateId,\n t.identifier(\"apply\"),\n ),\n [t.thisExpression(), t.identifier(\"arg\")],\n ),\n ),\n ]);\n } else {\n element.node.params = element.node.params.map((p, i) => {\n if (t.isRestElement(p)) {\n return t.restElement(t.identifier(\"arg\"));\n } else {\n return t.identifier(\"_\" + i);\n }\n });\n element.node.body = t.blockStatement([\n t.returnStatement(\n t.callExpression(\n t.memberExpression(\n privateMethodDelegateId,\n t.identifier(\"apply\"),\n ),\n [t.thisExpression(), t.identifier(\"arguments\")],\n ),\n ),\n ]);\n }\n }\n element.node.static = false;\n statics.push(element.node);\n element.remove();\n }\n });\n\n if (statics.length > 0 || staticFieldInitializerExpressions.length > 0) {\n const staticsClass = template.expression.ast`\n class extends ${state.addHelper(\"identity\")} {}\n ` as t.ClassExpression;\n staticsClass.body.body = [\n // Insert the original class to a computed key of the wrapper so that\n // 1) they share the same function context with the wrapper class\n // 2) the memoisation of static computed field is evaluated before they\n // are referenced in the wrapper class keys\n // Note that any static elements of the wrapper class can not be accessed\n // in the user land, so we don't have to remove the temporary class field.\n t.classProperty(\n t.toExpression(originalClass),\n undefined,\n undefined,\n undefined,\n /* computed */ true,\n /* static */ true,\n ),\n ...statics,\n ];\n\n const constructorBody: t.Expression[] = [];\n\n const newExpr = t.newExpression(staticsClass, []);\n\n if (staticFieldInitializerExpressions.length > 0) {\n constructorBody.push(...staticFieldInitializerExpressions);\n }\n if (classInitCall) {\n classInitInjected = true;\n constructorBody.push(classInitCall);\n }\n if (constructorBody.length > 0) {\n constructorBody.unshift(\n t.callExpression(t.super(), [t.cloneNode(classIdLocal)]),\n );\n\n // set isDerivedClass to false as we have already prepended super call\n staticsClass.body.body.push(\n createConstructorFromExpressions(\n constructorBody,\n /* isDerivedClass */ false,\n ),\n );\n } else {\n newExpr.arguments.push(t.cloneNode(classIdLocal));\n }\n\n const [newPath] = path.replaceWith(newExpr);\n\n // update originalClassPath according to the new AST\n originalClassPath = (\n newPath.get(\"callee\").get(\"body\") as NodePath<t.Class>\n ).get(\"body.0.key\");\n }\n }\n if (!classInitInjected && classInitCall) {\n path.node.body.body.push(\n t.staticBlock([t.expressionStatement(classInitCall)]),\n );\n }\n\n let { superClass } = originalClass;\n if (\n superClass &&\n (process.env.BABEL_8_BREAKING ||\n version === \"2023-11\" ||\n version === \"2023-05\")\n ) {\n const id = path.scope.maybeGenerateMemoised(superClass);\n if (id) {\n originalClass.superClass = t.assignmentExpression(\"=\", id, superClass);\n superClass = id;\n }\n }\n\n const applyDecoratorWrapper = t.staticBlock([]);\n originalClass.body.body.unshift(applyDecoratorWrapper);\n const applyDecsBody = applyDecoratorWrapper.body;\n if (computedKeyAssignments.length > 0) {\n const elements = originalClassPath.get(\"body.body\");\n let firstPublicElement: NodePath<t.ClassProperty | t.ClassMethod>;\n for (const path of elements) {\n if (\n (path.isClassProperty() || path.isClassMethod()) &&\n (path.node as t.ClassMethod).kind !== \"constructor\"\n ) {\n firstPublicElement = path;\n break;\n }\n }\n if (firstPublicElement != null) {\n // Convert its key to a computed one to host the decorator evaluations.\n convertToComputedKey(firstPublicElement);\n prependExpressionsToComputedKey(\n computedKeyAssignments,\n firstPublicElement,\n );\n } else {\n // When there is no public class elements, we inject a temporary computed\n // field whose key will host the decorator evaluations. The field will be\n // deleted immediately after it is defiend.\n originalClass.body.body.unshift(\n t.classProperty(\n t.sequenceExpression([\n ...computedKeyAssignments,\n t.stringLiteral(\"_\"),\n ]),\n undefined,\n undefined,\n undefined,\n /* computed */ true,\n /* static */ true,\n ),\n );\n applyDecsBody.push(\n t.expressionStatement(\n t.unaryExpression(\n \"delete\",\n t.memberExpression(t.thisExpression(), t.identifier(\"_\")),\n ),\n ),\n );\n }\n computedKeyAssignments = [];\n }\n\n applyDecsBody.push(\n t.expressionStatement(\n createLocalsAssignment(\n elementLocals,\n classLocals,\n elementDecorations,\n classDecorationsId ?? t.arrayExpression(classDecorations),\n t.numericLiteral(classDecorationsFlag),\n needsInstancePrivateBrandCheck ? lastInstancePrivateName : null,\n setClassName,\n t.cloneNode(superClass),\n state,\n version,\n ),\n ),\n );\n if (staticInitLocal) {\n applyDecsBody.push(\n t.expressionStatement(\n t.callExpression(t.cloneNode(staticInitLocal), [t.thisExpression()]),\n ),\n );\n }\n if (staticClosures.length > 0) {\n applyDecsBody.push(\n ...staticClosures.map(expr => t.expressionStatement(expr)),\n );\n }\n\n // When path is a ClassExpression, path.insertBefore will convert `path`\n // into a SequenceExpression\n path.insertBefore(classAssignments.map(expr => t.expressionStatement(expr)));\n\n if (needsDeclaraionForClassBinding) {\n const classBindingInfo = scopeParent.getBinding(classIdLocal.name);\n if (!classBindingInfo.constantViolations.length) {\n // optimization: reuse the inner class binding if the outer class binding is not mutated\n path.insertBefore(\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(t.cloneNode(classIdLocal)),\n ]),\n );\n } else {\n const classOuterBindingDelegateLocal = scopeParent.generateUidIdentifier(\n \"t\" + classIdLocal.name,\n );\n const classOuterBindingLocal = classIdLocal;\n path.replaceWithMultiple([\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(t.cloneNode(classOuterBindingLocal)),\n t.variableDeclarator(classOuterBindingDelegateLocal),\n ]),\n t.blockStatement([\n t.variableDeclaration(\"let\", [\n t.variableDeclarator(t.cloneNode(classIdLocal)),\n ]),\n // needsDeclaraionForClassBinding is true ↔ node is a class declaration\n path.node as t.ClassDeclaration,\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.cloneNode(classOuterBindingDelegateLocal),\n t.cloneNode(classIdLocal),\n ),\n ),\n ]),\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.cloneNode(classOuterBindingLocal),\n t.cloneNode(classOuterBindingDelegateLocal),\n ),\n ),\n ]);\n }\n }\n\n if (decoratedPrivateMethods.size > 0) {\n checkPrivateMethodUpdateError(path, decoratedPrivateMethods);\n }\n\n // Recrawl the scope to make sure new identifiers are properly synced\n path.scope.crawl();\n\n return path;\n}\n\nfunction createLocalsAssignment(\n elementLocals: t.Identifier[],\n classLocals: t.Identifier[],\n elementDecorations: t.ArrayExpression | t.Identifier,\n classDecorations: t.ArrayExpression | t.Identifier,\n classDecorationsFlag: t.NumericLiteral,\n maybePrivateBrandName: t.PrivateName | null,\n setClassName: t.Identifier | t.StringLiteral | undefined,\n superClass: null | t.Expression,\n state: PluginPass,\n version: DecoratorVersionKind,\n) {\n let lhs, rhs;\n const args: t.Expression[] = [\n setClassName\n ? createSetFunctionNameCall(state, setClassName)\n : t.thisExpression(),\n classDecorations,\n elementDecorations,\n ];\n\n if (!process.env.BABEL_8_BREAKING) {\n if (version !== \"2023-11\") {\n args.splice(1, 2, elementDecorations, classDecorations);\n }\n if (\n version === \"2021-12\" ||\n (version === \"2022-03\" && !state.availableHelper(\"applyDecs2203R\"))\n ) {\n lhs = t.arrayPattern([...elementLocals, ...classLocals]);\n rhs = t.callExpression(\n state.addHelper(version === \"2021-12\" ? \"applyDecs\" : \"applyDecs2203\"),\n args,\n );\n return t.assignmentExpression(\"=\", lhs, rhs);\n } else if (version === \"2022-03\") {\n rhs = t.callExpression(state.addHelper(\"applyDecs2203R\"), args);\n } else if (version === \"2023-01\") {\n if (maybePrivateBrandName) {\n args.push(createPrivateBrandCheckClosure(maybePrivateBrandName));\n }\n rhs = t.callExpression(state.addHelper(\"applyDecs2301\"), args);\n } else if (version === \"2023-05\") {\n if (\n maybePrivateBrandName ||\n superClass ||\n classDecorationsFlag.value !== 0\n ) {\n args.push(classDecorationsFlag);\n }\n if (maybePrivateBrandName) {\n args.push(createPrivateBrandCheckClosure(maybePrivateBrandName));\n } else if (superClass) {\n args.push(t.unaryExpression(\"void\", t.numericLiteral(0)));\n }\n if (superClass) args.push(superClass);\n rhs = t.callExpression(state.addHelper(\"applyDecs2305\"), args);\n }\n }\n if (process.env.BABEL_8_BREAKING || version === \"2023-11\") {\n if (\n maybePrivateBrandName ||\n superClass ||\n classDecorationsFlag.value !== 0\n ) {\n args.push(classDecorationsFlag);\n }\n if (maybePrivateBrandName) {\n args.push(createPrivateBrandCheckClosure(maybePrivateBrandName));\n } else if (superClass) {\n args.push(t.unaryExpression(\"void\", t.numericLiteral(0)));\n }\n if (superClass) args.push(superClass);\n rhs = t.callExpression(state.addHelper(\"applyDecs2311\"), args);\n }\n\n // optimize `{ c: [classLocals] } = applyDecsHelper(...)` to\n // `[classLocals] = applyDecsHelper(...).c`\n if (elementLocals.length > 0) {\n if (classLocals.length > 0) {\n lhs = t.objectPattern([\n t.objectProperty(t.identifier(\"e\"), t.arrayPattern(elementLocals)),\n t.objectProperty(t.identifier(\"c\"), t.arrayPattern(classLocals)),\n ]);\n } else {\n lhs = t.arrayPattern(elementLocals);\n // @ts-ignore(Babel 7 vs Babel 8) optional removed in Babel 8\n rhs = t.memberExpression(rhs, t.identifier(\"e\"), false, false);\n }\n } else {\n // invariant: classLocals.length > 0\n lhs = t.arrayPattern(classLocals);\n // @ts-ignore(Babel 7 vs Babel 8) optional removed in Babel 8\n rhs = t.memberExpression(rhs, t.identifier(\"c\"), false, false);\n }\n\n return t.assignmentExpression(\"=\", lhs, rhs);\n}\n\nfunction isProtoKey(\n node: t.Identifier | t.StringLiteral | t.BigIntLiteral | t.NumericLiteral,\n) {\n return node.type === \"Identifier\"\n ? node.name === \"__proto__\"\n : node.value === \"__proto__\";\n}\n\nfunction isDecorated(node: t.Class | ClassDecoratableElement) {\n return node.decorators && node.decorators.length > 0;\n}\n\nfunction shouldTransformElement(node: ClassElement) {\n switch (node.type) {\n case \"ClassAccessorProperty\":\n return true;\n case \"ClassMethod\":\n case \"ClassProperty\":\n case \"ClassPrivateMethod\":\n case \"ClassPrivateProperty\":\n return isDecorated(node);\n default:\n return false;\n }\n}\n\nfunction shouldTransformClass(node: t.Class) {\n return isDecorated(node) || node.body.body.some(shouldTransformElement);\n}\n\n// Todo: unify name references logic with helper-function-name\nfunction NamedEvaluationVisitoryFactory(\n isAnonymous: (path: NodePath) => boolean,\n visitor: (\n path: NodePath,\n state: PluginPass,\n name:\n | string\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral,\n ) => void,\n) {\n function handleComputedProperty(\n propertyPath: NodePath<\n t.ObjectProperty | t.ClassProperty | t.ClassAccessorProperty\n >,\n key: t.Expression,\n state: PluginPass,\n ): t.StringLiteral | t.Identifier {\n switch (key.type) {\n case \"StringLiteral\":\n return t.stringLiteral(key.value);\n case \"NumericLiteral\":\n case \"BigIntLiteral\": {\n const keyValue = key.value + \"\";\n propertyPath.get(\"key\").replaceWith(t.stringLiteral(keyValue));\n return t.stringLiteral(keyValue);\n }\n default: {\n const ref = propertyPath.scope.maybeGenerateMemoised(key);\n propertyPath\n .get(\"key\")\n .replaceWith(\n t.assignmentExpression(\n \"=\",\n ref,\n createToPropertyKeyCall(state, key),\n ),\n );\n return t.cloneNode(ref);\n }\n }\n }\n return {\n VariableDeclarator(path, state) {\n const id = path.node.id;\n if (id.type === \"Identifier\") {\n const initializer = skipTransparentExprWrappers(path.get(\"init\"));\n if (isAnonymous(initializer)) {\n const name = id.name;\n visitor(initializer, state, name);\n }\n }\n },\n AssignmentExpression(path, state) {\n const id = path.node.left;\n if (id.type === \"Identifier\") {\n const initializer = skipTransparentExprWrappers(path.get(\"right\"));\n if (isAnonymous(initializer)) {\n switch (path.node.operator) {\n case \"=\":\n case \"&&=\":\n case \"||=\":\n case \"??=\":\n visitor(initializer, state, id.name);\n }\n }\n }\n },\n AssignmentPattern(path, state) {\n const id = path.node.left;\n if (id.type === \"Identifier\") {\n const initializer = skipTransparentExprWrappers(path.get(\"right\"));\n if (isAnonymous(initializer)) {\n const name = id.name;\n visitor(initializer, state, name);\n }\n }\n },\n // We listen on ObjectExpression so that we don't have to visit\n // the object properties under object patterns\n ObjectExpression(path, state) {\n for (const propertyPath of path.get(\"properties\")) {\n if (!propertyPath.isObjectProperty()) continue;\n const { node } = propertyPath;\n const id = node.key;\n const initializer = skipTransparentExprWrappers(\n propertyPath.get(\"value\") as NodePath<t.Expression>,\n );\n if (isAnonymous(initializer)) {\n if (!node.computed) {\n // 13.2.5.5 RS: PropertyDefinitionEvaluation\n if (!isProtoKey(id as t.StringLiteral | t.Identifier)) {\n if (id.type === \"Identifier\") {\n visitor(initializer, state, id.name);\n } else {\n const className = t.stringLiteral(\n (id as t.StringLiteral | t.NumericLiteral | t.BigIntLiteral)\n .value + \"\",\n );\n visitor(initializer, state, className);\n }\n }\n } else {\n const ref = handleComputedProperty(\n propertyPath,\n // The key of a computed object property must not be a private name\n id as t.Expression,\n state,\n );\n visitor(initializer, state, ref);\n }\n }\n }\n },\n ClassPrivateProperty(path, state) {\n const { node } = path;\n const initializer = skipTransparentExprWrappers(path.get(\"value\"));\n if (isAnonymous(initializer)) {\n const className = t.stringLiteral(\"#\" + node.key.id.name);\n visitor(initializer, state, className);\n }\n },\n ClassAccessorProperty(path, state) {\n const { node } = path;\n const id = node.key;\n const initializer = skipTransparentExprWrappers(path.get(\"value\"));\n if (isAnonymous(initializer)) {\n if (!node.computed) {\n if (id.type === \"Identifier\") {\n visitor(initializer, state, id.name);\n } else if (id.type === \"PrivateName\") {\n const className = t.stringLiteral(\"#\" + id.id.name);\n visitor(initializer, state, className);\n } else {\n const className = t.stringLiteral(\n (id as t.StringLiteral | t.NumericLiteral | t.BigIntLiteral)\n .value + \"\",\n );\n visitor(initializer, state, className);\n }\n } else {\n const ref = handleComputedProperty(\n path,\n // The key of a computed accessor property must not be a private name\n id as t.Expression,\n state,\n );\n visitor(initializer, state, ref);\n }\n }\n },\n ClassProperty(path, state) {\n const { node } = path;\n const id = node.key;\n const initializer = skipTransparentExprWrappers(path.get(\"value\"));\n if (isAnonymous(initializer)) {\n if (!node.computed) {\n if (id.type === \"Identifier\") {\n visitor(initializer, state, id.name);\n } else {\n const className = t.stringLiteral(\n (id as t.StringLiteral | t.NumericLiteral | t.BigIntLiteral)\n .value + \"\",\n );\n visitor(initializer, state, className);\n }\n } else {\n const ref = handleComputedProperty(path, id, state);\n visitor(initializer, state, ref);\n }\n }\n },\n } satisfies Visitor<PluginPass>;\n}\n\nfunction isDecoratedAnonymousClassExpression(path: NodePath) {\n return (\n path.isClassExpression({ id: null }) && shouldTransformClass(path.node)\n );\n}\n\nfunction generateLetUidIdentifier(scope: Scope, name: string) {\n const id = scope.generateUidIdentifier(name);\n scope.push({ id, kind: \"let\" });\n return t.cloneNode(id);\n}\n\nexport default function (\n { assertVersion, assumption }: PluginAPI,\n { loose }: Options,\n version: DecoratorVersionKind,\n inherits: PluginObject[\"inherits\"],\n): PluginObject {\n if (process.env.BABEL_8_BREAKING) {\n assertVersion(REQUIRED_VERSION(\"^7.21.0\"));\n } else {\n if (\n version === \"2023-11\" ||\n version === \"2023-05\" ||\n version === \"2023-01\"\n ) {\n assertVersion(REQUIRED_VERSION(\"^7.21.0\"));\n } else if (version === \"2021-12\") {\n assertVersion(REQUIRED_VERSION(\"^7.16.0\"));\n } else {\n assertVersion(REQUIRED_VERSION(\"^7.19.0\"));\n }\n }\n\n const VISITED = new WeakSet<NodePath>();\n const constantSuper = assumption(\"constantSuper\") ?? loose;\n const ignoreFunctionLength = assumption(\"ignoreFunctionLength\") ?? loose;\n\n const namedEvaluationVisitor: Visitor<PluginPass> =\n NamedEvaluationVisitoryFactory(\n isDecoratedAnonymousClassExpression,\n visitClass,\n );\n\n function visitClass(\n path: NodePath<t.Class>,\n state: PluginPass,\n className: string | t.Identifier | t.StringLiteral | undefined,\n ) {\n if (VISITED.has(path)) return;\n const { node } = path;\n className ??= node.id?.name;\n const newPath = transformClass(\n path,\n state,\n constantSuper,\n ignoreFunctionLength,\n className,\n namedEvaluationVisitor,\n version,\n );\n if (newPath) {\n VISITED.add(newPath);\n return;\n }\n VISITED.add(path);\n }\n\n return {\n name: \"proposal-decorators\",\n inherits: inherits,\n\n visitor: {\n ExportDefaultDeclaration(path, state) {\n const { declaration } = path.node;\n if (\n declaration?.type === \"ClassDeclaration\" &&\n // When compiling class decorators we need to replace the class\n // binding, so we must split it in two separate declarations.\n isDecorated(declaration)\n ) {\n const isAnonymous = !declaration.id;\n if (!process.env.BABEL_8_BREAKING && !USE_ESM && !IS_STANDALONE) {\n // polyfill when being run by an older Babel version\n path.splitExportDeclaration ??=\n // eslint-disable-next-line no-restricted-globals\n require(\"@babel/traverse\").NodePath.prototype.splitExportDeclaration;\n }\n const updatedVarDeclarationPath =\n path.splitExportDeclaration() as NodePath<t.ClassDeclaration>;\n if (isAnonymous) {\n visitClass(\n updatedVarDeclarationPath,\n state,\n t.stringLiteral(\"default\"),\n );\n }\n }\n },\n ExportNamedDeclaration(path) {\n const { declaration } = path.node;\n if (\n declaration?.type === \"ClassDeclaration\" &&\n // When compiling class decorators we need to replace the class\n // binding, so we must split it in two separate declarations.\n isDecorated(declaration)\n ) {\n if (!process.env.BABEL_8_BREAKING && !USE_ESM && !IS_STANDALONE) {\n // polyfill when being run by an older Babel version\n path.splitExportDeclaration ??=\n // eslint-disable-next-line no-restricted-globals\n require(\"@babel/traverse\").NodePath.prototype.splitExportDeclaration;\n }\n path.splitExportDeclaration();\n }\n },\n\n Class(path, state) {\n visitClass(path, state, undefined);\n },\n\n ...namedEvaluationVisitor,\n },\n };\n}\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,IAAAE,wCAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAIA,IAAAI,KAAA,GAAAJ,OAAA;AAoCA,SAASK,WAAWA,CAACC,EAAY,EAAEC,GAAG,GAAGD,EAAE,CAACE,MAAM,GAAG,CAAC,EAAQ;EAE5D,IAAID,GAAG,KAAK,CAAC,CAAC,EAAE;IACdD,EAAE,CAACG,OAAO,GAAqB,CAAC;IAChC;EACF;EAEA,MAAMC,OAAO,GAAGJ,EAAE,CAACC,GAAG,CAAC;EAEvB,IAAIG,OAAO,OAAyB,EAAE;IAEpCJ,EAAE,CAACC,GAAG,CAAC,KAAuB;EAChC,CAAC,MAAM,IAAIG,OAAO,QAAyB,EAAE;IAE3CJ,EAAE,CAACC,GAAG,CAAC,KAAuB;IAC9BF,WAAW,CAACC,EAAE,EAAEC,GAAG,GAAG,CAAC,CAAC;EAC1B,CAAC,MAAM;IAELD,EAAE,CAACC,GAAG,CAAC,GAAGG,OAAO,GAAG,CAAC;EACvB;AACF;AASA,SAASC,iCAAiCA,CACxCC,SAA2D,EACtC;EACrB,MAAMC,gBAA0B,GAAG,EAAE;EACrC,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAAS,CAAC;EAEtCH,SAAS,CAACI,QAAQ,CAAC;IACjBC,WAAWA,CAACC,IAAI,EAAE;MAChBJ,YAAY,CAACK,GAAG,CAACD,IAAI,CAACE,IAAI,CAACd,EAAE,CAACe,IAAI,CAAC;IACrC;EACF,CAAC,CAAC;EAEF,OAAO,MAAqB;IAC1B,IAAIC,SAAS;IACb,GAAG;MACDjB,WAAW,CAACQ,gBAAgB,CAAC;MAC7BS,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,GAAGX,gBAAgB,CAAC;IACtD,CAAC,QAAQC,YAAY,CAACW,GAAG,CAACH,SAAS,CAAC;IAEpC,OAAOI,WAAC,CAACC,WAAW,CAACD,WAAC,CAACE,UAAU,CAACN,SAAS,CAAC,CAAC;EAC/C,CAAC;AACH;AAQA,SAASO,qCAAqCA,CAC5CjB,SAA2D,EACtC;EACrB,IAAIkB,SAA8B;EAElC,OAAO,MAAqB;IAC1B,IAAI,CAACA,SAAS,EAAE;MACdA,SAAS,GAAGnB,iCAAiC,CAACC,SAAS,CAAC;IAC1D;IAEA,OAAOkB,SAAS,CAAC,CAAC;EACpB,CAAC;AACH;AAUA,SAASC,mBAAmBA,CAC1Bb,IAAsD,EACtDc,SAA8D,EAI9D;EACA,MAAM1B,EAAE,GAAGY,IAAI,CAACE,IAAI,CAACd,EAAE;EACvB,MAAM2B,KAAK,GAAGf,IAAI,CAACe,KAAK;EACxB,IAAIf,IAAI,CAACgB,IAAI,KAAK,kBAAkB,EAAE;IACpC,MAAMF,SAAS,GAAG1B,EAAE,CAACe,IAAI;IACzB,MAAMc,KAAK,GAAGF,KAAK,CAACG,gCAAgC,CAAC9B,EAAE,CAAC;IACxD,MAAM+B,OAAO,GAAGX,WAAC,CAACE,UAAU,CAACI,SAAS,CAAC;IAEvCC,KAAK,CAACK,MAAM,CAACN,SAAS,EAAEG,KAAK,CAACd,IAAI,CAAC;IAEnCH,IAAI,CAACqB,GAAG,CAAC,IAAI,CAAC,CAACC,WAAW,CAACH,OAAO,CAAC;IAEnC,OAAO;MAAE/B,EAAE,EAAEoB,WAAC,CAACe,SAAS,CAACN,KAAK,CAAC;MAAEjB;IAAK,CAAC;EACzC,CAAC,MAAM;IACL,IAAIiB,KAAmB;IAEvB,IAAI7B,EAAE,EAAE;MACN0B,SAAS,GAAG1B,EAAE,CAACe,IAAI;MACnBc,KAAK,GAAGO,wBAAwB,CAACT,KAAK,CAACU,MAAM,EAAEX,SAAS,CAAC;MACzDC,KAAK,CAACK,MAAM,CAACN,SAAS,EAAEG,KAAK,CAACd,IAAI,CAAC;IACrC,CAAC,MAAM;MACLc,KAAK,GAAGO,wBAAwB,CAC9BT,KAAK,CAACU,MAAM,EACZ,OAAOX,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAG,iBAC9C,CAAC;IACH;IAEA,MAAMY,YAAY,GAAGlB,WAAC,CAACmB,eAAe,CACpC,OAAOb,SAAS,KAAK,QAAQ,GAAGN,WAAC,CAACE,UAAU,CAACI,SAAS,CAAC,GAAG,IAAI,EAC9Dd,IAAI,CAACE,IAAI,CAAC0B,UAAU,EACpB5B,IAAI,CAACE,IAAI,CAAC2B,IACZ,CAAC;IAED,MAAM,CAACC,OAAO,CAAC,GAAG9B,IAAI,CAACsB,WAAW,CAChCd,WAAC,CAACuB,kBAAkB,CAAC,CAACL,YAAY,EAAET,KAAK,CAAC,CAC5C,CAAC;IAED,OAAO;MACL7B,EAAE,EAAEoB,WAAC,CAACe,SAAS,CAACN,KAAK,CAAC;MACtBjB,IAAI,EAAE8B,OAAO,CAACT,GAAG,CAAC,eAAe;IACnC,CAAC;EACH;AACF;AAEA,SAASW,qBAAqBA,CAC5BC,GAAiC,EACjCC,KAA+B,EAC/BC,QAAiB,EACyB;EAC1C,IAAIF,GAAG,CAACjB,IAAI,KAAK,aAAa,EAAE;IAC9B,OAAOR,WAAC,CAAC4B,oBAAoB,CAACH,GAAG,EAAEC,KAAK,EAAEG,SAAS,EAAEF,QAAQ,CAAC;EAChE,CAAC,MAAM;IACL,OAAO3B,WAAC,CAAC8B,aAAa,CAACL,GAAG,EAAEC,KAAK,EAAEG,SAAS,EAAEA,SAAS,EAAEF,QAAQ,CAAC;EACpE;AACF;AAEA,SAASI,yBAAyBA,CAChCvC,IAAuB,EACvBc,SAA8D,EAC9D;EACA,IAAI,CAACd,IAAI,CAACE,IAAI,CAACd,EAAE,EAAE;IACjBY,IAAI,CAACE,IAAI,CAACd,EAAE,GACV,OAAO0B,SAAS,KAAK,QAAQ,GACzBN,WAAC,CAACE,UAAU,CAACI,SAAS,CAAC,GACvBd,IAAI,CAACe,KAAK,CAACyB,qBAAqB,CAAC,OAAO,CAAC;EACjD;AACF;AAEA,SAASC,oBAAoBA,CAC3B3B,SAAuB,EACvB4B,OAA0C,EAC1CC,SAAuC,EACvCC,SAAuC,EACvCC,SAAwB,EACxBC,UAAmB,EACnBX,QAAiB,EACjBY,OAA6B,EACvB;EACN,MAAMC,OAAO,GACX,CAACD,OAAO,KAAK,SAAS,IACcA,OAAO,KAAK,SAAS,KACzDZ,QAAQ,GACJrB,SAAS,GACTN,WAAC,CAACyC,cAAc,CAAC,CAAC;EAExB,MAAMC,UAAU,GAAG1C,WAAC,CAAC2C,cAAc,CAAC,CAClC3C,WAAC,CAAC4C,eAAe,CACf5C,WAAC,CAAC6C,gBAAgB,CAAC7C,WAAC,CAACe,SAAS,CAACyB,OAAO,CAAC,EAAExC,WAAC,CAACe,SAAS,CAACsB,SAAS,CAAC,CACjE,CAAC,CACF,CAAC;EAEF,MAAMS,UAAU,GAAG9C,WAAC,CAAC2C,cAAc,CAAC,CAClC3C,WAAC,CAAC+C,mBAAmB,CACnB/C,WAAC,CAACgD,oBAAoB,CACpB,GAAG,EACHhD,WAAC,CAAC6C,gBAAgB,CAAC7C,WAAC,CAACe,SAAS,CAACyB,OAAO,CAAC,EAAExC,WAAC,CAACe,SAAS,CAACsB,SAAS,CAAC,CAAC,EAChErC,WAAC,CAACE,UAAU,CAAC,GAAG,CAClB,CACF,CAAC,CACF,CAAC;EAEF,IAAI+C,MAA4C,EAC9CC,MAA4C;EAE9C,IAAIf,SAAS,CAAC3B,IAAI,KAAK,aAAa,EAAE;IACpCyC,MAAM,GAAGjD,WAAC,CAACmD,kBAAkB,CAAC,KAAK,EAAEhB,SAAS,EAAE,EAAE,EAAEO,UAAU,EAAEf,QAAQ,CAAC;IACzEuB,MAAM,GAAGlD,WAAC,CAACmD,kBAAkB,CAC3B,KAAK,EACLf,SAAS,EACT,CAACpC,WAAC,CAACE,UAAU,CAAC,GAAG,CAAC,CAAC,EACnB4C,UAAU,EACVnB,QACF,CAAC;EACH,CAAC,MAAM;IACLsB,MAAM,GAAGjD,WAAC,CAACoD,WAAW,CACpB,KAAK,EACLjB,SAAS,EACT,EAAE,EACFO,UAAU,EACVJ,UAAU,EACVX,QACF,CAAC;IACDuB,MAAM,GAAGlD,WAAC,CAACoD,WAAW,CACpB,KAAK,EACLhB,SAAS,EACT,CAACpC,WAAC,CAACE,UAAU,CAAC,GAAG,CAAC,CAAC,EACnB4C,UAAU,EACVR,UAAU,EACVX,QACF,CAAC;EACH;EAEAO,OAAO,CAACmB,WAAW,CAACH,MAAM,CAAC;EAC3BhB,OAAO,CAACmB,WAAW,CAACJ,MAAM,CAAC;AAC7B;AAEA,SAASK,wBAAwBA,CAC/BjB,SAAwB,EACxBE,OAA6B,EACyB;EACtD,IAAIA,OAAO,KAAK,SAAS,IAAIA,OAAO,KAAK,SAAS,IAAIA,OAAO,KAAK,SAAS,EAAE;IAC3E,OAAO,CACLgB,cAAQ,CAACC,UAAU,CAACC,GAAG;AAC7B;AACA,wBAAwBzD,WAAC,CAACe,SAAS,CAACsB,SAAS,CAAC;AAC9C;AACA,OAAO,EACDkB,cAAQ,CAACC,UAAU,CAACC,GAAG;AAC7B;AACA,iBAAiBzD,WAAC,CAACe,SAAS,CAACsB,SAAS,CAAC;AACvC;AACA,OAAO,CACF;EACH;EACA,OAAO,CACLkB,cAAQ,CAACC,UAAU,CAACC,GAAG;AAC3B,eAAezD,WAAC,CAACe,SAAS,CAACsB,SAAS,CAAC;AACrC,KAAK,EACDkB,cAAQ,CAACC,UAAU,CAACC,GAAG;AAC3B,oBAAoBzD,WAAC,CAACe,SAAS,CAACsB,SAAS,CAAC;AAC1C,KAAK,CACF;AACH;AAWA,SAASqB,yBAAyBA,CAChClE,IAA4B,EACJ;EACxBA,IAAI,GAAG,IAAAmE,oEAA2B,EAACnE,IAAI,CAAC;EACxC,IAAIA,IAAI,CAACoE,oBAAoB,CAAC,CAAC,EAAE;IAC/B,MAAMC,WAAW,GAAGrE,IAAI,CAACqB,GAAG,CAAC,aAAa,CAAC;IAC3C,OAAO6C,yBAAyB,CAACG,WAAW,CAACA,WAAW,CAAC/E,MAAM,GAAG,CAAC,CAAC,CAAC;EACvE;EACA,OAAOU,IAAI;AACb;AAYA,SAASsE,sBAAsBA,CAACtE,IAA4B,EAAgB;EAC1E,MAAM0C,OAAO,GAAGwB,yBAAyB,CAAClE,IAAI,CAAC;EAC/C,IAAI0C,OAAO,CAAC6B,oBAAoB,CAAC,CAAC,EAAE;IAClC,OAAO/D,WAAC,CAACe,SAAS,CAACvB,IAAI,CAACE,IAAI,CAAC;EAC/B,CAAC,MAAM,IAAIwC,OAAO,CAAC8B,YAAY,CAAC,CAAC,IAAIxE,IAAI,CAACe,KAAK,CAAC0D,MAAM,CAAC/B,OAAO,CAACxC,IAAI,CAACC,IAAI,CAAC,EAAE;IACzE,OAAOK,WAAC,CAACe,SAAS,CAACvB,IAAI,CAACE,IAAI,CAAC;EAC/B,CAAC,MAAM,IACLwC,OAAO,CAACgC,sBAAsB,CAAC,CAAC,IAChChC,OAAO,CAACrB,GAAG,CAAC,MAAM,CAAC,CAACmD,YAAY,CAAC,CAAC,EAClC;IACA,OAAOhE,WAAC,CAACe,SAAS,CAACmB,OAAO,CAACxC,IAAI,CAACyE,IAAoB,CAAC;EACvD,CAAC,MAAM;IACL,MAAM,IAAIC,KAAK,CACb,oCAAoC5E,IAAI,CAAC6E,QAAQ,CAAC,CAAC,6BACrD,CAAC;EACH;AACF;AAaA,SAASC,+BAA+BA,CACtCT,WAA2B,EAC3BU,SAEC,EACD;EACA,MAAM9C,GAAG,GAAG8C,SAAS,CAAC1D,GAAG,CAAC,KAAK,CAA2B;EAC1D,IAAIY,GAAG,CAACmC,oBAAoB,CAAC,CAAC,EAAE;IAC9BC,WAAW,CAACW,IAAI,CAAC,GAAG/C,GAAG,CAAC/B,IAAI,CAACmE,WAAW,CAAC;EAC3C,CAAC,MAAM;IACLA,WAAW,CAACW,IAAI,CAAC/C,GAAG,CAAC/B,IAAI,CAAC;EAC5B;EACA+B,GAAG,CAACX,WAAW,CAAC2D,uBAAuB,CAACZ,WAAW,CAAC,CAAC;AACvD;AAcA,SAASa,8BAA8BA,CACrCb,WAA2B,EAC3BU,SAEC,EACD;EACA,MAAM9C,GAAG,GAAG8C,SAAS,CAAC1D,GAAG,CAAC,KAAK,CAA2B;EAC1D,MAAM8D,UAAU,GAAGjB,yBAAyB,CAACjC,GAAG,CAAC;EACjD,IAAIkD,UAAU,CAACZ,oBAAoB,CAAC,CAAC,EAAE;IACrCO,+BAA+B,CAACT,WAAW,EAAEU,SAAS,CAAC;EACzD,CAAC,MAAM;IACL,MAAMK,WAAW,GAAGnD,GAAG,CAAClB,KAAK,CAACU,MAAM;IACpC,MAAM4D,eAAe,GAAG,IAAAC,wBAAkB,EACxCH,UAAU,CAACjF,IAAI,EACfkF,WAAW,EACXA,WAAW,CAACG,WAAW,CAAC,aAAa,CACvC,CAAC;IACD,IAAI,CAACF,eAAe,EAAE;MAGpBP,+BAA+B,CAACT,WAAW,EAAEU,SAAS,CAAC;IACzD,CAAC,MAAM;MACL,MAAMS,kBAAkB,GAAG,CACzB,GAAGnB,WAAW,EAEd7D,WAAC,CAACe,SAAS,CAAC8D,eAAe,CAACV,IAAI,CAAC,CAClC;MACD,MAAMc,gBAAgB,GAAGN,UAAU,CAACO,UAAU;MAC9C,IAAID,gBAAgB,CAACrB,oBAAoB,CAAC,CAAC,EAAE;QAC3CqB,gBAAgB,CAACE,aAAa,CAAC,aAAa,EAAEH,kBAAkB,CAAC;MACnE,CAAC,MAAM;QACLL,UAAU,CAAC7D,WAAW,CACpB2D,uBAAuB,CAAC,CACtBzE,WAAC,CAACe,SAAS,CAAC8D,eAAe,CAAC,EAC5B,GAAGG,kBAAkB,CACtB,CACH,CAAC;MACH;IACF;EACF;AACF;AAWA,SAASI,oCAAoCA,CAC3CvB,WAA2B,EAC3BU,SAEC,EACD;EACA,MAAMc,WAAW,GAAGd,SAAS,CAAC1D,GAAG,CAAC,OAAO,CAAC;EAC1C,IAAIwE,WAAW,CAAC3F,IAAI,EAAE;IACpBmE,WAAW,CAACW,IAAI,CAACa,WAAW,CAAC3F,IAAI,CAAC;EACpC,CAAC,MAAM,IAAImE,WAAW,CAAC/E,MAAM,GAAG,CAAC,EAAE;IACjC+E,WAAW,CAACA,WAAW,CAAC/E,MAAM,GAAG,CAAC,CAAC,GAAGkB,WAAC,CAACsF,eAAe,CACrD,MAAM,EACNzB,WAAW,CAACA,WAAW,CAAC/E,MAAM,GAAG,CAAC,CACpC,CAAC;EACH;EACAuG,WAAW,CAACvE,WAAW,CAAC2D,uBAAuB,CAACZ,WAAW,CAAC,CAAC;AAC/D;AAEA,SAAS0B,+BAA+BA,CACtC1B,WAA2B,EAC3B2B,SAAkC,EAClC;EACAA,SAAS,CAACC,gBAAgB,CACxB,MAAM,EACNzF,WAAC,CAAC+C,mBAAmB,CAAC0B,uBAAuB,CAACZ,WAAW,CAAC,CAC5D,CAAC;AACH;AAEA,SAAS6B,+BAA+BA,CACtC7B,WAA2B,EAC3B8B,eAAwC,EACxC;EACAA,eAAe,CAACjG,IAAI,CAAC2B,IAAI,CAACA,IAAI,CAACtC,OAAO,CACpCiB,WAAC,CAAC+C,mBAAmB,CAAC0B,uBAAuB,CAACZ,WAAW,CAAC,CAC5D,CAAC;AACH;AAEA,SAAS+B,yBAAyBA,CAChCpC,UAAwB,EACxBqC,aAA2B,EAC3B;EACA,OACE7F,WAAC,CAAC8F,gBAAgB,CAACtC,UAAU,CAAC,IAC9BxD,WAAC,CAACgE,YAAY,CAACR,UAAU,CAACuC,MAAM,EAAE;IAAEpG,IAAI,EAAEkG,aAAa,CAAClG;EAAK,CAAC,CAAC;AAEnE;AASA,SAASqG,+BAA+BA,CACtCnC,WAA2B,EAC3BoC,cAA4B,EAC5B;EACA,IAAIA,cAAc,EAAE;IAClB,IACEpC,WAAW,CAAC/E,MAAM,IAAI,CAAC,IACvB8G,yBAAyB,CAAC/B,WAAW,CAAC,CAAC,CAAC,EAAEoC,cAAc,CAAC,EACzD;MAEA,MAAMC,eAAe,GAAGlG,WAAC,CAACmG,cAAc,CAACnG,WAAC,CAACe,SAAS,CAACkF,cAAc,CAAC,EAAE,CACpEpC,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;MACFA,WAAW,CAACuC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAEF,eAAe,CAAC;IAC3C;IAEA,IACErC,WAAW,CAAC/E,MAAM,IAAI,CAAC,IACvBkB,WAAC,CAACqG,gBAAgB,CAACxC,WAAW,CAACA,WAAW,CAAC/E,MAAM,GAAG,CAAC,CAAC,CAAC,IACvD8G,yBAAyB,CACvB/B,WAAW,CAACA,WAAW,CAAC/E,MAAM,GAAG,CAAC,CAAC,EACnCmH,cACF,CAAC,EACD;MACApC,WAAW,CAACuC,MAAM,CAACvC,WAAW,CAAC/E,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/C;EACF;EACA,OAAO2F,uBAAuB,CAACZ,WAAW,CAAC;AAC7C;AAWA,SAASyC,0CAA0CA,CACjDzC,WAA2B,EAC3B8B,eAAwC,EACxCM,cAA4B,EAC5B;EACAN,eAAe,CAACrG,QAAQ,CAAC;IACvBiH,cAAc,EAAE;MACdC,IAAIA,CAAChH,IAAI,EAAE;QACT,IAAI,CAACA,IAAI,CAACqB,GAAG,CAAC,QAAQ,CAAC,CAAC4F,OAAO,CAAC,CAAC,EAAE;QACnC,MAAMC,QAAQ,GAAG,CACflH,IAAI,CAACE,IAAI,EACT,GAAGmE,WAAW,CAAC8C,GAAG,CAACC,IAAI,IAAI5G,WAAC,CAACe,SAAS,CAAC6F,IAAI,CAAC,CAAC,CAC9C;QAED,IAAIpH,IAAI,CAACqH,kBAAkB,CAAC,CAAC,EAAE;UAC7BH,QAAQ,CAAClC,IAAI,CAACxE,WAAC,CAACyC,cAAc,CAAC,CAAC,CAAC;QACnC;QACAjD,IAAI,CAACsB,WAAW,CACdkF,+BAA+B,CAACU,QAAQ,EAAET,cAAc,CAC1D,CAAC;QAEDzG,IAAI,CAACsH,IAAI,CAAC,CAAC;MACb;IACF,CAAC;IACDC,WAAWA,CAACvH,IAAI,EAAE;MAChB,IAAIA,IAAI,CAACE,IAAI,CAACsH,IAAI,KAAK,aAAa,EAAE;QACpCxH,IAAI,CAACsH,IAAI,CAAC,CAAC;MACb;IACF;EACF,CAAC,CAAC;AACJ;AAWA,SAASG,gCAAgCA,CACvCpD,WAA2B,EAC3BqD,cAAuB,EACvB;EACA,MAAM7F,IAAmB,GAAG,CAC1BrB,WAAC,CAAC+C,mBAAmB,CAAC0B,uBAAuB,CAACZ,WAAW,CAAC,CAAC,CAC5D;EACD,IAAIqD,cAAc,EAAE;IAClB7F,IAAI,CAACtC,OAAO,CACViB,WAAC,CAAC+C,mBAAmB,CACnB/C,WAAC,CAACmG,cAAc,CAACnG,WAAC,CAACmH,KAAK,CAAC,CAAC,EAAE,CAACnH,WAAC,CAACoH,aAAa,CAACpH,WAAC,CAACE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CACrE,CACF,CAAC;EACH;EACA,OAAOF,WAAC,CAACoD,WAAW,CAClB,aAAa,EACbpD,WAAC,CAACE,UAAU,CAAC,aAAa,CAAC,EAC3BgH,cAAc,GAAG,CAAClH,WAAC,CAACqH,WAAW,CAACrH,WAAC,CAACE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,EAC3DF,WAAC,CAAC2C,cAAc,CAACtB,IAAI,CACvB,CAAC;AACH;AAEA,SAASiG,gCAAgCA,CAACzD,WAA2B,EAAE;EACrE,OAAO7D,WAAC,CAACuH,WAAW,CAAC,CACnBvH,WAAC,CAAC+C,mBAAmB,CAAC0B,uBAAuB,CAACZ,WAAW,CAAC,CAAC,CAC5D,CAAC;AACJ;AAGA,MAAM2D,KAAK,GAAG,CAAC;AACf,MAAMC,QAAQ,GAAG,CAAC;AAClB,MAAMC,MAAM,GAAG,CAAC;AAChB,MAAMC,MAAM,GAAG,CAAC;AAChB,MAAMC,MAAM,GAAG,CAAC;AAEhB,MAAMC,kBAAkB,GAAG,CAAC;AAC5B,MAAMC,MAAM,GAAG,CAAC;AAChB,MAAMC,oBAAoB,GAAG,EAAE;AAE/B,SAASC,cAAcA,CAAC9F,OAA0C,EAAU;EAC1E,QAAQA,OAAO,CAACxC,IAAI,CAACc,IAAI;IACvB,KAAK,eAAe;IACpB,KAAK,sBAAsB;MACzB,OAAOgH,KAAK;IACd,KAAK,uBAAuB;MAC1B,OAAOC,QAAQ;IACjB,KAAK,aAAa;IAClB,KAAK,oBAAoB;MACvB,IAAIvF,OAAO,CAACxC,IAAI,CAACsH,IAAI,KAAK,KAAK,EAAE;QAC/B,OAAOW,MAAM;MACf,CAAC,MAAM,IAAIzF,OAAO,CAACxC,IAAI,CAACsH,IAAI,KAAK,KAAK,EAAE;QACtC,OAAOY,MAAM;MACf,CAAC,MAAM;QACL,OAAOF,MAAM;MACf;EACJ;AACF;AAmCA,SAASO,qBAAqBA,CAACC,IAAqB,EAAmB;EACrE,OAAO,CACL,GAAGA,IAAI,CAACC,MAAM,CACZC,EAAE,IAAIA,EAAE,CAACzG,QAAQ,IAAIyG,EAAE,CAACpB,IAAI,IAAIS,QAAQ,IAAIW,EAAE,CAACpB,IAAI,IAAIY,MACzD,CAAC,EACD,GAAGM,IAAI,CAACC,MAAM,CACZC,EAAE,IAAI,CAACA,EAAE,CAACzG,QAAQ,IAAIyG,EAAE,CAACpB,IAAI,IAAIS,QAAQ,IAAIW,EAAE,CAACpB,IAAI,IAAIY,MAC1D,CAAC,EACD,GAAGM,IAAI,CAACC,MAAM,CAACC,EAAE,IAAIA,EAAE,CAACzG,QAAQ,IAAIyG,EAAE,CAACpB,IAAI,KAAKQ,KAAK,CAAC,EACtD,GAAGU,IAAI,CAACC,MAAM,CAACC,EAAE,IAAI,CAACA,EAAE,CAACzG,QAAQ,IAAIyG,EAAE,CAACpB,IAAI,KAAKQ,KAAK,CAAC,CACxD;AACH;AAgBA,SAASa,sBAAsBA,CAC7BC,UAAyB,EACzBC,cAA4C,EAC5ChG,OAA6B,EACC;EAC9B,MAAMiG,SAAS,GAAGF,UAAU,CAACxJ,MAAM;EACnC,MAAM2J,WAAW,GAAGF,cAAc,CAACG,IAAI,CAACC,OAAO,CAAC;EAChD,MAAMC,IAAoB,GAAG,EAAE;EAC/B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,SAAS,EAAEK,CAAC,EAAE,EAAE;IAClC,KACGtG,OAAO,KAAK,SAAS,IACcA,OAAO,KAAK,SAAS,KACzDkG,WAAW,EACX;MACAG,IAAI,CAACpE,IAAI,CACP+D,cAAc,CAACM,CAAC,CAAC,IAAI7I,WAAC,CAACsF,eAAe,CAAC,MAAM,EAAEtF,WAAC,CAAC8I,cAAc,CAAC,CAAC,CAAC,CACpE,CAAC;IACH;IACAF,IAAI,CAACpE,IAAI,CAAC8D,UAAU,CAACO,CAAC,CAAC,CAACrF,UAAU,CAAC;EACrC;EAEA,OAAO;IAAEuF,QAAQ,EAAEN,WAAW;IAAEG;EAAK,CAAC;AACxC;AAEA,SAASI,uBAAuBA,CAC9BC,cAA+B,EAC/B1G,OAA6B,EACV;EACnB,OAAOvC,WAAC,CAACkJ,eAAe,CACtBD,cAAc,CAACtC,GAAG,CAACyB,EAAE,IAAI;IACvB,IAAIe,IAAI,GAAGf,EAAE,CAACpB,IAAI;IAClB,IAAIoB,EAAE,CAACzG,QAAQ,EAAE;MACfwH,IAAI,IACF5G,OAAO,KAAK,SAAS,IACaA,OAAO,KAAK,SAAS,GACnDuF,MAAM,GACND,kBAAkB;IAC1B;IACA,IAAIO,EAAE,CAACgB,kBAAkB,EAAED,IAAI,IAAIpB,oBAAoB;IAEvD,OAAO/H,WAAC,CAACkJ,eAAe,CAAC,CACvBd,EAAE,CAACiB,eAAe,EAClBrJ,WAAC,CAAC8I,cAAc,CAACK,IAAI,CAAC,EACtBf,EAAE,CAACzI,IAAI,EACP,IAAIyI,EAAE,CAACkB,cAAc,IAAI,EAAE,CAAC,CAC7B,CAAC;EACJ,CAAC,CACH,CAAC;AACH;AAEA,SAASC,8BAA8BA,CAACN,cAA+B,EAAE;EACvE,MAAMO,QAAwB,GAAG,EAAE;EAEnC,KAAK,MAAMpB,EAAE,IAAIa,cAAc,EAAE;IAC/B,MAAM;MAAEQ;IAAO,CAAC,GAAGrB,EAAE;IAErB,IAAIsB,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;MACzBD,QAAQ,CAAChF,IAAI,CAAC,GAAGiF,MAAM,CAAC;IAC1B,CAAC,MAAM,IAAIA,MAAM,KAAK5H,SAAS,EAAE;MAC/B2H,QAAQ,CAAChF,IAAI,CAACiF,MAAM,CAAC;IACvB;EACF;EAEA,OAAOD,QAAQ;AACjB;AAEA,SAASI,mBAAmBA,CAC1BrH,OAA6B,EAC7BL,OAAiB,EACjBT,GAAkB,EAClBoI,KAAmB,EACnBC,KAAmB,EACnBnI,QAAiB,EACjB;EACAO,OAAO,CAACmB,WAAW,CACjBrD,WAAC,CAACmD,kBAAkB,CAClB,KAAK,EACLnD,WAAC,CAACe,SAAS,CAACU,GAAG,CAAC,EAChB,EAAE,EACFzB,WAAC,CAAC2C,cAAc,CAAC,CACf3C,WAAC,CAAC4C,eAAe,CACf5C,WAAC,CAACmG,cAAc,CACdnG,WAAC,CAACe,SAAS,CAAC8I,KAAK,CAAC,EACetH,OAAO,KAAK,SAAS,IAAKZ,QAAQ,GAC/D,EAAE,GACF,CAAC3B,WAAC,CAACyC,cAAc,CAAC,CAAC,CACzB,CACF,CAAC,CACF,CAAC,EACFd,QACF,CACF,CAAC;EAEDO,OAAO,CAACmB,WAAW,CACjBrD,WAAC,CAACmD,kBAAkB,CAClB,KAAK,EACLnD,WAAC,CAACe,SAAS,CAACU,GAAG,CAAC,EAChB,CAACzB,WAAC,CAACE,UAAU,CAAC,GAAG,CAAC,CAAC,EACnBF,WAAC,CAAC2C,cAAc,CAAC,CACf3C,WAAC,CAAC+C,mBAAmB,CACnB/C,WAAC,CAACmG,cAAc,CACdnG,WAAC,CAACe,SAAS,CAAC+I,KAAK,CAAC,EACevH,OAAO,KAAK,SAAS,IAAKZ,QAAQ,GAC/D,CAAC3B,WAAC,CAACE,UAAU,CAAC,GAAG,CAAC,CAAC,GACnB,CAACF,WAAC,CAACyC,cAAc,CAAC,CAAC,EAAEzC,WAAC,CAACE,UAAU,CAAC,GAAG,CAAC,CAC5C,CACF,CAAC,CACF,CAAC,EACFyB,QACF,CACF,CAAC;AACH;AAEA,SAASoI,mBAAmBA,CAC1B7H,OAAuC,EACvCT,GAAkB,EAClBuI,cAA4B,EAC5BrI,QAAiB,EACjB;EACA,IAAIsI,MAAwC;EAC5C,IAAIC,KAAoB;EAExB,IAAIhI,OAAO,CAACxC,IAAI,CAACsH,IAAI,KAAK,KAAK,EAAE;IAC/BiD,MAAM,GAAG,CAACjK,WAAC,CAACE,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5BgK,KAAK,GAAG,CACNlK,WAAC,CAAC+C,mBAAmB,CACnB/C,WAAC,CAACmG,cAAc,CAAC6D,cAAc,EAAE,CAC/BhK,WAAC,CAACyC,cAAc,CAAC,CAAC,EAClBzC,WAAC,CAACE,UAAU,CAAC,GAAG,CAAC,CAClB,CACH,CAAC,CACF;EACH,CAAC,MAAM;IACL+J,MAAM,GAAG,EAAE;IACXC,KAAK,GAAG,CACNlK,WAAC,CAAC4C,eAAe,CAAC5C,WAAC,CAACmG,cAAc,CAAC6D,cAAc,EAAE,CAAChK,WAAC,CAACyC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1E;EACH;EAEAP,OAAO,CAACpB,WAAW,CACjBd,WAAC,CAACmD,kBAAkB,CAClBjB,OAAO,CAACxC,IAAI,CAACsH,IAAI,EACjBhH,WAAC,CAACe,SAAS,CAACU,GAAG,CAAC,EAChBwI,MAAM,EACNjK,WAAC,CAAC2C,cAAc,CAACuH,KAAK,CAAC,EACvBvI,QACF,CACF,CAAC;AACH;AAEA,SAASwI,6BAA6BA,CACpC3K,IAA4B,EACe;EAC3C,MAAM;IAAEgB;EAAK,CAAC,GAAGhB,IAAI;EAErB,OACEgB,IAAI,KAAK,iBAAiB,IAC1BA,IAAI,KAAK,kBAAkB,IAC3BA,IAAI,KAAK,aAAa;AAE1B;AAEA,SAAS4J,iBAAiBA,CAACF,KAAoB,EAAE;EAC/C,OAAOlK,WAAC,CAACmG,cAAc,CACrBnG,WAAC,CAACqK,uBAAuB,CAAC,EAAE,EAAErK,WAAC,CAAC2C,cAAc,CAACuH,KAAK,CAAC7I,IAAI,CAAC,CAAC,EAC3D,EACF,CAAC;AACH;AAEA,SAASiJ,4BAA4BA,CAACJ,KAAoB,EAAE;EAC1D,OAAOlK,WAAC,CAACuK,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAEvK,WAAC,CAAC2C,cAAc,CAACuH,KAAK,CAAC7I,IAAI,CAAC,CAAC;AACrE;AAEA,SAASmJ,yBAAyBA,CAAC9I,KAAmB,EAAE;EACtD,OAAO1B,WAAC,CAACuK,kBAAkB,CACzB,IAAI,EACJ,EAAE,EACFvK,WAAC,CAAC2C,cAAc,CAAC,CAAC3C,WAAC,CAAC4C,eAAe,CAAClB,KAAK,CAAC,CAAC,CAC7C,CAAC;AACH;AAEA,SAAS+C,uBAAuBA,CAACgG,KAAqB,EAAE;EACtD,IAAIA,KAAK,CAAC3L,MAAM,KAAK,CAAC,EAAE,OAAOkB,WAAC,CAACsF,eAAe,CAAC,MAAM,EAAEtF,WAAC,CAAC8I,cAAc,CAAC,CAAC,CAAC,CAAC;EAC7E,IAAI2B,KAAK,CAAC3L,MAAM,KAAK,CAAC,EAAE,OAAO2L,KAAK,CAAC,CAAC,CAAC;EACvC,OAAOzK,WAAC,CAACuB,kBAAkB,CAACkJ,KAAK,CAAC;AACpC;AASA,SAASC,yCAAyCA,CAAChL,IAA0B,EAAE;EAC7E,MAAM;IAAEuK,MAAM;IAAE5I,IAAI;IAAEjB,SAAS,EAAEuK,WAAW;IAAEC,KAAK,EAAEC;EAAQ,CAAC,GAAGnL,IAAI;EACrE,OAAOM,WAAC,CAACuK,kBAAkB,CACzB1I,SAAS,EAEToI,MAAM,EACN5I,IAAI,EACJsJ,WAAW,EACXE,OACF,CAAC;AACH;AAEA,SAASC,yBAAyBA,CAChCC,KAAiB,EACjBzK,SAAyC,EACzC;EACA,OAAON,WAAC,CAACmG,cAAc,CAAC4E,KAAK,CAACC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAC1DhL,WAAC,CAACyC,cAAc,CAAC,CAAC,EAClBnC,SAAS,CACV,CAAC;AACJ;AAEA,SAAS2K,uBAAuBA,CAACF,KAAiB,EAAEG,WAAyB,EAAE;EAC7E,OAAOlL,WAAC,CAACmG,cAAc,CAAC4E,KAAK,CAACC,SAAS,CAAC,eAAe,CAAC,EAAE,CAACE,WAAW,CAAC,CAAC;AAC1E;AAEA,SAASC,8BAA8BA,CAACC,SAAwB,EAAE;EAChE,OAAOpL,WAAC,CAACqK,uBAAuB,CAC9B,CAACrK,WAAC,CAACE,UAAU,CAAC,GAAG,CAAC,CAAC,EACnBF,WAAC,CAACqL,gBAAgB,CAAC,IAAI,EAAErL,WAAC,CAACe,SAAS,CAACqK,SAAS,CAAC,EAAEpL,WAAC,CAACE,UAAU,CAAC,GAAG,CAAC,CACpE,CAAC;AACH;AAEA,SAASoL,gBAAgBA,CAAC9H,UAAkB,EAAE;EAC5C,IAAI;IACFxD,WAAC,CAACuL,YAAY,CAAC/H,UAAU,EAAE9D,IAAI,IAAI;MACjC,IAAIM,WAAC,CAACwL,aAAa,CAAC9L,IAAI,CAAC,EAAE;QAGzB,MAAM,IAAI;MACZ;IACF,CAAC,CAAC;IACF,OAAO,KAAK;EACd,CAAC,CAAC,OAAA+L,OAAA,EAAM;IACN,OAAO,IAAI;EACb;AACF;AAUA,SAASC,oBAAoBA,CAAClM,IAA+C,EAAE;EAC7E,MAAM;IAAEE;EAAK,CAAC,GAAGF,IAAI;EACrBE,IAAI,CAACiM,QAAQ,GAAG,IAAI;EACpB,IAAI3L,WAAC,CAACgE,YAAY,CAACtE,IAAI,CAAC+B,GAAG,CAAC,EAAE;IAC5B/B,IAAI,CAAC+B,GAAG,GAAGzB,WAAC,CAAC4L,aAAa,CAAClM,IAAI,CAAC+B,GAAG,CAAC9B,IAAI,CAAC;EAC3C;AACF;AAEA,SAASkM,wBAAwBA,CAACrM,IAAc,EAAEJ,YAAsB,EAAE;EACxE,IAAI0M,6BAA6B,GAAG,KAAK;EACzC,IAAI1M,YAAY,CAACN,MAAM,GAAG,CAAC,EAAE;IAC3B,MAAMiN,kBAAkB,GAAG,IAAAC,iCAAyB,EAGlD;MACAzM,WAAWA,CAACC,IAAI,EAAEuL,KAAK,EAAE;QACvB,IAAIA,KAAK,CAACkB,eAAe,CAAClM,GAAG,CAACP,IAAI,CAACE,IAAI,CAACd,EAAE,CAACe,IAAI,CAAC,EAAE;UAChDmM,6BAA6B,GAAG,IAAI;UACpCtM,IAAI,CAAC0M,IAAI,CAAC,CAAC;QACb;MACF;IACF,CAAC,CAAC;IACF,MAAMD,eAAe,GAAG,IAAIE,GAAG,CAAe,CAAC;IAC/C,KAAK,MAAMxM,IAAI,IAAIP,YAAY,EAAE;MAC/B6M,eAAe,CAACG,GAAG,CAACzM,IAAI,EAAE,IAAI,CAAC;IACjC;IACAH,IAAI,CAACF,QAAQ,CAACyM,kBAAkB,EAAE;MAChCE,eAAe,EAAEA;IACnB,CAAC,CAAC;EACJ;EACA,OAAOH,6BAA6B;AACtC;AAEA,SAASO,6BAA6BA,CACpC7M,IAAuB,EACvB8M,uBAAoC,EACpC;EACA,MAAMP,kBAAkB,GAAG,IAAAC,iCAAyB,EAGlD;IACAzM,WAAWA,CAACC,IAAI,EAAEuL,KAAK,EAAE;MACvB,IAAI,CAACA,KAAK,CAACkB,eAAe,CAAClM,GAAG,CAACP,IAAI,CAACE,IAAI,CAACd,EAAE,CAACe,IAAI,CAAC,EAAE;MAEnD,MAAMuF,UAAU,GAAG1F,IAAI,CAAC0F,UAAU;MAClC,MAAMqH,gBAAgB,GAAGrH,UAAU,CAACA,UAAU;MAE9C,IAEGqH,gBAAgB,CAAC7M,IAAI,CAACc,IAAI,KAAK,sBAAsB,IACpD+L,gBAAgB,CAAC7M,IAAI,CAACyE,IAAI,KAAKe,UAAU,CAACxF,IAAI,IAEhD6M,gBAAgB,CAAC7M,IAAI,CAACc,IAAI,KAAK,kBAAkB,IAEjD+L,gBAAgB,CAAC7M,IAAI,CAACc,IAAI,KAAK,aAAa,IAE5C+L,gBAAgB,CAAC7M,IAAI,CAACc,IAAI,KAAK,cAAc,IAE5C+L,gBAAgB,CAAC7M,IAAI,CAACc,IAAI,KAAK,gBAAgB,IAC9C+L,gBAAgB,CAAC7M,IAAI,CAACgC,KAAK,KAAKwD,UAAU,CAACxF,IAAI,IAC/C6M,gBAAgB,CAACrH,UAAU,CAAC1E,IAAI,KAAK,eAAgB,IAEtD+L,gBAAgB,CAAC7M,IAAI,CAACc,IAAI,KAAK,gBAAgB,IAC9C+L,gBAAgB,CAAC7M,IAAI,CAACyE,IAAI,KAAKe,UAAU,CAACxF,IAAK,EACjD;QACA,MAAMF,IAAI,CAACgN,mBAAmB,CAC5B,kDAAkDhN,IAAI,CAACE,IAAI,CAACd,EAAE,CAACe,IAAI,mCACrE,CAAC;MACH;IACF;EACF,CAAC,CAAC;EACF,MAAMsM,eAAe,GAAG,IAAIE,GAAG,CAAe,CAAC;EAC/C,KAAK,MAAMxM,IAAI,IAAI2M,uBAAuB,EAAE;IAC1CL,eAAe,CAACG,GAAG,CAACzM,IAAI,EAAE,IAAI,CAAC;EACjC;EACAH,IAAI,CAACF,QAAQ,CAACyM,kBAAkB,EAAE;IAChCE,eAAe,EAAEA;EACnB,CAAC,CAAC;AACJ;AAgBA,SAASQ,cAAcA,CACrBjN,IAAuB,EACvBuL,KAAiB,EACjB2B,aAAsB,EACtBC,oBAA6B,EAC7BrM,SAA8D,EAC9DsM,eAAoC,EACpCrK,OAA6B,EACP;EAAA,IAAAsK,aAAA,EAAAC,mBAAA;EACtB,MAAMzL,IAAI,GAAG7B,IAAI,CAACqB,GAAG,CAAC,WAAW,CAAC;EAElC,MAAMkM,eAAe,GAAGvN,IAAI,CAACE,IAAI,CAAC4I,UAAU;EAC5C,IAAI0E,oBAAoB,GAAG,KAAK;EAChC,IAAIC,0BAA0B,GAAG,KAAK;EACtC,IAAIC,oBAAoB,GAAG,KAAK;EAEhC,MAAMC,uBAAuB,GAAGhN,qCAAqC,CAACX,IAAI,CAAC;EAE3E,MAAM4N,gBAA0C,GAAG,EAAE;EACrD,MAAMxI,WAAkB,GAAGpF,IAAI,CAACe,KAAK,CAACU,MAAM;EAC5C,MAAMoM,iBAAiB,GAAGA,CACxB7J,UAAwB,EACxB8J,IAAY,EACZC,WAAqC,KAClC;IACH,MAAMC,gBAAgB,GAAGxM,wBAAwB,CAAC4D,WAAW,EAAE0I,IAAI,CAAC;IACpEC,WAAW,CAAC/I,IAAI,CAACxE,WAAC,CAACgD,oBAAoB,CAAC,GAAG,EAAEwK,gBAAgB,EAAEhK,UAAU,CAAC,CAAC;IAC3E,OAAOxD,WAAC,CAACe,SAAS,CAACyM,gBAAgB,CAAC;EACtC,CAAC;EAED,IAAIvH,cAA4B;EAChC,IAAIwH,eAA6B;EACjC,MAAMC,WAAW,IAAAb,aAAA,GAAGrN,IAAI,CAACE,IAAI,CAACd,EAAE,qBAAZiO,aAAA,CAAclN,IAAI;EAEtC,MAAMgO,YAAY,GAAG,OAAOrN,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAGuB,SAAS;EAI1E,MAAM+L,+BAA+B,GAAIC,SAAsB,IAAK;IAClE,IAAI;MACF7N,WAAC,CAACuL,YAAY,CAACsC,SAAS,EAAEnO,IAAI,IAAI;QAChC,IACEM,WAAC,CAACqG,gBAAgB,CAAC3G,IAAI,CAAC,IACxBM,WAAC,CAACyG,OAAO,CAAC/G,IAAI,CAAC,IACfM,WAAC,CAAC8N,iBAAiB,CAACpO,IAAI,CAAC,IACzBM,WAAC,CAAC+N,iBAAiB,CAACrO,IAAI,CAAC,IACzBM,WAAC,CAACgE,YAAY,CAACtE,IAAI,EAAE;UAAEC,IAAI,EAAE;QAAY,CAAC,CAAC,IAC1C+N,WAAW,IAAI1N,WAAC,CAACgE,YAAY,CAACtE,IAAI,EAAE;UAAEC,IAAI,EAAE+N;QAAY,CAAC,CAAE,IAC3D1N,WAAC,CAACgO,cAAc,CAACtO,IAAI,CAAC,IAAIA,IAAI,CAACuO,IAAI,CAACtO,IAAI,KAAK,QAAS,EACvD;UAGA,MAAM,IAAI;QACZ;MACF,CAAC,CAAC;MACF,OAAO,KAAK;IACd,CAAC,CAAC,OAAAuO,QAAA,EAAM;MACN,OAAO,IAAI;IACb;EACF,CAAC;EAED,MAAMC,oBAA8B,GAAG,EAAE;EAIzC,KAAK,MAAMjM,OAAO,IAAIb,IAAI,EAAE;IAC1B,IAAI,CAAC8I,6BAA6B,CAACjI,OAAO,CAAC,EAAE;MAC3C;IACF;IAEA,MAAMkM,WAAW,GAAGlM,OAAO,CAACxC,IAAI;IAEhC,IAAI,CAAC0O,WAAW,CAACC,MAAM,IAAIrO,WAAC,CAACwL,aAAa,CAAC4C,WAAW,CAAC3M,GAAG,CAAC,EAAE;MAC3D0M,oBAAoB,CAAC3J,IAAI,CAAC4J,WAAW,CAAC3M,GAAG,CAAC7C,EAAE,CAACe,IAAI,CAAC;IACpD;IAEA,IAAI2O,WAAW,CAACF,WAAW,CAAC,EAAE;MAC5B,QAAQA,WAAW,CAAC5N,IAAI;QACtB,KAAK,eAAe;UAElBoM,eAAe,CAAC2B,aAAa,CAC3BrM,OAAO,EACP6I,KACF,CAAC;UACD;QACF,KAAK,sBAAsB;UAEzB6B,eAAe,CAAC4B,oBAAoB,CAClCtM,OAAO,EACP6I,KACF,CAAC;UACD;QACF,KAAK,uBAAuB;UAE1B6B,eAAe,CAAC6B,qBAAqB,CACnCvM,OAAO,EACP6I,KACF,CAAC;UACD,IAAIxI,OAAO,KAAK,SAAS,EAAE;YACzB;UACF;QAEF;UACE,IAAI6L,WAAW,CAACC,MAAM,EAAE;YAAA,IAAAK,gBAAA;YACtB,CAAAA,gBAAA,GAAAjB,eAAe,YAAAiB,gBAAA,GAAfjB,eAAe,GAAKzM,wBAAwB,CAC1C4D,WAAW,EACX,YACF,CAAC;UACH,CAAC,MAAM;YAAA,IAAA+J,eAAA;YACL,CAAAA,eAAA,GAAA1I,cAAc,YAAA0I,eAAA,GAAd1I,cAAc,GAAKjF,wBAAwB,CACzC4D,WAAW,EACX,WACF,CAAC;UACH;UACA;MACJ;MACAoI,oBAAoB,GAAG,IAAI;MAC3BE,oBAAoB,KAApBA,oBAAoB,GAAKkB,WAAW,CAAC9F,UAAU,CAACI,IAAI,CAClDkF,+BACF,CAAC;IACH,CAAC,MAAM,IAAIQ,WAAW,CAAC5N,IAAI,KAAK,uBAAuB,EAAE;MAEvDoM,eAAe,CAAC6B,qBAAqB,CACnCvM,OAAO,EACP6I,KACF,CAAC;MACD,MAAM;QAAEtJ,GAAG;QAAEC,KAAK;QAAE2M,MAAM,EAAE1M,QAAQ;QAAEgK;MAAS,CAAC,GAAGyC,WAAW;MAE9D,MAAMQ,KAAK,GAAGzB,uBAAuB,CAAC,CAAC;MACvC,MAAM0B,QAAQ,GAAGrN,qBAAqB,CAACoN,KAAK,EAAElN,KAAK,EAAEC,QAAQ,CAAC;MAC9D,MAAMmN,OAAO,GAAG5M,OAAO,CAACrB,GAAG,CAAC,KAAK,CAAC;MAClC,MAAM,CAACS,OAAO,CAAC,GAAGY,OAAO,CAACpB,WAAW,CAAC+N,QAAQ,CAAC;MAE/C,IAAI1M,SAAS,EAAEC,SAAS;MACxB,IAAIuJ,QAAQ,IAAI,CAACmD,OAAO,CAAC/K,oBAAoB,CAAC,CAAC,EAAE;QAC/C5B,SAAS,GAAG,IAAA2C,wBAAkB,EAC5BmG,uBAAuB,CAACF,KAAK,EAAEtJ,GAAmB,CAAC,EACnDmD,WAAW,EACXA,WAAW,CAACG,WAAW,CAAC,aAAa,CACvC,CAAE;QACF3C,SAAS,GAAGpC,WAAC,CAACe,SAAS,CAACoB,SAAS,CAACgC,IAAoB,CAAC;MACzD,CAAC,MAAM;QACLhC,SAAS,GAAGnC,WAAC,CAACe,SAAS,CAACU,GAAG,CAAC;QAC5BW,SAAS,GAAGpC,WAAC,CAACe,SAAS,CAACU,GAAG,CAAC;MAC9B;MAEAM,yBAAyB,CAACvC,IAAI,EAAEc,SAAS,CAAC;MAE1C2B,oBAAoB,CAClBzC,IAAI,CAACE,IAAI,CAACd,EAAE,EACZ0C,OAAO,EACPa,SAAS,EACTC,SAAS,EACTwM,KAAK,EACLjD,QAAQ,EACRhK,QAAQ,EACRY,OACF,CAAC;IACH;IAEA,IAAI,UAAU,IAAIL,OAAO,CAACxC,IAAI,IAAIwC,OAAO,CAACxC,IAAI,CAACiM,QAAQ,EAAE;MACvDsB,0BAA0B,KAA1BA,0BAA0B,GAAK,CAACrI,WAAW,CAACjD,QAAQ,CAACO,OAAO,CAACxC,IAAI,CAAC+B,GAAG,CAAC;IACxE;EACF;EAEA,IAAI,CAACsL,eAAe,IAAI,CAACC,oBAAoB,EAAE;IAC7C,IAAI,CAACxN,IAAI,CAACE,IAAI,CAACd,EAAE,IAAI,OAAO0B,SAAS,KAAK,QAAQ,EAAE;MAClDd,IAAI,CAACE,IAAI,CAACd,EAAE,GAAGoB,WAAC,CAACE,UAAU,CAACI,SAAS,CAAC;IACxC;IACA,IAAIqN,YAAY,EAAE;MAChBnO,IAAI,CAACE,IAAI,CAAC2B,IAAI,CAACA,IAAI,CAACtC,OAAO,CACzBuI,gCAAgC,CAAC,CAC/BwD,yBAAyB,CAACC,KAAK,EAAE4C,YAAY,CAAC,CAC/C,CACH,CAAC;IACH;IAEA;EACF;EAEA,MAAMoB,oBAAqC,GAAG,EAAE;EAEhD,IAAIpJ,eAAoD;EACxD,MAAM2G,uBAAuB,GAAG,IAAIjN,GAAG,CAAS,CAAC;EAEjD,IAAI2P,cAA4B,EAAEC,YAA0B;EAC5D,IAAIC,mBAAwC,GAAG,IAAI;EAUnD,SAASC,gBAAgBA,CAAC7G,UAAyB,EAA0B;IAC3E,IAAI8G,cAAc,GAAG,KAAK;IAC1B,IAAIC,aAAa,GAAG,KAAK;IACzB,MAAM9G,cAAuC,GAAG,EAAE;IAClD,KAAK,MAAMsF,SAAS,IAAIvF,UAAU,EAAE;MAClC,MAAM;QAAE9E;MAAW,CAAC,GAAGqK,SAAS;MAChC,IAAIyB,MAAM;MACV,KACG/M,OAAO,KAAK,SAAS,IACcA,OAAO,KAAK,SAAS,KACzDvC,WAAC,CAACuP,kBAAkB,CAAC/L,UAAU,CAAC,EAChC;QACA,IAAIxD,WAAC,CAACyG,OAAO,CAACjD,UAAU,CAAC8L,MAAM,CAAC,EAAE;UAChCA,MAAM,GAAGtP,WAAC,CAACyC,cAAc,CAAC,CAAC;QAC7B,CAAC,MAAM,IAAImC,WAAW,CAACjD,QAAQ,CAAC6B,UAAU,CAAC8L,MAAM,CAAC,EAAE;UAClDA,MAAM,GAAGtP,WAAC,CAACe,SAAS,CAACyC,UAAU,CAAC8L,MAAM,CAAC;QACzC,CAAC,MAAM;UAAA,IAAAE,oBAAA;UACL,CAAAA,oBAAA,GAAAN,mBAAmB,YAAAM,oBAAA,GAAnBN,mBAAmB,GAAKlO,wBAAwB,CAAC4D,WAAW,EAAE,KAAK,CAAC;UACpE0K,MAAM,GAAGtP,WAAC,CAACgD,oBAAoB,CAC7B,GAAG,EACHhD,WAAC,CAACe,SAAS,CAACmO,mBAAmB,CAAC,EAChC1L,UAAU,CAAC8L,MACb,CAAC;UACD9L,UAAU,CAAC8L,MAAM,GAAGtP,WAAC,CAACe,SAAS,CAACmO,mBAAmB,CAAC;QACtD;MACF;MACA3G,cAAc,CAAC/D,IAAI,CAAC8K,MAAM,CAAC;MAC3BF,cAAc,KAAdA,cAAc,GAAK,CAACxK,WAAW,CAACjD,QAAQ,CAAC6B,UAAU,CAAC;MACpD6L,aAAa,KAAbA,aAAa,GAAKzB,+BAA+B,CAACC,SAAS,CAAC;IAC9D;IACA,OAAO;MAAEuB,cAAc;MAAEC,aAAa;MAAE9G;IAAe,CAAC;EAC1D;EAEA,MAAMkH,uBAAuB,GAC3BxC,0BAA0B,IAGtBC,oBAAoB,IAAI3K,OAAO,KAAK,SAAU;EAEpD,IAAImN,8BAA8B,GAAG,KAAK;EAC1C,IAAIC,oBAAoB,GAAG,CAAC;EAC5B,IAAIC,gBAAgC,GAAG,EAAE;EACzC,IAAIC,kBAAgC;EACpC,IAAIC,sBAAgD,GAAG,EAAE;EACzD,IAAI/C,eAAe,EAAE;IACnBiC,cAAc,GAAGhO,wBAAwB,CAAC4D,WAAW,EAAE,WAAW,CAAC;IACnE8K,8BAA8B,GAAGlQ,IAAI,CAACuQ,kBAAkB,CAAC,CAAC;IAC1D,CAAC;MAAEnR,EAAE,EAAEqQ,YAAY;MAAEzP;IAAK,CAAC,GAAGa,mBAAmB,CAACb,IAAI,EAAEc,SAAS,CAAC;IAElEd,IAAI,CAACE,IAAI,CAAC4I,UAAU,GAAG,IAAI;IAE3B,MAAM0H,uBAAuB,GAAGjD,eAAe,CAACrE,IAAI,CAAC4C,gBAAgB,CAAC;IACtE,MAAM;MAAE8D,cAAc;MAAEC,aAAa;MAAE9G;IAAe,CAAC,GACrD4G,gBAAgB,CAACpC,eAAe,CAAC;IAEnC,MAAM;MAAEhE,QAAQ;MAAEH;IAAK,CAAC,GAAGP,sBAAsB,CAC/C0E,eAAe,EACfxE,cAAc,EACdhG,OACF,CAAC;IACDoN,oBAAoB,GAAG5G,QAAQ,GAAG,CAAC,GAAG,CAAC;IACvC6G,gBAAgB,GAAGhH,IAAI;IAEvB,IACEyG,aAAa,IACZD,cAAc,IAAIK,uBAAwB,IAC3CO,uBAAuB,EACvB;MACAH,kBAAkB,GAAGxC,iBAAiB,CACpCrN,WAAC,CAACkJ,eAAe,CAAC0G,gBAAgB,CAAC,EACnC,WAAW,EACXxC,gBACF,CAAC;IACH;IAEA,IAAI,CAACJ,oBAAoB,EAAE;MAGzB,KAAK,MAAM9K,OAAO,IAAI1C,IAAI,CAACqB,GAAG,CAAC,WAAW,CAAC,EAAE;QAC3C,MAAM;UAAEnB;QAAK,CAAC,GAAGwC,OAAO;QACxB,MAAMI,UAAU,GAAG,UAAU,IAAI5C,IAAI,IAAIA,IAAI,CAACiM,QAAQ;QACtD,IAAIrJ,UAAU,EAAE;UACd,IAAIJ,OAAO,CAAC+N,eAAe,CAAC;YAAE5B,MAAM,EAAE;UAAK,CAAC,CAAC,EAAE;YAC7C,IAAI,CAACnM,OAAO,CAACrB,GAAG,CAAC,KAAK,CAAC,CAACkD,oBAAoB,CAAC,CAAC,EAAE;cAC9C,MAAMtC,GAAG,GAAI/B,IAAI,CAAqB+B,GAAG;cACzC,MAAMoD,eAAe,GAAG,IAAAC,wBAAkB,EACxCrD,GAAG,EACHmD,WAAW,EACXA,WAAW,CAACG,WAAW,CAAC,aAAa,CACvC,CAAC;cACD,IAAIF,eAAe,IAAI,IAAI,EAAE;gBAI3BnF,IAAI,CAAC+B,GAAG,GAAGzB,WAAC,CAACe,SAAS,CAAC8D,eAAe,CAACV,IAAI,CAAC;gBAC5C2L,sBAAsB,CAACtL,IAAI,CAACK,eAAe,CAAC;cAC9C;YACF;UACF,CAAC,MAAM,IAAIiL,sBAAsB,CAAChR,MAAM,GAAG,CAAC,EAAE;YAC5CwF,+BAA+B,CAC7BwL,sBAAsB,EACtB5N,OACF,CAAC;YACD4N,sBAAsB,GAAG,EAAE;UAC7B;QACF;MACF;IACF;EACF,CAAC,MAAM;IACL/N,yBAAyB,CAACvC,IAAI,EAAEc,SAAS,CAAC;IAC1C2O,YAAY,GAAGjP,WAAC,CAACe,SAAS,CAACvB,IAAI,CAACE,IAAI,CAACd,EAAE,CAAC;EAC1C;EAEA,IAAIsR,uBAAsC;EAC1C,IAAIC,8BAA8B,GAAG,KAAK;EAE1C,IAAIC,2BAA2B,GAAG,EAAE;EACpC,IAAIC,iCAAiD,GAAG,EAAE;EAE1D,IAAIrD,oBAAoB,EAAE;IACxB,IAAI/G,cAAc,EAAE;MAClB,MAAMJ,aAAa,GAAG7F,WAAC,CAACmG,cAAc,CAACnG,WAAC,CAACe,SAAS,CAACkF,cAAc,CAAC,EAAE,CAClEjG,WAAC,CAACyC,cAAc,CAAC,CAAC,CACnB,CAAC;MACF2N,2BAA2B,CAAC5L,IAAI,CAACqB,aAAa,CAAC;IACjD;IACA,KAAK,MAAM3D,OAAO,IAAIb,IAAI,EAAE;MAC1B,IAAI,CAAC8I,6BAA6B,CAACjI,OAAO,CAAC,EAAE;QAC3C,IACEmO,iCAAiC,CAACvR,MAAM,GAAG,CAAC,IAC5CoD,OAAO,CAACoO,aAAa,CAAC,CAAC,EACvB;UACA/K,+BAA+B,CAC7B8K,iCAAiC,EACjCnO,OACF,CAAC;UACDmO,iCAAiC,GAAG,EAAE;QACxC;QACA;MACF;MAEA,MAAM;QAAE3Q;MAAK,CAAC,GAAGwC,OAAO;MACxB,MAAMoG,UAAU,GAAG5I,IAAI,CAAC4I,UAAU;MAElC,MAAMiI,aAAa,GAAG,CAAC,EAACjI,UAAU,YAAVA,UAAU,CAAExJ,MAAM;MAE1C,MAAMwD,UAAU,GAAG,UAAU,IAAI5C,IAAI,IAAIA,IAAI,CAACiM,QAAQ;MAEtD,IAAIhM,IAAI,GAAG,aAAa;MAExB,IAAID,IAAI,CAAC+B,GAAG,CAACjB,IAAI,KAAK,aAAa,EAAE;QACnCb,IAAI,GAAGD,IAAI,CAAC+B,GAAG,CAAC7C,EAAE,CAACe,IAAI;MACzB,CAAC,MAAM,IAAI,CAAC2C,UAAU,IAAI5C,IAAI,CAAC+B,GAAG,CAACjB,IAAI,KAAK,YAAY,EAAE;QACxDb,IAAI,GAAGD,IAAI,CAAC+B,GAAG,CAAC9B,IAAI;MACtB;MACA,IAAI0J,eAAgE;MACpE,IAAID,kBAAkB;MAEtB,IAAImH,aAAa,EAAE;QACjB,MAAM;UAAEnB,cAAc;UAAEC,aAAa;UAAE9G;QAAe,CAAC,GACrD4G,gBAAgB,CAAC7G,UAAU,CAAC;QAC9B,MAAM;UAAEM,IAAI;UAAEG;QAAS,CAAC,GAAGV,sBAAsB,CAC/CC,UAAU,EACVC,cAAc,EACdhG,OACF,CAAC;QACD6G,kBAAkB,GAAGL,QAAQ;QAC7BM,eAAe,GAAGT,IAAI,CAAC9J,MAAM,KAAK,CAAC,GAAG8J,IAAI,CAAC,CAAC,CAAC,GAAG5I,WAAC,CAACkJ,eAAe,CAACN,IAAI,CAAC;QACvE,IAAIyG,aAAa,IAAKD,cAAc,IAAIK,uBAAwB,EAAE;UAChEpG,eAAe,GAAGgE,iBAAiB,CACjChE,eAAe,EACf1J,IAAI,GAAG,MAAM,EACbmQ,sBACF,CAAC;QACH;MACF;MAEA,IAAIxN,UAAU,EAAE;QACd,IAAI,CAACJ,OAAO,CAACrB,GAAG,CAAC,KAAK,CAAC,CAACkD,oBAAoB,CAAC,CAAC,EAAE;UAC9C,MAAMtC,GAAG,GAAG/B,IAAI,CAAC+B,GAAmB;UACpC,MAAMoD,eAAe,GAAG,IAAAC,wBAAkB,EACxCyL,aAAa,GAAGtF,uBAAuB,CAACF,KAAK,EAAEtJ,GAAG,CAAC,GAAGA,GAAG,EACzDmD,WAAW,EACXA,WAAW,CAACG,WAAW,CAAC,aAAa,CACvC,CAAC;UACD,IAAIF,eAAe,IAAI,IAAI,EAAE;YAI3B,IAAIkI,eAAe,IAAI7K,OAAO,CAAC+N,eAAe,CAAC;cAAE5B,MAAM,EAAE;YAAK,CAAC,CAAC,EAAE;cAChE3O,IAAI,CAAC+B,GAAG,GAAGzB,WAAC,CAACe,SAAS,CAAC8D,eAAe,CAACV,IAAI,CAAC;cAC5C2L,sBAAsB,CAACtL,IAAI,CAACK,eAAe,CAAC;YAC9C,CAAC,MAAM;cACLnF,IAAI,CAAC+B,GAAG,GAAGoD,eAAe;YAC5B;UACF;QACF;MACF;MAEA,MAAM;QAAEpD,GAAG;QAAE4M,MAAM,EAAE1M;MAAS,CAAC,GAAGjC,IAAI;MAEtC,MAAM8Q,SAAS,GAAG/O,GAAG,CAACjB,IAAI,KAAK,aAAa;MAE5C,MAAMwG,IAAI,GAAGgB,cAAc,CAAC9F,OAAO,CAAC;MAEpC,IAAIsO,SAAS,IAAI,CAAC7O,QAAQ,EAAE;QAC1B,IAAI4O,aAAa,EAAE;UACjBJ,8BAA8B,GAAG,IAAI;QACvC;QACA,IAAInQ,WAAC,CAACyQ,sBAAsB,CAAC/Q,IAAI,CAAC,IAAI,CAACwQ,uBAAuB,EAAE;UAC9DA,uBAAuB,GAAGzO,GAAG;QAC/B;MACF;MAEA,IAAIS,OAAO,CAACwO,aAAa,CAAC;QAAE1J,IAAI,EAAE;MAAc,CAAC,CAAC,EAAE;QAClDrB,eAAe,GAAGzD,OAAO;MAC3B;MAEA,IAAIuH,MAAsB;MAC1B,IAAI8G,aAAa,EAAE;QACjB,IAAIjH,cAEH;QAED,IAAIqH,QAAsB;QAE1B,IAAIrO,UAAU,EAAE;UACdqO,QAAQ,GAAG7M,sBAAsB,CAC/B5B,OAAO,CAACrB,GAAG,CAAC,KAAK,CACnB,CAAC;QACH,CAAC,MAAM,IAAIY,GAAG,CAACjB,IAAI,KAAK,aAAa,EAAE;UACrCmQ,QAAQ,GAAG3Q,WAAC,CAAC4L,aAAa,CAACnK,GAAG,CAAC7C,EAAE,CAACe,IAAI,CAAC;QACzC,CAAC,MAAM,IAAI8B,GAAG,CAACjB,IAAI,KAAK,YAAY,EAAE;UACpCmQ,QAAQ,GAAG3Q,WAAC,CAAC4L,aAAa,CAACnK,GAAG,CAAC9B,IAAI,CAAC;QACtC,CAAC,MAAM;UACLgR,QAAQ,GAAG3Q,WAAC,CAACe,SAAS,CAACU,GAAmB,CAAC;QAC7C;QAEA,IAAIuF,IAAI,KAAKS,QAAQ,EAAE;UACrB,MAAM;YAAE/F;UAAM,CAAC,GAAGQ,OAAO,CAACxC,IAA+B;UAEzD,MAAMuK,MAAsB,GACO1H,OAAO,KAAK,SAAS,IAAKZ,QAAQ,GAC/D,EAAE,GACF,CAAC3B,WAAC,CAACyC,cAAc,CAAC,CAAC,CAAC;UAE1B,IAAIf,KAAK,EAAE;YACTuI,MAAM,CAACzF,IAAI,CAACxE,WAAC,CAACe,SAAS,CAACW,KAAK,CAAC,CAAC;UACjC;UAEA,MAAMkN,KAAK,GAAGzB,uBAAuB,CAAC,CAAC;UACvC,MAAMyD,cAAc,GAAG5P,wBAAwB,CAC7C4D,WAAW,EACX,QAAQjF,IAAI,EACd,CAAC;UACD,MAAMkR,QAAQ,GAAG7Q,WAAC,CAACmG,cAAc,CAC/BnG,WAAC,CAACe,SAAS,CAAC6P,cAAc,CAAC,EAC3B3G,MACF,CAAC;UAED,MAAM4E,QAAQ,GAAGrN,qBAAqB,CAACoN,KAAK,EAAEiC,QAAQ,EAAElP,QAAQ,CAAC;UACjE,MAAM,CAACL,OAAO,CAAC,GAAGY,OAAO,CAACpB,WAAW,CAAC+N,QAAQ,CAAC;UAE/C,IAAI2B,SAAS,EAAE;YACblH,cAAc,GAAGhG,wBAAwB,CAACsL,KAAK,EAAErM,OAAO,CAAC;YAEzD,MAAMsH,KAAK,GAAG7I,wBAAwB,CAAC4D,WAAW,EAAE,OAAOjF,IAAI,EAAE,CAAC;YAClE,MAAMmK,KAAK,GAAG9I,wBAAwB,CAAC4D,WAAW,EAAE,OAAOjF,IAAI,EAAE,CAAC;YAElEiK,mBAAmB,CAACrH,OAAO,EAAEjB,OAAO,EAAEG,GAAG,EAAEoI,KAAK,EAAEC,KAAK,EAAEnI,QAAQ,CAAC;YAElE8H,MAAM,GAAG,CAACmH,cAAc,EAAE/G,KAAK,EAAEC,KAAK,CAAC;UACzC,CAAC,MAAM;YACL/H,yBAAyB,CAACvC,IAAI,EAAEc,SAAS,CAAC;YAC1C2B,oBAAoB,CAClBzC,IAAI,CAACE,IAAI,CAACd,EAAE,EACZ0C,OAAO,EACPtB,WAAC,CAACe,SAAS,CAACU,GAAG,CAAC,EAChBzB,WAAC,CAACkE,sBAAsB,CAACzC,GAAG,CAAC,GACzBzB,WAAC,CAACe,SAAS,CAACU,GAAG,CAAC0C,IAAoB,CAAC,GACrCnE,WAAC,CAACe,SAAS,CAACU,GAAG,CAAC,EACpBmN,KAAK,EACLtM,UAAU,EACVX,QAAQ,EACRY,OACF,CAAC;YACDkH,MAAM,GAAG,CAACmH,cAAc,CAAC;UAC3B;QACF,CAAC,MAAM,IAAI5J,IAAI,KAAKQ,KAAK,EAAE;UACzB,MAAMsJ,MAAM,GAAG9P,wBAAwB,CAAC4D,WAAW,EAAE,QAAQjF,IAAI,EAAE,CAAC;UACpE,MAAMoR,SAAS,GACb7O,OAAO,CACPrB,GAAG,CAAC,OAAO,CAAC;UAEd,MAAMmQ,IAAoB,GACSzO,OAAO,KAAK,SAAS,IAAKZ,QAAQ,GAC/D,EAAE,GACF,CAAC3B,WAAC,CAACyC,cAAc,CAAC,CAAC,CAAC;UAC1B,IAAIsO,SAAS,CAACrR,IAAI,EAAEsR,IAAI,CAACxM,IAAI,CAACuM,SAAS,CAACrR,IAAI,CAAC;UAE7CqR,SAAS,CAACjQ,WAAW,CAACd,WAAC,CAACmG,cAAc,CAACnG,WAAC,CAACe,SAAS,CAAC+P,MAAM,CAAC,EAAEE,IAAI,CAAC,CAAC;UAElEvH,MAAM,GAAG,CAACqH,MAAM,CAAC;UAEjB,IAAIN,SAAS,EAAE;YACblH,cAAc,GAAGhG,wBAAwB,CAAC7B,GAAG,EAAEc,OAAO,CAAC;UACzD;QACF,CAAC,MAAM,IAAIiO,SAAS,EAAE;UACpB,MAAMS,MAAM,GAAGjQ,wBAAwB,CAAC4D,WAAW,EAAE,QAAQjF,IAAI,EAAE,CAAC;UACpE8J,MAAM,GAAG,CAACwH,MAAM,CAAC;UAEjB,MAAMC,aAAa,GAAG,IAAIC,4BAAa,CAAC;YACtCzE,aAAa;YACb0E,UAAU,EAAElP,OAAyC;YACrDmP,SAAS,EAAEpC,YAAY;YACvBqC,QAAQ,EAAE9R,IAAI,CAACE,IAAI,CAAC0B,UAAU;YAC9BmQ,IAAI,EAAExG,KAAK,CAACwG,IAAI;YAChBC,aAAa,EAAEvC;UACjB,CAAC,CAAC;UAEFiC,aAAa,CAACO,OAAO,CAAC,CAAC;UAEvBnI,cAAc,GAAG,CACfoB,yCAAyC,CACvCxI,OAAO,CAACxC,IACV,CAAC,CACF;UAED,IAAIsH,IAAI,KAAKW,MAAM,IAAIX,IAAI,KAAKY,MAAM,EAAE;YACtCmC,mBAAmB,CACjB7H,OAAO,EACPlC,WAAC,CAACe,SAAS,CAACU,GAAG,CAAC,EAChBzB,WAAC,CAACe,SAAS,CAACkQ,MAAM,CAAC,EACnBtP,QACF,CAAC;UACH,CAAC,MAAM;YACL,MAAMjC,IAAI,GAAGwC,OAAO,CAACxC,IAA4B;YAGjDF,IAAI,CAACE,IAAI,CAAC2B,IAAI,CAACA,IAAI,CAACtC,OAAO,CACzBiB,WAAC,CAAC4B,oBAAoB,CAACH,GAAG,EAAEzB,WAAC,CAACe,SAAS,CAACkQ,MAAM,CAAC,EAAE,EAAE,EAAEvR,IAAI,CAAC2O,MAAM,CAClE,CAAC;YAED/B,uBAAuB,CAAC7M,GAAG,CAACgC,GAAG,CAAC7C,EAAE,CAACe,IAAI,CAAC;YAExCuC,OAAO,CAACwP,MAAM,CAAC,CAAC;UAClB;QACF;QAEA3C,oBAAoB,CAACvK,IAAI,CAAC;UACxBwC,IAAI;UACJqC,eAAe;UACfD,kBAAkB;UAClBzJ,IAAI,EAAEgR,QAAQ;UACdhP,QAAQ;UACR2H,cAAc;UACdG;QACF,CAAC,CAAC;QAEF,IAAIvH,OAAO,CAACxC,IAAI,EAAE;UAChBwC,OAAO,CAACxC,IAAI,CAAC4I,UAAU,GAAG,IAAI;QAChC;MACF;MAEA,IAAIhG,UAAU,IAAIwN,sBAAsB,CAAChR,MAAM,GAAG,CAAC,EAAE;QACnD,IAAIiO,eAAe,IAAI7K,OAAO,CAAC+N,eAAe,CAAC;UAAE5B,MAAM,EAAE;QAAK,CAAC,CAAC,EAAE,CAMlE,CAAC,MAAM;UACL/J,+BAA+B,CAC7BwL,sBAAsB,EACrB9I,IAAI,KAAKS,QAAQ,GACdvF,OAAO,CAACyP,cAAc,CAAC,CAAC,GACxBzP,OACN,CAAC;UACD4N,sBAAsB,GAAG,EAAE;QAC7B;MACF;MAEA,IACEM,2BAA2B,CAACtR,MAAM,GAAG,CAAC,IACtC,CAAC6C,QAAQ,KACRqF,IAAI,KAAKQ,KAAK,IAAIR,IAAI,KAAKS,QAAQ,CAAC,EACrC;QACArC,oCAAoC,CAClCgL,2BAA2B,EAC3BlO,OACF,CAAC;QACDkO,2BAA2B,GAAG,EAAE;MAClC;MAEA,IACEC,iCAAiC,CAACvR,MAAM,GAAG,CAAC,IAC5C6C,QAAQ,KACPqF,IAAI,KAAKQ,KAAK,IAAIR,IAAI,KAAKS,QAAQ,CAAC,EACrC;QACArC,oCAAoC,CAClCiL,iCAAiC,EACjCnO,OACF,CAAC;QACDmO,iCAAiC,GAAG,EAAE;MACxC;MAEA,IAAIE,aAAa,IAAIhO,OAAO,KAAK,SAAS,EAAE;QAC1C,IAAIyE,IAAI,KAAKQ,KAAK,IAAIR,IAAI,KAAKS,QAAQ,EAAE;UACvC,MAAMmK,WAAW,GAAG5Q,wBAAwB,CAC1C4D,WAAW,EACX,cAAcjF,IAAI,EACpB,CAAC;UACD8J,MAAM,CAACjF,IAAI,CAACoN,WAAW,CAAC;UACxB,MAAMC,aAAa,GAAG7R,WAAC,CAACmG,cAAc,CACpCnG,WAAC,CAACe,SAAS,CAAC6Q,WAAW,CAAC,EACxBjQ,QAAQ,GAAG,EAAE,GAAG,CAAC3B,WAAC,CAACyC,cAAc,CAAC,CAAC,CACrC,CAAC;UACD,IAAI,CAACd,QAAQ,EAAE;YACbyO,2BAA2B,CAAC5L,IAAI,CAACqN,aAAa,CAAC;UACjD,CAAC,MAAM;YACLxB,iCAAiC,CAAC7L,IAAI,CAACqN,aAAa,CAAC;UACvD;QACF;MACF;IACF;EACF;EAEA,IAAI/B,sBAAsB,CAAChR,MAAM,GAAG,CAAC,EAAE;IACrC,MAAMgT,QAAQ,GAAGtS,IAAI,CAACqB,GAAG,CAAC,WAAW,CAAC;IACtC,IAAIkR,mBAA8D;IAClE,KAAK,IAAIlJ,CAAC,GAAGiJ,QAAQ,CAAChT,MAAM,GAAG,CAAC,EAAE+J,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;MAC7C,MAAMrJ,IAAI,GAAGsS,QAAQ,CAACjJ,CAAC,CAAC;MACxB,MAAMnJ,IAAI,GAAGF,IAAI,CAACE,IAAuC;MACzD,IAAIA,IAAI,CAACiM,QAAQ,EAAE;QACjB,IAAIoB,eAAe,IAAI/M,WAAC,CAACiQ,eAAe,CAACvQ,IAAI,EAAE;UAAE2O,MAAM,EAAE;QAAK,CAAC,CAAC,EAAE;UAChE;QACF;QACA0D,mBAAmB,GAAGvS,IAAiD;QACvE;MACF;IACF;IACA,IAAIuS,mBAAmB,IAAI,IAAI,EAAE;MAC/BrN,8BAA8B,CAC5BoL,sBAAsB,EACtBiC,mBACF,CAAC;MACDjC,sBAAsB,GAAG,EAAE;IAC7B,CAAC,MAAM,CAIP;EACF;EAEA,IAAIM,2BAA2B,CAACtR,MAAM,GAAG,CAAC,EAAE;IAC1C,MAAMoI,cAAc,GAAG,CAAC,CAAC1H,IAAI,CAACE,IAAI,CAAC0B,UAAU;IAC7C,IAAIuE,eAAe,EAAE;MACnB,IAAIuB,cAAc,EAAE;QAClBZ,0CAA0C,CACxC8J,2BAA2B,EAC3BzK,eAAe,EACfM,cACF,CAAC;MACH,CAAC,MAAM;QACLP,+BAA+B,CAC7B0K,2BAA2B,EAC3BzK,eACF,CAAC;MACH;IACF,CAAC,MAAM;MACLnG,IAAI,CAACE,IAAI,CAAC2B,IAAI,CAACA,IAAI,CAACtC,OAAO,CACzBkI,gCAAgC,CAC9BmJ,2BAA2B,EAC3BlJ,cACF,CACF,CAAC;IACH;IACAkJ,2BAA2B,GAAG,EAAE;EAClC;EAEA,IAAIC,iCAAiC,CAACvR,MAAM,GAAG,CAAC,EAAE;IAChDU,IAAI,CAACE,IAAI,CAAC2B,IAAI,CAACA,IAAI,CAACmD,IAAI,CACtB8C,gCAAgC,CAAC+I,iCAAiC,CACpE,CAAC;IACDA,iCAAiC,GAAG,EAAE;EACxC;EAEA,MAAM2B,0BAA0B,GAC9B/J,qBAAqB,CAAC8G,oBAAoB,CAAC;EAE7C,MAAMkD,kBAAkB,GAAGjJ,uBAAuB,CAChBzG,OAAO,KAAK,SAAS,GACjDwM,oBAAoB,GACpBiD,0BAA0B,EAC9BzP,OACF,CAAC;EAED,MAAM2P,aAA6B,GAAG3I,8BAA8B,CAClEyI,0BACF,CAAC;EAED,IAAI/L,cAAc,EAAE;IAClBiM,aAAa,CAAC1N,IAAI,CAACyB,cAAc,CAAC;EACpC;EAEA,IAAIwH,eAAe,EAAE;IACnByE,aAAa,CAAC1N,IAAI,CAACiJ,eAAe,CAAC;EACrC;EAEA,MAAM0E,WAA2B,GAAG,EAAE;EACtC,IAAIC,iBAAiB,GAAG,KAAK;EAC7B,MAAMC,aAAa,GACjBrD,cAAc,IAAIhP,WAAC,CAACmG,cAAc,CAACnG,WAAC,CAACe,SAAS,CAACiO,cAAc,CAAC,EAAE,EAAE,CAAC;EAErE,IAAIsD,iBAAiB,GAAG9S,IAAI;EAC5B,MAAM+S,aAAa,GAAG/S,IAAI,CAACE,IAAI;EAE/B,MAAM8S,cAAwC,GAAG,EAAE;EACnD,IAAIzF,eAAe,EAAE;IACnBoF,WAAW,CAAC3N,IAAI,CAACyK,YAAY,EAAED,cAAc,CAAC;IAC9C,MAAMyD,OAIH,GAAG,EAAE;IACRjT,IAAI,CAACqB,GAAG,CAAC,WAAW,CAAC,CAAC6R,OAAO,CAACxQ,OAAO,IAAI;MAGvC,IAAIA,OAAO,CAACoO,aAAa,CAAC,CAAC,EAAE;QAC3B,IAAIzE,wBAAwB,CAAC3J,OAAO,EAAEiM,oBAAoB,CAAC,EAAE;UAC3D,MAAMwE,oBAAoB,GAAGtF,iBAAiB,CAC5C/C,4BAA4B,CAACpI,OAAO,CAACxC,IAAI,CAAC,EAC1C,aAAa,EACb8S,cACF,CAAC;UACDnC,iCAAiC,CAAC7L,IAAI,CACpCxE,WAAC,CAACmG,cAAc,CACdnG,WAAC,CAAC6C,gBAAgB,CAAC8P,oBAAoB,EAAE3S,WAAC,CAACE,UAAU,CAAC,MAAM,CAAC,CAAC,EAC9D,CAACF,WAAC,CAACyC,cAAc,CAAC,CAAC,CACrB,CACF,CAAC;QACH,CAAC,MAAM;UACL4N,iCAAiC,CAAC7L,IAAI,CACpC4F,iBAAiB,CAAClI,OAAO,CAACxC,IAAI,CAChC,CAAC;QACH;QACAwC,OAAO,CAACwP,MAAM,CAAC,CAAC;QAChB;MACF;MAEA,IACE,CAACxP,OAAO,CAAC+N,eAAe,CAAC,CAAC,IAAI/N,OAAO,CAACuO,sBAAsB,CAAC,CAAC,KAC9DvO,OAAO,CAACxC,IAAI,CAAC2O,MAAM,EACnB;QACA,MAAM0C,SAAS,GACb7O,OAAO,CACPrB,GAAG,CAAC,OAAO,CAAC;QACd,IAAIgL,wBAAwB,CAACkF,SAAS,EAAE5C,oBAAoB,CAAC,EAAE;UAC7D,MAAMyE,mBAAmB,GAAGvF,iBAAiB,CAC3C7C,yBAAyB,CAACuG,SAAS,CAACrR,IAAI,CAAC,EACzC,YAAY,EACZ8S,cACF,CAAC;UACDzB,SAAS,CAACjQ,WAAW,CACnBd,WAAC,CAACmG,cAAc,CACdnG,WAAC,CAAC6C,gBAAgB,CAAC+P,mBAAmB,EAAE5S,WAAC,CAACE,UAAU,CAAC,MAAM,CAAC,CAAC,EAC7D,CAACF,WAAC,CAACyC,cAAc,CAAC,CAAC,CACrB,CACF,CAAC;QACH;QACA,IAAI4N,iCAAiC,CAACvR,MAAM,GAAG,CAAC,EAAE;UAChDsG,oCAAoC,CAClCiL,iCAAiC,EACjCnO,OACF,CAAC;UACDmO,iCAAiC,GAAG,EAAE;QACxC;QACAnO,OAAO,CAACxC,IAAI,CAAC2O,MAAM,GAAG,KAAK;QAC3BoE,OAAO,CAACjO,IAAI,CAACtC,OAAO,CAACxC,IAAI,CAAC;QAC1BwC,OAAO,CAACwP,MAAM,CAAC,CAAC;MAClB,CAAC,MAAM,IAAIxP,OAAO,CAAC2Q,oBAAoB,CAAC;QAAExE,MAAM,EAAE;MAAK,CAAC,CAAC,EAAE;QAGzD,IAAIxC,wBAAwB,CAAC3J,OAAO,EAAEiM,oBAAoB,CAAC,EAAE;UAC3D,MAAM+C,aAAa,GAAG,IAAIC,4BAAa,CAAC;YACtCzE,aAAa;YACb0E,UAAU,EAAElP,OAAO;YACnBmP,SAAS,EAAEpC,YAAY;YACvBqC,QAAQ,EAAE9R,IAAI,CAACE,IAAI,CAAC0B,UAAU;YAC9BmQ,IAAI,EAAExG,KAAK,CAACwG,IAAI;YAChBC,aAAa,EAAEvC;UACjB,CAAC,CAAC;UAEFiC,aAAa,CAACO,OAAO,CAAC,CAAC;UAEvB,MAAMqB,uBAAuB,GAAGzF,iBAAiB,CAC/C3C,yCAAyC,CAACxI,OAAO,CAACxC,IAAI,CAAC,EACvDwC,OAAO,CAACrB,GAAG,CAAC,QAAQ,CAAC,CAACnB,IAAI,CAACC,IAAI,EAC/B6S,cACF,CAAC;UAED,IAAI7F,oBAAoB,EAAE;YACxBzK,OAAO,CAACxC,IAAI,CAACuK,MAAM,GAAG,CAACjK,WAAC,CAACqH,WAAW,CAACrH,WAAC,CAACE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1DgC,OAAO,CAACxC,IAAI,CAAC2B,IAAI,GAAGrB,WAAC,CAAC2C,cAAc,CAAC,CACnC3C,WAAC,CAAC4C,eAAe,CACf5C,WAAC,CAACmG,cAAc,CACdnG,WAAC,CAAC6C,gBAAgB,CAChBiQ,uBAAuB,EACvB9S,WAAC,CAACE,UAAU,CAAC,OAAO,CACtB,CAAC,EACD,CAACF,WAAC,CAACyC,cAAc,CAAC,CAAC,EAAEzC,WAAC,CAACE,UAAU,CAAC,KAAK,CAAC,CAC1C,CACF,CAAC,CACF,CAAC;UACJ,CAAC,MAAM;YACLgC,OAAO,CAACxC,IAAI,CAACuK,MAAM,GAAG/H,OAAO,CAACxC,IAAI,CAACuK,MAAM,CAACtD,GAAG,CAAC,CAACoM,CAAC,EAAElK,CAAC,KAAK;cACtD,IAAI7I,WAAC,CAACgT,aAAa,CAACD,CAAC,CAAC,EAAE;gBACtB,OAAO/S,WAAC,CAACqH,WAAW,CAACrH,WAAC,CAACE,UAAU,CAAC,KAAK,CAAC,CAAC;cAC3C,CAAC,MAAM;gBACL,OAAOF,WAAC,CAACE,UAAU,CAAC,GAAG,GAAG2I,CAAC,CAAC;cAC9B;YACF,CAAC,CAAC;YACF3G,OAAO,CAACxC,IAAI,CAAC2B,IAAI,GAAGrB,WAAC,CAAC2C,cAAc,CAAC,CACnC3C,WAAC,CAAC4C,eAAe,CACf5C,WAAC,CAACmG,cAAc,CACdnG,WAAC,CAAC6C,gBAAgB,CAChBiQ,uBAAuB,EACvB9S,WAAC,CAACE,UAAU,CAAC,OAAO,CACtB,CAAC,EACD,CAACF,WAAC,CAACyC,cAAc,CAAC,CAAC,EAAEzC,WAAC,CAACE,UAAU,CAAC,WAAW,CAAC,CAChD,CACF,CAAC,CACF,CAAC;UACJ;QACF;QACAgC,OAAO,CAACxC,IAAI,CAAC2O,MAAM,GAAG,KAAK;QAC3BoE,OAAO,CAACjO,IAAI,CAACtC,OAAO,CAACxC,IAAI,CAAC;QAC1BwC,OAAO,CAACwP,MAAM,CAAC,CAAC;MAClB;IACF,CAAC,CAAC;IAEF,IAAIe,OAAO,CAAC3T,MAAM,GAAG,CAAC,IAAIuR,iCAAiC,CAACvR,MAAM,GAAG,CAAC,EAAE;MACtE,MAAMmU,YAAY,GAAG1P,cAAQ,CAACC,UAAU,CAACC,GAAG;AAClD,wBAAwBsH,KAAK,CAACC,SAAS,CAAC,UAAU,CAAC;AACnD,OAA4B;MACtBiI,YAAY,CAAC5R,IAAI,CAACA,IAAI,GAAG,CAOvBrB,WAAC,CAAC8B,aAAa,CACb9B,WAAC,CAACkT,YAAY,CAACX,aAAa,CAAC,EAC7B1Q,SAAS,EACTA,SAAS,EACTA,SAAS,EACM,IAAI,EACN,IACf,CAAC,EACD,GAAG4Q,OAAO,CACX;MAED,MAAMU,eAA+B,GAAG,EAAE;MAE1C,MAAMC,OAAO,GAAGpT,WAAC,CAACqT,aAAa,CAACJ,YAAY,EAAE,EAAE,CAAC;MAEjD,IAAI5C,iCAAiC,CAACvR,MAAM,GAAG,CAAC,EAAE;QAChDqU,eAAe,CAAC3O,IAAI,CAAC,GAAG6L,iCAAiC,CAAC;MAC5D;MACA,IAAIgC,aAAa,EAAE;QACjBD,iBAAiB,GAAG,IAAI;QACxBe,eAAe,CAAC3O,IAAI,CAAC6N,aAAa,CAAC;MACrC;MACA,IAAIc,eAAe,CAACrU,MAAM,GAAG,CAAC,EAAE;QAC9BqU,eAAe,CAACpU,OAAO,CACrBiB,WAAC,CAACmG,cAAc,CAACnG,WAAC,CAACmH,KAAK,CAAC,CAAC,EAAE,CAACnH,WAAC,CAACe,SAAS,CAACkO,YAAY,CAAC,CAAC,CACzD,CAAC;QAGDgE,YAAY,CAAC5R,IAAI,CAACA,IAAI,CAACmD,IAAI,CACzByC,gCAAgC,CAC9BkM,eAAe,EACM,KACvB,CACF,CAAC;MACH,CAAC,MAAM;QACLC,OAAO,CAACE,SAAS,CAAC9O,IAAI,CAACxE,WAAC,CAACe,SAAS,CAACkO,YAAY,CAAC,CAAC;MACnD;MAEA,MAAM,CAAC3N,OAAO,CAAC,GAAG9B,IAAI,CAACsB,WAAW,CAACsS,OAAO,CAAC;MAG3Cd,iBAAiB,GACfhR,OAAO,CAACT,GAAG,CAAC,QAAQ,CAAC,CAACA,GAAG,CAAC,MAAM,CAAC,CACjCA,GAAG,CAAC,YAAY,CAAC;IACrB;EACF;EACA,IAAI,CAACuR,iBAAiB,IAAIC,aAAa,EAAE;IACvC7S,IAAI,CAACE,IAAI,CAAC2B,IAAI,CAACA,IAAI,CAACmD,IAAI,CACtBxE,WAAC,CAACuH,WAAW,CAAC,CAACvH,WAAC,CAAC+C,mBAAmB,CAACsP,aAAa,CAAC,CAAC,CACtD,CAAC;EACH;EAEA,IAAI;IAAEjR;EAAW,CAAC,GAAGmR,aAAa;EAClC,IACEnR,UAAU,KAERmB,OAAO,KAAK,SAAS,IACrBA,OAAO,KAAK,SAAS,GACvB;IACA,MAAM3D,EAAE,GAAGY,IAAI,CAACe,KAAK,CAACgT,qBAAqB,CAACnS,UAAU,CAAC;IACvD,IAAIxC,EAAE,EAAE;MACN2T,aAAa,CAACnR,UAAU,GAAGpB,WAAC,CAACgD,oBAAoB,CAAC,GAAG,EAAEpE,EAAE,EAAEwC,UAAU,CAAC;MACtEA,UAAU,GAAGxC,EAAE;IACjB;EACF;EAEA,MAAM4U,qBAAqB,GAAGxT,WAAC,CAACuH,WAAW,CAAC,EAAE,CAAC;EAC/CgL,aAAa,CAAClR,IAAI,CAACA,IAAI,CAACtC,OAAO,CAACyU,qBAAqB,CAAC;EACtD,MAAMC,aAAa,GAAGD,qBAAqB,CAACnS,IAAI;EAChD,IAAIyO,sBAAsB,CAAChR,MAAM,GAAG,CAAC,EAAE;IACrC,MAAMgT,QAAQ,GAAGQ,iBAAiB,CAACzR,GAAG,CAAC,WAAW,CAAC;IACnD,IAAI6S,kBAA6D;IACjE,KAAK,MAAMlU,IAAI,IAAIsS,QAAQ,EAAE;MAC3B,IACE,CAACtS,IAAI,CAACyQ,eAAe,CAAC,CAAC,IAAIzQ,IAAI,CAACkR,aAAa,CAAC,CAAC,KAC9ClR,IAAI,CAACE,IAAI,CAAmBsH,IAAI,KAAK,aAAa,EACnD;QACA0M,kBAAkB,GAAGlU,IAAI;QACzB;MACF;IACF;IACA,IAAIkU,kBAAkB,IAAI,IAAI,EAAE;MAE9BhI,oBAAoB,CAACgI,kBAAkB,CAAC;MACxCpP,+BAA+B,CAC7BwL,sBAAsB,EACtB4D,kBACF,CAAC;IACH,CAAC,MAAM;MAILnB,aAAa,CAAClR,IAAI,CAACA,IAAI,CAACtC,OAAO,CAC7BiB,WAAC,CAAC8B,aAAa,CACb9B,WAAC,CAACuB,kBAAkB,CAAC,CACnB,GAAGuO,sBAAsB,EACzB9P,WAAC,CAAC4L,aAAa,CAAC,GAAG,CAAC,CACrB,CAAC,EACF/J,SAAS,EACTA,SAAS,EACTA,SAAS,EACM,IAAI,EACN,IACf,CACF,CAAC;MACD4R,aAAa,CAACjP,IAAI,CAChBxE,WAAC,CAAC+C,mBAAmB,CACnB/C,WAAC,CAACsF,eAAe,CACf,QAAQ,EACRtF,WAAC,CAAC6C,gBAAgB,CAAC7C,WAAC,CAACyC,cAAc,CAAC,CAAC,EAAEzC,WAAC,CAACE,UAAU,CAAC,GAAG,CAAC,CAC1D,CACF,CACF,CAAC;IACH;IACA4P,sBAAsB,GAAG,EAAE;EAC7B;EAEA2D,aAAa,CAACjP,IAAI,CAChBxE,WAAC,CAAC+C,mBAAmB,CACnB4Q,sBAAsB,CACpBzB,aAAa,EACbC,WAAW,EACXF,kBAAkB,GAAAnF,mBAAA,GAClB+C,kBAAkB,YAAA/C,mBAAA,GAAI9M,WAAC,CAACkJ,eAAe,CAAC0G,gBAAgB,CAAC,EACzD5P,WAAC,CAAC8I,cAAc,CAAC6G,oBAAoB,CAAC,EACtCQ,8BAA8B,GAAGD,uBAAuB,GAAG,IAAI,EAC/DvC,YAAY,EACZ3N,WAAC,CAACe,SAAS,CAACK,UAAU,CAAC,EACvB2J,KAAK,EACLxI,OACF,CACF,CACF,CAAC;EACD,IAAIkL,eAAe,EAAE;IACnBgG,aAAa,CAACjP,IAAI,CAChBxE,WAAC,CAAC+C,mBAAmB,CACnB/C,WAAC,CAACmG,cAAc,CAACnG,WAAC,CAACe,SAAS,CAAC0M,eAAe,CAAC,EAAE,CAACzN,WAAC,CAACyC,cAAc,CAAC,CAAC,CAAC,CACrE,CACF,CAAC;EACH;EACA,IAAI+P,cAAc,CAAC1T,MAAM,GAAG,CAAC,EAAE;IAC7B2U,aAAa,CAACjP,IAAI,CAChB,GAAGgO,cAAc,CAAC7L,GAAG,CAACC,IAAI,IAAI5G,WAAC,CAAC+C,mBAAmB,CAAC6D,IAAI,CAAC,CAC3D,CAAC;EACH;EAIApH,IAAI,CAACoU,YAAY,CAACxG,gBAAgB,CAACzG,GAAG,CAACC,IAAI,IAAI5G,WAAC,CAAC+C,mBAAmB,CAAC6D,IAAI,CAAC,CAAC,CAAC;EAE5E,IAAI8I,8BAA8B,EAAE;IAClC,MAAMmE,gBAAgB,GAAGjP,WAAW,CAACkP,UAAU,CAAC7E,YAAY,CAACtP,IAAI,CAAC;IAClE,IAAI,CAACkU,gBAAgB,CAACE,kBAAkB,CAACjV,MAAM,EAAE;MAE/CU,IAAI,CAACoU,YAAY,CACf5T,WAAC,CAACgU,mBAAmB,CAAC,KAAK,EAAE,CAC3BhU,WAAC,CAACiU,kBAAkB,CAACjU,WAAC,CAACe,SAAS,CAACkO,YAAY,CAAC,CAAC,CAChD,CACH,CAAC;IACH,CAAC,MAAM;MACL,MAAMiF,8BAA8B,GAAGtP,WAAW,CAAC5C,qBAAqB,CACtE,GAAG,GAAGiN,YAAY,CAACtP,IACrB,CAAC;MACD,MAAMwU,sBAAsB,GAAGlF,YAAY;MAC3CzP,IAAI,CAAC4U,mBAAmB,CAAC,CACvBpU,WAAC,CAACgU,mBAAmB,CAAC,KAAK,EAAE,CAC3BhU,WAAC,CAACiU,kBAAkB,CAACjU,WAAC,CAACe,SAAS,CAACoT,sBAAsB,CAAC,CAAC,EACzDnU,WAAC,CAACiU,kBAAkB,CAACC,8BAA8B,CAAC,CACrD,CAAC,EACFlU,WAAC,CAAC2C,cAAc,CAAC,CACf3C,WAAC,CAACgU,mBAAmB,CAAC,KAAK,EAAE,CAC3BhU,WAAC,CAACiU,kBAAkB,CAACjU,WAAC,CAACe,SAAS,CAACkO,YAAY,CAAC,CAAC,CAChD,CAAC,EAEFzP,IAAI,CAACE,IAAI,EACTM,WAAC,CAAC+C,mBAAmB,CACnB/C,WAAC,CAACgD,oBAAoB,CACpB,GAAG,EACHhD,WAAC,CAACe,SAAS,CAACmT,8BAA8B,CAAC,EAC3ClU,WAAC,CAACe,SAAS,CAACkO,YAAY,CAC1B,CACF,CAAC,CACF,CAAC,EACFjP,WAAC,CAAC+C,mBAAmB,CACnB/C,WAAC,CAACgD,oBAAoB,CACpB,GAAG,EACHhD,WAAC,CAACe,SAAS,CAACoT,sBAAsB,CAAC,EACnCnU,WAAC,CAACe,SAAS,CAACmT,8BAA8B,CAC5C,CACF,CAAC,CACF,CAAC;IACJ;EACF;EAEA,IAAI5H,uBAAuB,CAAC+H,IAAI,GAAG,CAAC,EAAE;IACpChI,6BAA6B,CAAC7M,IAAI,EAAE8M,uBAAuB,CAAC;EAC9D;EAGA9M,IAAI,CAACe,KAAK,CAAC+T,KAAK,CAAC,CAAC;EAElB,OAAO9U,IAAI;AACb;AAEA,SAASmU,sBAAsBA,CAC7BzB,aAA6B,EAC7BC,WAA2B,EAC3BF,kBAAoD,EACpDrC,gBAAkD,EAClDD,oBAAsC,EACtC4E,qBAA2C,EAC3C5G,YAAwD,EACxDvM,UAA+B,EAC/B2J,KAAiB,EACjBxI,OAA6B,EAC7B;EACA,IAAIiS,GAAG,EAAEC,GAAG;EACZ,MAAMzD,IAAoB,GAAG,CAC3BrD,YAAY,GACR7C,yBAAyB,CAACC,KAAK,EAAE4C,YAAY,CAAC,GAC9C3N,WAAC,CAACyC,cAAc,CAAC,CAAC,EACtBmN,gBAAgB,EAChBqC,kBAAkB,CACnB;EAEkC;IACjC,IAAI1P,OAAO,KAAK,SAAS,EAAE;MACzByO,IAAI,CAAC5K,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE6L,kBAAkB,EAAErC,gBAAgB,CAAC;IACzD;IACA,IACErN,OAAO,KAAK,SAAS,IACpBA,OAAO,KAAK,SAAS,IAAI,CAACwI,KAAK,CAAC2J,eAAe,CAAC,gBAAgB,CAAE,EACnE;MACAF,GAAG,GAAGxU,WAAC,CAAC2U,YAAY,CAAC,CAAC,GAAGzC,aAAa,EAAE,GAAGC,WAAW,CAAC,CAAC;MACxDsC,GAAG,GAAGzU,WAAC,CAACmG,cAAc,CACpB4E,KAAK,CAACC,SAAS,CAACzI,OAAO,KAAK,SAAS,GAAG,WAAW,GAAG,eAAe,CAAC,EACtEyO,IACF,CAAC;MACD,OAAOhR,WAAC,CAACgD,oBAAoB,CAAC,GAAG,EAAEwR,GAAG,EAAEC,GAAG,CAAC;IAC9C,CAAC,MAAM,IAAIlS,OAAO,KAAK,SAAS,EAAE;MAChCkS,GAAG,GAAGzU,WAAC,CAACmG,cAAc,CAAC4E,KAAK,CAACC,SAAS,CAAC,gBAAgB,CAAC,EAAEgG,IAAI,CAAC;IACjE,CAAC,MAAM,IAAIzO,OAAO,KAAK,SAAS,EAAE;MAChC,IAAIgS,qBAAqB,EAAE;QACzBvD,IAAI,CAACxM,IAAI,CAAC2G,8BAA8B,CAACoJ,qBAAqB,CAAC,CAAC;MAClE;MACAE,GAAG,GAAGzU,WAAC,CAACmG,cAAc,CAAC4E,KAAK,CAACC,SAAS,CAAC,eAAe,CAAC,EAAEgG,IAAI,CAAC;IAChE,CAAC,MAAM,IAAIzO,OAAO,KAAK,SAAS,EAAE;MAChC,IACEgS,qBAAqB,IACrBnT,UAAU,IACVuO,oBAAoB,CAACjO,KAAK,KAAK,CAAC,EAChC;QACAsP,IAAI,CAACxM,IAAI,CAACmL,oBAAoB,CAAC;MACjC;MACA,IAAI4E,qBAAqB,EAAE;QACzBvD,IAAI,CAACxM,IAAI,CAAC2G,8BAA8B,CAACoJ,qBAAqB,CAAC,CAAC;MAClE,CAAC,MAAM,IAAInT,UAAU,EAAE;QACrB4P,IAAI,CAACxM,IAAI,CAACxE,WAAC,CAACsF,eAAe,CAAC,MAAM,EAAEtF,WAAC,CAAC8I,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;MAC3D;MACA,IAAI1H,UAAU,EAAE4P,IAAI,CAACxM,IAAI,CAACpD,UAAU,CAAC;MACrCqT,GAAG,GAAGzU,WAAC,CAACmG,cAAc,CAAC4E,KAAK,CAACC,SAAS,CAAC,eAAe,CAAC,EAAEgG,IAAI,CAAC;IAChE;EACF;EACA,IAAoCzO,OAAO,KAAK,SAAS,EAAE;IACzD,IACEgS,qBAAqB,IACrBnT,UAAU,IACVuO,oBAAoB,CAACjO,KAAK,KAAK,CAAC,EAChC;MACAsP,IAAI,CAACxM,IAAI,CAACmL,oBAAoB,CAAC;IACjC;IACA,IAAI4E,qBAAqB,EAAE;MACzBvD,IAAI,CAACxM,IAAI,CAAC2G,8BAA8B,CAACoJ,qBAAqB,CAAC,CAAC;IAClE,CAAC,MAAM,IAAInT,UAAU,EAAE;MACrB4P,IAAI,CAACxM,IAAI,CAACxE,WAAC,CAACsF,eAAe,CAAC,MAAM,EAAEtF,WAAC,CAAC8I,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D;IACA,IAAI1H,UAAU,EAAE4P,IAAI,CAACxM,IAAI,CAACpD,UAAU,CAAC;IACrCqT,GAAG,GAAGzU,WAAC,CAACmG,cAAc,CAAC4E,KAAK,CAACC,SAAS,CAAC,eAAe,CAAC,EAAEgG,IAAI,CAAC;EAChE;EAIA,IAAIkB,aAAa,CAACpT,MAAM,GAAG,CAAC,EAAE;IAC5B,IAAIqT,WAAW,CAACrT,MAAM,GAAG,CAAC,EAAE;MAC1B0V,GAAG,GAAGxU,WAAC,CAAC4U,aAAa,CAAC,CACpB5U,WAAC,CAAC6U,cAAc,CAAC7U,WAAC,CAACE,UAAU,CAAC,GAAG,CAAC,EAAEF,WAAC,CAAC2U,YAAY,CAACzC,aAAa,CAAC,CAAC,EAClElS,WAAC,CAAC6U,cAAc,CAAC7U,WAAC,CAACE,UAAU,CAAC,GAAG,CAAC,EAAEF,WAAC,CAAC2U,YAAY,CAACxC,WAAW,CAAC,CAAC,CACjE,CAAC;IACJ,CAAC,MAAM;MACLqC,GAAG,GAAGxU,WAAC,CAAC2U,YAAY,CAACzC,aAAa,CAAC;MAEnCuC,GAAG,GAAGzU,WAAC,CAAC6C,gBAAgB,CAAC4R,GAAG,EAAEzU,WAAC,CAACE,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;IAChE;EACF,CAAC,MAAM;IAELsU,GAAG,GAAGxU,WAAC,CAAC2U,YAAY,CAACxC,WAAW,CAAC;IAEjCsC,GAAG,GAAGzU,WAAC,CAAC6C,gBAAgB,CAAC4R,GAAG,EAAEzU,WAAC,CAACE,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;EAChE;EAEA,OAAOF,WAAC,CAACgD,oBAAoB,CAAC,GAAG,EAAEwR,GAAG,EAAEC,GAAG,CAAC;AAC9C;AAEA,SAASK,UAAUA,CACjBpV,IAAyE,EACzE;EACA,OAAOA,IAAI,CAACc,IAAI,KAAK,YAAY,GAC7Bd,IAAI,CAACC,IAAI,KAAK,WAAW,GACzBD,IAAI,CAACgC,KAAK,KAAK,WAAW;AAChC;AAEA,SAAS4M,WAAWA,CAAC5O,IAAuC,EAAE;EAC5D,OAAOA,IAAI,CAAC4I,UAAU,IAAI5I,IAAI,CAAC4I,UAAU,CAACxJ,MAAM,GAAG,CAAC;AACtD;AAEA,SAASiW,sBAAsBA,CAACrV,IAAkB,EAAE;EAClD,QAAQA,IAAI,CAACc,IAAI;IACf,KAAK,uBAAuB;MAC1B,OAAO,IAAI;IACb,KAAK,aAAa;IAClB,KAAK,eAAe;IACpB,KAAK,oBAAoB;IACzB,KAAK,sBAAsB;MACzB,OAAO8N,WAAW,CAAC5O,IAAI,CAAC;IAC1B;MACE,OAAO,KAAK;EAChB;AACF;AAEA,SAASsV,oBAAoBA,CAACtV,IAAa,EAAE;EAC3C,OAAO4O,WAAW,CAAC5O,IAAI,CAAC,IAAIA,IAAI,CAAC2B,IAAI,CAACA,IAAI,CAACqH,IAAI,CAACqM,sBAAsB,CAAC;AACzE;AAGA,SAASE,8BAA8BA,CACrCC,WAAwC,EACxCC,OASS,EACT;EACA,SAASC,sBAAsBA,CAC7BC,YAEC,EACD5T,GAAiB,EACjBsJ,KAAiB,EACe;IAChC,QAAQtJ,GAAG,CAACjB,IAAI;MACd,KAAK,eAAe;QAClB,OAAOR,WAAC,CAAC4L,aAAa,CAACnK,GAAG,CAACC,KAAK,CAAC;MACnC,KAAK,gBAAgB;MACrB,KAAK,eAAe;QAAE;UACpB,MAAM4T,QAAQ,GAAG7T,GAAG,CAACC,KAAK,GAAG,EAAE;UAC/B2T,YAAY,CAACxU,GAAG,CAAC,KAAK,CAAC,CAACC,WAAW,CAACd,WAAC,CAAC4L,aAAa,CAAC0J,QAAQ,CAAC,CAAC;UAC9D,OAAOtV,WAAC,CAAC4L,aAAa,CAAC0J,QAAQ,CAAC;QAClC;MACA;QAAS;UACP,MAAMC,GAAG,GAAGF,YAAY,CAAC9U,KAAK,CAACgT,qBAAqB,CAAC9R,GAAG,CAAC;UACzD4T,YAAY,CACTxU,GAAG,CAAC,KAAK,CAAC,CACVC,WAAW,CACVd,WAAC,CAACgD,oBAAoB,CACpB,GAAG,EACHuS,GAAG,EACHtK,uBAAuB,CAACF,KAAK,EAAEtJ,GAAG,CACpC,CACF,CAAC;UACH,OAAOzB,WAAC,CAACe,SAAS,CAACwU,GAAG,CAAC;QACzB;IACF;EACF;EACA,OAAO;IACLC,kBAAkBA,CAAChW,IAAI,EAAEuL,KAAK,EAAE;MAC9B,MAAMnM,EAAE,GAAGY,IAAI,CAACE,IAAI,CAACd,EAAE;MACvB,IAAIA,EAAE,CAAC4B,IAAI,KAAK,YAAY,EAAE;QAC5B,MAAM6E,WAAW,GAAG,IAAA1B,oEAA2B,EAACnE,IAAI,CAACqB,GAAG,CAAC,MAAM,CAAC,CAAC;QACjE,IAAIqU,WAAW,CAAC7P,WAAW,CAAC,EAAE;UAC5B,MAAM1F,IAAI,GAAGf,EAAE,CAACe,IAAI;UACpBwV,OAAO,CAAC9P,WAAW,EAAE0F,KAAK,EAAEpL,IAAI,CAAC;QACnC;MACF;IACF,CAAC;IACD8V,oBAAoBA,CAACjW,IAAI,EAAEuL,KAAK,EAAE;MAChC,MAAMnM,EAAE,GAAGY,IAAI,CAACE,IAAI,CAACyE,IAAI;MACzB,IAAIvF,EAAE,CAAC4B,IAAI,KAAK,YAAY,EAAE;QAC5B,MAAM6E,WAAW,GAAG,IAAA1B,oEAA2B,EAACnE,IAAI,CAACqB,GAAG,CAAC,OAAO,CAAC,CAAC;QAClE,IAAIqU,WAAW,CAAC7P,WAAW,CAAC,EAAE;UAC5B,QAAQ7F,IAAI,CAACE,IAAI,CAACgW,QAAQ;YACxB,KAAK,GAAG;YACR,KAAK,KAAK;YACV,KAAK,KAAK;YACV,KAAK,KAAK;cACRP,OAAO,CAAC9P,WAAW,EAAE0F,KAAK,EAAEnM,EAAE,CAACe,IAAI,CAAC;UACxC;QACF;MACF;IACF,CAAC;IACDgW,iBAAiBA,CAACnW,IAAI,EAAEuL,KAAK,EAAE;MAC7B,MAAMnM,EAAE,GAAGY,IAAI,CAACE,IAAI,CAACyE,IAAI;MACzB,IAAIvF,EAAE,CAAC4B,IAAI,KAAK,YAAY,EAAE;QAC5B,MAAM6E,WAAW,GAAG,IAAA1B,oEAA2B,EAACnE,IAAI,CAACqB,GAAG,CAAC,OAAO,CAAC,CAAC;QAClE,IAAIqU,WAAW,CAAC7P,WAAW,CAAC,EAAE;UAC5B,MAAM1F,IAAI,GAAGf,EAAE,CAACe,IAAI;UACpBwV,OAAO,CAAC9P,WAAW,EAAE0F,KAAK,EAAEpL,IAAI,CAAC;QACnC;MACF;IACF,CAAC;IAGDiW,gBAAgBA,CAACpW,IAAI,EAAEuL,KAAK,EAAE;MAC5B,KAAK,MAAMsK,YAAY,IAAI7V,IAAI,CAACqB,GAAG,CAAC,YAAY,CAAC,EAAE;QACjD,IAAI,CAACwU,YAAY,CAACQ,gBAAgB,CAAC,CAAC,EAAE;QACtC,MAAM;UAAEnW;QAAK,CAAC,GAAG2V,YAAY;QAC7B,MAAMzW,EAAE,GAAGc,IAAI,CAAC+B,GAAG;QACnB,MAAM4D,WAAW,GAAG,IAAA1B,oEAA2B,EAC7C0R,YAAY,CAACxU,GAAG,CAAC,OAAO,CAC1B,CAAC;QACD,IAAIqU,WAAW,CAAC7P,WAAW,CAAC,EAAE;UAC5B,IAAI,CAAC3F,IAAI,CAACiM,QAAQ,EAAE;YAElB,IAAI,CAACmJ,UAAU,CAAClW,EAAoC,CAAC,EAAE;cACrD,IAAIA,EAAE,CAAC4B,IAAI,KAAK,YAAY,EAAE;gBAC5B2U,OAAO,CAAC9P,WAAW,EAAE0F,KAAK,EAAEnM,EAAE,CAACe,IAAI,CAAC;cACtC,CAAC,MAAM;gBACL,MAAMW,SAAS,GAAGN,WAAC,CAAC4L,aAAa,CAC9BhN,EAAE,CACA8C,KAAK,GAAG,EACb,CAAC;gBACDyT,OAAO,CAAC9P,WAAW,EAAE0F,KAAK,EAAEzK,SAAS,CAAC;cACxC;YACF;UACF,CAAC,MAAM;YACL,MAAMiV,GAAG,GAAGH,sBAAsB,CAChCC,YAAY,EAEZzW,EAAE,EACFmM,KACF,CAAC;YACDoK,OAAO,CAAC9P,WAAW,EAAE0F,KAAK,EAAEwK,GAAG,CAAC;UAClC;QACF;MACF;IACF,CAAC;IACD/G,oBAAoBA,CAAChP,IAAI,EAAEuL,KAAK,EAAE;MAChC,MAAM;QAAErL;MAAK,CAAC,GAAGF,IAAI;MACrB,MAAM6F,WAAW,GAAG,IAAA1B,oEAA2B,EAACnE,IAAI,CAACqB,GAAG,CAAC,OAAO,CAAC,CAAC;MAClE,IAAIqU,WAAW,CAAC7P,WAAW,CAAC,EAAE;QAC5B,MAAM/E,SAAS,GAAGN,WAAC,CAAC4L,aAAa,CAAC,GAAG,GAAGlM,IAAI,CAAC+B,GAAG,CAAC7C,EAAE,CAACe,IAAI,CAAC;QACzDwV,OAAO,CAAC9P,WAAW,EAAE0F,KAAK,EAAEzK,SAAS,CAAC;MACxC;IACF,CAAC;IACDmO,qBAAqBA,CAACjP,IAAI,EAAEuL,KAAK,EAAE;MACjC,MAAM;QAAErL;MAAK,CAAC,GAAGF,IAAI;MACrB,MAAMZ,EAAE,GAAGc,IAAI,CAAC+B,GAAG;MACnB,MAAM4D,WAAW,GAAG,IAAA1B,oEAA2B,EAACnE,IAAI,CAACqB,GAAG,CAAC,OAAO,CAAC,CAAC;MAClE,IAAIqU,WAAW,CAAC7P,WAAW,CAAC,EAAE;QAC5B,IAAI,CAAC3F,IAAI,CAACiM,QAAQ,EAAE;UAClB,IAAI/M,EAAE,CAAC4B,IAAI,KAAK,YAAY,EAAE;YAC5B2U,OAAO,CAAC9P,WAAW,EAAE0F,KAAK,EAAEnM,EAAE,CAACe,IAAI,CAAC;UACtC,CAAC,MAAM,IAAIf,EAAE,CAAC4B,IAAI,KAAK,aAAa,EAAE;YACpC,MAAMF,SAAS,GAAGN,WAAC,CAAC4L,aAAa,CAAC,GAAG,GAAGhN,EAAE,CAACA,EAAE,CAACe,IAAI,CAAC;YACnDwV,OAAO,CAAC9P,WAAW,EAAE0F,KAAK,EAAEzK,SAAS,CAAC;UACxC,CAAC,MAAM;YACL,MAAMA,SAAS,GAAGN,WAAC,CAAC4L,aAAa,CAC9BhN,EAAE,CACA8C,KAAK,GAAG,EACb,CAAC;YACDyT,OAAO,CAAC9P,WAAW,EAAE0F,KAAK,EAAEzK,SAAS,CAAC;UACxC;QACF,CAAC,MAAM;UACL,MAAMiV,GAAG,GAAGH,sBAAsB,CAChC5V,IAAI,EAEJZ,EAAE,EACFmM,KACF,CAAC;UACDoK,OAAO,CAAC9P,WAAW,EAAE0F,KAAK,EAAEwK,GAAG,CAAC;QAClC;MACF;IACF,CAAC;IACDhH,aAAaA,CAAC/O,IAAI,EAAEuL,KAAK,EAAE;MACzB,MAAM;QAAErL;MAAK,CAAC,GAAGF,IAAI;MACrB,MAAMZ,EAAE,GAAGc,IAAI,CAAC+B,GAAG;MACnB,MAAM4D,WAAW,GAAG,IAAA1B,oEAA2B,EAACnE,IAAI,CAACqB,GAAG,CAAC,OAAO,CAAC,CAAC;MAClE,IAAIqU,WAAW,CAAC7P,WAAW,CAAC,EAAE;QAC5B,IAAI,CAAC3F,IAAI,CAACiM,QAAQ,EAAE;UAClB,IAAI/M,EAAE,CAAC4B,IAAI,KAAK,YAAY,EAAE;YAC5B2U,OAAO,CAAC9P,WAAW,EAAE0F,KAAK,EAAEnM,EAAE,CAACe,IAAI,CAAC;UACtC,CAAC,MAAM;YACL,MAAMW,SAAS,GAAGN,WAAC,CAAC4L,aAAa,CAC9BhN,EAAE,CACA8C,KAAK,GAAG,EACb,CAAC;YACDyT,OAAO,CAAC9P,WAAW,EAAE0F,KAAK,EAAEzK,SAAS,CAAC;UACxC;QACF,CAAC,MAAM;UACL,MAAMiV,GAAG,GAAGH,sBAAsB,CAAC5V,IAAI,EAAEZ,EAAE,EAAEmM,KAAK,CAAC;UACnDoK,OAAO,CAAC9P,WAAW,EAAE0F,KAAK,EAAEwK,GAAG,CAAC;QAClC;MACF;IACF;EACF,CAAC;AACH;AAEA,SAASO,mCAAmCA,CAACtW,IAAc,EAAE;EAC3D,OACEA,IAAI,CAACuW,iBAAiB,CAAC;IAAEnX,EAAE,EAAE;EAAK,CAAC,CAAC,IAAIoW,oBAAoB,CAACxV,IAAI,CAACE,IAAI,CAAC;AAE3E;AAEA,SAASsB,wBAAwBA,CAACT,KAAY,EAAEZ,IAAY,EAAE;EAC5D,MAAMf,EAAE,GAAG2B,KAAK,CAACyB,qBAAqB,CAACrC,IAAI,CAAC;EAC5CY,KAAK,CAACiE,IAAI,CAAC;IAAE5F,EAAE;IAAEoI,IAAI,EAAE;EAAM,CAAC,CAAC;EAC/B,OAAOhH,WAAC,CAACe,SAAS,CAACnC,EAAE,CAAC;AACxB;AAEe,SAAAoX,SACb;EAAEC,aAAa;EAAEC;AAAsB,CAAC,EACxC;EAAEC;AAAe,CAAC,EAClB5T,OAA6B,EAC7B6T,QAAkC,EACpB;EAAA,IAAAC,WAAA,EAAAC,YAAA;EAGP;IACL,IACE/T,OAAO,KAAK,SAAS,IACrBA,OAAO,KAAK,SAAS,IACrBA,OAAO,KAAK,SAAS,EACrB;MACA0T,aAAa,CAAkB,SAAU,CAAC;IAC5C,CAAC,MAAM,IAAI1T,OAAO,KAAK,SAAS,EAAE;MAChC0T,aAAa,CAAkB,SAAU,CAAC;IAC5C,CAAC,MAAM;MACLA,aAAa,CAAkB,SAAU,CAAC;IAC5C;EACF;EAEA,MAAMM,OAAO,GAAG,IAAIC,OAAO,CAAW,CAAC;EACvC,MAAM9J,aAAa,IAAA2J,WAAA,GAAGH,UAAU,CAAC,eAAe,CAAC,YAAAG,WAAA,GAAIF,KAAK;EAC1D,MAAMxJ,oBAAoB,IAAA2J,YAAA,GAAGJ,UAAU,CAAC,sBAAsB,CAAC,YAAAI,YAAA,GAAIH,KAAK;EAExE,MAAMM,sBAA2C,GAC/CxB,8BAA8B,CAC5Ba,mCAAmC,EACnCY,UACF,CAAC;EAEH,SAASA,UAAUA,CACjBlX,IAAuB,EACvBuL,KAAiB,EACjBzK,SAA8D,EAC9D;IAAA,IAAAqW,UAAA,EAAAC,QAAA;IACA,IAAIL,OAAO,CAACxW,GAAG,CAACP,IAAI,CAAC,EAAE;IACvB,MAAM;MAAEE;IAAK,CAAC,GAAGF,IAAI;IACrB,CAAAmX,UAAA,GAAArW,SAAS,YAAAqW,UAAA,GAATrW,SAAS,IAAAsW,QAAA,GAAKlX,IAAI,CAACd,EAAE,qBAAPgY,QAAA,CAASjX,IAAI;IAC3B,MAAM2B,OAAO,GAAGmL,cAAc,CAC5BjN,IAAI,EACJuL,KAAK,EACL2B,aAAa,EACbC,oBAAoB,EACpBrM,SAAS,EACTmW,sBAAsB,EACtBlU,OACF,CAAC;IACD,IAAIjB,OAAO,EAAE;MACXiV,OAAO,CAAC9W,GAAG,CAAC6B,OAAO,CAAC;MACpB;IACF;IACAiV,OAAO,CAAC9W,GAAG,CAACD,IAAI,CAAC;EACnB;EAEA,OAAO;IACLG,IAAI,EAAE,qBAAqB;IAC3ByW,QAAQ,EAAEA,QAAQ;IAElBjB,OAAO,EAAA0B,MAAA,CAAAC,MAAA;MACLC,wBAAwBA,CAACvX,IAAI,EAAEuL,KAAK,EAAE;QACpC,MAAM;UAAEiM;QAAY,CAAC,GAAGxX,IAAI,CAACE,IAAI;QACjC,IACE,CAAAsX,WAAW,oBAAXA,WAAW,CAAExW,IAAI,MAAK,kBAAkB,IAGxC8N,WAAW,CAAC0I,WAAW,CAAC,EACxB;UACA,MAAM9B,WAAW,GAAG,CAAC8B,WAAW,CAACpY,EAAE;UAC8B;YAAA,IAAAqY,qBAAA;YAE/D,CAAAA,qBAAA,GAAAzX,IAAI,CAAC0X,sBAAsB,YAAAD,qBAAA,GAA3BzX,IAAI,CAAC0X,sBAAsB,GAEzB5Y,OAAO,CAAC,iBAAiB,CAAC,CAAC6Y,QAAQ,CAACC,SAAS,CAACF,sBAAsB;UACxE;UACA,MAAMG,yBAAyB,GAC7B7X,IAAI,CAAC0X,sBAAsB,CAAC,CAAiC;UAC/D,IAAIhC,WAAW,EAAE;YACfwB,UAAU,CACRW,yBAAyB,EACzBtM,KAAK,EACL/K,WAAC,CAAC4L,aAAa,CAAC,SAAS,CAC3B,CAAC;UACH;QACF;MACF,CAAC;MACD0L,sBAAsBA,CAAC9X,IAAI,EAAE;QAC3B,MAAM;UAAEwX;QAAY,CAAC,GAAGxX,IAAI,CAACE,IAAI;QACjC,IACE,CAAAsX,WAAW,oBAAXA,WAAW,CAAExW,IAAI,MAAK,kBAAkB,IAGxC8N,WAAW,CAAC0I,WAAW,CAAC,EACxB;UACiE;YAAA,IAAAO,sBAAA;YAE/D,CAAAA,sBAAA,GAAA/X,IAAI,CAAC0X,sBAAsB,YAAAK,sBAAA,GAA3B/X,IAAI,CAAC0X,sBAAsB,GAEzB5Y,OAAO,CAAC,iBAAiB,CAAC,CAAC6Y,QAAQ,CAACC,SAAS,CAACF,sBAAsB;UACxE;UACA1X,IAAI,CAAC0X,sBAAsB,CAAC,CAAC;QAC/B;MACF,CAAC;MAEDM,KAAKA,CAAChY,IAAI,EAAEuL,KAAK,EAAE;QACjB2L,UAAU,CAAClX,IAAI,EAAEuL,KAAK,EAAElJ,SAAS,CAAC;MACpC;IAAC,GAEE4U,sBAAsB;EAE7B,CAAC;AACH","ignoreList":[]}
\ No newline at end of file diff --git a/node_modules/@babel/helper-create-class-features-plugin/lib/index.js b/node_modules/@babel/helper-create-class-features-plugin/lib/index.js index f14f0e58..f887abac 100644 --- a/node_modules/@babel/helper-create-class-features-plugin/lib/index.js +++ b/node_modules/@babel/helper-create-class-features-plugin/lib/index.js @@ -95,12 +95,12 @@ function createClassFeaturePlugin({ (0, _features.enableFeature)(file, feature, loose); { if (typeof file.get(versionKey) === "number") { - file.set(versionKey, "7.25.4"); + file.set(versionKey, "7.25.7"); return; } } - if (!file.get(versionKey) || _semver.lt(file.get(versionKey), "7.25.4")) { - file.set(versionKey, "7.25.4"); + if (!file.get(versionKey) || _semver.lt(file.get(versionKey), "7.25.7")) { + file.set(versionKey, "7.25.7"); } }, visitor: { @@ -108,7 +108,7 @@ function createClassFeaturePlugin({ file }) { var _ref; - if (file.get(versionKey) !== "7.25.4") return; + if (file.get(versionKey) !== "7.25.7") return; if (!(0, _features.shouldTransform)(path, file)) return; const pathIsClassDeclaration = path.isClassDeclaration(); if (pathIsClassDeclaration) (0, _typescript.assertFieldTransformed)(path); @@ -229,7 +229,7 @@ function createClassFeaturePlugin({ file }) { { - if (file.get(versionKey) !== "7.25.4") return; + if (file.get(versionKey) !== "7.25.7") return; const decl = path.get("declaration"); if (decl.isClassDeclaration() && (0, _decorators2.hasDecorators)(decl.node)) { if (decl.node.id) { diff --git a/node_modules/@babel/helper-create-class-features-plugin/package.json b/node_modules/@babel/helper-create-class-features-plugin/package.json index c78e2139..9a524fad 100644 --- a/node_modules/@babel/helper-create-class-features-plugin/package.json +++ b/node_modules/@babel/helper-create-class-features-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@babel/helper-create-class-features-plugin", - "version": "7.25.4", + "version": "7.25.7", "author": "The Babel Team (https://babel.dev/team)", "license": "MIT", "description": "Compile class public and private fields, private methods and decorators to ES6", @@ -18,21 +18,21 @@ "babel-plugin" ], "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/helper-replace-supers": "^7.25.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/traverse": "^7.25.4", + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-member-expression-to-functions": "^7.25.7", + "@babel/helper-optimise-call-expression": "^7.25.7", + "@babel/helper-replace-supers": "^7.25.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", + "@babel/traverse": "^7.25.7", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" }, "devDependencies": { - "@babel/core": "^7.25.2", - "@babel/helper-plugin-test-runner": "^7.24.7", - "@babel/preset-env": "^7.25.4", + "@babel/core": "^7.25.7", + "@babel/helper-plugin-test-runner": "^7.25.7", + "@babel/preset-env": "^7.25.7", "@types/charcodes": "^0.2.0", "charcodes": "^0.2.0" }, diff --git a/node_modules/@babel/helper-create-class-features-plugin/tsconfig.tsbuildinfo b/node_modules/@babel/helper-create-class-features-plugin/tsconfig.tsbuildinfo index 309cccf1..8032679a 100644 --- a/node_modules/@babel/helper-create-class-features-plugin/tsconfig.tsbuildinfo +++ b/node_modules/@babel/helper-create-class-features-plugin/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.string.d.ts","../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../node_modules/typescript/lib/lib.esnext.regexp.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../dts/packages/babel-types/src/validators/react/isCompatTag.d.ts","../../dts/packages/babel-types/src/builders/react/buildChildren.d.ts","../../dts/packages/babel-types/src/asserts/assertNode.d.ts","../../dts/packages/babel-types/src/asserts/generated/index.d.ts","../../dts/packages/babel-types/src/builders/flow/createTypeAnnotationBasedOnTypeof.d.ts","../../dts/packages/babel-types/src/builders/flow/createFlowUnionType.d.ts","../../dts/packages/babel-types/src/builders/typescript/createTSUnionType.d.ts","../../dts/packages/babel-types/src/builders/generated/index.d.ts","../babel-types/src/builders/generated/uppercase.d.ts","../../dts/packages/babel-types/src/builders/productions.d.ts","../../dts/packages/babel-types/src/clone/cloneNode.d.ts","../../dts/packages/babel-types/src/clone/clone.d.ts","../../dts/packages/babel-types/src/clone/cloneDeep.d.ts","../../dts/packages/babel-types/src/clone/cloneDeepWithoutLoc.d.ts","../../dts/packages/babel-types/src/clone/cloneWithoutLoc.d.ts","../../dts/packages/babel-types/src/comments/addComment.d.ts","../../dts/packages/babel-types/src/comments/addComments.d.ts","../../dts/packages/babel-types/src/comments/inheritInnerComments.d.ts","../../dts/packages/babel-types/src/comments/inheritLeadingComments.d.ts","../../dts/packages/babel-types/src/comments/inheritsComments.d.ts","../../dts/packages/babel-types/src/comments/inheritTrailingComments.d.ts","../../dts/packages/babel-types/src/comments/removeComments.d.ts","../../dts/packages/babel-types/src/constants/generated/index.d.ts","../../dts/packages/babel-types/src/constants/index.d.ts","../../dts/packages/babel-types/src/converters/ensureBlock.d.ts","../../dts/packages/babel-types/src/converters/toBindingIdentifierName.d.ts","../../dts/packages/babel-types/src/converters/toBlock.d.ts","../../dts/packages/babel-types/src/converters/toComputedKey.d.ts","../../dts/packages/babel-types/src/converters/toExpression.d.ts","../../dts/packages/babel-types/src/converters/toIdentifier.d.ts","../../dts/packages/babel-types/src/converters/toKeyAlias.d.ts","../../dts/packages/babel-types/src/converters/toStatement.d.ts","../../dts/packages/babel-types/src/converters/valueToNode.d.ts","../../dts/packages/babel-types/src/definitions/utils.d.ts","../../dts/packages/babel-types/src/definitions/core.d.ts","../../dts/packages/babel-types/src/definitions/flow.d.ts","../../dts/packages/babel-types/src/definitions/jsx.d.ts","../../dts/packages/babel-types/src/definitions/misc.d.ts","../../dts/packages/babel-types/src/definitions/experimental.d.ts","../../dts/packages/babel-types/src/definitions/typescript.d.ts","../../dts/packages/babel-types/src/definitions/placeholders.d.ts","../../dts/packages/babel-types/src/definitions/deprecated-aliases.d.ts","../../dts/packages/babel-types/src/definitions/index.d.ts","../../dts/packages/babel-types/src/modifications/appendToMemberExpression.d.ts","../../dts/packages/babel-types/src/modifications/inherits.d.ts","../../dts/packages/babel-types/src/modifications/prependToMemberExpression.d.ts","../../dts/packages/babel-types/src/modifications/removeProperties.d.ts","../../dts/packages/babel-types/src/modifications/removePropertiesDeep.d.ts","../../dts/packages/babel-types/src/modifications/flow/removeTypeDuplicates.d.ts","../../dts/packages/babel-types/src/retrievers/getAssignmentIdentifiers.d.ts","../../dts/packages/babel-types/src/retrievers/getBindingIdentifiers.d.ts","../../dts/packages/babel-types/src/retrievers/getOuterBindingIdentifiers.d.ts","../../dts/packages/babel-types/src/retrievers/getFunctionName.d.ts","../../dts/packages/babel-types/src/traverse/traverse.d.ts","../../dts/packages/babel-types/src/traverse/traverseFast.d.ts","../../dts/packages/babel-types/src/utils/shallowEqual.d.ts","../../dts/packages/babel-types/src/validators/is.d.ts","../../dts/packages/babel-types/src/validators/isBinding.d.ts","../../dts/packages/babel-types/src/validators/isBlockScoped.d.ts","../../dts/packages/babel-types/src/validators/isImmutable.d.ts","../../dts/packages/babel-types/src/validators/isLet.d.ts","../../dts/packages/babel-types/src/validators/isNode.d.ts","../../dts/packages/babel-types/src/validators/isNodesEquivalent.d.ts","../../dts/packages/babel-types/src/validators/isPlaceholderType.d.ts","../../dts/packages/babel-types/src/validators/isReferenced.d.ts","../../dts/packages/babel-types/src/validators/isScope.d.ts","../../dts/packages/babel-types/src/validators/isSpecifierDefault.d.ts","../../dts/packages/babel-types/src/validators/isType.d.ts","../../dts/packages/babel-types/src/validators/isValidES3Identifier.d.ts","../../dts/packages/babel-types/src/validators/isValidIdentifier.d.ts","../../dts/packages/babel-types/src/validators/isVar.d.ts","../../dts/packages/babel-types/src/validators/matchesPattern.d.ts","../../dts/packages/babel-types/src/validators/validate.d.ts","../../dts/packages/babel-types/src/validators/buildMatchMemberExpression.d.ts","../../dts/packages/babel-types/src/validators/generated/index.d.ts","../../dts/packages/babel-types/src/ast-types/generated/index.d.ts","../../dts/packages/babel-types/src/utils/deprecationWarning.d.ts","../../dts/packages/babel-types/src/index.d.ts","../../dts/packages/babel-traverse/src/scope/binding.d.ts","../../dts/packages/babel-traverse/src/scope/index.d.ts","../../dts/packages/babel-traverse/src/hub.d.ts","../../dts/packages/babel-traverse/src/path/lib/virtual-types.d.ts","../babel-traverse/src/generated/visitor-types.d.ts","../../dts/packages/babel-traverse/src/types.d.ts","../../dts/packages/babel-traverse/src/path/ancestry.d.ts","../../dts/packages/babel-traverse/src/path/inference/index.d.ts","../../dts/packages/babel-traverse/src/path/replacement.d.ts","../../dts/packages/babel-traverse/src/path/evaluation.d.ts","../../dts/packages/babel-traverse/src/path/conversion.d.ts","../../dts/packages/babel-traverse/src/path/introspection.d.ts","../../dts/packages/babel-traverse/src/path/removal.d.ts","../../dts/packages/babel-traverse/src/path/modification.d.ts","../../dts/packages/babel-traverse/src/path/family.d.ts","../../dts/packages/babel-traverse/src/path/comments.d.ts","../babel-traverse/src/path/generated/asserts.d.ts","../../dts/packages/babel-traverse/src/path/lib/virtual-types-validator.d.ts","../babel-traverse/src/path/generated/validators.d.ts","../../dts/packages/babel-traverse/src/path/index.d.ts","../../dts/packages/babel-traverse/src/context.d.ts","../../dts/packages/babel-traverse/src/path/context.d.ts","../../dts/packages/babel-traverse/src/visitors.d.ts","../../dts/packages/babel-traverse/src/cache.d.ts","../../dts/packages/babel-traverse/src/index.d.ts","../../node_modules/@types/gensync/index.d.ts","../../dts/packages/babel-core/src/config/helpers/deep-array.d.ts","../../dts/packages/babel-parser/src/util/location.d.ts","../../dts/packages/babel-parser/src/tokenizer/context.d.ts","../../dts/packages/babel-parser/src/tokenizer/types.d.ts","../../dts/packages/babel-parser/src/parse-error/standard-errors.d.ts","../../dts/packages/babel-parser/src/parse-error/pipeline-operator-errors.d.ts","../../dts/packages/babel-parser/src/parse-error.d.ts","../../dts/packages/babel-parser/src/tokenizer/state.d.ts","../../dts/packages/babel-parser/src/util/scopeflags.d.ts","../../dts/packages/babel-parser/src/util/scope.d.ts","../../dts/packages/babel-parser/src/util/expression-scope.d.ts","../../dts/packages/babel-parser/src/util/class-scope.d.ts","../../dts/packages/babel-parser/src/util/production-parameter.d.ts","../babel-parser/src/typings.d.ts","../../dts/packages/babel-parser/src/parser/base.d.ts","../../dts/packages/babel-parser/src/parser/util.d.ts","../../dts/packages/babel-parser/src/parser/node.d.ts","../../dts/packages/babel-parser/src/parser/comments.d.ts","../../dts/packages/babel-helper-string-parser/src/index.d.ts","../../dts/packages/babel-parser/src/tokenizer/index.d.ts","../../node_modules/@types/charcodes/index.d.ts","../../dts/packages/babel-parser/src/parser/lval.d.ts","../../dts/packages/babel-parser/src/parser/expression.d.ts","../../dts/packages/babel-parser/src/parser/statement.d.ts","../../dts/packages/babel-parser/src/plugins/placeholders.d.ts","../../dts/packages/babel-parser/src/types.d.ts","../../dts/packages/babel-parser/src/parser/index.d.ts","../../dts/packages/babel-parser/src/plugins/flow/scope.d.ts","../../dts/packages/babel-parser/src/plugins/jsx/index.d.ts","../../dts/packages/babel-parser/src/plugins/typescript/scope.d.ts","../../dts/packages/babel-parser/src/plugin-utils.d.ts","../../dts/packages/babel-parser/src/options.d.ts","../../dts/packages/babel-parser/src/index.d.ts","../../dts/packages/babel-helper-compilation-targets/src/options.d.ts","../../dts/packages/babel-helper-compilation-targets/src/targets.d.ts","../babel-helper-compilation-targets/src/types.d.ts","../../dts/packages/babel-helper-compilation-targets/src/pretty.d.ts","../../dts/packages/babel-helper-compilation-targets/src/debug.d.ts","../../dts/packages/babel-helper-compilation-targets/src/filter-items.d.ts","../../dts/packages/babel-helper-compilation-targets/src/index.d.ts","../../dts/packages/babel-core/src/config/caching.d.ts","../../dts/packages/babel-core/src/config/printer.d.ts","../../dts/packages/babel-core/src/config/files/types.d.ts","../../dts/packages/babel-core/src/config/files/package.d.ts","../../dts/packages/babel-core/src/config/files/configuration.d.ts","../../dts/packages/babel-core/src/config/files/plugins.d.ts","../../dts/packages/babel-core/src/config/files/index.d.ts","../../dts/packages/babel-core/src/config/config-chain.d.ts","../../dts/packages/babel-core/src/config/cache-contexts.d.ts","../../dts/packages/babel-core/src/config/helpers/config-api.d.ts","../../dts/packages/babel-core/src/config/config-descriptors.d.ts","../../dts/packages/babel-core/src/config/item.d.ts","../../node_modules/@types/jsesc/index.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts","../../node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts","../../node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts","../../node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts","../../dts/packages/babel-generator/src/index.d.ts","../../dts/packages/babel-core/src/config/validation/options.d.ts","../../dts/packages/babel-core/src/config/validation/plugins.d.ts","../../dts/packages/babel-core/src/config/plugin.d.ts","../../dts/packages/babel-core/src/config/full.d.ts","../../dts/packages/babel-core/src/config/partial.d.ts","../../dts/packages/babel-core/src/config/index.d.ts","../../node_modules/@types/convert-source-map/index.d.ts","../../dts/packages/babel-core/src/transformation/normalize-file.d.ts","../../dts/packages/babel-core/src/transformation/file/file.d.ts","../../dts/packages/babel-core/src/transformation/plugin-pass.d.ts","../../dts/packages/babel-core/src/tools/build-external-helpers.d.ts","../../dts/packages/babel-core/src/config/helpers/environment.d.ts","../../dts/packages/babel-template/src/options.d.ts","../../dts/packages/babel-template/src/formatters.d.ts","../../dts/packages/babel-template/src/builder.d.ts","../../dts/packages/babel-template/src/index.d.ts","../../dts/packages/babel-core/src/transformation/index.d.ts","../../dts/packages/babel-core/src/transform.d.ts","../../dts/packages/babel-core/src/transform-file.d.ts","../../dts/packages/babel-core/src/transform-ast.d.ts","../../dts/packages/babel-core/src/parser/index.d.ts","../../dts/packages/babel-core/src/parse.d.ts","../../dts/packages/babel-core/src/index.d.ts","../../dts/packages/babel-helper-replace-supers/src/index.d.ts","./src/decorators-2018-09.ts","../../dts/packages/babel-helper-skip-transparent-expression-wrappers/src/index.d.ts","../../dts/packages/babel-helper-member-expression-to-functions/src/index.d.ts","../../dts/packages/babel-helper-optimise-call-expression/src/index.d.ts","../../dts/packages/babel-helper-annotate-as-pure/src/index.d.ts","./src/typescript.ts","./src/fields.ts","./src/misc.ts","./src/decorators.ts","./src/features.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","./src/index.ts","../../lib/globals.d.ts","../../node_modules/@types/color-name/index.d.ts","../../node_modules/@types/debug/index.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/eslint/index.d.ts","../../node_modules/@types/eslint-scope/index.d.ts","../../node_modules/@types/fs-readdir-recursive/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@types/jest/node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/@types/jest/node_modules/chalk/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/@jest/schemas/build/index.d.ts","../../node_modules/jest-diff/node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/@types/jest/node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/@types/jest/node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/lru-cache/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/v8flags/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","17edc026abf73c5c2dd508652d63f68ec4efd9d4856e3469890d27598209feb5",{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true},{"version":"0b11f3ca66aa33124202c80b70cd203219c3d4460cfc165e0707aa9ec710fc53","affectsGlobalScope":true},{"version":"6a3f5a0129cc80cf439ab71164334d649b47059a4f5afca90282362407d0c87f","affectsGlobalScope":true},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"b360236d3b226a56126f9f071d68fccd10eba34e4b6831efc39e8a3277380523","a73bd08ca8f85d9c1f0307ae7abb246e38cb618f452e15fd3612464e846665b0","9b1b103c34f4c56ab0c40c87a85ffd36002295d8fbe17b493509e63a383f5814","e4a023723ff5cfdc22880b572dd15876d0bc4bb4f2a555d71d226a2578786ad3","3aa0ae0c3636319f9bc6e5c2a4bd484f9b2b4e78623b33131056a95fb59c954c","dc25e664429b44c379d4d3cf988b2cce06116ae94f5c6f1a0cf73245b4282a93","e59daf03ff2d76dee4726e48556aba1d105fd1c7a7a9cbf3e74ec4a1f91a6bea","250bb1ea2d799ecf488834fe20efa611063ab79b35639b7b3024f05e1b6641ee","a0fbfc839fefc3d41a12c5a8631e6543135ff18fd516cd06c5a09f84cb81578c","9ce376fdbe50ed84260f0dc45cc1f242916f2c0c91da6464df63df0ba2baae7c","c3e41c24eb14414b6995d4bbac99d16ce2e609282c9b53d1333b7b423e0f7d02","b555d22a622ea0565d08a340e5c19f6f439f40d4451a2f13fe6a33a39b3d761c","9f29212a64599c6c5563b78746bf85f709d5437f18dac77502a53af63dadb850","6b714d7db731bb6da813dfa3d88ded4ce0bc9b627464e86315468e1be9adadff","5ebd0c7b976b7cbe390e381d27ec9dc5adde1a02cf9ecfb2a7caed7a822a5cae","4171247c72f90ac86a3cd3cdb0f372214a556aa8b94aa92b28bf6d21dad5f7ee","b8b9aae5a37c0d3dec11813d992b893ed55a080289466ade6c1bc47e3987f53a","eb69d4cd5875c471c0dd30988bf8a4816f9b8fab1e71a8c39096e483411faa00","48225779dd7b1b7b384389e325ed6aa271a6745239d8193c2fc161cacbf3dac5","c6fd0f9d777f11f972b4decc52beeeae6aad9f2aa949184e8f9984a5c36e4448","3f4487628af3e52556d6f33151740876b29a5355b8a5ccf8e56d1b3ae7cbcc0e","2b4ca439136421892cc80ebf6f6ea641a0306e58bd12ed61ae7f20becb2ee15f","d765a1a0f109522a082c9b8de1f6c0364463e972ece981b0f504fa611187956a","ce8fe0d07c32e6786203b5a3b93468afc6b1fcf57481dc9673e16fb119312c19","dfa94dabc1567d2b882222947f5c181adc89a3af5b6a2b730b1c3b85d4cfe48f","c33fa94c2e88d70a2e98a33474d3cf477d959477236323a748f638b3ca1e2af0","058e39e6fe02e97ddc18b2952a67d0dfb71f1f60f86405480fec569b602f5284","8c5dbef5fc0eb113d94132a5ba440d75e33eb85e9497a1f7e3bdb29a3fcd3469","0d9808e1f0d2bd4c45462c7e2f20c0cf08b700c6964e7eda5e10d1f6b707deb8","9f3f8ff5d06c5d5583e891d3bb98489d58e358e49bda2827f3f7819cdb632ad0","6978b8fc2f45108c4bc2788bd7053f2917d7efa28f74ddf52182dc9ab59d03cf","e127a8fb319d5978d73d966a5a68b85915848f8f96267fff2f0dbe9bc92373e9","77adbafe67e2bf42d578d82d2fb994530cce5b9eaa28a2a5b24aca70a008c3d9","2041804d5582855acf4cdb0d641cd83a26952d5955f0f1806c9b7e9ae90ac3dc","7d2a0764991446f121b01e690edcb502ce40fd02145613d1d349d9e46be3782a","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","513e4a7dd68f60782a39d5ae4ce6f0a19ccc4c51808b359560ad1f689f0ce93d","519157309e4f7c98b6067933db2a849961eaa0e5dec4a2ce5d2fc92ace85dcfd","c5f8672c8c39b8f9251a57fc2dab217ce20ac4a9d71c0a498b733cb922ff5e4e","82590ca2dfa968af29be579c534733406fd9c5c4a726213eef9f2308cbb04d23","e88043fb3ae0a6e33be31d45927494ed42c3263bfb318b024b9dab027f09dc2d","3f7e6d7b1d7155d68b5ec0f8e021f10075c785b29171d1d520d0b9b0dd617aa0","7571f6e856945cea6771a2985e008daff8785c6632f9dc1dc9f24f795f84444d","2ff5e66c8448d86302ef11ceeb27cbbd43d3af41aba05c2fc3a48cd0f1d8627f","a73d8151dd40ff705eebd2989e703ba14874574f5fe4f195babe74b6ef93ac59","e872f192c494d687561196b8ce88a06d80b2128b0c28b3bd919a7d663c22cc18","1a910bff4e17d0f855bd00ef0dadc3ad8e7656499c099d19603f8bb0dbe8853e","23996dceac72973064c9643fff1ca0cf585b642d715c56ed3512703f2b280c5e","14cba8dd2c615df75bef2f670ec26fbe86157eb03a55ba5dfbe8ad46253c3b5e","95a1a8e1e7777214b2d970c3426819e976abf9120f2824b571e0ae51d1dd465b","3b6aafb284a9943503546844726c7ecea9ae91fc46f1d8e8cbe233f6d8b16a30","e1bb914c06cc75205fae8713e349dff14bdfd2d36c784d0d2f2b7b5d37e035e0","a5e89e63c809c01f8e8175c9d63da68ce734ddf15b7efd98b1eb262d8e4d05ec","466c63574f0654a81f7d760ccb32570f642b6b46e83b6fdc288c2e52bcef287c","c6526b7ad3213f40e40d617f0a150c8a9dcf0e8f868594ef4aa060b994fd11ce","b5e0565b7ca3ba4c129ed4e1788d4dc1bb30dcdeb14a37df1071c3881507e295","08cdf95dfc59101c1e7c23865951151455ee7f77f1bf7e257034aae8ba332972","4924f889957ee69dfd66643c7e60a5feee526c18b16d10985804c669fe1b6ce4","2c95044092cad1398b593b47290306d73513d163c61e85ebbc39715af4b15578","66612e3b3315adf8702a39830ad8690d6f4293f89193737c604f4b44a51e42ad","1d3f6521348f5d591d4da3408457a553274b024c79ecde88054361040967c211","03a629914760ae9bb64a05e72ad0f4e6aeefb1e7c7b6ae3d7836bb46f69ae23e","95017b0f25bb3cd6782853c14303c20b5099b866ef1491c57fc436add8183f14","989f035cd0c3acf51639b2ff4fb3cb8ccce3d7ef0103a1d32ca5e5f1cfd19387","9dfbdb5529d2be1c9e77112f7e0e20fba7518865f31501b9aa09c3965ee91f6a","9ba02d6560cc8cf8063172ba05b5368a24fb236a97c1c852665372be78143592","cafadd60cda0c63471975430893f7c0ac981f268ec719f08f131e41d8404c4db","6a7a221f94f9547a86feaa3c2ce81b8556c71ffb12057a43c54fc975bca83cde","156d025e006f7df4df1bcf7ce53cd3e3780a0190dfb03c65288f07b372e79843","e34a316302189537858d6d20d5d77d8f0351ed977da8947a401ad9986cdf147f","243665975c1af5dc7b51b10f52e76d3cb8b7676ccc23a6503977526d94b3cdde","3a91334c3409e173cafb3af175d8a4a3ae835851df7015c8f0fc5c117ad46c80","bfe8f5184c00e9c24f8bb40ec929097b2cafc50cc968bc1604501cb6c4a1440c","7b488581d44b9a7bde2131536376fa946cbb3a1b0096427738d5b946a76ca794","1079472c5e1f65ce739fb777054e2f539e9b50a97b438c0d6e56c4ee23be8bff","55a399c33069c3f8d15e07985f30a10c80b318bc41b3803fe9cc83cfcdbb03d5","c67208e9da4af7a50bfb75d07691326052d6ed8f3b577ece8b02cd425c9d632f","f31ab9295985d01c5837c9bdc422643f6f73293cfd103738774b7cfb340566cc","99392e1e600259c50f21f691f136a4ecbee42839dbb9523384f09645c8756503","5c5d100793c0fb9b34076189904df18f3321e82cadf6f69815926104029c215b","8dec4b9028cc8905caa6b52a395786d7f49a10d61f6be869b59ae007dc5e0cdf","f952c9c19048db8b25e3fa8e48e2213c18d3fdbef6ac168e9fae6632ed58245f","63612545667f1b69fade90ce43da7802e6affc4a0620a88d0a1d5a714d9e1e9f","866c1b69a53d80383cb5eef0ce2760ad8d028c771fa45776426a583c56a23746","c51dc97847938ca3786408a68750dc9487f162ce90d2164a4cc1a9c88ae93eca","e772bc828730ee913e19f58bb18b7733ebce8a3f06cdce847cb33275343a6ecd","00222577eecd6c1fc72150006351fc6e1b5bb3aaf78097e40ecac8b8343a7598","a18dc98acb3c380a2177264b78e2abb5f7b0d8483082dba7d6d4941c6e7d0120","50f3da2fe7cdc461c6fcb1b38e8762847cc3d62146b1c1dbd62552c46d2b9187","e675dc45ca604b7a6fea16448050b34cf0fe86c2f9fa50f3911fb4153b42c186","d3e56e0f84e1d1843369533f50918cce5925129e99e9ca14c7cc35ad94b2a052","dfedb6704555de21c30e98a8decf8a6d31dde1d8403b9b95944a1d317379c7ae","7102463bc898ac4cfd90675e679cdd8e1a1b6f44702b280f9c99b93f206ae570","b0324d2294913c3e9e8859e9393729d48b40a4ef5f0a4718d45460a4d0bac291","4f9a4bb30bc97017c72a600c0161962d8f74488d1cd93669e4adbce7e611e0de","82f971c78549caea24d5529c13f959d3c293456c1e91575df296e5f860438a6d","dc298a2f1e69c0786df2f1e29294742862da898b213be334c36682098afea397","57e73f1c6da39bcf9429f52c39b6fc34eef11547fbb5a2be91836517ec746957","8e04fc4a0a97bd29f22ca6a024ad8f7c74af5ad683f07701a40153267399cb6a","bde8c75c442f701f7c428265ecad3da98023b6152db9ca49552304fd19fdba38","81af40a2264a5a56f71b8c45ff1717b50c5f0c00dd091410b12dc970ee340120","b10974251ad16a97b357ec50f87455c4430e7f0790f7b399564c900e4ebf87f1","234123959236555e336e4efcd7aa203ac1d5370ee5d891dcfc5828d996b28f59","b59756cf12284e6136e042f322af2e22664e1fd46f713b1dd3abb1740719b732","62b65c635a282ea4855cd6a9b968527cbab364c38410ea432f63c5c591db9072","d31fbe2a651edb67d3950722299b098528292b517f6947d2d81ab913a41a2566","569de4401936201287d466c310a32432c2eef9c42524f5e31379e743dda71bf2","2cf4af5b2e64cfc639866ecc565edfe8da7dd3bd06c5ec93e491431d8b2cbb52","6131967512c4d205c32f126ef7415453f0c715bf53c7175d6deecb72d76a75b5","4e38f7bd172e7549c323610cfede12644c116581dfc4d751998d301eda9573e6","0d1adbde28307411dae5e1cc8cc316130653bfc6ad8feb4b59063f60efdfd693","d8288a8eb14187b0df133ce467216d61d9ffe838ae5930471f476a5c36141828","70ae92a852a67db5b841a7ee3e9d16df7c06320ab86dbf2d5dbd9d76f3c98faa","d8b49d5f3ea9c320fa3623c746bf0643fd19520265bc53749f1a4e532ebe92b3","ead85b2d6cd6e6deb144a0995896c0ca7423820c66cc00e416e66733d2932985","5893d8b87ce06846556d2460e2eaf2aa8388f2179ed151d302ab7d711a75c7e4","6b4d9c91ed03e7afd40fa045042fcb7a6250b8dbe242154f3c4b948a99c74a9d","8b37c18f85644a1c666705bb5c233850cac84d8863c19870a8ed5f8d69c68800","186139eb9963554412f6fb33b35aabee1acdaa644b365de5c38fbd9123bdbe45","429e18739687877b761b4b6574a45a9e51111a6a71cd63711440cb0f9c602e87","b7589677bd27b038f8aae8afeb030e554f1d5ff29dc4f45854e2cb7e5095d59a","2141d76dd4ef56c5aae88b7d93a8df9fc7d9a779a2441825a8e3e2d0a025f761","31cd8b7c7ff990e5213c4f291f6a92e26eea3bed21a1147eecd32e0b789b37de","431fa08179e6ec652924f1f0788e213db388b0dbebdbfd392477772c5f199573","092ebda2bb8a86fbf91c87f05de87a433eedeea8cb0be462984ef6fab1148c41","9e51bdbcfcbbe857bea0999bafc786cf85a07ace21f8493112f962cd76e32618","bf37ea47ebbf5d66dd7a26f59c08524608a3bd36b8736c5c4e3b22619d722695","e4aa4e8d3eb4c67b64962344ef3388a8cd607821ba619c9379b36316db65c9ac","ae795ae07c9049d4ef2ea798e539c883a774b63be306794f256e11a9b228ebe6","635ca94290fa45a56e53ffadd3b897a42650fd4ab0ddc241392e4dc729bf496b","173ab50e3ca8ac71f152bc8708ac60237eb04230c9ad54c62f907259e2dd33b2","02519cdd247317de0bfdc78d88b5497d9747e1b9d1297283a0fea8ab3787f6ab","53989e09bc0b6b46a3c4597e5147a9b989f1f66f33ce7375b92d28139977e748","abae244b376437bfe2f0fdd1bd8925e2c235d10336ba08aec4330b800582ccbb","7da12c50edd45d08ae7f93183d0f88ab9753386ce060d1765926ffbe7c6491c2","1a8397f1c9125fc54db823eb6509221b841dd6f0c82a78997033a4a09fb1c86d","176d3525152384c3f7312b308c8af7b17690f8ec34e0788e6aaae548180f1941","6b34e6bdec80f7af4912497afb8455cd88ae1d6442d042c6663176b9927b69d4","41113f7f4529f81a16bae03c06bbd3c95146a4f7c8173ecafd6869fd1e97ed0b","c980191d2838b122a340074b58c566fddbc29a44bb57170671ac5034373c49a1","378871d06cbd514fe945b69a7be3cabe210139a5b2b3917a306ef8102afdd5bd","3bf0df1a6a59b16d43f97efd5bddcb376a3a3d66ecbe92a4dd80a0f81be6a009","49bf06ea475ae5c78e69f7af3c7e09e00af57750aa1e37c120aaad92fd8a8ab2","f8fc87c8c6822986fa509a62a0caed5cbf05f3f84d82fbbdb01a9e94aebfb2ec","60c51e31434ccc777c3d67ccc96892dd7e634816fb9fa5dc86e15d72de96ab3d","0737161a05160e848162b2abba07c4e867f415362187b810f4b6764d2626d021","69815e9eb00baef2634457bcf4952f69062d764211914619c6922dfa7760f8d2","444399b4f2fead080a55b82f86bf653a072a9f117042edc9a0fa69366672b418","d6ab7f2b45d4aa62ad21199fbb3105151a9dd4830d138a3bb3eab1e76eef9e45","56827baba9ab2b370c919b1858068e11f10a73d80dca8cb2467d2d1446fab073","551cbc9796c3629084a987a84a1a0e9957fcfb6fdfe1ee807dfe56f5a11a4148","eded5d62b954b7937089cfb84926bb40d60b8bf0d4ef03bbe92cf08404afc808","84a805c22a49922085dc337ca71ac0b85aad6d4dba6b01cee5bd5776ff54df39","971f12a5fc236419ced0b7b9f23a53c1758233713f565635bbf4b85e2b23f55a","9d670bb3be18ea59cea824e3bb07d576b55c9542f5bc24aacc2a3c1ebd889de6","695b586df2d8c78b78cdd7cc6943594f3f4bc52948f13b31cdedfa3ce8d97c31","0771a93ef5e3b2a29f929c20f7ad232829341a671c9d1e96e93ef3fc42ef7bc2","cadb68b67b80b14a9a5bb64cce3093168fb2bfe2c7b10096d230df5203218de1","0b3c75be13f930b46117e205d900ee9c4f2ad6c7317655bca5364958ba1e34f0","5af161220fdf46730477706e8c431ccbd1b4ff50223cb32450bc20513f50bfbd","be797449825edee1716d3e0c8d7ae53955b8944437cb4d0b4123a32778621228","3de2bce3f80834d3f0a02d2adce48edcfb4caad49145031f79cc8f1fcc28e0fc","83a3a4f21e36ee920e819ac865badd30bf258361e7a224d1fb134a5524f55a0f","a09c9ad7765dde81c65319b317af29e10f0a8e38f197c2e657ed7130d67c73dd","db18c2ffebf4c7f8d5ebb8f2541bc30bbb4f6cacebb42a5a9742ae883fd583e1","a22722f2344d703cdcc5ada42cbf84890ef527a2a6e9154fab5ddb362e64b955","866041185b44ade1456dc03de3dc85aad9c2b02dfd92d7f2068d46e28ea66201","13d94ac3ee5780f99988ae4cce0efd139598ca159553bc0100811eba74fc2351","48864a43f6c1032cb3fb5bfac020d4b2919791f49d8f31ff18f2dd3d4816005f","e9114172414f9836d9fab7346122951be30b66719d8277aa5f7a25580b9e21c7","5db896a650fb0c4ec892de19b7b98b92ccae9bb5a3e03731050f3db0d3183bd6","220c93cd694e27d77b91f874f31e92d7514aa808fd95768b64552693043d00b9","380543b1b41b88e3a6294b8419d5ed323c5da3a3051ab4a1d5677f525ee30698","269ee735294e8c328681830ae7fdf4aea6c24032f0541d76c914aac9afadda5c","23a790e87430f6bcf8dfbc4d3560e8b3d7441f9cfbe509bcf932b4608c60c9e3","7a8b858660503a4af876541f456b2cbc3d89b164ab842c7434ac0fb87ec0e026","024653e8296d821c2332e1e8fe13eb86f4d50f0be82478c958890e92d1f2ca0e","f571e28d70c04d1ce72673771010febae11d2c907a71d027550d986ee424951d","ae4f0f443b828f28aaf843856dd25a8ab5e400f99581778f8977011c4a72d70d","cf5ba84fd9488f0ba7e302d54d1db6452b513d8573df389dd05f4153f5edfc26","64ec4840e09c2f03bc97e86f6fbc5aac99bb6a067f20e06dc186a3784aba2862","640331bbaecab0948b9a40fc903666f103e94764cdfb0822d4124c147246c19a","dc29fe834b87d0d015c40a9f294ec7e1f2b7b322f102264e34374c8ea5ecffe6","46ab6033b2f210e498f5147c87b465aa564d1b9f64a431dd70b3f4f7cc5d6647","4bdaa9b206ca8f39ec14c79d9e48ebc59a6996bf19c11b9ec2e46a6d3e431c2c",{"version":"63bff8dbf232fc1ae97f1b020e297e25fb60fd0f067602b621a3da2ffce39a79","signature":"3d6e462e215d4fcb4eb7712f0057a1cee34d932f7974aee8c2056f5e529d9ceb"},"ed86efd0f3ccc9ad7bf77be60d591494fe341f2afd414e492ea13754d8507175","98e86ac955b931544c81849b7b6b54517c5c5241d369c72524cf730c1af3ff40","2e950e1263d69209ee01f93a543c1d593940464dbe66e0c59a11305a85d651ec","9c4b642619bc5d6940153c6952476440c122ded45f4946a561044ea4d538941e",{"version":"a69477d405f5fb59417cde68ab9660006d4cab3af749db47afbbb72e74213c60","signature":"b1fea5f748629c2a9495f97dcc4081a94d55d9349b4527ddfca96c610a19b65d"},{"version":"510eba75ccc5a54f845a0c5aff5ee65cb7723aa52d599bd2e5ee2f7a4c332f64","signature":"f0ffbc9240780eb2cfd765a2a5188aff8c710be396c428d92bf6afeee2c919f0"},{"version":"8a4104f0baebf7a6327a01dfc2ddf0e8e61e89f5dd19505dadc1ad42cb13734b","signature":"b8e7bd9cb4a7bd1c2c7608996439366bb8848bf758b462adafc7365bd9b3118c"},{"version":"7fc4deaf5d628602f0f94a2cb07e7caaac8711341798a25760ee763240a03d99","signature":"f1d21b7f1be50ee938648c5c1f6b96ad61a3c5ebf0ceb32d45d5b52c6e67cc79"},{"version":"d55b06b6f77c3c55ff23b386b227749cc88044357cdfafe6c816bcc3527d73a9","signature":"bdf70c5695b9802c648769f1945c7ceac09c411ca0262564d335371d5eea1d8a"},"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4",{"version":"1cfed1af7fef4b814b8f2769a6ced176bddb997d148be6fbdd7ed76d27c8abb7","signature":"b9da2c0297d5a6ac527c0d726401f03db19f10adfb3835e728d3da0eb7479182"},{"version":"f0b6690984c3a44b15740ac24bfb63853617731c0f40c87a956ce537c4b50969","affectsGlobalScope":true},"f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e","3cf5f191d75bbe7c92f921e5ae12004ac672266e2be2ece69f40b1d6b1b678f9",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","0c5a621a8cf10464c2020f05c99a86d8ac6875d9e17038cb8522cc2f604d539f","e050a0afcdbb269720a900c85076d18e0c1ab73e580202a2bf6964978181222a","1d78c35b7e8ce86a188e3e5528cc5d1edfc85187a85177458d26e17c8b48105f","acdc9fb9638a235a69bd270003d8db4d6153ada2b7ccbea741ade36b295e431e","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","d69a3298a197fe5d59edba0ec23b4abf2c8e7b8c6718eac97833633cd664e4c9",{"version":"a9544f6f8af0d046565e8dde585502698ebc99eef28b715bad7c2bded62e4a32","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"8b809082dfeffc8cc4f3b9c59f55c0ff52ba12f5ae0766cb5c35deee83b8552e","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","d4f9d3ae2fe1ae199e1c832cca2c44f45e0b305dfa2808afdd51249b6f4a5163","7525257b4aa35efc7a1bbc00f205a9a96c4e4ab791da90db41b77938c4e0c18e","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"9c611eff81287837680c1f4496daf9e737d6f3a1ff17752207814b8f8e1265af","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","b5d4e3e524f2eead4519c8e819eaf7fa44a27c22418eff1b7b2d0ebc5fdc510d","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","9bd8e5984676cf28ebffcc65620b4ab5cb38ab2ec0aac0825df8568856895653","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","5e8dc64e7e68b2b3ea52ed685cf85239e0d5fb9df31aabc94370c6bc7e19077b",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"46755a4afc53df75f0bfce72259fb971daac826b0cdd8c4eaccad2755a817403","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7fa32887f8a97909fca35ebba3740f8caf8df146618d8fff957a3f89f67a2f6a","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","21c56c6e8eeacef15f63f373a29fab6a2b36e4705be7a528aae8c51469e2737b",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","9e951ec338c4232d611552a1be7b4ecec79a8c2307a893ce39701316fe2374bd","70c61ff569aabdf2b36220da6c06caaa27e45cd7acac81a1966ab4ee2eadc4f2","905c3e8f7ddaa6c391b60c05b2f4c3931d7127ad717a080359db3df510b7bdab","6c1e688f95fcaf53b1e41c0fdadf2c1cfc96fa924eaf7f9fdb60f96deb0a4986","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","6d969939c4a63f70f2aa49e88da6f64b655c8e6799612807bef41ccff6ea0da9","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e",{"version":"46894b2a21a60f8449ca6b2b7223b7179bba846a61b1434bed77b34b2902c306","affectsGlobalScope":true},"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","6d727c1f6a7122c04e4f7c164c5e6f460c21ada618856894cdaa6ac25e95f38c","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","c6c4fea9acc55d5e38ff2b70d57ab0b5cdbd08f8bc5d7a226e322cea128c5b57","9ad8802fd8850d22277c08f5653e69e551a2e003a376ce0afb3fe28474b51d65","fdfbe321c556c39a2ecf791d537b999591d0849e971dd938d88f460fea0186f6","105b9a2234dcb06ae922f2cd8297201136d416503ff7d16c72bfc8791e9895c1"],"root":[261,[266,270],311,312],"options":{"allowImportingTsExtensions":true,"composite":true,"declaration":true,"declarationDir":"../../dts","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":200,"noImplicitAny":true,"noImplicitThis":true,"rootDir":"../..","skipLibCheck":true,"strictBindCallApply":true,"target":99},"fileIdsList":[[215,223,237],[175],[175,176,217,222,225,226,237],[175,225,237],[175,218,237],[218,219,220,221],[175,218],[242],[175,176,237,239],[215,216,224,237],[175,225,227,237,238,240,241,259],[175,226,237],[175,222,223,237],[176,238],[175,226],[208,215,225,226,227,236,239],[174,208,237,259],[149,174,208,222,242,245,246,247,248,252,254,255,256,258],[175,237,242,257],[175,208,242],[149,175,242,253,259],[175,242,253,259],[149,174,244],[149,175,236,242],[149,175,242,243,245],[149,245],[149,228,235],[149],[211],[209,210,211,212,213,214],[149,174],[259],[179,189,201,207],[206],[177,180,181,182],[183,185,186,187,188,189,201,202,207],[190,192,201],[177,179,182,191,192,197,201,202,207],[185,199,201,207],[177,179,182,184,191,192,196,201,202],[177,191,201],[177,179,184,192,198,201,202,207],[177,179,182,183,185,195,201,202],[177,178,179,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,199,200,201,202,203,204,205,207],[177,184,185,201],[177,178,179,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,199,201,202,207],[177,178,179,182,183,189,192,193,194,201,207],[177,178,179,182,193,207],[178],[177,182,195,200,207],[177,184,195],[177,182,195,201],[177,184,195,201],[249,250],[149,249,251],[208],[149,151,152,169],[149,151,169,174],[149,151],[149,151,152,155,169,171,172,173],[149,169],[149,155,169,170],[169],[149,169,170],[149,151,152,155,156,157,158,159,160,161,162,163,164,165,166,168,170,171,174],[149,153,169],[149,151,169],[149,150,152,169,174],[149,153,154,174],[149,155,174],[105],[105,106,107,108,109,110,111,112,113],[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,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],[114,149],[416],[232,234],[233],[230,232],[229,230,231],[229,232],[316,318],[315,316,317],[370,371,408,409],[411],[412],[418,421],[357,408,414,420],[415,419],[417],[321],[357],[358,363,392],[359,370,371,378,389,400],[359,360,370,378],[361,401],[362,363,371,379],[363,389,397],[364,366,370,378],[357,365],[366,367],[370],[368,370],[357,370],[370,371,372,389,400],[370,371,372,385,389,392],[355,358,405],[366,370,373,378,389,400],[370,371,373,374,378,389,397,400],[373,375,389,397,400],[321,322,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407],[370,376],[377,400,405],[366,370,378,389],[379],[380],[357,381],[382,399,405],[383],[384],[370,385,386],[385,387,401,403],[358,370,389,390,391,392],[358,389,391],[389,390],[392],[393],[357,389],[370,395,396],[395,396],[363,378,389,397],[398],[378,399],[358,373,384,400],[363,401],[389,402],[377,403],[404],[358,363,370,372,381,389,400,403,405],[389,406],[271,310],[271,295,310],[310],[271],[271,296,310],[271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309],[296,310],[429],[418],[332,336,400],[332,389,400],[327],[329,332,397,400],[378,397],[408],[327,408],[329,332,378,400],[324,325,328,331,358,370,389,400],[324,330],[328,332,358,392,400,408],[358,408],[348,358,408],[326,327,408],[332],[326,327,328,329,330,331,332,333,334,336,337,338,339,340,341,342,343,344,345,346,347,349,350,351,352,353,354],[332,339,340],[330,332,340,341],[331],[324,327,332],[332,336,340,341],[336],[330,332,335,400],[324,329,330,332,336,339],[358,389],[327,332,348,358,405,408],[210],[259,260],[196,259,260,262,267,268],[259,261],[174,259,260,262,263,264,265,266],[259,261,266,267,268,269,270,310],[174,259],[149,155],[149,167,169]],"referencedMap":[[224,1],[216,2],[223,3],[226,4],[220,5],[222,6],[219,7],[221,2],[218,8],[240,9],[225,10],[242,11],[227,12],[241,13],[239,14],[217,15],[237,16],[238,17],[259,18],[258,19],[257,20],[256,21],[255,22],[254,22],[245,23],[253,24],[244,25],[246,26],[236,27],[265,28],[213,29],[214,29],[215,30],[212,29],[263,31],[264,28],[260,32],[262,31],[208,33],[207,34],[182,35],[190,36],[193,37],[198,38],[202,39],[197,40],[192,41],[199,42],[191,43],[206,44],[203,45],[204,46],[200,46],[205,45],[195,47],[183,48],[179,49],[201,50],[187,51],[186,52],[185,53],[251,54],[250,28],[252,55],[249,56],[173,57],[170,58],[152,59],[174,60],[156,61],[165,61],[171,62],[160,61],[159,63],[164,64],[169,65],[157,61],[161,61],[167,66],[153,28],[163,67],[162,63],[158,61],[150,67],[151,68],[155,69],[172,70],[74,28],[75,28],[77,28],[76,28],[79,28],[81,28],[73,28],[78,28],[83,28],[84,28],[85,28],[82,28],[86,28],[87,28],[88,28],[89,28],[90,28],[92,28],[91,28],[93,28],[94,28],[96,28],[98,28],[99,28],[100,28],[102,28],[103,28],[104,28],[106,71],[114,72],[105,28],[149,73],[115,28],[120,28],[116,28],[117,28],[118,28],[119,28],[121,28],[122,28],[124,28],[123,28],[125,28],[126,28],[145,28],[146,28],[128,28],[129,28],[130,28],[131,28],[132,28],[133,28],[134,28],[136,28],[137,28],[138,28],[139,28],[142,28],[143,28],[144,74],[417,75],[235,76],[234,77],[231,78],[232,79],[230,80],[319,81],[318,82],[410,83],[412,84],[413,85],[423,86],[421,87],[420,88],[422,89],[321,90],[322,90],[357,91],[358,92],[359,93],[360,94],[361,95],[362,96],[363,97],[364,98],[365,99],[366,100],[367,100],[369,101],[368,102],[370,103],[371,104],[372,105],[356,106],[373,107],[374,108],[375,109],[408,110],[376,111],[377,112],[378,113],[379,114],[380,115],[381,116],[382,117],[383,118],[384,119],[385,120],[386,120],[387,121],[389,122],[391,123],[390,124],[392,125],[393,126],[394,127],[395,128],[396,129],[397,130],[398,131],[399,132],[400,133],[401,134],[402,135],[403,136],[404,137],[405,138],[406,139],[295,140],[296,141],[271,142],[274,142],[293,140],[294,140],[284,140],[283,143],[281,140],[276,140],[289,140],[287,140],[291,140],[275,140],[288,140],[292,140],[277,140],[278,140],[290,140],[272,140],[279,140],[280,140],[282,140],[286,140],[297,144],[285,140],[273,140],[310,145],[304,144],[306,146],[305,144],[298,144],[299,144],[301,144],[303,144],[307,146],[308,146],[300,146],[302,146],[430,147],[419,148],[418,89],[339,149],[346,150],[338,149],[353,151],[330,152],[329,153],[352,154],[347,155],[350,156],[332,157],[331,158],[327,159],[326,160],[349,161],[328,162],[333,163],[337,163],[355,164],[354,163],[341,165],[342,166],[344,167],[340,168],[343,169],[348,154],[335,170],[336,171],[345,172],[325,173],[351,174],[211,175],[261,176],[269,177],[270,178],[267,179],[311,180],[268,181],[266,32],[154,182],[166,61],[168,183]],"latestChangedDtsFile":"../../dts/packages/babel-helper-create-class-features-plugin/src/index.d.ts"},"version":"5.5.3"}
\ No newline at end of file +{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.string.d.ts","../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../node_modules/typescript/lib/lib.esnext.regexp.d.ts","../../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../dts/packages/babel-types/src/validators/react/isCompatTag.d.ts","../../dts/packages/babel-types/src/builders/react/buildChildren.d.ts","../../dts/packages/babel-types/src/asserts/assertNode.d.ts","../../dts/packages/babel-types/src/asserts/generated/index.d.ts","../../dts/packages/babel-types/src/builders/flow/createTypeAnnotationBasedOnTypeof.d.ts","../../dts/packages/babel-types/src/builders/flow/createFlowUnionType.d.ts","../../dts/packages/babel-types/src/builders/typescript/createTSUnionType.d.ts","../../dts/packages/babel-types/src/builders/generated/index.d.ts","../babel-types/src/builders/generated/uppercase.d.ts","../../dts/packages/babel-types/src/builders/productions.d.ts","../../dts/packages/babel-types/src/clone/cloneNode.d.ts","../../dts/packages/babel-types/src/clone/clone.d.ts","../../dts/packages/babel-types/src/clone/cloneDeep.d.ts","../../dts/packages/babel-types/src/clone/cloneDeepWithoutLoc.d.ts","../../dts/packages/babel-types/src/clone/cloneWithoutLoc.d.ts","../../dts/packages/babel-types/src/comments/addComment.d.ts","../../dts/packages/babel-types/src/comments/addComments.d.ts","../../dts/packages/babel-types/src/comments/inheritInnerComments.d.ts","../../dts/packages/babel-types/src/comments/inheritLeadingComments.d.ts","../../dts/packages/babel-types/src/comments/inheritsComments.d.ts","../../dts/packages/babel-types/src/comments/inheritTrailingComments.d.ts","../../dts/packages/babel-types/src/comments/removeComments.d.ts","../../dts/packages/babel-types/src/constants/generated/index.d.ts","../../dts/packages/babel-types/src/constants/index.d.ts","../../dts/packages/babel-types/src/converters/ensureBlock.d.ts","../../dts/packages/babel-types/src/converters/toBindingIdentifierName.d.ts","../../dts/packages/babel-types/src/converters/toBlock.d.ts","../../dts/packages/babel-types/src/converters/toComputedKey.d.ts","../../dts/packages/babel-types/src/converters/toExpression.d.ts","../../dts/packages/babel-types/src/converters/toIdentifier.d.ts","../../dts/packages/babel-types/src/converters/toKeyAlias.d.ts","../../dts/packages/babel-types/src/converters/toStatement.d.ts","../../dts/packages/babel-types/src/converters/valueToNode.d.ts","../../dts/packages/babel-types/src/definitions/utils.d.ts","../../dts/packages/babel-types/src/definitions/core.d.ts","../../dts/packages/babel-types/src/definitions/flow.d.ts","../../dts/packages/babel-types/src/definitions/jsx.d.ts","../../dts/packages/babel-types/src/definitions/misc.d.ts","../../dts/packages/babel-types/src/definitions/experimental.d.ts","../../dts/packages/babel-types/src/definitions/typescript.d.ts","../../dts/packages/babel-types/src/definitions/placeholders.d.ts","../../dts/packages/babel-types/src/definitions/deprecated-aliases.d.ts","../../dts/packages/babel-types/src/definitions/index.d.ts","../../dts/packages/babel-types/src/modifications/appendToMemberExpression.d.ts","../../dts/packages/babel-types/src/modifications/inherits.d.ts","../../dts/packages/babel-types/src/modifications/prependToMemberExpression.d.ts","../../dts/packages/babel-types/src/modifications/removeProperties.d.ts","../../dts/packages/babel-types/src/modifications/removePropertiesDeep.d.ts","../../dts/packages/babel-types/src/modifications/flow/removeTypeDuplicates.d.ts","../../dts/packages/babel-types/src/retrievers/getAssignmentIdentifiers.d.ts","../../dts/packages/babel-types/src/retrievers/getBindingIdentifiers.d.ts","../../dts/packages/babel-types/src/retrievers/getOuterBindingIdentifiers.d.ts","../../dts/packages/babel-types/src/retrievers/getFunctionName.d.ts","../../dts/packages/babel-types/src/traverse/traverse.d.ts","../../dts/packages/babel-types/src/traverse/traverseFast.d.ts","../../dts/packages/babel-types/src/utils/shallowEqual.d.ts","../../dts/packages/babel-types/src/validators/is.d.ts","../../dts/packages/babel-types/src/validators/isBinding.d.ts","../../dts/packages/babel-types/src/validators/isBlockScoped.d.ts","../../dts/packages/babel-types/src/validators/isImmutable.d.ts","../../dts/packages/babel-types/src/validators/isLet.d.ts","../../dts/packages/babel-types/src/validators/isNode.d.ts","../../dts/packages/babel-types/src/validators/isNodesEquivalent.d.ts","../../dts/packages/babel-types/src/validators/isPlaceholderType.d.ts","../../dts/packages/babel-types/src/validators/isReferenced.d.ts","../../dts/packages/babel-types/src/validators/isScope.d.ts","../../dts/packages/babel-types/src/validators/isSpecifierDefault.d.ts","../../dts/packages/babel-types/src/validators/isType.d.ts","../../dts/packages/babel-types/src/validators/isValidES3Identifier.d.ts","../../dts/packages/babel-types/src/validators/isValidIdentifier.d.ts","../../dts/packages/babel-types/src/validators/isVar.d.ts","../../dts/packages/babel-types/src/validators/matchesPattern.d.ts","../../dts/packages/babel-types/src/validators/validate.d.ts","../../dts/packages/babel-types/src/validators/buildMatchMemberExpression.d.ts","../../dts/packages/babel-types/src/validators/generated/index.d.ts","../../dts/packages/babel-types/src/ast-types/generated/index.d.ts","../../dts/packages/babel-types/src/utils/deprecationWarning.d.ts","../../dts/packages/babel-types/src/index.d.ts","../../dts/packages/babel-traverse/src/scope/binding.d.ts","../../dts/packages/babel-traverse/src/scope/index.d.ts","../../dts/packages/babel-traverse/src/hub.d.ts","../../dts/packages/babel-traverse/src/path/lib/virtual-types.d.ts","../babel-traverse/src/generated/visitor-types.d.ts","../../dts/packages/babel-traverse/src/types.d.ts","../../dts/packages/babel-traverse/src/path/ancestry.d.ts","../../dts/packages/babel-traverse/src/path/inference/index.d.ts","../../dts/packages/babel-traverse/src/path/replacement.d.ts","../../dts/packages/babel-traverse/src/path/evaluation.d.ts","../../dts/packages/babel-traverse/src/path/conversion.d.ts","../../dts/packages/babel-traverse/src/path/introspection.d.ts","../../dts/packages/babel-traverse/src/path/removal.d.ts","../../dts/packages/babel-traverse/src/path/modification.d.ts","../../dts/packages/babel-traverse/src/path/family.d.ts","../../dts/packages/babel-traverse/src/path/comments.d.ts","../babel-traverse/src/path/generated/asserts.d.ts","../../dts/packages/babel-traverse/src/path/lib/virtual-types-validator.d.ts","../babel-traverse/src/path/generated/validators.d.ts","../../dts/packages/babel-traverse/src/path/index.d.ts","../../dts/packages/babel-traverse/src/context.d.ts","../../dts/packages/babel-traverse/src/path/context.d.ts","../../dts/packages/babel-traverse/src/visitors.d.ts","../../dts/packages/babel-traverse/src/cache.d.ts","../../dts/packages/babel-traverse/src/index.d.ts","../../node_modules/@types/gensync/index.d.ts","../../dts/packages/babel-core/src/config/helpers/deep-array.d.ts","../../dts/packages/babel-parser/src/util/location.d.ts","../../dts/packages/babel-parser/src/tokenizer/context.d.ts","../../dts/packages/babel-parser/src/tokenizer/types.d.ts","../../dts/packages/babel-parser/src/parse-error/standard-errors.d.ts","../../dts/packages/babel-parser/src/parse-error/pipeline-operator-errors.d.ts","../../dts/packages/babel-parser/src/parse-error.d.ts","../../dts/packages/babel-parser/src/tokenizer/state.d.ts","../../dts/packages/babel-parser/src/util/scopeflags.d.ts","../../dts/packages/babel-parser/src/util/scope.d.ts","../../dts/packages/babel-parser/src/util/expression-scope.d.ts","../../dts/packages/babel-parser/src/util/class-scope.d.ts","../../dts/packages/babel-parser/src/util/production-parameter.d.ts","../babel-parser/src/typings.d.ts","../../dts/packages/babel-parser/src/parser/base.d.ts","../../dts/packages/babel-parser/src/parser/util.d.ts","../../dts/packages/babel-parser/src/parser/node.d.ts","../../dts/packages/babel-parser/src/parser/comments.d.ts","../../dts/packages/babel-helper-string-parser/src/index.d.ts","../../dts/packages/babel-parser/src/tokenizer/index.d.ts","../../node_modules/@types/charcodes/index.d.ts","../../dts/packages/babel-parser/src/parser/lval.d.ts","../../dts/packages/babel-parser/src/parser/expression.d.ts","../../dts/packages/babel-parser/src/parser/statement.d.ts","../../dts/packages/babel-parser/src/plugins/placeholders.d.ts","../../dts/packages/babel-parser/src/types.d.ts","../../dts/packages/babel-parser/src/parser/index.d.ts","../../dts/packages/babel-parser/src/plugins/flow/scope.d.ts","../../dts/packages/babel-parser/src/plugins/jsx/index.d.ts","../../dts/packages/babel-parser/src/plugins/typescript/scope.d.ts","../../dts/packages/babel-parser/src/plugin-utils.d.ts","../../dts/packages/babel-parser/src/options.d.ts","../../dts/packages/babel-parser/src/index.d.ts","../../dts/packages/babel-helper-compilation-targets/src/options.d.ts","../../dts/packages/babel-helper-compilation-targets/src/targets.d.ts","../babel-helper-compilation-targets/src/types.d.ts","../../dts/packages/babel-helper-compilation-targets/src/pretty.d.ts","../../dts/packages/babel-helper-compilation-targets/src/debug.d.ts","../../dts/packages/babel-helper-compilation-targets/src/filter-items.d.ts","../../dts/packages/babel-helper-compilation-targets/src/index.d.ts","../../dts/packages/babel-core/src/config/caching.d.ts","../../dts/packages/babel-core/src/config/printer.d.ts","../../dts/packages/babel-core/src/config/files/types.d.ts","../../dts/packages/babel-core/src/config/files/package.d.ts","../../dts/packages/babel-core/src/config/files/configuration.d.ts","../../dts/packages/babel-core/src/config/files/plugins.d.ts","../../dts/packages/babel-core/src/config/files/index.d.ts","../../dts/packages/babel-core/src/config/config-chain.d.ts","../../dts/packages/babel-core/src/config/cache-contexts.d.ts","../../dts/packages/babel-core/src/config/helpers/config-api.d.ts","../../dts/packages/babel-core/src/config/config-descriptors.d.ts","../../dts/packages/babel-core/src/config/item.d.ts","../../node_modules/@types/jsesc/index.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts","../../node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts","../../node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts","../../node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts","../../node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts","../../dts/packages/babel-generator/src/index.d.ts","../../dts/packages/babel-core/src/config/validation/options.d.ts","../../dts/packages/babel-core/src/config/validation/plugins.d.ts","../../dts/packages/babel-core/src/config/plugin.d.ts","../../dts/packages/babel-core/src/config/full.d.ts","../../dts/packages/babel-core/src/config/partial.d.ts","../../dts/packages/babel-core/src/config/index.d.ts","../../node_modules/@types/convert-source-map/index.d.ts","../../dts/packages/babel-core/src/transformation/normalize-file.d.ts","../../dts/packages/babel-core/src/transformation/file/file.d.ts","../../dts/packages/babel-core/src/transformation/plugin-pass.d.ts","../../dts/packages/babel-core/src/tools/build-external-helpers.d.ts","../../dts/packages/babel-core/src/config/helpers/environment.d.ts","../../dts/packages/babel-template/src/options.d.ts","../../dts/packages/babel-template/src/formatters.d.ts","../../dts/packages/babel-template/src/builder.d.ts","../../dts/packages/babel-template/src/index.d.ts","../../dts/packages/babel-core/src/transformation/index.d.ts","../../dts/packages/babel-core/src/transform.d.ts","../../dts/packages/babel-core/src/transform-file.d.ts","../../dts/packages/babel-core/src/transform-ast.d.ts","../../dts/packages/babel-core/src/parser/index.d.ts","../../dts/packages/babel-core/src/parse.d.ts","../../dts/packages/babel-core/src/index.d.ts","../../dts/packages/babel-helper-replace-supers/src/index.d.ts","./src/decorators-2018-09.ts","../../dts/packages/babel-helper-skip-transparent-expression-wrappers/src/index.d.ts","../../dts/packages/babel-helper-member-expression-to-functions/src/index.d.ts","../../dts/packages/babel-helper-optimise-call-expression/src/index.d.ts","../../dts/packages/babel-helper-annotate-as-pure/src/index.d.ts","./src/typescript.ts","./src/fields.ts","./src/misc.ts","./src/decorators.ts","./src/features.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","./src/index.ts","../../lib/globals.d.ts","../../node_modules/@types/color-name/index.d.ts","../../node_modules/@types/debug/index.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/eslint/index.d.ts","../../node_modules/@types/eslint-scope/index.d.ts","../../node_modules/@types/fs-readdir-recursive/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/sqlite.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@types/jest/node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/@types/jest/node_modules/chalk/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/@jest/schemas/build/index.d.ts","../../node_modules/jest-diff/node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/@types/jest/node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/@types/jest/node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/lru-cache/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/v8flags/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileIdsList":[[216,224,238],[176],[176,177,218,223,226,227,238],[176,226,238],[176,219,238],[219,220,221,222],[176,219],[243],[176,177,238,240,260],[216,217,225,238],[176,226,228,238,239,241,242,243,260],[176,227,238],[176,223,224,238],[177,239],[176,227],[209,216,226,227,228,237,240],[175,209,238,260],[150,175,209,223,243,246,247,248,249,253,255,256,257,259],[176,238,243,258],[176,209,243],[150,176,243,254,260],[176,243,254,260],[150,175,245],[150,176,237,243],[150,176,243,244,246],[150,246],[150,229,236],[150],[212],[210,211,212,213,214,215],[150,175],[260],[180,190,202,208],[207],[178,181,182,183],[184,186,187,188,189,190,202,203,208],[191,193,202],[178,180,183,192,193,198,202,203,208],[186,200,202,208],[178,180,183,185,192,193,197,202,203],[178,192,202],[178,180,185,193,199,202,203,208],[178,180,183,184,186,196,202,203],[178,179,180,183,184,185,186,187,188,189,190,192,193,194,195,196,197,198,200,201,202,203,204,205,206,208],[178,185,186,202],[178,179,180,183,184,185,186,187,188,189,190,192,193,194,195,196,197,198,200,202,203,208],[178,179,180,183,184,190,193,194,195,202,208],[178,179,180,183,194,208],[179],[178,183,196,201,208],[178,185,196],[178,183,196,202],[178,185,196,202],[250,251],[150,250,252],[209],[150,152,153,170],[150,152,170,175],[150,152],[150,152,153,156,170,172,173,174],[150,170],[150,156,170,171],[170],[150,170,171],[150,152,153,156,157,158,159,160,161,162,163,164,165,166,167,169,171,172,175],[150,154,170],[150,152,170],[150,151,170],[150,154,155,175],[150,156,175],[106,150],[106,107,108,109,110,111,112,113,114],[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,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],[115,150],[423],[233,235],[234],[231,233],[230,231,232],[230,233],[317,319],[316,317,318],[376,377,415,416],[418],[419],[425,428],[363,415,421,427],[422,426],[424],[322],[363],[364,369,399],[365,370,376,377,384,396,407],[365,366,376,384],[367,408],[368,369,377,385],[369,396,404],[370,372,376,384],[363,371],[372,373],[376],[374,376],[363,376],[376,377,378,396,407],[376,377,378,391,396,399],[361,412],[361,372,376,379,384,396,407],[376,377,379,380,384,396,404,407],[379,381,396,404,407],[322,323,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414],[376,382],[383,407,412],[372,376,384,396],[385],[386],[363,387],[322,323,363,364,365,366,367,368,369,370,371,372,373,374,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413],[389],[390],[376,391,392],[391,393,408,410],[364,376,396,397,398,399],[364,396,398],[396,397],[399],[400],[322,396],[376,402,403],[402,403],[369,384,396,404],[405],[384,406],[364,379,390,407],[369,408],[396,409],[383,410],[411],[364,369,376,378,387,396,407,410,412],[396,413],[272,311],[272,296,311],[311],[272],[272,297,311],[272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310],[297,311],[437],[425],[333,337,407],[333,396,407],[328],[330,333,404,407],[384,404],[415],[328,415],[330,333,384,407],[325,326,329,332,364,376,396,407],[333,340],[325,331],[333,354,355],[329,333,364,399,407,415],[364,415],[354,364,415],[327,328,415],[333],[327,328,329,330,331,332,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,355,356,357,358,359,360],[333,348],[333,340,341],[331,333,341,342],[332],[325,328,333],[333,337,341,342],[337],[331,333,336,407],[325,330,333,340],[364,396],[328,333,354,364,412,415],[211],[260,261],[197,260,261,263,268,269],[260,262],[175,260,261,263,264,265,266,267],[260,262,267,268,269,270,271,311],[175,260],[150,156],[150,168,170]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"abee51ebffafd50c07d76be5848a34abfe4d791b5745ef1e5648718722fab924","impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"15c1c3d7b2e46e0025417ed6d5f03f419e57e6751f87925ca19dc88297053fe6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d540251809289a05349b70ab5f4b7b99f922af66ab3c39ba56a475dcf95d5ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b11f3ca66aa33124202c80b70cd203219c3d4460cfc165e0707aa9ec710fc53","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a3f5a0129cc80cf439ab71164334d649b47059a4f5afca90282362407d0c87f","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"61d6a2092f48af66dbfb220e31eea8b10bc02b6932d6e529005fd2d7b3281290","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},"b360236d3b226a56126f9f071d68fccd10eba34e4b6831efc39e8a3277380523","a73bd08ca8f85d9c1f0307ae7abb246e38cb618f452e15fd3612464e846665b0","9b1b103c34f4c56ab0c40c87a85ffd36002295d8fbe17b493509e63a383f5814","e4a023723ff5cfdc22880b572dd15876d0bc4bb4f2a555d71d226a2578786ad3","3aa0ae0c3636319f9bc6e5c2a4bd484f9b2b4e78623b33131056a95fb59c954c","dc25e664429b44c379d4d3cf988b2cce06116ae94f5c6f1a0cf73245b4282a93","e59daf03ff2d76dee4726e48556aba1d105fd1c7a7a9cbf3e74ec4a1f91a6bea","6c659a290add744a16bc6627846d9aa600463c7c1024d7253663ec18aa783628","a0fbfc839fefc3d41a12c5a8631e6543135ff18fd516cd06c5a09f84cb81578c","9ce376fdbe50ed84260f0dc45cc1f242916f2c0c91da6464df63df0ba2baae7c","c3e41c24eb14414b6995d4bbac99d16ce2e609282c9b53d1333b7b423e0f7d02","b555d22a622ea0565d08a340e5c19f6f439f40d4451a2f13fe6a33a39b3d761c","9f29212a64599c6c5563b78746bf85f709d5437f18dac77502a53af63dadb850","6b714d7db731bb6da813dfa3d88ded4ce0bc9b627464e86315468e1be9adadff","5ebd0c7b976b7cbe390e381d27ec9dc5adde1a02cf9ecfb2a7caed7a822a5cae","4171247c72f90ac86a3cd3cdb0f372214a556aa8b94aa92b28bf6d21dad5f7ee","b8b9aae5a37c0d3dec11813d992b893ed55a080289466ade6c1bc47e3987f53a","eb69d4cd5875c471c0dd30988bf8a4816f9b8fab1e71a8c39096e483411faa00","48225779dd7b1b7b384389e325ed6aa271a6745239d8193c2fc161cacbf3dac5","c6fd0f9d777f11f972b4decc52beeeae6aad9f2aa949184e8f9984a5c36e4448","3f4487628af3e52556d6f33151740876b29a5355b8a5ccf8e56d1b3ae7cbcc0e","2b4ca439136421892cc80ebf6f6ea641a0306e58bd12ed61ae7f20becb2ee15f","d765a1a0f109522a082c9b8de1f6c0364463e972ece981b0f504fa611187956a","ce8fe0d07c32e6786203b5a3b93468afc6b1fcf57481dc9673e16fb119312c19","dfa94dabc1567d2b882222947f5c181adc89a3af5b6a2b730b1c3b85d4cfe48f","c33fa94c2e88d70a2e98a33474d3cf477d959477236323a748f638b3ca1e2af0","058e39e6fe02e97ddc18b2952a67d0dfb71f1f60f86405480fec569b602f5284","8c5dbef5fc0eb113d94132a5ba440d75e33eb85e9497a1f7e3bdb29a3fcd3469","0d9808e1f0d2bd4c45462c7e2f20c0cf08b700c6964e7eda5e10d1f6b707deb8","9f3f8ff5d06c5d5583e891d3bb98489d58e358e49bda2827f3f7819cdb632ad0","6978b8fc2f45108c4bc2788bd7053f2917d7efa28f74ddf52182dc9ab59d03cf","e127a8fb319d5978d73d966a5a68b85915848f8f96267fff2f0dbe9bc92373e9","77adbafe67e2bf42d578d82d2fb994530cce5b9eaa28a2a5b24aca70a008c3d9","c2c806fb1ab5a7003fd76d3fd1a131d10e1ab0974ec0390f251ccda76d326231","159b9e1cf7da7202f3a5b0468561ca18d11735f56e3cd9947b5390e68a75cb52","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","513e4a7dd68f60782a39d5ae4ce6f0a19ccc4c51808b359560ad1f689f0ce93d","519157309e4f7c98b6067933db2a849961eaa0e5dec4a2ce5d2fc92ace85dcfd","c5f8672c8c39b8f9251a57fc2dab217ce20ac4a9d71c0a498b733cb922ff5e4e","82590ca2dfa968af29be579c534733406fd9c5c4a726213eef9f2308cbb04d23","e88043fb3ae0a6e33be31d45927494ed42c3263bfb318b024b9dab027f09dc2d","3f7e6d7b1d7155d68b5ec0f8e021f10075c785b29171d1d520d0b9b0dd617aa0","7571f6e856945cea6771a2985e008daff8785c6632f9dc1dc9f24f795f84444d","2ff5e66c8448d86302ef11ceeb27cbbd43d3af41aba05c2fc3a48cd0f1d8627f","a73d8151dd40ff705eebd2989e703ba14874574f5fe4f195babe74b6ef93ac59","e872f192c494d687561196b8ce88a06d80b2128b0c28b3bd919a7d663c22cc18","1a910bff4e17d0f855bd00ef0dadc3ad8e7656499c099d19603f8bb0dbe8853e","23996dceac72973064c9643fff1ca0cf585b642d715c56ed3512703f2b280c5e","14cba8dd2c615df75bef2f670ec26fbe86157eb03a55ba5dfbe8ad46253c3b5e","95a1a8e1e7777214b2d970c3426819e976abf9120f2824b571e0ae51d1dd465b","3b6aafb284a9943503546844726c7ecea9ae91fc46f1d8e8cbe233f6d8b16a30","e1bb914c06cc75205fae8713e349dff14bdfd2d36c784d0d2f2b7b5d37e035e0","a5e89e63c809c01f8e8175c9d63da68ce734ddf15b7efd98b1eb262d8e4d05ec","466c63574f0654a81f7d760ccb32570f642b6b46e83b6fdc288c2e52bcef287c","c6526b7ad3213f40e40d617f0a150c8a9dcf0e8f868594ef4aa060b994fd11ce","b5e0565b7ca3ba4c129ed4e1788d4dc1bb30dcdeb14a37df1071c3881507e295","08cdf95dfc59101c1e7c23865951151455ee7f77f1bf7e257034aae8ba332972","4924f889957ee69dfd66643c7e60a5feee526c18b16d10985804c669fe1b6ce4","2c95044092cad1398b593b47290306d73513d163c61e85ebbc39715af4b15578","66612e3b3315adf8702a39830ad8690d6f4293f89193737c604f4b44a51e42ad","1d3f6521348f5d591d4da3408457a553274b024c79ecde88054361040967c211","03a629914760ae9bb64a05e72ad0f4e6aeefb1e7c7b6ae3d7836bb46f69ae23e","95017b0f25bb3cd6782853c14303c20b5099b866ef1491c57fc436add8183f14","989f035cd0c3acf51639b2ff4fb3cb8ccce3d7ef0103a1d32ca5e5f1cfd19387","9dfbdb5529d2be1c9e77112f7e0e20fba7518865f31501b9aa09c3965ee91f6a","9ba02d6560cc8cf8063172ba05b5368a24fb236a97c1c852665372be78143592","cafadd60cda0c63471975430893f7c0ac981f268ec719f08f131e41d8404c4db","6a7a221f94f9547a86feaa3c2ce81b8556c71ffb12057a43c54fc975bca83cde","c2322dd8a6ebf72e6114dea199b58edc03814edebae9c29f5f6b39efde3c94fb","e34a316302189537858d6d20d5d77d8f0351ed977da8947a401ad9986cdf147f","243665975c1af5dc7b51b10f52e76d3cb8b7676ccc23a6503977526d94b3cdde","f3fde2e60bedf94b1972ddb07d65f4d49370a1def38dfe786808a7924650ddaa","bfe8f5184c00e9c24f8bb40ec929097b2cafc50cc968bc1604501cb6c4a1440c","7b488581d44b9a7bde2131536376fa946cbb3a1b0096427738d5b946a76ca794","1079472c5e1f65ce739fb777054e2f539e9b50a97b438c0d6e56c4ee23be8bff","08201807453eb05a6ae0494a4346a4e775cd6b18e1d297aa0147a0da4eb6a6bb","c67208e9da4af7a50bfb75d07691326052d6ed8f3b577ece8b02cd425c9d632f","f31ab9295985d01c5837c9bdc422643f6f73293cfd103738774b7cfb340566cc","99392e1e600259c50f21f691f136a4ecbee42839dbb9523384f09645c8756503","5c5d100793c0fb9b34076189904df18f3321e82cadf6f69815926104029c215b","8dec4b9028cc8905caa6b52a395786d7f49a10d61f6be869b59ae007dc5e0cdf","f952c9c19048db8b25e3fa8e48e2213c18d3fdbef6ac168e9fae6632ed58245f","63612545667f1b69fade90ce43da7802e6affc4a0620a88d0a1d5a714d9e1e9f","866c1b69a53d80383cb5eef0ce2760ad8d028c771fa45776426a583c56a23746","c51dc97847938ca3786408a68750dc9487f162ce90d2164a4cc1a9c88ae93eca","21e59c9d2b6105929ba1a83b14e54a338fb4553ccb011b0cad62a749e30a440a","00222577eecd6c1fc72150006351fc6e1b5bb3aaf78097e40ecac8b8343a7598","ad4f0fb9751f85bf9cc29185d4c7dfb0a692386fd5670815efad14f828b015a8","50f3da2fe7cdc461c6fcb1b38e8762847cc3d62146b1c1dbd62552c46d2b9187","e675dc45ca604b7a6fea16448050b34cf0fe86c2f9fa50f3911fb4153b42c186","d3e56e0f84e1d1843369533f50918cce5925129e99e9ca14c7cc35ad94b2a052","dfedb6704555de21c30e98a8decf8a6d31dde1d8403b9b95944a1d317379c7ae","7102463bc898ac4cfd90675e679cdd8e1a1b6f44702b280f9c99b93f206ae570","68bb7c7f1ece77aa8875dea013d984dd04def47da4790ad376b7482009bd91e1","4f9a4bb30bc97017c72a600c0161962d8f74488d1cd93669e4adbce7e611e0de","850452a01075d928b6b880a0c378c302daed87eb2ba58c833778c25b18b58456","dc298a2f1e69c0786df2f1e29294742862da898b213be334c36682098afea397","57e73f1c6da39bcf9429f52c39b6fc34eef11547fbb5a2be91836517ec746957","8e04fc4a0a97bd29f22ca6a024ad8f7c74af5ad683f07701a40153267399cb6a",{"version":"bde8c75c442f701f7c428265ecad3da98023b6152db9ca49552304fd19fdba38","impliedFormat":1},"81af40a2264a5a56f71b8c45ff1717b50c5f0c00dd091410b12dc970ee340120","b10974251ad16a97b357ec50f87455c4430e7f0790f7b399564c900e4ebf87f1","234123959236555e336e4efcd7aa203ac1d5370ee5d891dcfc5828d996b28f59","b59756cf12284e6136e042f322af2e22664e1fd46f713b1dd3abb1740719b732","62b65c635a282ea4855cd6a9b968527cbab364c38410ea432f63c5c591db9072","d31fbe2a651edb67d3950722299b098528292b517f6947d2d81ab913a41a2566","569de4401936201287d466c310a32432c2eef9c42524f5e31379e743dda71bf2","2cf4af5b2e64cfc639866ecc565edfe8da7dd3bd06c5ec93e491431d8b2cbb52","6131967512c4d205c32f126ef7415453f0c715bf53c7175d6deecb72d76a75b5","4e38f7bd172e7549c323610cfede12644c116581dfc4d751998d301eda9573e6","0d1adbde28307411dae5e1cc8cc316130653bfc6ad8feb4b59063f60efdfd693","d8288a8eb14187b0df133ce467216d61d9ffe838ae5930471f476a5c36141828","70ae92a852a67db5b841a7ee3e9d16df7c06320ab86dbf2d5dbd9d76f3c98faa","2b85e5b40b3a6e4d24f428a4269e15c0cc401a8e99de5ff5350d1fa5b2f4aca4","ead85b2d6cd6e6deb144a0995896c0ca7423820c66cc00e416e66733d2932985","5893d8b87ce06846556d2460e2eaf2aa8388f2179ed151d302ab7d711a75c7e4","6b4d9c91ed03e7afd40fa045042fcb7a6250b8dbe242154f3c4b948a99c74a9d","8b37c18f85644a1c666705bb5c233850cac84d8863c19870a8ed5f8d69c68800","186139eb9963554412f6fb33b35aabee1acdaa644b365de5c38fbd9123bdbe45","429e18739687877b761b4b6574a45a9e51111a6a71cd63711440cb0f9c602e87",{"version":"b7589677bd27b038f8aae8afeb030e554f1d5ff29dc4f45854e2cb7e5095d59a","impliedFormat":1},"cc7d78c8a3c938dff36a81aa5140a76a1cc9814ae2b46f3781d4b93cc35ee77d","da146bb88a054faf93d1db3386485644ec678b8d013eaccdd8a802a59580936e","431fa08179e6ec652924f1f0788e213db388b0dbebdbfd392477772c5f199573","513c39597c553277446d8f32e8042bccf085fadc1dbacffa037a03775571f1a2","1eca01d8232c4688b13ac4cf973ed77653ce903d4a3f7a5499b9404d62f4de0d","bf37ea47ebbf5d66dd7a26f59c08524608a3bd36b8736c5c4e3b22619d722695","e4aa4e8d3eb4c67b64962344ef3388a8cd607821ba619c9379b36316db65c9ac","4e33a0a6d4423ec7a0574a2b43102d5dd4ecefece7091d1e366d4b1f650c85c9","635ca94290fa45a56e53ffadd3b897a42650fd4ab0ddc241392e4dc729bf496b","4c9e7b1d3d5e0e5b57f856eed5183ce0925a6f8883354ef7fb1d0d650a7bcfd3","02519cdd247317de0bfdc78d88b5497d9747e1b9d1297283a0fea8ab3787f6ab","53989e09bc0b6b46a3c4597e5147a9b989f1f66f33ce7375b92d28139977e748","abae244b376437bfe2f0fdd1bd8925e2c235d10336ba08aec4330b800582ccbb","7da12c50edd45d08ae7f93183d0f88ab9753386ce060d1765926ffbe7c6491c2","1a8397f1c9125fc54db823eb6509221b841dd6f0c82a78997033a4a09fb1c86d","176d3525152384c3f7312b308c8af7b17690f8ec34e0788e6aaae548180f1941","6b34e6bdec80f7af4912497afb8455cd88ae1d6442d042c6663176b9927b69d4","41113f7f4529f81a16bae03c06bbd3c95146a4f7c8173ecafd6869fd1e97ed0b","b00080d73fa6224450bc9af7b92d7eea803e5ab99ec9960f602a4090f5db8151","378871d06cbd514fe945b69a7be3cabe210139a5b2b3917a306ef8102afdd5bd","3bf0df1a6a59b16d43f97efd5bddcb376a3a3d66ecbe92a4dd80a0f81be6a009","49bf06ea475ae5c78e69f7af3c7e09e00af57750aa1e37c120aaad92fd8a8ab2","f8fc87c8c6822986fa509a62a0caed5cbf05f3f84d82fbbdb01a9e94aebfb2ec","60c51e31434ccc777c3d67ccc96892dd7e634816fb9fa5dc86e15d72de96ab3d","42390c48e0e3c273692f9d24ba3271abcac757e7b55f69f7bb30ed80a0d19b1a","69815e9eb00baef2634457bcf4952f69062d764211914619c6922dfa7760f8d2","444399b4f2fead080a55b82f86bf653a072a9f117042edc9a0fa69366672b418","d6ab7f2b45d4aa62ad21199fbb3105151a9dd4830d138a3bb3eab1e76eef9e45","56827baba9ab2b370c919b1858068e11f10a73d80dca8cb2467d2d1446fab073","551cbc9796c3629084a987a84a1a0e9957fcfb6fdfe1ee807dfe56f5a11a4148","eded5d62b954b7937089cfb84926bb40d60b8bf0d4ef03bbe92cf08404afc808",{"version":"84a805c22a49922085dc337ca71ac0b85aad6d4dba6b01cee5bd5776ff54df39","impliedFormat":1},{"version":"971f12a5fc236419ced0b7b9f23a53c1758233713f565635bbf4b85e2b23f55a","impliedFormat":1},{"version":"9d670bb3be18ea59cea824e3bb07d576b55c9542f5bc24aacc2a3c1ebd889de6","impliedFormat":1},{"version":"695b586df2d8c78b78cdd7cc6943594f3f4bc52948f13b31cdedfa3ce8d97c31","impliedFormat":1},{"version":"0771a93ef5e3b2a29f929c20f7ad232829341a671c9d1e96e93ef3fc42ef7bc2","impliedFormat":1},{"version":"cadb68b67b80b14a9a5bb64cce3093168fb2bfe2c7b10096d230df5203218de1","impliedFormat":1},{"version":"0b3c75be13f930b46117e205d900ee9c4f2ad6c7317655bca5364958ba1e34f0","impliedFormat":1},{"version":"5af161220fdf46730477706e8c431ccbd1b4ff50223cb32450bc20513f50bfbd","impliedFormat":1},"be797449825edee1716d3e0c8d7ae53955b8944437cb4d0b4123a32778621228","71d94911cc9ba4e9f7d5764ba393e13fb026489a0c25a72b526eb165dd14be8e","83a3a4f21e36ee920e819ac865badd30bf258361e7a224d1fb134a5524f55a0f","a09c9ad7765dde81c65319b317af29e10f0a8e38f197c2e657ed7130d67c73dd","f062a59744d39de9b77706faecbc5ed6b82ca74823b257a44e1c018399b5b152","b70a09a7bc8aa880fef839ebc831f90db233a55269fbc5909b3eb5262bb84fcc","45616ce8d3a1cb5c0ec5ab90e4e277a10f8628e6a85fa12be0dec6c14e04be16",{"version":"13d94ac3ee5780f99988ae4cce0efd139598ca159553bc0100811eba74fc2351","impliedFormat":1},"48864a43f6c1032cb3fb5bfac020d4b2919791f49d8f31ff18f2dd3d4816005f","e9114172414f9836d9fab7346122951be30b66719d8277aa5f7a25580b9e21c7","5db896a650fb0c4ec892de19b7b98b92ccae9bb5a3e03731050f3db0d3183bd6","220c93cd694e27d77b91f874f31e92d7514aa808fd95768b64552693043d00b9","380543b1b41b88e3a6294b8419d5ed323c5da3a3051ab4a1d5677f525ee30698","269ee735294e8c328681830ae7fdf4aea6c24032f0541d76c914aac9afadda5c","23a790e87430f6bcf8dfbc4d3560e8b3d7441f9cfbe509bcf932b4608c60c9e3","7a8b858660503a4af876541f456b2cbc3d89b164ab842c7434ac0fb87ec0e026","024653e8296d821c2332e1e8fe13eb86f4d50f0be82478c958890e92d1f2ca0e","f571e28d70c04d1ce72673771010febae11d2c907a71d027550d986ee424951d","ae4f0f443b828f28aaf843856dd25a8ab5e400f99581778f8977011c4a72d70d","cf5ba84fd9488f0ba7e302d54d1db6452b513d8573df389dd05f4153f5edfc26","64ec4840e09c2f03bc97e86f6fbc5aac99bb6a067f20e06dc186a3784aba2862","640331bbaecab0948b9a40fc903666f103e94764cdfb0822d4124c147246c19a","dc29fe834b87d0d015c40a9f294ec7e1f2b7b322f102264e34374c8ea5ecffe6","46ab6033b2f210e498f5147c87b465aa564d1b9f64a431dd70b3f4f7cc5d6647","4bdaa9b206ca8f39ec14c79d9e48ebc59a6996bf19c11b9ec2e46a6d3e431c2c",{"version":"63bff8dbf232fc1ae97f1b020e297e25fb60fd0f067602b621a3da2ffce39a79","signature":"3d6e462e215d4fcb4eb7712f0057a1cee34d932f7974aee8c2056f5e529d9ceb"},"ed86efd0f3ccc9ad7bf77be60d591494fe341f2afd414e492ea13754d8507175","98e86ac955b931544c81849b7b6b54517c5c5241d369c72524cf730c1af3ff40","2e950e1263d69209ee01f93a543c1d593940464dbe66e0c59a11305a85d651ec","9c4b642619bc5d6940153c6952476440c122ded45f4946a561044ea4d538941e",{"version":"a69477d405f5fb59417cde68ab9660006d4cab3af749db47afbbb72e74213c60","signature":"b1fea5f748629c2a9495f97dcc4081a94d55d9349b4527ddfca96c610a19b65d"},{"version":"510eba75ccc5a54f845a0c5aff5ee65cb7723aa52d599bd2e5ee2f7a4c332f64","signature":"f0ffbc9240780eb2cfd765a2a5188aff8c710be396c428d92bf6afeee2c919f0"},{"version":"8a4104f0baebf7a6327a01dfc2ddf0e8e61e89f5dd19505dadc1ad42cb13734b","signature":"b8e7bd9cb4a7bd1c2c7608996439366bb8848bf758b462adafc7365bd9b3118c"},{"version":"6c2a305f78fa0095ab4a6dd5c744adf49cfeb764165c23acf6848361c1ca48cf","signature":"f1d21b7f1be50ee938648c5c1f6b96ad61a3c5ebf0ceb32d45d5b52c6e67cc79"},{"version":"d55b06b6f77c3c55ff23b386b227749cc88044357cdfafe6c816bcc3527d73a9","signature":"bdf70c5695b9802c648769f1945c7ceac09c411ca0262564d335371d5eea1d8a"},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"1cfed1af7fef4b814b8f2769a6ced176bddb997d148be6fbdd7ed76d27c8abb7","signature":"b9da2c0297d5a6ac527c0d726401f03db19f10adfb3835e728d3da0eb7479182"},{"version":"f0b6690984c3a44b15740ac24bfb63853617731c0f40c87a956ce537c4b50969","affectsGlobalScope":true},{"version":"f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e","impliedFormat":1},{"version":"3cf5f191d75bbe7c92f921e5ae12004ac672266e2be2ece69f40b1d6b1b678f9","impliedFormat":1},{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true,"impliedFormat":1},{"version":"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"0c5a621a8cf10464c2020f05c99a86d8ac6875d9e17038cb8522cc2f604d539f","impliedFormat":1},{"version":"e050a0afcdbb269720a900c85076d18e0c1ab73e580202a2bf6964978181222a","impliedFormat":1},{"version":"1d78c35b7e8ce86a188e3e5528cc5d1edfc85187a85177458d26e17c8b48105f","impliedFormat":1},{"version":"e142fda89ed689ea53d6f2c93693898464c7d29a0ae71c6dc8cdfe5a1d76c775","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"964f307d249df0d7e8eb16d594536c0ac6cc63c8d467edf635d05542821dec8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"db3ec8993b7596a4ef47f309c7b25ee2505b519c13050424d9c34701e5973315","impliedFormat":1},{"version":"6a1ebd564896d530364f67b3257c62555b61d60494a73dfe8893274878c6589d","affectsGlobalScope":true,"impliedFormat":1},{"version":"af49b066a76ce26673fe49d1885cc6b44153f1071ed2d952f2a90fccba1095c9","impliedFormat":1},{"version":"f22fd1dc2df53eaf5ce0ff9e0a3326fc66f880d6a652210d50563ae72625455f","impliedFormat":1},{"version":"3ddbdb519e87a7827c4f0c4007013f3628ca0ebb9e2b018cf31e5b2f61c593f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"6d498d4fd8036ea02a4edcae10375854a0eb1df0496cf0b9d692577d3c0fd603","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"fd09b892597ab93e7f79745ce725a3aaf6dd005e8db20f0c63a5d10984cba328","impliedFormat":1},{"version":"a3be878ff1e1964ab2dc8e0a3b67087cf838731c7f3d8f603337e7b712fdd558","impliedFormat":1},{"version":"5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","impliedFormat":1},{"version":"9be74296ee565af0c12d7071541fdd23260f53c3da7731fb6361f61150a791f6","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f501a53b94ba382d9ba396a5c486969a3abc68309828fa67f916035f5d37fe2b","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa658b5d765f630c312ac9202d110bbaf2b82d180376457f0a9d57b42629714a","impliedFormat":1},{"version":"312ac7cbd070107766a9886fd27f9faad997ef57d93fdfb4095df2c618ac8162","impliedFormat":1},{"version":"2e9b4e7f9942af902eb85bae6066d04ef1afee51d61554a62d144df3da7dec94","impliedFormat":1},{"version":"672ad3045f329e94002256f8ed460cfd06173a50c92cde41edaadfacffd16808","impliedFormat":1},{"version":"64da4965d1e0559e134d9c1621ae400279a216f87ed00c4cce4f2c7c78021712","impliedFormat":1},{"version":"2205527b976f4f1844adc46a3f0528729fb68cac70027a5fb13c49ca23593797","impliedFormat":1},{"version":"0166fce1204d520fdfd6b5febb3cda3deee438bcbf8ce9ffeb2b1bcde7155346","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8b13eab85b532285031b06a971fa051bf0175d8fff68065a24a6da9c1c986cf","impliedFormat":1},{"version":"50c382ba1827988c59aa9cc9d046e386d55d70f762e9e352e95ee8cb7337cdb8","impliedFormat":1},{"version":"bb9627ab9d078c79bb5623de4ac8e5d08f806ec9b970962dfc83b3211373690d","impliedFormat":1},{"version":"21d7e87f271e72d02f8d167edc902f90b04525edc7918f00f01dd0bd00599f7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f6abdaf8764ef01a552a958f45e795b5e79153b87ddad3af5264b86d2681b72","affectsGlobalScope":true,"impliedFormat":1},{"version":"a215554477f7629e3dcbc8cde104bec036b78673650272f5ffdc5a2cee399a0a","impliedFormat":1},{"version":"c3497fc242aabfedcd430b5932412f94f157b5906568e737f6a18cc77b36a954","impliedFormat":1},{"version":"cdc1de3b672f9ef03ff15c443aa1b631edca35b6ae6970a7da6400647ff74d95","impliedFormat":1},{"version":"139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","impliedFormat":1},{"version":"bf01fdd3b93cf633b3f7420718457af19c57ab8cbfea49268df60bae2e84d627","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"5f461d6f5d9ff474f1121cc3fd86aa3cd67476c701f55c306d323c5112201207","impliedFormat":1},{"version":"65b39cc6b610a4a4aecc321f6efb436f10c0509d686124795b4c36a5e915b89e","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"83fe38aa2243059ea859325c006da3964ead69b773429fe049ebb0426e75424d","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3edb86744e2c19f2c1503849ac7594a5e06024f2451bacae032390f2e20314a","impliedFormat":1},{"version":"e501cbca25bd54f0bcb89c00f092d3cae227e970b93fd76207287fd8110b123d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a3e61347b8f80aa5af532094498bceb0c0b257b25a6aa8ab4880fd6ed57c95a","affectsGlobalScope":true,"impliedFormat":1},{"version":"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","impliedFormat":1},{"version":"950f6810f7c80e0cffefcf1bcc6ade3485c94394720e334c3c2be3c16b6922fb","impliedFormat":1},{"version":"5475df7cfc493a08483c9d7aa61cc04791aecba9d0a2efc213f23c4006d4d3cd","impliedFormat":1},{"version":"000720870b275764c65e9f28ac97cc9e4d9e4a36942d4750ca8603e416e9c57c","impliedFormat":1},{"version":"54412c70bacb9ed547ed6caae8836f712a83ccf58d94466f3387447ec4e82dc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"e74e7b0baa7a24f073080091427d36a75836d584b9393e6ac2b1daf1647fe65a","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c48e931a72f6971b5add7fdb1136be1d617f124594e94595f7114af749395e0","impliedFormat":1},{"version":"478eb5c32250678a906d91e0529c70243fc4d75477a08f3da408e2615396f558","impliedFormat":1},{"version":"e686a88c9ee004c8ba12ffc9d674ca3192a4c50ed0ca6bd5b2825c289e2b2bfe","impliedFormat":1},{"version":"0d27932df2fbc3728e78b98892540e24084424ce12d3bd32f62a23cf307f411f","affectsGlobalScope":true,"impliedFormat":1},{"version":"4423fb3d6abe6eefb8d7f79eb2df9510824a216ec1c6feee46718c9b18e6d89f","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"01c47d1c006b3a15b51d89d7764fff7e4fabc4e412b3a61ee5357bd74b822879","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","impliedFormat":1},{"version":"9e951ec338c4232d611552a1be7b4ecec79a8c2307a893ce39701316fe2374bd","impliedFormat":1},{"version":"70c61ff569aabdf2b36220da6c06caaa27e45cd7acac81a1966ab4ee2eadc4f2","impliedFormat":1},{"version":"905c3e8f7ddaa6c391b60c05b2f4c3931d7127ad717a080359db3df510b7bdab","impliedFormat":1},{"version":"6c1e688f95fcaf53b1e41c0fdadf2c1cfc96fa924eaf7f9fdb60f96deb0a4986","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"6d969939c4a63f70f2aa49e88da6f64b655c8e6799612807bef41ccff6ea0da9","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"46894b2a21a60f8449ca6b2b7223b7179bba846a61b1434bed77b34b2902c306","affectsGlobalScope":true,"impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"6d727c1f6a7122c04e4f7c164c5e6f460c21ada618856894cdaa6ac25e95f38c","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","impliedFormat":1},{"version":"c6c4fea9acc55d5e38ff2b70d57ab0b5cdbd08f8bc5d7a226e322cea128c5b57","impliedFormat":1},{"version":"9ad8802fd8850d22277c08f5653e69e551a2e003a376ce0afb3fe28474b51d65","impliedFormat":1},{"version":"fdfbe321c556c39a2ecf791d537b999591d0849e971dd938d88f460fea0186f6","impliedFormat":1},{"version":"105b9a2234dcb06ae922f2cd8297201136d416503ff7d16c72bfc8791e9895c1","impliedFormat":1}],"root":[262,[267,271],312,313],"options":{"allowImportingTsExtensions":true,"composite":true,"declaration":true,"declarationDir":"../../dts","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":200,"noImplicitAny":true,"noImplicitThis":true,"rootDir":"../..","skipLibCheck":true,"strictBindCallApply":true,"target":99},"referencedMap":[[225,1],[217,2],[224,3],[227,4],[221,5],[223,6],[220,7],[222,2],[219,8],[241,9],[226,10],[243,11],[228,12],[242,13],[240,14],[218,15],[238,16],[239,17],[260,18],[259,19],[258,20],[257,21],[256,22],[255,22],[246,23],[254,24],[245,25],[247,26],[237,27],[266,28],[214,29],[215,29],[216,30],[213,29],[264,31],[265,28],[261,32],[263,31],[209,33],[208,34],[183,35],[191,36],[194,37],[199,38],[203,39],[198,40],[193,41],[200,42],[192,43],[207,44],[204,45],[205,46],[201,46],[206,45],[196,47],[184,48],[180,49],[202,50],[188,51],[187,52],[186,53],[252,54],[251,28],[253,55],[250,56],[174,57],[171,58],[153,59],[175,60],[157,61],[166,61],[172,62],[161,61],[160,63],[165,64],[170,65],[158,61],[162,61],[168,66],[154,28],[164,61],[163,63],[159,61],[151,67],[152,68],[156,69],[173,70],[75,28],[76,28],[78,28],[77,28],[80,28],[82,28],[74,28],[79,28],[84,28],[85,28],[86,28],[83,28],[87,28],[88,28],[89,28],[90,28],[91,28],[93,28],[92,28],[94,28],[95,28],[97,28],[99,28],[100,28],[101,28],[103,28],[104,28],[105,28],[107,71],[115,72],[106,28],[150,73],[116,28],[121,28],[117,28],[118,28],[119,28],[120,28],[122,28],[123,28],[125,28],[124,28],[126,28],[127,28],[146,28],[147,28],[129,28],[130,28],[131,28],[132,28],[133,28],[134,28],[135,28],[137,28],[138,28],[139,28],[140,28],[143,28],[144,28],[145,74],[424,75],[236,76],[235,77],[232,78],[233,79],[231,80],[320,81],[319,82],[417,83],[419,84],[420,85],[430,86],[428,87],[427,88],[429,89],[322,90],[323,90],[363,91],[364,92],[365,93],[366,94],[367,95],[368,96],[369,97],[370,98],[371,99],[372,100],[373,100],[375,101],[374,102],[376,103],[377,104],[378,105],[362,106],[379,107],[380,108],[381,109],[415,110],[382,111],[383,112],[384,113],[385,114],[386,115],[387,116],[388,117],[389,118],[390,119],[391,120],[392,120],[393,121],[396,122],[398,123],[397,124],[399,125],[400,126],[401,127],[402,128],[403,129],[404,130],[405,131],[406,132],[407,133],[408,134],[409,135],[410,136],[411,137],[412,138],[413,139],[296,140],[297,141],[272,142],[275,142],[294,140],[295,140],[285,140],[284,143],[282,140],[277,140],[290,140],[288,140],[292,140],[276,140],[289,140],[293,140],[278,140],[279,140],[291,140],[273,140],[280,140],[281,140],[283,140],[287,140],[298,144],[286,140],[274,140],[311,145],[305,144],[307,146],[306,144],[299,144],[300,144],[302,144],[304,144],[308,146],[309,146],[301,146],[303,146],[438,147],[426,148],[425,89],[340,149],[350,150],[339,149],[360,151],[331,152],[330,153],[359,154],[353,155],[358,156],[333,157],[347,158],[332,159],[356,160],[328,161],[327,162],[357,163],[329,164],[334,165],[338,165],[361,166],[351,167],[342,168],[343,169],[345,170],[341,171],[344,172],[354,154],[336,173],[337,174],[346,175],[326,176],[349,167],[348,165],[355,177],[212,178],[262,179],[270,180],[271,181],[268,182],[312,183],[269,184],[267,32],[155,185],[167,61],[169,186]],"latestChangedDtsFile":"../../dts/packages/babel-helper-create-class-features-plugin/src/index.d.ts","version":"5.6.2"}
\ No newline at end of file |
