"use strict";
var Jge = Object.create;
var Ly = Object.defineProperty;
var Yge = Object.getOwnPropertyDescriptor;
var Xge = Object.getOwnPropertyNames;
var zge = Object.getPrototypeOf, Gge = Object.prototype.hasOwnProperty;
var n = (t, e) => Ly(t, "name", { value: e, configurable: !0 });
var g = (t, e) => () => (e || t((e = { exports: {} }).exports, e), e.exports), Qge = (t, e) => {
  for (var s in e)
    Ly(t, s, { get: e[s], enumerable: !0 });
}, b7 = (t, e, s, r) => {
  if (e && typeof e == "object" || typeof e == "function")
    for (let i of Xge(e))
      !Gge.call(t, i) && i !== s && Ly(t, i, { get: () => e[i], enumerable: !(r = Yge(e, i)) || r.enumerable });
  return t;
};
var Jo = (t, e, s) => (s = t != null ? Jge(zge(t)) : {}, b7(
  // If the importer is in node compatibility mode or this is not an ESM
  // file that has been converted to a CommonJS file using a Babel-
  // compatible transform (i.e. "__esModule" has not been set), then set
  // "default" to the CommonJS "module.exports" for node compatibility.
  e || !t || !t.__esModule ? Ly(s, "default", { value: t, enumerable: !0 }) : s,
  t
)), Zge = (t) => b7(Ly({}, "__esModule", { value: !0 }), t);

// ../node_modules/@babel/types/lib/utils/shallowEqual.js
var mb = g((dC) => {
  "use strict";
  Object.defineProperty(dC, "__esModule", {
    value: !0
  });
  dC.default = e0e;
  function e0e(t, e) {
    let s = Object.keys(e);
    for (let r of s)
      if (t[r] !== e[r])
        return !1;
    return !0;
  }
  n(e0e, "shallowEqual");
});

// ../node_modules/@babel/types/lib/utils/deprecationWarning.js
var By = g((mC) => {
  "use strict";
  Object.defineProperty(mC, "__esModule", {
    value: !0
  });
  mC.default = t0e;
  var x7 = /* @__PURE__ */ new Set();
  function t0e(t, e, s = "") {
    if (x7.has(t)) return;
    x7.add(t);
    let {
      internal: r,
      trace: i
    } = s0e(1, 2);
    r || console.warn(`${s}\`${t}\` has been deprecated, please migrate to \`${e}\`
${i}`);
  }
  n(t0e, "deprecationWarning");
  function s0e(t, e) {
    let {
      stackTraceLimit: s,
      prepareStackTrace: r
    } = Error, i;
    if (Error.stackTraceLimit = 1 + t + e, Error.prepareStackTrace = function(o, l) {
      i = l;
    }, new Error().stack, Error.stackTraceLimit = s, Error.prepareStackTrace = r, !i) return {
      internal: !1,
      trace: ""
    };
    let a = i.slice(1 + t, 1 + t + e);
    return {
      internal: /[\\/]@babel[\\/]/.test(a[1].getFileName()),
      trace: a.map((o) => `    at ${o}`).join(`
`)
    };
  }
  n(s0e, "captureShortStackTrace");
});

// ../node_modules/@babel/types/lib/validators/generated/index.js
var ei = g((w) => {
  "use strict";
  Object.defineProperty(w, "__esModule", {
    value: !0
  });
  w.isAccessor = TPe;
  w.isAnyTypeAnnotation = FTe;
  w.isArgumentPlaceholder = hxe;
  w.isArrayExpression = r0e;
  w.isArrayPattern = tTe;
  w.isArrayTypeAnnotation = jTe;
  w.isArrowFunctionExpression = sTe;
  w.isAssignmentExpression = i0e;
  w.isAssignmentPattern = eTe;
  w.isAwaitExpression = vTe;
  w.isBigIntLiteral = wTe;
  w.isBinary = USe;
  w.isBinaryExpression = n0e;
  w.isBindExpression = fxe;
  w.isBlock = WSe;
  w.isBlockParent = VSe;
  w.isBlockStatement = u0e;
  w.isBooleanLiteral = k0e;
  w.isBooleanLiteralTypeAnnotation = qTe;
  w.isBooleanTypeAnnotation = RTe;
  w.isBreakStatement = c0e;
  w.isCallExpression = p0e;
  w.isCatchClause = h0e;
  w.isClass = mPe;
  w.isClassAccessorProperty = OTe;
  w.isClassBody = rTe;
  w.isClassDeclaration = nTe;
  w.isClassExpression = iTe;
  w.isClassImplements = KTe;
  w.isClassMethod = gTe;
  w.isClassPrivateMethod = LTe;
  w.isClassPrivateProperty = _Te;
  w.isClassProperty = DTe;
  w.isCompletionStatement = JSe;
  w.isConditional = YSe;
  w.isConditionalExpression = f0e;
  w.isContinueStatement = d0e;
  w.isDebuggerStatement = m0e;
  w.isDecimalLiteral = xxe;
  w.isDeclaration = rPe;
  w.isDeclareClass = VTe;
  w.isDeclareExportAllDeclaration = QTe;
  w.isDeclareExportDeclaration = GTe;
  w.isDeclareFunction = WTe;
  w.isDeclareInterface = $Te;
  w.isDeclareModule = HTe;
  w.isDeclareModuleExports = JTe;
  w.isDeclareOpaqueType = XTe;
  w.isDeclareTypeAlias = YTe;
  w.isDeclareVariable = zTe;
  w.isDeclaredPredicate = ZTe;
  w.isDecorator = mxe;
  w.isDirective = o0e;
  w.isDirectiveLiteral = l0e;
  w.isDoExpression = yxe;
  w.isDoWhileStatement = y0e;
  w.isEmptyStatement = g0e;
  w.isEmptyTypeAnnotation = cbe;
  w.isEnumBody = vPe;
  w.isEnumBooleanBody = jbe;
  w.isEnumBooleanMember = Kbe;
  w.isEnumDeclaration = Fbe;
  w.isEnumDefaultedMember = $be;
  w.isEnumMember = CPe;
  w.isEnumNumberBody = Rbe;
  w.isEnumNumberMember = Vbe;
  w.isEnumStringBody = qbe;
  w.isEnumStringMember = Wbe;
  w.isEnumSymbolBody = Ube;
  w.isExistsTypeAnnotation = ebe;
  w.isExportAllDeclaration = aTe;
  w.isExportDeclaration = yPe;
  w.isExportDefaultDeclaration = oTe;
  w.isExportDefaultSpecifier = gxe;
  w.isExportNamedDeclaration = lTe;
  w.isExportNamespaceSpecifier = ITe;
  w.isExportSpecifier = uTe;
  w.isExpression = qSe;
  w.isExpressionStatement = T0e;
  w.isExpressionWrapper = GSe;
  w.isFile = b0e;
  w.isFlow = xPe;
  w.isFlowBaseAnnotation = PPe;
  w.isFlowDeclaration = EPe;
  w.isFlowPredicate = APe;
  w.isFlowType = SPe;
  w.isFor = QSe;
  w.isForInStatement = x0e;
  w.isForOfStatement = cTe;
  w.isForStatement = S0e;
  w.isForXStatement = ZSe;
  w.isFunction = ePe;
  w.isFunctionDeclaration = P0e;
  w.isFunctionExpression = E0e;
  w.isFunctionParent = tPe;
  w.isFunctionTypeAnnotation = tbe;
  w.isFunctionTypeParam = sbe;
  w.isGenericTypeAnnotation = rbe;
  w.isIdentifier = A0e;
  w.isIfStatement = v0e;
  w.isImmutable = lPe;
  w.isImport = CTe;
  w.isImportAttribute = dxe;
  w.isImportDeclaration = pTe;
  w.isImportDefaultSpecifier = hTe;
  w.isImportExpression = mTe;
  w.isImportNamespaceSpecifier = fTe;
  w.isImportOrExportDeclaration = S7;
  w.isImportSpecifier = dTe;
  w.isIndexedAccessType = Hbe;
  w.isInferredPredicate = ibe;
  w.isInterfaceDeclaration = abe;
  w.isInterfaceExtends = nbe;
  w.isInterfaceTypeAnnotation = obe;
  w.isInterpreterDirective = a0e;
  w.isIntersectionTypeAnnotation = lbe;
  w.isJSX = wPe;
  w.isJSXAttribute = Ybe;
  w.isJSXClosingElement = Xbe;
  w.isJSXClosingFragment = lxe;
  w.isJSXElement = zbe;
  w.isJSXEmptyExpression = Gbe;
  w.isJSXExpressionContainer = Qbe;
  w.isJSXFragment = axe;
  w.isJSXIdentifier = exe;
  w.isJSXMemberExpression = txe;
  w.isJSXNamespacedName = sxe;
  w.isJSXOpeningElement = rxe;
  w.isJSXOpeningFragment = oxe;
  w.isJSXSpreadAttribute = ixe;
  w.isJSXSpreadChild = Zbe;
  w.isJSXText = nxe;
  w.isLVal = nPe;
  w.isLabeledStatement = C0e;
  w.isLiteral = oPe;
  w.isLogicalExpression = O0e;
  w.isLoop = XSe;
  w.isMemberExpression = _0e;
  w.isMetaProperty = yTe;
  w.isMethod = cPe;
  w.isMiscellaneous = IPe;
  w.isMixedTypeAnnotation = ube;
  w.isModuleDeclaration = FPe;
  w.isModuleExpression = Sxe;
  w.isModuleSpecifier = gPe;
  w.isNewExpression = L0e;
  w.isNoop = uxe;
  w.isNullLiteral = N0e;
  w.isNullLiteralTypeAnnotation = UTe;
  w.isNullableTypeAnnotation = pbe;
  w.isNumberLiteral = _Pe;
  w.isNumberLiteralTypeAnnotation = hbe;
  w.isNumberTypeAnnotation = fbe;
  w.isNumericLiteral = I0e;
  w.isObjectExpression = M0e;
  w.isObjectMember = pPe;
  w.isObjectMethod = F0e;
  w.isObjectPattern = TTe;
  w.isObjectProperty = j0e;
  w.isObjectTypeAnnotation = dbe;
  w.isObjectTypeCallProperty = ybe;
  w.isObjectTypeIndexer = gbe;
  w.isObjectTypeInternalSlot = mbe;
  w.isObjectTypeProperty = Tbe;
  w.isObjectTypeSpreadProperty = bbe;
  w.isOpaqueType = xbe;
  w.isOptionalCallExpression = kTe;
  w.isOptionalIndexedAccessType = Jbe;
  w.isOptionalMemberExpression = NTe;
  w.isParenthesizedExpression = K0e;
  w.isPattern = dPe;
  w.isPatternLike = iPe;
  w.isPipelineBareFunction = Axe;
  w.isPipelinePrimaryTopicReference = vxe;
  w.isPipelineTopicExpression = Exe;
  w.isPlaceholder = cxe;
  w.isPrivate = bPe;
  w.isPrivateName = BTe;
  w.isProgram = B0e;
  w.isProperty = hPe;
  w.isPureish = sPe;
  w.isQualifiedTypeIdentifier = Sbe;
  w.isRecordExpression = Txe;
  w.isRegExpLiteral = D0e;
  w.isRegexLiteral = LPe;
  w.isRestElement = R0e;
  w.isRestProperty = BPe;
  w.isReturnStatement = q0e;
  w.isScopable = KSe;
  w.isSequenceExpression = U0e;
  w.isSpreadElement = bTe;
  w.isSpreadProperty = MPe;
  w.isStandardized = RSe;
  w.isStatement = $Se;
  w.isStaticBlock = MTe;
  w.isStringLiteral = w0e;
  w.isStringLiteralTypeAnnotation = Pbe;
  w.isStringTypeAnnotation = Ebe;
  w.isSuper = xTe;
  w.isSwitchCase = V0e;
  w.isSwitchStatement = W0e;
  w.isSymbolTypeAnnotation = Abe;
  w.isTSAnyKeyword = Bxe;
  w.isTSArrayType = tSe;
  w.isTSAsExpression = SSe;
  w.isTSBaseType = OPe;
  w.isTSBigIntKeyword = Fxe;
  w.isTSBooleanKeyword = Mxe;
  w.isTSCallSignatureDeclaration = kxe;
  w.isTSConditionalType = lSe;
  w.isTSConstructSignatureDeclaration = Dxe;
  w.isTSConstructorType = zxe;
  w.isTSDeclareFunction = wxe;
  w.isTSDeclareMethod = Ixe;
  w.isTSEntityName = aPe;
  w.isTSEnumBody = ASe;
  w.isTSEnumDeclaration = vSe;
  w.isTSEnumMember = CSe;
  w.isTSExportAssignment = _Se;
  w.isTSExpressionWithTypeArguments = ySe;
  w.isTSExternalModuleReference = DSe;
  w.isTSFunctionType = Xxe;
  w.isTSImportEqualsDeclaration = kSe;
  w.isTSImportType = NSe;
  w.isTSIndexSignature = Lxe;
  w.isTSIndexedAccessType = hSe;
  w.isTSInferType = uSe;
  w.isTSInstantiationExpression = xSe;
  w.isTSInterfaceBody = TSe;
  w.isTSInterfaceDeclaration = gSe;
  w.isTSIntersectionType = oSe;
  w.isTSIntrinsicKeyword = jxe;
  w.isTSLiteralType = mSe;
  w.isTSMappedType = fSe;
  w.isTSMethodSignature = _xe;
  w.isTSModuleBlock = ISe;
  w.isTSModuleDeclaration = wSe;
  w.isTSNamedTupleMember = nSe;
  w.isTSNamespaceExportDeclaration = LSe;
  w.isTSNeverKeyword = Rxe;
  w.isTSNonNullExpression = OSe;
  w.isTSNullKeyword = qxe;
  w.isTSNumberKeyword = Uxe;
  w.isTSObjectKeyword = Kxe;
  w.isTSOptionalType = rSe;
  w.isTSParameterProperty = Cxe;
  w.isTSParenthesizedType = cSe;
  w.isTSPropertySignature = Oxe;
  w.isTSQualifiedName = Nxe;
  w.isTSRestType = iSe;
  w.isTSSatisfiesExpression = PSe;
  w.isTSStringKeyword = Vxe;
  w.isTSSymbolKeyword = Wxe;
  w.isTSTemplateLiteralType = dSe;
  w.isTSThisType = Yxe;
  w.isTSTupleType = sSe;
  w.isTSType = DPe;
  w.isTSTypeAliasDeclaration = bSe;
  w.isTSTypeAnnotation = BSe;
  w.isTSTypeAssertion = ESe;
  w.isTSTypeElement = kPe;
  w.isTSTypeLiteral = eSe;
  w.isTSTypeOperator = pSe;
  w.isTSTypeParameter = jSe;
  w.isTSTypeParameterDeclaration = FSe;
  w.isTSTypeParameterInstantiation = MSe;
  w.isTSTypePredicate = Qxe;
  w.isTSTypeQuery = Zxe;
  w.isTSTypeReference = Gxe;
  w.isTSUndefinedKeyword = $xe;
  w.isTSUnionType = aSe;
  w.isTSUnknownKeyword = Hxe;
  w.isTSVoidKeyword = Jxe;
  w.isTaggedTemplateExpression = STe;
  w.isTemplateElement = PTe;
  w.isTemplateLiteral = ETe;
  w.isTerminatorless = HSe;
  w.isThisExpression = $0e;
  w.isThisTypeAnnotation = vbe;
  w.isThrowStatement = H0e;
  w.isTopicReference = Pxe;
  w.isTryStatement = J0e;
  w.isTupleExpression = bxe;
  w.isTupleTypeAnnotation = Cbe;
  w.isTypeAlias = Ibe;
  w.isTypeAnnotation = Nbe;
  w.isTypeCastExpression = kbe;
  w.isTypeParameter = Dbe;
  w.isTypeParameterDeclaration = Obe;
  w.isTypeParameterInstantiation = _be;
  w.isTypeScript = NPe;
  w.isTypeofTypeAnnotation = wbe;
  w.isUnaryExpression = Y0e;
  w.isUnaryLike = fPe;
  w.isUnionTypeAnnotation = Lbe;
  w.isUpdateExpression = X0e;
  w.isUserWhitespacable = uPe;
  w.isV8IntrinsicIdentifier = pxe;
  w.isVariableDeclaration = z0e;
  w.isVariableDeclarator = G0e;
  w.isVariance = Bbe;
  w.isVoidTypeAnnotation = Mbe;
  w.isWhile = zSe;
  w.isWhileStatement = Q0e;
  w.isWithStatement = Z0e;
  w.isYieldExpression = ATe;
  var L = mb(), My = By();
  function r0e(t, e) {
    return !t || t.type !== "ArrayExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(r0e, "isArrayExpression");
  function i0e(t, e) {
    return !t || t.type !== "AssignmentExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(i0e, "isAssignmentExpression");
  function n0e(t, e) {
    return !t || t.type !== "BinaryExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(n0e, "isBinaryExpression");
  function a0e(t, e) {
    return !t || t.type !== "InterpreterDirective" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(a0e, "isInterpreterDirective");
  function o0e(t, e) {
    return !t || t.type !== "Directive" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(o0e, "isDirective");
  function l0e(t, e) {
    return !t || t.type !== "DirectiveLiteral" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(l0e, "isDirectiveLiteral");
  function u0e(t, e) {
    return !t || t.type !== "BlockStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(u0e, "isBlockStatement");
  function c0e(t, e) {
    return !t || t.type !== "BreakStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(c0e, "isBreakStatement");
  function p0e(t, e) {
    return !t || t.type !== "CallExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(p0e, "isCallExpression");
  function h0e(t, e) {
    return !t || t.type !== "CatchClause" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(h0e, "isCatchClause");
  function f0e(t, e) {
    return !t || t.type !== "ConditionalExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(f0e, "isConditionalExpression");
  function d0e(t, e) {
    return !t || t.type !== "ContinueStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(d0e, "isContinueStatement");
  function m0e(t, e) {
    return !t || t.type !== "DebuggerStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(m0e, "isDebuggerStatement");
  function y0e(t, e) {
    return !t || t.type !== "DoWhileStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(y0e, "isDoWhileStatement");
  function g0e(t, e) {
    return !t || t.type !== "EmptyStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(g0e, "isEmptyStatement");
  function T0e(t, e) {
    return !t || t.type !== "ExpressionStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(T0e, "isExpressionStatement");
  function b0e(t, e) {
    return !t || t.type !== "File" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(b0e, "isFile");
  function x0e(t, e) {
    return !t || t.type !== "ForInStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(x0e, "isForInStatement");
  function S0e(t, e) {
    return !t || t.type !== "ForStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(S0e, "isForStatement");
  function P0e(t, e) {
    return !t || t.type !== "FunctionDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(P0e, "isFunctionDeclaration");
  function E0e(t, e) {
    return !t || t.type !== "FunctionExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(E0e, "isFunctionExpression");
  function A0e(t, e) {
    return !t || t.type !== "Identifier" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(A0e, "isIdentifier");
  function v0e(t, e) {
    return !t || t.type !== "IfStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(v0e, "isIfStatement");
  function C0e(t, e) {
    return !t || t.type !== "LabeledStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(C0e, "isLabeledStatement");
  function w0e(t, e) {
    return !t || t.type !== "StringLiteral" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(w0e, "isStringLiteral");
  function I0e(t, e) {
    return !t || t.type !== "NumericLiteral" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(I0e, "isNumericLiteral");
  function N0e(t, e) {
    return !t || t.type !== "NullLiteral" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(N0e, "isNullLiteral");
  function k0e(t, e) {
    return !t || t.type !== "BooleanLiteral" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(k0e, "isBooleanLiteral");
  function D0e(t, e) {
    return !t || t.type !== "RegExpLiteral" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(D0e, "isRegExpLiteral");
  function O0e(t, e) {
    return !t || t.type !== "LogicalExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(O0e, "isLogicalExpression");
  function _0e(t, e) {
    return !t || t.type !== "MemberExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(_0e, "isMemberExpression");
  function L0e(t, e) {
    return !t || t.type !== "NewExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(L0e, "isNewExpression");
  function B0e(t, e) {
    return !t || t.type !== "Program" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(B0e, "isProgram");
  function M0e(t, e) {
    return !t || t.type !== "ObjectExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(M0e, "isObjectExpression");
  function F0e(t, e) {
    return !t || t.type !== "ObjectMethod" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(F0e, "isObjectMethod");
  function j0e(t, e) {
    return !t || t.type !== "ObjectProperty" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(j0e, "isObjectProperty");
  function R0e(t, e) {
    return !t || t.type !== "RestElement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(R0e, "isRestElement");
  function q0e(t, e) {
    return !t || t.type !== "ReturnStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(q0e, "isReturnStatement");
  function U0e(t, e) {
    return !t || t.type !== "SequenceExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(U0e, "isSequenceExpression");
  function K0e(t, e) {
    return !t || t.type !== "ParenthesizedExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(K0e, "isParenthesizedExpression");
  function V0e(t, e) {
    return !t || t.type !== "SwitchCase" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(V0e, "isSwitchCase");
  function W0e(t, e) {
    return !t || t.type !== "SwitchStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(W0e, "isSwitchStatement");
  function $0e(t, e) {
    return !t || t.type !== "ThisExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n($0e, "isThisExpression");
  function H0e(t, e) {
    return !t || t.type !== "ThrowStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(H0e, "isThrowStatement");
  function J0e(t, e) {
    return !t || t.type !== "TryStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(J0e, "isTryStatement");
  function Y0e(t, e) {
    return !t || t.type !== "UnaryExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Y0e, "isUnaryExpression");
  function X0e(t, e) {
    return !t || t.type !== "UpdateExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(X0e, "isUpdateExpression");
  function z0e(t, e) {
    return !t || t.type !== "VariableDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(z0e, "isVariableDeclaration");
  function G0e(t, e) {
    return !t || t.type !== "VariableDeclarator" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(G0e, "isVariableDeclarator");
  function Q0e(t, e) {
    return !t || t.type !== "WhileStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Q0e, "isWhileStatement");
  function Z0e(t, e) {
    return !t || t.type !== "WithStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Z0e, "isWithStatement");
  function eTe(t, e) {
    return !t || t.type !== "AssignmentPattern" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(eTe, "isAssignmentPattern");
  function tTe(t, e) {
    return !t || t.type !== "ArrayPattern" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(tTe, "isArrayPattern");
  function sTe(t, e) {
    return !t || t.type !== "ArrowFunctionExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(sTe, "isArrowFunctionExpression");
  function rTe(t, e) {
    return !t || t.type !== "ClassBody" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(rTe, "isClassBody");
  function iTe(t, e) {
    return !t || t.type !== "ClassExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(iTe, "isClassExpression");
  function nTe(t, e) {
    return !t || t.type !== "ClassDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(nTe, "isClassDeclaration");
  function aTe(t, e) {
    return !t || t.type !== "ExportAllDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(aTe, "isExportAllDeclaration");
  function oTe(t, e) {
    return !t || t.type !== "ExportDefaultDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(oTe, "isExportDefaultDeclaration");
  function lTe(t, e) {
    return !t || t.type !== "ExportNamedDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(lTe, "isExportNamedDeclaration");
  function uTe(t, e) {
    return !t || t.type !== "ExportSpecifier" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(uTe, "isExportSpecifier");
  function cTe(t, e) {
    return !t || t.type !== "ForOfStatement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(cTe, "isForOfStatement");
  function pTe(t, e) {
    return !t || t.type !== "ImportDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(pTe, "isImportDeclaration");
  function hTe(t, e) {
    return !t || t.type !== "ImportDefaultSpecifier" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(hTe, "isImportDefaultSpecifier");
  function fTe(t, e) {
    return !t || t.type !== "ImportNamespaceSpecifier" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(fTe, "isImportNamespaceSpecifier");
  function dTe(t, e) {
    return !t || t.type !== "ImportSpecifier" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(dTe, "isImportSpecifier");
  function mTe(t, e) {
    return !t || t.type !== "ImportExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(mTe, "isImportExpression");
  function yTe(t, e) {
    return !t || t.type !== "MetaProperty" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(yTe, "isMetaProperty");
  function gTe(t, e) {
    return !t || t.type !== "ClassMethod" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(gTe, "isClassMethod");
  function TTe(t, e) {
    return !t || t.type !== "ObjectPattern" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(TTe, "isObjectPattern");
  function bTe(t, e) {
    return !t || t.type !== "SpreadElement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(bTe, "isSpreadElement");
  function xTe(t, e) {
    return !t || t.type !== "Super" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(xTe, "isSuper");
  function STe(t, e) {
    return !t || t.type !== "TaggedTemplateExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(STe, "isTaggedTemplateExpression");
  function PTe(t, e) {
    return !t || t.type !== "TemplateElement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(PTe, "isTemplateElement");
  function ETe(t, e) {
    return !t || t.type !== "TemplateLiteral" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(ETe, "isTemplateLiteral");
  function ATe(t, e) {
    return !t || t.type !== "YieldExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(ATe, "isYieldExpression");
  function vTe(t, e) {
    return !t || t.type !== "AwaitExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(vTe, "isAwaitExpression");
  function CTe(t, e) {
    return !t || t.type !== "Import" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(CTe, "isImport");
  function wTe(t, e) {
    return !t || t.type !== "BigIntLiteral" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(wTe, "isBigIntLiteral");
  function ITe(t, e) {
    return !t || t.type !== "ExportNamespaceSpecifier" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(ITe, "isExportNamespaceSpecifier");
  function NTe(t, e) {
    return !t || t.type !== "OptionalMemberExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(NTe, "isOptionalMemberExpression");
  function kTe(t, e) {
    return !t || t.type !== "OptionalCallExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(kTe, "isOptionalCallExpression");
  function DTe(t, e) {
    return !t || t.type !== "ClassProperty" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(DTe, "isClassProperty");
  function OTe(t, e) {
    return !t || t.type !== "ClassAccessorProperty" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(OTe, "isClassAccessorProperty");
  function _Te(t, e) {
    return !t || t.type !== "ClassPrivateProperty" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(_Te, "isClassPrivateProperty");
  function LTe(t, e) {
    return !t || t.type !== "ClassPrivateMethod" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(LTe, "isClassPrivateMethod");
  function BTe(t, e) {
    return !t || t.type !== "PrivateName" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(BTe, "isPrivateName");
  function MTe(t, e) {
    return !t || t.type !== "StaticBlock" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(MTe, "isStaticBlock");
  function FTe(t, e) {
    return !t || t.type !== "AnyTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(FTe, "isAnyTypeAnnotation");
  function jTe(t, e) {
    return !t || t.type !== "ArrayTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(jTe, "isArrayTypeAnnotation");
  function RTe(t, e) {
    return !t || t.type !== "BooleanTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(RTe, "isBooleanTypeAnnotation");
  function qTe(t, e) {
    return !t || t.type !== "BooleanLiteralTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(qTe, "isBooleanLiteralTypeAnnotation");
  function UTe(t, e) {
    return !t || t.type !== "NullLiteralTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(UTe, "isNullLiteralTypeAnnotation");
  function KTe(t, e) {
    return !t || t.type !== "ClassImplements" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(KTe, "isClassImplements");
  function VTe(t, e) {
    return !t || t.type !== "DeclareClass" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(VTe, "isDeclareClass");
  function WTe(t, e) {
    return !t || t.type !== "DeclareFunction" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(WTe, "isDeclareFunction");
  function $Te(t, e) {
    return !t || t.type !== "DeclareInterface" ? !1 : e == null || (0, L.default)(t, e);
  }
  n($Te, "isDeclareInterface");
  function HTe(t, e) {
    return !t || t.type !== "DeclareModule" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(HTe, "isDeclareModule");
  function JTe(t, e) {
    return !t || t.type !== "DeclareModuleExports" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(JTe, "isDeclareModuleExports");
  function YTe(t, e) {
    return !t || t.type !== "DeclareTypeAlias" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(YTe, "isDeclareTypeAlias");
  function XTe(t, e) {
    return !t || t.type !== "DeclareOpaqueType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(XTe, "isDeclareOpaqueType");
  function zTe(t, e) {
    return !t || t.type !== "DeclareVariable" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(zTe, "isDeclareVariable");
  function GTe(t, e) {
    return !t || t.type !== "DeclareExportDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(GTe, "isDeclareExportDeclaration");
  function QTe(t, e) {
    return !t || t.type !== "DeclareExportAllDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(QTe, "isDeclareExportAllDeclaration");
  function ZTe(t, e) {
    return !t || t.type !== "DeclaredPredicate" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(ZTe, "isDeclaredPredicate");
  function ebe(t, e) {
    return !t || t.type !== "ExistsTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(ebe, "isExistsTypeAnnotation");
  function tbe(t, e) {
    return !t || t.type !== "FunctionTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(tbe, "isFunctionTypeAnnotation");
  function sbe(t, e) {
    return !t || t.type !== "FunctionTypeParam" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(sbe, "isFunctionTypeParam");
  function rbe(t, e) {
    return !t || t.type !== "GenericTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(rbe, "isGenericTypeAnnotation");
  function ibe(t, e) {
    return !t || t.type !== "InferredPredicate" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(ibe, "isInferredPredicate");
  function nbe(t, e) {
    return !t || t.type !== "InterfaceExtends" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(nbe, "isInterfaceExtends");
  function abe(t, e) {
    return !t || t.type !== "InterfaceDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(abe, "isInterfaceDeclaration");
  function obe(t, e) {
    return !t || t.type !== "InterfaceTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(obe, "isInterfaceTypeAnnotation");
  function lbe(t, e) {
    return !t || t.type !== "IntersectionTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(lbe, "isIntersectionTypeAnnotation");
  function ube(t, e) {
    return !t || t.type !== "MixedTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(ube, "isMixedTypeAnnotation");
  function cbe(t, e) {
    return !t || t.type !== "EmptyTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(cbe, "isEmptyTypeAnnotation");
  function pbe(t, e) {
    return !t || t.type !== "NullableTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(pbe, "isNullableTypeAnnotation");
  function hbe(t, e) {
    return !t || t.type !== "NumberLiteralTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(hbe, "isNumberLiteralTypeAnnotation");
  function fbe(t, e) {
    return !t || t.type !== "NumberTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(fbe, "isNumberTypeAnnotation");
  function dbe(t, e) {
    return !t || t.type !== "ObjectTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(dbe, "isObjectTypeAnnotation");
  function mbe(t, e) {
    return !t || t.type !== "ObjectTypeInternalSlot" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(mbe, "isObjectTypeInternalSlot");
  function ybe(t, e) {
    return !t || t.type !== "ObjectTypeCallProperty" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(ybe, "isObjectTypeCallProperty");
  function gbe(t, e) {
    return !t || t.type !== "ObjectTypeIndexer" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(gbe, "isObjectTypeIndexer");
  function Tbe(t, e) {
    return !t || t.type !== "ObjectTypeProperty" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Tbe, "isObjectTypeProperty");
  function bbe(t, e) {
    return !t || t.type !== "ObjectTypeSpreadProperty" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(bbe, "isObjectTypeSpreadProperty");
  function xbe(t, e) {
    return !t || t.type !== "OpaqueType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(xbe, "isOpaqueType");
  function Sbe(t, e) {
    return !t || t.type !== "QualifiedTypeIdentifier" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Sbe, "isQualifiedTypeIdentifier");
  function Pbe(t, e) {
    return !t || t.type !== "StringLiteralTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Pbe, "isStringLiteralTypeAnnotation");
  function Ebe(t, e) {
    return !t || t.type !== "StringTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Ebe, "isStringTypeAnnotation");
  function Abe(t, e) {
    return !t || t.type !== "SymbolTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Abe, "isSymbolTypeAnnotation");
  function vbe(t, e) {
    return !t || t.type !== "ThisTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(vbe, "isThisTypeAnnotation");
  function Cbe(t, e) {
    return !t || t.type !== "TupleTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Cbe, "isTupleTypeAnnotation");
  function wbe(t, e) {
    return !t || t.type !== "TypeofTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(wbe, "isTypeofTypeAnnotation");
  function Ibe(t, e) {
    return !t || t.type !== "TypeAlias" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Ibe, "isTypeAlias");
  function Nbe(t, e) {
    return !t || t.type !== "TypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Nbe, "isTypeAnnotation");
  function kbe(t, e) {
    return !t || t.type !== "TypeCastExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(kbe, "isTypeCastExpression");
  function Dbe(t, e) {
    return !t || t.type !== "TypeParameter" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Dbe, "isTypeParameter");
  function Obe(t, e) {
    return !t || t.type !== "TypeParameterDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Obe, "isTypeParameterDeclaration");
  function _be(t, e) {
    return !t || t.type !== "TypeParameterInstantiation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(_be, "isTypeParameterInstantiation");
  function Lbe(t, e) {
    return !t || t.type !== "UnionTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Lbe, "isUnionTypeAnnotation");
  function Bbe(t, e) {
    return !t || t.type !== "Variance" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Bbe, "isVariance");
  function Mbe(t, e) {
    return !t || t.type !== "VoidTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Mbe, "isVoidTypeAnnotation");
  function Fbe(t, e) {
    return !t || t.type !== "EnumDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Fbe, "isEnumDeclaration");
  function jbe(t, e) {
    return !t || t.type !== "EnumBooleanBody" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(jbe, "isEnumBooleanBody");
  function Rbe(t, e) {
    return !t || t.type !== "EnumNumberBody" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Rbe, "isEnumNumberBody");
  function qbe(t, e) {
    return !t || t.type !== "EnumStringBody" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(qbe, "isEnumStringBody");
  function Ube(t, e) {
    return !t || t.type !== "EnumSymbolBody" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Ube, "isEnumSymbolBody");
  function Kbe(t, e) {
    return !t || t.type !== "EnumBooleanMember" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Kbe, "isEnumBooleanMember");
  function Vbe(t, e) {
    return !t || t.type !== "EnumNumberMember" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Vbe, "isEnumNumberMember");
  function Wbe(t, e) {
    return !t || t.type !== "EnumStringMember" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Wbe, "isEnumStringMember");
  function $be(t, e) {
    return !t || t.type !== "EnumDefaultedMember" ? !1 : e == null || (0, L.default)(t, e);
  }
  n($be, "isEnumDefaultedMember");
  function Hbe(t, e) {
    return !t || t.type !== "IndexedAccessType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Hbe, "isIndexedAccessType");
  function Jbe(t, e) {
    return !t || t.type !== "OptionalIndexedAccessType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Jbe, "isOptionalIndexedAccessType");
  function Ybe(t, e) {
    return !t || t.type !== "JSXAttribute" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Ybe, "isJSXAttribute");
  function Xbe(t, e) {
    return !t || t.type !== "JSXClosingElement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Xbe, "isJSXClosingElement");
  function zbe(t, e) {
    return !t || t.type !== "JSXElement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(zbe, "isJSXElement");
  function Gbe(t, e) {
    return !t || t.type !== "JSXEmptyExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Gbe, "isJSXEmptyExpression");
  function Qbe(t, e) {
    return !t || t.type !== "JSXExpressionContainer" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Qbe, "isJSXExpressionContainer");
  function Zbe(t, e) {
    return !t || t.type !== "JSXSpreadChild" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Zbe, "isJSXSpreadChild");
  function exe(t, e) {
    return !t || t.type !== "JSXIdentifier" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(exe, "isJSXIdentifier");
  function txe(t, e) {
    return !t || t.type !== "JSXMemberExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(txe, "isJSXMemberExpression");
  function sxe(t, e) {
    return !t || t.type !== "JSXNamespacedName" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(sxe, "isJSXNamespacedName");
  function rxe(t, e) {
    return !t || t.type !== "JSXOpeningElement" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(rxe, "isJSXOpeningElement");
  function ixe(t, e) {
    return !t || t.type !== "JSXSpreadAttribute" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(ixe, "isJSXSpreadAttribute");
  function nxe(t, e) {
    return !t || t.type !== "JSXText" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(nxe, "isJSXText");
  function axe(t, e) {
    return !t || t.type !== "JSXFragment" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(axe, "isJSXFragment");
  function oxe(t, e) {
    return !t || t.type !== "JSXOpeningFragment" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(oxe, "isJSXOpeningFragment");
  function lxe(t, e) {
    return !t || t.type !== "JSXClosingFragment" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(lxe, "isJSXClosingFragment");
  function uxe(t, e) {
    return !t || t.type !== "Noop" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(uxe, "isNoop");
  function cxe(t, e) {
    return !t || t.type !== "Placeholder" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(cxe, "isPlaceholder");
  function pxe(t, e) {
    return !t || t.type !== "V8IntrinsicIdentifier" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(pxe, "isV8IntrinsicIdentifier");
  function hxe(t, e) {
    return !t || t.type !== "ArgumentPlaceholder" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(hxe, "isArgumentPlaceholder");
  function fxe(t, e) {
    return !t || t.type !== "BindExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(fxe, "isBindExpression");
  function dxe(t, e) {
    return !t || t.type !== "ImportAttribute" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(dxe, "isImportAttribute");
  function mxe(t, e) {
    return !t || t.type !== "Decorator" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(mxe, "isDecorator");
  function yxe(t, e) {
    return !t || t.type !== "DoExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(yxe, "isDoExpression");
  function gxe(t, e) {
    return !t || t.type !== "ExportDefaultSpecifier" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(gxe, "isExportDefaultSpecifier");
  function Txe(t, e) {
    return !t || t.type !== "RecordExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Txe, "isRecordExpression");
  function bxe(t, e) {
    return !t || t.type !== "TupleExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(bxe, "isTupleExpression");
  function xxe(t, e) {
    return !t || t.type !== "DecimalLiteral" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(xxe, "isDecimalLiteral");
  function Sxe(t, e) {
    return !t || t.type !== "ModuleExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Sxe, "isModuleExpression");
  function Pxe(t, e) {
    return !t || t.type !== "TopicReference" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Pxe, "isTopicReference");
  function Exe(t, e) {
    return !t || t.type !== "PipelineTopicExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Exe, "isPipelineTopicExpression");
  function Axe(t, e) {
    return !t || t.type !== "PipelineBareFunction" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Axe, "isPipelineBareFunction");
  function vxe(t, e) {
    return !t || t.type !== "PipelinePrimaryTopicReference" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(vxe, "isPipelinePrimaryTopicReference");
  function Cxe(t, e) {
    return !t || t.type !== "TSParameterProperty" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Cxe, "isTSParameterProperty");
  function wxe(t, e) {
    return !t || t.type !== "TSDeclareFunction" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(wxe, "isTSDeclareFunction");
  function Ixe(t, e) {
    return !t || t.type !== "TSDeclareMethod" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Ixe, "isTSDeclareMethod");
  function Nxe(t, e) {
    return !t || t.type !== "TSQualifiedName" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Nxe, "isTSQualifiedName");
  function kxe(t, e) {
    return !t || t.type !== "TSCallSignatureDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(kxe, "isTSCallSignatureDeclaration");
  function Dxe(t, e) {
    return !t || t.type !== "TSConstructSignatureDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Dxe, "isTSConstructSignatureDeclaration");
  function Oxe(t, e) {
    return !t || t.type !== "TSPropertySignature" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Oxe, "isTSPropertySignature");
  function _xe(t, e) {
    return !t || t.type !== "TSMethodSignature" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(_xe, "isTSMethodSignature");
  function Lxe(t, e) {
    return !t || t.type !== "TSIndexSignature" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Lxe, "isTSIndexSignature");
  function Bxe(t, e) {
    return !t || t.type !== "TSAnyKeyword" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Bxe, "isTSAnyKeyword");
  function Mxe(t, e) {
    return !t || t.type !== "TSBooleanKeyword" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Mxe, "isTSBooleanKeyword");
  function Fxe(t, e) {
    return !t || t.type !== "TSBigIntKeyword" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Fxe, "isTSBigIntKeyword");
  function jxe(t, e) {
    return !t || t.type !== "TSIntrinsicKeyword" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(jxe, "isTSIntrinsicKeyword");
  function Rxe(t, e) {
    return !t || t.type !== "TSNeverKeyword" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Rxe, "isTSNeverKeyword");
  function qxe(t, e) {
    return !t || t.type !== "TSNullKeyword" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(qxe, "isTSNullKeyword");
  function Uxe(t, e) {
    return !t || t.type !== "TSNumberKeyword" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Uxe, "isTSNumberKeyword");
  function Kxe(t, e) {
    return !t || t.type !== "TSObjectKeyword" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Kxe, "isTSObjectKeyword");
  function Vxe(t, e) {
    return !t || t.type !== "TSStringKeyword" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Vxe, "isTSStringKeyword");
  function Wxe(t, e) {
    return !t || t.type !== "TSSymbolKeyword" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Wxe, "isTSSymbolKeyword");
  function $xe(t, e) {
    return !t || t.type !== "TSUndefinedKeyword" ? !1 : e == null || (0, L.default)(t, e);
  }
  n($xe, "isTSUndefinedKeyword");
  function Hxe(t, e) {
    return !t || t.type !== "TSUnknownKeyword" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Hxe, "isTSUnknownKeyword");
  function Jxe(t, e) {
    return !t || t.type !== "TSVoidKeyword" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Jxe, "isTSVoidKeyword");
  function Yxe(t, e) {
    return !t || t.type !== "TSThisType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Yxe, "isTSThisType");
  function Xxe(t, e) {
    return !t || t.type !== "TSFunctionType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Xxe, "isTSFunctionType");
  function zxe(t, e) {
    return !t || t.type !== "TSConstructorType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(zxe, "isTSConstructorType");
  function Gxe(t, e) {
    return !t || t.type !== "TSTypeReference" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Gxe, "isTSTypeReference");
  function Qxe(t, e) {
    return !t || t.type !== "TSTypePredicate" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Qxe, "isTSTypePredicate");
  function Zxe(t, e) {
    return !t || t.type !== "TSTypeQuery" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(Zxe, "isTSTypeQuery");
  function eSe(t, e) {
    return !t || t.type !== "TSTypeLiteral" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(eSe, "isTSTypeLiteral");
  function tSe(t, e) {
    return !t || t.type !== "TSArrayType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(tSe, "isTSArrayType");
  function sSe(t, e) {
    return !t || t.type !== "TSTupleType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(sSe, "isTSTupleType");
  function rSe(t, e) {
    return !t || t.type !== "TSOptionalType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(rSe, "isTSOptionalType");
  function iSe(t, e) {
    return !t || t.type !== "TSRestType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(iSe, "isTSRestType");
  function nSe(t, e) {
    return !t || t.type !== "TSNamedTupleMember" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(nSe, "isTSNamedTupleMember");
  function aSe(t, e) {
    return !t || t.type !== "TSUnionType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(aSe, "isTSUnionType");
  function oSe(t, e) {
    return !t || t.type !== "TSIntersectionType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(oSe, "isTSIntersectionType");
  function lSe(t, e) {
    return !t || t.type !== "TSConditionalType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(lSe, "isTSConditionalType");
  function uSe(t, e) {
    return !t || t.type !== "TSInferType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(uSe, "isTSInferType");
  function cSe(t, e) {
    return !t || t.type !== "TSParenthesizedType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(cSe, "isTSParenthesizedType");
  function pSe(t, e) {
    return !t || t.type !== "TSTypeOperator" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(pSe, "isTSTypeOperator");
  function hSe(t, e) {
    return !t || t.type !== "TSIndexedAccessType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(hSe, "isTSIndexedAccessType");
  function fSe(t, e) {
    return !t || t.type !== "TSMappedType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(fSe, "isTSMappedType");
  function dSe(t, e) {
    return !t || t.type !== "TSTemplateLiteralType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(dSe, "isTSTemplateLiteralType");
  function mSe(t, e) {
    return !t || t.type !== "TSLiteralType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(mSe, "isTSLiteralType");
  function ySe(t, e) {
    return !t || t.type !== "TSExpressionWithTypeArguments" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(ySe, "isTSExpressionWithTypeArguments");
  function gSe(t, e) {
    return !t || t.type !== "TSInterfaceDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(gSe, "isTSInterfaceDeclaration");
  function TSe(t, e) {
    return !t || t.type !== "TSInterfaceBody" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(TSe, "isTSInterfaceBody");
  function bSe(t, e) {
    return !t || t.type !== "TSTypeAliasDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(bSe, "isTSTypeAliasDeclaration");
  function xSe(t, e) {
    return !t || t.type !== "TSInstantiationExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(xSe, "isTSInstantiationExpression");
  function SSe(t, e) {
    return !t || t.type !== "TSAsExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(SSe, "isTSAsExpression");
  function PSe(t, e) {
    return !t || t.type !== "TSSatisfiesExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(PSe, "isTSSatisfiesExpression");
  function ESe(t, e) {
    return !t || t.type !== "TSTypeAssertion" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(ESe, "isTSTypeAssertion");
  function ASe(t, e) {
    return !t || t.type !== "TSEnumBody" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(ASe, "isTSEnumBody");
  function vSe(t, e) {
    return !t || t.type !== "TSEnumDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(vSe, "isTSEnumDeclaration");
  function CSe(t, e) {
    return !t || t.type !== "TSEnumMember" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(CSe, "isTSEnumMember");
  function wSe(t, e) {
    return !t || t.type !== "TSModuleDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(wSe, "isTSModuleDeclaration");
  function ISe(t, e) {
    return !t || t.type !== "TSModuleBlock" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(ISe, "isTSModuleBlock");
  function NSe(t, e) {
    return !t || t.type !== "TSImportType" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(NSe, "isTSImportType");
  function kSe(t, e) {
    return !t || t.type !== "TSImportEqualsDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(kSe, "isTSImportEqualsDeclaration");
  function DSe(t, e) {
    return !t || t.type !== "TSExternalModuleReference" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(DSe, "isTSExternalModuleReference");
  function OSe(t, e) {
    return !t || t.type !== "TSNonNullExpression" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(OSe, "isTSNonNullExpression");
  function _Se(t, e) {
    return !t || t.type !== "TSExportAssignment" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(_Se, "isTSExportAssignment");
  function LSe(t, e) {
    return !t || t.type !== "TSNamespaceExportDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(LSe, "isTSNamespaceExportDeclaration");
  function BSe(t, e) {
    return !t || t.type !== "TSTypeAnnotation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(BSe, "isTSTypeAnnotation");
  function MSe(t, e) {
    return !t || t.type !== "TSTypeParameterInstantiation" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(MSe, "isTSTypeParameterInstantiation");
  function FSe(t, e) {
    return !t || t.type !== "TSTypeParameterDeclaration" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(FSe, "isTSTypeParameterDeclaration");
  function jSe(t, e) {
    return !t || t.type !== "TSTypeParameter" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(jSe, "isTSTypeParameter");
  function RSe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ArrayExpression":
      case "AssignmentExpression":
      case "BinaryExpression":
      case "InterpreterDirective":
      case "Directive":
      case "DirectiveLiteral":
      case "BlockStatement":
      case "BreakStatement":
      case "CallExpression":
      case "CatchClause":
      case "ConditionalExpression":
      case "ContinueStatement":
      case "DebuggerStatement":
      case "DoWhileStatement":
      case "EmptyStatement":
      case "ExpressionStatement":
      case "File":
      case "ForInStatement":
      case "ForStatement":
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "Identifier":
      case "IfStatement":
      case "LabeledStatement":
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "RegExpLiteral":
      case "LogicalExpression":
      case "MemberExpression":
      case "NewExpression":
      case "Program":
      case "ObjectExpression":
      case "ObjectMethod":
      case "ObjectProperty":
      case "RestElement":
      case "ReturnStatement":
      case "SequenceExpression":
      case "ParenthesizedExpression":
      case "SwitchCase":
      case "SwitchStatement":
      case "ThisExpression":
      case "ThrowStatement":
      case "TryStatement":
      case "UnaryExpression":
      case "UpdateExpression":
      case "VariableDeclaration":
      case "VariableDeclarator":
      case "WhileStatement":
      case "WithStatement":
      case "AssignmentPattern":
      case "ArrayPattern":
      case "ArrowFunctionExpression":
      case "ClassBody":
      case "ClassExpression":
      case "ClassDeclaration":
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
      case "ExportSpecifier":
      case "ForOfStatement":
      case "ImportDeclaration":
      case "ImportDefaultSpecifier":
      case "ImportNamespaceSpecifier":
      case "ImportSpecifier":
      case "ImportExpression":
      case "MetaProperty":
      case "ClassMethod":
      case "ObjectPattern":
      case "SpreadElement":
      case "Super":
      case "TaggedTemplateExpression":
      case "TemplateElement":
      case "TemplateLiteral":
      case "YieldExpression":
      case "AwaitExpression":
      case "Import":
      case "BigIntLiteral":
      case "ExportNamespaceSpecifier":
      case "OptionalMemberExpression":
      case "OptionalCallExpression":
      case "ClassProperty":
      case "ClassAccessorProperty":
      case "ClassPrivateProperty":
      case "ClassPrivateMethod":
      case "PrivateName":
      case "StaticBlock":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Identifier":
          case "StringLiteral":
          case "BlockStatement":
          case "ClassBody":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(RSe, "isStandardized");
  function qSe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ArrayExpression":
      case "AssignmentExpression":
      case "BinaryExpression":
      case "CallExpression":
      case "ConditionalExpression":
      case "FunctionExpression":
      case "Identifier":
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "RegExpLiteral":
      case "LogicalExpression":
      case "MemberExpression":
      case "NewExpression":
      case "ObjectExpression":
      case "SequenceExpression":
      case "ParenthesizedExpression":
      case "ThisExpression":
      case "UnaryExpression":
      case "UpdateExpression":
      case "ArrowFunctionExpression":
      case "ClassExpression":
      case "ImportExpression":
      case "MetaProperty":
      case "Super":
      case "TaggedTemplateExpression":
      case "TemplateLiteral":
      case "YieldExpression":
      case "AwaitExpression":
      case "Import":
      case "BigIntLiteral":
      case "OptionalMemberExpression":
      case "OptionalCallExpression":
      case "TypeCastExpression":
      case "JSXElement":
      case "JSXFragment":
      case "BindExpression":
      case "DoExpression":
      case "RecordExpression":
      case "TupleExpression":
      case "DecimalLiteral":
      case "ModuleExpression":
      case "TopicReference":
      case "PipelineTopicExpression":
      case "PipelineBareFunction":
      case "PipelinePrimaryTopicReference":
      case "TSInstantiationExpression":
      case "TSAsExpression":
      case "TSSatisfiesExpression":
      case "TSTypeAssertion":
      case "TSNonNullExpression":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Expression":
          case "Identifier":
          case "StringLiteral":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(qSe, "isExpression");
  function USe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BinaryExpression":
      case "LogicalExpression":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(USe, "isBinary");
  function KSe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BlockStatement":
      case "CatchClause":
      case "DoWhileStatement":
      case "ForInStatement":
      case "ForStatement":
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "Program":
      case "ObjectMethod":
      case "SwitchStatement":
      case "WhileStatement":
      case "ArrowFunctionExpression":
      case "ClassExpression":
      case "ClassDeclaration":
      case "ForOfStatement":
      case "ClassMethod":
      case "ClassPrivateMethod":
      case "StaticBlock":
      case "TSModuleBlock":
        break;
      case "Placeholder":
        if (t.expectedNode === "BlockStatement") break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(KSe, "isScopable");
  function VSe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BlockStatement":
      case "CatchClause":
      case "DoWhileStatement":
      case "ForInStatement":
      case "ForStatement":
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "Program":
      case "ObjectMethod":
      case "SwitchStatement":
      case "WhileStatement":
      case "ArrowFunctionExpression":
      case "ForOfStatement":
      case "ClassMethod":
      case "ClassPrivateMethod":
      case "StaticBlock":
      case "TSModuleBlock":
        break;
      case "Placeholder":
        if (t.expectedNode === "BlockStatement") break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(VSe, "isBlockParent");
  function WSe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BlockStatement":
      case "Program":
      case "TSModuleBlock":
        break;
      case "Placeholder":
        if (t.expectedNode === "BlockStatement") break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(WSe, "isBlock");
  function $Se(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BlockStatement":
      case "BreakStatement":
      case "ContinueStatement":
      case "DebuggerStatement":
      case "DoWhileStatement":
      case "EmptyStatement":
      case "ExpressionStatement":
      case "ForInStatement":
      case "ForStatement":
      case "FunctionDeclaration":
      case "IfStatement":
      case "LabeledStatement":
      case "ReturnStatement":
      case "SwitchStatement":
      case "ThrowStatement":
      case "TryStatement":
      case "VariableDeclaration":
      case "WhileStatement":
      case "WithStatement":
      case "ClassDeclaration":
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
      case "ForOfStatement":
      case "ImportDeclaration":
      case "DeclareClass":
      case "DeclareFunction":
      case "DeclareInterface":
      case "DeclareModule":
      case "DeclareModuleExports":
      case "DeclareTypeAlias":
      case "DeclareOpaqueType":
      case "DeclareVariable":
      case "DeclareExportDeclaration":
      case "DeclareExportAllDeclaration":
      case "InterfaceDeclaration":
      case "OpaqueType":
      case "TypeAlias":
      case "EnumDeclaration":
      case "TSDeclareFunction":
      case "TSInterfaceDeclaration":
      case "TSTypeAliasDeclaration":
      case "TSEnumDeclaration":
      case "TSModuleDeclaration":
      case "TSImportEqualsDeclaration":
      case "TSExportAssignment":
      case "TSNamespaceExportDeclaration":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Statement":
          case "Declaration":
          case "BlockStatement":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n($Se, "isStatement");
  function HSe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BreakStatement":
      case "ContinueStatement":
      case "ReturnStatement":
      case "ThrowStatement":
      case "YieldExpression":
      case "AwaitExpression":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(HSe, "isTerminatorless");
  function JSe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BreakStatement":
      case "ContinueStatement":
      case "ReturnStatement":
      case "ThrowStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(JSe, "isCompletionStatement");
  function YSe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ConditionalExpression":
      case "IfStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(YSe, "isConditional");
  function XSe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "DoWhileStatement":
      case "ForInStatement":
      case "ForStatement":
      case "WhileStatement":
      case "ForOfStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(XSe, "isLoop");
  function zSe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "DoWhileStatement":
      case "WhileStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(zSe, "isWhile");
  function GSe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ExpressionStatement":
      case "ParenthesizedExpression":
      case "TypeCastExpression":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(GSe, "isExpressionWrapper");
  function QSe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ForInStatement":
      case "ForStatement":
      case "ForOfStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(QSe, "isFor");
  function ZSe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ForInStatement":
      case "ForOfStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(ZSe, "isForXStatement");
  function ePe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "ObjectMethod":
      case "ArrowFunctionExpression":
      case "ClassMethod":
      case "ClassPrivateMethod":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(ePe, "isFunction");
  function tPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "ObjectMethod":
      case "ArrowFunctionExpression":
      case "ClassMethod":
      case "ClassPrivateMethod":
      case "StaticBlock":
      case "TSModuleBlock":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(tPe, "isFunctionParent");
  function sPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "RegExpLiteral":
      case "ArrowFunctionExpression":
      case "BigIntLiteral":
      case "DecimalLiteral":
        break;
      case "Placeholder":
        if (t.expectedNode === "StringLiteral") break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(sPe, "isPureish");
  function rPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "FunctionDeclaration":
      case "VariableDeclaration":
      case "ClassDeclaration":
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
      case "ImportDeclaration":
      case "DeclareClass":
      case "DeclareFunction":
      case "DeclareInterface":
      case "DeclareModule":
      case "DeclareModuleExports":
      case "DeclareTypeAlias":
      case "DeclareOpaqueType":
      case "DeclareVariable":
      case "DeclareExportDeclaration":
      case "DeclareExportAllDeclaration":
      case "InterfaceDeclaration":
      case "OpaqueType":
      case "TypeAlias":
      case "EnumDeclaration":
      case "TSDeclareFunction":
      case "TSInterfaceDeclaration":
      case "TSTypeAliasDeclaration":
      case "TSEnumDeclaration":
      case "TSModuleDeclaration":
      case "TSImportEqualsDeclaration":
        break;
      case "Placeholder":
        if (t.expectedNode === "Declaration") break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(rPe, "isDeclaration");
  function iPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "Identifier":
      case "RestElement":
      case "AssignmentPattern":
      case "ArrayPattern":
      case "ObjectPattern":
      case "TSAsExpression":
      case "TSSatisfiesExpression":
      case "TSTypeAssertion":
      case "TSNonNullExpression":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Pattern":
          case "Identifier":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(iPe, "isPatternLike");
  function nPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "Identifier":
      case "MemberExpression":
      case "RestElement":
      case "AssignmentPattern":
      case "ArrayPattern":
      case "ObjectPattern":
      case "TSParameterProperty":
      case "TSAsExpression":
      case "TSSatisfiesExpression":
      case "TSTypeAssertion":
      case "TSNonNullExpression":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Pattern":
          case "Identifier":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(nPe, "isLVal");
  function aPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "Identifier":
      case "TSQualifiedName":
        break;
      case "Placeholder":
        if (t.expectedNode === "Identifier") break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(aPe, "isTSEntityName");
  function oPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "RegExpLiteral":
      case "TemplateLiteral":
      case "BigIntLiteral":
      case "DecimalLiteral":
        break;
      case "Placeholder":
        if (t.expectedNode === "StringLiteral") break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(oPe, "isLiteral");
  function lPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "BigIntLiteral":
      case "JSXAttribute":
      case "JSXClosingElement":
      case "JSXElement":
      case "JSXExpressionContainer":
      case "JSXSpreadChild":
      case "JSXOpeningElement":
      case "JSXText":
      case "JSXFragment":
      case "JSXOpeningFragment":
      case "JSXClosingFragment":
      case "DecimalLiteral":
        break;
      case "Placeholder":
        if (t.expectedNode === "StringLiteral") break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(lPe, "isImmutable");
  function uPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ObjectMethod":
      case "ObjectProperty":
      case "ObjectTypeInternalSlot":
      case "ObjectTypeCallProperty":
      case "ObjectTypeIndexer":
      case "ObjectTypeProperty":
      case "ObjectTypeSpreadProperty":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(uPe, "isUserWhitespacable");
  function cPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ObjectMethod":
      case "ClassMethod":
      case "ClassPrivateMethod":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(cPe, "isMethod");
  function pPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ObjectMethod":
      case "ObjectProperty":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(pPe, "isObjectMember");
  function hPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ObjectProperty":
      case "ClassProperty":
      case "ClassAccessorProperty":
      case "ClassPrivateProperty":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(hPe, "isProperty");
  function fPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "UnaryExpression":
      case "SpreadElement":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(fPe, "isUnaryLike");
  function dPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "AssignmentPattern":
      case "ArrayPattern":
      case "ObjectPattern":
        break;
      case "Placeholder":
        if (t.expectedNode === "Pattern") break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(dPe, "isPattern");
  function mPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ClassExpression":
      case "ClassDeclaration":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(mPe, "isClass");
  function S7(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
      case "ImportDeclaration":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(S7, "isImportOrExportDeclaration");
  function yPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(yPe, "isExportDeclaration");
  function gPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ExportSpecifier":
      case "ImportDefaultSpecifier":
      case "ImportNamespaceSpecifier":
      case "ImportSpecifier":
      case "ExportNamespaceSpecifier":
      case "ExportDefaultSpecifier":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(gPe, "isModuleSpecifier");
  function TPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ClassAccessorProperty":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(TPe, "isAccessor");
  function bPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ClassPrivateProperty":
      case "ClassPrivateMethod":
      case "PrivateName":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(bPe, "isPrivate");
  function xPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "AnyTypeAnnotation":
      case "ArrayTypeAnnotation":
      case "BooleanTypeAnnotation":
      case "BooleanLiteralTypeAnnotation":
      case "NullLiteralTypeAnnotation":
      case "ClassImplements":
      case "DeclareClass":
      case "DeclareFunction":
      case "DeclareInterface":
      case "DeclareModule":
      case "DeclareModuleExports":
      case "DeclareTypeAlias":
      case "DeclareOpaqueType":
      case "DeclareVariable":
      case "DeclareExportDeclaration":
      case "DeclareExportAllDeclaration":
      case "DeclaredPredicate":
      case "ExistsTypeAnnotation":
      case "FunctionTypeAnnotation":
      case "FunctionTypeParam":
      case "GenericTypeAnnotation":
      case "InferredPredicate":
      case "InterfaceExtends":
      case "InterfaceDeclaration":
      case "InterfaceTypeAnnotation":
      case "IntersectionTypeAnnotation":
      case "MixedTypeAnnotation":
      case "EmptyTypeAnnotation":
      case "NullableTypeAnnotation":
      case "NumberLiteralTypeAnnotation":
      case "NumberTypeAnnotation":
      case "ObjectTypeAnnotation":
      case "ObjectTypeInternalSlot":
      case "ObjectTypeCallProperty":
      case "ObjectTypeIndexer":
      case "ObjectTypeProperty":
      case "ObjectTypeSpreadProperty":
      case "OpaqueType":
      case "QualifiedTypeIdentifier":
      case "StringLiteralTypeAnnotation":
      case "StringTypeAnnotation":
      case "SymbolTypeAnnotation":
      case "ThisTypeAnnotation":
      case "TupleTypeAnnotation":
      case "TypeofTypeAnnotation":
      case "TypeAlias":
      case "TypeAnnotation":
      case "TypeCastExpression":
      case "TypeParameter":
      case "TypeParameterDeclaration":
      case "TypeParameterInstantiation":
      case "UnionTypeAnnotation":
      case "Variance":
      case "VoidTypeAnnotation":
      case "EnumDeclaration":
      case "EnumBooleanBody":
      case "EnumNumberBody":
      case "EnumStringBody":
      case "EnumSymbolBody":
      case "EnumBooleanMember":
      case "EnumNumberMember":
      case "EnumStringMember":
      case "EnumDefaultedMember":
      case "IndexedAccessType":
      case "OptionalIndexedAccessType":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(xPe, "isFlow");
  function SPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "AnyTypeAnnotation":
      case "ArrayTypeAnnotation":
      case "BooleanTypeAnnotation":
      case "BooleanLiteralTypeAnnotation":
      case "NullLiteralTypeAnnotation":
      case "ExistsTypeAnnotation":
      case "FunctionTypeAnnotation":
      case "GenericTypeAnnotation":
      case "InterfaceTypeAnnotation":
      case "IntersectionTypeAnnotation":
      case "MixedTypeAnnotation":
      case "EmptyTypeAnnotation":
      case "NullableTypeAnnotation":
      case "NumberLiteralTypeAnnotation":
      case "NumberTypeAnnotation":
      case "ObjectTypeAnnotation":
      case "StringLiteralTypeAnnotation":
      case "StringTypeAnnotation":
      case "SymbolTypeAnnotation":
      case "ThisTypeAnnotation":
      case "TupleTypeAnnotation":
      case "TypeofTypeAnnotation":
      case "UnionTypeAnnotation":
      case "VoidTypeAnnotation":
      case "IndexedAccessType":
      case "OptionalIndexedAccessType":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(SPe, "isFlowType");
  function PPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "AnyTypeAnnotation":
      case "BooleanTypeAnnotation":
      case "NullLiteralTypeAnnotation":
      case "MixedTypeAnnotation":
      case "EmptyTypeAnnotation":
      case "NumberTypeAnnotation":
      case "StringTypeAnnotation":
      case "SymbolTypeAnnotation":
      case "ThisTypeAnnotation":
      case "VoidTypeAnnotation":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(PPe, "isFlowBaseAnnotation");
  function EPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "DeclareClass":
      case "DeclareFunction":
      case "DeclareInterface":
      case "DeclareModule":
      case "DeclareModuleExports":
      case "DeclareTypeAlias":
      case "DeclareOpaqueType":
      case "DeclareVariable":
      case "DeclareExportDeclaration":
      case "DeclareExportAllDeclaration":
      case "InterfaceDeclaration":
      case "OpaqueType":
      case "TypeAlias":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(EPe, "isFlowDeclaration");
  function APe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "DeclaredPredicate":
      case "InferredPredicate":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(APe, "isFlowPredicate");
  function vPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "EnumBooleanBody":
      case "EnumNumberBody":
      case "EnumStringBody":
      case "EnumSymbolBody":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(vPe, "isEnumBody");
  function CPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "EnumBooleanMember":
      case "EnumNumberMember":
      case "EnumStringMember":
      case "EnumDefaultedMember":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(CPe, "isEnumMember");
  function wPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "JSXAttribute":
      case "JSXClosingElement":
      case "JSXElement":
      case "JSXEmptyExpression":
      case "JSXExpressionContainer":
      case "JSXSpreadChild":
      case "JSXIdentifier":
      case "JSXMemberExpression":
      case "JSXNamespacedName":
      case "JSXOpeningElement":
      case "JSXSpreadAttribute":
      case "JSXText":
      case "JSXFragment":
      case "JSXOpeningFragment":
      case "JSXClosingFragment":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(wPe, "isJSX");
  function IPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "Noop":
      case "Placeholder":
      case "V8IntrinsicIdentifier":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(IPe, "isMiscellaneous");
  function NPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "TSParameterProperty":
      case "TSDeclareFunction":
      case "TSDeclareMethod":
      case "TSQualifiedName":
      case "TSCallSignatureDeclaration":
      case "TSConstructSignatureDeclaration":
      case "TSPropertySignature":
      case "TSMethodSignature":
      case "TSIndexSignature":
      case "TSAnyKeyword":
      case "TSBooleanKeyword":
      case "TSBigIntKeyword":
      case "TSIntrinsicKeyword":
      case "TSNeverKeyword":
      case "TSNullKeyword":
      case "TSNumberKeyword":
      case "TSObjectKeyword":
      case "TSStringKeyword":
      case "TSSymbolKeyword":
      case "TSUndefinedKeyword":
      case "TSUnknownKeyword":
      case "TSVoidKeyword":
      case "TSThisType":
      case "TSFunctionType":
      case "TSConstructorType":
      case "TSTypeReference":
      case "TSTypePredicate":
      case "TSTypeQuery":
      case "TSTypeLiteral":
      case "TSArrayType":
      case "TSTupleType":
      case "TSOptionalType":
      case "TSRestType":
      case "TSNamedTupleMember":
      case "TSUnionType":
      case "TSIntersectionType":
      case "TSConditionalType":
      case "TSInferType":
      case "TSParenthesizedType":
      case "TSTypeOperator":
      case "TSIndexedAccessType":
      case "TSMappedType":
      case "TSTemplateLiteralType":
      case "TSLiteralType":
      case "TSExpressionWithTypeArguments":
      case "TSInterfaceDeclaration":
      case "TSInterfaceBody":
      case "TSTypeAliasDeclaration":
      case "TSInstantiationExpression":
      case "TSAsExpression":
      case "TSSatisfiesExpression":
      case "TSTypeAssertion":
      case "TSEnumBody":
      case "TSEnumDeclaration":
      case "TSEnumMember":
      case "TSModuleDeclaration":
      case "TSModuleBlock":
      case "TSImportType":
      case "TSImportEqualsDeclaration":
      case "TSExternalModuleReference":
      case "TSNonNullExpression":
      case "TSExportAssignment":
      case "TSNamespaceExportDeclaration":
      case "TSTypeAnnotation":
      case "TSTypeParameterInstantiation":
      case "TSTypeParameterDeclaration":
      case "TSTypeParameter":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(NPe, "isTypeScript");
  function kPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "TSCallSignatureDeclaration":
      case "TSConstructSignatureDeclaration":
      case "TSPropertySignature":
      case "TSMethodSignature":
      case "TSIndexSignature":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(kPe, "isTSTypeElement");
  function DPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "TSAnyKeyword":
      case "TSBooleanKeyword":
      case "TSBigIntKeyword":
      case "TSIntrinsicKeyword":
      case "TSNeverKeyword":
      case "TSNullKeyword":
      case "TSNumberKeyword":
      case "TSObjectKeyword":
      case "TSStringKeyword":
      case "TSSymbolKeyword":
      case "TSUndefinedKeyword":
      case "TSUnknownKeyword":
      case "TSVoidKeyword":
      case "TSThisType":
      case "TSFunctionType":
      case "TSConstructorType":
      case "TSTypeReference":
      case "TSTypePredicate":
      case "TSTypeQuery":
      case "TSTypeLiteral":
      case "TSArrayType":
      case "TSTupleType":
      case "TSOptionalType":
      case "TSRestType":
      case "TSUnionType":
      case "TSIntersectionType":
      case "TSConditionalType":
      case "TSInferType":
      case "TSParenthesizedType":
      case "TSTypeOperator":
      case "TSIndexedAccessType":
      case "TSMappedType":
      case "TSTemplateLiteralType":
      case "TSLiteralType":
      case "TSExpressionWithTypeArguments":
      case "TSImportType":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(DPe, "isTSType");
  function OPe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "TSAnyKeyword":
      case "TSBooleanKeyword":
      case "TSBigIntKeyword":
      case "TSIntrinsicKeyword":
      case "TSNeverKeyword":
      case "TSNullKeyword":
      case "TSNumberKeyword":
      case "TSObjectKeyword":
      case "TSStringKeyword":
      case "TSSymbolKeyword":
      case "TSUndefinedKeyword":
      case "TSUnknownKeyword":
      case "TSVoidKeyword":
      case "TSThisType":
      case "TSTemplateLiteralType":
      case "TSLiteralType":
        break;
      default:
        return !1;
    }
    return e == null || (0, L.default)(t, e);
  }
  n(OPe, "isTSBaseType");
  function _Pe(t, e) {
    return (0, My.default)("isNumberLiteral", "isNumericLiteral"), !t || t.type !== "NumberLiteral" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(_Pe, "isNumberLiteral");
  function LPe(t, e) {
    return (0, My.default)("isRegexLiteral", "isRegExpLiteral"), !t || t.type !== "RegexLiteral" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(LPe, "isRegexLiteral");
  function BPe(t, e) {
    return (0, My.default)("isRestProperty", "isRestElement"), !t || t.type !== "RestProperty" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(BPe, "isRestProperty");
  function MPe(t, e) {
    return (0, My.default)("isSpreadProperty", "isSpreadElement"), !t || t.type !== "SpreadProperty" ? !1 : e == null || (0, L.default)(t, e);
  }
  n(MPe, "isSpreadProperty");
  function FPe(t, e) {
    return (0, My.default)("isModuleDeclaration", "isImportOrExportDeclaration"), S7(t, e);
  }
  n(FPe, "isModuleDeclaration");
});

// ../node_modules/@babel/types/lib/validators/matchesPattern.js
var gC = g((yC) => {
  "use strict";
  Object.defineProperty(yC, "__esModule", {
    value: !0
  });
  yC.default = jPe;
  var Fy = ei();
  function jPe(t, e, s) {
    if (!(0, Fy.isMemberExpression)(t)) return !1;
    let r = Array.isArray(e) ? e : e.split("."), i = [], a;
    for (a = t; (0, Fy.isMemberExpression)(a); a = a.object)
      i.push(a.property);
    if (i.push(a), i.length < r.length || !s && i.length > r.length) return !1;
    for (let o = 0, l = i.length - 1; o < r.length; o++, l--) {
      let u = i[l], c;
      if ((0, Fy.isIdentifier)(u))
        c = u.name;
      else if ((0, Fy.isStringLiteral)(u))
        c = u.value;
      else if ((0, Fy.isThisExpression)(u))
        c = "this";
      else
        return !1;
      if (r[o] !== c) return !1;
    }
    return !0;
  }
  n(jPe, "matchesPattern");
});

// ../node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js
var bC = g((TC) => {
  "use strict";
  Object.defineProperty(TC, "__esModule", {
    value: !0
  });
  TC.default = qPe;
  var RPe = gC();
  function qPe(t, e) {
    let s = t.split(".");
    return (r) => (0, RPe.default)(r, s, e);
  }
  n(qPe, "buildMatchMemberExpression");
});

// ../node_modules/@babel/types/lib/validators/react/isReactComponent.js
var P7 = g((yb) => {
  "use strict";
  Object.defineProperty(yb, "__esModule", {
    value: !0
  });
  yb.default = void 0;
  var UPe = bC(), KPe = (0, UPe.default)("React.Component"), n4s = yb.default = KPe;
});

// ../node_modules/@babel/types/lib/validators/react/isCompatTag.js
var E7 = g((xC) => {
  "use strict";
  Object.defineProperty(xC, "__esModule", {
    value: !0
  });
  xC.default = VPe;
  function VPe(t) {
    return !!t && /^[a-z]/.test(t);
  }
  n(VPe, "isCompatTag");
});

// ../node_modules/@babel/types/lib/validators/isType.js
var gb = g((SC) => {
  "use strict";
  Object.defineProperty(SC, "__esModule", {
    value: !0
  });
  SC.default = WPe;
  var A7 = Ta();
  function WPe(t, e) {
    if (t === e) return !0;
    if (t == null || A7.ALIAS_KEYS[e]) return !1;
    let s = A7.FLIPPED_ALIAS_KEYS[e];
    if (s) {
      if (s[0] === t) return !0;
      for (let r of s)
        if (t === r) return !0;
    }
    return !1;
  }
  n(WPe, "isType");
});

// ../node_modules/@babel/types/lib/validators/isPlaceholderType.js
var EC = g((PC) => {
  "use strict";
  Object.defineProperty(PC, "__esModule", {
    value: !0
  });
  PC.default = HPe;
  var $Pe = Ta();
  function HPe(t, e) {
    if (t === e) return !0;
    let s = $Pe.PLACEHOLDERS_ALIAS[t];
    if (s) {
      for (let r of s)
        if (e === r) return !0;
    }
    return !1;
  }
  n(HPe, "isPlaceholderType");
});

// ../node_modules/@babel/types/lib/validators/is.js
var Qf = g((AC) => {
  "use strict";
  Object.defineProperty(AC, "__esModule", {
    value: !0
  });
  AC.default = GPe;
  var JPe = mb(), YPe = gb(), XPe = EC(), zPe = Ta();
  function GPe(t, e, s) {
    return e ? (0, YPe.default)(e.type, t) ? s === void 0 ? !0 : (0, JPe.default)(e, s) : !s && e.type === "Placeholder" && t in zPe.FLIPPED_ALIAS_KEYS ?
    (0, XPe.default)(e.expectedNode, t) : !1 : !1;
  }
  n(GPe, "is");
});

// ../node_modules/@babel/helper-validator-identifier/lib/identifier.js
var N7 = g((jy) => {
  "use strict";
  Object.defineProperty(jy, "__esModule", {
    value: !0
  });
  jy.isIdentifierChar = I7;
  jy.isIdentifierName = tEe;
  jy.isIdentifierStart = w7;
  var CC = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993\
-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\
\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\
\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\
\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\
\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01\
-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",
  v7 = "\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\
\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\
\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6\
-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20\
-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65", QPe = new RegExp("[" + CC + "]"), ZPe = new RegExp("[" + CC + v7 + "]");
  CC = v7 = null;
  var C7 = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157,
  19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5,
  3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7,
  2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17,
  47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64,
  6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45,
  52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2,
  1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29,
  113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071,
  18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12,
  65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991,
  84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30,
  2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3,
  0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2,
  2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153,
  7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191], eEe = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5,
  0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13,
  2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4,
  68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58,
  14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54,
  7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350,
  0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543,
  4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6,
  10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
  function vC(t, e) {
    let s = 65536;
    for (let r = 0, i = e.length; r < i; r += 2) {
      if (s += e[r], s > t) return !1;
      if (s += e[r + 1], s >= t) return !0;
    }
    return !1;
  }
  n(vC, "isInAstralSet");
  function w7(t) {
    return t < 65 ? t === 36 : t <= 90 ? !0 : t < 97 ? t === 95 : t <= 122 ? !0 : t <= 65535 ? t >= 170 && QPe.test(String.fromCharCode(t)) :
    vC(t, C7);
  }
  n(w7, "isIdentifierStart");
  function I7(t) {
    return t < 48 ? t === 36 : t < 58 ? !0 : t < 65 ? !1 : t <= 90 ? !0 : t < 97 ? t === 95 : t <= 122 ? !0 : t <= 65535 ? t >= 170 && ZPe.test(
    String.fromCharCode(t)) : vC(t, C7) || vC(t, eEe);
  }
  n(I7, "isIdentifierChar");
  function tEe(t) {
    let e = !0;
    for (let s = 0; s < t.length; s++) {
      let r = t.charCodeAt(s);
      if ((r & 64512) === 55296 && s + 1 < t.length) {
        let i = t.charCodeAt(++s);
        (i & 64512) === 56320 && (r = 65536 + ((r & 1023) << 10) + (i & 1023));
      }
      if (e) {
        if (e = !1, !w7(r))
          return !1;
      } else if (!I7(r))
        return !1;
    }
    return !e;
  }
  n(tEe, "isIdentifierName");
});

// ../node_modules/@babel/helper-validator-identifier/lib/keyword.js
var _7 = g((Qp) => {
  "use strict";
  Object.defineProperty(Qp, "__esModule", {
    value: !0
  });
  Qp.isKeyword = aEe;
  Qp.isReservedWord = k7;
  Qp.isStrictBindOnlyReservedWord = O7;
  Qp.isStrictBindReservedWord = nEe;
  Qp.isStrictReservedWord = D7;
  var wC = {
    keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "swit\
ch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false",
    "in", "instanceof", "typeof", "void", "delete"],
    strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
    strictBind: ["eval", "arguments"]
  }, sEe = new Set(wC.keyword), rEe = new Set(wC.strict), iEe = new Set(wC.strictBind);
  function k7(t, e) {
    return e && t === "await" || t === "enum";
  }
  n(k7, "isReservedWord");
  function D7(t, e) {
    return k7(t, e) || rEe.has(t);
  }
  n(D7, "isStrictReservedWord");
  function O7(t) {
    return iEe.has(t);
  }
  n(O7, "isStrictBindOnlyReservedWord");
  function nEe(t, e) {
    return D7(t, e) || O7(t);
  }
  n(nEe, "isStrictBindReservedWord");
  function aEe(t) {
    return sEe.has(t);
  }
  n(aEe, "isKeyword");
});

// ../node_modules/@babel/helper-validator-identifier/lib/index.js
var ba = g((Yo) => {
  "use strict";
  Object.defineProperty(Yo, "__esModule", {
    value: !0
  });
  Object.defineProperty(Yo, "isIdentifierChar", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return IC.isIdentifierChar;
    }, "get")
  });
  Object.defineProperty(Yo, "isIdentifierName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return IC.isIdentifierName;
    }, "get")
  });
  Object.defineProperty(Yo, "isIdentifierStart", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return IC.isIdentifierStart;
    }, "get")
  });
  Object.defineProperty(Yo, "isKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Ry.isKeyword;
    }, "get")
  });
  Object.defineProperty(Yo, "isReservedWord", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Ry.isReservedWord;
    }, "get")
  });
  Object.defineProperty(Yo, "isStrictBindOnlyReservedWord", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Ry.isStrictBindOnlyReservedWord;
    }, "get")
  });
  Object.defineProperty(Yo, "isStrictBindReservedWord", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Ry.isStrictBindReservedWord;
    }, "get")
  });
  Object.defineProperty(Yo, "isStrictReservedWord", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Ry.isStrictReservedWord;
    }, "get")
  });
  var IC = N7(), Ry = _7();
});

// ../node_modules/@babel/types/lib/validators/isValidIdentifier.js
var Zf = g((kC) => {
  "use strict";
  Object.defineProperty(kC, "__esModule", {
    value: !0
  });
  kC.default = oEe;
  var NC = ba();
  function oEe(t, e = !0) {
    return typeof t != "string" || e && ((0, NC.isKeyword)(t) || (0, NC.isStrictReservedWord)(t, !0)) ? !1 : (0, NC.isIdentifierName)(t);
  }
  n(oEe, "isValidIdentifier");
});

// ../node_modules/@babel/helper-string-parser/lib/index.js
var bb = g((qy) => {
  "use strict";
  Object.defineProperty(qy, "__esModule", {
    value: !0
  });
  qy.readCodePoint = M7;
  qy.readInt = B7;
  qy.readStringContents = uEe;
  var lEe = /* @__PURE__ */ n(function(e) {
    return e >= 48 && e <= 57;
  }, "isDigit"), L7 = {
    decBinOct: /* @__PURE__ */ new Set([46, 66, 69, 79, 95, 98, 101, 111]),
    hex: /* @__PURE__ */ new Set([46, 88, 95, 120])
  }, Tb = {
    bin: /* @__PURE__ */ n((t) => t === 48 || t === 49, "bin"),
    oct: /* @__PURE__ */ n((t) => t >= 48 && t <= 55, "oct"),
    dec: /* @__PURE__ */ n((t) => t >= 48 && t <= 57, "dec"),
    hex: /* @__PURE__ */ n((t) => t >= 48 && t <= 57 || t >= 65 && t <= 70 || t >= 97 && t <= 102, "hex")
  };
  function uEe(t, e, s, r, i, a) {
    let o = s, l = r, u = i, c = "", p = null, h = s, {
      length: f
    } = e;
    for (; ; ) {
      if (s >= f) {
        a.unterminated(o, l, u), c += e.slice(h, s);
        break;
      }
      let d = e.charCodeAt(s);
      if (cEe(t, d, e, s)) {
        c += e.slice(h, s);
        break;
      }
      if (d === 92) {
        c += e.slice(h, s);
        let m = pEe(e, s, r, i, t === "template", a);
        m.ch === null && !p ? p = {
          pos: s,
          lineStart: r,
          curLine: i
        } : c += m.ch, {
          pos: s,
          lineStart: r,
          curLine: i
        } = m, h = s;
      } else d === 8232 || d === 8233 ? (++s, ++i, r = s) : d === 10 || d === 13 ? t === "template" ? (c += e.slice(h, s) + `
`, ++s, d === 13 && e.charCodeAt(s) === 10 && ++s, ++i, h = r = s) : a.unterminated(o, l, u) : ++s;
    }
    return {
      pos: s,
      str: c,
      firstInvalidLoc: p,
      lineStart: r,
      curLine: i,
      containsInvalid: !!p
    };
  }
  n(uEe, "readStringContents");
  function cEe(t, e, s, r) {
    return t === "template" ? e === 96 || e === 36 && s.charCodeAt(r + 1) === 123 : e === (t === "double" ? 34 : 39);
  }
  n(cEe, "isStringEnd");
  function pEe(t, e, s, r, i, a) {
    let o = !i;
    e++;
    let l = /* @__PURE__ */ n((c) => ({
      pos: e,
      ch: c,
      lineStart: s,
      curLine: r
    }), "res"), u = t.charCodeAt(e++);
    switch (u) {
      case 110:
        return l(`
`);
      case 114:
        return l("\r");
      case 120: {
        let c;
        return {
          code: c,
          pos: e
        } = DC(t, e, s, r, 2, !1, o, a), l(c === null ? null : String.fromCharCode(c));
      }
      case 117: {
        let c;
        return {
          code: c,
          pos: e
        } = M7(t, e, s, r, o, a), l(c === null ? null : String.fromCodePoint(c));
      }
      case 116:
        return l("	");
      case 98:
        return l("\b");
      case 118:
        return l("\v");
      case 102:
        return l("\f");
      case 13:
        t.charCodeAt(e) === 10 && ++e;
      case 10:
        s = e, ++r;
      case 8232:
      case 8233:
        return l("");
      case 56:
      case 57:
        if (i)
          return l(null);
        a.strictNumericEscape(e - 1, s, r);
      default:
        if (u >= 48 && u <= 55) {
          let c = e - 1, h = /^[0-7]+/.exec(t.slice(c, e + 2))[0], f = parseInt(h, 8);
          f > 255 && (h = h.slice(0, -1), f = parseInt(h, 8)), e += h.length - 1;
          let d = t.charCodeAt(e);
          if (h !== "0" || d === 56 || d === 57) {
            if (i)
              return l(null);
            a.strictNumericEscape(c, s, r);
          }
          return l(String.fromCharCode(f));
        }
        return l(String.fromCharCode(u));
    }
  }
  n(pEe, "readEscapedChar");
  function DC(t, e, s, r, i, a, o, l) {
    let u = e, c;
    return {
      n: c,
      pos: e
    } = B7(t, e, s, r, 16, i, a, !1, l, !o), c === null && (o ? l.invalidEscapeSequence(u, s, r) : e = u - 1), {
      code: c,
      pos: e
    };
  }
  n(DC, "readHexChar");
  function B7(t, e, s, r, i, a, o, l, u, c) {
    let p = e, h = i === 16 ? L7.hex : L7.decBinOct, f = i === 16 ? Tb.hex : i === 10 ? Tb.dec : i === 8 ? Tb.oct : Tb.bin, d = !1, m = 0;
    for (let y = 0, T = a ?? 1 / 0; y < T; ++y) {
      let b = t.charCodeAt(e), E;
      if (b === 95 && l !== "bail") {
        let V = t.charCodeAt(e - 1), W = t.charCodeAt(e + 1);
        if (l) {
          if (Number.isNaN(W) || !f(W) || h.has(V) || h.has(W)) {
            if (c) return {
              n: null,
              pos: e
            };
            u.unexpectedNumericSeparator(e, s, r);
          }
        } else {
          if (c) return {
            n: null,
            pos: e
          };
          u.numericSeparatorInEscapeSequence(e, s, r);
        }
        ++e;
        continue;
      }
      if (b >= 97 ? E = b - 97 + 10 : b >= 65 ? E = b - 65 + 10 : lEe(b) ? E = b - 48 : E = 1 / 0, E >= i) {
        if (E <= 9 && c)
          return {
            n: null,
            pos: e
          };
        if (E <= 9 && u.invalidDigit(e, s, r, i))
          E = 0;
        else if (o)
          E = 0, d = !0;
        else
          break;
      }
      ++e, m = m * i + E;
    }
    return e === p || a != null && e - p !== a || d ? {
      n: null,
      pos: e
    } : {
      n: m,
      pos: e
    };
  }
  n(B7, "readInt");
  function M7(t, e, s, r, i, a) {
    let o = t.charCodeAt(e), l;
    if (o === 123) {
      if (++e, {
        code: l,
        pos: e
      } = DC(t, e, s, r, t.indexOf("}", e) - e, !0, i, a), ++e, l !== null && l > 1114111)
        if (i)
          a.invalidCodePoint(e, s, r);
        else
          return {
            code: null,
            pos: e
          };
    } else
      ({
        code: l,
        pos: e
      } = DC(t, e, s, r, 4, !1, i, a));
    return {
      code: l,
      pos: e
    };
  }
  n(M7, "readCodePoint");
});

// ../node_modules/@babel/types/lib/constants/index.js
var Pc = g((Gt) => {
  "use strict";
  Object.defineProperty(Gt, "__esModule", {
    value: !0
  });
  Gt.UPDATE_OPERATORS = Gt.UNARY_OPERATORS = Gt.STRING_UNARY_OPERATORS = Gt.STATEMENT_OR_BLOCK_KEYS = Gt.NUMBER_UNARY_OPERATORS = Gt.NUMBER_BINARY_OPERATORS =
  Gt.NOT_LOCAL_BINDING = Gt.LOGICAL_OPERATORS = Gt.INHERIT_KEYS = Gt.FOR_INIT_KEYS = Gt.FLATTENABLE_KEYS = Gt.EQUALITY_BINARY_OPERATORS = Gt.
  COMPARISON_BINARY_OPERATORS = Gt.COMMENT_KEYS = Gt.BOOLEAN_UNARY_OPERATORS = Gt.BOOLEAN_NUMBER_BINARY_OPERATORS = Gt.BOOLEAN_BINARY_OPERATORS =
  Gt.BLOCK_SCOPED_SYMBOL = Gt.BINARY_OPERATORS = Gt.ASSIGNMENT_OPERATORS = void 0;
  var v4s = Gt.STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"], C4s = Gt.FLATTENABLE_KEYS = ["body", "expressions"], w4s = Gt.
  FOR_INIT_KEYS = ["left", "init"], I4s = Gt.COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"], hEe = Gt.LOGICAL_OPERATORS =
  ["||", "&&", "??"], N4s = Gt.UPDATE_OPERATORS = ["++", "--"], fEe = Gt.BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="], dEe = Gt.
  EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="], mEe = Gt.COMPARISON_BINARY_OPERATORS = [...dEe, "in", "instanceof"], yEe = Gt.BOOLEAN_BINARY_OPERATORS =
  [...mEe, ...fEe], F7 = Gt.NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"], k4s = Gt.BINARY_OPERATORS =
  ["+", ...F7, ...yEe, "|>"], D4s = Gt.ASSIGNMENT_OPERATORS = ["=", "+=", ...F7.map((t) => t + "="), ...hEe.map((t) => t + "=")], gEe = Gt.BOOLEAN_UNARY_OPERATORS =
  ["delete", "!"], TEe = Gt.NUMBER_UNARY_OPERATORS = ["+", "-", "~"], bEe = Gt.STRING_UNARY_OPERATORS = ["typeof"], O4s = Gt.UNARY_OPERATORS =
  ["void", "throw", ...gEe, ...TEe, ...bEe], _4s = Gt.INHERIT_KEYS = {
    optional: ["typeAnnotation", "typeParameters", "returnType"],
    force: ["start", "loc", "end"]
  }, L4s = Gt.BLOCK_SCOPED_SYMBOL = Symbol.for("var used to be block scoped"), B4s = Gt.NOT_LOCAL_BINDING = Symbol.for("should not be consid\
ered a local binding");
});

// ../node_modules/@babel/types/lib/definitions/utils.js
var Xo = g((Rs) => {
  "use strict";
  Object.defineProperty(Rs, "__esModule", {
    value: !0
  });
  Rs.VISITOR_KEYS = Rs.NODE_PARENT_VALIDATIONS = Rs.NODE_FIELDS = Rs.FLIPPED_ALIAS_KEYS = Rs.DEPRECATED_KEYS = Rs.BUILDER_KEYS = Rs.ALIAS_KEYS =
  void 0;
  Rs.arrayOf = R7;
  Rs.arrayOfType = q7;
  Rs.assertEach = U7;
  Rs.assertNodeOrValueType = DEe;
  Rs.assertNodeType = Pb;
  Rs.assertOneOf = kEe;
  Rs.assertOptionalChainStart = _Ee;
  Rs.assertShape = OEe;
  Rs.assertValueType = BC;
  Rs.chain = K7;
  Rs.default = V7;
  Rs.defineAliasedType = MEe;
  Rs.validate = LC;
  Rs.validateArrayOfType = NEe;
  Rs.validateOptional = wEe;
  Rs.validateOptionalType = IEe;
  Rs.validateType = CEe;
  var j7 = Qf(), Sb = Eb(), xEe = Rs.VISITOR_KEYS = {}, SEe = Rs.ALIAS_KEYS = {}, OC = Rs.FLIPPED_ALIAS_KEYS = {}, PEe = Rs.NODE_FIELDS = {},
  EEe = Rs.BUILDER_KEYS = {}, AEe = Rs.DEPRECATED_KEYS = {}, vEe = Rs.NODE_PARENT_VALIDATIONS = {};
  function xb(t) {
    return Array.isArray(t) ? "array" : t === null ? "null" : typeof t;
  }
  n(xb, "getType");
  function LC(t) {
    return {
      validate: t
    };
  }
  n(LC, "validate");
  function CEe(...t) {
    return LC(Pb(...t));
  }
  n(CEe, "validateType");
  function wEe(t) {
    return {
      validate: t,
      optional: !0
    };
  }
  n(wEe, "validateOptional");
  function IEe(...t) {
    return {
      validate: Pb(...t),
      optional: !0
    };
  }
  n(IEe, "validateOptionalType");
  function R7(t) {
    return K7(BC("array"), U7(t));
  }
  n(R7, "arrayOf");
  function q7(...t) {
    return R7(Pb(...t));
  }
  n(q7, "arrayOfType");
  function NEe(...t) {
    return LC(q7(...t));
  }
  n(NEe, "validateArrayOfType");
  function U7(t) {
    let e = process.env.BABEL_TYPES_8_BREAKING ? Sb.validateChild : () => {
    };
    function s(r, i, a) {
      if (Array.isArray(a))
        for (let o = 0; o < a.length; o++) {
          let l = `${i}[${o}]`, u = a[o];
          t(r, l, u), e(r, l, u);
        }
    }
    return n(s, "validator"), s.each = t, s;
  }
  n(U7, "assertEach");
  function kEe(...t) {
    function e(s, r, i) {
      if (!t.includes(i))
        throw new TypeError(`Property ${r} expected value to be one of ${JSON.stringify(t)} but got ${JSON.stringify(i)}`);
    }
    return n(e, "validate"), e.oneOf = t, e;
  }
  n(kEe, "assertOneOf");
  function Pb(...t) {
    function e(s, r, i) {
      for (let a of t)
        if ((0, j7.default)(a, i)) {
          (0, Sb.validateChild)(s, r, i);
          return;
        }
      throw new TypeError(`Property ${r} of ${s.type} expected node to be of a type ${JSON.stringify(t)} but instead got ${JSON.stringify(i?.
      type)}`);
    }
    return n(e, "validate"), e.oneOfNodeTypes = t, e;
  }
  n(Pb, "assertNodeType");
  function DEe(...t) {
    function e(s, r, i) {
      for (let a of t)
        if (xb(i) === a || (0, j7.default)(a, i)) {
          (0, Sb.validateChild)(s, r, i);
          return;
        }
      throw new TypeError(`Property ${r} of ${s.type} expected node to be of a type ${JSON.stringify(t)} but instead got ${JSON.stringify(i?.
      type)}`);
    }
    return n(e, "validate"), e.oneOfNodeOrValueTypes = t, e;
  }
  n(DEe, "assertNodeOrValueType");
  function BC(t) {
    function e(s, r, i) {
      if (!(xb(i) === t))
        throw new TypeError(`Property ${r} expected type of ${t} but got ${xb(i)}`);
    }
    return n(e, "validate"), e.type = t, e;
  }
  n(BC, "assertValueType");
  function OEe(t) {
    function e(s, r, i) {
      let a = [];
      for (let o of Object.keys(t))
        try {
          (0, Sb.validateField)(s, o, i[o], t[o]);
        } catch (l) {
          if (l instanceof TypeError) {
            a.push(l.message);
            continue;
          }
          throw l;
        }
      if (a.length)
        throw new TypeError(`Property ${r} of ${s.type} expected to have the following:
${a.join(`
`)}`);
    }
    return n(e, "validate"), e.shapeOf = t, e;
  }
  n(OEe, "assertShape");
  function _Ee() {
    function t(e) {
      var s;
      let r = e;
      for (; e; ) {
        let {
          type: i
        } = r;
        if (i === "OptionalCallExpression") {
          if (r.optional) return;
          r = r.callee;
          continue;
        }
        if (i === "OptionalMemberExpression") {
          if (r.optional) return;
          r = r.object;
          continue;
        }
        break;
      }
      throw new TypeError(`Non-optional ${e.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chai\
n from ${(s = r) == null ? void 0 : s.type}`);
    }
    return n(t, "validate"), t;
  }
  n(_Ee, "assertOptionalChainStart");
  function K7(...t) {
    function e(...s) {
      for (let r of t)
        r(...s);
    }
    if (n(e, "validate"), e.chainOf = t, t.length >= 2 && "type" in t[0] && t[0].type === "array" && !("each" in t[1]))
      throw new Error('An assertValueType("array") validator can only be followed by an assertEach(...) validator.');
    return e;
  }
  n(K7, "chain");
  var LEe = /* @__PURE__ */ new Set(["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate"]), BEe = /* @__PURE__ */ new Set(
  ["default", "optional", "deprecated", "validate"]), _C = {};
  function MEe(...t) {
    return (e, s = {}) => {
      let r = s.aliases;
      if (!r) {
        var i, a;
        s.inherits && (r = (i = _C[s.inherits].aliases) == null ? void 0 : i.slice()), (a = r) != null || (r = []), s.aliases = r;
      }
      let o = t.filter((l) => !r.includes(l));
      r.unshift(...o), V7(e, s);
    };
  }
  n(MEe, "defineAliasedType");
  function V7(t, e = {}) {
    let s = e.inherits && _C[e.inherits] || {}, r = e.fields;
    if (!r && (r = {}, s.fields)) {
      let l = Object.getOwnPropertyNames(s.fields);
      for (let u of l) {
        let c = s.fields[u], p = c.default;
        if (Array.isArray(p) ? p.length > 0 : p && typeof p == "object")
          throw new Error("field defaults can only be primitives or empty arrays currently");
        r[u] = {
          default: Array.isArray(p) ? [] : p,
          optional: c.optional,
          deprecated: c.deprecated,
          validate: c.validate
        };
      }
    }
    let i = e.visitor || s.visitor || [], a = e.aliases || s.aliases || [], o = e.builder || s.builder || e.visitor || [];
    for (let l of Object.keys(e))
      if (!LEe.has(l))
        throw new Error(`Unknown type option "${l}" on ${t}`);
    e.deprecatedAlias && (AEe[e.deprecatedAlias] = t);
    for (let l of i.concat(o))
      r[l] = r[l] || {};
    for (let l of Object.keys(r)) {
      let u = r[l];
      u.default !== void 0 && !o.includes(l) && (u.optional = !0), u.default === void 0 ? u.default = null : !u.validate && u.default != null &&
      (u.validate = BC(xb(u.default)));
      for (let c of Object.keys(u))
        if (!BEe.has(c))
          throw new Error(`Unknown field key "${c}" on ${t}.${l}`);
    }
    xEe[t] = e.visitor = i, EEe[t] = e.builder = o, PEe[t] = e.fields = r, SEe[t] = e.aliases = a, a.forEach((l) => {
      OC[l] = OC[l] || [], OC[l].push(t);
    }), e.validate && (vEe[t] = e.validate), _C[t] = e;
  }
  n(V7, "defineType");
});

// ../node_modules/@babel/types/lib/definitions/core.js
var Ky = g((en) => {
  "use strict";
  Object.defineProperty(en, "__esModule", {
    value: !0
  });
  en.patternLikeCommon = en.importAttributes = en.functionTypeAnnotationCommon = en.functionDeclarationCommon = en.functionCommon = en.classMethodOrPropertyCommon =
  en.classMethodOrDeclareMethodCommon = void 0;
  var fn = Qf(), FEe = Zf(), W7 = ba(), jEe = bb(), Uy = Pc(), q = Xo(), Be = (0, q.defineAliasedType)("Standardized");
  Be("ArrayExpression", {
    fields: {
      elements: {
        validate: (0, q.arrayOf)((0, q.assertNodeOrValueType)("null", "Expression", "SpreadElement")),
        default: process.env.BABEL_TYPES_8_BREAKING ? void 0 : []
      }
    },
    visitor: ["elements"],
    aliases: ["Expression"]
  });
  Be("AssignmentExpression", {
    fields: {
      operator: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? Object.assign(function() {
          let t = (0, q.assertOneOf)(...Uy.ASSIGNMENT_OPERATORS), e = (0, q.assertOneOf)("=");
          return function(s, r, i) {
            ((0, fn.default)("Pattern", s.left) ? e : t)(s, r, i);
          };
        }(), {
          type: "string"
        }) : (0, q.assertValueType)("string")
      },
      left: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.assertNodeType)("Identifier", "MemberExpression", "OptionalMemberExpression", "\
ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") : (0, q.assertNodeType)(
        "LVal", "OptionalMemberExpression")
      },
      right: {
        validate: (0, q.assertNodeType)("Expression")
      }
    },
    builder: ["operator", "left", "right"],
    visitor: ["left", "right"],
    aliases: ["Expression"]
  });
  Be("BinaryExpression", {
    builder: ["operator", "left", "right"],
    fields: {
      operator: {
        validate: (0, q.assertOneOf)(...Uy.BINARY_OPERATORS)
      },
      left: {
        validate: function() {
          let t = (0, q.assertNodeType)("Expression"), e = (0, q.assertNodeType)("Expression", "PrivateName");
          return Object.assign(function(r, i, a) {
            (r.operator === "in" ? e : t)(r, i, a);
          }, {
            oneOfNodeTypes: ["Expression", "PrivateName"]
          });
        }()
      },
      right: {
        validate: (0, q.assertNodeType)("Expression")
      }
    },
    visitor: ["left", "right"],
    aliases: ["Binary", "Expression"]
  });
  Be("InterpreterDirective", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, q.assertValueType)("string")
      }
    }
  });
  Be("Directive", {
    visitor: ["value"],
    fields: {
      value: {
        validate: (0, q.assertNodeType)("DirectiveLiteral")
      }
    }
  });
  Be("DirectiveLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, q.assertValueType)("string")
      }
    }
  });
  Be("BlockStatement", {
    builder: ["body", "directives"],
    visitor: ["directives", "body"],
    fields: {
      directives: {
        validate: (0, q.arrayOfType)("Directive"),
        default: []
      },
      body: (0, q.validateArrayOfType)("Statement")
    },
    aliases: ["Scopable", "BlockParent", "Block", "Statement"]
  });
  Be("BreakStatement", {
    visitor: ["label"],
    fields: {
      label: {
        validate: (0, q.assertNodeType)("Identifier"),
        optional: !0
      }
    },
    aliases: ["Statement", "Terminatorless", "CompletionStatement"]
  });
  Be("CallExpression", {
    visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
    builder: ["callee", "arguments"],
    aliases: ["Expression"],
    fields: Object.assign({
      callee: {
        validate: (0, q.assertNodeType)("Expression", "Super", "V8IntrinsicIdentifier")
      },
      arguments: (0, q.validateArrayOfType)("Expression", "SpreadElement", "ArgumentPlaceholder"),
      typeArguments: {
        validate: (0, q.assertNodeType)("TypeParameterInstantiation"),
        optional: !0
      }
    }, {
      optional: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      },
      typeParameters: {
        validate: (0, q.assertNodeType)("TSTypeParameterInstantiation"),
        optional: !0
      }
    }, process.env.BABEL_TYPES_8_BREAKING ? {} : {
      optional: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      }
    })
  });
  Be("CatchClause", {
    visitor: ["param", "body"],
    fields: {
      param: {
        validate: (0, q.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"),
        optional: !0
      },
      body: {
        validate: (0, q.assertNodeType)("BlockStatement")
      }
    },
    aliases: ["Scopable", "BlockParent"]
  });
  Be("ConditionalExpression", {
    visitor: ["test", "consequent", "alternate"],
    fields: {
      test: {
        validate: (0, q.assertNodeType)("Expression")
      },
      consequent: {
        validate: (0, q.assertNodeType)("Expression")
      },
      alternate: {
        validate: (0, q.assertNodeType)("Expression")
      }
    },
    aliases: ["Expression", "Conditional"]
  });
  Be("ContinueStatement", {
    visitor: ["label"],
    fields: {
      label: {
        validate: (0, q.assertNodeType)("Identifier"),
        optional: !0
      }
    },
    aliases: ["Statement", "Terminatorless", "CompletionStatement"]
  });
  Be("DebuggerStatement", {
    aliases: ["Statement"]
  });
  Be("DoWhileStatement", {
    builder: ["test", "body"],
    visitor: ["body", "test"],
    fields: {
      test: {
        validate: (0, q.assertNodeType)("Expression")
      },
      body: {
        validate: (0, q.assertNodeType)("Statement")
      }
    },
    aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"]
  });
  Be("EmptyStatement", {
    aliases: ["Statement"]
  });
  Be("ExpressionStatement", {
    visitor: ["expression"],
    fields: {
      expression: {
        validate: (0, q.assertNodeType)("Expression")
      }
    },
    aliases: ["Statement", "ExpressionWrapper"]
  });
  Be("File", {
    builder: ["program", "comments", "tokens"],
    visitor: ["program"],
    fields: {
      program: {
        validate: (0, q.assertNodeType)("Program")
      },
      comments: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.assertEach)((0, q.assertNodeType)("CommentBlock", "CommentLine")) : Object.assign(
        () => {
        }, {
          each: {
            oneOfNodeTypes: ["CommentBlock", "CommentLine"]
          }
        }),
        optional: !0
      },
      tokens: {
        validate: (0, q.assertEach)(Object.assign(() => {
        }, {
          type: "any"
        })),
        optional: !0
      }
    }
  });
  Be("ForInStatement", {
    visitor: ["left", "right", "body"],
    aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
    fields: {
      left: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.assertNodeType)("VariableDeclaration", "Identifier", "MemberExpression", "Array\
Pattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") : (0, q.assertNodeType)("Var\
iableDeclaration", "LVal")
      },
      right: {
        validate: (0, q.assertNodeType)("Expression")
      },
      body: {
        validate: (0, q.assertNodeType)("Statement")
      }
    }
  });
  Be("ForStatement", {
    visitor: ["init", "test", "update", "body"],
    aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"],
    fields: {
      init: {
        validate: (0, q.assertNodeType)("VariableDeclaration", "Expression"),
        optional: !0
      },
      test: {
        validate: (0, q.assertNodeType)("Expression"),
        optional: !0
      },
      update: {
        validate: (0, q.assertNodeType)("Expression"),
        optional: !0
      },
      body: {
        validate: (0, q.assertNodeType)("Statement")
      }
    }
  });
  var ed = /* @__PURE__ */ n(() => ({
    params: (0, q.validateArrayOfType)("Identifier", "Pattern", "RestElement"),
    generator: {
      default: !1
    },
    async: {
      default: !1
    }
  }), "functionCommon");
  en.functionCommon = ed;
  var Zp = /* @__PURE__ */ n(() => ({
    returnType: {
      validate: (0, q.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
      optional: !0
    },
    typeParameters: {
      validate: (0, q.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
      optional: !0
    }
  }), "functionTypeAnnotationCommon");
  en.functionTypeAnnotationCommon = Zp;
  var $7 = /* @__PURE__ */ n(() => Object.assign({}, ed(), {
    declare: {
      validate: (0, q.assertValueType)("boolean"),
      optional: !0
    },
    id: {
      validate: (0, q.assertNodeType)("Identifier"),
      optional: !0
    }
  }), "functionDeclarationCommon");
  en.functionDeclarationCommon = $7;
  Be("FunctionDeclaration", {
    builder: ["id", "params", "body", "generator", "async"],
    visitor: ["id", "typeParameters", "params", "predicate", "returnType", "body"],
    fields: Object.assign({}, $7(), Zp(), {
      body: {
        validate: (0, q.assertNodeType)("BlockStatement")
      },
      predicate: {
        validate: (0, q.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
        optional: !0
      }
    }),
    aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"],
    validate: process.env.BABEL_TYPES_8_BREAKING ? function() {
      let t = (0, q.assertNodeType)("Identifier");
      return function(e, s, r) {
        (0, fn.default)("ExportDefaultDeclaration", e) || t(r, "id", r.id);
      };
    }() : void 0
  });
  Be("FunctionExpression", {
    inherits: "FunctionDeclaration",
    aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
    fields: Object.assign({}, ed(), Zp(), {
      id: {
        validate: (0, q.assertNodeType)("Identifier"),
        optional: !0
      },
      body: {
        validate: (0, q.assertNodeType)("BlockStatement")
      },
      predicate: {
        validate: (0, q.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
        optional: !0
      }
    })
  });
  var td = /* @__PURE__ */ n(() => ({
    typeAnnotation: {
      validate: (0, q.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
      optional: !0
    },
    optional: {
      validate: (0, q.assertValueType)("boolean"),
      optional: !0
    },
    decorators: {
      validate: (0, q.arrayOfType)("Decorator"),
      optional: !0
    }
  }), "patternLikeCommon");
  en.patternLikeCommon = td;
  Be("Identifier", {
    builder: ["name"],
    visitor: ["typeAnnotation", "decorators"],
    aliases: ["Expression", "PatternLike", "LVal", "TSEntityName"],
    fields: Object.assign({}, td(), {
      name: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.chain)((0, q.assertValueType)("string"), Object.assign(function(t, e, s) {
          if (!(0, FEe.default)(s, !1))
            throw new TypeError(`"${s}" is not a valid identifier name`);
        }, {
          type: "string"
        })) : (0, q.assertValueType)("string")
      }
    }),
    validate: process.env.BABEL_TYPES_8_BREAKING ? function(t, e, s) {
      let r = /\.(\w+)$/.exec(e);
      if (!r) return;
      let [, i] = r, a = {
        computed: !1
      };
      if (i === "property") {
        if ((0, fn.default)("MemberExpression", t, a) || (0, fn.default)("OptionalMemberExpression", t, a)) return;
      } else if (i === "key") {
        if ((0, fn.default)("Property", t, a) || (0, fn.default)("Method", t, a)) return;
      } else if (i === "exported") {
        if ((0, fn.default)("ExportSpecifier", t)) return;
      } else if (i === "imported") {
        if ((0, fn.default)("ImportSpecifier", t, {
          imported: s
        })) return;
      } else if (i === "meta" && (0, fn.default)("MetaProperty", t, {
        meta: s
      }))
        return;
      if (((0, W7.isKeyword)(s.name) || (0, W7.isReservedWord)(s.name, !1)) && s.name !== "this")
        throw new TypeError(`"${s.name}" is not a valid identifier`);
    } : void 0
  });
  Be("IfStatement", {
    visitor: ["test", "consequent", "alternate"],
    aliases: ["Statement", "Conditional"],
    fields: {
      test: {
        validate: (0, q.assertNodeType)("Expression")
      },
      consequent: {
        validate: (0, q.assertNodeType)("Statement")
      },
      alternate: {
        optional: !0,
        validate: (0, q.assertNodeType)("Statement")
      }
    }
  });
  Be("LabeledStatement", {
    visitor: ["label", "body"],
    aliases: ["Statement"],
    fields: {
      label: {
        validate: (0, q.assertNodeType)("Identifier")
      },
      body: {
        validate: (0, q.assertNodeType)("Statement")
      }
    }
  });
  Be("StringLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, q.assertValueType)("string")
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Be("NumericLiteral", {
    builder: ["value"],
    deprecatedAlias: "NumberLiteral",
    fields: {
      value: {
        validate: (0, q.chain)((0, q.assertValueType)("number"), Object.assign(function(t, e, s) {
          if (1 / s < 0 || !Number.isFinite(s)) {
            let r = new Error(`NumericLiterals must be non-negative finite numbers. You can use t.valueToNode(${s}) instead.`);
          }
        }, {
          type: "number"
        }))
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Be("NullLiteral", {
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Be("BooleanLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, q.assertValueType)("boolean")
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Be("RegExpLiteral", {
    builder: ["pattern", "flags"],
    deprecatedAlias: "RegexLiteral",
    aliases: ["Expression", "Pureish", "Literal"],
    fields: {
      pattern: {
        validate: (0, q.assertValueType)("string")
      },
      flags: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.chain)((0, q.assertValueType)("string"), Object.assign(function(t, e, s) {
          let r = /[^gimsuy]/.exec(s);
          if (r)
            throw new TypeError(`"${r[0]}" is not a valid RegExp flag`);
        }, {
          type: "string"
        })) : (0, q.assertValueType)("string"),
        default: ""
      }
    }
  });
  Be("LogicalExpression", {
    builder: ["operator", "left", "right"],
    visitor: ["left", "right"],
    aliases: ["Binary", "Expression"],
    fields: {
      operator: {
        validate: (0, q.assertOneOf)(...Uy.LOGICAL_OPERATORS)
      },
      left: {
        validate: (0, q.assertNodeType)("Expression")
      },
      right: {
        validate: (0, q.assertNodeType)("Expression")
      }
    }
  });
  Be("MemberExpression", {
    builder: ["object", "property", "computed", ...process.env.BABEL_TYPES_8_BREAKING ? [] : ["optional"]],
    visitor: ["object", "property"],
    aliases: ["Expression", "LVal"],
    fields: Object.assign({
      object: {
        validate: (0, q.assertNodeType)("Expression", "Super")
      },
      property: {
        validate: function() {
          let t = (0, q.assertNodeType)("Identifier", "PrivateName"), e = (0, q.assertNodeType)("Expression"), s = /* @__PURE__ */ n(function(r, i, a) {
            (r.computed ? e : t)(r, i, a);
          }, "validator");
          return s.oneOfNodeTypes = ["Expression", "Identifier", "PrivateName"], s;
        }()
      },
      computed: {
        default: !1
      }
    }, process.env.BABEL_TYPES_8_BREAKING ? {} : {
      optional: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      }
    })
  });
  Be("NewExpression", {
    inherits: "CallExpression"
  });
  Be("Program", {
    visitor: ["directives", "body"],
    builder: ["body", "directives", "sourceType", "interpreter"],
    fields: {
      sourceType: {
        validate: (0, q.assertOneOf)("script", "module"),
        default: "script"
      },
      interpreter: {
        validate: (0, q.assertNodeType)("InterpreterDirective"),
        default: null,
        optional: !0
      },
      directives: {
        validate: (0, q.arrayOfType)("Directive"),
        default: []
      },
      body: (0, q.validateArrayOfType)("Statement")
    },
    aliases: ["Scopable", "BlockParent", "Block"]
  });
  Be("ObjectExpression", {
    visitor: ["properties"],
    aliases: ["Expression"],
    fields: {
      properties: (0, q.validateArrayOfType)("ObjectMethod", "ObjectProperty", "SpreadElement")
    }
  });
  Be("ObjectMethod", {
    builder: ["kind", "key", "params", "body", "computed", "generator", "async"],
    visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"],
    fields: Object.assign({}, ed(), Zp(), {
      kind: Object.assign({
        validate: (0, q.assertOneOf)("method", "get", "set")
      }, process.env.BABEL_TYPES_8_BREAKING ? {} : {
        default: "method"
      }),
      computed: {
        default: !1
      },
      key: {
        validate: function() {
          let t = (0, q.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"), e = (0, q.assertNodeType)("Expres\
sion"), s = /* @__PURE__ */ n(function(r, i, a) {
            (r.computed ? e : t)(r, i, a);
          }, "validator");
          return s.oneOfNodeTypes = ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"], s;
        }()
      },
      decorators: {
        validate: (0, q.arrayOfType)("Decorator"),
        optional: !0
      },
      body: {
        validate: (0, q.assertNodeType)("BlockStatement")
      }
    }),
    aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"]
  });
  Be("ObjectProperty", {
    builder: ["key", "value", "computed", "shorthand", ...process.env.BABEL_TYPES_8_BREAKING ? [] : ["decorators"]],
    fields: {
      computed: {
        default: !1
      },
      key: {
        validate: function() {
          let t = (0, q.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"), e = (0, q.
          assertNodeType)("Expression");
          return Object.assign(function(r, i, a) {
            (r.computed ? e : t)(r, i, a);
          }, {
            oneOfNodeTypes: ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"]
          });
        }()
      },
      value: {
        validate: (0, q.assertNodeType)("Expression", "PatternLike")
      },
      shorthand: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.chain)((0, q.assertValueType)("boolean"), Object.assign(function(t, e, s) {
          if (s) {
            if (t.computed)
              throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true");
            if (!(0, fn.default)("Identifier", t.key))
              throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier");
          }
        }, {
          type: "boolean"
        })) : (0, q.assertValueType)("boolean"),
        default: !1
      },
      decorators: {
        validate: (0, q.arrayOfType)("Decorator"),
        optional: !0
      }
    },
    visitor: ["key", "value", "decorators"],
    aliases: ["UserWhitespacable", "Property", "ObjectMember"],
    validate: process.env.BABEL_TYPES_8_BREAKING ? function() {
      let t = (0, q.assertNodeType)("Identifier", "Pattern", "TSAsExpression", "TSSatisfiesExpression", "TSNonNullExpression", "TSTypeAssert\
ion"), e = (0, q.assertNodeType)("Expression");
      return function(s, r, i) {
        ((0, fn.default)("ObjectPattern", s) ? t : e)(i, "value", i.value);
      };
    }() : void 0
  });
  Be("RestElement", {
    visitor: ["argument", "typeAnnotation"],
    builder: ["argument"],
    aliases: ["LVal", "PatternLike"],
    deprecatedAlias: "RestProperty",
    fields: Object.assign({}, td(), {
      argument: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "MemberExpressio\
n", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") : (0, q.assertNodeType)("LVal")
      }
    }),
    validate: process.env.BABEL_TYPES_8_BREAKING ? function(t, e) {
      let s = /(\w+)\[(\d+)\]/.exec(e);
      if (!s) throw new Error("Internal Babel error: malformed key.");
      let [, r, i] = s;
      if (t[r].length > +i + 1)
        throw new TypeError(`RestElement must be last element of ${r}`);
    } : void 0
  });
  Be("ReturnStatement", {
    visitor: ["argument"],
    aliases: ["Statement", "Terminatorless", "CompletionStatement"],
    fields: {
      argument: {
        validate: (0, q.assertNodeType)("Expression"),
        optional: !0
      }
    }
  });
  Be("SequenceExpression", {
    visitor: ["expressions"],
    fields: {
      expressions: (0, q.validateArrayOfType)("Expression")
    },
    aliases: ["Expression"]
  });
  Be("ParenthesizedExpression", {
    visitor: ["expression"],
    aliases: ["Expression", "ExpressionWrapper"],
    fields: {
      expression: {
        validate: (0, q.assertNodeType)("Expression")
      }
    }
  });
  Be("SwitchCase", {
    visitor: ["test", "consequent"],
    fields: {
      test: {
        validate: (0, q.assertNodeType)("Expression"),
        optional: !0
      },
      consequent: (0, q.validateArrayOfType)("Statement")
    }
  });
  Be("SwitchStatement", {
    visitor: ["discriminant", "cases"],
    aliases: ["Statement", "BlockParent", "Scopable"],
    fields: {
      discriminant: {
        validate: (0, q.assertNodeType)("Expression")
      },
      cases: (0, q.validateArrayOfType)("SwitchCase")
    }
  });
  Be("ThisExpression", {
    aliases: ["Expression"]
  });
  Be("ThrowStatement", {
    visitor: ["argument"],
    aliases: ["Statement", "Terminatorless", "CompletionStatement"],
    fields: {
      argument: {
        validate: (0, q.assertNodeType)("Expression")
      }
    }
  });
  Be("TryStatement", {
    visitor: ["block", "handler", "finalizer"],
    aliases: ["Statement"],
    fields: {
      block: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.chain)((0, q.assertNodeType)("BlockStatement"), Object.assign(function(t) {
          if (!t.handler && !t.finalizer)
            throw new TypeError("TryStatement expects either a handler or finalizer, or both");
        }, {
          oneOfNodeTypes: ["BlockStatement"]
        })) : (0, q.assertNodeType)("BlockStatement")
      },
      handler: {
        optional: !0,
        validate: (0, q.assertNodeType)("CatchClause")
      },
      finalizer: {
        optional: !0,
        validate: (0, q.assertNodeType)("BlockStatement")
      }
    }
  });
  Be("UnaryExpression", {
    builder: ["operator", "argument", "prefix"],
    fields: {
      prefix: {
        default: !0
      },
      argument: {
        validate: (0, q.assertNodeType)("Expression")
      },
      operator: {
        validate: (0, q.assertOneOf)(...Uy.UNARY_OPERATORS)
      }
    },
    visitor: ["argument"],
    aliases: ["UnaryLike", "Expression"]
  });
  Be("UpdateExpression", {
    builder: ["operator", "argument", "prefix"],
    fields: {
      prefix: {
        default: !1
      },
      argument: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.assertNodeType)("Identifier", "MemberExpression") : (0, q.assertNodeType)("Expr\
ession")
      },
      operator: {
        validate: (0, q.assertOneOf)(...Uy.UPDATE_OPERATORS)
      }
    },
    visitor: ["argument"],
    aliases: ["Expression"]
  });
  Be("VariableDeclaration", {
    builder: ["kind", "declarations"],
    visitor: ["declarations"],
    aliases: ["Statement", "Declaration"],
    fields: {
      declare: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      },
      kind: {
        validate: (0, q.assertOneOf)("var", "let", "const", "using", "await using")
      },
      declarations: (0, q.validateArrayOfType)("VariableDeclarator")
    },
    validate: process.env.BABEL_TYPES_8_BREAKING ? (() => {
      let t = (0, q.assertNodeType)("Identifier");
      return function(e, s, r) {
        if ((0, fn.default)("ForXStatement", e, {
          left: r
        })) {
          if (r.declarations.length !== 1)
            throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${e.type}`);
        } else
          r.declarations.forEach((i) => {
            i.init || t(i, "id", i.id);
          });
      };
    })() : void 0
  });
  Be("VariableDeclarator", {
    visitor: ["id", "init"],
    fields: {
      id: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern") : (0, q.assertNodeType)(
        "LVal")
      },
      definite: {
        optional: !0,
        validate: (0, q.assertValueType)("boolean")
      },
      init: {
        optional: !0,
        validate: (0, q.assertNodeType)("Expression")
      }
    }
  });
  Be("WhileStatement", {
    visitor: ["test", "body"],
    aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"],
    fields: {
      test: {
        validate: (0, q.assertNodeType)("Expression")
      },
      body: {
        validate: (0, q.assertNodeType)("Statement")
      }
    }
  });
  Be("WithStatement", {
    visitor: ["object", "body"],
    aliases: ["Statement"],
    fields: {
      object: {
        validate: (0, q.assertNodeType)("Expression")
      },
      body: {
        validate: (0, q.assertNodeType)("Statement")
      }
    }
  });
  Be("AssignmentPattern", {
    visitor: ["left", "right", "decorators"],
    builder: ["left", "right"],
    aliases: ["Pattern", "PatternLike", "LVal"],
    fields: Object.assign({}, td(), {
      left: {
        validate: (0, q.assertNodeType)("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExp\
ression", "TSTypeAssertion", "TSNonNullExpression")
      },
      right: {
        validate: (0, q.assertNodeType)("Expression")
      },
      decorators: {
        validate: (0, q.arrayOfType)("Decorator"),
        optional: !0
      }
    })
  });
  Be("ArrayPattern", {
    visitor: ["elements", "typeAnnotation"],
    builder: ["elements"],
    aliases: ["Pattern", "PatternLike", "LVal"],
    fields: Object.assign({}, td(), {
      elements: {
        validate: (0, q.chain)((0, q.assertValueType)("array"), (0, q.assertEach)((0, q.assertNodeOrValueType)("null", "PatternLike", "LVal")))
      }
    })
  });
  Be("ArrowFunctionExpression", {
    builder: ["params", "body", "async"],
    visitor: ["typeParameters", "params", "predicate", "returnType", "body"],
    aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
    fields: Object.assign({}, ed(), Zp(), {
      expression: {
        validate: (0, q.assertValueType)("boolean")
      },
      body: {
        validate: (0, q.assertNodeType)("BlockStatement", "Expression")
      },
      predicate: {
        validate: (0, q.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
        optional: !0
      }
    })
  });
  Be("ClassBody", {
    visitor: ["body"],
    fields: {
      body: (0, q.validateArrayOfType)("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "ClassAccessorProperty",
      "TSDeclareMethod", "TSIndexSignature", "StaticBlock")
    }
  });
  Be("ClassExpression", {
    builder: ["id", "superClass", "body", "decorators"],
    visitor: ["decorators", "id", "typeParameters", "superClass", "superTypeParameters", "mixins", "implements", "body"],
    aliases: ["Scopable", "Class", "Expression"],
    fields: {
      id: {
        validate: (0, q.assertNodeType)("Identifier"),
        optional: !0
      },
      typeParameters: {
        validate: (0, q.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
        optional: !0
      },
      body: {
        validate: (0, q.assertNodeType)("ClassBody")
      },
      superClass: {
        optional: !0,
        validate: (0, q.assertNodeType)("Expression")
      },
      superTypeParameters: {
        validate: (0, q.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
        optional: !0
      },
      implements: {
        validate: (0, q.arrayOfType)("TSExpressionWithTypeArguments", "ClassImplements"),
        optional: !0
      },
      decorators: {
        validate: (0, q.arrayOfType)("Decorator"),
        optional: !0
      },
      mixins: {
        validate: (0, q.assertNodeType)("InterfaceExtends"),
        optional: !0
      }
    }
  });
  Be("ClassDeclaration", {
    inherits: "ClassExpression",
    aliases: ["Scopable", "Class", "Statement", "Declaration"],
    fields: {
      id: {
        validate: (0, q.assertNodeType)("Identifier"),
        optional: !0
      },
      typeParameters: {
        validate: (0, q.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
        optional: !0
      },
      body: {
        validate: (0, q.assertNodeType)("ClassBody")
      },
      superClass: {
        optional: !0,
        validate: (0, q.assertNodeType)("Expression")
      },
      superTypeParameters: {
        validate: (0, q.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
        optional: !0
      },
      implements: {
        validate: (0, q.arrayOfType)("TSExpressionWithTypeArguments", "ClassImplements"),
        optional: !0
      },
      decorators: {
        validate: (0, q.arrayOfType)("Decorator"),
        optional: !0
      },
      mixins: {
        validate: (0, q.assertNodeType)("InterfaceExtends"),
        optional: !0
      },
      declare: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      },
      abstract: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      }
    },
    validate: process.env.BABEL_TYPES_8_BREAKING ? function() {
      let t = (0, q.assertNodeType)("Identifier");
      return function(e, s, r) {
        (0, fn.default)("ExportDefaultDeclaration", e) || t(r, "id", r.id);
      };
    }() : void 0
  });
  var MC = en.importAttributes = {
    attributes: {
      optional: !0,
      validate: (0, q.arrayOfType)("ImportAttribute")
    },
    assertions: {
      deprecated: !0,
      optional: !0,
      validate: (0, q.arrayOfType)("ImportAttribute")
    }
  };
  Be("ExportAllDeclaration", {
    builder: ["source"],
    visitor: ["source", "attributes", "assertions"],
    aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
    fields: Object.assign({
      source: {
        validate: (0, q.assertNodeType)("StringLiteral")
      },
      exportKind: (0, q.validateOptional)((0, q.assertOneOf)("type", "value"))
    }, MC)
  });
  Be("ExportDefaultDeclaration", {
    visitor: ["declaration"],
    aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
    fields: {
      declaration: (0, q.validateType)("TSDeclareFunction", "FunctionDeclaration", "ClassDeclaration", "Expression"),
      exportKind: (0, q.validateOptional)((0, q.assertOneOf)("value"))
    }
  });
  Be("ExportNamedDeclaration", {
    builder: ["declaration", "specifiers", "source"],
    visitor: process.env ? ["declaration", "specifiers", "source", "attributes"] : ["declaration", "specifiers", "source", "attributes", "as\
sertions"],
    aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
    fields: Object.assign({
      declaration: {
        optional: !0,
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.chain)((0, q.assertNodeType)("Declaration"), Object.assign(function(t, e, s) {
          if (s && t.specifiers.length)
            throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration");
          if (s && t.source)
            throw new TypeError("Cannot export a declaration from a source");
        }, {
          oneOfNodeTypes: ["Declaration"]
        })) : (0, q.assertNodeType)("Declaration")
      }
    }, MC, {
      specifiers: {
        default: [],
        validate: (0, q.arrayOf)(function() {
          let t = (0, q.assertNodeType)("ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"), e = (0, q.assertNodeType)(
          "ExportSpecifier");
          return process.env.BABEL_TYPES_8_BREAKING ? Object.assign(function(s, r, i) {
            (s.source ? t : e)(s, r, i);
          }, {
            oneOfNodeTypes: ["ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"]
          }) : t;
        }())
      },
      source: {
        validate: (0, q.assertNodeType)("StringLiteral"),
        optional: !0
      },
      exportKind: (0, q.validateOptional)((0, q.assertOneOf)("type", "value"))
    })
  });
  Be("ExportSpecifier", {
    visitor: ["local", "exported"],
    aliases: ["ModuleSpecifier"],
    fields: {
      local: {
        validate: (0, q.assertNodeType)("Identifier")
      },
      exported: {
        validate: (0, q.assertNodeType)("Identifier", "StringLiteral")
      },
      exportKind: {
        validate: (0, q.assertOneOf)("type", "value"),
        optional: !0
      }
    }
  });
  Be("ForOfStatement", {
    visitor: ["left", "right", "body"],
    builder: ["left", "right", "body", "await"],
    aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
    fields: {
      left: {
        validate: function() {
          if (!process.env.BABEL_TYPES_8_BREAKING)
            return (0, q.assertNodeType)("VariableDeclaration", "LVal");
          let t = (0, q.assertNodeType)("VariableDeclaration"), e = (0, q.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "\
ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression");
          return Object.assign(function(s, r, i) {
            (0, fn.default)("VariableDeclaration", i) ? t(s, r, i) : e(s, r, i);
          }, {
            oneOfNodeTypes: ["VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TS\
SatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression"]
          });
        }()
      },
      right: {
        validate: (0, q.assertNodeType)("Expression")
      },
      body: {
        validate: (0, q.assertNodeType)("Statement")
      },
      await: {
        default: !1
      }
    }
  });
  Be("ImportDeclaration", {
    builder: ["specifiers", "source"],
    visitor: ["specifiers", "source", "attributes", "assertions"],
    aliases: ["Statement", "Declaration", "ImportOrExportDeclaration"],
    fields: Object.assign({}, MC, {
      module: {
        optional: !0,
        validate: (0, q.assertValueType)("boolean")
      },
      phase: {
        default: null,
        validate: (0, q.assertOneOf)("source", "defer")
      },
      specifiers: (0, q.validateArrayOfType)("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier"),
      source: {
        validate: (0, q.assertNodeType)("StringLiteral")
      },
      importKind: {
        validate: (0, q.assertOneOf)("type", "typeof", "value"),
        optional: !0
      }
    })
  });
  Be("ImportDefaultSpecifier", {
    visitor: ["local"],
    aliases: ["ModuleSpecifier"],
    fields: {
      local: {
        validate: (0, q.assertNodeType)("Identifier")
      }
    }
  });
  Be("ImportNamespaceSpecifier", {
    visitor: ["local"],
    aliases: ["ModuleSpecifier"],
    fields: {
      local: {
        validate: (0, q.assertNodeType)("Identifier")
      }
    }
  });
  Be("ImportSpecifier", {
    visitor: ["imported", "local"],
    builder: ["local", "imported"],
    aliases: ["ModuleSpecifier"],
    fields: {
      local: {
        validate: (0, q.assertNodeType)("Identifier")
      },
      imported: {
        validate: (0, q.assertNodeType)("Identifier", "StringLiteral")
      },
      importKind: {
        validate: (0, q.assertOneOf)("type", "typeof", "value"),
        optional: !0
      }
    }
  });
  Be("ImportExpression", {
    visitor: ["source", "options"],
    aliases: ["Expression"],
    fields: {
      phase: {
        default: null,
        validate: (0, q.assertOneOf)("source", "defer")
      },
      source: {
        validate: (0, q.assertNodeType)("Expression")
      },
      options: {
        validate: (0, q.assertNodeType)("Expression"),
        optional: !0
      }
    }
  });
  Be("MetaProperty", {
    visitor: ["meta", "property"],
    aliases: ["Expression"],
    fields: {
      meta: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.chain)((0, q.assertNodeType)("Identifier"), Object.assign(function(t, e, s) {
          let r;
          switch (s.name) {
            case "function":
              r = "sent";
              break;
            case "new":
              r = "target";
              break;
            case "import":
              r = "meta";
              break;
          }
          if (!(0, fn.default)("Identifier", t.property, {
            name: r
          }))
            throw new TypeError("Unrecognised MetaProperty");
        }, {
          oneOfNodeTypes: ["Identifier"]
        })) : (0, q.assertNodeType)("Identifier")
      },
      property: {
        validate: (0, q.assertNodeType)("Identifier")
      }
    }
  });
  var Ab = /* @__PURE__ */ n(() => ({
    abstract: {
      validate: (0, q.assertValueType)("boolean"),
      optional: !0
    },
    accessibility: {
      validate: (0, q.assertOneOf)("public", "private", "protected"),
      optional: !0
    },
    static: {
      default: !1
    },
    override: {
      default: !1
    },
    computed: {
      default: !1
    },
    optional: {
      validate: (0, q.assertValueType)("boolean"),
      optional: !0
    },
    key: {
      validate: (0, q.chain)(function() {
        let t = (0, q.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"), e = (0, q.assertNodeType)("Expressi\
on");
        return function(s, r, i) {
          (s.computed ? e : t)(s, r, i);
        };
      }(), (0, q.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression"))
    }
  }), "classMethodOrPropertyCommon");
  en.classMethodOrPropertyCommon = Ab;
  var FC = /* @__PURE__ */ n(() => Object.assign({}, ed(), Ab(), {
    params: (0, q.validateArrayOfType)("Identifier", "Pattern", "RestElement", "TSParameterProperty"),
    kind: {
      validate: (0, q.assertOneOf)("get", "set", "method", "constructor"),
      default: "method"
    },
    access: {
      validate: (0, q.chain)((0, q.assertValueType)("string"), (0, q.assertOneOf)("public", "private", "protected")),
      optional: !0
    },
    decorators: {
      validate: (0, q.arrayOfType)("Decorator"),
      optional: !0
    }
  }), "classMethodOrDeclareMethodCommon");
  en.classMethodOrDeclareMethodCommon = FC;
  Be("ClassMethod", {
    aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"],
    builder: ["kind", "key", "params", "body", "computed", "static", "generator", "async"],
    visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"],
    fields: Object.assign({}, FC(), Zp(), {
      body: {
        validate: (0, q.assertNodeType)("BlockStatement")
      }
    })
  });
  Be("ObjectPattern", {
    visitor: ["properties", "typeAnnotation", "decorators"],
    builder: ["properties"],
    aliases: ["Pattern", "PatternLike", "LVal"],
    fields: Object.assign({}, td(), {
      properties: (0, q.validateArrayOfType)("RestElement", "ObjectProperty")
    })
  });
  Be("SpreadElement", {
    visitor: ["argument"],
    aliases: ["UnaryLike"],
    deprecatedAlias: "SpreadProperty",
    fields: {
      argument: {
        validate: (0, q.assertNodeType)("Expression")
      }
    }
  });
  Be("Super", {
    aliases: ["Expression"]
  });
  Be("TaggedTemplateExpression", {
    visitor: ["tag", "typeParameters", "quasi"],
    builder: ["tag", "quasi"],
    aliases: ["Expression"],
    fields: {
      tag: {
        validate: (0, q.assertNodeType)("Expression")
      },
      quasi: {
        validate: (0, q.assertNodeType)("TemplateLiteral")
      },
      typeParameters: {
        validate: (0, q.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
        optional: !0
      }
    }
  });
  Be("TemplateElement", {
    builder: ["value", "tail"],
    fields: {
      value: {
        validate: (0, q.chain)((0, q.assertShape)({
          raw: {
            validate: (0, q.assertValueType)("string")
          },
          cooked: {
            validate: (0, q.assertValueType)("string"),
            optional: !0
          }
        }), /* @__PURE__ */ n(function(e) {
          let s = e.value.raw, r = !1, i = /* @__PURE__ */ n(() => {
            throw new Error("Internal @babel/types error.");
          }, "error"), {
            str: a,
            firstInvalidLoc: o
          } = (0, jEe.readStringContents)("template", s, 0, 0, 0, {
            unterminated() {
              r = !0;
            },
            strictNumericEscape: i,
            invalidEscapeSequence: i,
            numericSeparatorInEscapeSequence: i,
            unexpectedNumericSeparator: i,
            invalidDigit: i,
            invalidCodePoint: i
          });
          if (!r) throw new Error("Invalid raw");
          e.value.cooked = o ? null : a;
        }, "templateElementCookedValidator"))
      },
      tail: {
        default: !1
      }
    }
  });
  Be("TemplateLiteral", {
    visitor: ["quasis", "expressions"],
    aliases: ["Expression", "Literal"],
    fields: {
      quasis: (0, q.validateArrayOfType)("TemplateElement"),
      expressions: {
        validate: (0, q.chain)((0, q.assertValueType)("array"), (0, q.assertEach)((0, q.assertNodeType)("Expression", "TSType")), function(t, e, s) {
          if (t.quasis.length !== s.length + 1)
            throw new TypeError(`Number of ${t.type} quasis should be exactly one more than the number of expressions.
Expected ${s.length + 1} quasis but got ${t.quasis.length}`);
        })
      }
    }
  });
  Be("YieldExpression", {
    builder: ["argument", "delegate"],
    visitor: ["argument"],
    aliases: ["Expression", "Terminatorless"],
    fields: {
      delegate: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.chain)((0, q.assertValueType)("boolean"), Object.assign(function(t, e, s) {
          if (s && !t.argument)
            throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument");
        }, {
          type: "boolean"
        })) : (0, q.assertValueType)("boolean"),
        default: !1
      },
      argument: {
        optional: !0,
        validate: (0, q.assertNodeType)("Expression")
      }
    }
  });
  Be("AwaitExpression", {
    builder: ["argument"],
    visitor: ["argument"],
    aliases: ["Expression", "Terminatorless"],
    fields: {
      argument: {
        validate: (0, q.assertNodeType)("Expression")
      }
    }
  });
  Be("Import", {
    aliases: ["Expression"]
  });
  Be("BigIntLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, q.assertValueType)("string")
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Be("ExportNamespaceSpecifier", {
    visitor: ["exported"],
    aliases: ["ModuleSpecifier"],
    fields: {
      exported: {
        validate: (0, q.assertNodeType)("Identifier")
      }
    }
  });
  Be("OptionalMemberExpression", {
    builder: ["object", "property", "computed", "optional"],
    visitor: ["object", "property"],
    aliases: ["Expression"],
    fields: {
      object: {
        validate: (0, q.assertNodeType)("Expression")
      },
      property: {
        validate: function() {
          let t = (0, q.assertNodeType)("Identifier"), e = (0, q.assertNodeType)("Expression");
          return Object.assign(function(r, i, a) {
            (r.computed ? e : t)(r, i, a);
          }, {
            oneOfNodeTypes: ["Expression", "Identifier"]
          });
        }()
      },
      computed: {
        default: !1
      },
      optional: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.chain)((0, q.assertValueType)("boolean"), (0, q.assertOptionalChainStart)()) : (0, q.
        assertValueType)("boolean")
      }
    }
  });
  Be("OptionalCallExpression", {
    visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
    builder: ["callee", "arguments", "optional"],
    aliases: ["Expression"],
    fields: Object.assign({
      callee: {
        validate: (0, q.assertNodeType)("Expression")
      },
      arguments: (0, q.validateArrayOfType)("Expression", "SpreadElement", "ArgumentPlaceholder"),
      optional: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, q.chain)((0, q.assertValueType)("boolean"), (0, q.assertOptionalChainStart)()) : (0, q.
        assertValueType)("boolean")
      },
      typeArguments: {
        validate: (0, q.assertNodeType)("TypeParameterInstantiation"),
        optional: !0
      }
    }, {
      typeParameters: {
        validate: (0, q.assertNodeType)("TSTypeParameterInstantiation"),
        optional: !0
      }
    })
  });
  Be("ClassProperty", {
    visitor: ["decorators", "variance", "key", "typeAnnotation", "value"],
    builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"],
    aliases: ["Property"],
    fields: Object.assign({}, Ab(), {
      value: {
        validate: (0, q.assertNodeType)("Expression"),
        optional: !0
      },
      definite: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      },
      typeAnnotation: {
        validate: (0, q.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
        optional: !0
      },
      decorators: {
        validate: (0, q.arrayOfType)("Decorator"),
        optional: !0
      },
      readonly: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      },
      declare: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      },
      variance: {
        validate: (0, q.assertNodeType)("Variance"),
        optional: !0
      }
    })
  });
  Be("ClassAccessorProperty", {
    visitor: ["decorators", "key", "typeAnnotation", "value"],
    builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"],
    aliases: ["Property", "Accessor"],
    fields: Object.assign({}, Ab(), {
      key: {
        validate: (0, q.chain)(function() {
          let t = (0, q.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "PrivateName"), e = (0, q.assertNodeType)(
          "Expression");
          return function(s, r, i) {
            (s.computed ? e : t)(s, r, i);
          };
        }(), (0, q.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression", "PrivateName"))
      },
      value: {
        validate: (0, q.assertNodeType)("Expression"),
        optional: !0
      },
      definite: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      },
      typeAnnotation: {
        validate: (0, q.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
        optional: !0
      },
      decorators: {
        validate: (0, q.arrayOfType)("Decorator"),
        optional: !0
      },
      readonly: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      },
      declare: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      },
      variance: {
        validate: (0, q.assertNodeType)("Variance"),
        optional: !0
      }
    })
  });
  Be("ClassPrivateProperty", {
    visitor: ["decorators", "variance", "key", "typeAnnotation", "value"],
    builder: ["key", "value", "decorators", "static"],
    aliases: ["Property", "Private"],
    fields: {
      key: {
        validate: (0, q.assertNodeType)("PrivateName")
      },
      value: {
        validate: (0, q.assertNodeType)("Expression"),
        optional: !0
      },
      typeAnnotation: {
        validate: (0, q.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
        optional: !0
      },
      decorators: {
        validate: (0, q.arrayOfType)("Decorator"),
        optional: !0
      },
      static: {
        validate: (0, q.assertValueType)("boolean"),
        default: !1
      },
      readonly: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      },
      optional: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      },
      definite: {
        validate: (0, q.assertValueType)("boolean"),
        optional: !0
      },
      variance: {
        validate: (0, q.assertNodeType)("Variance"),
        optional: !0
      }
    }
  });
  Be("ClassPrivateMethod", {
    builder: ["kind", "key", "params", "body", "static"],
    visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"],
    aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"],
    fields: Object.assign({}, FC(), Zp(), {
      kind: {
        validate: (0, q.assertOneOf)("get", "set", "method"),
        default: "method"
      },
      key: {
        validate: (0, q.assertNodeType)("PrivateName")
      },
      body: {
        validate: (0, q.assertNodeType)("BlockStatement")
      }
    })
  });
  Be("PrivateName", {
    visitor: ["id"],
    aliases: ["Private"],
    fields: {
      id: {
        validate: (0, q.assertNodeType)("Identifier")
      }
    }
  });
  Be("StaticBlock", {
    visitor: ["body"],
    fields: {
      body: (0, q.validateArrayOfType)("Statement")
    },
    aliases: ["Scopable", "BlockParent", "FunctionParent"]
  });
});

// ../node_modules/@babel/types/lib/definitions/flow.js
var J7 = g(() => {
  "use strict";
  var H7 = Ky(), ue = Xo(), yt = (0, ue.defineAliasedType)("Flow"), jC = /* @__PURE__ */ n((t) => {
    let e = t === "DeclareClass";
    yt(t, {
      builder: ["id", "typeParameters", "extends", "body"],
      visitor: ["id", "typeParameters", "extends", ...e ? ["mixins", "implements"] : [], "body"],
      aliases: ["FlowDeclaration", "Statement", "Declaration"],
      fields: Object.assign({
        id: (0, ue.validateType)("Identifier"),
        typeParameters: (0, ue.validateOptionalType)("TypeParameterDeclaration"),
        extends: (0, ue.validateOptional)((0, ue.arrayOfType)("InterfaceExtends"))
      }, e ? {
        mixins: (0, ue.validateOptional)((0, ue.arrayOfType)("InterfaceExtends")),
        implements: (0, ue.validateOptional)((0, ue.arrayOfType)("ClassImplements"))
      } : {}, {
        body: (0, ue.validateType)("ObjectTypeAnnotation")
      })
    });
  }, "defineInterfaceishType");
  yt("AnyTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  yt("ArrayTypeAnnotation", {
    visitor: ["elementType"],
    aliases: ["FlowType"],
    fields: {
      elementType: (0, ue.validateType)("FlowType")
    }
  });
  yt("BooleanTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  yt("BooleanLiteralTypeAnnotation", {
    builder: ["value"],
    aliases: ["FlowType"],
    fields: {
      value: (0, ue.validate)((0, ue.assertValueType)("boolean"))
    }
  });
  yt("NullLiteralTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  yt("ClassImplements", {
    visitor: ["id", "typeParameters"],
    fields: {
      id: (0, ue.validateType)("Identifier"),
      typeParameters: (0, ue.validateOptionalType)("TypeParameterInstantiation")
    }
  });
  jC("DeclareClass");
  yt("DeclareFunction", {
    builder: ["id"],
    visitor: ["id", "predicate"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, ue.validateType)("Identifier"),
      predicate: (0, ue.validateOptionalType)("DeclaredPredicate")
    }
  });
  jC("DeclareInterface");
  yt("DeclareModule", {
    builder: ["id", "body", "kind"],
    visitor: ["id", "body"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, ue.validateType)("Identifier", "StringLiteral"),
      body: (0, ue.validateType)("BlockStatement"),
      kind: (0, ue.validateOptional)((0, ue.assertOneOf)("CommonJS", "ES"))
    }
  });
  yt("DeclareModuleExports", {
    visitor: ["typeAnnotation"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      typeAnnotation: (0, ue.validateType)("TypeAnnotation")
    }
  });
  yt("DeclareTypeAlias", {
    visitor: ["id", "typeParameters", "right"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, ue.validateType)("Identifier"),
      typeParameters: (0, ue.validateOptionalType)("TypeParameterDeclaration"),
      right: (0, ue.validateType)("FlowType")
    }
  });
  yt("DeclareOpaqueType", {
    visitor: ["id", "typeParameters", "supertype"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, ue.validateType)("Identifier"),
      typeParameters: (0, ue.validateOptionalType)("TypeParameterDeclaration"),
      supertype: (0, ue.validateOptionalType)("FlowType"),
      impltype: (0, ue.validateOptionalType)("FlowType")
    }
  });
  yt("DeclareVariable", {
    visitor: ["id"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, ue.validateType)("Identifier")
    }
  });
  yt("DeclareExportDeclaration", {
    visitor: ["declaration", "specifiers", "source", "attributes"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: Object.assign({
      declaration: (0, ue.validateOptionalType)("Flow"),
      specifiers: (0, ue.validateOptional)((0, ue.arrayOfType)("ExportSpecifier", "ExportNamespaceSpecifier")),
      source: (0, ue.validateOptionalType)("StringLiteral"),
      default: (0, ue.validateOptional)((0, ue.assertValueType)("boolean"))
    }, H7.importAttributes)
  });
  yt("DeclareExportAllDeclaration", {
    visitor: ["source", "attributes"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: Object.assign({
      source: (0, ue.validateType)("StringLiteral"),
      exportKind: (0, ue.validateOptional)((0, ue.assertOneOf)("type", "value"))
    }, H7.importAttributes)
  });
  yt("DeclaredPredicate", {
    visitor: ["value"],
    aliases: ["FlowPredicate"],
    fields: {
      value: (0, ue.validateType)("Flow")
    }
  });
  yt("ExistsTypeAnnotation", {
    aliases: ["FlowType"]
  });
  yt("FunctionTypeAnnotation", {
    builder: ["typeParameters", "params", "rest", "returnType"],
    visitor: ["typeParameters", "this", "params", "rest", "returnType"],
    aliases: ["FlowType"],
    fields: {
      typeParameters: (0, ue.validateOptionalType)("TypeParameterDeclaration"),
      params: (0, ue.validateArrayOfType)("FunctionTypeParam"),
      rest: (0, ue.validateOptionalType)("FunctionTypeParam"),
      this: (0, ue.validateOptionalType)("FunctionTypeParam"),
      returnType: (0, ue.validateType)("FlowType")
    }
  });
  yt("FunctionTypeParam", {
    visitor: ["name", "typeAnnotation"],
    fields: {
      name: (0, ue.validateOptionalType)("Identifier"),
      typeAnnotation: (0, ue.validateType)("FlowType"),
      optional: (0, ue.validateOptional)((0, ue.assertValueType)("boolean"))
    }
  });
  yt("GenericTypeAnnotation", {
    visitor: ["id", "typeParameters"],
    aliases: ["FlowType"],
    fields: {
      id: (0, ue.validateType)("Identifier", "QualifiedTypeIdentifier"),
      typeParameters: (0, ue.validateOptionalType)("TypeParameterInstantiation")
    }
  });
  yt("InferredPredicate", {
    aliases: ["FlowPredicate"]
  });
  yt("InterfaceExtends", {
    visitor: ["id", "typeParameters"],
    fields: {
      id: (0, ue.validateType)("Identifier", "QualifiedTypeIdentifier"),
      typeParameters: (0, ue.validateOptionalType)("TypeParameterInstantiation")
    }
  });
  jC("InterfaceDeclaration");
  yt("InterfaceTypeAnnotation", {
    visitor: ["extends", "body"],
    aliases: ["FlowType"],
    fields: {
      extends: (0, ue.validateOptional)((0, ue.arrayOfType)("InterfaceExtends")),
      body: (0, ue.validateType)("ObjectTypeAnnotation")
    }
  });
  yt("IntersectionTypeAnnotation", {
    visitor: ["types"],
    aliases: ["FlowType"],
    fields: {
      types: (0, ue.validate)((0, ue.arrayOfType)("FlowType"))
    }
  });
  yt("MixedTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  yt("EmptyTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  yt("NullableTypeAnnotation", {
    visitor: ["typeAnnotation"],
    aliases: ["FlowType"],
    fields: {
      typeAnnotation: (0, ue.validateType)("FlowType")
    }
  });
  yt("NumberLiteralTypeAnnotation", {
    builder: ["value"],
    aliases: ["FlowType"],
    fields: {
      value: (0, ue.validate)((0, ue.assertValueType)("number"))
    }
  });
  yt("NumberTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  yt("ObjectTypeAnnotation", {
    visitor: ["properties", "indexers", "callProperties", "internalSlots"],
    aliases: ["FlowType"],
    builder: ["properties", "indexers", "callProperties", "internalSlots", "exact"],
    fields: {
      properties: (0, ue.validate)((0, ue.arrayOfType)("ObjectTypeProperty", "ObjectTypeSpreadProperty")),
      indexers: {
        validate: (0, ue.arrayOfType)("ObjectTypeIndexer"),
        optional: !0,
        default: []
      },
      callProperties: {
        validate: (0, ue.arrayOfType)("ObjectTypeCallProperty"),
        optional: !0,
        default: []
      },
      internalSlots: {
        validate: (0, ue.arrayOfType)("ObjectTypeInternalSlot"),
        optional: !0,
        default: []
      },
      exact: {
        validate: (0, ue.assertValueType)("boolean"),
        default: !1
      },
      inexact: (0, ue.validateOptional)((0, ue.assertValueType)("boolean"))
    }
  });
  yt("ObjectTypeInternalSlot", {
    visitor: ["id", "value"],
    builder: ["id", "value", "optional", "static", "method"],
    aliases: ["UserWhitespacable"],
    fields: {
      id: (0, ue.validateType)("Identifier"),
      value: (0, ue.validateType)("FlowType"),
      optional: (0, ue.validate)((0, ue.assertValueType)("boolean")),
      static: (0, ue.validate)((0, ue.assertValueType)("boolean")),
      method: (0, ue.validate)((0, ue.assertValueType)("boolean"))
    }
  });
  yt("ObjectTypeCallProperty", {
    visitor: ["value"],
    aliases: ["UserWhitespacable"],
    fields: {
      value: (0, ue.validateType)("FlowType"),
      static: (0, ue.validate)((0, ue.assertValueType)("boolean"))
    }
  });
  yt("ObjectTypeIndexer", {
    visitor: ["variance", "id", "key", "value"],
    builder: ["id", "key", "value", "variance"],
    aliases: ["UserWhitespacable"],
    fields: {
      id: (0, ue.validateOptionalType)("Identifier"),
      key: (0, ue.validateType)("FlowType"),
      value: (0, ue.validateType)("FlowType"),
      static: (0, ue.validate)((0, ue.assertValueType)("boolean")),
      variance: (0, ue.validateOptionalType)("Variance")
    }
  });
  yt("ObjectTypeProperty", {
    visitor: ["key", "value", "variance"],
    aliases: ["UserWhitespacable"],
    fields: {
      key: (0, ue.validateType)("Identifier", "StringLiteral"),
      value: (0, ue.validateType)("FlowType"),
      kind: (0, ue.validate)((0, ue.assertOneOf)("init", "get", "set")),
      static: (0, ue.validate)((0, ue.assertValueType)("boolean")),
      proto: (0, ue.validate)((0, ue.assertValueType)("boolean")),
      optional: (0, ue.validate)((0, ue.assertValueType)("boolean")),
      variance: (0, ue.validateOptionalType)("Variance"),
      method: (0, ue.validate)((0, ue.assertValueType)("boolean"))
    }
  });
  yt("ObjectTypeSpreadProperty", {
    visitor: ["argument"],
    aliases: ["UserWhitespacable"],
    fields: {
      argument: (0, ue.validateType)("FlowType")
    }
  });
  yt("OpaqueType", {
    visitor: ["id", "typeParameters", "supertype", "impltype"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, ue.validateType)("Identifier"),
      typeParameters: (0, ue.validateOptionalType)("TypeParameterDeclaration"),
      supertype: (0, ue.validateOptionalType)("FlowType"),
      impltype: (0, ue.validateType)("FlowType")
    }
  });
  yt("QualifiedTypeIdentifier", {
    visitor: ["qualification", "id"],
    builder: ["id", "qualification"],
    fields: {
      id: (0, ue.validateType)("Identifier"),
      qualification: (0, ue.validateType)("Identifier", "QualifiedTypeIdentifier")
    }
  });
  yt("StringLiteralTypeAnnotation", {
    builder: ["value"],
    aliases: ["FlowType"],
    fields: {
      value: (0, ue.validate)((0, ue.assertValueType)("string"))
    }
  });
  yt("StringTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  yt("SymbolTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  yt("ThisTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  yt("TupleTypeAnnotation", {
    visitor: ["types"],
    aliases: ["FlowType"],
    fields: {
      types: (0, ue.validate)((0, ue.arrayOfType)("FlowType"))
    }
  });
  yt("TypeofTypeAnnotation", {
    visitor: ["argument"],
    aliases: ["FlowType"],
    fields: {
      argument: (0, ue.validateType)("FlowType")
    }
  });
  yt("TypeAlias", {
    visitor: ["id", "typeParameters", "right"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, ue.validateType)("Identifier"),
      typeParameters: (0, ue.validateOptionalType)("TypeParameterDeclaration"),
      right: (0, ue.validateType)("FlowType")
    }
  });
  yt("TypeAnnotation", {
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: (0, ue.validateType)("FlowType")
    }
  });
  yt("TypeCastExpression", {
    visitor: ["expression", "typeAnnotation"],
    aliases: ["ExpressionWrapper", "Expression"],
    fields: {
      expression: (0, ue.validateType)("Expression"),
      typeAnnotation: (0, ue.validateType)("TypeAnnotation")
    }
  });
  yt("TypeParameter", {
    visitor: ["bound", "default", "variance"],
    fields: {
      name: (0, ue.validate)((0, ue.assertValueType)("string")),
      bound: (0, ue.validateOptionalType)("TypeAnnotation"),
      default: (0, ue.validateOptionalType)("FlowType"),
      variance: (0, ue.validateOptionalType)("Variance")
    }
  });
  yt("TypeParameterDeclaration", {
    visitor: ["params"],
    fields: {
      params: (0, ue.validate)((0, ue.arrayOfType)("TypeParameter"))
    }
  });
  yt("TypeParameterInstantiation", {
    visitor: ["params"],
    fields: {
      params: (0, ue.validate)((0, ue.arrayOfType)("FlowType"))
    }
  });
  yt("UnionTypeAnnotation", {
    visitor: ["types"],
    aliases: ["FlowType"],
    fields: {
      types: (0, ue.validate)((0, ue.arrayOfType)("FlowType"))
    }
  });
  yt("Variance", {
    builder: ["kind"],
    fields: {
      kind: (0, ue.validate)((0, ue.assertOneOf)("minus", "plus"))
    }
  });
  yt("VoidTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  yt("EnumDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "body"],
    fields: {
      id: (0, ue.validateType)("Identifier"),
      body: (0, ue.validateType)("EnumBooleanBody", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody")
    }
  });
  yt("EnumBooleanBody", {
    aliases: ["EnumBody"],
    visitor: ["members"],
    fields: {
      explicitType: (0, ue.validate)((0, ue.assertValueType)("boolean")),
      members: (0, ue.validateArrayOfType)("EnumBooleanMember"),
      hasUnknownMembers: (0, ue.validate)((0, ue.assertValueType)("boolean"))
    }
  });
  yt("EnumNumberBody", {
    aliases: ["EnumBody"],
    visitor: ["members"],
    fields: {
      explicitType: (0, ue.validate)((0, ue.assertValueType)("boolean")),
      members: (0, ue.validateArrayOfType)("EnumNumberMember"),
      hasUnknownMembers: (0, ue.validate)((0, ue.assertValueType)("boolean"))
    }
  });
  yt("EnumStringBody", {
    aliases: ["EnumBody"],
    visitor: ["members"],
    fields: {
      explicitType: (0, ue.validate)((0, ue.assertValueType)("boolean")),
      members: (0, ue.validateArrayOfType)("EnumStringMember", "EnumDefaultedMember"),
      hasUnknownMembers: (0, ue.validate)((0, ue.assertValueType)("boolean"))
    }
  });
  yt("EnumSymbolBody", {
    aliases: ["EnumBody"],
    visitor: ["members"],
    fields: {
      members: (0, ue.validateArrayOfType)("EnumDefaultedMember"),
      hasUnknownMembers: (0, ue.validate)((0, ue.assertValueType)("boolean"))
    }
  });
  yt("EnumBooleanMember", {
    aliases: ["EnumMember"],
    builder: ["id"],
    visitor: ["id", "init"],
    fields: {
      id: (0, ue.validateType)("Identifier"),
      init: (0, ue.validateType)("BooleanLiteral")
    }
  });
  yt("EnumNumberMember", {
    aliases: ["EnumMember"],
    visitor: ["id", "init"],
    fields: {
      id: (0, ue.validateType)("Identifier"),
      init: (0, ue.validateType)("NumericLiteral")
    }
  });
  yt("EnumStringMember", {
    aliases: ["EnumMember"],
    visitor: ["id", "init"],
    fields: {
      id: (0, ue.validateType)("Identifier"),
      init: (0, ue.validateType)("StringLiteral")
    }
  });
  yt("EnumDefaultedMember", {
    aliases: ["EnumMember"],
    visitor: ["id"],
    fields: {
      id: (0, ue.validateType)("Identifier")
    }
  });
  yt("IndexedAccessType", {
    visitor: ["objectType", "indexType"],
    aliases: ["FlowType"],
    fields: {
      objectType: (0, ue.validateType)("FlowType"),
      indexType: (0, ue.validateType)("FlowType")
    }
  });
  yt("OptionalIndexedAccessType", {
    visitor: ["objectType", "indexType"],
    aliases: ["FlowType"],
    fields: {
      objectType: (0, ue.validateType)("FlowType"),
      indexType: (0, ue.validateType)("FlowType"),
      optional: (0, ue.validate)((0, ue.assertValueType)("boolean"))
    }
  });
});

// ../node_modules/@babel/types/lib/definitions/jsx.js
var Y7 = g(() => {
  "use strict";
  var jr = Xo(), dn = (0, jr.defineAliasedType)("JSX");
  dn("JSXAttribute", {
    visitor: ["name", "value"],
    aliases: ["Immutable"],
    fields: {
      name: {
        validate: (0, jr.assertNodeType)("JSXIdentifier", "JSXNamespacedName")
      },
      value: {
        optional: !0,
        validate: (0, jr.assertNodeType)("JSXElement", "JSXFragment", "StringLiteral", "JSXExpressionContainer")
      }
    }
  });
  dn("JSXClosingElement", {
    visitor: ["name"],
    aliases: ["Immutable"],
    fields: {
      name: {
        validate: (0, jr.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName")
      }
    }
  });
  dn("JSXElement", {
    builder: ["openingElement", "closingElement", "children", "selfClosing"],
    visitor: ["openingElement", "children", "closingElement"],
    aliases: ["Immutable", "Expression"],
    fields: Object.assign({
      openingElement: {
        validate: (0, jr.assertNodeType)("JSXOpeningElement")
      },
      closingElement: {
        optional: !0,
        validate: (0, jr.assertNodeType)("JSXClosingElement")
      },
      children: (0, jr.validateArrayOfType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment")
    }, {
      selfClosing: {
        validate: (0, jr.assertValueType)("boolean"),
        optional: !0
      }
    })
  });
  dn("JSXEmptyExpression", {});
  dn("JSXExpressionContainer", {
    visitor: ["expression"],
    aliases: ["Immutable"],
    fields: {
      expression: {
        validate: (0, jr.assertNodeType)("Expression", "JSXEmptyExpression")
      }
    }
  });
  dn("JSXSpreadChild", {
    visitor: ["expression"],
    aliases: ["Immutable"],
    fields: {
      expression: {
        validate: (0, jr.assertNodeType)("Expression")
      }
    }
  });
  dn("JSXIdentifier", {
    builder: ["name"],
    fields: {
      name: {
        validate: (0, jr.assertValueType)("string")
      }
    }
  });
  dn("JSXMemberExpression", {
    visitor: ["object", "property"],
    fields: {
      object: {
        validate: (0, jr.assertNodeType)("JSXMemberExpression", "JSXIdentifier")
      },
      property: {
        validate: (0, jr.assertNodeType)("JSXIdentifier")
      }
    }
  });
  dn("JSXNamespacedName", {
    visitor: ["namespace", "name"],
    fields: {
      namespace: {
        validate: (0, jr.assertNodeType)("JSXIdentifier")
      },
      name: {
        validate: (0, jr.assertNodeType)("JSXIdentifier")
      }
    }
  });
  dn("JSXOpeningElement", {
    builder: ["name", "attributes", "selfClosing"],
    visitor: ["name", "typeParameters", "typeArguments", "attributes"],
    aliases: ["Immutable"],
    fields: Object.assign({
      name: {
        validate: (0, jr.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName")
      },
      selfClosing: {
        default: !1
      },
      attributes: (0, jr.validateArrayOfType)("JSXAttribute", "JSXSpreadAttribute"),
      typeArguments: {
        validate: (0, jr.assertNodeType)("TypeParameterInstantiation"),
        optional: !0
      }
    }, {
      typeParameters: {
        validate: (0, jr.assertNodeType)("TSTypeParameterInstantiation"),
        optional: !0
      }
    })
  });
  dn("JSXSpreadAttribute", {
    visitor: ["argument"],
    fields: {
      argument: {
        validate: (0, jr.assertNodeType)("Expression")
      }
    }
  });
  dn("JSXText", {
    aliases: ["Immutable"],
    builder: ["value"],
    fields: {
      value: {
        validate: (0, jr.assertValueType)("string")
      }
    }
  });
  dn("JSXFragment", {
    builder: ["openingFragment", "closingFragment", "children"],
    visitor: ["openingFragment", "children", "closingFragment"],
    aliases: ["Immutable", "Expression"],
    fields: {
      openingFragment: {
        validate: (0, jr.assertNodeType)("JSXOpeningFragment")
      },
      closingFragment: {
        validate: (0, jr.assertNodeType)("JSXClosingFragment")
      },
      children: (0, jr.validateArrayOfType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment")
    }
  });
  dn("JSXOpeningFragment", {
    aliases: ["Immutable"]
  });
  dn("JSXClosingFragment", {
    aliases: ["Immutable"]
  });
});

// ../node_modules/@babel/types/lib/definitions/placeholders.js
var UC = g((Ec) => {
  "use strict";
  Object.defineProperty(Ec, "__esModule", {
    value: !0
  });
  Ec.PLACEHOLDERS_FLIPPED_ALIAS = Ec.PLACEHOLDERS_ALIAS = Ec.PLACEHOLDERS = void 0;
  var REe = Xo(), qEe = Ec.PLACEHOLDERS = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "Class\
Body", "Pattern"], qC = Ec.PLACEHOLDERS_ALIAS = {
    Declaration: ["Statement"],
    Pattern: ["PatternLike", "LVal"]
  };
  for (let t of qEe) {
    let e = REe.ALIAS_KEYS[t];
    e != null && e.length && (qC[t] = e);
  }
  var RC = Ec.PLACEHOLDERS_FLIPPED_ALIAS = {};
  Object.keys(qC).forEach((t) => {
    qC[t].forEach((e) => {
      hasOwnProperty.call(RC, e) || (RC[e] = []), RC[e].push(t);
    });
  });
});

// ../node_modules/@babel/types/lib/definitions/misc.js
var X7 = g(() => {
  "use strict";
  var vb = Xo(), UEe = UC(), KEe = Ky(), KC = (0, vb.defineAliasedType)("Miscellaneous");
  KC("Noop", {
    visitor: []
  });
  KC("Placeholder", {
    visitor: [],
    builder: ["expectedNode", "name"],
    fields: Object.assign({
      name: {
        validate: (0, vb.assertNodeType)("Identifier")
      },
      expectedNode: {
        validate: (0, vb.assertOneOf)(...UEe.PLACEHOLDERS)
      }
    }, (0, KEe.patternLikeCommon)())
  });
  KC("V8IntrinsicIdentifier", {
    builder: ["name"],
    fields: {
      name: {
        validate: (0, vb.assertValueType)("string")
      }
    }
  });
});

// ../node_modules/@babel/types/lib/definitions/experimental.js
var z7 = g(() => {
  "use strict";
  var Tr = Xo();
  (0, Tr.default)("ArgumentPlaceholder", {});
  (0, Tr.default)("BindExpression", {
    visitor: ["object", "callee"],
    aliases: ["Expression"],
    fields: process.env.BABEL_TYPES_8_BREAKING ? {
      object: {
        validate: (0, Tr.assertNodeType)("Expression")
      },
      callee: {
        validate: (0, Tr.assertNodeType)("Expression")
      }
    } : {
      object: {
        validate: Object.assign(() => {
        }, {
          oneOfNodeTypes: ["Expression"]
        })
      },
      callee: {
        validate: Object.assign(() => {
        }, {
          oneOfNodeTypes: ["Expression"]
        })
      }
    }
  });
  (0, Tr.default)("ImportAttribute", {
    visitor: ["key", "value"],
    fields: {
      key: {
        validate: (0, Tr.assertNodeType)("Identifier", "StringLiteral")
      },
      value: {
        validate: (0, Tr.assertNodeType)("StringLiteral")
      }
    }
  });
  (0, Tr.default)("Decorator", {
    visitor: ["expression"],
    fields: {
      expression: {
        validate: (0, Tr.assertNodeType)("Expression")
      }
    }
  });
  (0, Tr.default)("DoExpression", {
    visitor: ["body"],
    builder: ["body", "async"],
    aliases: ["Expression"],
    fields: {
      body: {
        validate: (0, Tr.assertNodeType)("BlockStatement")
      },
      async: {
        validate: (0, Tr.assertValueType)("boolean"),
        default: !1
      }
    }
  });
  (0, Tr.default)("ExportDefaultSpecifier", {
    visitor: ["exported"],
    aliases: ["ModuleSpecifier"],
    fields: {
      exported: {
        validate: (0, Tr.assertNodeType)("Identifier")
      }
    }
  });
  (0, Tr.default)("RecordExpression", {
    visitor: ["properties"],
    aliases: ["Expression"],
    fields: {
      properties: (0, Tr.validateArrayOfType)("ObjectProperty", "SpreadElement")
    }
  });
  (0, Tr.default)("TupleExpression", {
    fields: {
      elements: {
        validate: (0, Tr.arrayOfType)("Expression", "SpreadElement"),
        default: []
      }
    },
    visitor: ["elements"],
    aliases: ["Expression"]
  });
  (0, Tr.default)("DecimalLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, Tr.assertValueType)("string")
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  (0, Tr.default)("ModuleExpression", {
    visitor: ["body"],
    fields: {
      body: {
        validate: (0, Tr.assertNodeType)("Program")
      }
    },
    aliases: ["Expression"]
  });
  (0, Tr.default)("TopicReference", {
    aliases: ["Expression"]
  });
  (0, Tr.default)("PipelineTopicExpression", {
    builder: ["expression"],
    visitor: ["expression"],
    fields: {
      expression: {
        validate: (0, Tr.assertNodeType)("Expression")
      }
    },
    aliases: ["Expression"]
  });
  (0, Tr.default)("PipelineBareFunction", {
    builder: ["callee"],
    visitor: ["callee"],
    fields: {
      callee: {
        validate: (0, Tr.assertNodeType)("Expression")
      }
    },
    aliases: ["Expression"]
  });
  (0, Tr.default)("PipelinePrimaryTopicReference", {
    aliases: ["Expression"]
  });
});

// ../node_modules/@babel/types/lib/definitions/typescript.js
var iq = g(() => {
  "use strict";
  var Te = Xo(), G7 = Ky(), VEe = Qf(), Dt = (0, Te.defineAliasedType)("TypeScript"), ea = (0, Te.assertValueType)("boolean"), Q7 = /* @__PURE__ */ n(
  () => ({
    returnType: {
      validate: (0, Te.assertNodeType)("TSTypeAnnotation", "Noop"),
      optional: !0
    },
    typeParameters: {
      validate: (0, Te.assertNodeType)("TSTypeParameterDeclaration", "Noop"),
      optional: !0
    }
  }), "tSFunctionTypeAnnotationCommon");
  Dt("TSParameterProperty", {
    aliases: ["LVal"],
    visitor: ["parameter"],
    fields: {
      accessibility: {
        validate: (0, Te.assertOneOf)("public", "private", "protected"),
        optional: !0
      },
      readonly: {
        validate: (0, Te.assertValueType)("boolean"),
        optional: !0
      },
      parameter: {
        validate: (0, Te.assertNodeType)("Identifier", "AssignmentPattern")
      },
      override: {
        validate: (0, Te.assertValueType)("boolean"),
        optional: !0
      },
      decorators: {
        validate: (0, Te.arrayOfType)("Decorator"),
        optional: !0
      }
    }
  });
  Dt("TSDeclareFunction", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "typeParameters", "params", "returnType"],
    fields: Object.assign({}, (0, G7.functionDeclarationCommon)(), Q7())
  });
  Dt("TSDeclareMethod", {
    visitor: ["decorators", "key", "typeParameters", "params", "returnType"],
    fields: Object.assign({}, (0, G7.classMethodOrDeclareMethodCommon)(), Q7())
  });
  Dt("TSQualifiedName", {
    aliases: ["TSEntityName"],
    visitor: ["left", "right"],
    fields: {
      left: (0, Te.validateType)("TSEntityName"),
      right: (0, Te.validateType)("Identifier")
    }
  });
  var Cb = /* @__PURE__ */ n(() => ({
    typeParameters: (0, Te.validateOptionalType)("TSTypeParameterDeclaration"),
    parameters: (0, Te.validateArrayOfType)("ArrayPattern", "Identifier", "ObjectPattern", "RestElement"),
    typeAnnotation: (0, Te.validateOptionalType)("TSTypeAnnotation")
  }), "signatureDeclarationCommon"), Z7 = {
    aliases: ["TSTypeElement"],
    visitor: ["typeParameters", "parameters", "typeAnnotation"],
    fields: Cb()
  };
  Dt("TSCallSignatureDeclaration", Z7);
  Dt("TSConstructSignatureDeclaration", Z7);
  var eq = /* @__PURE__ */ n(() => ({
    key: (0, Te.validateType)("Expression"),
    computed: {
      default: !1
    },
    optional: (0, Te.validateOptional)(ea)
  }), "namedTypeElementCommon");
  Dt("TSPropertySignature", {
    aliases: ["TSTypeElement"],
    visitor: ["key", "typeAnnotation"],
    fields: Object.assign({}, eq(), {
      readonly: (0, Te.validateOptional)(ea),
      typeAnnotation: (0, Te.validateOptionalType)("TSTypeAnnotation"),
      kind: {
        optional: !0,
        validate: (0, Te.assertOneOf)("get", "set")
      }
    })
  });
  Dt("TSMethodSignature", {
    aliases: ["TSTypeElement"],
    visitor: ["key", "typeParameters", "parameters", "typeAnnotation"],
    fields: Object.assign({}, Cb(), eq(), {
      kind: {
        validate: (0, Te.assertOneOf)("method", "get", "set")
      }
    })
  });
  Dt("TSIndexSignature", {
    aliases: ["TSTypeElement"],
    visitor: ["parameters", "typeAnnotation"],
    fields: {
      readonly: (0, Te.validateOptional)(ea),
      static: (0, Te.validateOptional)(ea),
      parameters: (0, Te.validateArrayOfType)("Identifier"),
      typeAnnotation: (0, Te.validateOptionalType)("TSTypeAnnotation")
    }
  });
  var WEe = ["TSAnyKeyword", "TSBooleanKeyword", "TSBigIntKeyword", "TSIntrinsicKeyword", "TSNeverKeyword", "TSNullKeyword", "TSNumberKeywor\
d", "TSObjectKeyword", "TSStringKeyword", "TSSymbolKeyword", "TSUndefinedKeyword", "TSUnknownKeyword", "TSVoidKeyword"];
  for (let t of WEe)
    Dt(t, {
      aliases: ["TSType", "TSBaseType"],
      visitor: [],
      fields: {}
    });
  Dt("TSThisType", {
    aliases: ["TSType", "TSBaseType"],
    visitor: [],
    fields: {}
  });
  var tq = {
    aliases: ["TSType"],
    visitor: ["typeParameters", "parameters", "typeAnnotation"]
  };
  Dt("TSFunctionType", Object.assign({}, tq, {
    fields: Cb()
  }));
  Dt("TSConstructorType", Object.assign({}, tq, {
    fields: Object.assign({}, Cb(), {
      abstract: (0, Te.validateOptional)(ea)
    })
  }));
  Dt("TSTypeReference", {
    aliases: ["TSType"],
    visitor: ["typeName", "typeParameters"],
    fields: {
      typeName: (0, Te.validateType)("TSEntityName"),
      typeParameters: (0, Te.validateOptionalType)("TSTypeParameterInstantiation")
    }
  });
  Dt("TSTypePredicate", {
    aliases: ["TSType"],
    visitor: ["parameterName", "typeAnnotation"],
    builder: ["parameterName", "typeAnnotation", "asserts"],
    fields: {
      parameterName: (0, Te.validateType)("Identifier", "TSThisType"),
      typeAnnotation: (0, Te.validateOptionalType)("TSTypeAnnotation"),
      asserts: (0, Te.validateOptional)(ea)
    }
  });
  Dt("TSTypeQuery", {
    aliases: ["TSType"],
    visitor: ["exprName", "typeParameters"],
    fields: {
      exprName: (0, Te.validateType)("TSEntityName", "TSImportType"),
      typeParameters: (0, Te.validateOptionalType)("TSTypeParameterInstantiation")
    }
  });
  Dt("TSTypeLiteral", {
    aliases: ["TSType"],
    visitor: ["members"],
    fields: {
      members: (0, Te.validateArrayOfType)("TSTypeElement")
    }
  });
  Dt("TSArrayType", {
    aliases: ["TSType"],
    visitor: ["elementType"],
    fields: {
      elementType: (0, Te.validateType)("TSType")
    }
  });
  Dt("TSTupleType", {
    aliases: ["TSType"],
    visitor: ["elementTypes"],
    fields: {
      elementTypes: (0, Te.validateArrayOfType)("TSType", "TSNamedTupleMember")
    }
  });
  Dt("TSOptionalType", {
    aliases: ["TSType"],
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: (0, Te.validateType)("TSType")
    }
  });
  Dt("TSRestType", {
    aliases: ["TSType"],
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: (0, Te.validateType)("TSType")
    }
  });
  Dt("TSNamedTupleMember", {
    visitor: ["label", "elementType"],
    builder: ["label", "elementType", "optional"],
    fields: {
      label: (0, Te.validateType)("Identifier"),
      optional: {
        validate: ea,
        default: !1
      },
      elementType: (0, Te.validateType)("TSType")
    }
  });
  var sq = {
    aliases: ["TSType"],
    visitor: ["types"],
    fields: {
      types: (0, Te.validateArrayOfType)("TSType")
    }
  };
  Dt("TSUnionType", sq);
  Dt("TSIntersectionType", sq);
  Dt("TSConditionalType", {
    aliases: ["TSType"],
    visitor: ["checkType", "extendsType", "trueType", "falseType"],
    fields: {
      checkType: (0, Te.validateType)("TSType"),
      extendsType: (0, Te.validateType)("TSType"),
      trueType: (0, Te.validateType)("TSType"),
      falseType: (0, Te.validateType)("TSType")
    }
  });
  Dt("TSInferType", {
    aliases: ["TSType"],
    visitor: ["typeParameter"],
    fields: {
      typeParameter: (0, Te.validateType)("TSTypeParameter")
    }
  });
  Dt("TSParenthesizedType", {
    aliases: ["TSType"],
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: (0, Te.validateType)("TSType")
    }
  });
  Dt("TSTypeOperator", {
    aliases: ["TSType"],
    visitor: ["typeAnnotation"],
    fields: {
      operator: (0, Te.validate)((0, Te.assertValueType)("string")),
      typeAnnotation: (0, Te.validateType)("TSType")
    }
  });
  Dt("TSIndexedAccessType", {
    aliases: ["TSType"],
    visitor: ["objectType", "indexType"],
    fields: {
      objectType: (0, Te.validateType)("TSType"),
      indexType: (0, Te.validateType)("TSType")
    }
  });
  Dt("TSMappedType", {
    aliases: ["TSType"],
    visitor: ["typeParameter", "nameType", "typeAnnotation"],
    builder: ["typeParameter", "typeAnnotation", "nameType"],
    fields: Object.assign({}, {
      typeParameter: (0, Te.validateType)("TSTypeParameter")
    }, {
      readonly: (0, Te.validateOptional)((0, Te.assertOneOf)(!0, !1, "+", "-")),
      optional: (0, Te.validateOptional)((0, Te.assertOneOf)(!0, !1, "+", "-")),
      typeAnnotation: (0, Te.validateOptionalType)("TSType"),
      nameType: (0, Te.validateOptionalType)("TSType")
    })
  });
  Dt("TSTemplateLiteralType", {
    aliases: ["TSType", "TSBaseType"],
    visitor: ["quasis", "types"],
    fields: {
      quasis: (0, Te.validateArrayOfType)("TemplateElement"),
      types: {
        validate: (0, Te.chain)((0, Te.assertValueType)("array"), (0, Te.assertEach)((0, Te.assertNodeType)("TSType")), function(t, e, s) {
          if (t.quasis.length !== s.length + 1)
            throw new TypeError(`Number of ${t.type} quasis should be exactly one more than the number of types.
Expected ${s.length + 1} quasis but got ${t.quasis.length}`);
        })
      }
    }
  });
  Dt("TSLiteralType", {
    aliases: ["TSType", "TSBaseType"],
    visitor: ["literal"],
    fields: {
      literal: {
        validate: function() {
          let t = (0, Te.assertNodeType)("NumericLiteral", "BigIntLiteral"), e = (0, Te.assertOneOf)("-"), s = (0, Te.assertNodeType)("Numer\
icLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiteral");
          function r(i, a, o) {
            (0, VEe.default)("UnaryExpression", o) ? (e(o, "operator", o.operator), t(o, "argument", o.argument)) : s(i, a, o);
          }
          return n(r, "validator"), r.oneOfNodeTypes = ["NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiter\
al", "UnaryExpression"], r;
        }()
      }
    }
  });
  Dt("TSExpressionWithTypeArguments", {
    aliases: ["TSType"],
    visitor: ["expression", "typeParameters"],
    fields: {
      expression: (0, Te.validateType)("TSEntityName"),
      typeParameters: (0, Te.validateOptionalType)("TSTypeParameterInstantiation")
    }
  });
  Dt("TSInterfaceDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "typeParameters", "extends", "body"],
    fields: {
      declare: (0, Te.validateOptional)(ea),
      id: (0, Te.validateType)("Identifier"),
      typeParameters: (0, Te.validateOptionalType)("TSTypeParameterDeclaration"),
      extends: (0, Te.validateOptional)((0, Te.arrayOfType)("TSExpressionWithTypeArguments")),
      body: (0, Te.validateType)("TSInterfaceBody")
    }
  });
  Dt("TSInterfaceBody", {
    visitor: ["body"],
    fields: {
      body: (0, Te.validateArrayOfType)("TSTypeElement")
    }
  });
  Dt("TSTypeAliasDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "typeParameters", "typeAnnotation"],
    fields: {
      declare: (0, Te.validateOptional)(ea),
      id: (0, Te.validateType)("Identifier"),
      typeParameters: (0, Te.validateOptionalType)("TSTypeParameterDeclaration"),
      typeAnnotation: (0, Te.validateType)("TSType")
    }
  });
  Dt("TSInstantiationExpression", {
    aliases: ["Expression"],
    visitor: ["expression", "typeParameters"],
    fields: {
      expression: (0, Te.validateType)("Expression"),
      typeParameters: (0, Te.validateOptionalType)("TSTypeParameterInstantiation")
    }
  });
  var rq = {
    aliases: ["Expression", "LVal", "PatternLike"],
    visitor: ["expression", "typeAnnotation"],
    fields: {
      expression: (0, Te.validateType)("Expression"),
      typeAnnotation: (0, Te.validateType)("TSType")
    }
  };
  Dt("TSAsExpression", rq);
  Dt("TSSatisfiesExpression", rq);
  Dt("TSTypeAssertion", {
    aliases: ["Expression", "LVal", "PatternLike"],
    visitor: ["typeAnnotation", "expression"],
    fields: {
      typeAnnotation: (0, Te.validateType)("TSType"),
      expression: (0, Te.validateType)("Expression")
    }
  });
  Dt("TSEnumBody", {
    visitor: ["members"],
    fields: {
      members: (0, Te.validateArrayOfType)("TSEnumMember")
    }
  });
  Dt("TSEnumDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "members"],
    fields: {
      declare: (0, Te.validateOptional)(ea),
      const: (0, Te.validateOptional)(ea),
      id: (0, Te.validateType)("Identifier"),
      members: (0, Te.validateArrayOfType)("TSEnumMember"),
      initializer: (0, Te.validateOptionalType)("Expression"),
      body: (0, Te.validateOptionalType)("TSEnumBody")
    }
  });
  Dt("TSEnumMember", {
    visitor: ["id", "initializer"],
    fields: {
      id: (0, Te.validateType)("Identifier", "StringLiteral"),
      initializer: (0, Te.validateOptionalType)("Expression")
    }
  });
  Dt("TSModuleDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "body"],
    fields: Object.assign({
      kind: {
        validate: (0, Te.assertOneOf)("global", "module", "namespace")
      },
      declare: (0, Te.validateOptional)(ea)
    }, {
      global: (0, Te.validateOptional)(ea)
    }, {
      id: (0, Te.validateType)("Identifier", "StringLiteral"),
      body: (0, Te.validateType)("TSModuleBlock", "TSModuleDeclaration")
    })
  });
  Dt("TSModuleBlock", {
    aliases: ["Scopable", "Block", "BlockParent", "FunctionParent"],
    visitor: ["body"],
    fields: {
      body: (0, Te.validateArrayOfType)("Statement")
    }
  });
  Dt("TSImportType", {
    aliases: ["TSType"],
    builder: ["argument", "qualifier", "typeParameters"],
    visitor: ["argument", "options", "qualifier", "typeParameters"],
    fields: {
      argument: (0, Te.validateType)("StringLiteral"),
      qualifier: (0, Te.validateOptionalType)("TSEntityName"),
      typeParameters: (0, Te.validateOptionalType)("TSTypeParameterInstantiation"),
      options: {
        validate: (0, Te.assertNodeType)("Expression"),
        optional: !0
      }
    }
  });
  Dt("TSImportEqualsDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "moduleReference"],
    fields: Object.assign({}, {
      isExport: (0, Te.validate)(ea)
    }, {
      id: (0, Te.validateType)("Identifier"),
      moduleReference: (0, Te.validateType)("TSEntityName", "TSExternalModuleReference"),
      importKind: {
        validate: (0, Te.assertOneOf)("type", "value"),
        optional: !0
      }
    })
  });
  Dt("TSExternalModuleReference", {
    visitor: ["expression"],
    fields: {
      expression: (0, Te.validateType)("StringLiteral")
    }
  });
  Dt("TSNonNullExpression", {
    aliases: ["Expression", "LVal", "PatternLike"],
    visitor: ["expression"],
    fields: {
      expression: (0, Te.validateType)("Expression")
    }
  });
  Dt("TSExportAssignment", {
    aliases: ["Statement"],
    visitor: ["expression"],
    fields: {
      expression: (0, Te.validateType)("Expression")
    }
  });
  Dt("TSNamespaceExportDeclaration", {
    aliases: ["Statement"],
    visitor: ["id"],
    fields: {
      id: (0, Te.validateType)("Identifier")
    }
  });
  Dt("TSTypeAnnotation", {
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: {
        validate: (0, Te.assertNodeType)("TSType")
      }
    }
  });
  Dt("TSTypeParameterInstantiation", {
    visitor: ["params"],
    fields: {
      params: (0, Te.validateArrayOfType)("TSType")
    }
  });
  Dt("TSTypeParameterDeclaration", {
    visitor: ["params"],
    fields: {
      params: (0, Te.validateArrayOfType)("TSTypeParameter")
    }
  });
  Dt("TSTypeParameter", {
    builder: ["constraint", "default", "name"],
    visitor: ["constraint", "default"],
    fields: {
      name: {
        validate: (0, Te.assertValueType)("string")
      },
      in: {
        validate: (0, Te.assertValueType)("boolean"),
        optional: !0
      },
      out: {
        validate: (0, Te.assertValueType)("boolean"),
        optional: !0
      },
      const: {
        validate: (0, Te.assertValueType)("boolean"),
        optional: !0
      },
      constraint: {
        validate: (0, Te.assertNodeType)("TSType"),
        optional: !0
      },
      default: {
        validate: (0, Te.assertNodeType)("TSType"),
        optional: !0
      }
    }
  });
});

// ../node_modules/@babel/types/lib/definitions/deprecated-aliases.js
var nq = g((wb) => {
  "use strict";
  Object.defineProperty(wb, "__esModule", {
    value: !0
  });
  wb.DEPRECATED_ALIASES = void 0;
  var ejs = wb.DEPRECATED_ALIASES = {
    ModuleDeclaration: "ImportOrExportDeclaration"
  };
});

// ../node_modules/@babel/types/lib/definitions/index.js
var Ta = g((mn) => {
  "use strict";
  Object.defineProperty(mn, "__esModule", {
    value: !0
  });
  Object.defineProperty(mn, "ALIAS_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return xa.ALIAS_KEYS;
    }, "get")
  });
  Object.defineProperty(mn, "BUILDER_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return xa.BUILDER_KEYS;
    }, "get")
  });
  Object.defineProperty(mn, "DEPRECATED_ALIASES", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return VC.DEPRECATED_ALIASES;
    }, "get")
  });
  Object.defineProperty(mn, "DEPRECATED_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return xa.DEPRECATED_KEYS;
    }, "get")
  });
  Object.defineProperty(mn, "FLIPPED_ALIAS_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return xa.FLIPPED_ALIAS_KEYS;
    }, "get")
  });
  Object.defineProperty(mn, "NODE_FIELDS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return xa.NODE_FIELDS;
    }, "get")
  });
  Object.defineProperty(mn, "NODE_PARENT_VALIDATIONS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return xa.NODE_PARENT_VALIDATIONS;
    }, "get")
  });
  Object.defineProperty(mn, "PLACEHOLDERS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return WC.PLACEHOLDERS;
    }, "get")
  });
  Object.defineProperty(mn, "PLACEHOLDERS_ALIAS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return WC.PLACEHOLDERS_ALIAS;
    }, "get")
  });
  Object.defineProperty(mn, "PLACEHOLDERS_FLIPPED_ALIAS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return WC.PLACEHOLDERS_FLIPPED_ALIAS;
    }, "get")
  });
  mn.TYPES = void 0;
  Object.defineProperty(mn, "VISITOR_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return xa.VISITOR_KEYS;
    }, "get")
  });
  Ky();
  J7();
  Y7();
  X7();
  z7();
  iq();
  var xa = Xo(), WC = UC(), VC = nq();
  Object.keys(VC.DEPRECATED_ALIASES).forEach((t) => {
    xa.FLIPPED_ALIAS_KEYS[t] = xa.FLIPPED_ALIAS_KEYS[VC.DEPRECATED_ALIASES[t]];
  });
  var sjs = mn.TYPES = [].concat(Object.keys(xa.VISITOR_KEYS), Object.keys(xa.FLIPPED_ALIAS_KEYS), Object.keys(xa.DEPRECATED_KEYS));
});

// ../node_modules/@babel/types/lib/validators/validate.js
var Eb = g((sd) => {
  "use strict";
  Object.defineProperty(sd, "__esModule", {
    value: !0
  });
  sd.default = $Ee;
  sd.validateChild = oq;
  sd.validateField = aq;
  sd.validateInternal = HEe;
  var Vy = Ta();
  function $Ee(t, e, s) {
    if (!t) return;
    let r = Vy.NODE_FIELDS[t.type];
    if (!r) return;
    let i = r[e];
    aq(t, e, s, i), oq(t, e, s);
  }
  n($Ee, "validate");
  function HEe(t, e, s, r, i) {
    if (t != null && t.validate && !(t.optional && r == null) && (t.validate(e, s, r), i)) {
      var a;
      let o = r.type;
      if (o == null) return;
      (a = Vy.NODE_PARENT_VALIDATIONS[o]) == null || a.call(Vy.NODE_PARENT_VALIDATIONS, e, s, r);
    }
  }
  n(HEe, "validateInternal");
  function aq(t, e, s, r) {
    r != null && r.validate && (r.optional && s == null || r.validate(t, e, s));
  }
  n(aq, "validateField");
  function oq(t, e, s) {
    var r;
    let i = s?.type;
    i != null && ((r = Vy.NODE_PARENT_VALIDATIONS[i]) == null || r.call(Vy.NODE_PARENT_VALIDATIONS, t, e, s));
  }
  n(oq, "validateChild");
});

// ../node_modules/@babel/types/lib/builders/generated/lowercase.js
var $C = g((A) => {
  "use strict";
  Object.defineProperty(A, "__esModule", {
    value: !0
  });
  A.anyTypeAnnotation = v1e;
  A.argumentPlaceholder = eCe;
  A.arrayExpression = XEe;
  A.arrayPattern = WAe;
  A.arrayTypeAnnotation = C1e;
  A.arrowFunctionExpression = $Ae;
  A.assignmentExpression = zEe;
  A.assignmentPattern = VAe;
  A.awaitExpression = f1e;
  A.bigIntLiteral = m1e;
  A.binaryExpression = GEe;
  A.bindExpression = tCe;
  A.blockStatement = tAe;
  A.booleanLiteral = SAe;
  A.booleanLiteralTypeAnnotation = I1e;
  A.booleanTypeAnnotation = w1e;
  A.breakStatement = sAe;
  A.callExpression = rAe;
  A.catchClause = iAe;
  A.classAccessorProperty = x1e;
  A.classBody = HAe;
  A.classDeclaration = YAe;
  A.classExpression = JAe;
  A.classImplements = k1e;
  A.classMethod = a1e;
  A.classPrivateMethod = P1e;
  A.classPrivateProperty = S1e;
  A.classProperty = b1e;
  A.conditionalExpression = nAe;
  A.continueStatement = aAe;
  A.debuggerStatement = oAe;
  A.decimalLiteral = lCe;
  A.declareClass = D1e;
  A.declareExportAllDeclaration = q1e;
  A.declareExportDeclaration = R1e;
  A.declareFunction = O1e;
  A.declareInterface = _1e;
  A.declareModule = L1e;
  A.declareModuleExports = B1e;
  A.declareOpaqueType = F1e;
  A.declareTypeAlias = M1e;
  A.declareVariable = j1e;
  A.declaredPredicate = U1e;
  A.decorator = rCe;
  A.directive = ZEe;
  A.directiveLiteral = eAe;
  A.doExpression = iCe;
  A.doWhileStatement = lAe;
  A.emptyStatement = uAe;
  A.emptyTypeAnnotation = Q1e;
  A.enumBooleanBody = Cve;
  A.enumBooleanMember = kve;
  A.enumDeclaration = vve;
  A.enumDefaultedMember = _ve;
  A.enumNumberBody = wve;
  A.enumNumberMember = Dve;
  A.enumStringBody = Ive;
  A.enumStringMember = Ove;
  A.enumSymbolBody = Nve;
  A.existsTypeAnnotation = K1e;
  A.exportAllDeclaration = XAe;
  A.exportDefaultDeclaration = zAe;
  A.exportDefaultSpecifier = nCe;
  A.exportNamedDeclaration = GAe;
  A.exportNamespaceSpecifier = y1e;
  A.exportSpecifier = QAe;
  A.expressionStatement = cAe;
  A.file = pAe;
  A.forInStatement = hAe;
  A.forOfStatement = ZAe;
  A.forStatement = fAe;
  A.functionDeclaration = dAe;
  A.functionExpression = mAe;
  A.functionTypeAnnotation = V1e;
  A.functionTypeParam = W1e;
  A.genericTypeAnnotation = $1e;
  A.identifier = yAe;
  A.ifStatement = gAe;
  A.import = d1e;
  A.importAttribute = sCe;
  A.importDeclaration = e1e;
  A.importDefaultSpecifier = t1e;
  A.importExpression = i1e;
  A.importNamespaceSpecifier = s1e;
  A.importSpecifier = r1e;
  A.indexedAccessType = Lve;
  A.inferredPredicate = H1e;
  A.interfaceDeclaration = Y1e;
  A.interfaceExtends = J1e;
  A.interfaceTypeAnnotation = X1e;
  A.interpreterDirective = QEe;
  A.intersectionTypeAnnotation = z1e;
  A.jSXAttribute = A.jsxAttribute = Mve;
  A.jSXClosingElement = A.jsxClosingElement = Fve;
  A.jSXClosingFragment = A.jsxClosingFragment = zve;
  A.jSXElement = A.jsxElement = jve;
  A.jSXEmptyExpression = A.jsxEmptyExpression = Rve;
  A.jSXExpressionContainer = A.jsxExpressionContainer = qve;
  A.jSXFragment = A.jsxFragment = Yve;
  A.jSXIdentifier = A.jsxIdentifier = Kve;
  A.jSXMemberExpression = A.jsxMemberExpression = Vve;
  A.jSXNamespacedName = A.jsxNamespacedName = Wve;
  A.jSXOpeningElement = A.jsxOpeningElement = $ve;
  A.jSXOpeningFragment = A.jsxOpeningFragment = Xve;
  A.jSXSpreadAttribute = A.jsxSpreadAttribute = Hve;
  A.jSXSpreadChild = A.jsxSpreadChild = Uve;
  A.jSXText = A.jsxText = Jve;
  A.labeledStatement = TAe;
  A.logicalExpression = PAe;
  A.memberExpression = EAe;
  A.metaProperty = n1e;
  A.mixedTypeAnnotation = G1e;
  A.moduleExpression = uCe;
  A.newExpression = AAe;
  A.noop = Gve;
  A.nullLiteral = xAe;
  A.nullLiteralTypeAnnotation = N1e;
  A.nullableTypeAnnotation = Z1e;
  A.numberLiteral = wwe;
  A.numberLiteralTypeAnnotation = eve;
  A.numberTypeAnnotation = tve;
  A.numericLiteral = lq;
  A.objectExpression = CAe;
  A.objectMethod = wAe;
  A.objectPattern = o1e;
  A.objectProperty = IAe;
  A.objectTypeAnnotation = sve;
  A.objectTypeCallProperty = ive;
  A.objectTypeIndexer = nve;
  A.objectTypeInternalSlot = rve;
  A.objectTypeProperty = ave;
  A.objectTypeSpreadProperty = ove;
  A.opaqueType = lve;
  A.optionalCallExpression = T1e;
  A.optionalIndexedAccessType = Bve;
  A.optionalMemberExpression = g1e;
  A.parenthesizedExpression = DAe;
  A.pipelineBareFunction = hCe;
  A.pipelinePrimaryTopicReference = fCe;
  A.pipelineTopicExpression = pCe;
  A.placeholder = Qve;
  A.privateName = E1e;
  A.program = vAe;
  A.qualifiedTypeIdentifier = uve;
  A.recordExpression = aCe;
  A.regExpLiteral = uq;
  A.regexLiteral = Iwe;
  A.restElement = cq;
  A.restProperty = Nwe;
  A.returnStatement = NAe;
  A.sequenceExpression = kAe;
  A.spreadElement = pq;
  A.spreadProperty = kwe;
  A.staticBlock = A1e;
  A.stringLiteral = bAe;
  A.stringLiteralTypeAnnotation = cve;
  A.stringTypeAnnotation = pve;
  A.super = l1e;
  A.switchCase = OAe;
  A.switchStatement = _Ae;
  A.symbolTypeAnnotation = hve;
  A.taggedTemplateExpression = u1e;
  A.templateElement = c1e;
  A.templateLiteral = p1e;
  A.thisExpression = LAe;
  A.thisTypeAnnotation = fve;
  A.throwStatement = BAe;
  A.topicReference = cCe;
  A.tryStatement = MAe;
  A.tSAnyKeyword = A.tsAnyKeyword = ECe;
  A.tSArrayType = A.tsArrayType = VCe;
  A.tSAsExpression = A.tsAsExpression = uwe;
  A.tSBigIntKeyword = A.tsBigIntKeyword = vCe;
  A.tSBooleanKeyword = A.tsBooleanKeyword = ACe;
  A.tSCallSignatureDeclaration = A.tsCallSignatureDeclaration = TCe;
  A.tSConditionalType = A.tsConditionalType = zCe;
  A.tSConstructSignatureDeclaration = A.tsConstructSignatureDeclaration = bCe;
  A.tSConstructorType = A.tsConstructorType = jCe;
  A.tSDeclareFunction = A.tsDeclareFunction = mCe;
  A.tSDeclareMethod = A.tsDeclareMethod = yCe;
  A.tSEnumBody = A.tsEnumBody = hwe;
  A.tSEnumDeclaration = A.tsEnumDeclaration = fwe;
  A.tSEnumMember = A.tsEnumMember = dwe;
  A.tSExportAssignment = A.tsExportAssignment = Swe;
  A.tSExpressionWithTypeArguments = A.tsExpressionWithTypeArguments = iwe;
  A.tSExternalModuleReference = A.tsExternalModuleReference = bwe;
  A.tSFunctionType = A.tsFunctionType = FCe;
  A.tSImportEqualsDeclaration = A.tsImportEqualsDeclaration = Twe;
  A.tSImportType = A.tsImportType = gwe;
  A.tSIndexSignature = A.tsIndexSignature = PCe;
  A.tSIndexedAccessType = A.tsIndexedAccessType = ewe;
  A.tSInferType = A.tsInferType = GCe;
  A.tSInstantiationExpression = A.tsInstantiationExpression = lwe;
  A.tSInterfaceBody = A.tsInterfaceBody = awe;
  A.tSInterfaceDeclaration = A.tsInterfaceDeclaration = nwe;
  A.tSIntersectionType = A.tsIntersectionType = XCe;
  A.tSIntrinsicKeyword = A.tsIntrinsicKeyword = CCe;
  A.tSLiteralType = A.tsLiteralType = rwe;
  A.tSMappedType = A.tsMappedType = twe;
  A.tSMethodSignature = A.tsMethodSignature = SCe;
  A.tSModuleBlock = A.tsModuleBlock = ywe;
  A.tSModuleDeclaration = A.tsModuleDeclaration = mwe;
  A.tSNamedTupleMember = A.tsNamedTupleMember = JCe;
  A.tSNamespaceExportDeclaration = A.tsNamespaceExportDeclaration = Pwe;
  A.tSNeverKeyword = A.tsNeverKeyword = wCe;
  A.tSNonNullExpression = A.tsNonNullExpression = xwe;
  A.tSNullKeyword = A.tsNullKeyword = ICe;
  A.tSNumberKeyword = A.tsNumberKeyword = NCe;
  A.tSObjectKeyword = A.tsObjectKeyword = kCe;
  A.tSOptionalType = A.tsOptionalType = $Ce;
  A.tSParameterProperty = A.tsParameterProperty = dCe;
  A.tSParenthesizedType = A.tsParenthesizedType = QCe;
  A.tSPropertySignature = A.tsPropertySignature = xCe;
  A.tSQualifiedName = A.tsQualifiedName = gCe;
  A.tSRestType = A.tsRestType = HCe;
  A.tSSatisfiesExpression = A.tsSatisfiesExpression = cwe;
  A.tSStringKeyword = A.tsStringKeyword = DCe;
  A.tSSymbolKeyword = A.tsSymbolKeyword = OCe;
  A.tSTemplateLiteralType = A.tsTemplateLiteralType = swe;
  A.tSThisType = A.tsThisType = MCe;
  A.tSTupleType = A.tsTupleType = WCe;
  A.tSTypeAliasDeclaration = A.tsTypeAliasDeclaration = owe;
  A.tSTypeAnnotation = A.tsTypeAnnotation = Ewe;
  A.tSTypeAssertion = A.tsTypeAssertion = pwe;
  A.tSTypeLiteral = A.tsTypeLiteral = KCe;
  A.tSTypeOperator = A.tsTypeOperator = ZCe;
  A.tSTypeParameter = A.tsTypeParameter = Cwe;
  A.tSTypeParameterDeclaration = A.tsTypeParameterDeclaration = vwe;
  A.tSTypeParameterInstantiation = A.tsTypeParameterInstantiation = Awe;
  A.tSTypePredicate = A.tsTypePredicate = qCe;
  A.tSTypeQuery = A.tsTypeQuery = UCe;
  A.tSTypeReference = A.tsTypeReference = RCe;
  A.tSUndefinedKeyword = A.tsUndefinedKeyword = _Ce;
  A.tSUnionType = A.tsUnionType = YCe;
  A.tSUnknownKeyword = A.tsUnknownKeyword = LCe;
  A.tSVoidKeyword = A.tsVoidKeyword = BCe;
  A.tupleExpression = oCe;
  A.tupleTypeAnnotation = dve;
  A.typeAlias = yve;
  A.typeAnnotation = gve;
  A.typeCastExpression = Tve;
  A.typeParameter = bve;
  A.typeParameterDeclaration = xve;
  A.typeParameterInstantiation = Sve;
  A.typeofTypeAnnotation = mve;
  A.unaryExpression = FAe;
  A.unionTypeAnnotation = Pve;
  A.updateExpression = jAe;
  A.v8IntrinsicIdentifier = Zve;
  A.variableDeclaration = RAe;
  A.variableDeclarator = qAe;
  A.variance = Eve;
  A.voidTypeAnnotation = Ave;
  A.whileStatement = UAe;
  A.withStatement = KAe;
  A.yieldExpression = h1e;
  var JEe = Eb(), Ib = By(), YEe = Xo(), {
    validateInternal: x
  } = JEe, {
    NODE_FIELDS: re
  } = YEe;
  function XEe(t = []) {
    let e = {
      type: "ArrayExpression",
      elements: t
    }, s = re.ArrayExpression;
    return x(s.elements, e, "elements", t, 1), e;
  }
  n(XEe, "arrayExpression");
  function zEe(t, e, s) {
    let r = {
      type: "AssignmentExpression",
      operator: t,
      left: e,
      right: s
    }, i = re.AssignmentExpression;
    return x(i.operator, r, "operator", t), x(i.left, r, "left", e, 1), x(i.right, r, "right", s, 1), r;
  }
  n(zEe, "assignmentExpression");
  function GEe(t, e, s) {
    let r = {
      type: "BinaryExpression",
      operator: t,
      left: e,
      right: s
    }, i = re.BinaryExpression;
    return x(i.operator, r, "operator", t), x(i.left, r, "left", e, 1), x(i.right, r, "right", s, 1), r;
  }
  n(GEe, "binaryExpression");
  function QEe(t) {
    let e = {
      type: "InterpreterDirective",
      value: t
    }, s = re.InterpreterDirective;
    return x(s.value, e, "value", t), e;
  }
  n(QEe, "interpreterDirective");
  function ZEe(t) {
    let e = {
      type: "Directive",
      value: t
    }, s = re.Directive;
    return x(s.value, e, "value", t, 1), e;
  }
  n(ZEe, "directive");
  function eAe(t) {
    let e = {
      type: "DirectiveLiteral",
      value: t
    }, s = re.DirectiveLiteral;
    return x(s.value, e, "value", t), e;
  }
  n(eAe, "directiveLiteral");
  function tAe(t, e = []) {
    let s = {
      type: "BlockStatement",
      body: t,
      directives: e
    }, r = re.BlockStatement;
    return x(r.body, s, "body", t, 1), x(r.directives, s, "directives", e, 1), s;
  }
  n(tAe, "blockStatement");
  function sAe(t = null) {
    let e = {
      type: "BreakStatement",
      label: t
    }, s = re.BreakStatement;
    return x(s.label, e, "label", t, 1), e;
  }
  n(sAe, "breakStatement");
  function rAe(t, e) {
    let s = {
      type: "CallExpression",
      callee: t,
      arguments: e
    }, r = re.CallExpression;
    return x(r.callee, s, "callee", t, 1), x(r.arguments, s, "arguments", e, 1), s;
  }
  n(rAe, "callExpression");
  function iAe(t = null, e) {
    let s = {
      type: "CatchClause",
      param: t,
      body: e
    }, r = re.CatchClause;
    return x(r.param, s, "param", t, 1), x(r.body, s, "body", e, 1), s;
  }
  n(iAe, "catchClause");
  function nAe(t, e, s) {
    let r = {
      type: "ConditionalExpression",
      test: t,
      consequent: e,
      alternate: s
    }, i = re.ConditionalExpression;
    return x(i.test, r, "test", t, 1), x(i.consequent, r, "consequent", e, 1), x(i.alternate, r, "alternate", s, 1), r;
  }
  n(nAe, "conditionalExpression");
  function aAe(t = null) {
    let e = {
      type: "ContinueStatement",
      label: t
    }, s = re.ContinueStatement;
    return x(s.label, e, "label", t, 1), e;
  }
  n(aAe, "continueStatement");
  function oAe() {
    return {
      type: "DebuggerStatement"
    };
  }
  n(oAe, "debuggerStatement");
  function lAe(t, e) {
    let s = {
      type: "DoWhileStatement",
      test: t,
      body: e
    }, r = re.DoWhileStatement;
    return x(r.test, s, "test", t, 1), x(r.body, s, "body", e, 1), s;
  }
  n(lAe, "doWhileStatement");
  function uAe() {
    return {
      type: "EmptyStatement"
    };
  }
  n(uAe, "emptyStatement");
  function cAe(t) {
    let e = {
      type: "ExpressionStatement",
      expression: t
    }, s = re.ExpressionStatement;
    return x(s.expression, e, "expression", t, 1), e;
  }
  n(cAe, "expressionStatement");
  function pAe(t, e = null, s = null) {
    let r = {
      type: "File",
      program: t,
      comments: e,
      tokens: s
    }, i = re.File;
    return x(i.program, r, "program", t, 1), x(i.comments, r, "comments", e, 1), x(i.tokens, r, "tokens", s), r;
  }
  n(pAe, "file");
  function hAe(t, e, s) {
    let r = {
      type: "ForInStatement",
      left: t,
      right: e,
      body: s
    }, i = re.ForInStatement;
    return x(i.left, r, "left", t, 1), x(i.right, r, "right", e, 1), x(i.body, r, "body", s, 1), r;
  }
  n(hAe, "forInStatement");
  function fAe(t = null, e = null, s = null, r) {
    let i = {
      type: "ForStatement",
      init: t,
      test: e,
      update: s,
      body: r
    }, a = re.ForStatement;
    return x(a.init, i, "init", t, 1), x(a.test, i, "test", e, 1), x(a.update, i, "update", s, 1), x(a.body, i, "body", r, 1), i;
  }
  n(fAe, "forStatement");
  function dAe(t = null, e, s, r = !1, i = !1) {
    let a = {
      type: "FunctionDeclaration",
      id: t,
      params: e,
      body: s,
      generator: r,
      async: i
    }, o = re.FunctionDeclaration;
    return x(o.id, a, "id", t, 1), x(o.params, a, "params", e, 1), x(o.body, a, "body", s, 1), x(o.generator, a, "generator", r), x(o.async,
    a, "async", i), a;
  }
  n(dAe, "functionDeclaration");
  function mAe(t = null, e, s, r = !1, i = !1) {
    let a = {
      type: "FunctionExpression",
      id: t,
      params: e,
      body: s,
      generator: r,
      async: i
    }, o = re.FunctionExpression;
    return x(o.id, a, "id", t, 1), x(o.params, a, "params", e, 1), x(o.body, a, "body", s, 1), x(o.generator, a, "generator", r), x(o.async,
    a, "async", i), a;
  }
  n(mAe, "functionExpression");
  function yAe(t) {
    let e = {
      type: "Identifier",
      name: t
    }, s = re.Identifier;
    return x(s.name, e, "name", t), e;
  }
  n(yAe, "identifier");
  function gAe(t, e, s = null) {
    let r = {
      type: "IfStatement",
      test: t,
      consequent: e,
      alternate: s
    }, i = re.IfStatement;
    return x(i.test, r, "test", t, 1), x(i.consequent, r, "consequent", e, 1), x(i.alternate, r, "alternate", s, 1), r;
  }
  n(gAe, "ifStatement");
  function TAe(t, e) {
    let s = {
      type: "LabeledStatement",
      label: t,
      body: e
    }, r = re.LabeledStatement;
    return x(r.label, s, "label", t, 1), x(r.body, s, "body", e, 1), s;
  }
  n(TAe, "labeledStatement");
  function bAe(t) {
    let e = {
      type: "StringLiteral",
      value: t
    }, s = re.StringLiteral;
    return x(s.value, e, "value", t), e;
  }
  n(bAe, "stringLiteral");
  function lq(t) {
    let e = {
      type: "NumericLiteral",
      value: t
    }, s = re.NumericLiteral;
    return x(s.value, e, "value", t), e;
  }
  n(lq, "numericLiteral");
  function xAe() {
    return {
      type: "NullLiteral"
    };
  }
  n(xAe, "nullLiteral");
  function SAe(t) {
    let e = {
      type: "BooleanLiteral",
      value: t
    }, s = re.BooleanLiteral;
    return x(s.value, e, "value", t), e;
  }
  n(SAe, "booleanLiteral");
  function uq(t, e = "") {
    let s = {
      type: "RegExpLiteral",
      pattern: t,
      flags: e
    }, r = re.RegExpLiteral;
    return x(r.pattern, s, "pattern", t), x(r.flags, s, "flags", e), s;
  }
  n(uq, "regExpLiteral");
  function PAe(t, e, s) {
    let r = {
      type: "LogicalExpression",
      operator: t,
      left: e,
      right: s
    }, i = re.LogicalExpression;
    return x(i.operator, r, "operator", t), x(i.left, r, "left", e, 1), x(i.right, r, "right", s, 1), r;
  }
  n(PAe, "logicalExpression");
  function EAe(t, e, s = !1, r = null) {
    let i = {
      type: "MemberExpression",
      object: t,
      property: e,
      computed: s,
      optional: r
    }, a = re.MemberExpression;
    return x(a.object, i, "object", t, 1), x(a.property, i, "property", e, 1), x(a.computed, i, "computed", s), x(a.optional, i, "optional",
    r), i;
  }
  n(EAe, "memberExpression");
  function AAe(t, e) {
    let s = {
      type: "NewExpression",
      callee: t,
      arguments: e
    }, r = re.NewExpression;
    return x(r.callee, s, "callee", t, 1), x(r.arguments, s, "arguments", e, 1), s;
  }
  n(AAe, "newExpression");
  function vAe(t, e = [], s = "script", r = null) {
    let i = {
      type: "Program",
      body: t,
      directives: e,
      sourceType: s,
      interpreter: r
    }, a = re.Program;
    return x(a.body, i, "body", t, 1), x(a.directives, i, "directives", e, 1), x(a.sourceType, i, "sourceType", s), x(a.interpreter, i, "int\
erpreter", r, 1), i;
  }
  n(vAe, "program");
  function CAe(t) {
    let e = {
      type: "ObjectExpression",
      properties: t
    }, s = re.ObjectExpression;
    return x(s.properties, e, "properties", t, 1), e;
  }
  n(CAe, "objectExpression");
  function wAe(t = "method", e, s, r, i = !1, a = !1, o = !1) {
    let l = {
      type: "ObjectMethod",
      kind: t,
      key: e,
      params: s,
      body: r,
      computed: i,
      generator: a,
      async: o
    }, u = re.ObjectMethod;
    return x(u.kind, l, "kind", t), x(u.key, l, "key", e, 1), x(u.params, l, "params", s, 1), x(u.body, l, "body", r, 1), x(u.computed, l, "\
computed", i), x(u.generator, l, "generator", a), x(u.async, l, "async", o), l;
  }
  n(wAe, "objectMethod");
  function IAe(t, e, s = !1, r = !1, i = null) {
    let a = {
      type: "ObjectProperty",
      key: t,
      value: e,
      computed: s,
      shorthand: r,
      decorators: i
    }, o = re.ObjectProperty;
    return x(o.key, a, "key", t, 1), x(o.value, a, "value", e, 1), x(o.computed, a, "computed", s), x(o.shorthand, a, "shorthand", r), x(o.decorators,
    a, "decorators", i, 1), a;
  }
  n(IAe, "objectProperty");
  function cq(t) {
    let e = {
      type: "RestElement",
      argument: t
    }, s = re.RestElement;
    return x(s.argument, e, "argument", t, 1), e;
  }
  n(cq, "restElement");
  function NAe(t = null) {
    let e = {
      type: "ReturnStatement",
      argument: t
    }, s = re.ReturnStatement;
    return x(s.argument, e, "argument", t, 1), e;
  }
  n(NAe, "returnStatement");
  function kAe(t) {
    let e = {
      type: "SequenceExpression",
      expressions: t
    }, s = re.SequenceExpression;
    return x(s.expressions, e, "expressions", t, 1), e;
  }
  n(kAe, "sequenceExpression");
  function DAe(t) {
    let e = {
      type: "ParenthesizedExpression",
      expression: t
    }, s = re.ParenthesizedExpression;
    return x(s.expression, e, "expression", t, 1), e;
  }
  n(DAe, "parenthesizedExpression");
  function OAe(t = null, e) {
    let s = {
      type: "SwitchCase",
      test: t,
      consequent: e
    }, r = re.SwitchCase;
    return x(r.test, s, "test", t, 1), x(r.consequent, s, "consequent", e, 1), s;
  }
  n(OAe, "switchCase");
  function _Ae(t, e) {
    let s = {
      type: "SwitchStatement",
      discriminant: t,
      cases: e
    }, r = re.SwitchStatement;
    return x(r.discriminant, s, "discriminant", t, 1), x(r.cases, s, "cases", e, 1), s;
  }
  n(_Ae, "switchStatement");
  function LAe() {
    return {
      type: "ThisExpression"
    };
  }
  n(LAe, "thisExpression");
  function BAe(t) {
    let e = {
      type: "ThrowStatement",
      argument: t
    }, s = re.ThrowStatement;
    return x(s.argument, e, "argument", t, 1), e;
  }
  n(BAe, "throwStatement");
  function MAe(t, e = null, s = null) {
    let r = {
      type: "TryStatement",
      block: t,
      handler: e,
      finalizer: s
    }, i = re.TryStatement;
    return x(i.block, r, "block", t, 1), x(i.handler, r, "handler", e, 1), x(i.finalizer, r, "finalizer", s, 1), r;
  }
  n(MAe, "tryStatement");
  function FAe(t, e, s = !0) {
    let r = {
      type: "UnaryExpression",
      operator: t,
      argument: e,
      prefix: s
    }, i = re.UnaryExpression;
    return x(i.operator, r, "operator", t), x(i.argument, r, "argument", e, 1), x(i.prefix, r, "prefix", s), r;
  }
  n(FAe, "unaryExpression");
  function jAe(t, e, s = !1) {
    let r = {
      type: "UpdateExpression",
      operator: t,
      argument: e,
      prefix: s
    }, i = re.UpdateExpression;
    return x(i.operator, r, "operator", t), x(i.argument, r, "argument", e, 1), x(i.prefix, r, "prefix", s), r;
  }
  n(jAe, "updateExpression");
  function RAe(t, e) {
    let s = {
      type: "VariableDeclaration",
      kind: t,
      declarations: e
    }, r = re.VariableDeclaration;
    return x(r.kind, s, "kind", t), x(r.declarations, s, "declarations", e, 1), s;
  }
  n(RAe, "variableDeclaration");
  function qAe(t, e = null) {
    let s = {
      type: "VariableDeclarator",
      id: t,
      init: e
    }, r = re.VariableDeclarator;
    return x(r.id, s, "id", t, 1), x(r.init, s, "init", e, 1), s;
  }
  n(qAe, "variableDeclarator");
  function UAe(t, e) {
    let s = {
      type: "WhileStatement",
      test: t,
      body: e
    }, r = re.WhileStatement;
    return x(r.test, s, "test", t, 1), x(r.body, s, "body", e, 1), s;
  }
  n(UAe, "whileStatement");
  function KAe(t, e) {
    let s = {
      type: "WithStatement",
      object: t,
      body: e
    }, r = re.WithStatement;
    return x(r.object, s, "object", t, 1), x(r.body, s, "body", e, 1), s;
  }
  n(KAe, "withStatement");
  function VAe(t, e) {
    let s = {
      type: "AssignmentPattern",
      left: t,
      right: e
    }, r = re.AssignmentPattern;
    return x(r.left, s, "left", t, 1), x(r.right, s, "right", e, 1), s;
  }
  n(VAe, "assignmentPattern");
  function WAe(t) {
    let e = {
      type: "ArrayPattern",
      elements: t
    }, s = re.ArrayPattern;
    return x(s.elements, e, "elements", t, 1), e;
  }
  n(WAe, "arrayPattern");
  function $Ae(t, e, s = !1) {
    let r = {
      type: "ArrowFunctionExpression",
      params: t,
      body: e,
      async: s,
      expression: null
    }, i = re.ArrowFunctionExpression;
    return x(i.params, r, "params", t, 1), x(i.body, r, "body", e, 1), x(i.async, r, "async", s), r;
  }
  n($Ae, "arrowFunctionExpression");
  function HAe(t) {
    let e = {
      type: "ClassBody",
      body: t
    }, s = re.ClassBody;
    return x(s.body, e, "body", t, 1), e;
  }
  n(HAe, "classBody");
  function JAe(t = null, e = null, s, r = null) {
    let i = {
      type: "ClassExpression",
      id: t,
      superClass: e,
      body: s,
      decorators: r
    }, a = re.ClassExpression;
    return x(a.id, i, "id", t, 1), x(a.superClass, i, "superClass", e, 1), x(a.body, i, "body", s, 1), x(a.decorators, i, "decorators", r, 1),
    i;
  }
  n(JAe, "classExpression");
  function YAe(t = null, e = null, s, r = null) {
    let i = {
      type: "ClassDeclaration",
      id: t,
      superClass: e,
      body: s,
      decorators: r
    }, a = re.ClassDeclaration;
    return x(a.id, i, "id", t, 1), x(a.superClass, i, "superClass", e, 1), x(a.body, i, "body", s, 1), x(a.decorators, i, "decorators", r, 1),
    i;
  }
  n(YAe, "classDeclaration");
  function XAe(t) {
    let e = {
      type: "ExportAllDeclaration",
      source: t
    }, s = re.ExportAllDeclaration;
    return x(s.source, e, "source", t, 1), e;
  }
  n(XAe, "exportAllDeclaration");
  function zAe(t) {
    let e = {
      type: "ExportDefaultDeclaration",
      declaration: t
    }, s = re.ExportDefaultDeclaration;
    return x(s.declaration, e, "declaration", t, 1), e;
  }
  n(zAe, "exportDefaultDeclaration");
  function GAe(t = null, e = [], s = null) {
    let r = {
      type: "ExportNamedDeclaration",
      declaration: t,
      specifiers: e,
      source: s
    }, i = re.ExportNamedDeclaration;
    return x(i.declaration, r, "declaration", t, 1), x(i.specifiers, r, "specifiers", e, 1), x(i.source, r, "source", s, 1), r;
  }
  n(GAe, "exportNamedDeclaration");
  function QAe(t, e) {
    let s = {
      type: "ExportSpecifier",
      local: t,
      exported: e
    }, r = re.ExportSpecifier;
    return x(r.local, s, "local", t, 1), x(r.exported, s, "exported", e, 1), s;
  }
  n(QAe, "exportSpecifier");
  function ZAe(t, e, s, r = !1) {
    let i = {
      type: "ForOfStatement",
      left: t,
      right: e,
      body: s,
      await: r
    }, a = re.ForOfStatement;
    return x(a.left, i, "left", t, 1), x(a.right, i, "right", e, 1), x(a.body, i, "body", s, 1), x(a.await, i, "await", r), i;
  }
  n(ZAe, "forOfStatement");
  function e1e(t, e) {
    let s = {
      type: "ImportDeclaration",
      specifiers: t,
      source: e
    }, r = re.ImportDeclaration;
    return x(r.specifiers, s, "specifiers", t, 1), x(r.source, s, "source", e, 1), s;
  }
  n(e1e, "importDeclaration");
  function t1e(t) {
    let e = {
      type: "ImportDefaultSpecifier",
      local: t
    }, s = re.ImportDefaultSpecifier;
    return x(s.local, e, "local", t, 1), e;
  }
  n(t1e, "importDefaultSpecifier");
  function s1e(t) {
    let e = {
      type: "ImportNamespaceSpecifier",
      local: t
    }, s = re.ImportNamespaceSpecifier;
    return x(s.local, e, "local", t, 1), e;
  }
  n(s1e, "importNamespaceSpecifier");
  function r1e(t, e) {
    let s = {
      type: "ImportSpecifier",
      local: t,
      imported: e
    }, r = re.ImportSpecifier;
    return x(r.local, s, "local", t, 1), x(r.imported, s, "imported", e, 1), s;
  }
  n(r1e, "importSpecifier");
  function i1e(t, e = null) {
    let s = {
      type: "ImportExpression",
      source: t,
      options: e
    }, r = re.ImportExpression;
    return x(r.source, s, "source", t, 1), x(r.options, s, "options", e, 1), s;
  }
  n(i1e, "importExpression");
  function n1e(t, e) {
    let s = {
      type: "MetaProperty",
      meta: t,
      property: e
    }, r = re.MetaProperty;
    return x(r.meta, s, "meta", t, 1), x(r.property, s, "property", e, 1), s;
  }
  n(n1e, "metaProperty");
  function a1e(t = "method", e, s, r, i = !1, a = !1, o = !1, l = !1) {
    let u = {
      type: "ClassMethod",
      kind: t,
      key: e,
      params: s,
      body: r,
      computed: i,
      static: a,
      generator: o,
      async: l
    }, c = re.ClassMethod;
    return x(c.kind, u, "kind", t), x(c.key, u, "key", e, 1), x(c.params, u, "params", s, 1), x(c.body, u, "body", r, 1), x(c.computed, u, "\
computed", i), x(c.static, u, "static", a), x(c.generator, u, "generator", o), x(c.async, u, "async", l), u;
  }
  n(a1e, "classMethod");
  function o1e(t) {
    let e = {
      type: "ObjectPattern",
      properties: t
    }, s = re.ObjectPattern;
    return x(s.properties, e, "properties", t, 1), e;
  }
  n(o1e, "objectPattern");
  function pq(t) {
    let e = {
      type: "SpreadElement",
      argument: t
    }, s = re.SpreadElement;
    return x(s.argument, e, "argument", t, 1), e;
  }
  n(pq, "spreadElement");
  function l1e() {
    return {
      type: "Super"
    };
  }
  n(l1e, "_super");
  function u1e(t, e) {
    let s = {
      type: "TaggedTemplateExpression",
      tag: t,
      quasi: e
    }, r = re.TaggedTemplateExpression;
    return x(r.tag, s, "tag", t, 1), x(r.quasi, s, "quasi", e, 1), s;
  }
  n(u1e, "taggedTemplateExpression");
  function c1e(t, e = !1) {
    let s = {
      type: "TemplateElement",
      value: t,
      tail: e
    }, r = re.TemplateElement;
    return x(r.value, s, "value", t), x(r.tail, s, "tail", e), s;
  }
  n(c1e, "templateElement");
  function p1e(t, e) {
    let s = {
      type: "TemplateLiteral",
      quasis: t,
      expressions: e
    }, r = re.TemplateLiteral;
    return x(r.quasis, s, "quasis", t, 1), x(r.expressions, s, "expressions", e, 1), s;
  }
  n(p1e, "templateLiteral");
  function h1e(t = null, e = !1) {
    let s = {
      type: "YieldExpression",
      argument: t,
      delegate: e
    }, r = re.YieldExpression;
    return x(r.argument, s, "argument", t, 1), x(r.delegate, s, "delegate", e), s;
  }
  n(h1e, "yieldExpression");
  function f1e(t) {
    let e = {
      type: "AwaitExpression",
      argument: t
    }, s = re.AwaitExpression;
    return x(s.argument, e, "argument", t, 1), e;
  }
  n(f1e, "awaitExpression");
  function d1e() {
    return {
      type: "Import"
    };
  }
  n(d1e, "_import");
  function m1e(t) {
    let e = {
      type: "BigIntLiteral",
      value: t
    }, s = re.BigIntLiteral;
    return x(s.value, e, "value", t), e;
  }
  n(m1e, "bigIntLiteral");
  function y1e(t) {
    let e = {
      type: "ExportNamespaceSpecifier",
      exported: t
    }, s = re.ExportNamespaceSpecifier;
    return x(s.exported, e, "exported", t, 1), e;
  }
  n(y1e, "exportNamespaceSpecifier");
  function g1e(t, e, s = !1, r) {
    let i = {
      type: "OptionalMemberExpression",
      object: t,
      property: e,
      computed: s,
      optional: r
    }, a = re.OptionalMemberExpression;
    return x(a.object, i, "object", t, 1), x(a.property, i, "property", e, 1), x(a.computed, i, "computed", s), x(a.optional, i, "optional",
    r), i;
  }
  n(g1e, "optionalMemberExpression");
  function T1e(t, e, s) {
    let r = {
      type: "OptionalCallExpression",
      callee: t,
      arguments: e,
      optional: s
    }, i = re.OptionalCallExpression;
    return x(i.callee, r, "callee", t, 1), x(i.arguments, r, "arguments", e, 1), x(i.optional, r, "optional", s), r;
  }
  n(T1e, "optionalCallExpression");
  function b1e(t, e = null, s = null, r = null, i = !1, a = !1) {
    let o = {
      type: "ClassProperty",
      key: t,
      value: e,
      typeAnnotation: s,
      decorators: r,
      computed: i,
      static: a
    }, l = re.ClassProperty;
    return x(l.key, o, "key", t, 1), x(l.value, o, "value", e, 1), x(l.typeAnnotation, o, "typeAnnotation", s, 1), x(l.decorators, o, "decor\
ators", r, 1), x(l.computed, o, "computed", i), x(l.static, o, "static", a), o;
  }
  n(b1e, "classProperty");
  function x1e(t, e = null, s = null, r = null, i = !1, a = !1) {
    let o = {
      type: "ClassAccessorProperty",
      key: t,
      value: e,
      typeAnnotation: s,
      decorators: r,
      computed: i,
      static: a
    }, l = re.ClassAccessorProperty;
    return x(l.key, o, "key", t, 1), x(l.value, o, "value", e, 1), x(l.typeAnnotation, o, "typeAnnotation", s, 1), x(l.decorators, o, "decor\
ators", r, 1), x(l.computed, o, "computed", i), x(l.static, o, "static", a), o;
  }
  n(x1e, "classAccessorProperty");
  function S1e(t, e = null, s = null, r = !1) {
    let i = {
      type: "ClassPrivateProperty",
      key: t,
      value: e,
      decorators: s,
      static: r
    }, a = re.ClassPrivateProperty;
    return x(a.key, i, "key", t, 1), x(a.value, i, "value", e, 1), x(a.decorators, i, "decorators", s, 1), x(a.static, i, "static", r), i;
  }
  n(S1e, "classPrivateProperty");
  function P1e(t = "method", e, s, r, i = !1) {
    let a = {
      type: "ClassPrivateMethod",
      kind: t,
      key: e,
      params: s,
      body: r,
      static: i
    }, o = re.ClassPrivateMethod;
    return x(o.kind, a, "kind", t), x(o.key, a, "key", e, 1), x(o.params, a, "params", s, 1), x(o.body, a, "body", r, 1), x(o.static, a, "st\
atic", i), a;
  }
  n(P1e, "classPrivateMethod");
  function E1e(t) {
    let e = {
      type: "PrivateName",
      id: t
    }, s = re.PrivateName;
    return x(s.id, e, "id", t, 1), e;
  }
  n(E1e, "privateName");
  function A1e(t) {
    let e = {
      type: "StaticBlock",
      body: t
    }, s = re.StaticBlock;
    return x(s.body, e, "body", t, 1), e;
  }
  n(A1e, "staticBlock");
  function v1e() {
    return {
      type: "AnyTypeAnnotation"
    };
  }
  n(v1e, "anyTypeAnnotation");
  function C1e(t) {
    let e = {
      type: "ArrayTypeAnnotation",
      elementType: t
    }, s = re.ArrayTypeAnnotation;
    return x(s.elementType, e, "elementType", t, 1), e;
  }
  n(C1e, "arrayTypeAnnotation");
  function w1e() {
    return {
      type: "BooleanTypeAnnotation"
    };
  }
  n(w1e, "booleanTypeAnnotation");
  function I1e(t) {
    let e = {
      type: "BooleanLiteralTypeAnnotation",
      value: t
    }, s = re.BooleanLiteralTypeAnnotation;
    return x(s.value, e, "value", t), e;
  }
  n(I1e, "booleanLiteralTypeAnnotation");
  function N1e() {
    return {
      type: "NullLiteralTypeAnnotation"
    };
  }
  n(N1e, "nullLiteralTypeAnnotation");
  function k1e(t, e = null) {
    let s = {
      type: "ClassImplements",
      id: t,
      typeParameters: e
    }, r = re.ClassImplements;
    return x(r.id, s, "id", t, 1), x(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(k1e, "classImplements");
  function D1e(t, e = null, s = null, r) {
    let i = {
      type: "DeclareClass",
      id: t,
      typeParameters: e,
      extends: s,
      body: r
    }, a = re.DeclareClass;
    return x(a.id, i, "id", t, 1), x(a.typeParameters, i, "typeParameters", e, 1), x(a.extends, i, "extends", s, 1), x(a.body, i, "body", r,
    1), i;
  }
  n(D1e, "declareClass");
  function O1e(t) {
    let e = {
      type: "DeclareFunction",
      id: t
    }, s = re.DeclareFunction;
    return x(s.id, e, "id", t, 1), e;
  }
  n(O1e, "declareFunction");
  function _1e(t, e = null, s = null, r) {
    let i = {
      type: "DeclareInterface",
      id: t,
      typeParameters: e,
      extends: s,
      body: r
    }, a = re.DeclareInterface;
    return x(a.id, i, "id", t, 1), x(a.typeParameters, i, "typeParameters", e, 1), x(a.extends, i, "extends", s, 1), x(a.body, i, "body", r,
    1), i;
  }
  n(_1e, "declareInterface");
  function L1e(t, e, s = null) {
    let r = {
      type: "DeclareModule",
      id: t,
      body: e,
      kind: s
    }, i = re.DeclareModule;
    return x(i.id, r, "id", t, 1), x(i.body, r, "body", e, 1), x(i.kind, r, "kind", s), r;
  }
  n(L1e, "declareModule");
  function B1e(t) {
    let e = {
      type: "DeclareModuleExports",
      typeAnnotation: t
    }, s = re.DeclareModuleExports;
    return x(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(B1e, "declareModuleExports");
  function M1e(t, e = null, s) {
    let r = {
      type: "DeclareTypeAlias",
      id: t,
      typeParameters: e,
      right: s
    }, i = re.DeclareTypeAlias;
    return x(i.id, r, "id", t, 1), x(i.typeParameters, r, "typeParameters", e, 1), x(i.right, r, "right", s, 1), r;
  }
  n(M1e, "declareTypeAlias");
  function F1e(t, e = null, s = null) {
    let r = {
      type: "DeclareOpaqueType",
      id: t,
      typeParameters: e,
      supertype: s
    }, i = re.DeclareOpaqueType;
    return x(i.id, r, "id", t, 1), x(i.typeParameters, r, "typeParameters", e, 1), x(i.supertype, r, "supertype", s, 1), r;
  }
  n(F1e, "declareOpaqueType");
  function j1e(t) {
    let e = {
      type: "DeclareVariable",
      id: t
    }, s = re.DeclareVariable;
    return x(s.id, e, "id", t, 1), e;
  }
  n(j1e, "declareVariable");
  function R1e(t = null, e = null, s = null, r = null) {
    let i = {
      type: "DeclareExportDeclaration",
      declaration: t,
      specifiers: e,
      source: s,
      attributes: r
    }, a = re.DeclareExportDeclaration;
    return x(a.declaration, i, "declaration", t, 1), x(a.specifiers, i, "specifiers", e, 1), x(a.source, i, "source", s, 1), x(a.attributes,
    i, "attributes", r, 1), i;
  }
  n(R1e, "declareExportDeclaration");
  function q1e(t, e = null) {
    let s = {
      type: "DeclareExportAllDeclaration",
      source: t,
      attributes: e
    }, r = re.DeclareExportAllDeclaration;
    return x(r.source, s, "source", t, 1), x(r.attributes, s, "attributes", e, 1), s;
  }
  n(q1e, "declareExportAllDeclaration");
  function U1e(t) {
    let e = {
      type: "DeclaredPredicate",
      value: t
    }, s = re.DeclaredPredicate;
    return x(s.value, e, "value", t, 1), e;
  }
  n(U1e, "declaredPredicate");
  function K1e() {
    return {
      type: "ExistsTypeAnnotation"
    };
  }
  n(K1e, "existsTypeAnnotation");
  function V1e(t = null, e, s = null, r) {
    let i = {
      type: "FunctionTypeAnnotation",
      typeParameters: t,
      params: e,
      rest: s,
      returnType: r
    }, a = re.FunctionTypeAnnotation;
    return x(a.typeParameters, i, "typeParameters", t, 1), x(a.params, i, "params", e, 1), x(a.rest, i, "rest", s, 1), x(a.returnType, i, "r\
eturnType", r, 1), i;
  }
  n(V1e, "functionTypeAnnotation");
  function W1e(t = null, e) {
    let s = {
      type: "FunctionTypeParam",
      name: t,
      typeAnnotation: e
    }, r = re.FunctionTypeParam;
    return x(r.name, s, "name", t, 1), x(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(W1e, "functionTypeParam");
  function $1e(t, e = null) {
    let s = {
      type: "GenericTypeAnnotation",
      id: t,
      typeParameters: e
    }, r = re.GenericTypeAnnotation;
    return x(r.id, s, "id", t, 1), x(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n($1e, "genericTypeAnnotation");
  function H1e() {
    return {
      type: "InferredPredicate"
    };
  }
  n(H1e, "inferredPredicate");
  function J1e(t, e = null) {
    let s = {
      type: "InterfaceExtends",
      id: t,
      typeParameters: e
    }, r = re.InterfaceExtends;
    return x(r.id, s, "id", t, 1), x(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(J1e, "interfaceExtends");
  function Y1e(t, e = null, s = null, r) {
    let i = {
      type: "InterfaceDeclaration",
      id: t,
      typeParameters: e,
      extends: s,
      body: r
    }, a = re.InterfaceDeclaration;
    return x(a.id, i, "id", t, 1), x(a.typeParameters, i, "typeParameters", e, 1), x(a.extends, i, "extends", s, 1), x(a.body, i, "body", r,
    1), i;
  }
  n(Y1e, "interfaceDeclaration");
  function X1e(t = null, e) {
    let s = {
      type: "InterfaceTypeAnnotation",
      extends: t,
      body: e
    }, r = re.InterfaceTypeAnnotation;
    return x(r.extends, s, "extends", t, 1), x(r.body, s, "body", e, 1), s;
  }
  n(X1e, "interfaceTypeAnnotation");
  function z1e(t) {
    let e = {
      type: "IntersectionTypeAnnotation",
      types: t
    }, s = re.IntersectionTypeAnnotation;
    return x(s.types, e, "types", t, 1), e;
  }
  n(z1e, "intersectionTypeAnnotation");
  function G1e() {
    return {
      type: "MixedTypeAnnotation"
    };
  }
  n(G1e, "mixedTypeAnnotation");
  function Q1e() {
    return {
      type: "EmptyTypeAnnotation"
    };
  }
  n(Q1e, "emptyTypeAnnotation");
  function Z1e(t) {
    let e = {
      type: "NullableTypeAnnotation",
      typeAnnotation: t
    }, s = re.NullableTypeAnnotation;
    return x(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(Z1e, "nullableTypeAnnotation");
  function eve(t) {
    let e = {
      type: "NumberLiteralTypeAnnotation",
      value: t
    }, s = re.NumberLiteralTypeAnnotation;
    return x(s.value, e, "value", t), e;
  }
  n(eve, "numberLiteralTypeAnnotation");
  function tve() {
    return {
      type: "NumberTypeAnnotation"
    };
  }
  n(tve, "numberTypeAnnotation");
  function sve(t, e = [], s = [], r = [], i = !1) {
    let a = {
      type: "ObjectTypeAnnotation",
      properties: t,
      indexers: e,
      callProperties: s,
      internalSlots: r,
      exact: i
    }, o = re.ObjectTypeAnnotation;
    return x(o.properties, a, "properties", t, 1), x(o.indexers, a, "indexers", e, 1), x(o.callProperties, a, "callProperties", s, 1), x(o.internalSlots,
    a, "internalSlots", r, 1), x(o.exact, a, "exact", i), a;
  }
  n(sve, "objectTypeAnnotation");
  function rve(t, e, s, r, i) {
    let a = {
      type: "ObjectTypeInternalSlot",
      id: t,
      value: e,
      optional: s,
      static: r,
      method: i
    }, o = re.ObjectTypeInternalSlot;
    return x(o.id, a, "id", t, 1), x(o.value, a, "value", e, 1), x(o.optional, a, "optional", s), x(o.static, a, "static", r), x(o.method, a,
    "method", i), a;
  }
  n(rve, "objectTypeInternalSlot");
  function ive(t) {
    let e = {
      type: "ObjectTypeCallProperty",
      value: t,
      static: null
    }, s = re.ObjectTypeCallProperty;
    return x(s.value, e, "value", t, 1), e;
  }
  n(ive, "objectTypeCallProperty");
  function nve(t = null, e, s, r = null) {
    let i = {
      type: "ObjectTypeIndexer",
      id: t,
      key: e,
      value: s,
      variance: r,
      static: null
    }, a = re.ObjectTypeIndexer;
    return x(a.id, i, "id", t, 1), x(a.key, i, "key", e, 1), x(a.value, i, "value", s, 1), x(a.variance, i, "variance", r, 1), i;
  }
  n(nve, "objectTypeIndexer");
  function ave(t, e, s = null) {
    let r = {
      type: "ObjectTypeProperty",
      key: t,
      value: e,
      variance: s,
      kind: null,
      method: null,
      optional: null,
      proto: null,
      static: null
    }, i = re.ObjectTypeProperty;
    return x(i.key, r, "key", t, 1), x(i.value, r, "value", e, 1), x(i.variance, r, "variance", s, 1), r;
  }
  n(ave, "objectTypeProperty");
  function ove(t) {
    let e = {
      type: "ObjectTypeSpreadProperty",
      argument: t
    }, s = re.ObjectTypeSpreadProperty;
    return x(s.argument, e, "argument", t, 1), e;
  }
  n(ove, "objectTypeSpreadProperty");
  function lve(t, e = null, s = null, r) {
    let i = {
      type: "OpaqueType",
      id: t,
      typeParameters: e,
      supertype: s,
      impltype: r
    }, a = re.OpaqueType;
    return x(a.id, i, "id", t, 1), x(a.typeParameters, i, "typeParameters", e, 1), x(a.supertype, i, "supertype", s, 1), x(a.impltype, i, "i\
mpltype", r, 1), i;
  }
  n(lve, "opaqueType");
  function uve(t, e) {
    let s = {
      type: "QualifiedTypeIdentifier",
      id: t,
      qualification: e
    }, r = re.QualifiedTypeIdentifier;
    return x(r.id, s, "id", t, 1), x(r.qualification, s, "qualification", e, 1), s;
  }
  n(uve, "qualifiedTypeIdentifier");
  function cve(t) {
    let e = {
      type: "StringLiteralTypeAnnotation",
      value: t
    }, s = re.StringLiteralTypeAnnotation;
    return x(s.value, e, "value", t), e;
  }
  n(cve, "stringLiteralTypeAnnotation");
  function pve() {
    return {
      type: "StringTypeAnnotation"
    };
  }
  n(pve, "stringTypeAnnotation");
  function hve() {
    return {
      type: "SymbolTypeAnnotation"
    };
  }
  n(hve, "symbolTypeAnnotation");
  function fve() {
    return {
      type: "ThisTypeAnnotation"
    };
  }
  n(fve, "thisTypeAnnotation");
  function dve(t) {
    let e = {
      type: "TupleTypeAnnotation",
      types: t
    }, s = re.TupleTypeAnnotation;
    return x(s.types, e, "types", t, 1), e;
  }
  n(dve, "tupleTypeAnnotation");
  function mve(t) {
    let e = {
      type: "TypeofTypeAnnotation",
      argument: t
    }, s = re.TypeofTypeAnnotation;
    return x(s.argument, e, "argument", t, 1), e;
  }
  n(mve, "typeofTypeAnnotation");
  function yve(t, e = null, s) {
    let r = {
      type: "TypeAlias",
      id: t,
      typeParameters: e,
      right: s
    }, i = re.TypeAlias;
    return x(i.id, r, "id", t, 1), x(i.typeParameters, r, "typeParameters", e, 1), x(i.right, r, "right", s, 1), r;
  }
  n(yve, "typeAlias");
  function gve(t) {
    let e = {
      type: "TypeAnnotation",
      typeAnnotation: t
    }, s = re.TypeAnnotation;
    return x(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(gve, "typeAnnotation");
  function Tve(t, e) {
    let s = {
      type: "TypeCastExpression",
      expression: t,
      typeAnnotation: e
    }, r = re.TypeCastExpression;
    return x(r.expression, s, "expression", t, 1), x(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(Tve, "typeCastExpression");
  function bve(t = null, e = null, s = null) {
    let r = {
      type: "TypeParameter",
      bound: t,
      default: e,
      variance: s,
      name: null
    }, i = re.TypeParameter;
    return x(i.bound, r, "bound", t, 1), x(i.default, r, "default", e, 1), x(i.variance, r, "variance", s, 1), r;
  }
  n(bve, "typeParameter");
  function xve(t) {
    let e = {
      type: "TypeParameterDeclaration",
      params: t
    }, s = re.TypeParameterDeclaration;
    return x(s.params, e, "params", t, 1), e;
  }
  n(xve, "typeParameterDeclaration");
  function Sve(t) {
    let e = {
      type: "TypeParameterInstantiation",
      params: t
    }, s = re.TypeParameterInstantiation;
    return x(s.params, e, "params", t, 1), e;
  }
  n(Sve, "typeParameterInstantiation");
  function Pve(t) {
    let e = {
      type: "UnionTypeAnnotation",
      types: t
    }, s = re.UnionTypeAnnotation;
    return x(s.types, e, "types", t, 1), e;
  }
  n(Pve, "unionTypeAnnotation");
  function Eve(t) {
    let e = {
      type: "Variance",
      kind: t
    }, s = re.Variance;
    return x(s.kind, e, "kind", t), e;
  }
  n(Eve, "variance");
  function Ave() {
    return {
      type: "VoidTypeAnnotation"
    };
  }
  n(Ave, "voidTypeAnnotation");
  function vve(t, e) {
    let s = {
      type: "EnumDeclaration",
      id: t,
      body: e
    }, r = re.EnumDeclaration;
    return x(r.id, s, "id", t, 1), x(r.body, s, "body", e, 1), s;
  }
  n(vve, "enumDeclaration");
  function Cve(t) {
    let e = {
      type: "EnumBooleanBody",
      members: t,
      explicitType: null,
      hasUnknownMembers: null
    }, s = re.EnumBooleanBody;
    return x(s.members, e, "members", t, 1), e;
  }
  n(Cve, "enumBooleanBody");
  function wve(t) {
    let e = {
      type: "EnumNumberBody",
      members: t,
      explicitType: null,
      hasUnknownMembers: null
    }, s = re.EnumNumberBody;
    return x(s.members, e, "members", t, 1), e;
  }
  n(wve, "enumNumberBody");
  function Ive(t) {
    let e = {
      type: "EnumStringBody",
      members: t,
      explicitType: null,
      hasUnknownMembers: null
    }, s = re.EnumStringBody;
    return x(s.members, e, "members", t, 1), e;
  }
  n(Ive, "enumStringBody");
  function Nve(t) {
    let e = {
      type: "EnumSymbolBody",
      members: t,
      hasUnknownMembers: null
    }, s = re.EnumSymbolBody;
    return x(s.members, e, "members", t, 1), e;
  }
  n(Nve, "enumSymbolBody");
  function kve(t) {
    let e = {
      type: "EnumBooleanMember",
      id: t,
      init: null
    }, s = re.EnumBooleanMember;
    return x(s.id, e, "id", t, 1), e;
  }
  n(kve, "enumBooleanMember");
  function Dve(t, e) {
    let s = {
      type: "EnumNumberMember",
      id: t,
      init: e
    }, r = re.EnumNumberMember;
    return x(r.id, s, "id", t, 1), x(r.init, s, "init", e, 1), s;
  }
  n(Dve, "enumNumberMember");
  function Ove(t, e) {
    let s = {
      type: "EnumStringMember",
      id: t,
      init: e
    }, r = re.EnumStringMember;
    return x(r.id, s, "id", t, 1), x(r.init, s, "init", e, 1), s;
  }
  n(Ove, "enumStringMember");
  function _ve(t) {
    let e = {
      type: "EnumDefaultedMember",
      id: t
    }, s = re.EnumDefaultedMember;
    return x(s.id, e, "id", t, 1), e;
  }
  n(_ve, "enumDefaultedMember");
  function Lve(t, e) {
    let s = {
      type: "IndexedAccessType",
      objectType: t,
      indexType: e
    }, r = re.IndexedAccessType;
    return x(r.objectType, s, "objectType", t, 1), x(r.indexType, s, "indexType", e, 1), s;
  }
  n(Lve, "indexedAccessType");
  function Bve(t, e) {
    let s = {
      type: "OptionalIndexedAccessType",
      objectType: t,
      indexType: e,
      optional: null
    }, r = re.OptionalIndexedAccessType;
    return x(r.objectType, s, "objectType", t, 1), x(r.indexType, s, "indexType", e, 1), s;
  }
  n(Bve, "optionalIndexedAccessType");
  function Mve(t, e = null) {
    let s = {
      type: "JSXAttribute",
      name: t,
      value: e
    }, r = re.JSXAttribute;
    return x(r.name, s, "name", t, 1), x(r.value, s, "value", e, 1), s;
  }
  n(Mve, "jsxAttribute");
  function Fve(t) {
    let e = {
      type: "JSXClosingElement",
      name: t
    }, s = re.JSXClosingElement;
    return x(s.name, e, "name", t, 1), e;
  }
  n(Fve, "jsxClosingElement");
  function jve(t, e = null, s, r = null) {
    let i = {
      type: "JSXElement",
      openingElement: t,
      closingElement: e,
      children: s,
      selfClosing: r
    }, a = re.JSXElement;
    return x(a.openingElement, i, "openingElement", t, 1), x(a.closingElement, i, "closingElement", e, 1), x(a.children, i, "children", s, 1),
    x(a.selfClosing, i, "selfClosing", r), i;
  }
  n(jve, "jsxElement");
  function Rve() {
    return {
      type: "JSXEmptyExpression"
    };
  }
  n(Rve, "jsxEmptyExpression");
  function qve(t) {
    let e = {
      type: "JSXExpressionContainer",
      expression: t
    }, s = re.JSXExpressionContainer;
    return x(s.expression, e, "expression", t, 1), e;
  }
  n(qve, "jsxExpressionContainer");
  function Uve(t) {
    let e = {
      type: "JSXSpreadChild",
      expression: t
    }, s = re.JSXSpreadChild;
    return x(s.expression, e, "expression", t, 1), e;
  }
  n(Uve, "jsxSpreadChild");
  function Kve(t) {
    let e = {
      type: "JSXIdentifier",
      name: t
    }, s = re.JSXIdentifier;
    return x(s.name, e, "name", t), e;
  }
  n(Kve, "jsxIdentifier");
  function Vve(t, e) {
    let s = {
      type: "JSXMemberExpression",
      object: t,
      property: e
    }, r = re.JSXMemberExpression;
    return x(r.object, s, "object", t, 1), x(r.property, s, "property", e, 1), s;
  }
  n(Vve, "jsxMemberExpression");
  function Wve(t, e) {
    let s = {
      type: "JSXNamespacedName",
      namespace: t,
      name: e
    }, r = re.JSXNamespacedName;
    return x(r.namespace, s, "namespace", t, 1), x(r.name, s, "name", e, 1), s;
  }
  n(Wve, "jsxNamespacedName");
  function $ve(t, e, s = !1) {
    let r = {
      type: "JSXOpeningElement",
      name: t,
      attributes: e,
      selfClosing: s
    }, i = re.JSXOpeningElement;
    return x(i.name, r, "name", t, 1), x(i.attributes, r, "attributes", e, 1), x(i.selfClosing, r, "selfClosing", s), r;
  }
  n($ve, "jsxOpeningElement");
  function Hve(t) {
    let e = {
      type: "JSXSpreadAttribute",
      argument: t
    }, s = re.JSXSpreadAttribute;
    return x(s.argument, e, "argument", t, 1), e;
  }
  n(Hve, "jsxSpreadAttribute");
  function Jve(t) {
    let e = {
      type: "JSXText",
      value: t
    }, s = re.JSXText;
    return x(s.value, e, "value", t), e;
  }
  n(Jve, "jsxText");
  function Yve(t, e, s) {
    let r = {
      type: "JSXFragment",
      openingFragment: t,
      closingFragment: e,
      children: s
    }, i = re.JSXFragment;
    return x(i.openingFragment, r, "openingFragment", t, 1), x(i.closingFragment, r, "closingFragment", e, 1), x(i.children, r, "children", s,
    1), r;
  }
  n(Yve, "jsxFragment");
  function Xve() {
    return {
      type: "JSXOpeningFragment"
    };
  }
  n(Xve, "jsxOpeningFragment");
  function zve() {
    return {
      type: "JSXClosingFragment"
    };
  }
  n(zve, "jsxClosingFragment");
  function Gve() {
    return {
      type: "Noop"
    };
  }
  n(Gve, "noop");
  function Qve(t, e) {
    let s = {
      type: "Placeholder",
      expectedNode: t,
      name: e
    }, r = re.Placeholder;
    return x(r.expectedNode, s, "expectedNode", t), x(r.name, s, "name", e, 1), s;
  }
  n(Qve, "placeholder");
  function Zve(t) {
    let e = {
      type: "V8IntrinsicIdentifier",
      name: t
    }, s = re.V8IntrinsicIdentifier;
    return x(s.name, e, "name", t), e;
  }
  n(Zve, "v8IntrinsicIdentifier");
  function eCe() {
    return {
      type: "ArgumentPlaceholder"
    };
  }
  n(eCe, "argumentPlaceholder");
  function tCe(t, e) {
    let s = {
      type: "BindExpression",
      object: t,
      callee: e
    }, r = re.BindExpression;
    return x(r.object, s, "object", t, 1), x(r.callee, s, "callee", e, 1), s;
  }
  n(tCe, "bindExpression");
  function sCe(t, e) {
    let s = {
      type: "ImportAttribute",
      key: t,
      value: e
    }, r = re.ImportAttribute;
    return x(r.key, s, "key", t, 1), x(r.value, s, "value", e, 1), s;
  }
  n(sCe, "importAttribute");
  function rCe(t) {
    let e = {
      type: "Decorator",
      expression: t
    }, s = re.Decorator;
    return x(s.expression, e, "expression", t, 1), e;
  }
  n(rCe, "decorator");
  function iCe(t, e = !1) {
    let s = {
      type: "DoExpression",
      body: t,
      async: e
    }, r = re.DoExpression;
    return x(r.body, s, "body", t, 1), x(r.async, s, "async", e), s;
  }
  n(iCe, "doExpression");
  function nCe(t) {
    let e = {
      type: "ExportDefaultSpecifier",
      exported: t
    }, s = re.ExportDefaultSpecifier;
    return x(s.exported, e, "exported", t, 1), e;
  }
  n(nCe, "exportDefaultSpecifier");
  function aCe(t) {
    let e = {
      type: "RecordExpression",
      properties: t
    }, s = re.RecordExpression;
    return x(s.properties, e, "properties", t, 1), e;
  }
  n(aCe, "recordExpression");
  function oCe(t = []) {
    let e = {
      type: "TupleExpression",
      elements: t
    }, s = re.TupleExpression;
    return x(s.elements, e, "elements", t, 1), e;
  }
  n(oCe, "tupleExpression");
  function lCe(t) {
    let e = {
      type: "DecimalLiteral",
      value: t
    }, s = re.DecimalLiteral;
    return x(s.value, e, "value", t), e;
  }
  n(lCe, "decimalLiteral");
  function uCe(t) {
    let e = {
      type: "ModuleExpression",
      body: t
    }, s = re.ModuleExpression;
    return x(s.body, e, "body", t, 1), e;
  }
  n(uCe, "moduleExpression");
  function cCe() {
    return {
      type: "TopicReference"
    };
  }
  n(cCe, "topicReference");
  function pCe(t) {
    let e = {
      type: "PipelineTopicExpression",
      expression: t
    }, s = re.PipelineTopicExpression;
    return x(s.expression, e, "expression", t, 1), e;
  }
  n(pCe, "pipelineTopicExpression");
  function hCe(t) {
    let e = {
      type: "PipelineBareFunction",
      callee: t
    }, s = re.PipelineBareFunction;
    return x(s.callee, e, "callee", t, 1), e;
  }
  n(hCe, "pipelineBareFunction");
  function fCe() {
    return {
      type: "PipelinePrimaryTopicReference"
    };
  }
  n(fCe, "pipelinePrimaryTopicReference");
  function dCe(t) {
    let e = {
      type: "TSParameterProperty",
      parameter: t
    }, s = re.TSParameterProperty;
    return x(s.parameter, e, "parameter", t, 1), e;
  }
  n(dCe, "tsParameterProperty");
  function mCe(t = null, e = null, s, r = null) {
    let i = {
      type: "TSDeclareFunction",
      id: t,
      typeParameters: e,
      params: s,
      returnType: r
    }, a = re.TSDeclareFunction;
    return x(a.id, i, "id", t, 1), x(a.typeParameters, i, "typeParameters", e, 1), x(a.params, i, "params", s, 1), x(a.returnType, i, "retur\
nType", r, 1), i;
  }
  n(mCe, "tsDeclareFunction");
  function yCe(t = null, e, s = null, r, i = null) {
    let a = {
      type: "TSDeclareMethod",
      decorators: t,
      key: e,
      typeParameters: s,
      params: r,
      returnType: i
    }, o = re.TSDeclareMethod;
    return x(o.decorators, a, "decorators", t, 1), x(o.key, a, "key", e, 1), x(o.typeParameters, a, "typeParameters", s, 1), x(o.params, a, "\
params", r, 1), x(o.returnType, a, "returnType", i, 1), a;
  }
  n(yCe, "tsDeclareMethod");
  function gCe(t, e) {
    let s = {
      type: "TSQualifiedName",
      left: t,
      right: e
    }, r = re.TSQualifiedName;
    return x(r.left, s, "left", t, 1), x(r.right, s, "right", e, 1), s;
  }
  n(gCe, "tsQualifiedName");
  function TCe(t = null, e, s = null) {
    let r = {
      type: "TSCallSignatureDeclaration",
      typeParameters: t,
      parameters: e,
      typeAnnotation: s
    }, i = re.TSCallSignatureDeclaration;
    return x(i.typeParameters, r, "typeParameters", t, 1), x(i.parameters, r, "parameters", e, 1), x(i.typeAnnotation, r, "typeAnnotation", s,
    1), r;
  }
  n(TCe, "tsCallSignatureDeclaration");
  function bCe(t = null, e, s = null) {
    let r = {
      type: "TSConstructSignatureDeclaration",
      typeParameters: t,
      parameters: e,
      typeAnnotation: s
    }, i = re.TSConstructSignatureDeclaration;
    return x(i.typeParameters, r, "typeParameters", t, 1), x(i.parameters, r, "parameters", e, 1), x(i.typeAnnotation, r, "typeAnnotation", s,
    1), r;
  }
  n(bCe, "tsConstructSignatureDeclaration");
  function xCe(t, e = null) {
    let s = {
      type: "TSPropertySignature",
      key: t,
      typeAnnotation: e
    }, r = re.TSPropertySignature;
    return x(r.key, s, "key", t, 1), x(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(xCe, "tsPropertySignature");
  function SCe(t, e = null, s, r = null) {
    let i = {
      type: "TSMethodSignature",
      key: t,
      typeParameters: e,
      parameters: s,
      typeAnnotation: r,
      kind: null
    }, a = re.TSMethodSignature;
    return x(a.key, i, "key", t, 1), x(a.typeParameters, i, "typeParameters", e, 1), x(a.parameters, i, "parameters", s, 1), x(a.typeAnnotation,
    i, "typeAnnotation", r, 1), i;
  }
  n(SCe, "tsMethodSignature");
  function PCe(t, e = null) {
    let s = {
      type: "TSIndexSignature",
      parameters: t,
      typeAnnotation: e
    }, r = re.TSIndexSignature;
    return x(r.parameters, s, "parameters", t, 1), x(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(PCe, "tsIndexSignature");
  function ECe() {
    return {
      type: "TSAnyKeyword"
    };
  }
  n(ECe, "tsAnyKeyword");
  function ACe() {
    return {
      type: "TSBooleanKeyword"
    };
  }
  n(ACe, "tsBooleanKeyword");
  function vCe() {
    return {
      type: "TSBigIntKeyword"
    };
  }
  n(vCe, "tsBigIntKeyword");
  function CCe() {
    return {
      type: "TSIntrinsicKeyword"
    };
  }
  n(CCe, "tsIntrinsicKeyword");
  function wCe() {
    return {
      type: "TSNeverKeyword"
    };
  }
  n(wCe, "tsNeverKeyword");
  function ICe() {
    return {
      type: "TSNullKeyword"
    };
  }
  n(ICe, "tsNullKeyword");
  function NCe() {
    return {
      type: "TSNumberKeyword"
    };
  }
  n(NCe, "tsNumberKeyword");
  function kCe() {
    return {
      type: "TSObjectKeyword"
    };
  }
  n(kCe, "tsObjectKeyword");
  function DCe() {
    return {
      type: "TSStringKeyword"
    };
  }
  n(DCe, "tsStringKeyword");
  function OCe() {
    return {
      type: "TSSymbolKeyword"
    };
  }
  n(OCe, "tsSymbolKeyword");
  function _Ce() {
    return {
      type: "TSUndefinedKeyword"
    };
  }
  n(_Ce, "tsUndefinedKeyword");
  function LCe() {
    return {
      type: "TSUnknownKeyword"
    };
  }
  n(LCe, "tsUnknownKeyword");
  function BCe() {
    return {
      type: "TSVoidKeyword"
    };
  }
  n(BCe, "tsVoidKeyword");
  function MCe() {
    return {
      type: "TSThisType"
    };
  }
  n(MCe, "tsThisType");
  function FCe(t = null, e, s = null) {
    let r = {
      type: "TSFunctionType",
      typeParameters: t,
      parameters: e,
      typeAnnotation: s
    }, i = re.TSFunctionType;
    return x(i.typeParameters, r, "typeParameters", t, 1), x(i.parameters, r, "parameters", e, 1), x(i.typeAnnotation, r, "typeAnnotation", s,
    1), r;
  }
  n(FCe, "tsFunctionType");
  function jCe(t = null, e, s = null) {
    let r = {
      type: "TSConstructorType",
      typeParameters: t,
      parameters: e,
      typeAnnotation: s
    }, i = re.TSConstructorType;
    return x(i.typeParameters, r, "typeParameters", t, 1), x(i.parameters, r, "parameters", e, 1), x(i.typeAnnotation, r, "typeAnnotation", s,
    1), r;
  }
  n(jCe, "tsConstructorType");
  function RCe(t, e = null) {
    let s = {
      type: "TSTypeReference",
      typeName: t,
      typeParameters: e
    }, r = re.TSTypeReference;
    return x(r.typeName, s, "typeName", t, 1), x(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(RCe, "tsTypeReference");
  function qCe(t, e = null, s = null) {
    let r = {
      type: "TSTypePredicate",
      parameterName: t,
      typeAnnotation: e,
      asserts: s
    }, i = re.TSTypePredicate;
    return x(i.parameterName, r, "parameterName", t, 1), x(i.typeAnnotation, r, "typeAnnotation", e, 1), x(i.asserts, r, "asserts", s), r;
  }
  n(qCe, "tsTypePredicate");
  function UCe(t, e = null) {
    let s = {
      type: "TSTypeQuery",
      exprName: t,
      typeParameters: e
    }, r = re.TSTypeQuery;
    return x(r.exprName, s, "exprName", t, 1), x(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(UCe, "tsTypeQuery");
  function KCe(t) {
    let e = {
      type: "TSTypeLiteral",
      members: t
    }, s = re.TSTypeLiteral;
    return x(s.members, e, "members", t, 1), e;
  }
  n(KCe, "tsTypeLiteral");
  function VCe(t) {
    let e = {
      type: "TSArrayType",
      elementType: t
    }, s = re.TSArrayType;
    return x(s.elementType, e, "elementType", t, 1), e;
  }
  n(VCe, "tsArrayType");
  function WCe(t) {
    let e = {
      type: "TSTupleType",
      elementTypes: t
    }, s = re.TSTupleType;
    return x(s.elementTypes, e, "elementTypes", t, 1), e;
  }
  n(WCe, "tsTupleType");
  function $Ce(t) {
    let e = {
      type: "TSOptionalType",
      typeAnnotation: t
    }, s = re.TSOptionalType;
    return x(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n($Ce, "tsOptionalType");
  function HCe(t) {
    let e = {
      type: "TSRestType",
      typeAnnotation: t
    }, s = re.TSRestType;
    return x(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(HCe, "tsRestType");
  function JCe(t, e, s = !1) {
    let r = {
      type: "TSNamedTupleMember",
      label: t,
      elementType: e,
      optional: s
    }, i = re.TSNamedTupleMember;
    return x(i.label, r, "label", t, 1), x(i.elementType, r, "elementType", e, 1), x(i.optional, r, "optional", s), r;
  }
  n(JCe, "tsNamedTupleMember");
  function YCe(t) {
    let e = {
      type: "TSUnionType",
      types: t
    }, s = re.TSUnionType;
    return x(s.types, e, "types", t, 1), e;
  }
  n(YCe, "tsUnionType");
  function XCe(t) {
    let e = {
      type: "TSIntersectionType",
      types: t
    }, s = re.TSIntersectionType;
    return x(s.types, e, "types", t, 1), e;
  }
  n(XCe, "tsIntersectionType");
  function zCe(t, e, s, r) {
    let i = {
      type: "TSConditionalType",
      checkType: t,
      extendsType: e,
      trueType: s,
      falseType: r
    }, a = re.TSConditionalType;
    return x(a.checkType, i, "checkType", t, 1), x(a.extendsType, i, "extendsType", e, 1), x(a.trueType, i, "trueType", s, 1), x(a.falseType,
    i, "falseType", r, 1), i;
  }
  n(zCe, "tsConditionalType");
  function GCe(t) {
    let e = {
      type: "TSInferType",
      typeParameter: t
    }, s = re.TSInferType;
    return x(s.typeParameter, e, "typeParameter", t, 1), e;
  }
  n(GCe, "tsInferType");
  function QCe(t) {
    let e = {
      type: "TSParenthesizedType",
      typeAnnotation: t
    }, s = re.TSParenthesizedType;
    return x(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(QCe, "tsParenthesizedType");
  function ZCe(t) {
    let e = {
      type: "TSTypeOperator",
      typeAnnotation: t,
      operator: null
    }, s = re.TSTypeOperator;
    return x(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(ZCe, "tsTypeOperator");
  function ewe(t, e) {
    let s = {
      type: "TSIndexedAccessType",
      objectType: t,
      indexType: e
    }, r = re.TSIndexedAccessType;
    return x(r.objectType, s, "objectType", t, 1), x(r.indexType, s, "indexType", e, 1), s;
  }
  n(ewe, "tsIndexedAccessType");
  function twe(t, e = null, s = null) {
    let r = {
      type: "TSMappedType",
      typeParameter: t,
      typeAnnotation: e,
      nameType: s
    }, i = re.TSMappedType;
    return x(i.typeParameter, r, "typeParameter", t, 1), x(i.typeAnnotation, r, "typeAnnotation", e, 1), x(i.nameType, r, "nameType", s, 1),
    r;
  }
  n(twe, "tsMappedType");
  function swe(t, e) {
    let s = {
      type: "TSTemplateLiteralType",
      quasis: t,
      types: e
    }, r = re.TSTemplateLiteralType;
    return x(r.quasis, s, "quasis", t, 1), x(r.types, s, "types", e, 1), s;
  }
  n(swe, "tsTemplateLiteralType");
  function rwe(t) {
    let e = {
      type: "TSLiteralType",
      literal: t
    }, s = re.TSLiteralType;
    return x(s.literal, e, "literal", t, 1), e;
  }
  n(rwe, "tsLiteralType");
  function iwe(t, e = null) {
    let s = {
      type: "TSExpressionWithTypeArguments",
      expression: t,
      typeParameters: e
    }, r = re.TSExpressionWithTypeArguments;
    return x(r.expression, s, "expression", t, 1), x(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(iwe, "tsExpressionWithTypeArguments");
  function nwe(t, e = null, s = null, r) {
    let i = {
      type: "TSInterfaceDeclaration",
      id: t,
      typeParameters: e,
      extends: s,
      body: r
    }, a = re.TSInterfaceDeclaration;
    return x(a.id, i, "id", t, 1), x(a.typeParameters, i, "typeParameters", e, 1), x(a.extends, i, "extends", s, 1), x(a.body, i, "body", r,
    1), i;
  }
  n(nwe, "tsInterfaceDeclaration");
  function awe(t) {
    let e = {
      type: "TSInterfaceBody",
      body: t
    }, s = re.TSInterfaceBody;
    return x(s.body, e, "body", t, 1), e;
  }
  n(awe, "tsInterfaceBody");
  function owe(t, e = null, s) {
    let r = {
      type: "TSTypeAliasDeclaration",
      id: t,
      typeParameters: e,
      typeAnnotation: s
    }, i = re.TSTypeAliasDeclaration;
    return x(i.id, r, "id", t, 1), x(i.typeParameters, r, "typeParameters", e, 1), x(i.typeAnnotation, r, "typeAnnotation", s, 1), r;
  }
  n(owe, "tsTypeAliasDeclaration");
  function lwe(t, e = null) {
    let s = {
      type: "TSInstantiationExpression",
      expression: t,
      typeParameters: e
    }, r = re.TSInstantiationExpression;
    return x(r.expression, s, "expression", t, 1), x(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(lwe, "tsInstantiationExpression");
  function uwe(t, e) {
    let s = {
      type: "TSAsExpression",
      expression: t,
      typeAnnotation: e
    }, r = re.TSAsExpression;
    return x(r.expression, s, "expression", t, 1), x(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(uwe, "tsAsExpression");
  function cwe(t, e) {
    let s = {
      type: "TSSatisfiesExpression",
      expression: t,
      typeAnnotation: e
    }, r = re.TSSatisfiesExpression;
    return x(r.expression, s, "expression", t, 1), x(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(cwe, "tsSatisfiesExpression");
  function pwe(t, e) {
    let s = {
      type: "TSTypeAssertion",
      typeAnnotation: t,
      expression: e
    }, r = re.TSTypeAssertion;
    return x(r.typeAnnotation, s, "typeAnnotation", t, 1), x(r.expression, s, "expression", e, 1), s;
  }
  n(pwe, "tsTypeAssertion");
  function hwe(t) {
    let e = {
      type: "TSEnumBody",
      members: t
    }, s = re.TSEnumBody;
    return x(s.members, e, "members", t, 1), e;
  }
  n(hwe, "tsEnumBody");
  function fwe(t, e) {
    let s = {
      type: "TSEnumDeclaration",
      id: t,
      members: e
    }, r = re.TSEnumDeclaration;
    return x(r.id, s, "id", t, 1), x(r.members, s, "members", e, 1), s;
  }
  n(fwe, "tsEnumDeclaration");
  function dwe(t, e = null) {
    let s = {
      type: "TSEnumMember",
      id: t,
      initializer: e
    }, r = re.TSEnumMember;
    return x(r.id, s, "id", t, 1), x(r.initializer, s, "initializer", e, 1), s;
  }
  n(dwe, "tsEnumMember");
  function mwe(t, e) {
    let s = {
      type: "TSModuleDeclaration",
      id: t,
      body: e,
      kind: null
    }, r = re.TSModuleDeclaration;
    return x(r.id, s, "id", t, 1), x(r.body, s, "body", e, 1), s;
  }
  n(mwe, "tsModuleDeclaration");
  function ywe(t) {
    let e = {
      type: "TSModuleBlock",
      body: t
    }, s = re.TSModuleBlock;
    return x(s.body, e, "body", t, 1), e;
  }
  n(ywe, "tsModuleBlock");
  function gwe(t, e = null, s = null) {
    let r = {
      type: "TSImportType",
      argument: t,
      qualifier: e,
      typeParameters: s
    }, i = re.TSImportType;
    return x(i.argument, r, "argument", t, 1), x(i.qualifier, r, "qualifier", e, 1), x(i.typeParameters, r, "typeParameters", s, 1), r;
  }
  n(gwe, "tsImportType");
  function Twe(t, e) {
    let s = {
      type: "TSImportEqualsDeclaration",
      id: t,
      moduleReference: e,
      isExport: null
    }, r = re.TSImportEqualsDeclaration;
    return x(r.id, s, "id", t, 1), x(r.moduleReference, s, "moduleReference", e, 1), s;
  }
  n(Twe, "tsImportEqualsDeclaration");
  function bwe(t) {
    let e = {
      type: "TSExternalModuleReference",
      expression: t
    }, s = re.TSExternalModuleReference;
    return x(s.expression, e, "expression", t, 1), e;
  }
  n(bwe, "tsExternalModuleReference");
  function xwe(t) {
    let e = {
      type: "TSNonNullExpression",
      expression: t
    }, s = re.TSNonNullExpression;
    return x(s.expression, e, "expression", t, 1), e;
  }
  n(xwe, "tsNonNullExpression");
  function Swe(t) {
    let e = {
      type: "TSExportAssignment",
      expression: t
    }, s = re.TSExportAssignment;
    return x(s.expression, e, "expression", t, 1), e;
  }
  n(Swe, "tsExportAssignment");
  function Pwe(t) {
    let e = {
      type: "TSNamespaceExportDeclaration",
      id: t
    }, s = re.TSNamespaceExportDeclaration;
    return x(s.id, e, "id", t, 1), e;
  }
  n(Pwe, "tsNamespaceExportDeclaration");
  function Ewe(t) {
    let e = {
      type: "TSTypeAnnotation",
      typeAnnotation: t
    }, s = re.TSTypeAnnotation;
    return x(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(Ewe, "tsTypeAnnotation");
  function Awe(t) {
    let e = {
      type: "TSTypeParameterInstantiation",
      params: t
    }, s = re.TSTypeParameterInstantiation;
    return x(s.params, e, "params", t, 1), e;
  }
  n(Awe, "tsTypeParameterInstantiation");
  function vwe(t) {
    let e = {
      type: "TSTypeParameterDeclaration",
      params: t
    }, s = re.TSTypeParameterDeclaration;
    return x(s.params, e, "params", t, 1), e;
  }
  n(vwe, "tsTypeParameterDeclaration");
  function Cwe(t = null, e = null, s) {
    let r = {
      type: "TSTypeParameter",
      constraint: t,
      default: e,
      name: s
    }, i = re.TSTypeParameter;
    return x(i.constraint, r, "constraint", t, 1), x(i.default, r, "default", e, 1), x(i.name, r, "name", s), r;
  }
  n(Cwe, "tsTypeParameter");
  function wwe(t) {
    return (0, Ib.default)("NumberLiteral", "NumericLiteral", "The node type "), lq(t);
  }
  n(wwe, "NumberLiteral");
  function Iwe(t, e = "") {
    return (0, Ib.default)("RegexLiteral", "RegExpLiteral", "The node type "), uq(t, e);
  }
  n(Iwe, "RegexLiteral");
  function Nwe(t) {
    return (0, Ib.default)("RestProperty", "RestElement", "The node type "), cq(t);
  }
  n(Nwe, "RestProperty");
  function kwe(t) {
    return (0, Ib.default)("SpreadProperty", "SpreadElement", "The node type "), pq(t);
  }
  n(kwe, "SpreadProperty");
});

// ../node_modules/@babel/types/lib/builders/generated/uppercase.js
var hq = g(($) => {
  "use strict";
  Object.defineProperty($, "__esModule", {
    value: !0
  });
  Object.defineProperty($, "AnyTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.anyTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "ArgumentPlaceholder", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.argumentPlaceholder;
    }, "get")
  });
  Object.defineProperty($, "ArrayExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.arrayExpression;
    }, "get")
  });
  Object.defineProperty($, "ArrayPattern", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.arrayPattern;
    }, "get")
  });
  Object.defineProperty($, "ArrayTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.arrayTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "ArrowFunctionExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.arrowFunctionExpression;
    }, "get")
  });
  Object.defineProperty($, "AssignmentExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.assignmentExpression;
    }, "get")
  });
  Object.defineProperty($, "AssignmentPattern", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.assignmentPattern;
    }, "get")
  });
  Object.defineProperty($, "AwaitExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.awaitExpression;
    }, "get")
  });
  Object.defineProperty($, "BigIntLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.bigIntLiteral;
    }, "get")
  });
  Object.defineProperty($, "BinaryExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.binaryExpression;
    }, "get")
  });
  Object.defineProperty($, "BindExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.bindExpression;
    }, "get")
  });
  Object.defineProperty($, "BlockStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.blockStatement;
    }, "get")
  });
  Object.defineProperty($, "BooleanLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.booleanLiteral;
    }, "get")
  });
  Object.defineProperty($, "BooleanLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.booleanLiteralTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "BooleanTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.booleanTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "BreakStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.breakStatement;
    }, "get")
  });
  Object.defineProperty($, "CallExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.callExpression;
    }, "get")
  });
  Object.defineProperty($, "CatchClause", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.catchClause;
    }, "get")
  });
  Object.defineProperty($, "ClassAccessorProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.classAccessorProperty;
    }, "get")
  });
  Object.defineProperty($, "ClassBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.classBody;
    }, "get")
  });
  Object.defineProperty($, "ClassDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.classDeclaration;
    }, "get")
  });
  Object.defineProperty($, "ClassExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.classExpression;
    }, "get")
  });
  Object.defineProperty($, "ClassImplements", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.classImplements;
    }, "get")
  });
  Object.defineProperty($, "ClassMethod", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.classMethod;
    }, "get")
  });
  Object.defineProperty($, "ClassPrivateMethod", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.classPrivateMethod;
    }, "get")
  });
  Object.defineProperty($, "ClassPrivateProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.classPrivateProperty;
    }, "get")
  });
  Object.defineProperty($, "ClassProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.classProperty;
    }, "get")
  });
  Object.defineProperty($, "ConditionalExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.conditionalExpression;
    }, "get")
  });
  Object.defineProperty($, "ContinueStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.continueStatement;
    }, "get")
  });
  Object.defineProperty($, "DebuggerStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.debuggerStatement;
    }, "get")
  });
  Object.defineProperty($, "DecimalLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.decimalLiteral;
    }, "get")
  });
  Object.defineProperty($, "DeclareClass", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.declareClass;
    }, "get")
  });
  Object.defineProperty($, "DeclareExportAllDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.declareExportAllDeclaration;
    }, "get")
  });
  Object.defineProperty($, "DeclareExportDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.declareExportDeclaration;
    }, "get")
  });
  Object.defineProperty($, "DeclareFunction", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.declareFunction;
    }, "get")
  });
  Object.defineProperty($, "DeclareInterface", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.declareInterface;
    }, "get")
  });
  Object.defineProperty($, "DeclareModule", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.declareModule;
    }, "get")
  });
  Object.defineProperty($, "DeclareModuleExports", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.declareModuleExports;
    }, "get")
  });
  Object.defineProperty($, "DeclareOpaqueType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.declareOpaqueType;
    }, "get")
  });
  Object.defineProperty($, "DeclareTypeAlias", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.declareTypeAlias;
    }, "get")
  });
  Object.defineProperty($, "DeclareVariable", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.declareVariable;
    }, "get")
  });
  Object.defineProperty($, "DeclaredPredicate", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.declaredPredicate;
    }, "get")
  });
  Object.defineProperty($, "Decorator", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.decorator;
    }, "get")
  });
  Object.defineProperty($, "Directive", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.directive;
    }, "get")
  });
  Object.defineProperty($, "DirectiveLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.directiveLiteral;
    }, "get")
  });
  Object.defineProperty($, "DoExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.doExpression;
    }, "get")
  });
  Object.defineProperty($, "DoWhileStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.doWhileStatement;
    }, "get")
  });
  Object.defineProperty($, "EmptyStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.emptyStatement;
    }, "get")
  });
  Object.defineProperty($, "EmptyTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.emptyTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "EnumBooleanBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.enumBooleanBody;
    }, "get")
  });
  Object.defineProperty($, "EnumBooleanMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.enumBooleanMember;
    }, "get")
  });
  Object.defineProperty($, "EnumDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.enumDeclaration;
    }, "get")
  });
  Object.defineProperty($, "EnumDefaultedMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.enumDefaultedMember;
    }, "get")
  });
  Object.defineProperty($, "EnumNumberBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.enumNumberBody;
    }, "get")
  });
  Object.defineProperty($, "EnumNumberMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.enumNumberMember;
    }, "get")
  });
  Object.defineProperty($, "EnumStringBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.enumStringBody;
    }, "get")
  });
  Object.defineProperty($, "EnumStringMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.enumStringMember;
    }, "get")
  });
  Object.defineProperty($, "EnumSymbolBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.enumSymbolBody;
    }, "get")
  });
  Object.defineProperty($, "ExistsTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.existsTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "ExportAllDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.exportAllDeclaration;
    }, "get")
  });
  Object.defineProperty($, "ExportDefaultDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.exportDefaultDeclaration;
    }, "get")
  });
  Object.defineProperty($, "ExportDefaultSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.exportDefaultSpecifier;
    }, "get")
  });
  Object.defineProperty($, "ExportNamedDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.exportNamedDeclaration;
    }, "get")
  });
  Object.defineProperty($, "ExportNamespaceSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.exportNamespaceSpecifier;
    }, "get")
  });
  Object.defineProperty($, "ExportSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.exportSpecifier;
    }, "get")
  });
  Object.defineProperty($, "ExpressionStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.expressionStatement;
    }, "get")
  });
  Object.defineProperty($, "File", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.file;
    }, "get")
  });
  Object.defineProperty($, "ForInStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.forInStatement;
    }, "get")
  });
  Object.defineProperty($, "ForOfStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.forOfStatement;
    }, "get")
  });
  Object.defineProperty($, "ForStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.forStatement;
    }, "get")
  });
  Object.defineProperty($, "FunctionDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.functionDeclaration;
    }, "get")
  });
  Object.defineProperty($, "FunctionExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.functionExpression;
    }, "get")
  });
  Object.defineProperty($, "FunctionTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.functionTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "FunctionTypeParam", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.functionTypeParam;
    }, "get")
  });
  Object.defineProperty($, "GenericTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.genericTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "Identifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.identifier;
    }, "get")
  });
  Object.defineProperty($, "IfStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.ifStatement;
    }, "get")
  });
  Object.defineProperty($, "Import", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.import;
    }, "get")
  });
  Object.defineProperty($, "ImportAttribute", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.importAttribute;
    }, "get")
  });
  Object.defineProperty($, "ImportDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.importDeclaration;
    }, "get")
  });
  Object.defineProperty($, "ImportDefaultSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.importDefaultSpecifier;
    }, "get")
  });
  Object.defineProperty($, "ImportExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.importExpression;
    }, "get")
  });
  Object.defineProperty($, "ImportNamespaceSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.importNamespaceSpecifier;
    }, "get")
  });
  Object.defineProperty($, "ImportSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.importSpecifier;
    }, "get")
  });
  Object.defineProperty($, "IndexedAccessType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.indexedAccessType;
    }, "get")
  });
  Object.defineProperty($, "InferredPredicate", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.inferredPredicate;
    }, "get")
  });
  Object.defineProperty($, "InterfaceDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.interfaceDeclaration;
    }, "get")
  });
  Object.defineProperty($, "InterfaceExtends", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.interfaceExtends;
    }, "get")
  });
  Object.defineProperty($, "InterfaceTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.interfaceTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "InterpreterDirective", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.interpreterDirective;
    }, "get")
  });
  Object.defineProperty($, "IntersectionTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.intersectionTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "JSXAttribute", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxAttribute;
    }, "get")
  });
  Object.defineProperty($, "JSXClosingElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxClosingElement;
    }, "get")
  });
  Object.defineProperty($, "JSXClosingFragment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxClosingFragment;
    }, "get")
  });
  Object.defineProperty($, "JSXElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxElement;
    }, "get")
  });
  Object.defineProperty($, "JSXEmptyExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxEmptyExpression;
    }, "get")
  });
  Object.defineProperty($, "JSXExpressionContainer", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxExpressionContainer;
    }, "get")
  });
  Object.defineProperty($, "JSXFragment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxFragment;
    }, "get")
  });
  Object.defineProperty($, "JSXIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxIdentifier;
    }, "get")
  });
  Object.defineProperty($, "JSXMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxMemberExpression;
    }, "get")
  });
  Object.defineProperty($, "JSXNamespacedName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxNamespacedName;
    }, "get")
  });
  Object.defineProperty($, "JSXOpeningElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxOpeningElement;
    }, "get")
  });
  Object.defineProperty($, "JSXOpeningFragment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxOpeningFragment;
    }, "get")
  });
  Object.defineProperty($, "JSXSpreadAttribute", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxSpreadAttribute;
    }, "get")
  });
  Object.defineProperty($, "JSXSpreadChild", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxSpreadChild;
    }, "get")
  });
  Object.defineProperty($, "JSXText", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.jsxText;
    }, "get")
  });
  Object.defineProperty($, "LabeledStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.labeledStatement;
    }, "get")
  });
  Object.defineProperty($, "LogicalExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.logicalExpression;
    }, "get")
  });
  Object.defineProperty($, "MemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.memberExpression;
    }, "get")
  });
  Object.defineProperty($, "MetaProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.metaProperty;
    }, "get")
  });
  Object.defineProperty($, "MixedTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.mixedTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "ModuleExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.moduleExpression;
    }, "get")
  });
  Object.defineProperty($, "NewExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.newExpression;
    }, "get")
  });
  Object.defineProperty($, "Noop", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.noop;
    }, "get")
  });
  Object.defineProperty($, "NullLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.nullLiteral;
    }, "get")
  });
  Object.defineProperty($, "NullLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.nullLiteralTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "NullableTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.nullableTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "NumberLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.numberLiteral;
    }, "get")
  });
  Object.defineProperty($, "NumberLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.numberLiteralTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "NumberTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.numberTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "NumericLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.numericLiteral;
    }, "get")
  });
  Object.defineProperty($, "ObjectExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.objectExpression;
    }, "get")
  });
  Object.defineProperty($, "ObjectMethod", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.objectMethod;
    }, "get")
  });
  Object.defineProperty($, "ObjectPattern", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.objectPattern;
    }, "get")
  });
  Object.defineProperty($, "ObjectProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.objectProperty;
    }, "get")
  });
  Object.defineProperty($, "ObjectTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.objectTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "ObjectTypeCallProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.objectTypeCallProperty;
    }, "get")
  });
  Object.defineProperty($, "ObjectTypeIndexer", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.objectTypeIndexer;
    }, "get")
  });
  Object.defineProperty($, "ObjectTypeInternalSlot", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.objectTypeInternalSlot;
    }, "get")
  });
  Object.defineProperty($, "ObjectTypeProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.objectTypeProperty;
    }, "get")
  });
  Object.defineProperty($, "ObjectTypeSpreadProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.objectTypeSpreadProperty;
    }, "get")
  });
  Object.defineProperty($, "OpaqueType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.opaqueType;
    }, "get")
  });
  Object.defineProperty($, "OptionalCallExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.optionalCallExpression;
    }, "get")
  });
  Object.defineProperty($, "OptionalIndexedAccessType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.optionalIndexedAccessType;
    }, "get")
  });
  Object.defineProperty($, "OptionalMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.optionalMemberExpression;
    }, "get")
  });
  Object.defineProperty($, "ParenthesizedExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.parenthesizedExpression;
    }, "get")
  });
  Object.defineProperty($, "PipelineBareFunction", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.pipelineBareFunction;
    }, "get")
  });
  Object.defineProperty($, "PipelinePrimaryTopicReference", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.pipelinePrimaryTopicReference;
    }, "get")
  });
  Object.defineProperty($, "PipelineTopicExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.pipelineTopicExpression;
    }, "get")
  });
  Object.defineProperty($, "Placeholder", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.placeholder;
    }, "get")
  });
  Object.defineProperty($, "PrivateName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.privateName;
    }, "get")
  });
  Object.defineProperty($, "Program", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.program;
    }, "get")
  });
  Object.defineProperty($, "QualifiedTypeIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.qualifiedTypeIdentifier;
    }, "get")
  });
  Object.defineProperty($, "RecordExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.recordExpression;
    }, "get")
  });
  Object.defineProperty($, "RegExpLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.regExpLiteral;
    }, "get")
  });
  Object.defineProperty($, "RegexLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.regexLiteral;
    }, "get")
  });
  Object.defineProperty($, "RestElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.restElement;
    }, "get")
  });
  Object.defineProperty($, "RestProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.restProperty;
    }, "get")
  });
  Object.defineProperty($, "ReturnStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.returnStatement;
    }, "get")
  });
  Object.defineProperty($, "SequenceExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.sequenceExpression;
    }, "get")
  });
  Object.defineProperty($, "SpreadElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.spreadElement;
    }, "get")
  });
  Object.defineProperty($, "SpreadProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.spreadProperty;
    }, "get")
  });
  Object.defineProperty($, "StaticBlock", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.staticBlock;
    }, "get")
  });
  Object.defineProperty($, "StringLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.stringLiteral;
    }, "get")
  });
  Object.defineProperty($, "StringLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.stringLiteralTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "StringTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.stringTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "Super", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.super;
    }, "get")
  });
  Object.defineProperty($, "SwitchCase", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.switchCase;
    }, "get")
  });
  Object.defineProperty($, "SwitchStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.switchStatement;
    }, "get")
  });
  Object.defineProperty($, "SymbolTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.symbolTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "TSAnyKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsAnyKeyword;
    }, "get")
  });
  Object.defineProperty($, "TSArrayType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsArrayType;
    }, "get")
  });
  Object.defineProperty($, "TSAsExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsAsExpression;
    }, "get")
  });
  Object.defineProperty($, "TSBigIntKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsBigIntKeyword;
    }, "get")
  });
  Object.defineProperty($, "TSBooleanKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsBooleanKeyword;
    }, "get")
  });
  Object.defineProperty($, "TSCallSignatureDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsCallSignatureDeclaration;
    }, "get")
  });
  Object.defineProperty($, "TSConditionalType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsConditionalType;
    }, "get")
  });
  Object.defineProperty($, "TSConstructSignatureDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsConstructSignatureDeclaration;
    }, "get")
  });
  Object.defineProperty($, "TSConstructorType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsConstructorType;
    }, "get")
  });
  Object.defineProperty($, "TSDeclareFunction", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsDeclareFunction;
    }, "get")
  });
  Object.defineProperty($, "TSDeclareMethod", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsDeclareMethod;
    }, "get")
  });
  Object.defineProperty($, "TSEnumBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsEnumBody;
    }, "get")
  });
  Object.defineProperty($, "TSEnumDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsEnumDeclaration;
    }, "get")
  });
  Object.defineProperty($, "TSEnumMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsEnumMember;
    }, "get")
  });
  Object.defineProperty($, "TSExportAssignment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsExportAssignment;
    }, "get")
  });
  Object.defineProperty($, "TSExpressionWithTypeArguments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsExpressionWithTypeArguments;
    }, "get")
  });
  Object.defineProperty($, "TSExternalModuleReference", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsExternalModuleReference;
    }, "get")
  });
  Object.defineProperty($, "TSFunctionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsFunctionType;
    }, "get")
  });
  Object.defineProperty($, "TSImportEqualsDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsImportEqualsDeclaration;
    }, "get")
  });
  Object.defineProperty($, "TSImportType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsImportType;
    }, "get")
  });
  Object.defineProperty($, "TSIndexSignature", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsIndexSignature;
    }, "get")
  });
  Object.defineProperty($, "TSIndexedAccessType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsIndexedAccessType;
    }, "get")
  });
  Object.defineProperty($, "TSInferType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsInferType;
    }, "get")
  });
  Object.defineProperty($, "TSInstantiationExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsInstantiationExpression;
    }, "get")
  });
  Object.defineProperty($, "TSInterfaceBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsInterfaceBody;
    }, "get")
  });
  Object.defineProperty($, "TSInterfaceDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsInterfaceDeclaration;
    }, "get")
  });
  Object.defineProperty($, "TSIntersectionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsIntersectionType;
    }, "get")
  });
  Object.defineProperty($, "TSIntrinsicKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsIntrinsicKeyword;
    }, "get")
  });
  Object.defineProperty($, "TSLiteralType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsLiteralType;
    }, "get")
  });
  Object.defineProperty($, "TSMappedType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsMappedType;
    }, "get")
  });
  Object.defineProperty($, "TSMethodSignature", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsMethodSignature;
    }, "get")
  });
  Object.defineProperty($, "TSModuleBlock", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsModuleBlock;
    }, "get")
  });
  Object.defineProperty($, "TSModuleDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsModuleDeclaration;
    }, "get")
  });
  Object.defineProperty($, "TSNamedTupleMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsNamedTupleMember;
    }, "get")
  });
  Object.defineProperty($, "TSNamespaceExportDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsNamespaceExportDeclaration;
    }, "get")
  });
  Object.defineProperty($, "TSNeverKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsNeverKeyword;
    }, "get")
  });
  Object.defineProperty($, "TSNonNullExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsNonNullExpression;
    }, "get")
  });
  Object.defineProperty($, "TSNullKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsNullKeyword;
    }, "get")
  });
  Object.defineProperty($, "TSNumberKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsNumberKeyword;
    }, "get")
  });
  Object.defineProperty($, "TSObjectKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsObjectKeyword;
    }, "get")
  });
  Object.defineProperty($, "TSOptionalType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsOptionalType;
    }, "get")
  });
  Object.defineProperty($, "TSParameterProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsParameterProperty;
    }, "get")
  });
  Object.defineProperty($, "TSParenthesizedType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsParenthesizedType;
    }, "get")
  });
  Object.defineProperty($, "TSPropertySignature", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsPropertySignature;
    }, "get")
  });
  Object.defineProperty($, "TSQualifiedName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsQualifiedName;
    }, "get")
  });
  Object.defineProperty($, "TSRestType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsRestType;
    }, "get")
  });
  Object.defineProperty($, "TSSatisfiesExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsSatisfiesExpression;
    }, "get")
  });
  Object.defineProperty($, "TSStringKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsStringKeyword;
    }, "get")
  });
  Object.defineProperty($, "TSSymbolKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsSymbolKeyword;
    }, "get")
  });
  Object.defineProperty($, "TSTemplateLiteralType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsTemplateLiteralType;
    }, "get")
  });
  Object.defineProperty($, "TSThisType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsThisType;
    }, "get")
  });
  Object.defineProperty($, "TSTupleType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsTupleType;
    }, "get")
  });
  Object.defineProperty($, "TSTypeAliasDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsTypeAliasDeclaration;
    }, "get")
  });
  Object.defineProperty($, "TSTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "TSTypeAssertion", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsTypeAssertion;
    }, "get")
  });
  Object.defineProperty($, "TSTypeLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsTypeLiteral;
    }, "get")
  });
  Object.defineProperty($, "TSTypeOperator", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsTypeOperator;
    }, "get")
  });
  Object.defineProperty($, "TSTypeParameter", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsTypeParameter;
    }, "get")
  });
  Object.defineProperty($, "TSTypeParameterDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsTypeParameterDeclaration;
    }, "get")
  });
  Object.defineProperty($, "TSTypeParameterInstantiation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsTypeParameterInstantiation;
    }, "get")
  });
  Object.defineProperty($, "TSTypePredicate", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsTypePredicate;
    }, "get")
  });
  Object.defineProperty($, "TSTypeQuery", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsTypeQuery;
    }, "get")
  });
  Object.defineProperty($, "TSTypeReference", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsTypeReference;
    }, "get")
  });
  Object.defineProperty($, "TSUndefinedKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsUndefinedKeyword;
    }, "get")
  });
  Object.defineProperty($, "TSUnionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsUnionType;
    }, "get")
  });
  Object.defineProperty($, "TSUnknownKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsUnknownKeyword;
    }, "get")
  });
  Object.defineProperty($, "TSVoidKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tsVoidKeyword;
    }, "get")
  });
  Object.defineProperty($, "TaggedTemplateExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.taggedTemplateExpression;
    }, "get")
  });
  Object.defineProperty($, "TemplateElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.templateElement;
    }, "get")
  });
  Object.defineProperty($, "TemplateLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.templateLiteral;
    }, "get")
  });
  Object.defineProperty($, "ThisExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.thisExpression;
    }, "get")
  });
  Object.defineProperty($, "ThisTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.thisTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "ThrowStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.throwStatement;
    }, "get")
  });
  Object.defineProperty($, "TopicReference", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.topicReference;
    }, "get")
  });
  Object.defineProperty($, "TryStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tryStatement;
    }, "get")
  });
  Object.defineProperty($, "TupleExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tupleExpression;
    }, "get")
  });
  Object.defineProperty($, "TupleTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.tupleTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "TypeAlias", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.typeAlias;
    }, "get")
  });
  Object.defineProperty($, "TypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.typeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "TypeCastExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.typeCastExpression;
    }, "get")
  });
  Object.defineProperty($, "TypeParameter", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.typeParameter;
    }, "get")
  });
  Object.defineProperty($, "TypeParameterDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.typeParameterDeclaration;
    }, "get")
  });
  Object.defineProperty($, "TypeParameterInstantiation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.typeParameterInstantiation;
    }, "get")
  });
  Object.defineProperty($, "TypeofTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.typeofTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "UnaryExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.unaryExpression;
    }, "get")
  });
  Object.defineProperty($, "UnionTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.unionTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "UpdateExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.updateExpression;
    }, "get")
  });
  Object.defineProperty($, "V8IntrinsicIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.v8IntrinsicIdentifier;
    }, "get")
  });
  Object.defineProperty($, "VariableDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.variableDeclaration;
    }, "get")
  });
  Object.defineProperty($, "VariableDeclarator", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.variableDeclarator;
    }, "get")
  });
  Object.defineProperty($, "Variance", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.variance;
    }, "get")
  });
  Object.defineProperty($, "VoidTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.voidTypeAnnotation;
    }, "get")
  });
  Object.defineProperty($, "WhileStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.whileStatement;
    }, "get")
  });
  Object.defineProperty($, "WithStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.withStatement;
    }, "get")
  });
  Object.defineProperty($, "YieldExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y.yieldExpression;
    }, "get")
  });
  var Y = $C();
});

// ../node_modules/@babel/types/lib/builders/generated/index.js
var ta = g((Ac) => {
  "use strict";
  Object.defineProperty(Ac, "__esModule", {
    value: !0
  });
  var HC = $C();
  Object.keys(HC).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ac && Ac[t] === HC[t] || Object.defineProperty(Ac, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return HC[t];
      }, "get")
    });
  });
  var JC = hq();
  Object.keys(JC).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ac && Ac[t] === JC[t] || Object.defineProperty(Ac, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return JC[t];
      }, "get")
    });
  });
});

// ../node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js
var fq = g((YC) => {
  "use strict";
  Object.defineProperty(YC, "__esModule", {
    value: !0
  });
  YC.default = _we;
  var Dwe = ta(), Owe = fe();
  function _we(t, e) {
    let s = t.value.split(/\r\n|\n|\r/), r = 0;
    for (let a = 0; a < s.length; a++)
      /[^ \t]/.exec(s[a]) && (r = a);
    let i = "";
    for (let a = 0; a < s.length; a++) {
      let o = s[a], l = a === 0, u = a === s.length - 1, c = a === r, p = o.replace(/\t/g, " ");
      l || (p = p.replace(/^ +/, "")), u || (p = p.replace(/ +$/, "")), p && (c || (p += " "), i += p);
    }
    i && e.push((0, Owe.inherits)((0, Dwe.stringLiteral)(i), t));
  }
  n(_we, "cleanJSXElementLiteralChild");
});

// ../node_modules/@babel/types/lib/builders/react/buildChildren.js
var dq = g((zC) => {
  "use strict";
  Object.defineProperty(zC, "__esModule", {
    value: !0
  });
  zC.default = Bwe;
  var XC = ei(), Lwe = fq();
  function Bwe(t) {
    let e = [];
    for (let s = 0; s < t.children.length; s++) {
      let r = t.children[s];
      if ((0, XC.isJSXText)(r)) {
        (0, Lwe.default)(r, e);
        continue;
      }
      (0, XC.isJSXExpressionContainer)(r) && (r = r.expression), !(0, XC.isJSXEmptyExpression)(r) && e.push(r);
    }
    return e;
  }
  n(Bwe, "buildChildren");
});

// ../node_modules/@babel/types/lib/validators/isNode.js
var QC = g((GC) => {
  "use strict";
  Object.defineProperty(GC, "__esModule", {
    value: !0
  });
  GC.default = Fwe;
  var Mwe = Ta();
  function Fwe(t) {
    return !!(t && Mwe.VISITOR_KEYS[t.type]);
  }
  n(Fwe, "isNode");
});

// ../node_modules/@babel/types/lib/asserts/assertNode.js
var mq = g((ZC) => {
  "use strict";
  Object.defineProperty(ZC, "__esModule", {
    value: !0
  });
  ZC.default = Rwe;
  var jwe = QC();
  function Rwe(t) {
    if (!(0, jwe.default)(t)) {
      var e;
      let s = (e = t?.type) != null ? e : JSON.stringify(t);
      throw new TypeError(`Not a valid node of type "${s}"`);
    }
  }
  n(Rwe, "assertNode");
});

// ../node_modules/@babel/types/lib/asserts/generated/index.js
var yq = g((I) => {
  "use strict";
  Object.defineProperty(I, "__esModule", {
    value: !0
  });
  I.assertAccessor = r2e;
  I.assertAnyTypeAnnotation = SNe;
  I.assertArgumentPlaceholder = zke;
  I.assertArrayExpression = Uwe;
  I.assertArrayPattern = RIe;
  I.assertArrayTypeAnnotation = PNe;
  I.assertArrowFunctionExpression = qIe;
  I.assertAssignmentExpression = Kwe;
  I.assertAssignmentPattern = jIe;
  I.assertAwaitExpression = uNe;
  I.assertBigIntLiteral = pNe;
  I.assertBinary = vOe;
  I.assertBinaryExpression = Vwe;
  I.assertBindExpression = Gke;
  I.assertBlock = IOe;
  I.assertBlockParent = wOe;
  I.assertBlockStatement = Jwe;
  I.assertBooleanLiteral = dIe;
  I.assertBooleanLiteralTypeAnnotation = ANe;
  I.assertBooleanTypeAnnotation = ENe;
  I.assertBreakStatement = Ywe;
  I.assertCallExpression = Xwe;
  I.assertCatchClause = zwe;
  I.assertClass = ZOe;
  I.assertClassAccessorProperty = yNe;
  I.assertClassBody = UIe;
  I.assertClassDeclaration = VIe;
  I.assertClassExpression = KIe;
  I.assertClassImplements = CNe;
  I.assertClassMethod = tNe;
  I.assertClassPrivateMethod = TNe;
  I.assertClassPrivateProperty = gNe;
  I.assertClassProperty = mNe;
  I.assertCompletionStatement = DOe;
  I.assertConditional = OOe;
  I.assertConditionalExpression = Gwe;
  I.assertContinueStatement = Qwe;
  I.assertDebuggerStatement = Zwe;
  I.assertDecimalLiteral = iDe;
  I.assertDeclaration = UOe;
  I.assertDeclareClass = wNe;
  I.assertDeclareExportAllDeclaration = MNe;
  I.assertDeclareExportDeclaration = BNe;
  I.assertDeclareFunction = INe;
  I.assertDeclareInterface = NNe;
  I.assertDeclareModule = kNe;
  I.assertDeclareModuleExports = DNe;
  I.assertDeclareOpaqueType = _Ne;
  I.assertDeclareTypeAlias = ONe;
  I.assertDeclareVariable = LNe;
  I.assertDeclaredPredicate = FNe;
  I.assertDecorator = Zke;
  I.assertDirective = $we;
  I.assertDirectiveLiteral = Hwe;
  I.assertDoExpression = eDe;
  I.assertDoWhileStatement = eIe;
  I.assertEmptyStatement = tIe;
  I.assertEmptyTypeAnnotation = YNe;
  I.assertEnumBody = c2e;
  I.assertEnumBooleanBody = Pke;
  I.assertEnumBooleanMember = Cke;
  I.assertEnumDeclaration = Ske;
  I.assertEnumDefaultedMember = Nke;
  I.assertEnumMember = p2e;
  I.assertEnumNumberBody = Eke;
  I.assertEnumNumberMember = wke;
  I.assertEnumStringBody = Ake;
  I.assertEnumStringMember = Ike;
  I.assertEnumSymbolBody = vke;
  I.assertExistsTypeAnnotation = jNe;
  I.assertExportAllDeclaration = WIe;
  I.assertExportDeclaration = t2e;
  I.assertExportDefaultDeclaration = $Ie;
  I.assertExportDefaultSpecifier = tDe;
  I.assertExportNamedDeclaration = HIe;
  I.assertExportNamespaceSpecifier = hNe;
  I.assertExportSpecifier = JIe;
  I.assertExpression = AOe;
  I.assertExpressionStatement = sIe;
  I.assertExpressionWrapper = BOe;
  I.assertFile = rIe;
  I.assertFlow = n2e;
  I.assertFlowBaseAnnotation = o2e;
  I.assertFlowDeclaration = l2e;
  I.assertFlowPredicate = u2e;
  I.assertFlowType = a2e;
  I.assertFor = MOe;
  I.assertForInStatement = iIe;
  I.assertForOfStatement = YIe;
  I.assertForStatement = nIe;
  I.assertForXStatement = FOe;
  I.assertFunction = jOe;
  I.assertFunctionDeclaration = aIe;
  I.assertFunctionExpression = oIe;
  I.assertFunctionParent = ROe;
  I.assertFunctionTypeAnnotation = RNe;
  I.assertFunctionTypeParam = qNe;
  I.assertGenericTypeAnnotation = UNe;
  I.assertIdentifier = lIe;
  I.assertIfStatement = uIe;
  I.assertImmutable = HOe;
  I.assertImport = cNe;
  I.assertImportAttribute = Qke;
  I.assertImportDeclaration = XIe;
  I.assertImportDefaultSpecifier = zIe;
  I.assertImportExpression = ZIe;
  I.assertImportNamespaceSpecifier = GIe;
  I.assertImportOrExportDeclaration = e2e;
  I.assertImportSpecifier = QIe;
  I.assertIndexedAccessType = kke;
  I.assertInferredPredicate = KNe;
  I.assertInterfaceDeclaration = WNe;
  I.assertInterfaceExtends = VNe;
  I.assertInterfaceTypeAnnotation = $Ne;
  I.assertInterpreterDirective = Wwe;
  I.assertIntersectionTypeAnnotation = HNe;
  I.assertJSX = h2e;
  I.assertJSXAttribute = Oke;
  I.assertJSXClosingElement = _ke;
  I.assertJSXClosingFragment = Hke;
  I.assertJSXElement = Lke;
  I.assertJSXEmptyExpression = Bke;
  I.assertJSXExpressionContainer = Mke;
  I.assertJSXFragment = Wke;
  I.assertJSXIdentifier = jke;
  I.assertJSXMemberExpression = Rke;
  I.assertJSXNamespacedName = qke;
  I.assertJSXOpeningElement = Uke;
  I.assertJSXOpeningFragment = $ke;
  I.assertJSXSpreadAttribute = Kke;
  I.assertJSXSpreadChild = Fke;
  I.assertJSXText = Vke;
  I.assertLVal = VOe;
  I.assertLabeledStatement = cIe;
  I.assertLiteral = $Oe;
  I.assertLogicalExpression = yIe;
  I.assertLoop = _Oe;
  I.assertMemberExpression = gIe;
  I.assertMetaProperty = eNe;
  I.assertMethod = YOe;
  I.assertMiscellaneous = f2e;
  I.assertMixedTypeAnnotation = JNe;
  I.assertModuleDeclaration = P2e;
  I.assertModuleExpression = nDe;
  I.assertModuleSpecifier = s2e;
  I.assertNewExpression = TIe;
  I.assertNoop = Jke;
  I.assertNullLiteral = fIe;
  I.assertNullLiteralTypeAnnotation = vNe;
  I.assertNullableTypeAnnotation = XNe;
  I.assertNumberLiteral = T2e;
  I.assertNumberLiteralTypeAnnotation = zNe;
  I.assertNumberTypeAnnotation = GNe;
  I.assertNumericLiteral = hIe;
  I.assertObjectExpression = xIe;
  I.assertObjectMember = XOe;
  I.assertObjectMethod = SIe;
  I.assertObjectPattern = sNe;
  I.assertObjectProperty = PIe;
  I.assertObjectTypeAnnotation = QNe;
  I.assertObjectTypeCallProperty = eke;
  I.assertObjectTypeIndexer = tke;
  I.assertObjectTypeInternalSlot = ZNe;
  I.assertObjectTypeProperty = ske;
  I.assertObjectTypeSpreadProperty = rke;
  I.assertOpaqueType = ike;
  I.assertOptionalCallExpression = dNe;
  I.assertOptionalIndexedAccessType = Dke;
  I.assertOptionalMemberExpression = fNe;
  I.assertParenthesizedExpression = CIe;
  I.assertPattern = QOe;
  I.assertPatternLike = KOe;
  I.assertPipelineBareFunction = lDe;
  I.assertPipelinePrimaryTopicReference = uDe;
  I.assertPipelineTopicExpression = oDe;
  I.assertPlaceholder = Yke;
  I.assertPrivate = i2e;
  I.assertPrivateName = bNe;
  I.assertProgram = bIe;
  I.assertProperty = zOe;
  I.assertPureish = qOe;
  I.assertQualifiedTypeIdentifier = nke;
  I.assertRecordExpression = sDe;
  I.assertRegExpLiteral = mIe;
  I.assertRegexLiteral = b2e;
  I.assertRestElement = EIe;
  I.assertRestProperty = x2e;
  I.assertReturnStatement = AIe;
  I.assertScopable = COe;
  I.assertSequenceExpression = vIe;
  I.assertSpreadElement = rNe;
  I.assertSpreadProperty = S2e;
  I.assertStandardized = EOe;
  I.assertStatement = NOe;
  I.assertStaticBlock = xNe;
  I.assertStringLiteral = pIe;
  I.assertStringLiteralTypeAnnotation = ake;
  I.assertStringTypeAnnotation = oke;
  I.assertSuper = iNe;
  I.assertSwitchCase = wIe;
  I.assertSwitchStatement = IIe;
  I.assertSymbolTypeAnnotation = lke;
  I.assertTSAnyKeyword = bDe;
  I.assertTSArrayType = RDe;
  I.assertTSAsExpression = nOe;
  I.assertTSBaseType = g2e;
  I.assertTSBigIntKeyword = SDe;
  I.assertTSBooleanKeyword = xDe;
  I.assertTSCallSignatureDeclaration = dDe;
  I.assertTSConditionalType = HDe;
  I.assertTSConstructSignatureDeclaration = mDe;
  I.assertTSConstructorType = LDe;
  I.assertTSDeclareFunction = pDe;
  I.assertTSDeclareMethod = hDe;
  I.assertTSEntityName = WOe;
  I.assertTSEnumBody = lOe;
  I.assertTSEnumDeclaration = uOe;
  I.assertTSEnumMember = cOe;
  I.assertTSExportAssignment = gOe;
  I.assertTSExpressionWithTypeArguments = eOe;
  I.assertTSExternalModuleReference = mOe;
  I.assertTSFunctionType = _De;
  I.assertTSImportEqualsDeclaration = dOe;
  I.assertTSImportType = fOe;
  I.assertTSIndexSignature = TDe;
  I.assertTSIndexedAccessType = zDe;
  I.assertTSInferType = JDe;
  I.assertTSInstantiationExpression = iOe;
  I.assertTSInterfaceBody = sOe;
  I.assertTSInterfaceDeclaration = tOe;
  I.assertTSIntersectionType = $De;
  I.assertTSIntrinsicKeyword = PDe;
  I.assertTSLiteralType = ZDe;
  I.assertTSMappedType = GDe;
  I.assertTSMethodSignature = gDe;
  I.assertTSModuleBlock = hOe;
  I.assertTSModuleDeclaration = pOe;
  I.assertTSNamedTupleMember = VDe;
  I.assertTSNamespaceExportDeclaration = TOe;
  I.assertTSNeverKeyword = EDe;
  I.assertTSNonNullExpression = yOe;
  I.assertTSNullKeyword = ADe;
  I.assertTSNumberKeyword = vDe;
  I.assertTSObjectKeyword = CDe;
  I.assertTSOptionalType = UDe;
  I.assertTSParameterProperty = cDe;
  I.assertTSParenthesizedType = YDe;
  I.assertTSPropertySignature = yDe;
  I.assertTSQualifiedName = fDe;
  I.assertTSRestType = KDe;
  I.assertTSSatisfiesExpression = aOe;
  I.assertTSStringKeyword = wDe;
  I.assertTSSymbolKeyword = IDe;
  I.assertTSTemplateLiteralType = QDe;
  I.assertTSThisType = ODe;
  I.assertTSTupleType = qDe;
  I.assertTSType = y2e;
  I.assertTSTypeAliasDeclaration = rOe;
  I.assertTSTypeAnnotation = bOe;
  I.assertTSTypeAssertion = oOe;
  I.assertTSTypeElement = m2e;
  I.assertTSTypeLiteral = jDe;
  I.assertTSTypeOperator = XDe;
  I.assertTSTypeParameter = POe;
  I.assertTSTypeParameterDeclaration = SOe;
  I.assertTSTypeParameterInstantiation = xOe;
  I.assertTSTypePredicate = MDe;
  I.assertTSTypeQuery = FDe;
  I.assertTSTypeReference = BDe;
  I.assertTSUndefinedKeyword = NDe;
  I.assertTSUnionType = WDe;
  I.assertTSUnknownKeyword = kDe;
  I.assertTSVoidKeyword = DDe;
  I.assertTaggedTemplateExpression = nNe;
  I.assertTemplateElement = aNe;
  I.assertTemplateLiteral = oNe;
  I.assertTerminatorless = kOe;
  I.assertThisExpression = NIe;
  I.assertThisTypeAnnotation = uke;
  I.assertThrowStatement = kIe;
  I.assertTopicReference = aDe;
  I.assertTryStatement = DIe;
  I.assertTupleExpression = rDe;
  I.assertTupleTypeAnnotation = cke;
  I.assertTypeAlias = hke;
  I.assertTypeAnnotation = fke;
  I.assertTypeCastExpression = dke;
  I.assertTypeParameter = mke;
  I.assertTypeParameterDeclaration = yke;
  I.assertTypeParameterInstantiation = gke;
  I.assertTypeScript = d2e;
  I.assertTypeofTypeAnnotation = pke;
  I.assertUnaryExpression = OIe;
  I.assertUnaryLike = GOe;
  I.assertUnionTypeAnnotation = Tke;
  I.assertUpdateExpression = _Ie;
  I.assertUserWhitespacable = JOe;
  I.assertV8IntrinsicIdentifier = Xke;
  I.assertVariableDeclaration = LIe;
  I.assertVariableDeclarator = BIe;
  I.assertVariance = bke;
  I.assertVoidTypeAnnotation = xke;
  I.assertWhile = LOe;
  I.assertWhileStatement = MIe;
  I.assertWithStatement = FIe;
  I.assertYieldExpression = lNe;
  var qwe = Qf(), Wy = By();
  function _(t, e, s) {
    if (!(0, qwe.default)(t, e, s))
      throw new Error(`Expected type "${t}" with option ${JSON.stringify(s)}, but instead got "${e.type}".`);
  }
  n(_, "assert");
  function Uwe(t, e) {
    _("ArrayExpression", t, e);
  }
  n(Uwe, "assertArrayExpression");
  function Kwe(t, e) {
    _("AssignmentExpression", t, e);
  }
  n(Kwe, "assertAssignmentExpression");
  function Vwe(t, e) {
    _("BinaryExpression", t, e);
  }
  n(Vwe, "assertBinaryExpression");
  function Wwe(t, e) {
    _("InterpreterDirective", t, e);
  }
  n(Wwe, "assertInterpreterDirective");
  function $we(t, e) {
    _("Directive", t, e);
  }
  n($we, "assertDirective");
  function Hwe(t, e) {
    _("DirectiveLiteral", t, e);
  }
  n(Hwe, "assertDirectiveLiteral");
  function Jwe(t, e) {
    _("BlockStatement", t, e);
  }
  n(Jwe, "assertBlockStatement");
  function Ywe(t, e) {
    _("BreakStatement", t, e);
  }
  n(Ywe, "assertBreakStatement");
  function Xwe(t, e) {
    _("CallExpression", t, e);
  }
  n(Xwe, "assertCallExpression");
  function zwe(t, e) {
    _("CatchClause", t, e);
  }
  n(zwe, "assertCatchClause");
  function Gwe(t, e) {
    _("ConditionalExpression", t, e);
  }
  n(Gwe, "assertConditionalExpression");
  function Qwe(t, e) {
    _("ContinueStatement", t, e);
  }
  n(Qwe, "assertContinueStatement");
  function Zwe(t, e) {
    _("DebuggerStatement", t, e);
  }
  n(Zwe, "assertDebuggerStatement");
  function eIe(t, e) {
    _("DoWhileStatement", t, e);
  }
  n(eIe, "assertDoWhileStatement");
  function tIe(t, e) {
    _("EmptyStatement", t, e);
  }
  n(tIe, "assertEmptyStatement");
  function sIe(t, e) {
    _("ExpressionStatement", t, e);
  }
  n(sIe, "assertExpressionStatement");
  function rIe(t, e) {
    _("File", t, e);
  }
  n(rIe, "assertFile");
  function iIe(t, e) {
    _("ForInStatement", t, e);
  }
  n(iIe, "assertForInStatement");
  function nIe(t, e) {
    _("ForStatement", t, e);
  }
  n(nIe, "assertForStatement");
  function aIe(t, e) {
    _("FunctionDeclaration", t, e);
  }
  n(aIe, "assertFunctionDeclaration");
  function oIe(t, e) {
    _("FunctionExpression", t, e);
  }
  n(oIe, "assertFunctionExpression");
  function lIe(t, e) {
    _("Identifier", t, e);
  }
  n(lIe, "assertIdentifier");
  function uIe(t, e) {
    _("IfStatement", t, e);
  }
  n(uIe, "assertIfStatement");
  function cIe(t, e) {
    _("LabeledStatement", t, e);
  }
  n(cIe, "assertLabeledStatement");
  function pIe(t, e) {
    _("StringLiteral", t, e);
  }
  n(pIe, "assertStringLiteral");
  function hIe(t, e) {
    _("NumericLiteral", t, e);
  }
  n(hIe, "assertNumericLiteral");
  function fIe(t, e) {
    _("NullLiteral", t, e);
  }
  n(fIe, "assertNullLiteral");
  function dIe(t, e) {
    _("BooleanLiteral", t, e);
  }
  n(dIe, "assertBooleanLiteral");
  function mIe(t, e) {
    _("RegExpLiteral", t, e);
  }
  n(mIe, "assertRegExpLiteral");
  function yIe(t, e) {
    _("LogicalExpression", t, e);
  }
  n(yIe, "assertLogicalExpression");
  function gIe(t, e) {
    _("MemberExpression", t, e);
  }
  n(gIe, "assertMemberExpression");
  function TIe(t, e) {
    _("NewExpression", t, e);
  }
  n(TIe, "assertNewExpression");
  function bIe(t, e) {
    _("Program", t, e);
  }
  n(bIe, "assertProgram");
  function xIe(t, e) {
    _("ObjectExpression", t, e);
  }
  n(xIe, "assertObjectExpression");
  function SIe(t, e) {
    _("ObjectMethod", t, e);
  }
  n(SIe, "assertObjectMethod");
  function PIe(t, e) {
    _("ObjectProperty", t, e);
  }
  n(PIe, "assertObjectProperty");
  function EIe(t, e) {
    _("RestElement", t, e);
  }
  n(EIe, "assertRestElement");
  function AIe(t, e) {
    _("ReturnStatement", t, e);
  }
  n(AIe, "assertReturnStatement");
  function vIe(t, e) {
    _("SequenceExpression", t, e);
  }
  n(vIe, "assertSequenceExpression");
  function CIe(t, e) {
    _("ParenthesizedExpression", t, e);
  }
  n(CIe, "assertParenthesizedExpression");
  function wIe(t, e) {
    _("SwitchCase", t, e);
  }
  n(wIe, "assertSwitchCase");
  function IIe(t, e) {
    _("SwitchStatement", t, e);
  }
  n(IIe, "assertSwitchStatement");
  function NIe(t, e) {
    _("ThisExpression", t, e);
  }
  n(NIe, "assertThisExpression");
  function kIe(t, e) {
    _("ThrowStatement", t, e);
  }
  n(kIe, "assertThrowStatement");
  function DIe(t, e) {
    _("TryStatement", t, e);
  }
  n(DIe, "assertTryStatement");
  function OIe(t, e) {
    _("UnaryExpression", t, e);
  }
  n(OIe, "assertUnaryExpression");
  function _Ie(t, e) {
    _("UpdateExpression", t, e);
  }
  n(_Ie, "assertUpdateExpression");
  function LIe(t, e) {
    _("VariableDeclaration", t, e);
  }
  n(LIe, "assertVariableDeclaration");
  function BIe(t, e) {
    _("VariableDeclarator", t, e);
  }
  n(BIe, "assertVariableDeclarator");
  function MIe(t, e) {
    _("WhileStatement", t, e);
  }
  n(MIe, "assertWhileStatement");
  function FIe(t, e) {
    _("WithStatement", t, e);
  }
  n(FIe, "assertWithStatement");
  function jIe(t, e) {
    _("AssignmentPattern", t, e);
  }
  n(jIe, "assertAssignmentPattern");
  function RIe(t, e) {
    _("ArrayPattern", t, e);
  }
  n(RIe, "assertArrayPattern");
  function qIe(t, e) {
    _("ArrowFunctionExpression", t, e);
  }
  n(qIe, "assertArrowFunctionExpression");
  function UIe(t, e) {
    _("ClassBody", t, e);
  }
  n(UIe, "assertClassBody");
  function KIe(t, e) {
    _("ClassExpression", t, e);
  }
  n(KIe, "assertClassExpression");
  function VIe(t, e) {
    _("ClassDeclaration", t, e);
  }
  n(VIe, "assertClassDeclaration");
  function WIe(t, e) {
    _("ExportAllDeclaration", t, e);
  }
  n(WIe, "assertExportAllDeclaration");
  function $Ie(t, e) {
    _("ExportDefaultDeclaration", t, e);
  }
  n($Ie, "assertExportDefaultDeclaration");
  function HIe(t, e) {
    _("ExportNamedDeclaration", t, e);
  }
  n(HIe, "assertExportNamedDeclaration");
  function JIe(t, e) {
    _("ExportSpecifier", t, e);
  }
  n(JIe, "assertExportSpecifier");
  function YIe(t, e) {
    _("ForOfStatement", t, e);
  }
  n(YIe, "assertForOfStatement");
  function XIe(t, e) {
    _("ImportDeclaration", t, e);
  }
  n(XIe, "assertImportDeclaration");
  function zIe(t, e) {
    _("ImportDefaultSpecifier", t, e);
  }
  n(zIe, "assertImportDefaultSpecifier");
  function GIe(t, e) {
    _("ImportNamespaceSpecifier", t, e);
  }
  n(GIe, "assertImportNamespaceSpecifier");
  function QIe(t, e) {
    _("ImportSpecifier", t, e);
  }
  n(QIe, "assertImportSpecifier");
  function ZIe(t, e) {
    _("ImportExpression", t, e);
  }
  n(ZIe, "assertImportExpression");
  function eNe(t, e) {
    _("MetaProperty", t, e);
  }
  n(eNe, "assertMetaProperty");
  function tNe(t, e) {
    _("ClassMethod", t, e);
  }
  n(tNe, "assertClassMethod");
  function sNe(t, e) {
    _("ObjectPattern", t, e);
  }
  n(sNe, "assertObjectPattern");
  function rNe(t, e) {
    _("SpreadElement", t, e);
  }
  n(rNe, "assertSpreadElement");
  function iNe(t, e) {
    _("Super", t, e);
  }
  n(iNe, "assertSuper");
  function nNe(t, e) {
    _("TaggedTemplateExpression", t, e);
  }
  n(nNe, "assertTaggedTemplateExpression");
  function aNe(t, e) {
    _("TemplateElement", t, e);
  }
  n(aNe, "assertTemplateElement");
  function oNe(t, e) {
    _("TemplateLiteral", t, e);
  }
  n(oNe, "assertTemplateLiteral");
  function lNe(t, e) {
    _("YieldExpression", t, e);
  }
  n(lNe, "assertYieldExpression");
  function uNe(t, e) {
    _("AwaitExpression", t, e);
  }
  n(uNe, "assertAwaitExpression");
  function cNe(t, e) {
    _("Import", t, e);
  }
  n(cNe, "assertImport");
  function pNe(t, e) {
    _("BigIntLiteral", t, e);
  }
  n(pNe, "assertBigIntLiteral");
  function hNe(t, e) {
    _("ExportNamespaceSpecifier", t, e);
  }
  n(hNe, "assertExportNamespaceSpecifier");
  function fNe(t, e) {
    _("OptionalMemberExpression", t, e);
  }
  n(fNe, "assertOptionalMemberExpression");
  function dNe(t, e) {
    _("OptionalCallExpression", t, e);
  }
  n(dNe, "assertOptionalCallExpression");
  function mNe(t, e) {
    _("ClassProperty", t, e);
  }
  n(mNe, "assertClassProperty");
  function yNe(t, e) {
    _("ClassAccessorProperty", t, e);
  }
  n(yNe, "assertClassAccessorProperty");
  function gNe(t, e) {
    _("ClassPrivateProperty", t, e);
  }
  n(gNe, "assertClassPrivateProperty");
  function TNe(t, e) {
    _("ClassPrivateMethod", t, e);
  }
  n(TNe, "assertClassPrivateMethod");
  function bNe(t, e) {
    _("PrivateName", t, e);
  }
  n(bNe, "assertPrivateName");
  function xNe(t, e) {
    _("StaticBlock", t, e);
  }
  n(xNe, "assertStaticBlock");
  function SNe(t, e) {
    _("AnyTypeAnnotation", t, e);
  }
  n(SNe, "assertAnyTypeAnnotation");
  function PNe(t, e) {
    _("ArrayTypeAnnotation", t, e);
  }
  n(PNe, "assertArrayTypeAnnotation");
  function ENe(t, e) {
    _("BooleanTypeAnnotation", t, e);
  }
  n(ENe, "assertBooleanTypeAnnotation");
  function ANe(t, e) {
    _("BooleanLiteralTypeAnnotation", t, e);
  }
  n(ANe, "assertBooleanLiteralTypeAnnotation");
  function vNe(t, e) {
    _("NullLiteralTypeAnnotation", t, e);
  }
  n(vNe, "assertNullLiteralTypeAnnotation");
  function CNe(t, e) {
    _("ClassImplements", t, e);
  }
  n(CNe, "assertClassImplements");
  function wNe(t, e) {
    _("DeclareClass", t, e);
  }
  n(wNe, "assertDeclareClass");
  function INe(t, e) {
    _("DeclareFunction", t, e);
  }
  n(INe, "assertDeclareFunction");
  function NNe(t, e) {
    _("DeclareInterface", t, e);
  }
  n(NNe, "assertDeclareInterface");
  function kNe(t, e) {
    _("DeclareModule", t, e);
  }
  n(kNe, "assertDeclareModule");
  function DNe(t, e) {
    _("DeclareModuleExports", t, e);
  }
  n(DNe, "assertDeclareModuleExports");
  function ONe(t, e) {
    _("DeclareTypeAlias", t, e);
  }
  n(ONe, "assertDeclareTypeAlias");
  function _Ne(t, e) {
    _("DeclareOpaqueType", t, e);
  }
  n(_Ne, "assertDeclareOpaqueType");
  function LNe(t, e) {
    _("DeclareVariable", t, e);
  }
  n(LNe, "assertDeclareVariable");
  function BNe(t, e) {
    _("DeclareExportDeclaration", t, e);
  }
  n(BNe, "assertDeclareExportDeclaration");
  function MNe(t, e) {
    _("DeclareExportAllDeclaration", t, e);
  }
  n(MNe, "assertDeclareExportAllDeclaration");
  function FNe(t, e) {
    _("DeclaredPredicate", t, e);
  }
  n(FNe, "assertDeclaredPredicate");
  function jNe(t, e) {
    _("ExistsTypeAnnotation", t, e);
  }
  n(jNe, "assertExistsTypeAnnotation");
  function RNe(t, e) {
    _("FunctionTypeAnnotation", t, e);
  }
  n(RNe, "assertFunctionTypeAnnotation");
  function qNe(t, e) {
    _("FunctionTypeParam", t, e);
  }
  n(qNe, "assertFunctionTypeParam");
  function UNe(t, e) {
    _("GenericTypeAnnotation", t, e);
  }
  n(UNe, "assertGenericTypeAnnotation");
  function KNe(t, e) {
    _("InferredPredicate", t, e);
  }
  n(KNe, "assertInferredPredicate");
  function VNe(t, e) {
    _("InterfaceExtends", t, e);
  }
  n(VNe, "assertInterfaceExtends");
  function WNe(t, e) {
    _("InterfaceDeclaration", t, e);
  }
  n(WNe, "assertInterfaceDeclaration");
  function $Ne(t, e) {
    _("InterfaceTypeAnnotation", t, e);
  }
  n($Ne, "assertInterfaceTypeAnnotation");
  function HNe(t, e) {
    _("IntersectionTypeAnnotation", t, e);
  }
  n(HNe, "assertIntersectionTypeAnnotation");
  function JNe(t, e) {
    _("MixedTypeAnnotation", t, e);
  }
  n(JNe, "assertMixedTypeAnnotation");
  function YNe(t, e) {
    _("EmptyTypeAnnotation", t, e);
  }
  n(YNe, "assertEmptyTypeAnnotation");
  function XNe(t, e) {
    _("NullableTypeAnnotation", t, e);
  }
  n(XNe, "assertNullableTypeAnnotation");
  function zNe(t, e) {
    _("NumberLiteralTypeAnnotation", t, e);
  }
  n(zNe, "assertNumberLiteralTypeAnnotation");
  function GNe(t, e) {
    _("NumberTypeAnnotation", t, e);
  }
  n(GNe, "assertNumberTypeAnnotation");
  function QNe(t, e) {
    _("ObjectTypeAnnotation", t, e);
  }
  n(QNe, "assertObjectTypeAnnotation");
  function ZNe(t, e) {
    _("ObjectTypeInternalSlot", t, e);
  }
  n(ZNe, "assertObjectTypeInternalSlot");
  function eke(t, e) {
    _("ObjectTypeCallProperty", t, e);
  }
  n(eke, "assertObjectTypeCallProperty");
  function tke(t, e) {
    _("ObjectTypeIndexer", t, e);
  }
  n(tke, "assertObjectTypeIndexer");
  function ske(t, e) {
    _("ObjectTypeProperty", t, e);
  }
  n(ske, "assertObjectTypeProperty");
  function rke(t, e) {
    _("ObjectTypeSpreadProperty", t, e);
  }
  n(rke, "assertObjectTypeSpreadProperty");
  function ike(t, e) {
    _("OpaqueType", t, e);
  }
  n(ike, "assertOpaqueType");
  function nke(t, e) {
    _("QualifiedTypeIdentifier", t, e);
  }
  n(nke, "assertQualifiedTypeIdentifier");
  function ake(t, e) {
    _("StringLiteralTypeAnnotation", t, e);
  }
  n(ake, "assertStringLiteralTypeAnnotation");
  function oke(t, e) {
    _("StringTypeAnnotation", t, e);
  }
  n(oke, "assertStringTypeAnnotation");
  function lke(t, e) {
    _("SymbolTypeAnnotation", t, e);
  }
  n(lke, "assertSymbolTypeAnnotation");
  function uke(t, e) {
    _("ThisTypeAnnotation", t, e);
  }
  n(uke, "assertThisTypeAnnotation");
  function cke(t, e) {
    _("TupleTypeAnnotation", t, e);
  }
  n(cke, "assertTupleTypeAnnotation");
  function pke(t, e) {
    _("TypeofTypeAnnotation", t, e);
  }
  n(pke, "assertTypeofTypeAnnotation");
  function hke(t, e) {
    _("TypeAlias", t, e);
  }
  n(hke, "assertTypeAlias");
  function fke(t, e) {
    _("TypeAnnotation", t, e);
  }
  n(fke, "assertTypeAnnotation");
  function dke(t, e) {
    _("TypeCastExpression", t, e);
  }
  n(dke, "assertTypeCastExpression");
  function mke(t, e) {
    _("TypeParameter", t, e);
  }
  n(mke, "assertTypeParameter");
  function yke(t, e) {
    _("TypeParameterDeclaration", t, e);
  }
  n(yke, "assertTypeParameterDeclaration");
  function gke(t, e) {
    _("TypeParameterInstantiation", t, e);
  }
  n(gke, "assertTypeParameterInstantiation");
  function Tke(t, e) {
    _("UnionTypeAnnotation", t, e);
  }
  n(Tke, "assertUnionTypeAnnotation");
  function bke(t, e) {
    _("Variance", t, e);
  }
  n(bke, "assertVariance");
  function xke(t, e) {
    _("VoidTypeAnnotation", t, e);
  }
  n(xke, "assertVoidTypeAnnotation");
  function Ske(t, e) {
    _("EnumDeclaration", t, e);
  }
  n(Ske, "assertEnumDeclaration");
  function Pke(t, e) {
    _("EnumBooleanBody", t, e);
  }
  n(Pke, "assertEnumBooleanBody");
  function Eke(t, e) {
    _("EnumNumberBody", t, e);
  }
  n(Eke, "assertEnumNumberBody");
  function Ake(t, e) {
    _("EnumStringBody", t, e);
  }
  n(Ake, "assertEnumStringBody");
  function vke(t, e) {
    _("EnumSymbolBody", t, e);
  }
  n(vke, "assertEnumSymbolBody");
  function Cke(t, e) {
    _("EnumBooleanMember", t, e);
  }
  n(Cke, "assertEnumBooleanMember");
  function wke(t, e) {
    _("EnumNumberMember", t, e);
  }
  n(wke, "assertEnumNumberMember");
  function Ike(t, e) {
    _("EnumStringMember", t, e);
  }
  n(Ike, "assertEnumStringMember");
  function Nke(t, e) {
    _("EnumDefaultedMember", t, e);
  }
  n(Nke, "assertEnumDefaultedMember");
  function kke(t, e) {
    _("IndexedAccessType", t, e);
  }
  n(kke, "assertIndexedAccessType");
  function Dke(t, e) {
    _("OptionalIndexedAccessType", t, e);
  }
  n(Dke, "assertOptionalIndexedAccessType");
  function Oke(t, e) {
    _("JSXAttribute", t, e);
  }
  n(Oke, "assertJSXAttribute");
  function _ke(t, e) {
    _("JSXClosingElement", t, e);
  }
  n(_ke, "assertJSXClosingElement");
  function Lke(t, e) {
    _("JSXElement", t, e);
  }
  n(Lke, "assertJSXElement");
  function Bke(t, e) {
    _("JSXEmptyExpression", t, e);
  }
  n(Bke, "assertJSXEmptyExpression");
  function Mke(t, e) {
    _("JSXExpressionContainer", t, e);
  }
  n(Mke, "assertJSXExpressionContainer");
  function Fke(t, e) {
    _("JSXSpreadChild", t, e);
  }
  n(Fke, "assertJSXSpreadChild");
  function jke(t, e) {
    _("JSXIdentifier", t, e);
  }
  n(jke, "assertJSXIdentifier");
  function Rke(t, e) {
    _("JSXMemberExpression", t, e);
  }
  n(Rke, "assertJSXMemberExpression");
  function qke(t, e) {
    _("JSXNamespacedName", t, e);
  }
  n(qke, "assertJSXNamespacedName");
  function Uke(t, e) {
    _("JSXOpeningElement", t, e);
  }
  n(Uke, "assertJSXOpeningElement");
  function Kke(t, e) {
    _("JSXSpreadAttribute", t, e);
  }
  n(Kke, "assertJSXSpreadAttribute");
  function Vke(t, e) {
    _("JSXText", t, e);
  }
  n(Vke, "assertJSXText");
  function Wke(t, e) {
    _("JSXFragment", t, e);
  }
  n(Wke, "assertJSXFragment");
  function $ke(t, e) {
    _("JSXOpeningFragment", t, e);
  }
  n($ke, "assertJSXOpeningFragment");
  function Hke(t, e) {
    _("JSXClosingFragment", t, e);
  }
  n(Hke, "assertJSXClosingFragment");
  function Jke(t, e) {
    _("Noop", t, e);
  }
  n(Jke, "assertNoop");
  function Yke(t, e) {
    _("Placeholder", t, e);
  }
  n(Yke, "assertPlaceholder");
  function Xke(t, e) {
    _("V8IntrinsicIdentifier", t, e);
  }
  n(Xke, "assertV8IntrinsicIdentifier");
  function zke(t, e) {
    _("ArgumentPlaceholder", t, e);
  }
  n(zke, "assertArgumentPlaceholder");
  function Gke(t, e) {
    _("BindExpression", t, e);
  }
  n(Gke, "assertBindExpression");
  function Qke(t, e) {
    _("ImportAttribute", t, e);
  }
  n(Qke, "assertImportAttribute");
  function Zke(t, e) {
    _("Decorator", t, e);
  }
  n(Zke, "assertDecorator");
  function eDe(t, e) {
    _("DoExpression", t, e);
  }
  n(eDe, "assertDoExpression");
  function tDe(t, e) {
    _("ExportDefaultSpecifier", t, e);
  }
  n(tDe, "assertExportDefaultSpecifier");
  function sDe(t, e) {
    _("RecordExpression", t, e);
  }
  n(sDe, "assertRecordExpression");
  function rDe(t, e) {
    _("TupleExpression", t, e);
  }
  n(rDe, "assertTupleExpression");
  function iDe(t, e) {
    _("DecimalLiteral", t, e);
  }
  n(iDe, "assertDecimalLiteral");
  function nDe(t, e) {
    _("ModuleExpression", t, e);
  }
  n(nDe, "assertModuleExpression");
  function aDe(t, e) {
    _("TopicReference", t, e);
  }
  n(aDe, "assertTopicReference");
  function oDe(t, e) {
    _("PipelineTopicExpression", t, e);
  }
  n(oDe, "assertPipelineTopicExpression");
  function lDe(t, e) {
    _("PipelineBareFunction", t, e);
  }
  n(lDe, "assertPipelineBareFunction");
  function uDe(t, e) {
    _("PipelinePrimaryTopicReference", t, e);
  }
  n(uDe, "assertPipelinePrimaryTopicReference");
  function cDe(t, e) {
    _("TSParameterProperty", t, e);
  }
  n(cDe, "assertTSParameterProperty");
  function pDe(t, e) {
    _("TSDeclareFunction", t, e);
  }
  n(pDe, "assertTSDeclareFunction");
  function hDe(t, e) {
    _("TSDeclareMethod", t, e);
  }
  n(hDe, "assertTSDeclareMethod");
  function fDe(t, e) {
    _("TSQualifiedName", t, e);
  }
  n(fDe, "assertTSQualifiedName");
  function dDe(t, e) {
    _("TSCallSignatureDeclaration", t, e);
  }
  n(dDe, "assertTSCallSignatureDeclaration");
  function mDe(t, e) {
    _("TSConstructSignatureDeclaration", t, e);
  }
  n(mDe, "assertTSConstructSignatureDeclaration");
  function yDe(t, e) {
    _("TSPropertySignature", t, e);
  }
  n(yDe, "assertTSPropertySignature");
  function gDe(t, e) {
    _("TSMethodSignature", t, e);
  }
  n(gDe, "assertTSMethodSignature");
  function TDe(t, e) {
    _("TSIndexSignature", t, e);
  }
  n(TDe, "assertTSIndexSignature");
  function bDe(t, e) {
    _("TSAnyKeyword", t, e);
  }
  n(bDe, "assertTSAnyKeyword");
  function xDe(t, e) {
    _("TSBooleanKeyword", t, e);
  }
  n(xDe, "assertTSBooleanKeyword");
  function SDe(t, e) {
    _("TSBigIntKeyword", t, e);
  }
  n(SDe, "assertTSBigIntKeyword");
  function PDe(t, e) {
    _("TSIntrinsicKeyword", t, e);
  }
  n(PDe, "assertTSIntrinsicKeyword");
  function EDe(t, e) {
    _("TSNeverKeyword", t, e);
  }
  n(EDe, "assertTSNeverKeyword");
  function ADe(t, e) {
    _("TSNullKeyword", t, e);
  }
  n(ADe, "assertTSNullKeyword");
  function vDe(t, e) {
    _("TSNumberKeyword", t, e);
  }
  n(vDe, "assertTSNumberKeyword");
  function CDe(t, e) {
    _("TSObjectKeyword", t, e);
  }
  n(CDe, "assertTSObjectKeyword");
  function wDe(t, e) {
    _("TSStringKeyword", t, e);
  }
  n(wDe, "assertTSStringKeyword");
  function IDe(t, e) {
    _("TSSymbolKeyword", t, e);
  }
  n(IDe, "assertTSSymbolKeyword");
  function NDe(t, e) {
    _("TSUndefinedKeyword", t, e);
  }
  n(NDe, "assertTSUndefinedKeyword");
  function kDe(t, e) {
    _("TSUnknownKeyword", t, e);
  }
  n(kDe, "assertTSUnknownKeyword");
  function DDe(t, e) {
    _("TSVoidKeyword", t, e);
  }
  n(DDe, "assertTSVoidKeyword");
  function ODe(t, e) {
    _("TSThisType", t, e);
  }
  n(ODe, "assertTSThisType");
  function _De(t, e) {
    _("TSFunctionType", t, e);
  }
  n(_De, "assertTSFunctionType");
  function LDe(t, e) {
    _("TSConstructorType", t, e);
  }
  n(LDe, "assertTSConstructorType");
  function BDe(t, e) {
    _("TSTypeReference", t, e);
  }
  n(BDe, "assertTSTypeReference");
  function MDe(t, e) {
    _("TSTypePredicate", t, e);
  }
  n(MDe, "assertTSTypePredicate");
  function FDe(t, e) {
    _("TSTypeQuery", t, e);
  }
  n(FDe, "assertTSTypeQuery");
  function jDe(t, e) {
    _("TSTypeLiteral", t, e);
  }
  n(jDe, "assertTSTypeLiteral");
  function RDe(t, e) {
    _("TSArrayType", t, e);
  }
  n(RDe, "assertTSArrayType");
  function qDe(t, e) {
    _("TSTupleType", t, e);
  }
  n(qDe, "assertTSTupleType");
  function UDe(t, e) {
    _("TSOptionalType", t, e);
  }
  n(UDe, "assertTSOptionalType");
  function KDe(t, e) {
    _("TSRestType", t, e);
  }
  n(KDe, "assertTSRestType");
  function VDe(t, e) {
    _("TSNamedTupleMember", t, e);
  }
  n(VDe, "assertTSNamedTupleMember");
  function WDe(t, e) {
    _("TSUnionType", t, e);
  }
  n(WDe, "assertTSUnionType");
  function $De(t, e) {
    _("TSIntersectionType", t, e);
  }
  n($De, "assertTSIntersectionType");
  function HDe(t, e) {
    _("TSConditionalType", t, e);
  }
  n(HDe, "assertTSConditionalType");
  function JDe(t, e) {
    _("TSInferType", t, e);
  }
  n(JDe, "assertTSInferType");
  function YDe(t, e) {
    _("TSParenthesizedType", t, e);
  }
  n(YDe, "assertTSParenthesizedType");
  function XDe(t, e) {
    _("TSTypeOperator", t, e);
  }
  n(XDe, "assertTSTypeOperator");
  function zDe(t, e) {
    _("TSIndexedAccessType", t, e);
  }
  n(zDe, "assertTSIndexedAccessType");
  function GDe(t, e) {
    _("TSMappedType", t, e);
  }
  n(GDe, "assertTSMappedType");
  function QDe(t, e) {
    _("TSTemplateLiteralType", t, e);
  }
  n(QDe, "assertTSTemplateLiteralType");
  function ZDe(t, e) {
    _("TSLiteralType", t, e);
  }
  n(ZDe, "assertTSLiteralType");
  function eOe(t, e) {
    _("TSExpressionWithTypeArguments", t, e);
  }
  n(eOe, "assertTSExpressionWithTypeArguments");
  function tOe(t, e) {
    _("TSInterfaceDeclaration", t, e);
  }
  n(tOe, "assertTSInterfaceDeclaration");
  function sOe(t, e) {
    _("TSInterfaceBody", t, e);
  }
  n(sOe, "assertTSInterfaceBody");
  function rOe(t, e) {
    _("TSTypeAliasDeclaration", t, e);
  }
  n(rOe, "assertTSTypeAliasDeclaration");
  function iOe(t, e) {
    _("TSInstantiationExpression", t, e);
  }
  n(iOe, "assertTSInstantiationExpression");
  function nOe(t, e) {
    _("TSAsExpression", t, e);
  }
  n(nOe, "assertTSAsExpression");
  function aOe(t, e) {
    _("TSSatisfiesExpression", t, e);
  }
  n(aOe, "assertTSSatisfiesExpression");
  function oOe(t, e) {
    _("TSTypeAssertion", t, e);
  }
  n(oOe, "assertTSTypeAssertion");
  function lOe(t, e) {
    _("TSEnumBody", t, e);
  }
  n(lOe, "assertTSEnumBody");
  function uOe(t, e) {
    _("TSEnumDeclaration", t, e);
  }
  n(uOe, "assertTSEnumDeclaration");
  function cOe(t, e) {
    _("TSEnumMember", t, e);
  }
  n(cOe, "assertTSEnumMember");
  function pOe(t, e) {
    _("TSModuleDeclaration", t, e);
  }
  n(pOe, "assertTSModuleDeclaration");
  function hOe(t, e) {
    _("TSModuleBlock", t, e);
  }
  n(hOe, "assertTSModuleBlock");
  function fOe(t, e) {
    _("TSImportType", t, e);
  }
  n(fOe, "assertTSImportType");
  function dOe(t, e) {
    _("TSImportEqualsDeclaration", t, e);
  }
  n(dOe, "assertTSImportEqualsDeclaration");
  function mOe(t, e) {
    _("TSExternalModuleReference", t, e);
  }
  n(mOe, "assertTSExternalModuleReference");
  function yOe(t, e) {
    _("TSNonNullExpression", t, e);
  }
  n(yOe, "assertTSNonNullExpression");
  function gOe(t, e) {
    _("TSExportAssignment", t, e);
  }
  n(gOe, "assertTSExportAssignment");
  function TOe(t, e) {
    _("TSNamespaceExportDeclaration", t, e);
  }
  n(TOe, "assertTSNamespaceExportDeclaration");
  function bOe(t, e) {
    _("TSTypeAnnotation", t, e);
  }
  n(bOe, "assertTSTypeAnnotation");
  function xOe(t, e) {
    _("TSTypeParameterInstantiation", t, e);
  }
  n(xOe, "assertTSTypeParameterInstantiation");
  function SOe(t, e) {
    _("TSTypeParameterDeclaration", t, e);
  }
  n(SOe, "assertTSTypeParameterDeclaration");
  function POe(t, e) {
    _("TSTypeParameter", t, e);
  }
  n(POe, "assertTSTypeParameter");
  function EOe(t, e) {
    _("Standardized", t, e);
  }
  n(EOe, "assertStandardized");
  function AOe(t, e) {
    _("Expression", t, e);
  }
  n(AOe, "assertExpression");
  function vOe(t, e) {
    _("Binary", t, e);
  }
  n(vOe, "assertBinary");
  function COe(t, e) {
    _("Scopable", t, e);
  }
  n(COe, "assertScopable");
  function wOe(t, e) {
    _("BlockParent", t, e);
  }
  n(wOe, "assertBlockParent");
  function IOe(t, e) {
    _("Block", t, e);
  }
  n(IOe, "assertBlock");
  function NOe(t, e) {
    _("Statement", t, e);
  }
  n(NOe, "assertStatement");
  function kOe(t, e) {
    _("Terminatorless", t, e);
  }
  n(kOe, "assertTerminatorless");
  function DOe(t, e) {
    _("CompletionStatement", t, e);
  }
  n(DOe, "assertCompletionStatement");
  function OOe(t, e) {
    _("Conditional", t, e);
  }
  n(OOe, "assertConditional");
  function _Oe(t, e) {
    _("Loop", t, e);
  }
  n(_Oe, "assertLoop");
  function LOe(t, e) {
    _("While", t, e);
  }
  n(LOe, "assertWhile");
  function BOe(t, e) {
    _("ExpressionWrapper", t, e);
  }
  n(BOe, "assertExpressionWrapper");
  function MOe(t, e) {
    _("For", t, e);
  }
  n(MOe, "assertFor");
  function FOe(t, e) {
    _("ForXStatement", t, e);
  }
  n(FOe, "assertForXStatement");
  function jOe(t, e) {
    _("Function", t, e);
  }
  n(jOe, "assertFunction");
  function ROe(t, e) {
    _("FunctionParent", t, e);
  }
  n(ROe, "assertFunctionParent");
  function qOe(t, e) {
    _("Pureish", t, e);
  }
  n(qOe, "assertPureish");
  function UOe(t, e) {
    _("Declaration", t, e);
  }
  n(UOe, "assertDeclaration");
  function KOe(t, e) {
    _("PatternLike", t, e);
  }
  n(KOe, "assertPatternLike");
  function VOe(t, e) {
    _("LVal", t, e);
  }
  n(VOe, "assertLVal");
  function WOe(t, e) {
    _("TSEntityName", t, e);
  }
  n(WOe, "assertTSEntityName");
  function $Oe(t, e) {
    _("Literal", t, e);
  }
  n($Oe, "assertLiteral");
  function HOe(t, e) {
    _("Immutable", t, e);
  }
  n(HOe, "assertImmutable");
  function JOe(t, e) {
    _("UserWhitespacable", t, e);
  }
  n(JOe, "assertUserWhitespacable");
  function YOe(t, e) {
    _("Method", t, e);
  }
  n(YOe, "assertMethod");
  function XOe(t, e) {
    _("ObjectMember", t, e);
  }
  n(XOe, "assertObjectMember");
  function zOe(t, e) {
    _("Property", t, e);
  }
  n(zOe, "assertProperty");
  function GOe(t, e) {
    _("UnaryLike", t, e);
  }
  n(GOe, "assertUnaryLike");
  function QOe(t, e) {
    _("Pattern", t, e);
  }
  n(QOe, "assertPattern");
  function ZOe(t, e) {
    _("Class", t, e);
  }
  n(ZOe, "assertClass");
  function e2e(t, e) {
    _("ImportOrExportDeclaration", t, e);
  }
  n(e2e, "assertImportOrExportDeclaration");
  function t2e(t, e) {
    _("ExportDeclaration", t, e);
  }
  n(t2e, "assertExportDeclaration");
  function s2e(t, e) {
    _("ModuleSpecifier", t, e);
  }
  n(s2e, "assertModuleSpecifier");
  function r2e(t, e) {
    _("Accessor", t, e);
  }
  n(r2e, "assertAccessor");
  function i2e(t, e) {
    _("Private", t, e);
  }
  n(i2e, "assertPrivate");
  function n2e(t, e) {
    _("Flow", t, e);
  }
  n(n2e, "assertFlow");
  function a2e(t, e) {
    _("FlowType", t, e);
  }
  n(a2e, "assertFlowType");
  function o2e(t, e) {
    _("FlowBaseAnnotation", t, e);
  }
  n(o2e, "assertFlowBaseAnnotation");
  function l2e(t, e) {
    _("FlowDeclaration", t, e);
  }
  n(l2e, "assertFlowDeclaration");
  function u2e(t, e) {
    _("FlowPredicate", t, e);
  }
  n(u2e, "assertFlowPredicate");
  function c2e(t, e) {
    _("EnumBody", t, e);
  }
  n(c2e, "assertEnumBody");
  function p2e(t, e) {
    _("EnumMember", t, e);
  }
  n(p2e, "assertEnumMember");
  function h2e(t, e) {
    _("JSX", t, e);
  }
  n(h2e, "assertJSX");
  function f2e(t, e) {
    _("Miscellaneous", t, e);
  }
  n(f2e, "assertMiscellaneous");
  function d2e(t, e) {
    _("TypeScript", t, e);
  }
  n(d2e, "assertTypeScript");
  function m2e(t, e) {
    _("TSTypeElement", t, e);
  }
  n(m2e, "assertTSTypeElement");
  function y2e(t, e) {
    _("TSType", t, e);
  }
  n(y2e, "assertTSType");
  function g2e(t, e) {
    _("TSBaseType", t, e);
  }
  n(g2e, "assertTSBaseType");
  function T2e(t, e) {
    (0, Wy.default)("assertNumberLiteral", "assertNumericLiteral"), _("NumberLiteral", t, e);
  }
  n(T2e, "assertNumberLiteral");
  function b2e(t, e) {
    (0, Wy.default)("assertRegexLiteral", "assertRegExpLiteral"), _("RegexLiteral", t, e);
  }
  n(b2e, "assertRegexLiteral");
  function x2e(t, e) {
    (0, Wy.default)("assertRestProperty", "assertRestElement"), _("RestProperty", t, e);
  }
  n(x2e, "assertRestProperty");
  function S2e(t, e) {
    (0, Wy.default)("assertSpreadProperty", "assertSpreadElement"), _("SpreadProperty", t, e);
  }
  n(S2e, "assertSpreadProperty");
  function P2e(t, e) {
    (0, Wy.default)("assertModuleDeclaration", "assertImportOrExportDeclaration"), _("ModuleDeclaration", t, e);
  }
  n(P2e, "assertModuleDeclaration");
});

// ../node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js
var gq = g((Nb) => {
  "use strict";
  Object.defineProperty(Nb, "__esModule", {
    value: !0
  });
  Nb.default = void 0;
  var fo = ta(), Ejs = Nb.default = E2e;
  function E2e(t) {
    switch (t) {
      case "string":
        return (0, fo.stringTypeAnnotation)();
      case "number":
        return (0, fo.numberTypeAnnotation)();
      case "undefined":
        return (0, fo.voidTypeAnnotation)();
      case "boolean":
        return (0, fo.booleanTypeAnnotation)();
      case "function":
        return (0, fo.genericTypeAnnotation)((0, fo.identifier)("Function"));
      case "object":
        return (0, fo.genericTypeAnnotation)((0, fo.identifier)("Object"));
      case "symbol":
        return (0, fo.genericTypeAnnotation)((0, fo.identifier)("Symbol"));
      case "bigint":
        return (0, fo.anyTypeAnnotation)();
    }
    throw new Error("Invalid typeof value: " + t);
  }
  n(E2e, "createTypeAnnotationBasedOnTypeof");
});

// ../node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js
var tw = g((ew) => {
  "use strict";
  Object.defineProperty(ew, "__esModule", {
    value: !0
  });
  ew.default = bq;
  var $y = ei();
  function Tq(t) {
    return (0, $y.isIdentifier)(t) ? t.name : `${t.id.name}.${Tq(t.qualification)}`;
  }
  n(Tq, "getQualifiedName");
  function bq(t) {
    let e = Array.from(t), s = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set(), a = [];
    for (let o = 0; o < e.length; o++) {
      let l = e[o];
      if (l && !a.includes(l)) {
        if ((0, $y.isAnyTypeAnnotation)(l))
          return [l];
        if ((0, $y.isFlowBaseAnnotation)(l)) {
          r.set(l.type, l);
          continue;
        }
        if ((0, $y.isUnionTypeAnnotation)(l)) {
          i.has(l.types) || (e.push(...l.types), i.add(l.types));
          continue;
        }
        if ((0, $y.isGenericTypeAnnotation)(l)) {
          let u = Tq(l.id);
          if (s.has(u)) {
            let c = s.get(u);
            c.typeParameters ? l.typeParameters && (c.typeParameters.params.push(...l.typeParameters.params), c.typeParameters.params = bq(c.
            typeParameters.params)) : c = l.typeParameters;
          } else
            s.set(u, l);
          continue;
        }
        a.push(l);
      }
    }
    for (let [, o] of r)
      a.push(o);
    for (let [, o] of s)
      a.push(o);
    return a;
  }
  n(bq, "removeTypeDuplicates");
});

// ../node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js
var xq = g((sw) => {
  "use strict";
  Object.defineProperty(sw, "__esModule", {
    value: !0
  });
  sw.default = C2e;
  var A2e = ta(), v2e = tw();
  function C2e(t) {
    let e = (0, v2e.default)(t);
    return e.length === 1 ? e[0] : (0, A2e.unionTypeAnnotation)(e);
  }
  n(C2e, "createFlowUnionType");
});

// ../node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js
var Eq = g((rw) => {
  "use strict";
  Object.defineProperty(rw, "__esModule", {
    value: !0
  });
  rw.default = Pq;
  var rd = ei();
  function Sq(t) {
    return (0, rd.isIdentifier)(t) ? t.name : (0, rd.isThisExpression)(t) ? "this" : `${t.right.name}.${Sq(t.left)}`;
  }
  n(Sq, "getQualifiedName");
  function Pq(t) {
    let e = Array.from(t), s = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set(), a = [];
    for (let o = 0; o < e.length; o++) {
      let l = e[o];
      if (!l || a.includes(l))
        continue;
      if ((0, rd.isTSAnyKeyword)(l))
        return [l];
      if ((0, rd.isTSBaseType)(l)) {
        r.set(l.type, l);
        continue;
      }
      if ((0, rd.isTSUnionType)(l)) {
        i.has(l.types) || (e.push(...l.types), i.add(l.types));
        continue;
      }
      let u = "typeParameters";
      if ((0, rd.isTSTypeReference)(l) && l[u]) {
        let c = l[u], p = Sq(l.typeName);
        if (s.has(p)) {
          let h = s.get(p), f = h[u];
          f ? (f.params.push(...c.params), f.params = Pq(f.params)) : h = c;
        } else
          s.set(p, l);
        continue;
      }
      a.push(l);
    }
    for (let [, o] of r)
      a.push(o);
    for (let [, o] of s)
      a.push(o);
    return a;
  }
  n(Pq, "removeTypeDuplicates");
});

// ../node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js
var Aq = g((iw) => {
  "use strict";
  Object.defineProperty(iw, "__esModule", {
    value: !0
  });
  iw.default = k2e;
  var w2e = ta(), I2e = Eq(), N2e = ei();
  function k2e(t) {
    let e = t.map((r) => (0, N2e.isTSTypeAnnotation)(r) ? r.typeAnnotation : r), s = (0, I2e.default)(e);
    return s.length === 1 ? s[0] : (0, w2e.tsUnionType)(s);
  }
  n(k2e, "createTSUnionType");
});

// ../node_modules/@babel/types/lib/builders/productions.js
var aw = g((nw) => {
  "use strict";
  Object.defineProperty(nw, "__esModule", {
    value: !0
  });
  nw.buildUndefinedNode = D2e;
  var vq = ta();
  function D2e() {
    return (0, vq.unaryExpression)("void", (0, vq.numericLiteral)(0), !0);
  }
  n(D2e, "buildUndefinedNode");
});

// ../node_modules/@babel/types/lib/clone/cloneNode.js
var vc = g((lw) => {
  "use strict";
  Object.defineProperty(lw, "__esModule", {
    value: !0
  });
  lw.default = O2e;
  var Cq = Ta(), wq = ei(), {
    hasOwn: zo
  } = {
    hasOwn: Function.call.bind(Object.prototype.hasOwnProperty)
  };
  function Iq(t, e, s, r) {
    return t && typeof t.type == "string" ? Nq(t, e, s, r) : t;
  }
  n(Iq, "cloneIfNode");
  function ow(t, e, s, r) {
    return Array.isArray(t) ? t.map((i) => Iq(i, e, s, r)) : Iq(t, e, s, r);
  }
  n(ow, "cloneIfNodeOrArray");
  function O2e(t, e = !0, s = !1) {
    return Nq(t, e, s, /* @__PURE__ */ new Map());
  }
  n(O2e, "cloneNode");
  function Nq(t, e = !0, s = !1, r) {
    if (!t) return t;
    let {
      type: i
    } = t, a = {
      type: t.type
    };
    if ((0, wq.isIdentifier)(t))
      a.name = t.name, zo(t, "optional") && typeof t.optional == "boolean" && (a.optional = t.optional), zo(t, "typeAnnotation") && (a.typeAnnotation =
      e ? ow(t.typeAnnotation, !0, s, r) : t.typeAnnotation), zo(t, "decorators") && (a.decorators = e ? ow(t.decorators, !0, s, r) : t.decorators);
    else if (zo(Cq.NODE_FIELDS, i))
      for (let o of Object.keys(Cq.NODE_FIELDS[i]))
        zo(t, o) && (e ? a[o] = (0, wq.isFile)(t) && o === "comments" ? kb(t.comments, e, s, r) : ow(t[o], !0, s, r) : a[o] = t[o]);
    else
      throw new Error(`Unknown node type: "${i}"`);
    return zo(t, "loc") && (s ? a.loc = null : a.loc = t.loc), zo(t, "leadingComments") && (a.leadingComments = kb(t.leadingComments, e, s, r)),
    zo(t, "innerComments") && (a.innerComments = kb(t.innerComments, e, s, r)), zo(t, "trailingComments") && (a.trailingComments = kb(t.trailingComments,
    e, s, r)), zo(t, "extra") && (a.extra = Object.assign({}, t.extra)), a;
  }
  n(Nq, "cloneNodeInternal");
  function kb(t, e, s, r) {
    return !t || !e ? t : t.map((i) => {
      let a = r.get(i);
      if (a) return a;
      let {
        type: o,
        value: l,
        loc: u
      } = i, c = {
        type: o,
        value: l,
        loc: u
      };
      return s && (c.loc = null), r.set(i, c), c;
    });
  }
  n(kb, "maybeCloneComments");
});

// ../node_modules/@babel/types/lib/clone/clone.js
var kq = g((uw) => {
  "use strict";
  Object.defineProperty(uw, "__esModule", {
    value: !0
  });
  uw.default = L2e;
  var _2e = vc();
  function L2e(t) {
    return (0, _2e.default)(t, !1);
  }
  n(L2e, "clone");
});

// ../node_modules/@babel/types/lib/clone/cloneDeep.js
var Dq = g((cw) => {
  "use strict";
  Object.defineProperty(cw, "__esModule", {
    value: !0
  });
  cw.default = M2e;
  var B2e = vc();
  function M2e(t) {
    return (0, B2e.default)(t);
  }
  n(M2e, "cloneDeep");
});

// ../node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js
var Oq = g((pw) => {
  "use strict";
  Object.defineProperty(pw, "__esModule", {
    value: !0
  });
  pw.default = j2e;
  var F2e = vc();
  function j2e(t) {
    return (0, F2e.default)(t, !0, !0);
  }
  n(j2e, "cloneDeepWithoutLoc");
});

// ../node_modules/@babel/types/lib/clone/cloneWithoutLoc.js
var _q = g((hw) => {
  "use strict";
  Object.defineProperty(hw, "__esModule", {
    value: !0
  });
  hw.default = q2e;
  var R2e = vc();
  function q2e(t) {
    return (0, R2e.default)(t, !1, !0);
  }
  n(q2e, "cloneWithoutLoc");
});

// ../node_modules/@babel/types/lib/comments/addComments.js
var dw = g((fw) => {
  "use strict";
  Object.defineProperty(fw, "__esModule", {
    value: !0
  });
  fw.default = U2e;
  function U2e(t, e, s) {
    if (!s || !t) return t;
    let r = `${e}Comments`;
    return t[r] ? e === "leading" ? t[r] = s.concat(t[r]) : t[r].push(...s) : t[r] = s, t;
  }
  n(U2e, "addComments");
});

// ../node_modules/@babel/types/lib/comments/addComment.js
var Lq = g((mw) => {
  "use strict";
  Object.defineProperty(mw, "__esModule", {
    value: !0
  });
  mw.default = V2e;
  var K2e = dw();
  function V2e(t, e, s, r) {
    return (0, K2e.default)(t, e, [{
      type: r ? "CommentLine" : "CommentBlock",
      value: s
    }]);
  }
  n(V2e, "addComment");
});

// ../node_modules/@babel/types/lib/utils/inherit.js
var Db = g((yw) => {
  "use strict";
  Object.defineProperty(yw, "__esModule", {
    value: !0
  });
  yw.default = W2e;
  function W2e(t, e, s) {
    e && s && (e[t] = Array.from(new Set([].concat(e[t], s[t]).filter(Boolean))));
  }
  n(W2e, "inherit");
});

// ../node_modules/@babel/types/lib/comments/inheritInnerComments.js
var Tw = g((gw) => {
  "use strict";
  Object.defineProperty(gw, "__esModule", {
    value: !0
  });
  gw.default = H2e;
  var $2e = Db();
  function H2e(t, e) {
    (0, $2e.default)("innerComments", t, e);
  }
  n(H2e, "inheritInnerComments");
});

// ../node_modules/@babel/types/lib/comments/inheritLeadingComments.js
var xw = g((bw) => {
  "use strict";
  Object.defineProperty(bw, "__esModule", {
    value: !0
  });
  bw.default = Y2e;
  var J2e = Db();
  function Y2e(t, e) {
    (0, J2e.default)("leadingComments", t, e);
  }
  n(Y2e, "inheritLeadingComments");
});

// ../node_modules/@babel/types/lib/comments/inheritTrailingComments.js
var Pw = g((Sw) => {
  "use strict";
  Object.defineProperty(Sw, "__esModule", {
    value: !0
  });
  Sw.default = z2e;
  var X2e = Db();
  function z2e(t, e) {
    (0, X2e.default)("trailingComments", t, e);
  }
  n(z2e, "inheritTrailingComments");
});

// ../node_modules/@babel/types/lib/comments/inheritsComments.js
var Aw = g((Ew) => {
  "use strict";
  Object.defineProperty(Ew, "__esModule", {
    value: !0
  });
  Ew.default = e_e;
  var G2e = Pw(), Q2e = xw(), Z2e = Tw();
  function e_e(t, e) {
    return (0, G2e.default)(t, e), (0, Q2e.default)(t, e), (0, Z2e.default)(t, e), t;
  }
  n(e_e, "inheritsComments");
});

// ../node_modules/@babel/types/lib/comments/removeComments.js
var Bq = g((vw) => {
  "use strict";
  Object.defineProperty(vw, "__esModule", {
    value: !0
  });
  vw.default = s_e;
  var t_e = Pc();
  function s_e(t) {
    return t_e.COMMENT_KEYS.forEach((e) => {
      t[e] = null;
    }), t;
  }
  n(s_e, "removeComments");
});

// ../node_modules/@babel/types/lib/constants/generated/index.js
var Mq = g((Ce) => {
  "use strict";
  Object.defineProperty(Ce, "__esModule", {
    value: !0
  });
  Ce.WHILE_TYPES = Ce.USERWHITESPACABLE_TYPES = Ce.UNARYLIKE_TYPES = Ce.TYPESCRIPT_TYPES = Ce.TSTYPE_TYPES = Ce.TSTYPEELEMENT_TYPES = Ce.TSENTITYNAME_TYPES =
  Ce.TSBASETYPE_TYPES = Ce.TERMINATORLESS_TYPES = Ce.STATEMENT_TYPES = Ce.STANDARDIZED_TYPES = Ce.SCOPABLE_TYPES = Ce.PUREISH_TYPES = Ce.PROPERTY_TYPES =
  Ce.PRIVATE_TYPES = Ce.PATTERN_TYPES = Ce.PATTERNLIKE_TYPES = Ce.OBJECTMEMBER_TYPES = Ce.MODULESPECIFIER_TYPES = Ce.MODULEDECLARATION_TYPES =
  Ce.MISCELLANEOUS_TYPES = Ce.METHOD_TYPES = Ce.LVAL_TYPES = Ce.LOOP_TYPES = Ce.LITERAL_TYPES = Ce.JSX_TYPES = Ce.IMPORTOREXPORTDECLARATION_TYPES =
  Ce.IMMUTABLE_TYPES = Ce.FUNCTION_TYPES = Ce.FUNCTIONPARENT_TYPES = Ce.FOR_TYPES = Ce.FORXSTATEMENT_TYPES = Ce.FLOW_TYPES = Ce.FLOWTYPE_TYPES =
  Ce.FLOWPREDICATE_TYPES = Ce.FLOWDECLARATION_TYPES = Ce.FLOWBASEANNOTATION_TYPES = Ce.EXPRESSION_TYPES = Ce.EXPRESSIONWRAPPER_TYPES = Ce.EXPORTDECLARATION_TYPES =
  Ce.ENUMMEMBER_TYPES = Ce.ENUMBODY_TYPES = Ce.DECLARATION_TYPES = Ce.CONDITIONAL_TYPES = Ce.COMPLETIONSTATEMENT_TYPES = Ce.CLASS_TYPES = Ce.
  BLOCK_TYPES = Ce.BLOCKPARENT_TYPES = Ce.BINARY_TYPES = Ce.ACCESSOR_TYPES = void 0;
  var Wt = Ta(), l8s = Ce.STANDARDIZED_TYPES = Wt.FLIPPED_ALIAS_KEYS.Standardized, u8s = Ce.EXPRESSION_TYPES = Wt.FLIPPED_ALIAS_KEYS.Expression,
  c8s = Ce.BINARY_TYPES = Wt.FLIPPED_ALIAS_KEYS.Binary, p8s = Ce.SCOPABLE_TYPES = Wt.FLIPPED_ALIAS_KEYS.Scopable, h8s = Ce.BLOCKPARENT_TYPES =
  Wt.FLIPPED_ALIAS_KEYS.BlockParent, f8s = Ce.BLOCK_TYPES = Wt.FLIPPED_ALIAS_KEYS.Block, d8s = Ce.STATEMENT_TYPES = Wt.FLIPPED_ALIAS_KEYS.Statement,
  m8s = Ce.TERMINATORLESS_TYPES = Wt.FLIPPED_ALIAS_KEYS.Terminatorless, y8s = Ce.COMPLETIONSTATEMENT_TYPES = Wt.FLIPPED_ALIAS_KEYS.CompletionStatement,
  g8s = Ce.CONDITIONAL_TYPES = Wt.FLIPPED_ALIAS_KEYS.Conditional, T8s = Ce.LOOP_TYPES = Wt.FLIPPED_ALIAS_KEYS.Loop, b8s = Ce.WHILE_TYPES = Wt.
  FLIPPED_ALIAS_KEYS.While, x8s = Ce.EXPRESSIONWRAPPER_TYPES = Wt.FLIPPED_ALIAS_KEYS.ExpressionWrapper, S8s = Ce.FOR_TYPES = Wt.FLIPPED_ALIAS_KEYS.
  For, P8s = Ce.FORXSTATEMENT_TYPES = Wt.FLIPPED_ALIAS_KEYS.ForXStatement, E8s = Ce.FUNCTION_TYPES = Wt.FLIPPED_ALIAS_KEYS.Function, A8s = Ce.
  FUNCTIONPARENT_TYPES = Wt.FLIPPED_ALIAS_KEYS.FunctionParent, v8s = Ce.PUREISH_TYPES = Wt.FLIPPED_ALIAS_KEYS.Pureish, C8s = Ce.DECLARATION_TYPES =
  Wt.FLIPPED_ALIAS_KEYS.Declaration, w8s = Ce.PATTERNLIKE_TYPES = Wt.FLIPPED_ALIAS_KEYS.PatternLike, I8s = Ce.LVAL_TYPES = Wt.FLIPPED_ALIAS_KEYS.
  LVal, N8s = Ce.TSENTITYNAME_TYPES = Wt.FLIPPED_ALIAS_KEYS.TSEntityName, k8s = Ce.LITERAL_TYPES = Wt.FLIPPED_ALIAS_KEYS.Literal, D8s = Ce.IMMUTABLE_TYPES =
  Wt.FLIPPED_ALIAS_KEYS.Immutable, O8s = Ce.USERWHITESPACABLE_TYPES = Wt.FLIPPED_ALIAS_KEYS.UserWhitespacable, _8s = Ce.METHOD_TYPES = Wt.FLIPPED_ALIAS_KEYS.
  Method, L8s = Ce.OBJECTMEMBER_TYPES = Wt.FLIPPED_ALIAS_KEYS.ObjectMember, B8s = Ce.PROPERTY_TYPES = Wt.FLIPPED_ALIAS_KEYS.Property, M8s = Ce.
  UNARYLIKE_TYPES = Wt.FLIPPED_ALIAS_KEYS.UnaryLike, F8s = Ce.PATTERN_TYPES = Wt.FLIPPED_ALIAS_KEYS.Pattern, j8s = Ce.CLASS_TYPES = Wt.FLIPPED_ALIAS_KEYS.
  Class, r_e = Ce.IMPORTOREXPORTDECLARATION_TYPES = Wt.FLIPPED_ALIAS_KEYS.ImportOrExportDeclaration, R8s = Ce.EXPORTDECLARATION_TYPES = Wt.FLIPPED_ALIAS_KEYS.
  ExportDeclaration, q8s = Ce.MODULESPECIFIER_TYPES = Wt.FLIPPED_ALIAS_KEYS.ModuleSpecifier, U8s = Ce.ACCESSOR_TYPES = Wt.FLIPPED_ALIAS_KEYS.
  Accessor, K8s = Ce.PRIVATE_TYPES = Wt.FLIPPED_ALIAS_KEYS.Private, V8s = Ce.FLOW_TYPES = Wt.FLIPPED_ALIAS_KEYS.Flow, W8s = Ce.FLOWTYPE_TYPES =
  Wt.FLIPPED_ALIAS_KEYS.FlowType, $8s = Ce.FLOWBASEANNOTATION_TYPES = Wt.FLIPPED_ALIAS_KEYS.FlowBaseAnnotation, H8s = Ce.FLOWDECLARATION_TYPES =
  Wt.FLIPPED_ALIAS_KEYS.FlowDeclaration, J8s = Ce.FLOWPREDICATE_TYPES = Wt.FLIPPED_ALIAS_KEYS.FlowPredicate, Y8s = Ce.ENUMBODY_TYPES = Wt.FLIPPED_ALIAS_KEYS.
  EnumBody, X8s = Ce.ENUMMEMBER_TYPES = Wt.FLIPPED_ALIAS_KEYS.EnumMember, z8s = Ce.JSX_TYPES = Wt.FLIPPED_ALIAS_KEYS.JSX, G8s = Ce.MISCELLANEOUS_TYPES =
  Wt.FLIPPED_ALIAS_KEYS.Miscellaneous, Q8s = Ce.TYPESCRIPT_TYPES = Wt.FLIPPED_ALIAS_KEYS.TypeScript, Z8s = Ce.TSTYPEELEMENT_TYPES = Wt.FLIPPED_ALIAS_KEYS.
  TSTypeElement, e6s = Ce.TSTYPE_TYPES = Wt.FLIPPED_ALIAS_KEYS.TSType, t6s = Ce.TSBASETYPE_TYPES = Wt.FLIPPED_ALIAS_KEYS.TSBaseType, s6s = Ce.
  MODULEDECLARATION_TYPES = r_e;
});

// ../node_modules/@babel/types/lib/converters/toBlock.js
var Iw = g((ww) => {
  "use strict";
  Object.defineProperty(ww, "__esModule", {
    value: !0
  });
  ww.default = i_e;
  var Ob = ei(), Cw = ta();
  function i_e(t, e) {
    if ((0, Ob.isBlockStatement)(t))
      return t;
    let s = [];
    return (0, Ob.isEmptyStatement)(t) ? s = [] : ((0, Ob.isStatement)(t) || ((0, Ob.isFunction)(e) ? t = (0, Cw.returnStatement)(t) : t = (0, Cw.
    expressionStatement)(t)), s = [t]), (0, Cw.blockStatement)(s);
  }
  n(i_e, "toBlock");
});

// ../node_modules/@babel/types/lib/converters/ensureBlock.js
var Fq = g((Nw) => {
  "use strict";
  Object.defineProperty(Nw, "__esModule", {
    value: !0
  });
  Nw.default = a_e;
  var n_e = Iw();
  function a_e(t, e = "body") {
    let s = (0, n_e.default)(t[e], t);
    return t[e] = s, s;
  }
  n(a_e, "ensureBlock");
});

// ../node_modules/@babel/types/lib/converters/toIdentifier.js
var Dw = g((kw) => {
  "use strict";
  Object.defineProperty(kw, "__esModule", {
    value: !0
  });
  kw.default = u_e;
  var o_e = Zf(), l_e = ba();
  function u_e(t) {
    t = t + "";
    let e = "";
    for (let s of t)
      e += (0, l_e.isIdentifierChar)(s.codePointAt(0)) ? s : "-";
    return e = e.replace(/^[-0-9]+/, ""), e = e.replace(/[-\s]+(.)?/g, function(s, r) {
      return r ? r.toUpperCase() : "";
    }), (0, o_e.default)(e) || (e = `_${e}`), e || "_";
  }
  n(u_e, "toIdentifier");
});

// ../node_modules/@babel/types/lib/converters/toBindingIdentifierName.js
var jq = g((Ow) => {
  "use strict";
  Object.defineProperty(Ow, "__esModule", {
    value: !0
  });
  Ow.default = p_e;
  var c_e = Dw();
  function p_e(t) {
    return t = (0, c_e.default)(t), (t === "eval" || t === "arguments") && (t = "_" + t), t;
  }
  n(p_e, "toBindingIdentifierName");
});

// ../node_modules/@babel/types/lib/converters/toComputedKey.js
var Rq = g((_w) => {
  "use strict";
  Object.defineProperty(_w, "__esModule", {
    value: !0
  });
  _w.default = d_e;
  var h_e = ei(), f_e = ta();
  function d_e(t, e = t.key || t.property) {
    return !t.computed && (0, h_e.isIdentifier)(e) && (e = (0, f_e.stringLiteral)(e.name)), e;
  }
  n(d_e, "toComputedKey");
});

// ../node_modules/@babel/types/lib/converters/toExpression.js
var qq = g((_b) => {
  "use strict";
  Object.defineProperty(_b, "__esModule", {
    value: !0
  });
  _b.default = void 0;
  var Hy = ei(), d6s = _b.default = m_e;
  function m_e(t) {
    if ((0, Hy.isExpressionStatement)(t) && (t = t.expression), (0, Hy.isExpression)(t))
      return t;
    if ((0, Hy.isClass)(t) ? t.type = "ClassExpression" : (0, Hy.isFunction)(t) && (t.type = "FunctionExpression"), !(0, Hy.isExpression)(t))
      throw new Error(`cannot turn ${t.type} to an expression`);
    return t;
  }
  n(m_e, "toExpression");
});

// ../node_modules/@babel/types/lib/traverse/traverseFast.js
var Mw = g((Bw) => {
  "use strict";
  Object.defineProperty(Bw, "__esModule", {
    value: !0
  });
  Bw.default = Lw;
  var y_e = Ta();
  function Lw(t, e, s) {
    if (!t) return;
    let r = y_e.VISITOR_KEYS[t.type];
    if (r) {
      s = s || {}, e(t, s);
      for (let i of r) {
        let a = t[i];
        if (Array.isArray(a))
          for (let o of a)
            Lw(o, e, s);
        else
          Lw(a, e, s);
      }
    }
  }
  n(Lw, "traverseFast");
});

// ../node_modules/@babel/types/lib/modifications/removeProperties.js
var jw = g((Fw) => {
  "use strict";
  Object.defineProperty(Fw, "__esModule", {
    value: !0
  });
  Fw.default = b_e;
  var g_e = Pc(), Uq = ["tokens", "start", "end", "loc", "raw", "rawValue"], T_e = [...g_e.COMMENT_KEYS, "comments", ...Uq];
  function b_e(t, e = {}) {
    let s = e.preserveComments ? Uq : T_e;
    for (let i of s)
      t[i] != null && (t[i] = void 0);
    for (let i of Object.keys(t))
      i[0] === "_" && t[i] != null && (t[i] = void 0);
    let r = Object.getOwnPropertySymbols(t);
    for (let i of r)
      t[i] = null;
  }
  n(b_e, "removeProperties");
});

// ../node_modules/@babel/types/lib/modifications/removePropertiesDeep.js
var qw = g((Rw) => {
  "use strict";
  Object.defineProperty(Rw, "__esModule", {
    value: !0
  });
  Rw.default = P_e;
  var x_e = Mw(), S_e = jw();
  function P_e(t, e) {
    return (0, x_e.default)(t, S_e.default, e), t;
  }
  n(P_e, "removePropertiesDeep");
});

// ../node_modules/@babel/types/lib/converters/toKeyAlias.js
var Vq = g((Uw) => {
  "use strict";
  Object.defineProperty(Uw, "__esModule", {
    value: !0
  });
  Uw.default = eh;
  var Kq = ei(), E_e = vc(), A_e = qw();
  function eh(t, e = t.key) {
    let s;
    return t.kind === "method" ? eh.increment() + "" : ((0, Kq.isIdentifier)(e) ? s = e.name : (0, Kq.isStringLiteral)(e) ? s = JSON.stringify(
    e.value) : s = JSON.stringify((0, A_e.default)((0, E_e.default)(e))), t.computed && (s = `[${s}]`), t.static && (s = `static:${s}`), s);
  }
  n(eh, "toKeyAlias");
  eh.uid = 0;
  eh.increment = function() {
    return eh.uid >= Number.MAX_SAFE_INTEGER ? eh.uid = 0 : eh.uid++;
  };
});

// ../node_modules/@babel/types/lib/converters/toStatement.js
var Wq = g((Bb) => {
  "use strict";
  Object.defineProperty(Bb, "__esModule", {
    value: !0
  });
  Bb.default = void 0;
  var Lb = ei(), v_e = ta(), v6s = Bb.default = C_e;
  function C_e(t, e) {
    if ((0, Lb.isStatement)(t))
      return t;
    let s = !1, r;
    if ((0, Lb.isClass)(t))
      s = !0, r = "ClassDeclaration";
    else if ((0, Lb.isFunction)(t))
      s = !0, r = "FunctionDeclaration";
    else if ((0, Lb.isAssignmentExpression)(t))
      return (0, v_e.expressionStatement)(t);
    if (s && !t.id && (r = !1), !r) {
      if (e)
        return !1;
      throw new Error(`cannot turn ${t.type} to a statement`);
    }
    return t.type = r, t;
  }
  n(C_e, "toStatement");
});

// ../node_modules/@babel/types/lib/converters/valueToNode.js
var $q = g((Mb) => {
  "use strict";
  Object.defineProperty(Mb, "__esModule", {
    value: !0
  });
  Mb.default = void 0;
  var w_e = Zf(), tn = ta(), I6s = Mb.default = Kw, I_e = Function.call.bind(Object.prototype.toString);
  function N_e(t) {
    return I_e(t) === "[object RegExp]";
  }
  n(N_e, "isRegExp");
  function k_e(t) {
    if (typeof t != "object" || t === null || Object.prototype.toString.call(t) !== "[object Object]")
      return !1;
    let e = Object.getPrototypeOf(t);
    return e === null || Object.getPrototypeOf(e) === null;
  }
  n(k_e, "isPlainObject");
  function Kw(t) {
    if (t === void 0)
      return (0, tn.identifier)("undefined");
    if (t === !0 || t === !1)
      return (0, tn.booleanLiteral)(t);
    if (t === null)
      return (0, tn.nullLiteral)();
    if (typeof t == "string")
      return (0, tn.stringLiteral)(t);
    if (typeof t == "number") {
      let e;
      if (Number.isFinite(t))
        e = (0, tn.numericLiteral)(Math.abs(t));
      else {
        let s;
        Number.isNaN(t) ? s = (0, tn.numericLiteral)(0) : s = (0, tn.numericLiteral)(1), e = (0, tn.binaryExpression)("/", s, (0, tn.numericLiteral)(
        0));
      }
      return (t < 0 || Object.is(t, -0)) && (e = (0, tn.unaryExpression)("-", e)), e;
    }
    if (N_e(t)) {
      let e = t.source, s = /\/([a-z]*)$/.exec(t.toString())[1];
      return (0, tn.regExpLiteral)(e, s);
    }
    if (Array.isArray(t))
      return (0, tn.arrayExpression)(t.map(Kw));
    if (k_e(t)) {
      let e = [];
      for (let s of Object.keys(t)) {
        let r;
        (0, w_e.default)(s) ? r = (0, tn.identifier)(s) : r = (0, tn.stringLiteral)(s), e.push((0, tn.objectProperty)(r, Kw(t[s])));
      }
      return (0, tn.objectExpression)(e);
    }
    throw new Error("don't know how to turn this value into a node");
  }
  n(Kw, "valueToNode");
});

// ../node_modules/@babel/types/lib/modifications/appendToMemberExpression.js
var Hq = g((Vw) => {
  "use strict";
  Object.defineProperty(Vw, "__esModule", {
    value: !0
  });
  Vw.default = O_e;
  var D_e = ta();
  function O_e(t, e, s = !1) {
    return t.object = (0, D_e.memberExpression)(t.object, t.property, t.computed), t.property = e, t.computed = !!s, t;
  }
  n(O_e, "appendToMemberExpression");
});

// ../node_modules/@babel/types/lib/modifications/inherits.js
var Yq = g((Ww) => {
  "use strict";
  Object.defineProperty(Ww, "__esModule", {
    value: !0
  });
  Ww.default = L_e;
  var Jq = Pc(), __e = Aw();
  function L_e(t, e) {
    if (!t || !e) return t;
    for (let s of Jq.INHERIT_KEYS.optional)
      t[s] == null && (t[s] = e[s]);
    for (let s of Object.keys(e))
      s[0] === "_" && s !== "__clone" && (t[s] = e[s]);
    for (let s of Jq.INHERIT_KEYS.force)
      t[s] = e[s];
    return (0, __e.default)(t, e), t;
  }
  n(L_e, "inherits");
});

// ../node_modules/@babel/types/lib/modifications/prependToMemberExpression.js
var Xq = g(($w) => {
  "use strict";
  Object.defineProperty($w, "__esModule", {
    value: !0
  });
  $w.default = F_e;
  var B_e = ta(), M_e = fe();
  function F_e(t, e) {
    if ((0, M_e.isSuper)(t.object))
      throw new Error("Cannot prepend node to super property access (`super.foo`).");
    return t.object = (0, B_e.memberExpression)(e, t.object), t;
  }
  n(F_e, "prependToMemberExpression");
});

// ../node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js
var zq = g((Hw) => {
  "use strict";
  Object.defineProperty(Hw, "__esModule", {
    value: !0
  });
  Hw.default = j_e;
  function j_e(t) {
    let e = [].concat(t), s = /* @__PURE__ */ Object.create(null);
    for (; e.length; ) {
      let r = e.pop();
      if (r)
        switch (r.type) {
          case "ArrayPattern":
            e.push(...r.elements);
            break;
          case "AssignmentExpression":
          case "AssignmentPattern":
          case "ForInStatement":
          case "ForOfStatement":
            e.push(r.left);
            break;
          case "ObjectPattern":
            e.push(...r.properties);
            break;
          case "ObjectProperty":
            e.push(r.value);
            break;
          case "RestElement":
          case "UpdateExpression":
            e.push(r.argument);
            break;
          case "UnaryExpression":
            r.operator === "delete" && e.push(r.argument);
            break;
          case "Identifier":
            s[r.name] = r;
            break;
          default:
            break;
        }
    }
    return s;
  }
  n(j_e, "getAssignmentIdentifiers");
});

// ../node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js
var Jy = g((Yw) => {
  "use strict";
  Object.defineProperty(Yw, "__esModule", {
    value: !0
  });
  Yw.default = Jw;
  var ql = ei();
  function Jw(t, e, s, r) {
    let i = [].concat(t), a = /* @__PURE__ */ Object.create(null);
    for (; i.length; ) {
      let o = i.shift();
      if (!o || r && ((0, ql.isAssignmentExpression)(o) || (0, ql.isUnaryExpression)(o) || (0, ql.isUpdateExpression)(o)))
        continue;
      if ((0, ql.isIdentifier)(o)) {
        e ? (a[o.name] = a[o.name] || []).push(o) : a[o.name] = o;
        continue;
      }
      if ((0, ql.isExportDeclaration)(o) && !(0, ql.isExportAllDeclaration)(o)) {
        (0, ql.isDeclaration)(o.declaration) && i.push(o.declaration);
        continue;
      }
      if (s) {
        if ((0, ql.isFunctionDeclaration)(o)) {
          i.push(o.id);
          continue;
        }
        if ((0, ql.isFunctionExpression)(o))
          continue;
      }
      let l = Jw.keys[o.type];
      if (l)
        for (let u = 0; u < l.length; u++) {
          let c = l[u], p = o[c];
          p && (Array.isArray(p) ? i.push(...p) : i.push(p));
        }
    }
    return a;
  }
  n(Jw, "getBindingIdentifiers");
  var R_e = {
    DeclareClass: ["id"],
    DeclareFunction: ["id"],
    DeclareModule: ["id"],
    DeclareVariable: ["id"],
    DeclareInterface: ["id"],
    DeclareTypeAlias: ["id"],
    DeclareOpaqueType: ["id"],
    InterfaceDeclaration: ["id"],
    TypeAlias: ["id"],
    OpaqueType: ["id"],
    CatchClause: ["param"],
    LabeledStatement: ["label"],
    UnaryExpression: ["argument"],
    AssignmentExpression: ["left"],
    ImportSpecifier: ["local"],
    ImportNamespaceSpecifier: ["local"],
    ImportDefaultSpecifier: ["local"],
    ImportDeclaration: ["specifiers"],
    TSImportEqualsDeclaration: ["id"],
    ExportSpecifier: ["exported"],
    ExportNamespaceSpecifier: ["exported"],
    ExportDefaultSpecifier: ["exported"],
    FunctionDeclaration: ["id", "params"],
    FunctionExpression: ["id", "params"],
    ArrowFunctionExpression: ["params"],
    ObjectMethod: ["params"],
    ClassMethod: ["params"],
    ClassPrivateMethod: ["params"],
    ForInStatement: ["left"],
    ForOfStatement: ["left"],
    ClassDeclaration: ["id"],
    ClassExpression: ["id"],
    RestElement: ["argument"],
    UpdateExpression: ["argument"],
    ObjectProperty: ["value"],
    AssignmentPattern: ["left"],
    ArrayPattern: ["elements"],
    ObjectPattern: ["properties"],
    VariableDeclaration: ["declarations"],
    VariableDeclarator: ["id"]
  };
  Jw.keys = R_e;
});

// ../node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js
var Gq = g((Fb) => {
  "use strict";
  Object.defineProperty(Fb, "__esModule", {
    value: !0
  });
  Fb.default = void 0;
  var q_e = Jy(), U6s = Fb.default = U_e;
  function U_e(t, e) {
    return (0, q_e.default)(t, e, !0);
  }
  n(U_e, "getOuterBindingIdentifiers");
});

// ../node_modules/@babel/types/lib/retrievers/getFunctionName.js
var Zq = g((Xw) => {
  "use strict";
  Object.defineProperty(Xw, "__esModule", {
    value: !0
  });
  Xw.default = V_e;
  var Sa = ei();
  function K_e(t) {
    return (0, Sa.isNullLiteral)(t) ? "null" : (0, Sa.isRegExpLiteral)(t) ? `/${t.pattern}/${t.flags}` : (0, Sa.isTemplateLiteral)(t) ? t.quasis.
    map((e) => e.value.raw).join("") : t.value !== void 0 ? String(t.value) : null;
  }
  n(K_e, "getNameFromLiteralId");
  function Qq(t) {
    if (!t.computed || (0, Sa.isLiteral)(t.key))
      return t.key;
  }
  n(Qq, "getObjectMemberKey");
  function V_e(t, e) {
    if ("id" in t && t.id)
      return {
        name: t.id.name,
        originalNode: t.id
      };
    let s = "", r;
    if ((0, Sa.isObjectProperty)(e, {
      value: t
    }) ? r = Qq(e) : (0, Sa.isObjectMethod)(t) || (0, Sa.isClassMethod)(t) ? (r = Qq(t), t.kind === "get" ? s = "get " : t.kind === "set" &&
    (s = "set ")) : (0, Sa.isVariableDeclarator)(e, {
      init: t
    }) ? r = e.id : (0, Sa.isAssignmentExpression)(e, {
      operator: "=",
      right: t
    }) && (r = e.left), !r) return null;
    let i = (0, Sa.isLiteral)(r) ? K_e(r) : (0, Sa.isIdentifier)(r) ? r.name : (0, Sa.isPrivateName)(r) ? r.id.name : null;
    return i == null ? null : {
      name: s + i,
      originalNode: r
    };
  }
  n(V_e, "getFunctionName");
});

// ../node_modules/@babel/types/lib/traverse/traverse.js
var eU = g((Gw) => {
  "use strict";
  Object.defineProperty(Gw, "__esModule", {
    value: !0
  });
  Gw.default = $_e;
  var W_e = Ta();
  function $_e(t, e, s) {
    typeof e == "function" && (e = {
      enter: e
    });
    let {
      enter: r,
      exit: i
    } = e;
    zw(t, r, i, s, []);
  }
  n($_e, "traverse");
  function zw(t, e, s, r, i) {
    let a = W_e.VISITOR_KEYS[t.type];
    if (a) {
      e && e(t, i, r);
      for (let o of a) {
        let l = t[o];
        if (Array.isArray(l))
          for (let u = 0; u < l.length; u++) {
            let c = l[u];
            c && (i.push({
              node: t,
              key: o,
              index: u
            }), zw(c, e, s, r, i), i.pop());
          }
        else l && (i.push({
          node: t,
          key: o
        }), zw(l, e, s, r, i), i.pop());
      }
      s && s(t, i, r);
    }
  }
  n(zw, "traverseSimpleImpl");
});

// ../node_modules/@babel/types/lib/validators/isBinding.js
var tU = g((Qw) => {
  "use strict";
  Object.defineProperty(Qw, "__esModule", {
    value: !0
  });
  Qw.default = J_e;
  var H_e = Jy();
  function J_e(t, e, s) {
    if (s && t.type === "Identifier" && e.type === "ObjectProperty" && s.type === "ObjectExpression")
      return !1;
    let r = H_e.default.keys[e.type];
    if (r)
      for (let i = 0; i < r.length; i++) {
        let a = r[i], o = e[a];
        if (Array.isArray(o)) {
          if (o.includes(t)) return !0;
        } else if (o === t) return !0;
      }
    return !1;
  }
  n(J_e, "isBinding");
});

// ../node_modules/@babel/types/lib/validators/isLet.js
var eI = g((Zw) => {
  "use strict";
  Object.defineProperty(Zw, "__esModule", {
    value: !0
  });
  Zw.default = z_e;
  var Y_e = ei(), X_e = Pc();
  function z_e(t) {
    return (0, Y_e.isVariableDeclaration)(t) && (t.kind !== "var" || t[X_e.BLOCK_SCOPED_SYMBOL]);
  }
  n(z_e, "isLet");
});

// ../node_modules/@babel/types/lib/validators/isBlockScoped.js
var rU = g((tI) => {
  "use strict";
  Object.defineProperty(tI, "__esModule", {
    value: !0
  });
  tI.default = Q_e;
  var sU = ei(), G_e = eI();
  function Q_e(t) {
    return (0, sU.isFunctionDeclaration)(t) || (0, sU.isClassDeclaration)(t) || (0, G_e.default)(t);
  }
  n(Q_e, "isBlockScoped");
});

// ../node_modules/@babel/types/lib/validators/isImmutable.js
var iU = g((sI) => {
  "use strict";
  Object.defineProperty(sI, "__esModule", {
    value: !0
  });
  sI.default = tLe;
  var Z_e = gb(), eLe = ei();
  function tLe(t) {
    return (0, Z_e.default)(t.type, "Immutable") ? !0 : (0, eLe.isIdentifier)(t) ? t.name === "undefined" : !1;
  }
  n(tLe, "isImmutable");
});

// ../node_modules/@babel/types/lib/validators/isNodesEquivalent.js
var aU = g((iI) => {
  "use strict";
  Object.defineProperty(iI, "__esModule", {
    value: !0
  });
  iI.default = rI;
  var nU = Ta();
  function rI(t, e) {
    if (typeof t != "object" || typeof e != "object" || t == null || e == null)
      return t === e;
    if (t.type !== e.type)
      return !1;
    let s = Object.keys(nU.NODE_FIELDS[t.type] || t.type), r = nU.VISITOR_KEYS[t.type];
    for (let i of s) {
      let a = t[i], o = e[i];
      if (typeof a != typeof o)
        return !1;
      if (!(a == null && o == null)) {
        if (a == null || o == null)
          return !1;
        if (Array.isArray(a)) {
          if (!Array.isArray(o) || a.length !== o.length)
            return !1;
          for (let l = 0; l < a.length; l++)
            if (!rI(a[l], o[l]))
              return !1;
          continue;
        }
        if (typeof a == "object" && !(r != null && r.includes(i))) {
          for (let l of Object.keys(a))
            if (a[l] !== o[l])
              return !1;
          continue;
        }
        if (!rI(a, o))
          return !1;
      }
    }
    return !0;
  }
  n(rI, "isNodesEquivalent");
});

// ../node_modules/@babel/types/lib/validators/isReferenced.js
var oU = g((nI) => {
  "use strict";
  Object.defineProperty(nI, "__esModule", {
    value: !0
  });
  nI.default = sLe;
  function sLe(t, e, s) {
    switch (e.type) {
      case "MemberExpression":
      case "OptionalMemberExpression":
        return e.property === t ? !!e.computed : e.object === t;
      case "JSXMemberExpression":
        return e.object === t;
      case "VariableDeclarator":
        return e.init === t;
      case "ArrowFunctionExpression":
        return e.body === t;
      case "PrivateName":
        return !1;
      case "ClassMethod":
      case "ClassPrivateMethod":
      case "ObjectMethod":
        return e.key === t ? !!e.computed : !1;
      case "ObjectProperty":
        return e.key === t ? !!e.computed : !s || s.type !== "ObjectPattern";
      case "ClassProperty":
      case "ClassAccessorProperty":
        return e.key === t ? !!e.computed : !0;
      case "ClassPrivateProperty":
        return e.key !== t;
      case "ClassDeclaration":
      case "ClassExpression":
        return e.superClass === t;
      case "AssignmentExpression":
        return e.right === t;
      case "AssignmentPattern":
        return e.right === t;
      case "LabeledStatement":
        return !1;
      case "CatchClause":
        return !1;
      case "RestElement":
        return !1;
      case "BreakStatement":
      case "ContinueStatement":
        return !1;
      case "FunctionDeclaration":
      case "FunctionExpression":
        return !1;
      case "ExportNamespaceSpecifier":
      case "ExportDefaultSpecifier":
        return !1;
      case "ExportSpecifier":
        return s != null && s.source ? !1 : e.local === t;
      case "ImportDefaultSpecifier":
      case "ImportNamespaceSpecifier":
      case "ImportSpecifier":
        return !1;
      case "ImportAttribute":
        return !1;
      case "JSXAttribute":
        return !1;
      case "ObjectPattern":
      case "ArrayPattern":
        return !1;
      case "MetaProperty":
        return !1;
      case "ObjectTypeProperty":
        return e.key !== t;
      case "TSEnumMember":
        return e.id !== t;
      case "TSPropertySignature":
        return e.key === t ? !!e.computed : !0;
    }
    return !0;
  }
  n(sLe, "isReferenced");
});

// ../node_modules/@babel/types/lib/validators/isScope.js
var lU = g((aI) => {
  "use strict";
  Object.defineProperty(aI, "__esModule", {
    value: !0
  });
  aI.default = rLe;
  var th = ei();
  function rLe(t, e) {
    return (0, th.isBlockStatement)(t) && ((0, th.isFunction)(e) || (0, th.isCatchClause)(e)) ? !1 : (0, th.isPattern)(t) && ((0, th.isFunction)(
    e) || (0, th.isCatchClause)(e)) ? !0 : (0, th.isScopable)(t);
  }
  n(rLe, "isScope");
});

// ../node_modules/@babel/types/lib/validators/isSpecifierDefault.js
var cU = g((oI) => {
  "use strict";
  Object.defineProperty(oI, "__esModule", {
    value: !0
  });
  oI.default = iLe;
  var uU = ei();
  function iLe(t) {
    return (0, uU.isImportDefaultSpecifier)(t) || (0, uU.isIdentifier)(t.imported || t.exported, {
      name: "default"
    });
  }
  n(iLe, "isSpecifierDefault");
});

// ../node_modules/@babel/types/lib/validators/isValidES3Identifier.js
var pU = g((lI) => {
  "use strict";
  Object.defineProperty(lI, "__esModule", {
    value: !0
  });
  lI.default = oLe;
  var nLe = Zf(), aLe = /* @__PURE__ */ new Set(["abstract", "boolean", "byte", "char", "double", "enum", "final", "float", "goto", "impleme\
nts", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "synchronized", "throws", "trans\
ient", "volatile"]);
  function oLe(t) {
    return (0, nLe.default)(t) && !aLe.has(t);
  }
  n(oLe, "isValidES3Identifier");
});

// ../node_modules/@babel/types/lib/validators/isVar.js
var hU = g((uI) => {
  "use strict";
  Object.defineProperty(uI, "__esModule", {
    value: !0
  });
  uI.default = cLe;
  var lLe = ei(), uLe = Pc();
  function cLe(t) {
    return (0, lLe.isVariableDeclaration)(t, {
      kind: "var"
    }) && !t[uLe.BLOCK_SCOPED_SYMBOL];
  }
  n(cLe, "isVar");
});

// ../node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js
var fU = g((hI) => {
  "use strict";
  Object.defineProperty(hI, "__esModule", {
    value: !0
  });
  hI.default = jb;
  var pLe = Jy(), sh = ei(), cI = ta(), pI = aw(), hLe = vc();
  function jb(t, e) {
    let s = [], r = !0;
    for (let i of t)
      if ((0, sh.isEmptyStatement)(i) || (r = !1), (0, sh.isExpression)(i))
        s.push(i);
      else if ((0, sh.isExpressionStatement)(i))
        s.push(i.expression);
      else if ((0, sh.isVariableDeclaration)(i)) {
        if (i.kind !== "var") return;
        for (let a of i.declarations) {
          let o = (0, pLe.default)(a);
          for (let l of Object.keys(o))
            e.push({
              kind: i.kind,
              id: (0, hLe.default)(o[l])
            });
          a.init && s.push((0, cI.assignmentExpression)("=", a.id, a.init));
        }
        r = !0;
      } else if ((0, sh.isIfStatement)(i)) {
        let a = i.consequent ? jb([i.consequent], e) : (0, pI.buildUndefinedNode)(), o = i.alternate ? jb([i.alternate], e) : (0, pI.buildUndefinedNode)();
        if (!a || !o) return;
        s.push((0, cI.conditionalExpression)(i.test, a, o));
      } else if ((0, sh.isBlockStatement)(i)) {
        let a = jb(i.body, e);
        if (!a) return;
        s.push(a);
      } else if ((0, sh.isEmptyStatement)(i))
        t.indexOf(i) === 0 && (r = !0);
      else
        return;
    return r && s.push((0, pI.buildUndefinedNode)()), s.length === 1 ? s[0] : (0, cI.sequenceExpression)(s);
  }
  n(jb, "gatherSequenceExpressions");
});

// ../node_modules/@babel/types/lib/converters/toSequenceExpression.js
var dU = g((fI) => {
  "use strict";
  Object.defineProperty(fI, "__esModule", {
    value: !0
  });
  fI.default = dLe;
  var fLe = fU();
  function dLe(t, e) {
    if (!(t != null && t.length)) return;
    let s = [], r = (0, fLe.default)(t, s);
    if (r) {
      for (let i of s)
        e.push(i);
      return r;
    }
  }
  n(dLe, "toSequenceExpression");
});

// ../node_modules/@babel/types/lib/index.js
var fe = g((Re) => {
  "use strict";
  Object.defineProperty(Re, "__esModule", {
    value: !0
  });
  var Cc = {
    react: !0,
    assertNode: !0,
    createTypeAnnotationBasedOnTypeof: !0,
    createUnionTypeAnnotation: !0,
    createFlowUnionType: !0,
    createTSUnionType: !0,
    cloneNode: !0,
    clone: !0,
    cloneDeep: !0,
    cloneDeepWithoutLoc: !0,
    cloneWithoutLoc: !0,
    addComment: !0,
    addComments: !0,
    inheritInnerComments: !0,
    inheritLeadingComments: !0,
    inheritsComments: !0,
    inheritTrailingComments: !0,
    removeComments: !0,
    ensureBlock: !0,
    toBindingIdentifierName: !0,
    toBlock: !0,
    toComputedKey: !0,
    toExpression: !0,
    toIdentifier: !0,
    toKeyAlias: !0,
    toStatement: !0,
    valueToNode: !0,
    appendToMemberExpression: !0,
    inherits: !0,
    prependToMemberExpression: !0,
    removeProperties: !0,
    removePropertiesDeep: !0,
    removeTypeDuplicates: !0,
    getAssignmentIdentifiers: !0,
    getBindingIdentifiers: !0,
    getOuterBindingIdentifiers: !0,
    getFunctionName: !0,
    traverse: !0,
    traverseFast: !0,
    shallowEqual: !0,
    is: !0,
    isBinding: !0,
    isBlockScoped: !0,
    isImmutable: !0,
    isLet: !0,
    isNode: !0,
    isNodesEquivalent: !0,
    isPlaceholderType: !0,
    isReferenced: !0,
    isScope: !0,
    isSpecifierDefault: !0,
    isType: !0,
    isValidES3Identifier: !0,
    isValidIdentifier: !0,
    isVar: !0,
    matchesPattern: !0,
    validate: !0,
    buildMatchMemberExpression: !0,
    __internal__deprecationWarning: !0
  };
  Object.defineProperty(Re, "__internal__deprecationWarning", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return TBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "addComment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return CLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "addComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return wLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "appendToMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return KLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "assertNode", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return TLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "buildMatchMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return gBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "clone", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return PLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "cloneDeep", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return ELe.default;
    }, "get")
  });
  Object.defineProperty(Re, "cloneDeepWithoutLoc", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return ALe.default;
    }, "get")
  });
  Object.defineProperty(Re, "cloneNode", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return SLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "cloneWithoutLoc", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return vLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "createFlowUnionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return mU.default;
    }, "get")
  });
  Object.defineProperty(Re, "createTSUnionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return xLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "createTypeAnnotationBasedOnTypeof", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return bLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "createUnionTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return mU.default;
    }, "get")
  });
  Object.defineProperty(Re, "ensureBlock", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return _Le.default;
    }, "get")
  });
  Object.defineProperty(Re, "getAssignmentIdentifiers", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return YLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "getBindingIdentifiers", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return XLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "getFunctionName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return GLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "getOuterBindingIdentifiers", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return zLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "inheritInnerComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return ILe.default;
    }, "get")
  });
  Object.defineProperty(Re, "inheritLeadingComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return NLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "inheritTrailingComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return DLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "inherits", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return VLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "inheritsComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return kLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "is", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return eBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "isBinding", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return tBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "isBlockScoped", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return sBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "isImmutable", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return rBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "isLet", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return iBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "isNode", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return nBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "isNodesEquivalent", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return aBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "isPlaceholderType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return oBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "isReferenced", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return lBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "isScope", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return uBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "isSpecifierDefault", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return cBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "isType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return pBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "isValidES3Identifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return hBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "isValidIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return fBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "isVar", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return dBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "matchesPattern", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return mBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "prependToMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return WLe.default;
    }, "get")
  });
  Re.react = void 0;
  Object.defineProperty(Re, "removeComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return OLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "removeProperties", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return $Le.default;
    }, "get")
  });
  Object.defineProperty(Re, "removePropertiesDeep", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return HLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "removeTypeDuplicates", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return JLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "shallowEqual", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return ZLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "toBindingIdentifierName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return LLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "toBlock", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return BLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "toComputedKey", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return MLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "toExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return FLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "toIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return jLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "toKeyAlias", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return RLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "toStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return qLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "traverse", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Rb.default;
    }, "get")
  });
  Object.defineProperty(Re, "traverseFast", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return QLe.default;
    }, "get")
  });
  Object.defineProperty(Re, "validate", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return yBe.default;
    }, "get")
  });
  Object.defineProperty(Re, "valueToNode", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return ULe.default;
    }, "get")
  });
  var mLe = P7(), yLe = E7(), gLe = dq(), TLe = mq(), dI = yq();
  Object.keys(dI).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(Cc, t) || t in Re && Re[t] === dI[t] || Object.defineProperty(
    Re, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return dI[t];
      }, "get")
    });
  });
  var bLe = gq(), mU = xq(), xLe = Aq(), mI = aw();
  Object.keys(mI).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(Cc, t) || t in Re && Re[t] === mI[t] || Object.defineProperty(
    Re, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return mI[t];
      }, "get")
    });
  });
  var yI = ta();
  Object.keys(yI).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(Cc, t) || t in Re && Re[t] === yI[t] || Object.defineProperty(
    Re, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return yI[t];
      }, "get")
    });
  });
  var SLe = vc(), PLe = kq(), ELe = Dq(), ALe = Oq(), vLe = _q(), CLe = Lq(), wLe = dw(), ILe = Tw(), NLe = xw(), kLe = Aw(), DLe = Pw(), OLe = Bq(),
  gI = Mq();
  Object.keys(gI).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(Cc, t) || t in Re && Re[t] === gI[t] || Object.defineProperty(
    Re, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return gI[t];
      }, "get")
    });
  });
  var TI = Pc();
  Object.keys(TI).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(Cc, t) || t in Re && Re[t] === TI[t] || Object.defineProperty(
    Re, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return TI[t];
      }, "get")
    });
  });
  var _Le = Fq(), LLe = jq(), BLe = Iw(), MLe = Rq(), FLe = qq(), jLe = Dw(), RLe = Vq(), qLe = Wq(), ULe = $q(), bI = Ta();
  Object.keys(bI).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(Cc, t) || t in Re && Re[t] === bI[t] || Object.defineProperty(
    Re, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return bI[t];
      }, "get")
    });
  });
  var KLe = Hq(), VLe = Yq(), WLe = Xq(), $Le = jw(), HLe = qw(), JLe = tw(), YLe = zq(), XLe = Jy(), zLe = Gq(), GLe = Zq(), Rb = eU();
  Object.keys(Rb).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(Cc, t) || t in Re && Re[t] === Rb[t] || Object.defineProperty(
    Re, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return Rb[t];
      }, "get")
    });
  });
  var QLe = Mw(), ZLe = mb(), eBe = Qf(), tBe = tU(), sBe = rU(), rBe = iU(), iBe = eI(), nBe = QC(), aBe = aU(), oBe = EC(), lBe = oU(), uBe = lU(),
  cBe = cU(), pBe = gb(), hBe = pU(), fBe = Zf(), dBe = hU(), mBe = gC(), yBe = Eb(), gBe = bC(), xI = ei();
  Object.keys(xI).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(Cc, t) || t in Re && Re[t] === xI[t] || Object.defineProperty(
    Re, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return xI[t];
      }, "get")
    });
  });
  var TBe = By(), bBe = dU(), TRs = Re.react = {
    isReactComponent: mLe.default,
    isCompatTag: yLe.default,
    buildChildren: gLe.default
  };
  Re.toSequenceExpression = bBe.default;
  process.env.BABEL_TYPES_8_BREAKING && console.warn("BABEL_TYPES_8_BREAKING is not supported anymore. Use the latest Babel 8.0.0 pre-releas\
e instead!");
});

// ../node_modules/@babel/template/lib/formatters.js
var yU = g((Pa) => {
  "use strict";
  Object.defineProperty(Pa, "__esModule", {
    value: !0
  });
  Pa.statements = Pa.statement = Pa.smart = Pa.program = Pa.expression = void 0;
  var xBe = fe(), {
    assertExpressionStatement: SBe
  } = xBe;
  function SI(t) {
    return {
      code: /* @__PURE__ */ n((e) => `/* @babel/template */;
${e}`, "code"),
      validate: /* @__PURE__ */ n(() => {
      }, "validate"),
      unwrap: /* @__PURE__ */ n((e) => t(e.program.body.slice(1)), "unwrap")
    };
  }
  n(SI, "makeStatementFormatter");
  var SRs = Pa.smart = SI((t) => t.length > 1 ? t : t[0]), PRs = Pa.statements = SI((t) => t), ERs = Pa.statement = SI((t) => {
    if (t.length === 0)
      throw new Error("Found nothing to return.");
    if (t.length > 1)
      throw new Error("Found multiple statements but wanted one");
    return t[0];
  }), PBe = Pa.expression = {
    code: /* @__PURE__ */ n((t) => `(
${t}
)`, "code"),
    validate: /* @__PURE__ */ n((t) => {
      if (t.program.body.length > 1)
        throw new Error("Found multiple statements but wanted one");
      if (PBe.unwrap(t).start === 0)
        throw new Error("Parse result included parens.");
    }, "validate"),
    unwrap: /* @__PURE__ */ n(({
      program: t
    }) => {
      let [e] = t.body;
      return SBe(e), e.expression;
    }, "unwrap")
  }, ARs = Pa.program = {
    code: /* @__PURE__ */ n((t) => t, "code"),
    validate: /* @__PURE__ */ n(() => {
    }, "validate"),
    unwrap: /* @__PURE__ */ n((t) => t.program, "unwrap")
  };
});

// ../node_modules/@babel/template/lib/options.js
var qb = g((Yy) => {
  "use strict";
  Object.defineProperty(Yy, "__esModule", {
    value: !0
  });
  Yy.merge = vBe;
  Yy.normalizeReplacements = wBe;
  Yy.validate = CBe;
  var EBe = ["placeholderWhitelist", "placeholderPattern", "preserveComments", "syntacticPlaceholders"];
  function ABe(t, e) {
    if (t == null) return {};
    var s = {};
    for (var r in t) if ({}.hasOwnProperty.call(t, r)) {
      if (e.includes(r)) continue;
      s[r] = t[r];
    }
    return s;
  }
  n(ABe, "_objectWithoutPropertiesLoose");
  function vBe(t, e) {
    let {
      placeholderWhitelist: s = t.placeholderWhitelist,
      placeholderPattern: r = t.placeholderPattern,
      preserveComments: i = t.preserveComments,
      syntacticPlaceholders: a = t.syntacticPlaceholders
    } = e;
    return {
      parser: Object.assign({}, t.parser, e.parser),
      placeholderWhitelist: s,
      placeholderPattern: r,
      preserveComments: i,
      syntacticPlaceholders: a
    };
  }
  n(vBe, "merge");
  function CBe(t) {
    if (t != null && typeof t != "object")
      throw new Error("Unknown template options.");
    let e = t || {}, {
      placeholderWhitelist: s,
      placeholderPattern: r,
      preserveComments: i,
      syntacticPlaceholders: a
    } = e, o = ABe(e, EBe);
    if (s != null && !(s instanceof Set))
      throw new Error("'.placeholderWhitelist' must be a Set, null, or undefined");
    if (r != null && !(r instanceof RegExp) && r !== !1)
      throw new Error("'.placeholderPattern' must be a RegExp, false, null, or undefined");
    if (i != null && typeof i != "boolean")
      throw new Error("'.preserveComments' must be a boolean, null, or undefined");
    if (a != null && typeof a != "boolean")
      throw new Error("'.syntacticPlaceholders' must be a boolean, null, or undefined");
    if (a === !0 && (s != null || r != null))
      throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible with '.syntacticPlaceholders: true'");
    return {
      parser: o,
      placeholderWhitelist: s || void 0,
      placeholderPattern: r ?? void 0,
      preserveComments: i ?? void 0,
      syntacticPlaceholders: a ?? void 0
    };
  }
  n(CBe, "validate");
  function wBe(t) {
    if (Array.isArray(t))
      return t.reduce((e, s, r) => (e["$" + r] = s, e), {});
    if (typeof t == "object" || t == null)
      return t || void 0;
    throw new Error("Template replacements must be an array, object, null, or undefined");
  }
  n(wBe, "normalizeReplacements");
});

// ../node_modules/@babel/template/node_modules/@babel/parser/lib/index.js
var JU = g((rg) => {
  "use strict";
  Object.defineProperty(rg, "__esModule", {
    value: !0
  });
  function IBe(t, e) {
    if (t == null) return {};
    var s = {};
    for (var r in t) if ({}.hasOwnProperty.call(t, r)) {
      if (e.includes(r)) continue;
      s[r] = t[r];
    }
    return s;
  }
  n(IBe, "_objectWithoutPropertiesLoose");
  var Qo = class {
    static {
      n(this, "Position");
    }
    constructor(e, s, r) {
      this.line = void 0, this.column = void 0, this.index = void 0, this.line = e, this.column = s, this.index = r;
    }
  }, ld = class {
    static {
      n(this, "SourceLocation");
    }
    constructor(e, s) {
      this.start = void 0, this.end = void 0, this.filename = void 0, this.identifierName = void 0, this.start = e, this.end = s;
    }
  };
  function gn(t, e) {
    let {
      line: s,
      column: r,
      index: i
    } = t;
    return new Qo(s, r + e, i + e);
  }
  n(gn, "createPositionWithColumnOffset");
  var gU = "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED", NBe = {
    ImportMetaOutsideModule: {
      message: `import.meta may appear only with 'sourceType: "module"'`,
      code: gU
    },
    ImportOutsideModule: {
      message: `'import' and 'export' may appear only with 'sourceType: "module"'`,
      code: gU
    }
  }, TU = {
    ArrayPattern: "array destructuring pattern",
    AssignmentExpression: "assignment expression",
    AssignmentPattern: "assignment expression",
    ArrowFunctionExpression: "arrow function expression",
    ConditionalExpression: "conditional expression",
    CatchClause: "catch clause",
    ForOfStatement: "for-of statement",
    ForInStatement: "for-in statement",
    ForStatement: "for-loop",
    FormalParameters: "function parameter list",
    Identifier: "identifier",
    ImportSpecifier: "import specifier",
    ImportDefaultSpecifier: "import default specifier",
    ImportNamespaceSpecifier: "import namespace specifier",
    ObjectPattern: "object destructuring pattern",
    ParenthesizedExpression: "parenthesized expression",
    RestElement: "rest element",
    UpdateExpression: {
      true: "prefix operation",
      false: "postfix operation"
    },
    VariableDeclarator: "variable declaration",
    YieldExpression: "yield expression"
  }, Vb = /* @__PURE__ */ n((t) => t.type === "UpdateExpression" ? TU.UpdateExpression[`${t.prefix}`] : TU[t.type], "toNodeDescription"), kBe = {
    AccessorIsGenerator: /* @__PURE__ */ n(({
      kind: t
    }) => `A ${t}ter cannot be a generator.`, "AccessorIsGenerator"),
    ArgumentsInClass: "'arguments' is only allowed in functions and class methods.",
    AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.",
    AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.",
    AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.",
    AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.",
    AwaitUsingNotInAsyncContext: "'await using' is only allowed within async functions and at the top levels of modules.",
    AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.",
    AwaitNotInAsyncFunction: "'await' is only allowed within async functions.",
    BadGetterArity: "A 'get' accessor must not have any formal parameters.",
    BadSetterArity: "A 'set' accessor must have exactly one formal parameter.",
    BadSetterRestParameter: "A 'set' accessor function argument must not be a rest parameter.",
    ConstructorClassField: "Classes may not have a field named 'constructor'.",
    ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.",
    ConstructorIsAccessor: "Class constructor may not be an accessor.",
    ConstructorIsAsync: "Constructor can't be an async function.",
    ConstructorIsGenerator: "Constructor can't be a generator.",
    DeclarationMissingInitializer: /* @__PURE__ */ n(({
      kind: t
    }) => `Missing initializer in ${t} declaration.`, "DeclarationMissingInitializer"),
    DecoratorArgumentsOutsideParentheses: "Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(deco\
rator)(args)'.",
    DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use\
 the 'export @decorator class {}' syntax.",
    DecoratorsBeforeAfterExport: "Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the s\
ame time.",
    DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",
    DecoratorExportClass: "Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use \
the '@decorator export class {}' syntax.",
    DecoratorSemicolon: "Decorators must not be followed by a semicolon.",
    DecoratorStaticBlock: "Decorators can't be used with a static block.",
    DeferImportRequiresNamespace: 'Only `import defer * as x from "./module"` is valid.',
    DeletePrivateField: "Deleting a private field is not allowed.",
    DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.",
    DuplicateConstructor: "Duplicate constructor in the same class.",
    DuplicateDefaultExport: "Only one default export allowed per module.",
    DuplicateExport: /* @__PURE__ */ n(({
      exportName: t
    }) => `\`${t}\` has already been exported. Exported identifiers must be unique.`, "DuplicateExport"),
    DuplicateProto: "Redefinition of __proto__ property.",
    DuplicateRegExpFlags: "Duplicate regular expression flag.",
    DynamicImportPhaseRequiresImportExpressions: /* @__PURE__ */ n(({
      phase: t
    }) => `'import.${t}(...)' can only be parsed when using the 'createImportExpressions' option.`, "DynamicImportPhaseRequiresImportExpress\
ions"),
    ElementAfterRest: "Rest element must be last element.",
    EscapedCharNotAnIdentifier: "Invalid Unicode escape.",
    ExportBindingIsString: /* @__PURE__ */ n(({
      localName: t,
      exportName: e
    }) => `A string literal cannot be used as an exported binding without \`from\`.
- Did you mean \`export { '${t}' as '${e}' } from 'some-module'\`?`, "ExportBindingIsString"),
    ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.",
    ForInOfLoopInitializer: /* @__PURE__ */ n(({
      type: t
    }) => `'${t === "ForInStatement" ? "for-in" : "for-of"}' loop variable declaration may not have an initializer.`, "ForInOfLoopInitialize\
r"),
    ForInUsing: "For-in loop may not start with 'using' declaration.",
    ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.",
    ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.",
    GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.",
    IllegalBreakContinue: /* @__PURE__ */ n(({
      type: t
    }) => `Unsyntactic ${t === "BreakStatement" ? "break" : "continue"}.`, "IllegalBreakContinue"),
    IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.",
    IllegalReturn: "'return' outside of function.",
    ImportAttributesUseAssert: "The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You \
can enable the `deprecatedImportAssert` parser plugin to suppress this error.",
    ImportBindingIsString: /* @__PURE__ */ n(({
      importName: t
    }) => `A string literal cannot be used as an imported binding.
- Did you mean \`import { "${t}" as foo }\`?`, "ImportBindingIsString"),
    ImportCallArity: "`import()` requires exactly one or two arguments.",
    ImportCallNotNewExpression: "Cannot use new with import(...).",
    ImportCallSpreadArgument: "`...` is not allowed in `import()`.",
    ImportJSONBindingNotDefault: "A JSON module can only be imported with `default`.",
    ImportReflectionHasAssertion: "`import module x` cannot have assertions.",
    ImportReflectionNotBinding: 'Only `import module x from "./module"` is valid.',
    IncompatibleRegExpUVFlags: "The 'u' and 'v' regular expression flags cannot be enabled at the same time.",
    InvalidBigIntLiteral: "Invalid BigIntLiteral.",
    InvalidCodePoint: "Code point out of bounds.",
    InvalidCoverInitializedName: "Invalid shorthand property initializer.",
    InvalidDecimal: "Invalid decimal.",
    InvalidDigit: /* @__PURE__ */ n(({
      radix: t
    }) => `Expected number in radix ${t}.`, "InvalidDigit"),
    InvalidEscapeSequence: "Bad character escape sequence.",
    InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.",
    InvalidEscapedReservedWord: /* @__PURE__ */ n(({
      reservedWord: t
    }) => `Escape sequence in keyword ${t}.`, "InvalidEscapedReservedWord"),
    InvalidIdentifier: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Invalid identifier ${t}.`, "InvalidIdentifier"),
    InvalidLhs: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Invalid left-hand side in ${Vb(t)}.`, "InvalidLhs"),
    InvalidLhsBinding: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Binding invalid left-hand side in ${Vb(t)}.`, "InvalidLhsBinding"),
    InvalidLhsOptionalChaining: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Invalid optional chaining in the left-hand side of ${Vb(t)}.`, "InvalidLhsOptionalChaining"),
    InvalidNumber: "Invalid number.",
    InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.",
    InvalidOrUnexpectedToken: /* @__PURE__ */ n(({
      unexpected: t
    }) => `Unexpected character '${t}'.`, "InvalidOrUnexpectedToken"),
    InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.",
    InvalidPrivateFieldResolution: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Private name #${t} is not defined.`, "InvalidPrivateFieldResolution"),
    InvalidPropertyBindingPattern: "Binding member expression.",
    InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.",
    InvalidRestAssignmentPattern: "Invalid rest operator's argument.",
    LabelRedeclaration: /* @__PURE__ */ n(({
      labelName: t
    }) => `Label '${t}' is already declared.`, "LabelRedeclaration"),
    LetInLexicalBinding: "'let' is disallowed as a lexically bound name.",
    LineTerminatorBeforeArrow: "No line break is allowed before '=>'.",
    MalformedRegExpFlags: "Invalid regular expression flag.",
    MissingClassName: "A class name is required.",
    MissingEqInAssignment: "Only '=' operator can be used for specifying default value.",
    MissingSemicolon: "Missing semicolon.",
    MissingPlugin: /* @__PURE__ */ n(({
      missingPlugin: t
    }) => `This experimental syntax requires enabling the parser plugin: ${t.map((e) => JSON.stringify(e)).join(", ")}.`, "MissingPlugin"),
    MissingOneOfPlugins: /* @__PURE__ */ n(({
      missingPlugin: t
    }) => `This experimental syntax requires enabling one of the following parser plugin(s): ${t.map((e) => JSON.stringify(e)).join(", ")}.`,
    "MissingOneOfPlugins"),
    MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.",
    MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.",
    ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.",
    ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.",
    ModuleAttributesWithDuplicateKeys: /* @__PURE__ */ n(({
      key: t
    }) => `Duplicate key "${t}" is not allowed in module attributes.`, "ModuleAttributesWithDuplicateKeys"),
    ModuleExportNameHasLoneSurrogate: /* @__PURE__ */ n(({
      surrogateCharCode: t
    }) => `An export name cannot include a lone surrogate, found '\\u${t.toString(16)}'.`, "ModuleExportNameHasLoneSurrogate"),
    ModuleExportUndefined: /* @__PURE__ */ n(({
      localName: t
    }) => `Export '${t}' is not defined.`, "ModuleExportUndefined"),
    MultipleDefaultsInSwitch: "Multiple default clauses.",
    NewlineAfterThrow: "Illegal newline after throw.",
    NoCatchOrFinally: "Missing catch or finally clause.",
    NumberIdentifier: "Identifier directly after number.",
    NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",
    ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.",
    OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.",
    OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.",
    OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.",
    ParamDupe: "Argument name clash.",
    PatternHasAccessor: "Object pattern can't contain getter or setter.",
    PatternHasMethod: "Object pattern can't contain methods.",
    PrivateInExpectedIn: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Private names are only allowed in property accesses (\`obj.#${t}\`) or in \`in\` expressions (\`#${t} in obj\`).`, "PrivateInExpe\
ctedIn"),
    PrivateNameRedeclaration: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Duplicate private name #${t}.`, "PrivateNameRedeclaration"),
    RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 're\
cordAndTuple' plugin is set to 'bar'.",
    RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the\
 'recordAndTuple' plugin is set to 'bar'.",
    RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of th\
e 'recordAndTuple' plugin is set to 'hash'.",
    RecordNoProto: "'__proto__' is not allowed in Record expressions.",
    RestTrailingComma: "Unexpected trailing comma after rest element.",
    SloppyFunction: "In non-strict mode code, functions can only be declared at top level or inside a block.",
    SloppyFunctionAnnexB: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if sta\
tement.",
    SourcePhaseImportRequiresDefault: 'Only `import source x from "./module"` is valid.',
    StaticPrototype: "Classes may not have static property named prototype.",
    SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or n\
ot extending another class?",
    SuperPrivateField: "Private fields can't be accessed on super.",
    TrailingDecorator: "Decorators must be attached to a class element.",
    TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'reco\
rdAndTuple' plugin is set to 'bar'.",
    TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the '\
recordAndTuple' plugin is set to 'bar'.",
    TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the \
'recordAndTuple' plugin is set to 'hash'.",
    UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.",
    UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',
    UnexpectedDigitAfterHash: "Unexpected digit after hash token.",
    UnexpectedImportExport: "'import' and 'export' may only appear at the top level.",
    UnexpectedKeyword: /* @__PURE__ */ n(({
      keyword: t
    }) => `Unexpected keyword '${t}'.`, "UnexpectedKeyword"),
    UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.",
    UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.",
    UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.",
    UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.",
    UnexpectedPrivateField: "Unexpected private name.",
    UnexpectedReservedWord: /* @__PURE__ */ n(({
      reservedWord: t
    }) => `Unexpected reserved word '${t}'.`, "UnexpectedReservedWord"),
    UnexpectedSuper: "'super' is only allowed in object methods and classes.",
    UnexpectedToken: /* @__PURE__ */ n(({
      expected: t,
      unexpected: e
    }) => `Unexpected token${e ? ` '${e}'.` : ""}${t ? `, expected "${t}"` : ""}`, "UnexpectedToken"),
    UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",
    UnexpectedUsingDeclaration: "Using declaration cannot appear in the top level when source type is `script`.",
    UnsupportedBind: "Binding should be performed on object property.",
    UnsupportedDecoratorExport: "A decorated export must export a class declaration.",
    UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.",
    UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.",
    UnsupportedMetaProperty: /* @__PURE__ */ n(({
      target: t,
      onlyValidPropertyName: e
    }) => `The only valid meta property for ${t} is ${t}.${e}.`, "UnsupportedMetaProperty"),
    UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.",
    UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.",
    UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",
    UnterminatedComment: "Unterminated comment.",
    UnterminatedRegExp: "Unterminated regular expression.",
    UnterminatedString: "Unterminated string constant.",
    UnterminatedTemplate: "Unterminated template.",
    UsingDeclarationExport: "Using declaration cannot be exported.",
    UsingDeclarationHasBindingPattern: "Using declaration cannot have destructuring patterns.",
    VarRedeclaration: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Identifier '${t}' has already been declared.`, "VarRedeclaration"),
    YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.",
    YieldInParameter: "Yield expression is not allowed in formal parameters.",
    ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0."
  }, DBe = {
    StrictDelete: "Deleting local variable in strict mode.",
    StrictEvalArguments: /* @__PURE__ */ n(({
      referenceName: t
    }) => `Assigning to '${t}' in strict mode.`, "StrictEvalArguments"),
    StrictEvalArgumentsBinding: /* @__PURE__ */ n(({
      bindingName: t
    }) => `Binding '${t}' in strict mode.`, "StrictEvalArgumentsBinding"),
    StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.",
    StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.",
    StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.",
    StrictWith: "'with' in strict mode."
  }, OBe = /* @__PURE__ */ new Set(["ArrowFunctionExpression", "AssignmentExpression", "ConditionalExpression", "YieldExpression"]), _Be = Object.
  assign({
    PipeBodyIsTighter: "Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due \
to its loose operator precedence.",
    PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" opt\
ion.',
    PipeTopicUnbound: "Topic reference is unbound; it must be inside a pipe body.",
    PipeTopicUnconfiguredToken: /* @__PURE__ */ n(({
      token: t
    }) => `Invalid topic token ${t}. In order to use ${t} as a topic reference, the pipelineOperator plugin must be configured with { "propo\
sal": "hack", "topicToken": "${t}" }.`, "PipeTopicUnconfiguredToken"),
    PipeTopicUnused: "Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",
    PipeUnparenthesizedBody: /* @__PURE__ */ n(({
      type: t
    }) => `Hack-style pipe body cannot be an unparenthesized ${Vb({
      type: t
    })}; please wrap it in parentheses.`, "PipeUnparenthesizedBody")
  }, {
    PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',
    PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.",
    PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.",
    PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.",
    PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.",
    PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "sma\
rt" option.'
  }), LBe = ["message"];
  function bU(t, e, s) {
    Object.defineProperty(t, e, {
      enumerable: !1,
      configurable: !0,
      value: s
    });
  }
  n(bU, "defineHidden");
  function BBe({
    toMessage: t,
    code: e,
    reasonCode: s,
    syntaxPlugin: r
  }) {
    let i = s === "MissingPlugin" || s === "MissingOneOfPlugins";
    {
      let a = {
        AccessorCannotDeclareThisParameter: "AccesorCannotDeclareThisParameter",
        AccessorCannotHaveTypeParameters: "AccesorCannotHaveTypeParameters",
        ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumRefer\
ence",
        SetAccessorCannotHaveOptionalParameter: "SetAccesorCannotHaveOptionalParameter",
        SetAccessorCannotHaveRestParameter: "SetAccesorCannotHaveRestParameter",
        SetAccessorCannotHaveReturnType: "SetAccesorCannotHaveReturnType"
      };
      a[s] && (s = a[s]);
    }
    return /* @__PURE__ */ n(function a(o, l) {
      let u = new SyntaxError();
      return u.code = e, u.reasonCode = s, u.loc = o, u.pos = o.index, u.syntaxPlugin = r, i && (u.missingPlugin = l.missingPlugin), bU(u, "\
clone", /* @__PURE__ */ n(function(p = {}) {
        var h;
        let {
          line: f,
          column: d,
          index: m
        } = (h = p.loc) != null ? h : o;
        return a(new Qo(f, d, m), Object.assign({}, l, p.details));
      }, "clone")), bU(u, "details", l), Object.defineProperty(u, "message", {
        configurable: !0,
        get() {
          let c = `${t(l)} (${o.line}:${o.column})`;
          return this.message = c, c;
        },
        set(c) {
          Object.defineProperty(this, "message", {
            value: c,
            writable: !0
          });
        }
      }), u;
    }, "constructor");
  }
  n(BBe, "toParseErrorConstructor");
  function Wl(t, e) {
    if (Array.isArray(t))
      return (r) => Wl(r, t[0]);
    let s = {};
    for (let r of Object.keys(t)) {
      let i = t[r], a = typeof i == "string" ? {
        message: /* @__PURE__ */ n(() => i, "message")
      } : typeof i == "function" ? {
        message: i
      } : i, {
        message: o
      } = a, l = IBe(a, LBe), u = typeof o == "string" ? () => o : o;
      s[r] = BBe(Object.assign({
        code: "BABEL_PARSER_SYNTAX_ERROR",
        reasonCode: r,
        toMessage: u
      }, e ? {
        syntaxPlugin: e
      } : {}, l));
    }
    return s;
  }
  n(Wl, "ParseErrorEnum");
  var G = Object.assign({}, Wl(NBe), Wl(kBe), Wl(DBe), Wl`pipelineOperator`(_Be));
  function MBe() {
    return {
      sourceType: "script",
      sourceFilename: void 0,
      startIndex: 0,
      startColumn: 0,
      startLine: 1,
      allowAwaitOutsideFunction: !1,
      allowReturnOutsideFunction: !1,
      allowNewTargetOutsideFunction: !1,
      allowImportExportEverywhere: !1,
      allowSuperOutsideMethod: !1,
      allowUndeclaredExports: !1,
      plugins: [],
      strictMode: null,
      ranges: !1,
      tokens: !1,
      createImportExpressions: !1,
      createParenthesizedExpressions: !1,
      errorRecovery: !1,
      attachComment: !0,
      annexB: !0
    };
  }
  n(MBe, "createDefaultOptions");
  function FBe(t) {
    let e = MBe();
    if (t == null)
      return e;
    if (t.annexB != null && t.annexB !== !1)
      throw new Error("The `annexB` option can only be set to `false`.");
    for (let s of Object.keys(e))
      t[s] != null && (e[s] = t[s]);
    if (e.startLine === 1)
      t.startIndex == null && e.startColumn > 0 ? e.startIndex = e.startColumn : t.startColumn == null && e.startIndex > 0 && (e.startColumn =
      e.startIndex);
    else if ((t.startColumn == null || t.startIndex == null) && t.startIndex != null)
      throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");
    return e;
  }
  n(FBe, "getOptions");
  var {
    defineProperty: jBe
  } = Object, xU = /* @__PURE__ */ n((t, e) => {
    t && jBe(t, e, {
      enumerable: !1,
      value: t[e]
    });
  }, "toUnenumerable");
  function Xy(t) {
    return xU(t.loc.start, "index"), xU(t.loc.end, "index"), t;
  }
  n(Xy, "toESTreeLocation");
  var RBe = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "ESTreeParserMixin");
    }
    parse() {
      let s = Xy(super.parse());
      return this.optionFlags & 128 && (s.tokens = s.tokens.map(Xy)), s;
    }
    parseRegExpLiteral({
      pattern: s,
      flags: r
    }) {
      let i = null;
      try {
        i = new RegExp(s, r);
      } catch {
      }
      let a = this.estreeParseLiteral(i);
      return a.regex = {
        pattern: s,
        flags: r
      }, a;
    }
    parseBigIntLiteral(s) {
      let r;
      try {
        r = BigInt(s);
      } catch {
        r = null;
      }
      let i = this.estreeParseLiteral(r);
      return i.bigint = String(i.value || s), i;
    }
    parseDecimalLiteral(s) {
      let i = this.estreeParseLiteral(null);
      return i.decimal = String(i.value || s), i;
    }
    estreeParseLiteral(s) {
      return this.parseLiteral(s, "Literal");
    }
    parseStringLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    parseNumericLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    parseNullLiteral() {
      return this.estreeParseLiteral(null);
    }
    parseBooleanLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    directiveToStmt(s) {
      let r = s.value;
      delete s.value, r.type = "Literal", r.raw = r.extra.raw, r.value = r.extra.expressionValue;
      let i = s;
      return i.type = "ExpressionStatement", i.expression = r, i.directive = r.extra.rawValue, delete r.extra, i;
    }
    initFunction(s, r) {
      super.initFunction(s, r), s.expression = !1;
    }
    checkDeclaration(s) {
      s != null && this.isObjectProperty(s) ? this.checkDeclaration(s.value) : super.checkDeclaration(s);
    }
    getObjectOrClassMethodParams(s) {
      return s.value.params;
    }
    isValidDirective(s) {
      var r;
      return s.type === "ExpressionStatement" && s.expression.type === "Literal" && typeof s.expression.value == "string" && !((r = s.expression.
      extra) != null && r.parenthesized);
    }
    parseBlockBody(s, r, i, a, o) {
      super.parseBlockBody(s, r, i, a, o);
      let l = s.directives.map((u) => this.directiveToStmt(u));
      s.body = l.concat(s.body), delete s.directives;
    }
    parsePrivateName() {
      let s = super.parsePrivateName();
      return this.getPluginOption("estree", "classFeatures") ? this.convertPrivateNameToPrivateIdentifier(s) : s;
    }
    convertPrivateNameToPrivateIdentifier(s) {
      let r = super.getPrivateNameSV(s);
      return s = s, delete s.id, s.name = r, s.type = "PrivateIdentifier", s;
    }
    isPrivateName(s) {
      return this.getPluginOption("estree", "classFeatures") ? s.type === "PrivateIdentifier" : super.isPrivateName(s);
    }
    getPrivateNameSV(s) {
      return this.getPluginOption("estree", "classFeatures") ? s.name : super.getPrivateNameSV(s);
    }
    parseLiteral(s, r) {
      let i = super.parseLiteral(s, r);
      return i.raw = i.extra.raw, delete i.extra, i;
    }
    parseFunctionBody(s, r, i = !1) {
      super.parseFunctionBody(s, r, i), s.expression = s.body.type !== "BlockStatement";
    }
    parseMethod(s, r, i, a, o, l, u = !1) {
      let c = this.startNode();
      c.kind = s.kind, c = super.parseMethod(c, r, i, a, o, l, u), c.type = "FunctionExpression", delete c.kind, s.value = c;
      let {
        typeParameters: p
      } = s;
      return p && (delete s.typeParameters, c.typeParameters = p, this.resetStartLocationFromNode(c, p)), l === "ClassPrivateMethod" && (s.computed =
      !1), this.finishNode(s, "MethodDefinition");
    }
    nameIsConstructor(s) {
      return s.type === "Literal" ? s.value === "constructor" : super.nameIsConstructor(s);
    }
    parseClassProperty(...s) {
      let r = super.parseClassProperty(...s);
      return this.getPluginOption("estree", "classFeatures") && (r.type = "PropertyDefinition"), r;
    }
    parseClassPrivateProperty(...s) {
      let r = super.parseClassPrivateProperty(...s);
      return this.getPluginOption("estree", "classFeatures") && (r.type = "PropertyDefinition", r.computed = !1), r;
    }
    parseObjectMethod(s, r, i, a, o) {
      let l = super.parseObjectMethod(s, r, i, a, o);
      return l && (l.type = "Property", l.kind === "method" && (l.kind = "init"), l.shorthand = !1), l;
    }
    parseObjectProperty(s, r, i, a) {
      let o = super.parseObjectProperty(s, r, i, a);
      return o && (o.kind = "init", o.type = "Property"), o;
    }
    isValidLVal(s, r, i) {
      return s === "Property" ? "value" : super.isValidLVal(s, r, i);
    }
    isAssignable(s, r) {
      return s != null && this.isObjectProperty(s) ? this.isAssignable(s.value, r) : super.isAssignable(s, r);
    }
    toAssignable(s, r = !1) {
      if (s != null && this.isObjectProperty(s)) {
        let {
          key: i,
          value: a
        } = s;
        this.isPrivateName(i) && this.classScope.usePrivateName(this.getPrivateNameSV(i), i.loc.start), this.toAssignable(a, r);
      } else
        super.toAssignable(s, r);
    }
    toAssignableObjectExpressionProp(s, r, i) {
      s.type === "Property" && (s.kind === "get" || s.kind === "set") ? this.raise(G.PatternHasAccessor, s.key) : s.type === "Property" && s.
      method ? this.raise(G.PatternHasMethod, s.key) : super.toAssignableObjectExpressionProp(s, r, i);
    }
    finishCallExpression(s, r) {
      let i = super.finishCallExpression(s, r);
      if (i.callee.type === "Import") {
        var a, o;
        i.type = "ImportExpression", i.source = i.arguments[0], i.options = (a = i.arguments[1]) != null ? a : null, i.attributes = (o = i.arguments[1]) !=
        null ? o : null, delete i.arguments, delete i.callee;
      }
      return i;
    }
    toReferencedArguments(s) {
      s.type !== "ImportExpression" && super.toReferencedArguments(s);
    }
    parseExport(s, r) {
      let i = this.state.lastTokStartLoc, a = super.parseExport(s, r);
      switch (a.type) {
        case "ExportAllDeclaration":
          a.exported = null;
          break;
        case "ExportNamedDeclaration":
          a.specifiers.length === 1 && a.specifiers[0].type === "ExportNamespaceSpecifier" && (a.type = "ExportAllDeclaration", a.exported =
          a.specifiers[0].exported, delete a.specifiers);
        case "ExportDefaultDeclaration":
          {
            var o;
            let {
              declaration: l
            } = a;
            l?.type === "ClassDeclaration" && ((o = l.decorators) == null ? void 0 : o.length) > 0 && l.start === a.start && this.resetStartLocation(
            a, i);
          }
          break;
      }
      return a;
    }
    parseSubscript(s, r, i, a) {
      let o = super.parseSubscript(s, r, i, a);
      if (a.optionalChainMember) {
        if ((o.type === "OptionalMemberExpression" || o.type === "OptionalCallExpression") && (o.type = o.type.substring(8)), a.stop) {
          let l = this.startNodeAtNode(o);
          return l.expression = o, this.finishNode(l, "ChainExpression");
        }
      } else (o.type === "MemberExpression" || o.type === "CallExpression") && (o.optional = !1);
      return o;
    }
    isOptionalMemberExpression(s) {
      return s.type === "ChainExpression" ? s.expression.type === "MemberExpression" : super.isOptionalMemberExpression(s);
    }
    hasPropertyAsPrivateName(s) {
      return s.type === "ChainExpression" && (s = s.expression), super.hasPropertyAsPrivateName(s);
    }
    isObjectProperty(s) {
      return s.type === "Property" && s.kind === "init" && !s.method;
    }
    isObjectMethod(s) {
      return s.type === "Property" && (s.method || s.kind === "get" || s.kind === "set");
    }
    finishNodeAt(s, r, i) {
      return Xy(super.finishNodeAt(s, r, i));
    }
    resetStartLocation(s, r) {
      super.resetStartLocation(s, r), Xy(s);
    }
    resetEndLocation(s, r = this.state.lastTokEndLoc) {
      super.resetEndLocation(s, r), Xy(s);
    }
  }, "estree"), nh = class {
    static {
      n(this, "TokContext");
    }
    constructor(e, s) {
      this.token = void 0, this.preserveSpace = void 0, this.token = e, this.preserveSpace = !!s;
    }
  }, Vs = {
    brace: new nh("{"),
    j_oTag: new nh("<tag"),
    j_cTag: new nh("</tag"),
    j_expr: new nh("<tag>...</tag>", !0)
  };
  Vs.template = new nh("`", !0);
  var rs = !0, qe = !0, PI = !0, zy = !0, wc = !0, qBe = !0, Hb = class {
    static {
      n(this, "ExportedTokenType");
    }
    constructor(e, s = {}) {
      this.label = void 0, this.keyword = void 0, this.beforeExpr = void 0, this.startsExpr = void 0, this.rightAssociative = void 0, this.isLoop =
      void 0, this.isAssign = void 0, this.prefix = void 0, this.postfix = void 0, this.binop = void 0, this.label = e, this.keyword = s.keyword,
      this.beforeExpr = !!s.beforeExpr, this.startsExpr = !!s.startsExpr, this.rightAssociative = !!s.rightAssociative, this.isLoop = !!s.isLoop,
      this.isAssign = !!s.isAssign, this.prefix = !!s.prefix, this.postfix = !!s.postfix, this.binop = s.binop != null ? s.binop : null, this.
      updateContext = null;
    }
  }, JI = /* @__PURE__ */ new Map();
  function ws(t, e = {}) {
    e.keyword = t;
    let s = At(t, e);
    return JI.set(t, s), s;
  }
  n(ws, "createKeyword");
  function yn(t, e) {
    return At(t, {
      beforeExpr: rs,
      binop: e
    });
  }
  n(yn, "createBinop");
  var Zy = -1, Kl = [], YI = [], XI = [], zI = [], GI = [], QI = [];
  function At(t, e = {}) {
    var s, r, i, a;
    return ++Zy, YI.push(t), XI.push((s = e.binop) != null ? s : -1), zI.push((r = e.beforeExpr) != null ? r : !1), GI.push((i = e.startsExpr) !=
    null ? i : !1), QI.push((a = e.prefix) != null ? a : !1), Kl.push(new Hb(t, e)), Zy;
  }
  n(At, "createToken");
  function ss(t, e = {}) {
    var s, r, i, a;
    return ++Zy, JI.set(t, Zy), YI.push(t), XI.push((s = e.binop) != null ? s : -1), zI.push((r = e.beforeExpr) != null ? r : !1), GI.push((i =
    e.startsExpr) != null ? i : !1), QI.push((a = e.prefix) != null ? a : !1), Kl.push(new Hb("name", e)), Zy;
  }
  n(ss, "createKeywordLike");
  var UBe = {
    bracketL: At("[", {
      beforeExpr: rs,
      startsExpr: qe
    }),
    bracketHashL: At("#[", {
      beforeExpr: rs,
      startsExpr: qe
    }),
    bracketBarL: At("[|", {
      beforeExpr: rs,
      startsExpr: qe
    }),
    bracketR: At("]"),
    bracketBarR: At("|]"),
    braceL: At("{", {
      beforeExpr: rs,
      startsExpr: qe
    }),
    braceBarL: At("{|", {
      beforeExpr: rs,
      startsExpr: qe
    }),
    braceHashL: At("#{", {
      beforeExpr: rs,
      startsExpr: qe
    }),
    braceR: At("}"),
    braceBarR: At("|}"),
    parenL: At("(", {
      beforeExpr: rs,
      startsExpr: qe
    }),
    parenR: At(")"),
    comma: At(",", {
      beforeExpr: rs
    }),
    semi: At(";", {
      beforeExpr: rs
    }),
    colon: At(":", {
      beforeExpr: rs
    }),
    doubleColon: At("::", {
      beforeExpr: rs
    }),
    dot: At("."),
    question: At("?", {
      beforeExpr: rs
    }),
    questionDot: At("?."),
    arrow: At("=>", {
      beforeExpr: rs
    }),
    template: At("template"),
    ellipsis: At("...", {
      beforeExpr: rs
    }),
    backQuote: At("`", {
      startsExpr: qe
    }),
    dollarBraceL: At("${", {
      beforeExpr: rs,
      startsExpr: qe
    }),
    templateTail: At("...`", {
      startsExpr: qe
    }),
    templateNonTail: At("...${", {
      beforeExpr: rs,
      startsExpr: qe
    }),
    at: At("@"),
    hash: At("#", {
      startsExpr: qe
    }),
    interpreterDirective: At("#!..."),
    eq: At("=", {
      beforeExpr: rs,
      isAssign: zy
    }),
    assign: At("_=", {
      beforeExpr: rs,
      isAssign: zy
    }),
    slashAssign: At("_=", {
      beforeExpr: rs,
      isAssign: zy
    }),
    xorAssign: At("_=", {
      beforeExpr: rs,
      isAssign: zy
    }),
    moduloAssign: At("_=", {
      beforeExpr: rs,
      isAssign: zy
    }),
    incDec: At("++/--", {
      prefix: wc,
      postfix: qBe,
      startsExpr: qe
    }),
    bang: At("!", {
      beforeExpr: rs,
      prefix: wc,
      startsExpr: qe
    }),
    tilde: At("~", {
      beforeExpr: rs,
      prefix: wc,
      startsExpr: qe
    }),
    doubleCaret: At("^^", {
      startsExpr: qe
    }),
    doubleAt: At("@@", {
      startsExpr: qe
    }),
    pipeline: yn("|>", 0),
    nullishCoalescing: yn("??", 1),
    logicalOR: yn("||", 1),
    logicalAND: yn("&&", 2),
    bitwiseOR: yn("|", 3),
    bitwiseXOR: yn("^", 4),
    bitwiseAND: yn("&", 5),
    equality: yn("==/!=/===/!==", 6),
    lt: yn("</>/<=/>=", 7),
    gt: yn("</>/<=/>=", 7),
    relational: yn("</>/<=/>=", 7),
    bitShift: yn("<</>>/>>>", 8),
    bitShiftL: yn("<</>>/>>>", 8),
    bitShiftR: yn("<</>>/>>>", 8),
    plusMin: At("+/-", {
      beforeExpr: rs,
      binop: 9,
      prefix: wc,
      startsExpr: qe
    }),
    modulo: At("%", {
      binop: 10,
      startsExpr: qe
    }),
    star: At("*", {
      binop: 10
    }),
    slash: yn("/", 10),
    exponent: At("**", {
      beforeExpr: rs,
      binop: 11,
      rightAssociative: !0
    }),
    _in: ws("in", {
      beforeExpr: rs,
      binop: 7
    }),
    _instanceof: ws("instanceof", {
      beforeExpr: rs,
      binop: 7
    }),
    _break: ws("break"),
    _case: ws("case", {
      beforeExpr: rs
    }),
    _catch: ws("catch"),
    _continue: ws("continue"),
    _debugger: ws("debugger"),
    _default: ws("default", {
      beforeExpr: rs
    }),
    _else: ws("else", {
      beforeExpr: rs
    }),
    _finally: ws("finally"),
    _function: ws("function", {
      startsExpr: qe
    }),
    _if: ws("if"),
    _return: ws("return", {
      beforeExpr: rs
    }),
    _switch: ws("switch"),
    _throw: ws("throw", {
      beforeExpr: rs,
      prefix: wc,
      startsExpr: qe
    }),
    _try: ws("try"),
    _var: ws("var"),
    _const: ws("const"),
    _with: ws("with"),
    _new: ws("new", {
      beforeExpr: rs,
      startsExpr: qe
    }),
    _this: ws("this", {
      startsExpr: qe
    }),
    _super: ws("super", {
      startsExpr: qe
    }),
    _class: ws("class", {
      startsExpr: qe
    }),
    _extends: ws("extends", {
      beforeExpr: rs
    }),
    _export: ws("export"),
    _import: ws("import", {
      startsExpr: qe
    }),
    _null: ws("null", {
      startsExpr: qe
    }),
    _true: ws("true", {
      startsExpr: qe
    }),
    _false: ws("false", {
      startsExpr: qe
    }),
    _typeof: ws("typeof", {
      beforeExpr: rs,
      prefix: wc,
      startsExpr: qe
    }),
    _void: ws("void", {
      beforeExpr: rs,
      prefix: wc,
      startsExpr: qe
    }),
    _delete: ws("delete", {
      beforeExpr: rs,
      prefix: wc,
      startsExpr: qe
    }),
    _do: ws("do", {
      isLoop: PI,
      beforeExpr: rs
    }),
    _for: ws("for", {
      isLoop: PI
    }),
    _while: ws("while", {
      isLoop: PI
    }),
    _as: ss("as", {
      startsExpr: qe
    }),
    _assert: ss("assert", {
      startsExpr: qe
    }),
    _async: ss("async", {
      startsExpr: qe
    }),
    _await: ss("await", {
      startsExpr: qe
    }),
    _defer: ss("defer", {
      startsExpr: qe
    }),
    _from: ss("from", {
      startsExpr: qe
    }),
    _get: ss("get", {
      startsExpr: qe
    }),
    _let: ss("let", {
      startsExpr: qe
    }),
    _meta: ss("meta", {
      startsExpr: qe
    }),
    _of: ss("of", {
      startsExpr: qe
    }),
    _sent: ss("sent", {
      startsExpr: qe
    }),
    _set: ss("set", {
      startsExpr: qe
    }),
    _source: ss("source", {
      startsExpr: qe
    }),
    _static: ss("static", {
      startsExpr: qe
    }),
    _using: ss("using", {
      startsExpr: qe
    }),
    _yield: ss("yield", {
      startsExpr: qe
    }),
    _asserts: ss("asserts", {
      startsExpr: qe
    }),
    _checks: ss("checks", {
      startsExpr: qe
    }),
    _exports: ss("exports", {
      startsExpr: qe
    }),
    _global: ss("global", {
      startsExpr: qe
    }),
    _implements: ss("implements", {
      startsExpr: qe
    }),
    _intrinsic: ss("intrinsic", {
      startsExpr: qe
    }),
    _infer: ss("infer", {
      startsExpr: qe
    }),
    _is: ss("is", {
      startsExpr: qe
    }),
    _mixins: ss("mixins", {
      startsExpr: qe
    }),
    _proto: ss("proto", {
      startsExpr: qe
    }),
    _require: ss("require", {
      startsExpr: qe
    }),
    _satisfies: ss("satisfies", {
      startsExpr: qe
    }),
    _keyof: ss("keyof", {
      startsExpr: qe
    }),
    _readonly: ss("readonly", {
      startsExpr: qe
    }),
    _unique: ss("unique", {
      startsExpr: qe
    }),
    _abstract: ss("abstract", {
      startsExpr: qe
    }),
    _declare: ss("declare", {
      startsExpr: qe
    }),
    _enum: ss("enum", {
      startsExpr: qe
    }),
    _module: ss("module", {
      startsExpr: qe
    }),
    _namespace: ss("namespace", {
      startsExpr: qe
    }),
    _interface: ss("interface", {
      startsExpr: qe
    }),
    _type: ss("type", {
      startsExpr: qe
    }),
    _opaque: ss("opaque", {
      startsExpr: qe
    }),
    name: At("name", {
      startsExpr: qe
    }),
    placeholder: At("%%", {
      startsExpr: !0
    }),
    string: At("string", {
      startsExpr: qe
    }),
    num: At("num", {
      startsExpr: qe
    }),
    bigint: At("bigint", {
      startsExpr: qe
    }),
    decimal: At("decimal", {
      startsExpr: qe
    }),
    regexp: At("regexp", {
      startsExpr: qe
    }),
    privateName: At("#name", {
      startsExpr: qe
    }),
    eof: At("eof"),
    jsxName: At("jsxName"),
    jsxText: At("jsxText", {
      beforeExpr: !0
    }),
    jsxTagStart: At("jsxTagStart", {
      startsExpr: !0
    }),
    jsxTagEnd: At("jsxTagEnd")
  };
  function Ws(t) {
    return t >= 93 && t <= 133;
  }
  n(Ws, "tokenIsIdentifier");
  function KBe(t) {
    return t <= 92;
  }
  n(KBe, "tokenKeywordOrIdentifierIsKeyword");
  function mo(t) {
    return t >= 58 && t <= 133;
  }
  n(mo, "tokenIsKeywordOrIdentifier");
  function OU(t) {
    return t >= 58 && t <= 137;
  }
  n(OU, "tokenIsLiteralPropertyName");
  function VBe(t) {
    return zI[t];
  }
  n(VBe, "tokenComesBeforeExpression");
  function wI(t) {
    return GI[t];
  }
  n(wI, "tokenCanStartExpression");
  function WBe(t) {
    return t >= 29 && t <= 33;
  }
  n(WBe, "tokenIsAssignment");
  function SU(t) {
    return t >= 129 && t <= 131;
  }
  n(SU, "tokenIsFlowInterfaceOrTypeOrOpaque");
  function $Be(t) {
    return t >= 90 && t <= 92;
  }
  n($Be, "tokenIsLoop");
  function ZI(t) {
    return t >= 58 && t <= 92;
  }
  n(ZI, "tokenIsKeyword");
  function HBe(t) {
    return t >= 39 && t <= 59;
  }
  n(HBe, "tokenIsOperator");
  function JBe(t) {
    return t === 34;
  }
  n(JBe, "tokenIsPostfix");
  function YBe(t) {
    return QI[t];
  }
  n(YBe, "tokenIsPrefix");
  function XBe(t) {
    return t >= 121 && t <= 123;
  }
  n(XBe, "tokenIsTSTypeOperator");
  function zBe(t) {
    return t >= 124 && t <= 130;
  }
  n(zBe, "tokenIsTSDeclarationStart");
  function Nc(t) {
    return YI[t];
  }
  n(Nc, "tokenLabelName");
  function Wb(t) {
    return XI[t];
  }
  n(Wb, "tokenOperatorPrecedence");
  function GBe(t) {
    return t === 57;
  }
  n(GBe, "tokenIsRightAssociative");
  function Jb(t) {
    return t >= 24 && t <= 25;
  }
  n(Jb, "tokenIsTemplate");
  function Ul(t) {
    return Kl[t];
  }
  n(Ul, "getExportedToken");
  Kl[8].updateContext = (t) => {
    t.pop();
  }, Kl[5].updateContext = Kl[7].updateContext = Kl[23].updateContext = (t) => {
    t.push(Vs.brace);
  }, Kl[22].updateContext = (t) => {
    t[t.length - 1] === Vs.template ? t.pop() : t.push(Vs.template);
  }, Kl[143].updateContext = (t) => {
    t.push(Vs.j_expr, Vs.j_oTag);
  };
  var eN = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993\
-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\
\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\
\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\
\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\
\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01\
-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",
  _U = "\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\
\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\
\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6\
-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20\
-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65", QBe = new RegExp("[" + eN + "]"), ZBe = new RegExp("[" + eN + _U + "]");
  eN = _U = null;
  var LU = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157,
  19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5,
  3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7,
  2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17,
  47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64,
  6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45,
  52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2,
  1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29,
  113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071,
  18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12,
  65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991,
  84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30,
  2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3,
  0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2,
  2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153,
  7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191], eMe = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5,
  0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13,
  2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4,
  68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58,
  14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54,
  7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350,
  0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543,
  4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6,
  10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
  function II(t, e) {
    let s = 65536;
    for (let r = 0, i = e.length; r < i; r += 2) {
      if (s += e[r], s > t) return !1;
      if (s += e[r + 1], s >= t) return !0;
    }
    return !1;
  }
  n(II, "isInAstralSet");
  function Vl(t) {
    return t < 65 ? t === 36 : t <= 90 ? !0 : t < 97 ? t === 95 : t <= 122 ? !0 : t <= 65535 ? t >= 170 && QBe.test(String.fromCharCode(t)) :
    II(t, LU);
  }
  n(Vl, "isIdentifierStart");
  function nd(t) {
    return t < 48 ? t === 36 : t < 58 ? !0 : t < 65 ? !1 : t <= 90 ? !0 : t < 97 ? t === 95 : t <= 122 ? !0 : t <= 65535 ? t >= 170 && ZBe.test(
    String.fromCharCode(t)) : II(t, LU) || II(t, eMe);
  }
  n(nd, "isIdentifierChar");
  var tN = {
    keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "swit\
ch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false",
    "in", "instanceof", "typeof", "void", "delete"],
    strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
    strictBind: ["eval", "arguments"]
  }, tMe = new Set(tN.keyword), sMe = new Set(tN.strict), rMe = new Set(tN.strictBind);
  function BU(t, e) {
    return e && t === "await" || t === "enum";
  }
  n(BU, "isReservedWord");
  function MU(t, e) {
    return BU(t, e) || sMe.has(t);
  }
  n(MU, "isStrictReservedWord");
  function FU(t) {
    return rMe.has(t);
  }
  n(FU, "isStrictBindOnlyReservedWord");
  function jU(t, e) {
    return MU(t, e) || FU(t);
  }
  n(jU, "isStrictBindReservedWord");
  function iMe(t) {
    return tMe.has(t);
  }
  n(iMe, "isKeyword");
  function nMe(t, e, s) {
    return t === 64 && e === 64 && Vl(s);
  }
  n(nMe, "isIteratorStart");
  var aMe = /* @__PURE__ */ new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function",
  "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import",
  "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protecte\
d", "public", "static", "yield", "eval", "arguments", "enum", "await"]);
  function oMe(t) {
    return aMe.has(t);
  }
  n(oMe, "canBeReservedWord");
  var eg = class {
    static {
      n(this, "Scope");
    }
    constructor(e) {
      this.flags = 0, this.names = /* @__PURE__ */ new Map(), this.firstLexicalName = "", this.flags = e;
    }
  }, tg = class {
    static {
      n(this, "ScopeHandler");
    }
    constructor(e, s) {
      this.parser = void 0, this.scopeStack = [], this.inModule = void 0, this.undefinedExports = /* @__PURE__ */ new Map(), this.parser = e,
      this.inModule = s;
    }
    get inTopLevel() {
      return (this.currentScope().flags & 1) > 0;
    }
    get inFunction() {
      return (this.currentVarScopeFlags() & 2) > 0;
    }
    get allowSuper() {
      return (this.currentThisScopeFlags() & 16) > 0;
    }
    get allowDirectSuper() {
      return (this.currentThisScopeFlags() & 32) > 0;
    }
    get inClass() {
      return (this.currentThisScopeFlags() & 64) > 0;
    }
    get inClassAndNotInNonArrowFunction() {
      let e = this.currentThisScopeFlags();
      return (e & 64) > 0 && (e & 2) === 0;
    }
    get inStaticBlock() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 128)
          return !0;
        if (s & 451)
          return !1;
      }
    }
    get inNonArrowFunction() {
      return (this.currentThisScopeFlags() & 2) > 0;
    }
    get treatFunctionsAsVar() {
      return this.treatFunctionsAsVarInScope(this.currentScope());
    }
    createScope(e) {
      return new eg(e);
    }
    enter(e) {
      this.scopeStack.push(this.createScope(e));
    }
    exit() {
      return this.scopeStack.pop().flags;
    }
    treatFunctionsAsVarInScope(e) {
      return !!(e.flags & 130 || !this.parser.inModule && e.flags & 1);
    }
    declareName(e, s, r) {
      let i = this.currentScope();
      if (s & 8 || s & 16) {
        this.checkRedeclarationInScope(i, e, s, r);
        let a = i.names.get(e) || 0;
        s & 16 ? a = a | 4 : (i.firstLexicalName || (i.firstLexicalName = e), a = a | 2), i.names.set(e, a), s & 8 && this.maybeExportDefined(
        i, e);
      } else if (s & 4)
        for (let a = this.scopeStack.length - 1; a >= 0 && (i = this.scopeStack[a], this.checkRedeclarationInScope(i, e, s, r), i.names.set(
        e, (i.names.get(e) || 0) | 1), this.maybeExportDefined(i, e), !(i.flags & 387)); --a)
          ;
      this.parser.inModule && i.flags & 1 && this.undefinedExports.delete(e);
    }
    maybeExportDefined(e, s) {
      this.parser.inModule && e.flags & 1 && this.undefinedExports.delete(s);
    }
    checkRedeclarationInScope(e, s, r, i) {
      this.isRedeclaredInScope(e, s, r) && this.parser.raise(G.VarRedeclaration, i, {
        identifierName: s
      });
    }
    isRedeclaredInScope(e, s, r) {
      if (!(r & 1)) return !1;
      if (r & 8)
        return e.names.has(s);
      let i = e.names.get(s);
      return r & 16 ? (i & 2) > 0 || !this.treatFunctionsAsVarInScope(e) && (i & 1) > 0 : (i & 2) > 0 && !(e.flags & 8 && e.firstLexicalName ===
      s) || !this.treatFunctionsAsVarInScope(e) && (i & 4) > 0;
    }
    checkLocalExport(e) {
      let {
        name: s
      } = e;
      this.scopeStack[0].names.has(s) || this.undefinedExports.set(s, e.loc.start);
    }
    currentScope() {
      return this.scopeStack[this.scopeStack.length - 1];
    }
    currentVarScopeFlags() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 387)
          return s;
      }
    }
    currentThisScopeFlags() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 451 && !(s & 4))
          return s;
      }
    }
  }, NI = class extends eg {
    static {
      n(this, "FlowScope");
    }
    constructor(...e) {
      super(...e), this.declareFunctions = /* @__PURE__ */ new Set();
    }
  }, kI = class extends tg {
    static {
      n(this, "FlowScopeHandler");
    }
    createScope(e) {
      return new NI(e);
    }
    declareName(e, s, r) {
      let i = this.currentScope();
      if (s & 2048) {
        this.checkRedeclarationInScope(i, e, s, r), this.maybeExportDefined(i, e), i.declareFunctions.add(e);
        return;
      }
      super.declareName(e, s, r);
    }
    isRedeclaredInScope(e, s, r) {
      if (super.isRedeclaredInScope(e, s, r)) return !0;
      if (r & 2048 && !e.declareFunctions.has(s)) {
        let i = e.names.get(s);
        return (i & 4) > 0 || (i & 2) > 0;
      }
      return !1;
    }
    checkLocalExport(e) {
      this.scopeStack[0].declareFunctions.has(e.name) || super.checkLocalExport(e);
    }
  }, DI = class {
    static {
      n(this, "BaseParser");
    }
    constructor() {
      this.sawUnambiguousESM = !1, this.ambiguousScriptDifferentAst = !1;
    }
    sourceToOffsetPos(e) {
      return e + this.startIndex;
    }
    offsetToSourcePos(e) {
      return e - this.startIndex;
    }
    hasPlugin(e) {
      if (typeof e == "string")
        return this.plugins.has(e);
      {
        let [s, r] = e;
        if (!this.hasPlugin(s))
          return !1;
        let i = this.plugins.get(s);
        for (let a of Object.keys(r))
          if (i?.[a] !== r[a])
            return !1;
        return !0;
      }
    }
    getPluginOption(e, s) {
      var r;
      return (r = this.plugins.get(e)) == null ? void 0 : r[s];
    }
  };
  function RU(t, e) {
    t.trailingComments === void 0 ? t.trailingComments = e : t.trailingComments.unshift(...e);
  }
  n(RU, "setTrailingComments");
  function lMe(t, e) {
    t.leadingComments === void 0 ? t.leadingComments = e : t.leadingComments.unshift(...e);
  }
  n(lMe, "setLeadingComments");
  function sg(t, e) {
    t.innerComments === void 0 ? t.innerComments = e : t.innerComments.unshift(...e);
  }
  n(sg, "setInnerComments");
  function rh(t, e, s) {
    let r = null, i = e.length;
    for (; r === null && i > 0; )
      r = e[--i];
    r === null || r.start > s.start ? sg(t, s.comments) : RU(r, s.comments);
  }
  n(rh, "adjustInnerComments");
  var OI = class extends DI {
    static {
      n(this, "CommentsParser");
    }
    addComment(e) {
      this.filename && (e.loc.filename = this.filename);
      let {
        commentsLen: s
      } = this.state;
      this.comments.length !== s && (this.comments.length = s), this.comments.push(e), this.state.commentsLen++;
    }
    processComment(e) {
      let {
        commentStack: s
      } = this.state, r = s.length;
      if (r === 0) return;
      let i = r - 1, a = s[i];
      a.start === e.end && (a.leadingNode = e, i--);
      let {
        start: o
      } = e;
      for (; i >= 0; i--) {
        let l = s[i], u = l.end;
        if (u > o)
          l.containingNode = e, this.finalizeComment(l), s.splice(i, 1);
        else {
          u === o && (l.trailingNode = e);
          break;
        }
      }
    }
    finalizeComment(e) {
      let {
        comments: s
      } = e;
      if (e.leadingNode !== null || e.trailingNode !== null)
        e.leadingNode !== null && RU(e.leadingNode, s), e.trailingNode !== null && lMe(e.trailingNode, s);
      else {
        let {
          containingNode: r,
          start: i
        } = e;
        if (this.input.charCodeAt(this.offsetToSourcePos(i) - 1) === 44)
          switch (r.type) {
            case "ObjectExpression":
            case "ObjectPattern":
            case "RecordExpression":
              rh(r, r.properties, e);
              break;
            case "CallExpression":
            case "OptionalCallExpression":
              rh(r, r.arguments, e);
              break;
            case "FunctionDeclaration":
            case "FunctionExpression":
            case "ArrowFunctionExpression":
            case "ObjectMethod":
            case "ClassMethod":
            case "ClassPrivateMethod":
              rh(r, r.params, e);
              break;
            case "ArrayExpression":
            case "ArrayPattern":
            case "TupleExpression":
              rh(r, r.elements, e);
              break;
            case "ExportNamedDeclaration":
            case "ImportDeclaration":
              rh(r, r.specifiers, e);
              break;
            case "TSEnumDeclaration":
              rh(r, r.members, e);
              break;
            case "TSEnumBody":
              rh(r, r.members, e);
              break;
            default:
              sg(r, s);
          }
        else
          sg(r, s);
      }
    }
    finalizeRemainingComments() {
      let {
        commentStack: e
      } = this.state;
      for (let s = e.length - 1; s >= 0; s--)
        this.finalizeComment(e[s]);
      this.state.commentStack = [];
    }
    resetPreviousNodeTrailingComments(e) {
      let {
        commentStack: s
      } = this.state, {
        length: r
      } = s;
      if (r === 0) return;
      let i = s[r - 1];
      i.leadingNode === e && (i.leadingNode = null);
    }
    resetPreviousIdentifierLeadingComments(e) {
      let {
        commentStack: s
      } = this.state, {
        length: r
      } = s;
      r !== 0 && (s[r - 1].trailingNode === e ? s[r - 1].trailingNode = null : r >= 2 && s[r - 2].trailingNode === e && (s[r - 2].trailingNode =
      null));
    }
    takeSurroundingComments(e, s, r) {
      let {
        commentStack: i
      } = this.state, a = i.length;
      if (a === 0) return;
      let o = a - 1;
      for (; o >= 0; o--) {
        let l = i[o], u = l.end;
        if (l.start === r)
          l.leadingNode = e;
        else if (u === s)
          l.trailingNode = e;
        else if (u < s)
          break;
      }
    }
  }, uMe = /\r\n|[\r\n\u2028\u2029]/, Ub = new RegExp(uMe.source, "g");
  function ad(t) {
    switch (t) {
      case 10:
      case 13:
      case 8232:
      case 8233:
        return !0;
      default:
        return !1;
    }
  }
  n(ad, "isNewLine");
  function PU(t, e, s) {
    for (let r = e; r < s; r++)
      if (ad(t.charCodeAt(r)))
        return !0;
    return !1;
  }
  n(PU, "hasNewLine");
  var EI = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g, AI = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g;
  function cMe(t) {
    switch (t) {
      case 9:
      case 11:
      case 12:
      case 32:
      case 160:
      case 5760:
      case 8192:
      case 8193:
      case 8194:
      case 8195:
      case 8196:
      case 8197:
      case 8198:
      case 8199:
      case 8200:
      case 8201:
      case 8202:
      case 8239:
      case 8287:
      case 12288:
      case 65279:
        return !0;
      default:
        return !1;
    }
  }
  n(cMe, "isWhitespace");
  var _I = class t {
    static {
      n(this, "State");
    }
    constructor() {
      this.flags = 1024, this.startIndex = void 0, this.curLine = void 0, this.lineStart = void 0, this.startLoc = void 0, this.endLoc = void 0,
      this.errors = [], this.potentialArrowAt = -1, this.noArrowAt = [], this.noArrowParamsConversionAt = [], this.topicContext = {
        maxNumOfResolvableTopics: 0,
        maxTopicIndex: null
      }, this.labels = [], this.commentsLen = 0, this.commentStack = [], this.pos = 0, this.type = 140, this.value = null, this.start = 0, this.
      end = 0, this.lastTokEndLoc = null, this.lastTokStartLoc = null, this.context = [Vs.brace], this.firstInvalidTemplateEscapePos = null,
      this.strictErrors = /* @__PURE__ */ new Map(), this.tokensLength = 0;
    }
    get strict() {
      return (this.flags & 1) > 0;
    }
    set strict(e) {
      e ? this.flags |= 1 : this.flags &= -2;
    }
    init({
      strictMode: e,
      sourceType: s,
      startIndex: r,
      startLine: i,
      startColumn: a
    }) {
      this.strict = e === !1 ? !1 : e === !0 ? !0 : s === "module", this.startIndex = r, this.curLine = i, this.lineStart = -a, this.startLoc =
      this.endLoc = new Qo(i, a, r);
    }
    get maybeInArrowParameters() {
      return (this.flags & 2) > 0;
    }
    set maybeInArrowParameters(e) {
      e ? this.flags |= 2 : this.flags &= -3;
    }
    get inType() {
      return (this.flags & 4) > 0;
    }
    set inType(e) {
      e ? this.flags |= 4 : this.flags &= -5;
    }
    get noAnonFunctionType() {
      return (this.flags & 8) > 0;
    }
    set noAnonFunctionType(e) {
      e ? this.flags |= 8 : this.flags &= -9;
    }
    get hasFlowComment() {
      return (this.flags & 16) > 0;
    }
    set hasFlowComment(e) {
      e ? this.flags |= 16 : this.flags &= -17;
    }
    get isAmbientContext() {
      return (this.flags & 32) > 0;
    }
    set isAmbientContext(e) {
      e ? this.flags |= 32 : this.flags &= -33;
    }
    get inAbstractClass() {
      return (this.flags & 64) > 0;
    }
    set inAbstractClass(e) {
      e ? this.flags |= 64 : this.flags &= -65;
    }
    get inDisallowConditionalTypesContext() {
      return (this.flags & 128) > 0;
    }
    set inDisallowConditionalTypesContext(e) {
      e ? this.flags |= 128 : this.flags &= -129;
    }
    get soloAwait() {
      return (this.flags & 256) > 0;
    }
    set soloAwait(e) {
      e ? this.flags |= 256 : this.flags &= -257;
    }
    get inFSharpPipelineDirectBody() {
      return (this.flags & 512) > 0;
    }
    set inFSharpPipelineDirectBody(e) {
      e ? this.flags |= 512 : this.flags &= -513;
    }
    get canStartJSXElement() {
      return (this.flags & 1024) > 0;
    }
    set canStartJSXElement(e) {
      e ? this.flags |= 1024 : this.flags &= -1025;
    }
    get containsEsc() {
      return (this.flags & 2048) > 0;
    }
    set containsEsc(e) {
      e ? this.flags |= 2048 : this.flags &= -2049;
    }
    get hasTopLevelAwait() {
      return (this.flags & 4096) > 0;
    }
    set hasTopLevelAwait(e) {
      e ? this.flags |= 4096 : this.flags &= -4097;
    }
    curPosition() {
      return new Qo(this.curLine, this.pos - this.lineStart, this.pos + this.startIndex);
    }
    clone() {
      let e = new t();
      return e.flags = this.flags, e.startIndex = this.startIndex, e.curLine = this.curLine, e.lineStart = this.lineStart, e.startLoc = this.
      startLoc, e.endLoc = this.endLoc, e.errors = this.errors.slice(), e.potentialArrowAt = this.potentialArrowAt, e.noArrowAt = this.noArrowAt.
      slice(), e.noArrowParamsConversionAt = this.noArrowParamsConversionAt.slice(), e.topicContext = this.topicContext, e.labels = this.labels.
      slice(), e.commentsLen = this.commentsLen, e.commentStack = this.commentStack.slice(), e.pos = this.pos, e.type = this.type, e.value =
      this.value, e.start = this.start, e.end = this.end, e.lastTokEndLoc = this.lastTokEndLoc, e.lastTokStartLoc = this.lastTokStartLoc, e.
      context = this.context.slice(), e.firstInvalidTemplateEscapePos = this.firstInvalidTemplateEscapePos, e.strictErrors = this.strictErrors,
      e.tokensLength = this.tokensLength, e;
    }
  }, pMe = /* @__PURE__ */ n(function(e) {
    return e >= 48 && e <= 57;
  }, "isDigit"), EU = {
    decBinOct: /* @__PURE__ */ new Set([46, 66, 69, 79, 95, 98, 101, 111]),
    hex: /* @__PURE__ */ new Set([46, 88, 95, 120])
  }, Kb = {
    bin: /* @__PURE__ */ n((t) => t === 48 || t === 49, "bin"),
    oct: /* @__PURE__ */ n((t) => t >= 48 && t <= 55, "oct"),
    dec: /* @__PURE__ */ n((t) => t >= 48 && t <= 57, "dec"),
    hex: /* @__PURE__ */ n((t) => t >= 48 && t <= 57 || t >= 65 && t <= 70 || t >= 97 && t <= 102, "hex")
  };
  function AU(t, e, s, r, i, a) {
    let o = s, l = r, u = i, c = "", p = null, h = s, {
      length: f
    } = e;
    for (; ; ) {
      if (s >= f) {
        a.unterminated(o, l, u), c += e.slice(h, s);
        break;
      }
      let d = e.charCodeAt(s);
      if (hMe(t, d, e, s)) {
        c += e.slice(h, s);
        break;
      }
      if (d === 92) {
        c += e.slice(h, s);
        let m = fMe(e, s, r, i, t === "template", a);
        m.ch === null && !p ? p = {
          pos: s,
          lineStart: r,
          curLine: i
        } : c += m.ch, {
          pos: s,
          lineStart: r,
          curLine: i
        } = m, h = s;
      } else d === 8232 || d === 8233 ? (++s, ++i, r = s) : d === 10 || d === 13 ? t === "template" ? (c += e.slice(h, s) + `
`, ++s, d === 13 && e.charCodeAt(s) === 10 && ++s, ++i, h = r = s) : a.unterminated(o, l, u) : ++s;
    }
    return {
      pos: s,
      str: c,
      firstInvalidLoc: p,
      lineStart: r,
      curLine: i,
      containsInvalid: !!p
    };
  }
  n(AU, "readStringContents");
  function hMe(t, e, s, r) {
    return t === "template" ? e === 96 || e === 36 && s.charCodeAt(r + 1) === 123 : e === (t === "double" ? 34 : 39);
  }
  n(hMe, "isStringEnd");
  function fMe(t, e, s, r, i, a) {
    let o = !i;
    e++;
    let l = /* @__PURE__ */ n((c) => ({
      pos: e,
      ch: c,
      lineStart: s,
      curLine: r
    }), "res"), u = t.charCodeAt(e++);
    switch (u) {
      case 110:
        return l(`
`);
      case 114:
        return l("\r");
      case 120: {
        let c;
        return {
          code: c,
          pos: e
        } = LI(t, e, s, r, 2, !1, o, a), l(c === null ? null : String.fromCharCode(c));
      }
      case 117: {
        let c;
        return {
          code: c,
          pos: e
        } = UU(t, e, s, r, o, a), l(c === null ? null : String.fromCodePoint(c));
      }
      case 116:
        return l("	");
      case 98:
        return l("\b");
      case 118:
        return l("\v");
      case 102:
        return l("\f");
      case 13:
        t.charCodeAt(e) === 10 && ++e;
      case 10:
        s = e, ++r;
      case 8232:
      case 8233:
        return l("");
      case 56:
      case 57:
        if (i)
          return l(null);
        a.strictNumericEscape(e - 1, s, r);
      default:
        if (u >= 48 && u <= 55) {
          let c = e - 1, h = /^[0-7]+/.exec(t.slice(c, e + 2))[0], f = parseInt(h, 8);
          f > 255 && (h = h.slice(0, -1), f = parseInt(h, 8)), e += h.length - 1;
          let d = t.charCodeAt(e);
          if (h !== "0" || d === 56 || d === 57) {
            if (i)
              return l(null);
            a.strictNumericEscape(c, s, r);
          }
          return l(String.fromCharCode(f));
        }
        return l(String.fromCharCode(u));
    }
  }
  n(fMe, "readEscapedChar");
  function LI(t, e, s, r, i, a, o, l) {
    let u = e, c;
    return {
      n: c,
      pos: e
    } = qU(t, e, s, r, 16, i, a, !1, l, !o), c === null && (o ? l.invalidEscapeSequence(u, s, r) : e = u - 1), {
      code: c,
      pos: e
    };
  }
  n(LI, "readHexChar");
  function qU(t, e, s, r, i, a, o, l, u, c) {
    let p = e, h = i === 16 ? EU.hex : EU.decBinOct, f = i === 16 ? Kb.hex : i === 10 ? Kb.dec : i === 8 ? Kb.oct : Kb.bin, d = !1, m = 0;
    for (let y = 0, T = a ?? 1 / 0; y < T; ++y) {
      let b = t.charCodeAt(e), E;
      if (b === 95 && l !== "bail") {
        let V = t.charCodeAt(e - 1), W = t.charCodeAt(e + 1);
        if (l) {
          if (Number.isNaN(W) || !f(W) || h.has(V) || h.has(W)) {
            if (c) return {
              n: null,
              pos: e
            };
            u.unexpectedNumericSeparator(e, s, r);
          }
        } else {
          if (c) return {
            n: null,
            pos: e
          };
          u.numericSeparatorInEscapeSequence(e, s, r);
        }
        ++e;
        continue;
      }
      if (b >= 97 ? E = b - 97 + 10 : b >= 65 ? E = b - 65 + 10 : pMe(b) ? E = b - 48 : E = 1 / 0, E >= i) {
        if (E <= 9 && c)
          return {
            n: null,
            pos: e
          };
        if (E <= 9 && u.invalidDigit(e, s, r, i))
          E = 0;
        else if (o)
          E = 0, d = !0;
        else
          break;
      }
      ++e, m = m * i + E;
    }
    return e === p || a != null && e - p !== a || d ? {
      n: null,
      pos: e
    } : {
      n: m,
      pos: e
    };
  }
  n(qU, "readInt");
  function UU(t, e, s, r, i, a) {
    let o = t.charCodeAt(e), l;
    if (o === 123) {
      if (++e, {
        code: l,
        pos: e
      } = LI(t, e, s, r, t.indexOf("}", e) - e, !0, i, a), ++e, l !== null && l > 1114111)
        if (i)
          a.invalidCodePoint(e, s, r);
        else
          return {
            code: null,
            pos: e
          };
    } else
      ({
        code: l,
        pos: e
      } = LI(t, e, s, r, 4, !1, i, a));
    return {
      code: l,
      pos: e
    };
  }
  n(UU, "readCodePoint");
  function Gy(t, e, s) {
    return new Qo(s, t - e, t);
  }
  n(Gy, "buildPosition");
  var dMe = /* @__PURE__ */ new Set([103, 109, 115, 105, 121, 117, 100, 118]), Go = class {
    static {
      n(this, "Token");
    }
    constructor(e) {
      let s = e.startIndex || 0;
      this.type = e.type, this.value = e.value, this.start = s + e.start, this.end = s + e.end, this.loc = new ld(e.startLoc, e.endLoc);
    }
  }, BI = class extends OI {
    static {
      n(this, "Tokenizer");
    }
    constructor(e, s) {
      super(), this.isLookahead = void 0, this.tokens = [], this.errorHandlers_readInt = {
        invalidDigit: /* @__PURE__ */ n((r, i, a, o) => this.optionFlags & 1024 ? (this.raise(G.InvalidDigit, Gy(r, i, a), {
          radix: o
        }), !0) : !1, "invalidDigit"),
        numericSeparatorInEscapeSequence: this.errorBuilder(G.NumericSeparatorInEscapeSequence),
        unexpectedNumericSeparator: this.errorBuilder(G.UnexpectedNumericSeparator)
      }, this.errorHandlers_readCodePoint = Object.assign({}, this.errorHandlers_readInt, {
        invalidEscapeSequence: this.errorBuilder(G.InvalidEscapeSequence),
        invalidCodePoint: this.errorBuilder(G.InvalidCodePoint)
      }), this.errorHandlers_readStringContents_string = Object.assign({}, this.errorHandlers_readCodePoint, {
        strictNumericEscape: /* @__PURE__ */ n((r, i, a) => {
          this.recordStrictModeErrors(G.StrictNumericEscape, Gy(r, i, a));
        }, "strictNumericEscape"),
        unterminated: /* @__PURE__ */ n((r, i, a) => {
          throw this.raise(G.UnterminatedString, Gy(r - 1, i, a));
        }, "unterminated")
      }), this.errorHandlers_readStringContents_template = Object.assign({}, this.errorHandlers_readCodePoint, {
        strictNumericEscape: this.errorBuilder(G.StrictNumericEscape),
        unterminated: /* @__PURE__ */ n((r, i, a) => {
          throw this.raise(G.UnterminatedTemplate, Gy(r, i, a));
        }, "unterminated")
      }), this.state = new _I(), this.state.init(e), this.input = s, this.length = s.length, this.comments = [], this.isLookahead = !1;
    }
    pushToken(e) {
      this.tokens.length = this.state.tokensLength, this.tokens.push(e), ++this.state.tokensLength;
    }
    next() {
      this.checkKeywordEscapes(), this.optionFlags & 128 && this.pushToken(new Go(this.state)), this.state.lastTokEndLoc = this.state.endLoc,
      this.state.lastTokStartLoc = this.state.startLoc, this.nextToken();
    }
    eat(e) {
      return this.match(e) ? (this.next(), !0) : !1;
    }
    match(e) {
      return this.state.type === e;
    }
    createLookaheadState(e) {
      return {
        pos: e.pos,
        value: null,
        type: e.type,
        start: e.start,
        end: e.end,
        context: [this.curContext()],
        inType: e.inType,
        startLoc: e.startLoc,
        lastTokEndLoc: e.lastTokEndLoc,
        curLine: e.curLine,
        lineStart: e.lineStart,
        curPosition: e.curPosition
      };
    }
    lookahead() {
      let e = this.state;
      this.state = this.createLookaheadState(e), this.isLookahead = !0, this.nextToken(), this.isLookahead = !1;
      let s = this.state;
      return this.state = e, s;
    }
    nextTokenStart() {
      return this.nextTokenStartSince(this.state.pos);
    }
    nextTokenStartSince(e) {
      return EI.lastIndex = e, EI.test(this.input) ? EI.lastIndex : e;
    }
    lookaheadCharCode() {
      return this.input.charCodeAt(this.nextTokenStart());
    }
    nextTokenInLineStart() {
      return this.nextTokenInLineStartSince(this.state.pos);
    }
    nextTokenInLineStartSince(e) {
      return AI.lastIndex = e, AI.test(this.input) ? AI.lastIndex : e;
    }
    lookaheadInLineCharCode() {
      return this.input.charCodeAt(this.nextTokenInLineStart());
    }
    codePointAtPos(e) {
      let s = this.input.charCodeAt(e);
      if ((s & 64512) === 55296 && ++e < this.input.length) {
        let r = this.input.charCodeAt(e);
        (r & 64512) === 56320 && (s = 65536 + ((s & 1023) << 10) + (r & 1023));
      }
      return s;
    }
    setStrict(e) {
      this.state.strict = e, e && (this.state.strictErrors.forEach(([s, r]) => this.raise(s, r)), this.state.strictErrors.clear());
    }
    curContext() {
      return this.state.context[this.state.context.length - 1];
    }
    nextToken() {
      if (this.skipSpace(), this.state.start = this.state.pos, this.isLookahead || (this.state.startLoc = this.state.curPosition()), this.state.
      pos >= this.length) {
        this.finishToken(140);
        return;
      }
      this.getTokenFromCode(this.codePointAtPos(this.state.pos));
    }
    skipBlockComment(e) {
      let s;
      this.isLookahead || (s = this.state.curPosition());
      let r = this.state.pos, i = this.input.indexOf(e, r + 2);
      if (i === -1)
        throw this.raise(G.UnterminatedComment, this.state.curPosition());
      for (this.state.pos = i + e.length, Ub.lastIndex = r + 2; Ub.test(this.input) && Ub.lastIndex <= i; )
        ++this.state.curLine, this.state.lineStart = Ub.lastIndex;
      if (this.isLookahead) return;
      let a = {
        type: "CommentBlock",
        value: this.input.slice(r + 2, i),
        start: this.sourceToOffsetPos(r),
        end: this.sourceToOffsetPos(i + e.length),
        loc: new ld(s, this.state.curPosition())
      };
      return this.optionFlags & 128 && this.pushToken(a), a;
    }
    skipLineComment(e) {
      let s = this.state.pos, r;
      this.isLookahead || (r = this.state.curPosition());
      let i = this.input.charCodeAt(this.state.pos += e);
      if (this.state.pos < this.length)
        for (; !ad(i) && ++this.state.pos < this.length; )
          i = this.input.charCodeAt(this.state.pos);
      if (this.isLookahead) return;
      let a = this.state.pos, l = {
        type: "CommentLine",
        value: this.input.slice(s + e, a),
        start: this.sourceToOffsetPos(s),
        end: this.sourceToOffsetPos(a),
        loc: new ld(r, this.state.curPosition())
      };
      return this.optionFlags & 128 && this.pushToken(l), l;
    }
    skipSpace() {
      let e = this.state.pos, s = this.optionFlags & 2048 ? [] : null;
      e: for (; this.state.pos < this.length; ) {
        let r = this.input.charCodeAt(this.state.pos);
        switch (r) {
          case 32:
          case 160:
          case 9:
            ++this.state.pos;
            break;
          case 13:
            this.input.charCodeAt(this.state.pos + 1) === 10 && ++this.state.pos;
          case 10:
          case 8232:
          case 8233:
            ++this.state.pos, ++this.state.curLine, this.state.lineStart = this.state.pos;
            break;
          case 47:
            switch (this.input.charCodeAt(this.state.pos + 1)) {
              case 42: {
                let i = this.skipBlockComment("*/");
                i !== void 0 && (this.addComment(i), s?.push(i));
                break;
              }
              case 47: {
                let i = this.skipLineComment(2);
                i !== void 0 && (this.addComment(i), s?.push(i));
                break;
              }
              default:
                break e;
            }
            break;
          default:
            if (cMe(r))
              ++this.state.pos;
            else if (r === 45 && !this.inModule && this.optionFlags & 4096) {
              let i = this.state.pos;
              if (this.input.charCodeAt(i + 1) === 45 && this.input.charCodeAt(i + 2) === 62 && (e === 0 || this.state.lineStart > e)) {
                let a = this.skipLineComment(3);
                a !== void 0 && (this.addComment(a), s?.push(a));
              } else
                break e;
            } else if (r === 60 && !this.inModule && this.optionFlags & 4096) {
              let i = this.state.pos;
              if (this.input.charCodeAt(i + 1) === 33 && this.input.charCodeAt(i + 2) === 45 && this.input.charCodeAt(i + 3) === 45) {
                let a = this.skipLineComment(4);
                a !== void 0 && (this.addComment(a), s?.push(a));
              } else
                break e;
            } else
              break e;
        }
      }
      if (s?.length > 0) {
        let r = this.state.pos, i = {
          start: this.sourceToOffsetPos(e),
          end: this.sourceToOffsetPos(r),
          comments: s,
          leadingNode: null,
          trailingNode: null,
          containingNode: null
        };
        this.state.commentStack.push(i);
      }
    }
    finishToken(e, s) {
      this.state.end = this.state.pos, this.state.endLoc = this.state.curPosition();
      let r = this.state.type;
      this.state.type = e, this.state.value = s, this.isLookahead || this.updateContext(r);
    }
    replaceToken(e) {
      this.state.type = e, this.updateContext();
    }
    readToken_numberSign() {
      if (this.state.pos === 0 && this.readToken_interpreter())
        return;
      let e = this.state.pos + 1, s = this.codePointAtPos(e);
      if (s >= 48 && s <= 57)
        throw this.raise(G.UnexpectedDigitAfterHash, this.state.curPosition());
      if (s === 123 || s === 91 && this.hasPlugin("recordAndTuple")) {
        if (this.expectPlugin("recordAndTuple"), this.getPluginOption("recordAndTuple", "syntaxType") === "bar")
          throw this.raise(s === 123 ? G.RecordExpressionHashIncorrectStartSyntaxType : G.TupleExpressionHashIncorrectStartSyntaxType, this.
          state.curPosition());
        this.state.pos += 2, s === 123 ? this.finishToken(7) : this.finishToken(1);
      } else Vl(s) ? (++this.state.pos, this.finishToken(139, this.readWord1(s))) : s === 92 ? (++this.state.pos, this.finishToken(139, this.
      readWord1())) : this.finishOp(27, 1);
    }
    readToken_dot() {
      let e = this.input.charCodeAt(this.state.pos + 1);
      if (e >= 48 && e <= 57) {
        this.readNumber(!0);
        return;
      }
      e === 46 && this.input.charCodeAt(this.state.pos + 2) === 46 ? (this.state.pos += 3, this.finishToken(21)) : (++this.state.pos, this.finishToken(
      16));
    }
    readToken_slash() {
      this.input.charCodeAt(this.state.pos + 1) === 61 ? this.finishOp(31, 2) : this.finishOp(56, 1);
    }
    readToken_interpreter() {
      if (this.state.pos !== 0 || this.length < 2) return !1;
      let e = this.input.charCodeAt(this.state.pos + 1);
      if (e !== 33) return !1;
      let s = this.state.pos;
      for (this.state.pos += 1; !ad(e) && ++this.state.pos < this.length; )
        e = this.input.charCodeAt(this.state.pos);
      let r = this.input.slice(s + 2, this.state.pos);
      return this.finishToken(28, r), !0;
    }
    readToken_mult_modulo(e) {
      let s = e === 42 ? 55 : 54, r = 1, i = this.input.charCodeAt(this.state.pos + 1);
      e === 42 && i === 42 && (r++, i = this.input.charCodeAt(this.state.pos + 2), s = 57), i === 61 && !this.state.inType && (r++, s = e ===
      37 ? 33 : 30), this.finishOp(s, r);
    }
    readToken_pipe_amp(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === e) {
        this.input.charCodeAt(this.state.pos + 2) === 61 ? this.finishOp(30, 3) : this.finishOp(e === 124 ? 41 : 42, 2);
        return;
      }
      if (e === 124) {
        if (s === 62) {
          this.finishOp(39, 2);
          return;
        }
        if (this.hasPlugin("recordAndTuple") && s === 125) {
          if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
            throw this.raise(G.RecordExpressionBarIncorrectEndSyntaxType, this.state.curPosition());
          this.state.pos += 2, this.finishToken(9);
          return;
        }
        if (this.hasPlugin("recordAndTuple") && s === 93) {
          if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
            throw this.raise(G.TupleExpressionBarIncorrectEndSyntaxType, this.state.curPosition());
          this.state.pos += 2, this.finishToken(4);
          return;
        }
      }
      if (s === 61) {
        this.finishOp(30, 2);
        return;
      }
      this.finishOp(e === 124 ? 43 : 45, 1);
    }
    readToken_caret() {
      let e = this.input.charCodeAt(this.state.pos + 1);
      e === 61 && !this.state.inType ? this.finishOp(32, 2) : e === 94 && this.hasPlugin(["pipelineOperator", {
        proposal: "hack",
        topicToken: "^^"
      }]) ? (this.finishOp(37, 2), this.input.codePointAt(this.state.pos) === 94 && this.unexpected()) : this.finishOp(44, 1);
    }
    readToken_atSign() {
      this.input.charCodeAt(this.state.pos + 1) === 64 && this.hasPlugin(["pipelineOperator", {
        proposal: "hack",
        topicToken: "@@"
      }]) ? this.finishOp(38, 2) : this.finishOp(26, 1);
    }
    readToken_plus_min(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === e) {
        this.finishOp(34, 2);
        return;
      }
      s === 61 ? this.finishOp(30, 2) : this.finishOp(53, 1);
    }
    readToken_lt() {
      let {
        pos: e
      } = this.state, s = this.input.charCodeAt(e + 1);
      if (s === 60) {
        if (this.input.charCodeAt(e + 2) === 61) {
          this.finishOp(30, 3);
          return;
        }
        this.finishOp(51, 2);
        return;
      }
      if (s === 61) {
        this.finishOp(49, 2);
        return;
      }
      this.finishOp(47, 1);
    }
    readToken_gt() {
      let {
        pos: e
      } = this.state, s = this.input.charCodeAt(e + 1);
      if (s === 62) {
        let r = this.input.charCodeAt(e + 2) === 62 ? 3 : 2;
        if (this.input.charCodeAt(e + r) === 61) {
          this.finishOp(30, r + 1);
          return;
        }
        this.finishOp(52, r);
        return;
      }
      if (s === 61) {
        this.finishOp(49, 2);
        return;
      }
      this.finishOp(48, 1);
    }
    readToken_eq_excl(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === 61) {
        this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2);
        return;
      }
      if (e === 61 && s === 62) {
        this.state.pos += 2, this.finishToken(19);
        return;
      }
      this.finishOp(e === 61 ? 29 : 35, 1);
    }
    readToken_question() {
      let e = this.input.charCodeAt(this.state.pos + 1), s = this.input.charCodeAt(this.state.pos + 2);
      e === 63 ? s === 61 ? this.finishOp(30, 3) : this.finishOp(40, 2) : e === 46 && !(s >= 48 && s <= 57) ? (this.state.pos += 2, this.finishToken(
      18)) : (++this.state.pos, this.finishToken(17));
    }
    getTokenFromCode(e) {
      switch (e) {
        case 46:
          this.readToken_dot();
          return;
        case 40:
          ++this.state.pos, this.finishToken(10);
          return;
        case 41:
          ++this.state.pos, this.finishToken(11);
          return;
        case 59:
          ++this.state.pos, this.finishToken(13);
          return;
        case 44:
          ++this.state.pos, this.finishToken(12);
          return;
        case 91:
          if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
            if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
              throw this.raise(G.TupleExpressionBarIncorrectStartSyntaxType, this.state.curPosition());
            this.state.pos += 2, this.finishToken(2);
          } else
            ++this.state.pos, this.finishToken(0);
          return;
        case 93:
          ++this.state.pos, this.finishToken(3);
          return;
        case 123:
          if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
            if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
              throw this.raise(G.RecordExpressionBarIncorrectStartSyntaxType, this.state.curPosition());
            this.state.pos += 2, this.finishToken(6);
          } else
            ++this.state.pos, this.finishToken(5);
          return;
        case 125:
          ++this.state.pos, this.finishToken(8);
          return;
        case 58:
          this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58 ? this.finishOp(15, 2) : (++this.state.pos, this.
          finishToken(14));
          return;
        case 63:
          this.readToken_question();
          return;
        case 96:
          this.readTemplateToken();
          return;
        case 48: {
          let s = this.input.charCodeAt(this.state.pos + 1);
          if (s === 120 || s === 88) {
            this.readRadixNumber(16);
            return;
          }
          if (s === 111 || s === 79) {
            this.readRadixNumber(8);
            return;
          }
          if (s === 98 || s === 66) {
            this.readRadixNumber(2);
            return;
          }
        }
        case 49:
        case 50:
        case 51:
        case 52:
        case 53:
        case 54:
        case 55:
        case 56:
        case 57:
          this.readNumber(!1);
          return;
        case 34:
        case 39:
          this.readString(e);
          return;
        case 47:
          this.readToken_slash();
          return;
        case 37:
        case 42:
          this.readToken_mult_modulo(e);
          return;
        case 124:
        case 38:
          this.readToken_pipe_amp(e);
          return;
        case 94:
          this.readToken_caret();
          return;
        case 43:
        case 45:
          this.readToken_plus_min(e);
          return;
        case 60:
          this.readToken_lt();
          return;
        case 62:
          this.readToken_gt();
          return;
        case 61:
        case 33:
          this.readToken_eq_excl(e);
          return;
        case 126:
          this.finishOp(36, 1);
          return;
        case 64:
          this.readToken_atSign();
          return;
        case 35:
          this.readToken_numberSign();
          return;
        case 92:
          this.readWord();
          return;
        default:
          if (Vl(e)) {
            this.readWord(e);
            return;
          }
      }
      throw this.raise(G.InvalidOrUnexpectedToken, this.state.curPosition(), {
        unexpected: String.fromCodePoint(e)
      });
    }
    finishOp(e, s) {
      let r = this.input.slice(this.state.pos, this.state.pos + s);
      this.state.pos += s, this.finishToken(e, r);
    }
    readRegexp() {
      let e = this.state.startLoc, s = this.state.start + 1, r, i, {
        pos: a
      } = this.state;
      for (; ; ++a) {
        if (a >= this.length)
          throw this.raise(G.UnterminatedRegExp, gn(e, 1));
        let c = this.input.charCodeAt(a);
        if (ad(c))
          throw this.raise(G.UnterminatedRegExp, gn(e, 1));
        if (r)
          r = !1;
        else {
          if (c === 91)
            i = !0;
          else if (c === 93 && i)
            i = !1;
          else if (c === 47 && !i)
            break;
          r = c === 92;
        }
      }
      let o = this.input.slice(s, a);
      ++a;
      let l = "", u = /* @__PURE__ */ n(() => gn(e, a + 2 - s), "nextPos");
      for (; a < this.length; ) {
        let c = this.codePointAtPos(a), p = String.fromCharCode(c);
        if (dMe.has(c))
          c === 118 ? l.includes("u") && this.raise(G.IncompatibleRegExpUVFlags, u()) : c === 117 && l.includes("v") && this.raise(G.IncompatibleRegExpUVFlags,
          u()), l.includes(p) && this.raise(G.DuplicateRegExpFlags, u());
        else if (nd(c) || c === 92)
          this.raise(G.MalformedRegExpFlags, u());
        else
          break;
        ++a, l += p;
      }
      this.state.pos = a, this.finishToken(138, {
        pattern: o,
        flags: l
      });
    }
    readInt(e, s, r = !1, i = !0) {
      let {
        n: a,
        pos: o
      } = qU(this.input, this.state.pos, this.state.lineStart, this.state.curLine, e, s, r, i, this.errorHandlers_readInt, !1);
      return this.state.pos = o, a;
    }
    readRadixNumber(e) {
      let s = this.state.pos, r = this.state.curPosition(), i = !1;
      this.state.pos += 2;
      let a = this.readInt(e);
      a == null && this.raise(G.InvalidDigit, gn(r, 2), {
        radix: e
      });
      let o = this.input.charCodeAt(this.state.pos);
      if (o === 110)
        ++this.state.pos, i = !0;
      else if (o === 109)
        throw this.raise(G.InvalidDecimal, r);
      if (Vl(this.codePointAtPos(this.state.pos)))
        throw this.raise(G.NumberIdentifier, this.state.curPosition());
      if (i) {
        let l = this.input.slice(s, this.state.pos).replace(/[_n]/g, "");
        this.finishToken(136, l);
        return;
      }
      this.finishToken(135, a);
    }
    readNumber(e) {
      let s = this.state.pos, r = this.state.curPosition(), i = !1, a = !1, o = !1, l = !1;
      !e && this.readInt(10) === null && this.raise(G.InvalidNumber, this.state.curPosition());
      let u = this.state.pos - s >= 2 && this.input.charCodeAt(s) === 48;
      if (u) {
        let d = this.input.slice(s, this.state.pos);
        if (this.recordStrictModeErrors(G.StrictOctalLiteral, r), !this.state.strict) {
          let m = d.indexOf("_");
          m > 0 && this.raise(G.ZeroDigitNumericSeparator, gn(r, m));
        }
        l = u && !/[89]/.test(d);
      }
      let c = this.input.charCodeAt(this.state.pos);
      if (c === 46 && !l && (++this.state.pos, this.readInt(10), i = !0, c = this.input.charCodeAt(this.state.pos)), (c === 69 || c === 101) &&
      !l && (c = this.input.charCodeAt(++this.state.pos), (c === 43 || c === 45) && ++this.state.pos, this.readInt(10) === null && this.raise(
      G.InvalidOrMissingExponent, r), i = !0, o = !0, c = this.input.charCodeAt(this.state.pos)), c === 110 && ((i || u) && this.raise(G.InvalidBigIntLiteral,
      r), ++this.state.pos, a = !0), c === 109) {
        this.expectPlugin("decimal", this.state.curPosition()), (o || u) && this.raise(G.InvalidDecimal, r), ++this.state.pos;
        var p = !0;
      }
      if (Vl(this.codePointAtPos(this.state.pos)))
        throw this.raise(G.NumberIdentifier, this.state.curPosition());
      let h = this.input.slice(s, this.state.pos).replace(/[_mn]/g, "");
      if (a) {
        this.finishToken(136, h);
        return;
      }
      if (p) {
        this.finishToken(137, h);
        return;
      }
      let f = l ? parseInt(h, 8) : parseFloat(h);
      this.finishToken(135, f);
    }
    readCodePoint(e) {
      let {
        code: s,
        pos: r
      } = UU(this.input, this.state.pos, this.state.lineStart, this.state.curLine, e, this.errorHandlers_readCodePoint);
      return this.state.pos = r, s;
    }
    readString(e) {
      let {
        str: s,
        pos: r,
        curLine: i,
        lineStart: a
      } = AU(e === 34 ? "double" : "single", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_string);
      this.state.pos = r + 1, this.state.lineStart = a, this.state.curLine = i, this.finishToken(134, s);
    }
    readTemplateContinuation() {
      this.match(8) || this.unexpected(null, 8), this.state.pos--, this.readTemplateToken();
    }
    readTemplateToken() {
      let e = this.input[this.state.pos], {
        str: s,
        firstInvalidLoc: r,
        pos: i,
        curLine: a,
        lineStart: o
      } = AU("template", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_template);
      this.state.pos = i + 1, this.state.lineStart = o, this.state.curLine = a, r && (this.state.firstInvalidTemplateEscapePos = new Qo(r.curLine,
      r.pos - r.lineStart, this.sourceToOffsetPos(r.pos))), this.input.codePointAt(i) === 96 ? this.finishToken(24, r ? null : e + s + "`") :
      (this.state.pos++, this.finishToken(25, r ? null : e + s + "${"));
    }
    recordStrictModeErrors(e, s) {
      let r = s.index;
      this.state.strict && !this.state.strictErrors.has(r) ? this.raise(e, s) : this.state.strictErrors.set(r, [e, s]);
    }
    readWord1(e) {
      this.state.containsEsc = !1;
      let s = "", r = this.state.pos, i = this.state.pos;
      for (e !== void 0 && (this.state.pos += e <= 65535 ? 1 : 2); this.state.pos < this.length; ) {
        let a = this.codePointAtPos(this.state.pos);
        if (nd(a))
          this.state.pos += a <= 65535 ? 1 : 2;
        else if (a === 92) {
          this.state.containsEsc = !0, s += this.input.slice(i, this.state.pos);
          let o = this.state.curPosition(), l = this.state.pos === r ? Vl : nd;
          if (this.input.charCodeAt(++this.state.pos) !== 117) {
            this.raise(G.MissingUnicodeEscape, this.state.curPosition()), i = this.state.pos - 1;
            continue;
          }
          ++this.state.pos;
          let u = this.readCodePoint(!0);
          u !== null && (l(u) || this.raise(G.EscapedCharNotAnIdentifier, o), s += String.fromCodePoint(u)), i = this.state.pos;
        } else
          break;
      }
      return s + this.input.slice(i, this.state.pos);
    }
    readWord(e) {
      let s = this.readWord1(e), r = JI.get(s);
      r !== void 0 ? this.finishToken(r, Nc(r)) : this.finishToken(132, s);
    }
    checkKeywordEscapes() {
      let {
        type: e
      } = this.state;
      ZI(e) && this.state.containsEsc && this.raise(G.InvalidEscapedReservedWord, this.state.startLoc, {
        reservedWord: Nc(e)
      });
    }
    raise(e, s, r = {}) {
      let i = s instanceof Qo ? s : s.loc.start, a = e(i, r);
      if (!(this.optionFlags & 1024)) throw a;
      return this.isLookahead || this.state.errors.push(a), a;
    }
    raiseOverwrite(e, s, r = {}) {
      let i = s instanceof Qo ? s : s.loc.start, a = i.index, o = this.state.errors;
      for (let l = o.length - 1; l >= 0; l--) {
        let u = o[l];
        if (u.loc.index === a)
          return o[l] = e(i, r);
        if (u.loc.index < a) break;
      }
      return this.raise(e, s, r);
    }
    updateContext(e) {
    }
    unexpected(e, s) {
      throw this.raise(G.UnexpectedToken, e ?? this.state.startLoc, {
        expected: s ? Nc(s) : null
      });
    }
    expectPlugin(e, s) {
      if (this.hasPlugin(e))
        return !0;
      throw this.raise(G.MissingPlugin, s ?? this.state.startLoc, {
        missingPlugin: [e]
      });
    }
    expectOnePlugin(e) {
      if (!e.some((s) => this.hasPlugin(s)))
        throw this.raise(G.MissingOneOfPlugins, this.state.startLoc, {
          missingPlugin: e
        });
    }
    errorBuilder(e) {
      return (s, r, i) => {
        this.raise(e, Gy(s, r, i));
      };
    }
  }, MI = class {
    static {
      n(this, "ClassScope");
    }
    constructor() {
      this.privateNames = /* @__PURE__ */ new Set(), this.loneAccessors = /* @__PURE__ */ new Map(), this.undefinedPrivateNames = /* @__PURE__ */ new Map();
    }
  }, FI = class {
    static {
      n(this, "ClassScopeHandler");
    }
    constructor(e) {
      this.parser = void 0, this.stack = [], this.undefinedPrivateNames = /* @__PURE__ */ new Map(), this.parser = e;
    }
    current() {
      return this.stack[this.stack.length - 1];
    }
    enter() {
      this.stack.push(new MI());
    }
    exit() {
      let e = this.stack.pop(), s = this.current();
      for (let [r, i] of Array.from(e.undefinedPrivateNames))
        s ? s.undefinedPrivateNames.has(r) || s.undefinedPrivateNames.set(r, i) : this.parser.raise(G.InvalidPrivateFieldResolution, i, {
          identifierName: r
        });
    }
    declarePrivateName(e, s, r) {
      let {
        privateNames: i,
        loneAccessors: a,
        undefinedPrivateNames: o
      } = this.current(), l = i.has(e);
      if (s & 3) {
        let u = l && a.get(e);
        if (u) {
          let c = u & 4, p = s & 4, h = u & 3, f = s & 3;
          l = h === f || c !== p, l || a.delete(e);
        } else l || a.set(e, s);
      }
      l && this.parser.raise(G.PrivateNameRedeclaration, r, {
        identifierName: e
      }), i.add(e), o.delete(e);
    }
    usePrivateName(e, s) {
      let r;
      for (r of this.stack)
        if (r.privateNames.has(e)) return;
      r ? r.undefinedPrivateNames.set(e, s) : this.parser.raise(G.InvalidPrivateFieldResolution, s, {
        identifierName: e
      });
    }
  }, ud = class {
    static {
      n(this, "ExpressionScope");
    }
    constructor(e = 0) {
      this.type = e;
    }
    canBeArrowParameterDeclaration() {
      return this.type === 2 || this.type === 1;
    }
    isCertainlyParameterDeclaration() {
      return this.type === 3;
    }
  }, Yb = class extends ud {
    static {
      n(this, "ArrowHeadParsingScope");
    }
    constructor(e) {
      super(e), this.declarationErrors = /* @__PURE__ */ new Map();
    }
    recordDeclarationError(e, s) {
      let r = s.index;
      this.declarationErrors.set(r, [e, s]);
    }
    clearDeclarationError(e) {
      this.declarationErrors.delete(e);
    }
    iterateErrors(e) {
      this.declarationErrors.forEach(e);
    }
  }, jI = class {
    static {
      n(this, "ExpressionScopeHandler");
    }
    constructor(e) {
      this.parser = void 0, this.stack = [new ud()], this.parser = e;
    }
    enter(e) {
      this.stack.push(e);
    }
    exit() {
      this.stack.pop();
    }
    recordParameterInitializerError(e, s) {
      let r = s.loc.start, {
        stack: i
      } = this, a = i.length - 1, o = i[a];
      for (; !o.isCertainlyParameterDeclaration(); ) {
        if (o.canBeArrowParameterDeclaration())
          o.recordDeclarationError(e, r);
        else
          return;
        o = i[--a];
      }
      this.parser.raise(e, r);
    }
    recordArrowParameterBindingError(e, s) {
      let {
        stack: r
      } = this, i = r[r.length - 1], a = s.loc.start;
      if (i.isCertainlyParameterDeclaration())
        this.parser.raise(e, a);
      else if (i.canBeArrowParameterDeclaration())
        i.recordDeclarationError(e, a);
      else
        return;
    }
    recordAsyncArrowParametersError(e) {
      let {
        stack: s
      } = this, r = s.length - 1, i = s[r];
      for (; i.canBeArrowParameterDeclaration(); )
        i.type === 2 && i.recordDeclarationError(G.AwaitBindingIdentifier, e), i = s[--r];
    }
    validateAsPattern() {
      let {
        stack: e
      } = this, s = e[e.length - 1];
      s.canBeArrowParameterDeclaration() && s.iterateErrors(([r, i]) => {
        this.parser.raise(r, i);
        let a = e.length - 2, o = e[a];
        for (; o.canBeArrowParameterDeclaration(); )
          o.clearDeclarationError(i.index), o = e[--a];
      });
    }
  };
  function mMe() {
    return new ud(3);
  }
  n(mMe, "newParameterDeclarationScope");
  function yMe() {
    return new Yb(1);
  }
  n(yMe, "newArrowHeadScope");
  function gMe() {
    return new Yb(2);
  }
  n(gMe, "newAsyncArrowScope");
  function KU() {
    return new ud();
  }
  n(KU, "newExpressionScope");
  var RI = class {
    static {
      n(this, "ProductionParameterHandler");
    }
    constructor() {
      this.stacks = [];
    }
    enter(e) {
      this.stacks.push(e);
    }
    exit() {
      this.stacks.pop();
    }
    currentFlags() {
      return this.stacks[this.stacks.length - 1];
    }
    get hasAwait() {
      return (this.currentFlags() & 2) > 0;
    }
    get hasYield() {
      return (this.currentFlags() & 1) > 0;
    }
    get hasReturn() {
      return (this.currentFlags() & 4) > 0;
    }
    get hasIn() {
      return (this.currentFlags() & 8) > 0;
    }
  };
  function $b(t, e) {
    return (t ? 2 : 0) | (e ? 1 : 0);
  }
  n($b, "functionFlags");
  var qI = class extends BI {
    static {
      n(this, "UtilParser");
    }
    addExtra(e, s, r, i = !0) {
      if (!e) return;
      let {
        extra: a
      } = e;
      a == null && (a = {}, e.extra = a), i ? a[s] = r : Object.defineProperty(a, s, {
        enumerable: i,
        value: r
      });
    }
    isContextual(e) {
      return this.state.type === e && !this.state.containsEsc;
    }
    isUnparsedContextual(e, s) {
      let r = e + s.length;
      if (this.input.slice(e, r) === s) {
        let i = this.input.charCodeAt(r);
        return !(nd(i) || (i & 64512) === 55296);
      }
      return !1;
    }
    isLookaheadContextual(e) {
      let s = this.nextTokenStart();
      return this.isUnparsedContextual(s, e);
    }
    eatContextual(e) {
      return this.isContextual(e) ? (this.next(), !0) : !1;
    }
    expectContextual(e, s) {
      if (!this.eatContextual(e)) {
        if (s != null)
          throw this.raise(s, this.state.startLoc);
        this.unexpected(null, e);
      }
    }
    canInsertSemicolon() {
      return this.match(140) || this.match(8) || this.hasPrecedingLineBreak();
    }
    hasPrecedingLineBreak() {
      return PU(this.input, this.offsetToSourcePos(this.state.lastTokEndLoc.index), this.state.start);
    }
    hasFollowingLineBreak() {
      return PU(this.input, this.state.end, this.nextTokenStart());
    }
    isLineTerminator() {
      return this.eat(13) || this.canInsertSemicolon();
    }
    semicolon(e = !0) {
      (e ? this.isLineTerminator() : this.eat(13)) || this.raise(G.MissingSemicolon, this.state.lastTokEndLoc);
    }
    expect(e, s) {
      this.eat(e) || this.unexpected(s, e);
    }
    tryParse(e, s = this.state.clone()) {
      let r = {
        node: null
      };
      try {
        let i = e((a = null) => {
          throw r.node = a, r;
        });
        if (this.state.errors.length > s.errors.length) {
          let a = this.state;
          return this.state = s, this.state.tokensLength = a.tokensLength, {
            node: i,
            error: a.errors[s.errors.length],
            thrown: !1,
            aborted: !1,
            failState: a
          };
        }
        return {
          node: i,
          error: null,
          thrown: !1,
          aborted: !1,
          failState: null
        };
      } catch (i) {
        let a = this.state;
        if (this.state = s, i instanceof SyntaxError)
          return {
            node: null,
            error: i,
            thrown: !0,
            aborted: !1,
            failState: a
          };
        if (i === r)
          return {
            node: r.node,
            error: null,
            thrown: !1,
            aborted: !0,
            failState: a
          };
        throw i;
      }
    }
    checkExpressionErrors(e, s) {
      if (!e) return !1;
      let {
        shorthandAssignLoc: r,
        doubleProtoLoc: i,
        privateKeyLoc: a,
        optionalParametersLoc: o
      } = e, l = !!r || !!i || !!o || !!a;
      if (!s)
        return l;
      r != null && this.raise(G.InvalidCoverInitializedName, r), i != null && this.raise(G.DuplicateProto, i), a != null && this.raise(G.UnexpectedPrivateField,
      a), o != null && this.unexpected(o);
    }
    isLiteralPropertyName() {
      return OU(this.state.type);
    }
    isPrivateName(e) {
      return e.type === "PrivateName";
    }
    getPrivateNameSV(e) {
      return e.id.name;
    }
    hasPropertyAsPrivateName(e) {
      return (e.type === "MemberExpression" || e.type === "OptionalMemberExpression") && this.isPrivateName(e.property);
    }
    isObjectProperty(e) {
      return e.type === "ObjectProperty";
    }
    isObjectMethod(e) {
      return e.type === "ObjectMethod";
    }
    initializeScopes(e = this.options.sourceType === "module") {
      let s = this.state.labels;
      this.state.labels = [];
      let r = this.exportedIdentifiers;
      this.exportedIdentifiers = /* @__PURE__ */ new Set();
      let i = this.inModule;
      this.inModule = e;
      let a = this.scope, o = this.getScopeHandler();
      this.scope = new o(this, e);
      let l = this.prodParam;
      this.prodParam = new RI();
      let u = this.classScope;
      this.classScope = new FI(this);
      let c = this.expressionScope;
      return this.expressionScope = new jI(this), () => {
        this.state.labels = s, this.exportedIdentifiers = r, this.inModule = i, this.scope = a, this.prodParam = l, this.classScope = u, this.
        expressionScope = c;
      };
    }
    enterInitialScopes() {
      let e = 0;
      this.inModule && (e |= 2), this.scope.enter(1), this.prodParam.enter(e);
    }
    checkDestructuringPrivate(e) {
      let {
        privateKeyLoc: s
      } = e;
      s !== null && this.expectPlugin("destructuringPrivate", s);
    }
  }, od = class {
    static {
      n(this, "ExpressionErrors");
    }
    constructor() {
      this.shorthandAssignLoc = null, this.doubleProtoLoc = null, this.privateKeyLoc = null, this.optionalParametersLoc = null;
    }
  }, cd = class {
    static {
      n(this, "Node");
    }
    constructor(e, s, r) {
      this.type = "", this.start = s, this.end = 0, this.loc = new ld(r), e?.optionFlags & 64 && (this.range = [s, 0]), e != null && e.filename &&
      (this.loc.filename = e.filename);
    }
  }, sN = cd.prototype;
  sN.__clone = function() {
    let t = new cd(void 0, this.start, this.loc.start), e = Object.keys(this);
    for (let s = 0, r = e.length; s < r; s++) {
      let i = e[s];
      i !== "leadingComments" && i !== "trailingComments" && i !== "innerComments" && (t[i] = this[i]);
    }
    return t;
  };
  function TMe(t) {
    return $l(t);
  }
  n(TMe, "clonePlaceholder");
  function $l(t) {
    let {
      type: e,
      start: s,
      end: r,
      loc: i,
      range: a,
      extra: o,
      name: l
    } = t, u = Object.create(sN);
    return u.type = e, u.start = s, u.end = r, u.loc = i, u.range = a, u.extra = o, u.name = l, e === "Placeholder" && (u.expectedNode = t.expectedNode),
    u;
  }
  n($l, "cloneIdentifier");
  function bMe(t) {
    let {
      type: e,
      start: s,
      end: r,
      loc: i,
      range: a,
      extra: o
    } = t;
    if (e === "Placeholder")
      return TMe(t);
    let l = Object.create(sN);
    return l.type = e, l.start = s, l.end = r, l.loc = i, l.range = a, t.raw !== void 0 ? l.raw = t.raw : l.extra = o, l.value = t.value, l;
  }
  n(bMe, "cloneStringLiteral");
  var UI = class extends qI {
    static {
      n(this, "NodeUtils");
    }
    startNode() {
      let e = this.state.startLoc;
      return new cd(this, e.index, e);
    }
    startNodeAt(e) {
      return new cd(this, e.index, e);
    }
    startNodeAtNode(e) {
      return this.startNodeAt(e.loc.start);
    }
    finishNode(e, s) {
      return this.finishNodeAt(e, s, this.state.lastTokEndLoc);
    }
    finishNodeAt(e, s, r) {
      return e.type = s, e.end = r.index, e.loc.end = r, this.optionFlags & 64 && (e.range[1] = r.index), this.optionFlags & 2048 && this.processComment(
      e), e;
    }
    resetStartLocation(e, s) {
      e.start = s.index, e.loc.start = s, this.optionFlags & 64 && (e.range[0] = s.index);
    }
    resetEndLocation(e, s = this.state.lastTokEndLoc) {
      e.end = s.index, e.loc.end = s, this.optionFlags & 64 && (e.range[1] = s.index);
    }
    resetStartLocationFromNode(e, s) {
      this.resetStartLocation(e, s.loc.start);
    }
  }, xMe = /* @__PURE__ */ new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "sta\
tic", "string", "true", "typeof", "void"]), Ot = Wl`flow`({
    AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",
    AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since \
they are either an ES module or they are a CommonJS module.",
    AssignReservedType: /* @__PURE__ */ n(({
      reservedType: t
    }) => `Cannot overwrite reserved type ${t}.`, "AssignReservedType"),
    DeclareClassElement: "The `declare` modifier can only appear on class fields.",
    DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.",
    DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.",
    EnumBooleanMemberNotInitialized: /* @__PURE__ */ n(({
      memberName: t,
      enumName: e
    }) => `Boolean enum members need to be initialized. Use either \`${t} = true,\` or \`${t} = false,\` in enum \`${e}\`.`, "EnumBooleanMem\
berNotInitialized"),
    EnumDuplicateMemberName: /* @__PURE__ */ n(({
      memberName: t,
      enumName: e
    }) => `Enum member names need to be unique, but the name \`${t}\` has already been used before in enum \`${e}\`.`, "EnumDuplicateMemberN\
ame"),
    EnumInconsistentMemberValues: /* @__PURE__ */ n(({
      enumName: t
    }) => `Enum \`${t}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, num\
bers, or strings) for all member initializers.`, "EnumInconsistentMemberValues"),
    EnumInvalidExplicitType: /* @__PURE__ */ n(({
      invalidEnumType: t,
      enumName: e
    }) => `Enum type \`${t}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${e}\`.`, "EnumInvalidEx\
plicitType"),
    EnumInvalidExplicitTypeUnknownSupplied: /* @__PURE__ */ n(({
      enumName: t
    }) => `Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${t}\`.`, "EnumInvalidEx\
plicitTypeUnknownSupplied"),
    EnumInvalidMemberInitializerPrimaryType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e,
      explicitType: s
    }) => `Enum \`${t}\` has type \`${s}\`, so the initializer of \`${e}\` needs to be a ${s} literal.`, "EnumInvalidMemberInitializerPrimar\
yType"),
    EnumInvalidMemberInitializerSymbolType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `Symbol enum members cannot be initialized. Use \`${e},\` in enum \`${t}\`.`, "EnumInvalidMemberInitializerSymbolType"),
    EnumInvalidMemberInitializerUnknownType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `The enum member initializer for \`${e}\` needs to be a literal (either a boolean, number, or string) in enum \`${t}\`.`, "EnumInv\
alidMemberInitializerUnknownType"),
    EnumInvalidMemberName: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e,
      suggestion: s
    }) => `Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${e}\`, consider using \`${s}\`, in enum \`${t}\
\`.`, "EnumInvalidMemberName"),
    EnumNumberMemberNotInitialized: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `Number enum members need to be initialized, e.g. \`${e} = 1\` in enum \`${t}\`.`, "EnumNumberMemberNotInitialized"),
    EnumStringMemberInconsistentlyInitialized: /* @__PURE__ */ n(({
      enumName: t
    }) => `String enum members need to consistently either all use initializers, or use no initializers, in enum \`${t}\`.`, "EnumStringMemb\
erInconsistentlyInitialized"),
    GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.",
    ImportReflectionHasImportType: "An `import module` declaration can not use `type` or `typeof` keyword.",
    ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements.\
 It cannot be used with `import type` or `import typeof` statements.",
    InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.",
    InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.",
    InexactVariance: "Explicit inexact syntax cannot have variance.",
    InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.",
    MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",
    NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.",
    NestedFlowComment: "Cannot have a flow comment inside another flow comment.",
    PatternIsOptional: Object.assign({
      message: "A binding pattern parameter cannot be optional in an implementation signature."
    }, {
      reasonCode: "OptionalBindingPattern"
    }),
    SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.",
    SpreadVariance: "Spread properties cannot have variance.",
    ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.",
    ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",
    ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.",
    ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.",
    ThisParamNoDefault: "The `this` parameter may not have a default value.",
    TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`\
.",
    TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.",
    UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.",
    UnexpectedReservedType: /* @__PURE__ */ n(({
      reservedType: t
    }) => `Unexpected reserved type ${t}.`, "UnexpectedReservedType"),
    UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.",
    UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.",
    UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.",
    UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".',
    UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.",
    UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}\
`, use `async <T>() => {}`.",
    UnsupportedDeclareExportKind: /* @__PURE__ */ n(({
      unsupportedExportKind: t,
      suggestion: e
    }) => `\`declare export ${t}\` is not supported. Use \`${e}\` instead.`, "UnsupportedDeclareExportKind"),
    UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.",
    UnterminatedFlowComment: "Unterminated flow-comment."
  });
  function SMe(t) {
    return t.type === "DeclareExportAllDeclaration" || t.type === "DeclareExportDeclaration" && (!t.declaration || t.declaration.type !== "T\
ypeAlias" && t.declaration.type !== "InterfaceDeclaration");
  }
  n(SMe, "isEsModuleType");
  function vU(t) {
    return t.importKind === "type" || t.importKind === "typeof";
  }
  n(vU, "hasTypeImportKind");
  var PMe = {
    const: "declare export var",
    let: "declare export var",
    type: "export type",
    interface: "export interface"
  };
  function EMe(t, e) {
    let s = [], r = [];
    for (let i = 0; i < t.length; i++)
      (e(t[i], i, t) ? s : r).push(t[i]);
    return [s, r];
  }
  n(EMe, "partition");
  var AMe = /\*?\s*@((?:no)?flow)\b/, vMe = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "FlowParserMixin");
    }
    constructor(...s) {
      super(...s), this.flowPragma = void 0;
    }
    getScopeHandler() {
      return kI;
    }
    shouldParseTypes() {
      return this.getPluginOption("flow", "all") || this.flowPragma === "flow";
    }
    finishToken(s, r) {
      s !== 134 && s !== 13 && s !== 28 && this.flowPragma === void 0 && (this.flowPragma = null), super.finishToken(s, r);
    }
    addComment(s) {
      if (this.flowPragma === void 0) {
        let r = AMe.exec(s.value);
        if (r) if (r[1] === "flow")
          this.flowPragma = "flow";
        else if (r[1] === "noflow")
          this.flowPragma = "noflow";
        else
          throw new Error("Unexpected flow pragma");
      }
      super.addComment(s);
    }
    flowParseTypeInitialiser(s) {
      let r = this.state.inType;
      this.state.inType = !0, this.expect(s || 14);
      let i = this.flowParseType();
      return this.state.inType = r, i;
    }
    flowParsePredicate() {
      let s = this.startNode(), r = this.state.startLoc;
      return this.next(), this.expectContextual(110), this.state.lastTokStartLoc.index > r.index + 1 && this.raise(Ot.UnexpectedSpaceBetweenModuloChecks,
      r), this.eat(10) ? (s.value = super.parseExpression(), this.expect(11), this.finishNode(s, "DeclaredPredicate")) : this.finishNode(s, "\
InferredPredicate");
    }
    flowParseTypeAndPredicateInitialiser() {
      let s = this.state.inType;
      this.state.inType = !0, this.expect(14);
      let r = null, i = null;
      return this.match(54) ? (this.state.inType = s, i = this.flowParsePredicate()) : (r = this.flowParseType(), this.state.inType = s, this.
      match(54) && (i = this.flowParsePredicate())), [r, i];
    }
    flowParseDeclareClass(s) {
      return this.next(), this.flowParseInterfaceish(s, !0), this.finishNode(s, "DeclareClass");
    }
    flowParseDeclareFunction(s) {
      this.next();
      let r = s.id = this.parseIdentifier(), i = this.startNode(), a = this.startNode();
      this.match(47) ? i.typeParameters = this.flowParseTypeParameterDeclaration() : i.typeParameters = null, this.expect(10);
      let o = this.flowParseFunctionTypeParams();
      return i.params = o.params, i.rest = o.rest, i.this = o._this, this.expect(11), [i.returnType, s.predicate] = this.flowParseTypeAndPredicateInitialiser(),
      a.typeAnnotation = this.finishNode(i, "FunctionTypeAnnotation"), r.typeAnnotation = this.finishNode(a, "TypeAnnotation"), this.resetEndLocation(
      r), this.semicolon(), this.scope.declareName(s.id.name, 2048, s.id.loc.start), this.finishNode(s, "DeclareFunction");
    }
    flowParseDeclare(s, r) {
      if (this.match(80))
        return this.flowParseDeclareClass(s);
      if (this.match(68))
        return this.flowParseDeclareFunction(s);
      if (this.match(74))
        return this.flowParseDeclareVariable(s);
      if (this.eatContextual(127))
        return this.match(16) ? this.flowParseDeclareModuleExports(s) : (r && this.raise(Ot.NestedDeclareModule, this.state.lastTokStartLoc),
        this.flowParseDeclareModule(s));
      if (this.isContextual(130))
        return this.flowParseDeclareTypeAlias(s);
      if (this.isContextual(131))
        return this.flowParseDeclareOpaqueType(s);
      if (this.isContextual(129))
        return this.flowParseDeclareInterface(s);
      if (this.match(82))
        return this.flowParseDeclareExportDeclaration(s, r);
      this.unexpected();
    }
    flowParseDeclareVariable(s) {
      return this.next(), s.id = this.flowParseTypeAnnotatableIdentifier(!0), this.scope.declareName(s.id.name, 5, s.id.loc.start), this.semicolon(),
      this.finishNode(s, "DeclareVariable");
    }
    flowParseDeclareModule(s) {
      this.scope.enter(0), this.match(134) ? s.id = super.parseExprAtom() : s.id = this.parseIdentifier();
      let r = s.body = this.startNode(), i = r.body = [];
      for (this.expect(5); !this.match(8); ) {
        let l = this.startNode();
        this.match(83) ? (this.next(), !this.isContextual(130) && !this.match(87) && this.raise(Ot.InvalidNonTypeImportInDeclareModule, this.
        state.lastTokStartLoc), super.parseImport(l)) : (this.expectContextual(125, Ot.UnsupportedStatementInDeclareModule), l = this.flowParseDeclare(
        l, !0)), i.push(l);
      }
      this.scope.exit(), this.expect(8), this.finishNode(r, "BlockStatement");
      let a = null, o = !1;
      return i.forEach((l) => {
        SMe(l) ? (a === "CommonJS" && this.raise(Ot.AmbiguousDeclareModuleKind, l), a = "ES") : l.type === "DeclareModuleExports" && (o && this.
        raise(Ot.DuplicateDeclareModuleExports, l), a === "ES" && this.raise(Ot.AmbiguousDeclareModuleKind, l), a = "CommonJS", o = !0);
      }), s.kind = a || "CommonJS", this.finishNode(s, "DeclareModule");
    }
    flowParseDeclareExportDeclaration(s, r) {
      if (this.expect(82), this.eat(65))
        return this.match(68) || this.match(80) ? s.declaration = this.flowParseDeclare(this.startNode()) : (s.declaration = this.flowParseType(),
        this.semicolon()), s.default = !0, this.finishNode(s, "DeclareExportDeclaration");
      if (this.match(75) || this.isLet() || (this.isContextual(130) || this.isContextual(129)) && !r) {
        let i = this.state.value;
        throw this.raise(Ot.UnsupportedDeclareExportKind, this.state.startLoc, {
          unsupportedExportKind: i,
          suggestion: PMe[i]
        });
      }
      if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(131))
        return s.declaration = this.flowParseDeclare(this.startNode()), s.default = !1, this.finishNode(s, "DeclareExportDeclaration");
      if (this.match(55) || this.match(5) || this.isContextual(129) || this.isContextual(130) || this.isContextual(131))
        return s = this.parseExport(s, null), s.type === "ExportNamedDeclaration" && (s.type = "ExportDeclaration", s.default = !1, delete s.
        exportKind), s.type = "Declare" + s.type, s;
      this.unexpected();
    }
    flowParseDeclareModuleExports(s) {
      return this.next(), this.expectContextual(111), s.typeAnnotation = this.flowParseTypeAnnotation(), this.semicolon(), this.finishNode(s,
      "DeclareModuleExports");
    }
    flowParseDeclareTypeAlias(s) {
      this.next();
      let r = this.flowParseTypeAlias(s);
      return r.type = "DeclareTypeAlias", r;
    }
    flowParseDeclareOpaqueType(s) {
      this.next();
      let r = this.flowParseOpaqueType(s, !0);
      return r.type = "DeclareOpaqueType", r;
    }
    flowParseDeclareInterface(s) {
      return this.next(), this.flowParseInterfaceish(s, !1), this.finishNode(s, "DeclareInterface");
    }
    flowParseInterfaceish(s, r) {
      if (s.id = this.flowParseRestrictedIdentifier(!r, !0), this.scope.declareName(s.id.name, r ? 17 : 8201, s.id.loc.start), this.match(47) ?
      s.typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.extends = [], this.eat(81))
        do
          s.extends.push(this.flowParseInterfaceExtends());
        while (!r && this.eat(12));
      if (r) {
        if (s.implements = [], s.mixins = [], this.eatContextual(117))
          do
            s.mixins.push(this.flowParseInterfaceExtends());
          while (this.eat(12));
        if (this.eatContextual(113))
          do
            s.implements.push(this.flowParseInterfaceExtends());
          while (this.eat(12));
      }
      s.body = this.flowParseObjectType({
        allowStatic: r,
        allowExact: !1,
        allowSpread: !1,
        allowProto: r,
        allowInexact: !1
      });
    }
    flowParseInterfaceExtends() {
      let s = this.startNode();
      return s.id = this.flowParseQualifiedTypeIdentifier(), this.match(47) ? s.typeParameters = this.flowParseTypeParameterInstantiation() :
      s.typeParameters = null, this.finishNode(s, "InterfaceExtends");
    }
    flowParseInterface(s) {
      return this.flowParseInterfaceish(s, !1), this.finishNode(s, "InterfaceDeclaration");
    }
    checkNotUnderscore(s) {
      s === "_" && this.raise(Ot.UnexpectedReservedUnderscore, this.state.startLoc);
    }
    checkReservedType(s, r, i) {
      xMe.has(s) && this.raise(i ? Ot.AssignReservedType : Ot.UnexpectedReservedType, r, {
        reservedType: s
      });
    }
    flowParseRestrictedIdentifier(s, r) {
      return this.checkReservedType(this.state.value, this.state.startLoc, r), this.parseIdentifier(s);
    }
    flowParseTypeAlias(s) {
      return s.id = this.flowParseRestrictedIdentifier(!1, !0), this.scope.declareName(s.id.name, 8201, s.id.loc.start), this.match(47) ? s.
      typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.right = this.flowParseTypeInitialiser(29), this.
      semicolon(), this.finishNode(s, "TypeAlias");
    }
    flowParseOpaqueType(s, r) {
      return this.expectContextual(130), s.id = this.flowParseRestrictedIdentifier(!0, !0), this.scope.declareName(s.id.name, 8201, s.id.loc.
      start), this.match(47) ? s.typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.supertype = null, this.
      match(14) && (s.supertype = this.flowParseTypeInitialiser(14)), s.impltype = null, r || (s.impltype = this.flowParseTypeInitialiser(29)),
      this.semicolon(), this.finishNode(s, "OpaqueType");
    }
    flowParseTypeParameter(s = !1) {
      let r = this.state.startLoc, i = this.startNode(), a = this.flowParseVariance(), o = this.flowParseTypeAnnotatableIdentifier();
      return i.name = o.name, i.variance = a, i.bound = o.typeAnnotation, this.match(29) ? (this.eat(29), i.default = this.flowParseType()) :
      s && this.raise(Ot.MissingTypeParamDefault, r), this.finishNode(i, "TypeParameter");
    }
    flowParseTypeParameterDeclaration() {
      let s = this.state.inType, r = this.startNode();
      r.params = [], this.state.inType = !0, this.match(47) || this.match(143) ? this.next() : this.unexpected();
      let i = !1;
      do {
        let a = this.flowParseTypeParameter(i);
        r.params.push(a), a.default && (i = !0), this.match(48) || this.expect(12);
      } while (!this.match(48));
      return this.expect(48), this.state.inType = s, this.finishNode(r, "TypeParameterDeclaration");
    }
    flowInTopLevelContext(s) {
      if (this.curContext() !== Vs.brace) {
        let r = this.state.context;
        this.state.context = [r[0]];
        try {
          return s();
        } finally {
          this.state.context = r;
        }
      } else
        return s();
    }
    flowParseTypeParameterInstantiationInExpression() {
      if (this.reScan_lt() === 47)
        return this.flowParseTypeParameterInstantiation();
    }
    flowParseTypeParameterInstantiation() {
      let s = this.startNode(), r = this.state.inType;
      return this.state.inType = !0, s.params = [], this.flowInTopLevelContext(() => {
        this.expect(47);
        let i = this.state.noAnonFunctionType;
        for (this.state.noAnonFunctionType = !1; !this.match(48); )
          s.params.push(this.flowParseType()), this.match(48) || this.expect(12);
        this.state.noAnonFunctionType = i;
      }), this.state.inType = r, !this.state.inType && this.curContext() === Vs.brace && this.reScan_lt_gt(), this.expect(48), this.finishNode(
      s, "TypeParameterInstantiation");
    }
    flowParseTypeParameterInstantiationCallOrNew() {
      if (this.reScan_lt() !== 47) return;
      let s = this.startNode(), r = this.state.inType;
      for (s.params = [], this.state.inType = !0, this.expect(47); !this.match(48); )
        s.params.push(this.flowParseTypeOrImplicitInstantiation()), this.match(48) || this.expect(12);
      return this.expect(48), this.state.inType = r, this.finishNode(s, "TypeParameterInstantiation");
    }
    flowParseInterfaceType() {
      let s = this.startNode();
      if (this.expectContextual(129), s.extends = [], this.eat(81))
        do
          s.extends.push(this.flowParseInterfaceExtends());
        while (this.eat(12));
      return s.body = this.flowParseObjectType({
        allowStatic: !1,
        allowExact: !1,
        allowSpread: !1,
        allowProto: !1,
        allowInexact: !1
      }), this.finishNode(s, "InterfaceTypeAnnotation");
    }
    flowParseObjectPropertyKey() {
      return this.match(135) || this.match(134) ? super.parseExprAtom() : this.parseIdentifier(!0);
    }
    flowParseObjectTypeIndexer(s, r, i) {
      return s.static = r, this.lookahead().type === 14 ? (s.id = this.flowParseObjectPropertyKey(), s.key = this.flowParseTypeInitialiser()) :
      (s.id = null, s.key = this.flowParseType()), this.expect(3), s.value = this.flowParseTypeInitialiser(), s.variance = i, this.finishNode(
      s, "ObjectTypeIndexer");
    }
    flowParseObjectTypeInternalSlot(s, r) {
      return s.static = r, s.id = this.flowParseObjectPropertyKey(), this.expect(3), this.expect(3), this.match(47) || this.match(10) ? (s.method =
      !0, s.optional = !1, s.value = this.flowParseObjectTypeMethodish(this.startNodeAt(s.loc.start))) : (s.method = !1, this.eat(17) && (s.
      optional = !0), s.value = this.flowParseTypeInitialiser()), this.finishNode(s, "ObjectTypeInternalSlot");
    }
    flowParseObjectTypeMethodish(s) {
      for (s.params = [], s.rest = null, s.typeParameters = null, s.this = null, this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration()),
      this.expect(10), this.match(78) && (s.this = this.flowParseFunctionTypeParam(!0), s.this.name = null, this.match(11) || this.expect(12)); !this.
      match(11) && !this.match(21); )
        s.params.push(this.flowParseFunctionTypeParam(!1)), this.match(11) || this.expect(12);
      return this.eat(21) && (s.rest = this.flowParseFunctionTypeParam(!1)), this.expect(11), s.returnType = this.flowParseTypeInitialiser(),
      this.finishNode(s, "FunctionTypeAnnotation");
    }
    flowParseObjectTypeCallProperty(s, r) {
      let i = this.startNode();
      return s.static = r, s.value = this.flowParseObjectTypeMethodish(i), this.finishNode(s, "ObjectTypeCallProperty");
    }
    flowParseObjectType({
      allowStatic: s,
      allowExact: r,
      allowSpread: i,
      allowProto: a,
      allowInexact: o
    }) {
      let l = this.state.inType;
      this.state.inType = !0;
      let u = this.startNode();
      u.callProperties = [], u.properties = [], u.indexers = [], u.internalSlots = [];
      let c, p, h = !1;
      for (r && this.match(6) ? (this.expect(6), c = 9, p = !0) : (this.expect(5), c = 8, p = !1), u.exact = p; !this.match(c); ) {
        let d = !1, m = null, y = null, T = this.startNode();
        if (a && this.isContextual(118)) {
          let E = this.lookahead();
          E.type !== 14 && E.type !== 17 && (this.next(), m = this.state.startLoc, s = !1);
        }
        if (s && this.isContextual(106)) {
          let E = this.lookahead();
          E.type !== 14 && E.type !== 17 && (this.next(), d = !0);
        }
        let b = this.flowParseVariance();
        if (this.eat(0))
          m != null && this.unexpected(m), this.eat(0) ? (b && this.unexpected(b.loc.start), u.internalSlots.push(this.flowParseObjectTypeInternalSlot(
          T, d))) : u.indexers.push(this.flowParseObjectTypeIndexer(T, d, b));
        else if (this.match(10) || this.match(47))
          m != null && this.unexpected(m), b && this.unexpected(b.loc.start), u.callProperties.push(this.flowParseObjectTypeCallProperty(T, d));
        else {
          let E = "init";
          if (this.isContextual(99) || this.isContextual(104)) {
            let W = this.lookahead();
            OU(W.type) && (E = this.state.value, this.next());
          }
          let V = this.flowParseObjectTypeProperty(T, d, m, b, E, i, o ?? !p);
          V === null ? (h = !0, y = this.state.lastTokStartLoc) : u.properties.push(V);
        }
        this.flowObjectTypeSemicolon(), y && !this.match(8) && !this.match(9) && this.raise(Ot.UnexpectedExplicitInexactInObject, y);
      }
      this.expect(c), i && (u.inexact = h);
      let f = this.finishNode(u, "ObjectTypeAnnotation");
      return this.state.inType = l, f;
    }
    flowParseObjectTypeProperty(s, r, i, a, o, l, u) {
      if (this.eat(21))
        return this.match(12) || this.match(13) || this.match(8) || this.match(9) ? (l ? u || this.raise(Ot.InexactInsideExact, this.state.lastTokStartLoc) :
        this.raise(Ot.InexactInsideNonObject, this.state.lastTokStartLoc), a && this.raise(Ot.InexactVariance, a), null) : (l || this.raise(
        Ot.UnexpectedSpreadType, this.state.lastTokStartLoc), i != null && this.unexpected(i), a && this.raise(Ot.SpreadVariance, a), s.argument =
        this.flowParseType(), this.finishNode(s, "ObjectTypeSpreadProperty"));
      {
        s.key = this.flowParseObjectPropertyKey(), s.static = r, s.proto = i != null, s.kind = o;
        let c = !1;
        return this.match(47) || this.match(10) ? (s.method = !0, i != null && this.unexpected(i), a && this.unexpected(a.loc.start), s.value =
        this.flowParseObjectTypeMethodish(this.startNodeAt(s.loc.start)), (o === "get" || o === "set") && this.flowCheckGetterSetterParams(s),
        !l && s.key.name === "constructor" && s.value.this && this.raise(Ot.ThisParamBannedInConstructor, s.value.this)) : (o !== "init" && this.
        unexpected(), s.method = !1, this.eat(17) && (c = !0), s.value = this.flowParseTypeInitialiser(), s.variance = a), s.optional = c, this.
        finishNode(s, "ObjectTypeProperty");
      }
    }
    flowCheckGetterSetterParams(s) {
      let r = s.kind === "get" ? 0 : 1, i = s.value.params.length + (s.value.rest ? 1 : 0);
      s.value.this && this.raise(s.kind === "get" ? Ot.GetterMayNotHaveThisParam : Ot.SetterMayNotHaveThisParam, s.value.this), i !== r && this.
      raise(s.kind === "get" ? G.BadGetterArity : G.BadSetterArity, s), s.kind === "set" && s.value.rest && this.raise(G.BadSetterRestParameter,
      s);
    }
    flowObjectTypeSemicolon() {
      !this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9) && this.unexpected();
    }
    flowParseQualifiedTypeIdentifier(s, r) {
      var i;
      (i = s) != null || (s = this.state.startLoc);
      let a = r || this.flowParseRestrictedIdentifier(!0);
      for (; this.eat(16); ) {
        let o = this.startNodeAt(s);
        o.qualification = a, o.id = this.flowParseRestrictedIdentifier(!0), a = this.finishNode(o, "QualifiedTypeIdentifier");
      }
      return a;
    }
    flowParseGenericType(s, r) {
      let i = this.startNodeAt(s);
      return i.typeParameters = null, i.id = this.flowParseQualifiedTypeIdentifier(s, r), this.match(47) && (i.typeParameters = this.flowParseTypeParameterInstantiation()),
      this.finishNode(i, "GenericTypeAnnotation");
    }
    flowParseTypeofType() {
      let s = this.startNode();
      return this.expect(87), s.argument = this.flowParsePrimaryType(), this.finishNode(s, "TypeofTypeAnnotation");
    }
    flowParseTupleType() {
      let s = this.startNode();
      for (s.types = [], this.expect(0); this.state.pos < this.length && !this.match(3) && (s.types.push(this.flowParseType()), !this.match(
      3)); )
        this.expect(12);
      return this.expect(3), this.finishNode(s, "TupleTypeAnnotation");
    }
    flowParseFunctionTypeParam(s) {
      let r = null, i = !1, a = null, o = this.startNode(), l = this.lookahead(), u = this.state.type === 78;
      return l.type === 14 || l.type === 17 ? (u && !s && this.raise(Ot.ThisParamMustBeFirst, o), r = this.parseIdentifier(u), this.eat(17) &&
      (i = !0, u && this.raise(Ot.ThisParamMayNotBeOptional, o)), a = this.flowParseTypeInitialiser()) : a = this.flowParseType(), o.name = r,
      o.optional = i, o.typeAnnotation = a, this.finishNode(o, "FunctionTypeParam");
    }
    reinterpretTypeAsFunctionTypeParam(s) {
      let r = this.startNodeAt(s.loc.start);
      return r.name = null, r.optional = !1, r.typeAnnotation = s, this.finishNode(r, "FunctionTypeParam");
    }
    flowParseFunctionTypeParams(s = []) {
      let r = null, i = null;
      for (this.match(78) && (i = this.flowParseFunctionTypeParam(!0), i.name = null, this.match(11) || this.expect(12)); !this.match(11) &&
      !this.match(21); )
        s.push(this.flowParseFunctionTypeParam(!1)), this.match(11) || this.expect(12);
      return this.eat(21) && (r = this.flowParseFunctionTypeParam(!1)), {
        params: s,
        rest: r,
        _this: i
      };
    }
    flowIdentToTypeAnnotation(s, r, i) {
      switch (i.name) {
        case "any":
          return this.finishNode(r, "AnyTypeAnnotation");
        case "bool":
        case "boolean":
          return this.finishNode(r, "BooleanTypeAnnotation");
        case "mixed":
          return this.finishNode(r, "MixedTypeAnnotation");
        case "empty":
          return this.finishNode(r, "EmptyTypeAnnotation");
        case "number":
          return this.finishNode(r, "NumberTypeAnnotation");
        case "string":
          return this.finishNode(r, "StringTypeAnnotation");
        case "symbol":
          return this.finishNode(r, "SymbolTypeAnnotation");
        default:
          return this.checkNotUnderscore(i.name), this.flowParseGenericType(s, i);
      }
    }
    flowParsePrimaryType() {
      let s = this.state.startLoc, r = this.startNode(), i, a, o = !1, l = this.state.noAnonFunctionType;
      switch (this.state.type) {
        case 5:
          return this.flowParseObjectType({
            allowStatic: !1,
            allowExact: !1,
            allowSpread: !0,
            allowProto: !1,
            allowInexact: !0
          });
        case 6:
          return this.flowParseObjectType({
            allowStatic: !1,
            allowExact: !0,
            allowSpread: !0,
            allowProto: !1,
            allowInexact: !1
          });
        case 0:
          return this.state.noAnonFunctionType = !1, a = this.flowParseTupleType(), this.state.noAnonFunctionType = l, a;
        case 47: {
          let u = this.startNode();
          return u.typeParameters = this.flowParseTypeParameterDeclaration(), this.expect(10), i = this.flowParseFunctionTypeParams(), u.params =
          i.params, u.rest = i.rest, u.this = i._this, this.expect(11), this.expect(19), u.returnType = this.flowParseType(), this.finishNode(
          u, "FunctionTypeAnnotation");
        }
        case 10: {
          let u = this.startNode();
          if (this.next(), !this.match(11) && !this.match(21))
            if (Ws(this.state.type) || this.match(78)) {
              let c = this.lookahead().type;
              o = c !== 17 && c !== 14;
            } else
              o = !0;
          if (o) {
            if (this.state.noAnonFunctionType = !1, a = this.flowParseType(), this.state.noAnonFunctionType = l, this.state.noAnonFunctionType ||
            !(this.match(12) || this.match(11) && this.lookahead().type === 19))
              return this.expect(11), a;
            this.eat(12);
          }
          return a ? i = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(a)]) : i = this.flowParseFunctionTypeParams(),
          u.params = i.params, u.rest = i.rest, u.this = i._this, this.expect(11), this.expect(19), u.returnType = this.flowParseType(), u.typeParameters =
          null, this.finishNode(u, "FunctionTypeAnnotation");
        }
        case 134:
          return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation");
        case 85:
        case 86:
          return r.value = this.match(85), this.next(), this.finishNode(r, "BooleanLiteralTypeAnnotation");
        case 53:
          if (this.state.value === "-") {
            if (this.next(), this.match(135))
              return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", r);
            if (this.match(136))
              return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", r);
            throw this.raise(Ot.UnexpectedSubtractionOperand, this.state.startLoc);
          }
          this.unexpected();
          return;
        case 135:
          return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation");
        case 136:
          return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation");
        case 88:
          return this.next(), this.finishNode(r, "VoidTypeAnnotation");
        case 84:
          return this.next(), this.finishNode(r, "NullLiteralTypeAnnotation");
        case 78:
          return this.next(), this.finishNode(r, "ThisTypeAnnotation");
        case 55:
          return this.next(), this.finishNode(r, "ExistsTypeAnnotation");
        case 87:
          return this.flowParseTypeofType();
        default:
          if (ZI(this.state.type)) {
            let u = Nc(this.state.type);
            return this.next(), super.createIdentifier(r, u);
          } else if (Ws(this.state.type))
            return this.isContextual(129) ? this.flowParseInterfaceType() : this.flowIdentToTypeAnnotation(s, r, this.parseIdentifier());
      }
      this.unexpected();
    }
    flowParsePostfixType() {
      let s = this.state.startLoc, r = this.flowParsePrimaryType(), i = !1;
      for (; (this.match(0) || this.match(18)) && !this.canInsertSemicolon(); ) {
        let a = this.startNodeAt(s), o = this.eat(18);
        i = i || o, this.expect(0), !o && this.match(3) ? (a.elementType = r, this.next(), r = this.finishNode(a, "ArrayTypeAnnotation")) : (a.
        objectType = r, a.indexType = this.flowParseType(), this.expect(3), i ? (a.optional = o, r = this.finishNode(a, "OptionalIndexedAcce\
ssType")) : r = this.finishNode(a, "IndexedAccessType"));
      }
      return r;
    }
    flowParsePrefixType() {
      let s = this.startNode();
      return this.eat(17) ? (s.typeAnnotation = this.flowParsePrefixType(), this.finishNode(s, "NullableTypeAnnotation")) : this.flowParsePostfixType();
    }
    flowParseAnonFunctionWithoutParens() {
      let s = this.flowParsePrefixType();
      if (!this.state.noAnonFunctionType && this.eat(19)) {
        let r = this.startNodeAt(s.loc.start);
        return r.params = [this.reinterpretTypeAsFunctionTypeParam(s)], r.rest = null, r.this = null, r.returnType = this.flowParseType(), r.
        typeParameters = null, this.finishNode(r, "FunctionTypeAnnotation");
      }
      return s;
    }
    flowParseIntersectionType() {
      let s = this.startNode();
      this.eat(45);
      let r = this.flowParseAnonFunctionWithoutParens();
      for (s.types = [r]; this.eat(45); )
        s.types.push(this.flowParseAnonFunctionWithoutParens());
      return s.types.length === 1 ? r : this.finishNode(s, "IntersectionTypeAnnotation");
    }
    flowParseUnionType() {
      let s = this.startNode();
      this.eat(43);
      let r = this.flowParseIntersectionType();
      for (s.types = [r]; this.eat(43); )
        s.types.push(this.flowParseIntersectionType());
      return s.types.length === 1 ? r : this.finishNode(s, "UnionTypeAnnotation");
    }
    flowParseType() {
      let s = this.state.inType;
      this.state.inType = !0;
      let r = this.flowParseUnionType();
      return this.state.inType = s, r;
    }
    flowParseTypeOrImplicitInstantiation() {
      if (this.state.type === 132 && this.state.value === "_") {
        let s = this.state.startLoc, r = this.parseIdentifier();
        return this.flowParseGenericType(s, r);
      } else
        return this.flowParseType();
    }
    flowParseTypeAnnotation() {
      let s = this.startNode();
      return s.typeAnnotation = this.flowParseTypeInitialiser(), this.finishNode(s, "TypeAnnotation");
    }
    flowParseTypeAnnotatableIdentifier(s) {
      let r = s ? this.parseIdentifier() : this.flowParseRestrictedIdentifier();
      return this.match(14) && (r.typeAnnotation = this.flowParseTypeAnnotation(), this.resetEndLocation(r)), r;
    }
    typeCastToParameter(s) {
      return s.expression.typeAnnotation = s.typeAnnotation, this.resetEndLocation(s.expression, s.typeAnnotation.loc.end), s.expression;
    }
    flowParseVariance() {
      let s = null;
      return this.match(53) ? (s = this.startNode(), this.state.value === "+" ? s.kind = "plus" : s.kind = "minus", this.next(), this.finishNode(
      s, "Variance")) : s;
    }
    parseFunctionBody(s, r, i = !1) {
      if (r) {
        this.forwardNoArrowParamsConversionAt(s, () => super.parseFunctionBody(s, !0, i));
        return;
      }
      super.parseFunctionBody(s, !1, i);
    }
    parseFunctionBodyAndFinish(s, r, i = !1) {
      if (this.match(14)) {
        let a = this.startNode();
        [a.typeAnnotation, s.predicate] = this.flowParseTypeAndPredicateInitialiser(), s.returnType = a.typeAnnotation ? this.finishNode(a, "\
TypeAnnotation") : null;
      }
      return super.parseFunctionBodyAndFinish(s, r, i);
    }
    parseStatementLike(s) {
      if (this.state.strict && this.isContextual(129)) {
        let i = this.lookahead();
        if (mo(i.type)) {
          let a = this.startNode();
          return this.next(), this.flowParseInterface(a);
        }
      } else if (this.isContextual(126)) {
        let i = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(i);
      }
      let r = super.parseStatementLike(s);
      return this.flowPragma === void 0 && !this.isValidDirective(r) && (this.flowPragma = null), r;
    }
    parseExpressionStatement(s, r, i) {
      if (r.type === "Identifier") {
        if (r.name === "declare") {
          if (this.match(80) || Ws(this.state.type) || this.match(68) || this.match(74) || this.match(82))
            return this.flowParseDeclare(s);
        } else if (Ws(this.state.type)) {
          if (r.name === "interface")
            return this.flowParseInterface(s);
          if (r.name === "type")
            return this.flowParseTypeAlias(s);
          if (r.name === "opaque")
            return this.flowParseOpaqueType(s, !1);
        }
      }
      return super.parseExpressionStatement(s, r, i);
    }
    shouldParseExportDeclaration() {
      let {
        type: s
      } = this.state;
      return s === 126 || SU(s) ? !this.state.containsEsc : super.shouldParseExportDeclaration();
    }
    isExportDefaultSpecifier() {
      let {
        type: s
      } = this.state;
      return s === 126 || SU(s) ? this.state.containsEsc : super.isExportDefaultSpecifier();
    }
    parseExportDefaultExpression() {
      if (this.isContextual(126)) {
        let s = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(s);
      }
      return super.parseExportDefaultExpression();
    }
    parseConditional(s, r, i) {
      if (!this.match(17)) return s;
      if (this.state.maybeInArrowParameters) {
        let f = this.lookaheadCharCode();
        if (f === 44 || f === 61 || f === 58 || f === 41)
          return this.setOptionalParametersError(i), s;
      }
      this.expect(17);
      let a = this.state.clone(), o = this.state.noArrowAt, l = this.startNodeAt(r), {
        consequent: u,
        failed: c
      } = this.tryParseConditionalConsequent(), [p, h] = this.getArrowLikeExpressions(u);
      if (c || h.length > 0) {
        let f = [...o];
        if (h.length > 0) {
          this.state = a, this.state.noArrowAt = f;
          for (let d = 0; d < h.length; d++)
            f.push(h[d].start);
          ({
            consequent: u,
            failed: c
          } = this.tryParseConditionalConsequent()), [p, h] = this.getArrowLikeExpressions(u);
        }
        c && p.length > 1 && this.raise(Ot.AmbiguousConditionalArrow, a.startLoc), c && p.length === 1 && (this.state = a, f.push(p[0].start),
        this.state.noArrowAt = f, {
          consequent: u,
          failed: c
        } = this.tryParseConditionalConsequent());
      }
      return this.getArrowLikeExpressions(u, !0), this.state.noArrowAt = o, this.expect(14), l.test = s, l.consequent = u, l.alternate = this.
      forwardNoArrowParamsConversionAt(l, () => this.parseMaybeAssign(void 0, void 0)), this.finishNode(l, "ConditionalExpression");
    }
    tryParseConditionalConsequent() {
      this.state.noArrowParamsConversionAt.push(this.state.start);
      let s = this.parseMaybeAssignAllowIn(), r = !this.match(14);
      return this.state.noArrowParamsConversionAt.pop(), {
        consequent: s,
        failed: r
      };
    }
    getArrowLikeExpressions(s, r) {
      let i = [s], a = [];
      for (; i.length !== 0; ) {
        let o = i.pop();
        o.type === "ArrowFunctionExpression" && o.body.type !== "BlockStatement" ? (o.typeParameters || !o.returnType ? this.finishArrowValidation(
        o) : a.push(o), i.push(o.body)) : o.type === "ConditionalExpression" && (i.push(o.consequent), i.push(o.alternate));
      }
      return r ? (a.forEach((o) => this.finishArrowValidation(o)), [a, []]) : EMe(a, (o) => o.params.every((l) => this.isAssignable(l, !0)));
    }
    finishArrowValidation(s) {
      var r;
      this.toAssignableList(s.params, (r = s.extra) == null ? void 0 : r.trailingCommaLoc, !1), this.scope.enter(6), super.checkParams(s, !1,
      !0), this.scope.exit();
    }
    forwardNoArrowParamsConversionAt(s, r) {
      let i;
      return this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)) ? (this.state.noArrowParamsConversionAt.push(this.
      state.start), i = r(), this.state.noArrowParamsConversionAt.pop()) : i = r(), i;
    }
    parseParenItem(s, r) {
      let i = super.parseParenItem(s, r);
      if (this.eat(17) && (i.optional = !0, this.resetEndLocation(s)), this.match(14)) {
        let a = this.startNodeAt(r);
        return a.expression = i, a.typeAnnotation = this.flowParseTypeAnnotation(), this.finishNode(a, "TypeCastExpression");
      }
      return i;
    }
    assertModuleNodeAllowed(s) {
      s.type === "ImportDeclaration" && (s.importKind === "type" || s.importKind === "typeof") || s.type === "ExportNamedDeclaration" && s.exportKind ===
      "type" || s.type === "ExportAllDeclaration" && s.exportKind === "type" || super.assertModuleNodeAllowed(s);
    }
    parseExportDeclaration(s) {
      if (this.isContextual(130)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.match(5) ? (s.specifiers = this.parseExportSpecifiers(!0), super.parseExportFrom(s), null) : this.flowParseTypeAlias(
        r);
      } else if (this.isContextual(131)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.flowParseOpaqueType(r, !1);
      } else if (this.isContextual(129)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.flowParseInterface(r);
      } else if (this.isContextual(126)) {
        s.exportKind = "value";
        let r = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(r);
      } else
        return super.parseExportDeclaration(s);
    }
    eatExportStar(s) {
      return super.eatExportStar(s) ? !0 : this.isContextual(130) && this.lookahead().type === 55 ? (s.exportKind = "type", this.next(), this.
      next(), !0) : !1;
    }
    maybeParseExportNamespaceSpecifier(s) {
      let {
        startLoc: r
      } = this.state, i = super.maybeParseExportNamespaceSpecifier(s);
      return i && s.exportKind === "type" && this.unexpected(r), i;
    }
    parseClassId(s, r, i) {
      super.parseClassId(s, r, i), this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration());
    }
    parseClassMember(s, r, i) {
      let {
        startLoc: a
      } = this.state;
      if (this.isContextual(125)) {
        if (super.parseClassMemberFromModifier(s, r))
          return;
        r.declare = !0;
      }
      super.parseClassMember(s, r, i), r.declare && (r.type !== "ClassProperty" && r.type !== "ClassPrivateProperty" && r.type !== "Property\
Definition" ? this.raise(Ot.DeclareClassElement, a) : r.value && this.raise(Ot.DeclareClassFieldInitializer, r.value));
    }
    isIterator(s) {
      return s === "iterator" || s === "asyncIterator";
    }
    readIterator() {
      let s = super.readWord1(), r = "@@" + s;
      (!this.isIterator(s) || !this.state.inType) && this.raise(G.InvalidIdentifier, this.state.curPosition(), {
        identifierName: r
      }), this.finishToken(132, r);
    }
    getTokenFromCode(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      s === 123 && r === 124 ? this.finishOp(6, 2) : this.state.inType && (s === 62 || s === 60) ? this.finishOp(s === 62 ? 48 : 47, 1) : this.
      state.inType && s === 63 ? r === 46 ? this.finishOp(18, 2) : this.finishOp(17, 1) : nMe(s, r, this.input.charCodeAt(this.state.pos + 2)) ?
      (this.state.pos += 2, this.readIterator()) : super.getTokenFromCode(s);
    }
    isAssignable(s, r) {
      return s.type === "TypeCastExpression" ? this.isAssignable(s.expression, r) : super.isAssignable(s, r);
    }
    toAssignable(s, r = !1) {
      !r && s.type === "AssignmentExpression" && s.left.type === "TypeCastExpression" && (s.left = this.typeCastToParameter(s.left)), super.
      toAssignable(s, r);
    }
    toAssignableList(s, r, i) {
      for (let a = 0; a < s.length; a++) {
        let o = s[a];
        o?.type === "TypeCastExpression" && (s[a] = this.typeCastToParameter(o));
      }
      super.toAssignableList(s, r, i);
    }
    toReferencedList(s, r) {
      for (let a = 0; a < s.length; a++) {
        var i;
        let o = s[a];
        o && o.type === "TypeCastExpression" && !((i = o.extra) != null && i.parenthesized) && (s.length > 1 || !r) && this.raise(Ot.TypeCastInPattern,
        o.typeAnnotation);
      }
      return s;
    }
    parseArrayLike(s, r, i, a) {
      let o = super.parseArrayLike(s, r, i, a);
      return r && !this.state.maybeInArrowParameters && this.toReferencedList(o.elements), o;
    }
    isValidLVal(s, r, i) {
      return s === "TypeCastExpression" || super.isValidLVal(s, r, i);
    }
    parseClassProperty(s) {
      return this.match(14) && (s.typeAnnotation = this.flowParseTypeAnnotation()), super.parseClassProperty(s);
    }
    parseClassPrivateProperty(s) {
      return this.match(14) && (s.typeAnnotation = this.flowParseTypeAnnotation()), super.parseClassPrivateProperty(s);
    }
    isClassMethod() {
      return this.match(47) || super.isClassMethod();
    }
    isClassProperty() {
      return this.match(14) || super.isClassProperty();
    }
    isNonstaticConstructor(s) {
      return !this.match(14) && super.isNonstaticConstructor(s);
    }
    pushClassMethod(s, r, i, a, o, l) {
      if (r.variance && this.unexpected(r.variance.loc.start), delete r.variance, this.match(47) && (r.typeParameters = this.flowParseTypeParameterDeclaration()),
      super.pushClassMethod(s, r, i, a, o, l), r.params && o) {
        let u = r.params;
        u.length > 0 && this.isThisParam(u[0]) && this.raise(Ot.ThisParamBannedInConstructor, r);
      } else if (r.type === "MethodDefinition" && o && r.value.params) {
        let u = r.value.params;
        u.length > 0 && this.isThisParam(u[0]) && this.raise(Ot.ThisParamBannedInConstructor, r);
      }
    }
    pushClassPrivateMethod(s, r, i, a) {
      r.variance && this.unexpected(r.variance.loc.start), delete r.variance, this.match(47) && (r.typeParameters = this.flowParseTypeParameterDeclaration()),
      super.pushClassPrivateMethod(s, r, i, a);
    }
    parseClassSuper(s) {
      if (super.parseClassSuper(s), s.superClass && (this.match(47) || this.match(51)) && (s.superTypeParameters = this.flowParseTypeParameterInstantiationInExpression()),
      this.isContextual(113)) {
        this.next();
        let r = s.implements = [];
        do {
          let i = this.startNode();
          i.id = this.flowParseRestrictedIdentifier(!0), this.match(47) ? i.typeParameters = this.flowParseTypeParameterInstantiation() : i.
          typeParameters = null, r.push(this.finishNode(i, "ClassImplements"));
        } while (this.eat(12));
      }
    }
    checkGetterSetterParams(s) {
      super.checkGetterSetterParams(s);
      let r = this.getObjectOrClassMethodParams(s);
      if (r.length > 0) {
        let i = r[0];
        this.isThisParam(i) && s.kind === "get" ? this.raise(Ot.GetterMayNotHaveThisParam, i) : this.isThisParam(i) && this.raise(Ot.SetterMayNotHaveThisParam,
        i);
      }
    }
    parsePropertyNamePrefixOperator(s) {
      s.variance = this.flowParseVariance();
    }
    parseObjPropValue(s, r, i, a, o, l, u) {
      s.variance && this.unexpected(s.variance.loc.start), delete s.variance;
      let c;
      this.match(47) && !l && (c = this.flowParseTypeParameterDeclaration(), this.match(10) || this.unexpected());
      let p = super.parseObjPropValue(s, r, i, a, o, l, u);
      return c && ((p.value || p).typeParameters = c), p;
    }
    parseFunctionParamType(s) {
      return this.eat(17) && (s.type !== "Identifier" && this.raise(Ot.PatternIsOptional, s), this.isThisParam(s) && this.raise(Ot.ThisParamMayNotBeOptional,
      s), s.optional = !0), this.match(14) ? s.typeAnnotation = this.flowParseTypeAnnotation() : this.isThisParam(s) && this.raise(Ot.ThisParamAnnotationRequired,
      s), this.match(29) && this.isThisParam(s) && this.raise(Ot.ThisParamNoDefault, s), this.resetEndLocation(s), s;
    }
    parseMaybeDefault(s, r) {
      let i = super.parseMaybeDefault(s, r);
      return i.type === "AssignmentPattern" && i.typeAnnotation && i.right.start < i.typeAnnotation.start && this.raise(Ot.TypeBeforeInitializer,
      i.typeAnnotation), i;
    }
    checkImportReflection(s) {
      super.checkImportReflection(s), s.module && s.importKind !== "value" && this.raise(Ot.ImportReflectionHasImportType, s.specifiers[0].loc.
      start);
    }
    parseImportSpecifierLocal(s, r, i) {
      r.local = vU(s) ? this.flowParseRestrictedIdentifier(!0, !0) : this.parseIdentifier(), s.specifiers.push(this.finishImportSpecifier(r,
      i));
    }
    isPotentialImportPhase(s) {
      if (super.isPotentialImportPhase(s)) return !0;
      if (this.isContextual(130)) {
        if (!s) return !0;
        let r = this.lookaheadCharCode();
        return r === 123 || r === 42;
      }
      return !s && this.isContextual(87);
    }
    applyImportPhase(s, r, i, a) {
      if (super.applyImportPhase(s, r, i, a), r) {
        if (!i && this.match(65))
          return;
        s.exportKind = i === "type" ? i : "value";
      } else
        i === "type" && this.match(55) && this.unexpected(), s.importKind = i === "type" || i === "typeof" ? i : "value";
    }
    parseImportSpecifier(s, r, i, a, o) {
      let l = s.imported, u = null;
      l.type === "Identifier" && (l.name === "type" ? u = "type" : l.name === "typeof" && (u = "typeof"));
      let c = !1;
      if (this.isContextual(93) && !this.isLookaheadContextual("as")) {
        let h = this.parseIdentifier(!0);
        u !== null && !mo(this.state.type) ? (s.imported = h, s.importKind = u, s.local = $l(h)) : (s.imported = l, s.importKind = null, s.local =
        this.parseIdentifier());
      } else {
        if (u !== null && mo(this.state.type))
          s.imported = this.parseIdentifier(!0), s.importKind = u;
        else {
          if (r)
            throw this.raise(G.ImportBindingIsString, s, {
              importName: l.value
            });
          s.imported = l, s.importKind = null;
        }
        this.eatContextual(93) ? s.local = this.parseIdentifier() : (c = !0, s.local = $l(s.imported));
      }
      let p = vU(s);
      return i && p && this.raise(Ot.ImportTypeShorthandOnlyInPureImport, s), (i || p) && this.checkReservedType(s.local.name, s.local.loc.start,
      !0), c && !i && !p && this.checkReservedWord(s.local.name, s.loc.start, !0, !0), this.finishImportSpecifier(s, "ImportSpecifier");
    }
    parseBindingAtom() {
      switch (this.state.type) {
        case 78:
          return this.parseIdentifier(!0);
        default:
          return super.parseBindingAtom();
      }
    }
    parseFunctionParams(s, r) {
      let i = s.kind;
      i !== "get" && i !== "set" && this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration()), super.parseFunctionParams(
      s, r);
    }
    parseVarId(s, r) {
      super.parseVarId(s, r), this.match(14) && (s.id.typeAnnotation = this.flowParseTypeAnnotation(), this.resetEndLocation(s.id));
    }
    parseAsyncArrowFromCallExpression(s, r) {
      if (this.match(14)) {
        let i = this.state.noAnonFunctionType;
        this.state.noAnonFunctionType = !0, s.returnType = this.flowParseTypeAnnotation(), this.state.noAnonFunctionType = i;
      }
      return super.parseAsyncArrowFromCallExpression(s, r);
    }
    shouldParseAsyncArrow() {
      return this.match(14) || super.shouldParseAsyncArrow();
    }
    parseMaybeAssign(s, r) {
      var i;
      let a = null, o;
      if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) {
        if (a = this.state.clone(), o = this.tryParse(() => super.parseMaybeAssign(s, r), a), !o.error) return o.node;
        let {
          context: c
        } = this.state, p = c[c.length - 1];
        (p === Vs.j_oTag || p === Vs.j_expr) && c.pop();
      }
      if ((i = o) != null && i.error || this.match(47)) {
        var l, u;
        a = a || this.state.clone();
        let c, p = this.tryParse((f) => {
          var d;
          c = this.flowParseTypeParameterDeclaration();
          let m = this.forwardNoArrowParamsConversionAt(c, () => {
            let T = super.parseMaybeAssign(s, r);
            return this.resetStartLocationFromNode(T, c), T;
          });
          (d = m.extra) != null && d.parenthesized && f();
          let y = this.maybeUnwrapTypeCastExpression(m);
          return y.type !== "ArrowFunctionExpression" && f(), y.typeParameters = c, this.resetStartLocationFromNode(y, c), m;
        }, a), h = null;
        if (p.node && this.maybeUnwrapTypeCastExpression(p.node).type === "ArrowFunctionExpression") {
          if (!p.error && !p.aborted)
            return p.node.async && this.raise(Ot.UnexpectedTypeParameterBeforeAsyncArrowFunction, c), p.node;
          h = p.node;
        }
        if ((l = o) != null && l.node)
          return this.state = o.failState, o.node;
        if (h)
          return this.state = p.failState, h;
        throw (u = o) != null && u.thrown ? o.error : p.thrown ? p.error : this.raise(Ot.UnexpectedTokenAfterTypeParameter, c);
      }
      return super.parseMaybeAssign(s, r);
    }
    parseArrow(s) {
      if (this.match(14)) {
        let r = this.tryParse(() => {
          let i = this.state.noAnonFunctionType;
          this.state.noAnonFunctionType = !0;
          let a = this.startNode();
          return [a.typeAnnotation, s.predicate] = this.flowParseTypeAndPredicateInitialiser(), this.state.noAnonFunctionType = i, this.canInsertSemicolon() &&
          this.unexpected(), this.match(19) || this.unexpected(), a;
        });
        if (r.thrown) return null;
        r.error && (this.state = r.failState), s.returnType = r.node.typeAnnotation ? this.finishNode(r.node, "TypeAnnotation") : null;
      }
      return super.parseArrow(s);
    }
    shouldParseArrow(s) {
      return this.match(14) || super.shouldParseArrow(s);
    }
    setArrowFunctionParameters(s, r) {
      this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)) ? s.params = r : super.setArrowFunctionParameters(s, r);
    }
    checkParams(s, r, i, a = !0) {
      if (!(i && this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)))) {
        for (let o = 0; o < s.params.length; o++)
          this.isThisParam(s.params[o]) && o > 0 && this.raise(Ot.ThisParamMustBeFirst, s.params[o]);
        super.checkParams(s, r, i, a);
      }
    }
    parseParenAndDistinguishExpression(s) {
      return super.parseParenAndDistinguishExpression(s && !this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start)));
    }
    parseSubscripts(s, r, i) {
      if (s.type === "Identifier" && s.name === "async" && this.state.noArrowAt.includes(r.index)) {
        this.next();
        let a = this.startNodeAt(r);
        a.callee = s, a.arguments = super.parseCallExpressionArguments(11), s = this.finishNode(a, "CallExpression");
      } else if (s.type === "Identifier" && s.name === "async" && this.match(47)) {
        let a = this.state.clone(), o = this.tryParse((u) => this.parseAsyncArrowWithTypeParameters(r) || u(), a);
        if (!o.error && !o.aborted) return o.node;
        let l = this.tryParse(() => super.parseSubscripts(s, r, i), a);
        if (l.node && !l.error) return l.node;
        if (o.node)
          return this.state = o.failState, o.node;
        if (l.node)
          return this.state = l.failState, l.node;
        throw o.error || l.error;
      }
      return super.parseSubscripts(s, r, i);
    }
    parseSubscript(s, r, i, a) {
      if (this.match(18) && this.isLookaheadToken_lt()) {
        if (a.optionalChainMember = !0, i)
          return a.stop = !0, s;
        this.next();
        let o = this.startNodeAt(r);
        return o.callee = s, o.typeArguments = this.flowParseTypeParameterInstantiationInExpression(), this.expect(10), o.arguments = this.parseCallExpressionArguments(
        11), o.optional = !0, this.finishCallExpression(o, !0);
      } else if (!i && this.shouldParseTypes() && (this.match(47) || this.match(51))) {
        let o = this.startNodeAt(r);
        o.callee = s;
        let l = this.tryParse(() => (o.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(), this.expect(10), o.arguments = super.
        parseCallExpressionArguments(11), a.optionalChainMember && (o.optional = !1), this.finishCallExpression(o, a.optionalChainMember)));
        if (l.node)
          return l.error && (this.state = l.failState), l.node;
      }
      return super.parseSubscript(s, r, i, a);
    }
    parseNewCallee(s) {
      super.parseNewCallee(s);
      let r = null;
      this.shouldParseTypes() && this.match(47) && (r = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node), s.typeArguments =
      r;
    }
    parseAsyncArrowWithTypeParameters(s) {
      let r = this.startNodeAt(s);
      if (this.parseFunctionParams(r, !1), !!this.parseArrow(r))
        return super.parseArrowExpression(r, void 0, !0);
    }
    readToken_mult_modulo(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      if (s === 42 && r === 47 && this.state.hasFlowComment) {
        this.state.hasFlowComment = !1, this.state.pos += 2, this.nextToken();
        return;
      }
      super.readToken_mult_modulo(s);
    }
    readToken_pipe_amp(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      if (s === 124 && r === 125) {
        this.finishOp(9, 2);
        return;
      }
      super.readToken_pipe_amp(s);
    }
    parseTopLevel(s, r) {
      let i = super.parseTopLevel(s, r);
      return this.state.hasFlowComment && this.raise(Ot.UnterminatedFlowComment, this.state.curPosition()), i;
    }
    skipBlockComment() {
      if (this.hasPlugin("flowComments") && this.skipFlowComment()) {
        if (this.state.hasFlowComment)
          throw this.raise(Ot.NestedFlowComment, this.state.startLoc);
        this.hasFlowCommentCompletion();
        let s = this.skipFlowComment();
        s && (this.state.pos += s, this.state.hasFlowComment = !0);
        return;
      }
      return super.skipBlockComment(this.state.hasFlowComment ? "*-/" : "*/");
    }
    skipFlowComment() {
      let {
        pos: s
      } = this.state, r = 2;
      for (; [32, 9].includes(this.input.charCodeAt(s + r)); )
        r++;
      let i = this.input.charCodeAt(r + s), a = this.input.charCodeAt(r + s + 1);
      return i === 58 && a === 58 ? r + 2 : this.input.slice(r + s, r + s + 12) === "flow-include" ? r + 12 : i === 58 && a !== 58 ? r : !1;
    }
    hasFlowCommentCompletion() {
      if (this.input.indexOf("*/", this.state.pos) === -1)
        throw this.raise(G.UnterminatedComment, this.state.curPosition());
    }
    flowEnumErrorBooleanMemberNotInitialized(s, {
      enumName: r,
      memberName: i
    }) {
      this.raise(Ot.EnumBooleanMemberNotInitialized, s, {
        memberName: i,
        enumName: r
      });
    }
    flowEnumErrorInvalidMemberInitializer(s, r) {
      return this.raise(r.explicitType ? r.explicitType === "symbol" ? Ot.EnumInvalidMemberInitializerSymbolType : Ot.EnumInvalidMemberInitializerPrimaryType :
      Ot.EnumInvalidMemberInitializerUnknownType, s, r);
    }
    flowEnumErrorNumberMemberNotInitialized(s, r) {
      this.raise(Ot.EnumNumberMemberNotInitialized, s, r);
    }
    flowEnumErrorStringMemberInconsistentlyInitialized(s, r) {
      this.raise(Ot.EnumStringMemberInconsistentlyInitialized, s, r);
    }
    flowEnumMemberInit() {
      let s = this.state.startLoc, r = /* @__PURE__ */ n(() => this.match(12) || this.match(8), "endOfInit");
      switch (this.state.type) {
        case 135: {
          let i = this.parseNumericLiteral(this.state.value);
          return r() ? {
            type: "number",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        case 134: {
          let i = this.parseStringLiteral(this.state.value);
          return r() ? {
            type: "string",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        case 85:
        case 86: {
          let i = this.parseBooleanLiteral(this.match(85));
          return r() ? {
            type: "boolean",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        default:
          return {
            type: "invalid",
            loc: s
          };
      }
    }
    flowEnumMemberRaw() {
      let s = this.state.startLoc, r = this.parseIdentifier(!0), i = this.eat(29) ? this.flowEnumMemberInit() : {
        type: "none",
        loc: s
      };
      return {
        id: r,
        init: i
      };
    }
    flowEnumCheckExplicitTypeMismatch(s, r, i) {
      let {
        explicitType: a
      } = r;
      a !== null && a !== i && this.flowEnumErrorInvalidMemberInitializer(s, r);
    }
    flowEnumMembers({
      enumName: s,
      explicitType: r
    }) {
      let i = /* @__PURE__ */ new Set(), a = {
        booleanMembers: [],
        numberMembers: [],
        stringMembers: [],
        defaultedMembers: []
      }, o = !1;
      for (; !this.match(8); ) {
        if (this.eat(21)) {
          o = !0;
          break;
        }
        let l = this.startNode(), {
          id: u,
          init: c
        } = this.flowEnumMemberRaw(), p = u.name;
        if (p === "")
          continue;
        /^[a-z]/.test(p) && this.raise(Ot.EnumInvalidMemberName, u, {
          memberName: p,
          suggestion: p[0].toUpperCase() + p.slice(1),
          enumName: s
        }), i.has(p) && this.raise(Ot.EnumDuplicateMemberName, u, {
          memberName: p,
          enumName: s
        }), i.add(p);
        let h = {
          enumName: s,
          explicitType: r,
          memberName: p
        };
        switch (l.id = u, c.type) {
          case "boolean": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "boolean"), l.init = c.value, a.booleanMembers.push(this.finishNode(l, "EnumBoo\
leanMember"));
            break;
          }
          case "number": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "number"), l.init = c.value, a.numberMembers.push(this.finishNode(l, "EnumNumbe\
rMember"));
            break;
          }
          case "string": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "string"), l.init = c.value, a.stringMembers.push(this.finishNode(l, "EnumStrin\
gMember"));
            break;
          }
          case "invalid":
            throw this.flowEnumErrorInvalidMemberInitializer(c.loc, h);
          case "none":
            switch (r) {
              case "boolean":
                this.flowEnumErrorBooleanMemberNotInitialized(c.loc, h);
                break;
              case "number":
                this.flowEnumErrorNumberMemberNotInitialized(c.loc, h);
                break;
              default:
                a.defaultedMembers.push(this.finishNode(l, "EnumDefaultedMember"));
            }
        }
        this.match(8) || this.expect(12);
      }
      return {
        members: a,
        hasUnknownMembers: o
      };
    }
    flowEnumStringMembers(s, r, {
      enumName: i
    }) {
      if (s.length === 0)
        return r;
      if (r.length === 0)
        return s;
      if (r.length > s.length) {
        for (let a of s)
          this.flowEnumErrorStringMemberInconsistentlyInitialized(a, {
            enumName: i
          });
        return r;
      } else {
        for (let a of r)
          this.flowEnumErrorStringMemberInconsistentlyInitialized(a, {
            enumName: i
          });
        return s;
      }
    }
    flowEnumParseExplicitType({
      enumName: s
    }) {
      if (!this.eatContextual(102)) return null;
      if (!Ws(this.state.type))
        throw this.raise(Ot.EnumInvalidExplicitTypeUnknownSupplied, this.state.startLoc, {
          enumName: s
        });
      let {
        value: r
      } = this.state;
      return this.next(), r !== "boolean" && r !== "number" && r !== "string" && r !== "symbol" && this.raise(Ot.EnumInvalidExplicitType, this.
      state.startLoc, {
        enumName: s,
        invalidEnumType: r
      }), r;
    }
    flowEnumBody(s, r) {
      let i = r.name, a = r.loc.start, o = this.flowEnumParseExplicitType({
        enumName: i
      });
      this.expect(5);
      let {
        members: l,
        hasUnknownMembers: u
      } = this.flowEnumMembers({
        enumName: i,
        explicitType: o
      });
      switch (s.hasUnknownMembers = u, o) {
        case "boolean":
          return s.explicitType = !0, s.members = l.booleanMembers, this.expect(8), this.finishNode(s, "EnumBooleanBody");
        case "number":
          return s.explicitType = !0, s.members = l.numberMembers, this.expect(8), this.finishNode(s, "EnumNumberBody");
        case "string":
          return s.explicitType = !0, s.members = this.flowEnumStringMembers(l.stringMembers, l.defaultedMembers, {
            enumName: i
          }), this.expect(8), this.finishNode(s, "EnumStringBody");
        case "symbol":
          return s.members = l.defaultedMembers, this.expect(8), this.finishNode(s, "EnumSymbolBody");
        default: {
          let c = /* @__PURE__ */ n(() => (s.members = [], this.expect(8), this.finishNode(s, "EnumStringBody")), "empty");
          s.explicitType = !1;
          let p = l.booleanMembers.length, h = l.numberMembers.length, f = l.stringMembers.length, d = l.defaultedMembers.length;
          if (!p && !h && !f && !d)
            return c();
          if (!p && !h)
            return s.members = this.flowEnumStringMembers(l.stringMembers, l.defaultedMembers, {
              enumName: i
            }), this.expect(8), this.finishNode(s, "EnumStringBody");
          if (!h && !f && p >= d) {
            for (let m of l.defaultedMembers)
              this.flowEnumErrorBooleanMemberNotInitialized(m.loc.start, {
                enumName: i,
                memberName: m.id.name
              });
            return s.members = l.booleanMembers, this.expect(8), this.finishNode(s, "EnumBooleanBody");
          } else if (!p && !f && h >= d) {
            for (let m of l.defaultedMembers)
              this.flowEnumErrorNumberMemberNotInitialized(m.loc.start, {
                enumName: i,
                memberName: m.id.name
              });
            return s.members = l.numberMembers, this.expect(8), this.finishNode(s, "EnumNumberBody");
          } else
            return this.raise(Ot.EnumInconsistentMemberValues, a, {
              enumName: i
            }), c();
        }
      }
    }
    flowParseEnumDeclaration(s) {
      let r = this.parseIdentifier();
      return s.id = r, s.body = this.flowEnumBody(this.startNode(), r), this.finishNode(s, "EnumDeclaration");
    }
    jsxParseOpeningElementAfterName(s) {
      return this.shouldParseTypes() && (this.match(47) || this.match(51)) && (s.typeArguments = this.flowParseTypeParameterInstantiationInExpression()),
      super.jsxParseOpeningElementAfterName(s);
    }
    isLookaheadToken_lt() {
      let s = this.nextTokenStart();
      if (this.input.charCodeAt(s) === 60) {
        let r = this.input.charCodeAt(s + 1);
        return r !== 60 && r !== 61;
      }
      return !1;
    }
    reScan_lt_gt() {
      let {
        type: s
      } = this.state;
      s === 47 ? (this.state.pos -= 1, this.readToken_lt()) : s === 48 && (this.state.pos -= 1, this.readToken_gt());
    }
    reScan_lt() {
      let {
        type: s
      } = this.state;
      return s === 51 ? (this.state.pos -= 2, this.finishOp(47, 1), 47) : s;
    }
    maybeUnwrapTypeCastExpression(s) {
      return s.type === "TypeCastExpression" ? s.expression : s;
    }
  }, "flow"), CMe = {
    __proto__: null,
    quot: '"',
    amp: "&",
    apos: "'",
    lt: "<",
    gt: ">",
    nbsp: "\xA0",
    iexcl: "\xA1",
    cent: "\xA2",
    pound: "\xA3",
    curren: "\xA4",
    yen: "\xA5",
    brvbar: "\xA6",
    sect: "\xA7",
    uml: "\xA8",
    copy: "\xA9",
    ordf: "\xAA",
    laquo: "\xAB",
    not: "\xAC",
    shy: "\xAD",
    reg: "\xAE",
    macr: "\xAF",
    deg: "\xB0",
    plusmn: "\xB1",
    sup2: "\xB2",
    sup3: "\xB3",
    acute: "\xB4",
    micro: "\xB5",
    para: "\xB6",
    middot: "\xB7",
    cedil: "\xB8",
    sup1: "\xB9",
    ordm: "\xBA",
    raquo: "\xBB",
    frac14: "\xBC",
    frac12: "\xBD",
    frac34: "\xBE",
    iquest: "\xBF",
    Agrave: "\xC0",
    Aacute: "\xC1",
    Acirc: "\xC2",
    Atilde: "\xC3",
    Auml: "\xC4",
    Aring: "\xC5",
    AElig: "\xC6",
    Ccedil: "\xC7",
    Egrave: "\xC8",
    Eacute: "\xC9",
    Ecirc: "\xCA",
    Euml: "\xCB",
    Igrave: "\xCC",
    Iacute: "\xCD",
    Icirc: "\xCE",
    Iuml: "\xCF",
    ETH: "\xD0",
    Ntilde: "\xD1",
    Ograve: "\xD2",
    Oacute: "\xD3",
    Ocirc: "\xD4",
    Otilde: "\xD5",
    Ouml: "\xD6",
    times: "\xD7",
    Oslash: "\xD8",
    Ugrave: "\xD9",
    Uacute: "\xDA",
    Ucirc: "\xDB",
    Uuml: "\xDC",
    Yacute: "\xDD",
    THORN: "\xDE",
    szlig: "\xDF",
    agrave: "\xE0",
    aacute: "\xE1",
    acirc: "\xE2",
    atilde: "\xE3",
    auml: "\xE4",
    aring: "\xE5",
    aelig: "\xE6",
    ccedil: "\xE7",
    egrave: "\xE8",
    eacute: "\xE9",
    ecirc: "\xEA",
    euml: "\xEB",
    igrave: "\xEC",
    iacute: "\xED",
    icirc: "\xEE",
    iuml: "\xEF",
    eth: "\xF0",
    ntilde: "\xF1",
    ograve: "\xF2",
    oacute: "\xF3",
    ocirc: "\xF4",
    otilde: "\xF5",
    ouml: "\xF6",
    divide: "\xF7",
    oslash: "\xF8",
    ugrave: "\xF9",
    uacute: "\xFA",
    ucirc: "\xFB",
    uuml: "\xFC",
    yacute: "\xFD",
    thorn: "\xFE",
    yuml: "\xFF",
    OElig: "\u0152",
    oelig: "\u0153",
    Scaron: "\u0160",
    scaron: "\u0161",
    Yuml: "\u0178",
    fnof: "\u0192",
    circ: "\u02C6",
    tilde: "\u02DC",
    Alpha: "\u0391",
    Beta: "\u0392",
    Gamma: "\u0393",
    Delta: "\u0394",
    Epsilon: "\u0395",
    Zeta: "\u0396",
    Eta: "\u0397",
    Theta: "\u0398",
    Iota: "\u0399",
    Kappa: "\u039A",
    Lambda: "\u039B",
    Mu: "\u039C",
    Nu: "\u039D",
    Xi: "\u039E",
    Omicron: "\u039F",
    Pi: "\u03A0",
    Rho: "\u03A1",
    Sigma: "\u03A3",
    Tau: "\u03A4",
    Upsilon: "\u03A5",
    Phi: "\u03A6",
    Chi: "\u03A7",
    Psi: "\u03A8",
    Omega: "\u03A9",
    alpha: "\u03B1",
    beta: "\u03B2",
    gamma: "\u03B3",
    delta: "\u03B4",
    epsilon: "\u03B5",
    zeta: "\u03B6",
    eta: "\u03B7",
    theta: "\u03B8",
    iota: "\u03B9",
    kappa: "\u03BA",
    lambda: "\u03BB",
    mu: "\u03BC",
    nu: "\u03BD",
    xi: "\u03BE",
    omicron: "\u03BF",
    pi: "\u03C0",
    rho: "\u03C1",
    sigmaf: "\u03C2",
    sigma: "\u03C3",
    tau: "\u03C4",
    upsilon: "\u03C5",
    phi: "\u03C6",
    chi: "\u03C7",
    psi: "\u03C8",
    omega: "\u03C9",
    thetasym: "\u03D1",
    upsih: "\u03D2",
    piv: "\u03D6",
    ensp: "\u2002",
    emsp: "\u2003",
    thinsp: "\u2009",
    zwnj: "\u200C",
    zwj: "\u200D",
    lrm: "\u200E",
    rlm: "\u200F",
    ndash: "\u2013",
    mdash: "\u2014",
    lsquo: "\u2018",
    rsquo: "\u2019",
    sbquo: "\u201A",
    ldquo: "\u201C",
    rdquo: "\u201D",
    bdquo: "\u201E",
    dagger: "\u2020",
    Dagger: "\u2021",
    bull: "\u2022",
    hellip: "\u2026",
    permil: "\u2030",
    prime: "\u2032",
    Prime: "\u2033",
    lsaquo: "\u2039",
    rsaquo: "\u203A",
    oline: "\u203E",
    frasl: "\u2044",
    euro: "\u20AC",
    image: "\u2111",
    weierp: "\u2118",
    real: "\u211C",
    trade: "\u2122",
    alefsym: "\u2135",
    larr: "\u2190",
    uarr: "\u2191",
    rarr: "\u2192",
    darr: "\u2193",
    harr: "\u2194",
    crarr: "\u21B5",
    lArr: "\u21D0",
    uArr: "\u21D1",
    rArr: "\u21D2",
    dArr: "\u21D3",
    hArr: "\u21D4",
    forall: "\u2200",
    part: "\u2202",
    exist: "\u2203",
    empty: "\u2205",
    nabla: "\u2207",
    isin: "\u2208",
    notin: "\u2209",
    ni: "\u220B",
    prod: "\u220F",
    sum: "\u2211",
    minus: "\u2212",
    lowast: "\u2217",
    radic: "\u221A",
    prop: "\u221D",
    infin: "\u221E",
    ang: "\u2220",
    and: "\u2227",
    or: "\u2228",
    cap: "\u2229",
    cup: "\u222A",
    int: "\u222B",
    there4: "\u2234",
    sim: "\u223C",
    cong: "\u2245",
    asymp: "\u2248",
    ne: "\u2260",
    equiv: "\u2261",
    le: "\u2264",
    ge: "\u2265",
    sub: "\u2282",
    sup: "\u2283",
    nsub: "\u2284",
    sube: "\u2286",
    supe: "\u2287",
    oplus: "\u2295",
    otimes: "\u2297",
    perp: "\u22A5",
    sdot: "\u22C5",
    lceil: "\u2308",
    rceil: "\u2309",
    lfloor: "\u230A",
    rfloor: "\u230B",
    lang: "\u2329",
    rang: "\u232A",
    loz: "\u25CA",
    spades: "\u2660",
    clubs: "\u2663",
    hearts: "\u2665",
    diams: "\u2666"
  }, ih = Wl`jsx`({
    AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.",
    MissingClosingTagElement: /* @__PURE__ */ n(({
      openingTagName: t
    }) => `Expected corresponding JSX closing tag for <${t}>.`, "MissingClosingTagElement"),
    MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.",
    UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",
    UnexpectedToken: /* @__PURE__ */ n(({
      unexpected: t,
      HTMLEntity: e
    }) => `Unexpected token \`${t}\`. Did you mean \`${e}\` or \`{'${t}'}\`?`, "UnexpectedToken"),
    UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.",
    UnterminatedJsxContent: "Unterminated JSX contents.",
    UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"
  });
  function Ic(t) {
    return t ? t.type === "JSXOpeningFragment" || t.type === "JSXClosingFragment" : !1;
  }
  n(Ic, "isFragment");
  function id(t) {
    if (t.type === "JSXIdentifier")
      return t.name;
    if (t.type === "JSXNamespacedName")
      return t.namespace.name + ":" + t.name.name;
    if (t.type === "JSXMemberExpression")
      return id(t.object) + "." + id(t.property);
    throw new Error("Node had unexpected type: " + t.type);
  }
  n(id, "getQualifiedJSXName");
  var wMe = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "JSXParserMixin");
    }
    jsxReadToken() {
      let s = "", r = this.state.pos;
      for (; ; ) {
        if (this.state.pos >= this.length)
          throw this.raise(ih.UnterminatedJsxContent, this.state.startLoc);
        let i = this.input.charCodeAt(this.state.pos);
        switch (i) {
          case 60:
          case 123:
            if (this.state.pos === this.state.start) {
              i === 60 && this.state.canStartJSXElement ? (++this.state.pos, this.finishToken(143)) : super.getTokenFromCode(i);
              return;
            }
            s += this.input.slice(r, this.state.pos), this.finishToken(142, s);
            return;
          case 38:
            s += this.input.slice(r, this.state.pos), s += this.jsxReadEntity(), r = this.state.pos;
            break;
          case 62:
          case 125:
          default:
            ad(i) ? (s += this.input.slice(r, this.state.pos), s += this.jsxReadNewLine(!0), r = this.state.pos) : ++this.state.pos;
        }
      }
    }
    jsxReadNewLine(s) {
      let r = this.input.charCodeAt(this.state.pos), i;
      return ++this.state.pos, r === 13 && this.input.charCodeAt(this.state.pos) === 10 ? (++this.state.pos, i = s ? `
` : `\r
`) : i = String.fromCharCode(r), ++this.state.curLine, this.state.lineStart = this.state.pos, i;
    }
    jsxReadString(s) {
      let r = "", i = ++this.state.pos;
      for (; ; ) {
        if (this.state.pos >= this.length)
          throw this.raise(G.UnterminatedString, this.state.startLoc);
        let a = this.input.charCodeAt(this.state.pos);
        if (a === s) break;
        a === 38 ? (r += this.input.slice(i, this.state.pos), r += this.jsxReadEntity(), i = this.state.pos) : ad(a) ? (r += this.input.slice(
        i, this.state.pos), r += this.jsxReadNewLine(!1), i = this.state.pos) : ++this.state.pos;
      }
      r += this.input.slice(i, this.state.pos++), this.finishToken(134, r);
    }
    jsxReadEntity() {
      let s = ++this.state.pos;
      if (this.codePointAtPos(this.state.pos) === 35) {
        ++this.state.pos;
        let r = 10;
        this.codePointAtPos(this.state.pos) === 120 && (r = 16, ++this.state.pos);
        let i = this.readInt(r, void 0, !1, "bail");
        if (i !== null && this.codePointAtPos(this.state.pos) === 59)
          return ++this.state.pos, String.fromCodePoint(i);
      } else {
        let r = 0, i = !1;
        for (; r++ < 10 && this.state.pos < this.length && !(i = this.codePointAtPos(this.state.pos) === 59); )
          ++this.state.pos;
        if (i) {
          let a = this.input.slice(s, this.state.pos), o = CMe[a];
          if (++this.state.pos, o)
            return o;
        }
      }
      return this.state.pos = s, "&";
    }
    jsxReadWord() {
      let s, r = this.state.pos;
      do
        s = this.input.charCodeAt(++this.state.pos);
      while (nd(s) || s === 45);
      this.finishToken(141, this.input.slice(r, this.state.pos));
    }
    jsxParseIdentifier() {
      let s = this.startNode();
      return this.match(141) ? s.name = this.state.value : ZI(this.state.type) ? s.name = Nc(this.state.type) : this.unexpected(), this.next(),
      this.finishNode(s, "JSXIdentifier");
    }
    jsxParseNamespacedName() {
      let s = this.state.startLoc, r = this.jsxParseIdentifier();
      if (!this.eat(14)) return r;
      let i = this.startNodeAt(s);
      return i.namespace = r, i.name = this.jsxParseIdentifier(), this.finishNode(i, "JSXNamespacedName");
    }
    jsxParseElementName() {
      let s = this.state.startLoc, r = this.jsxParseNamespacedName();
      if (r.type === "JSXNamespacedName")
        return r;
      for (; this.eat(16); ) {
        let i = this.startNodeAt(s);
        i.object = r, i.property = this.jsxParseIdentifier(), r = this.finishNode(i, "JSXMemberExpression");
      }
      return r;
    }
    jsxParseAttributeValue() {
      let s;
      switch (this.state.type) {
        case 5:
          return s = this.startNode(), this.setContext(Vs.brace), this.next(), s = this.jsxParseExpressionContainer(s, Vs.j_oTag), s.expression.
          type === "JSXEmptyExpression" && this.raise(ih.AttributeIsEmpty, s), s;
        case 143:
        case 134:
          return this.parseExprAtom();
        default:
          throw this.raise(ih.UnsupportedJsxValue, this.state.startLoc);
      }
    }
    jsxParseEmptyExpression() {
      let s = this.startNodeAt(this.state.lastTokEndLoc);
      return this.finishNodeAt(s, "JSXEmptyExpression", this.state.startLoc);
    }
    jsxParseSpreadChild(s) {
      return this.next(), s.expression = this.parseExpression(), this.setContext(Vs.j_expr), this.state.canStartJSXElement = !0, this.expect(
      8), this.finishNode(s, "JSXSpreadChild");
    }
    jsxParseExpressionContainer(s, r) {
      if (this.match(8))
        s.expression = this.jsxParseEmptyExpression();
      else {
        let i = this.parseExpression();
        s.expression = i;
      }
      return this.setContext(r), this.state.canStartJSXElement = !0, this.expect(8), this.finishNode(s, "JSXExpressionContainer");
    }
    jsxParseAttribute() {
      let s = this.startNode();
      return this.match(5) ? (this.setContext(Vs.brace), this.next(), this.expect(21), s.argument = this.parseMaybeAssignAllowIn(), this.setContext(
      Vs.j_oTag), this.state.canStartJSXElement = !0, this.expect(8), this.finishNode(s, "JSXSpreadAttribute")) : (s.name = this.jsxParseNamespacedName(),
      s.value = this.eat(29) ? this.jsxParseAttributeValue() : null, this.finishNode(s, "JSXAttribute"));
    }
    jsxParseOpeningElementAt(s) {
      let r = this.startNodeAt(s);
      return this.eat(144) ? this.finishNode(r, "JSXOpeningFragment") : (r.name = this.jsxParseElementName(), this.jsxParseOpeningElementAfterName(
      r));
    }
    jsxParseOpeningElementAfterName(s) {
      let r = [];
      for (; !this.match(56) && !this.match(144); )
        r.push(this.jsxParseAttribute());
      return s.attributes = r, s.selfClosing = this.eat(56), this.expect(144), this.finishNode(s, "JSXOpeningElement");
    }
    jsxParseClosingElementAt(s) {
      let r = this.startNodeAt(s);
      return this.eat(144) ? this.finishNode(r, "JSXClosingFragment") : (r.name = this.jsxParseElementName(), this.expect(144), this.finishNode(
      r, "JSXClosingElement"));
    }
    jsxParseElementAt(s) {
      let r = this.startNodeAt(s), i = [], a = this.jsxParseOpeningElementAt(s), o = null;
      if (!a.selfClosing) {
        e: for (; ; )
          switch (this.state.type) {
            case 143:
              if (s = this.state.startLoc, this.next(), this.eat(56)) {
                o = this.jsxParseClosingElementAt(s);
                break e;
              }
              i.push(this.jsxParseElementAt(s));
              break;
            case 142:
              i.push(this.parseLiteral(this.state.value, "JSXText"));
              break;
            case 5: {
              let l = this.startNode();
              this.setContext(Vs.brace), this.next(), this.match(21) ? i.push(this.jsxParseSpreadChild(l)) : i.push(this.jsxParseExpressionContainer(
              l, Vs.j_expr));
              break;
            }
            default:
              this.unexpected();
          }
        Ic(a) && !Ic(o) && o !== null ? this.raise(ih.MissingClosingTagFragment, o) : !Ic(a) && Ic(o) ? this.raise(ih.MissingClosingTagElement,
        o, {
          openingTagName: id(a.name)
        }) : !Ic(a) && !Ic(o) && id(o.name) !== id(a.name) && this.raise(ih.MissingClosingTagElement, o, {
          openingTagName: id(a.name)
        });
      }
      if (Ic(a) ? (r.openingFragment = a, r.closingFragment = o) : (r.openingElement = a, r.closingElement = o), r.children = i, this.match(
      47))
        throw this.raise(ih.UnwrappedAdjacentJSXElements, this.state.startLoc);
      return Ic(a) ? this.finishNode(r, "JSXFragment") : this.finishNode(r, "JSXElement");
    }
    jsxParseElement() {
      let s = this.state.startLoc;
      return this.next(), this.jsxParseElementAt(s);
    }
    setContext(s) {
      let {
        context: r
      } = this.state;
      r[r.length - 1] = s;
    }
    parseExprAtom(s) {
      return this.match(143) ? this.jsxParseElement() : this.match(47) && this.input.charCodeAt(this.state.pos) !== 33 ? (this.replaceToken(
      143), this.jsxParseElement()) : super.parseExprAtom(s);
    }
    skipSpace() {
      this.curContext().preserveSpace || super.skipSpace();
    }
    getTokenFromCode(s) {
      let r = this.curContext();
      if (r === Vs.j_expr) {
        this.jsxReadToken();
        return;
      }
      if (r === Vs.j_oTag || r === Vs.j_cTag) {
        if (Vl(s)) {
          this.jsxReadWord();
          return;
        }
        if (s === 62) {
          ++this.state.pos, this.finishToken(144);
          return;
        }
        if ((s === 34 || s === 39) && r === Vs.j_oTag) {
          this.jsxReadString(s);
          return;
        }
      }
      if (s === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) {
        ++this.state.pos, this.finishToken(143);
        return;
      }
      super.getTokenFromCode(s);
    }
    updateContext(s) {
      let {
        context: r,
        type: i
      } = this.state;
      if (i === 56 && s === 143)
        r.splice(-2, 2, Vs.j_cTag), this.state.canStartJSXElement = !1;
      else if (i === 143)
        r.push(Vs.j_oTag);
      else if (i === 144) {
        let a = r[r.length - 1];
        a === Vs.j_oTag && s === 56 || a === Vs.j_cTag ? (r.pop(), this.state.canStartJSXElement = r[r.length - 1] === Vs.j_expr) : (this.setContext(
        Vs.j_expr), this.state.canStartJSXElement = !0);
      } else
        this.state.canStartJSXElement = VBe(i);
    }
  }, "jsx"), KI = class extends eg {
    static {
      n(this, "TypeScriptScope");
    }
    constructor(...e) {
      super(...e), this.tsNames = /* @__PURE__ */ new Map();
    }
  }, VI = class extends tg {
    static {
      n(this, "TypeScriptScopeHandler");
    }
    constructor(...e) {
      super(...e), this.importsStack = [];
    }
    createScope(e) {
      return this.importsStack.push(/* @__PURE__ */ new Set()), new KI(e);
    }
    enter(e) {
      e === 256 && this.importsStack.push(/* @__PURE__ */ new Set()), super.enter(e);
    }
    exit() {
      let e = super.exit();
      return e === 256 && this.importsStack.pop(), e;
    }
    hasImport(e, s) {
      let r = this.importsStack.length;
      if (this.importsStack[r - 1].has(e))
        return !0;
      if (!s && r > 1) {
        for (let i = 0; i < r - 1; i++)
          if (this.importsStack[i].has(e)) return !0;
      }
      return !1;
    }
    declareName(e, s, r) {
      if (s & 4096) {
        this.hasImport(e, !0) && this.parser.raise(G.VarRedeclaration, r, {
          identifierName: e
        }), this.importsStack[this.importsStack.length - 1].add(e);
        return;
      }
      let i = this.currentScope(), a = i.tsNames.get(e) || 0;
      if (s & 1024) {
        this.maybeExportDefined(i, e), i.tsNames.set(e, a | 16);
        return;
      }
      super.declareName(e, s, r), s & 2 && (s & 1 || (this.checkRedeclarationInScope(i, e, s, r), this.maybeExportDefined(i, e)), a = a | 1),
      s & 256 && (a = a | 2), s & 512 && (a = a | 4), s & 128 && (a = a | 8), a && i.tsNames.set(e, a);
    }
    isRedeclaredInScope(e, s, r) {
      let i = e.tsNames.get(s);
      if ((i & 2) > 0) {
        if (r & 256) {
          let a = !!(r & 512), o = (i & 4) > 0;
          return a !== o;
        }
        return !0;
      }
      return r & 128 && (i & 8) > 0 ? e.names.get(s) & 2 ? !!(r & 1) : !1 : r & 2 && (i & 1) > 0 ? !0 : super.isRedeclaredInScope(e, s, r);
    }
    checkLocalExport(e) {
      let {
        name: s
      } = e;
      if (this.hasImport(s)) return;
      let r = this.scopeStack.length;
      for (let i = r - 1; i >= 0; i--) {
        let o = this.scopeStack[i].tsNames.get(s);
        if ((o & 1) > 0 || (o & 16) > 0)
          return;
      }
      super.checkLocalExport(e);
    }
  }, VU = /* @__PURE__ */ n((t) => t.type === "ParenthesizedExpression" ? VU(t.expression) : t, "unwrapParenthesizedExpression"), WI = class extends UI {
    static {
      n(this, "LValParser");
    }
    toAssignable(e, s = !1) {
      var r, i;
      let a;
      switch ((e.type === "ParenthesizedExpression" || (r = e.extra) != null && r.parenthesized) && (a = VU(e), s ? a.type === "Identifier" ?
      this.expressionScope.recordArrowParameterBindingError(G.InvalidParenthesizedAssignment, e) : a.type !== "MemberExpression" && !this.isOptionalMemberExpression(
      a) && this.raise(G.InvalidParenthesizedAssignment, e) : this.raise(G.InvalidParenthesizedAssignment, e)), e.type) {
        case "Identifier":
        case "ObjectPattern":
        case "ArrayPattern":
        case "AssignmentPattern":
        case "RestElement":
          break;
        case "ObjectExpression":
          e.type = "ObjectPattern";
          for (let l = 0, u = e.properties.length, c = u - 1; l < u; l++) {
            var o;
            let p = e.properties[l], h = l === c;
            this.toAssignableObjectExpressionProp(p, h, s), h && p.type === "RestElement" && (o = e.extra) != null && o.trailingCommaLoc && this.
            raise(G.RestTrailingComma, e.extra.trailingCommaLoc);
          }
          break;
        case "ObjectProperty": {
          let {
            key: l,
            value: u
          } = e;
          this.isPrivateName(l) && this.classScope.usePrivateName(this.getPrivateNameSV(l), l.loc.start), this.toAssignable(u, s);
          break;
        }
        case "SpreadElement":
          throw new Error("Internal @babel/parser error (this is a bug, please report it). SpreadElement should be converted by .toAssignabl\
e's caller.");
        case "ArrayExpression":
          e.type = "ArrayPattern", this.toAssignableList(e.elements, (i = e.extra) == null ? void 0 : i.trailingCommaLoc, s);
          break;
        case "AssignmentExpression":
          e.operator !== "=" && this.raise(G.MissingEqInAssignment, e.left.loc.end), e.type = "AssignmentPattern", delete e.operator, this.toAssignable(
          e.left, s);
          break;
        case "ParenthesizedExpression":
          this.toAssignable(a, s);
          break;
      }
    }
    toAssignableObjectExpressionProp(e, s, r) {
      if (e.type === "ObjectMethod")
        this.raise(e.kind === "get" || e.kind === "set" ? G.PatternHasAccessor : G.PatternHasMethod, e.key);
      else if (e.type === "SpreadElement") {
        e.type = "RestElement";
        let i = e.argument;
        this.checkToRestConversion(i, !1), this.toAssignable(i, r), s || this.raise(G.RestTrailingComma, e);
      } else
        this.toAssignable(e, r);
    }
    toAssignableList(e, s, r) {
      let i = e.length - 1;
      for (let a = 0; a <= i; a++) {
        let o = e[a];
        if (o) {
          if (o.type === "SpreadElement") {
            o.type = "RestElement";
            let l = o.argument;
            this.checkToRestConversion(l, !0), this.toAssignable(l, r);
          } else
            this.toAssignable(o, r);
          o.type === "RestElement" && (a < i ? this.raise(G.RestTrailingComma, o) : s && this.raise(G.RestTrailingComma, s));
        }
      }
    }
    isAssignable(e, s) {
      switch (e.type) {
        case "Identifier":
        case "ObjectPattern":
        case "ArrayPattern":
        case "AssignmentPattern":
        case "RestElement":
          return !0;
        case "ObjectExpression": {
          let r = e.properties.length - 1;
          return e.properties.every((i, a) => i.type !== "ObjectMethod" && (a === r || i.type !== "SpreadElement") && this.isAssignable(i));
        }
        case "ObjectProperty":
          return this.isAssignable(e.value);
        case "SpreadElement":
          return this.isAssignable(e.argument);
        case "ArrayExpression":
          return e.elements.every((r) => r === null || this.isAssignable(r));
        case "AssignmentExpression":
          return e.operator === "=";
        case "ParenthesizedExpression":
          return this.isAssignable(e.expression);
        case "MemberExpression":
        case "OptionalMemberExpression":
          return !s;
        default:
          return !1;
      }
    }
    toReferencedList(e, s) {
      return e;
    }
    toReferencedListDeep(e, s) {
      this.toReferencedList(e, s);
      for (let r of e)
        r?.type === "ArrayExpression" && this.toReferencedListDeep(r.elements);
    }
    parseSpread(e) {
      let s = this.startNode();
      return this.next(), s.argument = this.parseMaybeAssignAllowIn(e, void 0), this.finishNode(s, "SpreadElement");
    }
    parseRestBinding() {
      let e = this.startNode();
      return this.next(), e.argument = this.parseBindingAtom(), this.finishNode(e, "RestElement");
    }
    parseBindingAtom() {
      switch (this.state.type) {
        case 0: {
          let e = this.startNode();
          return this.next(), e.elements = this.parseBindingList(3, 93, 1), this.finishNode(e, "ArrayPattern");
        }
        case 5:
          return this.parseObjectLike(8, !0);
      }
      return this.parseIdentifier();
    }
    parseBindingList(e, s, r) {
      let i = r & 1, a = [], o = !0;
      for (; !this.eat(e); )
        if (o ? o = !1 : this.expect(12), i && this.match(12))
          a.push(null);
        else {
          if (this.eat(e))
            break;
          if (this.match(21)) {
            let l = this.parseRestBinding();
            if ((this.hasPlugin("flow") || r & 2) && (l = this.parseFunctionParamType(l)), a.push(l), !this.checkCommaAfterRest(s)) {
              this.expect(e);
              break;
            }
          } else {
            let l = [];
            for (this.match(26) && this.hasPlugin("decorators") && this.raise(G.UnsupportedParameterDecorator, this.state.startLoc); this.match(
            26); )
              l.push(this.parseDecorator());
            a.push(this.parseAssignableListItem(r, l));
          }
        }
      return a;
    }
    parseBindingRestProperty(e) {
      return this.next(), e.argument = this.parseIdentifier(), this.checkCommaAfterRest(125), this.finishNode(e, "RestElement");
    }
    parseBindingProperty() {
      let {
        type: e,
        startLoc: s
      } = this.state;
      if (e === 21)
        return this.parseBindingRestProperty(this.startNode());
      let r = this.startNode();
      return e === 139 ? (this.expectPlugin("destructuringPrivate", s), this.classScope.usePrivateName(this.state.value, s), r.key = this.parsePrivateName()) :
      this.parsePropertyName(r), r.method = !1, this.parseObjPropValue(r, s, !1, !1, !0, !1);
    }
    parseAssignableListItem(e, s) {
      let r = this.parseMaybeDefault();
      (this.hasPlugin("flow") || e & 2) && this.parseFunctionParamType(r);
      let i = this.parseMaybeDefault(r.loc.start, r);
      return s.length && (r.decorators = s), i;
    }
    parseFunctionParamType(e) {
      return e;
    }
    parseMaybeDefault(e, s) {
      var r, i;
      if ((r = e) != null || (e = this.state.startLoc), s = (i = s) != null ? i : this.parseBindingAtom(), !this.eat(29)) return s;
      let a = this.startNodeAt(e);
      return a.left = s, a.right = this.parseMaybeAssignAllowIn(), this.finishNode(a, "AssignmentPattern");
    }
    isValidLVal(e, s, r) {
      switch (e) {
        case "AssignmentPattern":
          return "left";
        case "RestElement":
          return "argument";
        case "ObjectProperty":
          return "value";
        case "ParenthesizedExpression":
          return "expression";
        case "ArrayPattern":
          return "elements";
        case "ObjectPattern":
          return "properties";
      }
      return !1;
    }
    isOptionalMemberExpression(e) {
      return e.type === "OptionalMemberExpression";
    }
    checkLVal(e, s, r = 64, i = !1, a = !1, o = !1) {
      var l;
      let u = e.type;
      if (this.isObjectMethod(e)) return;
      let c = this.isOptionalMemberExpression(e);
      if (c || u === "MemberExpression") {
        c && (this.expectPlugin("optionalChainingAssign", e.loc.start), s.type !== "AssignmentExpression" && this.raise(G.InvalidLhsOptionalChaining,
        e, {
          ancestor: s
        })), r !== 64 && this.raise(G.InvalidPropertyBindingPattern, e);
        return;
      }
      if (u === "Identifier") {
        this.checkIdentifier(e, r, a);
        let {
          name: y
        } = e;
        i && (i.has(y) ? this.raise(G.ParamDupe, e) : i.add(y));
        return;
      }
      let p = this.isValidLVal(u, !(o || (l = e.extra) != null && l.parenthesized) && s.type === "AssignmentExpression", r);
      if (p === !0) return;
      if (p === !1) {
        let y = r === 64 ? G.InvalidLhs : G.InvalidLhsBinding;
        this.raise(y, e, {
          ancestor: s
        });
        return;
      }
      let h, f;
      typeof p == "string" ? (h = p, f = u === "ParenthesizedExpression") : [h, f] = p;
      let d = u === "ArrayPattern" || u === "ObjectPattern" ? {
        type: u
      } : s, m = e[h];
      if (Array.isArray(m))
        for (let y of m)
          y && this.checkLVal(y, d, r, i, a, f);
      else m && this.checkLVal(m, d, r, i, a, f);
    }
    checkIdentifier(e, s, r = !1) {
      this.state.strict && (r ? jU(e.name, this.inModule) : FU(e.name)) && (s === 64 ? this.raise(G.StrictEvalArguments, e, {
        referenceName: e.name
      }) : this.raise(G.StrictEvalArgumentsBinding, e, {
        bindingName: e.name
      })), s & 8192 && e.name === "let" && this.raise(G.LetInLexicalBinding, e), s & 64 || this.declareNameFromIdentifier(e, s);
    }
    declareNameFromIdentifier(e, s) {
      this.scope.declareName(e.name, s, e.loc.start);
    }
    checkToRestConversion(e, s) {
      switch (e.type) {
        case "ParenthesizedExpression":
          this.checkToRestConversion(e.expression, s);
          break;
        case "Identifier":
        case "MemberExpression":
          break;
        case "ArrayExpression":
        case "ObjectExpression":
          if (s) break;
        default:
          this.raise(G.InvalidRestAssignmentPattern, e);
      }
    }
    checkCommaAfterRest(e) {
      return this.match(12) ? (this.raise(this.lookaheadCharCode() === e ? G.RestTrailingComma : G.ElementAfterRest, this.state.startLoc), !0) :
      !1;
    }
  };
  function IMe(t) {
    if (t == null)
      throw new Error(`Unexpected ${t} value.`);
    return t;
  }
  n(IMe, "nonNull");
  function CU(t) {
    if (!t)
      throw new Error("Assert fail");
  }
  n(CU, "assert");
  var ct = Wl`typescript`({
    AbstractMethodHasImplementation: /* @__PURE__ */ n(({
      methodName: t
    }) => `Method '${t}' cannot have an implementation because it is marked abstract.`, "AbstractMethodHasImplementation"),
    AbstractPropertyHasInitializer: /* @__PURE__ */ n(({
      propertyName: t
    }) => `Property '${t}' cannot have an initializer because it is marked abstract.`, "AbstractPropertyHasInitializer"),
    AccessorCannotBeOptional: "An 'accessor' property cannot be declared optional.",
    AccessorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.",
    AccessorCannotHaveTypeParameters: "An accessor cannot have type parameters.",
    ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.",
    ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.",
    ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "A 'const' initializer in an ambient context must be a string or num\
eric literal or literal enum reference.",
    ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.",
    DeclareAccessor: /* @__PURE__ */ n(({
      kind: t
    }) => `'declare' is not allowed in ${t}ters.`, "DeclareAccessor"),
    DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.",
    DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.",
    DuplicateAccessibilityModifier: /* @__PURE__ */ n(({
      modifier: t
    }) => "Accessibility modifier already seen.", "DuplicateAccessibilityModifier"),
    DuplicateModifier: /* @__PURE__ */ n(({
      modifier: t
    }) => `Duplicate modifier: '${t}'.`, "DuplicateModifier"),
    EmptyHeritageClauseType: /* @__PURE__ */ n(({
      token: t
    }) => `'${t}' list cannot be empty.`, "EmptyHeritageClauseType"),
    EmptyTypeArguments: "Type argument list cannot be empty.",
    EmptyTypeParameters: "Type parameter list cannot be empty.",
    ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.",
    ImportAliasHasImportType: "An import alias can not use 'import type'.",
    ImportReflectionHasImportType: "An `import module` declaration can not use `type` modifier",
    IncompatibleModifiers: /* @__PURE__ */ n(({
      modifiers: t
    }) => `'${t[0]}' modifier cannot be used with '${t[1]}' modifier.`, "IncompatibleModifiers"),
    IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.",
    IndexSignatureHasAccessibility: /* @__PURE__ */ n(({
      modifier: t
    }) => `Index signatures cannot have an accessibility modifier ('${t}').`, "IndexSignatureHasAccessibility"),
    IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.",
    IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.",
    IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.",
    InitializerNotAllowedInAmbientContext: "Initializers are not allowed in ambient contexts.",
    InvalidModifierOnTypeMember: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier cannot appear on a type member.`, "InvalidModifierOnTypeMember"),
    InvalidModifierOnTypeParameter: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier cannot appear on a type parameter.`, "InvalidModifierOnTypeParameter"),
    InvalidModifierOnTypeParameterPositions: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier can only appear on a type parameter of a class, interface or type alias.`, "InvalidModifierOnTypeParameterPositio\
ns"),
    InvalidModifiersOrder: /* @__PURE__ */ n(({
      orderedModifiers: t
    }) => `'${t[0]}' modifier must precede '${t[1]}' modifier.`, "InvalidModifiersOrder"),
    InvalidPropertyAccessAfterInstantiationExpression: "Invalid property access after an instantiation expression. You can either wrap the i\
nstantiation expression in parentheses, or delete the type arguments.",
    InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.",
    MissingInterfaceName: "'interface' declarations must be followed by an identifier.",
    NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.",
    NonClassMethodPropertyHasAbstractModifer: "'abstract' modifier can only appear on a class, method, or property declaration.",
    OptionalTypeBeforeRequired: "A required element cannot follow an optional element.",
    OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.",
    PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.",
    PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.",
    PrivateElementHasAccessibility: /* @__PURE__ */ n(({
      modifier: t
    }) => `Private elements cannot have an accessibility modifier ('${t}').`, "PrivateElementHasAccessibility"),
    ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.",
    ReservedArrowTypeParam: "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",
    ReservedTypeAssertion: "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",
    SetAccessorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.",
    SetAccessorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.",
    SetAccessorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.",
    SingleTypeParameterWithoutTrailingComma: /* @__PURE__ */ n(({
      typeParameterName: t
    }) => `Single type parameter ${t} should have a trailing comma. Example usage: <${t},>.`, "SingleTypeParameterWithoutTrailingComma"),
    StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.",
    TupleOptionalAfterType: "A labeled tuple optional element must be declared using a question mark after the name and before the colon (`n\
ame?: type`), rather than after the type (`name: type?`).",
    TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number =\
 25`.",
    TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.",
    TypeModifierIsUsedInTypeExports: "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statemen\
t.",
    TypeModifierIsUsedInTypeImports: "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statemen\
t.",
    UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.",
    UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.",
    UnexpectedTypeAnnotation: "Did not expect a type annotation here.",
    UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.",
    UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.",
    UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.",
    UnsupportedSignatureParameterKind: /* @__PURE__ */ n(({
      type: t
    }) => `Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${t}.`, "UnsupportedSignatureParameterKind")
  });
  function NMe(t) {
    switch (t) {
      case "any":
        return "TSAnyKeyword";
      case "boolean":
        return "TSBooleanKeyword";
      case "bigint":
        return "TSBigIntKeyword";
      case "never":
        return "TSNeverKeyword";
      case "number":
        return "TSNumberKeyword";
      case "object":
        return "TSObjectKeyword";
      case "string":
        return "TSStringKeyword";
      case "symbol":
        return "TSSymbolKeyword";
      case "undefined":
        return "TSUndefinedKeyword";
      case "unknown":
        return "TSUnknownKeyword";
      default:
        return;
    }
  }
  n(NMe, "keywordTypeFromName");
  function wU(t) {
    return t === "private" || t === "public" || t === "protected";
  }
  n(wU, "tsIsAccessModifier");
  function kMe(t) {
    return t === "in" || t === "out";
  }
  n(kMe, "tsIsVarianceAnnotations");
  var DMe = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "TypeScriptParserMixin");
    }
    constructor(...s) {
      super(...s), this.tsParseInOutModifiers = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["in", "out"],
        disallowedModifiers: ["const", "public", "private", "protected", "readonly", "declare", "abstract", "override"],
        errorTemplate: ct.InvalidModifierOnTypeParameter
      }), this.tsParseConstModifier = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["const"],
        disallowedModifiers: ["in", "out"],
        errorTemplate: ct.InvalidModifierOnTypeParameterPositions
      }), this.tsParseInOutConstModifiers = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["in", "out", "const"],
        disallowedModifiers: ["public", "private", "protected", "readonly", "declare", "abstract", "override"],
        errorTemplate: ct.InvalidModifierOnTypeParameter
      });
    }
    getScopeHandler() {
      return VI;
    }
    tsIsIdentifier() {
      return Ws(this.state.type);
    }
    tsTokenCanFollowModifier() {
      return this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(139) || this.isLiteralPropertyName();
    }
    tsNextTokenOnSameLineAndCanFollowModifier() {
      return this.next(), this.hasPrecedingLineBreak() ? !1 : this.tsTokenCanFollowModifier();
    }
    tsNextTokenCanFollowModifier() {
      return this.match(106) ? (this.next(), this.tsTokenCanFollowModifier()) : this.tsNextTokenOnSameLineAndCanFollowModifier();
    }
    tsParseModifier(s, r) {
      if (!Ws(this.state.type) && this.state.type !== 58 && this.state.type !== 75)
        return;
      let i = this.state.value;
      if (s.includes(i)) {
        if (r && this.tsIsStartOfStaticBlocks())
          return;
        if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))
          return i;
      }
    }
    tsParseModifiers({
      allowedModifiers: s,
      disallowedModifiers: r,
      stopOnStartOfClassStaticBlock: i,
      errorTemplate: a = ct.InvalidModifierOnTypeMember
    }, o) {
      let l = /* @__PURE__ */ n((c, p, h, f) => {
        p === h && o[f] && this.raise(ct.InvalidModifiersOrder, c, {
          orderedModifiers: [h, f]
        });
      }, "enforceOrder"), u = /* @__PURE__ */ n((c, p, h, f) => {
        (o[h] && p === f || o[f] && p === h) && this.raise(ct.IncompatibleModifiers, c, {
          modifiers: [h, f]
        });
      }, "incompatible");
      for (; ; ) {
        let {
          startLoc: c
        } = this.state, p = this.tsParseModifier(s.concat(r ?? []), i);
        if (!p) break;
        wU(p) ? o.accessibility ? this.raise(ct.DuplicateAccessibilityModifier, c, {
          modifier: p
        }) : (l(c, p, p, "override"), l(c, p, p, "static"), l(c, p, p, "readonly"), o.accessibility = p) : kMe(p) ? (o[p] && this.raise(ct.DuplicateModifier,
        c, {
          modifier: p
        }), o[p] = !0, l(c, p, "in", "out")) : (hasOwnProperty.call(o, p) ? this.raise(ct.DuplicateModifier, c, {
          modifier: p
        }) : (l(c, p, "static", "readonly"), l(c, p, "static", "override"), l(c, p, "override", "readonly"), l(c, p, "abstract", "override"),
        u(c, p, "declare", "override"), u(c, p, "static", "abstract")), o[p] = !0), r != null && r.includes(p) && this.raise(a, c, {
          modifier: p
        });
      }
    }
    tsIsListTerminator(s) {
      switch (s) {
        case "EnumMembers":
        case "TypeMembers":
          return this.match(8);
        case "HeritageClauseElement":
          return this.match(5);
        case "TupleElementTypes":
          return this.match(3);
        case "TypeParametersOrArguments":
          return this.match(48);
      }
    }
    tsParseList(s, r) {
      let i = [];
      for (; !this.tsIsListTerminator(s); )
        i.push(r());
      return i;
    }
    tsParseDelimitedList(s, r, i) {
      return IMe(this.tsParseDelimitedListWorker(s, r, !0, i));
    }
    tsParseDelimitedListWorker(s, r, i, a) {
      let o = [], l = -1;
      for (; !this.tsIsListTerminator(s); ) {
        l = -1;
        let u = r();
        if (u == null)
          return;
        if (o.push(u), this.eat(12)) {
          l = this.state.lastTokStartLoc.index;
          continue;
        }
        if (this.tsIsListTerminator(s))
          break;
        i && this.expect(12);
        return;
      }
      return a && (a.value = l), o;
    }
    tsParseBracketedList(s, r, i, a, o) {
      a || (i ? this.expect(0) : this.expect(47));
      let l = this.tsParseDelimitedList(s, r, o);
      return i ? this.expect(3) : this.expect(48), l;
    }
    tsParseImportType() {
      let s = this.startNode();
      return this.expect(83), this.expect(10), this.match(134) ? s.argument = this.parseStringLiteral(this.state.value) : (this.raise(ct.UnsupportedImportTypeArgument,
      this.state.startLoc), s.argument = super.parseExprAtom()), this.eat(12) && !this.match(11) ? (s.options = super.parseMaybeAssignAllowIn(),
      this.eat(12)) : s.options = null, this.expect(11), this.eat(16) && (s.qualifier = this.tsParseEntityName(3)), this.match(47) && (s.typeParameters =
      this.tsParseTypeArguments()), this.finishNode(s, "TSImportType");
    }
    tsParseEntityName(s) {
      let r;
      if (s & 1 && this.match(78))
        if (s & 2)
          r = this.parseIdentifier(!0);
        else {
          let i = this.startNode();
          this.next(), r = this.finishNode(i, "ThisExpression");
        }
      else
        r = this.parseIdentifier(!!(s & 1));
      for (; this.eat(16); ) {
        let i = this.startNodeAtNode(r);
        i.left = r, i.right = this.parseIdentifier(!!(s & 1)), r = this.finishNode(i, "TSQualifiedName");
      }
      return r;
    }
    tsParseTypeReference() {
      let s = this.startNode();
      return s.typeName = this.tsParseEntityName(1), !this.hasPrecedingLineBreak() && this.match(47) && (s.typeParameters = this.tsParseTypeArguments()),
      this.finishNode(s, "TSTypeReference");
    }
    tsParseThisTypePredicate(s) {
      this.next();
      let r = this.startNodeAtNode(s);
      return r.parameterName = s, r.typeAnnotation = this.tsParseTypeAnnotation(!1), r.asserts = !1, this.finishNode(r, "TSTypePredicate");
    }
    tsParseThisTypeNode() {
      let s = this.startNode();
      return this.next(), this.finishNode(s, "TSThisType");
    }
    tsParseTypeQuery() {
      let s = this.startNode();
      return this.expect(87), this.match(83) ? s.exprName = this.tsParseImportType() : s.exprName = this.tsParseEntityName(3), !this.hasPrecedingLineBreak() &&
      this.match(47) && (s.typeParameters = this.tsParseTypeArguments()), this.finishNode(s, "TSTypeQuery");
    }
    tsParseTypeParameter(s) {
      let r = this.startNode();
      return s(r), r.name = this.tsParseTypeParameterName(), r.constraint = this.tsEatThenParseType(81), r.default = this.tsEatThenParseType(
      29), this.finishNode(r, "TSTypeParameter");
    }
    tsTryParseTypeParameters(s) {
      if (this.match(47))
        return this.tsParseTypeParameters(s);
    }
    tsParseTypeParameters(s) {
      let r = this.startNode();
      this.match(47) || this.match(143) ? this.next() : this.unexpected();
      let i = {
        value: -1
      };
      return r.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this, s), !1, !0, i), r.params.
      length === 0 && this.raise(ct.EmptyTypeParameters, r), i.value !== -1 && this.addExtra(r, "trailingComma", i.value), this.finishNode(r,
      "TSTypeParameterDeclaration");
    }
    tsFillSignature(s, r) {
      let i = s === 19, a = "parameters", o = "typeAnnotation";
      r.typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier), this.expect(10), r[a] = this.tsParseBindingListForSignature(),
      i ? r[o] = this.tsParseTypeOrTypePredicateAnnotation(s) : this.match(s) && (r[o] = this.tsParseTypeOrTypePredicateAnnotation(s));
    }
    tsParseBindingListForSignature() {
      let s = super.parseBindingList(11, 41, 2);
      for (let r of s) {
        let {
          type: i
        } = r;
        (i === "AssignmentPattern" || i === "TSParameterProperty") && this.raise(ct.UnsupportedSignatureParameterKind, r, {
          type: i
        });
      }
      return s;
    }
    tsParseTypeMemberSemicolon() {
      !this.eat(12) && !this.isLineTerminator() && this.expect(13);
    }
    tsParseSignatureMember(s, r) {
      return this.tsFillSignature(14, r), this.tsParseTypeMemberSemicolon(), this.finishNode(r, s);
    }
    tsIsUnambiguouslyIndexSignature() {
      return this.next(), Ws(this.state.type) ? (this.next(), this.match(14)) : !1;
    }
    tsTryParseIndexSignature(s) {
      if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))))
        return;
      this.expect(0);
      let r = this.parseIdentifier();
      r.typeAnnotation = this.tsParseTypeAnnotation(), this.resetEndLocation(r), this.expect(3), s.parameters = [r];
      let i = this.tsTryParseTypeAnnotation();
      return i && (s.typeAnnotation = i), this.tsParseTypeMemberSemicolon(), this.finishNode(s, "TSIndexSignature");
    }
    tsParsePropertyOrMethodSignature(s, r) {
      this.eat(17) && (s.optional = !0);
      let i = s;
      if (this.match(10) || this.match(47)) {
        r && this.raise(ct.ReadonlyForMethodSignature, s);
        let a = i;
        a.kind && this.match(47) && this.raise(ct.AccessorCannotHaveTypeParameters, this.state.curPosition()), this.tsFillSignature(14, a), this.
        tsParseTypeMemberSemicolon();
        let o = "parameters", l = "typeAnnotation";
        if (a.kind === "get")
          a[o].length > 0 && (this.raise(G.BadGetterArity, this.state.curPosition()), this.isThisParam(a[o][0]) && this.raise(ct.AccessorCannotDeclareThisParameter,
          this.state.curPosition()));
        else if (a.kind === "set") {
          if (a[o].length !== 1)
            this.raise(G.BadSetterArity, this.state.curPosition());
          else {
            let u = a[o][0];
            this.isThisParam(u) && this.raise(ct.AccessorCannotDeclareThisParameter, this.state.curPosition()), u.type === "Identifier" && u.
            optional && this.raise(ct.SetAccessorCannotHaveOptionalParameter, this.state.curPosition()), u.type === "RestElement" && this.raise(
            ct.SetAccessorCannotHaveRestParameter, this.state.curPosition());
          }
          a[l] && this.raise(ct.SetAccessorCannotHaveReturnType, a[l]);
        } else
          a.kind = "method";
        return this.finishNode(a, "TSMethodSignature");
      } else {
        let a = i;
        r && (a.readonly = !0);
        let o = this.tsTryParseTypeAnnotation();
        return o && (a.typeAnnotation = o), this.tsParseTypeMemberSemicolon(), this.finishNode(a, "TSPropertySignature");
      }
    }
    tsParseTypeMember() {
      let s = this.startNode();
      if (this.match(10) || this.match(47))
        return this.tsParseSignatureMember("TSCallSignatureDeclaration", s);
      if (this.match(77)) {
        let i = this.startNode();
        return this.next(), this.match(10) || this.match(47) ? this.tsParseSignatureMember("TSConstructSignatureDeclaration", s) : (s.key = this.
        createIdentifier(i, "new"), this.tsParsePropertyOrMethodSignature(s, !1));
      }
      this.tsParseModifiers({
        allowedModifiers: ["readonly"],
        disallowedModifiers: ["declare", "abstract", "private", "protected", "public", "static", "override"]
      }, s);
      let r = this.tsTryParseIndexSignature(s);
      return r || (super.parsePropertyName(s), !s.computed && s.key.type === "Identifier" && (s.key.name === "get" || s.key.name === "set") &&
      this.tsTokenCanFollowModifier() && (s.kind = s.key.name, super.parsePropertyName(s)), this.tsParsePropertyOrMethodSignature(s, !!s.readonly));
    }
    tsParseTypeLiteral() {
      let s = this.startNode();
      return s.members = this.tsParseObjectTypeMembers(), this.finishNode(s, "TSTypeLiteral");
    }
    tsParseObjectTypeMembers() {
      this.expect(5);
      let s = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this));
      return this.expect(8), s;
    }
    tsIsStartOfMappedType() {
      return this.next(), this.eat(53) ? this.isContextual(122) : (this.isContextual(122) && this.next(), !this.match(0) || (this.next(), !this.
      tsIsIdentifier()) ? !1 : (this.next(), this.match(58)));
    }
    tsParseMappedType() {
      let s = this.startNode();
      this.expect(5), this.match(53) ? (s.readonly = this.state.value, this.next(), this.expectContextual(122)) : this.eatContextual(122) &&
      (s.readonly = !0), this.expect(0);
      {
        let r = this.startNode();
        r.name = this.tsParseTypeParameterName(), r.constraint = this.tsExpectThenParseType(58), s.typeParameter = this.finishNode(r, "TSTyp\
eParameter");
      }
      return s.nameType = this.eatContextual(93) ? this.tsParseType() : null, this.expect(3), this.match(53) ? (s.optional = this.state.value,
      this.next(), this.expect(17)) : this.eat(17) && (s.optional = !0), s.typeAnnotation = this.tsTryParseType(), this.semicolon(), this.expect(
      8), this.finishNode(s, "TSMappedType");
    }
    tsParseTupleType() {
      let s = this.startNode();
      s.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), !0, !1);
      let r = !1;
      return s.elementTypes.forEach((i) => {
        let {
          type: a
        } = i;
        r && a !== "TSRestType" && a !== "TSOptionalType" && !(a === "TSNamedTupleMember" && i.optional) && this.raise(ct.OptionalTypeBeforeRequired,
        i), r || (r = a === "TSNamedTupleMember" && i.optional || a === "TSOptionalType");
      }), this.finishNode(s, "TSTupleType");
    }
    tsParseTupleElementType() {
      let s = this.state.startLoc, r = this.eat(21), {
        startLoc: i
      } = this.state, a, o, l, u, p = mo(this.state.type) ? this.lookaheadCharCode() : null;
      if (p === 58)
        a = !0, l = !1, o = this.parseIdentifier(!0), this.expect(14), u = this.tsParseType();
      else if (p === 63) {
        l = !0;
        let h = this.state.value, f = this.tsParseNonArrayType();
        this.lookaheadCharCode() === 58 ? (a = !0, o = this.createIdentifier(this.startNodeAt(i), h), this.expect(17), this.expect(14), u = this.
        tsParseType()) : (a = !1, u = f, this.expect(17));
      } else
        u = this.tsParseType(), l = this.eat(17), a = this.eat(14);
      if (a) {
        let h;
        o ? (h = this.startNodeAt(i), h.optional = l, h.label = o, h.elementType = u, this.eat(17) && (h.optional = !0, this.raise(ct.TupleOptionalAfterType,
        this.state.lastTokStartLoc))) : (h = this.startNodeAt(i), h.optional = l, this.raise(ct.InvalidTupleMemberLabel, u), h.label = u, h.
        elementType = this.tsParseType()), u = this.finishNode(h, "TSNamedTupleMember");
      } else if (l) {
        let h = this.startNodeAt(i);
        h.typeAnnotation = u, u = this.finishNode(h, "TSOptionalType");
      }
      if (r) {
        let h = this.startNodeAt(s);
        h.typeAnnotation = u, u = this.finishNode(h, "TSRestType");
      }
      return u;
    }
    tsParseParenthesizedType() {
      let s = this.startNode();
      return this.expect(10), s.typeAnnotation = this.tsParseType(), this.expect(11), this.finishNode(s, "TSParenthesizedType");
    }
    tsParseFunctionOrConstructorType(s, r) {
      let i = this.startNode();
      return s === "TSConstructorType" && (i.abstract = !!r, r && this.next(), this.next()), this.tsInAllowConditionalTypesContext(() => this.
      tsFillSignature(19, i)), this.finishNode(i, s);
    }
    tsParseLiteralTypeNode() {
      let s = this.startNode();
      switch (this.state.type) {
        case 135:
        case 136:
        case 134:
        case 85:
        case 86:
          s.literal = super.parseExprAtom();
          break;
        default:
          this.unexpected();
      }
      return this.finishNode(s, "TSLiteralType");
    }
    tsParseTemplateLiteralType() {
      {
        let s = this.startNode();
        return s.literal = super.parseTemplate(!1), this.finishNode(s, "TSLiteralType");
      }
    }
    parseTemplateSubstitution() {
      return this.state.inType ? this.tsParseType() : super.parseTemplateSubstitution();
    }
    tsParseThisTypeOrThisTypePredicate() {
      let s = this.tsParseThisTypeNode();
      return this.isContextual(116) && !this.hasPrecedingLineBreak() ? this.tsParseThisTypePredicate(s) : s;
    }
    tsParseNonArrayType() {
      switch (this.state.type) {
        case 134:
        case 135:
        case 136:
        case 85:
        case 86:
          return this.tsParseLiteralTypeNode();
        case 53:
          if (this.state.value === "-") {
            let s = this.startNode(), r = this.lookahead();
            return r.type !== 135 && r.type !== 136 && this.unexpected(), s.literal = this.parseMaybeUnary(), this.finishNode(s, "TSLiteralT\
ype");
          }
          break;
        case 78:
          return this.tsParseThisTypeOrThisTypePredicate();
        case 87:
          return this.tsParseTypeQuery();
        case 83:
          return this.tsParseImportType();
        case 5:
          return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral();
        case 0:
          return this.tsParseTupleType();
        case 10:
          return this.tsParseParenthesizedType();
        case 25:
        case 24:
          return this.tsParseTemplateLiteralType();
        default: {
          let {
            type: s
          } = this.state;
          if (Ws(s) || s === 88 || s === 84) {
            let r = s === 88 ? "TSVoidKeyword" : s === 84 ? "TSNullKeyword" : NMe(this.state.value);
            if (r !== void 0 && this.lookaheadCharCode() !== 46) {
              let i = this.startNode();
              return this.next(), this.finishNode(i, r);
            }
            return this.tsParseTypeReference();
          }
        }
      }
      this.unexpected();
    }
    tsParseArrayTypeOrHigher() {
      let {
        startLoc: s
      } = this.state, r = this.tsParseNonArrayType();
      for (; !this.hasPrecedingLineBreak() && this.eat(0); )
        if (this.match(3)) {
          let i = this.startNodeAt(s);
          i.elementType = r, this.expect(3), r = this.finishNode(i, "TSArrayType");
        } else {
          let i = this.startNodeAt(s);
          i.objectType = r, i.indexType = this.tsParseType(), this.expect(3), r = this.finishNode(i, "TSIndexedAccessType");
        }
      return r;
    }
    tsParseTypeOperator() {
      let s = this.startNode(), r = this.state.value;
      return this.next(), s.operator = r, s.typeAnnotation = this.tsParseTypeOperatorOrHigher(), r === "readonly" && this.tsCheckTypeAnnotationForReadOnly(
      s), this.finishNode(s, "TSTypeOperator");
    }
    tsCheckTypeAnnotationForReadOnly(s) {
      switch (s.typeAnnotation.type) {
        case "TSTupleType":
        case "TSArrayType":
          return;
        default:
          this.raise(ct.UnexpectedReadonly, s);
      }
    }
    tsParseInferType() {
      let s = this.startNode();
      this.expectContextual(115);
      let r = this.startNode();
      return r.name = this.tsParseTypeParameterName(), r.constraint = this.tsTryParse(() => this.tsParseConstraintForInferType()), s.typeParameter =
      this.finishNode(r, "TSTypeParameter"), this.finishNode(s, "TSInferType");
    }
    tsParseConstraintForInferType() {
      if (this.eat(81)) {
        let s = this.tsInDisallowConditionalTypesContext(() => this.tsParseType());
        if (this.state.inDisallowConditionalTypesContext || !this.match(17))
          return s;
      }
    }
    tsParseTypeOperatorOrHigher() {
      return XBe(this.state.type) && !this.state.containsEsc ? this.tsParseTypeOperator() : this.isContextual(115) ? this.tsParseInferType() :
      this.tsInAllowConditionalTypesContext(() => this.tsParseArrayTypeOrHigher());
    }
    tsParseUnionOrIntersectionType(s, r, i) {
      let a = this.startNode(), o = this.eat(i), l = [];
      do
        l.push(r());
      while (this.eat(i));
      return l.length === 1 && !o ? l[0] : (a.types = l, this.finishNode(a, s));
    }
    tsParseIntersectionTypeOrHigher() {
      return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), 45);
    }
    tsParseUnionTypeOrHigher() {
      return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), 43);
    }
    tsIsStartOfFunctionType() {
      return this.match(47) ? !0 : this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this));
    }
    tsSkipParameterStart() {
      if (Ws(this.state.type) || this.match(78))
        return this.next(), !0;
      if (this.match(5)) {
        let {
          errors: s
        } = this.state, r = s.length;
        try {
          return this.parseObjectLike(8, !0), s.length === r;
        } catch {
          return !1;
        }
      }
      if (this.match(0)) {
        this.next();
        let {
          errors: s
        } = this.state, r = s.length;
        try {
          return super.parseBindingList(3, 93, 1), s.length === r;
        } catch {
          return !1;
        }
      }
      return !1;
    }
    tsIsUnambiguouslyStartOfFunctionType() {
      return this.next(), !!(this.match(11) || this.match(21) || this.tsSkipParameterStart() && (this.match(14) || this.match(12) || this.match(
      17) || this.match(29) || this.match(11) && (this.next(), this.match(19))));
    }
    tsParseTypeOrTypePredicateAnnotation(s) {
      return this.tsInType(() => {
        let r = this.startNode();
        this.expect(s);
        let i = this.startNode(), a = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));
        if (a && this.match(78)) {
          let u = this.tsParseThisTypeOrThisTypePredicate();
          return u.type === "TSThisType" ? (i.parameterName = u, i.asserts = !0, i.typeAnnotation = null, u = this.finishNode(i, "TSTypePred\
icate")) : (this.resetStartLocationFromNode(u, i), u.asserts = !0), r.typeAnnotation = u, this.finishNode(r, "TSTypeAnnotation");
        }
        let o = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));
        if (!o)
          return a ? (i.parameterName = this.parseIdentifier(), i.asserts = a, i.typeAnnotation = null, r.typeAnnotation = this.finishNode(i,
          "TSTypePredicate"), this.finishNode(r, "TSTypeAnnotation")) : this.tsParseTypeAnnotation(!1, r);
        let l = this.tsParseTypeAnnotation(!1);
        return i.parameterName = o, i.typeAnnotation = l, i.asserts = a, r.typeAnnotation = this.finishNode(i, "TSTypePredicate"), this.finishNode(
        r, "TSTypeAnnotation");
      });
    }
    tsTryParseTypeOrTypePredicateAnnotation() {
      if (this.match(14))
        return this.tsParseTypeOrTypePredicateAnnotation(14);
    }
    tsTryParseTypeAnnotation() {
      if (this.match(14))
        return this.tsParseTypeAnnotation();
    }
    tsTryParseType() {
      return this.tsEatThenParseType(14);
    }
    tsParseTypePredicatePrefix() {
      let s = this.parseIdentifier();
      if (this.isContextual(116) && !this.hasPrecedingLineBreak())
        return this.next(), s;
    }
    tsParseTypePredicateAsserts() {
      if (this.state.type !== 109)
        return !1;
      let s = this.state.containsEsc;
      return this.next(), !Ws(this.state.type) && !this.match(78) ? !1 : (s && this.raise(G.InvalidEscapedReservedWord, this.state.lastTokStartLoc,
      {
        reservedWord: "asserts"
      }), !0);
    }
    tsParseTypeAnnotation(s = !0, r = this.startNode()) {
      return this.tsInType(() => {
        s && this.expect(14), r.typeAnnotation = this.tsParseType();
      }), this.finishNode(r, "TSTypeAnnotation");
    }
    tsParseType() {
      CU(this.state.inType);
      let s = this.tsParseNonConditionalType();
      if (this.state.inDisallowConditionalTypesContext || this.hasPrecedingLineBreak() || !this.eat(81))
        return s;
      let r = this.startNodeAtNode(s);
      return r.checkType = s, r.extendsType = this.tsInDisallowConditionalTypesContext(() => this.tsParseNonConditionalType()), this.expect(
      17), r.trueType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()), this.expect(14), r.falseType = this.tsInAllowConditionalTypesContext(
      () => this.tsParseType()), this.finishNode(r, "TSConditionalType");
    }
    isAbstractConstructorSignature() {
      return this.isContextual(124) && this.lookahead().type === 77;
    }
    tsParseNonConditionalType() {
      return this.tsIsStartOfFunctionType() ? this.tsParseFunctionOrConstructorType("TSFunctionType") : this.match(77) ? this.tsParseFunctionOrConstructorType(
      "TSConstructorType") : this.isAbstractConstructorSignature() ? this.tsParseFunctionOrConstructorType("TSConstructorType", !0) : this.tsParseUnionTypeOrHigher();
    }
    tsParseTypeAssertion() {
      this.getPluginOption("typescript", "disallowAmbiguousJSXLike") && this.raise(ct.ReservedTypeAssertion, this.state.startLoc);
      let s = this.startNode();
      return s.typeAnnotation = this.tsInType(() => (this.next(), this.match(75) ? this.tsParseTypeReference() : this.tsParseType())), this.
      expect(48), s.expression = this.parseMaybeUnary(), this.finishNode(s, "TSTypeAssertion");
    }
    tsParseHeritageClause(s) {
      let r = this.state.startLoc, i = this.tsParseDelimitedList("HeritageClauseElement", () => {
        let a = this.startNode();
        return a.expression = this.tsParseEntityName(3), this.match(47) && (a.typeParameters = this.tsParseTypeArguments()), this.finishNode(
        a, "TSExpressionWithTypeArguments");
      });
      return i.length || this.raise(ct.EmptyHeritageClauseType, r, {
        token: s
      }), i;
    }
    tsParseInterfaceDeclaration(s, r = {}) {
      if (this.hasFollowingLineBreak()) return null;
      this.expectContextual(129), r.declare && (s.declare = !0), Ws(this.state.type) ? (s.id = this.parseIdentifier(), this.checkIdentifier(
      s.id, 130)) : (s.id = null, this.raise(ct.MissingInterfaceName, this.state.startLoc)), s.typeParameters = this.tsTryParseTypeParameters(
      this.tsParseInOutConstModifiers), this.eat(81) && (s.extends = this.tsParseHeritageClause("extends"));
      let i = this.startNode();
      return i.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this)), s.body = this.finishNode(i, "TSInterfaceBody"), this.finishNode(
      s, "TSInterfaceDeclaration");
    }
    tsParseTypeAliasDeclaration(s) {
      return s.id = this.parseIdentifier(), this.checkIdentifier(s.id, 2), s.typeAnnotation = this.tsInType(() => {
        if (s.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers), this.expect(29), this.isContextual(114) && this.lookahead().
        type !== 16) {
          let r = this.startNode();
          return this.next(), this.finishNode(r, "TSIntrinsicKeyword");
        }
        return this.tsParseType();
      }), this.semicolon(), this.finishNode(s, "TSTypeAliasDeclaration");
    }
    tsInTopLevelContext(s) {
      if (this.curContext() !== Vs.brace) {
        let r = this.state.context;
        this.state.context = [r[0]];
        try {
          return s();
        } finally {
          this.state.context = r;
        }
      } else
        return s();
    }
    tsInType(s) {
      let r = this.state.inType;
      this.state.inType = !0;
      try {
        return s();
      } finally {
        this.state.inType = r;
      }
    }
    tsInDisallowConditionalTypesContext(s) {
      let r = this.state.inDisallowConditionalTypesContext;
      this.state.inDisallowConditionalTypesContext = !0;
      try {
        return s();
      } finally {
        this.state.inDisallowConditionalTypesContext = r;
      }
    }
    tsInAllowConditionalTypesContext(s) {
      let r = this.state.inDisallowConditionalTypesContext;
      this.state.inDisallowConditionalTypesContext = !1;
      try {
        return s();
      } finally {
        this.state.inDisallowConditionalTypesContext = r;
      }
    }
    tsEatThenParseType(s) {
      if (this.match(s))
        return this.tsNextThenParseType();
    }
    tsExpectThenParseType(s) {
      return this.tsInType(() => (this.expect(s), this.tsParseType()));
    }
    tsNextThenParseType() {
      return this.tsInType(() => (this.next(), this.tsParseType()));
    }
    tsParseEnumMember() {
      let s = this.startNode();
      return s.id = this.match(134) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(!0), this.eat(29) && (s.initializer =
      super.parseMaybeAssignAllowIn()), this.finishNode(s, "TSEnumMember");
    }
    tsParseEnumDeclaration(s, r = {}) {
      return r.const && (s.const = !0), r.declare && (s.declare = !0), this.expectContextual(126), s.id = this.parseIdentifier(), this.checkIdentifier(
      s.id, s.const ? 8971 : 8459), this.expect(5), s.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)),
      this.expect(8), this.finishNode(s, "TSEnumDeclaration");
    }
    tsParseEnumBody() {
      let s = this.startNode();
      return this.expect(5), s.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)), this.expect(8), this.finishNode(
      s, "TSEnumBody");
    }
    tsParseModuleBlock() {
      let s = this.startNode();
      return this.scope.enter(0), this.expect(5), super.parseBlockOrModuleBlockBody(s.body = [], void 0, !0, 8), this.scope.exit(), this.finishNode(
      s, "TSModuleBlock");
    }
    tsParseModuleOrNamespaceDeclaration(s, r = !1) {
      if (s.id = this.parseIdentifier(), r || this.checkIdentifier(s.id, 1024), this.eat(16)) {
        let i = this.startNode();
        this.tsParseModuleOrNamespaceDeclaration(i, !0), s.body = i;
      } else
        this.scope.enter(256), this.prodParam.enter(0), s.body = this.tsParseModuleBlock(), this.prodParam.exit(), this.scope.exit();
      return this.finishNode(s, "TSModuleDeclaration");
    }
    tsParseAmbientExternalModuleDeclaration(s) {
      return this.isContextual(112) ? (s.kind = "global", s.global = !0, s.id = this.parseIdentifier()) : this.match(134) ? (s.kind = "modul\
e", s.id = super.parseStringLiteral(this.state.value)) : this.unexpected(), this.match(5) ? (this.scope.enter(256), this.prodParam.enter(0),
      s.body = this.tsParseModuleBlock(), this.prodParam.exit(), this.scope.exit()) : this.semicolon(), this.finishNode(s, "TSModuleDeclarat\
ion");
    }
    tsParseImportEqualsDeclaration(s, r, i) {
      s.isExport = i || !1, s.id = r || this.parseIdentifier(), this.checkIdentifier(s.id, 4096), this.expect(29);
      let a = this.tsParseModuleReference();
      return s.importKind === "type" && a.type !== "TSExternalModuleReference" && this.raise(ct.ImportAliasHasImportType, a), s.moduleReference =
      a, this.semicolon(), this.finishNode(s, "TSImportEqualsDeclaration");
    }
    tsIsExternalModuleReference() {
      return this.isContextual(119) && this.lookaheadCharCode() === 40;
    }
    tsParseModuleReference() {
      return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(0);
    }
    tsParseExternalModuleReference() {
      let s = this.startNode();
      return this.expectContextual(119), this.expect(10), this.match(134) || this.unexpected(), s.expression = super.parseExprAtom(), this.expect(
      11), this.sawUnambiguousESM = !0, this.finishNode(s, "TSExternalModuleReference");
    }
    tsLookAhead(s) {
      let r = this.state.clone(), i = s();
      return this.state = r, i;
    }
    tsTryParseAndCatch(s) {
      let r = this.tryParse((i) => s() || i());
      if (!(r.aborted || !r.node))
        return r.error && (this.state = r.failState), r.node;
    }
    tsTryParse(s) {
      let r = this.state.clone(), i = s();
      if (i !== void 0 && i !== !1)
        return i;
      this.state = r;
    }
    tsTryParseDeclare(s) {
      if (this.isLineTerminator())
        return;
      let r = this.state.type, i;
      return this.isContextual(100) && (r = 74, i = "let"), this.tsInAmbientContext(() => {
        switch (r) {
          case 68:
            return s.declare = !0, super.parseFunctionStatement(s, !1, !1);
          case 80:
            return s.declare = !0, this.parseClass(s, !0, !1);
          case 126:
            return this.tsParseEnumDeclaration(s, {
              declare: !0
            });
          case 112:
            return this.tsParseAmbientExternalModuleDeclaration(s);
          case 75:
          case 74:
            return !this.match(75) || !this.isLookaheadContextual("enum") ? (s.declare = !0, this.parseVarStatement(s, i || this.state.value,
            !0)) : (this.expect(75), this.tsParseEnumDeclaration(s, {
              const: !0,
              declare: !0
            }));
          case 129: {
            let a = this.tsParseInterfaceDeclaration(s, {
              declare: !0
            });
            if (a) return a;
          }
          default:
            if (Ws(r))
              return this.tsParseDeclaration(s, this.state.value, !0, null);
        }
      });
    }
    tsTryParseExportDeclaration() {
      return this.tsParseDeclaration(this.startNode(), this.state.value, !0, null);
    }
    tsParseExpressionStatement(s, r, i) {
      switch (r.name) {
        case "declare": {
          let a = this.tsTryParseDeclare(s);
          return a && (a.declare = !0), a;
        }
        case "global":
          if (this.match(5)) {
            this.scope.enter(256), this.prodParam.enter(0);
            let a = s;
            return a.kind = "global", s.global = !0, a.id = r, a.body = this.tsParseModuleBlock(), this.scope.exit(), this.prodParam.exit(),
            this.finishNode(a, "TSModuleDeclaration");
          }
          break;
        default:
          return this.tsParseDeclaration(s, r.name, !1, i);
      }
    }
    tsParseDeclaration(s, r, i, a) {
      switch (r) {
        case "abstract":
          if (this.tsCheckLineTerminator(i) && (this.match(80) || Ws(this.state.type)))
            return this.tsParseAbstractDeclaration(s, a);
          break;
        case "module":
          if (this.tsCheckLineTerminator(i)) {
            if (this.match(134))
              return this.tsParseAmbientExternalModuleDeclaration(s);
            if (Ws(this.state.type))
              return s.kind = "module", this.tsParseModuleOrNamespaceDeclaration(s);
          }
          break;
        case "namespace":
          if (this.tsCheckLineTerminator(i) && Ws(this.state.type))
            return s.kind = "namespace", this.tsParseModuleOrNamespaceDeclaration(s);
          break;
        case "type":
          if (this.tsCheckLineTerminator(i) && Ws(this.state.type))
            return this.tsParseTypeAliasDeclaration(s);
          break;
      }
    }
    tsCheckLineTerminator(s) {
      return s ? this.hasFollowingLineBreak() ? !1 : (this.next(), !0) : !this.isLineTerminator();
    }
    tsTryParseGenericAsyncArrowFunction(s) {
      if (!this.match(47)) return;
      let r = this.state.maybeInArrowParameters;
      this.state.maybeInArrowParameters = !0;
      let i = this.tsTryParseAndCatch(() => {
        let a = this.startNodeAt(s);
        return a.typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier), super.parseFunctionParams(a), a.returnType = this.tsTryParseTypeOrTypePredicateAnnotation(),
        this.expect(19), a;
      });
      if (this.state.maybeInArrowParameters = r, !!i)
        return super.parseArrowExpression(i, null, !0);
    }
    tsParseTypeArgumentsInExpression() {
      if (this.reScan_lt() === 47)
        return this.tsParseTypeArguments();
    }
    tsParseTypeArguments() {
      let s = this.startNode();
      return s.params = this.tsInType(() => this.tsInTopLevelContext(() => (this.expect(47), this.tsParseDelimitedList("TypeParametersOrArgu\
ments", this.tsParseType.bind(this))))), s.params.length === 0 ? this.raise(ct.EmptyTypeArguments, s) : !this.state.inType && this.curContext() ===
      Vs.brace && this.reScan_lt_gt(), this.expect(48), this.finishNode(s, "TSTypeParameterInstantiation");
    }
    tsIsDeclarationStart() {
      return zBe(this.state.type);
    }
    isExportDefaultSpecifier() {
      return this.tsIsDeclarationStart() ? !1 : super.isExportDefaultSpecifier();
    }
    parseAssignableListItem(s, r) {
      let i = this.state.startLoc, a = {};
      this.tsParseModifiers({
        allowedModifiers: ["public", "private", "protected", "override", "readonly"]
      }, a);
      let o = a.accessibility, l = a.override, u = a.readonly;
      !(s & 4) && (o || u || l) && this.raise(ct.UnexpectedParameterModifier, i);
      let c = this.parseMaybeDefault();
      s & 2 && this.parseFunctionParamType(c);
      let p = this.parseMaybeDefault(c.loc.start, c);
      if (o || u || l) {
        let h = this.startNodeAt(i);
        return r.length && (h.decorators = r), o && (h.accessibility = o), u && (h.readonly = u), l && (h.override = l), p.type !== "Identif\
ier" && p.type !== "AssignmentPattern" && this.raise(ct.UnsupportedParameterPropertyKind, h), h.parameter = p, this.finishNode(h, "TSParamet\
erProperty");
      }
      return r.length && (c.decorators = r), p;
    }
    isSimpleParameter(s) {
      return s.type === "TSParameterProperty" && super.isSimpleParameter(s.parameter) || super.isSimpleParameter(s);
    }
    tsDisallowOptionalPattern(s) {
      for (let r of s.params)
        r.type !== "Identifier" && r.optional && !this.state.isAmbientContext && this.raise(ct.PatternIsOptional, r);
    }
    setArrowFunctionParameters(s, r, i) {
      super.setArrowFunctionParameters(s, r, i), this.tsDisallowOptionalPattern(s);
    }
    parseFunctionBodyAndFinish(s, r, i = !1) {
      this.match(14) && (s.returnType = this.tsParseTypeOrTypePredicateAnnotation(14));
      let a = r === "FunctionDeclaration" ? "TSDeclareFunction" : r === "ClassMethod" || r === "ClassPrivateMethod" ? "TSDeclareMethod" : void 0;
      return a && !this.match(5) && this.isLineTerminator() ? this.finishNode(s, a) : a === "TSDeclareFunction" && this.state.isAmbientContext &&
      (this.raise(ct.DeclareFunctionHasImplementation, s), s.declare) ? super.parseFunctionBodyAndFinish(s, a, i) : (this.tsDisallowOptionalPattern(
      s), super.parseFunctionBodyAndFinish(s, r, i));
    }
    registerFunctionStatementId(s) {
      !s.body && s.id ? this.checkIdentifier(s.id, 1024) : super.registerFunctionStatementId(s);
    }
    tsCheckForInvalidTypeCasts(s) {
      s.forEach((r) => {
        r?.type === "TSTypeCastExpression" && this.raise(ct.UnexpectedTypeAnnotation, r.typeAnnotation);
      });
    }
    toReferencedList(s, r) {
      return this.tsCheckForInvalidTypeCasts(s), s;
    }
    parseArrayLike(s, r, i, a) {
      let o = super.parseArrayLike(s, r, i, a);
      return o.type === "ArrayExpression" && this.tsCheckForInvalidTypeCasts(o.elements), o;
    }
    parseSubscript(s, r, i, a) {
      if (!this.hasPrecedingLineBreak() && this.match(35)) {
        this.state.canStartJSXElement = !1, this.next();
        let l = this.startNodeAt(r);
        return l.expression = s, this.finishNode(l, "TSNonNullExpression");
      }
      let o = !1;
      if (this.match(18) && this.lookaheadCharCode() === 60) {
        if (i)
          return a.stop = !0, s;
        a.optionalChainMember = o = !0, this.next();
      }
      if (this.match(47) || this.match(51)) {
        let l, u = this.tsTryParseAndCatch(() => {
          if (!i && this.atPossibleAsyncArrow(s)) {
            let f = this.tsTryParseGenericAsyncArrowFunction(r);
            if (f)
              return f;
          }
          let c = this.tsParseTypeArgumentsInExpression();
          if (!c) return;
          if (o && !this.match(10)) {
            l = this.state.curPosition();
            return;
          }
          if (Jb(this.state.type)) {
            let f = super.parseTaggedTemplateExpression(s, r, a);
            return f.typeParameters = c, f;
          }
          if (!i && this.eat(10)) {
            let f = this.startNodeAt(r);
            return f.callee = s, f.arguments = this.parseCallExpressionArguments(11), this.tsCheckForInvalidTypeCasts(f.arguments), f.typeParameters =
            c, a.optionalChainMember && (f.optional = o), this.finishCallExpression(f, a.optionalChainMember);
          }
          let p = this.state.type;
          if (p === 48 || p === 52 || p !== 10 && wI(p) && !this.hasPrecedingLineBreak())
            return;
          let h = this.startNodeAt(r);
          return h.expression = s, h.typeParameters = c, this.finishNode(h, "TSInstantiationExpression");
        });
        if (l && this.unexpected(l, 10), u)
          return u.type === "TSInstantiationExpression" && (this.match(16) || this.match(18) && this.lookaheadCharCode() !== 40) && this.raise(
          ct.InvalidPropertyAccessAfterInstantiationExpression, this.state.startLoc), u;
      }
      return super.parseSubscript(s, r, i, a);
    }
    parseNewCallee(s) {
      var r;
      super.parseNewCallee(s);
      let {
        callee: i
      } = s;
      i.type === "TSInstantiationExpression" && !((r = i.extra) != null && r.parenthesized) && (s.typeParameters = i.typeParameters, s.callee =
      i.expression);
    }
    parseExprOp(s, r, i) {
      let a;
      if (Wb(58) > i && !this.hasPrecedingLineBreak() && (this.isContextual(93) || (a = this.isContextual(120)))) {
        let o = this.startNodeAt(r);
        return o.expression = s, o.typeAnnotation = this.tsInType(() => (this.next(), this.match(75) ? (a && this.raise(G.UnexpectedKeyword,
        this.state.startLoc, {
          keyword: "const"
        }), this.tsParseTypeReference()) : this.tsParseType())), this.finishNode(o, a ? "TSSatisfiesExpression" : "TSAsExpression"), this.reScan_lt_gt(),
        this.parseExprOp(o, r, i);
      }
      return super.parseExprOp(s, r, i);
    }
    checkReservedWord(s, r, i, a) {
      this.state.isAmbientContext || super.checkReservedWord(s, r, i, a);
    }
    checkImportReflection(s) {
      super.checkImportReflection(s), s.module && s.importKind !== "value" && this.raise(ct.ImportReflectionHasImportType, s.specifiers[0].loc.
      start);
    }
    checkDuplicateExports() {
    }
    isPotentialImportPhase(s) {
      if (super.isPotentialImportPhase(s)) return !0;
      if (this.isContextual(130)) {
        let r = this.lookaheadCharCode();
        return s ? r === 123 || r === 42 : r !== 61;
      }
      return !s && this.isContextual(87);
    }
    applyImportPhase(s, r, i, a) {
      super.applyImportPhase(s, r, i, a), r ? s.exportKind = i === "type" ? "type" : "value" : s.importKind = i === "type" || i === "typeof" ?
      i : "value";
    }
    parseImport(s) {
      if (this.match(134))
        return s.importKind = "value", super.parseImport(s);
      let r;
      if (Ws(this.state.type) && this.lookaheadCharCode() === 61)
        return s.importKind = "value", this.tsParseImportEqualsDeclaration(s);
      if (this.isContextual(130)) {
        let i = this.parseMaybeImportPhase(s, !1);
        if (this.lookaheadCharCode() === 61)
          return this.tsParseImportEqualsDeclaration(s, i);
        r = super.parseImportSpecifiersAndAfter(s, i);
      } else
        r = super.parseImport(s);
      return r.importKind === "type" && r.specifiers.length > 1 && r.specifiers[0].type === "ImportDefaultSpecifier" && this.raise(ct.TypeImportCannotSpecifyDefaultAndNamed,
      r), r;
    }
    parseExport(s, r) {
      if (this.match(83)) {
        let i = s;
        this.next();
        let a = null;
        return this.isContextual(130) && this.isPotentialImportPhase(!1) ? a = this.parseMaybeImportPhase(i, !1) : i.importKind = "value", this.
        tsParseImportEqualsDeclaration(i, a, !0);
      } else if (this.eat(29)) {
        let i = s;
        return i.expression = super.parseExpression(), this.semicolon(), this.sawUnambiguousESM = !0, this.finishNode(i, "TSExportAssignment");
      } else if (this.eatContextual(93)) {
        let i = s;
        return this.expectContextual(128), i.id = this.parseIdentifier(), this.semicolon(), this.finishNode(i, "TSNamespaceExportDeclaration");
      } else
        return super.parseExport(s, r);
    }
    isAbstractClass() {
      return this.isContextual(124) && this.lookahead().type === 80;
    }
    parseExportDefaultExpression() {
      if (this.isAbstractClass()) {
        let s = this.startNode();
        return this.next(), s.abstract = !0, this.parseClass(s, !0, !0);
      }
      if (this.match(129)) {
        let s = this.tsParseInterfaceDeclaration(this.startNode());
        if (s) return s;
      }
      return super.parseExportDefaultExpression();
    }
    parseVarStatement(s, r, i = !1) {
      let {
        isAmbientContext: a
      } = this.state, o = super.parseVarStatement(s, r, i || a);
      if (!a) return o;
      for (let {
        id: l,
        init: u
      } of o.declarations)
        u && (r !== "const" || l.typeAnnotation ? this.raise(ct.InitializerNotAllowedInAmbientContext, u) : _Me(u, this.hasPlugin("estree")) ||
        this.raise(ct.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference, u));
      return o;
    }
    parseStatementContent(s, r) {
      if (this.match(75) && this.isLookaheadContextual("enum")) {
        let i = this.startNode();
        return this.expect(75), this.tsParseEnumDeclaration(i, {
          const: !0
        });
      }
      if (this.isContextual(126))
        return this.tsParseEnumDeclaration(this.startNode());
      if (this.isContextual(129)) {
        let i = this.tsParseInterfaceDeclaration(this.startNode());
        if (i) return i;
      }
      return super.parseStatementContent(s, r);
    }
    parseAccessModifier() {
      return this.tsParseModifier(["public", "protected", "private"]);
    }
    tsHasSomeModifiers(s, r) {
      return r.some((i) => wU(i) ? s.accessibility === i : !!s[i]);
    }
    tsIsStartOfStaticBlocks() {
      return this.isContextual(106) && this.lookaheadCharCode() === 123;
    }
    parseClassMember(s, r, i) {
      let a = ["declare", "private", "public", "protected", "override", "abstract", "readonly", "static"];
      this.tsParseModifiers({
        allowedModifiers: a,
        disallowedModifiers: ["in", "out"],
        stopOnStartOfClassStaticBlock: !0,
        errorTemplate: ct.InvalidModifierOnTypeParameterPositions
      }, r);
      let o = /* @__PURE__ */ n(() => {
        this.tsIsStartOfStaticBlocks() ? (this.next(), this.next(), this.tsHasSomeModifiers(r, a) && this.raise(ct.StaticBlockCannotHaveModifier,
        this.state.curPosition()), super.parseClassStaticBlock(s, r)) : this.parseClassMemberWithIsStatic(s, r, i, !!r.static);
      }, "callParseClassMemberWithIsStatic");
      r.declare ? this.tsInAmbientContext(o) : o();
    }
    parseClassMemberWithIsStatic(s, r, i, a) {
      let o = this.tsTryParseIndexSignature(r);
      if (o) {
        s.body.push(o), r.abstract && this.raise(ct.IndexSignatureHasAbstract, r), r.accessibility && this.raise(ct.IndexSignatureHasAccessibility,
        r, {
          modifier: r.accessibility
        }), r.declare && this.raise(ct.IndexSignatureHasDeclare, r), r.override && this.raise(ct.IndexSignatureHasOverride, r);
        return;
      }
      !this.state.inAbstractClass && r.abstract && this.raise(ct.NonAbstractClassHasAbstractMethod, r), r.override && (i.hadSuperClass || this.
      raise(ct.OverrideNotInSubClass, r)), super.parseClassMemberWithIsStatic(s, r, i, a);
    }
    parsePostMemberNameModifiers(s) {
      this.eat(17) && (s.optional = !0), s.readonly && this.match(10) && this.raise(ct.ClassMethodHasReadonly, s), s.declare && this.match(10) &&
      this.raise(ct.ClassMethodHasDeclare, s);
    }
    parseExpressionStatement(s, r, i) {
      return (r.type === "Identifier" ? this.tsParseExpressionStatement(s, r, i) : void 0) || super.parseExpressionStatement(s, r, i);
    }
    shouldParseExportDeclaration() {
      return this.tsIsDeclarationStart() ? !0 : super.shouldParseExportDeclaration();
    }
    parseConditional(s, r, i) {
      if (!this.state.maybeInArrowParameters || !this.match(17))
        return super.parseConditional(s, r, i);
      let a = this.tryParse(() => super.parseConditional(s, r));
      return a.node ? (a.error && (this.state = a.failState), a.node) : (a.error && super.setOptionalParametersError(i, a.error), s);
    }
    parseParenItem(s, r) {
      let i = super.parseParenItem(s, r);
      if (this.eat(17) && (i.optional = !0, this.resetEndLocation(s)), this.match(14)) {
        let a = this.startNodeAt(r);
        return a.expression = s, a.typeAnnotation = this.tsParseTypeAnnotation(), this.finishNode(a, "TSTypeCastExpression");
      }
      return s;
    }
    parseExportDeclaration(s) {
      if (!this.state.isAmbientContext && this.isContextual(125))
        return this.tsInAmbientContext(() => this.parseExportDeclaration(s));
      let r = this.state.startLoc, i = this.eatContextual(125);
      if (i && (this.isContextual(125) || !this.shouldParseExportDeclaration()))
        throw this.raise(ct.ExpectedAmbientAfterExportDeclare, this.state.startLoc);
      let o = Ws(this.state.type) && this.tsTryParseExportDeclaration() || super.parseExportDeclaration(s);
      return o ? ((o.type === "TSInterfaceDeclaration" || o.type === "TSTypeAliasDeclaration" || i) && (s.exportKind = "type"), i && o.type !==
      "TSImportEqualsDeclaration" && (this.resetStartLocation(o, r), o.declare = !0), o) : null;
    }
    parseClassId(s, r, i, a) {
      if ((!r || i) && this.isContextual(113))
        return;
      super.parseClassId(s, r, i, s.declare ? 1024 : 8331);
      let o = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);
      o && (s.typeParameters = o);
    }
    parseClassPropertyAnnotation(s) {
      s.optional || (this.eat(35) ? s.definite = !0 : this.eat(17) && (s.optional = !0));
      let r = this.tsTryParseTypeAnnotation();
      r && (s.typeAnnotation = r);
    }
    parseClassProperty(s) {
      if (this.parseClassPropertyAnnotation(s), this.state.isAmbientContext && !(s.readonly && !s.typeAnnotation) && this.match(29) && this.
      raise(ct.DeclareClassFieldHasInitializer, this.state.startLoc), s.abstract && this.match(29)) {
        let {
          key: r
        } = s;
        this.raise(ct.AbstractPropertyHasInitializer, this.state.startLoc, {
          propertyName: r.type === "Identifier" && !s.computed ? r.name : `[${this.input.slice(this.offsetToSourcePos(r.start), this.offsetToSourcePos(
          r.end))}]`
        });
      }
      return super.parseClassProperty(s);
    }
    parseClassPrivateProperty(s) {
      return s.abstract && this.raise(ct.PrivateElementHasAbstract, s), s.accessibility && this.raise(ct.PrivateElementHasAccessibility, s, {
        modifier: s.accessibility
      }), this.parseClassPropertyAnnotation(s), super.parseClassPrivateProperty(s);
    }
    parseClassAccessorProperty(s) {
      return this.parseClassPropertyAnnotation(s), s.optional && this.raise(ct.AccessorCannotBeOptional, s), super.parseClassAccessorProperty(
      s);
    }
    pushClassMethod(s, r, i, a, o, l) {
      let u = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      u && o && this.raise(ct.ConstructorHasTypeParameters, u);
      let {
        declare: c = !1,
        kind: p
      } = r;
      c && (p === "get" || p === "set") && this.raise(ct.DeclareAccessor, r, {
        kind: p
      }), u && (r.typeParameters = u), super.pushClassMethod(s, r, i, a, o, l);
    }
    pushClassPrivateMethod(s, r, i, a) {
      let o = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      o && (r.typeParameters = o), super.pushClassPrivateMethod(s, r, i, a);
    }
    declareClassPrivateMethodInScope(s, r) {
      s.type !== "TSDeclareMethod" && (s.type === "MethodDefinition" && !hasOwnProperty.call(s.value, "body") || super.declareClassPrivateMethodInScope(
      s, r));
    }
    parseClassSuper(s) {
      super.parseClassSuper(s), s.superClass && (this.match(47) || this.match(51)) && (s.superTypeParameters = this.tsParseTypeArgumentsInExpression()),
      this.eatContextual(113) && (s.implements = this.tsParseHeritageClause("implements"));
    }
    parseObjPropValue(s, r, i, a, o, l, u) {
      let c = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      return c && (s.typeParameters = c), super.parseObjPropValue(s, r, i, a, o, l, u);
    }
    parseFunctionParams(s, r) {
      let i = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      i && (s.typeParameters = i), super.parseFunctionParams(s, r);
    }
    parseVarId(s, r) {
      super.parseVarId(s, r), s.id.type === "Identifier" && !this.hasPrecedingLineBreak() && this.eat(35) && (s.definite = !0);
      let i = this.tsTryParseTypeAnnotation();
      i && (s.id.typeAnnotation = i, this.resetEndLocation(s.id));
    }
    parseAsyncArrowFromCallExpression(s, r) {
      return this.match(14) && (s.returnType = this.tsParseTypeAnnotation()), super.parseAsyncArrowFromCallExpression(s, r);
    }
    parseMaybeAssign(s, r) {
      var i, a, o, l, u;
      let c, p, h;
      if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) {
        if (c = this.state.clone(), p = this.tryParse(() => super.parseMaybeAssign(s, r), c), !p.error) return p.node;
        let {
          context: m
        } = this.state, y = m[m.length - 1];
        (y === Vs.j_oTag || y === Vs.j_expr) && m.pop();
      }
      if (!((i = p) != null && i.error) && !this.match(47))
        return super.parseMaybeAssign(s, r);
      (!c || c === this.state) && (c = this.state.clone());
      let f, d = this.tryParse((m) => {
        var y, T;
        f = this.tsParseTypeParameters(this.tsParseConstModifier);
        let b = super.parseMaybeAssign(s, r);
        return (b.type !== "ArrowFunctionExpression" || (y = b.extra) != null && y.parenthesized) && m(), ((T = f) == null ? void 0 : T.params.
        length) !== 0 && this.resetStartLocationFromNode(b, f), b.typeParameters = f, b;
      }, c);
      if (!d.error && !d.aborted)
        return f && this.reportReservedArrowTypeParam(f), d.node;
      if (!p && (CU(!this.hasPlugin("jsx")), h = this.tryParse(() => super.parseMaybeAssign(s, r), c), !h.error))
        return h.node;
      if ((a = p) != null && a.node)
        return this.state = p.failState, p.node;
      if (d.node)
        return this.state = d.failState, f && this.reportReservedArrowTypeParam(f), d.node;
      if ((o = h) != null && o.node)
        return this.state = h.failState, h.node;
      throw ((l = p) == null ? void 0 : l.error) || d.error || ((u = h) == null ? void 0 : u.error);
    }
    reportReservedArrowTypeParam(s) {
      var r;
      s.params.length === 1 && !s.params[0].constraint && !((r = s.extra) != null && r.trailingComma) && this.getPluginOption("typescript", "\
disallowAmbiguousJSXLike") && this.raise(ct.ReservedArrowTypeParam, s);
    }
    parseMaybeUnary(s, r) {
      return !this.hasPlugin("jsx") && this.match(47) ? this.tsParseTypeAssertion() : super.parseMaybeUnary(s, r);
    }
    parseArrow(s) {
      if (this.match(14)) {
        let r = this.tryParse((i) => {
          let a = this.tsParseTypeOrTypePredicateAnnotation(14);
          return (this.canInsertSemicolon() || !this.match(19)) && i(), a;
        });
        if (r.aborted) return;
        r.thrown || (r.error && (this.state = r.failState), s.returnType = r.node);
      }
      return super.parseArrow(s);
    }
    parseFunctionParamType(s) {
      this.eat(17) && (s.optional = !0);
      let r = this.tsTryParseTypeAnnotation();
      return r && (s.typeAnnotation = r), this.resetEndLocation(s), s;
    }
    isAssignable(s, r) {
      switch (s.type) {
        case "TSTypeCastExpression":
          return this.isAssignable(s.expression, r);
        case "TSParameterProperty":
          return !0;
        default:
          return super.isAssignable(s, r);
      }
    }
    toAssignable(s, r = !1) {
      switch (s.type) {
        case "ParenthesizedExpression":
          this.toAssignableParenthesizedExpression(s, r);
          break;
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSNonNullExpression":
        case "TSTypeAssertion":
          r ? this.expressionScope.recordArrowParameterBindingError(ct.UnexpectedTypeCastInParameter, s) : this.raise(ct.UnexpectedTypeCastInParameter,
          s), this.toAssignable(s.expression, r);
          break;
        case "AssignmentExpression":
          !r && s.left.type === "TSTypeCastExpression" && (s.left = this.typeCastToParameter(s.left));
        default:
          super.toAssignable(s, r);
      }
    }
    toAssignableParenthesizedExpression(s, r) {
      switch (s.expression.type) {
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSNonNullExpression":
        case "TSTypeAssertion":
        case "ParenthesizedExpression":
          this.toAssignable(s.expression, r);
          break;
        default:
          super.toAssignable(s, r);
      }
    }
    checkToRestConversion(s, r) {
      switch (s.type) {
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSTypeAssertion":
        case "TSNonNullExpression":
          this.checkToRestConversion(s.expression, !1);
          break;
        default:
          super.checkToRestConversion(s, r);
      }
    }
    isValidLVal(s, r, i) {
      switch (s) {
        case "TSTypeCastExpression":
          return !0;
        case "TSParameterProperty":
          return "parameter";
        case "TSNonNullExpression":
        case "TSInstantiationExpression":
          return "expression";
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSTypeAssertion":
          return (i !== 64 || !r) && ["expression", !0];
        default:
          return super.isValidLVal(s, r, i);
      }
    }
    parseBindingAtom() {
      return this.state.type === 78 ? this.parseIdentifier(!0) : super.parseBindingAtom();
    }
    parseMaybeDecoratorArguments(s, r) {
      if (this.match(47) || this.match(51)) {
        let i = this.tsParseTypeArgumentsInExpression();
        if (this.match(10)) {
          let a = super.parseMaybeDecoratorArguments(s, r);
          return a.typeParameters = i, a;
        }
        this.unexpected(null, 10);
      }
      return super.parseMaybeDecoratorArguments(s, r);
    }
    checkCommaAfterRest(s) {
      return this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === s ? (this.next(), !1) : super.checkCommaAfterRest(
      s);
    }
    isClassMethod() {
      return this.match(47) || super.isClassMethod();
    }
    isClassProperty() {
      return this.match(35) || this.match(14) || super.isClassProperty();
    }
    parseMaybeDefault(s, r) {
      let i = super.parseMaybeDefault(s, r);
      return i.type === "AssignmentPattern" && i.typeAnnotation && i.right.start < i.typeAnnotation.start && this.raise(ct.TypeAnnotationAfterAssign,
      i.typeAnnotation), i;
    }
    getTokenFromCode(s) {
      if (this.state.inType) {
        if (s === 62) {
          this.finishOp(48, 1);
          return;
        }
        if (s === 60) {
          this.finishOp(47, 1);
          return;
        }
      }
      super.getTokenFromCode(s);
    }
    reScan_lt_gt() {
      let {
        type: s
      } = this.state;
      s === 47 ? (this.state.pos -= 1, this.readToken_lt()) : s === 48 && (this.state.pos -= 1, this.readToken_gt());
    }
    reScan_lt() {
      let {
        type: s
      } = this.state;
      return s === 51 ? (this.state.pos -= 2, this.finishOp(47, 1), 47) : s;
    }
    toAssignableList(s, r, i) {
      for (let a = 0; a < s.length; a++) {
        let o = s[a];
        o?.type === "TSTypeCastExpression" && (s[a] = this.typeCastToParameter(o));
      }
      super.toAssignableList(s, r, i);
    }
    typeCastToParameter(s) {
      return s.expression.typeAnnotation = s.typeAnnotation, this.resetEndLocation(s.expression, s.typeAnnotation.loc.end), s.expression;
    }
    shouldParseArrow(s) {
      return this.match(14) ? s.every((r) => this.isAssignable(r, !0)) : super.shouldParseArrow(s);
    }
    shouldParseAsyncArrow() {
      return this.match(14) || super.shouldParseAsyncArrow();
    }
    canHaveLeadingDecorator() {
      return super.canHaveLeadingDecorator() || this.isAbstractClass();
    }
    jsxParseOpeningElementAfterName(s) {
      if (this.match(47) || this.match(51)) {
        let r = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression());
        r && (s.typeParameters = r);
      }
      return super.jsxParseOpeningElementAfterName(s);
    }
    getGetterSetterExpectedParamCount(s) {
      let r = super.getGetterSetterExpectedParamCount(s), a = this.getObjectOrClassMethodParams(s)[0];
      return a && this.isThisParam(a) ? r + 1 : r;
    }
    parseCatchClauseParam() {
      let s = super.parseCatchClauseParam(), r = this.tsTryParseTypeAnnotation();
      return r && (s.typeAnnotation = r, this.resetEndLocation(s)), s;
    }
    tsInAmbientContext(s) {
      let {
        isAmbientContext: r,
        strict: i
      } = this.state;
      this.state.isAmbientContext = !0, this.state.strict = !1;
      try {
        return s();
      } finally {
        this.state.isAmbientContext = r, this.state.strict = i;
      }
    }
    parseClass(s, r, i) {
      let a = this.state.inAbstractClass;
      this.state.inAbstractClass = !!s.abstract;
      try {
        return super.parseClass(s, r, i);
      } finally {
        this.state.inAbstractClass = a;
      }
    }
    tsParseAbstractDeclaration(s, r) {
      if (this.match(80))
        return s.abstract = !0, this.maybeTakeDecorators(r, this.parseClass(s, !0, !1));
      if (this.isContextual(129)) {
        if (!this.hasFollowingLineBreak())
          return s.abstract = !0, this.raise(ct.NonClassMethodPropertyHasAbstractModifer, s), this.tsParseInterfaceDeclaration(s);
      } else
        this.unexpected(null, 80);
    }
    parseMethod(s, r, i, a, o, l, u) {
      let c = super.parseMethod(s, r, i, a, o, l, u);
      if (c.abstract && (this.hasPlugin("estree") ? c.value : c).body) {
        let {
          key: f
        } = c;
        this.raise(ct.AbstractMethodHasImplementation, c, {
          methodName: f.type === "Identifier" && !c.computed ? f.name : `[${this.input.slice(this.offsetToSourcePos(f.start), this.offsetToSourcePos(
          f.end))}]`
        });
      }
      return c;
    }
    tsParseTypeParameterName() {
      return this.parseIdentifier().name;
    }
    shouldParseAsAmbientContext() {
      return !!this.getPluginOption("typescript", "dts");
    }
    parse() {
      return this.shouldParseAsAmbientContext() && (this.state.isAmbientContext = !0), super.parse();
    }
    getExpression() {
      return this.shouldParseAsAmbientContext() && (this.state.isAmbientContext = !0), super.getExpression();
    }
    parseExportSpecifier(s, r, i, a) {
      return !r && a ? (this.parseTypeOnlyImportExportSpecifier(s, !1, i), this.finishNode(s, "ExportSpecifier")) : (s.exportKind = "value",
      super.parseExportSpecifier(s, r, i, a));
    }
    parseImportSpecifier(s, r, i, a, o) {
      return !r && a ? (this.parseTypeOnlyImportExportSpecifier(s, !0, i), this.finishNode(s, "ImportSpecifier")) : (s.importKind = "value",
      super.parseImportSpecifier(s, r, i, a, i ? 4098 : 4096));
    }
    parseTypeOnlyImportExportSpecifier(s, r, i) {
      let a = r ? "imported" : "local", o = r ? "local" : "exported", l = s[a], u, c = !1, p = !0, h = l.loc.start;
      if (this.isContextual(93)) {
        let d = this.parseIdentifier();
        if (this.isContextual(93)) {
          let m = this.parseIdentifier();
          mo(this.state.type) ? (c = !0, l = d, u = r ? this.parseIdentifier() : this.parseModuleExportName(), p = !1) : (u = m, p = !1);
        } else mo(this.state.type) ? (p = !1, u = r ? this.parseIdentifier() : this.parseModuleExportName()) : (c = !0, l = d);
      } else mo(this.state.type) && (c = !0, r ? (l = this.parseIdentifier(!0), this.isContextual(93) || this.checkReservedWord(l.name, l.loc.
      start, !0, !0)) : l = this.parseModuleExportName());
      c && i && this.raise(r ? ct.TypeModifierIsUsedInTypeImports : ct.TypeModifierIsUsedInTypeExports, h), s[a] = l, s[o] = u;
      let f = r ? "importKind" : "exportKind";
      s[f] = c ? "type" : "value", p && this.eatContextual(93) && (s[o] = r ? this.parseIdentifier() : this.parseModuleExportName()), s[o] ||
      (s[o] = $l(s[a])), r && this.checkIdentifier(s[o], c ? 4098 : 4096);
    }
  }, "typescript");
  function OMe(t) {
    if (t.type !== "MemberExpression") return !1;
    let {
      computed: e,
      property: s
    } = t;
    return e && s.type !== "StringLiteral" && (s.type !== "TemplateLiteral" || s.expressions.length > 0) ? !1 : $U(t.object);
  }
  n(OMe, "isPossiblyLiteralEnum");
  function _Me(t, e) {
    var s;
    let {
      type: r
    } = t;
    if ((s = t.extra) != null && s.parenthesized)
      return !1;
    if (e) {
      if (r === "Literal") {
        let {
          value: i
        } = t;
        if (typeof i == "string" || typeof i == "boolean")
          return !0;
      }
    } else if (r === "StringLiteral" || r === "BooleanLiteral")
      return !0;
    return !!(WU(t, e) || LMe(t, e) || r === "TemplateLiteral" && t.expressions.length === 0 || OMe(t));
  }
  n(_Me, "isValidAmbientConstInitializer");
  function WU(t, e) {
    return e ? t.type === "Literal" && (typeof t.value == "number" || "bigint" in t) : t.type === "NumericLiteral" || t.type === "BigIntLite\
ral";
  }
  n(WU, "isNumber");
  function LMe(t, e) {
    if (t.type === "UnaryExpression") {
      let {
        operator: s,
        argument: r
      } = t;
      if (s === "-" && WU(r, e))
        return !0;
    }
    return !1;
  }
  n(LMe, "isNegativeNumber");
  function $U(t) {
    return t.type === "Identifier" ? !0 : t.type !== "MemberExpression" || t.computed ? !1 : $U(t.object);
  }
  n($U, "isUncomputedMemberExpressionChain");
  var IU = Wl`placeholders`({
    ClassNameIsRequired: "A class name is required.",
    UnexpectedSpace: "Unexpected space in placeholder."
  }), BMe = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "PlaceholdersParserMixin");
    }
    parsePlaceholder(s) {
      if (this.match(133)) {
        let r = this.startNode();
        return this.next(), this.assertNoSpace(), r.name = super.parseIdentifier(!0), this.assertNoSpace(), this.expect(133), this.finishPlaceholder(
        r, s);
      }
    }
    finishPlaceholder(s, r) {
      let i = s;
      return (!i.expectedNode || !i.type) && (i = this.finishNode(i, "Placeholder")), i.expectedNode = r, i;
    }
    getTokenFromCode(s) {
      s === 37 && this.input.charCodeAt(this.state.pos + 1) === 37 ? this.finishOp(133, 2) : super.getTokenFromCode(s);
    }
    parseExprAtom(s) {
      return this.parsePlaceholder("Expression") || super.parseExprAtom(s);
    }
    parseIdentifier(s) {
      return this.parsePlaceholder("Identifier") || super.parseIdentifier(s);
    }
    checkReservedWord(s, r, i, a) {
      s !== void 0 && super.checkReservedWord(s, r, i, a);
    }
    parseBindingAtom() {
      return this.parsePlaceholder("Pattern") || super.parseBindingAtom();
    }
    isValidLVal(s, r, i) {
      return s === "Placeholder" || super.isValidLVal(s, r, i);
    }
    toAssignable(s, r) {
      s && s.type === "Placeholder" && s.expectedNode === "Expression" ? s.expectedNode = "Pattern" : super.toAssignable(s, r);
    }
    chStartsBindingIdentifier(s, r) {
      return !!(super.chStartsBindingIdentifier(s, r) || this.lookahead().type === 133);
    }
    verifyBreakContinue(s, r) {
      s.label && s.label.type === "Placeholder" || super.verifyBreakContinue(s, r);
    }
    parseExpressionStatement(s, r) {
      var i;
      if (r.type !== "Placeholder" || (i = r.extra) != null && i.parenthesized)
        return super.parseExpressionStatement(s, r);
      if (this.match(14)) {
        let o = s;
        return o.label = this.finishPlaceholder(r, "Identifier"), this.next(), o.body = super.parseStatementOrSloppyAnnexBFunctionDeclaration(),
        this.finishNode(o, "LabeledStatement");
      }
      this.semicolon();
      let a = s;
      return a.name = r.name, this.finishPlaceholder(a, "Statement");
    }
    parseBlock(s, r, i) {
      return this.parsePlaceholder("BlockStatement") || super.parseBlock(s, r, i);
    }
    parseFunctionId(s) {
      return this.parsePlaceholder("Identifier") || super.parseFunctionId(s);
    }
    parseClass(s, r, i) {
      let a = r ? "ClassDeclaration" : "ClassExpression";
      this.next();
      let o = this.state.strict, l = this.parsePlaceholder("Identifier");
      if (l)
        if (this.match(81) || this.match(133) || this.match(5))
          s.id = l;
        else {
          if (i || !r)
            return s.id = null, s.body = this.finishPlaceholder(l, "ClassBody"), this.finishNode(s, a);
          throw this.raise(IU.ClassNameIsRequired, this.state.startLoc);
        }
      else
        this.parseClassId(s, r, i);
      return super.parseClassSuper(s), s.body = this.parsePlaceholder("ClassBody") || super.parseClassBody(!!s.superClass, o), this.finishNode(
      s, a);
    }
    parseExport(s, r) {
      let i = this.parsePlaceholder("Identifier");
      if (!i) return super.parseExport(s, r);
      let a = s;
      if (!this.isContextual(98) && !this.match(12))
        return a.specifiers = [], a.source = null, a.declaration = this.finishPlaceholder(i, "Declaration"), this.finishNode(a, "ExportNamed\
Declaration");
      this.expectPlugin("exportDefaultFrom");
      let o = this.startNode();
      return o.exported = i, a.specifiers = [this.finishNode(o, "ExportDefaultSpecifier")], super.parseExport(a, r);
    }
    isExportDefaultSpecifier() {
      if (this.match(65)) {
        let s = this.nextTokenStart();
        if (this.isUnparsedContextual(s, "from") && this.input.startsWith(Nc(133), this.nextTokenStartSince(s + 4)))
          return !0;
      }
      return super.isExportDefaultSpecifier();
    }
    maybeParseExportDefaultSpecifier(s, r) {
      var i;
      return (i = s.specifiers) != null && i.length ? !0 : super.maybeParseExportDefaultSpecifier(s, r);
    }
    checkExport(s) {
      let {
        specifiers: r
      } = s;
      r != null && r.length && (s.specifiers = r.filter((i) => i.exported.type === "Placeholder")), super.checkExport(s), s.specifiers = r;
    }
    parseImport(s) {
      let r = this.parsePlaceholder("Identifier");
      if (!r) return super.parseImport(s);
      if (s.specifiers = [], !this.isContextual(98) && !this.match(12))
        return s.source = this.finishPlaceholder(r, "StringLiteral"), this.semicolon(), this.finishNode(s, "ImportDeclaration");
      let i = this.startNodeAtNode(r);
      return i.local = r, s.specifiers.push(this.finishNode(i, "ImportDefaultSpecifier")), this.eat(12) && (this.maybeParseStarImportSpecifier(
      s) || this.parseNamedImportSpecifiers(s)), this.expectContextual(98), s.source = this.parseImportSource(), this.semicolon(), this.finishNode(
      s, "ImportDeclaration");
    }
    parseImportSource() {
      return this.parsePlaceholder("StringLiteral") || super.parseImportSource();
    }
    assertNoSpace() {
      this.state.start > this.offsetToSourcePos(this.state.lastTokEndLoc.index) && this.raise(IU.UnexpectedSpace, this.state.lastTokEndLoc);
    }
  }, "placeholders"), MMe = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "V8IntrinsicMixin");
    }
    parseV8Intrinsic() {
      if (this.match(54)) {
        let s = this.state.startLoc, r = this.startNode();
        if (this.next(), Ws(this.state.type)) {
          let i = this.parseIdentifierName(), a = this.createIdentifier(r, i);
          if (a.type = "V8IntrinsicIdentifier", this.match(10))
            return a;
        }
        this.unexpected(s);
      }
    }
    parseExprAtom(s) {
      return this.parseV8Intrinsic() || super.parseExprAtom(s);
    }
  }, "v8intrinsic"), NU = ["minimal", "fsharp", "hack", "smart"], kU = ["^^", "@@", "^", "%", "#"];
  function FMe(t) {
    if (t.has("decorators")) {
      if (t.has("decorators-legacy"))
        throw new Error("Cannot use the decorators and decorators-legacy plugin together");
      let s = t.get("decorators").decoratorsBeforeExport;
      if (s != null && typeof s != "boolean")
        throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");
      let r = t.get("decorators").allowCallParenthesized;
      if (r != null && typeof r != "boolean")
        throw new Error("'allowCallParenthesized' must be a boolean.");
    }
    if (t.has("flow") && t.has("typescript"))
      throw new Error("Cannot combine flow and typescript plugins.");
    if (t.has("placeholders") && t.has("v8intrinsic"))
      throw new Error("Cannot combine placeholders and v8intrinsic plugins.");
    if (t.has("pipelineOperator")) {
      var e;
      let s = t.get("pipelineOperator").proposal;
      if (!NU.includes(s)) {
        let i = NU.map((a) => `"${a}"`).join(", ");
        throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${i}.`);
      }
      let r = ((e = t.get("recordAndTuple")) == null ? void 0 : e.syntaxType) === "hash";
      if (s === "hack") {
        if (t.has("placeholders"))
          throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");
        if (t.has("v8intrinsic"))
          throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");
        let i = t.get("pipelineOperator").topicToken;
        if (!kU.includes(i)) {
          let a = kU.map((o) => `"${o}"`).join(", ");
          throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${a}\
.`);
        }
        if (i === "#" && r)
          throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "hack", topicToken: "#" }]\` and \`${JSON.stringify(["\
recordAndTuple", t.get("recordAndTuple")])}\`.`);
      } else if (s === "smart" && r)
        throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "smart" }]\` and \`${JSON.stringify(["recordAndTuple", t.
        get("recordAndTuple")])}\`.`);
    }
    if (t.has("moduleAttributes")) {
      if (t.has("deprecatedImportAssert") || t.has("importAssertions"))
        throw new Error("Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins.");
      if (t.get("moduleAttributes").version !== "may-2020")
        throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the on\
ly supported value is 'may-2020'.");
    }
    if (t.has("importAssertions") && t.has("deprecatedImportAssert"))
      throw new Error("Cannot combine importAssertions and deprecatedImportAssert plugins.");
    if (!t.has("deprecatedImportAssert") && t.has("importAttributes") && t.get("importAttributes").deprecatedAssertSyntax && t.set("deprecat\
edImportAssert", {}), t.has("recordAndTuple")) {
      let s = t.get("recordAndTuple").syntaxType;
      if (s != null) {
        let r = ["hash", "bar"];
        if (!r.includes(s))
          throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: " + r.map((i) => `'${i}'`).join(", "));
      }
    }
    if (t.has("asyncDoExpressions") && !t.has("doExpressions")) {
      let s = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");
      throw s.missingPlugins = "doExpressions", s;
    }
    if (t.has("optionalChainingAssign") && t.get("optionalChainingAssign").version !== "2023-07")
      throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, th\
e only supported value is '2023-07'.");
  }
  n(FMe, "validatePlugins");
  var HU = {
    estree: RBe,
    jsx: wMe,
    flow: vMe,
    typescript: DMe,
    v8intrinsic: MMe,
    placeholders: BMe
  }, jMe = Object.keys(HU), $I = class extends WI {
    static {
      n(this, "ExpressionParser");
    }
    checkProto(e, s, r, i) {
      if (e.type === "SpreadElement" || this.isObjectMethod(e) || e.computed || e.shorthand)
        return;
      let a = e.key;
      if ((a.type === "Identifier" ? a.name : a.value) === "__proto__") {
        if (s) {
          this.raise(G.RecordNoProto, a);
          return;
        }
        r.used && (i ? i.doubleProtoLoc === null && (i.doubleProtoLoc = a.loc.start) : this.raise(G.DuplicateProto, a)), r.used = !0;
      }
    }
    shouldExitDescending(e, s) {
      return e.type === "ArrowFunctionExpression" && this.offsetToSourcePos(e.start) === s;
    }
    getExpression() {
      this.enterInitialScopes(), this.nextToken();
      let e = this.parseExpression();
      return this.match(140) || this.unexpected(), this.finalizeRemainingComments(), e.comments = this.comments, e.errors = this.state.errors,
      this.optionFlags & 128 && (e.tokens = this.tokens), e;
    }
    parseExpression(e, s) {
      return e ? this.disallowInAnd(() => this.parseExpressionBase(s)) : this.allowInAnd(() => this.parseExpressionBase(s));
    }
    parseExpressionBase(e) {
      let s = this.state.startLoc, r = this.parseMaybeAssign(e);
      if (this.match(12)) {
        let i = this.startNodeAt(s);
        for (i.expressions = [r]; this.eat(12); )
          i.expressions.push(this.parseMaybeAssign(e));
        return this.toReferencedList(i.expressions), this.finishNode(i, "SequenceExpression");
      }
      return r;
    }
    parseMaybeAssignDisallowIn(e, s) {
      return this.disallowInAnd(() => this.parseMaybeAssign(e, s));
    }
    parseMaybeAssignAllowIn(e, s) {
      return this.allowInAnd(() => this.parseMaybeAssign(e, s));
    }
    setOptionalParametersError(e, s) {
      var r;
      e.optionalParametersLoc = (r = s?.loc) != null ? r : this.state.startLoc;
    }
    parseMaybeAssign(e, s) {
      let r = this.state.startLoc;
      if (this.isContextual(108) && this.prodParam.hasYield) {
        let l = this.parseYield();
        return s && (l = s.call(this, l, r)), l;
      }
      let i;
      e ? i = !1 : (e = new od(), i = !0);
      let {
        type: a
      } = this.state;
      (a === 10 || Ws(a)) && (this.state.potentialArrowAt = this.state.start);
      let o = this.parseMaybeConditional(e);
      if (s && (o = s.call(this, o, r)), WBe(this.state.type)) {
        let l = this.startNodeAt(r), u = this.state.value;
        if (l.operator = u, this.match(29)) {
          this.toAssignable(o, !0), l.left = o;
          let c = r.index;
          e.doubleProtoLoc != null && e.doubleProtoLoc.index >= c && (e.doubleProtoLoc = null), e.shorthandAssignLoc != null && e.shorthandAssignLoc.
          index >= c && (e.shorthandAssignLoc = null), e.privateKeyLoc != null && e.privateKeyLoc.index >= c && (this.checkDestructuringPrivate(
          e), e.privateKeyLoc = null);
        } else
          l.left = o;
        return this.next(), l.right = this.parseMaybeAssign(), this.checkLVal(o, this.finishNode(l, "AssignmentExpression")), l;
      } else i && this.checkExpressionErrors(e, !0);
      return o;
    }
    parseMaybeConditional(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseExprOps(e);
      return this.shouldExitDescending(i, r) ? i : this.parseConditional(i, s, e);
    }
    parseConditional(e, s, r) {
      if (this.eat(17)) {
        let i = this.startNodeAt(s);
        return i.test = e, i.consequent = this.parseMaybeAssignAllowIn(), this.expect(14), i.alternate = this.parseMaybeAssign(), this.finishNode(
        i, "ConditionalExpression");
      }
      return e;
    }
    parseMaybeUnaryOrPrivate(e) {
      return this.match(139) ? this.parsePrivateName() : this.parseMaybeUnary(e);
    }
    parseExprOps(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseMaybeUnaryOrPrivate(e);
      return this.shouldExitDescending(i, r) ? i : this.parseExprOp(i, s, -1);
    }
    parseExprOp(e, s, r) {
      if (this.isPrivateName(e)) {
        let a = this.getPrivateNameSV(e);
        (r >= Wb(58) || !this.prodParam.hasIn || !this.match(58)) && this.raise(G.PrivateInExpectedIn, e, {
          identifierName: a
        }), this.classScope.usePrivateName(a, e.loc.start);
      }
      let i = this.state.type;
      if (HBe(i) && (this.prodParam.hasIn || !this.match(58))) {
        let a = Wb(i);
        if (a > r) {
          if (i === 39) {
            if (this.expectPlugin("pipelineOperator"), this.state.inFSharpPipelineDirectBody)
              return e;
            this.checkPipelineAtInfixOperator(e, s);
          }
          let o = this.startNodeAt(s);
          o.left = e, o.operator = this.state.value;
          let l = i === 41 || i === 42, u = i === 40;
          if (u && (a = Wb(42)), this.next(), i === 39 && this.hasPlugin(["pipelineOperator", {
            proposal: "minimal"
          }]) && this.state.type === 96 && this.prodParam.hasAwait)
            throw this.raise(G.UnexpectedAwaitAfterPipelineBody, this.state.startLoc);
          o.right = this.parseExprOpRightExpr(i, a);
          let c = this.finishNode(o, l || u ? "LogicalExpression" : "BinaryExpression"), p = this.state.type;
          if (u && (p === 41 || p === 42) || l && p === 40)
            throw this.raise(G.MixingCoalesceWithLogical, this.state.startLoc);
          return this.parseExprOp(c, s, r);
        }
      }
      return e;
    }
    parseExprOpRightExpr(e, s) {
      let r = this.state.startLoc;
      switch (e) {
        case 39:
          switch (this.getPluginOption("pipelineOperator", "proposal")) {
            case "hack":
              return this.withTopicBindingContext(() => this.parseHackPipeBody());
            case "fsharp":
              return this.withSoloAwaitPermittingContext(() => this.parseFSharpPipelineBody(s));
          }
          if (this.getPluginOption("pipelineOperator", "proposal") === "smart")
            return this.withTopicBindingContext(() => {
              if (this.prodParam.hasYield && this.isContextual(108))
                throw this.raise(G.PipeBodyIsTighter, this.state.startLoc);
              return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(e, s), r);
            });
        default:
          return this.parseExprOpBaseRightExpr(e, s);
      }
    }
    parseExprOpBaseRightExpr(e, s) {
      let r = this.state.startLoc;
      return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), r, GBe(e) ? s - 1 : s);
    }
    parseHackPipeBody() {
      var e;
      let {
        startLoc: s
      } = this.state, r = this.parseMaybeAssign();
      return OBe.has(r.type) && !((e = r.extra) != null && e.parenthesized) && this.raise(G.PipeUnparenthesizedBody, s, {
        type: r.type
      }), this.topicReferenceWasUsedInCurrentContext() || this.raise(G.PipeTopicUnused, s), r;
    }
    checkExponentialAfterUnary(e) {
      this.match(57) && this.raise(G.UnexpectedTokenUnaryExponentiation, e.argument);
    }
    parseMaybeUnary(e, s) {
      let r = this.state.startLoc, i = this.isContextual(96);
      if (i && this.recordAwaitIfAllowed()) {
        this.next();
        let u = this.parseAwait(r);
        return s || this.checkExponentialAfterUnary(u), u;
      }
      let a = this.match(34), o = this.startNode();
      if (YBe(this.state.type)) {
        o.operator = this.state.value, o.prefix = !0, this.match(72) && this.expectPlugin("throwExpressions");
        let u = this.match(89);
        if (this.next(), o.argument = this.parseMaybeUnary(null, !0), this.checkExpressionErrors(e, !0), this.state.strict && u) {
          let c = o.argument;
          c.type === "Identifier" ? this.raise(G.StrictDelete, o) : this.hasPropertyAsPrivateName(c) && this.raise(G.DeletePrivateField, o);
        }
        if (!a)
          return s || this.checkExponentialAfterUnary(o), this.finishNode(o, "UnaryExpression");
      }
      let l = this.parseUpdate(o, a, e);
      if (i) {
        let {
          type: u
        } = this.state;
        if ((this.hasPlugin("v8intrinsic") ? wI(u) : wI(u) && !this.match(54)) && !this.isAmbiguousAwait())
          return this.raiseOverwrite(G.AwaitNotInAsyncContext, r), this.parseAwait(r);
      }
      return l;
    }
    parseUpdate(e, s, r) {
      if (s) {
        let o = e;
        return this.checkLVal(o.argument, this.finishNode(o, "UpdateExpression")), e;
      }
      let i = this.state.startLoc, a = this.parseExprSubscripts(r);
      if (this.checkExpressionErrors(r, !1)) return a;
      for (; JBe(this.state.type) && !this.canInsertSemicolon(); ) {
        let o = this.startNodeAt(i);
        o.operator = this.state.value, o.prefix = !1, o.argument = a, this.next(), this.checkLVal(a, a = this.finishNode(o, "UpdateExpressio\
n"));
      }
      return a;
    }
    parseExprSubscripts(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseExprAtom(e);
      return this.shouldExitDescending(i, r) ? i : this.parseSubscripts(i, s);
    }
    parseSubscripts(e, s, r) {
      let i = {
        optionalChainMember: !1,
        maybeAsyncArrow: this.atPossibleAsyncArrow(e),
        stop: !1
      };
      do
        e = this.parseSubscript(e, s, r, i), i.maybeAsyncArrow = !1;
      while (!i.stop);
      return e;
    }
    parseSubscript(e, s, r, i) {
      let {
        type: a
      } = this.state;
      if (!r && a === 15)
        return this.parseBind(e, s, r, i);
      if (Jb(a))
        return this.parseTaggedTemplateExpression(e, s, i);
      let o = !1;
      if (a === 18) {
        if (r && (this.raise(G.OptionalChainingNoNew, this.state.startLoc), this.lookaheadCharCode() === 40))
          return i.stop = !0, e;
        i.optionalChainMember = o = !0, this.next();
      }
      if (!r && this.match(10))
        return this.parseCoverCallAndAsyncArrowHead(e, s, i, o);
      {
        let l = this.eat(0);
        return l || o || this.eat(16) ? this.parseMember(e, s, i, l, o) : (i.stop = !0, e);
      }
    }
    parseMember(e, s, r, i, a) {
      let o = this.startNodeAt(s);
      return o.object = e, o.computed = i, i ? (o.property = this.parseExpression(), this.expect(3)) : this.match(139) ? (e.type === "Super" &&
      this.raise(G.SuperPrivateField, s), this.classScope.usePrivateName(this.state.value, this.state.startLoc), o.property = this.parsePrivateName()) :
      o.property = this.parseIdentifier(!0), r.optionalChainMember ? (o.optional = a, this.finishNode(o, "OptionalMemberExpression")) : this.
      finishNode(o, "MemberExpression");
    }
    parseBind(e, s, r, i) {
      let a = this.startNodeAt(s);
      return a.object = e, this.next(), a.callee = this.parseNoCallExpr(), i.stop = !0, this.parseSubscripts(this.finishNode(a, "BindExpress\
ion"), s, r);
    }
    parseCoverCallAndAsyncArrowHead(e, s, r, i) {
      let a = this.state.maybeInArrowParameters, o = null;
      this.state.maybeInArrowParameters = !0, this.next();
      let l = this.startNodeAt(s);
      l.callee = e;
      let {
        maybeAsyncArrow: u,
        optionalChainMember: c
      } = r;
      u && (this.expressionScope.enter(gMe()), o = new od()), c && (l.optional = i), i ? l.arguments = this.parseCallExpressionArguments(11) :
      l.arguments = this.parseCallExpressionArguments(11, e.type !== "Super", l, o);
      let p = this.finishCallExpression(l, c);
      return u && this.shouldParseAsyncArrow() && !i ? (r.stop = !0, this.checkDestructuringPrivate(o), this.expressionScope.validateAsPattern(),
      this.expressionScope.exit(), p = this.parseAsyncArrowFromCallExpression(this.startNodeAt(s), p)) : (u && (this.checkExpressionErrors(o,
      !0), this.expressionScope.exit()), this.toReferencedArguments(p)), this.state.maybeInArrowParameters = a, p;
    }
    toReferencedArguments(e, s) {
      this.toReferencedListDeep(e.arguments, s);
    }
    parseTaggedTemplateExpression(e, s, r) {
      let i = this.startNodeAt(s);
      return i.tag = e, i.quasi = this.parseTemplate(!0), r.optionalChainMember && this.raise(G.OptionalChainingNoTemplate, s), this.finishNode(
      i, "TaggedTemplateExpression");
    }
    atPossibleAsyncArrow(e) {
      return e.type === "Identifier" && e.name === "async" && this.state.lastTokEndLoc.index === e.end && !this.canInsertSemicolon() && e.end -
      e.start === 5 && this.offsetToSourcePos(e.start) === this.state.potentialArrowAt;
    }
    finishCallExpression(e, s) {
      if (e.callee.type === "Import")
        if (e.arguments.length === 0 || e.arguments.length > 2)
          this.raise(G.ImportCallArity, e);
        else
          for (let r of e.arguments)
            r.type === "SpreadElement" && this.raise(G.ImportCallSpreadArgument, r);
      return this.finishNode(e, s ? "OptionalCallExpression" : "CallExpression");
    }
    parseCallExpressionArguments(e, s, r, i) {
      let a = [], o = !0, l = this.state.inFSharpPipelineDirectBody;
      for (this.state.inFSharpPipelineDirectBody = !1; !this.eat(e); ) {
        if (o)
          o = !1;
        else if (this.expect(12), this.match(e)) {
          r && this.addTrailingCommaExtraToNode(r), this.next();
          break;
        }
        a.push(this.parseExprListItem(!1, i, s));
      }
      return this.state.inFSharpPipelineDirectBody = l, a;
    }
    shouldParseAsyncArrow() {
      return this.match(19) && !this.canInsertSemicolon();
    }
    parseAsyncArrowFromCallExpression(e, s) {
      var r;
      return this.resetPreviousNodeTrailingComments(s), this.expect(19), this.parseArrowExpression(e, s.arguments, !0, (r = s.extra) == null ?
      void 0 : r.trailingCommaLoc), s.innerComments && sg(e, s.innerComments), s.callee.trailingComments && sg(e, s.callee.trailingComments),
      e;
    }
    parseNoCallExpr() {
      let e = this.state.startLoc;
      return this.parseSubscripts(this.parseExprAtom(), e, !0);
    }
    parseExprAtom(e) {
      let s, r = null, {
        type: i
      } = this.state;
      switch (i) {
        case 79:
          return this.parseSuper();
        case 83:
          return s = this.startNode(), this.next(), this.match(16) ? this.parseImportMetaProperty(s) : this.match(10) ? this.optionFlags & 256 ?
          this.parseImportCall(s) : this.finishNode(s, "Import") : (this.raise(G.UnsupportedImport, this.state.lastTokStartLoc), this.finishNode(
          s, "Import"));
        case 78:
          return s = this.startNode(), this.next(), this.finishNode(s, "ThisExpression");
        case 90:
          return this.parseDo(this.startNode(), !1);
        case 56:
        case 31:
          return this.readRegexp(), this.parseRegExpLiteral(this.state.value);
        case 135:
          return this.parseNumericLiteral(this.state.value);
        case 136:
          return this.parseBigIntLiteral(this.state.value);
        case 134:
          return this.parseStringLiteral(this.state.value);
        case 84:
          return this.parseNullLiteral();
        case 85:
          return this.parseBooleanLiteral(!0);
        case 86:
          return this.parseBooleanLiteral(!1);
        case 10: {
          let a = this.state.potentialArrowAt === this.state.start;
          return this.parseParenAndDistinguishExpression(a);
        }
        case 2:
        case 1:
          return this.parseArrayLike(this.state.type === 2 ? 4 : 3, !1, !0);
        case 0:
          return this.parseArrayLike(3, !0, !1, e);
        case 6:
        case 7:
          return this.parseObjectLike(this.state.type === 6 ? 9 : 8, !1, !0);
        case 5:
          return this.parseObjectLike(8, !1, !1, e);
        case 68:
          return this.parseFunctionOrFunctionSent();
        case 26:
          r = this.parseDecorators();
        case 80:
          return this.parseClass(this.maybeTakeDecorators(r, this.startNode()), !1);
        case 77:
          return this.parseNewOrNewTarget();
        case 25:
        case 24:
          return this.parseTemplate(!1);
        case 15: {
          s = this.startNode(), this.next(), s.object = null;
          let a = s.callee = this.parseNoCallExpr();
          if (a.type === "MemberExpression")
            return this.finishNode(s, "BindExpression");
          throw this.raise(G.UnsupportedBind, a);
        }
        case 139:
          return this.raise(G.PrivateInExpectedIn, this.state.startLoc, {
            identifierName: this.state.value
          }), this.parsePrivateName();
        case 33:
          return this.parseTopicReferenceThenEqualsSign(54, "%");
        case 32:
          return this.parseTopicReferenceThenEqualsSign(44, "^");
        case 37:
        case 38:
          return this.parseTopicReference("hack");
        case 44:
        case 54:
        case 27: {
          let a = this.getPluginOption("pipelineOperator", "proposal");
          if (a)
            return this.parseTopicReference(a);
          this.unexpected();
          break;
        }
        case 47: {
          let a = this.input.codePointAt(this.nextTokenStart());
          Vl(a) || a === 62 ? this.expectOnePlugin(["jsx", "flow", "typescript"]) : this.unexpected();
          break;
        }
        default:
          if (i === 137)
            return this.parseDecimalLiteral(this.state.value);
          if (Ws(i)) {
            if (this.isContextual(127) && this.lookaheadInLineCharCode() === 123)
              return this.parseModuleExpression();
            let a = this.state.potentialArrowAt === this.state.start, o = this.state.containsEsc, l = this.parseIdentifier();
            if (!o && l.name === "async" && !this.canInsertSemicolon()) {
              let {
                type: u
              } = this.state;
              if (u === 68)
                return this.resetPreviousNodeTrailingComments(l), this.next(), this.parseAsyncFunctionExpression(this.startNodeAtNode(l));
              if (Ws(u))
                return this.lookaheadCharCode() === 61 ? this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(l)) : l;
              if (u === 90)
                return this.resetPreviousNodeTrailingComments(l), this.parseDo(this.startNodeAtNode(l), !0);
            }
            return a && this.match(19) && !this.canInsertSemicolon() ? (this.next(), this.parseArrowExpression(this.startNodeAtNode(l), [l],
            !1)) : l;
          } else
            this.unexpected();
      }
    }
    parseTopicReferenceThenEqualsSign(e, s) {
      let r = this.getPluginOption("pipelineOperator", "proposal");
      if (r)
        return this.state.type = e, this.state.value = s, this.state.pos--, this.state.end--, this.state.endLoc = gn(this.state.endLoc, -1),
        this.parseTopicReference(r);
      this.unexpected();
    }
    parseTopicReference(e) {
      let s = this.startNode(), r = this.state.startLoc, i = this.state.type;
      return this.next(), this.finishTopicReference(s, r, e, i);
    }
    finishTopicReference(e, s, r, i) {
      if (this.testTopicReferenceConfiguration(r, s, i))
        return r === "hack" ? (this.topicReferenceIsAllowedInCurrentContext() || this.raise(G.PipeTopicUnbound, s), this.registerTopicReference(),
        this.finishNode(e, "TopicReference")) : (this.topicReferenceIsAllowedInCurrentContext() || this.raise(G.PrimaryTopicNotAllowed, s), this.
        registerTopicReference(), this.finishNode(e, "PipelinePrimaryTopicReference"));
      throw this.raise(G.PipeTopicUnconfiguredToken, s, {
        token: Nc(i)
      });
    }
    testTopicReferenceConfiguration(e, s, r) {
      switch (e) {
        case "hack":
          return this.hasPlugin(["pipelineOperator", {
            topicToken: Nc(r)
          }]);
        case "smart":
          return r === 27;
        default:
          throw this.raise(G.PipeTopicRequiresHackPipes, s);
      }
    }
    parseAsyncArrowUnaryFunction(e) {
      this.prodParam.enter($b(!0, this.prodParam.hasYield));
      let s = [this.parseIdentifier()];
      return this.prodParam.exit(), this.hasPrecedingLineBreak() && this.raise(G.LineTerminatorBeforeArrow, this.state.curPosition()), this.
      expect(19), this.parseArrowExpression(e, s, !0);
    }
    parseDo(e, s) {
      this.expectPlugin("doExpressions"), s && this.expectPlugin("asyncDoExpressions"), e.async = s, this.next();
      let r = this.state.labels;
      return this.state.labels = [], s ? (this.prodParam.enter(2), e.body = this.parseBlock(), this.prodParam.exit()) : e.body = this.parseBlock(),
      this.state.labels = r, this.finishNode(e, "DoExpression");
    }
    parseSuper() {
      let e = this.startNode();
      return this.next(), this.match(10) && !this.scope.allowDirectSuper && !(this.optionFlags & 16) ? this.raise(G.SuperNotAllowed, e) : !this.
      scope.allowSuper && !(this.optionFlags & 16) && this.raise(G.UnexpectedSuper, e), !this.match(10) && !this.match(0) && !this.match(16) &&
      this.raise(G.UnsupportedSuper, e), this.finishNode(e, "Super");
    }
    parsePrivateName() {
      let e = this.startNode(), s = this.startNodeAt(gn(this.state.startLoc, 1)), r = this.state.value;
      return this.next(), e.id = this.createIdentifier(s, r), this.finishNode(e, "PrivateName");
    }
    parseFunctionOrFunctionSent() {
      let e = this.startNode();
      if (this.next(), this.prodParam.hasYield && this.match(16)) {
        let s = this.createIdentifier(this.startNodeAtNode(e), "function");
        return this.next(), this.match(103) ? this.expectPlugin("functionSent") : this.hasPlugin("functionSent") || this.unexpected(), this.
        parseMetaProperty(e, s, "sent");
      }
      return this.parseFunction(e);
    }
    parseMetaProperty(e, s, r) {
      e.meta = s;
      let i = this.state.containsEsc;
      return e.property = this.parseIdentifier(!0), (e.property.name !== r || i) && this.raise(G.UnsupportedMetaProperty, e.property, {
        target: s.name,
        onlyValidPropertyName: r
      }), this.finishNode(e, "MetaProperty");
    }
    parseImportMetaProperty(e) {
      let s = this.createIdentifier(this.startNodeAtNode(e), "import");
      if (this.next(), this.isContextual(101))
        this.inModule || this.raise(G.ImportMetaOutsideModule, s), this.sawUnambiguousESM = !0;
      else if (this.isContextual(105) || this.isContextual(97)) {
        let r = this.isContextual(105);
        if (this.expectPlugin(r ? "sourcePhaseImports" : "deferredImportEvaluation"), !(this.optionFlags & 256))
          throw this.raise(G.DynamicImportPhaseRequiresImportExpressions, this.state.startLoc, {
            phase: this.state.value
          });
        return this.next(), e.phase = r ? "source" : "defer", this.parseImportCall(e);
      }
      return this.parseMetaProperty(e, s, "meta");
    }
    parseLiteralAtNode(e, s, r) {
      return this.addExtra(r, "rawValue", e), this.addExtra(r, "raw", this.input.slice(this.offsetToSourcePos(r.start), this.state.end)), r.
      value = e, this.next(), this.finishNode(r, s);
    }
    parseLiteral(e, s) {
      let r = this.startNode();
      return this.parseLiteralAtNode(e, s, r);
    }
    parseStringLiteral(e) {
      return this.parseLiteral(e, "StringLiteral");
    }
    parseNumericLiteral(e) {
      return this.parseLiteral(e, "NumericLiteral");
    }
    parseBigIntLiteral(e) {
      return this.parseLiteral(e, "BigIntLiteral");
    }
    parseDecimalLiteral(e) {
      return this.parseLiteral(e, "DecimalLiteral");
    }
    parseRegExpLiteral(e) {
      let s = this.startNode();
      return this.addExtra(s, "raw", this.input.slice(this.offsetToSourcePos(s.start), this.state.end)), s.pattern = e.pattern, s.flags = e.
      flags, this.next(), this.finishNode(s, "RegExpLiteral");
    }
    parseBooleanLiteral(e) {
      let s = this.startNode();
      return s.value = e, this.next(), this.finishNode(s, "BooleanLiteral");
    }
    parseNullLiteral() {
      let e = this.startNode();
      return this.next(), this.finishNode(e, "NullLiteral");
    }
    parseParenAndDistinguishExpression(e) {
      let s = this.state.startLoc, r;
      this.next(), this.expressionScope.enter(yMe());
      let i = this.state.maybeInArrowParameters, a = this.state.inFSharpPipelineDirectBody;
      this.state.maybeInArrowParameters = !0, this.state.inFSharpPipelineDirectBody = !1;
      let o = this.state.startLoc, l = [], u = new od(), c = !0, p, h;
      for (; !this.match(11); ) {
        if (c)
          c = !1;
        else if (this.expect(12, u.optionalParametersLoc === null ? null : u.optionalParametersLoc), this.match(11)) {
          h = this.state.startLoc;
          break;
        }
        if (this.match(21)) {
          let m = this.state.startLoc;
          if (p = this.state.startLoc, l.push(this.parseParenItem(this.parseRestBinding(), m)), !this.checkCommaAfterRest(41))
            break;
        } else
          l.push(this.parseMaybeAssignAllowIn(u, this.parseParenItem));
      }
      let f = this.state.lastTokEndLoc;
      this.expect(11), this.state.maybeInArrowParameters = i, this.state.inFSharpPipelineDirectBody = a;
      let d = this.startNodeAt(s);
      return e && this.shouldParseArrow(l) && (d = this.parseArrow(d)) ? (this.checkDestructuringPrivate(u), this.expressionScope.validateAsPattern(),
      this.expressionScope.exit(), this.parseArrowExpression(d, l, !1), d) : (this.expressionScope.exit(), l.length || this.unexpected(this.
      state.lastTokStartLoc), h && this.unexpected(h), p && this.unexpected(p), this.checkExpressionErrors(u, !0), this.toReferencedListDeep(
      l, !0), l.length > 1 ? (r = this.startNodeAt(o), r.expressions = l, this.finishNode(r, "SequenceExpression"), this.resetEndLocation(r,
      f)) : r = l[0], this.wrapParenthesis(s, r));
    }
    wrapParenthesis(e, s) {
      if (!(this.optionFlags & 512))
        return this.addExtra(s, "parenthesized", !0), this.addExtra(s, "parenStart", e.index), this.takeSurroundingComments(s, e.index, this.
        state.lastTokEndLoc.index), s;
      let r = this.startNodeAt(e);
      return r.expression = s, this.finishNode(r, "ParenthesizedExpression");
    }
    shouldParseArrow(e) {
      return !this.canInsertSemicolon();
    }
    parseArrow(e) {
      if (this.eat(19))
        return e;
    }
    parseParenItem(e, s) {
      return e;
    }
    parseNewOrNewTarget() {
      let e = this.startNode();
      if (this.next(), this.match(16)) {
        let s = this.createIdentifier(this.startNodeAtNode(e), "new");
        this.next();
        let r = this.parseMetaProperty(e, s, "target");
        return !this.scope.inNonArrowFunction && !this.scope.inClass && !(this.optionFlags & 4) && this.raise(G.UnexpectedNewTarget, r), r;
      }
      return this.parseNew(e);
    }
    parseNew(e) {
      if (this.parseNewCallee(e), this.eat(10)) {
        let s = this.parseExprList(11);
        this.toReferencedList(s), e.arguments = s;
      } else
        e.arguments = [];
      return this.finishNode(e, "NewExpression");
    }
    parseNewCallee(e) {
      let s = this.match(83), r = this.parseNoCallExpr();
      e.callee = r, s && (r.type === "Import" || r.type === "ImportExpression") && this.raise(G.ImportCallNotNewExpression, r);
    }
    parseTemplateElement(e) {
      let {
        start: s,
        startLoc: r,
        end: i,
        value: a
      } = this.state, o = s + 1, l = this.startNodeAt(gn(r, 1));
      a === null && (e || this.raise(G.InvalidEscapeSequenceTemplate, gn(this.state.firstInvalidTemplateEscapePos, 1)));
      let u = this.match(24), c = u ? -1 : -2, p = i + c;
      l.value = {
        raw: this.input.slice(o, p).replace(/\r\n?/g, `
`),
        cooked: a === null ? null : a.slice(1, c)
      }, l.tail = u, this.next();
      let h = this.finishNode(l, "TemplateElement");
      return this.resetEndLocation(h, gn(this.state.lastTokEndLoc, c)), h;
    }
    parseTemplate(e) {
      let s = this.startNode(), r = this.parseTemplateElement(e), i = [r], a = [];
      for (; !r.tail; )
        a.push(this.parseTemplateSubstitution()), this.readTemplateContinuation(), i.push(r = this.parseTemplateElement(e));
      return s.expressions = a, s.quasis = i, this.finishNode(s, "TemplateLiteral");
    }
    parseTemplateSubstitution() {
      return this.parseExpression();
    }
    parseObjectLike(e, s, r, i) {
      r && this.expectPlugin("recordAndTuple");
      let a = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !1;
      let o = /* @__PURE__ */ Object.create(null), l = !0, u = this.startNode();
      for (u.properties = [], this.next(); !this.match(e); ) {
        if (l)
          l = !1;
        else if (this.expect(12), this.match(e)) {
          this.addTrailingCommaExtraToNode(u);
          break;
        }
        let p;
        s ? p = this.parseBindingProperty() : (p = this.parsePropertyDefinition(i), this.checkProto(p, r, o, i)), r && !this.isObjectProperty(
        p) && p.type !== "SpreadElement" && this.raise(G.InvalidRecordProperty, p), p.shorthand && this.addExtra(p, "shorthand", !0), u.properties.
        push(p);
      }
      this.next(), this.state.inFSharpPipelineDirectBody = a;
      let c = "ObjectExpression";
      return s ? c = "ObjectPattern" : r && (c = "RecordExpression"), this.finishNode(u, c);
    }
    addTrailingCommaExtraToNode(e) {
      this.addExtra(e, "trailingComma", this.state.lastTokStartLoc.index), this.addExtra(e, "trailingCommaLoc", this.state.lastTokStartLoc, !1);
    }
    maybeAsyncOrAccessorProp(e) {
      return !e.computed && e.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(0) || this.match(55));
    }
    parsePropertyDefinition(e) {
      let s = [];
      if (this.match(26))
        for (this.hasPlugin("decorators") && this.raise(G.UnsupportedPropertyDecorator, this.state.startLoc); this.match(26); )
          s.push(this.parseDecorator());
      let r = this.startNode(), i = !1, a = !1, o;
      if (this.match(21))
        return s.length && this.unexpected(), this.parseSpread();
      s.length && (r.decorators = s, s = []), r.method = !1, e && (o = this.state.startLoc);
      let l = this.eat(55);
      this.parsePropertyNamePrefixOperator(r);
      let u = this.state.containsEsc;
      if (this.parsePropertyName(r, e), !l && !u && this.maybeAsyncOrAccessorProp(r)) {
        let {
          key: c
        } = r, p = c.name;
        p === "async" && !this.hasPrecedingLineBreak() && (i = !0, this.resetPreviousNodeTrailingComments(c), l = this.eat(55), this.parsePropertyName(
        r)), (p === "get" || p === "set") && (a = !0, this.resetPreviousNodeTrailingComments(c), r.kind = p, this.match(55) && (l = !0, this.
        raise(G.AccessorIsGenerator, this.state.curPosition(), {
          kind: p
        }), this.next()), this.parsePropertyName(r));
      }
      return this.parseObjPropValue(r, o, l, i, !1, a, e);
    }
    getGetterSetterExpectedParamCount(e) {
      return e.kind === "get" ? 0 : 1;
    }
    getObjectOrClassMethodParams(e) {
      return e.params;
    }
    checkGetterSetterParams(e) {
      var s;
      let r = this.getGetterSetterExpectedParamCount(e), i = this.getObjectOrClassMethodParams(e);
      i.length !== r && this.raise(e.kind === "get" ? G.BadGetterArity : G.BadSetterArity, e), e.kind === "set" && ((s = i[i.length - 1]) ==
      null ? void 0 : s.type) === "RestElement" && this.raise(G.BadSetterRestParameter, e);
    }
    parseObjectMethod(e, s, r, i, a) {
      if (a) {
        let o = this.parseMethod(e, s, !1, !1, !1, "ObjectMethod");
        return this.checkGetterSetterParams(o), o;
      }
      if (r || s || this.match(10))
        return i && this.unexpected(), e.kind = "method", e.method = !0, this.parseMethod(e, s, r, !1, !1, "ObjectMethod");
    }
    parseObjectProperty(e, s, r, i) {
      if (e.shorthand = !1, this.eat(14))
        return e.value = r ? this.parseMaybeDefault(this.state.startLoc) : this.parseMaybeAssignAllowIn(i), this.finishNode(e, "ObjectProper\
ty");
      if (!e.computed && e.key.type === "Identifier") {
        if (this.checkReservedWord(e.key.name, e.key.loc.start, !0, !1), r)
          e.value = this.parseMaybeDefault(s, $l(e.key));
        else if (this.match(29)) {
          let a = this.state.startLoc;
          i != null ? i.shorthandAssignLoc === null && (i.shorthandAssignLoc = a) : this.raise(G.InvalidCoverInitializedName, a), e.value = this.
          parseMaybeDefault(s, $l(e.key));
        } else
          e.value = $l(e.key);
        return e.shorthand = !0, this.finishNode(e, "ObjectProperty");
      }
    }
    parseObjPropValue(e, s, r, i, a, o, l) {
      let u = this.parseObjectMethod(e, r, i, a, o) || this.parseObjectProperty(e, s, a, l);
      return u || this.unexpected(), u;
    }
    parsePropertyName(e, s) {
      if (this.eat(0))
        e.computed = !0, e.key = this.parseMaybeAssignAllowIn(), this.expect(3);
      else {
        let {
          type: r,
          value: i
        } = this.state, a;
        if (mo(r))
          a = this.parseIdentifier(!0);
        else
          switch (r) {
            case 135:
              a = this.parseNumericLiteral(i);
              break;
            case 134:
              a = this.parseStringLiteral(i);
              break;
            case 136:
              a = this.parseBigIntLiteral(i);
              break;
            case 139: {
              let o = this.state.startLoc;
              s != null ? s.privateKeyLoc === null && (s.privateKeyLoc = o) : this.raise(G.UnexpectedPrivateField, o), a = this.parsePrivateName();
              break;
            }
            default:
              if (r === 137) {
                a = this.parseDecimalLiteral(i);
                break;
              }
              this.unexpected();
          }
        e.key = a, r !== 139 && (e.computed = !1);
      }
    }
    initFunction(e, s) {
      e.id = null, e.generator = !1, e.async = s;
    }
    parseMethod(e, s, r, i, a, o, l = !1) {
      this.initFunction(e, r), e.generator = s, this.scope.enter(18 | (l ? 64 : 0) | (a ? 32 : 0)), this.prodParam.enter($b(r, e.generator)),
      this.parseFunctionParams(e, i);
      let u = this.parseFunctionBodyAndFinish(e, o, !0);
      return this.prodParam.exit(), this.scope.exit(), u;
    }
    parseArrayLike(e, s, r, i) {
      r && this.expectPlugin("recordAndTuple");
      let a = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !1;
      let o = this.startNode();
      return this.next(), o.elements = this.parseExprList(e, !r, i, o), this.state.inFSharpPipelineDirectBody = a, this.finishNode(o, r ? "T\
upleExpression" : "ArrayExpression");
    }
    parseArrowExpression(e, s, r, i) {
      this.scope.enter(6);
      let a = $b(r, !1);
      !this.match(5) && this.prodParam.hasIn && (a |= 8), this.prodParam.enter(a), this.initFunction(e, r);
      let o = this.state.maybeInArrowParameters;
      return s && (this.state.maybeInArrowParameters = !0, this.setArrowFunctionParameters(e, s, i)), this.state.maybeInArrowParameters = !1,
      this.parseFunctionBody(e, !0), this.prodParam.exit(), this.scope.exit(), this.state.maybeInArrowParameters = o, this.finishNode(e, "Ar\
rowFunctionExpression");
    }
    setArrowFunctionParameters(e, s, r) {
      this.toAssignableList(s, r, !1), e.params = s;
    }
    parseFunctionBodyAndFinish(e, s, r = !1) {
      return this.parseFunctionBody(e, !1, r), this.finishNode(e, s);
    }
    parseFunctionBody(e, s, r = !1) {
      let i = s && !this.match(5);
      if (this.expressionScope.enter(KU()), i)
        e.body = this.parseMaybeAssign(), this.checkParams(e, !1, s, !1);
      else {
        let a = this.state.strict, o = this.state.labels;
        this.state.labels = [], this.prodParam.enter(this.prodParam.currentFlags() | 4), e.body = this.parseBlock(!0, !1, (l) => {
          let u = !this.isSimpleParamList(e.params);
          l && u && this.raise(G.IllegalLanguageModeDirective, (e.kind === "method" || e.kind === "constructor") && e.key ? e.key.loc.end : e);
          let c = !a && this.state.strict;
          this.checkParams(e, !this.state.strict && !s && !r && !u, s, c), this.state.strict && e.id && this.checkIdentifier(e.id, 65, c);
        }), this.prodParam.exit(), this.state.labels = o;
      }
      this.expressionScope.exit();
    }
    isSimpleParameter(e) {
      return e.type === "Identifier";
    }
    isSimpleParamList(e) {
      for (let s = 0, r = e.length; s < r; s++)
        if (!this.isSimpleParameter(e[s])) return !1;
      return !0;
    }
    checkParams(e, s, r, i = !0) {
      let a = !s && /* @__PURE__ */ new Set(), o = {
        type: "FormalParameters"
      };
      for (let l of e.params)
        this.checkLVal(l, o, 5, a, i);
    }
    parseExprList(e, s, r, i) {
      let a = [], o = !0;
      for (; !this.eat(e); ) {
        if (o)
          o = !1;
        else if (this.expect(12), this.match(e)) {
          i && this.addTrailingCommaExtraToNode(i), this.next();
          break;
        }
        a.push(this.parseExprListItem(s, r));
      }
      return a;
    }
    parseExprListItem(e, s, r) {
      let i;
      if (this.match(12))
        e || this.raise(G.UnexpectedToken, this.state.curPosition(), {
          unexpected: ","
        }), i = null;
      else if (this.match(21)) {
        let a = this.state.startLoc;
        i = this.parseParenItem(this.parseSpread(s), a);
      } else if (this.match(17)) {
        this.expectPlugin("partialApplication"), r || this.raise(G.UnexpectedArgumentPlaceholder, this.state.startLoc);
        let a = this.startNode();
        this.next(), i = this.finishNode(a, "ArgumentPlaceholder");
      } else
        i = this.parseMaybeAssignAllowIn(s, this.parseParenItem);
      return i;
    }
    parseIdentifier(e) {
      let s = this.startNode(), r = this.parseIdentifierName(e);
      return this.createIdentifier(s, r);
    }
    createIdentifier(e, s) {
      return e.name = s, e.loc.identifierName = s, this.finishNode(e, "Identifier");
    }
    parseIdentifierName(e) {
      let s, {
        startLoc: r,
        type: i
      } = this.state;
      mo(i) ? s = this.state.value : this.unexpected();
      let a = KBe(i);
      return e ? a && this.replaceToken(132) : this.checkReservedWord(s, r, a, !1), this.next(), s;
    }
    checkReservedWord(e, s, r, i) {
      if (e.length > 10 || !oMe(e))
        return;
      if (r && iMe(e)) {
        this.raise(G.UnexpectedKeyword, s, {
          keyword: e
        });
        return;
      }
      if ((this.state.strict ? i ? jU : MU : BU)(e, this.inModule)) {
        this.raise(G.UnexpectedReservedWord, s, {
          reservedWord: e
        });
        return;
      } else if (e === "yield") {
        if (this.prodParam.hasYield) {
          this.raise(G.YieldBindingIdentifier, s);
          return;
        }
      } else if (e === "await") {
        if (this.prodParam.hasAwait) {
          this.raise(G.AwaitBindingIdentifier, s);
          return;
        }
        if (this.scope.inStaticBlock) {
          this.raise(G.AwaitBindingIdentifierInStaticBlock, s);
          return;
        }
        this.expressionScope.recordAsyncArrowParametersError(s);
      } else if (e === "arguments" && this.scope.inClassAndNotInNonArrowFunction) {
        this.raise(G.ArgumentsInClass, s);
        return;
      }
    }
    recordAwaitIfAllowed() {
      let e = this.prodParam.hasAwait || this.optionFlags & 1 && !this.scope.inFunction;
      return e && !this.scope.inFunction && (this.state.hasTopLevelAwait = !0), e;
    }
    parseAwait(e) {
      let s = this.startNodeAt(e);
      return this.expressionScope.recordParameterInitializerError(G.AwaitExpressionFormalParameter, s), this.eat(55) && this.raise(G.ObsoleteAwaitStar,
      s), !this.scope.inFunction && !(this.optionFlags & 1) && (this.isAmbiguousAwait() ? this.ambiguousScriptDifferentAst = !0 : this.sawUnambiguousESM =
      !0), this.state.soloAwait || (s.argument = this.parseMaybeUnary(null, !0)), this.finishNode(s, "AwaitExpression");
    }
    isAmbiguousAwait() {
      if (this.hasPrecedingLineBreak()) return !0;
      let {
        type: e
      } = this.state;
      return e === 53 || e === 10 || e === 0 || Jb(e) || e === 102 && !this.state.containsEsc || e === 138 || e === 56 || this.hasPlugin("v8\
intrinsic") && e === 54;
    }
    parseYield() {
      let e = this.startNode();
      this.expressionScope.recordParameterInitializerError(G.YieldInParameter, e), this.next();
      let s = !1, r = null;
      if (!this.hasPrecedingLineBreak())
        switch (s = this.eat(55), this.state.type) {
          case 13:
          case 140:
          case 8:
          case 11:
          case 3:
          case 9:
          case 14:
          case 12:
            if (!s) break;
          default:
            r = this.parseMaybeAssign();
        }
      return e.delegate = s, e.argument = r, this.finishNode(e, "YieldExpression");
    }
    parseImportCall(e) {
      if (this.next(), e.source = this.parseMaybeAssignAllowIn(), e.options = null, this.eat(12) && !this.match(11) && (e.options = this.parseMaybeAssignAllowIn(),
      this.eat(12) && !this.match(11))) {
        do
          this.parseMaybeAssignAllowIn();
        while (this.eat(12) && !this.match(11));
        this.raise(G.ImportCallArity, e);
      }
      return this.expect(11), this.finishNode(e, "ImportExpression");
    }
    checkPipelineAtInfixOperator(e, s) {
      this.hasPlugin(["pipelineOperator", {
        proposal: "smart"
      }]) && e.type === "SequenceExpression" && this.raise(G.PipelineHeadSequenceExpression, s);
    }
    parseSmartPipelineBodyInStyle(e, s) {
      if (this.isSimpleReference(e)) {
        let r = this.startNodeAt(s);
        return r.callee = e, this.finishNode(r, "PipelineBareFunction");
      } else {
        let r = this.startNodeAt(s);
        return this.checkSmartPipeTopicBodyEarlyErrors(s), r.expression = e, this.finishNode(r, "PipelineTopicExpression");
      }
    }
    isSimpleReference(e) {
      switch (e.type) {
        case "MemberExpression":
          return !e.computed && this.isSimpleReference(e.object);
        case "Identifier":
          return !0;
        default:
          return !1;
      }
    }
    checkSmartPipeTopicBodyEarlyErrors(e) {
      if (this.match(19))
        throw this.raise(G.PipelineBodyNoArrow, this.state.startLoc);
      this.topicReferenceWasUsedInCurrentContext() || this.raise(G.PipelineTopicUnused, e);
    }
    withTopicBindingContext(e) {
      let s = this.state.topicContext;
      this.state.topicContext = {
        maxNumOfResolvableTopics: 1,
        maxTopicIndex: null
      };
      try {
        return e();
      } finally {
        this.state.topicContext = s;
      }
    }
    withSmartMixTopicForbiddingContext(e) {
      if (this.hasPlugin(["pipelineOperator", {
        proposal: "smart"
      }])) {
        let s = this.state.topicContext;
        this.state.topicContext = {
          maxNumOfResolvableTopics: 0,
          maxTopicIndex: null
        };
        try {
          return e();
        } finally {
          this.state.topicContext = s;
        }
      } else
        return e();
    }
    withSoloAwaitPermittingContext(e) {
      let s = this.state.soloAwait;
      this.state.soloAwait = !0;
      try {
        return e();
      } finally {
        this.state.soloAwait = s;
      }
    }
    allowInAnd(e) {
      let s = this.prodParam.currentFlags();
      if (8 & ~s) {
        this.prodParam.enter(s | 8);
        try {
          return e();
        } finally {
          this.prodParam.exit();
        }
      }
      return e();
    }
    disallowInAnd(e) {
      let s = this.prodParam.currentFlags();
      if (8 & s) {
        this.prodParam.enter(s & -9);
        try {
          return e();
        } finally {
          this.prodParam.exit();
        }
      }
      return e();
    }
    registerTopicReference() {
      this.state.topicContext.maxTopicIndex = 0;
    }
    topicReferenceIsAllowedInCurrentContext() {
      return this.state.topicContext.maxNumOfResolvableTopics >= 1;
    }
    topicReferenceWasUsedInCurrentContext() {
      return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0;
    }
    parseFSharpPipelineBody(e) {
      let s = this.state.startLoc;
      this.state.potentialArrowAt = this.state.start;
      let r = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !0;
      let i = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), s, e);
      return this.state.inFSharpPipelineDirectBody = r, i;
    }
    parseModuleExpression() {
      this.expectPlugin("moduleBlocks");
      let e = this.startNode();
      this.next(), this.match(5) || this.unexpected(null, 5);
      let s = this.startNodeAt(this.state.endLoc);
      this.next();
      let r = this.initializeScopes(!0);
      this.enterInitialScopes();
      try {
        e.body = this.parseProgram(s, 8, "module");
      } finally {
        r();
      }
      return this.finishNode(e, "ModuleExpression");
    }
    parsePropertyNamePrefixOperator(e) {
    }
  }, vI = {
    kind: 1
  }, RMe = {
    kind: 2
  }, qMe = /[\uD800-\uDFFF]/u, CI = /in(?:stanceof)?/y;
  function UMe(t, e, s) {
    for (let r = 0; r < t.length; r++) {
      let i = t[r], {
        type: a
      } = i;
      if (typeof a == "number") {
        {
          if (a === 139) {
            let {
              loc: o,
              start: l,
              value: u,
              end: c
            } = i, p = l + 1, h = gn(o.start, 1);
            t.splice(r, 1, new Go({
              type: Ul(27),
              value: "#",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            }), new Go({
              type: Ul(132),
              value: u,
              start: p,
              end: c,
              startLoc: h,
              endLoc: o.end
            })), r++;
            continue;
          }
          if (Jb(a)) {
            let {
              loc: o,
              start: l,
              value: u,
              end: c
            } = i, p = l + 1, h = gn(o.start, 1), f;
            e.charCodeAt(l - s) === 96 ? f = new Go({
              type: Ul(22),
              value: "`",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            }) : f = new Go({
              type: Ul(8),
              value: "}",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            });
            let d, m, y, T;
            a === 24 ? (m = c - 1, y = gn(o.end, -1), d = u === null ? null : u.slice(1, -1), T = new Go({
              type: Ul(22),
              value: "`",
              start: m,
              end: c,
              startLoc: y,
              endLoc: o.end
            })) : (m = c - 2, y = gn(o.end, -2), d = u === null ? null : u.slice(1, -2), T = new Go({
              type: Ul(23),
              value: "${",
              start: m,
              end: c,
              startLoc: y,
              endLoc: o.end
            })), t.splice(r, 1, f, new Go({
              type: Ul(20),
              value: d,
              start: p,
              end: m,
              startLoc: h,
              endLoc: y
            }), T), r += 2;
            continue;
          }
        }
        i.type = Ul(a);
      }
    }
    return t;
  }
  n(UMe, "babel7CompatTokens");
  var HI = class extends $I {
    static {
      n(this, "StatementParser");
    }
    parseTopLevel(e, s) {
      return e.program = this.parseProgram(s), e.comments = this.comments, this.optionFlags & 128 && (e.tokens = UMe(this.tokens, this.input,
      this.startIndex)), this.finishNode(e, "File");
    }
    parseProgram(e, s = 140, r = this.options.sourceType) {
      if (e.sourceType = r, e.interpreter = this.parseInterpreterDirective(), this.parseBlockBody(e, !0, !0, s), this.inModule) {
        if (!(this.optionFlags & 32) && this.scope.undefinedExports.size > 0)
          for (let [a, o] of Array.from(this.scope.undefinedExports))
            this.raise(G.ModuleExportUndefined, o, {
              localName: a
            });
        this.addExtra(e, "topLevelAwait", this.state.hasTopLevelAwait);
      }
      let i;
      return s === 140 ? i = this.finishNode(e, "Program") : i = this.finishNodeAt(e, "Program", gn(this.state.startLoc, -1)), i;
    }
    stmtToDirective(e) {
      let s = e;
      s.type = "Directive", s.value = s.expression, delete s.expression;
      let r = s.value, i = r.value, a = this.input.slice(this.offsetToSourcePos(r.start), this.offsetToSourcePos(r.end)), o = r.value = a.slice(
      1, -1);
      return this.addExtra(r, "raw", a), this.addExtra(r, "rawValue", o), this.addExtra(r, "expressionValue", i), r.type = "DirectiveLiteral",
      s;
    }
    parseInterpreterDirective() {
      if (!this.match(28))
        return null;
      let e = this.startNode();
      return e.value = this.state.value, this.next(), this.finishNode(e, "InterpreterDirective");
    }
    isLet() {
      return this.isContextual(100) ? this.hasFollowingBindingAtom() : !1;
    }
    chStartsBindingIdentifier(e, s) {
      if (Vl(e)) {
        if (CI.lastIndex = s, CI.test(this.input)) {
          let r = this.codePointAtPos(CI.lastIndex);
          if (!nd(r) && r !== 92)
            return !1;
        }
        return !0;
      } else return e === 92;
    }
    chStartsBindingPattern(e) {
      return e === 91 || e === 123;
    }
    hasFollowingBindingAtom() {
      let e = this.nextTokenStart(), s = this.codePointAtPos(e);
      return this.chStartsBindingPattern(s) || this.chStartsBindingIdentifier(s, e);
    }
    hasInLineFollowingBindingIdentifierOrBrace() {
      let e = this.nextTokenInLineStart(), s = this.codePointAtPos(e);
      return s === 123 || this.chStartsBindingIdentifier(s, e);
    }
    startsUsingForOf() {
      let {
        type: e,
        containsEsc: s
      } = this.lookahead();
      if (e === 102 && !s)
        return !1;
      if (Ws(e) && !this.hasFollowingLineBreak())
        return this.expectPlugin("explicitResourceManagement"), !0;
    }
    startsAwaitUsing() {
      let e = this.nextTokenInLineStart();
      if (this.isUnparsedContextual(e, "using")) {
        e = this.nextTokenInLineStartSince(e + 5);
        let s = this.codePointAtPos(e);
        if (this.chStartsBindingIdentifier(s, e))
          return this.expectPlugin("explicitResourceManagement"), !0;
      }
      return !1;
    }
    parseModuleItem() {
      return this.parseStatementLike(15);
    }
    parseStatementListItem() {
      return this.parseStatementLike(6 | (!this.options.annexB || this.state.strict ? 0 : 8));
    }
    parseStatementOrSloppyAnnexBFunctionDeclaration(e = !1) {
      let s = 0;
      return this.options.annexB && !this.state.strict && (s |= 4, e && (s |= 8)), this.parseStatementLike(s);
    }
    parseStatement() {
      return this.parseStatementLike(0);
    }
    parseStatementLike(e) {
      let s = null;
      return this.match(26) && (s = this.parseDecorators(!0)), this.parseStatementContent(e, s);
    }
    parseStatementContent(e, s) {
      let r = this.state.type, i = this.startNode(), a = !!(e & 2), o = !!(e & 4), l = e & 1;
      switch (r) {
        case 60:
          return this.parseBreakContinueStatement(i, !0);
        case 63:
          return this.parseBreakContinueStatement(i, !1);
        case 64:
          return this.parseDebuggerStatement(i);
        case 90:
          return this.parseDoWhileStatement(i);
        case 91:
          return this.parseForStatement(i);
        case 68:
          if (this.lookaheadCharCode() === 46) break;
          return o || this.raise(this.state.strict ? G.StrictFunction : this.options.annexB ? G.SloppyFunctionAnnexB : G.SloppyFunction, this.
          state.startLoc), this.parseFunctionStatement(i, !1, !a && o);
        case 80:
          return a || this.unexpected(), this.parseClass(this.maybeTakeDecorators(s, i), !0);
        case 69:
          return this.parseIfStatement(i);
        case 70:
          return this.parseReturnStatement(i);
        case 71:
          return this.parseSwitchStatement(i);
        case 72:
          return this.parseThrowStatement(i);
        case 73:
          return this.parseTryStatement(i);
        case 96:
          if (!this.state.containsEsc && this.startsAwaitUsing())
            return this.recordAwaitIfAllowed() ? a || this.raise(G.UnexpectedLexicalDeclaration, i) : this.raise(G.AwaitUsingNotInAsyncContext,
            i), this.next(), this.parseVarStatement(i, "await using");
          break;
        case 107:
          if (this.state.containsEsc || !this.hasInLineFollowingBindingIdentifierOrBrace())
            break;
          return this.expectPlugin("explicitResourceManagement"), !this.scope.inModule && this.scope.inTopLevel ? this.raise(G.UnexpectedUsingDeclaration,
          this.state.startLoc) : a || this.raise(G.UnexpectedLexicalDeclaration, this.state.startLoc), this.parseVarStatement(i, "using");
        case 100: {
          if (this.state.containsEsc)
            break;
          let p = this.nextTokenStart(), h = this.codePointAtPos(p);
          if (h !== 91 && (!a && this.hasFollowingLineBreak() || !this.chStartsBindingIdentifier(h, p) && h !== 123))
            break;
        }
        case 75:
          a || this.raise(G.UnexpectedLexicalDeclaration, this.state.startLoc);
        case 74: {
          let p = this.state.value;
          return this.parseVarStatement(i, p);
        }
        case 92:
          return this.parseWhileStatement(i);
        case 76:
          return this.parseWithStatement(i);
        case 5:
          return this.parseBlock();
        case 13:
          return this.parseEmptyStatement(i);
        case 83: {
          let p = this.lookaheadCharCode();
          if (p === 40 || p === 46)
            break;
        }
        case 82: {
          !(this.optionFlags & 8) && !l && this.raise(G.UnexpectedImportExport, this.state.startLoc), this.next();
          let p;
          return r === 83 ? (p = this.parseImport(i), p.type === "ImportDeclaration" && (!p.importKind || p.importKind === "value") && (this.
          sawUnambiguousESM = !0)) : (p = this.parseExport(i, s), (p.type === "ExportNamedDeclaration" && (!p.exportKind || p.exportKind ===
          "value") || p.type === "ExportAllDeclaration" && (!p.exportKind || p.exportKind === "value") || p.type === "ExportDefaultDeclarati\
on") && (this.sawUnambiguousESM = !0)), this.assertModuleNodeAllowed(p), p;
        }
        default:
          if (this.isAsyncFunction())
            return a || this.raise(G.AsyncFunctionInSingleStatementContext, this.state.startLoc), this.next(), this.parseFunctionStatement(i,
            !0, !a && o);
      }
      let u = this.state.value, c = this.parseExpression();
      return Ws(r) && c.type === "Identifier" && this.eat(14) ? this.parseLabeledStatement(i, u, c, e) : this.parseExpressionStatement(i, c,
      s);
    }
    assertModuleNodeAllowed(e) {
      !(this.optionFlags & 8) && !this.inModule && this.raise(G.ImportOutsideModule, e);
    }
    decoratorsEnabledBeforeExport() {
      return this.hasPlugin("decorators-legacy") ? !0 : this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBefore\
Export") !== !1;
    }
    maybeTakeDecorators(e, s, r) {
      if (e) {
        var i;
        (i = s.decorators) != null && i.length ? (typeof this.getPluginOption("decorators", "decoratorsBeforeExport") != "boolean" && this.raise(
        G.DecoratorsBeforeAfterExport, s.decorators[0]), s.decorators.unshift(...e)) : s.decorators = e, this.resetStartLocationFromNode(s, e[0]),
        r && this.resetStartLocationFromNode(r, s);
      }
      return s;
    }
    canHaveLeadingDecorator() {
      return this.match(80);
    }
    parseDecorators(e) {
      let s = [];
      do
        s.push(this.parseDecorator());
      while (this.match(26));
      if (this.match(82))
        e || this.unexpected(), this.decoratorsEnabledBeforeExport() || this.raise(G.DecoratorExportClass, this.state.startLoc);
      else if (!this.canHaveLeadingDecorator())
        throw this.raise(G.UnexpectedLeadingDecorator, this.state.startLoc);
      return s;
    }
    parseDecorator() {
      this.expectOnePlugin(["decorators", "decorators-legacy"]);
      let e = this.startNode();
      if (this.next(), this.hasPlugin("decorators")) {
        let s = this.state.startLoc, r;
        if (this.match(10)) {
          let i = this.state.startLoc;
          this.next(), r = this.parseExpression(), this.expect(11), r = this.wrapParenthesis(i, r);
          let a = this.state.startLoc;
          e.expression = this.parseMaybeDecoratorArguments(r, i), this.getPluginOption("decorators", "allowCallParenthesized") === !1 && e.expression !==
          r && this.raise(G.DecoratorArgumentsOutsideParentheses, a);
        } else {
          for (r = this.parseIdentifier(!1); this.eat(16); ) {
            let i = this.startNodeAt(s);
            i.object = r, this.match(139) ? (this.classScope.usePrivateName(this.state.value, this.state.startLoc), i.property = this.parsePrivateName()) :
            i.property = this.parseIdentifier(!0), i.computed = !1, r = this.finishNode(i, "MemberExpression");
          }
          e.expression = this.parseMaybeDecoratorArguments(r, s);
        }
      } else
        e.expression = this.parseExprSubscripts();
      return this.finishNode(e, "Decorator");
    }
    parseMaybeDecoratorArguments(e, s) {
      if (this.eat(10)) {
        let r = this.startNodeAt(s);
        return r.callee = e, r.arguments = this.parseCallExpressionArguments(11), this.toReferencedList(r.arguments), this.finishNode(r, "Ca\
llExpression");
      }
      return e;
    }
    parseBreakContinueStatement(e, s) {
      return this.next(), this.isLineTerminator() ? e.label = null : (e.label = this.parseIdentifier(), this.semicolon()), this.verifyBreakContinue(
      e, s), this.finishNode(e, s ? "BreakStatement" : "ContinueStatement");
    }
    verifyBreakContinue(e, s) {
      let r;
      for (r = 0; r < this.state.labels.length; ++r) {
        let i = this.state.labels[r];
        if ((e.label == null || i.name === e.label.name) && (i.kind != null && (s || i.kind === 1) || e.label && s))
          break;
      }
      if (r === this.state.labels.length) {
        let i = s ? "BreakStatement" : "ContinueStatement";
        this.raise(G.IllegalBreakContinue, e, {
          type: i
        });
      }
    }
    parseDebuggerStatement(e) {
      return this.next(), this.semicolon(), this.finishNode(e, "DebuggerStatement");
    }
    parseHeaderExpression() {
      this.expect(10);
      let e = this.parseExpression();
      return this.expect(11), e;
    }
    parseDoWhileStatement(e) {
      return this.next(), this.state.labels.push(vI), e.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.state.
      labels.pop(), this.expect(92), e.test = this.parseHeaderExpression(), this.eat(13), this.finishNode(e, "DoWhileStatement");
    }
    parseForStatement(e) {
      this.next(), this.state.labels.push(vI);
      let s = null;
      if (this.isContextual(96) && this.recordAwaitIfAllowed() && (s = this.state.startLoc, this.next()), this.scope.enter(0), this.expect(10),
      this.match(13))
        return s !== null && this.unexpected(s), this.parseFor(e, null);
      let r = this.isContextual(100);
      {
        let u = this.isContextual(96) && this.startsAwaitUsing(), c = u || this.isContextual(107) && this.startsUsingForOf(), p = r && this.
        hasFollowingBindingAtom() || c;
        if (this.match(74) || this.match(75) || p) {
          let h = this.startNode(), f;
          u ? (f = "await using", this.recordAwaitIfAllowed() || this.raise(G.AwaitUsingNotInAsyncContext, this.state.startLoc), this.next()) :
          f = this.state.value, this.next(), this.parseVar(h, !0, f);
          let d = this.finishNode(h, "VariableDeclaration"), m = this.match(58);
          return m && c && this.raise(G.ForInUsing, d), (m || this.isContextual(102)) && d.declarations.length === 1 ? this.parseForIn(e, d,
          s) : (s !== null && this.unexpected(s), this.parseFor(e, d));
        }
      }
      let i = this.isContextual(95), a = new od(), o = this.parseExpression(!0, a), l = this.isContextual(102);
      if (l && (r && this.raise(G.ForOfLet, o), s === null && i && o.type === "Identifier" && this.raise(G.ForOfAsync, o)), l || this.match(
      58)) {
        this.checkDestructuringPrivate(a), this.toAssignable(o, !0);
        let u = l ? "ForOfStatement" : "ForInStatement";
        return this.checkLVal(o, {
          type: u
        }), this.parseForIn(e, o, s);
      } else
        this.checkExpressionErrors(a, !0);
      return s !== null && this.unexpected(s), this.parseFor(e, o);
    }
    parseFunctionStatement(e, s, r) {
      return this.next(), this.parseFunction(e, 1 | (r ? 2 : 0) | (s ? 8 : 0));
    }
    parseIfStatement(e) {
      return this.next(), e.test = this.parseHeaderExpression(), e.consequent = this.parseStatementOrSloppyAnnexBFunctionDeclaration(), e.alternate =
      this.eat(66) ? this.parseStatementOrSloppyAnnexBFunctionDeclaration() : null, this.finishNode(e, "IfStatement");
    }
    parseReturnStatement(e) {
      return !this.prodParam.hasReturn && !(this.optionFlags & 2) && this.raise(G.IllegalReturn, this.state.startLoc), this.next(), this.isLineTerminator() ?
      e.argument = null : (e.argument = this.parseExpression(), this.semicolon()), this.finishNode(e, "ReturnStatement");
    }
    parseSwitchStatement(e) {
      this.next(), e.discriminant = this.parseHeaderExpression();
      let s = e.cases = [];
      this.expect(5), this.state.labels.push(RMe), this.scope.enter(0);
      let r;
      for (let i; !this.match(8); )
        if (this.match(61) || this.match(65)) {
          let a = this.match(61);
          r && this.finishNode(r, "SwitchCase"), s.push(r = this.startNode()), r.consequent = [], this.next(), a ? r.test = this.parseExpression() :
          (i && this.raise(G.MultipleDefaultsInSwitch, this.state.lastTokStartLoc), i = !0, r.test = null), this.expect(14);
        } else
          r ? r.consequent.push(this.parseStatementListItem()) : this.unexpected();
      return this.scope.exit(), r && this.finishNode(r, "SwitchCase"), this.next(), this.state.labels.pop(), this.finishNode(e, "SwitchState\
ment");
    }
    parseThrowStatement(e) {
      return this.next(), this.hasPrecedingLineBreak() && this.raise(G.NewlineAfterThrow, this.state.lastTokEndLoc), e.argument = this.parseExpression(),
      this.semicolon(), this.finishNode(e, "ThrowStatement");
    }
    parseCatchClauseParam() {
      let e = this.parseBindingAtom();
      return this.scope.enter(this.options.annexB && e.type === "Identifier" ? 8 : 0), this.checkLVal(e, {
        type: "CatchClause"
      }, 9), e;
    }
    parseTryStatement(e) {
      if (this.next(), e.block = this.parseBlock(), e.handler = null, this.match(62)) {
        let s = this.startNode();
        this.next(), this.match(10) ? (this.expect(10), s.param = this.parseCatchClauseParam(), this.expect(11)) : (s.param = null, this.scope.
        enter(0)), s.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(!1, !1)), this.scope.exit(), e.handler = this.finishNode(
        s, "CatchClause");
      }
      return e.finalizer = this.eat(67) ? this.parseBlock() : null, !e.handler && !e.finalizer && this.raise(G.NoCatchOrFinally, e), this.finishNode(
      e, "TryStatement");
    }
    parseVarStatement(e, s, r = !1) {
      return this.next(), this.parseVar(e, !1, s, r), this.semicolon(), this.finishNode(e, "VariableDeclaration");
    }
    parseWhileStatement(e) {
      return this.next(), e.test = this.parseHeaderExpression(), this.state.labels.push(vI), e.body = this.withSmartMixTopicForbiddingContext(
      () => this.parseStatement()), this.state.labels.pop(), this.finishNode(e, "WhileStatement");
    }
    parseWithStatement(e) {
      return this.state.strict && this.raise(G.StrictWith, this.state.startLoc), this.next(), e.object = this.parseHeaderExpression(), e.body =
      this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.finishNode(e, "WithStatement");
    }
    parseEmptyStatement(e) {
      return this.next(), this.finishNode(e, "EmptyStatement");
    }
    parseLabeledStatement(e, s, r, i) {
      for (let o of this.state.labels)
        o.name === s && this.raise(G.LabelRedeclaration, r, {
          labelName: s
        });
      let a = $Be(this.state.type) ? 1 : this.match(71) ? 2 : null;
      for (let o = this.state.labels.length - 1; o >= 0; o--) {
        let l = this.state.labels[o];
        if (l.statementStart === e.start)
          l.statementStart = this.sourceToOffsetPos(this.state.start), l.kind = a;
        else
          break;
      }
      return this.state.labels.push({
        name: s,
        kind: a,
        statementStart: this.sourceToOffsetPos(this.state.start)
      }), e.body = i & 8 ? this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0) : this.parseStatement(), this.state.labels.pop(), e.label =
      r, this.finishNode(e, "LabeledStatement");
    }
    parseExpressionStatement(e, s, r) {
      return e.expression = s, this.semicolon(), this.finishNode(e, "ExpressionStatement");
    }
    parseBlock(e = !1, s = !0, r) {
      let i = this.startNode();
      return e && this.state.strictErrors.clear(), this.expect(5), s && this.scope.enter(0), this.parseBlockBody(i, e, !1, 8, r), s && this.
      scope.exit(), this.finishNode(i, "BlockStatement");
    }
    isValidDirective(e) {
      return e.type === "ExpressionStatement" && e.expression.type === "StringLiteral" && !e.expression.extra.parenthesized;
    }
    parseBlockBody(e, s, r, i, a) {
      let o = e.body = [], l = e.directives = [];
      this.parseBlockOrModuleBlockBody(o, s ? l : void 0, r, i, a);
    }
    parseBlockOrModuleBlockBody(e, s, r, i, a) {
      let o = this.state.strict, l = !1, u = !1;
      for (; !this.match(i); ) {
        let c = r ? this.parseModuleItem() : this.parseStatementListItem();
        if (s && !u) {
          if (this.isValidDirective(c)) {
            let p = this.stmtToDirective(c);
            s.push(p), !l && p.value.value === "use strict" && (l = !0, this.setStrict(!0));
            continue;
          }
          u = !0, this.state.strictErrors.clear();
        }
        e.push(c);
      }
      a?.call(this, l), o || this.setStrict(!1), this.next();
    }
    parseFor(e, s) {
      return e.init = s, this.semicolon(!1), e.test = this.match(13) ? null : this.parseExpression(), this.semicolon(!1), e.update = this.match(
      11) ? null : this.parseExpression(), this.expect(11), e.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.
      scope.exit(), this.state.labels.pop(), this.finishNode(e, "ForStatement");
    }
    parseForIn(e, s, r) {
      let i = this.match(58);
      return this.next(), i ? r !== null && this.unexpected(r) : e.await = r !== null, s.type === "VariableDeclaration" && s.declarations[0].
      init != null && (!i || !this.options.annexB || this.state.strict || s.kind !== "var" || s.declarations[0].id.type !== "Identifier") &&
      this.raise(G.ForInOfLoopInitializer, s, {
        type: i ? "ForInStatement" : "ForOfStatement"
      }), s.type === "AssignmentPattern" && this.raise(G.InvalidLhs, s, {
        ancestor: {
          type: "ForStatement"
        }
      }), e.left = s, e.right = i ? this.parseExpression() : this.parseMaybeAssignAllowIn(), this.expect(11), e.body = this.withSmartMixTopicForbiddingContext(
      () => this.parseStatement()), this.scope.exit(), this.state.labels.pop(), this.finishNode(e, i ? "ForInStatement" : "ForOfStatement");
    }
    parseVar(e, s, r, i = !1) {
      let a = e.declarations = [];
      for (e.kind = r; ; ) {
        let o = this.startNode();
        if (this.parseVarId(o, r), o.init = this.eat(29) ? s ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn() : null, o.
        init === null && !i && (o.id.type !== "Identifier" && !(s && (this.match(58) || this.isContextual(102))) ? this.raise(G.DeclarationMissingInitializer,
        this.state.lastTokEndLoc, {
          kind: "destructuring"
        }) : (r === "const" || r === "using" || r === "await using") && !(this.match(58) || this.isContextual(102)) && this.raise(G.DeclarationMissingInitializer,
        this.state.lastTokEndLoc, {
          kind: r
        })), a.push(this.finishNode(o, "VariableDeclarator")), !this.eat(12)) break;
      }
      return e;
    }
    parseVarId(e, s) {
      let r = this.parseBindingAtom();
      (s === "using" || s === "await using") && (r.type === "ArrayPattern" || r.type === "ObjectPattern") && this.raise(G.UsingDeclarationHasBindingPattern,
      r.loc.start), this.checkLVal(r, {
        type: "VariableDeclarator"
      }, s === "var" ? 5 : 8201), e.id = r;
    }
    parseAsyncFunctionExpression(e) {
      return this.parseFunction(e, 8);
    }
    parseFunction(e, s = 0) {
      let r = s & 2, i = !!(s & 1), a = i && !(s & 4), o = !!(s & 8);
      this.initFunction(e, o), this.match(55) && (r && this.raise(G.GeneratorInSingleStatementContext, this.state.startLoc), this.next(), e.
      generator = !0), i && (e.id = this.parseFunctionId(a));
      let l = this.state.maybeInArrowParameters;
      return this.state.maybeInArrowParameters = !1, this.scope.enter(2), this.prodParam.enter($b(o, e.generator)), i || (e.id = this.parseFunctionId()),
      this.parseFunctionParams(e, !1), this.withSmartMixTopicForbiddingContext(() => {
        this.parseFunctionBodyAndFinish(e, i ? "FunctionDeclaration" : "FunctionExpression");
      }), this.prodParam.exit(), this.scope.exit(), i && !r && this.registerFunctionStatementId(e), this.state.maybeInArrowParameters = l, e;
    }
    parseFunctionId(e) {
      return e || Ws(this.state.type) ? this.parseIdentifier() : null;
    }
    parseFunctionParams(e, s) {
      this.expect(10), this.expressionScope.enter(mMe()), e.params = this.parseBindingList(11, 41, 2 | (s ? 4 : 0)), this.expressionScope.exit();
    }
    registerFunctionStatementId(e) {
      e.id && this.scope.declareName(e.id.name, !this.options.annexB || this.state.strict || e.generator || e.async ? this.scope.treatFunctionsAsVar ?
      5 : 8201 : 17, e.id.loc.start);
    }
    parseClass(e, s, r) {
      this.next();
      let i = this.state.strict;
      return this.state.strict = !0, this.parseClassId(e, s, r), this.parseClassSuper(e), e.body = this.parseClassBody(!!e.superClass, i), this.
      finishNode(e, s ? "ClassDeclaration" : "ClassExpression");
    }
    isClassProperty() {
      return this.match(29) || this.match(13) || this.match(8);
    }
    isClassMethod() {
      return this.match(10);
    }
    nameIsConstructor(e) {
      return e.type === "Identifier" && e.name === "constructor" || e.type === "StringLiteral" && e.value === "constructor";
    }
    isNonstaticConstructor(e) {
      return !e.computed && !e.static && this.nameIsConstructor(e.key);
    }
    parseClassBody(e, s) {
      this.classScope.enter();
      let r = {
        hadConstructor: !1,
        hadSuperClass: e
      }, i = [], a = this.startNode();
      if (a.body = [], this.expect(5), this.withSmartMixTopicForbiddingContext(() => {
        for (; !this.match(8); ) {
          if (this.eat(13)) {
            if (i.length > 0)
              throw this.raise(G.DecoratorSemicolon, this.state.lastTokEndLoc);
            continue;
          }
          if (this.match(26)) {
            i.push(this.parseDecorator());
            continue;
          }
          let o = this.startNode();
          i.length && (o.decorators = i, this.resetStartLocationFromNode(o, i[0]), i = []), this.parseClassMember(a, o, r), o.kind === "cons\
tructor" && o.decorators && o.decorators.length > 0 && this.raise(G.DecoratorConstructor, o);
        }
      }), this.state.strict = s, this.next(), i.length)
        throw this.raise(G.TrailingDecorator, this.state.startLoc);
      return this.classScope.exit(), this.finishNode(a, "ClassBody");
    }
    parseClassMemberFromModifier(e, s) {
      let r = this.parseIdentifier(!0);
      if (this.isClassMethod()) {
        let i = s;
        return i.kind = "method", i.computed = !1, i.key = r, i.static = !1, this.pushClassMethod(e, i, !1, !1, !1, !1), !0;
      } else if (this.isClassProperty()) {
        let i = s;
        return i.computed = !1, i.key = r, i.static = !1, e.body.push(this.parseClassProperty(i)), !0;
      }
      return this.resetPreviousNodeTrailingComments(r), !1;
    }
    parseClassMember(e, s, r) {
      let i = this.isContextual(106);
      if (i) {
        if (this.parseClassMemberFromModifier(e, s))
          return;
        if (this.eat(5)) {
          this.parseClassStaticBlock(e, s);
          return;
        }
      }
      this.parseClassMemberWithIsStatic(e, s, r, i);
    }
    parseClassMemberWithIsStatic(e, s, r, i) {
      let a = s, o = s, l = s, u = s, c = s, p = a, h = a;
      if (s.static = i, this.parsePropertyNamePrefixOperator(s), this.eat(55)) {
        p.kind = "method";
        let b = this.match(139);
        if (this.parseClassElementName(p), b) {
          this.pushClassPrivateMethod(e, o, !0, !1);
          return;
        }
        this.isNonstaticConstructor(a) && this.raise(G.ConstructorIsGenerator, a.key), this.pushClassMethod(e, a, !0, !1, !1, !1);
        return;
      }
      let f = !this.state.containsEsc && Ws(this.state.type), d = this.parseClassElementName(s), m = f ? d.name : null, y = this.isPrivateName(
      d), T = this.state.startLoc;
      if (this.parsePostMemberNameModifiers(h), this.isClassMethod()) {
        if (p.kind = "method", y) {
          this.pushClassPrivateMethod(e, o, !1, !1);
          return;
        }
        let b = this.isNonstaticConstructor(a), E = !1;
        b && (a.kind = "constructor", r.hadConstructor && !this.hasPlugin("typescript") && this.raise(G.DuplicateConstructor, d), b && this.
        hasPlugin("typescript") && s.override && this.raise(G.OverrideOnConstructor, d), r.hadConstructor = !0, E = r.hadSuperClass), this.pushClassMethod(
        e, a, !1, !1, b, E);
      } else if (this.isClassProperty())
        y ? this.pushClassPrivateProperty(e, u) : this.pushClassProperty(e, l);
      else if (m === "async" && !this.isLineTerminator()) {
        this.resetPreviousNodeTrailingComments(d);
        let b = this.eat(55);
        h.optional && this.unexpected(T), p.kind = "method";
        let E = this.match(139);
        this.parseClassElementName(p), this.parsePostMemberNameModifiers(h), E ? this.pushClassPrivateMethod(e, o, b, !0) : (this.isNonstaticConstructor(
        a) && this.raise(G.ConstructorIsAsync, a.key), this.pushClassMethod(e, a, b, !0, !1, !1));
      } else if ((m === "get" || m === "set") && !(this.match(55) && this.isLineTerminator())) {
        this.resetPreviousNodeTrailingComments(d), p.kind = m;
        let b = this.match(139);
        this.parseClassElementName(a), b ? this.pushClassPrivateMethod(e, o, !1, !1) : (this.isNonstaticConstructor(a) && this.raise(G.ConstructorIsAccessor,
        a.key), this.pushClassMethod(e, a, !1, !1, !1, !1)), this.checkGetterSetterParams(a);
      } else if (m === "accessor" && !this.isLineTerminator()) {
        this.expectPlugin("decoratorAutoAccessors"), this.resetPreviousNodeTrailingComments(d);
        let b = this.match(139);
        this.parseClassElementName(l), this.pushClassAccessorProperty(e, c, b);
      } else this.isLineTerminator() ? y ? this.pushClassPrivateProperty(e, u) : this.pushClassProperty(e, l) : this.unexpected();
    }
    parseClassElementName(e) {
      let {
        type: s,
        value: r
      } = this.state;
      if ((s === 132 || s === 134) && e.static && r === "prototype" && this.raise(G.StaticPrototype, this.state.startLoc), s === 139) {
        r === "constructor" && this.raise(G.ConstructorClassPrivateField, this.state.startLoc);
        let i = this.parsePrivateName();
        return e.key = i, i;
      }
      return this.parsePropertyName(e), e.key;
    }
    parseClassStaticBlock(e, s) {
      var r;
      this.scope.enter(208);
      let i = this.state.labels;
      this.state.labels = [], this.prodParam.enter(0);
      let a = s.body = [];
      this.parseBlockOrModuleBlockBody(a, void 0, !1, 8), this.prodParam.exit(), this.scope.exit(), this.state.labels = i, e.body.push(this.
      finishNode(s, "StaticBlock")), (r = s.decorators) != null && r.length && this.raise(G.DecoratorStaticBlock, s);
    }
    pushClassProperty(e, s) {
      !s.computed && this.nameIsConstructor(s.key) && this.raise(G.ConstructorClassField, s.key), e.body.push(this.parseClassProperty(s));
    }
    pushClassPrivateProperty(e, s) {
      let r = this.parseClassPrivateProperty(s);
      e.body.push(r), this.classScope.declarePrivateName(this.getPrivateNameSV(r.key), 0, r.key.loc.start);
    }
    pushClassAccessorProperty(e, s, r) {
      !r && !s.computed && this.nameIsConstructor(s.key) && this.raise(G.ConstructorClassField, s.key);
      let i = this.parseClassAccessorProperty(s);
      e.body.push(i), r && this.classScope.declarePrivateName(this.getPrivateNameSV(i.key), 0, i.key.loc.start);
    }
    pushClassMethod(e, s, r, i, a, o) {
      e.body.push(this.parseMethod(s, r, i, a, o, "ClassMethod", !0));
    }
    pushClassPrivateMethod(e, s, r, i) {
      let a = this.parseMethod(s, r, i, !1, !1, "ClassPrivateMethod", !0);
      e.body.push(a);
      let o = a.kind === "get" ? a.static ? 6 : 2 : a.kind === "set" ? a.static ? 5 : 1 : 0;
      this.declareClassPrivateMethodInScope(a, o);
    }
    declareClassPrivateMethodInScope(e, s) {
      this.classScope.declarePrivateName(this.getPrivateNameSV(e.key), s, e.key.loc.start);
    }
    parsePostMemberNameModifiers(e) {
    }
    parseClassPrivateProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassPrivateProperty");
    }
    parseClassProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassProperty");
    }
    parseClassAccessorProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassAccessorProperty");
    }
    parseInitializer(e) {
      this.scope.enter(80), this.expressionScope.enter(KU()), this.prodParam.enter(0), e.value = this.eat(29) ? this.parseMaybeAssignAllowIn() :
      null, this.expressionScope.exit(), this.prodParam.exit(), this.scope.exit();
    }
    parseClassId(e, s, r, i = 8331) {
      if (Ws(this.state.type))
        e.id = this.parseIdentifier(), s && this.declareNameFromIdentifier(e.id, i);
      else if (r || !s)
        e.id = null;
      else
        throw this.raise(G.MissingClassName, this.state.startLoc);
    }
    parseClassSuper(e) {
      e.superClass = this.eat(81) ? this.parseExprSubscripts() : null;
    }
    parseExport(e, s) {
      let r = this.parseMaybeImportPhase(e, !0), i = this.maybeParseExportDefaultSpecifier(e, r), a = !i || this.eat(12), o = a && this.eatExportStar(
      e), l = o && this.maybeParseExportNamespaceSpecifier(e), u = a && (!l || this.eat(12)), c = i || o;
      if (o && !l) {
        if (i && this.unexpected(), s)
          throw this.raise(G.UnsupportedDecoratorExport, e);
        return this.parseExportFrom(e, !0), this.finishNode(e, "ExportAllDeclaration");
      }
      let p = this.maybeParseExportNamedSpecifiers(e);
      i && a && !o && !p && this.unexpected(null, 5), l && u && this.unexpected(null, 98);
      let h;
      if (c || p) {
        if (h = !1, s)
          throw this.raise(G.UnsupportedDecoratorExport, e);
        this.parseExportFrom(e, c);
      } else
        h = this.maybeParseExportDeclaration(e);
      if (c || p || h) {
        var f;
        let d = e;
        if (this.checkExport(d, !0, !1, !!d.source), ((f = d.declaration) == null ? void 0 : f.type) === "ClassDeclaration")
          this.maybeTakeDecorators(s, d.declaration, d);
        else if (s)
          throw this.raise(G.UnsupportedDecoratorExport, e);
        return this.finishNode(d, "ExportNamedDeclaration");
      }
      if (this.eat(65)) {
        let d = e, m = this.parseExportDefaultExpression();
        if (d.declaration = m, m.type === "ClassDeclaration")
          this.maybeTakeDecorators(s, m, d);
        else if (s)
          throw this.raise(G.UnsupportedDecoratorExport, e);
        return this.checkExport(d, !0, !0), this.finishNode(d, "ExportDefaultDeclaration");
      }
      this.unexpected(null, 5);
    }
    eatExportStar(e) {
      return this.eat(55);
    }
    maybeParseExportDefaultSpecifier(e, s) {
      if (s || this.isExportDefaultSpecifier()) {
        this.expectPlugin("exportDefaultFrom", s?.loc.start);
        let r = s || this.parseIdentifier(!0), i = this.startNodeAtNode(r);
        return i.exported = r, e.specifiers = [this.finishNode(i, "ExportDefaultSpecifier")], !0;
      }
      return !1;
    }
    maybeParseExportNamespaceSpecifier(e) {
      if (this.isContextual(93)) {
        var s, r;
        (r = (s = e).specifiers) != null || (s.specifiers = []);
        let i = this.startNodeAt(this.state.lastTokStartLoc);
        return this.next(), i.exported = this.parseModuleExportName(), e.specifiers.push(this.finishNode(i, "ExportNamespaceSpecifier")), !0;
      }
      return !1;
    }
    maybeParseExportNamedSpecifiers(e) {
      if (this.match(5)) {
        let s = e;
        s.specifiers || (s.specifiers = []);
        let r = s.exportKind === "type";
        return s.specifiers.push(...this.parseExportSpecifiers(r)), s.source = null, s.declaration = null, this.hasPlugin("importAssertions") &&
        (s.assertions = []), !0;
      }
      return !1;
    }
    maybeParseExportDeclaration(e) {
      return this.shouldParseExportDeclaration() ? (e.specifiers = [], e.source = null, this.hasPlugin("importAssertions") && (e.assertions =
      []), e.declaration = this.parseExportDeclaration(e), !0) : !1;
    }
    isAsyncFunction() {
      if (!this.isContextual(95)) return !1;
      let e = this.nextTokenInLineStart();
      return this.isUnparsedContextual(e, "function");
    }
    parseExportDefaultExpression() {
      let e = this.startNode();
      if (this.match(68))
        return this.next(), this.parseFunction(e, 5);
      if (this.isAsyncFunction())
        return this.next(), this.next(), this.parseFunction(e, 13);
      if (this.match(80))
        return this.parseClass(e, !0, !0);
      if (this.match(26))
        return this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") === !0 && this.raise(G.DecoratorBeforeExport,
        this.state.startLoc), this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1), this.startNode()), !0, !0);
      if (this.match(75) || this.match(74) || this.isLet())
        throw this.raise(G.UnsupportedDefaultExport, this.state.startLoc);
      let s = this.parseMaybeAssignAllowIn();
      return this.semicolon(), s;
    }
    parseExportDeclaration(e) {
      return this.match(80) ? this.parseClass(this.startNode(), !0, !1) : this.parseStatementListItem();
    }
    isExportDefaultSpecifier() {
      let {
        type: e
      } = this.state;
      if (Ws(e)) {
        if (e === 95 && !this.state.containsEsc || e === 100)
          return !1;
        if ((e === 130 || e === 129) && !this.state.containsEsc) {
          let {
            type: i
          } = this.lookahead();
          if (Ws(i) && i !== 98 || i === 5)
            return this.expectOnePlugin(["flow", "typescript"]), !1;
        }
      } else if (!this.match(65))
        return !1;
      let s = this.nextTokenStart(), r = this.isUnparsedContextual(s, "from");
      if (this.input.charCodeAt(s) === 44 || Ws(this.state.type) && r)
        return !0;
      if (this.match(65) && r) {
        let i = this.input.charCodeAt(this.nextTokenStartSince(s + 4));
        return i === 34 || i === 39;
      }
      return !1;
    }
    parseExportFrom(e, s) {
      this.eatContextual(98) ? (e.source = this.parseImportSource(), this.checkExport(e), this.maybeParseImportAttributes(e), this.checkJSONModuleImport(
      e)) : s && this.unexpected(), this.semicolon();
    }
    shouldParseExportDeclaration() {
      let {
        type: e
      } = this.state;
      return e === 26 && (this.expectOnePlugin(["decorators", "decorators-legacy"]), this.hasPlugin("decorators")) ? (this.getPluginOption("\
decorators", "decoratorsBeforeExport") === !0 && this.raise(G.DecoratorBeforeExport, this.state.startLoc), !0) : this.isContextual(107) ? (this.
      raise(G.UsingDeclarationExport, this.state.startLoc), !0) : this.isContextual(96) && this.startsAwaitUsing() ? (this.raise(G.UsingDeclarationExport,
      this.state.startLoc), !0) : e === 74 || e === 75 || e === 68 || e === 80 || this.isLet() || this.isAsyncFunction();
    }
    checkExport(e, s, r, i) {
      if (s) {
        var a;
        if (r) {
          if (this.checkDuplicateExports(e, "default"), this.hasPlugin("exportDefaultFrom")) {
            var o;
            let l = e.declaration;
            l.type === "Identifier" && l.name === "from" && l.end - l.start === 4 && !((o = l.extra) != null && o.parenthesized) && this.raise(
            G.ExportDefaultFromAsIdentifier, l);
          }
        } else if ((a = e.specifiers) != null && a.length)
          for (let l of e.specifiers) {
            let {
              exported: u
            } = l, c = u.type === "Identifier" ? u.name : u.value;
            if (this.checkDuplicateExports(l, c), !i && l.local) {
              let {
                local: p
              } = l;
              p.type !== "Identifier" ? this.raise(G.ExportBindingIsString, l, {
                localName: p.value,
                exportName: c
              }) : (this.checkReservedWord(p.name, p.loc.start, !0, !1), this.scope.checkLocalExport(p));
            }
          }
        else if (e.declaration) {
          let l = e.declaration;
          if (l.type === "FunctionDeclaration" || l.type === "ClassDeclaration") {
            let {
              id: u
            } = l;
            if (!u) throw new Error("Assertion failure");
            this.checkDuplicateExports(e, u.name);
          } else if (l.type === "VariableDeclaration")
            for (let u of l.declarations)
              this.checkDeclaration(u.id);
        }
      }
    }
    checkDeclaration(e) {
      if (e.type === "Identifier")
        this.checkDuplicateExports(e, e.name);
      else if (e.type === "ObjectPattern")
        for (let s of e.properties)
          this.checkDeclaration(s);
      else if (e.type === "ArrayPattern")
        for (let s of e.elements)
          s && this.checkDeclaration(s);
      else e.type === "ObjectProperty" ? this.checkDeclaration(e.value) : e.type === "RestElement" ? this.checkDeclaration(e.argument) : e.type ===
      "AssignmentPattern" && this.checkDeclaration(e.left);
    }
    checkDuplicateExports(e, s) {
      this.exportedIdentifiers.has(s) && (s === "default" ? this.raise(G.DuplicateDefaultExport, e) : this.raise(G.DuplicateExport, e, {
        exportName: s
      })), this.exportedIdentifiers.add(s);
    }
    parseExportSpecifiers(e) {
      let s = [], r = !0;
      for (this.expect(5); !this.eat(8); ) {
        if (r)
          r = !1;
        else if (this.expect(12), this.eat(8)) break;
        let i = this.isContextual(130), a = this.match(134), o = this.startNode();
        o.local = this.parseModuleExportName(), s.push(this.parseExportSpecifier(o, a, e, i));
      }
      return s;
    }
    parseExportSpecifier(e, s, r, i) {
      return this.eatContextual(93) ? e.exported = this.parseModuleExportName() : s ? e.exported = bMe(e.local) : e.exported || (e.exported =
      $l(e.local)), this.finishNode(e, "ExportSpecifier");
    }
    parseModuleExportName() {
      if (this.match(134)) {
        let e = this.parseStringLiteral(this.state.value), s = qMe.exec(e.value);
        return s && this.raise(G.ModuleExportNameHasLoneSurrogate, e, {
          surrogateCharCode: s[0].charCodeAt(0)
        }), e;
      }
      return this.parseIdentifier(!0);
    }
    isJSONModuleImport(e) {
      return e.assertions != null ? e.assertions.some(({
        key: s,
        value: r
      }) => r.value === "json" && (s.type === "Identifier" ? s.name === "type" : s.value === "type")) : !1;
    }
    checkImportReflection(e) {
      let {
        specifiers: s
      } = e, r = s.length === 1 ? s[0].type : null;
      if (e.phase === "source")
        r !== "ImportDefaultSpecifier" && this.raise(G.SourcePhaseImportRequiresDefault, s[0].loc.start);
      else if (e.phase === "defer")
        r !== "ImportNamespaceSpecifier" && this.raise(G.DeferImportRequiresNamespace, s[0].loc.start);
      else if (e.module) {
        var i;
        r !== "ImportDefaultSpecifier" && this.raise(G.ImportReflectionNotBinding, s[0].loc.start), ((i = e.assertions) == null ? void 0 : i.
        length) > 0 && this.raise(G.ImportReflectionHasAssertion, s[0].loc.start);
      }
    }
    checkJSONModuleImport(e) {
      if (this.isJSONModuleImport(e) && e.type !== "ExportAllDeclaration") {
        let {
          specifiers: s
        } = e;
        if (s != null) {
          let r = s.find((i) => {
            let a;
            if (i.type === "ExportSpecifier" ? a = i.local : i.type === "ImportSpecifier" && (a = i.imported), a !== void 0)
              return a.type === "Identifier" ? a.name !== "default" : a.value !== "default";
          });
          r !== void 0 && this.raise(G.ImportJSONBindingNotDefault, r.loc.start);
        }
      }
    }
    isPotentialImportPhase(e) {
      return e ? !1 : this.isContextual(105) || this.isContextual(97) || this.isContextual(127);
    }
    applyImportPhase(e, s, r, i) {
      s || (r === "module" ? (this.expectPlugin("importReflection", i), e.module = !0) : this.hasPlugin("importReflection") && (e.module = !1),
      r === "source" ? (this.expectPlugin("sourcePhaseImports", i), e.phase = "source") : r === "defer" ? (this.expectPlugin("deferredImport\
Evaluation", i), e.phase = "defer") : this.hasPlugin("sourcePhaseImports") && (e.phase = null));
    }
    parseMaybeImportPhase(e, s) {
      if (!this.isPotentialImportPhase(s))
        return this.applyImportPhase(e, s, null), null;
      let r = this.parseIdentifier(!0), {
        type: i
      } = this.state;
      return (mo(i) ? i !== 98 || this.lookaheadCharCode() === 102 : i !== 12) ? (this.resetPreviousIdentifierLeadingComments(r), this.applyImportPhase(
      e, s, r.name, r.loc.start), null) : (this.applyImportPhase(e, s, null), r);
    }
    isPrecedingIdImportPhase(e) {
      let {
        type: s
      } = this.state;
      return Ws(s) ? s !== 98 || this.lookaheadCharCode() === 102 : s !== 12;
    }
    parseImport(e) {
      return this.match(134) ? this.parseImportSourceAndAttributes(e) : this.parseImportSpecifiersAndAfter(e, this.parseMaybeImportPhase(e, !1));
    }
    parseImportSpecifiersAndAfter(e, s) {
      e.specifiers = [];
      let i = !this.maybeParseDefaultImportSpecifier(e, s) || this.eat(12), a = i && this.maybeParseStarImportSpecifier(e);
      return i && !a && this.parseNamedImportSpecifiers(e), this.expectContextual(98), this.parseImportSourceAndAttributes(e);
    }
    parseImportSourceAndAttributes(e) {
      var s;
      return (s = e.specifiers) != null || (e.specifiers = []), e.source = this.parseImportSource(), this.maybeParseImportAttributes(e), this.
      checkImportReflection(e), this.checkJSONModuleImport(e), this.semicolon(), this.finishNode(e, "ImportDeclaration");
    }
    parseImportSource() {
      return this.match(134) || this.unexpected(), this.parseExprAtom();
    }
    parseImportSpecifierLocal(e, s, r) {
      s.local = this.parseIdentifier(), e.specifiers.push(this.finishImportSpecifier(s, r));
    }
    finishImportSpecifier(e, s, r = 8201) {
      return this.checkLVal(e.local, {
        type: s
      }, r), this.finishNode(e, s);
    }
    parseImportAttributes() {
      this.expect(5);
      let e = [], s = /* @__PURE__ */ new Set();
      do {
        if (this.match(8))
          break;
        let r = this.startNode(), i = this.state.value;
        if (s.has(i) && this.raise(G.ModuleAttributesWithDuplicateKeys, this.state.startLoc, {
          key: i
        }), s.add(i), this.match(134) ? r.key = this.parseStringLiteral(i) : r.key = this.parseIdentifier(!0), this.expect(14), !this.match(
        134))
          throw this.raise(G.ModuleAttributeInvalidValue, this.state.startLoc);
        r.value = this.parseStringLiteral(this.state.value), e.push(this.finishNode(r, "ImportAttribute"));
      } while (this.eat(12));
      return this.expect(8), e;
    }
    parseModuleAttributes() {
      let e = [], s = /* @__PURE__ */ new Set();
      do {
        let r = this.startNode();
        if (r.key = this.parseIdentifier(!0), r.key.name !== "type" && this.raise(G.ModuleAttributeDifferentFromType, r.key), s.has(r.key.name) &&
        this.raise(G.ModuleAttributesWithDuplicateKeys, r.key, {
          key: r.key.name
        }), s.add(r.key.name), this.expect(14), !this.match(134))
          throw this.raise(G.ModuleAttributeInvalidValue, this.state.startLoc);
        r.value = this.parseStringLiteral(this.state.value), e.push(this.finishNode(r, "ImportAttribute"));
      } while (this.eat(12));
      return e;
    }
    maybeParseImportAttributes(e) {
      let s;
      var r = !1;
      if (this.match(76)) {
        if (this.hasPrecedingLineBreak() && this.lookaheadCharCode() === 40)
          return;
        this.next(), this.hasPlugin("moduleAttributes") ? s = this.parseModuleAttributes() : s = this.parseImportAttributes(), r = !0;
      } else this.isContextual(94) && !this.hasPrecedingLineBreak() ? (!this.hasPlugin("deprecatedImportAssert") && !this.hasPlugin("importA\
ssertions") && this.raise(G.ImportAttributesUseAssert, this.state.startLoc), this.hasPlugin("importAssertions") || this.addExtra(e, "depreca\
tedAssertSyntax", !0), this.next(), s = this.parseImportAttributes()) : s = [];
      !r && this.hasPlugin("importAssertions") ? e.assertions = s : e.attributes = s;
    }
    maybeParseDefaultImportSpecifier(e, s) {
      if (s) {
        let r = this.startNodeAtNode(s);
        return r.local = s, e.specifiers.push(this.finishImportSpecifier(r, "ImportDefaultSpecifier")), !0;
      } else if (mo(this.state.type))
        return this.parseImportSpecifierLocal(e, this.startNode(), "ImportDefaultSpecifier"), !0;
      return !1;
    }
    maybeParseStarImportSpecifier(e) {
      if (this.match(55)) {
        let s = this.startNode();
        return this.next(), this.expectContextual(93), this.parseImportSpecifierLocal(e, s, "ImportNamespaceSpecifier"), !0;
      }
      return !1;
    }
    parseNamedImportSpecifiers(e) {
      let s = !0;
      for (this.expect(5); !this.eat(8); ) {
        if (s)
          s = !1;
        else {
          if (this.eat(14))
            throw this.raise(G.DestructureNamedImport, this.state.startLoc);
          if (this.expect(12), this.eat(8)) break;
        }
        let r = this.startNode(), i = this.match(134), a = this.isContextual(130);
        r.imported = this.parseModuleExportName();
        let o = this.parseImportSpecifier(r, i, e.importKind === "type" || e.importKind === "typeof", a, void 0);
        e.specifiers.push(o);
      }
    }
    parseImportSpecifier(e, s, r, i, a) {
      if (this.eatContextual(93))
        e.local = this.parseIdentifier();
      else {
        let {
          imported: o
        } = e;
        if (s)
          throw this.raise(G.ImportBindingIsString, e, {
            importName: o.value
          });
        this.checkReservedWord(o.name, e.loc.start, !0, !0), e.local || (e.local = $l(o));
      }
      return this.finishImportSpecifier(e, "ImportSpecifier", a);
    }
    isThisParam(e) {
      return e.type === "Identifier" && e.name === "this";
    }
  }, Xb = class extends HI {
    static {
      n(this, "Parser");
    }
    constructor(e, s, r) {
      e = FBe(e), super(e, s), this.options = e, this.initializeScopes(), this.plugins = r, this.filename = e.sourceFilename, this.startIndex =
      e.startIndex;
      let i = 0;
      e.allowAwaitOutsideFunction && (i |= 1), e.allowReturnOutsideFunction && (i |= 2), e.allowImportExportEverywhere && (i |= 8), e.allowSuperOutsideMethod &&
      (i |= 16), e.allowUndeclaredExports && (i |= 32), e.allowNewTargetOutsideFunction && (i |= 4), e.ranges && (i |= 64), e.tokens && (i |=
      128), e.createImportExpressions && (i |= 256), e.createParenthesizedExpressions && (i |= 512), e.errorRecovery && (i |= 1024), e.attachComment &&
      (i |= 2048), e.annexB && (i |= 4096), this.optionFlags = i;
    }
    getScopeHandler() {
      return tg;
    }
    parse() {
      this.enterInitialScopes();
      let e = this.startNode(), s = this.startNode();
      return this.nextToken(), e.errors = null, this.parseTopLevel(e, s), e.errors = this.state.errors, e.comments.length = this.state.commentsLen,
      e;
    }
  };
  function KMe(t, e) {
    var s;
    if (((s = e) == null ? void 0 : s.sourceType) === "unambiguous") {
      e = Object.assign({}, e);
      try {
        e.sourceType = "module";
        let r = Qy(e, t), i = r.parse();
        if (r.sawUnambiguousESM)
          return i;
        if (r.ambiguousScriptDifferentAst)
          try {
            return e.sourceType = "script", Qy(e, t).parse();
          } catch {
          }
        else
          i.program.sourceType = "script";
        return i;
      } catch (r) {
        try {
          return e.sourceType = "script", Qy(e, t).parse();
        } catch {
        }
        throw r;
      }
    } else
      return Qy(e, t).parse();
  }
  n(KMe, "parse");
  function VMe(t, e) {
    let s = Qy(e, t);
    return s.options.strictMode && (s.state.strict = !0), s.getExpression();
  }
  n(VMe, "parseExpression");
  function WMe(t) {
    let e = {};
    for (let s of Object.keys(t))
      e[s] = Ul(t[s]);
    return e;
  }
  n(WMe, "generateExportedTokenTypes");
  var $Me = WMe(UBe);
  function Qy(t, e) {
    let s = Xb, r = /* @__PURE__ */ new Map();
    if (t != null && t.plugins) {
      for (let i of t.plugins) {
        let a, o;
        typeof i == "string" ? a = i : [a, o] = i, r.has(a) || r.set(a, o || {});
      }
      FMe(r), s = HMe(r);
    }
    return new s(t, e, r);
  }
  n(Qy, "getParser");
  var DU = /* @__PURE__ */ new Map();
  function HMe(t) {
    let e = [];
    for (let i of jMe)
      t.has(i) && e.push(i);
    let s = e.join("|"), r = DU.get(s);
    if (!r) {
      r = Xb;
      for (let i of e)
        r = HU[i](r);
      DU.set(s, r);
    }
    return r;
  }
  n(HMe, "getParserClass");
  rg.parse = KMe;
  rg.parseExpression = VMe;
  rg.tokTypes = $Me;
});

// ../node_modules/picocolors/picocolors.js
var zU = g((FRs, rN) => {
  var YU = process.argv || [], zb = process.env, JMe = !("NO_COLOR" in zb || YU.includes("--no-color")) && ("FORCE_COLOR" in zb || YU.includes(
  "--color") || process.platform === "win32" || require != null && require("tty").isatty(1) && zb.TERM !== "dumb" || "CI" in zb), YMe = /* @__PURE__ */ n(
  (t, e, s = t) => (r) => {
    let i = "" + r, a = i.indexOf(e, t.length);
    return ~a ? t + XMe(i, e, s, a) + e : t + i + e;
  }, "formatter"), XMe = /* @__PURE__ */ n((t, e, s, r) => {
    let i = "", a = 0;
    do
      i += t.substring(a, r) + s, a = r + e.length, r = t.indexOf(e, a);
    while (~r);
    return i + t.substring(a);
  }, "replaceClose"), XU = /* @__PURE__ */ n((t = JMe) => {
    let e = t ? YMe : () => String;
    return {
      isColorSupported: t,
      reset: e("\x1B[0m", "\x1B[0m"),
      bold: e("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m"),
      dim: e("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m"),
      italic: e("\x1B[3m", "\x1B[23m"),
      underline: e("\x1B[4m", "\x1B[24m"),
      inverse: e("\x1B[7m", "\x1B[27m"),
      hidden: e("\x1B[8m", "\x1B[28m"),
      strikethrough: e("\x1B[9m", "\x1B[29m"),
      black: e("\x1B[30m", "\x1B[39m"),
      red: e("\x1B[31m", "\x1B[39m"),
      green: e("\x1B[32m", "\x1B[39m"),
      yellow: e("\x1B[33m", "\x1B[39m"),
      blue: e("\x1B[34m", "\x1B[39m"),
      magenta: e("\x1B[35m", "\x1B[39m"),
      cyan: e("\x1B[36m", "\x1B[39m"),
      white: e("\x1B[37m", "\x1B[39m"),
      gray: e("\x1B[90m", "\x1B[39m"),
      bgBlack: e("\x1B[40m", "\x1B[49m"),
      bgRed: e("\x1B[41m", "\x1B[49m"),
      bgGreen: e("\x1B[42m", "\x1B[49m"),
      bgYellow: e("\x1B[43m", "\x1B[49m"),
      bgBlue: e("\x1B[44m", "\x1B[49m"),
      bgMagenta: e("\x1B[45m", "\x1B[49m"),
      bgCyan: e("\x1B[46m", "\x1B[49m"),
      bgWhite: e("\x1B[47m", "\x1B[49m"),
      blackBright: e("\x1B[90m", "\x1B[39m"),
      redBright: e("\x1B[91m", "\x1B[39m"),
      greenBright: e("\x1B[92m", "\x1B[39m"),
      yellowBright: e("\x1B[93m", "\x1B[39m"),
      blueBright: e("\x1B[94m", "\x1B[39m"),
      magentaBright: e("\x1B[95m", "\x1B[39m"),
      cyanBright: e("\x1B[96m", "\x1B[39m"),
      whiteBright: e("\x1B[97m", "\x1B[39m"),
      bgBlackBright: e("\x1B[100m", "\x1B[49m"),
      bgRedBright: e("\x1B[101m", "\x1B[49m"),
      bgGreenBright: e("\x1B[102m", "\x1B[49m"),
      bgYellowBright: e("\x1B[103m", "\x1B[49m"),
      bgBlueBright: e("\x1B[104m", "\x1B[49m"),
      bgMagentaBright: e("\x1B[105m", "\x1B[49m"),
      bgCyanBright: e("\x1B[106m", "\x1B[49m"),
      bgWhiteBright: e("\x1B[107m", "\x1B[49m")
    };
  }, "createColors");
  rN.exports = XU();
  rN.exports.createColors = XU;
});

// ../node_modules/js-tokens/index.js
var GU = g((Gb) => {
  Object.defineProperty(Gb, "__esModule", {
    value: !0
  });
  Gb.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;
  Gb.matchToToken = function(t) {
    var e = { type: "invalid", value: t[0], closed: void 0 };
    return t[1] ? (e.type = "string", e.closed = !!(t[3] || t[4])) : t[5] ? e.type = "comment" : t[6] ? (e.type = "comment", e.closed = !!t[7]) :
    t[8] ? e.type = "regex" : t[9] ? e.type = "number" : t[10] ? e.type = "name" : t[11] ? e.type = "punctuator" : t[12] && (e.type = "white\
space"), e;
  };
});

// ../node_modules/@babel/code-frame/lib/index.js
var Hl = g((ig) => {
  "use strict";
  Object.defineProperty(ig, "__esModule", { value: !0 });
  var iN = zU(), QU = GU(), ZU = ba();
  function zMe() {
    return typeof process == "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? !1 : iN.isColorSupported;
  }
  n(zMe, "isColorSupported");
  var Qb = /* @__PURE__ */ n((t, e) => (s) => t(e(s)), "compose");
  function sK(t) {
    return {
      keyword: t.cyan,
      capitalized: t.yellow,
      jsxIdentifier: t.yellow,
      punctuator: t.yellow,
      number: t.magenta,
      string: t.green,
      regex: t.magenta,
      comment: t.gray,
      invalid: Qb(Qb(t.white, t.bgRed), t.bold),
      gutter: t.gray,
      marker: Qb(t.red, t.bold),
      message: Qb(t.red, t.bold),
      reset: t.reset
    };
  }
  n(sK, "buildDefs");
  var GMe = sK(iN.createColors(!0)), QMe = sK(iN.createColors(!1));
  function rK(t) {
    return t ? GMe : QMe;
  }
  n(rK, "getDefs");
  var ZMe = /* @__PURE__ */ new Set(["as", "async", "from", "get", "of", "set"]), eFe = /\r\n|[\n\r\u2028\u2029]/, tFe = /^[()[\]{}]$/, iK;
  {
    let t = /^[a-z][\w-]*$/i, e = /* @__PURE__ */ n(function(s, r, i) {
      if (s.type === "name") {
        if (ZU.isKeyword(s.value) || ZU.isStrictReservedWord(s.value, !0) || ZMe.has(s.value))
          return "keyword";
        if (t.test(s.value) && (i[r - 1] === "<" || i.slice(r - 2, r) === "</"))
          return "jsxIdentifier";
        if (s.value[0] !== s.value[0].toLowerCase())
          return "capitalized";
      }
      return s.type === "punctuator" && tFe.test(s.value) ? "bracket" : s.type === "invalid" && (s.value === "@" || s.value === "#") ? "punc\
tuator" : s.type;
    }, "getTokenType");
    iK = /* @__PURE__ */ n(function* (s) {
      let r;
      for (; r = QU.default.exec(s); ) {
        let i = QU.matchToToken(r);
        yield {
          type: e(i, r.index, s),
          value: i.value
        };
      }
    }, "tokenize");
  }
  function nK(t) {
    if (t === "") return "";
    let e = rK(!0), s = "";
    for (let {
      type: r,
      value: i
    } of iK(t))
      r in e ? s += i.split(eFe).map((a) => e[r](a)).join(`
`) : s += i;
    return s;
  }
  n(nK, "highlight");
  var eK = !1, tK = /\r\n|[\n\r\u2028\u2029]/;
  function sFe(t, e, s) {
    let r = Object.assign({
      column: 0,
      line: -1
    }, t.start), i = Object.assign({}, r, t.end), {
      linesAbove: a = 2,
      linesBelow: o = 3
    } = s || {}, l = r.line, u = r.column, c = i.line, p = i.column, h = Math.max(l - (a + 1), 0), f = Math.min(e.length, c + o);
    l === -1 && (h = 0), c === -1 && (f = e.length);
    let d = c - l, m = {};
    if (d)
      for (let y = 0; y <= d; y++) {
        let T = y + l;
        if (!u)
          m[T] = !0;
        else if (y === 0) {
          let b = e[T - 1].length;
          m[T] = [u, b - u + 1];
        } else if (y === d)
          m[T] = [0, p];
        else {
          let b = e[T - y].length;
          m[T] = [0, b];
        }
      }
    else
      u === p ? u ? m[l] = [u, 0] : m[l] = !0 : m[l] = [u, p - u];
    return {
      start: h,
      end: f,
      markerLines: m
    };
  }
  n(sFe, "getMarkerLines");
  function aK(t, e, s = {}) {
    let r = s.forceColor || zMe() && s.highlightCode, i = rK(r), a = t.split(tK), {
      start: o,
      end: l,
      markerLines: u
    } = sFe(e, a, s), c = e.start && typeof e.start.column == "number", p = String(l).length, f = (r ? nK(t) : t).split(tK, l).slice(o, l).map(
    (d, m) => {
      let y = o + 1 + m, b = ` ${` ${y}`.slice(-p)} |`, E = u[y], V = !u[y + 1];
      if (E) {
        let W = "";
        if (Array.isArray(E)) {
          let oe = d.slice(0, Math.max(E[0] - 1, 0)).replace(/[^\t]/g, " "), de = E[1] || 1;
          W = [`
 `, i.gutter(b.replace(/\d/g, " ")), " ", oe, i.marker("^").repeat(de)].join(""), V && s.message && (W += " " + i.message(s.message));
        }
        return [i.marker(">"), i.gutter(b), d.length > 0 ? ` ${d}` : "", W].join("");
      } else
        return ` ${i.gutter(b)}${d.length > 0 ? ` ${d}` : ""}`;
    }).join(`
`);
    return s.message && !c && (f = `${" ".repeat(p + 1)}${s.message}
${f}`), r ? i.reset(f) : f;
  }
  n(aK, "codeFrameColumns");
  function rFe(t, e, s, r = {}) {
    if (!eK) {
      eK = !0;
      let a = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";
      if (process.emitWarning)
        process.emitWarning(a, "DeprecationWarning");
      else {
        let o = new Error(a);
        o.name = "DeprecationWarning", console.warn(new Error(a));
      }
    }
    return s = Math.max(s, 0), aK(t, {
      start: {
        column: s,
        line: e
      }
    }, r);
  }
  n(rFe, "index");
  ig.codeFrameColumns = aK;
  ig.default = rFe;
  ig.highlight = nK;
});

// ../node_modules/@babel/template/lib/parse.js
var aN = g((nN) => {
  "use strict";
  Object.defineProperty(nN, "__esModule", {
    value: !0
  });
  nN.default = gFe;
  var iFe = fe(), nFe = JU(), aFe = Hl(), {
    isCallExpression: oFe,
    isExpressionStatement: lFe,
    isFunction: uFe,
    isIdentifier: cFe,
    isJSXIdentifier: pFe,
    isNewExpression: hFe,
    isPlaceholder: Zb,
    isStatement: fFe,
    isStringLiteral: oK,
    removePropertiesDeep: dFe,
    traverse: mFe
  } = iFe, yFe = /^[_$A-Z0-9]+$/;
  function gFe(t, e, s) {
    let {
      placeholderWhitelist: r,
      placeholderPattern: i,
      preserveComments: a,
      syntacticPlaceholders: o
    } = s, l = xFe(e, s.parser, o);
    dFe(l, {
      preserveComments: a
    }), t.validate(l);
    let u = {
      syntactic: {
        placeholders: [],
        placeholderNames: /* @__PURE__ */ new Set()
      },
      legacy: {
        placeholders: [],
        placeholderNames: /* @__PURE__ */ new Set()
      },
      placeholderWhitelist: r,
      placeholderPattern: i,
      syntacticPlaceholders: o
    };
    return mFe(l, TFe, u), Object.assign({
      ast: l
    }, u.syntactic.placeholders.length ? u.syntactic : u.legacy);
  }
  n(gFe, "parseAndBuildMetadata");
  function TFe(t, e, s) {
    var r;
    let i, a = s.syntactic.placeholders.length > 0;
    if (Zb(t)) {
      if (s.syntacticPlaceholders === !1)
        throw new Error("%%foo%%-style placeholders can't be used when '.syntacticPlaceholders' is false.");
      i = t.name.name, a = !0;
    } else {
      if (a || s.syntacticPlaceholders)
        return;
      if (cFe(t) || pFe(t))
        i = t.name;
      else if (oK(t))
        i = t.value;
      else
        return;
    }
    if (a && (s.placeholderPattern != null || s.placeholderWhitelist != null))
      throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible with '.syntacticPlaceholders: true'");
    if (!a && (s.placeholderPattern === !1 || !(s.placeholderPattern || yFe).test(i)) && !((r = s.placeholderWhitelist) != null && r.has(i)))
      return;
    e = e.slice();
    let {
      node: o,
      key: l
    } = e[e.length - 1], u;
    oK(t) || Zb(t, {
      expectedNode: "StringLiteral"
    }) ? u = "string" : hFe(o) && l === "arguments" || oFe(o) && l === "arguments" || uFe(o) && l === "params" ? u = "param" : lFe(o) && !Zb(
    t) ? (u = "statement", e = e.slice(0, -1)) : fFe(t) && Zb(t) ? u = "statement" : u = "other";
    let {
      placeholders: c,
      placeholderNames: p
    } = a ? s.syntactic : s.legacy;
    c.push({
      name: i,
      type: u,
      resolve: /* @__PURE__ */ n((h) => bFe(h, e), "resolve"),
      isDuplicate: p.has(i)
    }), p.add(i);
  }
  n(TFe, "placeholderVisitorHandler");
  function bFe(t, e) {
    let s = t;
    for (let a = 0; a < e.length - 1; a++) {
      let {
        key: o,
        index: l
      } = e[a];
      l === void 0 ? s = s[o] : s = s[o][l];
    }
    let {
      key: r,
      index: i
    } = e[e.length - 1];
    return {
      parent: s,
      key: r,
      index: i
    };
  }
  n(bFe, "resolveAncestors");
  function xFe(t, e, s) {
    let r = (e.plugins || []).slice();
    s !== !1 && r.push("placeholders"), e = Object.assign({
      allowReturnOutsideFunction: !0,
      allowSuperOutsideMethod: !0,
      sourceType: "module"
    }, e, {
      plugins: r
    });
    try {
      return (0, nFe.parse)(t, e);
    } catch (i) {
      let a = i.loc;
      throw a && (i.message += `
` + (0, aFe.codeFrameColumns)(t, {
        start: a
      }), i.code = "BABEL_TEMPLATE_PARSE_ERROR"), i;
    }
  }
  n(xFe, "parseWithCodeFrame");
});

// ../node_modules/@babel/template/lib/populate.js
var cN = g((uN) => {
  "use strict";
  Object.defineProperty(uN, "__esModule", {
    value: !0
  });
  uN.default = CFe;
  var SFe = fe(), {
    blockStatement: PFe,
    cloneNode: lN,
    emptyStatement: EFe,
    expressionStatement: oN,
    identifier: ex,
    isStatement: lK,
    isStringLiteral: AFe,
    stringLiteral: vFe,
    validate: uK
  } = SFe;
  function CFe(t, e) {
    let s = lN(t.ast);
    return e && (t.placeholders.forEach((r) => {
      if (!hasOwnProperty.call(e, r.name)) {
        let i = r.name;
        throw new Error(`Error: No substitution given for "${i}". If this is not meant to be a
            placeholder you may want to consider passing one of the following options to @babel/template:
            - { placeholderPattern: false, placeholderWhitelist: new Set(['${i}'])}
            - { placeholderPattern: /^${i}$/ }`);
      }
    }), Object.keys(e).forEach((r) => {
      if (!t.placeholderNames.has(r))
        throw new Error(`Unknown substitution "${r}" given`);
    })), t.placeholders.slice().reverse().forEach((r) => {
      try {
        wFe(r, s, e && e[r.name] || null);
      } catch (i) {
        throw i.message = `@babel/template placeholder "${r.name}": ${i.message}`, i;
      }
    }), s;
  }
  n(CFe, "populatePlaceholders");
  function wFe(t, e, s) {
    t.isDuplicate && (Array.isArray(s) ? s = s.map((l) => lN(l)) : typeof s == "object" && (s = lN(s)));
    let {
      parent: r,
      key: i,
      index: a
    } = t.resolve(e);
    if (t.type === "string") {
      if (typeof s == "string" && (s = vFe(s)), !s || !AFe(s))
        throw new Error("Expected string substitution");
    } else if (t.type === "statement")
      a === void 0 ? s ? Array.isArray(s) ? s = PFe(s) : typeof s == "string" ? s = oN(ex(s)) : lK(s) || (s = oN(s)) : s = EFe() : s && !Array.
      isArray(s) && (typeof s == "string" && (s = ex(s)), lK(s) || (s = oN(s)));
    else if (t.type === "param") {
      if (typeof s == "string" && (s = ex(s)), a === void 0) throw new Error("Assertion failure.");
    } else if (typeof s == "string" && (s = ex(s)), Array.isArray(s))
      throw new Error("Cannot replace single expression with an array.");
    function o(l, u, c) {
      let p = l[u];
      l[u] = c, (p.type === "Identifier" || p.type === "Placeholder") && (p.typeAnnotation && (c.typeAnnotation = p.typeAnnotation), p.optional &&
      (c.optional = p.optional), p.decorators && (c.decorators = p.decorators));
    }
    if (n(o, "set"), a === void 0)
      uK(r, i, s), o(r, i, s);
    else {
      let l = r[i].slice();
      t.type === "statement" || t.type === "param" ? s == null ? l.splice(a, 1) : Array.isArray(s) ? l.splice(a, 1, ...s) : o(l, a, s) : o(l,
      a, s), uK(r, i, l), r[i] = l;
    }
  }
  n(wFe, "applyReplacement");
});

// ../node_modules/@babel/template/lib/string.js
var cK = g((pN) => {
  "use strict";
  Object.defineProperty(pN, "__esModule", {
    value: !0
  });
  pN.default = DFe;
  var IFe = qb(), NFe = aN(), kFe = cN();
  function DFe(t, e, s) {
    e = t.code(e);
    let r;
    return (i) => {
      let a = (0, IFe.normalizeReplacements)(i);
      return r || (r = (0, NFe.default)(t, e, s)), t.unwrap((0, kFe.default)(r, a));
    };
  }
  n(DFe, "stringTemplate");
});

// ../node_modules/@babel/template/lib/literal.js
var pK = g((hN) => {
  "use strict";
  Object.defineProperty(hN, "__esModule", {
    value: !0
  });
  hN.default = BFe;
  var OFe = qb(), _Fe = aN(), LFe = cN();
  function BFe(t, e, s) {
    let {
      metadata: r,
      names: i
    } = MFe(t, e, s);
    return (a) => {
      let o = {};
      return a.forEach((l, u) => {
        o[i[u]] = l;
      }), (l) => {
        let u = (0, OFe.normalizeReplacements)(l);
        return u && Object.keys(u).forEach((c) => {
          if (hasOwnProperty.call(o, c))
            throw new Error("Unexpected replacement overlap.");
        }), t.unwrap((0, LFe.default)(r, u ? Object.assign(u, o) : o));
      };
    };
  }
  n(BFe, "literalTemplate");
  function MFe(t, e, s) {
    let r = "BABEL_TPL$", i = e.join("");
    do
      r = "$$" + r;
    while (i.includes(r));
    let {
      names: a,
      code: o
    } = FFe(e, r);
    return {
      metadata: (0, _Fe.default)(t, t.code(o), {
        parser: s.parser,
        placeholderWhitelist: new Set(a.concat(s.placeholderWhitelist ? Array.from(s.placeholderWhitelist) : [])),
        placeholderPattern: s.placeholderPattern,
        preserveComments: s.preserveComments,
        syntacticPlaceholders: s.syntacticPlaceholders
      }),
      names: a
    };
  }
  n(MFe, "buildLiteralData");
  function FFe(t, e) {
    let s = [], r = t[0];
    for (let i = 1; i < t.length; i++) {
      let a = `${e}${i - 1}`;
      s.push(a), r += a + t[i];
    }
    return {
      names: s,
      code: r
    };
  }
  n(FFe, "buildTemplateCode");
});

// ../node_modules/@babel/template/lib/builder.js
var gK = g((fN) => {
  "use strict";
  Object.defineProperty(fN, "__esModule", {
    value: !0
  });
  fN.default = yK;
  var Zo = qb(), hK = cK(), fK = pK(), dK = (0, Zo.validate)({
    placeholderPattern: !1
  });
  function yK(t, e) {
    let s = /* @__PURE__ */ new WeakMap(), r = /* @__PURE__ */ new WeakMap(), i = e || (0, Zo.validate)(null);
    return Object.assign((a, ...o) => {
      if (typeof a == "string") {
        if (o.length > 1) throw new Error("Unexpected extra params.");
        return mK((0, hK.default)(t, a, (0, Zo.merge)(i, (0, Zo.validate)(o[0]))));
      } else if (Array.isArray(a)) {
        let l = s.get(a);
        return l || (l = (0, fK.default)(t, a, i), s.set(a, l)), mK(l(o));
      } else if (typeof a == "object" && a) {
        if (o.length > 0) throw new Error("Unexpected extra params.");
        return yK(t, (0, Zo.merge)(i, (0, Zo.validate)(a)));
      }
      throw new Error(`Unexpected template param ${typeof a}`);
    }, {
      ast: /* @__PURE__ */ n((a, ...o) => {
        if (typeof a == "string") {
          if (o.length > 1) throw new Error("Unexpected extra params.");
          return (0, hK.default)(t, a, (0, Zo.merge)((0, Zo.merge)(i, (0, Zo.validate)(o[0])), dK))();
        } else if (Array.isArray(a)) {
          let l = r.get(a);
          return l || (l = (0, fK.default)(t, a, (0, Zo.merge)(i, dK)), r.set(a, l)), l(o)();
        }
        throw new Error(`Unexpected template param ${typeof a}`);
      }, "ast")
    });
  }
  n(yK, "createTemplateBuilder");
  function mK(t) {
    let e = "";
    try {
      throw new Error();
    } catch (s) {
      s.stack && (e = s.stack.split(`
`).slice(3).join(`
`));
    }
    return (s) => {
      try {
        return t(s);
      } catch (r) {
        throw r.stack += `
    =============
${e}`, r;
      }
    };
  }
  n(mK, "extendedTrace");
});

// ../node_modules/@babel/template/lib/index.js
var Jl = g((sa) => {
  "use strict";
  Object.defineProperty(sa, "__esModule", {
    value: !0
  });
  sa.statements = sa.statement = sa.smart = sa.program = sa.expression = sa.default = void 0;
  var ng = yU(), ag = gK(), dN = sa.smart = (0, ag.default)(ng.smart), jFe = sa.statement = (0, ag.default)(ng.statement), RFe = sa.statements =
  (0, ag.default)(ng.statements), qFe = sa.expression = (0, ag.default)(ng.expression), UFe = sa.program = (0, ag.default)(ng.program), QRs = sa.
  default = Object.assign(dN.bind(void 0), {
    smart: dN,
    statement: jFe,
    statements: RFe,
    expression: qFe,
    program: UFe,
    ast: dN.ast
  });
});

// ../node_modules/@babel/helpers/lib/helpers-generated.js
var TK = g((tx) => {
  "use strict";
  Object.defineProperty(tx, "__esModule", {
    value: !0
  });
  tx.default = void 0;
  var KFe = Jl();
  function Ee(t, e, s) {
    return Object.freeze({
      minVersion: t,
      ast: /* @__PURE__ */ n(() => KFe.default.program.ast(e, {
        preserveComments: !0
      }), "ast"),
      metadata: s
    });
  }
  n(Ee, "helper");
  var VFe = tx.default = {
    __proto__: null,
    OverloadYield: Ee("7.18.14", "function _OverloadYield(e,d){this.v=e,this.k=d}", {
      globals: [],
      locals: {
        _OverloadYield: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_OverloadYield",
      dependencies: {}
    }),
    applyDecoratedDescriptor: Ee("7.0.0-beta.0", 'function _applyDecoratedDescriptor(i,e,r,n,l){var a={};return Object.keys(n).forEach((func\
tion(i){a[i]=n[i]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=r.slice().r\
everse().reduce((function(r,n){return n(i,e,r)||r}),a),l&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(l):void 0,a.init\
ializer=void 0),void 0===a.initializer?(Object.defineProperty(i,e,a),null):a}', {
      globals: ["Object"],
      locals: {
        _applyDecoratedDescriptor: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_applyDecoratedDescriptor",
      dependencies: {}
    }),
    applyDecs2311: Ee("7.24.0", 'function applyDecs2311(e,t,n,r,o,i){var a,c,u,s,f,l,p,d=Symbol.metadata||Symbol.for("Symbol.metadata"),m=Ob\
ject.defineProperty,h=Object.create,y=[h(null),h(null)],v=t.length;function g(t,n,r){return function(o,i){n&&(i=o,o=e);for(var a=0;a<t.lengt\
h;a++)i=t[a].apply(o,r?[i]:[]);return r?i:o}}function b(e,t,n,r){if("function"!=typeof e&&(r||void 0!==e))throw new TypeError(t+" must "+(n|\
|"be")+" a function"+(r?"":" or undefined"));return e}function applyDec(e,t,n,r,o,i,u,s,f,l,p){function d(e){if(!p(e))throw new TypeError("A\
ttempted to access private element on non-instance")}var h=[].concat(t[0]),v=t[3],w=!u,D=1===o,S=3===o,j=4===o,E=2===o;function I(t,n,r){ret\
urn function(o,i){return n&&(i=o,o=e),r&&r(o),P[t].call(o,i)}}if(!w){var P={},k=[],F=S?"get":j||D?"set":"value";if(f?(l||D?P={get:setFunctio\
nName((function(){return v(this)}),r,"get"),set:function(e){t[4](this,e)}}:P[F]=v,l||setFunctionName(P[F],r,E?"":F)):l||(P=Object.getOwnProp\
ertyDescriptor(e,r)),!l&&!f){if((c=y[+s][r])&&7!=(c^o))throw Error("Decorating two elements with the same name ("+P[F].name+") is not suppor\
ted yet");y[+s][r]=o<3?1:o}}for(var N=e,O=h.length-1;O>=0;O-=n?2:1){var T=b(h[O],"A decorator","be",!0),z=n?h[O-1]:void 0,A={},H={kind:["fie\
ld","accessor","method","getter","setter","class"][o],name:r,metadata:a,addInitializer:function(e,t){if(e.v)throw new TypeError("attempted t\
o call addInitializer after decoration was finished");b(t,"An initializer","be",!0),i.push(t)}.bind(null,A)};if(w)c=T.call(z,N,H),A.v=1,b(c,\
"class decorators","return")&&(N=c);else if(H.static=s,H.private=f,c=H.access={has:f?p.bind():function(e){return r in e}},j||(c.get=f?E?func\
tion(e){return d(e),P.value}:I("get",0,d):function(e){return e[r]}),E||S||(c.set=f?I("set",0,d):function(e,t){e[r]=t}),N=T.call(z,D?{get:P.g\
et,set:P.set}:P[F],H),A.v=1,D){if("object"==typeof N&&N)(c=b(N.get,"accessor.get"))&&(P.get=c),(c=b(N.set,"accessor.set"))&&(P.set=c),(c=b(N\
.init,"accessor.init"))&&k.unshift(c);else if(void 0!==N)throw new TypeError("accessor decorators must return an object with get, set, or in\
it properties or undefined")}else b(N,(l?"field":"method")+" decorators","return")&&(l?k.unshift(N):P[F]=N)}return o<2&&u.push(g(k,s,1),g(i,\
s,0)),l||w||(f?D?u.splice(-1,0,I("get",s),I("set",s)):u.push(E?P[F]:b.call.bind(P[F])):m(e,r,P)),N}function w(e){return m(e,d,{configurable:\
!0,enumerable:!0,value:a})}return void 0!==i&&(a=i[d]),a=h(null==a?null:a),f=[],l=function(e){e&&f.push(g(e))},p=function(t,r){for(var i=0;i\
<n.length;i++){var a=n[i],c=a[1],l=7&c;if((8&c)==t&&!l==r){var p=a[2],d=!!a[3],m=16&c;applyDec(t?e:e.prototype,a,m,d?"#"+p:toPropertyKey(p),\
l,l<2?[]:t?s=s||[]:u=u||[],f,!!t,d,r,t&&d?function(t){return checkInRHS(t)===e}:o)}}},p(8,0),p(0,0),p(8,1),p(0,1),l(u),l(s),c=f,v||w(e),{e:c\
,get c(){var n=[];return v&&[w(e=applyDec(e,[t],r,e.name,5,n)),g(n,1)]}}}', {
      globals: ["Symbol", "Object", "TypeError", "Error"],
      locals: {
        applyDecs2311: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "applyDecs2311",
      dependencies: {
        checkInRHS: ["body.0.body.body.5.argument.expressions.4.right.body.body.0.body.body.1.consequent.body.1.expression.arguments.10.cons\
equent.body.body.0.argument.left.callee"],
        setFunctionName: ["body.0.body.body.3.body.body.3.consequent.body.1.test.expressions.0.consequent.expressions.0.consequent.right.pro\
perties.0.value.callee", "body.0.body.body.3.body.body.3.consequent.body.1.test.expressions.0.consequent.expressions.1.right.callee"],
        toPropertyKey: ["body.0.body.body.5.argument.expressions.4.right.body.body.0.body.body.1.consequent.body.1.expression.arguments.3.al\
ternate.callee"]
      }
    }),
    arrayLikeToArray: Ee("7.9.0", "function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r\
[e];return n}", {
      globals: ["Array"],
      locals: {
        _arrayLikeToArray: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_arrayLikeToArray",
      dependencies: {}
    }),
    arrayWithHoles: Ee("7.0.0-beta.0", "function _arrayWithHoles(r){if(Array.isArray(r))return r}", {
      globals: ["Array"],
      locals: {
        _arrayWithHoles: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_arrayWithHoles",
      dependencies: {}
    }),
    arrayWithoutHoles: Ee("7.0.0-beta.0", "function _arrayWithoutHoles(r){if(Array.isArray(r))return arrayLikeToArray(r)}", {
      globals: ["Array"],
      locals: {
        _arrayWithoutHoles: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_arrayWithoutHoles",
      dependencies: {
        arrayLikeToArray: ["body.0.body.body.0.consequent.argument.callee"]
      }
    }),
    assertClassBrand: Ee("7.24.0", 'function _assertClassBrand(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;t\
hrow new TypeError("Private element is not present on this object")}', {
      globals: ["TypeError"],
      locals: {
        _assertClassBrand: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_assertClassBrand",
      dependencies: {}
    }),
    assertThisInitialized: Ee("7.0.0-beta.0", `function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been i\
nitialised - super() hasn't been called");return e}`, {
      globals: ["ReferenceError"],
      locals: {
        _assertThisInitialized: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_assertThisInitialized",
      dependencies: {}
    }),
    asyncGeneratorDelegate: Ee("7.0.0-beta.0", 'function _asyncGeneratorDelegate(t){var e={},n=!1;function pump(e,r){return n=!0,r=new Promi\
se((function(n){n(t[e](r))})),{done:!1,value:new OverloadYield(r,1)}}return e["undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator"]=fun\
ction(){return this},e.next=function(t){return n?(n=!1,t):pump("next",t)},"function"==typeof t.throw&&(e.throw=function(t){if(n)throw n=!1,t\
;return pump("throw",t)}),"function"==typeof t.return&&(e.return=function(t){return n?(n=!1,t):pump("return",t)}),e}', {
      globals: ["Promise", "Symbol"],
      locals: {
        _asyncGeneratorDelegate: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_asyncGeneratorDelegate",
      dependencies: {
        OverloadYield: ["body.0.body.body.1.body.body.0.argument.expressions.2.properties.1.value.callee"]
      }
    }),
    asyncIterator: Ee("7.15.9", 'function _asyncIterator(r){var n,t,o,e=2;for("undefined"!=typeof Symbol&&(t=Symbol.asyncIterator,o=Symbol.i\
terator);e--;){if(t&&null!=(n=r[t]))return n.call(r);if(o&&null!=(n=r[o]))return new AsyncFromSyncIterator(n.call(r));t="@@asyncIterator",o=\
"@@iterator"}throw new TypeError("Object is not async iterable")}function AsyncFromSyncIterator(r){function AsyncFromSyncIteratorContinuatio\
n(r){if(Object(r)!==r)return Promise.reject(new TypeError(r+" is not an object."));var n=r.done;return Promise.resolve(r.value).then((functi\
on(r){return{value:r,done:n}}))}return AsyncFromSyncIterator=function(r){this.s=r,this.n=r.next},AsyncFromSyncIterator.prototype={s:null,n:n\
ull,next:function(){return AsyncFromSyncIteratorContinuation(this.n.apply(this.s,arguments))},return:function(r){var n=this.s.return;return \
void 0===n?Promise.resolve({value:r,done:!0}):AsyncFromSyncIteratorContinuation(n.apply(this.s,arguments))},throw:function(r){var n=this.s.r\
eturn;return void 0===n?Promise.reject(r):AsyncFromSyncIteratorContinuation(n.apply(this.s,arguments))}},new AsyncFromSyncIterator(r)}', {
      globals: ["Symbol", "TypeError", "Object", "Promise"],
      locals: {
        _asyncIterator: ["body.0.id"],
        AsyncFromSyncIterator: ["body.1.id", "body.0.body.body.1.body.body.1.consequent.argument.callee", "body.1.body.body.1.argument.expre\
ssions.1.left.object", "body.1.body.body.1.argument.expressions.2.callee", "body.1.body.body.1.argument.expressions.0.left"]
      },
      exportBindingAssignments: [],
      exportName: "_asyncIterator",
      dependencies: {}
    }),
    asyncToGenerator: Ee("7.0.0-beta.0", 'function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value}catch(n){return void e(n)}i\
.done?t(u):Promise.resolve(u).then(r,o)}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise((function(\
r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n)}function _throw(n){asyncGeneratorStep(a,r,o,_next,\
_throw,"throw",n)}_next(void 0)}))}}', {
      globals: ["Promise"],
      locals: {
        asyncGeneratorStep: ["body.0.id", "body.1.body.body.0.argument.body.body.1.argument.arguments.0.body.body.1.body.body.0.expression.c\
allee", "body.1.body.body.0.argument.body.body.1.argument.arguments.0.body.body.2.body.body.0.expression.callee"],
        _asyncToGenerator: ["body.1.id"]
      },
      exportBindingAssignments: [],
      exportName: "_asyncToGenerator",
      dependencies: {}
    }),
    awaitAsyncGenerator: Ee("7.0.0-beta.0", "function _awaitAsyncGenerator(e){return new OverloadYield(e,0)}", {
      globals: [],
      locals: {
        _awaitAsyncGenerator: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_awaitAsyncGenerator",
      dependencies: {
        OverloadYield: ["body.0.body.body.0.argument.callee"]
      }
    }),
    callSuper: Ee("7.23.8", "function _callSuper(t,o,e){return o=getPrototypeOf(o),possibleConstructorReturn(t,isNativeReflectConstruct()?Re\
flect.construct(o,e||[],getPrototypeOf(t).constructor):o.apply(t,e))}", {
      globals: ["Reflect"],
      locals: {
        _callSuper: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_callSuper",
      dependencies: {
        getPrototypeOf: ["body.0.body.body.0.argument.expressions.0.right.callee", "body.0.body.body.0.argument.expressions.1.arguments.1.co\
nsequent.arguments.2.object.callee"],
        isNativeReflectConstruct: ["body.0.body.body.0.argument.expressions.1.arguments.1.test.callee"],
        possibleConstructorReturn: ["body.0.body.body.0.argument.expressions.1.callee"]
      }
    }),
    checkInRHS: Ee("7.20.5", `function _checkInRHS(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(\
null!==e?typeof e:"null"));return e}`, {
      globals: ["Object", "TypeError"],
      locals: {
        _checkInRHS: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_checkInRHS",
      dependencies: {}
    }),
    checkPrivateRedeclaration: Ee("7.14.1", 'function _checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the\
 same private elements twice on an object")}', {
      globals: ["TypeError"],
      locals: {
        _checkPrivateRedeclaration: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_checkPrivateRedeclaration",
      dependencies: {}
    }),
    classCallCheck: Ee("7.0.0-beta.0", 'function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a fun\
ction")}', {
      globals: ["TypeError"],
      locals: {
        _classCallCheck: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classCallCheck",
      dependencies: {}
    }),
    classNameTDZError: Ee("7.0.0-beta.0", `function _classNameTDZError(e){throw new ReferenceError('Class "'+e+'" cannot be referenced in co\
mputed property keys.')}`, {
      globals: ["ReferenceError"],
      locals: {
        _classNameTDZError: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classNameTDZError",
      dependencies: {}
    }),
    classPrivateFieldGet2: Ee("7.24.0", "function _classPrivateFieldGet2(s,a){return s.get(assertClassBrand(s,a))}", {
      globals: [],
      locals: {
        _classPrivateFieldGet2: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classPrivateFieldGet2",
      dependencies: {
        assertClassBrand: ["body.0.body.body.0.argument.arguments.0.callee"]
      }
    }),
    classPrivateFieldInitSpec: Ee("7.14.1", "function _classPrivateFieldInitSpec(e,t,a){checkPrivateRedeclaration(e,t),t.set(e,a)}", {
      globals: [],
      locals: {
        _classPrivateFieldInitSpec: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classPrivateFieldInitSpec",
      dependencies: {
        checkPrivateRedeclaration: ["body.0.body.body.0.expression.expressions.0.callee"]
      }
    }),
    classPrivateFieldLooseBase: Ee("7.0.0-beta.0", 'function _classPrivateFieldBase(e,t){if(!{}.hasOwnProperty.call(e,t))throw new TypeError\
("attempted to use private field on non-instance");return e}', {
      globals: ["TypeError"],
      locals: {
        _classPrivateFieldBase: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classPrivateFieldBase",
      dependencies: {}
    }),
    classPrivateFieldLooseKey: Ee("7.0.0-beta.0", 'var id=0;function _classPrivateFieldKey(e){return"__private_"+id+++"_"+e}', {
      globals: [],
      locals: {
        id: ["body.0.declarations.0.id", "body.1.body.body.0.argument.left.left.right.argument", "body.1.body.body.0.argument.left.left.righ\
t.argument"],
        _classPrivateFieldKey: ["body.1.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classPrivateFieldKey",
      dependencies: {}
    }),
    classPrivateFieldSet2: Ee("7.24.0", "function _classPrivateFieldSet2(s,a,r){return s.set(assertClassBrand(s,a),r),r}", {
      globals: [],
      locals: {
        _classPrivateFieldSet2: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classPrivateFieldSet2",
      dependencies: {
        assertClassBrand: ["body.0.body.body.0.argument.expressions.0.arguments.0.callee"]
      }
    }),
    classPrivateGetter: Ee("7.24.0", "function _classPrivateGetter(s,r,a){return a(assertClassBrand(s,r))}", {
      globals: [],
      locals: {
        _classPrivateGetter: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classPrivateGetter",
      dependencies: {
        assertClassBrand: ["body.0.body.body.0.argument.arguments.0.callee"]
      }
    }),
    classPrivateMethodInitSpec: Ee("7.14.1", "function _classPrivateMethodInitSpec(e,a){checkPrivateRedeclaration(e,a),a.add(e)}", {
      globals: [],
      locals: {
        _classPrivateMethodInitSpec: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classPrivateMethodInitSpec",
      dependencies: {
        checkPrivateRedeclaration: ["body.0.body.body.0.expression.expressions.0.callee"]
      }
    }),
    classPrivateSetter: Ee("7.24.0", "function _classPrivateSetter(s,r,a,t){return r(assertClassBrand(s,a),t),t}", {
      globals: [],
      locals: {
        _classPrivateSetter: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classPrivateSetter",
      dependencies: {
        assertClassBrand: ["body.0.body.body.0.argument.expressions.0.arguments.0.callee"]
      }
    }),
    classStaticPrivateMethodGet: Ee("7.3.2", "function _classStaticPrivateMethodGet(s,a,t){return assertClassBrand(a,s),t}", {
      globals: [],
      locals: {
        _classStaticPrivateMethodGet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classStaticPrivateMethodGet",
      dependencies: {
        assertClassBrand: ["body.0.body.body.0.argument.expressions.0.callee"]
      }
    }),
    construct: Ee("7.0.0-beta.0", "function _construct(t,e,r){if(isNativeReflectConstruct())return Reflect.construct.apply(null,arguments);v\
ar o=[null];o.push.apply(o,e);var p=new(t.bind.apply(t,o));return r&&setPrototypeOf(p,r.prototype),p}", {
      globals: ["Reflect"],
      locals: {
        _construct: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_construct",
      dependencies: {
        isNativeReflectConstruct: ["body.0.body.body.0.test.callee"],
        setPrototypeOf: ["body.0.body.body.4.argument.expressions.0.right.callee"]
      }
    }),
    createClass: Ee("7.0.0-beta.0", 'function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.\
configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,toPropertyKey(o.key),o)}}function _createClass(e,r,t){return r&&_define\
Properties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}', {
      globals: ["Object"],
      locals: {
        _defineProperties: ["body.0.id", "body.1.body.body.0.argument.expressions.0.right.callee", "body.1.body.body.0.argument.expressions.\
1.right.callee"],
        _createClass: ["body.1.id"]
      },
      exportBindingAssignments: [],
      exportName: "_createClass",
      dependencies: {
        toPropertyKey: ["body.0.body.body.0.body.body.1.expression.expressions.3.arguments.1.callee"]
      }
    }),
    createForOfIteratorHelper: Ee("7.9.0", 'function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r\
["@@iterator"];if(!t){if(Array.isArray(r)||(t=unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var n=0,F=function()\
{};return{s:F,n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(r){throw r},f:F}}throw new TypeError("Invalid att\
empt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1\
;return{s:function(){t=t.call(r)},n:function(){var r=t.next();return a=r.done,r},e:function(r){u=!0,o=r},f:function(){try{a||null==t.return|\
|t.return()}finally{if(u)throw o}}}}', {
      globals: ["Symbol", "Array", "TypeError"],
      locals: {
        _createForOfIteratorHelper: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_createForOfIteratorHelper",
      dependencies: {
        unsupportedIterableToArray: ["body.0.body.body.1.consequent.body.0.test.left.right.right.callee"]
      }
    }),
    createForOfIteratorHelperLoose: Ee("7.9.0", 'function _createForOfIteratorHelperLoose(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.it\
erator]||r["@@iterator"];if(t)return(t=t.call(r)).next.bind(t);if(Array.isArray(r)||(t=unsupportedIterableToArray(r))||e&&r&&"number"==typeo\
f r.length){t&&(r=t);var o=0;return function(){return o>=r.length?{done:!0}:{done:!1,value:r[o++]}}}throw new TypeError("Invalid attempt to \
iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}', {
      globals: ["Symbol", "Array", "TypeError"],
      locals: {
        _createForOfIteratorHelperLoose: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_createForOfIteratorHelperLoose",
      dependencies: {
        unsupportedIterableToArray: ["body.0.body.body.2.test.left.right.right.callee"]
      }
    }),
    createSuper: Ee("7.9.0", "function _createSuper(t){var r=isNativeReflectConstruct();return function(){var e,o=getPrototypeOf(t);if(r){va\
r s=getPrototypeOf(this).constructor;e=Reflect.construct(o,arguments,s)}else e=o.apply(this,arguments);return possibleConstructorReturn(this\
,e)}}", {
      globals: ["Reflect"],
      locals: {
        _createSuper: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_createSuper",
      dependencies: {
        getPrototypeOf: ["body.0.body.body.1.argument.body.body.0.declarations.1.init.callee", "body.0.body.body.1.argument.body.body.1.cons\
equent.body.0.declarations.0.init.object.callee"],
        isNativeReflectConstruct: ["body.0.body.body.0.declarations.0.init.callee"],
        possibleConstructorReturn: ["body.0.body.body.1.argument.body.body.2.argument.callee"]
      }
    }),
    decorate: Ee("7.1.5", `function _decorate(e,r,t,i){var o=_getDecoratorsApi();if(i)for(var n=0;n<i.length;n++)o=i[n](o);var s=r((function\
(e){o.initializeInstanceElements(e,a.elements)}),t),a=o.decorateClass(_coalesceClassElements(s.d.map(_createElementDescriptor)),e);return o.\
initializeClassElements(s.F,a.elements),o.runClassFinishers(s.F,a.finishers)}function _getDecoratorsApi(){_getDecoratorsApi=function(){retur\
n e};var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,r){["method","field"].forEach((function(t){\
r.forEach((function(r){r.kind===t&&"own"===r.placement&&this.defineClassElement(e,r)}),this)}),this)},initializeClassElements:function(e,r){\
var t=e.prototype;["method","field"].forEach((function(i){r.forEach((function(r){var o=r.placement;if(r.kind===i&&("static"===o||"prototype"\
===o)){var n="static"===o?e:t;this.defineClassElement(n,r)}}),this)}),this)},defineClassElement:function(e,r){var t=r.descriptor;if("field"=\
==r.kind){var i=r.initializer;t={enumerable:t.enumerable,writable:t.writable,configurable:t.configurable,value:void 0===i?void 0:i.call(e)}}\
Object.defineProperty(e,r.key,t)},decorateClass:function(e,r){var t=[],i=[],o={static:[],prototype:[],own:[]};if(e.forEach((function(e){this\
.addElementPlacement(e,o)}),this),e.forEach((function(e){if(!_hasDecorators(e))return t.push(e);var r=this.decorateElement(e,o);t.push(r.ele\
ment),t.push.apply(t,r.extras),i.push.apply(i,r.finishers)}),this),!r)return{elements:t,finishers:i};var n=this.decorateConstructor(t,r);ret\
urn i.push.apply(i,n.finishers),n.finishers=i,n},addElementPlacement:function(e,r,t){var i=r[e.placement];if(!t&&-1!==i.indexOf(e.key))throw\
 new TypeError("Duplicated element ("+e.key+")");i.push(e.key)},decorateElement:function(e,r){for(var t=[],i=[],o=e.decorators,n=o.length-1;\
n>=0;n--){var s=r[e.placement];s.splice(s.indexOf(e.key),1);var a=this.fromElementDescriptor(e),l=this.toElementFinisherExtras((0,o[n])(a)||\
a);e=l.element,this.addElementPlacement(e,r),l.finisher&&i.push(l.finisher);var c=l.extras;if(c){for(var p=0;p<c.length;p++)this.addElementP\
lacement(c[p],r);t.push.apply(t,c)}}return{element:e,finishers:i,extras:t}},decorateConstructor:function(e,r){for(var t=[],i=r.length-1;i>=0\
;i--){var o=this.fromClassDescriptor(e),n=this.toClassDescriptor((0,r[i])(o)||o);if(void 0!==n.finisher&&t.push(n.finisher),void 0!==n.eleme\
nts){e=n.elements;for(var s=0;s<e.length-1;s++)for(var a=s+1;a<e.length;a++)if(e[s].key===e[a].key&&e[s].placement===e[a].placement)throw ne\
w TypeError("Duplicated element ("+e[s].key+")")}}return{elements:e,finishers:t}},fromElementDescriptor:function(e){var r={kind:e.kind,key:e\
.key,placement:e.placement,descriptor:e.descriptor};return Object.defineProperty(r,Symbol.toStringTag,{value:"Descriptor",configurable:!0}),\
"field"===e.kind&&(r.initializer=e.initializer),r},toElementDescriptors:function(e){if(void 0!==e)return toArray(e).map((function(e){var r=t\
his.toElementDescriptor(e);return this.disallowProperty(e,"finisher","An element descriptor"),this.disallowProperty(e,"extras","An element d\
escriptor"),r}),this)},toElementDescriptor:function(e){var r=e.kind+"";if("method"!==r&&"field"!==r)throw new TypeError('An element descript\
or\\'s .kind property must be either "method" or "field", but a decorator created an element descriptor with .kind "'+r+'"');var t=toProperty\
Key(e.key),i=e.placement+"";if("static"!==i&&"prototype"!==i&&"own"!==i)throw new TypeError('An element descriptor\\'s .placement property mu\
st be one of "static", "prototype" or "own", but a decorator created an element descriptor with .placement "'+i+'"');var o=e.descriptor;this\
.disallowProperty(e,"elements","An element descriptor");var n={kind:r,key:t,placement:i,descriptor:Object.assign({},o)};return"field"!==r?th\
is.disallowProperty(e,"initializer","A method descriptor"):(this.disallowProperty(o,"get","The property descriptor of a field descriptor"),t\
his.disallowProperty(o,"set","The property descriptor of a field descriptor"),this.disallowProperty(o,"value","The property descriptor of a \
field descriptor"),n.initializer=e.initializer),n},toElementFinisherExtras:function(e){return{element:this.toElementDescriptor(e),finisher:_\
optionalCallableProperty(e,"finisher"),extras:this.toElementDescriptors(e.extras)}},fromClassDescriptor:function(e){var r={kind:"class",elem\
ents:e.map(this.fromElementDescriptor,this)};return Object.defineProperty(r,Symbol.toStringTag,{value:"Descriptor",configurable:!0}),r},toCl\
assDescriptor:function(e){var r=e.kind+"";if("class"!==r)throw new TypeError('A class descriptor\\'s .kind property must be "class", but a de\
corator created a class descriptor with .kind "'+r+'"');this.disallowProperty(e,"key","A class descriptor"),this.disallowProperty(e,"placeme\
nt","A class descriptor"),this.disallowProperty(e,"descriptor","A class descriptor"),this.disallowProperty(e,"initializer","A class descript\
or"),this.disallowProperty(e,"extras","A class descriptor");var t=_optionalCallableProperty(e,"finisher");return{elements:this.toElementDesc\
riptors(e.elements),finisher:t}},runClassFinishers:function(e,r){for(var t=0;t<r.length;t++){var i=(0,r[t])(e);if(void 0!==i){if("function"!\
=typeof i)throw new TypeError("Finishers must return a constructor.");e=i}}return e},disallowProperty:function(e,r,t){if(void 0!==e[r])throw\
 new TypeError(t+" can't have a ."+r+" property.")}};return e}function _createElementDescriptor(e){var r,t=toPropertyKey(e.key);"method"===e\
.kind?r={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?r={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kin\
d?r={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(r={configurable:!0,writable:!0,enumerable:!0});var i={kind:"field"===e.ki\
nd?"field":"method",key:t,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:r};return e.decorators&&(i.decorators=e.\
decorators),"field"===e.kind&&(i.initializer=e.value),i}function _coalesceGetterSetter(e,r){void 0!==e.descriptor.get?r.descriptor.get=e.des\
criptor.get:r.descriptor.set=e.descriptor.set}function _coalesceClassElements(e){for(var r=[],isSameElement=function(e){return"method"===e.k\
ind&&e.key===o.key&&e.placement===o.placement},t=0;t<e.length;t++){var i,o=e[t];if("method"===o.kind&&(i=r.find(isSameElement)))if(_isDataDe\
scriptor(o.descriptor)||_isDataDescriptor(i.descriptor)){if(_hasDecorators(o)||_hasDecorators(i))throw new ReferenceError("Duplicated method\
s ("+o.key+") can't be decorated.");i.descriptor=o.descriptor}else{if(_hasDecorators(o)){if(_hasDecorators(i))throw new ReferenceError("Deco\
rators can't be placed on different accessors with for the same property ("+o.key+").");i.decorators=o.decorators}_coalesceGetterSetter(o,i)\
}else r.push(o)}return r}function _hasDecorators(e){return e.decorators&&e.decorators.length}function _isDataDescriptor(e){return void 0!==e\
&&!(void 0===e.value&&void 0===e.writable)}function _optionalCallableProperty(e,r){var t=e[r];if(void 0!==t&&"function"!=typeof t)throw new \
TypeError("Expected '"+r+"' to be a function");return t}`, {
      globals: ["Object", "TypeError", "Symbol", "ReferenceError"],
      locals: {
        _decorate: ["body.0.id"],
        _getDecoratorsApi: ["body.1.id", "body.0.body.body.0.declarations.0.init.callee", "body.1.body.body.0.expression.left"],
        _createElementDescriptor: ["body.2.id", "body.0.body.body.2.declarations.1.init.arguments.0.arguments.0.arguments.0"],
        _coalesceGetterSetter: ["body.3.id", "body.4.body.body.0.body.body.1.consequent.alternate.body.1.expression.callee"],
        _coalesceClassElements: ["body.4.id", "body.0.body.body.2.declarations.1.init.arguments.0.callee"],
        _hasDecorators: ["body.5.id", "body.1.body.body.1.declarations.0.init.properties.4.value.body.body.1.test.expressions.1.arguments.0.\
body.body.0.test.argument.callee", "body.4.body.body.0.body.body.1.consequent.consequent.body.0.test.left.callee", "body.4.body.body.0.body.\
body.1.consequent.consequent.body.0.test.right.callee", "body.4.body.body.0.body.body.1.consequent.alternate.body.0.test.callee", "body.4.bo\
dy.body.0.body.body.1.consequent.alternate.body.0.consequent.body.0.test.callee"],
        _isDataDescriptor: ["body.6.id", "body.4.body.body.0.body.body.1.consequent.test.left.callee", "body.4.body.body.0.body.body.1.conse\
quent.test.right.callee"],
        _optionalCallableProperty: ["body.7.id", "body.1.body.body.1.declarations.0.init.properties.11.value.body.body.0.argument.properties\
.1.value.callee", "body.1.body.body.1.declarations.0.init.properties.13.value.body.body.3.declarations.0.init.callee"]
      },
      exportBindingAssignments: [],
      exportName: "_decorate",
      dependencies: {
        toArray: ["body.1.body.body.1.declarations.0.init.properties.9.value.body.body.0.consequent.argument.callee.object.callee"],
        toPropertyKey: ["body.1.body.body.1.declarations.0.init.properties.10.value.body.body.2.declarations.0.init.callee", "body.2.body.bo\
dy.0.declarations.1.init.callee"]
      }
    }),
    defaults: Ee("7.0.0-beta.0", "function _defaults(e,r){for(var t=Object.getOwnPropertyNames(r),o=0;o<t.length;o++){var n=t[o],a=Object.ge\
tOwnPropertyDescriptor(r,n);a&&a.configurable&&void 0===e[n]&&Object.defineProperty(e,n,a)}return e}", {
      globals: ["Object"],
      locals: {
        _defaults: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_defaults",
      dependencies: {}
    }),
    defineAccessor: Ee("7.20.7", "function _defineAccessor(e,r,n,t){var c={configurable:!0,enumerable:!0};return c[e]=t,Object.definePropert\
y(r,n,c)}", {
      globals: ["Object"],
      locals: {
        _defineAccessor: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_defineAccessor",
      dependencies: {}
    }),
    defineProperty: Ee("7.0.0-beta.0", "function _defineProperty(e,r,t){return(r=toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,en\
umerable:!0,configurable:!0,writable:!0}):e[r]=t,e}", {
      globals: ["Object"],
      locals: {
        _defineProperty: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_defineProperty",
      dependencies: {
        toPropertyKey: ["body.0.body.body.0.argument.expressions.0.test.left.right.callee"]
      }
    }),
    extends: Ee("7.0.0-beta.0", "function _extends(){return _extends=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.\
length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},_extends.apply(null,arguments)}", {
      globals: ["Object"],
      locals: {
        _extends: ["body.0.id", "body.0.body.body.0.argument.expressions.1.callee.object", "body.0.body.body.0.argument.expressions.0.left"]
      },
      exportBindingAssignments: ["body.0.body.body.0.argument.expressions.0"],
      exportName: "_extends",
      dependencies: {}
    }),
    get: Ee("7.0.0-beta.0", 'function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=s\
uperPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value}},_get.apply(null\
,arguments)}', {
      globals: ["Reflect", "Object"],
      locals: {
        _get: ["body.0.id", "body.0.body.body.0.argument.expressions.1.callee.object", "body.0.body.body.0.argument.expressions.0.left"]
      },
      exportBindingAssignments: ["body.0.body.body.0.argument.expressions.0"],
      exportName: "_get",
      dependencies: {
        superPropBase: ["body.0.body.body.0.argument.expressions.0.right.alternate.body.body.0.declarations.0.init.callee"]
      }
    }),
    getPrototypeOf: Ee("7.0.0-beta.0", "function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind(\
):function(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}", {
      globals: ["Object"],
      locals: {
        _getPrototypeOf: ["body.0.id", "body.0.body.body.0.argument.expressions.1.callee", "body.0.body.body.0.argument.expressions.0.left"]
      },
      exportBindingAssignments: ["body.0.body.body.0.argument.expressions.0"],
      exportName: "_getPrototypeOf",
      dependencies: {}
    }),
    identity: Ee("7.17.0", "function _identity(t){return t}", {
      globals: [],
      locals: {
        _identity: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_identity",
      dependencies: {}
    }),
    importDeferProxy: Ee("7.23.0", "function _importDeferProxy(e){var t=null,constValue=function(e){return function(){return e}},proxy=funct\
ion(r){return function(n,o,f){return null===t&&(t=e()),r(t,o,f)}};return new Proxy({},{defineProperty:constValue(!1),deleteProperty:constVal\
ue(!1),get:proxy(Reflect.get),getOwnPropertyDescriptor:proxy(Reflect.getOwnPropertyDescriptor),getPrototypeOf:constValue(null),isExtensible:\
constValue(!1),has:proxy(Reflect.has),ownKeys:proxy(Reflect.ownKeys),preventExtensions:constValue(!0),set:constValue(!1),setPrototypeOf:cons\
tValue(!1)})}", {
      globals: ["Proxy", "Reflect"],
      locals: {
        _importDeferProxy: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_importDeferProxy",
      dependencies: {}
    }),
    inherits: Ee("7.0.0-beta.0", 'function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must eithe\
r be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.definePropert\
y(t,"prototype",{writable:!1}),e&&setPrototypeOf(t,e)}', {
      globals: ["TypeError", "Object"],
      locals: {
        _inherits: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_inherits",
      dependencies: {
        setPrototypeOf: ["body.0.body.body.1.expression.expressions.2.right.callee"]
      }
    }),
    inheritsLoose: Ee("7.0.0-beta.0", "function _inheritsLoose(t,o){t.prototype=Object.create(o.prototype),t.prototype.constructor=t,setProt\
otypeOf(t,o)}", {
      globals: ["Object"],
      locals: {
        _inheritsLoose: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_inheritsLoose",
      dependencies: {
        setPrototypeOf: ["body.0.body.body.0.expression.expressions.2.callee"]
      }
    }),
    initializerDefineProperty: Ee("7.0.0-beta.0", "function _initializerDefineProperty(e,i,r,l){r&&Object.defineProperty(e,i,{enumerable:r.e\
numerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(l):void 0})}", {
      globals: ["Object"],
      locals: {
        _initializerDefineProperty: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_initializerDefineProperty",
      dependencies: {}
    }),
    initializerWarningHelper: Ee("7.0.0-beta.0", 'function _initializerWarningHelper(r,e){throw Error("Decorating class property failed. Ple\
ase ensure that transform-class-properties is enabled and runs after the decorators transform.")}', {
      globals: ["Error"],
      locals: {
        _initializerWarningHelper: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_initializerWarningHelper",
      dependencies: {}
    }),
    instanceof: Ee("7.0.0-beta.0", 'function _instanceof(n,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.h\
asInstance](n):n instanceof e}', {
      globals: ["Symbol"],
      locals: {
        _instanceof: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_instanceof",
      dependencies: {}
    }),
    interopRequireDefault: Ee("7.0.0-beta.0", "function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}", {
      globals: [],
      locals: {
        _interopRequireDefault: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_interopRequireDefault",
      dependencies: {}
    }),
    interopRequireWildcard: Ee("7.14.0", 'function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,t\
=new WeakMap;return(_getRequireWildcardCache=function(e){return e?t:r})(e)}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)retu\
rn e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e\
);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,\
u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u]}return n.default=e,t&&t.set(e\
,n),n}', {
      globals: ["WeakMap", "Object"],
      locals: {
        _getRequireWildcardCache: ["body.0.id", "body.1.body.body.2.declarations.0.init.callee", "body.0.body.body.2.argument.callee.left"],
        _interopRequireWildcard: ["body.1.id"]
      },
      exportBindingAssignments: [],
      exportName: "_interopRequireWildcard",
      dependencies: {}
    }),
    isNativeFunction: Ee("7.0.0-beta.0", 'function _isNativeFunction(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}ca\
tch(n){return"function"==typeof t}}', {
      globals: ["Function"],
      locals: {
        _isNativeFunction: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_isNativeFunction",
      dependencies: {}
    }),
    isNativeReflectConstruct: Ee("7.9.0", "function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(\
Boolean,[],(function(){})))}catch(t){}return(_isNativeReflectConstruct=function(){return!!t})()}", {
      globals: ["Boolean", "Reflect"],
      locals: {
        _isNativeReflectConstruct: ["body.0.id", "body.0.body.body.1.argument.callee.left"]
      },
      exportBindingAssignments: ["body.0.body.body.1.argument.callee"],
      exportName: "_isNativeReflectConstruct",
      dependencies: {}
    }),
    iterableToArray: Ee("7.0.0-beta.0", 'function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@it\
erator"])return Array.from(r)}', {
      globals: ["Symbol", "Array"],
      locals: {
        _iterableToArray: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_iterableToArray",
      dependencies: {}
    }),
    iterableToArrayLimit: Ee("7.0.0-beta.0", 'function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.it\
erator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(\
f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==\
u))return}finally{if(o)throw n}}return a}}', {
      globals: ["Symbol", "Object"],
      locals: {
        _iterableToArrayLimit: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_iterableToArrayLimit",
      dependencies: {}
    }),
    jsx: Ee("7.0.0-beta.0", 'var REACT_ELEMENT_TYPE;function _createRawReactElement(e,r,E,l){REACT_ELEMENT_TYPE||(REACT_ELEMENT_TYPE="functi\
on"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var o=e&&e.defaultProps,n=arguments.length-3;if(r||0===n||(r={children:v\
oid 0}),1===n)r.children=l;else if(n>1){for(var t=Array(n),f=0;f<n;f++)t[f]=arguments[f+3];r.children=t}if(r&&o)for(var i in o)void 0===r[i]\
&&(r[i]=o[i]);else r||(r=o||{});return{$$typeof:REACT_ELEMENT_TYPE,type:e,key:void 0===E?null:""+E,ref:null,props:r,_owner:null}}', {
      globals: ["Symbol", "Array"],
      locals: {
        REACT_ELEMENT_TYPE: ["body.0.declarations.0.id", "body.1.body.body.0.expression.left", "body.1.body.body.4.argument.properties.0.val\
ue", "body.1.body.body.0.expression.right.left"],
        _createRawReactElement: ["body.1.id"]
      },
      exportBindingAssignments: [],
      exportName: "_createRawReactElement",
      dependencies: {}
    }),
    maybeArrayLike: Ee("7.9.0", 'function _maybeArrayLike(r,a,e){if(a&&!Array.isArray(a)&&"number"==typeof a.length){var y=a.length;return a\
rrayLikeToArray(a,void 0!==e&&e<y?e:y)}return r(a,e)}', {
      globals: ["Array"],
      locals: {
        _maybeArrayLike: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_maybeArrayLike",
      dependencies: {
        arrayLikeToArray: ["body.0.body.body.0.consequent.body.1.argument.callee"]
      }
    }),
    newArrowCheck: Ee("7.0.0-beta.0", 'function _newArrowCheck(n,r){if(n!==r)throw new TypeError("Cannot instantiate an arrow function")}', {
      globals: ["TypeError"],
      locals: {
        _newArrowCheck: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_newArrowCheck",
      dependencies: {}
    }),
    nonIterableRest: Ee("7.0.0-beta.0", 'function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instan\
ce.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}', {
      globals: ["TypeError"],
      locals: {
        _nonIterableRest: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_nonIterableRest",
      dependencies: {}
    }),
    nonIterableSpread: Ee("7.0.0-beta.0", 'function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instanc\
e.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}', {
      globals: ["TypeError"],
      locals: {
        _nonIterableSpread: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_nonIterableSpread",
      dependencies: {}
    }),
    nullishReceiverError: Ee("7.22.6", 'function _nullishReceiverError(r){throw new TypeError("Cannot set property of null or undefined.")}',
    {
      globals: ["TypeError"],
      locals: {
        _nullishReceiverError: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_nullishReceiverError",
      dependencies: {}
    }),
    objectDestructuringEmpty: Ee("7.0.0-beta.0", 'function _objectDestructuringEmpty(t){if(null==t)throw new TypeError("Cannot destructure "\
+t)}', {
      globals: ["TypeError"],
      locals: {
        _objectDestructuringEmpty: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_objectDestructuringEmpty",
      dependencies: {}
    }),
    objectSpread2: Ee("7.5.0", "function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbo\
ls(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function _objectSpre\
ad2(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){definePro\
perty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEac\
h((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}", {
      globals: ["Object"],
      locals: {
        ownKeys: ["body.0.id", "body.1.body.body.0.body.body.1.expression.consequent.callee.object.callee", "body.1.body.body.0.body.body.1.\
expression.alternate.alternate.callee.object.callee"],
        _objectSpread2: ["body.1.id"]
      },
      exportBindingAssignments: [],
      exportName: "_objectSpread2",
      dependencies: {
        defineProperty: ["body.1.body.body.0.body.body.1.expression.consequent.arguments.0.body.body.0.expression.callee"]
      }
    }),
    objectWithoutProperties: Ee("7.0.0-beta.0", "function _objectWithoutProperties(e,t){if(null==e)return{};var o,r,i=objectWithoutPropertie\
sLoose(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)o=n[r],-1===t.indexOf(o)&&{}.prope\
rtyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}", {
      globals: ["Object"],
      locals: {
        _objectWithoutProperties: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_objectWithoutProperties",
      dependencies: {
        objectWithoutPropertiesLoose: ["body.0.body.body.1.declarations.2.init.callee"]
      }
    }),
    objectWithoutPropertiesLoose: Ee("7.0.0-beta.0", "function _objectWithoutPropertiesLoose(r,e){if(null==r)return{};var t={};for(var n in \
r)if({}.hasOwnProperty.call(r,n)){if(-1!==e.indexOf(n))continue;t[n]=r[n]}return t}", {
      globals: [],
      locals: {
        _objectWithoutPropertiesLoose: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_objectWithoutPropertiesLoose",
      dependencies: {}
    }),
    possibleConstructorReturn: Ee("7.0.0-beta.0", 'function _possibleConstructorReturn(t,e){if(e&&("object"==typeof e||"function"==typeof e)\
)return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return assertThisInitialized(t)}', {
      globals: ["TypeError"],
      locals: {
        _possibleConstructorReturn: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_possibleConstructorReturn",
      dependencies: {
        assertThisInitialized: ["body.0.body.body.2.argument.callee"]
      }
    }),
    readOnlyError: Ee("7.0.0-beta.0", `function _readOnlyError(r){throw new TypeError('"'+r+'" is read-only')}`, {
      globals: ["TypeError"],
      locals: {
        _readOnlyError: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_readOnlyError",
      dependencies: {}
    }),
    regeneratorRuntime: Ee("7.18.0", `function _regeneratorRuntime(){"use strict";
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LI\
CENSE */_regeneratorRuntime=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t\
[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStr\
ingTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{define({},"")}\
catch(t){define=function(t,e,r){return t[e]=r}}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(\
i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a}function tryCatch(t,e,r){try{return{type:"normal",\
arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={}\
;function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,(function(){return this}));v\
ar d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype\
=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach((function(e){define(t,e,(function(t){return this._invo\
ke(e,t)}))}))}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;retur\
n h&&"object"==typeof h&&n.call(h,"__await")?e.resolve(h.__await).then((function(t){invoke("next",t,i,a)}),(function(t){invoke("throw",t,i,a\
)})):e.resolve(h).then((function(t){u.value=t,i(u)}),(function(t){return invoke("throw",t,i,a)}))}a(c.arg)}var r;o(this,"_invoke",{value:fun\
ction(t,n){function callInvokeWithMethodAndArg(){return new e((function(e,r){invoke(t,n,e,r)}))}return r=r?r.then(callInvokeWithMethodAndArg\
,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw Er\
ror("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c\
){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(\
o===h)throw o=s,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p\
.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done}}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg)}}}function ma\
ybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.a\
rg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n\
+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;ret\
urn a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw"\
,r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc\
=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function resetTryEntry(t){var e=t.completion||{};e.type="normal",\
delete e.arg,t.completion=e}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function value\
s(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){fo\
r(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next};return i.next=i}}throw new T\
ypeError(typeof e+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFuncti\
onPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displa\
yName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;r\
eturn!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.set\
PrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create\
(g),t},e.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,(function(){re\
turn this})),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);retu\
rn e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},defineIteratorMethods(g),define(g,u,"Generator")\
,define(g,a,(function(){return this})),define(g,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[]\
;for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next}r\
eturn next.done=!0,next}},e.values=values,Context.prototype={constructor:Context,reset:function(e){if(this.prev=0,this.next=0,this.sent=this\
._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.c\
harAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.\
type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",\
a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("r\
oot"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.cat\
chLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return handle(i.\
catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc)}}}},abru\
pt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.\
prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.\
type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;retu\
rn"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"n\
ormal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLo\
c===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var \
r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r)}return o}}throw Error("illegal ca\
tch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.ar\
g=t),y}},e}`, {
      globals: ["Object", "Symbol", "Error", "TypeError", "isNaN", "Promise"],
      locals: {
        _regeneratorRuntime: ["body.0.id", "body.0.body.body.0.expression.left"]
      },
      exportBindingAssignments: ["body.0.body.body.0.expression"],
      exportName: "_regeneratorRuntime",
      dependencies: {}
    }),
    set: Ee("7.0.0-beta.0", 'function set(e,r,t,o){return set="undefined"!=typeof Reflect&&Reflect.set?Reflect.set:function(e,r,t,o){var f,i\
=superPropBase(e,r);if(i){if((f=Object.getOwnPropertyDescriptor(i,r)).set)return f.set.call(o,t),!0;if(!f.writable)return!1}if(f=Object.getO\
wnPropertyDescriptor(o,r)){if(!f.writable)return!1;f.value=t,Object.defineProperty(o,r,f)}else defineProperty(o,r,t);return!0},set(e,r,t,o)}\
function _set(e,r,t,o,f){if(!set(e,r,t,o||e)&&f)throw new TypeError("failed to set property");return t}', {
      globals: ["Reflect", "Object", "TypeError"],
      locals: {
        set: ["body.0.id", "body.0.body.body.0.argument.expressions.1.callee", "body.1.body.body.0.test.left.argument.callee", "body.0.body.\
body.0.argument.expressions.0.left"],
        _set: ["body.1.id"]
      },
      exportBindingAssignments: [],
      exportName: "_set",
      dependencies: {
        superPropBase: ["body.0.body.body.0.argument.expressions.0.right.alternate.body.body.0.declarations.1.init.callee"],
        defineProperty: ["body.0.body.body.0.argument.expressions.0.right.alternate.body.body.2.alternate.expression.callee"]
      }
    }),
    setFunctionName: Ee("7.23.6", 'function setFunctionName(e,t,n){"symbol"==typeof t&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineP\
roperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch(e){}return e}', {
      globals: ["Object"],
      locals: {
        setFunctionName: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "setFunctionName",
      dependencies: {}
    }),
    setPrototypeOf: Ee("7.0.0-beta.0", "function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bin\
d():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}", {
      globals: ["Object"],
      locals: {
        _setPrototypeOf: ["body.0.id", "body.0.body.body.0.argument.expressions.1.callee", "body.0.body.body.0.argument.expressions.0.left"]
      },
      exportBindingAssignments: ["body.0.body.body.0.argument.expressions.0"],
      exportName: "_setPrototypeOf",
      dependencies: {}
    }),
    skipFirstGeneratorNext: Ee("7.0.0-beta.0", "function _skipFirstGeneratorNext(t){return function(){var r=t.apply(this,arguments);return r\
.next(),r}}", {
      globals: [],
      locals: {
        _skipFirstGeneratorNext: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_skipFirstGeneratorNext",
      dependencies: {}
    }),
    slicedToArray: Ee("7.0.0-beta.0", "function _slicedToArray(r,e){return arrayWithHoles(r)||iterableToArrayLimit(r,e)||unsupportedIterable\
ToArray(r,e)||nonIterableRest()}", {
      globals: [],
      locals: {
        _slicedToArray: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_slicedToArray",
      dependencies: {
        arrayWithHoles: ["body.0.body.body.0.argument.left.left.left.callee"],
        iterableToArrayLimit: ["body.0.body.body.0.argument.left.left.right.callee"],
        unsupportedIterableToArray: ["body.0.body.body.0.argument.left.right.callee"],
        nonIterableRest: ["body.0.body.body.0.argument.right.callee"]
      }
    }),
    superPropBase: Ee("7.0.0-beta.0", "function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=getPrototypeOf(t)););return\
 t}", {
      globals: [],
      locals: {
        _superPropBase: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_superPropBase",
      dependencies: {
        getPrototypeOf: ["body.0.body.body.0.test.right.right.right.callee"]
      }
    }),
    superPropGet: Ee("7.25.0", 'function _superPropGet(t,o,e,r){var p=get(getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typ\
eof p?function(t){return p.apply(e,t)}:p}', {
      globals: [],
      locals: {
        _superPropGet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_superPropGet",
      dependencies: {
        get: ["body.0.body.body.0.declarations.0.init.callee"],
        getPrototypeOf: ["body.0.body.body.0.declarations.0.init.arguments.0.callee"]
      }
    }),
    superPropSet: Ee("7.25.0", "function _superPropSet(t,e,o,r,p,f){return set(getPrototypeOf(f?t.prototype:t),e,o,r,p)}", {
      globals: [],
      locals: {
        _superPropSet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_superPropSet",
      dependencies: {
        set: ["body.0.body.body.0.argument.callee"],
        getPrototypeOf: ["body.0.body.body.0.argument.arguments.0.callee"]
      }
    }),
    taggedTemplateLiteral: Ee("7.0.0-beta.0", "function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProp\
erties(e,{raw:{value:Object.freeze(t)}}))}", {
      globals: ["Object"],
      locals: {
        _taggedTemplateLiteral: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_taggedTemplateLiteral",
      dependencies: {}
    }),
    taggedTemplateLiteralLoose: Ee("7.0.0-beta.0", "function _taggedTemplateLiteralLoose(e,t){return t||(t=e.slice(0)),e.raw=t,e}", {
      globals: [],
      locals: {
        _taggedTemplateLiteralLoose: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_taggedTemplateLiteralLoose",
      dependencies: {}
    }),
    tdz: Ee("7.5.5", 'function _tdzError(e){throw new ReferenceError(e+" is not defined - temporal dead zone")}', {
      globals: ["ReferenceError"],
      locals: {
        _tdzError: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_tdzError",
      dependencies: {}
    }),
    temporalRef: Ee("7.0.0-beta.0", "function _temporalRef(r,e){return r===undef?err(e):r}", {
      globals: [],
      locals: {
        _temporalRef: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_temporalRef",
      dependencies: {
        temporalUndefined: ["body.0.body.body.0.argument.test.right"],
        tdz: ["body.0.body.body.0.argument.consequent.callee"]
      }
    }),
    temporalUndefined: Ee("7.0.0-beta.0", "function _temporalUndefined(){}", {
      globals: [],
      locals: {
        _temporalUndefined: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_temporalUndefined",
      dependencies: {}
    }),
    toArray: Ee("7.0.0-beta.0", "function _toArray(r){return arrayWithHoles(r)||iterableToArray(r)||unsupportedIterableToArray(r)||nonIterab\
leRest()}", {
      globals: [],
      locals: {
        _toArray: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_toArray",
      dependencies: {
        arrayWithHoles: ["body.0.body.body.0.argument.left.left.left.callee"],
        iterableToArray: ["body.0.body.body.0.argument.left.left.right.callee"],
        unsupportedIterableToArray: ["body.0.body.body.0.argument.left.right.callee"],
        nonIterableRest: ["body.0.body.body.0.argument.right.callee"]
      }
    }),
    toConsumableArray: Ee("7.0.0-beta.0", "function _toConsumableArray(r){return arrayWithoutHoles(r)||iterableToArray(r)||unsupportedIterab\
leToArray(r)||nonIterableSpread()}", {
      globals: [],
      locals: {
        _toConsumableArray: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_toConsumableArray",
      dependencies: {
        arrayWithoutHoles: ["body.0.body.body.0.argument.left.left.left.callee"],
        iterableToArray: ["body.0.body.body.0.argument.left.left.right.callee"],
        unsupportedIterableToArray: ["body.0.body.body.0.argument.left.right.callee"],
        nonIterableSpread: ["body.0.body.body.0.argument.right.callee"]
      }
    }),
    toPrimitive: Ee("7.1.5", 'function toPrimitive(t,r){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=\
e.call(t,r||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===\
r?String:Number)(t)}', {
      globals: ["Symbol", "TypeError", "String", "Number"],
      locals: {
        toPrimitive: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "toPrimitive",
      dependencies: {}
    }),
    toPropertyKey: Ee("7.1.5", 'function toPropertyKey(t){var i=toPrimitive(t,"string");return"symbol"==typeof i?i:i+""}', {
      globals: [],
      locals: {
        toPropertyKey: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "toPropertyKey",
      dependencies: {
        toPrimitive: ["body.0.body.body.0.declarations.0.init.callee"]
      }
    }),
    toSetter: Ee("7.24.0", 'function _toSetter(t,e,n){e||(e=[]);var r=e.length++;return Object.defineProperty({},"_",{set:function(o){e[r]=o\
,t.apply(n,e)}})}', {
      globals: ["Object"],
      locals: {
        _toSetter: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_toSetter",
      dependencies: {}
    }),
    typeof: Ee("7.0.0-beta.0", 'function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Sym\
bol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"sym\
bol":typeof o},_typeof(o)}', {
      globals: ["Symbol"],
      locals: {
        _typeof: ["body.0.id", "body.0.body.body.0.argument.expressions.1.callee", "body.0.body.body.0.argument.expressions.0.left"]
      },
      exportBindingAssignments: ["body.0.body.body.0.argument.expressions.0"],
      exportName: "_typeof",
      dependencies: {}
    }),
    unsupportedIterableToArray: Ee("7.9.0", 'function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return arrayLikeToArray(r\
,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Argu\
ments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?arrayLikeToArray(r,a):void 0}}', {
      globals: ["Array"],
      locals: {
        _unsupportedIterableToArray: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_unsupportedIterableToArray",
      dependencies: {
        arrayLikeToArray: ["body.0.body.body.0.consequent.body.0.consequent.argument.callee", "body.0.body.body.0.consequent.body.2.argument\
.expressions.1.alternate.consequent.callee"]
      }
    }),
    usingCtx: Ee("7.23.9", 'function _usingCtx(){var r="function"==typeof SuppressedError?SuppressedError:function(r,e){var n=Error();return\
 n.name="SuppressedError",n.error=r,n.suppressed=e,n},e={},n=[];function using(r,e){if(null!=e){if(Object(e)!==e)throw new TypeError("using \
declarations can only be used with objects, functions, null, or undefined.");if(r)var o=e[Symbol.asyncDispose||Symbol.for("Symbol.asyncDispo\
se")];if(void 0===o&&(o=e[Symbol.dispose||Symbol.for("Symbol.dispose")],r))var t=o;if("function"!=typeof o)throw new TypeError("Object is no\
t disposable.");t&&(o=function(){try{t.call(e)}catch(r){return Promise.reject(r)}}),n.push({v:e,d:o,a:r})}else r&&n.push({d:e,a:r});return e\
}return{e:e,u:using.bind(null,!1),a:using.bind(null,!0),d:function(){var o,t=this.e,s=0;function next(){for(;o=n.pop();)try{if(!o.a&&1===s)r\
eturn s=0,n.push(o),Promise.resolve().then(next);if(o.d){var r=o.d.call(o.v);if(o.a)return s|=2,Promise.resolve(r).then(next,err)}else s|=1}\
catch(r){return err(r)}if(1===s)return t!==e?Promise.reject(t):Promise.resolve();if(t!==e)throw t}function err(n){return t=t!==e?new r(n,t):\
n,next()}return next()}}}', {
      globals: ["SuppressedError", "Error", "Object", "TypeError", "Symbol", "Promise"],
      locals: {
        _usingCtx: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_usingCtx",
      dependencies: {}
    }),
    wrapAsyncGenerator: Ee("7.0.0-beta.0", 'function _wrapAsyncGenerator(e){return function(){return new AsyncGenerator(e.apply(this,argumen\
ts))}}function AsyncGenerator(e){var r,t;function resume(r,t){try{var n=e[r](t),o=n.value,u=o instanceof OverloadYield;Promise.resolve(u?o.v\
:o).then((function(t){if(u){var i="return"===r?"return":"next";if(!o.k||t.done)return resume(i,t);t=e[i](t).value}settle(n.done?"return":"no\
rmal",t)}),(function(e){resume("throw",e)}))}catch(e){settle("throw",e)}}function settle(e,n){switch(e){case"return":r.resolve({value:n,done\
:!0});break;case"throw":r.reject(n);break;default:r.resolve({value:n,done:!1})}(r=r.next)?resume(r.key,r.arg):t=null}this._invoke=function(e\
,n){return new Promise((function(o,u){var i={key:e,arg:n,resolve:o,reject:u,next:null};t?t=t.next=i:(r=t=i,resume(e,n))}))},"function"!=type\
of e.return&&(this.return=void 0)}AsyncGenerator.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){re\
turn this},AsyncGenerator.prototype.next=function(e){return this._invoke("next",e)},AsyncGenerator.prototype.throw=function(e){return this._\
invoke("throw",e)},AsyncGenerator.prototype.return=function(e){return this._invoke("return",e)};', {
      globals: ["Promise", "Symbol"],
      locals: {
        _wrapAsyncGenerator: ["body.0.id"],
        AsyncGenerator: ["body.1.id", "body.0.body.body.0.argument.body.body.0.argument.callee", "body.2.expression.expressions.0.left.objec\
t.object", "body.2.expression.expressions.1.left.object.object", "body.2.expression.expressions.2.left.object.object", "body.2.expression.ex\
pressions.3.left.object.object"]
      },
      exportBindingAssignments: [],
      exportName: "_wrapAsyncGenerator",
      dependencies: {
        OverloadYield: ["body.1.body.body.1.body.body.0.block.body.0.declarations.2.init.right"]
      }
    }),
    wrapNativeSuper: Ee("7.0.0-beta.0", 'function _wrapNativeSuper(t){var r="function"==typeof Map?new Map:void 0;return _wrapNativeSuper=fu\
nction(t){if(null===t||!isNativeFunction(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a \
function");if(void 0!==r){if(r.has(t))return r.get(t);r.set(t,Wrapper)}function Wrapper(){return construct(t,arguments,getPrototypeOf(this).\
constructor)}return Wrapper.prototype=Object.create(t.prototype,{constructor:{value:Wrapper,enumerable:!1,writable:!0,configurable:!0}}),set\
PrototypeOf(Wrapper,t)},_wrapNativeSuper(t)}', {
      globals: ["Map", "TypeError", "Object"],
      locals: {
        _wrapNativeSuper: ["body.0.id", "body.0.body.body.1.argument.expressions.1.callee", "body.0.body.body.1.argument.expressions.0.left"]
      },
      exportBindingAssignments: ["body.0.body.body.1.argument.expressions.0"],
      exportName: "_wrapNativeSuper",
      dependencies: {
        getPrototypeOf: ["body.0.body.body.1.argument.expressions.0.right.body.body.3.body.body.0.argument.arguments.2.object.callee"],
        setPrototypeOf: ["body.0.body.body.1.argument.expressions.0.right.body.body.4.argument.expressions.1.callee"],
        isNativeFunction: ["body.0.body.body.1.argument.expressions.0.right.body.body.0.test.right.argument.callee"],
        construct: ["body.0.body.body.1.argument.expressions.0.right.body.body.3.body.body.0.argument.callee"]
      }
    }),
    wrapRegExp: Ee("7.19.0", 'function _wrapRegExp(){_wrapRegExp=function(e,r){return new BabelRegExp(e,void 0,r)};var e=RegExp.prototype,r=\
new WeakMap;function BabelRegExp(e,t,p){var o=RegExp(e,t);return r.set(o,p||r.get(e)),setPrototypeOf(o,BabelRegExp.prototype)}function build\
Groups(e,t){var p=r.get(t);return Object.keys(p).reduce((function(r,t){var o=p[t];if("number"==typeof o)r[t]=e[o];else{for(var i=0;void 0===\
e[o[i]]&&i+1<o.length;)i++;r[t]=e[o[i]]}return r}),Object.create(null))}return inherits(BabelRegExp,RegExp),BabelRegExp.prototype.exec=funct\
ion(r){var t=e.exec.call(this,r);if(t){t.groups=buildGroups(t,this);var p=t.indices;p&&(p.groups=buildGroups(p,this))}return t},BabelRegExp.\
prototype[Symbol.replace]=function(t,p){if("string"==typeof p){var o=r.get(this);return e[Symbol.replace].call(this,t,p.replace(/\\$<([^>]+)>\
/g,(function(e,r){var t=o[r];return"$"+(Array.isArray(t)?t.join("$"):t)})))}if("function"==typeof p){var i=this;return e[Symbol.replace].cal\
l(this,t,(function(){var e=arguments;return"object"!=typeof e[e.length-1]&&(e=[].slice.call(e)).push(buildGroups(e,i)),p.apply(this,e)}))}re\
turn e[Symbol.replace].call(this,t,p)},_wrapRegExp.apply(this,arguments)}', {
      globals: ["RegExp", "WeakMap", "Object", "Symbol", "Array"],
      locals: {
        _wrapRegExp: ["body.0.id", "body.0.body.body.4.argument.expressions.3.callee.object", "body.0.body.body.0.expression.left"]
      },
      exportBindingAssignments: ["body.0.body.body.0.expression"],
      exportName: "_wrapRegExp",
      dependencies: {
        setPrototypeOf: ["body.0.body.body.2.body.body.1.argument.expressions.1.callee"],
        inherits: ["body.0.body.body.4.argument.expressions.0.callee"]
      }
    }),
    writeOnlyError: Ee("7.12.13", `function _writeOnlyError(r){throw new TypeError('"'+r+'" is write-only')}`, {
      globals: ["TypeError"],
      locals: {
        _writeOnlyError: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_writeOnlyError",
      dependencies: {}
    })
  };
  Object.assign(VFe, {
    AwaitValue: Ee("7.0.0-beta.0", "function _AwaitValue(t){this.wrapped=t}", {
      globals: [],
      locals: {
        _AwaitValue: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_AwaitValue",
      dependencies: {}
    }),
    applyDecs: Ee("7.17.8", 'function old_createMetadataMethodsForProperty(e,t,a,r){return{getMetadata:function(o){old_assertNotFinished(r,"\
getMetadata"),old_assertMetadataKey(o);var i=e[o];if(void 0!==i)if(1===t){var n=i.public;if(void 0!==n)return n[a]}else if(2===t){var l=i.pr\
ivate;if(void 0!==l)return l.get(a)}else if(Object.hasOwnProperty.call(i,"constructor"))return i.constructor},setMetadata:function(o,i){old_\
assertNotFinished(r,"setMetadata"),old_assertMetadataKey(o);var n=e[o];if(void 0===n&&(n=e[o]={}),1===t){var l=n.public;void 0===l&&(l=n.pub\
lic={}),l[a]=i}else if(2===t){var s=n.priv;void 0===s&&(s=n.private=new Map),s.set(a,i)}else n.constructor=i}}}function old_convertMetadataM\
apToFinal(e,t){var a=e[Symbol.metadata||Symbol.for("Symbol.metadata")],r=Object.getOwnPropertySymbols(t);if(0!==r.length){for(var o=0;o<r.le\
ngth;o++){var i=r[o],n=t[i],l=a?a[i]:null,s=n.public,c=l?l.public:null;s&&c&&Object.setPrototypeOf(s,c);var d=n.private;if(d){var u=Array.fr\
om(d.values()),f=l?l.private:null;f&&(u=u.concat(f)),n.private=u}l&&Object.setPrototypeOf(n,l)}a&&Object.setPrototypeOf(t,a),e[Symbol.metada\
ta||Symbol.for("Symbol.metadata")]=t}}function old_createAddInitializerMethod(e,t){return function(a){old_assertNotFinished(t,"addInitialize\
r"),old_assertCallable(a,"An initializer"),e.push(a)}}function old_memberDec(e,t,a,r,o,i,n,l,s){var c;switch(i){case 1:c="accessor";break;ca\
se 2:c="method";break;case 3:c="getter";break;case 4:c="setter";break;default:c="field"}var d,u,f={kind:c,name:l?"#"+t:toPropertyKey(t),isSt\
atic:n,isPrivate:l},p={v:!1};if(0!==i&&(f.addInitializer=old_createAddInitializerMethod(o,p)),l){d=2,u=Symbol(t);var v={};0===i?(v.get=a.get\
,v.set=a.set):2===i?v.get=function(){return a.value}:(1!==i&&3!==i||(v.get=function(){return a.get.call(this)}),1!==i&&4!==i||(v.set=functio\
n(e){a.set.call(this,e)})),f.access=v}else d=1,u=t;try{return e(s,Object.assign(f,old_createMetadataMethodsForProperty(r,d,u,p)))}finally{p.\
v=!0}}function old_assertNotFinished(e,t){if(e.v)throw Error("attempted to call "+t+" after decoration was finished")}function old_assertMet\
adataKey(e){if("symbol"!=typeof e)throw new TypeError("Metadata keys must be symbols, received: "+e)}function old_assertCallable(e,t){if("fu\
nction"!=typeof e)throw new TypeError(t+" must be a function")}function old_assertValidReturnValue(e,t){var a=typeof t;if(1===e){if("object"\
!==a||null===t)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");void 0!==t.get&&\
old_assertCallable(t.get,"accessor.get"),void 0!==t.set&&old_assertCallable(t.set,"accessor.set"),void 0!==t.init&&old_assertCallable(t.init\
,"accessor.init"),void 0!==t.initializer&&old_assertCallable(t.initializer,"accessor.initializer")}else if("function"!==a)throw new TypeErro\
r((0===e?"field":10===e?"class":"method")+" decorators must return a function or void 0")}function old_getInit(e){var t;return null==(t=e.in\
it)&&(t=e.initializer)&&void 0!==console&&console.warn(".initializer has been renamed to .init as of March 2022"),t}function old_applyMember\
Dec(e,t,a,r,o,i,n,l,s){var c,d,u,f,p,v,y,h=a[0];if(n?(0===o||1===o?(c={get:a[3],set:a[4]},u="get"):3===o?(c={get:a[3]},u="get"):4===o?(c={se\
t:a[3]},u="set"):c={value:a[3]},0!==o&&(1===o&&setFunctionName(a[4],"#"+r,"set"),setFunctionName(a[3],"#"+r,u))):0!==o&&(c=Object.getOwnProp\
ertyDescriptor(t,r)),1===o?f={get:c.get,set:c.set}:2===o?f=c.value:3===o?f=c.get:4===o&&(f=c.set),"function"==typeof h)void 0!==(p=old_membe\
rDec(h,r,c,l,s,o,i,n,f))&&(old_assertValidReturnValue(o,p),0===o?d=p:1===o?(d=old_getInit(p),v=p.get||f.get,y=p.set||f.set,f={get:v,set:y}):\
f=p);else for(var m=h.length-1;m>=0;m--){var b;void 0!==(p=old_memberDec(h[m],r,c,l,s,o,i,n,f))&&(old_assertValidReturnValue(o,p),0===o?b=p:\
1===o?(b=old_getInit(p),v=p.get||f.get,y=p.set||f.set,f={get:v,set:y}):f=p,void 0!==b&&(void 0===d?d=b:"function"==typeof d?d=[d,b]:d.push(b\
)))}if(0===o||1===o){if(void 0===d)d=function(e,t){return t};else if("function"!=typeof d){var g=d;d=function(e,t){for(var a=t,r=0;r<g.lengt\
h;r++)a=g[r].call(e,a);return a}}else{var _=d;d=function(e,t){return _.call(e,t)}}e.push(d)}0!==o&&(1===o?(c.get=f.get,c.set=f.set):2===o?c.\
value=f:3===o?c.get=f:4===o&&(c.set=f),n?1===o?(e.push((function(e,t){return f.get.call(e,t)})),e.push((function(e,t){return f.set.call(e,t)\
}))):2===o?e.push(f):e.push((function(e,t){return f.call(e,t)})):Object.defineProperty(t,r,c))}function old_applyMemberDecs(e,t,a,r,o){for(v\
ar i,n,l=new Map,s=new Map,c=0;c<o.length;c++){var d=o[c];if(Array.isArray(d)){var u,f,p,v=d[1],y=d[2],h=d.length>3,m=v>=5;if(m?(u=t,f=r,0!=\
(v-=5)&&(p=n=n||[])):(u=t.prototype,f=a,0!==v&&(p=i=i||[])),0!==v&&!h){var b=m?s:l,g=b.get(y)||0;if(!0===g||3===g&&4!==v||4===g&&3!==v)throw\
 Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not \
currently supported by the decorators plugin. Property name was: "+y);!g&&v>2?b.set(y,v):b.set(y,!0)}old_applyMemberDec(e,u,d,y,v,m,h,f,p)}}\
old_pushInitializers(e,i),old_pushInitializers(e,n)}function old_pushInitializers(e,t){t&&e.push((function(e){for(var a=0;a<t.length;a++)t[a\
].call(e);return e}))}function old_applyClassDecs(e,t,a,r){if(r.length>0){for(var o=[],i=t,n=t.name,l=r.length-1;l>=0;l--){var s={v:!1};try{\
var c=Object.assign({kind:"class",name:n,addInitializer:old_createAddInitializerMethod(o,s)},old_createMetadataMethodsForProperty(a,0,n,s)),\
d=r[l](i,c)}finally{s.v=!0}void 0!==d&&(old_assertValidReturnValue(10,d),i=d)}e.push(i,(function(){for(var e=0;e<o.length;e++)o[e].call(i)})\
)}}function applyDecs(e,t,a){var r=[],o={},i={};return old_applyMemberDecs(r,e,i,o,t),old_convertMetadataMapToFinal(e.prototype,i),old_apply\
ClassDecs(r,e,o,a),old_convertMetadataMapToFinal(e,o),r}', {
      globals: ["Object", "Map", "Symbol", "Array", "Error", "TypeError", "console"],
      locals: {
        old_createMetadataMethodsForProperty: ["body.0.id", "body.3.body.body.4.block.body.0.argument.arguments.1.arguments.1.callee", "body\
.12.body.body.0.consequent.body.0.body.body.1.block.body.0.declarations.0.init.arguments.1.callee"],
        old_convertMetadataMapToFinal: ["body.1.id", "body.13.body.body.1.argument.expressions.1.callee", "body.13.body.body.1.argument.expr\
essions.3.callee"],
        old_createAddInitializerMethod: ["body.2.id", "body.3.body.body.3.test.expressions.0.right.right.callee", "body.12.body.body.0.conse\
quent.body.0.body.body.1.block.body.0.declarations.0.init.arguments.0.properties.2.value.callee"],
        old_memberDec: ["body.3.id", "body.9.body.body.1.consequent.expression.left.right.right.callee", "body.9.body.body.1.alternate.body.\
body.1.expression.left.right.right.callee"],
        old_assertNotFinished: ["body.4.id", "body.0.body.body.0.argument.properties.0.value.body.body.0.expression.expressions.0.callee", "\
body.0.body.body.0.argument.properties.1.value.body.body.0.expression.expressions.0.callee", "body.2.body.body.0.argument.body.body.0.expres\
sion.expressions.0.callee"],
        old_assertMetadataKey: ["body.5.id", "body.0.body.body.0.argument.properties.0.value.body.body.0.expression.expressions.1.callee", "\
body.0.body.body.0.argument.properties.1.value.body.body.0.expression.expressions.1.callee"],
        old_assertCallable: ["body.6.id", "body.2.body.body.0.argument.body.body.0.expression.expressions.1.callee", "body.7.body.body.1.con\
sequent.body.1.expression.expressions.0.right.callee", "body.7.body.body.1.consequent.body.1.expression.expressions.1.right.callee", "body.7\
.body.body.1.consequent.body.1.expression.expressions.2.right.callee", "body.7.body.body.1.consequent.body.1.expression.expressions.3.right.\
callee"],
        old_assertValidReturnValue: ["body.7.id", "body.9.body.body.1.consequent.expression.right.expressions.0.callee", "body.9.body.body.1\
.alternate.body.body.1.expression.right.expressions.0.callee", "body.12.body.body.0.consequent.body.0.body.body.2.expression.right.expressio\
ns.0.callee"],
        old_getInit: ["body.8.id", "body.9.body.body.1.consequent.expression.right.expressions.1.alternate.consequent.expressions.0.right.ca\
llee", "body.9.body.body.1.alternate.body.body.1.expression.right.expressions.1.alternate.consequent.expressions.0.right.callee"],
        old_applyMemberDec: ["body.9.id", "body.10.body.body.0.body.body.1.consequent.body.2.expression.callee"],
        old_applyMemberDecs: ["body.10.id", "body.13.body.body.1.argument.expressions.0.callee"],
        old_pushInitializers: ["body.11.id", "body.10.body.body.1.expression.expressions.0.callee", "body.10.body.body.1.expression.expressi\
ons.1.callee"],
        old_applyClassDecs: ["body.12.id", "body.13.body.body.1.argument.expressions.2.callee"],
        applyDecs: ["body.13.id"]
      },
      exportBindingAssignments: [],
      exportName: "applyDecs",
      dependencies: {
        setFunctionName: ["body.9.body.body.1.test.expressions.0.consequent.expressions.1.right.expressions.0.right.callee", "body.9.body.bo\
dy.1.test.expressions.0.consequent.expressions.1.right.expressions.1.callee"],
        toPropertyKey: ["body.3.body.body.2.declarations.2.init.properties.1.value.alternate.callee"]
      }
    }),
    applyDecs2203: Ee("7.19.0", 'function applyDecs2203Factory(){function createAddInitializerMethod(e,t){return function(r){!function(e,t){\
if(e.v)throw Error("attempted to call addInitializer after decoration was finished")}(t),assertCallable(r,"An initializer"),e.push(r)}}funct\
ion memberDec(e,t,r,a,n,i,s,o){var c;switch(n){case 1:c="accessor";break;case 2:c="method";break;case 3:c="getter";break;case 4:c="setter";b\
reak;default:c="field"}var l,u,f={kind:c,name:s?"#"+t:t,static:i,private:s},p={v:!1};0!==n&&(f.addInitializer=createAddInitializerMethod(a,p\
)),0===n?s?(l=r.get,u=r.set):(l=function(){return this[t]},u=function(e){this[t]=e}):2===n?l=function(){return r.value}:(1!==n&&3!==n||(l=fu\
nction(){return r.get.call(this)}),1!==n&&4!==n||(u=function(e){r.set.call(this,e)})),f.access=l&&u?{get:l,set:u}:l?{get:l}:{set:u};try{retu\
rn e(o,f)}finally{p.v=!0}}function assertCallable(e,t){if("function"!=typeof e)throw new TypeError(t+" must be a function")}function assertV\
alidReturnValue(e,t){var r=typeof t;if(1===e){if("object"!==r||null===t)throw new TypeError("accessor decorators must return an object with \
get, set, or init properties or void 0");void 0!==t.get&&assertCallable(t.get,"accessor.get"),void 0!==t.set&&assertCallable(t.set,"accessor\
.set"),void 0!==t.init&&assertCallable(t.init,"accessor.init")}else if("function"!==r)throw new TypeError((0===e?"field":10===e?"class":"met\
hod")+" decorators must return a function or void 0")}function applyMemberDec(e,t,r,a,n,i,s,o){var c,l,u,f,p,d,h=r[0];if(s?c=0===n||1===n?{g\
et:r[3],set:r[4]}:3===n?{get:r[3]}:4===n?{set:r[3]}:{value:r[3]}:0!==n&&(c=Object.getOwnPropertyDescriptor(t,a)),1===n?u={get:c.get,set:c.se\
t}:2===n?u=c.value:3===n?u=c.get:4===n&&(u=c.set),"function"==typeof h)void 0!==(f=memberDec(h,a,c,o,n,i,s,u))&&(assertValidReturnValue(n,f)\
,0===n?l=f:1===n?(l=f.init,p=f.get||u.get,d=f.set||u.set,u={get:p,set:d}):u=f);else for(var v=h.length-1;v>=0;v--){var g;void 0!==(f=memberD\
ec(h[v],a,c,o,n,i,s,u))&&(assertValidReturnValue(n,f),0===n?g=f:1===n?(g=f.init,p=f.get||u.get,d=f.set||u.set,u={get:p,set:d}):u=f,void 0!==\
g&&(void 0===l?l=g:"function"==typeof l?l=[l,g]:l.push(g)))}if(0===n||1===n){if(void 0===l)l=function(e,t){return t};else if("function"!=typ\
eof l){var y=l;l=function(e,t){for(var r=t,a=0;a<y.length;a++)r=y[a].call(e,r);return r}}else{var m=l;l=function(e,t){return m.call(e,t)}}e.\
push(l)}0!==n&&(1===n?(c.get=u.get,c.set=u.set):2===n?c.value=u:3===n?c.get=u:4===n&&(c.set=u),s?1===n?(e.push((function(e,t){return u.get.c\
all(e,t)})),e.push((function(e,t){return u.set.call(e,t)}))):2===n?e.push(u):e.push((function(e,t){return u.call(e,t)})):Object.defineProper\
ty(t,a,c))}function pushInitializers(e,t){t&&e.push((function(e){for(var r=0;r<t.length;r++)t[r].call(e);return e}))}return function(e,t,r){\
var a=[];return function(e,t,r){for(var a,n,i=new Map,s=new Map,o=0;o<r.length;o++){var c=r[o];if(Array.isArray(c)){var l,u,f=c[1],p=c[2],d=\
c.length>3,h=f>=5;if(h?(l=t,0!=(f-=5)&&(u=n=n||[])):(l=t.prototype,0!==f&&(u=a=a||[])),0!==f&&!d){var v=h?s:i,g=v.get(p)||0;if(!0===g||3===g\
&&4!==f||4===g&&3!==f)throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public me\
thod/accessor. This is not currently supported by the decorators plugin. Property name was: "+p);!g&&f>2?v.set(p,f):v.set(p,!0)}applyMemberD\
ec(e,l,c,p,f,h,d,u)}}pushInitializers(e,a),pushInitializers(e,n)}(a,e,t),function(e,t,r){if(r.length>0){for(var a=[],n=t,i=t.name,s=r.length\
-1;s>=0;s--){var o={v:!1};try{var c=r[s](n,{kind:"class",name:i,addInitializer:createAddInitializerMethod(a,o)})}finally{o.v=!0}void 0!==c&&\
(assertValidReturnValue(10,c),n=c)}e.push(n,(function(){for(var e=0;e<a.length;e++)a[e].call(n)}))}}(a,e,r),a}}var applyDecs2203Impl;functio\
n applyDecs2203(e,t,r){return(applyDecs2203Impl=applyDecs2203Impl||applyDecs2203Factory())(e,t,r)}', {
      globals: ["Error", "TypeError", "Object", "Map", "Array"],
      locals: {
        applyDecs2203Factory: ["body.0.id", "body.2.body.body.0.argument.callee.right.right.callee"],
        applyDecs2203Impl: ["body.1.declarations.0.id", "body.2.body.body.0.argument.callee.right.left", "body.2.body.body.0.argument.callee\
.left"],
        applyDecs2203: ["body.2.id"]
      },
      exportBindingAssignments: [],
      exportName: "applyDecs2203",
      dependencies: {}
    }),
    applyDecs2203R: Ee("7.20.0", 'function applyDecs2203RFactory(){function createAddInitializerMethod(e,t){return function(r){!function(e,t\
){if(e.v)throw Error("attempted to call addInitializer after decoration was finished")}(t),assertCallable(r,"An initializer"),e.push(r)}}fun\
ction memberDec(e,t,r,n,a,i,o,s){var c;switch(a){case 1:c="accessor";break;case 2:c="method";break;case 3:c="getter";break;case 4:c="setter"\
;break;default:c="field"}var l,u,f={kind:c,name:o?"#"+t:toPropertyKey(t),static:i,private:o},p={v:!1};0!==a&&(f.addInitializer=createAddInit\
ializerMethod(n,p)),0===a?o?(l=r.get,u=r.set):(l=function(){return this[t]},u=function(e){this[t]=e}):2===a?l=function(){return r.value}:(1!\
==a&&3!==a||(l=function(){return r.get.call(this)}),1!==a&&4!==a||(u=function(e){r.set.call(this,e)})),f.access=l&&u?{get:l,set:u}:l?{get:l}\
:{set:u};try{return e(s,f)}finally{p.v=!0}}function assertCallable(e,t){if("function"!=typeof e)throw new TypeError(t+" must be a function")\
}function assertValidReturnValue(e,t){var r=typeof t;if(1===e){if("object"!==r||null===t)throw new TypeError("accessor decorators must retur\
n an object with get, set, or init properties or void 0");void 0!==t.get&&assertCallable(t.get,"accessor.get"),void 0!==t.set&&assertCallabl\
e(t.set,"accessor.set"),void 0!==t.init&&assertCallable(t.init,"accessor.init")}else if("function"!==r)throw new TypeError((0===e?"field":10\
===e?"class":"method")+" decorators must return a function or void 0")}function applyMemberDec(e,t,r,n,a,i,o,s){var c,l,u,f,p,d,h,v=r[0];if(\
o?(0===a||1===a?(c={get:r[3],set:r[4]},u="get"):3===a?(c={get:r[3]},u="get"):4===a?(c={set:r[3]},u="set"):c={value:r[3]},0!==a&&(1===a&&setF\
unctionName(r[4],"#"+n,"set"),setFunctionName(r[3],"#"+n,u))):0!==a&&(c=Object.getOwnPropertyDescriptor(t,n)),1===a?f={get:c.get,set:c.set}:\
2===a?f=c.value:3===a?f=c.get:4===a&&(f=c.set),"function"==typeof v)void 0!==(p=memberDec(v,n,c,s,a,i,o,f))&&(assertValidReturnValue(a,p),0=\
==a?l=p:1===a?(l=p.init,d=p.get||f.get,h=p.set||f.set,f={get:d,set:h}):f=p);else for(var g=v.length-1;g>=0;g--){var y;void 0!==(p=memberDec(\
v[g],n,c,s,a,i,o,f))&&(assertValidReturnValue(a,p),0===a?y=p:1===a?(y=p.init,d=p.get||f.get,h=p.set||f.set,f={get:d,set:h}):f=p,void 0!==y&&\
(void 0===l?l=y:"function"==typeof l?l=[l,y]:l.push(y)))}if(0===a||1===a){if(void 0===l)l=function(e,t){return t};else if("function"!=typeof\
 l){var m=l;l=function(e,t){for(var r=t,n=0;n<m.length;n++)r=m[n].call(e,r);return r}}else{var b=l;l=function(e,t){return b.call(e,t)}}e.pus\
h(l)}0!==a&&(1===a?(c.get=f.get,c.set=f.set):2===a?c.value=f:3===a?c.get=f:4===a&&(c.set=f),o?1===a?(e.push((function(e,t){return f.get.call\
(e,t)})),e.push((function(e,t){return f.set.call(e,t)}))):2===a?e.push(f):e.push((function(e,t){return f.call(e,t)})):Object.defineProperty(\
t,n,c))}function applyMemberDecs(e,t){for(var r,n,a=[],i=new Map,o=new Map,s=0;s<t.length;s++){var c=t[s];if(Array.isArray(c)){var l,u,f=c[1\
],p=c[2],d=c.length>3,h=f>=5;if(h?(l=e,0!=(f-=5)&&(u=n=n||[])):(l=e.prototype,0!==f&&(u=r=r||[])),0!==f&&!d){var v=h?o:i,g=v.get(p)||0;if(!0\
===g||3===g&&4!==f||4===g&&3!==f)throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorate\
d public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+p);!g&&f>2?v.set(p,f):v.set(p,!0)}a\
pplyMemberDec(a,l,c,p,f,h,d,u)}}return pushInitializers(a,r),pushInitializers(a,n),a}function pushInitializers(e,t){t&&e.push((function(e){f\
or(var r=0;r<t.length;r++)t[r].call(e);return e}))}return function(e,t,r){return{e:applyMemberDecs(e,t),get c(){return function(e,t){if(t.le\
ngth>0){for(var r=[],n=e,a=e.name,i=t.length-1;i>=0;i--){var o={v:!1};try{var s=t[i](n,{kind:"class",name:a,addInitializer:createAddInitiali\
zerMethod(r,o)})}finally{o.v=!0}void 0!==s&&(assertValidReturnValue(10,s),n=s)}return[n,function(){for(var e=0;e<r.length;e++)r[e].call(n)}]\
}}(e,r)}}}}function applyDecs2203R(e,t,r){return(applyDecs2203R=applyDecs2203RFactory())(e,t,r)}', {
      globals: ["Error", "TypeError", "Object", "Map", "Array"],
      locals: {
        applyDecs2203RFactory: ["body.0.id", "body.1.body.body.0.argument.callee.right.callee"],
        applyDecs2203R: ["body.1.id", "body.1.body.body.0.argument.callee.left"]
      },
      exportBindingAssignments: ["body.1.body.body.0.argument.callee"],
      exportName: "applyDecs2203R",
      dependencies: {
        setFunctionName: ["body.0.body.body.4.body.body.1.test.expressions.0.consequent.expressions.1.right.expressions.0.right.callee", "bo\
dy.0.body.body.4.body.body.1.test.expressions.0.consequent.expressions.1.right.expressions.1.callee"],
        toPropertyKey: ["body.0.body.body.1.body.body.2.declarations.2.init.properties.1.value.alternate.callee"]
      }
    }),
    applyDecs2301: Ee("7.21.0", 'function applyDecs2301Factory(){function createAddInitializerMethod(e,t){return function(r){!function(e,t){\
if(e.v)throw Error("attempted to call addInitializer after decoration was finished")}(t),assertCallable(r,"An initializer"),e.push(r)}}funct\
ion assertInstanceIfPrivate(e,t){if(!e(t))throw new TypeError("Attempted to access private element on non-instance")}function memberDec(e,t,\
r,n,a,i,s,o,c){var u;switch(a){case 1:u="accessor";break;case 2:u="method";break;case 3:u="getter";break;case 4:u="setter";break;default:u="\
field"}var l,f,p={kind:u,name:s?"#"+t:toPropertyKey(t),static:i,private:s},d={v:!1};if(0!==a&&(p.addInitializer=createAddInitializerMethod(n\
,d)),s||0!==a&&2!==a)if(2===a)l=function(e){return assertInstanceIfPrivate(c,e),r.value};else{var h=0===a||1===a;(h||3===a)&&(l=s?function(e\
){return assertInstanceIfPrivate(c,e),r.get.call(e)}:function(e){return r.get.call(e)}),(h||4===a)&&(f=s?function(e,t){assertInstanceIfPriva\
te(c,e),r.set.call(e,t)}:function(e,t){r.set.call(e,t)})}else l=function(e){return e[t]},0===a&&(f=function(e,r){e[t]=r});var v=s?c.bind():f\
unction(e){return t in e};p.access=l&&f?{get:l,set:f,has:v}:l?{get:l,has:v}:{set:f,has:v};try{return e(o,p)}finally{d.v=!0}}function assertC\
allable(e,t){if("function"!=typeof e)throw new TypeError(t+" must be a function")}function assertValidReturnValue(e,t){var r=typeof t;if(1==\
=e){if("object"!==r||null===t)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");v\
oid 0!==t.get&&assertCallable(t.get,"accessor.get"),void 0!==t.set&&assertCallable(t.set,"accessor.set"),void 0!==t.init&&assertCallable(t.i\
nit,"accessor.init")}else if("function"!==r)throw new TypeError((0===e?"field":10===e?"class":"method")+" decorators must return a function \
or void 0")}function curryThis2(e){return function(t){e(this,t)}}function applyMemberDec(e,t,r,n,a,i,s,o,c){var u,l,f,p,d,h,v,y,g=r[0];if(s?\
(0===a||1===a?(u={get:(d=r[3],function(){return d(this)}),set:curryThis2(r[4])},f="get"):3===a?(u={get:r[3]},f="get"):4===a?(u={set:r[3]},f=\
"set"):u={value:r[3]},0!==a&&(1===a&&setFunctionName(u.set,"#"+n,"set"),setFunctionName(u[f||"value"],"#"+n,f))):0!==a&&(u=Object.getOwnProp\
ertyDescriptor(t,n)),1===a?p={get:u.get,set:u.set}:2===a?p=u.value:3===a?p=u.get:4===a&&(p=u.set),"function"==typeof g)void 0!==(h=memberDec\
(g,n,u,o,a,i,s,p,c))&&(assertValidReturnValue(a,h),0===a?l=h:1===a?(l=h.init,v=h.get||p.get,y=h.set||p.set,p={get:v,set:y}):p=h);else for(va\
r m=g.length-1;m>=0;m--){var b;void 0!==(h=memberDec(g[m],n,u,o,a,i,s,p,c))&&(assertValidReturnValue(a,h),0===a?b=h:1===a?(b=h.init,v=h.get|\
|p.get,y=h.set||p.set,p={get:v,set:y}):p=h,void 0!==b&&(void 0===l?l=b:"function"==typeof l?l=[l,b]:l.push(b)))}if(0===a||1===a){if(void 0==\
=l)l=function(e,t){return t};else if("function"!=typeof l){var I=l;l=function(e,t){for(var r=t,n=0;n<I.length;n++)r=I[n].call(e,r);return r}\
}else{var w=l;l=function(e,t){return w.call(e,t)}}e.push(l)}0!==a&&(1===a?(u.get=p.get,u.set=p.set):2===a?u.value=p:3===a?u.get=p:4===a&&(u.\
set=p),s?1===a?(e.push((function(e,t){return p.get.call(e,t)})),e.push((function(e,t){return p.set.call(e,t)}))):2===a?e.push(p):e.push((fun\
ction(e,t){return p.call(e,t)})):Object.defineProperty(t,n,u))}function applyMemberDecs(e,t,r){for(var n,a,i,s=[],o=new Map,c=new Map,u=0;u<\
t.length;u++){var l=t[u];if(Array.isArray(l)){var f,p,d=l[1],h=l[2],v=l.length>3,y=d>=5,g=r;if(y?(f=e,0!=(d-=5)&&(p=a=a||[]),v&&!i&&(i=funct\
ion(t){return checkInRHS(t)===e}),g=i):(f=e.prototype,0!==d&&(p=n=n||[])),0!==d&&!v){var m=y?c:o,b=m.get(h)||0;if(!0===b||3===b&&4!==d||4===\
b&&3!==d)throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor\
. This is not currently supported by the decorators plugin. Property name was: "+h);!b&&d>2?m.set(h,d):m.set(h,!0)}applyMemberDec(s,f,l,h,d,\
y,v,p,g)}}return pushInitializers(s,n),pushInitializers(s,a),s}function pushInitializers(e,t){t&&e.push((function(e){for(var r=0;r<t.length;\
r++)t[r].call(e);return e}))}return function(e,t,r,n){return{e:applyMemberDecs(e,t,n),get c(){return function(e,t){if(t.length>0){for(var r=\
[],n=e,a=e.name,i=t.length-1;i>=0;i--){var s={v:!1};try{var o=t[i](n,{kind:"class",name:a,addInitializer:createAddInitializerMethod(r,s)})}f\
inally{s.v=!0}void 0!==o&&(assertValidReturnValue(10,o),n=o)}return[n,function(){for(var e=0;e<r.length;e++)r[e].call(n)}]}}(e,r)}}}}functio\
n applyDecs2301(e,t,r,n){return(applyDecs2301=applyDecs2301Factory())(e,t,r,n)}', {
      globals: ["Error", "TypeError", "Object", "Map", "Array"],
      locals: {
        applyDecs2301Factory: ["body.0.id", "body.1.body.body.0.argument.callee.right.callee"],
        applyDecs2301: ["body.1.id", "body.1.body.body.0.argument.callee.left"]
      },
      exportBindingAssignments: ["body.1.body.body.0.argument.callee"],
      exportName: "applyDecs2301",
      dependencies: {
        checkInRHS: ["body.0.body.body.7.body.body.0.body.body.1.consequent.body.1.test.expressions.0.consequent.expressions.2.right.right.b\
ody.body.0.argument.left.callee"],
        setFunctionName: ["body.0.body.body.6.body.body.1.test.expressions.0.consequent.expressions.1.right.expressions.0.right.callee", "bo\
dy.0.body.body.6.body.body.1.test.expressions.0.consequent.expressions.1.right.expressions.1.callee"],
        toPropertyKey: ["body.0.body.body.2.body.body.2.declarations.2.init.properties.1.value.alternate.callee"]
      }
    }),
    applyDecs2305: Ee("7.21.0", 'function applyDecs2305(e,t,r,n,o,a){function i(e,t,r){return function(n,o){return r&&r(n),e[t].call(n,o)}}f\
unction c(e,t){for(var r=0;r<e.length;r++)e[r].call(t);return t}function s(e,t,r,n){if("function"!=typeof e&&(n||void 0!==e))throw new TypeE\
rror(t+" must "+(r||"be")+" a function"+(n?"":" or undefined"));return e}function applyDec(e,t,r,n,o,a,c,u,l,f,p,d,h){function m(e){if(!h(e)\
)throw new TypeError("Attempted to access private element on non-instance")}var y,v=t[0],g=t[3],b=!u;if(!b){r||Array.isArray(v)||(v=[v]);var\
 w={},S=[],A=3===o?"get":4===o||d?"set":"value";f?(p||d?w={get:setFunctionName((function(){return g(this)}),n,"get"),set:function(e){t[4](th\
is,e)}}:w[A]=g,p||setFunctionName(w[A],n,2===o?"":A)):p||(w=Object.getOwnPropertyDescriptor(e,n))}for(var P=e,j=v.length-1;j>=0;j-=r?2:1){va\
r D=v[j],E=r?v[j-1]:void 0,I={},O={kind:["field","accessor","method","getter","setter","class"][o],name:n,metadata:a,addInitializer:function\
(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished");s(t,"An initializer","be",!0),c.push(t)}.bind(nul\
l,I)};try{if(b)(y=s(D.call(E,P,O),"class decorators","return"))&&(P=y);else{var k,F;O.static=l,O.private=f,f?2===o?k=function(e){return m(e)\
,w.value}:(o<4&&(k=i(w,"get",m)),3!==o&&(F=i(w,"set",m))):(k=function(e){return e[n]},(o<2||4===o)&&(F=function(e,t){e[n]=t}));var N=O.acces\
s={has:f?h.bind():function(e){return n in e}};if(k&&(N.get=k),F&&(N.set=F),P=D.call(E,d?{get:w.get,set:w.set}:w[A],O),d){if("object"==typeof\
 P&&P)(y=s(P.get,"accessor.get"))&&(w.get=y),(y=s(P.set,"accessor.set"))&&(w.set=y),(y=s(P.init,"accessor.init"))&&S.push(y);else if(void 0!\
==P)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0")}else s(P,(p?"field":"method\
")+" decorators","return")&&(p?S.push(P):w[A]=P)}}finally{I.v=!0}}return(p||d)&&u.push((function(e,t){for(var r=S.length-1;r>=0;r--)t=S[r].c\
all(e,t);return t})),p||b||(f?d?u.push(i(w,"get"),i(w,"set")):u.push(2===o?w[A]:i.call.bind(w[A])):Object.defineProperty(e,n,w)),P}function \
u(e,t){return Object.defineProperty(e,Symbol.metadata||Symbol.for("Symbol.metadata"),{configurable:!0,enumerable:!0,value:t})}if(arguments.l\
ength>=6)var l=a[Symbol.metadata||Symbol.for("Symbol.metadata")];var f=Object.create(null==l?null:l),p=function(e,t,r,n){var o,a,i=[],s=func\
tion(t){return checkInRHS(t)===e},u=new Map;function l(e){e&&i.push(c.bind(null,e))}for(var f=0;f<t.length;f++){var p=t[f];if(Array.isArray(\
p)){var d=p[1],h=p[2],m=p.length>3,y=16&d,v=!!(8&d),g=0==(d&=7),b=h+"/"+v;if(!g&&!m){var w=u.get(b);if(!0===w||3===w&&4!==d||4===w&&3!==d)th\
row Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is n\
ot currently supported by the decorators plugin. Property name was: "+h);u.set(b,!(d>2)||d)}applyDec(v?e:e.prototype,p,y,m?"#"+h:toPropertyK\
ey(h),d,n,v?a=a||[]:o=o||[],i,v,m,g,1===d,v&&m?s:r)}}return l(o),l(a),i}(e,t,o,f);return r.length||u(e,f),{e:p,get c(){var t=[];return r.len\
gth&&[u(applyDec(e,[r],n,e.name,5,f,t),f),c.bind(null,t,e)]}}}', {
      globals: ["TypeError", "Array", "Object", "Error", "Symbol", "Map"],
      locals: {
        applyDecs2305: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "applyDecs2305",
      dependencies: {
        checkInRHS: ["body.0.body.body.6.declarations.1.init.callee.body.body.0.declarations.3.init.body.body.0.argument.left.callee"],
        setFunctionName: ["body.0.body.body.3.body.body.2.consequent.body.2.expression.consequent.expressions.0.consequent.right.properties.\
0.value.callee", "body.0.body.body.3.body.body.2.consequent.body.2.expression.consequent.expressions.1.right.callee"],
        toPropertyKey: ["body.0.body.body.6.declarations.1.init.callee.body.body.2.body.body.1.consequent.body.2.expression.arguments.3.alte\
rnate.callee"]
      }
    }),
    classApplyDescriptorDestructureSet: Ee("7.13.10", 'function _classApplyDescriptorDestructureSet(e,t){if(t.set)return"__destrObj"in t||(t\
.__destrObj={set value(r){t.set.call(e,r)}}),t.__destrObj;if(!t.writable)throw new TypeError("attempted to set read only private field");ret\
urn t}', {
      globals: ["TypeError"],
      locals: {
        _classApplyDescriptorDestructureSet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classApplyDescriptorDestructureSet",
      dependencies: {}
    }),
    classApplyDescriptorGet: Ee("7.13.10", "function _classApplyDescriptorGet(e,t){return t.get?t.get.call(e):t.value}", {
      globals: [],
      locals: {
        _classApplyDescriptorGet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classApplyDescriptorGet",
      dependencies: {}
    }),
    classApplyDescriptorSet: Ee("7.13.10", 'function _classApplyDescriptorSet(e,t,l){if(t.set)t.set.call(e,l);else{if(!t.writable)throw new \
TypeError("attempted to set read only private field");t.value=l}}', {
      globals: ["TypeError"],
      locals: {
        _classApplyDescriptorSet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classApplyDescriptorSet",
      dependencies: {}
    }),
    classCheckPrivateStaticAccess: Ee("7.13.10", "function _classCheckPrivateStaticAccess(s,a,r){return assertClassBrand(a,s,r)}", {
      globals: [],
      locals: {
        _classCheckPrivateStaticAccess: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classCheckPrivateStaticAccess",
      dependencies: {
        assertClassBrand: ["body.0.body.body.0.argument.callee"]
      }
    }),
    classCheckPrivateStaticFieldDescriptor: Ee("7.13.10", 'function _classCheckPrivateStaticFieldDescriptor(t,e){if(void 0===t)throw new Typ\
eError("attempted to "+e+" private static field before its declaration")}', {
      globals: ["TypeError"],
      locals: {
        _classCheckPrivateStaticFieldDescriptor: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classCheckPrivateStaticFieldDescriptor",
      dependencies: {}
    }),
    classExtractFieldDescriptor: Ee("7.13.10", "function _classExtractFieldDescriptor(e,t){return classPrivateFieldGet2(t,e)}", {
      globals: [],
      locals: {
        _classExtractFieldDescriptor: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classExtractFieldDescriptor",
      dependencies: {
        classPrivateFieldGet2: ["body.0.body.body.0.argument.callee"]
      }
    }),
    classPrivateFieldDestructureSet: Ee("7.4.4", "function _classPrivateFieldDestructureSet(e,t){var r=classPrivateFieldGet2(t,e);return cla\
ssApplyDescriptorDestructureSet(e,r)}", {
      globals: [],
      locals: {
        _classPrivateFieldDestructureSet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classPrivateFieldDestructureSet",
      dependencies: {
        classApplyDescriptorDestructureSet: ["body.0.body.body.1.argument.callee"],
        classPrivateFieldGet2: ["body.0.body.body.0.declarations.0.init.callee"]
      }
    }),
    classPrivateFieldGet: Ee("7.0.0-beta.0", "function _classPrivateFieldGet(e,t){var r=classPrivateFieldGet2(t,e);return classApplyDescript\
orGet(e,r)}", {
      globals: [],
      locals: {
        _classPrivateFieldGet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classPrivateFieldGet",
      dependencies: {
        classApplyDescriptorGet: ["body.0.body.body.1.argument.callee"],
        classPrivateFieldGet2: ["body.0.body.body.0.declarations.0.init.callee"]
      }
    }),
    classPrivateFieldSet: Ee("7.0.0-beta.0", "function _classPrivateFieldSet(e,t,r){var s=classPrivateFieldGet2(t,e);return classApplyDescri\
ptorSet(e,s,r),r}", {
      globals: [],
      locals: {
        _classPrivateFieldSet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classPrivateFieldSet",
      dependencies: {
        classApplyDescriptorSet: ["body.0.body.body.1.argument.expressions.0.callee"],
        classPrivateFieldGet2: ["body.0.body.body.0.declarations.0.init.callee"]
      }
    }),
    classPrivateMethodGet: Ee("7.1.6", "function _classPrivateMethodGet(s,a,r){return assertClassBrand(a,s),r}", {
      globals: [],
      locals: {
        _classPrivateMethodGet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classPrivateMethodGet",
      dependencies: {
        assertClassBrand: ["body.0.body.body.0.argument.expressions.0.callee"]
      }
    }),
    classPrivateMethodSet: Ee("7.1.6", 'function _classPrivateMethodSet(){throw new TypeError("attempted to reassign private method")}', {
      globals: ["TypeError"],
      locals: {
        _classPrivateMethodSet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classPrivateMethodSet",
      dependencies: {}
    }),
    classStaticPrivateFieldDestructureSet: Ee("7.13.10", 'function _classStaticPrivateFieldDestructureSet(t,r,s){return assertClassBrand(r,t\
),classCheckPrivateStaticFieldDescriptor(s,"set"),classApplyDescriptorDestructureSet(t,s)}', {
      globals: [],
      locals: {
        _classStaticPrivateFieldDestructureSet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classStaticPrivateFieldDestructureSet",
      dependencies: {
        classApplyDescriptorDestructureSet: ["body.0.body.body.0.argument.expressions.2.callee"],
        assertClassBrand: ["body.0.body.body.0.argument.expressions.0.callee"],
        classCheckPrivateStaticFieldDescriptor: ["body.0.body.body.0.argument.expressions.1.callee"]
      }
    }),
    classStaticPrivateFieldSpecGet: Ee("7.0.2", 'function _classStaticPrivateFieldSpecGet(t,s,r){return assertClassBrand(s,t),classCheckPriv\
ateStaticFieldDescriptor(r,"get"),classApplyDescriptorGet(t,r)}', {
      globals: [],
      locals: {
        _classStaticPrivateFieldSpecGet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classStaticPrivateFieldSpecGet",
      dependencies: {
        classApplyDescriptorGet: ["body.0.body.body.0.argument.expressions.2.callee"],
        assertClassBrand: ["body.0.body.body.0.argument.expressions.0.callee"],
        classCheckPrivateStaticFieldDescriptor: ["body.0.body.body.0.argument.expressions.1.callee"]
      }
    }),
    classStaticPrivateFieldSpecSet: Ee("7.0.2", 'function _classStaticPrivateFieldSpecSet(s,t,r,e){return assertClassBrand(t,s),classCheckPr\
ivateStaticFieldDescriptor(r,"set"),classApplyDescriptorSet(s,r,e),e}', {
      globals: [],
      locals: {
        _classStaticPrivateFieldSpecSet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classStaticPrivateFieldSpecSet",
      dependencies: {
        classApplyDescriptorSet: ["body.0.body.body.0.argument.expressions.2.callee"],
        assertClassBrand: ["body.0.body.body.0.argument.expressions.0.callee"],
        classCheckPrivateStaticFieldDescriptor: ["body.0.body.body.0.argument.expressions.1.callee"]
      }
    }),
    classStaticPrivateMethodSet: Ee("7.3.2", 'function _classStaticPrivateMethodSet(){throw new TypeError("attempted to set read only static\
 private field")}', {
      globals: ["TypeError"],
      locals: {
        _classStaticPrivateMethodSet: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_classStaticPrivateMethodSet",
      dependencies: {}
    }),
    defineEnumerableProperties: Ee("7.0.0-beta.0", 'function _defineEnumerableProperties(e,r){for(var t in r){var n=r[t];n.configurable=n.en\
umerable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,t,n)}if(Object.getOwnPropertySymbols)for(var a=Object.getOwnPropertySymbols\
(r),b=0;b<a.length;b++){var i=a[b];(n=r[i]).configurable=n.enumerable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,i,n)}return e}',
    {
      globals: ["Object"],
      locals: {
        _defineEnumerableProperties: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_defineEnumerableProperties",
      dependencies: {}
    }),
    dispose: Ee("7.22.0", 'function dispose_SuppressedError(r,e){return"undefined"!=typeof SuppressedError?dispose_SuppressedError=Suppresse\
dError:(dispose_SuppressedError=function(r,e){this.suppressed=e,this.error=r,this.stack=Error().stack},dispose_SuppressedError.prototype=Obj\
ect.create(Error.prototype,{constructor:{value:dispose_SuppressedError,writable:!0,configurable:!0}})),new dispose_SuppressedError(r,e)}func\
tion _dispose(r,e,s){function next(){for(;r.length>0;)try{var o=r.pop(),p=o.d.call(o.v);if(o.a)return Promise.resolve(p).then(next,err)}catc\
h(r){return err(r)}if(s)throw e}function err(r){return e=s?new dispose_SuppressedError(e,r):r,s=!0,next()}return next()}', {
      globals: ["SuppressedError", "Error", "Object", "Promise"],
      locals: {
        dispose_SuppressedError: ["body.0.id", "body.0.body.body.0.argument.expressions.0.alternate.expressions.1.left.object", "body.0.body\
.body.0.argument.expressions.0.alternate.expressions.1.right.arguments.1.properties.0.value.properties.0.value", "body.0.body.body.0.argumen\
t.expressions.1.callee", "body.1.body.body.1.body.body.0.argument.expressions.0.right.consequent.callee", "body.0.body.body.0.argument.expre\
ssions.0.consequent.left", "body.0.body.body.0.argument.expressions.0.alternate.expressions.0.left"],
        _dispose: ["body.1.id"]
      },
      exportBindingAssignments: [],
      exportName: "_dispose",
      dependencies: {}
    }),
    objectSpread: Ee("7.0.0-beta.0", 'function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?Object(argument\
s[r]):{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&o.push.apply(o,Object.getOwnPropertySymbols(t).filter((function(e\
){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.forEach((function(r){defineProperty(e,r,t[r])}))}return e}', {
      globals: ["Object"],
      locals: {
        _objectSpread: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_objectSpread",
      dependencies: {
        defineProperty: ["body.0.body.body.0.body.body.1.expression.expressions.1.arguments.0.body.body.0.expression.callee"]
      }
    }),
    using: Ee("7.22.0", 'function _using(o,n,e){if(null==n)return n;if(Object(n)!==n)throw new TypeError("using declarations can only be use\
d with objects, functions, null, or undefined.");if(e)var r=n[Symbol.asyncDispose||Symbol.for("Symbol.asyncDispose")];if(null==r&&(r=n[Symbo\
l.dispose||Symbol.for("Symbol.dispose")]),"function"!=typeof r)throw new TypeError("Property [Symbol.dispose] is not a function.");return o.\
push({v:n,d:r,a:e}),n}', {
      globals: ["Object", "TypeError", "Symbol"],
      locals: {
        _using: ["body.0.id"]
      },
      exportBindingAssignments: [],
      exportName: "_using",
      dependencies: {}
    })
  });
});

// ../node_modules/@babel/helpers/lib/index.js
var yN = g((el) => {
  "use strict";
  Object.defineProperty(el, "__esModule", {
    value: !0
  });
  el.default = void 0;
  el.get = SK;
  el.getDependencies = YFe;
  el.list = void 0;
  el.minVersion = JFe;
  var WFe = fe(), xK = TK(), {
    cloneNode: $Fe,
    identifier: bK
  } = WFe;
  function sx(t, e, s) {
    try {
      let r = e.split("."), i = r.shift();
      for (; r.length > 0; )
        t = t[i], i = r.shift();
      if (arguments.length > 2)
        t[i] = s;
      else
        return t[i];
    } catch (r) {
      throw r.message += ` (when accessing ${e})`, r;
    }
  }
  n(sx, "deep");
  function HFe(t, e, s, r, i, a) {
    let {
      locals: o,
      dependencies: l,
      exportBindingAssignments: u,
      exportName: c
    } = e, p = new Set(r || []);
    s && p.add(s);
    for (let [h, f] of (Object.entries || ((d) => Object.keys(d).map((m) => [m, d[m]])))(o)) {
      let d = h;
      if (s && h === c)
        d = s;
      else
        for (; p.has(d); ) d = "_" + d;
      if (d !== h)
        for (let m of f)
          sx(t, m, bK(d));
    }
    for (let [h, f] of (Object.entries || ((d) => Object.keys(d).map((m) => [m, d[m]])))(l)) {
      let d = typeof i == "function" && i(h) || bK(h);
      for (let m of f)
        sx(t, m, $Fe(d));
    }
    a?.(t, c, (h) => {
      u.forEach((f) => sx(t, f, h(sx(t, f))));
    });
  }
  n(HFe, "permuteHelperAST");
  var mN = /* @__PURE__ */ Object.create(null);
  function rx(t) {
    if (!mN[t]) {
      let e = xK.default[t];
      if (!e)
        throw Object.assign(new ReferenceError(`Unknown helper ${t}`), {
          code: "BABEL_HELPER_UNKNOWN",
          helper: t
        });
      mN[t] = {
        minVersion: e.minVersion,
        build(s, r, i, a) {
          let o = e.ast();
          return HFe(o, e.metadata, r, i, s, a), {
            nodes: o.body,
            globals: e.metadata.globals
          };
        },
        getDependencies() {
          return Object.keys(e.metadata.dependencies);
        }
      };
    }
    return mN[t];
  }
  n(rx, "loadHelper");
  function SK(t, e, s, r, i) {
    if (typeof s == "object") {
      let a = s;
      a?.type === "Identifier" ? s = a.name : s = void 0;
    }
    return rx(t).build(e, s, r, i);
  }
  n(SK, "get");
  function JFe(t) {
    return rx(t).minVersion;
  }
  n(JFe, "minVersion");
  function YFe(t) {
    return rx(t).getDependencies();
  }
  n(YFe, "getDependencies");
  el.ensure = (t) => {
    rx(t);
  };
  var s5s = el.list = Object.keys(xK.default).map((t) => t.replace(/^_/, "")), r5s = el.default = SK;
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/lib/virtual-types.js
var gN = g((ms) => {
  "use strict";
  Object.defineProperty(ms, "__esModule", {
    value: !0
  });
  ms.Var = ms.User = ms.Statement = ms.SpreadProperty = ms.Scope = ms.RestProperty = ms.ReferencedMemberExpression = ms.ReferencedIdentifier =
  ms.Referenced = ms.Pure = ms.NumericLiteralTypeAnnotation = ms.Generated = ms.ForAwaitStatement = ms.Flow = ms.Expression = ms.ExistentialTypeParam =
  ms.BlockScoped = ms.BindingIdentifier = void 0;
  var a5s = ms.ReferencedIdentifier = ["Identifier", "JSXIdentifier"], o5s = ms.ReferencedMemberExpression = ["MemberExpression"], l5s = ms.
  BindingIdentifier = ["Identifier"], u5s = ms.Statement = ["Statement"], c5s = ms.Expression = ["Expression"], p5s = ms.Scope = ["Scopable",
  "Pattern"], h5s = ms.Referenced = null, f5s = ms.BlockScoped = null, d5s = ms.Var = ["VariableDeclaration"], m5s = ms.User = null, y5s = ms.
  Generated = null, g5s = ms.Pure = null, T5s = ms.Flow = ["Flow", "ImportDeclaration", "ExportDeclaration", "ImportSpecifier"], b5s = ms.RestProperty =
  ["RestElement"], x5s = ms.SpreadProperty = ["RestElement"], S5s = ms.ExistentialTypeParam = ["ExistsTypeAnnotation"], P5s = ms.NumericLiteralTypeAnnotation =
  ["NumberLiteralTypeAnnotation"], E5s = ms.ForAwaitStatement = ["ForOfStatement"];
});

// ../node_modules/ms/index.js
var EK = g((v5s, PK) => {
  var pd = 1e3, hd = pd * 60, fd = hd * 60, ah = fd * 24, XFe = ah * 7, zFe = ah * 365.25;
  PK.exports = function(t, e) {
    e = e || {};
    var s = typeof t;
    if (s === "string" && t.length > 0)
      return GFe(t);
    if (s === "number" && isFinite(t))
      return e.long ? ZFe(t) : QFe(t);
    throw new Error(
      "val is not a non-empty string or a valid number. val=" + JSON.stringify(t)
    );
  };
  function GFe(t) {
    if (t = String(t), !(t.length > 100)) {
      var e = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.
      exec(
        t
      );
      if (e) {
        var s = parseFloat(e[1]), r = (e[2] || "ms").toLowerCase();
        switch (r) {
          case "years":
          case "year":
          case "yrs":
          case "yr":
          case "y":
            return s * zFe;
          case "weeks":
          case "week":
          case "w":
            return s * XFe;
          case "days":
          case "day":
          case "d":
            return s * ah;
          case "hours":
          case "hour":
          case "hrs":
          case "hr":
          case "h":
            return s * fd;
          case "minutes":
          case "minute":
          case "mins":
          case "min":
          case "m":
            return s * hd;
          case "seconds":
          case "second":
          case "secs":
          case "sec":
          case "s":
            return s * pd;
          case "milliseconds":
          case "millisecond":
          case "msecs":
          case "msec":
          case "ms":
            return s;
          default:
            return;
        }
      }
    }
  }
  n(GFe, "parse");
  function QFe(t) {
    var e = Math.abs(t);
    return e >= ah ? Math.round(t / ah) + "d" : e >= fd ? Math.round(t / fd) + "h" : e >= hd ? Math.round(t / hd) + "m" : e >= pd ? Math.round(
    t / pd) + "s" : t + "ms";
  }
  n(QFe, "fmtShort");
  function ZFe(t) {
    var e = Math.abs(t);
    return e >= ah ? ix(t, e, ah, "day") : e >= fd ? ix(t, e, fd, "hour") : e >= hd ? ix(t, e, hd, "minute") : e >= pd ? ix(t, e, pd, "secon\
d") : t + " ms";
  }
  n(ZFe, "fmtLong");
  function ix(t, e, s, r) {
    var i = e >= s * 1.5;
    return Math.round(t / s) + " " + r + (i ? "s" : "");
  }
  n(ix, "plural");
});

// ../node_modules/debug/src/common.js
var TN = g((w5s, AK) => {
  function e3e(t) {
    s.debug = s, s.default = s, s.coerce = u, s.disable = a, s.enable = i, s.enabled = o, s.humanize = EK(), s.destroy = c, Object.keys(t).forEach(
    (p) => {
      s[p] = t[p];
    }), s.names = [], s.skips = [], s.formatters = {};
    function e(p) {
      let h = 0;
      for (let f = 0; f < p.length; f++)
        h = (h << 5) - h + p.charCodeAt(f), h |= 0;
      return s.colors[Math.abs(h) % s.colors.length];
    }
    n(e, "selectColor"), s.selectColor = e;
    function s(p) {
      let h, f = null, d, m;
      function y(...T) {
        if (!y.enabled)
          return;
        let b = y, E = Number(/* @__PURE__ */ new Date()), V = E - (h || E);
        b.diff = V, b.prev = h, b.curr = E, h = E, T[0] = s.coerce(T[0]), typeof T[0] != "string" && T.unshift("%O");
        let W = 0;
        T[0] = T[0].replace(/%([a-zA-Z%])/g, (de, ye) => {
          if (de === "%%")
            return "%";
          W++;
          let Oe = s.formatters[ye];
          if (typeof Oe == "function") {
            let be = T[W];
            de = Oe.call(b, be), T.splice(W, 1), W--;
          }
          return de;
        }), s.formatArgs.call(b, T), (b.log || s.log).apply(b, T);
      }
      return n(y, "debug"), y.namespace = p, y.useColors = s.useColors(), y.color = s.selectColor(p), y.extend = r, y.destroy = s.destroy, Object.
      defineProperty(y, "enabled", {
        enumerable: !0,
        configurable: !1,
        get: /* @__PURE__ */ n(() => f !== null ? f : (d !== s.namespaces && (d = s.namespaces, m = s.enabled(p)), m), "get"),
        set: /* @__PURE__ */ n((T) => {
          f = T;
        }, "set")
      }), typeof s.init == "function" && s.init(y), y;
    }
    n(s, "createDebug");
    function r(p, h) {
      let f = s(this.namespace + (typeof h > "u" ? ":" : h) + p);
      return f.log = this.log, f;
    }
    n(r, "extend");
    function i(p) {
      s.save(p), s.namespaces = p, s.names = [], s.skips = [];
      let h, f = (typeof p == "string" ? p : "").split(/[\s,]+/), d = f.length;
      for (h = 0; h < d; h++)
        f[h] && (p = f[h].replace(/\*/g, ".*?"), p[0] === "-" ? s.skips.push(new RegExp("^" + p.slice(1) + "$")) : s.names.push(new RegExp("\
^" + p + "$")));
    }
    n(i, "enable");
    function a() {
      let p = [
        ...s.names.map(l),
        ...s.skips.map(l).map((h) => "-" + h)
      ].join(",");
      return s.enable(""), p;
    }
    n(a, "disable");
    function o(p) {
      if (p[p.length - 1] === "*")
        return !0;
      let h, f;
      for (h = 0, f = s.skips.length; h < f; h++)
        if (s.skips[h].test(p))
          return !1;
      for (h = 0, f = s.names.length; h < f; h++)
        if (s.names[h].test(p))
          return !0;
      return !1;
    }
    n(o, "enabled");
    function l(p) {
      return p.toString().substring(2, p.toString().length - 2).replace(/\.\*\?$/, "*");
    }
    n(l, "toNamespace");
    function u(p) {
      return p instanceof Error ? p.stack || p.message : p;
    }
    n(u, "coerce");
    function c() {
      console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major versio\
n of `debug`.");
    }
    return n(c, "destroy"), s.enable(s.load()), s;
  }
  n(e3e, "setup");
  AK.exports = e3e;
});

// ../node_modules/debug/src/browser.js
var vK = g((aa, nx) => {
  aa.formatArgs = s3e;
  aa.save = r3e;
  aa.load = i3e;
  aa.useColors = t3e;
  aa.storage = n3e();
  aa.destroy = /* @__PURE__ */ (() => {
    let t = !1;
    return () => {
      t || (t = !0, console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the nex\
t major version of `debug`."));
    };
  })();
  aa.colors = [
    "#0000CC",
    "#0000FF",
    "#0033CC",
    "#0033FF",
    "#0066CC",
    "#0066FF",
    "#0099CC",
    "#0099FF",
    "#00CC00",
    "#00CC33",
    "#00CC66",
    "#00CC99",
    "#00CCCC",
    "#00CCFF",
    "#3300CC",
    "#3300FF",
    "#3333CC",
    "#3333FF",
    "#3366CC",
    "#3366FF",
    "#3399CC",
    "#3399FF",
    "#33CC00",
    "#33CC33",
    "#33CC66",
    "#33CC99",
    "#33CCCC",
    "#33CCFF",
    "#6600CC",
    "#6600FF",
    "#6633CC",
    "#6633FF",
    "#66CC00",
    "#66CC33",
    "#9900CC",
    "#9900FF",
    "#9933CC",
    "#9933FF",
    "#99CC00",
    "#99CC33",
    "#CC0000",
    "#CC0033",
    "#CC0066",
    "#CC0099",
    "#CC00CC",
    "#CC00FF",
    "#CC3300",
    "#CC3333",
    "#CC3366",
    "#CC3399",
    "#CC33CC",
    "#CC33FF",
    "#CC6600",
    "#CC6633",
    "#CC9900",
    "#CC9933",
    "#CCCC00",
    "#CCCC33",
    "#FF0000",
    "#FF0033",
    "#FF0066",
    "#FF0099",
    "#FF00CC",
    "#FF00FF",
    "#FF3300",
    "#FF3333",
    "#FF3366",
    "#FF3399",
    "#FF33CC",
    "#FF33FF",
    "#FF6600",
    "#FF6633",
    "#FF9900",
    "#FF9933",
    "#FFCC00",
    "#FFCC33"
  ];
  function t3e() {
    if (typeof window < "u" && window.process && (window.process.type === "renderer" || window.process.__nwjs))
      return !0;
    if (typeof navigator < "u" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))
      return !1;
    let t;
    return typeof document < "u" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance ||
    // Is firebug? http://stackoverflow.com/a/398120/376773
    typeof window < "u" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
    // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
    typeof navigator < "u" && navigator.userAgent && (t = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(t[1], 10) >=
    31 || // Double check webkit in userAgent just in case we are in a worker
    typeof navigator < "u" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
  }
  n(t3e, "useColors");
  function s3e(t) {
    if (t[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + t[0] + (this.useColors ? "%c " : " ") + "+" +
    nx.exports.humanize(this.diff), !this.useColors)
      return;
    let e = "color: " + this.color;
    t.splice(1, 0, e, "color: inherit");
    let s = 0, r = 0;
    t[0].replace(/%[a-zA-Z%]/g, (i) => {
      i !== "%%" && (s++, i === "%c" && (r = s));
    }), t.splice(r, 0, e);
  }
  n(s3e, "formatArgs");
  aa.log = console.debug || console.log || (() => {
  });
  function r3e(t) {
    try {
      t ? aa.storage.setItem("debug", t) : aa.storage.removeItem("debug");
    } catch {
    }
  }
  n(r3e, "save");
  function i3e() {
    let t;
    try {
      t = aa.storage.getItem("debug");
    } catch {
    }
    return !t && typeof process < "u" && "env" in process && (t = process.env.DEBUG), t;
  }
  n(i3e, "load");
  function n3e() {
    try {
      return localStorage;
    } catch {
    }
  }
  n(n3e, "localstorage");
  nx.exports = TN()(aa);
  var { formatters: a3e } = nx.exports;
  a3e.j = function(t) {
    try {
      return JSON.stringify(t);
    } catch (e) {
      return "[UnexpectedJSONParseError]: " + e.message;
    }
  };
});

// ../node_modules/has-flag/index.js
var wK = g((k5s, CK) => {
  "use strict";
  CK.exports = (t, e = process.argv) => {
    let s = t.startsWith("-") ? "" : t.length === 1 ? "-" : "--", r = e.indexOf(s + t), i = e.indexOf("--");
    return r !== -1 && (i === -1 || r < i);
  };
});

// ../node_modules/supports-color/index.js
var kK = g((D5s, NK) => {
  "use strict";
  var o3e = require("os"), IK = require("tty"), Ea = wK(), { env: _i } = process, kc;
  Ea("no-color") || Ea("no-colors") || Ea("color=false") || Ea("color=never") ? kc = 0 : (Ea("color") || Ea("colors") || Ea("color=true") ||
  Ea("color=always")) && (kc = 1);
  "FORCE_COLOR" in _i && (_i.FORCE_COLOR === "true" ? kc = 1 : _i.FORCE_COLOR === "false" ? kc = 0 : kc = _i.FORCE_COLOR.length === 0 ? 1 : Math.
  min(parseInt(_i.FORCE_COLOR, 10), 3));
  function bN(t) {
    return t === 0 ? !1 : {
      level: t,
      hasBasic: !0,
      has256: t >= 2,
      has16m: t >= 3
    };
  }
  n(bN, "translateLevel");
  function xN(t, e) {
    if (kc === 0)
      return 0;
    if (Ea("color=16m") || Ea("color=full") || Ea("color=truecolor"))
      return 3;
    if (Ea("color=256"))
      return 2;
    if (t && !e && kc === void 0)
      return 0;
    let s = kc || 0;
    if (_i.TERM === "dumb")
      return s;
    if (process.platform === "win32") {
      let r = o3e.release().split(".");
      return Number(r[0]) >= 10 && Number(r[2]) >= 10586 ? Number(r[2]) >= 14931 ? 3 : 2 : 1;
    }
    if ("CI" in _i)
      return ["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((r) => r in _i) || _i.CI_NAME === "codeship" ?
      1 : s;
    if ("TEAMCITY_VERSION" in _i)
      return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(_i.TEAMCITY_VERSION) ? 1 : 0;
    if (_i.COLORTERM === "truecolor")
      return 3;
    if ("TERM_PROGRAM" in _i) {
      let r = parseInt((_i.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
      switch (_i.TERM_PROGRAM) {
        case "iTerm.app":
          return r >= 3 ? 3 : 2;
        case "Apple_Terminal":
          return 2;
      }
    }
    return /-256(color)?$/i.test(_i.TERM) ? 2 : /^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(_i.TERM) || "COLORTERM" in
    _i ? 1 : s;
  }
  n(xN, "supportsColor");
  function l3e(t) {
    let e = xN(t, t && t.isTTY);
    return bN(e);
  }
  n(l3e, "getSupportLevel");
  NK.exports = {
    supportsColor: l3e,
    stdout: bN(xN(!0, IK.isatty(1))),
    stderr: bN(xN(!0, IK.isatty(2)))
  };
});

// ../node_modules/debug/src/node.js
var OK = g((Li, ox) => {
  var u3e = require("tty"), ax = require("util");
  Li.init = y3e;
  Li.log = f3e;
  Li.formatArgs = p3e;
  Li.save = d3e;
  Li.load = m3e;
  Li.useColors = c3e;
  Li.destroy = ax.deprecate(
    () => {
    },
    "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
  );
  Li.colors = [6, 2, 3, 4, 5, 1];
  try {
    let t = kK();
    t && (t.stderr || t).level >= 2 && (Li.colors = [
      20,
      21,
      26,
      27,
      32,
      33,
      38,
      39,
      40,
      41,
      42,
      43,
      44,
      45,
      56,
      57,
      62,
      63,
      68,
      69,
      74,
      75,
      76,
      77,
      78,
      79,
      80,
      81,
      92,
      93,
      98,
      99,
      112,
      113,
      128,
      129,
      134,
      135,
      148,
      149,
      160,
      161,
      162,
      163,
      164,
      165,
      166,
      167,
      168,
      169,
      170,
      171,
      172,
      173,
      178,
      179,
      184,
      185,
      196,
      197,
      198,
      199,
      200,
      201,
      202,
      203,
      204,
      205,
      206,
      207,
      208,
      209,
      214,
      215,
      220,
      221
    ]);
  } catch {
  }
  Li.inspectOpts = Object.keys(process.env).filter((t) => /^debug_/i.test(t)).reduce((t, e) => {
    let s = e.substring(6).toLowerCase().replace(/_([a-z])/g, (i, a) => a.toUpperCase()), r = process.env[e];
    return /^(yes|on|true|enabled)$/i.test(r) ? r = !0 : /^(no|off|false|disabled)$/i.test(r) ? r = !1 : r === "null" ? r = null : r = Number(
    r), t[s] = r, t;
  }, {});
  function c3e() {
    return "colors" in Li.inspectOpts ? !!Li.inspectOpts.colors : u3e.isatty(process.stderr.fd);
  }
  n(c3e, "useColors");
  function p3e(t) {
    let { namespace: e, useColors: s } = this;
    if (s) {
      let r = this.color, i = "\x1B[3" + (r < 8 ? r : "8;5;" + r), a = `  ${i};1m${e} \x1B[0m`;
      t[0] = a + t[0].split(`
`).join(`
` + a), t.push(i + "m+" + ox.exports.humanize(this.diff) + "\x1B[0m");
    } else
      t[0] = h3e() + e + " " + t[0];
  }
  n(p3e, "formatArgs");
  function h3e() {
    return Li.inspectOpts.hideDate ? "" : (/* @__PURE__ */ new Date()).toISOString() + " ";
  }
  n(h3e, "getDate");
  function f3e(...t) {
    return process.stderr.write(ax.formatWithOptions(Li.inspectOpts, ...t) + `
`);
  }
  n(f3e, "log");
  function d3e(t) {
    t ? process.env.DEBUG = t : delete process.env.DEBUG;
  }
  n(d3e, "save");
  function m3e() {
    return process.env.DEBUG;
  }
  n(m3e, "load");
  function y3e(t) {
    t.inspectOpts = {};
    let e = Object.keys(Li.inspectOpts);
    for (let s = 0; s < e.length; s++)
      t.inspectOpts[e[s]] = Li.inspectOpts[e[s]];
  }
  n(y3e, "init");
  ox.exports = TN()(Li);
  var { formatters: DK } = ox.exports;
  DK.o = function(t) {
    return this.inspectOpts.colors = this.useColors, ax.inspect(t, this.inspectOpts).split(`
`).map((e) => e.trim()).join(" ");
  };
  DK.O = function(t) {
    return this.inspectOpts.colors = this.useColors, ax.inspect(t, this.inspectOpts);
  };
});

// ../node_modules/debug/src/index.js
var yo = g((L5s, SN) => {
  typeof process > "u" || process.type === "renderer" || process.browser === !0 || process.__nwjs ? SN.exports = vK() : SN.exports = OK();
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js
var EN = g((vi) => {
  "use strict";
  Object.defineProperty(vi, "__esModule", {
    value: !0
  });
  vi.isBindingIdentifier = R3e;
  vi.isBlockScoped = W3e;
  vi.isExpression = U3e;
  vi.isFlow = X3e;
  vi.isForAwaitStatement = Q3e;
  vi.isGenerated = J3e;
  vi.isPure = Y3e;
  vi.isReferenced = V3e;
  vi.isReferencedIdentifier = F3e;
  vi.isReferencedMemberExpression = j3e;
  vi.isRestProperty = z3e;
  vi.isScope = K3e;
  vi.isSpreadProperty = G3e;
  vi.isStatement = q3e;
  vi.isUser = H3e;
  vi.isVar = $3e;
  var g3e = fe(), {
    isBinding: T3e,
    isBlockScoped: b3e,
    isExportDeclaration: x3e,
    isExpression: S3e,
    isFlow: P3e,
    isForStatement: E3e,
    isForXStatement: A3e,
    isIdentifier: _K,
    isImportDeclaration: v3e,
    isImportSpecifier: C3e,
    isJSXIdentifier: w3e,
    isJSXMemberExpression: I3e,
    isMemberExpression: N3e,
    isRestElement: LK,
    isReferenced: PN,
    isScope: k3e,
    isStatement: D3e,
    isVar: O3e,
    isVariableDeclaration: _3e,
    react: L3e,
    isForOfStatement: B3e
  } = g3e, {
    isCompatTag: M3e
  } = L3e;
  function F3e(t) {
    let {
      node: e,
      parent: s
    } = this;
    if (!_K(e, t) && !I3e(s, t))
      if (w3e(e, t)) {
        if (M3e(e.name)) return !1;
      } else
        return !1;
    return PN(e, s, this.parentPath.parent);
  }
  n(F3e, "isReferencedIdentifier");
  function j3e() {
    let {
      node: t,
      parent: e
    } = this;
    return N3e(t) && PN(t, e);
  }
  n(j3e, "isReferencedMemberExpression");
  function R3e() {
    let {
      node: t,
      parent: e
    } = this, s = this.parentPath.parent;
    return _K(t) && T3e(t, e, s);
  }
  n(R3e, "isBindingIdentifier");
  function q3e() {
    let {
      node: t,
      parent: e
    } = this;
    return D3e(t) ? !(_3e(t) && (A3e(e, {
      left: t
    }) || E3e(e, {
      init: t
    }))) : !1;
  }
  n(q3e, "isStatement");
  function U3e() {
    return this.isIdentifier() ? this.isReferencedIdentifier() : S3e(this.node);
  }
  n(U3e, "isExpression");
  function K3e() {
    return k3e(this.node, this.parent);
  }
  n(K3e, "isScope");
  function V3e() {
    return PN(this.node, this.parent);
  }
  n(V3e, "isReferenced");
  function W3e() {
    return b3e(this.node);
  }
  n(W3e, "isBlockScoped");
  function $3e() {
    return O3e(this.node);
  }
  n($3e, "isVar");
  function H3e() {
    return this.node && !!this.node.loc;
  }
  n(H3e, "isUser");
  function J3e() {
    return !this.isUser();
  }
  n(J3e, "isGenerated");
  function Y3e(t) {
    return this.scope.isPure(this.node, t);
  }
  n(Y3e, "isPure");
  function X3e() {
    let {
      node: t
    } = this;
    return P3e(t) ? !0 : v3e(t) ? t.importKind === "type" || t.importKind === "typeof" : x3e(t) ? t.exportKind === "type" : C3e(t) ? t.importKind ===
    "type" || t.importKind === "typeof" : !1;
  }
  n(X3e, "isFlow");
  function z3e() {
    var t;
    return LK(this.node) && ((t = this.parentPath) == null ? void 0 : t.isObjectPattern());
  }
  n(z3e, "isRestProperty");
  function G3e() {
    var t;
    return LK(this.node) && ((t = this.parentPath) == null ? void 0 : t.isObjectExpression());
  }
  n(G3e, "isSpreadProperty");
  function Q3e() {
    return B3e(this.node, {
      await: !0
    });
  }
  n(Q3e, "isForAwaitStatement");
  vi.isExistentialTypeParam = /* @__PURE__ */ n(function() {
    throw new Error("`path.isExistentialTypeParam` has been renamed to `path.isExistsTypeAnnotation()` in Babel 7.");
  }, "isExistentialTypeParam"), vi.isNumericLiteralTypeAnnotation = /* @__PURE__ */ n(function() {
    throw new Error("`path.isNumericLiteralTypeAnnotation()` has been renamed to `path.isNumberLiteralTypeAnnotation()` in Babel 7.");
  }, "isNumericLiteralTypeAnnotation");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/visitors.js
var lg = g((lh) => {
  "use strict";
  Object.defineProperty(lh, "__esModule", {
    value: !0
  });
  lh.environmentVisitor = a4e;
  lh.explode = $K;
  lh.isExplodedVisitor = WK;
  lh.merge = JK;
  lh.verify = HK;
  var VK = gN(), Z3e = EN(), e4e = fe(), BK = tl(), {
    DEPRECATED_KEYS: MK,
    DEPRECATED_ALIASES: FK,
    FLIPPED_ALIAS_KEYS: jK,
    TYPES: t4e,
    __internal__deprecationWarning: RK
  } = e4e;
  function s4e(t) {
    return t in VK;
  }
  n(s4e, "isVirtualType");
  function WK(t) {
    return t?._exploded;
  }
  n(WK, "isExplodedVisitor");
  function $K(t) {
    if (WK(t)) return t;
    t._exploded = !0;
    for (let e of Object.keys(t)) {
      if (oh(e)) continue;
      let s = e.split("|");
      if (s.length === 1) continue;
      let r = t[e];
      delete t[e];
      for (let i of s)
        t[i] = r;
    }
    HK(t), delete t.__esModule, r4e(t), KK(t);
    for (let e of Object.keys(t)) {
      if (oh(e) || !s4e(e)) continue;
      let s = t[e];
      for (let i of Object.keys(s))
        s[i] = i4e(e, s[i]);
      delete t[e];
      let r = VK[e];
      if (r !== null)
        for (let i of r)
          t[i] ? og(t[i], s) : t[i] = s;
      else
        og(t, s);
    }
    for (let e of Object.keys(t)) {
      if (oh(e)) continue;
      let s = jK[e];
      if (e in MK) {
        let i = MK[e];
        RK(e, i, "Visitor "), s = [i];
      } else if (e in FK) {
        let i = FK[e];
        RK(e, i, "Visitor "), s = jK[i];
      }
      if (!s) continue;
      let r = t[e];
      delete t[e];
      for (let i of s) {
        let a = t[i];
        a ? og(a, r) : t[i] = Object.assign({}, r);
      }
    }
    for (let e of Object.keys(t))
      oh(e) || KK(t[e]);
    return t;
  }
  n($K, "explode$1");
  function HK(t) {
    if (!t._verified) {
      if (typeof t == "function")
        throw new Error("You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Functi\
on }`?");
      for (let e of Object.keys(t)) {
        if ((e === "enter" || e === "exit") && qK(e, t[e]), oh(e)) continue;
        if (!t4e.includes(e))
          throw new Error(`You gave us a visitor for the node type ${e} but it's not a valid type in @babel/traverse 7.26.9`);
        let s = t[e];
        if (typeof s == "object")
          for (let r of Object.keys(s))
            if (r === "enter" || r === "exit")
              qK(`${e}.${r}`, s[r]);
            else
              throw new Error(`You passed \`traverse()\` a visitor object with the property ${e} that has the invalid property ${r}`);
      }
      t._verified = !0;
    }
  }
  n(HK, "verify$1");
  function qK(t, e) {
    let s = [].concat(e);
    for (let r of s)
      if (typeof r != "function")
        throw new TypeError(`Non-function found defined in ${t} with type ${typeof r}`);
  }
  n(qK, "validateVisitorMethods");
  function JK(t, e = [], s) {
    let r = {
      _verified: !0,
      _exploded: !0
    };
    Object.defineProperty(r, "_exploded", {
      enumerable: !1
    }), Object.defineProperty(r, "_verified", {
      enumerable: !1
    });
    for (let i = 0; i < t.length; i++) {
      let a = $K(t[i]), o = e[i], l = a;
      (o || s) && (l = UK(l, o, s)), og(r, l);
      for (let u of Object.keys(a)) {
        if (oh(u)) continue;
        let c = a[u];
        (o || s) && (c = UK(c, o, s));
        let p = r[u] || (r[u] = {});
        og(p, c);
      }
    }
    return r;
  }
  n(JK, "merge");
  function UK(t, e, s) {
    let r = {};
    for (let i of ["enter", "exit"]) {
      let a = t[i];
      Array.isArray(a) && (a = a.map(function(o) {
        let l = o;
        return e && (l = /* @__PURE__ */ n(function(u) {
          o.call(e, u, e);
        }, "newFn")), s && (l = s(e?.key, i, l)), l !== o && (l.toString = () => o.toString()), l;
      }), r[i] = a);
    }
    return r;
  }
  n(UK, "wrapWithStateOrWrapper");
  function r4e(t) {
    for (let e of Object.keys(t)) {
      if (oh(e)) continue;
      let s = t[e];
      typeof s == "function" && (t[e] = {
        enter: s
      });
    }
  }
  n(r4e, "ensureEntranceObjects");
  function KK(t) {
    t.enter && !Array.isArray(t.enter) && (t.enter = [t.enter]), t.exit && !Array.isArray(t.exit) && (t.exit = [t.exit]);
  }
  n(KK, "ensureCallbackArrays");
  function i4e(t, e) {
    let s = `is${t}`, r = Z3e[s], i = /* @__PURE__ */ n(function(a) {
      if (r.call(a))
        return e.apply(this, arguments);
    }, "newFn");
    return i.toString = () => e.toString(), i;
  }
  n(i4e, "wrapCheck");
  function oh(t) {
    return t[0] === "_" || t === "enter" || t === "exit" || t === "shouldSkip" || t === "denylist" || t === "noScope" || t === "skipKeys" ||
    t === "blacklist";
  }
  n(oh, "shouldIgnoreKey");
  function og(t, e) {
    for (let s of ["enter", "exit"])
      e[s] && (t[s] = [].concat(t[s] || [], e[s]));
  }
  n(og, "mergePair");
  var n4e = {
    FunctionParent(t) {
      t.isArrowFunctionExpression() || (t.skip(), t.isMethod() && (t.requeueComputedKeyAndDecorators ? t.requeueComputedKeyAndDecorators() :
      BK.requeueComputedKeyAndDecorators.call(t)));
    },
    Property(t) {
      t.isObjectProperty() || (t.skip(), t.requeueComputedKeyAndDecorators ? t.requeueComputedKeyAndDecorators() : BK.requeueComputedKeyAndDecorators.
      call(t));
    }
  };
  function a4e(t) {
    return JK([n4e, t]);
  }
  n(a4e, "environmentVisitor");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/lib/renamer.js
var YK = g((ux) => {
  "use strict";
  Object.defineProperty(ux, "__esModule", {
    value: !0
  });
  ux.default = void 0;
  var lx = fe(), o4e = lx, l4e = cx(), u4e = lg(), c4e = tl(), {
    getAssignmentIdentifiers: p4e
  } = o4e, h4e = {
    ReferencedIdentifier({
      node: t
    }, e) {
      t.name === e.oldName && (t.name = e.newName);
    },
    Scope(t, e) {
      t.scope.bindingIdentifierEquals(e.oldName, e.binding.identifier) || (t.skip(), t.isMethod() && (t.requeueComputedKeyAndDecorators ? t.
      requeueComputedKeyAndDecorators() : c4e.requeueComputedKeyAndDecorators.call(t)));
    },
    ObjectProperty({
      node: t,
      scope: e
    }, s) {
      let {
        name: r
      } = t.key;
      if (t.shorthand && (r === s.oldName || r === s.newName) && e.getBindingIdentifier(r) === s.binding.identifier) {
        t.shorthand = !1;
        {
          var i;
          (i = t.extra) != null && i.shorthand && (t.extra.shorthand = !1);
        }
      }
    },
    "AssignmentExpression|Declaration|VariableDeclarator"(t, e) {
      if (t.isVariableDeclaration()) return;
      let s = t.isAssignmentExpression() ? p4e(t.node) : t.getOuterBindingIdentifiers();
      for (let r in s)
        r === e.oldName && (s[r].name = e.newName);
    }
  }, AN = class {
    static {
      n(this, "Renamer");
    }
    constructor(e, s, r) {
      this.newName = r, this.oldName = s, this.binding = e;
    }
    maybeConvertFromExportDeclaration(e) {
      let s = e.parentPath;
      if (s.isExportDeclaration()) {
        if (s.isExportDefaultDeclaration()) {
          let {
            declaration: r
          } = s.node;
          if (lx.isDeclaration(r) && !r.id)
            return;
        }
        s.isExportAllDeclaration() || s.splitExportDeclaration();
      }
    }
    maybeConvertFromClassFunctionDeclaration(e) {
      return e;
    }
    maybeConvertFromClassFunctionExpression(e) {
      return e;
    }
    rename() {
      let {
        binding: e,
        oldName: s,
        newName: r
      } = this, {
        scope: i,
        path: a
      } = e, o = a.find((c) => c.isDeclaration() || c.isFunctionExpression() || c.isClassExpression());
      o && o.getOuterBindingIdentifiers()[s] === e.identifier && this.maybeConvertFromExportDeclaration(o);
      let l = arguments[0] || i.block, u = {
        discriminant: !0
      };
      lx.isMethod(l) && (l.computed && (u.key = !0), lx.isObjectMethod(l) || (u.decorators = !0)), (0, l4e.traverseNode)(l, (0, u4e.explode)(
      h4e), i, this, i.path, u), arguments[0] || (i.removeOwnBinding(s), i.bindings[r] = e, this.binding.identifier.name = r), o && (this.maybeConvertFromClassFunctionDeclaration(
      a), this.maybeConvertFromClassFunctionExpression(a));
    }
  };
  ux.default = AN;
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/binding.js
var XK = g((px) => {
  "use strict";
  Object.defineProperty(px, "__esModule", {
    value: !0
  });
  px.default = void 0;
  var vN = class {
    static {
      n(this, "Binding");
    }
    constructor({
      identifier: e,
      scope: s,
      path: r,
      kind: i
    }) {
      this.identifier = void 0, this.scope = void 0, this.path = void 0, this.kind = void 0, this.constantViolations = [], this.constant = !0,
      this.referencePaths = [], this.referenced = !1, this.references = 0, this.identifier = e, this.scope = s, this.path = r, this.kind = i,
      (i === "var" || i === "hoisted") && f4e(r) && this.reassign(r), this.clearValue();
    }
    deoptValue() {
      this.clearValue(), this.hasDeoptedValue = !0;
    }
    setValue(e) {
      this.hasDeoptedValue || (this.hasValue = !0, this.value = e);
    }
    clearValue() {
      this.hasDeoptedValue = !1, this.hasValue = !1, this.value = null;
    }
    reassign(e) {
      this.constant = !1, !this.constantViolations.includes(e) && this.constantViolations.push(e);
    }
    reference(e) {
      this.referencePaths.includes(e) || (this.referenced = !0, this.references++, this.referencePaths.push(e));
    }
    dereference() {
      this.references--, this.referenced = !!this.references;
    }
  };
  px.default = vN;
  function f4e(t) {
    for (let {
      parentPath: e,
      key: s
    } = t; e; {
      parentPath: e,
      key: s
    } = e) {
      if (e.isFunctionParent()) return !1;
      if (e.isWhile() || e.isForXStatement() || e.isForStatement() && s === "body")
        return !0;
    }
    return !1;
  }
  n(f4e, "isDeclaredInLoop");
});

// ../node_modules/globals/globals.json
var zK = g((V5s, d4e) => {
  d4e.exports = {
    builtin: {
      Array: !1,
      ArrayBuffer: !1,
      Atomics: !1,
      BigInt: !1,
      BigInt64Array: !1,
      BigUint64Array: !1,
      Boolean: !1,
      constructor: !1,
      DataView: !1,
      Date: !1,
      decodeURI: !1,
      decodeURIComponent: !1,
      encodeURI: !1,
      encodeURIComponent: !1,
      Error: !1,
      escape: !1,
      eval: !1,
      EvalError: !1,
      Float32Array: !1,
      Float64Array: !1,
      Function: !1,
      globalThis: !1,
      hasOwnProperty: !1,
      Infinity: !1,
      Int16Array: !1,
      Int32Array: !1,
      Int8Array: !1,
      isFinite: !1,
      isNaN: !1,
      isPrototypeOf: !1,
      JSON: !1,
      Map: !1,
      Math: !1,
      NaN: !1,
      Number: !1,
      Object: !1,
      parseFloat: !1,
      parseInt: !1,
      Promise: !1,
      propertyIsEnumerable: !1,
      Proxy: !1,
      RangeError: !1,
      ReferenceError: !1,
      Reflect: !1,
      RegExp: !1,
      Set: !1,
      SharedArrayBuffer: !1,
      String: !1,
      Symbol: !1,
      SyntaxError: !1,
      toLocaleString: !1,
      toString: !1,
      TypeError: !1,
      Uint16Array: !1,
      Uint32Array: !1,
      Uint8Array: !1,
      Uint8ClampedArray: !1,
      undefined: !1,
      unescape: !1,
      URIError: !1,
      valueOf: !1,
      WeakMap: !1,
      WeakSet: !1
    },
    es5: {
      Array: !1,
      Boolean: !1,
      constructor: !1,
      Date: !1,
      decodeURI: !1,
      decodeURIComponent: !1,
      encodeURI: !1,
      encodeURIComponent: !1,
      Error: !1,
      escape: !1,
      eval: !1,
      EvalError: !1,
      Function: !1,
      hasOwnProperty: !1,
      Infinity: !1,
      isFinite: !1,
      isNaN: !1,
      isPrototypeOf: !1,
      JSON: !1,
      Math: !1,
      NaN: !1,
      Number: !1,
      Object: !1,
      parseFloat: !1,
      parseInt: !1,
      propertyIsEnumerable: !1,
      RangeError: !1,
      ReferenceError: !1,
      RegExp: !1,
      String: !1,
      SyntaxError: !1,
      toLocaleString: !1,
      toString: !1,
      TypeError: !1,
      undefined: !1,
      unescape: !1,
      URIError: !1,
      valueOf: !1
    },
    es2015: {
      Array: !1,
      ArrayBuffer: !1,
      Boolean: !1,
      constructor: !1,
      DataView: !1,
      Date: !1,
      decodeURI: !1,
      decodeURIComponent: !1,
      encodeURI: !1,
      encodeURIComponent: !1,
      Error: !1,
      escape: !1,
      eval: !1,
      EvalError: !1,
      Float32Array: !1,
      Float64Array: !1,
      Function: !1,
      hasOwnProperty: !1,
      Infinity: !1,
      Int16Array: !1,
      Int32Array: !1,
      Int8Array: !1,
      isFinite: !1,
      isNaN: !1,
      isPrototypeOf: !1,
      JSON: !1,
      Map: !1,
      Math: !1,
      NaN: !1,
      Number: !1,
      Object: !1,
      parseFloat: !1,
      parseInt: !1,
      Promise: !1,
      propertyIsEnumerable: !1,
      Proxy: !1,
      RangeError: !1,
      ReferenceError: !1,
      Reflect: !1,
      RegExp: !1,
      Set: !1,
      String: !1,
      Symbol: !1,
      SyntaxError: !1,
      toLocaleString: !1,
      toString: !1,
      TypeError: !1,
      Uint16Array: !1,
      Uint32Array: !1,
      Uint8Array: !1,
      Uint8ClampedArray: !1,
      undefined: !1,
      unescape: !1,
      URIError: !1,
      valueOf: !1,
      WeakMap: !1,
      WeakSet: !1
    },
    es2017: {
      Array: !1,
      ArrayBuffer: !1,
      Atomics: !1,
      Boolean: !1,
      constructor: !1,
      DataView: !1,
      Date: !1,
      decodeURI: !1,
      decodeURIComponent: !1,
      encodeURI: !1,
      encodeURIComponent: !1,
      Error: !1,
      escape: !1,
      eval: !1,
      EvalError: !1,
      Float32Array: !1,
      Float64Array: !1,
      Function: !1,
      hasOwnProperty: !1,
      Infinity: !1,
      Int16Array: !1,
      Int32Array: !1,
      Int8Array: !1,
      isFinite: !1,
      isNaN: !1,
      isPrototypeOf: !1,
      JSON: !1,
      Map: !1,
      Math: !1,
      NaN: !1,
      Number: !1,
      Object: !1,
      parseFloat: !1,
      parseInt: !1,
      Promise: !1,
      propertyIsEnumerable: !1,
      Proxy: !1,
      RangeError: !1,
      ReferenceError: !1,
      Reflect: !1,
      RegExp: !1,
      Set: !1,
      SharedArrayBuffer: !1,
      String: !1,
      Symbol: !1,
      SyntaxError: !1,
      toLocaleString: !1,
      toString: !1,
      TypeError: !1,
      Uint16Array: !1,
      Uint32Array: !1,
      Uint8Array: !1,
      Uint8ClampedArray: !1,
      undefined: !1,
      unescape: !1,
      URIError: !1,
      valueOf: !1,
      WeakMap: !1,
      WeakSet: !1
    },
    browser: {
      AbortController: !1,
      AbortSignal: !1,
      addEventListener: !1,
      alert: !1,
      AnalyserNode: !1,
      Animation: !1,
      AnimationEffectReadOnly: !1,
      AnimationEffectTiming: !1,
      AnimationEffectTimingReadOnly: !1,
      AnimationEvent: !1,
      AnimationPlaybackEvent: !1,
      AnimationTimeline: !1,
      applicationCache: !1,
      ApplicationCache: !1,
      ApplicationCacheErrorEvent: !1,
      atob: !1,
      Attr: !1,
      Audio: !1,
      AudioBuffer: !1,
      AudioBufferSourceNode: !1,
      AudioContext: !1,
      AudioDestinationNode: !1,
      AudioListener: !1,
      AudioNode: !1,
      AudioParam: !1,
      AudioProcessingEvent: !1,
      AudioScheduledSourceNode: !1,
      "AudioWorkletGlobalScope ": !1,
      AudioWorkletNode: !1,
      AudioWorkletProcessor: !1,
      BarProp: !1,
      BaseAudioContext: !1,
      BatteryManager: !1,
      BeforeUnloadEvent: !1,
      BiquadFilterNode: !1,
      Blob: !1,
      BlobEvent: !1,
      blur: !1,
      BroadcastChannel: !1,
      btoa: !1,
      BudgetService: !1,
      ByteLengthQueuingStrategy: !1,
      Cache: !1,
      caches: !1,
      CacheStorage: !1,
      cancelAnimationFrame: !1,
      cancelIdleCallback: !1,
      CanvasCaptureMediaStreamTrack: !1,
      CanvasGradient: !1,
      CanvasPattern: !1,
      CanvasRenderingContext2D: !1,
      ChannelMergerNode: !1,
      ChannelSplitterNode: !1,
      CharacterData: !1,
      clearInterval: !1,
      clearTimeout: !1,
      clientInformation: !1,
      ClipboardEvent: !1,
      close: !1,
      closed: !1,
      CloseEvent: !1,
      Comment: !1,
      CompositionEvent: !1,
      confirm: !1,
      console: !1,
      ConstantSourceNode: !1,
      ConvolverNode: !1,
      CountQueuingStrategy: !1,
      createImageBitmap: !1,
      Credential: !1,
      CredentialsContainer: !1,
      crypto: !1,
      Crypto: !1,
      CryptoKey: !1,
      CSS: !1,
      CSSConditionRule: !1,
      CSSFontFaceRule: !1,
      CSSGroupingRule: !1,
      CSSImportRule: !1,
      CSSKeyframeRule: !1,
      CSSKeyframesRule: !1,
      CSSMediaRule: !1,
      CSSNamespaceRule: !1,
      CSSPageRule: !1,
      CSSRule: !1,
      CSSRuleList: !1,
      CSSStyleDeclaration: !1,
      CSSStyleRule: !1,
      CSSStyleSheet: !1,
      CSSSupportsRule: !1,
      CustomElementRegistry: !1,
      customElements: !1,
      CustomEvent: !1,
      DataTransfer: !1,
      DataTransferItem: !1,
      DataTransferItemList: !1,
      defaultstatus: !1,
      defaultStatus: !1,
      DelayNode: !1,
      DeviceMotionEvent: !1,
      DeviceOrientationEvent: !1,
      devicePixelRatio: !1,
      dispatchEvent: !1,
      document: !1,
      Document: !1,
      DocumentFragment: !1,
      DocumentType: !1,
      DOMError: !1,
      DOMException: !1,
      DOMImplementation: !1,
      DOMMatrix: !1,
      DOMMatrixReadOnly: !1,
      DOMParser: !1,
      DOMPoint: !1,
      DOMPointReadOnly: !1,
      DOMQuad: !1,
      DOMRect: !1,
      DOMRectReadOnly: !1,
      DOMStringList: !1,
      DOMStringMap: !1,
      DOMTokenList: !1,
      DragEvent: !1,
      DynamicsCompressorNode: !1,
      Element: !1,
      ErrorEvent: !1,
      event: !1,
      Event: !1,
      EventSource: !1,
      EventTarget: !1,
      external: !1,
      fetch: !1,
      File: !1,
      FileList: !1,
      FileReader: !1,
      find: !1,
      focus: !1,
      FocusEvent: !1,
      FontFace: !1,
      FontFaceSetLoadEvent: !1,
      FormData: !1,
      frameElement: !1,
      frames: !1,
      GainNode: !1,
      Gamepad: !1,
      GamepadButton: !1,
      GamepadEvent: !1,
      getComputedStyle: !1,
      getSelection: !1,
      HashChangeEvent: !1,
      Headers: !1,
      history: !1,
      History: !1,
      HTMLAllCollection: !1,
      HTMLAnchorElement: !1,
      HTMLAreaElement: !1,
      HTMLAudioElement: !1,
      HTMLBaseElement: !1,
      HTMLBodyElement: !1,
      HTMLBRElement: !1,
      HTMLButtonElement: !1,
      HTMLCanvasElement: !1,
      HTMLCollection: !1,
      HTMLContentElement: !1,
      HTMLDataElement: !1,
      HTMLDataListElement: !1,
      HTMLDetailsElement: !1,
      HTMLDialogElement: !1,
      HTMLDirectoryElement: !1,
      HTMLDivElement: !1,
      HTMLDListElement: !1,
      HTMLDocument: !1,
      HTMLElement: !1,
      HTMLEmbedElement: !1,
      HTMLFieldSetElement: !1,
      HTMLFontElement: !1,
      HTMLFormControlsCollection: !1,
      HTMLFormElement: !1,
      HTMLFrameElement: !1,
      HTMLFrameSetElement: !1,
      HTMLHeadElement: !1,
      HTMLHeadingElement: !1,
      HTMLHRElement: !1,
      HTMLHtmlElement: !1,
      HTMLIFrameElement: !1,
      HTMLImageElement: !1,
      HTMLInputElement: !1,
      HTMLLabelElement: !1,
      HTMLLegendElement: !1,
      HTMLLIElement: !1,
      HTMLLinkElement: !1,
      HTMLMapElement: !1,
      HTMLMarqueeElement: !1,
      HTMLMediaElement: !1,
      HTMLMenuElement: !1,
      HTMLMetaElement: !1,
      HTMLMeterElement: !1,
      HTMLModElement: !1,
      HTMLObjectElement: !1,
      HTMLOListElement: !1,
      HTMLOptGroupElement: !1,
      HTMLOptionElement: !1,
      HTMLOptionsCollection: !1,
      HTMLOutputElement: !1,
      HTMLParagraphElement: !1,
      HTMLParamElement: !1,
      HTMLPictureElement: !1,
      HTMLPreElement: !1,
      HTMLProgressElement: !1,
      HTMLQuoteElement: !1,
      HTMLScriptElement: !1,
      HTMLSelectElement: !1,
      HTMLShadowElement: !1,
      HTMLSlotElement: !1,
      HTMLSourceElement: !1,
      HTMLSpanElement: !1,
      HTMLStyleElement: !1,
      HTMLTableCaptionElement: !1,
      HTMLTableCellElement: !1,
      HTMLTableColElement: !1,
      HTMLTableElement: !1,
      HTMLTableRowElement: !1,
      HTMLTableSectionElement: !1,
      HTMLTemplateElement: !1,
      HTMLTextAreaElement: !1,
      HTMLTimeElement: !1,
      HTMLTitleElement: !1,
      HTMLTrackElement: !1,
      HTMLUListElement: !1,
      HTMLUnknownElement: !1,
      HTMLVideoElement: !1,
      IDBCursor: !1,
      IDBCursorWithValue: !1,
      IDBDatabase: !1,
      IDBFactory: !1,
      IDBIndex: !1,
      IDBKeyRange: !1,
      IDBObjectStore: !1,
      IDBOpenDBRequest: !1,
      IDBRequest: !1,
      IDBTransaction: !1,
      IDBVersionChangeEvent: !1,
      IdleDeadline: !1,
      IIRFilterNode: !1,
      Image: !1,
      ImageBitmap: !1,
      ImageBitmapRenderingContext: !1,
      ImageCapture: !1,
      ImageData: !1,
      indexedDB: !1,
      innerHeight: !1,
      innerWidth: !1,
      InputEvent: !1,
      IntersectionObserver: !1,
      IntersectionObserverEntry: !1,
      Intl: !1,
      isSecureContext: !1,
      KeyboardEvent: !1,
      KeyframeEffect: !1,
      KeyframeEffectReadOnly: !1,
      length: !1,
      localStorage: !1,
      location: !0,
      Location: !1,
      locationbar: !1,
      matchMedia: !1,
      MediaDeviceInfo: !1,
      MediaDevices: !1,
      MediaElementAudioSourceNode: !1,
      MediaEncryptedEvent: !1,
      MediaError: !1,
      MediaKeyMessageEvent: !1,
      MediaKeySession: !1,
      MediaKeyStatusMap: !1,
      MediaKeySystemAccess: !1,
      MediaList: !1,
      MediaQueryList: !1,
      MediaQueryListEvent: !1,
      MediaRecorder: !1,
      MediaSettingsRange: !1,
      MediaSource: !1,
      MediaStream: !1,
      MediaStreamAudioDestinationNode: !1,
      MediaStreamAudioSourceNode: !1,
      MediaStreamEvent: !1,
      MediaStreamTrack: !1,
      MediaStreamTrackEvent: !1,
      menubar: !1,
      MessageChannel: !1,
      MessageEvent: !1,
      MessagePort: !1,
      MIDIAccess: !1,
      MIDIConnectionEvent: !1,
      MIDIInput: !1,
      MIDIInputMap: !1,
      MIDIMessageEvent: !1,
      MIDIOutput: !1,
      MIDIOutputMap: !1,
      MIDIPort: !1,
      MimeType: !1,
      MimeTypeArray: !1,
      MouseEvent: !1,
      moveBy: !1,
      moveTo: !1,
      MutationEvent: !1,
      MutationObserver: !1,
      MutationRecord: !1,
      name: !1,
      NamedNodeMap: !1,
      NavigationPreloadManager: !1,
      navigator: !1,
      Navigator: !1,
      NetworkInformation: !1,
      Node: !1,
      NodeFilter: !1,
      NodeIterator: !1,
      NodeList: !1,
      Notification: !1,
      OfflineAudioCompletionEvent: !1,
      OfflineAudioContext: !1,
      offscreenBuffering: !1,
      OffscreenCanvas: !0,
      onabort: !0,
      onafterprint: !0,
      onanimationend: !0,
      onanimationiteration: !0,
      onanimationstart: !0,
      onappinstalled: !0,
      onauxclick: !0,
      onbeforeinstallprompt: !0,
      onbeforeprint: !0,
      onbeforeunload: !0,
      onblur: !0,
      oncancel: !0,
      oncanplay: !0,
      oncanplaythrough: !0,
      onchange: !0,
      onclick: !0,
      onclose: !0,
      oncontextmenu: !0,
      oncuechange: !0,
      ondblclick: !0,
      ondevicemotion: !0,
      ondeviceorientation: !0,
      ondeviceorientationabsolute: !0,
      ondrag: !0,
      ondragend: !0,
      ondragenter: !0,
      ondragleave: !0,
      ondragover: !0,
      ondragstart: !0,
      ondrop: !0,
      ondurationchange: !0,
      onemptied: !0,
      onended: !0,
      onerror: !0,
      onfocus: !0,
      ongotpointercapture: !0,
      onhashchange: !0,
      oninput: !0,
      oninvalid: !0,
      onkeydown: !0,
      onkeypress: !0,
      onkeyup: !0,
      onlanguagechange: !0,
      onload: !0,
      onloadeddata: !0,
      onloadedmetadata: !0,
      onloadstart: !0,
      onlostpointercapture: !0,
      onmessage: !0,
      onmessageerror: !0,
      onmousedown: !0,
      onmouseenter: !0,
      onmouseleave: !0,
      onmousemove: !0,
      onmouseout: !0,
      onmouseover: !0,
      onmouseup: !0,
      onmousewheel: !0,
      onoffline: !0,
      ononline: !0,
      onpagehide: !0,
      onpageshow: !0,
      onpause: !0,
      onplay: !0,
      onplaying: !0,
      onpointercancel: !0,
      onpointerdown: !0,
      onpointerenter: !0,
      onpointerleave: !0,
      onpointermove: !0,
      onpointerout: !0,
      onpointerover: !0,
      onpointerup: !0,
      onpopstate: !0,
      onprogress: !0,
      onratechange: !0,
      onrejectionhandled: !0,
      onreset: !0,
      onresize: !0,
      onscroll: !0,
      onsearch: !0,
      onseeked: !0,
      onseeking: !0,
      onselect: !0,
      onstalled: !0,
      onstorage: !0,
      onsubmit: !0,
      onsuspend: !0,
      ontimeupdate: !0,
      ontoggle: !0,
      ontransitionend: !0,
      onunhandledrejection: !0,
      onunload: !0,
      onvolumechange: !0,
      onwaiting: !0,
      onwheel: !0,
      open: !1,
      openDatabase: !1,
      opener: !1,
      Option: !1,
      origin: !1,
      OscillatorNode: !1,
      outerHeight: !1,
      outerWidth: !1,
      PageTransitionEvent: !1,
      pageXOffset: !1,
      pageYOffset: !1,
      PannerNode: !1,
      parent: !1,
      Path2D: !1,
      PaymentAddress: !1,
      PaymentRequest: !1,
      PaymentRequestUpdateEvent: !1,
      PaymentResponse: !1,
      performance: !1,
      Performance: !1,
      PerformanceEntry: !1,
      PerformanceLongTaskTiming: !1,
      PerformanceMark: !1,
      PerformanceMeasure: !1,
      PerformanceNavigation: !1,
      PerformanceNavigationTiming: !1,
      PerformanceObserver: !1,
      PerformanceObserverEntryList: !1,
      PerformancePaintTiming: !1,
      PerformanceResourceTiming: !1,
      PerformanceTiming: !1,
      PeriodicWave: !1,
      Permissions: !1,
      PermissionStatus: !1,
      personalbar: !1,
      PhotoCapabilities: !1,
      Plugin: !1,
      PluginArray: !1,
      PointerEvent: !1,
      PopStateEvent: !1,
      postMessage: !1,
      Presentation: !1,
      PresentationAvailability: !1,
      PresentationConnection: !1,
      PresentationConnectionAvailableEvent: !1,
      PresentationConnectionCloseEvent: !1,
      PresentationConnectionList: !1,
      PresentationReceiver: !1,
      PresentationRequest: !1,
      print: !1,
      ProcessingInstruction: !1,
      ProgressEvent: !1,
      PromiseRejectionEvent: !1,
      prompt: !1,
      PushManager: !1,
      PushSubscription: !1,
      PushSubscriptionOptions: !1,
      queueMicrotask: !1,
      RadioNodeList: !1,
      Range: !1,
      ReadableStream: !1,
      registerProcessor: !1,
      RemotePlayback: !1,
      removeEventListener: !1,
      Request: !1,
      requestAnimationFrame: !1,
      requestIdleCallback: !1,
      resizeBy: !1,
      ResizeObserver: !1,
      ResizeObserverEntry: !1,
      resizeTo: !1,
      Response: !1,
      RTCCertificate: !1,
      RTCDataChannel: !1,
      RTCDataChannelEvent: !1,
      RTCDtlsTransport: !1,
      RTCIceCandidate: !1,
      RTCIceGatherer: !1,
      RTCIceTransport: !1,
      RTCPeerConnection: !1,
      RTCPeerConnectionIceEvent: !1,
      RTCRtpContributingSource: !1,
      RTCRtpReceiver: !1,
      RTCRtpSender: !1,
      RTCSctpTransport: !1,
      RTCSessionDescription: !1,
      RTCStatsReport: !1,
      RTCTrackEvent: !1,
      screen: !1,
      Screen: !1,
      screenLeft: !1,
      ScreenOrientation: !1,
      screenTop: !1,
      screenX: !1,
      screenY: !1,
      ScriptProcessorNode: !1,
      scroll: !1,
      scrollbars: !1,
      scrollBy: !1,
      scrollTo: !1,
      scrollX: !1,
      scrollY: !1,
      SecurityPolicyViolationEvent: !1,
      Selection: !1,
      self: !1,
      ServiceWorker: !1,
      ServiceWorkerContainer: !1,
      ServiceWorkerRegistration: !1,
      sessionStorage: !1,
      setInterval: !1,
      setTimeout: !1,
      ShadowRoot: !1,
      SharedWorker: !1,
      SourceBuffer: !1,
      SourceBufferList: !1,
      speechSynthesis: !1,
      SpeechSynthesisEvent: !1,
      SpeechSynthesisUtterance: !1,
      StaticRange: !1,
      status: !1,
      statusbar: !1,
      StereoPannerNode: !1,
      stop: !1,
      Storage: !1,
      StorageEvent: !1,
      StorageManager: !1,
      styleMedia: !1,
      StyleSheet: !1,
      StyleSheetList: !1,
      SubtleCrypto: !1,
      SVGAElement: !1,
      SVGAngle: !1,
      SVGAnimatedAngle: !1,
      SVGAnimatedBoolean: !1,
      SVGAnimatedEnumeration: !1,
      SVGAnimatedInteger: !1,
      SVGAnimatedLength: !1,
      SVGAnimatedLengthList: !1,
      SVGAnimatedNumber: !1,
      SVGAnimatedNumberList: !1,
      SVGAnimatedPreserveAspectRatio: !1,
      SVGAnimatedRect: !1,
      SVGAnimatedString: !1,
      SVGAnimatedTransformList: !1,
      SVGAnimateElement: !1,
      SVGAnimateMotionElement: !1,
      SVGAnimateTransformElement: !1,
      SVGAnimationElement: !1,
      SVGCircleElement: !1,
      SVGClipPathElement: !1,
      SVGComponentTransferFunctionElement: !1,
      SVGDefsElement: !1,
      SVGDescElement: !1,
      SVGDiscardElement: !1,
      SVGElement: !1,
      SVGEllipseElement: !1,
      SVGFEBlendElement: !1,
      SVGFEColorMatrixElement: !1,
      SVGFEComponentTransferElement: !1,
      SVGFECompositeElement: !1,
      SVGFEConvolveMatrixElement: !1,
      SVGFEDiffuseLightingElement: !1,
      SVGFEDisplacementMapElement: !1,
      SVGFEDistantLightElement: !1,
      SVGFEDropShadowElement: !1,
      SVGFEFloodElement: !1,
      SVGFEFuncAElement: !1,
      SVGFEFuncBElement: !1,
      SVGFEFuncGElement: !1,
      SVGFEFuncRElement: !1,
      SVGFEGaussianBlurElement: !1,
      SVGFEImageElement: !1,
      SVGFEMergeElement: !1,
      SVGFEMergeNodeElement: !1,
      SVGFEMorphologyElement: !1,
      SVGFEOffsetElement: !1,
      SVGFEPointLightElement: !1,
      SVGFESpecularLightingElement: !1,
      SVGFESpotLightElement: !1,
      SVGFETileElement: !1,
      SVGFETurbulenceElement: !1,
      SVGFilterElement: !1,
      SVGForeignObjectElement: !1,
      SVGGElement: !1,
      SVGGeometryElement: !1,
      SVGGradientElement: !1,
      SVGGraphicsElement: !1,
      SVGImageElement: !1,
      SVGLength: !1,
      SVGLengthList: !1,
      SVGLinearGradientElement: !1,
      SVGLineElement: !1,
      SVGMarkerElement: !1,
      SVGMaskElement: !1,
      SVGMatrix: !1,
      SVGMetadataElement: !1,
      SVGMPathElement: !1,
      SVGNumber: !1,
      SVGNumberList: !1,
      SVGPathElement: !1,
      SVGPatternElement: !1,
      SVGPoint: !1,
      SVGPointList: !1,
      SVGPolygonElement: !1,
      SVGPolylineElement: !1,
      SVGPreserveAspectRatio: !1,
      SVGRadialGradientElement: !1,
      SVGRect: !1,
      SVGRectElement: !1,
      SVGScriptElement: !1,
      SVGSetElement: !1,
      SVGStopElement: !1,
      SVGStringList: !1,
      SVGStyleElement: !1,
      SVGSVGElement: !1,
      SVGSwitchElement: !1,
      SVGSymbolElement: !1,
      SVGTextContentElement: !1,
      SVGTextElement: !1,
      SVGTextPathElement: !1,
      SVGTextPositioningElement: !1,
      SVGTitleElement: !1,
      SVGTransform: !1,
      SVGTransformList: !1,
      SVGTSpanElement: !1,
      SVGUnitTypes: !1,
      SVGUseElement: !1,
      SVGViewElement: !1,
      TaskAttributionTiming: !1,
      Text: !1,
      TextDecoder: !1,
      TextEncoder: !1,
      TextEvent: !1,
      TextMetrics: !1,
      TextTrack: !1,
      TextTrackCue: !1,
      TextTrackCueList: !1,
      TextTrackList: !1,
      TimeRanges: !1,
      toolbar: !1,
      top: !1,
      Touch: !1,
      TouchEvent: !1,
      TouchList: !1,
      TrackEvent: !1,
      TransitionEvent: !1,
      TreeWalker: !1,
      UIEvent: !1,
      URL: !1,
      URLSearchParams: !1,
      ValidityState: !1,
      visualViewport: !1,
      VisualViewport: !1,
      VTTCue: !1,
      WaveShaperNode: !1,
      WebAssembly: !1,
      WebGL2RenderingContext: !1,
      WebGLActiveInfo: !1,
      WebGLBuffer: !1,
      WebGLContextEvent: !1,
      WebGLFramebuffer: !1,
      WebGLProgram: !1,
      WebGLQuery: !1,
      WebGLRenderbuffer: !1,
      WebGLRenderingContext: !1,
      WebGLSampler: !1,
      WebGLShader: !1,
      WebGLShaderPrecisionFormat: !1,
      WebGLSync: !1,
      WebGLTexture: !1,
      WebGLTransformFeedback: !1,
      WebGLUniformLocation: !1,
      WebGLVertexArrayObject: !1,
      WebSocket: !1,
      WheelEvent: !1,
      window: !1,
      Window: !1,
      Worker: !1,
      WritableStream: !1,
      XMLDocument: !1,
      XMLHttpRequest: !1,
      XMLHttpRequestEventTarget: !1,
      XMLHttpRequestUpload: !1,
      XMLSerializer: !1,
      XPathEvaluator: !1,
      XPathExpression: !1,
      XPathResult: !1,
      XSLTProcessor: !1
    },
    worker: {
      addEventListener: !1,
      applicationCache: !1,
      atob: !1,
      Blob: !1,
      BroadcastChannel: !1,
      btoa: !1,
      Cache: !1,
      caches: !1,
      clearInterval: !1,
      clearTimeout: !1,
      close: !0,
      console: !1,
      fetch: !1,
      FileReaderSync: !1,
      FormData: !1,
      Headers: !1,
      IDBCursor: !1,
      IDBCursorWithValue: !1,
      IDBDatabase: !1,
      IDBFactory: !1,
      IDBIndex: !1,
      IDBKeyRange: !1,
      IDBObjectStore: !1,
      IDBOpenDBRequest: !1,
      IDBRequest: !1,
      IDBTransaction: !1,
      IDBVersionChangeEvent: !1,
      ImageData: !1,
      importScripts: !0,
      indexedDB: !1,
      location: !1,
      MessageChannel: !1,
      MessagePort: !1,
      name: !1,
      navigator: !1,
      Notification: !1,
      onclose: !0,
      onconnect: !0,
      onerror: !0,
      onlanguagechange: !0,
      onmessage: !0,
      onoffline: !0,
      ononline: !0,
      onrejectionhandled: !0,
      onunhandledrejection: !0,
      performance: !1,
      Performance: !1,
      PerformanceEntry: !1,
      PerformanceMark: !1,
      PerformanceMeasure: !1,
      PerformanceNavigation: !1,
      PerformanceResourceTiming: !1,
      PerformanceTiming: !1,
      postMessage: !0,
      Promise: !1,
      queueMicrotask: !1,
      removeEventListener: !1,
      Request: !1,
      Response: !1,
      self: !0,
      ServiceWorkerRegistration: !1,
      setInterval: !1,
      setTimeout: !1,
      TextDecoder: !1,
      TextEncoder: !1,
      URL: !1,
      URLSearchParams: !1,
      WebSocket: !1,
      Worker: !1,
      WorkerGlobalScope: !1,
      XMLHttpRequest: !1
    },
    node: {
      __dirname: !1,
      __filename: !1,
      Buffer: !1,
      clearImmediate: !1,
      clearInterval: !1,
      clearTimeout: !1,
      console: !1,
      exports: !0,
      global: !1,
      Intl: !1,
      module: !1,
      process: !1,
      queueMicrotask: !1,
      require: !1,
      setImmediate: !1,
      setInterval: !1,
      setTimeout: !1,
      TextDecoder: !1,
      TextEncoder: !1,
      URL: !1,
      URLSearchParams: !1
    },
    commonjs: {
      exports: !0,
      global: !1,
      module: !1,
      require: !1
    },
    amd: {
      define: !1,
      require: !1
    },
    mocha: {
      after: !1,
      afterEach: !1,
      before: !1,
      beforeEach: !1,
      context: !1,
      describe: !1,
      it: !1,
      mocha: !1,
      run: !1,
      setup: !1,
      specify: !1,
      suite: !1,
      suiteSetup: !1,
      suiteTeardown: !1,
      teardown: !1,
      test: !1,
      xcontext: !1,
      xdescribe: !1,
      xit: !1,
      xspecify: !1
    },
    jasmine: {
      afterAll: !1,
      afterEach: !1,
      beforeAll: !1,
      beforeEach: !1,
      describe: !1,
      expect: !1,
      fail: !1,
      fdescribe: !1,
      fit: !1,
      it: !1,
      jasmine: !1,
      pending: !1,
      runs: !1,
      spyOn: !1,
      spyOnProperty: !1,
      waits: !1,
      waitsFor: !1,
      xdescribe: !1,
      xit: !1
    },
    jest: {
      afterAll: !1,
      afterEach: !1,
      beforeAll: !1,
      beforeEach: !1,
      describe: !1,
      expect: !1,
      fdescribe: !1,
      fit: !1,
      it: !1,
      jest: !1,
      pit: !1,
      require: !1,
      test: !1,
      xdescribe: !1,
      xit: !1,
      xtest: !1
    },
    qunit: {
      asyncTest: !1,
      deepEqual: !1,
      equal: !1,
      expect: !1,
      module: !1,
      notDeepEqual: !1,
      notEqual: !1,
      notOk: !1,
      notPropEqual: !1,
      notStrictEqual: !1,
      ok: !1,
      propEqual: !1,
      QUnit: !1,
      raises: !1,
      start: !1,
      stop: !1,
      strictEqual: !1,
      test: !1,
      throws: !1
    },
    phantomjs: {
      console: !0,
      exports: !0,
      phantom: !0,
      require: !0,
      WebPage: !0
    },
    couch: {
      emit: !1,
      exports: !1,
      getRow: !1,
      log: !1,
      module: !1,
      provides: !1,
      require: !1,
      respond: !1,
      send: !1,
      start: !1,
      sum: !1
    },
    rhino: {
      defineClass: !1,
      deserialize: !1,
      gc: !1,
      help: !1,
      importClass: !1,
      importPackage: !1,
      java: !1,
      load: !1,
      loadClass: !1,
      Packages: !1,
      print: !1,
      quit: !1,
      readFile: !1,
      readUrl: !1,
      runCommand: !1,
      seal: !1,
      serialize: !1,
      spawn: !1,
      sync: !1,
      toint32: !1,
      version: !1
    },
    nashorn: {
      __DIR__: !1,
      __FILE__: !1,
      __LINE__: !1,
      com: !1,
      edu: !1,
      exit: !1,
      java: !1,
      Java: !1,
      javafx: !1,
      JavaImporter: !1,
      javax: !1,
      JSAdapter: !1,
      load: !1,
      loadWithNewGlobal: !1,
      org: !1,
      Packages: !1,
      print: !1,
      quit: !1
    },
    wsh: {
      ActiveXObject: !0,
      Enumerator: !0,
      GetObject: !0,
      ScriptEngine: !0,
      ScriptEngineBuildVersion: !0,
      ScriptEngineMajorVersion: !0,
      ScriptEngineMinorVersion: !0,
      VBArray: !0,
      WScript: !0,
      WSH: !0,
      XDomainRequest: !0
    },
    jquery: {
      $: !1,
      jQuery: !1
    },
    yui: {
      YAHOO: !1,
      YAHOO_config: !1,
      YUI: !1,
      YUI_config: !1
    },
    shelljs: {
      cat: !1,
      cd: !1,
      chmod: !1,
      config: !1,
      cp: !1,
      dirs: !1,
      echo: !1,
      env: !1,
      error: !1,
      exec: !1,
      exit: !1,
      find: !1,
      grep: !1,
      ln: !1,
      ls: !1,
      mkdir: !1,
      mv: !1,
      popd: !1,
      pushd: !1,
      pwd: !1,
      rm: !1,
      sed: !1,
      set: !1,
      target: !1,
      tempdir: !1,
      test: !1,
      touch: !1,
      which: !1
    },
    prototypejs: {
      $: !1,
      $$: !1,
      $A: !1,
      $break: !1,
      $continue: !1,
      $F: !1,
      $H: !1,
      $R: !1,
      $w: !1,
      Abstract: !1,
      Ajax: !1,
      Autocompleter: !1,
      Builder: !1,
      Class: !1,
      Control: !1,
      Draggable: !1,
      Draggables: !1,
      Droppables: !1,
      Effect: !1,
      Element: !1,
      Enumerable: !1,
      Event: !1,
      Field: !1,
      Form: !1,
      Hash: !1,
      Insertion: !1,
      ObjectRange: !1,
      PeriodicalExecuter: !1,
      Position: !1,
      Prototype: !1,
      Scriptaculous: !1,
      Selector: !1,
      Sortable: !1,
      SortableObserver: !1,
      Sound: !1,
      Template: !1,
      Toggle: !1,
      Try: !1
    },
    meteor: {
      _: !1,
      $: !1,
      Accounts: !1,
      AccountsClient: !1,
      AccountsCommon: !1,
      AccountsServer: !1,
      App: !1,
      Assets: !1,
      Blaze: !1,
      check: !1,
      Cordova: !1,
      DDP: !1,
      DDPRateLimiter: !1,
      DDPServer: !1,
      Deps: !1,
      EJSON: !1,
      Email: !1,
      HTTP: !1,
      Log: !1,
      Match: !1,
      Meteor: !1,
      Mongo: !1,
      MongoInternals: !1,
      Npm: !1,
      Package: !1,
      Plugin: !1,
      process: !1,
      Random: !1,
      ReactiveDict: !1,
      ReactiveVar: !1,
      Router: !1,
      ServiceConfiguration: !1,
      Session: !1,
      share: !1,
      Spacebars: !1,
      Template: !1,
      Tinytest: !1,
      Tracker: !1,
      UI: !1,
      Utils: !1,
      WebApp: !1,
      WebAppInternals: !1
    },
    mongo: {
      _isWindows: !1,
      _rand: !1,
      BulkWriteResult: !1,
      cat: !1,
      cd: !1,
      connect: !1,
      db: !1,
      getHostName: !1,
      getMemInfo: !1,
      hostname: !1,
      ISODate: !1,
      listFiles: !1,
      load: !1,
      ls: !1,
      md5sumFile: !1,
      mkdir: !1,
      Mongo: !1,
      NumberInt: !1,
      NumberLong: !1,
      ObjectId: !1,
      PlanCache: !1,
      print: !1,
      printjson: !1,
      pwd: !1,
      quit: !1,
      removeFile: !1,
      rs: !1,
      sh: !1,
      UUID: !1,
      version: !1,
      WriteResult: !1
    },
    applescript: {
      $: !1,
      Application: !1,
      Automation: !1,
      console: !1,
      delay: !1,
      Library: !1,
      ObjC: !1,
      ObjectSpecifier: !1,
      Path: !1,
      Progress: !1,
      Ref: !1
    },
    serviceworker: {
      addEventListener: !1,
      applicationCache: !1,
      atob: !1,
      Blob: !1,
      BroadcastChannel: !1,
      btoa: !1,
      Cache: !1,
      caches: !1,
      CacheStorage: !1,
      clearInterval: !1,
      clearTimeout: !1,
      Client: !1,
      clients: !1,
      Clients: !1,
      close: !0,
      console: !1,
      ExtendableEvent: !1,
      ExtendableMessageEvent: !1,
      fetch: !1,
      FetchEvent: !1,
      FileReaderSync: !1,
      FormData: !1,
      Headers: !1,
      IDBCursor: !1,
      IDBCursorWithValue: !1,
      IDBDatabase: !1,
      IDBFactory: !1,
      IDBIndex: !1,
      IDBKeyRange: !1,
      IDBObjectStore: !1,
      IDBOpenDBRequest: !1,
      IDBRequest: !1,
      IDBTransaction: !1,
      IDBVersionChangeEvent: !1,
      ImageData: !1,
      importScripts: !1,
      indexedDB: !1,
      location: !1,
      MessageChannel: !1,
      MessagePort: !1,
      name: !1,
      navigator: !1,
      Notification: !1,
      onclose: !0,
      onconnect: !0,
      onerror: !0,
      onfetch: !0,
      oninstall: !0,
      onlanguagechange: !0,
      onmessage: !0,
      onmessageerror: !0,
      onnotificationclick: !0,
      onnotificationclose: !0,
      onoffline: !0,
      ononline: !0,
      onpush: !0,
      onpushsubscriptionchange: !0,
      onrejectionhandled: !0,
      onsync: !0,
      onunhandledrejection: !0,
      performance: !1,
      Performance: !1,
      PerformanceEntry: !1,
      PerformanceMark: !1,
      PerformanceMeasure: !1,
      PerformanceNavigation: !1,
      PerformanceResourceTiming: !1,
      PerformanceTiming: !1,
      postMessage: !0,
      Promise: !1,
      queueMicrotask: !1,
      registration: !1,
      removeEventListener: !1,
      Request: !1,
      Response: !1,
      self: !1,
      ServiceWorker: !1,
      ServiceWorkerContainer: !1,
      ServiceWorkerGlobalScope: !1,
      ServiceWorkerMessageEvent: !1,
      ServiceWorkerRegistration: !1,
      setInterval: !1,
      setTimeout: !1,
      skipWaiting: !1,
      TextDecoder: !1,
      TextEncoder: !1,
      URL: !1,
      URLSearchParams: !1,
      WebSocket: !1,
      WindowClient: !1,
      Worker: !1,
      WorkerGlobalScope: !1,
      XMLHttpRequest: !1
    },
    atomtest: {
      advanceClock: !1,
      fakeClearInterval: !1,
      fakeClearTimeout: !1,
      fakeSetInterval: !1,
      fakeSetTimeout: !1,
      resetTimeouts: !1,
      waitsForPromise: !1
    },
    embertest: {
      andThen: !1,
      click: !1,
      currentPath: !1,
      currentRouteName: !1,
      currentURL: !1,
      fillIn: !1,
      find: !1,
      findAll: !1,
      findWithAssert: !1,
      keyEvent: !1,
      pauseTest: !1,
      resumeTest: !1,
      triggerEvent: !1,
      visit: !1,
      wait: !1
    },
    protractor: {
      $: !1,
      $$: !1,
      browser: !1,
      by: !1,
      By: !1,
      DartObject: !1,
      element: !1,
      protractor: !1
    },
    "shared-node-browser": {
      clearInterval: !1,
      clearTimeout: !1,
      console: !1,
      setInterval: !1,
      setTimeout: !1,
      URL: !1,
      URLSearchParams: !1
    },
    webextensions: {
      browser: !1,
      chrome: !1,
      opr: !1
    },
    greasemonkey: {
      cloneInto: !1,
      createObjectIn: !1,
      exportFunction: !1,
      GM: !1,
      GM_addStyle: !1,
      GM_deleteValue: !1,
      GM_getResourceText: !1,
      GM_getResourceURL: !1,
      GM_getValue: !1,
      GM_info: !1,
      GM_listValues: !1,
      GM_log: !1,
      GM_openInTab: !1,
      GM_registerMenuCommand: !1,
      GM_setClipboard: !1,
      GM_setValue: !1,
      GM_xmlhttpRequest: !1,
      unsafeWindow: !1
    },
    devtools: {
      $: !1,
      $_: !1,
      $$: !1,
      $0: !1,
      $1: !1,
      $2: !1,
      $3: !1,
      $4: !1,
      $x: !1,
      chrome: !1,
      clear: !1,
      copy: !1,
      debug: !1,
      dir: !1,
      dirxml: !1,
      getEventListeners: !1,
      inspect: !1,
      keys: !1,
      monitor: !1,
      monitorEvents: !1,
      profile: !1,
      profileEnd: !1,
      queryObjects: !1,
      table: !1,
      undebug: !1,
      unmonitor: !1,
      unmonitorEvents: !1,
      values: !1
    }
  };
});

// ../node_modules/globals/index.js
var dd = g((W5s, GK) => {
  "use strict";
  GK.exports = zK();
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/cache.js
var uh = g((oa) => {
  "use strict";
  Object.defineProperty(oa, "__esModule", {
    value: !0
  });
  oa.clear = y4e;
  oa.clearPath = QK;
  oa.clearScope = ZK;
  oa.getCachedPaths = g4e;
  oa.getOrCreateCachedPaths = T4e;
  oa.scope = oa.path = void 0;
  var hx = oa.path = /* @__PURE__ */ new WeakMap(), m4e = oa.scope = /* @__PURE__ */ new WeakMap();
  function y4e() {
    QK(), ZK();
  }
  n(y4e, "clear");
  function QK() {
    oa.path = hx = /* @__PURE__ */ new WeakMap();
  }
  n(QK, "clearPath");
  function ZK() {
    oa.scope = m4e = /* @__PURE__ */ new WeakMap();
  }
  n(ZK, "clearScope");
  var CN = Object.freeze({});
  function g4e(t, e) {
    var s, r;
    return t = null, (s = hx.get((r = t) != null ? r : CN)) == null ? void 0 : s.get(e);
  }
  n(g4e, "getCachedPaths");
  function T4e(t, e) {
    var s, r;
    t = null;
    let i = hx.get((s = t) != null ? s : CN);
    i || hx.set((r = t) != null ? r : CN, i = /* @__PURE__ */ new WeakMap());
    let a = i.get(e);
    return a || i.set(e, a = /* @__PURE__ */ new Map()), a;
  }
  n(T4e, "getOrCreateCachedPaths");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/scope/index.js
var kN = g((dx) => {
  "use strict";
  Object.defineProperty(dx, "__esModule", {
    value: !0
  });
  dx.default = void 0;
  var b4e = YK(), x4e = Yl(), S4e = XK(), P4e = dd(), lV = fe(), uV = lV, eV = uh(), E4e = lg(), {
    NOT_LOCAL_BINDING: tV,
    assignmentExpression: A4e,
    callExpression: sV,
    cloneNode: rV,
    getBindingIdentifiers: cV,
    identifier: ph,
    isArrayExpression: pV,
    isBinary: v4e,
    isCallExpression: iV,
    isClass: C4e,
    isClassBody: w4e,
    isClassDeclaration: I4e,
    isExportAllDeclaration: hV,
    isExportDefaultDeclaration: N4e,
    isExportNamedDeclaration: wN,
    isFunctionDeclaration: k4e,
    isIdentifier: ch,
    isImportDeclaration: IN,
    isLiteral: D4e,
    isMemberExpression: O4e,
    isMethod: _4e,
    isModuleSpecifier: L4e,
    isNullLiteral: B4e,
    isObjectExpression: M4e,
    isProperty: F4e,
    isPureish: j4e,
    isRegExpLiteral: R4e,
    isSuper: q4e,
    isTaggedTemplateExpression: U4e,
    isTemplateLiteral: fV,
    isThisExpression: nV,
    isUnaryExpression: K4e,
    isVariableDeclaration: V4e,
    expressionStatement: W4e,
    matchesPattern: aV,
    memberExpression: NN,
    numericLiteral: $4e,
    toIdentifier: H4e,
    variableDeclaration: J4e,
    variableDeclarator: Y4e,
    isRecordExpression: X4e,
    isTupleExpression: z4e,
    isObjectProperty: G4e,
    isTopicReference: oV,
    isMetaProperty: Q4e,
    isPrivateName: Z4e,
    isExportDeclaration: eje,
    buildUndefinedNode: tje,
    sequenceExpression: sje
  } = lV;
  function vr(t, e) {
    switch (t?.type) {
      default:
        if (IN(t) || eje(t)) {
          var s;
          if ((hV(t) || wN(t) || IN(t)) && t.source)
            vr(t.source, e);
          else if ((wN(t) || IN(t)) && (s = t.specifiers) != null && s.length)
            for (let r of t.specifiers) vr(r, e);
          else (N4e(t) || wN(t)) && t.declaration && vr(t.declaration, e);
        } else L4e(t) ? vr(t.local, e) : D4e(t) && !B4e(t) && !R4e(t) && !fV(t) && e.push(t.value);
        break;
      case "MemberExpression":
      case "OptionalMemberExpression":
      case "JSXMemberExpression":
        vr(t.object, e), vr(t.property, e);
        break;
      case "Identifier":
      case "JSXIdentifier":
        e.push(t.name);
        break;
      case "CallExpression":
      case "OptionalCallExpression":
      case "NewExpression":
        vr(t.callee, e);
        break;
      case "ObjectExpression":
      case "ObjectPattern":
        for (let r of t.properties)
          vr(r, e);
        break;
      case "SpreadElement":
      case "RestElement":
        vr(t.argument, e);
        break;
      case "ObjectProperty":
      case "ObjectMethod":
      case "ClassProperty":
      case "ClassMethod":
      case "ClassPrivateProperty":
      case "ClassPrivateMethod":
        vr(t.key, e);
        break;
      case "ThisExpression":
        e.push("this");
        break;
      case "Super":
        e.push("super");
        break;
      case "Import":
        e.push("import");
        break;
      case "DoExpression":
        e.push("do");
        break;
      case "YieldExpression":
        e.push("yield"), vr(t.argument, e);
        break;
      case "AwaitExpression":
        e.push("await"), vr(t.argument, e);
        break;
      case "AssignmentExpression":
        vr(t.left, e);
        break;
      case "VariableDeclarator":
        vr(t.id, e);
        break;
      case "FunctionExpression":
      case "FunctionDeclaration":
      case "ClassExpression":
      case "ClassDeclaration":
        vr(t.id, e);
        break;
      case "PrivateName":
        vr(t.id, e);
        break;
      case "ParenthesizedExpression":
        vr(t.expression, e);
        break;
      case "UnaryExpression":
      case "UpdateExpression":
        vr(t.argument, e);
        break;
      case "MetaProperty":
        vr(t.meta, e), vr(t.property, e);
        break;
      case "JSXElement":
        vr(t.openingElement, e);
        break;
      case "JSXOpeningElement":
        vr(t.name, e);
        break;
      case "JSXFragment":
        vr(t.openingFragment, e);
        break;
      case "JSXOpeningFragment":
        e.push("Fragment");
        break;
      case "JSXNamespacedName":
        vr(t.namespace, e), vr(t.name, e);
        break;
    }
  }
  n(vr, "gatherNodeParts");
  var fx = {
    ForStatement(t) {
      let e = t.get("init");
      if (e.isVar()) {
        let {
          scope: s
        } = t;
        (s.getFunctionParent() || s.getProgramParent()).registerBinding("var", e);
      }
    },
    Declaration(t) {
      if (t.isBlockScoped() || t.isImportDeclaration() || t.isExportDeclaration()) return;
      (t.scope.getFunctionParent() || t.scope.getProgramParent()).registerDeclaration(t);
    },
    ImportDeclaration(t) {
      t.scope.getBlockParent().registerDeclaration(t);
    },
    TSImportEqualsDeclaration(t) {
      t.scope.getBlockParent().registerDeclaration(t);
    },
    ReferencedIdentifier(t, e) {
      uV.isTSQualifiedName(t.parent) && t.parent.right === t.node || t.parentPath.isTSImportEqualsDeclaration() || e.references.push(t);
    },
    ForXStatement(t, e) {
      let s = t.get("left");
      if (s.isPattern() || s.isIdentifier())
        e.constantViolations.push(t);
      else if (s.isVar()) {
        let {
          scope: r
        } = t;
        (r.getFunctionParent() || r.getProgramParent()).registerBinding("var", s);
      }
    },
    ExportDeclaration: {
      exit(t) {
        let {
          node: e,
          scope: s
        } = t;
        if (hV(e)) return;
        let r = e.declaration;
        if (I4e(r) || k4e(r)) {
          let i = r.id;
          if (!i) return;
          let a = s.getBinding(i.name);
          a?.reference(t);
        } else if (V4e(r))
          for (let i of r.declarations)
            for (let a of Object.keys(cV(i))) {
              let o = s.getBinding(a);
              o?.reference(t);
            }
      }
    },
    LabeledStatement(t) {
      t.scope.getBlockParent().registerDeclaration(t);
    },
    AssignmentExpression(t, e) {
      e.assignments.push(t);
    },
    UpdateExpression(t, e) {
      e.constantViolations.push(t);
    },
    UnaryExpression(t, e) {
      t.node.operator === "delete" && e.constantViolations.push(t);
    },
    BlockScoped(t) {
      let e = t.scope;
      if (e.path === t && (e = e.parent), e.getBlockParent().registerDeclaration(t), t.isClassDeclaration() && t.node.id) {
        let i = t.node.id.name;
        t.scope.bindings[i] = t.scope.parent.getBinding(i);
      }
    },
    CatchClause(t) {
      t.scope.registerBinding("let", t);
    },
    Function(t) {
      let e = t.get("params");
      for (let s of e)
        t.scope.registerBinding("param", s);
      t.isFunctionExpression() && t.node.id && !t.node.id[tV] && t.scope.registerBinding("local", t.get("id"), t);
    },
    ClassExpression(t) {
      t.node.id && !t.node.id[tV] && t.scope.registerBinding("local", t.get("id"), t);
    },
    TSTypeAnnotation(t) {
      t.skip();
    }
  }, rje = 0, go = class t {
    static {
      n(this, "Scope");
    }
    constructor(e) {
      this.uid = void 0, this.path = void 0, this.block = void 0, this.inited = void 0, this.labels = void 0, this.bindings = void 0, this.references =
      void 0, this.globals = void 0, this.uids = void 0, this.data = void 0, this.crawling = void 0;
      let {
        node: s
      } = e, r = eV.scope.get(s);
      if (r?.path === e)
        return r;
      eV.scope.set(s, this), this.uid = rje++, this.block = s, this.path = e, this.labels = /* @__PURE__ */ new Map(), this.inited = !1;
    }
    get parent() {
      var e;
      let s, r = this.path;
      do {
        var i;
        let a = r.key === "key" || r.listKey === "decorators";
        r = r.parentPath, a && r.isMethod() && (r = r.parentPath), (i = r) != null && i.isScope() && (s = r);
      } while (r && !s);
      return (e = s) == null ? void 0 : e.scope;
    }
    generateDeclaredUidIdentifier(e) {
      let s = this.generateUidIdentifier(e);
      return this.push({
        id: s
      }), rV(s);
    }
    generateUidIdentifier(e) {
      return ph(this.generateUid(e));
    }
    generateUid(e = "temp") {
      e = H4e(e).replace(/^_+/, "").replace(/\d+$/g, "");
      let s, r = 1;
      do
        s = `_${e}`, r > 1 && (s += r), r++;
      while (this.hasLabel(s) || this.hasBinding(s) || this.hasGlobal(s) || this.hasReference(s));
      let i = this.getProgramParent();
      return i.references[s] = !0, i.uids[s] = !0, s;
    }
    generateUidBasedOnNode(e, s) {
      let r = [];
      vr(e, r);
      let i = r.join("$");
      return i = i.replace(/^_/, "") || s || "ref", this.generateUid(i.slice(0, 20));
    }
    generateUidIdentifierBasedOnNode(e, s) {
      return ph(this.generateUidBasedOnNode(e, s));
    }
    isStatic(e) {
      if (nV(e) || q4e(e) || oV(e))
        return !0;
      if (ch(e)) {
        let s = this.getBinding(e.name);
        return s ? s.constant : this.hasBinding(e.name);
      }
      return !1;
    }
    maybeGenerateMemoised(e, s) {
      if (this.isStatic(e))
        return null;
      {
        let r = this.generateUidIdentifierBasedOnNode(e);
        return s ? r : (this.push({
          id: r
        }), rV(r));
      }
    }
    checkBlockScopedCollisions(e, s, r, i) {
      if (s === "param" || e.kind === "local") return;
      if (s === "let" || e.kind === "let" || e.kind === "const" || e.kind === "module" || e.kind === "param" && s === "const")
        throw this.path.hub.buildError(i, `Duplicate declaration "${r}"`, TypeError);
    }
    rename(e, s) {
      let r = this.getBinding(e);
      r && (s || (s = this.generateUidIdentifier(e).name), new b4e.default(r, e, s).rename(arguments[2]));
    }
    dump() {
      let e = "-".repeat(60);
      console.log(e);
      let s = this;
      do {
        console.log("#", s.block.type);
        for (let r of Object.keys(s.bindings)) {
          let i = s.bindings[r];
          console.log(" -", r, {
            constant: i.constant,
            references: i.references,
            violations: i.constantViolations.length,
            kind: i.kind
          });
        }
      } while (s = s.parent);
      console.log(e);
    }
    hasLabel(e) {
      return !!this.getLabel(e);
    }
    getLabel(e) {
      return this.labels.get(e);
    }
    registerLabel(e) {
      this.labels.set(e.node.label.name, e);
    }
    registerDeclaration(e) {
      if (e.isLabeledStatement())
        this.registerLabel(e);
      else if (e.isFunctionDeclaration())
        this.registerBinding("hoisted", e.get("id"), e);
      else if (e.isVariableDeclaration()) {
        let s = e.get("declarations"), {
          kind: r
        } = e.node;
        for (let i of s)
          this.registerBinding(r === "using" || r === "await using" ? "const" : r, i);
      } else if (e.isClassDeclaration()) {
        if (e.node.declare) return;
        this.registerBinding("let", e);
      } else if (e.isImportDeclaration()) {
        let s = e.node.importKind === "type" || e.node.importKind === "typeof", r = e.get("specifiers");
        for (let i of r) {
          let a = s || i.isImportSpecifier() && (i.node.importKind === "type" || i.node.importKind === "typeof");
          this.registerBinding(a ? "unknown" : "module", i);
        }
      } else if (e.isExportDeclaration()) {
        let s = e.get("declaration");
        (s.isClassDeclaration() || s.isFunctionDeclaration() || s.isVariableDeclaration()) && this.registerDeclaration(s);
      } else
        this.registerBinding("unknown", e);
    }
    buildUndefinedNode() {
      return tje();
    }
    registerConstantViolation(e) {
      let s = e.getAssignmentIdentifiers();
      for (let i of Object.keys(s)) {
        var r;
        (r = this.getBinding(i)) == null || r.reassign(e);
      }
    }
    registerBinding(e, s, r = s) {
      if (!e) throw new ReferenceError("no `kind`");
      if (s.isVariableDeclaration()) {
        let o = s.get("declarations");
        for (let l of o)
          this.registerBinding(e, l);
        return;
      }
      let i = this.getProgramParent(), a = s.getOuterBindingIdentifiers(!0);
      for (let o of Object.keys(a)) {
        i.references[o] = !0;
        for (let l of a[o]) {
          let u = this.getOwnBinding(o);
          if (u) {
            if (u.identifier === l) continue;
            this.checkBlockScopedCollisions(u, e, o, l);
          }
          u ? u.reassign(r) : this.bindings[o] = new S4e.default({
            identifier: l,
            scope: this,
            path: r,
            kind: e
          });
        }
      }
    }
    addGlobal(e) {
      this.globals[e.name] = e;
    }
    hasUid(e) {
      let s = this;
      do
        if (s.uids[e]) return !0;
      while (s = s.parent);
      return !1;
    }
    hasGlobal(e) {
      let s = this;
      do
        if (s.globals[e]) return !0;
      while (s = s.parent);
      return !1;
    }
    hasReference(e) {
      return !!this.getProgramParent().references[e];
    }
    isPure(e, s) {
      if (ch(e)) {
        let o = this.getBinding(e.name);
        return o ? s ? o.constant : !0 : !1;
      } else {
        if (nV(e) || Q4e(e) || oV(e) || Z4e(e))
          return !0;
        if (C4e(e)) {
          var r;
          return e.superClass && !this.isPure(e.superClass, s) || ((r = e.decorators) == null ? void 0 : r.length) > 0 ? !1 : this.isPure(e.
          body, s);
        } else if (w4e(e)) {
          for (let o of e.body)
            if (!this.isPure(o, s)) return !1;
          return !0;
        } else {
          if (v4e(e))
            return this.isPure(e.left, s) && this.isPure(e.right, s);
          if (pV(e) || z4e(e)) {
            for (let o of e.elements)
              if (o !== null && !this.isPure(o, s)) return !1;
            return !0;
          } else if (M4e(e) || X4e(e)) {
            for (let o of e.properties)
              if (!this.isPure(o, s)) return !1;
            return !0;
          } else if (_4e(e)) {
            var i;
            return !(e.computed && !this.isPure(e.key, s) || ((i = e.decorators) == null ? void 0 : i.length) > 0);
          } else if (F4e(e)) {
            var a;
            return !(e.computed && !this.isPure(e.key, s) || ((a = e.decorators) == null ? void 0 : a.length) > 0 || (G4e(e) || e.static) &&
            e.value !== null && !this.isPure(e.value, s));
          } else {
            if (K4e(e))
              return this.isPure(e.argument, s);
            if (fV(e)) {
              for (let o of e.expressions)
                if (!this.isPure(o, s)) return !1;
              return !0;
            } else return U4e(e) ? aV(e.tag, "String.raw") && !this.hasBinding("String", {
              noGlobals: !0
            }) && this.isPure(e.quasi, s) : O4e(e) ? !e.computed && ch(e.object) && e.object.name === "Symbol" && ch(e.property) && e.property.
            name !== "for" && !this.hasBinding("Symbol", {
              noGlobals: !0
            }) : iV(e) ? aV(e.callee, "Symbol.for") && !this.hasBinding("Symbol", {
              noGlobals: !0
            }) && e.arguments.length === 1 && uV.isStringLiteral(e.arguments[0]) : j4e(e);
          }
        }
      }
    }
    setData(e, s) {
      return this.data[e] = s;
    }
    getData(e) {
      let s = this;
      do {
        let r = s.data[e];
        if (r != null) return r;
      } while (s = s.parent);
    }
    removeData(e) {
      let s = this;
      do
        s.data[e] != null && (s.data[e] = null);
      while (s = s.parent);
    }
    init() {
      this.inited || (this.inited = !0, this.crawl());
    }
    crawl() {
      let e = this.path;
      this.references = /* @__PURE__ */ Object.create(null), this.bindings = /* @__PURE__ */ Object.create(null), this.globals = /* @__PURE__ */ Object.
      create(null), this.uids = /* @__PURE__ */ Object.create(null), this.data = /* @__PURE__ */ Object.create(null);
      let s = this;
      do {
        if (s.crawling) return;
        if (s.path.isProgram())
          break;
      } while (s = s.parent);
      let r = s, i = {
        references: [],
        constantViolations: [],
        assignments: []
      };
      if (this.crawling = !0, e.type !== "Program" && (0, E4e.isExplodedVisitor)(fx)) {
        for (let o of fx.enter)
          o.call(i, e, i);
        let a = fx[e.type];
        if (a)
          for (let o of a.enter)
            o.call(i, e, i);
      }
      e.traverse(fx, i), this.crawling = !1;
      for (let a of i.assignments) {
        let o = a.getAssignmentIdentifiers();
        for (let l of Object.keys(o))
          a.scope.getBinding(l) || r.addGlobal(o[l]);
        a.scope.registerConstantViolation(a);
      }
      for (let a of i.references) {
        let o = a.scope.getBinding(a.node.name);
        o ? o.reference(a) : r.addGlobal(a.node);
      }
      for (let a of i.constantViolations)
        a.scope.registerConstantViolation(a);
    }
    push(e) {
      let s = this.path;
      s.isPattern() ? s = this.getPatternParent().path : !s.isBlockStatement() && !s.isProgram() && (s = this.getBlockParent().path), s.isSwitchStatement() &&
      (s = (this.getFunctionParent() || this.getProgramParent()).path);
      let {
        init: r,
        unique: i,
        kind: a = "var",
        id: o
      } = e;
      if (!r && !i && (a === "var" || a === "let") && s.isFunction() && !s.node.name && iV(s.parent, {
        callee: s.node
      }) && s.parent.arguments.length <= s.node.params.length && ch(o)) {
        s.pushContainer("params", o), s.scope.registerBinding("param", s.get("params")[s.node.params.length - 1]);
        return;
      }
      (s.isLoop() || s.isCatchClause() || s.isFunction()) && (s.ensureBlock(), s = s.get("body"));
      let l = e._blockHoist == null ? 2 : e._blockHoist, u = `declaration:${a}:${l}`, c = !i && s.getData(u);
      if (!c) {
        let f = J4e(a, []);
        f._blockHoist = l, [c] = s.unshiftContainer("body", [f]), i || s.setData(u, c);
      }
      let p = Y4e(o, r), h = c.node.declarations.push(p);
      s.scope.registerBinding(a, c.get("declarations")[h - 1]);
    }
    getProgramParent() {
      let e = this;
      do
        if (e.path.isProgram())
          return e;
      while (e = e.parent);
      throw new Error("Couldn't find a Program");
    }
    getFunctionParent() {
      let e = this;
      do
        if (e.path.isFunctionParent())
          return e;
      while (e = e.parent);
      return null;
    }
    getBlockParent() {
      let e = this;
      do
        if (e.path.isBlockParent())
          return e;
      while (e = e.parent);
      throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");
    }
    getPatternParent() {
      let e = this;
      do
        if (!e.path.isPattern())
          return e.getBlockParent();
      while (e = e.parent.parent);
      throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");
    }
    getAllBindings() {
      let e = /* @__PURE__ */ Object.create(null), s = this;
      do {
        for (let r of Object.keys(s.bindings))
          r in e || (e[r] = s.bindings[r]);
        s = s.parent;
      } while (s);
      return e;
    }
    bindingIdentifierEquals(e, s) {
      return this.getBindingIdentifier(e) === s;
    }
    getBinding(e) {
      let s = this, r;
      do {
        let a = s.getOwnBinding(e);
        if (a) {
          var i;
          if (!((i = r) != null && i.isPattern() && a.kind !== "param" && a.kind !== "local"))
            return a;
        } else if (!a && e === "arguments" && s.path.isFunction() && !s.path.isArrowFunctionExpression())
          break;
        r = s.path;
      } while (s = s.parent);
    }
    getOwnBinding(e) {
      return this.bindings[e];
    }
    getBindingIdentifier(e) {
      var s;
      return (s = this.getBinding(e)) == null ? void 0 : s.identifier;
    }
    getOwnBindingIdentifier(e) {
      let s = this.bindings[e];
      return s?.identifier;
    }
    hasOwnBinding(e) {
      return !!this.getOwnBinding(e);
    }
    hasBinding(e, s) {
      if (!e) return !1;
      let r = this;
      do
        if (r.hasOwnBinding(e))
          return !0;
      while (r = r.parent);
      let i, a;
      return typeof s == "object" ? (i = s.noGlobals, a = s.noUids) : typeof s == "boolean" && (i = s), !!(!a && this.hasUid(e) || !i && t.globals.
      includes(e) || !i && t.contextVariables.includes(e));
    }
    parentHasBinding(e, s) {
      var r;
      return (r = this.parent) == null ? void 0 : r.hasBinding(e, s);
    }
    moveBindingTo(e, s) {
      let r = this.getBinding(e);
      r && (r.scope.removeOwnBinding(e), r.scope = s, s.bindings[e] = r);
    }
    removeOwnBinding(e) {
      delete this.bindings[e];
    }
    removeBinding(e) {
      var s;
      (s = this.getBinding(e)) == null || s.scope.removeOwnBinding(e);
      let r = this;
      do
        r.uids[e] && (r.uids[e] = !1);
      while (r = r.parent);
    }
    hoistVariables(e = (s) => this.push({
      id: s
    })) {
      this.crawl();
      let s = /* @__PURE__ */ new Set();
      for (let i of Object.keys(this.bindings)) {
        let a = this.bindings[i];
        if (!a) continue;
        let {
          path: o
        } = a;
        if (!o.isVariableDeclarator()) continue;
        let {
          parent: l,
          parentPath: u
        } = o;
        if (l.kind !== "var" || s.has(l)) continue;
        s.add(o.parent);
        let c, p = [];
        for (let h of l.declarations) {
          var r;
          (r = c) != null || (c = h.id), h.init && p.push(A4e("=", h.id, h.init));
          let f = Object.keys(cV(h, !1, !0, !0));
          for (let d of f)
            e(ph(d), h.init != null);
        }
        if (u.parentPath.isFor({
          left: l
        }))
          u.replaceWith(c);
        else if (p.length === 0)
          u.remove();
        else {
          let h = p.length === 1 ? p[0] : sje(p);
          u.parentPath.isForStatement({
            init: l
          }) ? u.replaceWith(h) : u.replaceWith(W4e(h));
        }
      }
    }
  };
  dx.default = go;
  go.globals = Object.keys(P4e.builtin);
  go.contextVariables = ["arguments", "undefined", "Infinity", "NaN"];
  go.prototype._renameFromMap = /* @__PURE__ */ n(function(e, s, r, i) {
    e[s] && (e[r] = i, e[s] = null);
  }, "_renameFromMap"), go.prototype.traverse = function(t, e, s) {
    (0, x4e.default)(t, e, this, s, this.path);
  }, go.prototype._generateUid = /* @__PURE__ */ n(function(e, s) {
    let r = e;
    return s > 1 && (r += s), `_${r}`;
  }, "_generateUid"), go.prototype.toArray = /* @__PURE__ */ n(function(e, s, r) {
    if (ch(e)) {
      let o = this.getBinding(e.name);
      if (o != null && o.constant && o.path.isGenericType("Array"))
        return e;
    }
    if (pV(e))
      return e;
    if (ch(e, {
      name: "arguments"
    }))
      return sV(NN(NN(NN(ph("Array"), ph("prototype")), ph("slice")), ph("call")), [e]);
    let i, a = [e];
    return s === !0 ? i = "toConsumableArray" : typeof s == "number" ? (a.push($4e(s)), i = "slicedToArray") : i = "toArray", r && (a.unshift(
    this.path.hub.addHelper(i)), i = "maybeArrayLike"), sV(this.path.hub.addHelper(i), a);
  }, "toArray"), go.prototype.getAllBindingsOfKind = /* @__PURE__ */ n(function(...e) {
    let s = /* @__PURE__ */ Object.create(null);
    for (let r of e) {
      let i = this;
      do {
        for (let a of Object.keys(i.bindings)) {
          let o = i.bindings[a];
          o.kind === r && (s[a] = o);
        }
        i = i.parent;
      } while (i);
    }
    return s;
  }, "getAllBindingsOfKind"), Object.defineProperties(go.prototype, {
    parentBlock: {
      configurable: !0,
      enumerable: !0,
      get() {
        return this.path.parent;
      }
    },
    hub: {
      configurable: !0,
      enumerable: !0,
      get() {
        return this.path.hub;
      }
    }
  });
});

// ../node_modules/@jridgewell/set-array/dist/set-array.umd.js
var mV = g((mx, dV) => {
  (function(t, e) {
    typeof mx == "object" && typeof dV < "u" ? e(mx) : typeof define == "function" && define.amd ? define(["exports"], e) : (t = typeof globalThis <
    "u" ? globalThis : t || self, e(t.setArray = {}));
  })(mx, function(t) {
    "use strict";
    class e {
      static {
        n(this, "SetArray");
      }
      constructor() {
        this._indexes = { __proto__: null }, this.array = [];
      }
    }
    function s(l) {
      return l;
    }
    n(s, "cast");
    function r(l, u) {
      return l._indexes[u];
    }
    n(r, "get");
    function i(l, u) {
      let c = r(l, u);
      if (c !== void 0)
        return c;
      let { array: p, _indexes: h } = l, f = p.push(u);
      return h[u] = f - 1;
    }
    n(i, "put");
    function a(l) {
      let { array: u, _indexes: c } = l;
      if (u.length === 0)
        return;
      let p = u.pop();
      c[p] = void 0;
    }
    n(a, "pop");
    function o(l, u) {
      let c = r(l, u);
      if (c === void 0)
        return;
      let { array: p, _indexes: h } = l;
      for (let f = c + 1; f < p.length; f++) {
        let d = p[f];
        p[f - 1] = d, h[d]--;
      }
      h[u] = void 0, p.pop();
    }
    n(o, "remove"), t.SetArray = e, t.get = r, t.pop = a, t.put = i, t.remove = o, Object.defineProperty(t, "__esModule", { value: !0 });
  });
});

// ../node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js
var DN = g((yx, yV) => {
  (function(t, e) {
    typeof yx == "object" && typeof yV < "u" ? e(yx) : typeof define == "function" && define.amd ? define(["exports"], e) : (t = typeof globalThis <
    "u" ? globalThis : t || self, e(t.sourcemapCodec = {}));
  })(yx, function(t) {
    "use strict";
    let r = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", i = new Uint8Array(64), a = new Uint8Array(128);
    for (let be = 0; be < r.length; be++) {
      let me = r.charCodeAt(be);
      i[be] = me, a[me] = be;
    }
    function o(be, me) {
      let he = 0, Pe = 0, tt = 0;
      do {
        let ke = be.next();
        tt = a[ke], he |= (tt & 31) << Pe, Pe += 5;
      } while (tt & 32);
      let ot = he & 1;
      return he >>>= 1, ot && (he = -2147483648 | -he), me + he;
    }
    n(o, "decodeInteger");
    function l(be, me, he) {
      let Pe = me - he;
      Pe = Pe < 0 ? -Pe << 1 | 1 : Pe << 1;
      do {
        let tt = Pe & 31;
        Pe >>>= 5, Pe > 0 && (tt |= 32), be.write(i[tt]);
      } while (Pe > 0);
      return me;
    }
    n(l, "encodeInteger");
    function u(be, me) {
      return be.pos >= me ? !1 : be.peek() !== 44;
    }
    n(u, "hasMoreVlq");
    let c = 1024 * 16, p = typeof TextDecoder < "u" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer < "u" ? {
      decode(be) {
        return Buffer.from(be.buffer, be.byteOffset, be.byteLength).toString();
      }
    } : {
      decode(be) {
        let me = "";
        for (let he = 0; he < be.length; he++)
          me += String.fromCharCode(be[he]);
        return me;
      }
    };
    class h {
      static {
        n(this, "StringWriter");
      }
      constructor() {
        this.pos = 0, this.out = "", this.buffer = new Uint8Array(c);
      }
      write(me) {
        let { buffer: he } = this;
        he[this.pos++] = me, this.pos === c && (this.out += p.decode(he), this.pos = 0);
      }
      flush() {
        let { buffer: me, out: he, pos: Pe } = this;
        return Pe > 0 ? he + p.decode(me.subarray(0, Pe)) : he;
      }
    }
    class f {
      static {
        n(this, "StringReader");
      }
      constructor(me) {
        this.pos = 0, this.buffer = me;
      }
      next() {
        return this.buffer.charCodeAt(this.pos++);
      }
      peek() {
        return this.buffer.charCodeAt(this.pos);
      }
      indexOf(me) {
        let { buffer: he, pos: Pe } = this, tt = he.indexOf(me, Pe);
        return tt === -1 ? he.length : tt;
      }
    }
    let d = [];
    function m(be) {
      let { length: me } = be, he = new f(be), Pe = [], tt = [], ot = 0;
      for (; he.pos < me; he.pos++) {
        ot = o(he, ot);
        let ke = o(he, 0);
        if (!u(he, me)) {
          let Vt = tt.pop();
          Vt[2] = ot, Vt[3] = ke;
          continue;
        }
        let Ne = o(he, 0), St = o(he, 0) & 1 ? [ot, ke, 0, 0, Ne, o(he, 0)] : [ot, ke, 0, 0, Ne], kt = d;
        if (u(he, me)) {
          kt = [];
          do {
            let Vt = o(he, 0);
            kt.push(Vt);
          } while (u(he, me));
        }
        St.vars = kt, Pe.push(St), tt.push(St);
      }
      return Pe;
    }
    n(m, "decodeOriginalScopes");
    function y(be) {
      let me = new h();
      for (let he = 0; he < be.length; )
        he = T(be, he, me, [0]);
      return me.flush();
    }
    n(y, "encodeOriginalScopes");
    function T(be, me, he, Pe) {
      let tt = be[me], { 0: ot, 1: ke, 2: Ne, 3: He, 4: Qe, vars: St } = tt;
      me > 0 && he.write(44), Pe[0] = l(he, ot, Pe[0]), l(he, ke, 0), l(he, Qe, 0);
      let kt = tt.length === 6 ? 1 : 0;
      l(he, kt, 0), tt.length === 6 && l(he, tt[5], 0);
      for (let Vt of St)
        l(he, Vt, 0);
      for (me++; me < be.length; ) {
        let Vt = be[me], { 0: lt, 1: Jt } = Vt;
        if (lt > Ne || lt === Ne && Jt >= He)
          break;
        me = T(be, me, he, Pe);
      }
      return he.write(44), Pe[0] = l(he, Ne, Pe[0]), l(he, He, 0), me;
    }
    n(T, "_encodeOriginalScopes");
    function b(be) {
      let { length: me } = be, he = new f(be), Pe = [], tt = [], ot = 0, ke = 0, Ne = 0, He = 0, Qe = 0, St = 0, kt = 0, Vt = 0;
      do {
        let lt = he.indexOf(";"), Jt = 0;
        for (; he.pos < lt; he.pos++) {
          if (Jt = o(he, Jt), !u(he, lt)) {
            let Ai = tt.pop();
            Ai[2] = ot, Ai[3] = Jt;
            continue;
          }
          let Hr = o(he, 0), Sr = Hr & 1, Et = Hr & 2, Pr = Hr & 4, Qr = null, gi = d, Di;
          if (Sr) {
            let Ai = o(he, ke);
            Ne = o(he, ke === Ai ? Ne : 0), ke = Ai, Di = [ot, Jt, 0, 0, Ai, Ne];
          } else
            Di = [ot, Jt, 0, 0];
          if (Di.isScope = !!Pr, Et) {
            let Ai = He, Zn = Qe;
            He = o(he, He);
            let Wo = Ai === He;
            Qe = o(he, Wo ? Qe : 0), St = o(he, Wo && Zn === Qe ? St : 0), Qr = [He, Qe, St];
          }
          if (Di.callsite = Qr, u(he, lt)) {
            gi = [];
            do {
              kt = ot, Vt = Jt;
              let Ai = o(he, 0), Zn;
              if (Ai < -1) {
                Zn = [[o(he, 0)]];
                for (let Wo = -1; Wo > Ai; Wo--) {
                  let jl = kt;
                  kt = o(he, kt), Vt = o(he, kt === jl ? Vt : 0);
                  let ho = o(he, 0);
                  Zn.push([ho, kt, Vt]);
                }
              } else
                Zn = [[Ai]];
              gi.push(Zn);
            } while (u(he, lt));
          }
          Di.bindings = gi, Pe.push(Di), tt.push(Di);
        }
        ot++, he.pos = lt + 1;
      } while (he.pos < me);
      return Pe;
    }
    n(b, "decodeGeneratedRanges");
    function E(be) {
      if (be.length === 0)
        return "";
      let me = new h();
      for (let he = 0; he < be.length; )
        he = V(be, he, me, [0, 0, 0, 0, 0, 0, 0]);
      return me.flush();
    }
    n(E, "encodeGeneratedRanges");
    function V(be, me, he, Pe) {
      let tt = be[me], { 0: ot, 1: ke, 2: Ne, 3: He, isScope: Qe, callsite: St, bindings: kt } = tt;
      Pe[0] < ot ? (W(he, Pe[0], ot), Pe[0] = ot, Pe[1] = 0) : me > 0 && he.write(44), Pe[1] = l(he, tt[1], Pe[1]);
      let Vt = (tt.length === 6 ? 1 : 0) | (St ? 2 : 0) | (Qe ? 4 : 0);
      if (l(he, Vt, 0), tt.length === 6) {
        let { 4: lt, 5: Jt } = tt;
        lt !== Pe[2] && (Pe[3] = 0), Pe[2] = l(he, lt, Pe[2]), Pe[3] = l(he, Jt, Pe[3]);
      }
      if (St) {
        let { 0: lt, 1: Jt, 2: Hr } = tt.callsite;
        lt !== Pe[4] ? (Pe[5] = 0, Pe[6] = 0) : Jt !== Pe[5] && (Pe[6] = 0), Pe[4] = l(he, lt, Pe[4]), Pe[5] = l(he, Jt, Pe[5]), Pe[6] = l(he,
        Hr, Pe[6]);
      }
      if (kt)
        for (let lt of kt) {
          lt.length > 1 && l(he, -lt.length, 0);
          let Jt = lt[0][0];
          l(he, Jt, 0);
          let Hr = ot, Sr = ke;
          for (let Et = 1; Et < lt.length; Et++) {
            let Pr = lt[Et];
            Hr = l(he, Pr[1], Hr), Sr = l(he, Pr[2], Sr), l(he, Pr[0], 0);
          }
        }
      for (me++; me < be.length; ) {
        let lt = be[me], { 0: Jt, 1: Hr } = lt;
        if (Jt > Ne || Jt === Ne && Hr >= He)
          break;
        me = V(be, me, he, Pe);
      }
      return Pe[0] < Ne ? (W(he, Pe[0], Ne), Pe[0] = Ne, Pe[1] = 0) : he.write(44), Pe[1] = l(he, He, Pe[1]), me;
    }
    n(V, "_encodeGeneratedRanges");
    function W(be, me, he) {
      do
        be.write(59);
      while (++me < he);
    }
    n(W, "catchupLine");
    function oe(be) {
      let { length: me } = be, he = new f(be), Pe = [], tt = 0, ot = 0, ke = 0, Ne = 0, He = 0;
      do {
        let Qe = he.indexOf(";"), St = [], kt = !0, Vt = 0;
        for (tt = 0; he.pos < Qe; ) {
          let lt;
          tt = o(he, tt), tt < Vt && (kt = !1), Vt = tt, u(he, Qe) ? (ot = o(he, ot), ke = o(he, ke), Ne = o(he, Ne), u(he, Qe) ? (He = o(he,
          He), lt = [tt, ot, ke, Ne, He]) : lt = [tt, ot, ke, Ne]) : lt = [tt], St.push(lt), he.pos++;
        }
        kt || de(St), Pe.push(St), he.pos = Qe + 1;
      } while (he.pos <= me);
      return Pe;
    }
    n(oe, "decode");
    function de(be) {
      be.sort(ye);
    }
    n(de, "sort");
    function ye(be, me) {
      return be[0] - me[0];
    }
    n(ye, "sortComparator");
    function Oe(be) {
      let me = new h(), he = 0, Pe = 0, tt = 0, ot = 0;
      for (let ke = 0; ke < be.length; ke++) {
        let Ne = be[ke];
        if (ke > 0 && me.write(59), Ne.length === 0)
          continue;
        let He = 0;
        for (let Qe = 0; Qe < Ne.length; Qe++) {
          let St = Ne[Qe];
          Qe > 0 && me.write(44), He = l(me, St[0], He), St.length !== 1 && (he = l(me, St[1], he), Pe = l(me, St[2], Pe), tt = l(me, St[3],
          tt), St.length !== 4 && (ot = l(me, St[4], ot)));
        }
      }
      return me.flush();
    }
    n(Oe, "encode"), t.decode = oe, t.decodeGeneratedRanges = b, t.decodeOriginalScopes = m, t.encode = Oe, t.encodeGeneratedRanges = E, t.encodeOriginalScopes =
    y, Object.defineProperty(t, "__esModule", { value: !0 });
  });
});

// ../node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js
var gV = g((ON, _N) => {
  (function(t, e) {
    typeof ON == "object" && typeof _N < "u" ? _N.exports = e() : typeof define == "function" && define.amd ? define(e) : (t = typeof globalThis <
    "u" ? globalThis : t || self, t.resolveURI = e());
  })(ON, function() {
    "use strict";
    let t = /^[\w+.-]+:\/\//, e = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/, s = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;
    var r;
    (function(b) {
      b[b.Empty = 1] = "Empty", b[b.Hash = 2] = "Hash", b[b.Query = 3] = "Query", b[b.RelativePath = 4] = "RelativePath", b[b.AbsolutePath =
      5] = "AbsolutePath", b[b.SchemeRelative = 6] = "SchemeRelative", b[b.Absolute = 7] = "Absolute";
    })(r || (r = {}));
    function i(b) {
      return t.test(b);
    }
    n(i, "isAbsoluteUrl");
    function a(b) {
      return b.startsWith("//");
    }
    n(a, "isSchemeRelativeUrl");
    function o(b) {
      return b.startsWith("/");
    }
    n(o, "isAbsolutePath");
    function l(b) {
      return b.startsWith("file:");
    }
    n(l, "isFileUrl");
    function u(b) {
      return /^[.?#]/.test(b);
    }
    n(u, "isRelative");
    function c(b) {
      let E = e.exec(b);
      return h(E[1], E[2] || "", E[3], E[4] || "", E[5] || "/", E[6] || "", E[7] || "");
    }
    n(c, "parseAbsoluteUrl");
    function p(b) {
      let E = s.exec(b), V = E[2];
      return h("file:", "", E[1] || "", "", o(V) ? V : "/" + V, E[3] || "", E[4] || "");
    }
    n(p, "parseFileUrl");
    function h(b, E, V, W, oe, de, ye) {
      return {
        scheme: b,
        user: E,
        host: V,
        port: W,
        path: oe,
        query: de,
        hash: ye,
        type: r.Absolute
      };
    }
    n(h, "makeUrl");
    function f(b) {
      if (a(b)) {
        let V = c("http:" + b);
        return V.scheme = "", V.type = r.SchemeRelative, V;
      }
      if (o(b)) {
        let V = c("http://foo.com" + b);
        return V.scheme = "", V.host = "", V.type = r.AbsolutePath, V;
      }
      if (l(b))
        return p(b);
      if (i(b))
        return c(b);
      let E = c("http://foo.com/" + b);
      return E.scheme = "", E.host = "", E.type = b ? b.startsWith("?") ? r.Query : b.startsWith("#") ? r.Hash : r.RelativePath : r.Empty, E;
    }
    n(f, "parseUrl");
    function d(b) {
      if (b.endsWith("/.."))
        return b;
      let E = b.lastIndexOf("/");
      return b.slice(0, E + 1);
    }
    n(d, "stripPathFilename");
    function m(b, E) {
      y(E, E.type), b.path === "/" ? b.path = E.path : b.path = d(E.path) + b.path;
    }
    n(m, "mergePaths");
    function y(b, E) {
      let V = E <= r.RelativePath, W = b.path.split("/"), oe = 1, de = 0, ye = !1;
      for (let be = 1; be < W.length; be++) {
        let me = W[be];
        if (!me) {
          ye = !0;
          continue;
        }
        if (ye = !1, me !== ".") {
          if (me === "..") {
            de ? (ye = !0, de--, oe--) : V && (W[oe++] = me);
            continue;
          }
          W[oe++] = me, de++;
        }
      }
      let Oe = "";
      for (let be = 1; be < oe; be++)
        Oe += "/" + W[be];
      (!Oe || ye && !Oe.endsWith("/..")) && (Oe += "/"), b.path = Oe;
    }
    n(y, "normalizePath");
    function T(b, E) {
      if (!b && !E)
        return "";
      let V = f(b), W = V.type;
      if (E && W !== r.Absolute) {
        let de = f(E), ye = de.type;
        switch (W) {
          case r.Empty:
            V.hash = de.hash;
          // fall through
          case r.Hash:
            V.query = de.query;
          // fall through
          case r.Query:
          case r.RelativePath:
            m(V, de);
          // fall through
          case r.AbsolutePath:
            V.user = de.user, V.host = de.host, V.port = de.port;
          // fall through
          case r.SchemeRelative:
            V.scheme = de.scheme;
        }
        ye > W && (W = ye);
      }
      y(V, W);
      let oe = V.query + V.hash;
      switch (W) {
        // This is impossible, because of the empty checks at the start of the function.
        // case UrlType.Empty:
        case r.Hash:
        case r.Query:
          return oe;
        case r.RelativePath: {
          let de = V.path.slice(1);
          return de ? u(E || b) && !u(de) ? "./" + de + oe : de + oe : oe || ".";
        }
        case r.AbsolutePath:
          return V.path + oe;
        default:
          return V.scheme + "//" + V.user + V.host + V.port + V.path + oe;
      }
    }
    return n(T, "resolve"), T;
  });
});

// ../node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js
var Dc = g((gx, TV) => {
  (function(t, e) {
    typeof gx == "object" && typeof TV < "u" ? e(gx, DN(), gV()) : typeof define == "function" && define.amd ? define(["exports", "@jridgewe\
ll/sourcemap-codec", "@jridgewell/resolve-uri"], e) : (t = typeof globalThis < "u" ? globalThis : t || self, e(t.traceMapping = {}, t.sourcemapCodec,
    t.resolveURI));
  })(gx, function(t, e, s) {
    "use strict";
    function r(le, ge) {
      return ge && !ge.endsWith("/") && (ge += "/"), s(le, ge);
    }
    n(r, "resolve");
    function i(le) {
      if (!le)
        return "";
      let ge = le.lastIndexOf("/");
      return le.slice(0, ge + 1);
    }
    n(i, "stripFilename");
    let a = 0, o = 1, l = 2, u = 3, c = 4, p = 1, h = 2;
    function f(le, ge) {
      let Ae = d(le, 0);
      if (Ae === le.length)
        return le;
      ge || (le = le.slice());
      for (let De = Ae; De < le.length; De = d(le, De + 1))
        le[De] = y(le[De], ge);
      return le;
    }
    n(f, "maybeSort");
    function d(le, ge) {
      for (let Ae = ge; Ae < le.length; Ae++)
        if (!m(le[Ae]))
          return Ae;
      return le.length;
    }
    n(d, "nextUnsortedSegmentLine");
    function m(le) {
      for (let ge = 1; ge < le.length; ge++)
        if (le[ge][a] < le[ge - 1][a])
          return !1;
      return !0;
    }
    n(m, "isSorted");
    function y(le, ge) {
      return ge || (le = le.slice()), le.sort(T);
    }
    n(y, "sortSegments");
    function T(le, ge) {
      return le[a] - ge[a];
    }
    n(T, "sortComparator");
    let b = !1;
    function E(le, ge, Ae, De) {
      for (; Ae <= De; ) {
        let ut = Ae + (De - Ae >> 1), et = le[ut][a] - ge;
        if (et === 0)
          return b = !0, ut;
        et < 0 ? Ae = ut + 1 : De = ut - 1;
      }
      return b = !1, Ae - 1;
    }
    n(E, "binarySearch");
    function V(le, ge, Ae) {
      for (let De = Ae + 1; De < le.length && le[De][a] === ge; Ae = De++)
        ;
      return Ae;
    }
    n(V, "upperBound");
    function W(le, ge, Ae) {
      for (let De = Ae - 1; De >= 0 && le[De][a] === ge; Ae = De--)
        ;
      return Ae;
    }
    n(W, "lowerBound");
    function oe() {
      return {
        lastKey: -1,
        lastNeedle: -1,
        lastIndex: -1
      };
    }
    n(oe, "memoizedState");
    function de(le, ge, Ae, De) {
      let { lastKey: ut, lastNeedle: et, lastIndex: qt } = Ae, Yt = 0, Kt = le.length - 1;
      if (De === ut) {
        if (ge === et)
          return b = qt !== -1 && le[qt][a] === ge, qt;
        ge >= et ? Yt = qt === -1 ? 0 : qt : Kt = qt;
      }
      return Ae.lastKey = De, Ae.lastNeedle = ge, Ae.lastIndex = E(le, ge, Yt, Kt);
    }
    n(de, "memoizedBinarySearch");
    function ye(le, ge) {
      let Ae = ge.map(be);
      for (let De = 0; De < le.length; De++) {
        let ut = le[De];
        for (let et = 0; et < ut.length; et++) {
          let qt = ut[et];
          if (qt.length === 1)
            continue;
          let Yt = qt[o], Kt = qt[l], Xt = qt[u], Ti = Ae[Yt], js = Ti[Kt] || (Ti[Kt] = []), ds = ge[Yt], Er = V(js, Xt, de(js, Xt, ds, Kt));
          ds.lastIndex = ++Er, Oe(js, Er, [Xt, De, qt[a]]);
        }
      }
      return Ae;
    }
    n(ye, "buildBySources");
    function Oe(le, ge, Ae) {
      for (let De = le.length; De > ge; De--)
        le[De] = le[De - 1];
      le[ge] = Ae;
    }
    n(Oe, "insert");
    function be() {
      return { __proto__: null };
    }
    n(be, "buildNullArray");
    let me = /* @__PURE__ */ n(function(le, ge) {
      let Ae = he(le);
      if (!("sections" in Ae))
        return new kt(Ae, ge);
      let De = [], ut = [], et = [], qt = [], Yt = [];
      Pe(Ae, ge, De, ut, et, qt, Yt, 0, 0, 1 / 0, 1 / 0);
      let Kt = {
        version: 3,
        file: Ae.file,
        names: qt,
        sources: ut,
        sourcesContent: et,
        mappings: De,
        ignoreList: Yt
      };
      return Zn(Kt);
    }, "AnyMap");
    function he(le) {
      return typeof le == "string" ? JSON.parse(le) : le;
    }
    n(he, "parse");
    function Pe(le, ge, Ae, De, ut, et, qt, Yt, Kt, Xt, Ti) {
      let { sections: js } = le;
      for (let ds = 0; ds < js.length; ds++) {
        let { map: Er, offset: Zr } = js[ds], Oi = Xt, Ho = Ti;
        if (ds + 1 < js.length) {
          let Sc = js[ds + 1].offset;
          Oi = Math.min(Xt, Yt + Sc.line), Oi === Xt ? Ho = Math.min(Ti, Kt + Sc.column) : Oi < Xt && (Ho = Kt + Sc.column);
        }
        tt(Er, ge, Ae, De, ut, et, qt, Yt + Zr.line, Kt + Zr.column, Oi, Ho);
      }
    }
    n(Pe, "recurse");
    function tt(le, ge, Ae, De, ut, et, qt, Yt, Kt, Xt, Ti) {
      let js = he(le);
      if ("sections" in js)
        return Pe(...arguments);
      let ds = new kt(js, ge), Er = De.length, Zr = et.length, Oi = Jt(ds), { resolvedSources: Ho, sourcesContent: Sc, ignoreList: Oy } = ds;
      if (ot(De, Ho), ot(et, ds.names), Sc)
        ot(ut, Sc);
      else
        for (let hn = 0; hn < Ho.length; hn++)
          ut.push(null);
      if (Oy)
        for (let hn = 0; hn < Oy.length; hn++)
          qt.push(Oy[hn] + Er);
      for (let hn = 0; hn < Oi.length; hn++) {
        let Gf = Yt + hn;
        if (Gf > Xt)
          return;
        let _y = ke(Ae, Gf), Hge = hn === 0 ? Kt : 0, m7 = Oi[hn];
        for (let fC = 0; fC < m7.length; fC++) {
          let Gp = m7[fC], db = Hge + Gp[a];
          if (Gf === Xt && db >= Ti)
            return;
          if (Gp.length === 1) {
            _y.push([db]);
            continue;
          }
          let y7 = Er + Gp[o], g7 = Gp[l], T7 = Gp[u];
          _y.push(Gp.length === 4 ? [db, y7, g7, T7] : [db, y7, g7, T7, Zr + Gp[c]]);
        }
      }
    }
    n(tt, "addSection");
    function ot(le, ge) {
      for (let Ae = 0; Ae < ge.length; Ae++)
        le.push(ge[Ae]);
    }
    n(ot, "append");
    function ke(le, ge) {
      for (let Ae = le.length; Ae <= ge; Ae++)
        le[Ae] = [];
      return le[ge];
    }
    n(ke, "getLine");
    let Ne = "`line` must be greater than 0 (lines start at line 1)", He = "`column` must be greater than or equal to 0 (columns start at co\
lumn 0)", Qe = -1, St = 1;
    class kt {
      static {
        n(this, "TraceMap");
      }
      constructor(ge, Ae) {
        let De = typeof ge == "string";
        if (!De && ge._decodedMemo)
          return ge;
        let ut = De ? JSON.parse(ge) : ge, { version: et, file: qt, names: Yt, sourceRoot: Kt, sources: Xt, sourcesContent: Ti } = ut;
        this.version = et, this.file = qt, this.names = Yt || [], this.sourceRoot = Kt, this.sources = Xt, this.sourcesContent = Ti, this.ignoreList =
        ut.ignoreList || ut.x_google_ignoreList || void 0;
        let js = r(Kt || "", i(Ae));
        this.resolvedSources = Xt.map((Er) => r(Er || "", js));
        let { mappings: ds } = ut;
        typeof ds == "string" ? (this._encoded = ds, this._decoded = void 0) : (this._encoded = void 0, this._decoded = f(ds, De)), this._decodedMemo =
        oe(), this._bySources = void 0, this._bySourceMemos = void 0;
      }
    }
    function Vt(le) {
      return le;
    }
    n(Vt, "cast");
    function lt(le) {
      var ge, Ae;
      return (ge = (Ae = le)._encoded) !== null && ge !== void 0 ? ge : Ae._encoded = e.encode(le._decoded);
    }
    n(lt, "encodedMappings");
    function Jt(le) {
      var ge;
      return (ge = le)._decoded || (ge._decoded = e.decode(le._encoded));
    }
    n(Jt, "decodedMappings");
    function Hr(le, ge, Ae) {
      let De = Jt(le);
      if (ge >= De.length)
        return null;
      let ut = De[ge], et = Rl(ut, le._decodedMemo, ge, Ae, St);
      return et === -1 ? null : ut[et];
    }
    n(Hr, "traceSegment");
    function Sr(le, ge) {
      let { line: Ae, column: De, bias: ut } = ge;
      if (Ae--, Ae < 0)
        throw new Error(Ne);
      if (De < 0)
        throw new Error(He);
      let et = Jt(le);
      if (Ae >= et.length)
        return $o(null, null, null, null);
      let qt = et[Ae], Yt = Rl(qt, le._decodedMemo, Ae, De, ut || St);
      if (Yt === -1)
        return $o(null, null, null, null);
      let Kt = qt[Yt];
      if (Kt.length === 1)
        return $o(null, null, null, null);
      let { names: Xt, resolvedSources: Ti } = le;
      return $o(Ti[Kt[o]], Kt[l] + 1, Kt[u], Kt.length === 5 ? Xt[Kt[c]] : null);
    }
    n(Sr, "originalPositionFor");
    function Et(le, ge) {
      let { source: Ae, line: De, column: ut, bias: et } = ge;
      return je(le, Ae, De, ut, et || St, !1);
    }
    n(Et, "generatedPositionFor");
    function Pr(le, ge) {
      let { source: Ae, line: De, column: ut, bias: et } = ge;
      return je(le, Ae, De, ut, et || Qe, !0);
    }
    n(Pr, "allGeneratedPositionsFor");
    function Qr(le, ge) {
      let Ae = Jt(le), { names: De, resolvedSources: ut } = le;
      for (let et = 0; et < Ae.length; et++) {
        let qt = Ae[et];
        for (let Yt = 0; Yt < qt.length; Yt++) {
          let Kt = qt[Yt], Xt = et + 1, Ti = Kt[0], js = null, ds = null, Er = null, Zr = null;
          Kt.length !== 1 && (js = ut[Kt[1]], ds = Kt[2] + 1, Er = Kt[3]), Kt.length === 5 && (Zr = De[Kt[4]]), ge({
            generatedLine: Xt,
            generatedColumn: Ti,
            source: js,
            originalLine: ds,
            originalColumn: Er,
            name: Zr
          });
        }
      }
    }
    n(Qr, "eachMapping");
    function gi(le, ge) {
      let { sources: Ae, resolvedSources: De } = le, ut = Ae.indexOf(ge);
      return ut === -1 && (ut = De.indexOf(ge)), ut;
    }
    n(gi, "sourceIndex");
    function Di(le, ge) {
      let { sourcesContent: Ae } = le;
      if (Ae == null)
        return null;
      let De = gi(le, ge);
      return De === -1 ? null : Ae[De];
    }
    n(Di, "sourceContentFor");
    function Ai(le, ge) {
      let { ignoreList: Ae } = le;
      if (Ae == null)
        return !1;
      let De = gi(le, ge);
      return De === -1 ? !1 : Ae.includes(De);
    }
    n(Ai, "isIgnored");
    function Zn(le, ge) {
      let Ae = new kt(ho(le, []), ge);
      return Ae._decoded = le.mappings, Ae;
    }
    n(Zn, "presortedDecodedMap");
    function Wo(le) {
      return ho(le, Jt(le));
    }
    n(Wo, "decodedMap");
    function jl(le) {
      return ho(le, lt(le));
    }
    n(jl, "encodedMap");
    function ho(le, ge) {
      return {
        version: le.version,
        file: le.file,
        names: le.names,
        sourceRoot: le.sourceRoot,
        sources: le.sources,
        sourcesContent: le.sourcesContent,
        mappings: ge,
        ignoreList: le.ignoreList || le.x_google_ignoreList
      };
    }
    n(ho, "clone");
    function $o(le, ge, Ae, De) {
      return { source: le, line: ge, column: Ae, name: De };
    }
    n($o, "OMapping");
    function xc(le, ge) {
      return { line: le, column: ge };
    }
    n(xc, "GMapping");
    function Rl(le, ge, Ae, De, ut) {
      let et = de(le, De, ge, Ae);
      return b ? et = (ut === Qe ? V : W)(le, De, et) : ut === Qe && et++, et === -1 || et === le.length ? -1 : et;
    }
    n(Rl, "traceSegmentInternal");
    function Ze(le, ge, Ae, De, ut) {
      let et = Rl(le, ge, Ae, De, St);
      if (!b && ut === Qe && et++, et === -1 || et === le.length)
        return [];
      let qt = b ? De : le[et][a];
      b || (et = W(le, qt, et));
      let Yt = V(le, qt, et), Kt = [];
      for (; et <= Yt; et++) {
        let Xt = le[et];
        Kt.push(xc(Xt[p] + 1, Xt[h]));
      }
      return Kt;
    }
    n(Ze, "sliceGeneratedPositions");
    function je(le, ge, Ae, De, ut, et) {
      var qt;
      if (Ae--, Ae < 0)
        throw new Error(Ne);
      if (De < 0)
        throw new Error(He);
      let { sources: Yt, resolvedSources: Kt } = le, Xt = Yt.indexOf(ge);
      if (Xt === -1 && (Xt = Kt.indexOf(ge)), Xt === -1)
        return et ? [] : xc(null, null);
      let js = ((qt = le)._bySources || (qt._bySources = ye(Jt(le), le._bySourceMemos = Yt.map(oe))))[Xt][Ae];
      if (js == null)
        return et ? [] : xc(null, null);
      let ds = le._bySourceMemos[Xt];
      if (et)
        return Ze(js, ds, Ae, De, ut);
      let Er = Rl(js, ds, Ae, De, ut);
      if (Er === -1)
        return xc(null, null);
      let Zr = js[Er];
      return xc(Zr[p] + 1, Zr[h]);
    }
    n(je, "generatedPosition"), t.AnyMap = me, t.GREATEST_LOWER_BOUND = St, t.LEAST_UPPER_BOUND = Qe, t.TraceMap = kt, t.allGeneratedPositionsFor =
    Pr, t.decodedMap = Wo, t.decodedMappings = Jt, t.eachMapping = Qr, t.encodedMap = jl, t.encodedMappings = lt, t.generatedPositionFor = Et,
    t.isIgnored = Ai, t.originalPositionFor = Sr, t.presortedDecodedMap = Zn, t.sourceContentFor = Di, t.traceSegment = Hr;
  });
});

// ../node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js
var hh = g((Tx, bV) => {
  (function(t, e) {
    typeof Tx == "object" && typeof bV < "u" ? e(Tx, mV(), DN(), Dc()) : typeof define == "function" && define.amd ? define(["exports", "@jr\
idgewell/set-array", "@jridgewell/sourcemap-codec", "@jridgewell/trace-mapping"], e) : (t = typeof globalThis < "u" ? globalThis : t || self,
    e(t.genMapping = {}, t.setArray, t.sourcemapCodec, t.traceMapping));
  })(Tx, function(t, e, s, r) {
    "use strict";
    class p {
      static {
        n(this, "GenMapping");
      }
      constructor({ file: Ne, sourceRoot: He } = {}) {
        this._names = new e.SetArray(), this._sources = new e.SetArray(), this._sourcesContent = [], this._mappings = [], this.file = Ne, this.
        sourceRoot = He, this._ignoreList = new e.SetArray();
      }
    }
    function h(ke) {
      return ke;
    }
    n(h, "cast");
    function f(ke, Ne, He, Qe, St, kt, Vt, lt) {
      return de(!1, ke, Ne, He, Qe, St, kt, Vt, lt);
    }
    n(f, "addSegment");
    function d(ke, Ne) {
      return ot(!1, ke, Ne);
    }
    n(d, "addMapping");
    let m = /* @__PURE__ */ n((ke, Ne, He, Qe, St, kt, Vt, lt) => de(!0, ke, Ne, He, Qe, St, kt, Vt, lt), "maybeAddSegment"), y = /* @__PURE__ */ n(
    (ke, Ne) => ot(!0, ke, Ne), "maybeAddMapping");
    function T(ke, Ne, He) {
      let { _sources: Qe, _sourcesContent: St } = ke, kt = e.put(Qe, Ne);
      St[kt] = He;
    }
    n(T, "setSourceContent");
    function b(ke, Ne, He = !0) {
      let { _sources: Qe, _sourcesContent: St, _ignoreList: kt } = ke, Vt = e.put(Qe, Ne);
      Vt === St.length && (St[Vt] = null), He ? e.put(kt, Vt) : e.remove(kt, Vt);
    }
    n(b, "setIgnore");
    function E(ke) {
      let { _mappings: Ne, _sources: He, _sourcesContent: Qe, _names: St, _ignoreList: kt } = ke;
      return me(Ne), {
        version: 3,
        file: ke.file || void 0,
        names: St.array,
        sourceRoot: ke.sourceRoot || void 0,
        sources: He.array,
        sourcesContent: Qe,
        mappings: Ne,
        ignoreList: kt.array
      };
    }
    n(E, "toDecodedMap");
    function V(ke) {
      let Ne = E(ke);
      return Object.assign(Object.assign({}, Ne), { mappings: s.encode(Ne.mappings) });
    }
    n(V, "toEncodedMap");
    function W(ke) {
      let Ne = new r.TraceMap(ke), He = new p({ file: Ne.file, sourceRoot: Ne.sourceRoot });
      return he(He._names, Ne.names), he(He._sources, Ne.sources), He._sourcesContent = Ne.sourcesContent || Ne.sources.map(() => null), He.
      _mappings = r.decodedMappings(Ne), Ne.ignoreList && he(He._ignoreList, Ne.ignoreList), He;
    }
    n(W, "fromMap");
    function oe(ke) {
      let Ne = [], { _mappings: He, _sources: Qe, _names: St } = ke;
      for (let kt = 0; kt < He.length; kt++) {
        let Vt = He[kt];
        for (let lt = 0; lt < Vt.length; lt++) {
          let Jt = Vt[lt], Hr = { line: kt + 1, column: Jt[0] }, Sr, Et, Pr;
          Jt.length !== 1 && (Sr = Qe.array[Jt[1]], Et = { line: Jt[2] + 1, column: Jt[3] }, Jt.length === 5 && (Pr = St.array[Jt[4]])), Ne.
          push({ generated: Hr, source: Sr, original: Et, name: Pr });
        }
      }
      return Ne;
    }
    n(oe, "allMappings");
    function de(ke, Ne, He, Qe, St, kt, Vt, lt, Jt) {
      let { _mappings: Hr, _sources: Sr, _sourcesContent: Et, _names: Pr } = Ne, Qr = ye(Hr, He), gi = Oe(Qr, Qe);
      if (!St)
        return ke && Pe(Qr, gi) ? void 0 : be(Qr, gi, [Qe]);
      let Di = e.put(Sr, St), Ai = lt ? e.put(Pr, lt) : -1;
      if (Di === Et.length && (Et[Di] = Jt ?? null), !(ke && tt(Qr, gi, Di, kt, Vt, Ai)))
        return be(Qr, gi, lt ? [Qe, Di, kt, Vt, Ai] : [Qe, Di, kt, Vt]);
    }
    n(de, "addSegmentInternal");
    function ye(ke, Ne) {
      for (let He = ke.length; He <= Ne; He++)
        ke[He] = [];
      return ke[Ne];
    }
    n(ye, "getLine");
    function Oe(ke, Ne) {
      let He = ke.length;
      for (let Qe = He - 1; Qe >= 0; He = Qe--) {
        let St = ke[Qe];
        if (Ne >= St[0])
          break;
      }
      return He;
    }
    n(Oe, "getColumnIndex");
    function be(ke, Ne, He) {
      for (let Qe = ke.length; Qe > Ne; Qe--)
        ke[Qe] = ke[Qe - 1];
      ke[Ne] = He;
    }
    n(be, "insert");
    function me(ke) {
      let { length: Ne } = ke, He = Ne;
      for (let Qe = He - 1; Qe >= 0 && !(ke[Qe].length > 0); He = Qe, Qe--)
        ;
      He < Ne && (ke.length = He);
    }
    n(me, "removeEmptyFinalLines");
    function he(ke, Ne) {
      for (let He = 0; He < Ne.length; He++)
        e.put(ke, Ne[He]);
    }
    n(he, "putAll");
    function Pe(ke, Ne) {
      return Ne === 0 ? !0 : ke[Ne - 1].length === 1;
    }
    n(Pe, "skipSourceless");
    function tt(ke, Ne, He, Qe, St, kt) {
      if (Ne === 0)
        return !1;
      let Vt = ke[Ne - 1];
      return Vt.length === 1 ? !1 : He === Vt[1] && Qe === Vt[2] && St === Vt[3] && kt === (Vt.length === 5 ? Vt[4] : -1);
    }
    n(tt, "skipSource");
    function ot(ke, Ne, He) {
      let { generated: Qe, source: St, original: kt, name: Vt, content: lt } = He;
      return St ? de(ke, Ne, Qe.line - 1, Qe.column, St, kt.line - 1, kt.column, Vt, lt) : de(ke, Ne, Qe.line - 1, Qe.column, null, null, null,
      null, null);
    }
    n(ot, "addMappingInternal"), t.GenMapping = p, t.addMapping = d, t.addSegment = f, t.allMappings = oe, t.fromMap = W, t.maybeAddMapping =
    y, t.maybeAddSegment = m, t.setIgnore = b, t.setSourceContent = T, t.toDecodedMap = E, t.toEncodedMap = V, Object.defineProperty(t, "__e\
sModule", { value: !0 });
  });
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/source-map.js
var xV = g((bx) => {
  "use strict";
  Object.defineProperty(bx, "__esModule", {
    value: !0
  });
  bx.default = void 0;
  var Oc = hh(), LN = Dc(), BN = class {
    static {
      n(this, "SourceMap");
    }
    constructor(e, s) {
      var r;
      this._map = void 0, this._rawMappings = void 0, this._sourceFileName = void 0, this._lastGenLine = 0, this._lastSourceLine = 0, this._lastSourceColumn =
      0, this._inputMap = void 0;
      let i = this._map = new Oc.GenMapping({
        sourceRoot: e.sourceRoot
      });
      if (this._sourceFileName = (r = e.sourceFileName) == null ? void 0 : r.replace(/\\/g, "/"), this._rawMappings = void 0, e.inputSourceMap) {
        this._inputMap = new LN.TraceMap(e.inputSourceMap);
        let o = this._inputMap.resolvedSources;
        if (o.length)
          for (let l = 0; l < o.length; l++) {
            var a;
            (0, Oc.setSourceContent)(i, o[l], (a = this._inputMap.sourcesContent) == null ? void 0 : a[l]);
          }
      }
      if (typeof s == "string" && !e.inputSourceMap)
        (0, Oc.setSourceContent)(i, this._sourceFileName, s);
      else if (typeof s == "object")
        for (let o of Object.keys(s))
          (0, Oc.setSourceContent)(i, o.replace(/\\/g, "/"), s[o]);
    }
    get() {
      return (0, Oc.toEncodedMap)(this._map);
    }
    getDecoded() {
      return (0, Oc.toDecodedMap)(this._map);
    }
    getRawMappings() {
      return this._rawMappings || (this._rawMappings = (0, Oc.allMappings)(this._map));
    }
    mark(e, s, r, i, a, o) {
      var l;
      this._rawMappings = void 0;
      let u;
      if (s != null)
        if (this._inputMap) {
          if (u = (0, LN.originalPositionFor)(this._inputMap, {
            line: s,
            column: r
          }), !u.name && a) {
            let c = (0, LN.originalPositionFor)(this._inputMap, a);
            c.name && (i = c.name);
          }
        } else
          u = {
            source: o?.replace(/\\/g, "/") || this._sourceFileName,
            line: s,
            column: r
          };
      (0, Oc.maybeAddMapping)(this._map, {
        name: i,
        generated: e,
        source: (l = u) == null ? void 0 : l.source,
        original: u
      });
    }
  };
  bx.default = BN;
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/buffer.js
var SV = g((xx) => {
  "use strict";
  Object.defineProperty(xx, "__esModule", {
    value: !0
  });
  xx.default = void 0;
  var MN = class {
    static {
      n(this, "Buffer");
    }
    constructor(e, s) {
      this._map = null, this._buf = "", this._str = "", this._appendCount = 0, this._last = 0, this._queue = [], this._queueCursor = 0, this.
      _canMarkIdName = !0, this._indentChar = "", this._fastIndentations = [], this._position = {
        line: 1,
        column: 0
      }, this._sourcePosition = {
        identifierName: void 0,
        identifierNamePos: void 0,
        line: void 0,
        column: void 0,
        filename: void 0
      }, this._map = e, this._indentChar = s;
      for (let r = 0; r < 64; r++)
        this._fastIndentations.push(s.repeat(r));
      this._allocQueue();
    }
    _allocQueue() {
      let e = this._queue;
      for (let s = 0; s < 16; s++)
        e.push({
          char: 0,
          repeat: 1,
          line: void 0,
          column: void 0,
          identifierName: void 0,
          identifierNamePos: void 0,
          filename: ""
        });
    }
    _pushQueue(e, s, r, i, a) {
      let o = this._queueCursor;
      o === this._queue.length && this._allocQueue();
      let l = this._queue[o];
      l.char = e, l.repeat = s, l.line = r, l.column = i, l.filename = a, this._queueCursor++;
    }
    _popQueue() {
      if (this._queueCursor === 0)
        throw new Error("Cannot pop from empty queue");
      return this._queue[--this._queueCursor];
    }
    get() {
      this._flush();
      let e = this._map, s = {
        code: (this._buf + this._str).trimRight(),
        decodedMap: e?.getDecoded(),
        get __mergedMap() {
          return this.map;
        },
        get map() {
          let r = e ? e.get() : null;
          return s.map = r, r;
        },
        set map(r) {
          Object.defineProperty(s, "map", {
            value: r,
            writable: !0
          });
        },
        get rawMappings() {
          let r = e?.getRawMappings();
          return s.rawMappings = r, r;
        },
        set rawMappings(r) {
          Object.defineProperty(s, "rawMappings", {
            value: r,
            writable: !0
          });
        }
      };
      return s;
    }
    append(e, s) {
      this._flush(), this._append(e, this._sourcePosition, s);
    }
    appendChar(e) {
      this._flush(), this._appendChar(e, 1, this._sourcePosition);
    }
    queue(e) {
      if (e === 10)
        for (; this._queueCursor !== 0; ) {
          let r = this._queue[this._queueCursor - 1].char;
          if (r !== 32 && r !== 9)
            break;
          this._queueCursor--;
        }
      let s = this._sourcePosition;
      this._pushQueue(e, 1, s.line, s.column, s.filename);
    }
    queueIndentation(e) {
      e !== 0 && this._pushQueue(-1, e, void 0, void 0, void 0);
    }
    _flush() {
      let e = this._queueCursor, s = this._queue;
      for (let r = 0; r < e; r++) {
        let i = s[r];
        this._appendChar(i.char, i.repeat, i);
      }
      this._queueCursor = 0;
    }
    _appendChar(e, s, r) {
      if (this._last = e, e === -1) {
        let i = this._fastIndentations[s];
        i !== void 0 ? this._str += i : this._str += s > 1 ? this._indentChar.repeat(s) : this._indentChar;
      } else
        this._str += s > 1 ? String.fromCharCode(e).repeat(s) : String.fromCharCode(e);
      e !== 10 ? (this._mark(r.line, r.column, r.identifierName, r.identifierNamePos, r.filename), this._position.column += s) : (this._position.
      line++, this._position.column = 0), this._canMarkIdName && (r.identifierName = void 0, r.identifierNamePos = void 0);
    }
    _append(e, s, r) {
      let i = e.length, a = this._position;
      if (this._last = e.charCodeAt(i - 1), ++this._appendCount > 4096 ? (+this._str, this._buf += this._str, this._str = e, this._appendCount =
      0) : this._str += e, !r && !this._map) {
        a.column += i;
        return;
      }
      let {
        column: o,
        identifierName: l,
        identifierNamePos: u,
        filename: c
      } = s, p = s.line;
      (l != null || u != null) && this._canMarkIdName && (s.identifierName = void 0, s.identifierNamePos = void 0);
      let h = e.indexOf(`
`), f = 0;
      for (h !== 0 && this._mark(p, o, l, u, c); h !== -1; )
        a.line++, a.column = 0, f = h + 1, f < i && p !== void 0 && this._mark(++p, 0, null, null, c), h = e.indexOf(`
`, f);
      a.column += i - f;
    }
    _mark(e, s, r, i, a) {
      var o;
      (o = this._map) == null || o.mark(this._position, e, s, r, i, a);
    }
    removeTrailingNewline() {
      let e = this._queueCursor;
      e !== 0 && this._queue[e - 1].char === 10 && this._queueCursor--;
    }
    removeLastSemicolon() {
      let e = this._queueCursor;
      e !== 0 && this._queue[e - 1].char === 59 && this._queueCursor--;
    }
    getLastChar() {
      let e = this._queueCursor;
      return e !== 0 ? this._queue[e - 1].char : this._last;
    }
    getNewlineCount() {
      let e = this._queueCursor, s = 0;
      if (e === 0) return this._last === 10 ? 1 : 0;
      for (let r = e - 1; r >= 0 && this._queue[r].char === 10; r--)
        s++;
      return s === e && this._last === 10 ? s + 1 : s;
    }
    endsWithCharAndNewline() {
      let e = this._queue, s = this._queueCursor;
      if (s !== 0)
        return e[s - 1].char !== 10 ? void 0 : s > 1 ? e[s - 2].char : this._last;
    }
    hasContent() {
      return this._queueCursor !== 0 || !!this._last;
    }
    exactSource(e, s) {
      if (!this._map) {
        s();
        return;
      }
      this.source("start", e);
      let r = e.identifierName, i = this._sourcePosition;
      r && (this._canMarkIdName = !1, i.identifierName = r), s(), r && (this._canMarkIdName = !0, i.identifierName = void 0, i.identifierNamePos =
      void 0), this.source("end", e);
    }
    source(e, s) {
      this._map && this._normalizePosition(e, s, 0);
    }
    sourceWithOffset(e, s, r) {
      this._map && this._normalizePosition(e, s, r);
    }
    _normalizePosition(e, s, r) {
      let i = s[e], a = this._sourcePosition;
      i && (a.line = i.line, a.column = Math.max(i.column + r, 0), a.filename = s.filename);
    }
    getCurrentColumn() {
      let e = this._queue, s = this._queueCursor, r = -1, i = 0;
      for (let a = 0; a < s; a++) {
        let o = e[a];
        o.char === 10 && (r = i), i += o.repeat;
      }
      return r === -1 ? this._position.column + i : i - 1 - r;
    }
    getCurrentLine() {
      let e = 0, s = this._queue;
      for (let r = 0; r < this._queueCursor; r++)
        s[r].char === 10 && e++;
      return this._position.line + e;
    }
  };
  xx.default = MN;
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/node/whitespace.js
var CV = g((Px) => {
  "use strict";
  Object.defineProperty(Px, "__esModule", {
    value: !0
  });
  Px.nodes = void 0;
  var ije = fe(), {
    FLIPPED_ALIAS_KEYS: nje,
    isArrayExpression: aje,
    isAssignmentExpression: EV,
    isBinary: AV,
    isBlockStatement: oje,
    isCallExpression: vV,
    isFunction: ug,
    isIdentifier: Sx,
    isLiteral: lje,
    isMemberExpression: FN,
    isObjectExpression: uje,
    isOptionalCallExpression: cje,
    isOptionalMemberExpression: pje,
    isStringLiteral: hje
  } = ije;
  function md(t, e) {
    return t && (FN(t) || pje(t) ? (md(t.object, e), t.computed && md(t.property, e)) : AV(t) || EV(t) ? (md(t.left, e), md(t.right, e)) : vV(
    t) || cje(t) ? (e.hasCall = !0, md(t.callee, e)) : ug(t) ? e.hasFunction = !0 : Sx(t) && (e.hasHelper = e.hasHelper || t.callee && Xl(t.
    callee))), e;
  }
  n(md, "crawlInternal");
  function PV(t) {
    return md(t, {
      hasCall: !1,
      hasFunction: !1,
      hasHelper: !1
    });
  }
  n(PV, "crawl");
  function Xl(t) {
    return t ? FN(t) ? Xl(t.object) || Xl(t.property) : Sx(t) ? t.name === "require" || t.name.charCodeAt(0) === 95 : vV(t) ? Xl(t.callee) :
    AV(t) || EV(t) ? Sx(t.left) && Xl(t.left) || Xl(t.right) : !1 : !1;
  }
  n(Xl, "isHelper");
  function fje(t) {
    return lje(t) || uje(t) || aje(t) || Sx(t) || FN(t);
  }
  n(fje, "isType");
  var fh = Px.nodes = {
    AssignmentExpression(t) {
      let e = PV(t.right);
      if (e.hasCall && e.hasHelper || e.hasFunction)
        return e.hasFunction ? 3 : 2;
    },
    SwitchCase(t, e) {
      return (t.consequent.length || e.cases[0] === t ? 1 : 0) | (!t.consequent.length && e.cases[e.cases.length - 1] === t ? 2 : 0);
    },
    LogicalExpression(t) {
      if (ug(t.left) || ug(t.right))
        return 2;
    },
    Literal(t) {
      if (hje(t) && t.value === "use strict")
        return 2;
    },
    CallExpression(t) {
      if (ug(t.callee) || Xl(t))
        return 3;
    },
    OptionalCallExpression(t) {
      if (ug(t.callee))
        return 3;
    },
    VariableDeclaration(t) {
      for (let e = 0; e < t.declarations.length; e++) {
        let s = t.declarations[e], r = Xl(s.id) && !fje(s.init);
        if (!r && s.init) {
          let i = PV(s.init);
          r = Xl(s.init) && i.hasCall || i.hasFunction;
        }
        if (r)
          return 3;
      }
    },
    IfStatement(t) {
      if (oje(t.consequent))
        return 3;
    }
  };
  fh.ObjectProperty = fh.ObjectTypeProperty = fh.ObjectMethod = function(t, e) {
    if (e.properties[0] === t)
      return 1;
  };
  fh.ObjectTypeCallProperty = function(t, e) {
    var s;
    if (e.callProperties[0] === t && !((s = e.properties) != null && s.length))
      return 1;
  };
  fh.ObjectTypeIndexer = function(t, e) {
    var s, r;
    if (e.indexers[0] === t && !((s = e.properties) != null && s.length) && !((r = e.callProperties) != null && r.length))
      return 1;
  };
  fh.ObjectTypeInternalSlot = function(t, e) {
    var s, r, i;
    if (e.internalSlots[0] === t && !((s = e.properties) != null && s.length) && !((r = e.callProperties) != null && r.length) && !((i = e.indexers) !=
    null && i.length))
      return 1;
  };
  [["Function", !0], ["Class", !0], ["Loop", !0], ["LabeledStatement", !0], ["SwitchStatement", !0], ["TryStatement", !0]].forEach(function([
  t, e]) {
    [t].concat(nje[t] || []).forEach(function(s) {
      let r = e ? 3 : 0;
      fh[s] = () => r;
    });
  });
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/node/parentheses.js
var LV = g((xs) => {
  "use strict";
  Object.defineProperty(xs, "__esModule", {
    value: !0
  });
  xs.AssignmentExpression = $je;
  xs.Binary = DV;
  xs.BinaryExpression = Rje;
  xs.ClassExpression = Kje;
  xs.ArrowFunctionExpression = xs.ConditionalExpression = _V;
  xs.DoExpression = Ije;
  xs.FunctionExpression = Vje;
  xs.FunctionTypeAnnotation = vje;
  xs.Identifier = Jje;
  xs.LogicalExpression = Hje;
  xs.NullableTypeAnnotation = Aje;
  xs.ObjectExpression = wje;
  xs.OptionalIndexedAccessType = kje;
  xs.OptionalCallExpression = xs.OptionalMemberExpression = Wje;
  xs.SequenceExpression = qje;
  xs.TSSatisfiesExpression = xs.TSAsExpression = Dje;
  xs.TSConditionalType = Oje;
  xs.TSConstructorType = xs.TSFunctionType = jje;
  xs.TSInferType = Bje;
  xs.TSInstantiationExpression = Fje;
  xs.TSIntersectionType = Lje;
  xs.UnaryLike = xs.TSTypeAssertion = OV;
  xs.TSTypeOperator = Mje;
  xs.TSUnionType = _je;
  xs.IntersectionTypeAnnotation = xs.UnionTypeAnnotation = Nje;
  xs.UpdateExpression = Cje;
  xs.AwaitExpression = xs.YieldExpression = Uje;
  var dje = fe(), Aa = _c(), {
    isArrayTypeAnnotation: mje,
    isBinaryExpression: yje,
    isCallExpression: gje,
    isForOfStatement: Tje,
    isIndexedAccessType: bje,
    isMemberExpression: NV,
    isObjectPattern: xje,
    isOptionalMemberExpression: Sje,
    isYieldExpression: Pje,
    isStatement: Eje
  } = dje, wV = /* @__PURE__ */ new Map([["||", 0], ["??", 0], ["|>", 0], ["&&", 1], ["|", 2], ["^", 3], ["&", 4], ["==", 5], ["===", 5], ["\
!=", 5], ["!==", 5], ["<", 6], [">", 6], ["<=", 6], [">=", 6], ["in", 6], ["instanceof", 6], [">>", 7], ["<<", 7], [">>>", 7], ["+", 8], ["-",
  8], ["*", 9], ["/", 9], ["%", 9], ["**", 10]]);
  function IV(t, e) {
    if (e === "BinaryExpression" || e === "LogicalExpression")
      return wV.get(t.operator);
    if (e === "TSAsExpression" || e === "TSSatisfiesExpression")
      return wV.get("in");
  }
  n(IV, "getBinaryPrecedence");
  function jN(t) {
    return t === "TSAsExpression" || t === "TSSatisfiesExpression" || t === "TSTypeAssertion";
  }
  n(jN, "isTSTypeExpression");
  var Ex = /* @__PURE__ */ n((t, e) => {
    let s = e.type;
    return (s === "ClassDeclaration" || s === "ClassExpression") && e.superClass === t;
  }, "isClassExtendsClause"), Ax = /* @__PURE__ */ n((t, e) => {
    let s = e.type;
    return (s === "MemberExpression" || s === "OptionalMemberExpression") && e.object === t || (s === "CallExpression" || s === "OptionalCal\
lExpression" || s === "NewExpression") && e.callee === t || s === "TaggedTemplateExpression" && e.tag === t || s === "TSNonNullExpression";
  }, "hasPostfixPart");
  function Aje(t, e) {
    return mje(e);
  }
  n(Aje, "NullableTypeAnnotation");
  function vje(t, e, s) {
    let r = e.type;
    return r === "UnionTypeAnnotation" || r === "IntersectionTypeAnnotation" || r === "ArrayTypeAnnotation" || !!(s & Aa.TokenContext.arrowFlowReturnType);
  }
  n(vje, "FunctionTypeAnnotation");
  function Cje(t, e) {
    return Ax(t, e) || Ex(t, e);
  }
  n(Cje, "UpdateExpression");
  function kV(t) {
    return !!(t & (Aa.TokenContext.expressionStatement | Aa.TokenContext.arrowBody));
  }
  n(kV, "needsParenBeforeExpressionBrace");
  function wje(t, e, s) {
    return kV(s);
  }
  n(wje, "ObjectExpression");
  function Ije(t, e, s) {
    return !t.async && !!(s & Aa.TokenContext.expressionStatement);
  }
  n(Ije, "DoExpression");
  function DV(t, e) {
    let s = e.type;
    if (t.type === "BinaryExpression" && t.operator === "**" && s === "BinaryExpression" && e.operator === "**")
      return e.left === t;
    if (Ex(t, e) || Ax(t, e) || s === "UnaryExpression" || s === "SpreadElement" || s === "AwaitExpression")
      return !0;
    let r = IV(e, s);
    if (r != null) {
      let i = IV(t, t.type);
      if (r === i && s === "BinaryExpression" && e.right === t || r > i)
        return !0;
    }
  }
  n(DV, "Binary");
  function Nje(t, e) {
    let s = e.type;
    return s === "ArrayTypeAnnotation" || s === "NullableTypeAnnotation" || s === "IntersectionTypeAnnotation" || s === "UnionTypeAnnotation";
  }
  n(Nje, "UnionTypeAnnotation");
  function kje(t, e) {
    return bje(e) && e.objectType === t;
  }
  n(kje, "OptionalIndexedAccessType");
  function Dje(t, e) {
    return (e.type === "AssignmentExpression" || e.type === "AssignmentPattern") && e.left === t || e.type === "BinaryExpression" && (e.operator ===
    "|" || e.operator === "&") && t === e.left ? !0 : DV(t, e);
  }
  n(Dje, "TSAsExpression");
  function Oje(t, e) {
    let s = e.type;
    return s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType" || s === "TSTypeOperator" || s ===
    "TSTypeParameter" || (s === "TSIntersectionType" || s === "TSUnionType") && e.types[0] === t || s === "TSConditionalType" && (e.checkType ===
    t || e.extendsType === t);
  }
  n(Oje, "TSConditionalType");
  function _je(t, e) {
    let s = e.type;
    return s === "TSIntersectionType" || s === "TSTypeOperator" || s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t ||
    s === "TSOptionalType";
  }
  n(_je, "TSUnionType");
  function Lje(t, e) {
    let s = e.type;
    return s === "TSTypeOperator" || s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType";
  }
  n(Lje, "TSIntersectionType");
  function Bje(t, e) {
    let s = e.type;
    return !!(s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType" || t.typeParameter.constraint &&
    (s === "TSIntersectionType" || s === "TSUnionType") && e.types[0] === t);
  }
  n(Bje, "TSInferType");
  function Mje(t, e) {
    let s = e.type;
    return s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType";
  }
  n(Mje, "TSTypeOperator");
  function Fje(t, e) {
    let s = e.type;
    return (s === "CallExpression" || s === "OptionalCallExpression" || s === "NewExpression" || s === "TSInstantiationExpression") && !!e.typeParameters;
  }
  n(Fje, "TSInstantiationExpression");
  function jje(t, e) {
    let s = e.type;
    return s === "TSIntersectionType" || s === "TSUnionType" || s === "TSTypeOperator" || s === "TSOptionalType" || s === "TSArrayType" || s ===
    "TSIndexedAccessType" && e.objectType === t || s === "TSConditionalType" && (e.checkType === t || e.extendsType === t);
  }
  n(jje, "TSFunctionType");
  function Rje(t, e, s, r) {
    return t.operator === "in" && r;
  }
  n(Rje, "BinaryExpression");
  function qje(t, e) {
    let s = e.type;
    return s === "SequenceExpression" || s === "ParenthesizedExpression" || s === "MemberExpression" && e.property === t || s === "OptionalM\
emberExpression" && e.property === t || s === "TemplateLiteral" ? !1 : s === "ClassDeclaration" ? !0 : s === "ForOfStatement" ? e.right === t :
    s === "ExportDefaultDeclaration" ? !0 : !Eje(e);
  }
  n(qje, "SequenceExpression");
  function Uje(t, e) {
    let s = e.type;
    return s === "BinaryExpression" || s === "LogicalExpression" || s === "UnaryExpression" || s === "SpreadElement" || Ax(t, e) || s === "A\
waitExpression" && Pje(t) || s === "ConditionalExpression" && t === e.test || Ex(t, e) || jN(s);
  }
  n(Uje, "YieldExpression");
  function Kje(t, e, s) {
    return !!(s & (Aa.TokenContext.expressionStatement | Aa.TokenContext.exportDefault));
  }
  n(Kje, "ClassExpression");
  function OV(t, e) {
    return Ax(t, e) || yje(e) && e.operator === "**" && e.left === t || Ex(t, e);
  }
  n(OV, "UnaryLike");
  function Vje(t, e, s) {
    return !!(s & (Aa.TokenContext.expressionStatement | Aa.TokenContext.exportDefault));
  }
  n(Vje, "FunctionExpression");
  function _V(t, e) {
    let s = e.type;
    return s === "UnaryExpression" || s === "SpreadElement" || s === "BinaryExpression" || s === "LogicalExpression" || s === "ConditionalEx\
pression" && e.test === t || s === "AwaitExpression" || jN(s) ? !0 : OV(t, e);
  }
  n(_V, "ConditionalExpression");
  function Wje(t, e) {
    return gje(e) && e.callee === t || NV(e) && e.object === t;
  }
  n(Wje, "OptionalMemberExpression");
  function $je(t, e, s) {
    return kV(s) && xje(t.left) ? !0 : _V(t, e);
  }
  n($je, "AssignmentExpression");
  function Hje(t, e) {
    let s = e.type;
    if (jN(s)) return !0;
    if (s !== "LogicalExpression") return !1;
    switch (t.operator) {
      case "||":
        return e.operator === "??" || e.operator === "&&";
      case "&&":
        return e.operator === "??";
      case "??":
        return e.operator !== "??";
    }
  }
  n(Hje, "LogicalExpression");
  function Jje(t, e, s, r, i) {
    var a;
    let o = e.type;
    if ((a = t.extra) != null && a.parenthesized && o === "AssignmentExpression" && e.left === t) {
      let l = e.right.type;
      if ((l === "FunctionExpression" || l === "ClassExpression") && e.right.id == null)
        return !0;
    }
    return i && i(t) !== t.name ? !1 : t.name === "let" ? (NV(e, {
      object: t,
      computed: !0
    }) || Sje(e, {
      object: t,
      computed: !0,
      optional: !1
    })) && s & (Aa.TokenContext.expressionStatement | Aa.TokenContext.forHead | Aa.TokenContext.forInHead) ? !0 : !!(s & Aa.TokenContext.forOfHead) :
    t.name === "async" && Tje(e, {
      left: t,
      await: !1
    });
  }
  n(Jje, "Identifier");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/node/index.js
var _c = g((zl) => {
  "use strict";
  Object.defineProperty(zl, "__esModule", {
    value: !0
  });
  zl.TokenContext = void 0;
  zl.isLastChild = u8e;
  zl.needsParens = l8e;
  zl.needsWhitespace = qN;
  zl.needsWhitespaceAfter = o8e;
  zl.needsWhitespaceBefore = a8e;
  var Yje = CV(), Xje = LV(), zje = fe(), {
    FLIPPED_ALIAS_KEYS: Gje,
    VISITOR_KEYS: Qje,
    isCallExpression: BV,
    isDecorator: Zje,
    isExpressionStatement: e8e,
    isMemberExpression: t8e,
    isNewExpression: s8e,
    isParenthesizedExpression: r8e
  } = zje, l9s = zl.TokenContext = {
    expressionStatement: 1,
    arrowBody: 2,
    exportDefault: 4,
    forHead: 8,
    forInHead: 16,
    forOfHead: 32,
    arrowFlowReturnType: 64
  };
  function MV(t) {
    let e = /* @__PURE__ */ new Map();
    function s(r, i) {
      let a = e.get(r);
      e.set(r, a ? function(o, l, u, c, p) {
        var h;
        return (h = a(o, l, u, c, p)) != null ? h : i(o, l, u, c, p);
      } : i);
    }
    n(s, "add");
    for (let r of Object.keys(t)) {
      let i = Gje[r];
      if (i)
        for (let a of i)
          s(a, t[r]);
      else
        s(r, t[r]);
    }
    return e;
  }
  n(MV, "expandAliases");
  var i8e = MV(Xje), n8e = MV(Yje.nodes);
  function FV(t) {
    return BV(t) ? !0 : t8e(t) && FV(t.object);
  }
  n(FV, "isOrHasCallExpression");
  function qN(t, e, s) {
    var r;
    if (!t) return !1;
    e8e(t) && (t = t.expression);
    let i = (r = n8e.get(t.type)) == null ? void 0 : r(t, e);
    return typeof i == "number" ? (i & s) !== 0 : !1;
  }
  n(qN, "needsWhitespace");
  function a8e(t, e) {
    return qN(t, e, 1);
  }
  n(a8e, "needsWhitespaceBefore");
  function o8e(t, e) {
    return qN(t, e, 2);
  }
  n(o8e, "needsWhitespaceAfter");
  function l8e(t, e, s, r, i) {
    var a;
    return e ? s8e(e) && e.callee === t && FV(t) ? !0 : Zje(e) ? !RN(t) && !(BV(t) && RN(t.callee)) && !r8e(t) : (a = i8e.get(t.type)) == null ?
    void 0 : a(t, e, s, r, i) : !1;
  }
  n(l8e, "needsParens");
  function RN(t) {
    switch (t.type) {
      case "Identifier":
        return !0;
      case "MemberExpression":
        return !t.computed && t.property.type === "Identifier" && RN(t.object);
      default:
        return !1;
    }
  }
  n(RN, "isDecoratorMemberExpression");
  function u8e(t, e) {
    let s = Qje[t.type];
    for (let r = s.length - 1; r >= 0; r--) {
      let i = t[s[r]];
      if (i === e)
        return !0;
      if (Array.isArray(i)) {
        let a = i.length - 1;
        for (; a >= 0 && i[a] === null; ) a--;
        return a >= 0 && i[a] === e;
      } else if (i)
        return !1;
    }
    return !1;
  }
  n(u8e, "isLastChild");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/token-map.js
var jV = g((vx) => {
  "use strict";
  Object.defineProperty(vx, "__esModule", {
    value: !0
  });
  vx.TokenMap = void 0;
  var c8e = fe(), {
    traverseFast: p8e,
    VISITOR_KEYS: h8e
  } = c8e, UN = class {
    static {
      n(this, "TokenMap");
    }
    constructor(e, s, r) {
      this._tokens = void 0, this._source = void 0, this._nodesToTokenIndexes = /* @__PURE__ */ new Map(), this._nodesOccurrencesCountCache =
      /* @__PURE__ */ new Map(), this._tokensCache = /* @__PURE__ */ new Map(), this._tokens = s, this._source = r, p8e(e, (i) => {
        let a = this._getTokensIndexesOfNode(i);
        a.length > 0 && this._nodesToTokenIndexes.set(i, a);
      }), this._tokensCache = null;
    }
    has(e) {
      return this._nodesToTokenIndexes.has(e);
    }
    getIndexes(e) {
      return this._nodesToTokenIndexes.get(e);
    }
    find(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (r)
        for (let i = 0; i < r.length; i++) {
          let a = r[i], o = this._tokens[a];
          if (s(o, a)) return o;
        }
      return null;
    }
    findLastIndex(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (r)
        for (let i = r.length - 1; i >= 0; i--) {
          let a = r[i], o = this._tokens[a];
          if (s(o, a)) return a;
        }
      return -1;
    }
    findMatching(e, s, r = 0) {
      let i = this._nodesToTokenIndexes.get(e);
      if (i) {
        let a = 0, o = r;
        if (o > 1) {
          let l = this._nodesOccurrencesCountCache.get(e);
          l && l.test === s && l.count < o && (a = l.i + 1, r -= l.count + 1);
        }
        for (; a < i.length; a++) {
          let l = this._tokens[i[a]];
          if (this.matchesOriginal(l, s)) {
            if (r === 0)
              return o > 0 && this._nodesOccurrencesCountCache.set(e, {
                test: s,
                count: o,
                i: a
              }), l;
            r--;
          }
        }
      }
      return null;
    }
    matchesOriginal(e, s) {
      return e.end - e.start !== s.length ? !1 : e.value != null ? e.value === s : this._source.startsWith(s, e.start);
    }
    startMatches(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (!r) return !1;
      let i = this._tokens[r[0]];
      return i.start !== e.start ? !1 : this.matchesOriginal(i, s);
    }
    endMatches(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (!r) return !1;
      let i = this._tokens[r[r.length - 1]];
      return i.end !== e.end ? !1 : this.matchesOriginal(i, s);
    }
    _getTokensIndexesOfNode(e) {
      if (e.start == null || e.end == null) return [];
      let {
        first: s,
        last: r
      } = this._findTokensOfNode(e, 0, this._tokens.length - 1), i = s, a = f8e(e);
      (e.type === "ExportNamedDeclaration" || e.type === "ExportDefaultDeclaration") && e.declaration && e.declaration.type === "ClassDeclar\
ation" && a.next();
      let o = [];
      for (let l of a) {
        if (l == null || l.start == null || l.end == null) continue;
        let u = this._findTokensOfNode(l, i, r), c = u.first;
        for (let p = i; p < c; p++) o.push(p);
        i = u.last + 1;
      }
      for (let l = i; l <= r; l++) o.push(l);
      return o;
    }
    _findTokensOfNode(e, s, r) {
      let i = this._tokensCache.get(e);
      if (i) return i;
      let a = this._findFirstTokenOfNode(e.start, s, r), o = this._findLastTokenOfNode(e.end, a, r);
      return this._tokensCache.set(e, {
        first: a,
        last: o
      }), {
        first: a,
        last: o
      };
    }
    _findFirstTokenOfNode(e, s, r) {
      for (; s <= r; ) {
        let i = r + s >> 1;
        if (e < this._tokens[i].start)
          r = i - 1;
        else if (e > this._tokens[i].start)
          s = i + 1;
        else
          return i;
      }
      return s;
    }
    _findLastTokenOfNode(e, s, r) {
      for (; s <= r; ) {
        let i = r + s >> 1;
        if (e < this._tokens[i].end)
          r = i - 1;
        else if (e > this._tokens[i].end)
          s = i + 1;
        else
          return i;
      }
      return r;
    }
  };
  vx.TokenMap = UN;
  function* f8e(t) {
    if (t.type === "TemplateLiteral") {
      yield t.quasis[0];
      for (let s = 1; s < t.quasis.length; s++)
        yield t.expressions[s - 1], yield t.quasis[s];
      return;
    }
    let e = h8e[t.type];
    for (let s of e) {
      let r = t[s];
      r && (Array.isArray(r) ? yield* r : yield r);
    }
  }
  n(f8e, "childrenIterator");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/generators/template-literals.js
var RV = g((yd) => {
  "use strict";
  Object.defineProperty(yd, "__esModule", {
    value: !0
  });
  yd.TaggedTemplateExpression = d8e;
  yd.TemplateElement = m8e;
  yd.TemplateLiteral = g8e;
  yd._printTemplate = y8e;
  function d8e(t) {
    this.print(t.tag), this.print(t.typeParameters), this.print(t.quasi);
  }
  n(d8e, "TaggedTemplateExpression");
  function m8e() {
    throw new Error("TemplateElement printing is handled in TemplateLiteral");
  }
  n(m8e, "TemplateElement");
  function y8e(t, e) {
    let s = t.quasis, r = "`";
    for (let i = 0; i < s.length - 1; i++)
      if (r += s[i].value.raw, this.token(r + "${", !0), this.print(e[i]), r = "}", this.tokenMap) {
        let a = this.tokenMap.findMatching(t, "}", i);
        a && this._catchUpTo(a.loc.start);
      }
    r += s[s.length - 1].value.raw, this.token(r + "`", !0);
  }
  n(y8e, "_printTemplate");
  function g8e(t) {
    this._printTemplate(t, t.expressions);
  }
  n(g8e, "TemplateLiteral");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/generators/expressions.js
var UV = g((lr) => {
  "use strict";
  Object.defineProperty(lr, "__esModule", {
    value: !0
  });
  lr.LogicalExpression = lr.BinaryExpression = lr.AssignmentExpression = V8e;
  lr.AssignmentPattern = K8e;
  lr.AwaitExpression = j8e;
  lr.BindExpression = W8e;
  lr.CallExpression = M8e;
  lr.ConditionalExpression = w8e;
  lr.Decorator = _8e;
  lr.DoExpression = A8e;
  lr.EmptyStatement = q8e;
  lr.ExpressionStatement = U8e;
  lr.Import = F8e;
  lr.MemberExpression = $8e;
  lr.MetaProperty = H8e;
  lr.ModuleExpression = X8e;
  lr.NewExpression = I8e;
  lr.OptionalCallExpression = B8e;
  lr.OptionalMemberExpression = L8e;
  lr.ParenthesizedExpression = v8e;
  lr.PrivateName = J8e;
  lr.SequenceExpression = N8e;
  lr.Super = D8e;
  lr.ThisExpression = k8e;
  lr.UnaryExpression = E8e;
  lr.UpdateExpression = C8e;
  lr.V8IntrinsicIdentifier = Y8e;
  lr.YieldExpression = R8e;
  lr._shouldPrintDecoratorsBeforeExport = O8e;
  var T8e = fe(), b8e = _c(), {
    isCallExpression: x8e,
    isLiteral: qV,
    isMemberExpression: KN,
    isNewExpression: S8e,
    isPattern: P8e
  } = T8e;
  function E8e(t) {
    let {
      operator: e
    } = t;
    e === "void" || e === "delete" || e === "typeof" || e === "throw" ? (this.word(e), this.space()) : this.token(e), this.print(t.argument);
  }
  n(E8e, "UnaryExpression");
  function A8e(t) {
    t.async && (this.word("async", !0), this.space()), this.word("do"), this.space(), this.print(t.body);
  }
  n(A8e, "DoExpression");
  function v8e(t) {
    this.tokenChar(40);
    let e = this.enterDelimited();
    this.print(t.expression), e(), this.rightParens(t);
  }
  n(v8e, "ParenthesizedExpression");
  function C8e(t) {
    t.prefix ? (this.token(t.operator), this.print(t.argument)) : (this.print(t.argument, !0), this.token(t.operator));
  }
  n(C8e, "UpdateExpression");
  function w8e(t) {
    this.print(t.test), this.space(), this.tokenChar(63), this.space(), this.print(t.consequent), this.space(), this.tokenChar(58), this.space(),
    this.print(t.alternate);
  }
  n(w8e, "ConditionalExpression");
  function I8e(t, e) {
    if (this.word("new"), this.space(), this.print(t.callee), this.format.minified && t.arguments.length === 0 && !t.optional && !x8e(e, {
      callee: t
    }) && !KN(e) && !S8e(e) || (this.print(t.typeArguments), this.print(t.typeParameters), t.optional && this.token("?."), t.arguments.length ===
    0 && this.tokenMap && !this.tokenMap.endMatches(t, ")")))
      return;
    this.tokenChar(40);
    let s = this.enterDelimited();
    this.printList(t.arguments, this.shouldPrintTrailingComma(")")), s(), this.rightParens(t);
  }
  n(I8e, "NewExpression");
  function N8e(t) {
    this.printList(t.expressions);
  }
  n(N8e, "SequenceExpression");
  function k8e() {
    this.word("this");
  }
  n(k8e, "ThisExpression");
  function D8e() {
    this.word("super");
  }
  n(D8e, "Super");
  function O8e(t) {
    return typeof this.format.decoratorsBeforeExport == "boolean" ? this.format.decoratorsBeforeExport : typeof t.start == "number" && t.start ===
    t.declaration.start;
  }
  n(O8e, "_shouldPrintDecoratorsBeforeExport");
  function _8e(t) {
    this.tokenChar(64), this.print(t.expression), this.newline();
  }
  n(_8e, "Decorator");
  function L8e(t) {
    let {
      computed: e
    } = t, {
      optional: s,
      property: r
    } = t;
    if (this.print(t.object), !e && KN(r))
      throw new TypeError("Got a MemberExpression for MemberExpression property");
    qV(r) && typeof r.value == "number" && (e = !0), s && this.token("?."), e ? (this.tokenChar(91), this.print(r), this.tokenChar(93)) : (s ||
    this.tokenChar(46), this.print(r));
  }
  n(L8e, "OptionalMemberExpression");
  function B8e(t) {
    this.print(t.callee), this.print(t.typeParameters), t.optional && this.token("?."), this.print(t.typeArguments), this.tokenChar(40);
    let e = this.enterDelimited();
    this.printList(t.arguments), e(), this.rightParens(t);
  }
  n(B8e, "OptionalCallExpression");
  function M8e(t) {
    this.print(t.callee), this.print(t.typeArguments), this.print(t.typeParameters), this.tokenChar(40);
    let e = this.enterDelimited();
    this.printList(t.arguments, this.shouldPrintTrailingComma(")")), e(), this.rightParens(t);
  }
  n(M8e, "CallExpression");
  function F8e() {
    this.word("import");
  }
  n(F8e, "Import");
  function j8e(t) {
    this.word("await"), t.argument && (this.space(), this.printTerminatorless(t.argument));
  }
  n(j8e, "AwaitExpression");
  function R8e(t) {
    this.word("yield", !0), t.delegate ? (this.tokenChar(42), t.argument && (this.space(), this.print(t.argument))) : t.argument && (this.space(),
    this.printTerminatorless(t.argument));
  }
  n(R8e, "YieldExpression");
  function q8e() {
    this.semicolon(!0);
  }
  n(q8e, "EmptyStatement");
  function U8e(t) {
    this.tokenContext |= b8e.TokenContext.expressionStatement, this.print(t.expression), this.semicolon();
  }
  n(U8e, "ExpressionStatement");
  function K8e(t) {
    this.print(t.left), (t.left.type === "Identifier" || P8e(t.left)) && (t.left.optional && this.tokenChar(63), this.print(t.left.typeAnnotation)),
    this.space(), this.tokenChar(61), this.space(), this.print(t.right);
  }
  n(K8e, "AssignmentPattern");
  function V8e(t) {
    this.print(t.left), this.space(), t.operator === "in" || t.operator === "instanceof" ? this.word(t.operator) : (this.token(t.operator), this.
    _endsWithDiv = t.operator === "/"), this.space(), this.print(t.right);
  }
  n(V8e, "AssignmentExpression");
  function W8e(t) {
    this.print(t.object), this.token("::"), this.print(t.callee);
  }
  n(W8e, "BindExpression");
  function $8e(t) {
    if (this.print(t.object), !t.computed && KN(t.property))
      throw new TypeError("Got a MemberExpression for MemberExpression property");
    let e = t.computed;
    if (qV(t.property) && typeof t.property.value == "number" && (e = !0), e) {
      let s = this.enterDelimited();
      this.tokenChar(91), this.print(t.property), this.tokenChar(93), s();
    } else
      this.tokenChar(46), this.print(t.property);
  }
  n($8e, "MemberExpression");
  function H8e(t) {
    this.print(t.meta), this.tokenChar(46), this.print(t.property);
  }
  n(H8e, "MetaProperty");
  function J8e(t) {
    this.tokenChar(35), this.print(t.id);
  }
  n(J8e, "PrivateName");
  function Y8e(t) {
    this.tokenChar(37), this.word(t.name);
  }
  n(Y8e, "V8IntrinsicIdentifier");
  function X8e(t) {
    this.word("module", !0), this.space(), this.tokenChar(123), this.indent();
    let {
      body: e
    } = t;
    (e.body.length || e.directives.length) && this.newline(), this.print(e), this.dedent(), this.rightBrace(t);
  }
  n(X8e, "ModuleExpression");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/generators/statements.js
var $V = g((Jr) => {
  "use strict";
  Object.defineProperty(Jr, "__esModule", {
    value: !0
  });
  Jr.BreakStatement = n6e;
  Jr.CatchClause = p6e;
  Jr.ContinueStatement = a6e;
  Jr.DebuggerStatement = d6e;
  Jr.DoWhileStatement = i6e;
  Jr.ForOfStatement = Jr.ForInStatement = void 0;
  Jr.ForStatement = s6e;
  Jr.IfStatement = t6e;
  Jr.LabeledStatement = u6e;
  Jr.ReturnStatement = o6e;
  Jr.SwitchCase = f6e;
  Jr.SwitchStatement = h6e;
  Jr.ThrowStatement = l6e;
  Jr.TryStatement = c6e;
  Jr.VariableDeclaration = m6e;
  Jr.VariableDeclarator = y6e;
  Jr.WhileStatement = r6e;
  Jr.WithStatement = e6e;
  var z8e = fe(), VN = _c(), {
    isFor: KV,
    isForStatement: G8e,
    isIfStatement: Q8e,
    isStatement: Z8e
  } = z8e;
  function e6e(t) {
    this.word("with"), this.space(), this.tokenChar(40), this.print(t.object), this.tokenChar(41), this.printBlock(t);
  }
  n(e6e, "WithStatement");
  function t6e(t) {
    this.word("if"), this.space(), this.tokenChar(40), this.print(t.test), this.tokenChar(41), this.space();
    let e = t.alternate && Q8e(VV(t.consequent));
    e && (this.tokenChar(123), this.newline(), this.indent()), this.printAndIndentOnComments(t.consequent), e && (this.dedent(), this.newline(),
    this.tokenChar(125)), t.alternate && (this.endsWith(125) && this.space(), this.word("else"), this.space(), this.printAndIndentOnComments(
    t.alternate));
  }
  n(t6e, "IfStatement");
  function VV(t) {
    let {
      body: e
    } = t;
    return Z8e(e) === !1 ? t : VV(e);
  }
  n(VV, "getLastStatement");
  function s6e(t) {
    this.word("for"), this.space(), this.tokenChar(40);
    {
      let e = this.enterForStatementInit();
      this.tokenContext |= VN.TokenContext.forHead, this.print(t.init), e();
    }
    this.tokenChar(59), t.test && (this.space(), this.print(t.test)), this.token(";", !1, 1), t.update && (this.space(), this.print(t.update)),
    this.tokenChar(41), this.printBlock(t);
  }
  n(s6e, "ForStatement");
  function r6e(t) {
    this.word("while"), this.space(), this.tokenChar(40), this.print(t.test), this.tokenChar(41), this.printBlock(t);
  }
  n(r6e, "WhileStatement");
  function WV(t) {
    this.word("for"), this.space();
    let e = t.type === "ForOfStatement";
    e && t.await && (this.word("await"), this.space()), this.noIndentInnerCommentsHere(), this.tokenChar(40);
    {
      let s = e ? null : this.enterForStatementInit();
      this.tokenContext |= e ? VN.TokenContext.forOfHead : VN.TokenContext.forInHead, this.print(t.left), s?.();
    }
    this.space(), this.word(e ? "of" : "in"), this.space(), this.print(t.right), this.tokenChar(41), this.printBlock(t);
  }
  n(WV, "ForXStatement");
  var g9s = Jr.ForInStatement = WV, T9s = Jr.ForOfStatement = WV;
  function i6e(t) {
    this.word("do"), this.space(), this.print(t.body), this.space(), this.word("while"), this.space(), this.tokenChar(40), this.print(t.test),
    this.tokenChar(41), this.semicolon();
  }
  n(i6e, "DoWhileStatement");
  function Cx(t, e) {
    e && (t.space(), t.printTerminatorless(e)), t.semicolon();
  }
  n(Cx, "printStatementAfterKeyword");
  function n6e(t) {
    this.word("break"), Cx(this, t.label);
  }
  n(n6e, "BreakStatement");
  function a6e(t) {
    this.word("continue"), Cx(this, t.label);
  }
  n(a6e, "ContinueStatement");
  function o6e(t) {
    this.word("return"), Cx(this, t.argument);
  }
  n(o6e, "ReturnStatement");
  function l6e(t) {
    this.word("throw"), Cx(this, t.argument);
  }
  n(l6e, "ThrowStatement");
  function u6e(t) {
    this.print(t.label), this.tokenChar(58), this.space(), this.print(t.body);
  }
  n(u6e, "LabeledStatement");
  function c6e(t) {
    this.word("try"), this.space(), this.print(t.block), this.space(), t.handlers ? this.print(t.handlers[0]) : this.print(t.handler), t.finalizer &&
    (this.space(), this.word("finally"), this.space(), this.print(t.finalizer));
  }
  n(c6e, "TryStatement");
  function p6e(t) {
    this.word("catch"), this.space(), t.param && (this.tokenChar(40), this.print(t.param), this.print(t.param.typeAnnotation), this.tokenChar(
    41), this.space()), this.print(t.body);
  }
  n(p6e, "CatchClause");
  function h6e(t) {
    this.word("switch"), this.space(), this.tokenChar(40), this.print(t.discriminant), this.tokenChar(41), this.space(), this.tokenChar(123),
    this.printSequence(t.cases, !0, void 0, /* @__PURE__ */ n(function(s, r) {
      if (!s && t.cases[t.cases.length - 1] === r) return -1;
    }, "addNewlines")), this.rightBrace(t);
  }
  n(h6e, "SwitchStatement");
  function f6e(t) {
    t.test ? (this.word("case"), this.space(), this.print(t.test), this.tokenChar(58)) : (this.word("default"), this.tokenChar(58)), t.consequent.
    length && (this.newline(), this.printSequence(t.consequent, !0));
  }
  n(f6e, "SwitchCase");
  function d6e() {
    this.word("debugger"), this.semicolon();
  }
  n(d6e, "DebuggerStatement");
  function m6e(t, e) {
    t.declare && (this.word("declare"), this.space());
    let {
      kind: s
    } = t;
    s === "await using" ? (this.word("await"), this.space(), this.word("using", !0)) : this.word(s, s === "using"), this.space();
    let r = !1;
    if (!KV(e))
      for (let i of t.declarations)
        i.init && (r = !0);
    if (this.printList(t.declarations, void 0, void 0, t.declarations.length > 1, r ? function(i) {
      this.token(",", !1, i), this.newline();
    } : void 0), KV(e)) {
      if (G8e(e)) {
        if (e.init === t) return;
      } else if (e.left === t) return;
    }
    this.semicolon();
  }
  n(m6e, "VariableDeclaration");
  function y6e(t) {
    this.print(t.id), t.definite && this.tokenChar(33), this.print(t.id.typeAnnotation), t.init && (this.space(), this.tokenChar(61), this.space(),
    this.print(t.init));
  }
  n(y6e, "VariableDeclarator");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/generators/classes.js
var HV = g((va) => {
  "use strict";
  Object.defineProperty(va, "__esModule", {
    value: !0
  });
  va.ClassAccessorProperty = A6e;
  va.ClassBody = S6e;
  va.ClassExpression = va.ClassDeclaration = x6e;
  va.ClassMethod = C6e;
  va.ClassPrivateMethod = w6e;
  va.ClassPrivateProperty = v6e;
  va.ClassProperty = E6e;
  va.StaticBlock = N6e;
  va._classMethodHead = I6e;
  var g6e = fe(), {
    isExportDefaultDeclaration: T6e,
    isExportNamedDeclaration: b6e
  } = g6e;
  function x6e(t, e) {
    (!(T6e(e) || b6e(e)) || !this._shouldPrintDecoratorsBeforeExport(e)) && this.printJoin(t.decorators), t.declare && (this.word("declare"),
    this.space()), t.abstract && (this.word("abstract"), this.space()), this.word("class"), t.id && (this.space(), this.print(t.id)), this.print(
    t.typeParameters), t.superClass && (this.space(), this.word("extends"), this.space(), this.print(t.superClass), this.print(t.superTypeParameters)),
    t.implements && (this.space(), this.word("implements"), this.space(), this.printList(t.implements)), this.space(), this.print(t.body);
  }
  n(x6e, "ClassDeclaration");
  function S6e(t) {
    if (this.tokenChar(123), t.body.length === 0)
      this.tokenChar(125);
    else {
      this.newline();
      let e = P6e(this, t);
      e?.(-1);
      let s = this.enterDelimited();
      this.printJoin(t.body, !0, !0, e, !0), s(), this.endsWith(10) || this.newline(), this.rightBrace(t);
    }
  }
  n(S6e, "ClassBody");
  function P6e(t, e) {
    if (!t.tokenMap || e.start == null || e.end == null)
      return null;
    let s = t.tokenMap.getIndexes(e);
    if (!s) return null;
    let r = 1, i = 0, a = 0, o = /* @__PURE__ */ n(() => {
      for (; a < e.body.length && e.body[a].start == null; )
        a++;
    }, "advanceNextLocIndex");
    return o(), (l) => {
      a <= l && (a = l + 1, o());
      let u = a === e.body.length ? e.end : e.body[a].start, c;
      for (; r < s.length && t.tokenMap.matchesOriginal(c = t._tokens[s[r]], ";") && c.start < u; )
        t.token(";", void 0, i++), r++;
    };
  }
  n(P6e, "classBodyEmptySemicolonsPrinter");
  function E6e(t) {
    if (this.printJoin(t.decorators), !t.static && !this.format.preserveFormat) {
      var e;
      let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
      s && this.catchUp(s);
    }
    this.tsPrintClassMemberModifiers(t), t.computed ? (this.tokenChar(91), this.print(t.key), this.tokenChar(93)) : (this._variance(t), this.
    print(t.key)), t.optional && this.tokenChar(63), t.definite && this.tokenChar(33), this.print(t.typeAnnotation), t.value && (this.space(),
    this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(E6e, "ClassProperty");
  function A6e(t) {
    var e;
    this.printJoin(t.decorators);
    let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
    s && this.catchUp(s), this.tsPrintClassMemberModifiers(t), this.word("accessor", !0), this.space(), t.computed ? (this.tokenChar(91), this.
    print(t.key), this.tokenChar(93)) : (this._variance(t), this.print(t.key)), t.optional && this.tokenChar(63), t.definite && this.tokenChar(
    33), this.print(t.typeAnnotation), t.value && (this.space(), this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(A6e, "ClassAccessorProperty");
  function v6e(t) {
    this.printJoin(t.decorators), this.tsPrintClassMemberModifiers(t), this.print(t.key), t.optional && this.tokenChar(63), t.definite && this.
    tokenChar(33), this.print(t.typeAnnotation), t.value && (this.space(), this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(v6e, "ClassPrivateProperty");
  function C6e(t) {
    this._classMethodHead(t), this.space(), this.print(t.body);
  }
  n(C6e, "ClassMethod");
  function w6e(t) {
    this._classMethodHead(t), this.space(), this.print(t.body);
  }
  n(w6e, "ClassPrivateMethod");
  function I6e(t) {
    if (this.printJoin(t.decorators), !this.format.preserveFormat) {
      var e;
      let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
      s && this.catchUp(s);
    }
    this.tsPrintClassMemberModifiers(t), this._methodHead(t);
  }
  n(I6e, "_classMethodHead");
  function N6e(t) {
    this.word("static"), this.space(), this.tokenChar(123), t.body.length === 0 ? this.tokenChar(125) : (this.newline(), this.printSequence(
    t.body, !0), this.rightBrace(t));
  }
  n(N6e, "StaticBlock");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/generators/methods.js
var JV = g((Ca) => {
  "use strict";
  Object.defineProperty(Ca, "__esModule", {
    value: !0
  });
  Ca.ArrowFunctionExpression = q6e;
  Ca.FunctionDeclaration = Ca.FunctionExpression = R6e;
  Ca._functionHead = j6e;
  Ca._methodHead = M6e;
  Ca._param = B6e;
  Ca._parameters = L6e;
  Ca._params = _6e;
  Ca._predicate = F6e;
  Ca._shouldPrintArrowParamsParens = U6e;
  var k6e = fe(), D6e = _c(), {
    isIdentifier: O6e
  } = k6e;
  function _6e(t, e, s) {
    this.print(t.typeParameters);
    let r = K6e.call(this, e, s);
    r && this.sourceIdentifierName(r.name, r.pos), this.tokenChar(40), this._parameters(t.params, ")");
    let i = t.type === "ArrowFunctionExpression";
    this.print(t.returnType, i), this._noLineTerminator = i;
  }
  n(_6e, "_params");
  function L6e(t, e) {
    let s = this.enterDelimited(), r = this.shouldPrintTrailingComma(e), i = t.length;
    for (let a = 0; a < i; a++)
      this._param(t[a]), (r || a < i - 1) && (this.token(",", null, a), this.space());
    this.token(e), s();
  }
  n(L6e, "_parameters");
  function B6e(t) {
    this.printJoin(t.decorators), this.print(t), t.optional && this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(B6e, "_param");
  function M6e(t) {
    let e = t.kind, s = t.key;
    (e === "get" || e === "set") && (this.word(e), this.space()), t.async && (this.word("async", !0), this.space()), (e === "method" || e ===
    "init") && t.generator && this.tokenChar(42), t.computed ? (this.tokenChar(91), this.print(s), this.tokenChar(93)) : this.print(s), t.optional &&
    this.tokenChar(63), this._params(t, t.computed && t.key.type !== "StringLiteral" ? void 0 : t.key, void 0);
  }
  n(M6e, "_methodHead");
  function F6e(t, e) {
    t.predicate && (t.returnType || this.tokenChar(58), this.space(), this.print(t.predicate, e));
  }
  n(F6e, "_predicate");
  function j6e(t, e) {
    t.async && (this.word("async"), this.format.preserveFormat || (this._endsWithInnerRaw = !1), this.space()), this.word("function"), t.generator &&
    (this.format.preserveFormat || (this._endsWithInnerRaw = !1), this.tokenChar(42)), this.space(), t.id && this.print(t.id), this._params(
    t, t.id, e), t.type !== "TSDeclareFunction" && this._predicate(t);
  }
  n(j6e, "_functionHead");
  function R6e(t, e) {
    this._functionHead(t, e), this.space(), this.print(t.body);
  }
  n(R6e, "FunctionExpression");
  function q6e(t, e) {
    t.async && (this.word("async", !0), this.space()), this._shouldPrintArrowParamsParens(t) ? this._params(t, void 0, e) : this.print(t.params[0],
    !0), this._predicate(t, !0), this.space(), this.printInnerComments(), this.token("=>"), this.space(), this.tokenContext |= D6e.TokenContext.
    arrowBody, this.print(t.body);
  }
  n(q6e, "ArrowFunctionExpression");
  function U6e(t) {
    var e, s;
    if (t.params.length !== 1 || t.typeParameters || t.returnType || t.predicate)
      return !0;
    let r = t.params[0];
    if (!O6e(r) || r.typeAnnotation || r.optional || (e = r.leadingComments) != null && e.length || (s = r.trailingComments) != null && s.length)
      return !0;
    if (this.tokenMap) {
      if (t.loc == null || this.tokenMap.findMatching(t, "(") !== null) return !0;
      let i = this.tokenMap.findMatching(t, "=>");
      return i?.loc == null ? !0 : i.loc.start.line !== t.loc.start.line;
    }
    return !!this.format.retainLines;
  }
  n(U6e, "_shouldPrintArrowParamsParens");
  function K6e(t, e) {
    let s = t;
    if (!s && e) {
      let u = e.type;
      u === "VariableDeclarator" ? s = e.id : u === "AssignmentExpression" || u === "AssignmentPattern" ? s = e.left : u === "ObjectProperty" ||
      u === "ClassProperty" ? (!e.computed || e.key.type === "StringLiteral") && (s = e.key) : (u === "ClassPrivateProperty" || u === "Class\
AccessorProperty") && (s = e.key);
    }
    if (!s) return;
    let r;
    if (s.type === "Identifier") {
      var i, a;
      r = {
        pos: (i = s.loc) == null ? void 0 : i.start,
        name: ((a = s.loc) == null ? void 0 : a.identifierName) || s.name
      };
    } else if (s.type === "PrivateName") {
      var o;
      r = {
        pos: (o = s.loc) == null ? void 0 : o.start,
        name: "#" + s.id.name
      };
    } else if (s.type === "StringLiteral") {
      var l;
      r = {
        pos: (l = s.loc) == null ? void 0 : l.start,
        name: s.value
      };
    }
    return r;
  }
  n(K6e, "_getFuncIdName");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/generators/modules.js
var WN = g((Tn) => {
  "use strict";
  Object.defineProperty(Tn, "__esModule", {
    value: !0
  });
  Tn.ExportAllDeclaration = sRe;
  Tn.ExportDefaultDeclaration = iRe;
  Tn.ExportDefaultSpecifier = Q6e;
  Tn.ExportNamedDeclaration = rRe;
  Tn.ExportNamespaceSpecifier = eRe;
  Tn.ExportSpecifier = Z6e;
  Tn.ImportAttribute = aRe;
  Tn.ImportDeclaration = nRe;
  Tn.ImportDefaultSpecifier = G6e;
  Tn.ImportExpression = lRe;
  Tn.ImportNamespaceSpecifier = oRe;
  Tn.ImportSpecifier = z6e;
  Tn._printAttributes = tRe;
  var V6e = fe(), W6e = _c(), {
    isClassDeclaration: $6e,
    isExportDefaultSpecifier: H6e,
    isExportNamespaceSpecifier: J6e,
    isImportDefaultSpecifier: Y6e,
    isImportNamespaceSpecifier: X6e,
    isStatement: XV
  } = V6e;
  function z6e(t) {
    (t.importKind === "type" || t.importKind === "typeof") && (this.word(t.importKind), this.space()), this.print(t.imported), t.local && t.
    local.name !== t.imported.name && (this.space(), this.word("as"), this.space(), this.print(t.local));
  }
  n(z6e, "ImportSpecifier");
  function G6e(t) {
    this.print(t.local);
  }
  n(G6e, "ImportDefaultSpecifier");
  function Q6e(t) {
    this.print(t.exported);
  }
  n(Q6e, "ExportDefaultSpecifier");
  function Z6e(t) {
    t.exportKind === "type" && (this.word("type"), this.space()), this.print(t.local), t.exported && t.local.name !== t.exported.name && (this.
    space(), this.word("as"), this.space(), this.print(t.exported));
  }
  n(Z6e, "ExportSpecifier");
  function eRe(t) {
    this.tokenChar(42), this.space(), this.word("as"), this.space(), this.print(t.exported);
  }
  n(eRe, "ExportNamespaceSpecifier");
  var YV = !1;
  function tRe(t, e) {
    let {
      importAttributesKeyword: s
    } = this.format, {
      attributes: r,
      assertions: i
    } = t;
    r && !s && !YV && (YV = !0, console.warn('You are using import attributes, without specifying the desired output syntax.\nPlease specify \
the "importAttributesKeyword" generator option, whose value can be one of:\n - "with"        : `import { a } from "b" with { type: "json" };`\
\n - "assert"      : `import { a } from "b" assert { type: "json" };`\n - "with-legacy" : `import { a } from "b" with type: "json";`\n'));
    let a = s === "assert" || !s && i;
    if (this.word(a ? "assert" : "with"), this.space(), !a && s !== "with") {
      this.printList(r || i);
      return;
    }
    let o = e ? 1 : 0;
    this.token("{", null, o), this.space(), this.printList(r || i, this.shouldPrintTrailingComma("}")), this.space(), this.token("}", null, o);
  }
  n(tRe, "_printAttributes");
  function sRe(t) {
    var e, s;
    this.word("export"), this.space(), t.exportKind === "type" && (this.word("type"), this.space()), this.tokenChar(42), this.space(), this.
    word("from"), this.space(), (e = t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.print(t.source, !0),
    this.space(), this._printAttributes(t, !1)) : this.print(t.source), this.semicolon();
  }
  n(sRe, "ExportAllDeclaration");
  function zV(t, e) {
    $6e(e.declaration) && t._shouldPrintDecoratorsBeforeExport(e) && t.printJoin(e.declaration.decorators);
  }
  n(zV, "maybePrintDecoratorsBeforeExport");
  function rRe(t) {
    if (zV(this, t), this.word("export"), this.space(), t.declaration) {
      let r = t.declaration;
      this.print(r), XV(r) || this.semicolon();
    } else {
      t.exportKind === "type" && (this.word("type"), this.space());
      let r = t.specifiers.slice(0), i = !1;
      for (; ; ) {
        let o = r[0];
        if (H6e(o) || J6e(o))
          i = !0, this.print(r.shift()), r.length && (this.tokenChar(44), this.space());
        else
          break;
      }
      let a = !1;
      if ((r.length || !r.length && !i) && (a = !0, this.tokenChar(123), r.length && (this.space(), this.printList(r, this.shouldPrintTrailingComma(
      "}")), this.space()), this.tokenChar(125)), t.source) {
        var e, s;
        this.space(), this.word("from"), this.space(), (e = t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.
        print(t.source, !0), this.space(), this._printAttributes(t, a)) : this.print(t.source);
      }
      this.semicolon();
    }
  }
  n(rRe, "ExportNamedDeclaration");
  function iRe(t) {
    zV(this, t), this.word("export"), this.noIndentInnerCommentsHere(), this.space(), this.word("default"), this.space(), this.tokenContext |=
    W6e.TokenContext.exportDefault;
    let e = t.declaration;
    this.print(e), XV(e) || this.semicolon();
  }
  n(iRe, "ExportDefaultDeclaration");
  function nRe(t) {
    var e, s;
    this.word("import"), this.space();
    let r = t.importKind === "type" || t.importKind === "typeof";
    r ? (this.noIndentInnerCommentsHere(), this.word(t.importKind), this.space()) : t.module ? (this.noIndentInnerCommentsHere(), this.word(
    "module"), this.space()) : t.phase && (this.noIndentInnerCommentsHere(), this.word(t.phase), this.space());
    let i = t.specifiers.slice(0), a = !!i.length;
    for (; a; ) {
      let l = i[0];
      if (Y6e(l) || X6e(l))
        this.print(i.shift()), i.length && (this.tokenChar(44), this.space());
      else
        break;
    }
    let o = !1;
    i.length ? (o = !0, this.tokenChar(123), this.space(), this.printList(i, this.shouldPrintTrailingComma("}")), this.space(), this.tokenChar(
    125)) : r && !a && (o = !0, this.tokenChar(123), this.tokenChar(125)), (a || r) && (this.space(), this.word("from"), this.space()), (e =
    t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.print(t.source, !0), this.space(), this._printAttributes(
    t, o)) : this.print(t.source), this.semicolon();
  }
  n(nRe, "ImportDeclaration");
  function aRe(t) {
    this.print(t.key), this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(aRe, "ImportAttribute");
  function oRe(t) {
    this.tokenChar(42), this.space(), this.word("as"), this.space(), this.print(t.local);
  }
  n(oRe, "ImportNamespaceSpecifier");
  function lRe(t) {
    this.word("import"), t.phase && (this.tokenChar(46), this.word(t.phase)), this.tokenChar(40), this.print(t.source), t.options != null &&
    (this.tokenChar(44), this.space(), this.print(t.options)), this.tokenChar(41);
  }
  n(lRe, "ImportExpression");
});

// ../node_modules/jsesc/jsesc.js
var gd = g((w9s, ZV) => {
  "use strict";
  var GV = {}, uRe = GV.hasOwnProperty, QV = /* @__PURE__ */ n((t, e) => {
    for (let s in t)
      uRe.call(t, s) && e(s, t[s]);
  }, "forOwn"), cRe = /* @__PURE__ */ n((t, e) => (e && QV(e, (s, r) => {
    t[s] = r;
  }), t), "extend"), pRe = /* @__PURE__ */ n((t, e) => {
    let s = t.length, r = -1;
    for (; ++r < s; )
      e(t[r]);
  }, "forEach"), wx = /* @__PURE__ */ n((t) => "\\u" + ("0000" + t).slice(-4), "fourHexEscape"), cg = /* @__PURE__ */ n((t, e) => {
    let s = t.toString(16);
    return e ? s : s.toUpperCase();
  }, "hexadecimal"), pg = GV.toString, hRe = Array.isArray, fRe = /* @__PURE__ */ n((t) => typeof Buffer == "function" && Buffer.isBuffer(t),
  "isBuffer"), dRe = /* @__PURE__ */ n((t) => pg.call(t) == "[object Object]", "isObject"), mRe = /* @__PURE__ */ n((t) => typeof t == "stri\
ng" || pg.call(t) == "[object String]", "isString"), yRe = /* @__PURE__ */ n((t) => typeof t == "number" || pg.call(t) == "[object Number]",
  "isNumber"), gRe = /* @__PURE__ */ n((t) => typeof t == "function", "isFunction"), TRe = /* @__PURE__ */ n((t) => pg.call(t) == "[object M\
ap]", "isMap"), bRe = /* @__PURE__ */ n((t) => pg.call(t) == "[object Set]", "isSet"), xRe = {
    "\\": "\\\\",
    "\b": "\\b",
    "\f": "\\f",
    "\n": "\\n",
    "\r": "\\r",
    "	": "\\t"
    // `\v` is omitted intentionally, because in IE < 9, '\v' == 'v'.
    // '\v': '\\x0B'
  }, SRe = /[\\\b\f\n\r\t]/, PRe = /[0-9]/, ERe = /[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/, ARe = /([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^]/g,
  vRe = /([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^ !#-&\(-\[\]-_a-~]/g, Lc = /* @__PURE__ */ n((t, e) => {
    let s = /* @__PURE__ */ n(() => {
      c = u, ++e.indentLevel, u = e.indent.repeat(e.indentLevel);
    }, "increaseIndentation"), r = {
      escapeEverything: !1,
      minimal: !1,
      isScriptContext: !1,
      quotes: "single",
      wrap: !1,
      es6: !1,
      json: !1,
      compact: !0,
      lowercaseHex: !1,
      numbers: "decimal",
      indent: "	",
      indentLevel: 0,
      __inline1__: !1,
      __inline2__: !1
    }, i = e && e.json;
    i && (r.quotes = "double", r.wrap = !0), e = cRe(r, e), e.quotes != "single" && e.quotes != "double" && e.quotes != "backtick" && (e.quotes =
    "single");
    let a = e.quotes == "double" ? '"' : e.quotes == "backtick" ? "`" : "'", o = e.compact, l = e.lowercaseHex, u = e.indent.repeat(e.indentLevel),
    c = "", p = e.__inline1__, h = e.__inline2__, f = o ? "" : `
`, d, m = !0, y = e.numbers == "binary", T = e.numbers == "octal", b = e.numbers == "decimal", E = e.numbers == "hexadecimal";
    if (i && t && gRe(t.toJSON) && (t = t.toJSON()), !mRe(t)) {
      if (TRe(t))
        return t.size == 0 ? "new Map()" : (o || (e.__inline1__ = !0, e.__inline2__ = !1), "new Map(" + Lc(Array.from(t), e) + ")");
      if (bRe(t))
        return t.size == 0 ? "new Set()" : "new Set(" + Lc(Array.from(t), e) + ")";
      if (fRe(t))
        return t.length == 0 ? "Buffer.from([])" : "Buffer.from(" + Lc(Array.from(t), e) + ")";
      if (hRe(t))
        return d = [], e.wrap = !0, p && (e.__inline1__ = !1, e.__inline2__ = !0), h || s(), pRe(t, (W) => {
          m = !1, h && (e.__inline2__ = !1), d.push(
            (o || h ? "" : u) + Lc(W, e)
          );
        }), m ? "[]" : h ? "[" + d.join(", ") + "]" : "[" + f + d.join("," + f) + f + (o ? "" : c) + "]";
      if (yRe(t)) {
        if (i)
          return JSON.stringify(t);
        if (b)
          return String(t);
        if (E) {
          let W = t.toString(16);
          return l || (W = W.toUpperCase()), "0x" + W;
        }
        if (y)
          return "0b" + t.toString(2);
        if (T)
          return "0o" + t.toString(8);
      } else return dRe(t) ? (d = [], e.wrap = !0, s(), QV(t, (W, oe) => {
        m = !1, d.push(
          (o ? "" : u) + Lc(W, e) + ":" + (o ? "" : " ") + Lc(oe, e)
        );
      }), m ? "{}" : "{" + f + d.join("," + f) + f + (o ? "" : c) + "}") : i ? JSON.stringify(t) || "null" : String(t);
    }
    let V = e.escapeEverything ? ARe : vRe;
    return d = t.replace(V, (W, oe, de, ye, Oe, be) => {
      if (oe) {
        if (e.minimal) return oe;
        let he = oe.charCodeAt(0), Pe = oe.charCodeAt(1);
        if (e.es6) {
          let tt = (he - 55296) * 1024 + Pe - 56320 + 65536;
          return "\\u{" + cg(tt, l) + "}";
        }
        return wx(cg(he, l)) + wx(cg(Pe, l));
      }
      if (de)
        return wx(cg(de.charCodeAt(0), l));
      if (W == "\0" && !i && !PRe.test(be.charAt(Oe + 1)))
        return "\\0";
      if (ye)
        return ye == a || e.escapeEverything ? "\\" + ye : ye;
      if (SRe.test(W))
        return xRe[W];
      if (e.minimal && !ERe.test(W))
        return W;
      let me = cg(W.charCodeAt(0), l);
      return i || me.length > 2 ? wx(me) : "\\x" + ("00" + me).slice(-2);
    }), a == "`" && (d = d.replace(/\$\{/g, "\\${")), e.isScriptContext && (d = d.replace(/<\/(script|style)/gi, "<\\/$1").replace(/<!--/g, i ?
    "\\u003C!--" : "\\x3C!--")), e.wrap && (d = a + d + a), d;
  }, "jsesc");
  Lc.version = "3.0.2";
  ZV.exports = Lc;
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/generators/types.js
var HN = g((kr) => {
  "use strict";
  Object.defineProperty(kr, "__esModule", {
    value: !0
  });
  kr.ArgumentPlaceholder = kRe;
  kr.ArrayPattern = kr.ArrayExpression = BRe;
  kr.BigIntLiteral = VRe;
  kr.BooleanLiteral = RRe;
  kr.Identifier = NRe;
  kr.NullLiteral = qRe;
  kr.NumericLiteral = URe;
  kr.ObjectPattern = kr.ObjectExpression = ORe;
  kr.ObjectMethod = _Re;
  kr.ObjectProperty = LRe;
  kr.PipelineBareFunction = HRe;
  kr.PipelinePrimaryTopicReference = JRe;
  kr.PipelineTopicExpression = $Re;
  kr.RecordExpression = MRe;
  kr.RegExpLiteral = jRe;
  kr.SpreadElement = kr.RestElement = DRe;
  kr.StringLiteral = KRe;
  kr.TopicReference = WRe;
  kr.TupleExpression = FRe;
  kr._getRawIdentifier = IRe;
  var CRe = fe(), sW = gd(), {
    isAssignmentPattern: wRe,
    isIdentifier: $N
  } = CRe, eW = null, Ix = "";
  function IRe(t) {
    if (t === eW) return Ix;
    eW = t;
    let {
      name: e
    } = t, s = this.tokenMap.find(t, (r) => r.value === e);
    return s ? (Ix = this._originalCode.slice(s.start, s.end), Ix) : Ix = t.name;
  }
  n(IRe, "_getRawIdentifier");
  function NRe(t) {
    var e;
    this.sourceIdentifierName(((e = t.loc) == null ? void 0 : e.identifierName) || t.name), this.word(this.tokenMap ? this._getRawIdentifier(
    t) : t.name);
  }
  n(NRe, "Identifier");
  function kRe() {
    this.tokenChar(63);
  }
  n(kRe, "ArgumentPlaceholder");
  function DRe(t) {
    this.token("..."), this.print(t.argument);
  }
  n(DRe, "RestElement");
  function ORe(t) {
    let e = t.properties;
    if (this.tokenChar(123), e.length) {
      let s = this.enterDelimited();
      this.space(), this.printList(e, this.shouldPrintTrailingComma("}"), !0, !0), this.space(), s();
    }
    this.sourceWithOffset("end", t.loc, -1), this.tokenChar(125);
  }
  n(ORe, "ObjectExpression");
  function _Re(t) {
    this.printJoin(t.decorators), this._methodHead(t), this.space(), this.print(t.body);
  }
  n(_Re, "ObjectMethod");
  function LRe(t) {
    if (this.printJoin(t.decorators), t.computed)
      this.tokenChar(91), this.print(t.key), this.tokenChar(93);
    else {
      if (wRe(t.value) && $N(t.key) && t.key.name === t.value.left.name) {
        this.print(t.value);
        return;
      }
      if (this.print(t.key), t.shorthand && $N(t.key) && $N(t.value) && t.key.name === t.value.name)
        return;
    }
    this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(LRe, "ObjectProperty");
  function BRe(t) {
    let e = t.elements, s = e.length;
    this.tokenChar(91);
    let r = this.enterDelimited();
    for (let i = 0; i < e.length; i++) {
      let a = e[i];
      a ? (i > 0 && this.space(), this.print(a), (i < s - 1 || this.shouldPrintTrailingComma("]")) && this.token(",", !1, i)) : this.token("\
,", !1, i);
    }
    r(), this.tokenChar(93);
  }
  n(BRe, "ArrayExpression");
  function MRe(t) {
    let e = t.properties, s, r;
    if (this.format.recordAndTupleSyntaxType === "bar")
      s = "{|", r = "|}";
    else {
      if (this.format.recordAndTupleSyntaxType !== "hash" && this.format.recordAndTupleSyntaxType != null)
        throw new Error(`The "recordAndTupleSyntaxType" generator option must be "bar" or "hash" (${JSON.stringify(this.format.recordAndTupleSyntaxType)}\
 received).`);
      s = "#{", r = "}";
    }
    this.token(s), e.length && (this.space(), this.printList(e, this.shouldPrintTrailingComma(r), !0, !0), this.space()), this.token(r);
  }
  n(MRe, "RecordExpression");
  function FRe(t) {
    let e = t.elements, s = e.length, r, i;
    if (this.format.recordAndTupleSyntaxType === "bar")
      r = "[|", i = "|]";
    else if (this.format.recordAndTupleSyntaxType === "hash")
      r = "#[", i = "]";
    else
      throw new Error(`${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`);
    this.token(r);
    for (let a = 0; a < e.length; a++) {
      let o = e[a];
      o && (a > 0 && this.space(), this.print(o), (a < s - 1 || this.shouldPrintTrailingComma(i)) && this.token(",", !1, a));
    }
    this.token(i);
  }
  n(FRe, "TupleExpression");
  function jRe(t) {
    this.word(`/${t.pattern}/${t.flags}`);
  }
  n(jRe, "RegExpLiteral");
  function RRe(t) {
    this.word(t.value ? "true" : "false");
  }
  n(RRe, "BooleanLiteral");
  function qRe() {
    this.word("null");
  }
  n(qRe, "NullLiteral");
  function URe(t) {
    let e = this.getPossibleRaw(t), s = this.format.jsescOption, r = t.value, i = r + "";
    s.numbers ? this.number(sW(r, s), r) : e == null ? this.number(i, r) : this.format.minified ? this.number(e.length < i.length ? e : i, r) :
    this.number(e, r);
  }
  n(URe, "NumericLiteral");
  function KRe(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.token(e);
      return;
    }
    let s = sW(t.value, this.format.jsescOption);
    this.token(s);
  }
  n(KRe, "StringLiteral");
  function VRe(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.word(e);
      return;
    }
    this.word(t.value + "n");
  }
  n(VRe, "BigIntLiteral");
  var tW = /* @__PURE__ */ new Set(["^^", "@@", "^", "%", "#"]);
  function WRe() {
    let {
      topicToken: t
    } = this.format;
    if (tW.has(t))
      this.token(t);
    else {
      let e = JSON.stringify(t), s = Array.from(tW, (r) => JSON.stringify(r));
      throw new Error(`The "topicToken" generator option must be one of ${s.join(", ")} (${e} received instead).`);
    }
  }
  n(WRe, "TopicReference");
  function $Re(t) {
    this.print(t.expression);
  }
  n($Re, "PipelineTopicExpression");
  function HRe(t) {
    this.print(t.callee);
  }
  n(HRe, "PipelineBareFunction");
  function JRe() {
    this.tokenChar(35);
  }
  n(JRe, "PipelinePrimaryTopicReference");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/generators/flow.js
var iW = g((st) => {
  "use strict";
  Object.defineProperty(st, "__esModule", {
    value: !0
  });
  st.AnyTypeAnnotation = QRe;
  st.ArrayTypeAnnotation = ZRe;
  st.BooleanLiteralTypeAnnotation = t5e;
  st.BooleanTypeAnnotation = e5e;
  st.DeclareClass = r5e;
  st.DeclareExportAllDeclaration = d5e;
  st.DeclareExportDeclaration = f5e;
  st.DeclareFunction = i5e;
  st.DeclareInterface = o5e;
  st.DeclareModule = l5e;
  st.DeclareModuleExports = u5e;
  st.DeclareOpaqueType = p5e;
  st.DeclareTypeAlias = c5e;
  st.DeclareVariable = h5e;
  st.DeclaredPredicate = a5e;
  st.EmptyTypeAnnotation = M5e;
  st.EnumBooleanBody = y5e;
  st.EnumBooleanMember = S5e;
  st.EnumDeclaration = m5e;
  st.EnumDefaultedMember = x5e;
  st.EnumNumberBody = g5e;
  st.EnumNumberMember = P5e;
  st.EnumStringBody = T5e;
  st.EnumStringMember = E5e;
  st.EnumSymbolBody = b5e;
  st.ExistsTypeAnnotation = v5e;
  st.FunctionTypeAnnotation = C5e;
  st.FunctionTypeParam = w5e;
  st.IndexedAccessType = o9e;
  st.InferredPredicate = n5e;
  st.InterfaceDeclaration = D5e;
  st.GenericTypeAnnotation = st.ClassImplements = st.InterfaceExtends = I5e;
  st.InterfaceTypeAnnotation = _5e;
  st.IntersectionTypeAnnotation = L5e;
  st.MixedTypeAnnotation = B5e;
  st.NullLiteralTypeAnnotation = s5e;
  st.NullableTypeAnnotation = F5e;
  Object.defineProperty(st, "NumberLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return rW.NumericLiteral;
    }, "get")
  });
  st.NumberTypeAnnotation = j5e;
  st.ObjectTypeAnnotation = Y5e;
  st.ObjectTypeCallProperty = z5e;
  st.ObjectTypeIndexer = G5e;
  st.ObjectTypeInternalSlot = X5e;
  st.ObjectTypeProperty = Q5e;
  st.ObjectTypeSpreadProperty = Z5e;
  st.OpaqueType = J5e;
  st.OptionalIndexedAccessType = l9e;
  st.QualifiedTypeIdentifier = e9e;
  Object.defineProperty(st, "StringLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return rW.StringLiteral;
    }, "get")
  });
  st.StringTypeAnnotation = R5e;
  st.SymbolTypeAnnotation = t9e;
  st.ThisTypeAnnotation = q5e;
  st.TupleTypeAnnotation = U5e;
  st.TypeAlias = V5e;
  st.TypeAnnotation = W5e;
  st.TypeCastExpression = i9e;
  st.TypeParameter = H5e;
  st.TypeParameterDeclaration = st.TypeParameterInstantiation = $5e;
  st.TypeofTypeAnnotation = K5e;
  st.UnionTypeAnnotation = r9e;
  st.Variance = n9e;
  st.VoidTypeAnnotation = a9e;
  st._interfaceish = N5e;
  st._variance = k5e;
  var YRe = fe(), XRe = WN(), zRe = _c(), rW = HN(), {
    isDeclareExportDeclaration: Nx,
    isStatement: GRe
  } = YRe;
  function QRe() {
    this.word("any");
  }
  n(QRe, "AnyTypeAnnotation");
  function ZRe(t) {
    this.print(t.elementType, !0), this.tokenChar(91), this.tokenChar(93);
  }
  n(ZRe, "ArrayTypeAnnotation");
  function e5e() {
    this.word("boolean");
  }
  n(e5e, "BooleanTypeAnnotation");
  function t5e(t) {
    this.word(t.value ? "true" : "false");
  }
  n(t5e, "BooleanLiteralTypeAnnotation");
  function s5e() {
    this.word("null");
  }
  n(s5e, "NullLiteralTypeAnnotation");
  function r5e(t, e) {
    Nx(e) || (this.word("declare"), this.space()), this.word("class"), this.space(), this._interfaceish(t);
  }
  n(r5e, "DeclareClass");
  function i5e(t, e) {
    Nx(e) || (this.word("declare"), this.space()), this.word("function"), this.space(), this.print(t.id), this.print(t.id.typeAnnotation.typeAnnotation),
    t.predicate && (this.space(), this.print(t.predicate)), this.semicolon();
  }
  n(i5e, "DeclareFunction");
  function n5e() {
    this.tokenChar(37), this.word("checks");
  }
  n(n5e, "InferredPredicate");
  function a5e(t) {
    this.tokenChar(37), this.word("checks"), this.tokenChar(40), this.print(t.value), this.tokenChar(41);
  }
  n(a5e, "DeclaredPredicate");
  function o5e(t) {
    this.word("declare"), this.space(), this.InterfaceDeclaration(t);
  }
  n(o5e, "DeclareInterface");
  function l5e(t) {
    this.word("declare"), this.space(), this.word("module"), this.space(), this.print(t.id), this.space(), this.print(t.body);
  }
  n(l5e, "DeclareModule");
  function u5e(t) {
    this.word("declare"), this.space(), this.word("module"), this.tokenChar(46), this.word("exports"), this.print(t.typeAnnotation);
  }
  n(u5e, "DeclareModuleExports");
  function c5e(t) {
    this.word("declare"), this.space(), this.TypeAlias(t);
  }
  n(c5e, "DeclareTypeAlias");
  function p5e(t, e) {
    Nx(e) || (this.word("declare"), this.space()), this.OpaqueType(t);
  }
  n(p5e, "DeclareOpaqueType");
  function h5e(t, e) {
    Nx(e) || (this.word("declare"), this.space()), this.word("var"), this.space(), this.print(t.id), this.print(t.id.typeAnnotation), this.semicolon();
  }
  n(h5e, "DeclareVariable");
  function f5e(t) {
    this.word("declare"), this.space(), this.word("export"), this.space(), t.default && (this.word("default"), this.space()), A5e.call(this,
    t);
  }
  n(f5e, "DeclareExportDeclaration");
  function d5e(t) {
    this.word("declare"), this.space(), XRe.ExportAllDeclaration.call(this, t);
  }
  n(d5e, "DeclareExportAllDeclaration");
  function m5e(t) {
    let {
      id: e,
      body: s
    } = t;
    this.word("enum"), this.space(), this.print(e), this.print(s);
  }
  n(m5e, "EnumDeclaration");
  function kx(t, e, s) {
    s && (t.space(), t.word("of"), t.space(), t.word(e)), t.space();
  }
  n(kx, "enumExplicitType");
  function Dx(t, e) {
    let {
      members: s
    } = e;
    t.token("{"), t.indent(), t.newline();
    for (let r of s)
      t.print(r), t.newline();
    e.hasUnknownMembers && (t.token("..."), t.newline()), t.dedent(), t.token("}");
  }
  n(Dx, "enumBody");
  function y5e(t) {
    let {
      explicitType: e
    } = t;
    kx(this, "boolean", e), Dx(this, t);
  }
  n(y5e, "EnumBooleanBody");
  function g5e(t) {
    let {
      explicitType: e
    } = t;
    kx(this, "number", e), Dx(this, t);
  }
  n(g5e, "EnumNumberBody");
  function T5e(t) {
    let {
      explicitType: e
    } = t;
    kx(this, "string", e), Dx(this, t);
  }
  n(T5e, "EnumStringBody");
  function b5e(t) {
    kx(this, "symbol", !0), Dx(this, t);
  }
  n(b5e, "EnumSymbolBody");
  function x5e(t) {
    let {
      id: e
    } = t;
    this.print(e), this.tokenChar(44);
  }
  n(x5e, "EnumDefaultedMember");
  function JN(t, e) {
    t.print(e.id), t.space(), t.token("="), t.space(), t.print(e.init), t.token(",");
  }
  n(JN, "enumInitializedMember");
  function S5e(t) {
    JN(this, t);
  }
  n(S5e, "EnumBooleanMember");
  function P5e(t) {
    JN(this, t);
  }
  n(P5e, "EnumNumberMember");
  function E5e(t) {
    JN(this, t);
  }
  n(E5e, "EnumStringMember");
  function A5e(t) {
    if (t.declaration) {
      let e = t.declaration;
      this.print(e), GRe(e) || this.semicolon();
    } else
      this.tokenChar(123), t.specifiers.length && (this.space(), this.printList(t.specifiers), this.space()), this.tokenChar(125), t.source &&
      (this.space(), this.word("from"), this.space(), this.print(t.source)), this.semicolon();
  }
  n(A5e, "FlowExportDeclaration");
  function v5e() {
    this.tokenChar(42);
  }
  n(v5e, "ExistsTypeAnnotation");
  function C5e(t, e) {
    this.print(t.typeParameters), this.tokenChar(40), t.this && (this.word("this"), this.tokenChar(58), this.space(), this.print(t.this.typeAnnotation),
    (t.params.length || t.rest) && (this.tokenChar(44), this.space())), this.printList(t.params), t.rest && (t.params.length && (this.tokenChar(
    44), this.space()), this.token("..."), this.print(t.rest)), this.tokenChar(41);
    let s = e?.type;
    s != null && (s === "ObjectTypeCallProperty" || s === "ObjectTypeInternalSlot" || s === "DeclareFunction" || s === "ObjectTypeProperty" &&
    e.method) ? this.tokenChar(58) : (this.space(), this.token("=>")), this.space(), this.print(t.returnType);
  }
  n(C5e, "FunctionTypeAnnotation");
  function w5e(t) {
    this.print(t.name), t.optional && this.tokenChar(63), t.name && (this.tokenChar(58), this.space()), this.print(t.typeAnnotation);
  }
  n(w5e, "FunctionTypeParam");
  function I5e(t) {
    this.print(t.id), this.print(t.typeParameters, !0);
  }
  n(I5e, "InterfaceExtends");
  function N5e(t) {
    var e;
    if (this.print(t.id), this.print(t.typeParameters), (e = t.extends) != null && e.length && (this.space(), this.word("extends"), this.space(),
    this.printList(t.extends)), t.type === "DeclareClass") {
      var s, r;
      (s = t.mixins) != null && s.length && (this.space(), this.word("mixins"), this.space(), this.printList(t.mixins)), (r = t.implements) !=
      null && r.length && (this.space(), this.word("implements"), this.space(), this.printList(t.implements));
    }
    this.space(), this.print(t.body);
  }
  n(N5e, "_interfaceish");
  function k5e(t) {
    var e;
    let s = (e = t.variance) == null ? void 0 : e.kind;
    s != null && (s === "plus" ? this.tokenChar(43) : s === "minus" && this.tokenChar(45));
  }
  n(k5e, "_variance");
  function D5e(t) {
    this.word("interface"), this.space(), this._interfaceish(t);
  }
  n(D5e, "InterfaceDeclaration");
  function O5e(t) {
    this.space(), this.token("&", !1, t), this.space();
  }
  n(O5e, "andSeparator");
  function _5e(t) {
    var e;
    this.word("interface"), (e = t.extends) != null && e.length && (this.space(), this.word("extends"), this.space(), this.printList(t.extends)),
    this.space(), this.print(t.body);
  }
  n(_5e, "InterfaceTypeAnnotation");
  function L5e(t) {
    this.printJoin(t.types, void 0, void 0, O5e);
  }
  n(L5e, "IntersectionTypeAnnotation");
  function B5e() {
    this.word("mixed");
  }
  n(B5e, "MixedTypeAnnotation");
  function M5e() {
    this.word("empty");
  }
  n(M5e, "EmptyTypeAnnotation");
  function F5e(t) {
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(F5e, "NullableTypeAnnotation");
  function j5e() {
    this.word("number");
  }
  n(j5e, "NumberTypeAnnotation");
  function R5e() {
    this.word("string");
  }
  n(R5e, "StringTypeAnnotation");
  function q5e() {
    this.word("this");
  }
  n(q5e, "ThisTypeAnnotation");
  function U5e(t) {
    this.tokenChar(91), this.printList(t.types), this.tokenChar(93);
  }
  n(U5e, "TupleTypeAnnotation");
  function K5e(t) {
    this.word("typeof"), this.space(), this.print(t.argument);
  }
  n(K5e, "TypeofTypeAnnotation");
  function V5e(t) {
    this.word("type"), this.space(), this.print(t.id), this.print(t.typeParameters), this.space(), this.tokenChar(61), this.space(), this.print(
    t.right), this.semicolon();
  }
  n(V5e, "TypeAlias");
  function W5e(t, e) {
    this.tokenChar(58), this.space(), e.type === "ArrowFunctionExpression" ? this.tokenContext |= zRe.TokenContext.arrowFlowReturnType : t.optional &&
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(W5e, "TypeAnnotation");
  function $5e(t) {
    this.tokenChar(60), this.printList(t.params), this.tokenChar(62);
  }
  n($5e, "TypeParameterInstantiation");
  function H5e(t) {
    this._variance(t), this.word(t.name), t.bound && this.print(t.bound), t.default && (this.space(), this.tokenChar(61), this.space(), this.
    print(t.default));
  }
  n(H5e, "TypeParameter");
  function J5e(t) {
    this.word("opaque"), this.space(), this.word("type"), this.space(), this.print(t.id), this.print(t.typeParameters), t.supertype && (this.
    tokenChar(58), this.space(), this.print(t.supertype)), t.impltype && (this.space(), this.tokenChar(61), this.space(), this.print(t.impltype)),
    this.semicolon();
  }
  n(J5e, "OpaqueType");
  function Y5e(t) {
    t.exact ? this.token("{|") : this.tokenChar(123);
    let e = [...t.properties, ...t.callProperties || [], ...t.indexers || [], ...t.internalSlots || []];
    e.length && (this.newline(), this.space(), this.printJoin(e, !0, !0, void 0, void 0, /* @__PURE__ */ n(function(r) {
      if (r && !e[0]) return 1;
    }, "addNewlines"), () => {
      (e.length !== 1 || t.inexact) && (this.tokenChar(44), this.space());
    }), this.space()), t.inexact && (this.indent(), this.token("..."), e.length && this.newline(), this.dedent()), t.exact ? this.token("|}") :
    this.tokenChar(125);
  }
  n(Y5e, "ObjectTypeAnnotation");
  function X5e(t) {
    t.static && (this.word("static"), this.space()), this.tokenChar(91), this.tokenChar(91), this.print(t.id), this.tokenChar(93), this.tokenChar(
    93), t.optional && this.tokenChar(63), t.method || (this.tokenChar(58), this.space()), this.print(t.value);
  }
  n(X5e, "ObjectTypeInternalSlot");
  function z5e(t) {
    t.static && (this.word("static"), this.space()), this.print(t.value);
  }
  n(z5e, "ObjectTypeCallProperty");
  function G5e(t) {
    t.static && (this.word("static"), this.space()), this._variance(t), this.tokenChar(91), t.id && (this.print(t.id), this.tokenChar(58), this.
    space()), this.print(t.key), this.tokenChar(93), this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(G5e, "ObjectTypeIndexer");
  function Q5e(t) {
    t.proto && (this.word("proto"), this.space()), t.static && (this.word("static"), this.space()), (t.kind === "get" || t.kind === "set") &&
    (this.word(t.kind), this.space()), this._variance(t), this.print(t.key), t.optional && this.tokenChar(63), t.method || (this.tokenChar(58),
    this.space()), this.print(t.value);
  }
  n(Q5e, "ObjectTypeProperty");
  function Z5e(t) {
    this.token("..."), this.print(t.argument);
  }
  n(Z5e, "ObjectTypeSpreadProperty");
  function e9e(t) {
    this.print(t.qualification), this.tokenChar(46), this.print(t.id);
  }
  n(e9e, "QualifiedTypeIdentifier");
  function t9e() {
    this.word("symbol");
  }
  n(t9e, "SymbolTypeAnnotation");
  function s9e(t) {
    this.space(), this.token("|", !1, t), this.space();
  }
  n(s9e, "orSeparator");
  function r9e(t) {
    this.printJoin(t.types, void 0, void 0, s9e);
  }
  n(r9e, "UnionTypeAnnotation");
  function i9e(t) {
    this.tokenChar(40), this.print(t.expression), this.print(t.typeAnnotation), this.tokenChar(41);
  }
  n(i9e, "TypeCastExpression");
  function n9e(t) {
    t.kind === "plus" ? this.tokenChar(43) : this.tokenChar(45);
  }
  n(n9e, "Variance");
  function a9e() {
    this.word("void");
  }
  n(a9e, "VoidTypeAnnotation");
  function o9e(t) {
    this.print(t.objectType, !0), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(o9e, "IndexedAccessType");
  function l9e(t) {
    this.print(t.objectType), t.optional && this.token("?."), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(l9e, "OptionalIndexedAccessType");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/generators/base.js
var nW = g((Gl) => {
  "use strict";
  Object.defineProperty(Gl, "__esModule", {
    value: !0
  });
  Gl.BlockStatement = p9e;
  Gl.Directive = h9e;
  Gl.DirectiveLiteral = m9e;
  Gl.File = u9e;
  Gl.InterpreterDirective = y9e;
  Gl.Placeholder = g9e;
  Gl.Program = c9e;
  function u9e(t) {
    t.program && this.print(t.program.interpreter), this.print(t.program);
  }
  n(u9e, "File");
  function c9e(t) {
    var e;
    this.noIndentInnerCommentsHere(), this.printInnerComments();
    let s = (e = t.directives) == null ? void 0 : e.length;
    if (s) {
      var r;
      let i = t.body.length ? 2 : 1;
      this.printSequence(t.directives, void 0, i), (r = t.directives[s - 1].trailingComments) != null && r.length || this.newline(i);
    }
    this.printSequence(t.body);
  }
  n(c9e, "Program");
  function p9e(t) {
    var e;
    this.tokenChar(123);
    let s = this.enterDelimited(), r = (e = t.directives) == null ? void 0 : e.length;
    if (r) {
      var i;
      let a = t.body.length ? 2 : 1;
      this.printSequence(t.directives, !0, a), (i = t.directives[r - 1].trailingComments) != null && i.length || this.newline(a);
    }
    this.printSequence(t.body, !0), s(), this.rightBrace(t);
  }
  n(p9e, "BlockStatement");
  function h9e(t) {
    this.print(t.value), this.semicolon();
  }
  n(h9e, "Directive");
  var f9e = /(?:^|[^\\])(?:\\\\)*'/, d9e = /(?:^|[^\\])(?:\\\\)*"/;
  function m9e(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.token(e);
      return;
    }
    let {
      value: s
    } = t;
    if (!d9e.test(s))
      this.token(`"${s}"`);
    else if (!f9e.test(s))
      this.token(`'${s}'`);
    else
      throw new Error("Malformed AST: it is not possible to print a directive containing both unescaped single and double quotes.");
  }
  n(m9e, "DirectiveLiteral");
  function y9e(t) {
    this.token(`#!${t.value}`), this.newline(1, !0);
  }
  n(y9e, "InterpreterDirective");
  function g9e(t) {
    this.token("%%"), this.print(t.name), this.token("%%"), t.expectedNode === "Statement" && this.semicolon();
  }
  n(g9e, "Placeholder");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/generators/jsx.js
var aW = g((qi) => {
  "use strict";
  Object.defineProperty(qi, "__esModule", {
    value: !0
  });
  qi.JSXAttribute = T9e;
  qi.JSXClosingElement = N9e;
  qi.JSXClosingFragment = _9e;
  qi.JSXElement = C9e;
  qi.JSXEmptyExpression = k9e;
  qi.JSXExpressionContainer = E9e;
  qi.JSXFragment = D9e;
  qi.JSXIdentifier = b9e;
  qi.JSXMemberExpression = S9e;
  qi.JSXNamespacedName = x9e;
  qi.JSXOpeningElement = I9e;
  qi.JSXOpeningFragment = O9e;
  qi.JSXSpreadAttribute = P9e;
  qi.JSXSpreadChild = A9e;
  qi.JSXText = v9e;
  function T9e(t) {
    this.print(t.name), t.value && (this.tokenChar(61), this.print(t.value));
  }
  n(T9e, "JSXAttribute");
  function b9e(t) {
    this.word(t.name);
  }
  n(b9e, "JSXIdentifier");
  function x9e(t) {
    this.print(t.namespace), this.tokenChar(58), this.print(t.name);
  }
  n(x9e, "JSXNamespacedName");
  function S9e(t) {
    this.print(t.object), this.tokenChar(46), this.print(t.property);
  }
  n(S9e, "JSXMemberExpression");
  function P9e(t) {
    this.tokenChar(123), this.token("..."), this.print(t.argument), this.rightBrace(t);
  }
  n(P9e, "JSXSpreadAttribute");
  function E9e(t) {
    this.tokenChar(123), this.print(t.expression), this.rightBrace(t);
  }
  n(E9e, "JSXExpressionContainer");
  function A9e(t) {
    this.tokenChar(123), this.token("..."), this.print(t.expression), this.rightBrace(t);
  }
  n(A9e, "JSXSpreadChild");
  function v9e(t) {
    let e = this.getPossibleRaw(t);
    e !== void 0 ? this.token(e, !0) : this.token(t.value, !0);
  }
  n(v9e, "JSXText");
  function C9e(t) {
    let e = t.openingElement;
    if (this.print(e), !e.selfClosing) {
      this.indent();
      for (let s of t.children)
        this.print(s);
      this.dedent(), this.print(t.closingElement);
    }
  }
  n(C9e, "JSXElement");
  function w9e() {
    this.space();
  }
  n(w9e, "spaceSeparator");
  function I9e(t) {
    this.tokenChar(60), this.print(t.name), t.typeArguments && this.print(t.typeArguments), this.print(t.typeParameters), t.attributes.length >
    0 && (this.space(), this.printJoin(t.attributes, void 0, void 0, w9e)), t.selfClosing && (this.space(), this.tokenChar(47)), this.tokenChar(
    62);
  }
  n(I9e, "JSXOpeningElement");
  function N9e(t) {
    this.tokenChar(60), this.tokenChar(47), this.print(t.name), this.tokenChar(62);
  }
  n(N9e, "JSXClosingElement");
  function k9e() {
    this.printInnerComments();
  }
  n(k9e, "JSXEmptyExpression");
  function D9e(t) {
    this.print(t.openingFragment), this.indent();
    for (let e of t.children)
      this.print(e);
    this.dedent(), this.print(t.closingFragment);
  }
  n(D9e, "JSXFragment");
  function O9e() {
    this.tokenChar(60), this.tokenChar(62);
  }
  n(O9e, "JSXOpeningFragment");
  function _9e() {
    this.token("</"), this.tokenChar(62);
  }
  n(_9e, "JSXClosingFragment");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/generators/typescript.js
var pW = g((Je) => {
  "use strict";
  Object.defineProperty(Je, "__esModule", {
    value: !0
  });
  Je.TSAnyKeyword = J9e;
  Je.TSArrayType = d7e;
  Je.TSSatisfiesExpression = Je.TSAsExpression = _7e;
  Je.TSBigIntKeyword = Y9e;
  Je.TSBooleanKeyword = Q9e;
  Je.TSCallSignatureDeclaration = U9e;
  Je.TSInterfaceHeritage = Je.TSClassImplements = N7e;
  Je.TSConditionalType = S7e;
  Je.TSConstructSignatureDeclaration = K9e;
  Je.TSConstructorType = l7e;
  Je.TSDeclareFunction = j9e;
  Je.TSDeclareMethod = R9e;
  Je.TSEnumBody = cW;
  Je.TSEnumDeclaration = M7e;
  Je.TSEnumMember = F7e;
  Je.TSExportAssignment = W7e;
  Je.TSExternalModuleReference = K7e;
  Je.TSFunctionType = o7e;
  Je.TSImportEqualsDeclaration = U7e;
  Je.TSImportType = q7e;
  Je.TSIndexSignature = H9e;
  Je.TSIndexedAccessType = v7e;
  Je.TSInferType = P7e;
  Je.TSInstantiationExpression = B7e;
  Je.TSInterfaceBody = D7e;
  Je.TSInterfaceDeclaration = k7e;
  Je.TSIntersectionType = x7e;
  Je.TSIntrinsicKeyword = n7e;
  Je.TSLiteralType = I7e;
  Je.TSMappedType = C7e;
  Je.TSMethodSignature = $9e;
  Je.TSModuleBlock = R7e;
  Je.TSModuleDeclaration = j7e;
  Je.TSNamedTupleMember = T7e;
  Je.TSNamespaceExportDeclaration = $7e;
  Je.TSNeverKeyword = i7e;
  Je.TSNonNullExpression = V7e;
  Je.TSNullKeyword = r7e;
  Je.TSNumberKeyword = z9e;
  Je.TSObjectKeyword = G9e;
  Je.TSOptionalType = y7e;
  Je.TSParameterProperty = F9e;
  Je.TSParenthesizedType = E7e;
  Je.TSPropertySignature = V9e;
  Je.TSQualifiedName = q9e;
  Je.TSRestType = g7e;
  Je.TSStringKeyword = Z9e;
  Je.TSSymbolKeyword = e7e;
  Je.TSTemplateLiteralType = w7e;
  Je.TSThisType = a7e;
  Je.TSTupleType = m7e;
  Je.TSTypeAliasDeclaration = O7e;
  Je.TSTypeAnnotation = L9e;
  Je.TSTypeAssertion = L7e;
  Je.TSTypeLiteral = f7e;
  Je.TSTypeOperator = A7e;
  Je.TSTypeParameter = M9e;
  Je.TSTypeParameterDeclaration = Je.TSTypeParameterInstantiation = B9e;
  Je.TSTypePredicate = p7e;
  Je.TSTypeQuery = h7e;
  Je.TSTypeReference = c7e;
  Je.TSUndefinedKeyword = s7e;
  Je.TSUnionType = b7e;
  Je.TSUnknownKeyword = X9e;
  Je.TSVoidKeyword = t7e;
  Je.tsPrintClassMemberModifiers = J7e;
  Je.tsPrintFunctionOrConstructorType = u7e;
  Je.tsPrintPropertyOrMethodName = W9e;
  Je.tsPrintSignatureDeclarationBase = H7e;
  function L9e(t, e) {
    this.token((e.type === "TSFunctionType" || e.type === "TSConstructorType") && e.typeAnnotation === t ? "=>" : ":"), this.space(), t.optional &&
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(L9e, "TSTypeAnnotation");
  function B9e(t, e) {
    this.tokenChar(60);
    let s = e.type === "ArrowFunctionExpression" && t.params.length === 1;
    this.tokenMap && t.start != null && t.end != null && (s && (s = !!this.tokenMap.find(t, (r) => this.tokenMap.matchesOriginal(r, ","))), s ||
    (s = this.shouldPrintTrailingComma(">"))), this.printList(t.params, s), this.tokenChar(62);
  }
  n(B9e, "TSTypeParameterInstantiation");
  function M9e(t) {
    t.in && (this.word("in"), this.space()), t.out && (this.word("out"), this.space()), this.word(t.name), t.constraint && (this.space(), this.
    word("extends"), this.space(), this.print(t.constraint)), t.default && (this.space(), this.tokenChar(61), this.space(), this.print(t.default));
  }
  n(M9e, "TSTypeParameter");
  function F9e(t) {
    t.accessibility && (this.word(t.accessibility), this.space()), t.readonly && (this.word("readonly"), this.space()), this._param(t.parameter);
  }
  n(F9e, "TSParameterProperty");
  function j9e(t, e) {
    t.declare && (this.word("declare"), this.space()), this._functionHead(t, e), this.semicolon();
  }
  n(j9e, "TSDeclareFunction");
  function R9e(t) {
    this._classMethodHead(t), this.semicolon();
  }
  n(R9e, "TSDeclareMethod");
  function q9e(t) {
    this.print(t.left), this.tokenChar(46), this.print(t.right);
  }
  n(q9e, "TSQualifiedName");
  function U9e(t) {
    this.tsPrintSignatureDeclarationBase(t), hg(this, t);
  }
  n(U9e, "TSCallSignatureDeclaration");
  function hg(t, e) {
    if (!t.tokenMap || !e.start || !e.end) {
      t.semicolon();
      return;
    }
    t.tokenMap.endMatches(e, ",") ? t.token(",") : t.tokenMap.endMatches(e, ";") && t.semicolon();
  }
  n(hg, "maybePrintTrailingCommaOrSemicolon");
  function K9e(t) {
    this.word("new"), this.space(), this.tsPrintSignatureDeclarationBase(t), hg(this, t);
  }
  n(K9e, "TSConstructSignatureDeclaration");
  function V9e(t) {
    let {
      readonly: e
    } = t;
    e && (this.word("readonly"), this.space()), this.tsPrintPropertyOrMethodName(t), this.print(t.typeAnnotation), hg(this, t);
  }
  n(V9e, "TSPropertySignature");
  function W9e(t) {
    t.computed && this.tokenChar(91), this.print(t.key), t.computed && this.tokenChar(93), t.optional && this.tokenChar(63);
  }
  n(W9e, "tsPrintPropertyOrMethodName");
  function $9e(t) {
    let {
      kind: e
    } = t;
    (e === "set" || e === "get") && (this.word(e), this.space()), this.tsPrintPropertyOrMethodName(t), this.tsPrintSignatureDeclarationBase(
    t), hg(this, t);
  }
  n($9e, "TSMethodSignature");
  function H9e(t) {
    let {
      readonly: e,
      static: s
    } = t;
    s && (this.word("static"), this.space()), e && (this.word("readonly"), this.space()), this.tokenChar(91), this._parameters(t.parameters,
    "]"), this.print(t.typeAnnotation), hg(this, t);
  }
  n(H9e, "TSIndexSignature");
  function J9e() {
    this.word("any");
  }
  n(J9e, "TSAnyKeyword");
  function Y9e() {
    this.word("bigint");
  }
  n(Y9e, "TSBigIntKeyword");
  function X9e() {
    this.word("unknown");
  }
  n(X9e, "TSUnknownKeyword");
  function z9e() {
    this.word("number");
  }
  n(z9e, "TSNumberKeyword");
  function G9e() {
    this.word("object");
  }
  n(G9e, "TSObjectKeyword");
  function Q9e() {
    this.word("boolean");
  }
  n(Q9e, "TSBooleanKeyword");
  function Z9e() {
    this.word("string");
  }
  n(Z9e, "TSStringKeyword");
  function e7e() {
    this.word("symbol");
  }
  n(e7e, "TSSymbolKeyword");
  function t7e() {
    this.word("void");
  }
  n(t7e, "TSVoidKeyword");
  function s7e() {
    this.word("undefined");
  }
  n(s7e, "TSUndefinedKeyword");
  function r7e() {
    this.word("null");
  }
  n(r7e, "TSNullKeyword");
  function i7e() {
    this.word("never");
  }
  n(i7e, "TSNeverKeyword");
  function n7e() {
    this.word("intrinsic");
  }
  n(n7e, "TSIntrinsicKeyword");
  function a7e() {
    this.word("this");
  }
  n(a7e, "TSThisType");
  function o7e(t) {
    this.tsPrintFunctionOrConstructorType(t);
  }
  n(o7e, "TSFunctionType");
  function l7e(t) {
    t.abstract && (this.word("abstract"), this.space()), this.word("new"), this.space(), this.tsPrintFunctionOrConstructorType(t);
  }
  n(l7e, "TSConstructorType");
  function u7e(t) {
    let {
      typeParameters: e
    } = t, s = t.parameters;
    this.print(e), this.tokenChar(40), this._parameters(s, ")"), this.space();
    let r = t.typeAnnotation;
    this.print(r);
  }
  n(u7e, "tsPrintFunctionOrConstructorType");
  function c7e(t) {
    let e = t.typeParameters;
    this.print(t.typeName, !!e), this.print(e);
  }
  n(c7e, "TSTypeReference");
  function p7e(t) {
    t.asserts && (this.word("asserts"), this.space()), this.print(t.parameterName), t.typeAnnotation && (this.space(), this.word("is"), this.
    space(), this.print(t.typeAnnotation.typeAnnotation));
  }
  n(p7e, "TSTypePredicate");
  function h7e(t) {
    this.word("typeof"), this.space(), this.print(t.exprName);
    let e = t.typeParameters;
    e && this.print(e);
  }
  n(h7e, "TSTypeQuery");
  function f7e(t) {
    Ox(this, t, () => this.printJoin(t.members, !0, !0));
  }
  n(f7e, "TSTypeLiteral");
  function d7e(t) {
    this.print(t.elementType, !0), this.tokenChar(91), this.tokenChar(93);
  }
  n(d7e, "TSArrayType");
  function m7e(t) {
    this.tokenChar(91), this.printList(t.elementTypes, this.shouldPrintTrailingComma("]")), this.tokenChar(93);
  }
  n(m7e, "TSTupleType");
  function y7e(t) {
    this.print(t.typeAnnotation), this.tokenChar(63);
  }
  n(y7e, "TSOptionalType");
  function g7e(t) {
    this.token("..."), this.print(t.typeAnnotation);
  }
  n(g7e, "TSRestType");
  function T7e(t) {
    this.print(t.label), t.optional && this.tokenChar(63), this.tokenChar(58), this.space(), this.print(t.elementType);
  }
  n(T7e, "TSNamedTupleMember");
  function b7e(t) {
    uW(this, t, "|");
  }
  n(b7e, "TSUnionType");
  function x7e(t) {
    uW(this, t, "&");
  }
  n(x7e, "TSIntersectionType");
  function uW(t, e, s) {
    var r;
    let i = 0;
    (r = t.tokenMap) != null && r.startMatches(e, s) && (i = 1, t.token(s)), t.printJoin(e.types, void 0, void 0, function(a) {
      this.space(), this.token(s, null, a + i), this.space();
    });
  }
  n(uW, "tsPrintUnionOrIntersectionType");
  function S7e(t) {
    this.print(t.checkType), this.space(), this.word("extends"), this.space(), this.print(t.extendsType), this.space(), this.tokenChar(63), this.
    space(), this.print(t.trueType), this.space(), this.tokenChar(58), this.space(), this.print(t.falseType);
  }
  n(S7e, "TSConditionalType");
  function P7e(t) {
    this.word("infer"), this.print(t.typeParameter);
  }
  n(P7e, "TSInferType");
  function E7e(t) {
    this.tokenChar(40), this.print(t.typeAnnotation), this.tokenChar(41);
  }
  n(E7e, "TSParenthesizedType");
  function A7e(t) {
    this.word(t.operator), this.space(), this.print(t.typeAnnotation);
  }
  n(A7e, "TSTypeOperator");
  function v7e(t) {
    this.print(t.objectType, !0), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(v7e, "TSIndexedAccessType");
  function C7e(t) {
    let {
      nameType: e,
      optional: s,
      readonly: r,
      typeAnnotation: i
    } = t;
    this.tokenChar(123);
    let a = this.enterDelimited();
    this.space(), r && (oW(this, r), this.word("readonly"), this.space()), this.tokenChar(91), this.word(t.typeParameter.name), this.space(),
    this.word("in"), this.space(), this.print(t.typeParameter.constraint), e && (this.space(), this.word("as"), this.space(), this.print(e)),
    this.tokenChar(93), s && (oW(this, s), this.tokenChar(63)), i && (this.tokenChar(58), this.space(), this.print(i)), this.space(), a(), this.
    tokenChar(125);
  }
  n(C7e, "TSMappedType");
  function oW(t, e) {
    e !== !0 && t.token(e);
  }
  n(oW, "tokenIfPlusMinus");
  function w7e(t) {
    this._printTemplate(t, t.types);
  }
  n(w7e, "TSTemplateLiteralType");
  function I7e(t) {
    this.print(t.literal);
  }
  n(I7e, "TSLiteralType");
  function N7e(t) {
    this.print(t.expression), this.print(t.typeArguments);
  }
  n(N7e, "TSClassImplements");
  function k7e(t) {
    let {
      declare: e,
      id: s,
      typeParameters: r,
      extends: i,
      body: a
    } = t;
    e && (this.word("declare"), this.space()), this.word("interface"), this.space(), this.print(s), this.print(r), i != null && i.length && (this.
    space(), this.word("extends"), this.space(), this.printList(i)), this.space(), this.print(a);
  }
  n(k7e, "TSInterfaceDeclaration");
  function D7e(t) {
    Ox(this, t, () => this.printJoin(t.body, !0, !0));
  }
  n(D7e, "TSInterfaceBody");
  function O7e(t) {
    let {
      declare: e,
      id: s,
      typeParameters: r,
      typeAnnotation: i
    } = t;
    e && (this.word("declare"), this.space()), this.word("type"), this.space(), this.print(s), this.print(r), this.space(), this.tokenChar(61),
    this.space(), this.print(i), this.semicolon();
  }
  n(O7e, "TSTypeAliasDeclaration");
  function _7e(t) {
    let {
      type: e,
      expression: s,
      typeAnnotation: r
    } = t;
    this.print(s, !0), this.space(), this.word(e === "TSAsExpression" ? "as" : "satisfies"), this.space(), this.print(r);
  }
  n(_7e, "TSTypeExpression");
  function L7e(t) {
    let {
      typeAnnotation: e,
      expression: s
    } = t;
    this.tokenChar(60), this.print(e), this.tokenChar(62), this.space(), this.print(s);
  }
  n(L7e, "TSTypeAssertion");
  function B7e(t) {
    this.print(t.expression), this.print(t.typeParameters);
  }
  n(B7e, "TSInstantiationExpression");
  function M7e(t) {
    let {
      declare: e,
      const: s,
      id: r
    } = t;
    e && (this.word("declare"), this.space()), s && (this.word("const"), this.space()), this.word("enum"), this.space(), this.print(r), this.
    space(), cW.call(this, t);
  }
  n(M7e, "TSEnumDeclaration");
  function cW(t) {
    Ox(this, t, () => {
      var e;
      return this.printList(t.members, (e = this.shouldPrintTrailingComma("}")) != null ? e : !0, !0, !0);
    });
  }
  n(cW, "TSEnumBody");
  function F7e(t) {
    let {
      id: e,
      initializer: s
    } = t;
    this.print(e), s && (this.space(), this.tokenChar(61), this.space(), this.print(s));
  }
  n(F7e, "TSEnumMember");
  function j7e(t) {
    let {
      declare: e,
      id: s,
      kind: r
    } = t;
    e && (this.word("declare"), this.space());
    {
      if (t.global || (this.word(r ?? (s.type === "Identifier" ? "namespace" : "module")), this.space()), this.print(s), !t.body) {
        this.semicolon();
        return;
      }
      let i = t.body;
      for (; i.type === "TSModuleDeclaration"; )
        this.tokenChar(46), this.print(i.id), i = i.body;
      this.space(), this.print(i);
    }
  }
  n(j7e, "TSModuleDeclaration");
  function R7e(t) {
    Ox(this, t, () => this.printSequence(t.body, !0));
  }
  n(R7e, "TSModuleBlock");
  function q7e(t) {
    let {
      argument: e,
      qualifier: s,
      options: r
    } = t;
    this.word("import"), this.tokenChar(40), this.print(e), r && (this.tokenChar(44), this.print(r)), this.tokenChar(41), s && (this.tokenChar(
    46), this.print(s));
    let i = t.typeParameters;
    i && this.print(i);
  }
  n(q7e, "TSImportType");
  function U7e(t) {
    let {
      id: e,
      moduleReference: s
    } = t;
    t.isExport && (this.word("export"), this.space()), this.word("import"), this.space(), this.print(e), this.space(), this.tokenChar(61), this.
    space(), this.print(s), this.semicolon();
  }
  n(U7e, "TSImportEqualsDeclaration");
  function K7e(t) {
    this.token("require("), this.print(t.expression), this.tokenChar(41);
  }
  n(K7e, "TSExternalModuleReference");
  function V7e(t) {
    this.print(t.expression), this.tokenChar(33);
  }
  n(V7e, "TSNonNullExpression");
  function W7e(t) {
    this.word("export"), this.space(), this.tokenChar(61), this.space(), this.print(t.expression), this.semicolon();
  }
  n(W7e, "TSExportAssignment");
  function $7e(t) {
    this.word("export"), this.space(), this.word("as"), this.space(), this.word("namespace"), this.space(), this.print(t.id), this.semicolon();
  }
  n($7e, "TSNamespaceExportDeclaration");
  function H7e(t) {
    let {
      typeParameters: e
    } = t, s = t.parameters;
    this.print(e), this.tokenChar(40), this._parameters(s, ")");
    let r = t.typeAnnotation;
    this.print(r);
  }
  n(H7e, "tsPrintSignatureDeclarationBase");
  function J7e(t) {
    let e = t.type === "ClassPrivateProperty", s = t.type === "ClassAccessorProperty" || t.type === "ClassProperty";
    lW(this, t, [s && t.declare && "declare", !e && t.accessibility]), t.static && (this.word("static"), this.space()), lW(this, t, [!e && t.
    override && "override", !e && t.abstract && "abstract", (s || e) && t.readonly && "readonly"]);
  }
  n(J7e, "tsPrintClassMemberModifiers");
  function Ox(t, e, s) {
    t.token("{");
    let r = t.enterDelimited();
    s(), r(), t.rightBrace(e);
  }
  n(Ox, "printBraced");
  function lW(t, e, s) {
    var r;
    let i = /* @__PURE__ */ new Set();
    for (let a of s)
      a && i.add(a);
    (r = t.tokenMap) == null || r.find(e, (a) => {
      if (i.has(a.value))
        return t.token(a.value), t.space(), i.delete(a.value), i.size === 0;
    });
    for (let a of i)
      t.word(a), t.space();
  }
  n(lW, "printModifiersList");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/generators/index.js
var hW = g((Is) => {
  "use strict";
  Object.defineProperty(Is, "__esModule", {
    value: !0
  });
  var YN = RV();
  Object.keys(YN).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Is && Is[t] === YN[t] || Object.defineProperty(Is, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return YN[t];
      }, "get")
    });
  });
  var XN = UV();
  Object.keys(XN).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Is && Is[t] === XN[t] || Object.defineProperty(Is, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return XN[t];
      }, "get")
    });
  });
  var zN = $V();
  Object.keys(zN).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Is && Is[t] === zN[t] || Object.defineProperty(Is, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return zN[t];
      }, "get")
    });
  });
  var GN = HV();
  Object.keys(GN).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Is && Is[t] === GN[t] || Object.defineProperty(Is, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return GN[t];
      }, "get")
    });
  });
  var QN = JV();
  Object.keys(QN).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Is && Is[t] === QN[t] || Object.defineProperty(Is, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return QN[t];
      }, "get")
    });
  });
  var ZN = WN();
  Object.keys(ZN).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Is && Is[t] === ZN[t] || Object.defineProperty(Is, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return ZN[t];
      }, "get")
    });
  });
  var ek = HN();
  Object.keys(ek).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Is && Is[t] === ek[t] || Object.defineProperty(Is, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return ek[t];
      }, "get")
    });
  });
  var tk = iW();
  Object.keys(tk).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Is && Is[t] === tk[t] || Object.defineProperty(Is, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return tk[t];
      }, "get")
    });
  });
  var sk = nW();
  Object.keys(sk).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Is && Is[t] === sk[t] || Object.defineProperty(Is, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return sk[t];
      }, "get")
    });
  });
  var rk = aW();
  Object.keys(rk).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Is && Is[t] === rk[t] || Object.defineProperty(Is, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return rk[t];
      }, "get")
    });
  });
  var ik = pW();
  Object.keys(ik).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Is && Is[t] === ik[t] || Object.defineProperty(Is, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return ik[t];
      }, "get")
    });
  });
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/generators/deprecated.js
var fW = g((nk) => {
  "use strict";
  Object.defineProperty(nk, "__esModule", {
    value: !0
  });
  nk.addDeprecatedGenerators = Y7e;
  function Y7e(t) {
    {
      let e = {
        Noop() {
        },
        TSExpressionWithTypeArguments(s) {
          this.print(s.expression), this.print(s.typeParameters);
        },
        DecimalLiteral(s) {
          let r = this.getPossibleRaw(s);
          if (!this.format.minified && r !== void 0) {
            this.word(r);
            return;
          }
          this.word(s.value + "m");
        }
      };
      Object.assign(t.prototype, e);
    }
  }
  n(Y7e, "addDeprecatedGenerators");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/printer.js
var gW = g((_x) => {
  "use strict";
  Object.defineProperty(_x, "__esModule", {
    value: !0
  });
  _x.default = void 0;
  var X7e = SV(), mW = _c(), z7e = fe(), G7e = jV(), Q7e = hW(), Z7e = fW(), {
    isExpression: eqe,
    isFunction: tqe,
    isStatement: sqe,
    isClassBody: rqe,
    isTSInterfaceBody: iqe,
    isTSEnumMember: nqe
  } = z7e, aqe = /e/i, oqe = /\.0+$/, yW = /[\n\r\u2028\u2029]/, lqe = /[\n\r\u2028\u2029]|\*\//;
  function dW(t) {
    return t.type === "CommentLine" || yW.test(t.value);
  }
  n(dW, "commentIsNewline");
  var {
    needsParens: uqe
  } = mW, fg = class {
    static {
      n(this, "Printer");
    }
    constructor(e, s, r, i) {
      this.inForStatementInit = !1, this.tokenContext = 0, this._tokens = null, this._originalCode = null, this._currentNode = null, this._indent =
      0, this._indentRepeat = 0, this._insideAux = !1, this._noLineTerminator = !1, this._noLineTerminatorAfterNode = null, this._printAuxAfterOnNextUserNode =
      !1, this._printedComments = /* @__PURE__ */ new Set(), this._endsWithInteger = !1, this._endsWithWord = !1, this._endsWithDiv = !1, this.
      _lastCommentLine = 0, this._endsWithInnerRaw = !1, this._indentInnerComments = !0, this.tokenMap = null, this._boundGetRawIdentifier =
      this._getRawIdentifier.bind(this), this._printSemicolonBeforeNextNode = -1, this._printSemicolonBeforeNextToken = -1, this.format = e,
      this._tokens = r, this._originalCode = i, this._indentRepeat = e.indent.style.length, this._inputMap = s?._inputMap, this._buf = new X7e.
      default(s, e.indent.style[0]);
    }
    enterForStatementInit() {
      return this.inForStatementInit ? () => {
      } : (this.inForStatementInit = !0, () => {
        this.inForStatementInit = !1;
      });
    }
    enterDelimited() {
      let e = this.inForStatementInit, s = this._noLineTerminatorAfterNode;
      return e === !1 && s === null ? () => {
      } : (this.inForStatementInit = !1, this._noLineTerminatorAfterNode = null, () => {
        this.inForStatementInit = e, this._noLineTerminatorAfterNode = s;
      });
    }
    generate(e) {
      return this.format.preserveFormat && (this.tokenMap = new G7e.TokenMap(e, this._tokens, this._originalCode)), this.print(e), this._maybeAddAuxComment(),
      this._buf.get();
    }
    indent() {
      let {
        format: e
      } = this;
      e.preserveFormat || e.compact || e.concise || this._indent++;
    }
    dedent() {
      let {
        format: e
      } = this;
      e.preserveFormat || e.compact || e.concise || this._indent--;
    }
    semicolon(e = !1) {
      if (this._maybeAddAuxComment(), e) {
        this._appendChar(59), this._noLineTerminator = !1;
        return;
      }
      if (this.tokenMap) {
        let s = this._currentNode;
        if (s.start != null && s.end != null) {
          if (!this.tokenMap.endMatches(s, ";")) {
            this._printSemicolonBeforeNextNode = this._buf.getCurrentLine();
            return;
          }
          let r = this.tokenMap.getIndexes(this._currentNode);
          this._catchUpTo(this._tokens[r[r.length - 1]].loc.start);
        }
      }
      this._queue(59), this._noLineTerminator = !1;
    }
    rightBrace(e) {
      this.format.minified && this._buf.removeLastSemicolon(), this.sourceWithOffset("end", e.loc, -1), this.tokenChar(125);
    }
    rightParens(e) {
      this.sourceWithOffset("end", e.loc, -1), this.tokenChar(41);
    }
    space(e = !1) {
      let {
        format: s
      } = this;
      if (!(s.compact || s.preserveFormat)) {
        if (e)
          this._space();
        else if (this._buf.hasContent()) {
          let r = this.getLastChar();
          r !== 32 && r !== 10 && this._space();
        }
      }
    }
    word(e, s = !1) {
      this.tokenContext = 0, this._maybePrintInnerComments(e), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(e), (this.
      _endsWithWord || this._endsWithDiv && e.charCodeAt(0) === 47) && this._space(), this._append(e, !1), this._endsWithWord = !0, this._noLineTerminator =
      s;
    }
    number(e, s) {
      function r(i) {
        if (i.length > 2 && i.charCodeAt(0) === 48) {
          let a = i.charCodeAt(1);
          return a === 98 || a === 111 || a === 120;
        }
        return !1;
      }
      n(r, "isNonDecimalLiteral"), this.word(e), this._endsWithInteger = Number.isInteger(s) && !r(e) && !aqe.test(e) && !oqe.test(e) && e.charCodeAt(
      e.length - 1) !== 46;
    }
    token(e, s = !1, r = 0) {
      this.tokenContext = 0, this._maybePrintInnerComments(e, r), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(e,
      r);
      let i = this.getLastChar(), a = e.charCodeAt(0);
      (i === 33 && (e === "--" || a === 61) || a === 43 && i === 43 || a === 45 && i === 45 || a === 46 && this._endsWithInteger) && this._space(),
      this._append(e, s), this._noLineTerminator = !1;
    }
    tokenChar(e) {
      this.tokenContext = 0;
      let s = String.fromCharCode(e);
      this._maybePrintInnerComments(s), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(s);
      let r = this.getLastChar();
      (e === 43 && r === 43 || e === 45 && r === 45 || e === 46 && this._endsWithInteger) && this._space(), this._appendChar(e), this._noLineTerminator =
      !1;
    }
    newline(e = 1, s) {
      if (!(e <= 0)) {
        if (!s) {
          if (this.format.retainLines || this.format.compact) return;
          if (this.format.concise) {
            this.space();
            return;
          }
        }
        e > 2 && (e = 2), e -= this._buf.getNewlineCount();
        for (let r = 0; r < e; r++)
          this._newline();
      }
    }
    endsWith(e) {
      return this.getLastChar() === e;
    }
    getLastChar() {
      return this._buf.getLastChar();
    }
    endsWithCharAndNewline() {
      return this._buf.endsWithCharAndNewline();
    }
    removeTrailingNewline() {
      this._buf.removeTrailingNewline();
    }
    exactSource(e, s) {
      if (!e) {
        s();
        return;
      }
      this._catchUp("start", e), this._buf.exactSource(e, s);
    }
    source(e, s) {
      s && (this._catchUp(e, s), this._buf.source(e, s));
    }
    sourceWithOffset(e, s, r) {
      !s || this.format.preserveFormat || (this._catchUp(e, s), this._buf.sourceWithOffset(e, s, r));
    }
    sourceIdentifierName(e, s) {
      if (!this._buf._canMarkIdName) return;
      let r = this._buf._sourcePosition;
      r.identifierNamePos = s, r.identifierName = e;
    }
    _space() {
      this._queue(32);
    }
    _newline() {
      this._queue(10);
    }
    _catchUpToCurrentToken(e, s = 0) {
      let r = this.tokenMap.findMatching(this._currentNode, e, s);
      r && this._catchUpTo(r.loc.start), this._printSemicolonBeforeNextToken !== -1 && this._printSemicolonBeforeNextToken === this._buf.getCurrentLine() &&
      (this._buf.appendChar(59), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1), this._printSemicolonBeforeNextToken =
      -1, this._printSemicolonBeforeNextNode = -1;
    }
    _append(e, s) {
      this._maybeIndent(e.charCodeAt(0)), this._buf.append(e, s), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1;
    }
    _appendChar(e) {
      this._maybeIndent(e), this._buf.appendChar(e), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1;
    }
    _queue(e) {
      this._maybeIndent(e), this._buf.queue(e), this._endsWithWord = !1, this._endsWithInteger = !1;
    }
    _maybeIndent(e) {
      this._indent && e !== 10 && this.endsWith(10) && this._buf.queueIndentation(this._getIndent());
    }
    _shouldIndent(e) {
      if (this._indent && e !== 10 && this.endsWith(10))
        return !0;
    }
    catchUp(e) {
      if (!this.format.retainLines) return;
      let s = e - this._buf.getCurrentLine();
      for (let r = 0; r < s; r++)
        this._newline();
    }
    _catchUp(e, s) {
      let {
        format: r
      } = this;
      if (!r.preserveFormat) {
        r.retainLines && s != null && s[e] && this.catchUp(s[e].line);
        return;
      }
      let i = s?.[e];
      i != null && this._catchUpTo(i);
    }
    _catchUpTo({
      line: e,
      column: s,
      index: r
    }) {
      let i = e - this._buf.getCurrentLine();
      if (i > 0 && this._noLineTerminator)
        return;
      for (let o = 0; o < i; o++)
        this._newline();
      let a = i > 0 ? s : s - this._buf.getCurrentColumn();
      if (a > 0) {
        let o = this._originalCode ? this._originalCode.slice(r - a, r).replace(/[^\t\x0B\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/gu,
        " ") : " ".repeat(a);
        this._append(o, !1);
      }
    }
    _getIndent() {
      return this._indentRepeat * this._indent;
    }
    printTerminatorless(e) {
      this._noLineTerminator = !0, this.print(e);
    }
    print(e, s, r) {
      var i, a, o;
      if (!e) return;
      this._endsWithInnerRaw = !1;
      let l = e.type, u = this.format, c = u.concise;
      e._compact && (u.concise = !0);
      let p = this[l];
      if (p === void 0)
        throw new ReferenceError(`unknown node of type ${JSON.stringify(l)} with constructor ${JSON.stringify(e.constructor.name)}`);
      let h = this._currentNode;
      this._currentNode = e, this.tokenMap && (this._printSemicolonBeforeNextToken = this._printSemicolonBeforeNextNode);
      let f = this._insideAux;
      this._insideAux = e.loc == null, this._maybeAddAuxComment(this._insideAux && !f);
      let d = (i = e.extra) == null ? void 0 : i.parenthesized, m = d && u.preserveFormat || d && u.retainFunctionParens && l === "FunctionE\
xpression" || uqe(e, h, this.tokenContext, this.inForStatementInit, u.preserveFormat ? this._boundGetRawIdentifier : void 0);
      if (!m && d && (a = e.leadingComments) != null && a.length && e.leadingComments[0].type === "CommentBlock")
        switch (h?.type) {
          case "ExpressionStatement":
          case "VariableDeclarator":
          case "AssignmentExpression":
          case "ReturnStatement":
            break;
          case "CallExpression":
          case "OptionalCallExpression":
          case "NewExpression":
            if (h.callee !== e) break;
          default:
            m = !0;
        }
      let y = !1;
      !m && this._noLineTerminator && ((o = e.leadingComments) != null && o.some(dW) || this.format.retainLines && e.loc && e.loc.start.line >
      this._buf.getCurrentLine()) && (m = !0, y = !0);
      let T, b;
      if (!m && (s || (s = h && this._noLineTerminatorAfterNode === h && mW.isLastChild(h, e)), s)) {
        var E;
        (E = e.trailingComments) != null && E.some(dW) ? eqe(e) && (m = !0) : (T = this._noLineTerminatorAfterNode, this._noLineTerminatorAfterNode =
        e);
      }
      m && (this.tokenChar(40), y && this.indent(), this._endsWithInnerRaw = !1, this.inForStatementInit && (b = !0, this.inForStatementInit =
      !1), T = this._noLineTerminatorAfterNode, this._noLineTerminatorAfterNode = null), this._lastCommentLine = 0, this._printLeadingComments(
      e, h);
      let V = l === "Program" || l === "File" ? null : e.loc;
      this.exactSource(V, p.bind(this, e, h)), m ? (this._printTrailingComments(e, h), y && (this.dedent(), this.newline()), this.tokenChar(
      41), this._noLineTerminator = s, b && (this.inForStatementInit = !0)) : s && !this._noLineTerminator ? (this._noLineTerminator = !0, this.
      _printTrailingComments(e, h)) : this._printTrailingComments(e, h, r), this._currentNode = h, u.concise = c, this._insideAux = f, T !==
      void 0 && (this._noLineTerminatorAfterNode = T), this._endsWithInnerRaw = !1;
    }
    _maybeAddAuxComment(e) {
      e && this._printAuxBeforeComment(), this._insideAux || this._printAuxAfterComment();
    }
    _printAuxBeforeComment() {
      if (this._printAuxAfterOnNextUserNode) return;
      this._printAuxAfterOnNextUserNode = !0;
      let e = this.format.auxiliaryCommentBefore;
      e && this._printComment({
        type: "CommentBlock",
        value: e
      }, 0);
    }
    _printAuxAfterComment() {
      if (!this._printAuxAfterOnNextUserNode) return;
      this._printAuxAfterOnNextUserNode = !1;
      let e = this.format.auxiliaryCommentAfter;
      e && this._printComment({
        type: "CommentBlock",
        value: e
      }, 0);
    }
    getPossibleRaw(e) {
      let s = e.extra;
      if (s?.raw != null && s.rawValue != null && e.value === s.rawValue)
        return s.raw;
    }
    printJoin(e, s, r, i, a, o, l, u) {
      if (!(e != null && e.length)) return;
      if (r == null && this.format.retainLines) {
        var c;
        let y = (c = e[0].loc) == null ? void 0 : c.start.line;
        y != null && y !== this._buf.getCurrentLine() && (r = !0);
      }
      r && this.indent();
      let p = {
        addNewlines: o,
        nextNodeStartLine: 0
      }, h = i?.bind(this), f = e.length;
      for (let y = 0; y < f; y++) {
        let T = e[y];
        if (T && (s && this._printNewline(y === 0, p), this.print(T, void 0, u || 0), l?.(T, y), h != null && (y < f - 1 ? h(y, !1) : a && h(
        y, !0)), s)) {
          var d;
          if ((d = T.trailingComments) != null && d.length || (this._lastCommentLine = 0), y + 1 === f)
            this.newline(1);
          else {
            var m;
            let b = e[y + 1];
            p.nextNodeStartLine = ((m = b.loc) == null ? void 0 : m.start.line) || 0, this._printNewline(!0, p);
          }
        }
      }
      r && this.dedent();
    }
    printAndIndentOnComments(e) {
      let s = e.leadingComments && e.leadingComments.length > 0;
      s && this.indent(), this.print(e), s && this.dedent();
    }
    printBlock(e) {
      let s = e.body;
      s.type !== "EmptyStatement" && this.space(), this.print(s);
    }
    _printTrailingComments(e, s, r) {
      let {
        innerComments: i,
        trailingComments: a
      } = e;
      i != null && i.length && this._printComments(2, i, e, s, r), a != null && a.length && this._printComments(2, a, e, s, r);
    }
    _printLeadingComments(e, s) {
      let r = e.leadingComments;
      r != null && r.length && this._printComments(0, r, e, s);
    }
    _maybePrintInnerComments(e, s) {
      if (this._endsWithInnerRaw) {
        var r;
        this.printInnerComments((r = this.tokenMap) == null ? void 0 : r.findMatching(this._currentNode, e, s));
      }
      this._endsWithInnerRaw = !0, this._indentInnerComments = !0;
    }
    printInnerComments(e) {
      let s = this._currentNode, r = s.innerComments;
      if (!(r != null && r.length)) return;
      let i = this.endsWith(32), a = this._indentInnerComments, o = this._printedComments.size;
      a && this.indent(), this._printComments(1, r, s, void 0, void 0, e), i && o !== this._printedComments.size && this.space(), a && this.
      dedent();
    }
    noIndentInnerCommentsHere() {
      this._indentInnerComments = !1;
    }
    printSequence(e, s, r, i) {
      this.printJoin(e, !0, s ?? !1, void 0, void 0, i, void 0, r);
    }
    printList(e, s, r, i, a, o) {
      this.printJoin(e, r, i, a ?? cqe, s, void 0, o);
    }
    shouldPrintTrailingComma(e) {
      if (!this.tokenMap) return null;
      let s = this.tokenMap.findLastIndex(this._currentNode, (r) => this.tokenMap.matchesOriginal(r, e));
      return s <= 0 ? null : this.tokenMap.matchesOriginal(this._tokens[s - 1], ",");
    }
    _printNewline(e, s) {
      let r = this.format;
      if (r.retainLines || r.compact) return;
      if (r.concise) {
        this.space();
        return;
      }
      if (!e)
        return;
      let i = s.nextNodeStartLine, a = this._lastCommentLine;
      if (i > 0 && a > 0) {
        let o = i - a;
        if (o >= 0) {
          this.newline(o || 1);
          return;
        }
      }
      this._buf.hasContent() && this.newline(1);
    }
    _shouldPrintComment(e, s) {
      if (e.ignore || this._printedComments.has(e)) return 0;
      if (this._noLineTerminator && lqe.test(e.value))
        return 2;
      if (s && this.tokenMap) {
        let r = this.tokenMap.find(this._currentNode, (i) => i.value === e.value);
        if (r && r.start > s.start)
          return 2;
      }
      return this._printedComments.add(e), this.format.shouldPrintComment(e.value) ? 1 : 0;
    }
    _printComment(e, s) {
      let r = this._noLineTerminator, i = e.type === "CommentBlock", a = i && s !== 1 && !this._noLineTerminator;
      a && this._buf.hasContent() && s !== 2 && this.newline(1);
      let o = this.getLastChar();
      o !== 91 && o !== 123 && o !== 40 && this.space();
      let l;
      if (i) {
        if (l = `/*${e.value}*/`, this.format.indent.adjustMultilineComment) {
          var u;
          let c = (u = e.loc) == null ? void 0 : u.start.column;
          if (c) {
            let p = new RegExp("\\n\\s{1," + c + "}", "g");
            l = l.replace(p, `
`);
          }
          if (this.format.concise)
            l = l.replace(/\n(?!$)/g, `
`);
          else {
            let p = this.format.retainLines ? 0 : this._buf.getCurrentColumn();
            (this._shouldIndent(47) || this.format.retainLines) && (p += this._getIndent()), l = l.replace(/\n(?!$)/g, `
${" ".repeat(p)}`);
          }
        }
      } else r ? l = `/*${e.value}*/` : l = `//${e.value}`;
      if (this._endsWithDiv && this._space(), this.tokenMap) {
        let {
          _printSemicolonBeforeNextToken: c,
          _printSemicolonBeforeNextNode: p
        } = this;
        this._printSemicolonBeforeNextToken = -1, this._printSemicolonBeforeNextNode = -1, this.source("start", e.loc), this._append(l, i), this.
        _printSemicolonBeforeNextNode = p, this._printSemicolonBeforeNextToken = c;
      } else
        this.source("start", e.loc), this._append(l, i);
      !i && !r && this.newline(1, !0), a && s !== 3 && this.newline(1);
    }
    _printComments(e, s, r, i, a = 0, o) {
      let l = r.loc, u = s.length, c = !!l, p = c ? l.start.line : 0, h = c ? l.end.line : 0, f = 0, d = 0, m = this._noLineTerminator ? function() {
      } : this.newline.bind(this);
      for (let y = 0; y < u; y++) {
        let T = s[y], b = this._shouldPrintComment(T, o);
        if (b === 2) {
          c = !1;
          break;
        }
        if (c && T.loc && b === 1) {
          let E = T.loc.start.line, V = T.loc.end.line;
          if (e === 0) {
            let W = 0;
            y === 0 ? this._buf.hasContent() && (T.type === "CommentLine" || E !== V) && (W = d = 1) : W = E - f, f = V, m(W), this._printComment(
            T, 1), y + 1 === u && (m(Math.max(p - f, d)), f = p);
          } else if (e === 1) {
            let W = E - (y === 0 ? p : f);
            f = V, m(W), this._printComment(T, 1), y + 1 === u && (m(Math.min(1, h - f)), f = h);
          } else {
            let W = E - (y === 0 ? h - a : f);
            f = V, m(W), this._printComment(T, 1);
          }
        } else {
          if (c = !1, b !== 1)
            continue;
          if (u === 1) {
            let E = T.loc ? T.loc.start.line === T.loc.end.line : !yW.test(T.value), V = E && !sqe(r) && !rqe(i) && !iqe(i) && !nqe(r);
            e === 0 ? this._printComment(T, V && r.type !== "ObjectExpression" || E && tqe(i, {
              body: r
            }) ? 1 : 0) : V && e === 2 ? this._printComment(T, 1) : this._printComment(T, 0);
          } else e === 1 && !(r.type === "ObjectExpression" && r.properties.length > 1) && r.type !== "ClassBody" && r.type !== "TSInterface\
Body" ? this._printComment(T, y === 0 ? 2 : y === u - 1 ? 3 : 0) : this._printComment(T, 0);
        }
      }
      e === 2 && c && f && (this._lastCommentLine = f);
    }
  };
  Object.assign(fg.prototype, Q7e);
  (0, Z7e.addDeprecatedGenerators)(fg);
  var V9s = _x.default = fg;
  function cqe(t, e) {
    this.token(",", !1, t), e || this.space();
  }
  n(cqe, "commaSeparator");
});

// ../node_modules/@babel/core/node_modules/@babel/generator/lib/index.js
var Bx = g((Lx) => {
  "use strict";
  Object.defineProperty(Lx, "__esModule", {
    value: !0
  });
  Lx.default = pqe;
  var TW = xV(), bW = gW();
  function xW(t, e, s) {
    if (e.experimental_preserveFormat) {
      if (typeof t != "string")
        throw new Error("`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string");
      if (!e.retainLines)
        throw new Error("`experimental_preserveFormat` requires `retainLines` to be set to `true`");
      if (e.compact && e.compact !== "auto")
        throw new Error("`experimental_preserveFormat` is not compatible with the `compact` option");
      if (e.minified)
        throw new Error("`experimental_preserveFormat` is not compatible with the `minified` option");
      if (e.jsescOption)
        throw new Error("`experimental_preserveFormat` is not compatible with the `jsescOption` option");
      if (!Array.isArray(s.tokens))
        throw new Error("`experimental_preserveFormat` requires the AST to have attatched the token of the input code. Make sure to enable t\
he `tokens: true` parser option.");
    }
    let r = {
      auxiliaryCommentBefore: e.auxiliaryCommentBefore,
      auxiliaryCommentAfter: e.auxiliaryCommentAfter,
      shouldPrintComment: e.shouldPrintComment,
      preserveFormat: e.experimental_preserveFormat,
      retainLines: e.retainLines,
      retainFunctionParens: e.retainFunctionParens,
      comments: e.comments == null || e.comments,
      compact: e.compact,
      minified: e.minified,
      concise: e.concise,
      indent: {
        adjustMultilineComment: !0,
        style: "  "
      },
      jsescOption: Object.assign({
        quotes: "double",
        wrap: !0,
        minimal: !1
      }, e.jsescOption),
      topicToken: e.topicToken,
      importAttributesKeyword: e.importAttributesKeyword
    };
    {
      var i;
      r.decoratorsBeforeExport = e.decoratorsBeforeExport, r.jsescOption.json = e.jsonCompatibleStrings, r.recordAndTupleSyntaxType = (i = e.
      recordAndTupleSyntaxType) != null ? i : "hash";
    }
    r.minified ? (r.compact = !0, r.shouldPrintComment = r.shouldPrintComment || (() => r.comments)) : r.shouldPrintComment = r.shouldPrintComment ||
    ((u) => r.comments || u.includes("@license") || u.includes("@preserve")), r.compact === "auto" && (r.compact = typeof t == "string" && t.
    length > 5e5, r.compact && console.error(`[BABEL] Note: The code generator has deoptimised the styling of ${e.filename} as it exceeds th\
e max of 500KB.`)), (r.compact || r.preserveFormat) && (r.indent.adjustMultilineComment = !1);
    let {
      auxiliaryCommentBefore: a,
      auxiliaryCommentAfter: o,
      shouldPrintComment: l
    } = r;
    return a && !l(a) && (r.auxiliaryCommentBefore = void 0), o && !l(o) && (r.auxiliaryCommentAfter = void 0), r;
  }
  n(xW, "normalizeOptions");
  Lx.CodeGenerator = class {
    static {
      n(this, "CodeGenerator");
    }
    constructor(e, s = {}, r) {
      this._ast = void 0, this._format = void 0, this._map = void 0, this._ast = e, this._format = xW(r, s, e), this._map = s.sourceMaps ? new TW.
      default(s, r) : null;
    }
    generate() {
      return new bW.default(this._format, this._map).generate(this._ast);
    }
  };
  function pqe(t, e = {}, s) {
    let r = xW(s, e, t), i = e.sourceMaps ? new TW.default(e, s) : null;
    return new bW.default(r, i, t.tokens, typeof s == "string" ? s : null).generate(t);
  }
  n(pqe, "generate");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/ancestry.js
var SW = g((wa) => {
  "use strict";
  Object.defineProperty(wa, "__esModule", {
    value: !0
  });
  wa.find = mqe;
  wa.findParent = dqe;
  wa.getAncestry = xqe;
  wa.getDeepestCommonAncestorFrom = bqe;
  wa.getEarliestCommonAncestorFrom = Tqe;
  wa.getFunctionParent = yqe;
  wa.getStatementParent = gqe;
  wa.inType = Eqe;
  wa.isAncestor = Sqe;
  wa.isDescendant = Pqe;
  var hqe = fe(), {
    VISITOR_KEYS: fqe
  } = hqe;
  function dqe(t) {
    let e = this;
    for (; e = e.parentPath; )
      if (t(e)) return e;
    return null;
  }
  n(dqe, "findParent");
  function mqe(t) {
    let e = this;
    do
      if (t(e)) return e;
    while (e = e.parentPath);
    return null;
  }
  n(mqe, "find");
  function yqe() {
    return this.findParent((t) => t.isFunction());
  }
  n(yqe, "getFunctionParent");
  function gqe() {
    let t = this;
    do {
      if (!t.parentPath || Array.isArray(t.container) && t.isStatement())
        break;
      t = t.parentPath;
    } while (t);
    if (t && (t.isProgram() || t.isFile()))
      throw new Error("File/Program node, we can't possibly find a statement parent to this");
    return t;
  }
  n(gqe, "getStatementParent");
  function Tqe(t) {
    return this.getDeepestCommonAncestorFrom(t, function(e, s, r) {
      let i, a = fqe[e.type];
      for (let o of r) {
        let l = o[s + 1];
        if (!i) {
          i = l;
          continue;
        }
        if (l.listKey && i.listKey === l.listKey && l.key < i.key) {
          i = l;
          continue;
        }
        let u = a.indexOf(i.parentKey), c = a.indexOf(l.parentKey);
        u > c && (i = l);
      }
      return i;
    });
  }
  n(Tqe, "getEarliestCommonAncestorFrom");
  function bqe(t, e) {
    if (!t.length)
      return this;
    if (t.length === 1)
      return t[0];
    let s = 1 / 0, r, i, a = t.map((l) => {
      let u = [];
      do
        u.unshift(l);
      while ((l = l.parentPath) && l !== this);
      return u.length < s && (s = u.length), u;
    }), o = a[0];
    e: for (let l = 0; l < s; l++) {
      let u = o[l];
      for (let c of a)
        if (c[l] !== u)
          break e;
      r = l, i = u;
    }
    if (i)
      return e ? e(i, r, a) : i;
    throw new Error("Couldn't find intersection");
  }
  n(bqe, "getDeepestCommonAncestorFrom");
  function xqe() {
    let t = this, e = [];
    do
      e.push(t);
    while (t = t.parentPath);
    return e;
  }
  n(xqe, "getAncestry");
  function Sqe(t) {
    return t.isDescendant(this);
  }
  n(Sqe, "isAncestor");
  function Pqe(t) {
    return !!this.findParent((e) => e === t);
  }
  n(Pqe, "isDescendant");
  function Eqe(...t) {
    let e = this;
    for (; e; ) {
      for (let s of t)
        if (e.node.type === s) return !0;
      e = e.parentPath;
    }
    return !1;
  }
  n(Eqe, "inType");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/util.js
var ok = g((ak) => {
  "use strict";
  Object.defineProperty(ak, "__esModule", {
    value: !0
  });
  ak.createUnionType = Iqe;
  var Aqe = fe(), {
    createFlowUnionType: PW,
    createTSUnionType: EW,
    createUnionTypeAnnotation: vqe,
    isFlowType: Cqe,
    isTSType: wqe
  } = Aqe;
  function Iqe(t) {
    {
      if (t.every((e) => Cqe(e)))
        return PW ? PW(t) : vqe(t);
      if (t.every((e) => wqe(e)) && EW)
        return EW(t);
    }
  }
  n(Iqe, "createUnionType");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js
var IW = g((lk) => {
  "use strict";
  Object.defineProperty(lk, "__esModule", {
    value: !0
  });
  lk.default = _qe;
  var Nqe = fe(), vW = ok(), {
    BOOLEAN_NUMBER_BINARY_OPERATORS: kqe,
    createTypeAnnotationBasedOnTypeof: Dqe,
    numberTypeAnnotation: CW,
    voidTypeAnnotation: Oqe
  } = Nqe;
  function _qe(t) {
    if (!this.isReferenced()) return;
    let e = this.scope.getBinding(t.name);
    if (e)
      return e.identifier.typeAnnotation ? e.identifier.typeAnnotation : Lqe(e, this, t.name);
    if (t.name === "undefined")
      return Oqe();
    if (t.name === "NaN" || t.name === "Infinity")
      return CW();
    t.name;
  }
  n(_qe, "_default");
  function Lqe(t, e, s) {
    let r = [], i = [], a = AW(t, e, i), o = wW(t, e, s);
    if (o) {
      let l = AW(t, o.ifStatement);
      a = a.filter((u) => !l.includes(u)), r.push(o.typeAnnotation);
    }
    if (a.length) {
      a.push(...i);
      for (let l of a)
        r.push(l.getTypeAnnotation());
    }
    if (r.length)
      return (0, vW.createUnionType)(r);
  }
  n(Lqe, "getTypeAnnotationBindingConstantViolations");
  function AW(t, e, s) {
    let r = t.constantViolations.slice();
    return r.unshift(t.path), r.filter((i) => {
      i = i.resolve();
      let a = i._guessExecutionStatusRelativeTo(e);
      return s && a === "unknown" && s.push(i), a === "before";
    });
  }
  n(AW, "getConstantViolationsBefore");
  function Bqe(t, e) {
    let s = e.node.operator, r = e.get("right").resolve(), i = e.get("left").resolve(), a;
    if (i.isIdentifier({
      name: t
    }) ? a = r : r.isIdentifier({
      name: t
    }) && (a = i), a)
      return s === "===" ? a.getTypeAnnotation() : kqe.includes(s) ? CW() : void 0;
    if (s !== "===" && s !== "==") return;
    let o, l;
    if (i.isUnaryExpression({
      operator: "typeof"
    }) ? (o = i, l = r) : r.isUnaryExpression({
      operator: "typeof"
    }) && (o = r, l = i), !o || !o.get("argument").isIdentifier({
      name: t
    }) || (l = l.resolve(), !l.isLiteral())) return;
    let u = l.node.value;
    if (typeof u == "string")
      return Dqe(u);
  }
  n(Bqe, "inferAnnotationFromBinaryExpression");
  function Mqe(t, e, s) {
    let r;
    for (; r = e.parentPath; ) {
      if (r.isIfStatement() || r.isConditionalExpression())
        return e.key === "test" ? void 0 : r;
      if (r.isFunction() && r.parentPath.scope.getBinding(s) !== t)
        return;
      e = r;
    }
  }
  n(Mqe, "getParentConditionalPath");
  function wW(t, e, s) {
    let r = Mqe(t, e, s);
    if (!r) return;
    let a = [r.get("test")], o = [];
    for (let l = 0; l < a.length; l++) {
      let u = a[l];
      if (u.isLogicalExpression())
        u.node.operator === "&&" && (a.push(u.get("left")), a.push(u.get("right")));
      else if (u.isBinaryExpression()) {
        let c = Bqe(s, u);
        c && o.push(c);
      }
    }
    return o.length ? {
      typeAnnotation: (0, vW.createUnionType)(o),
      ifStatement: r
    } : wW(t, r, s);
  }
  n(wW, "getConditionalAnnotation");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/inferers.js
var MW = g(($s) => {
  "use strict";
  Object.defineProperty($s, "__esModule", {
    value: !0
  });
  $s.ArrayExpression = _W;
  $s.AssignmentExpression = nUe;
  $s.BinaryExpression = eUe;
  $s.BooleanLiteral = uUe;
  $s.CallExpression = TUe;
  $s.ConditionalExpression = sUe;
  $s.ClassDeclaration = $s.ClassExpression = $s.FunctionDeclaration = $s.ArrowFunctionExpression = $s.FunctionExpression = fUe;
  Object.defineProperty($s, "Identifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return jqe.default;
    }, "get")
  });
  $s.LogicalExpression = tUe;
  $s.NewExpression = Gqe;
  $s.NullLiteral = cUe;
  $s.NumericLiteral = lUe;
  $s.ObjectExpression = hUe;
  $s.ParenthesizedExpression = iUe;
  $s.RegExpLiteral = pUe;
  $s.RestElement = LW;
  $s.SequenceExpression = rUe;
  $s.StringLiteral = oUe;
  $s.TSAsExpression = OW;
  $s.TSNonNullExpression = zqe;
  $s.TaggedTemplateExpression = bUe;
  $s.TemplateLiteral = Qqe;
  $s.TypeCastExpression = DW;
  $s.UnaryExpression = Zqe;
  $s.UpdateExpression = aUe;
  $s.VariableDeclarator = Xqe;
  var Fqe = fe(), jqe = IW(), kW = ok(), {
    BOOLEAN_BINARY_OPERATORS: Rqe,
    BOOLEAN_UNARY_OPERATORS: qqe,
    NUMBER_BINARY_OPERATORS: Uqe,
    NUMBER_UNARY_OPERATORS: Kqe,
    STRING_UNARY_OPERATORS: Vqe,
    anyTypeAnnotation: NW,
    arrayTypeAnnotation: uk,
    booleanTypeAnnotation: ck,
    buildMatchMemberExpression: Mx,
    genericTypeAnnotation: Bc,
    identifier: dh,
    nullLiteralTypeAnnotation: Wqe,
    numberTypeAnnotation: Td,
    stringTypeAnnotation: mh,
    tupleTypeAnnotation: $qe,
    unionTypeAnnotation: Hqe,
    voidTypeAnnotation: Jqe,
    isIdentifier: Yqe
  } = Fqe;
  function Xqe() {
    if (this.get("id").isIdentifier())
      return this.get("init").getTypeAnnotation();
  }
  n(Xqe, "VariableDeclarator");
  function DW(t) {
    return t.typeAnnotation;
  }
  n(DW, "TypeCastExpression");
  DW.validParent = !0;
  function OW(t) {
    return t.typeAnnotation;
  }
  n(OW, "TSAsExpression");
  OW.validParent = !0;
  function zqe() {
    return this.get("expression").getTypeAnnotation();
  }
  n(zqe, "TSNonNullExpression");
  function Gqe(t) {
    if (t.callee.type === "Identifier")
      return Bc(t.callee);
  }
  n(Gqe, "NewExpression");
  function Qqe() {
    return mh();
  }
  n(Qqe, "TemplateLiteral");
  function Zqe(t) {
    let e = t.operator;
    if (e === "void")
      return Jqe();
    if (Kqe.includes(e))
      return Td();
    if (Vqe.includes(e))
      return mh();
    if (qqe.includes(e))
      return ck();
  }
  n(Zqe, "UnaryExpression");
  function eUe(t) {
    let e = t.operator;
    if (Uqe.includes(e))
      return Td();
    if (Rqe.includes(e))
      return ck();
    if (e === "+") {
      let s = this.get("right"), r = this.get("left");
      return r.isBaseType("number") && s.isBaseType("number") ? Td() : r.isBaseType("string") || s.isBaseType("string") ? mh() : Hqe([mh(), Td()]);
    }
  }
  n(eUe, "BinaryExpression");
  function tUe() {
    let t = [this.get("left").getTypeAnnotation(), this.get("right").getTypeAnnotation()];
    return (0, kW.createUnionType)(t);
  }
  n(tUe, "LogicalExpression");
  function sUe() {
    let t = [this.get("consequent").getTypeAnnotation(), this.get("alternate").getTypeAnnotation()];
    return (0, kW.createUnionType)(t);
  }
  n(sUe, "ConditionalExpression");
  function rUe() {
    return this.get("expressions").pop().getTypeAnnotation();
  }
  n(rUe, "SequenceExpression");
  function iUe() {
    return this.get("expression").getTypeAnnotation();
  }
  n(iUe, "ParenthesizedExpression");
  function nUe() {
    return this.get("right").getTypeAnnotation();
  }
  n(nUe, "AssignmentExpression");
  function aUe(t) {
    let e = t.operator;
    if (e === "++" || e === "--")
      return Td();
  }
  n(aUe, "UpdateExpression");
  function oUe() {
    return mh();
  }
  n(oUe, "StringLiteral");
  function lUe() {
    return Td();
  }
  n(lUe, "NumericLiteral");
  function uUe() {
    return ck();
  }
  n(uUe, "BooleanLiteral");
  function cUe() {
    return Wqe();
  }
  n(cUe, "NullLiteral");
  function pUe() {
    return Bc(dh("RegExp"));
  }
  n(pUe, "RegExpLiteral");
  function hUe() {
    return Bc(dh("Object"));
  }
  n(hUe, "ObjectExpression");
  function _W() {
    return Bc(dh("Array"));
  }
  n(_W, "ArrayExpression");
  function LW() {
    return _W();
  }
  n(LW, "RestElement");
  LW.validParent = !0;
  function fUe() {
    return Bc(dh("Function"));
  }
  n(fUe, "Func");
  var dUe = Mx("Array.from"), mUe = Mx("Object.keys"), yUe = Mx("Object.values"), gUe = Mx("Object.entries");
  function TUe() {
    let {
      callee: t
    } = this.node;
    return mUe(t) ? uk(mh()) : dUe(t) || yUe(t) || Yqe(t, {
      name: "Array"
    }) ? uk(NW()) : gUe(t) ? uk($qe([mh(), NW()])) : BW(this.get("callee"));
  }
  n(TUe, "CallExpression");
  function bUe() {
    return BW(this.get("tag"));
  }
  n(bUe, "TaggedTemplateExpression");
  function BW(t) {
    if (t = t.resolve(), t.isFunction()) {
      let {
        node: e
      } = t;
      if (e.async)
        return e.generator ? Bc(dh("AsyncIterator")) : Bc(dh("Promise"));
      if (e.generator)
        return Bc(dh("Iterator"));
      if (t.node.returnType)
        return t.node.returnType;
    }
  }
  n(BW, "resolveCall");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/inference/index.js
var UW = g((Mc) => {
  "use strict";
  Object.defineProperty(Mc, "__esModule", {
    value: !0
  });
  Mc._getTypeAnnotation = qW;
  Mc.baseTypeStrictlyMatches = UUe;
  Mc.couldBeBaseType = qUe;
  Mc.getTypeAnnotation = jUe;
  Mc.isBaseType = RUe;
  Mc.isGenericType = KUe;
  var FW = MW(), xUe = fe(), {
    anyTypeAnnotation: RW,
    isAnyTypeAnnotation: Fx,
    isArrayTypeAnnotation: SUe,
    isBooleanTypeAnnotation: PUe,
    isEmptyTypeAnnotation: EUe,
    isFlowBaseAnnotation: AUe,
    isGenericTypeAnnotation: vUe,
    isIdentifier: jW,
    isMixedTypeAnnotation: CUe,
    isNumberTypeAnnotation: wUe,
    isStringTypeAnnotation: IUe,
    isTSArrayType: NUe,
    isTSTypeAnnotation: kUe,
    isTSTypeReference: DUe,
    isTupleTypeAnnotation: OUe,
    isTypeAnnotation: _Ue,
    isUnionTypeAnnotation: LUe,
    isVoidTypeAnnotation: BUe,
    stringTypeAnnotation: MUe,
    voidTypeAnnotation: FUe
  } = xUe;
  function jUe() {
    let t = this.getData("typeAnnotation");
    return t != null || (t = qW.call(this) || RW(), (_Ue(t) || kUe(t)) && (t = t.typeAnnotation), this.setData("typeAnnotation", t)), t;
  }
  n(jUe, "getTypeAnnotation");
  var pk = /* @__PURE__ */ new WeakSet();
  function qW() {
    let t = this.node;
    if (!t)
      if (this.key === "init" && this.parentPath.isVariableDeclarator()) {
        let s = this.parentPath.parentPath, r = s.parentPath;
        return s.key === "left" && r.isForInStatement() ? MUe() : s.key === "left" && r.isForOfStatement() ? RW() : FUe();
      } else
        return;
    if (t.typeAnnotation)
      return t.typeAnnotation;
    if (!pk.has(t)) {
      pk.add(t);
      try {
        var e;
        let s = FW[t.type];
        if (s)
          return s.call(this, t);
        if (s = FW[this.parentPath.type], (e = s) != null && e.validParent)
          return this.parentPath.getTypeAnnotation();
      } finally {
        pk.delete(t);
      }
    }
  }
  n(qW, "_getTypeAnnotation");
  function RUe(t, e) {
    return hk(t, this.getTypeAnnotation(), e);
  }
  n(RUe, "isBaseType");
  function hk(t, e, s) {
    if (t === "string")
      return IUe(e);
    if (t === "number")
      return wUe(e);
    if (t === "boolean")
      return PUe(e);
    if (t === "any")
      return Fx(e);
    if (t === "mixed")
      return CUe(e);
    if (t === "empty")
      return EUe(e);
    if (t === "void")
      return BUe(e);
    if (s)
      return !1;
    throw new Error(`Unknown base type ${t}`);
  }
  n(hk, "_isBaseType");
  function qUe(t) {
    let e = this.getTypeAnnotation();
    if (Fx(e)) return !0;
    if (LUe(e)) {
      for (let s of e.types)
        if (Fx(s) || hk(t, s, !0))
          return !0;
      return !1;
    } else
      return hk(t, e, !0);
  }
  n(qUe, "couldBeBaseType");
  function UUe(t) {
    let e = this.getTypeAnnotation(), s = t.getTypeAnnotation();
    return !Fx(e) && AUe(e) ? s.type === e.type : !1;
  }
  n(UUe, "baseTypeStrictlyMatches");
  function KUe(t) {
    let e = this.getTypeAnnotation();
    return t === "Array" && (NUe(e) || SUe(e) || OUe(e)) ? !0 : vUe(e) && jW(e.id, {
      name: t
    }) || DUe(e) && jW(e.typeName, {
      name: t
    });
  }
  n(KUe, "isGenericType");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/lib/removal-hooks.js
var KW = g((jx) => {
  "use strict";
  Object.defineProperty(jx, "__esModule", {
    value: !0
  });
  jx.hooks = void 0;
  var n7s = jx.hooks = [function(t, e) {
    if (t.key === "test" && (e.isWhile() || e.isSwitchCase()) || t.key === "declaration" && e.isExportDeclaration() || t.key === "body" && e.
    isLabeledStatement() || t.listKey === "declarations" && e.isVariableDeclaration() && e.node.declarations.length === 1 || t.key === "expr\
ession" && e.isExpressionStatement())
      return e.remove(), !0;
  }, function(t, e) {
    if (e.isSequenceExpression() && e.node.expressions.length === 1)
      return e.replaceWith(e.node.expressions[0]), !0;
  }, function(t, e) {
    if (e.isBinary())
      return t.key === "left" ? e.replaceWith(e.node.right) : e.replaceWith(e.node.left), !0;
  }, function(t, e) {
    if (e.isIfStatement() && t.key === "consequent" || t.key === "body" && (e.isLoop() || e.isArrowFunctionExpression()))
      return t.replaceWith({
        type: "BlockStatement",
        body: []
      }), !0;
  }];
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/removal.js
var Rx = g((Fc) => {
  "use strict";
  Object.defineProperty(Fc, "__esModule", {
    value: !0
  });
  Fc._assertUnremoved = JW;
  Fc._callRemovalHooks = $W;
  Fc._markRemoved = fk;
  Fc._remove = HW;
  Fc._removeFromScope = WW;
  Fc.remove = zUe;
  var VUe = KW(), WUe = uh(), $Ue = dk(), VW = jc(), HUe = fe(), JUe = qx(), YUe = tl(), {
    getBindingIdentifiers: XUe
  } = HUe;
  function zUe() {
    var t;
    if (JW.call(this), YUe.resync.call(this), $W.call(this)) {
      fk.call(this);
      return;
    }
    (t = this.opts) != null && t.noScope || WW.call(this), this.shareCommentsWithSiblings(), HW.call(this), fk.call(this);
  }
  n(zUe, "remove");
  function WW() {
    let t = XUe(this.node, !1, !1, !0);
    Object.keys(t).forEach((e) => this.scope.removeBinding(e));
  }
  n(WW, "_removeFromScope");
  function $W() {
    if (this.parentPath) {
      for (let t of VUe.hooks)
        if (t(this, this.parentPath)) return !0;
    }
  }
  n($W, "_callRemovalHooks");
  function HW() {
    Array.isArray(this.container) ? (this.container.splice(this.key, 1), JUe.updateSiblingKeys.call(this, this.key, -1)) : $Ue._replaceWith.
    call(this, null);
  }
  n(HW, "_remove");
  function fk() {
    this._traverseFlags |= VW.SHOULD_SKIP | VW.REMOVED, this.parent && (0, WUe.getCachedPaths)(this.hub, this.parent).delete(this.node), this.
    node = null;
  }
  n(fk, "_markRemoved");
  function JW() {
    if (this.removed)
      throw this.buildCodeFrameError("NodePath has been removed so is read-only.");
  }
  n(JW, "_assertUnremoved");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/lib/hoister.js
var XW = g((Ux) => {
  "use strict";
  Object.defineProperty(Ux, "__esModule", {
    value: !0
  });
  Ux.default = void 0;
  var YW = fe(), GUe = YW, {
    react: QUe
  } = YW, {
    cloneNode: ZUe,
    jsxExpressionContainer: eKe,
    variableDeclaration: tKe,
    variableDeclarator: sKe
  } = GUe, rKe = {
    ReferencedIdentifier(t, e) {
      if (t.isJSXIdentifier() && QUe.isCompatTag(t.node.name) && !t.parentPath.isJSXMemberExpression())
        return;
      if (t.node.name === "this") {
        let r = t.scope;
        do
          if (r.path.isFunction() && !r.path.isArrowFunctionExpression())
            break;
        while (r = r.parent);
        r && e.breakOnScopePaths.push(r.path);
      }
      let s = t.scope.getBinding(t.node.name);
      if (s) {
        for (let r of s.constantViolations)
          if (r.scope !== s.path.scope) {
            e.mutableBinding = !0, t.stop();
            return;
          }
        s === e.scope.getBinding(t.node.name) && (e.bindings[t.node.name] = s);
      }
    }
  }, mk = class {
    static {
      n(this, "PathHoister");
    }
    constructor(e, s) {
      this.breakOnScopePaths = void 0, this.bindings = void 0, this.mutableBinding = void 0, this.scopes = void 0, this.scope = void 0, this.
      path = void 0, this.attachAfter = void 0, this.breakOnScopePaths = [], this.bindings = {}, this.mutableBinding = !1, this.scopes = [],
      this.scope = s, this.path = e, this.attachAfter = !1;
    }
    isCompatibleScope(e) {
      for (let s of Object.keys(this.bindings)) {
        let r = this.bindings[s];
        if (!e.bindingIdentifierEquals(s, r.identifier))
          return !1;
      }
      return !0;
    }
    getCompatibleScopes() {
      let e = this.path.scope;
      do {
        if (this.isCompatibleScope(e))
          this.scopes.push(e);
        else
          break;
        if (this.breakOnScopePaths.includes(e.path))
          break;
      } while (e = e.parent);
    }
    getAttachmentPath() {
      let e = this._getAttachmentPath();
      if (!e) return;
      let s = e.scope;
      if (s.path === e && (s = e.scope.parent), s.path.isProgram() || s.path.isFunction())
        for (let r of Object.keys(this.bindings)) {
          if (!s.hasOwnBinding(r)) continue;
          let i = this.bindings[r];
          if (i.kind === "param" || i.path.parentKey === "params")
            continue;
          if (this.getAttachmentParentForPath(i.path).key >= e.key) {
            this.attachAfter = !0, e = i.path;
            for (let o of i.constantViolations)
              this.getAttachmentParentForPath(o).key > e.key && (e = o);
          }
        }
      return e;
    }
    _getAttachmentPath() {
      let s = this.scopes.pop();
      if (s) {
        if (s.path.isFunction())
          if (this.hasOwnParamBindings(s)) {
            if (this.scope === s) return;
            let r = s.path.get("body").get("body");
            for (let i = 0; i < r.length; i++)
              if (!r[i].node._blockHoist)
                return r[i];
          } else
            return this.getNextScopeAttachmentParent();
        else if (s.path.isProgram())
          return this.getNextScopeAttachmentParent();
      }
    }
    getNextScopeAttachmentParent() {
      let e = this.scopes.pop();
      if (e) return this.getAttachmentParentForPath(e.path);
    }
    getAttachmentParentForPath(e) {
      do
        if (!e.parentPath || Array.isArray(e.container) && e.isStatement())
          return e;
      while (e = e.parentPath);
    }
    hasOwnParamBindings(e) {
      for (let s of Object.keys(this.bindings)) {
        if (!e.hasOwnBinding(s)) continue;
        let r = this.bindings[s];
        if (r.kind === "param" && r.constant) return !0;
      }
      return !1;
    }
    run() {
      if (this.path.traverse(rKe, this), this.mutableBinding) return;
      this.getCompatibleScopes();
      let e = this.getAttachmentPath();
      if (!e || e.getFunctionParent() === this.path.getFunctionParent()) return;
      let s = e.scope.generateUidIdentifier("ref"), r = sKe(s, this.path.node), i = this.attachAfter ? "insertAfter" : "insertBefore", [a] = e[i](
      [e.isVariableDeclarator() ? r : tKe("var", [r])]), o = this.path.parentPath;
      return o.isJSXElement() && this.path.container === o.node.children && (s = eKe(s)), this.path.replaceWith(ZUe(s)), e.isVariableDeclarator() ?
      a.get("init") : a.get("declarations.0.init");
    }
  };
  Ux.default = mk;
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/modification.js
var qx = g((Ia) => {
  "use strict";
  Object.defineProperty(Ia, "__esModule", {
    value: !0
  });
  Ia._containerInsert = xk;
  Ia._containerInsertAfter = QW;
  Ia._containerInsertBefore = Sk;
  Ia._verifyNodeList = dg;
  Ia.insertAfter = xKe;
  Ia.insertBefore = TKe;
  Ia.pushContainer = PKe;
  Ia.unshiftContainer = SKe;
  Ia.updateSiblingKeys = t$;
  var iKe = uh(), bk = jc(), yk = tl(), Kx = Rx(), nKe = fe(), aKe = XW(), {
    arrowFunctionExpression: oKe,
    assertExpression: lKe,
    assignmentExpression: uKe,
    blockStatement: zW,
    callExpression: cKe,
    cloneNode: gk,
    expressionStatement: Tk,
    isAssignmentExpression: pKe,
    isCallExpression: hKe,
    isExportNamedDeclaration: GW,
    isExpression: fKe,
    isIdentifier: dKe,
    isSequenceExpression: mKe,
    isSuper: yKe,
    thisExpression: gKe
  } = nKe;
  function TKe(t) {
    Kx._assertUnremoved.call(this);
    let e = dg.call(this, t), {
      parentPath: s,
      parent: r
    } = this;
    if (s.isExpressionStatement() || s.isLabeledStatement() || GW(r) || s.isExportDefaultDeclaration() && this.isDeclaration())
      return s.insertBefore(e);
    if (this.isNodeType("Expression") && !this.isJSXElement() || s.isForStatement() && this.key === "init")
      return this.node && e.push(this.node), this.replaceExpressionWithStatements(e);
    if (Array.isArray(this.container))
      return Sk.call(this, e);
    if (this.isStatementOrBlock()) {
      let i = this.node, a = i && (!this.isExpressionStatement() || i.expression != null);
      return this.replaceWith(zW(a ? [i] : [])), this.unshiftContainer("body", e);
    } else
      throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?");
  }
  n(TKe, "insertBefore");
  function xk(t, e) {
    t$.call(this, t, e.length);
    let s = [];
    this.container.splice(t, 0, ...e);
    for (let a = 0; a < e.length; a++) {
      var r;
      let o = t + a, l = this.getSibling(o);
      s.push(l), (r = this.context) != null && r.queue && yk.pushContext.call(l, this.context);
    }
    let i = yk._getQueueContexts.call(this);
    for (let a of s) {
      yk.setScope.call(a), a.debug("Inserted.");
      for (let o of i)
        o.maybeQueue(a, !0);
    }
    return s;
  }
  n(xk, "_containerInsert");
  function Sk(t) {
    return xk.call(this, this.key, t);
  }
  n(Sk, "_containerInsertBefore");
  function QW(t) {
    return xk.call(this, this.key + 1, t);
  }
  n(QW, "_containerInsertAfter");
  var ZW = /* @__PURE__ */ n((t) => t[t.length - 1], "last");
  function e$(t) {
    return mKe(t.parent) && (ZW(t.parent.expressions) !== t.node || e$(t.parentPath));
  }
  n(e$, "isHiddenInSequenceExpression");
  function bKe(t, e) {
    if (!pKe(t) || !dKe(t.left))
      return !1;
    let s = e.getBlockParent();
    return s.hasOwnBinding(t.left.name) && s.getOwnBinding(t.left.name).constantViolations.length <= 1;
  }
  n(bKe, "isAlmostConstantAssignment");
  function xKe(t) {
    if (Kx._assertUnremoved.call(this), this.isSequenceExpression())
      return ZW(this.get("expressions")).insertAfter(t);
    let e = dg.call(this, t), {
      parentPath: s,
      parent: r
    } = this;
    if (s.isExpressionStatement() || s.isLabeledStatement() || GW(r) || s.isExportDefaultDeclaration() && this.isDeclaration())
      return s.insertAfter(e.map((i) => fKe(i) ? Tk(i) : i));
    if (this.isNodeType("Expression") && !this.isJSXElement() && !s.isJSXElement() || s.isForStatement() && this.key === "init") {
      let i = this;
      if (i.node) {
        let a = i.node, {
          scope: o
        } = this;
        if (o.path.isPattern())
          return lKe(a), i.replaceWith(cKe(oKe([], a), [])), i.get("callee.body").insertAfter(e), [i];
        if (e$(i))
          e.unshift(a);
        else if (hKe(a) && yKe(a.callee))
          e.unshift(a), e.push(gKe());
        else if (bKe(a, o))
          e.unshift(a), e.push(gk(a.left));
        else if (o.isPure(a, !0))
          e.push(a);
        else {
          s.isMethod({
            computed: !0,
            key: a
          }) && (o = o.parent);
          let l = o.generateDeclaredUidIdentifier();
          e.unshift(Tk(uKe("=", gk(l), a))), e.push(Tk(gk(l)));
        }
      }
      return this.replaceExpressionWithStatements(e);
    } else {
      if (Array.isArray(this.container))
        return QW.call(this, e);
      if (this.isStatementOrBlock()) {
        let i = this.node, a = i && (!this.isExpressionStatement() || i.expression != null);
        return this.replaceWith(zW(a ? [i] : [])), this.pushContainer("body", e);
      } else
        throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?");
    }
  }
  n(xKe, "insertAfter");
  function t$(t, e) {
    if (!this.parent) return;
    let s = (0, iKe.getCachedPaths)(this.hub, this.parent) || [];
    for (let [, r] of s)
      typeof r.key == "number" && r.container === this.container && r.key >= t && (r.key += e);
  }
  n(t$, "updateSiblingKeys");
  function dg(t) {
    if (!t)
      return [];
    Array.isArray(t) || (t = [t]);
    for (let e = 0; e < t.length; e++) {
      let s = t[e], r;
      if (s ? typeof s != "object" ? r = "contains a non-object node" : s.type ? s instanceof bk.default && (r = "has a NodePath when it exp\
ected a raw object") : r = "without a type" : r = "has falsy node", r) {
        let i = Array.isArray(s) ? "array" : typeof s;
        throw new Error(`Node list ${r} with the index of ${e} and type of ${i}`);
      }
    }
    return t;
  }
  n(dg, "_verifyNodeList");
  function SKe(t, e) {
    Kx._assertUnremoved.call(this), e = dg.call(this, e);
    let s = bk.default.get({
      parentPath: this,
      parent: this.node,
      container: this.node[t],
      listKey: t,
      key: 0
    }).setContext(this.context);
    return Sk.call(s, e);
  }
  n(SKe, "unshiftContainer");
  function PKe(t, e) {
    Kx._assertUnremoved.call(this);
    let s = dg.call(this, e), r = this.node[t];
    return bk.default.get({
      parentPath: this,
      parent: this.node,
      container: r,
      listKey: t,
      key: r.length
    }).setContext(this.context).replaceWithMultiple(s);
  }
  n(PKe, "pushContainer");
  Ia.hoist = /* @__PURE__ */ n(function(e = this.scope) {
    return new aKe.default(this, e).run();
  }, "hoist");
});

// ../node_modules/@babel/core/node_modules/@babel/parser/lib/index.js
var Qx = g((Eg) => {
  "use strict";
  Object.defineProperty(Eg, "__esModule", {
    value: !0
  });
  function EKe(t, e) {
    if (t == null) return {};
    var s = {};
    for (var r in t) if ({}.hasOwnProperty.call(t, r)) {
      if (e.includes(r)) continue;
      s[r] = t[r];
    }
    return s;
  }
  n(EKe, "_objectWithoutPropertiesLoose");
  var rl = class {
    static {
      n(this, "Position");
    }
    constructor(e, s, r) {
      this.line = void 0, this.column = void 0, this.index = void 0, this.line = e, this.column = s, this.index = r;
    }
  }, Ed = class {
    static {
      n(this, "SourceLocation");
    }
    constructor(e, s) {
      this.start = void 0, this.end = void 0, this.filename = void 0, this.identifierName = void 0, this.start = e, this.end = s;
    }
  };
  function xn(t, e) {
    let {
      line: s,
      column: r,
      index: i
    } = t;
    return new rl(s, r + e, i + e);
  }
  n(xn, "createPositionWithColumnOffset");
  var s$ = "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED", AKe = {
    ImportMetaOutsideModule: {
      message: `import.meta may appear only with 'sourceType: "module"'`,
      code: s$
    },
    ImportOutsideModule: {
      message: `'import' and 'export' may appear only with 'sourceType: "module"'`,
      code: s$
    }
  }, r$ = {
    ArrayPattern: "array destructuring pattern",
    AssignmentExpression: "assignment expression",
    AssignmentPattern: "assignment expression",
    ArrowFunctionExpression: "arrow function expression",
    ConditionalExpression: "conditional expression",
    CatchClause: "catch clause",
    ForOfStatement: "for-of statement",
    ForInStatement: "for-in statement",
    ForStatement: "for-loop",
    FormalParameters: "function parameter list",
    Identifier: "identifier",
    ImportSpecifier: "import specifier",
    ImportDefaultSpecifier: "import default specifier",
    ImportNamespaceSpecifier: "import namespace specifier",
    ObjectPattern: "object destructuring pattern",
    ParenthesizedExpression: "parenthesized expression",
    RestElement: "rest element",
    UpdateExpression: {
      true: "prefix operation",
      false: "postfix operation"
    },
    VariableDeclarator: "variable declaration",
    YieldExpression: "yield expression"
  }, $x = /* @__PURE__ */ n((t) => t.type === "UpdateExpression" ? r$.UpdateExpression[`${t.prefix}`] : r$[t.type], "toNodeDescription"), vKe = {
    AccessorIsGenerator: /* @__PURE__ */ n(({
      kind: t
    }) => `A ${t}ter cannot be a generator.`, "AccessorIsGenerator"),
    ArgumentsInClass: "'arguments' is only allowed in functions and class methods.",
    AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.",
    AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.",
    AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.",
    AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.",
    AwaitUsingNotInAsyncContext: "'await using' is only allowed within async functions and at the top levels of modules.",
    AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.",
    AwaitNotInAsyncFunction: "'await' is only allowed within async functions.",
    BadGetterArity: "A 'get' accessor must not have any formal parameters.",
    BadSetterArity: "A 'set' accessor must have exactly one formal parameter.",
    BadSetterRestParameter: "A 'set' accessor function argument must not be a rest parameter.",
    ConstructorClassField: "Classes may not have a field named 'constructor'.",
    ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.",
    ConstructorIsAccessor: "Class constructor may not be an accessor.",
    ConstructorIsAsync: "Constructor can't be an async function.",
    ConstructorIsGenerator: "Constructor can't be a generator.",
    DeclarationMissingInitializer: /* @__PURE__ */ n(({
      kind: t
    }) => `Missing initializer in ${t} declaration.`, "DeclarationMissingInitializer"),
    DecoratorArgumentsOutsideParentheses: "Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(deco\
rator)(args)'.",
    DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use\
 the 'export @decorator class {}' syntax.",
    DecoratorsBeforeAfterExport: "Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the s\
ame time.",
    DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",
    DecoratorExportClass: "Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use \
the '@decorator export class {}' syntax.",
    DecoratorSemicolon: "Decorators must not be followed by a semicolon.",
    DecoratorStaticBlock: "Decorators can't be used with a static block.",
    DeferImportRequiresNamespace: 'Only `import defer * as x from "./module"` is valid.',
    DeletePrivateField: "Deleting a private field is not allowed.",
    DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.",
    DuplicateConstructor: "Duplicate constructor in the same class.",
    DuplicateDefaultExport: "Only one default export allowed per module.",
    DuplicateExport: /* @__PURE__ */ n(({
      exportName: t
    }) => `\`${t}\` has already been exported. Exported identifiers must be unique.`, "DuplicateExport"),
    DuplicateProto: "Redefinition of __proto__ property.",
    DuplicateRegExpFlags: "Duplicate regular expression flag.",
    DynamicImportPhaseRequiresImportExpressions: /* @__PURE__ */ n(({
      phase: t
    }) => `'import.${t}(...)' can only be parsed when using the 'createImportExpressions' option.`, "DynamicImportPhaseRequiresImportExpress\
ions"),
    ElementAfterRest: "Rest element must be last element.",
    EscapedCharNotAnIdentifier: "Invalid Unicode escape.",
    ExportBindingIsString: /* @__PURE__ */ n(({
      localName: t,
      exportName: e
    }) => `A string literal cannot be used as an exported binding without \`from\`.
- Did you mean \`export { '${t}' as '${e}' } from 'some-module'\`?`, "ExportBindingIsString"),
    ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.",
    ForInOfLoopInitializer: /* @__PURE__ */ n(({
      type: t
    }) => `'${t === "ForInStatement" ? "for-in" : "for-of"}' loop variable declaration may not have an initializer.`, "ForInOfLoopInitialize\
r"),
    ForInUsing: "For-in loop may not start with 'using' declaration.",
    ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.",
    ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.",
    GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.",
    IllegalBreakContinue: /* @__PURE__ */ n(({
      type: t
    }) => `Unsyntactic ${t === "BreakStatement" ? "break" : "continue"}.`, "IllegalBreakContinue"),
    IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.",
    IllegalReturn: "'return' outside of function.",
    ImportAttributesUseAssert: "The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You \
can enable the `deprecatedImportAssert` parser plugin to suppress this error.",
    ImportBindingIsString: /* @__PURE__ */ n(({
      importName: t
    }) => `A string literal cannot be used as an imported binding.
- Did you mean \`import { "${t}" as foo }\`?`, "ImportBindingIsString"),
    ImportCallArity: "`import()` requires exactly one or two arguments.",
    ImportCallNotNewExpression: "Cannot use new with import(...).",
    ImportCallSpreadArgument: "`...` is not allowed in `import()`.",
    ImportJSONBindingNotDefault: "A JSON module can only be imported with `default`.",
    ImportReflectionHasAssertion: "`import module x` cannot have assertions.",
    ImportReflectionNotBinding: 'Only `import module x from "./module"` is valid.',
    IncompatibleRegExpUVFlags: "The 'u' and 'v' regular expression flags cannot be enabled at the same time.",
    InvalidBigIntLiteral: "Invalid BigIntLiteral.",
    InvalidCodePoint: "Code point out of bounds.",
    InvalidCoverInitializedName: "Invalid shorthand property initializer.",
    InvalidDecimal: "Invalid decimal.",
    InvalidDigit: /* @__PURE__ */ n(({
      radix: t
    }) => `Expected number in radix ${t}.`, "InvalidDigit"),
    InvalidEscapeSequence: "Bad character escape sequence.",
    InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.",
    InvalidEscapedReservedWord: /* @__PURE__ */ n(({
      reservedWord: t
    }) => `Escape sequence in keyword ${t}.`, "InvalidEscapedReservedWord"),
    InvalidIdentifier: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Invalid identifier ${t}.`, "InvalidIdentifier"),
    InvalidLhs: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Invalid left-hand side in ${$x(t)}.`, "InvalidLhs"),
    InvalidLhsBinding: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Binding invalid left-hand side in ${$x(t)}.`, "InvalidLhsBinding"),
    InvalidLhsOptionalChaining: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Invalid optional chaining in the left-hand side of ${$x(t)}.`, "InvalidLhsOptionalChaining"),
    InvalidNumber: "Invalid number.",
    InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.",
    InvalidOrUnexpectedToken: /* @__PURE__ */ n(({
      unexpected: t
    }) => `Unexpected character '${t}'.`, "InvalidOrUnexpectedToken"),
    InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.",
    InvalidPrivateFieldResolution: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Private name #${t} is not defined.`, "InvalidPrivateFieldResolution"),
    InvalidPropertyBindingPattern: "Binding member expression.",
    InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.",
    InvalidRestAssignmentPattern: "Invalid rest operator's argument.",
    LabelRedeclaration: /* @__PURE__ */ n(({
      labelName: t
    }) => `Label '${t}' is already declared.`, "LabelRedeclaration"),
    LetInLexicalBinding: "'let' is disallowed as a lexically bound name.",
    LineTerminatorBeforeArrow: "No line break is allowed before '=>'.",
    MalformedRegExpFlags: "Invalid regular expression flag.",
    MissingClassName: "A class name is required.",
    MissingEqInAssignment: "Only '=' operator can be used for specifying default value.",
    MissingSemicolon: "Missing semicolon.",
    MissingPlugin: /* @__PURE__ */ n(({
      missingPlugin: t
    }) => `This experimental syntax requires enabling the parser plugin: ${t.map((e) => JSON.stringify(e)).join(", ")}.`, "MissingPlugin"),
    MissingOneOfPlugins: /* @__PURE__ */ n(({
      missingPlugin: t
    }) => `This experimental syntax requires enabling one of the following parser plugin(s): ${t.map((e) => JSON.stringify(e)).join(", ")}.`,
    "MissingOneOfPlugins"),
    MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.",
    MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.",
    ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.",
    ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.",
    ModuleAttributesWithDuplicateKeys: /* @__PURE__ */ n(({
      key: t
    }) => `Duplicate key "${t}" is not allowed in module attributes.`, "ModuleAttributesWithDuplicateKeys"),
    ModuleExportNameHasLoneSurrogate: /* @__PURE__ */ n(({
      surrogateCharCode: t
    }) => `An export name cannot include a lone surrogate, found '\\u${t.toString(16)}'.`, "ModuleExportNameHasLoneSurrogate"),
    ModuleExportUndefined: /* @__PURE__ */ n(({
      localName: t
    }) => `Export '${t}' is not defined.`, "ModuleExportUndefined"),
    MultipleDefaultsInSwitch: "Multiple default clauses.",
    NewlineAfterThrow: "Illegal newline after throw.",
    NoCatchOrFinally: "Missing catch or finally clause.",
    NumberIdentifier: "Identifier directly after number.",
    NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",
    ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.",
    OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.",
    OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.",
    OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.",
    ParamDupe: "Argument name clash.",
    PatternHasAccessor: "Object pattern can't contain getter or setter.",
    PatternHasMethod: "Object pattern can't contain methods.",
    PrivateInExpectedIn: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Private names are only allowed in property accesses (\`obj.#${t}\`) or in \`in\` expressions (\`#${t} in obj\`).`, "PrivateInExpe\
ctedIn"),
    PrivateNameRedeclaration: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Duplicate private name #${t}.`, "PrivateNameRedeclaration"),
    RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 're\
cordAndTuple' plugin is set to 'bar'.",
    RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the\
 'recordAndTuple' plugin is set to 'bar'.",
    RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of th\
e 'recordAndTuple' plugin is set to 'hash'.",
    RecordNoProto: "'__proto__' is not allowed in Record expressions.",
    RestTrailingComma: "Unexpected trailing comma after rest element.",
    SloppyFunction: "In non-strict mode code, functions can only be declared at top level or inside a block.",
    SloppyFunctionAnnexB: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if sta\
tement.",
    SourcePhaseImportRequiresDefault: 'Only `import source x from "./module"` is valid.',
    StaticPrototype: "Classes may not have static property named prototype.",
    SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or n\
ot extending another class?",
    SuperPrivateField: "Private fields can't be accessed on super.",
    TrailingDecorator: "Decorators must be attached to a class element.",
    TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'reco\
rdAndTuple' plugin is set to 'bar'.",
    TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the '\
recordAndTuple' plugin is set to 'bar'.",
    TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the \
'recordAndTuple' plugin is set to 'hash'.",
    UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.",
    UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',
    UnexpectedDigitAfterHash: "Unexpected digit after hash token.",
    UnexpectedImportExport: "'import' and 'export' may only appear at the top level.",
    UnexpectedKeyword: /* @__PURE__ */ n(({
      keyword: t
    }) => `Unexpected keyword '${t}'.`, "UnexpectedKeyword"),
    UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.",
    UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.",
    UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.",
    UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.",
    UnexpectedPrivateField: "Unexpected private name.",
    UnexpectedReservedWord: /* @__PURE__ */ n(({
      reservedWord: t
    }) => `Unexpected reserved word '${t}'.`, "UnexpectedReservedWord"),
    UnexpectedSuper: "'super' is only allowed in object methods and classes.",
    UnexpectedToken: /* @__PURE__ */ n(({
      expected: t,
      unexpected: e
    }) => `Unexpected token${e ? ` '${e}'.` : ""}${t ? `, expected "${t}"` : ""}`, "UnexpectedToken"),
    UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",
    UnexpectedUsingDeclaration: "Using declaration cannot appear in the top level when source type is `script`.",
    UnsupportedBind: "Binding should be performed on object property.",
    UnsupportedDecoratorExport: "A decorated export must export a class declaration.",
    UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.",
    UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.",
    UnsupportedMetaProperty: /* @__PURE__ */ n(({
      target: t,
      onlyValidPropertyName: e
    }) => `The only valid meta property for ${t} is ${t}.${e}.`, "UnsupportedMetaProperty"),
    UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.",
    UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.",
    UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",
    UnterminatedComment: "Unterminated comment.",
    UnterminatedRegExp: "Unterminated regular expression.",
    UnterminatedString: "Unterminated string constant.",
    UnterminatedTemplate: "Unterminated template.",
    UsingDeclarationExport: "Using declaration cannot be exported.",
    UsingDeclarationHasBindingPattern: "Using declaration cannot have destructuring patterns.",
    VarRedeclaration: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Identifier '${t}' has already been declared.`, "VarRedeclaration"),
    YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.",
    YieldInParameter: "Yield expression is not allowed in formal parameters.",
    ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0."
  }, CKe = {
    StrictDelete: "Deleting local variable in strict mode.",
    StrictEvalArguments: /* @__PURE__ */ n(({
      referenceName: t
    }) => `Assigning to '${t}' in strict mode.`, "StrictEvalArguments"),
    StrictEvalArgumentsBinding: /* @__PURE__ */ n(({
      bindingName: t
    }) => `Binding '${t}' in strict mode.`, "StrictEvalArgumentsBinding"),
    StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.",
    StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.",
    StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.",
    StrictWith: "'with' in strict mode."
  }, wKe = /* @__PURE__ */ new Set(["ArrowFunctionExpression", "AssignmentExpression", "ConditionalExpression", "YieldExpression"]), IKe = Object.
  assign({
    PipeBodyIsTighter: "Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due \
to its loose operator precedence.",
    PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" opt\
ion.',
    PipeTopicUnbound: "Topic reference is unbound; it must be inside a pipe body.",
    PipeTopicUnconfiguredToken: /* @__PURE__ */ n(({
      token: t
    }) => `Invalid topic token ${t}. In order to use ${t} as a topic reference, the pipelineOperator plugin must be configured with { "propo\
sal": "hack", "topicToken": "${t}" }.`, "PipeTopicUnconfiguredToken"),
    PipeTopicUnused: "Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",
    PipeUnparenthesizedBody: /* @__PURE__ */ n(({
      type: t
    }) => `Hack-style pipe body cannot be an unparenthesized ${$x({
      type: t
    })}; please wrap it in parentheses.`, "PipeUnparenthesizedBody")
  }, {
    PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',
    PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.",
    PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.",
    PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.",
    PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.",
    PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "sma\
rt" option.'
  }), NKe = ["message"];
  function i$(t, e, s) {
    Object.defineProperty(t, e, {
      enumerable: !1,
      configurable: !0,
      value: s
    });
  }
  n(i$, "defineHidden");
  function kKe({
    toMessage: t,
    code: e,
    reasonCode: s,
    syntaxPlugin: r
  }) {
    let i = s === "MissingPlugin" || s === "MissingOneOfPlugins";
    {
      let a = {
        AccessorCannotDeclareThisParameter: "AccesorCannotDeclareThisParameter",
        AccessorCannotHaveTypeParameters: "AccesorCannotHaveTypeParameters",
        ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumRefer\
ence",
        SetAccessorCannotHaveOptionalParameter: "SetAccesorCannotHaveOptionalParameter",
        SetAccessorCannotHaveRestParameter: "SetAccesorCannotHaveRestParameter",
        SetAccessorCannotHaveReturnType: "SetAccesorCannotHaveReturnType"
      };
      a[s] && (s = a[s]);
    }
    return /* @__PURE__ */ n(function a(o, l) {
      let u = new SyntaxError();
      return u.code = e, u.reasonCode = s, u.loc = o, u.pos = o.index, u.syntaxPlugin = r, i && (u.missingPlugin = l.missingPlugin), i$(u, "\
clone", /* @__PURE__ */ n(function(p = {}) {
        var h;
        let {
          line: f,
          column: d,
          index: m
        } = (h = p.loc) != null ? h : o;
        return a(new rl(f, d, m), Object.assign({}, l, p.details));
      }, "clone")), i$(u, "details", l), Object.defineProperty(u, "message", {
        configurable: !0,
        get() {
          let c = `${t(l)} (${o.line}:${o.column})`;
          return this.message = c, c;
        },
        set(c) {
          Object.defineProperty(this, "message", {
            value: c,
            writable: !0
          });
        }
      }), u;
    }, "constructor");
  }
  n(kKe, "toParseErrorConstructor");
  function tu(t, e) {
    if (Array.isArray(t))
      return (r) => tu(r, t[0]);
    let s = {};
    for (let r of Object.keys(t)) {
      let i = t[r], a = typeof i == "string" ? {
        message: /* @__PURE__ */ n(() => i, "message")
      } : typeof i == "function" ? {
        message: i
      } : i, {
        message: o
      } = a, l = EKe(a, NKe), u = typeof o == "string" ? () => o : o;
      s[r] = kKe(Object.assign({
        code: "BABEL_PARSER_SYNTAX_ERROR",
        reasonCode: r,
        toMessage: u
      }, e ? {
        syntaxPlugin: e
      } : {}, l));
    }
    return s;
  }
  n(tu, "ParseErrorEnum");
  var Q = Object.assign({}, tu(AKe), tu(vKe), tu(CKe), tu`pipelineOperator`(IKe));
  function DKe() {
    return {
      sourceType: "script",
      sourceFilename: void 0,
      startIndex: 0,
      startColumn: 0,
      startLine: 1,
      allowAwaitOutsideFunction: !1,
      allowReturnOutsideFunction: !1,
      allowNewTargetOutsideFunction: !1,
      allowImportExportEverywhere: !1,
      allowSuperOutsideMethod: !1,
      allowUndeclaredExports: !1,
      plugins: [],
      strictMode: null,
      ranges: !1,
      tokens: !1,
      createImportExpressions: !1,
      createParenthesizedExpressions: !1,
      errorRecovery: !1,
      attachComment: !0,
      annexB: !0
    };
  }
  n(DKe, "createDefaultOptions");
  function OKe(t) {
    let e = DKe();
    if (t == null)
      return e;
    if (t.annexB != null && t.annexB !== !1)
      throw new Error("The `annexB` option can only be set to `false`.");
    for (let s of Object.keys(e))
      t[s] != null && (e[s] = t[s]);
    if (e.startLine === 1)
      t.startIndex == null && e.startColumn > 0 ? e.startIndex = e.startColumn : t.startColumn == null && e.startIndex > 0 && (e.startColumn =
      e.startIndex);
    else if ((t.startColumn == null || t.startIndex == null) && t.startIndex != null)
      throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");
    return e;
  }
  n(OKe, "getOptions");
  var {
    defineProperty: _Ke
  } = Object, n$ = /* @__PURE__ */ n((t, e) => {
    t && _Ke(t, e, {
      enumerable: !1,
      value: t[e]
    });
  }, "toUnenumerable");
  function mg(t) {
    return n$(t.loc.start, "index"), n$(t.loc.end, "index"), t;
  }
  n(mg, "toESTreeLocation");
  var LKe = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "ESTreeParserMixin");
    }
    parse() {
      let s = mg(super.parse());
      return this.optionFlags & 128 && (s.tokens = s.tokens.map(mg)), s;
    }
    parseRegExpLiteral({
      pattern: s,
      flags: r
    }) {
      let i = null;
      try {
        i = new RegExp(s, r);
      } catch {
      }
      let a = this.estreeParseLiteral(i);
      return a.regex = {
        pattern: s,
        flags: r
      }, a;
    }
    parseBigIntLiteral(s) {
      let r;
      try {
        r = BigInt(s);
      } catch {
        r = null;
      }
      let i = this.estreeParseLiteral(r);
      return i.bigint = String(i.value || s), i;
    }
    parseDecimalLiteral(s) {
      let i = this.estreeParseLiteral(null);
      return i.decimal = String(i.value || s), i;
    }
    estreeParseLiteral(s) {
      return this.parseLiteral(s, "Literal");
    }
    parseStringLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    parseNumericLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    parseNullLiteral() {
      return this.estreeParseLiteral(null);
    }
    parseBooleanLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    directiveToStmt(s) {
      let r = s.value;
      delete s.value, r.type = "Literal", r.raw = r.extra.raw, r.value = r.extra.expressionValue;
      let i = s;
      return i.type = "ExpressionStatement", i.expression = r, i.directive = r.extra.rawValue, delete r.extra, i;
    }
    initFunction(s, r) {
      super.initFunction(s, r), s.expression = !1;
    }
    checkDeclaration(s) {
      s != null && this.isObjectProperty(s) ? this.checkDeclaration(s.value) : super.checkDeclaration(s);
    }
    getObjectOrClassMethodParams(s) {
      return s.value.params;
    }
    isValidDirective(s) {
      var r;
      return s.type === "ExpressionStatement" && s.expression.type === "Literal" && typeof s.expression.value == "string" && !((r = s.expression.
      extra) != null && r.parenthesized);
    }
    parseBlockBody(s, r, i, a, o) {
      super.parseBlockBody(s, r, i, a, o);
      let l = s.directives.map((u) => this.directiveToStmt(u));
      s.body = l.concat(s.body), delete s.directives;
    }
    parsePrivateName() {
      let s = super.parsePrivateName();
      return this.getPluginOption("estree", "classFeatures") ? this.convertPrivateNameToPrivateIdentifier(s) : s;
    }
    convertPrivateNameToPrivateIdentifier(s) {
      let r = super.getPrivateNameSV(s);
      return s = s, delete s.id, s.name = r, s.type = "PrivateIdentifier", s;
    }
    isPrivateName(s) {
      return this.getPluginOption("estree", "classFeatures") ? s.type === "PrivateIdentifier" : super.isPrivateName(s);
    }
    getPrivateNameSV(s) {
      return this.getPluginOption("estree", "classFeatures") ? s.name : super.getPrivateNameSV(s);
    }
    parseLiteral(s, r) {
      let i = super.parseLiteral(s, r);
      return i.raw = i.extra.raw, delete i.extra, i;
    }
    parseFunctionBody(s, r, i = !1) {
      super.parseFunctionBody(s, r, i), s.expression = s.body.type !== "BlockStatement";
    }
    parseMethod(s, r, i, a, o, l, u = !1) {
      let c = this.startNode();
      c.kind = s.kind, c = super.parseMethod(c, r, i, a, o, l, u), c.type = "FunctionExpression", delete c.kind, s.value = c;
      let {
        typeParameters: p
      } = s;
      return p && (delete s.typeParameters, c.typeParameters = p, this.resetStartLocationFromNode(c, p)), l === "ClassPrivateMethod" && (s.computed =
      !1), this.finishNode(s, "MethodDefinition");
    }
    nameIsConstructor(s) {
      return s.type === "Literal" ? s.value === "constructor" : super.nameIsConstructor(s);
    }
    parseClassProperty(...s) {
      let r = super.parseClassProperty(...s);
      return this.getPluginOption("estree", "classFeatures") && (r.type = "PropertyDefinition"), r;
    }
    parseClassPrivateProperty(...s) {
      let r = super.parseClassPrivateProperty(...s);
      return this.getPluginOption("estree", "classFeatures") && (r.type = "PropertyDefinition", r.computed = !1), r;
    }
    parseObjectMethod(s, r, i, a, o) {
      let l = super.parseObjectMethod(s, r, i, a, o);
      return l && (l.type = "Property", l.kind === "method" && (l.kind = "init"), l.shorthand = !1), l;
    }
    parseObjectProperty(s, r, i, a) {
      let o = super.parseObjectProperty(s, r, i, a);
      return o && (o.kind = "init", o.type = "Property"), o;
    }
    isValidLVal(s, r, i) {
      return s === "Property" ? "value" : super.isValidLVal(s, r, i);
    }
    isAssignable(s, r) {
      return s != null && this.isObjectProperty(s) ? this.isAssignable(s.value, r) : super.isAssignable(s, r);
    }
    toAssignable(s, r = !1) {
      if (s != null && this.isObjectProperty(s)) {
        let {
          key: i,
          value: a
        } = s;
        this.isPrivateName(i) && this.classScope.usePrivateName(this.getPrivateNameSV(i), i.loc.start), this.toAssignable(a, r);
      } else
        super.toAssignable(s, r);
    }
    toAssignableObjectExpressionProp(s, r, i) {
      s.type === "Property" && (s.kind === "get" || s.kind === "set") ? this.raise(Q.PatternHasAccessor, s.key) : s.type === "Property" && s.
      method ? this.raise(Q.PatternHasMethod, s.key) : super.toAssignableObjectExpressionProp(s, r, i);
    }
    finishCallExpression(s, r) {
      let i = super.finishCallExpression(s, r);
      if (i.callee.type === "Import") {
        var a, o;
        i.type = "ImportExpression", i.source = i.arguments[0], i.options = (a = i.arguments[1]) != null ? a : null, i.attributes = (o = i.arguments[1]) !=
        null ? o : null, delete i.arguments, delete i.callee;
      }
      return i;
    }
    toReferencedArguments(s) {
      s.type !== "ImportExpression" && super.toReferencedArguments(s);
    }
    parseExport(s, r) {
      let i = this.state.lastTokStartLoc, a = super.parseExport(s, r);
      switch (a.type) {
        case "ExportAllDeclaration":
          a.exported = null;
          break;
        case "ExportNamedDeclaration":
          a.specifiers.length === 1 && a.specifiers[0].type === "ExportNamespaceSpecifier" && (a.type = "ExportAllDeclaration", a.exported =
          a.specifiers[0].exported, delete a.specifiers);
        case "ExportDefaultDeclaration":
          {
            var o;
            let {
              declaration: l
            } = a;
            l?.type === "ClassDeclaration" && ((o = l.decorators) == null ? void 0 : o.length) > 0 && l.start === a.start && this.resetStartLocation(
            a, i);
          }
          break;
      }
      return a;
    }
    parseSubscript(s, r, i, a) {
      let o = super.parseSubscript(s, r, i, a);
      if (a.optionalChainMember) {
        if ((o.type === "OptionalMemberExpression" || o.type === "OptionalCallExpression") && (o.type = o.type.substring(8)), a.stop) {
          let l = this.startNodeAtNode(o);
          return l.expression = o, this.finishNode(l, "ChainExpression");
        }
      } else (o.type === "MemberExpression" || o.type === "CallExpression") && (o.optional = !1);
      return o;
    }
    isOptionalMemberExpression(s) {
      return s.type === "ChainExpression" ? s.expression.type === "MemberExpression" : super.isOptionalMemberExpression(s);
    }
    hasPropertyAsPrivateName(s) {
      return s.type === "ChainExpression" && (s = s.expression), super.hasPropertyAsPrivateName(s);
    }
    isObjectProperty(s) {
      return s.type === "Property" && s.kind === "init" && !s.method;
    }
    isObjectMethod(s) {
      return s.type === "Property" && (s.method || s.kind === "get" || s.kind === "set");
    }
    finishNodeAt(s, r, i) {
      return mg(super.finishNodeAt(s, r, i));
    }
    resetStartLocation(s, r) {
      super.resetStartLocation(s, r), mg(s);
    }
    resetEndLocation(s, r = this.state.lastTokEndLoc) {
      super.resetEndLocation(s, r), mg(s);
    }
  }, "estree"), Th = class {
    static {
      n(this, "TokContext");
    }
    constructor(e, s) {
      this.token = void 0, this.preserveSpace = void 0, this.token = e, this.preserveSpace = !!s;
    }
  }, Hs = {
    brace: new Th("{"),
    j_oTag: new Th("<tag"),
    j_cTag: new Th("</tag"),
    j_expr: new Th("<tag>...</tag>", !0)
  };
  Hs.template = new Th("`", !0);
  var ns = !0, Ue = !0, Pk = !0, yg = !0, Rc = !0, BKe = !0, Yx = class {
    static {
      n(this, "ExportedTokenType");
    }
    constructor(e, s = {}) {
      this.label = void 0, this.keyword = void 0, this.beforeExpr = void 0, this.startsExpr = void 0, this.rightAssociative = void 0, this.isLoop =
      void 0, this.isAssign = void 0, this.prefix = void 0, this.postfix = void 0, this.binop = void 0, this.label = e, this.keyword = s.keyword,
      this.beforeExpr = !!s.beforeExpr, this.startsExpr = !!s.startsExpr, this.rightAssociative = !!s.rightAssociative, this.isLoop = !!s.isLoop,
      this.isAssign = !!s.isAssign, this.prefix = !!s.prefix, this.postfix = !!s.postfix, this.binop = s.binop != null ? s.binop : null, this.
      updateContext = null;
    }
  }, Jk = /* @__PURE__ */ new Map();
  function Ns(t, e = {}) {
    e.keyword = t;
    let s = vt(t, e);
    return Jk.set(t, s), s;
  }
  n(Ns, "createKeyword");
  function bn(t, e) {
    return vt(t, {
      beforeExpr: ns,
      binop: e
    });
  }
  n(bn, "createBinop");
  var bg = -1, Zl = [], Yk = [], Xk = [], zk = [], Gk = [], Qk = [];
  function vt(t, e = {}) {
    var s, r, i, a;
    return ++bg, Yk.push(t), Xk.push((s = e.binop) != null ? s : -1), zk.push((r = e.beforeExpr) != null ? r : !1), Gk.push((i = e.startsExpr) !=
    null ? i : !1), Qk.push((a = e.prefix) != null ? a : !1), Zl.push(new Yx(t, e)), bg;
  }
  n(vt, "createToken");
  function is(t, e = {}) {
    var s, r, i, a;
    return ++bg, Jk.set(t, bg), Yk.push(t), Xk.push((s = e.binop) != null ? s : -1), zk.push((r = e.beforeExpr) != null ? r : !1), Gk.push((i =
    e.startsExpr) != null ? i : !1), Qk.push((a = e.prefix) != null ? a : !1), Zl.push(new Yx("name", e)), bg;
  }
  n(is, "createKeywordLike");
  var MKe = {
    bracketL: vt("[", {
      beforeExpr: ns,
      startsExpr: Ue
    }),
    bracketHashL: vt("#[", {
      beforeExpr: ns,
      startsExpr: Ue
    }),
    bracketBarL: vt("[|", {
      beforeExpr: ns,
      startsExpr: Ue
    }),
    bracketR: vt("]"),
    bracketBarR: vt("|]"),
    braceL: vt("{", {
      beforeExpr: ns,
      startsExpr: Ue
    }),
    braceBarL: vt("{|", {
      beforeExpr: ns,
      startsExpr: Ue
    }),
    braceHashL: vt("#{", {
      beforeExpr: ns,
      startsExpr: Ue
    }),
    braceR: vt("}"),
    braceBarR: vt("|}"),
    parenL: vt("(", {
      beforeExpr: ns,
      startsExpr: Ue
    }),
    parenR: vt(")"),
    comma: vt(",", {
      beforeExpr: ns
    }),
    semi: vt(";", {
      beforeExpr: ns
    }),
    colon: vt(":", {
      beforeExpr: ns
    }),
    doubleColon: vt("::", {
      beforeExpr: ns
    }),
    dot: vt("."),
    question: vt("?", {
      beforeExpr: ns
    }),
    questionDot: vt("?."),
    arrow: vt("=>", {
      beforeExpr: ns
    }),
    template: vt("template"),
    ellipsis: vt("...", {
      beforeExpr: ns
    }),
    backQuote: vt("`", {
      startsExpr: Ue
    }),
    dollarBraceL: vt("${", {
      beforeExpr: ns,
      startsExpr: Ue
    }),
    templateTail: vt("...`", {
      startsExpr: Ue
    }),
    templateNonTail: vt("...${", {
      beforeExpr: ns,
      startsExpr: Ue
    }),
    at: vt("@"),
    hash: vt("#", {
      startsExpr: Ue
    }),
    interpreterDirective: vt("#!..."),
    eq: vt("=", {
      beforeExpr: ns,
      isAssign: yg
    }),
    assign: vt("_=", {
      beforeExpr: ns,
      isAssign: yg
    }),
    slashAssign: vt("_=", {
      beforeExpr: ns,
      isAssign: yg
    }),
    xorAssign: vt("_=", {
      beforeExpr: ns,
      isAssign: yg
    }),
    moduloAssign: vt("_=", {
      beforeExpr: ns,
      isAssign: yg
    }),
    incDec: vt("++/--", {
      prefix: Rc,
      postfix: BKe,
      startsExpr: Ue
    }),
    bang: vt("!", {
      beforeExpr: ns,
      prefix: Rc,
      startsExpr: Ue
    }),
    tilde: vt("~", {
      beforeExpr: ns,
      prefix: Rc,
      startsExpr: Ue
    }),
    doubleCaret: vt("^^", {
      startsExpr: Ue
    }),
    doubleAt: vt("@@", {
      startsExpr: Ue
    }),
    pipeline: bn("|>", 0),
    nullishCoalescing: bn("??", 1),
    logicalOR: bn("||", 1),
    logicalAND: bn("&&", 2),
    bitwiseOR: bn("|", 3),
    bitwiseXOR: bn("^", 4),
    bitwiseAND: bn("&", 5),
    equality: bn("==/!=/===/!==", 6),
    lt: bn("</>/<=/>=", 7),
    gt: bn("</>/<=/>=", 7),
    relational: bn("</>/<=/>=", 7),
    bitShift: bn("<</>>/>>>", 8),
    bitShiftL: bn("<</>>/>>>", 8),
    bitShiftR: bn("<</>>/>>>", 8),
    plusMin: vt("+/-", {
      beforeExpr: ns,
      binop: 9,
      prefix: Rc,
      startsExpr: Ue
    }),
    modulo: vt("%", {
      binop: 10,
      startsExpr: Ue
    }),
    star: vt("*", {
      binop: 10
    }),
    slash: bn("/", 10),
    exponent: vt("**", {
      beforeExpr: ns,
      binop: 11,
      rightAssociative: !0
    }),
    _in: Ns("in", {
      beforeExpr: ns,
      binop: 7
    }),
    _instanceof: Ns("instanceof", {
      beforeExpr: ns,
      binop: 7
    }),
    _break: Ns("break"),
    _case: Ns("case", {
      beforeExpr: ns
    }),
    _catch: Ns("catch"),
    _continue: Ns("continue"),
    _debugger: Ns("debugger"),
    _default: Ns("default", {
      beforeExpr: ns
    }),
    _else: Ns("else", {
      beforeExpr: ns
    }),
    _finally: Ns("finally"),
    _function: Ns("function", {
      startsExpr: Ue
    }),
    _if: Ns("if"),
    _return: Ns("return", {
      beforeExpr: ns
    }),
    _switch: Ns("switch"),
    _throw: Ns("throw", {
      beforeExpr: ns,
      prefix: Rc,
      startsExpr: Ue
    }),
    _try: Ns("try"),
    _var: Ns("var"),
    _const: Ns("const"),
    _with: Ns("with"),
    _new: Ns("new", {
      beforeExpr: ns,
      startsExpr: Ue
    }),
    _this: Ns("this", {
      startsExpr: Ue
    }),
    _super: Ns("super", {
      startsExpr: Ue
    }),
    _class: Ns("class", {
      startsExpr: Ue
    }),
    _extends: Ns("extends", {
      beforeExpr: ns
    }),
    _export: Ns("export"),
    _import: Ns("import", {
      startsExpr: Ue
    }),
    _null: Ns("null", {
      startsExpr: Ue
    }),
    _true: Ns("true", {
      startsExpr: Ue
    }),
    _false: Ns("false", {
      startsExpr: Ue
    }),
    _typeof: Ns("typeof", {
      beforeExpr: ns,
      prefix: Rc,
      startsExpr: Ue
    }),
    _void: Ns("void", {
      beforeExpr: ns,
      prefix: Rc,
      startsExpr: Ue
    }),
    _delete: Ns("delete", {
      beforeExpr: ns,
      prefix: Rc,
      startsExpr: Ue
    }),
    _do: Ns("do", {
      isLoop: Pk,
      beforeExpr: ns
    }),
    _for: Ns("for", {
      isLoop: Pk
    }),
    _while: Ns("while", {
      isLoop: Pk
    }),
    _as: is("as", {
      startsExpr: Ue
    }),
    _assert: is("assert", {
      startsExpr: Ue
    }),
    _async: is("async", {
      startsExpr: Ue
    }),
    _await: is("await", {
      startsExpr: Ue
    }),
    _defer: is("defer", {
      startsExpr: Ue
    }),
    _from: is("from", {
      startsExpr: Ue
    }),
    _get: is("get", {
      startsExpr: Ue
    }),
    _let: is("let", {
      startsExpr: Ue
    }),
    _meta: is("meta", {
      startsExpr: Ue
    }),
    _of: is("of", {
      startsExpr: Ue
    }),
    _sent: is("sent", {
      startsExpr: Ue
    }),
    _set: is("set", {
      startsExpr: Ue
    }),
    _source: is("source", {
      startsExpr: Ue
    }),
    _static: is("static", {
      startsExpr: Ue
    }),
    _using: is("using", {
      startsExpr: Ue
    }),
    _yield: is("yield", {
      startsExpr: Ue
    }),
    _asserts: is("asserts", {
      startsExpr: Ue
    }),
    _checks: is("checks", {
      startsExpr: Ue
    }),
    _exports: is("exports", {
      startsExpr: Ue
    }),
    _global: is("global", {
      startsExpr: Ue
    }),
    _implements: is("implements", {
      startsExpr: Ue
    }),
    _intrinsic: is("intrinsic", {
      startsExpr: Ue
    }),
    _infer: is("infer", {
      startsExpr: Ue
    }),
    _is: is("is", {
      startsExpr: Ue
    }),
    _mixins: is("mixins", {
      startsExpr: Ue
    }),
    _proto: is("proto", {
      startsExpr: Ue
    }),
    _require: is("require", {
      startsExpr: Ue
    }),
    _satisfies: is("satisfies", {
      startsExpr: Ue
    }),
    _keyof: is("keyof", {
      startsExpr: Ue
    }),
    _readonly: is("readonly", {
      startsExpr: Ue
    }),
    _unique: is("unique", {
      startsExpr: Ue
    }),
    _abstract: is("abstract", {
      startsExpr: Ue
    }),
    _declare: is("declare", {
      startsExpr: Ue
    }),
    _enum: is("enum", {
      startsExpr: Ue
    }),
    _module: is("module", {
      startsExpr: Ue
    }),
    _namespace: is("namespace", {
      startsExpr: Ue
    }),
    _interface: is("interface", {
      startsExpr: Ue
    }),
    _type: is("type", {
      startsExpr: Ue
    }),
    _opaque: is("opaque", {
      startsExpr: Ue
    }),
    name: vt("name", {
      startsExpr: Ue
    }),
    placeholder: vt("%%", {
      startsExpr: !0
    }),
    string: vt("string", {
      startsExpr: Ue
    }),
    num: vt("num", {
      startsExpr: Ue
    }),
    bigint: vt("bigint", {
      startsExpr: Ue
    }),
    decimal: vt("decimal", {
      startsExpr: Ue
    }),
    regexp: vt("regexp", {
      startsExpr: Ue
    }),
    privateName: vt("#name", {
      startsExpr: Ue
    }),
    eof: vt("eof"),
    jsxName: vt("jsxName"),
    jsxText: vt("jsxText", {
      beforeExpr: !0
    }),
    jsxTagStart: vt("jsxTagStart", {
      startsExpr: !0
    }),
    jsxTagEnd: vt("jsxTagEnd")
  };
  function Js(t) {
    return t >= 93 && t <= 133;
  }
  n(Js, "tokenIsIdentifier");
  function FKe(t) {
    return t <= 92;
  }
  n(FKe, "tokenKeywordOrIdentifierIsKeyword");
  function To(t) {
    return t >= 58 && t <= 133;
  }
  n(To, "tokenIsKeywordOrIdentifier");
  function g$(t) {
    return t >= 58 && t <= 137;
  }
  n(g$, "tokenIsLiteralPropertyName");
  function jKe(t) {
    return zk[t];
  }
  n(jKe, "tokenComesBeforeExpression");
  function wk(t) {
    return Gk[t];
  }
  n(wk, "tokenCanStartExpression");
  function RKe(t) {
    return t >= 29 && t <= 33;
  }
  n(RKe, "tokenIsAssignment");
  function a$(t) {
    return t >= 129 && t <= 131;
  }
  n(a$, "tokenIsFlowInterfaceOrTypeOrOpaque");
  function qKe(t) {
    return t >= 90 && t <= 92;
  }
  n(qKe, "tokenIsLoop");
  function Zk(t) {
    return t >= 58 && t <= 92;
  }
  n(Zk, "tokenIsKeyword");
  function UKe(t) {
    return t >= 39 && t <= 59;
  }
  n(UKe, "tokenIsOperator");
  function KKe(t) {
    return t === 34;
  }
  n(KKe, "tokenIsPostfix");
  function VKe(t) {
    return Qk[t];
  }
  n(VKe, "tokenIsPrefix");
  function WKe(t) {
    return t >= 121 && t <= 123;
  }
  n(WKe, "tokenIsTSTypeOperator");
  function $Ke(t) {
    return t >= 124 && t <= 130;
  }
  n($Ke, "tokenIsTSDeclarationStart");
  function Uc(t) {
    return Yk[t];
  }
  n(Uc, "tokenLabelName");
  function Hx(t) {
    return Xk[t];
  }
  n(Hx, "tokenOperatorPrecedence");
  function HKe(t) {
    return t === 57;
  }
  n(HKe, "tokenIsRightAssociative");
  function Xx(t) {
    return t >= 24 && t <= 25;
  }
  n(Xx, "tokenIsTemplate");
  function Ql(t) {
    return Zl[t];
  }
  n(Ql, "getExportedToken");
  Zl[8].updateContext = (t) => {
    t.pop();
  }, Zl[5].updateContext = Zl[7].updateContext = Zl[23].updateContext = (t) => {
    t.push(Hs.brace);
  }, Zl[22].updateContext = (t) => {
    t[t.length - 1] === Hs.template ? t.pop() : t.push(Hs.template);
  }, Zl[143].updateContext = (t) => {
    t.push(Hs.j_expr, Hs.j_oTag);
  };
  var eD = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993\
-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\
\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\
\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\
\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\
\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01\
-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",
  T$ = "\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\
\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\
\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6\
-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20\
-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65", JKe = new RegExp("[" + eD + "]"), YKe = new RegExp("[" + eD + T$ + "]");
  eD = T$ = null;
  var b$ = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157,
  19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5,
  3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7,
  2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17,
  47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64,
  6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45,
  52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2,
  1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29,
  113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071,
  18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12,
  65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991,
  84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30,
  2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3,
  0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2,
  2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153,
  7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191], XKe = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5,
  0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13,
  2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4,
  68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58,
  14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54,
  7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350,
  0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543,
  4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6,
  10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
  function Ik(t, e) {
    let s = 65536;
    for (let r = 0, i = e.length; r < i; r += 2) {
      if (s += e[r], s > t) return !1;
      if (s += e[r + 1], s >= t) return !0;
    }
    return !1;
  }
  n(Ik, "isInAstralSet");
  function eu(t) {
    return t < 65 ? t === 36 : t <= 90 ? !0 : t < 97 ? t === 95 : t <= 122 ? !0 : t <= 65535 ? t >= 170 && JKe.test(String.fromCharCode(t)) :
    Ik(t, b$);
  }
  n(eu, "isIdentifierStart");
  function xd(t) {
    return t < 48 ? t === 36 : t < 58 ? !0 : t < 65 ? !1 : t <= 90 ? !0 : t < 97 ? t === 95 : t <= 122 ? !0 : t <= 65535 ? t >= 170 && YKe.test(
    String.fromCharCode(t)) : Ik(t, b$) || Ik(t, XKe);
  }
  n(xd, "isIdentifierChar");
  var tD = {
    keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "swit\
ch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false",
    "in", "instanceof", "typeof", "void", "delete"],
    strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
    strictBind: ["eval", "arguments"]
  }, zKe = new Set(tD.keyword), GKe = new Set(tD.strict), QKe = new Set(tD.strictBind);
  function x$(t, e) {
    return e && t === "await" || t === "enum";
  }
  n(x$, "isReservedWord");
  function S$(t, e) {
    return x$(t, e) || GKe.has(t);
  }
  n(S$, "isStrictReservedWord");
  function P$(t) {
    return QKe.has(t);
  }
  n(P$, "isStrictBindOnlyReservedWord");
  function E$(t, e) {
    return S$(t, e) || P$(t);
  }
  n(E$, "isStrictBindReservedWord");
  function ZKe(t) {
    return zKe.has(t);
  }
  n(ZKe, "isKeyword");
  function eVe(t, e, s) {
    return t === 64 && e === 64 && eu(s);
  }
  n(eVe, "isIteratorStart");
  var tVe = /* @__PURE__ */ new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function",
  "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import",
  "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protecte\
d", "public", "static", "yield", "eval", "arguments", "enum", "await"]);
  function sVe(t) {
    return tVe.has(t);
  }
  n(sVe, "canBeReservedWord");
  var xg = class {
    static {
      n(this, "Scope");
    }
    constructor(e) {
      this.flags = 0, this.names = /* @__PURE__ */ new Map(), this.firstLexicalName = "", this.flags = e;
    }
  }, Sg = class {
    static {
      n(this, "ScopeHandler");
    }
    constructor(e, s) {
      this.parser = void 0, this.scopeStack = [], this.inModule = void 0, this.undefinedExports = /* @__PURE__ */ new Map(), this.parser = e,
      this.inModule = s;
    }
    get inTopLevel() {
      return (this.currentScope().flags & 1) > 0;
    }
    get inFunction() {
      return (this.currentVarScopeFlags() & 2) > 0;
    }
    get allowSuper() {
      return (this.currentThisScopeFlags() & 16) > 0;
    }
    get allowDirectSuper() {
      return (this.currentThisScopeFlags() & 32) > 0;
    }
    get inClass() {
      return (this.currentThisScopeFlags() & 64) > 0;
    }
    get inClassAndNotInNonArrowFunction() {
      let e = this.currentThisScopeFlags();
      return (e & 64) > 0 && (e & 2) === 0;
    }
    get inStaticBlock() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 128)
          return !0;
        if (s & 451)
          return !1;
      }
    }
    get inNonArrowFunction() {
      return (this.currentThisScopeFlags() & 2) > 0;
    }
    get treatFunctionsAsVar() {
      return this.treatFunctionsAsVarInScope(this.currentScope());
    }
    createScope(e) {
      return new xg(e);
    }
    enter(e) {
      this.scopeStack.push(this.createScope(e));
    }
    exit() {
      return this.scopeStack.pop().flags;
    }
    treatFunctionsAsVarInScope(e) {
      return !!(e.flags & 130 || !this.parser.inModule && e.flags & 1);
    }
    declareName(e, s, r) {
      let i = this.currentScope();
      if (s & 8 || s & 16) {
        this.checkRedeclarationInScope(i, e, s, r);
        let a = i.names.get(e) || 0;
        s & 16 ? a = a | 4 : (i.firstLexicalName || (i.firstLexicalName = e), a = a | 2), i.names.set(e, a), s & 8 && this.maybeExportDefined(
        i, e);
      } else if (s & 4)
        for (let a = this.scopeStack.length - 1; a >= 0 && (i = this.scopeStack[a], this.checkRedeclarationInScope(i, e, s, r), i.names.set(
        e, (i.names.get(e) || 0) | 1), this.maybeExportDefined(i, e), !(i.flags & 387)); --a)
          ;
      this.parser.inModule && i.flags & 1 && this.undefinedExports.delete(e);
    }
    maybeExportDefined(e, s) {
      this.parser.inModule && e.flags & 1 && this.undefinedExports.delete(s);
    }
    checkRedeclarationInScope(e, s, r, i) {
      this.isRedeclaredInScope(e, s, r) && this.parser.raise(Q.VarRedeclaration, i, {
        identifierName: s
      });
    }
    isRedeclaredInScope(e, s, r) {
      if (!(r & 1)) return !1;
      if (r & 8)
        return e.names.has(s);
      let i = e.names.get(s);
      return r & 16 ? (i & 2) > 0 || !this.treatFunctionsAsVarInScope(e) && (i & 1) > 0 : (i & 2) > 0 && !(e.flags & 8 && e.firstLexicalName ===
      s) || !this.treatFunctionsAsVarInScope(e) && (i & 4) > 0;
    }
    checkLocalExport(e) {
      let {
        name: s
      } = e;
      this.scopeStack[0].names.has(s) || this.undefinedExports.set(s, e.loc.start);
    }
    currentScope() {
      return this.scopeStack[this.scopeStack.length - 1];
    }
    currentVarScopeFlags() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 387)
          return s;
      }
    }
    currentThisScopeFlags() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 451 && !(s & 4))
          return s;
      }
    }
  }, Nk = class extends xg {
    static {
      n(this, "FlowScope");
    }
    constructor(...e) {
      super(...e), this.declareFunctions = /* @__PURE__ */ new Set();
    }
  }, kk = class extends Sg {
    static {
      n(this, "FlowScopeHandler");
    }
    createScope(e) {
      return new Nk(e);
    }
    declareName(e, s, r) {
      let i = this.currentScope();
      if (s & 2048) {
        this.checkRedeclarationInScope(i, e, s, r), this.maybeExportDefined(i, e), i.declareFunctions.add(e);
        return;
      }
      super.declareName(e, s, r);
    }
    isRedeclaredInScope(e, s, r) {
      if (super.isRedeclaredInScope(e, s, r)) return !0;
      if (r & 2048 && !e.declareFunctions.has(s)) {
        let i = e.names.get(s);
        return (i & 4) > 0 || (i & 2) > 0;
      }
      return !1;
    }
    checkLocalExport(e) {
      this.scopeStack[0].declareFunctions.has(e.name) || super.checkLocalExport(e);
    }
  }, Dk = class {
    static {
      n(this, "BaseParser");
    }
    constructor() {
      this.sawUnambiguousESM = !1, this.ambiguousScriptDifferentAst = !1;
    }
    sourceToOffsetPos(e) {
      return e + this.startIndex;
    }
    offsetToSourcePos(e) {
      return e - this.startIndex;
    }
    hasPlugin(e) {
      if (typeof e == "string")
        return this.plugins.has(e);
      {
        let [s, r] = e;
        if (!this.hasPlugin(s))
          return !1;
        let i = this.plugins.get(s);
        for (let a of Object.keys(r))
          if (i?.[a] !== r[a])
            return !1;
        return !0;
      }
    }
    getPluginOption(e, s) {
      var r;
      return (r = this.plugins.get(e)) == null ? void 0 : r[s];
    }
  };
  function A$(t, e) {
    t.trailingComments === void 0 ? t.trailingComments = e : t.trailingComments.unshift(...e);
  }
  n(A$, "setTrailingComments");
  function rVe(t, e) {
    t.leadingComments === void 0 ? t.leadingComments = e : t.leadingComments.unshift(...e);
  }
  n(rVe, "setLeadingComments");
  function Pg(t, e) {
    t.innerComments === void 0 ? t.innerComments = e : t.innerComments.unshift(...e);
  }
  n(Pg, "setInnerComments");
  function yh(t, e, s) {
    let r = null, i = e.length;
    for (; r === null && i > 0; )
      r = e[--i];
    r === null || r.start > s.start ? Pg(t, s.comments) : A$(r, s.comments);
  }
  n(yh, "adjustInnerComments");
  var Ok = class extends Dk {
    static {
      n(this, "CommentsParser");
    }
    addComment(e) {
      this.filename && (e.loc.filename = this.filename);
      let {
        commentsLen: s
      } = this.state;
      this.comments.length !== s && (this.comments.length = s), this.comments.push(e), this.state.commentsLen++;
    }
    processComment(e) {
      let {
        commentStack: s
      } = this.state, r = s.length;
      if (r === 0) return;
      let i = r - 1, a = s[i];
      a.start === e.end && (a.leadingNode = e, i--);
      let {
        start: o
      } = e;
      for (; i >= 0; i--) {
        let l = s[i], u = l.end;
        if (u > o)
          l.containingNode = e, this.finalizeComment(l), s.splice(i, 1);
        else {
          u === o && (l.trailingNode = e);
          break;
        }
      }
    }
    finalizeComment(e) {
      let {
        comments: s
      } = e;
      if (e.leadingNode !== null || e.trailingNode !== null)
        e.leadingNode !== null && A$(e.leadingNode, s), e.trailingNode !== null && rVe(e.trailingNode, s);
      else {
        let {
          containingNode: r,
          start: i
        } = e;
        if (this.input.charCodeAt(this.offsetToSourcePos(i) - 1) === 44)
          switch (r.type) {
            case "ObjectExpression":
            case "ObjectPattern":
            case "RecordExpression":
              yh(r, r.properties, e);
              break;
            case "CallExpression":
            case "OptionalCallExpression":
              yh(r, r.arguments, e);
              break;
            case "FunctionDeclaration":
            case "FunctionExpression":
            case "ArrowFunctionExpression":
            case "ObjectMethod":
            case "ClassMethod":
            case "ClassPrivateMethod":
              yh(r, r.params, e);
              break;
            case "ArrayExpression":
            case "ArrayPattern":
            case "TupleExpression":
              yh(r, r.elements, e);
              break;
            case "ExportNamedDeclaration":
            case "ImportDeclaration":
              yh(r, r.specifiers, e);
              break;
            case "TSEnumDeclaration":
              yh(r, r.members, e);
              break;
            case "TSEnumBody":
              yh(r, r.members, e);
              break;
            default:
              Pg(r, s);
          }
        else
          Pg(r, s);
      }
    }
    finalizeRemainingComments() {
      let {
        commentStack: e
      } = this.state;
      for (let s = e.length - 1; s >= 0; s--)
        this.finalizeComment(e[s]);
      this.state.commentStack = [];
    }
    resetPreviousNodeTrailingComments(e) {
      let {
        commentStack: s
      } = this.state, {
        length: r
      } = s;
      if (r === 0) return;
      let i = s[r - 1];
      i.leadingNode === e && (i.leadingNode = null);
    }
    resetPreviousIdentifierLeadingComments(e) {
      let {
        commentStack: s
      } = this.state, {
        length: r
      } = s;
      r !== 0 && (s[r - 1].trailingNode === e ? s[r - 1].trailingNode = null : r >= 2 && s[r - 2].trailingNode === e && (s[r - 2].trailingNode =
      null));
    }
    takeSurroundingComments(e, s, r) {
      let {
        commentStack: i
      } = this.state, a = i.length;
      if (a === 0) return;
      let o = a - 1;
      for (; o >= 0; o--) {
        let l = i[o], u = l.end;
        if (l.start === r)
          l.leadingNode = e;
        else if (u === s)
          l.trailingNode = e;
        else if (u < s)
          break;
      }
    }
  }, iVe = /\r\n|[\r\n\u2028\u2029]/, Vx = new RegExp(iVe.source, "g");
  function Sd(t) {
    switch (t) {
      case 10:
      case 13:
      case 8232:
      case 8233:
        return !0;
      default:
        return !1;
    }
  }
  n(Sd, "isNewLine");
  function o$(t, e, s) {
    for (let r = e; r < s; r++)
      if (Sd(t.charCodeAt(r)))
        return !0;
    return !1;
  }
  n(o$, "hasNewLine");
  var Ek = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g, Ak = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g;
  function nVe(t) {
    switch (t) {
      case 9:
      case 11:
      case 12:
      case 32:
      case 160:
      case 5760:
      case 8192:
      case 8193:
      case 8194:
      case 8195:
      case 8196:
      case 8197:
      case 8198:
      case 8199:
      case 8200:
      case 8201:
      case 8202:
      case 8239:
      case 8287:
      case 12288:
      case 65279:
        return !0;
      default:
        return !1;
    }
  }
  n(nVe, "isWhitespace");
  var _k = class t {
    static {
      n(this, "State");
    }
    constructor() {
      this.flags = 1024, this.startIndex = void 0, this.curLine = void 0, this.lineStart = void 0, this.startLoc = void 0, this.endLoc = void 0,
      this.errors = [], this.potentialArrowAt = -1, this.noArrowAt = [], this.noArrowParamsConversionAt = [], this.topicContext = {
        maxNumOfResolvableTopics: 0,
        maxTopicIndex: null
      }, this.labels = [], this.commentsLen = 0, this.commentStack = [], this.pos = 0, this.type = 140, this.value = null, this.start = 0, this.
      end = 0, this.lastTokEndLoc = null, this.lastTokStartLoc = null, this.context = [Hs.brace], this.firstInvalidTemplateEscapePos = null,
      this.strictErrors = /* @__PURE__ */ new Map(), this.tokensLength = 0;
    }
    get strict() {
      return (this.flags & 1) > 0;
    }
    set strict(e) {
      e ? this.flags |= 1 : this.flags &= -2;
    }
    init({
      strictMode: e,
      sourceType: s,
      startIndex: r,
      startLine: i,
      startColumn: a
    }) {
      this.strict = e === !1 ? !1 : e === !0 ? !0 : s === "module", this.startIndex = r, this.curLine = i, this.lineStart = -a, this.startLoc =
      this.endLoc = new rl(i, a, r);
    }
    get maybeInArrowParameters() {
      return (this.flags & 2) > 0;
    }
    set maybeInArrowParameters(e) {
      e ? this.flags |= 2 : this.flags &= -3;
    }
    get inType() {
      return (this.flags & 4) > 0;
    }
    set inType(e) {
      e ? this.flags |= 4 : this.flags &= -5;
    }
    get noAnonFunctionType() {
      return (this.flags & 8) > 0;
    }
    set noAnonFunctionType(e) {
      e ? this.flags |= 8 : this.flags &= -9;
    }
    get hasFlowComment() {
      return (this.flags & 16) > 0;
    }
    set hasFlowComment(e) {
      e ? this.flags |= 16 : this.flags &= -17;
    }
    get isAmbientContext() {
      return (this.flags & 32) > 0;
    }
    set isAmbientContext(e) {
      e ? this.flags |= 32 : this.flags &= -33;
    }
    get inAbstractClass() {
      return (this.flags & 64) > 0;
    }
    set inAbstractClass(e) {
      e ? this.flags |= 64 : this.flags &= -65;
    }
    get inDisallowConditionalTypesContext() {
      return (this.flags & 128) > 0;
    }
    set inDisallowConditionalTypesContext(e) {
      e ? this.flags |= 128 : this.flags &= -129;
    }
    get soloAwait() {
      return (this.flags & 256) > 0;
    }
    set soloAwait(e) {
      e ? this.flags |= 256 : this.flags &= -257;
    }
    get inFSharpPipelineDirectBody() {
      return (this.flags & 512) > 0;
    }
    set inFSharpPipelineDirectBody(e) {
      e ? this.flags |= 512 : this.flags &= -513;
    }
    get canStartJSXElement() {
      return (this.flags & 1024) > 0;
    }
    set canStartJSXElement(e) {
      e ? this.flags |= 1024 : this.flags &= -1025;
    }
    get containsEsc() {
      return (this.flags & 2048) > 0;
    }
    set containsEsc(e) {
      e ? this.flags |= 2048 : this.flags &= -2049;
    }
    get hasTopLevelAwait() {
      return (this.flags & 4096) > 0;
    }
    set hasTopLevelAwait(e) {
      e ? this.flags |= 4096 : this.flags &= -4097;
    }
    curPosition() {
      return new rl(this.curLine, this.pos - this.lineStart, this.pos + this.startIndex);
    }
    clone() {
      let e = new t();
      return e.flags = this.flags, e.startIndex = this.startIndex, e.curLine = this.curLine, e.lineStart = this.lineStart, e.startLoc = this.
      startLoc, e.endLoc = this.endLoc, e.errors = this.errors.slice(), e.potentialArrowAt = this.potentialArrowAt, e.noArrowAt = this.noArrowAt.
      slice(), e.noArrowParamsConversionAt = this.noArrowParamsConversionAt.slice(), e.topicContext = this.topicContext, e.labels = this.labels.
      slice(), e.commentsLen = this.commentsLen, e.commentStack = this.commentStack.slice(), e.pos = this.pos, e.type = this.type, e.value =
      this.value, e.start = this.start, e.end = this.end, e.lastTokEndLoc = this.lastTokEndLoc, e.lastTokStartLoc = this.lastTokStartLoc, e.
      context = this.context.slice(), e.firstInvalidTemplateEscapePos = this.firstInvalidTemplateEscapePos, e.strictErrors = this.strictErrors,
      e.tokensLength = this.tokensLength, e;
    }
  }, aVe = /* @__PURE__ */ n(function(e) {
    return e >= 48 && e <= 57;
  }, "isDigit"), l$ = {
    decBinOct: /* @__PURE__ */ new Set([46, 66, 69, 79, 95, 98, 101, 111]),
    hex: /* @__PURE__ */ new Set([46, 88, 95, 120])
  }, Wx = {
    bin: /* @__PURE__ */ n((t) => t === 48 || t === 49, "bin"),
    oct: /* @__PURE__ */ n((t) => t >= 48 && t <= 55, "oct"),
    dec: /* @__PURE__ */ n((t) => t >= 48 && t <= 57, "dec"),
    hex: /* @__PURE__ */ n((t) => t >= 48 && t <= 57 || t >= 65 && t <= 70 || t >= 97 && t <= 102, "hex")
  };
  function u$(t, e, s, r, i, a) {
    let o = s, l = r, u = i, c = "", p = null, h = s, {
      length: f
    } = e;
    for (; ; ) {
      if (s >= f) {
        a.unterminated(o, l, u), c += e.slice(h, s);
        break;
      }
      let d = e.charCodeAt(s);
      if (oVe(t, d, e, s)) {
        c += e.slice(h, s);
        break;
      }
      if (d === 92) {
        c += e.slice(h, s);
        let m = lVe(e, s, r, i, t === "template", a);
        m.ch === null && !p ? p = {
          pos: s,
          lineStart: r,
          curLine: i
        } : c += m.ch, {
          pos: s,
          lineStart: r,
          curLine: i
        } = m, h = s;
      } else d === 8232 || d === 8233 ? (++s, ++i, r = s) : d === 10 || d === 13 ? t === "template" ? (c += e.slice(h, s) + `
`, ++s, d === 13 && e.charCodeAt(s) === 10 && ++s, ++i, h = r = s) : a.unterminated(o, l, u) : ++s;
    }
    return {
      pos: s,
      str: c,
      firstInvalidLoc: p,
      lineStart: r,
      curLine: i,
      containsInvalid: !!p
    };
  }
  n(u$, "readStringContents");
  function oVe(t, e, s, r) {
    return t === "template" ? e === 96 || e === 36 && s.charCodeAt(r + 1) === 123 : e === (t === "double" ? 34 : 39);
  }
  n(oVe, "isStringEnd");
  function lVe(t, e, s, r, i, a) {
    let o = !i;
    e++;
    let l = /* @__PURE__ */ n((c) => ({
      pos: e,
      ch: c,
      lineStart: s,
      curLine: r
    }), "res"), u = t.charCodeAt(e++);
    switch (u) {
      case 110:
        return l(`
`);
      case 114:
        return l("\r");
      case 120: {
        let c;
        return {
          code: c,
          pos: e
        } = Lk(t, e, s, r, 2, !1, o, a), l(c === null ? null : String.fromCharCode(c));
      }
      case 117: {
        let c;
        return {
          code: c,
          pos: e
        } = C$(t, e, s, r, o, a), l(c === null ? null : String.fromCodePoint(c));
      }
      case 116:
        return l("	");
      case 98:
        return l("\b");
      case 118:
        return l("\v");
      case 102:
        return l("\f");
      case 13:
        t.charCodeAt(e) === 10 && ++e;
      case 10:
        s = e, ++r;
      case 8232:
      case 8233:
        return l("");
      case 56:
      case 57:
        if (i)
          return l(null);
        a.strictNumericEscape(e - 1, s, r);
      default:
        if (u >= 48 && u <= 55) {
          let c = e - 1, h = /^[0-7]+/.exec(t.slice(c, e + 2))[0], f = parseInt(h, 8);
          f > 255 && (h = h.slice(0, -1), f = parseInt(h, 8)), e += h.length - 1;
          let d = t.charCodeAt(e);
          if (h !== "0" || d === 56 || d === 57) {
            if (i)
              return l(null);
            a.strictNumericEscape(c, s, r);
          }
          return l(String.fromCharCode(f));
        }
        return l(String.fromCharCode(u));
    }
  }
  n(lVe, "readEscapedChar");
  function Lk(t, e, s, r, i, a, o, l) {
    let u = e, c;
    return {
      n: c,
      pos: e
    } = v$(t, e, s, r, 16, i, a, !1, l, !o), c === null && (o ? l.invalidEscapeSequence(u, s, r) : e = u - 1), {
      code: c,
      pos: e
    };
  }
  n(Lk, "readHexChar");
  function v$(t, e, s, r, i, a, o, l, u, c) {
    let p = e, h = i === 16 ? l$.hex : l$.decBinOct, f = i === 16 ? Wx.hex : i === 10 ? Wx.dec : i === 8 ? Wx.oct : Wx.bin, d = !1, m = 0;
    for (let y = 0, T = a ?? 1 / 0; y < T; ++y) {
      let b = t.charCodeAt(e), E;
      if (b === 95 && l !== "bail") {
        let V = t.charCodeAt(e - 1), W = t.charCodeAt(e + 1);
        if (l) {
          if (Number.isNaN(W) || !f(W) || h.has(V) || h.has(W)) {
            if (c) return {
              n: null,
              pos: e
            };
            u.unexpectedNumericSeparator(e, s, r);
          }
        } else {
          if (c) return {
            n: null,
            pos: e
          };
          u.numericSeparatorInEscapeSequence(e, s, r);
        }
        ++e;
        continue;
      }
      if (b >= 97 ? E = b - 97 + 10 : b >= 65 ? E = b - 65 + 10 : aVe(b) ? E = b - 48 : E = 1 / 0, E >= i) {
        if (E <= 9 && c)
          return {
            n: null,
            pos: e
          };
        if (E <= 9 && u.invalidDigit(e, s, r, i))
          E = 0;
        else if (o)
          E = 0, d = !0;
        else
          break;
      }
      ++e, m = m * i + E;
    }
    return e === p || a != null && e - p !== a || d ? {
      n: null,
      pos: e
    } : {
      n: m,
      pos: e
    };
  }
  n(v$, "readInt");
  function C$(t, e, s, r, i, a) {
    let o = t.charCodeAt(e), l;
    if (o === 123) {
      if (++e, {
        code: l,
        pos: e
      } = Lk(t, e, s, r, t.indexOf("}", e) - e, !0, i, a), ++e, l !== null && l > 1114111)
        if (i)
          a.invalidCodePoint(e, s, r);
        else
          return {
            code: null,
            pos: e
          };
    } else
      ({
        code: l,
        pos: e
      } = Lk(t, e, s, r, 4, !1, i, a));
    return {
      code: l,
      pos: e
    };
  }
  n(C$, "readCodePoint");
  function gg(t, e, s) {
    return new rl(s, t - e, t);
  }
  n(gg, "buildPosition");
  var uVe = /* @__PURE__ */ new Set([103, 109, 115, 105, 121, 117, 100, 118]), sl = class {
    static {
      n(this, "Token");
    }
    constructor(e) {
      let s = e.startIndex || 0;
      this.type = e.type, this.value = e.value, this.start = s + e.start, this.end = s + e.end, this.loc = new Ed(e.startLoc, e.endLoc);
    }
  }, Bk = class extends Ok {
    static {
      n(this, "Tokenizer");
    }
    constructor(e, s) {
      super(), this.isLookahead = void 0, this.tokens = [], this.errorHandlers_readInt = {
        invalidDigit: /* @__PURE__ */ n((r, i, a, o) => this.optionFlags & 1024 ? (this.raise(Q.InvalidDigit, gg(r, i, a), {
          radix: o
        }), !0) : !1, "invalidDigit"),
        numericSeparatorInEscapeSequence: this.errorBuilder(Q.NumericSeparatorInEscapeSequence),
        unexpectedNumericSeparator: this.errorBuilder(Q.UnexpectedNumericSeparator)
      }, this.errorHandlers_readCodePoint = Object.assign({}, this.errorHandlers_readInt, {
        invalidEscapeSequence: this.errorBuilder(Q.InvalidEscapeSequence),
        invalidCodePoint: this.errorBuilder(Q.InvalidCodePoint)
      }), this.errorHandlers_readStringContents_string = Object.assign({}, this.errorHandlers_readCodePoint, {
        strictNumericEscape: /* @__PURE__ */ n((r, i, a) => {
          this.recordStrictModeErrors(Q.StrictNumericEscape, gg(r, i, a));
        }, "strictNumericEscape"),
        unterminated: /* @__PURE__ */ n((r, i, a) => {
          throw this.raise(Q.UnterminatedString, gg(r - 1, i, a));
        }, "unterminated")
      }), this.errorHandlers_readStringContents_template = Object.assign({}, this.errorHandlers_readCodePoint, {
        strictNumericEscape: this.errorBuilder(Q.StrictNumericEscape),
        unterminated: /* @__PURE__ */ n((r, i, a) => {
          throw this.raise(Q.UnterminatedTemplate, gg(r, i, a));
        }, "unterminated")
      }), this.state = new _k(), this.state.init(e), this.input = s, this.length = s.length, this.comments = [], this.isLookahead = !1;
    }
    pushToken(e) {
      this.tokens.length = this.state.tokensLength, this.tokens.push(e), ++this.state.tokensLength;
    }
    next() {
      this.checkKeywordEscapes(), this.optionFlags & 128 && this.pushToken(new sl(this.state)), this.state.lastTokEndLoc = this.state.endLoc,
      this.state.lastTokStartLoc = this.state.startLoc, this.nextToken();
    }
    eat(e) {
      return this.match(e) ? (this.next(), !0) : !1;
    }
    match(e) {
      return this.state.type === e;
    }
    createLookaheadState(e) {
      return {
        pos: e.pos,
        value: null,
        type: e.type,
        start: e.start,
        end: e.end,
        context: [this.curContext()],
        inType: e.inType,
        startLoc: e.startLoc,
        lastTokEndLoc: e.lastTokEndLoc,
        curLine: e.curLine,
        lineStart: e.lineStart,
        curPosition: e.curPosition
      };
    }
    lookahead() {
      let e = this.state;
      this.state = this.createLookaheadState(e), this.isLookahead = !0, this.nextToken(), this.isLookahead = !1;
      let s = this.state;
      return this.state = e, s;
    }
    nextTokenStart() {
      return this.nextTokenStartSince(this.state.pos);
    }
    nextTokenStartSince(e) {
      return Ek.lastIndex = e, Ek.test(this.input) ? Ek.lastIndex : e;
    }
    lookaheadCharCode() {
      return this.input.charCodeAt(this.nextTokenStart());
    }
    nextTokenInLineStart() {
      return this.nextTokenInLineStartSince(this.state.pos);
    }
    nextTokenInLineStartSince(e) {
      return Ak.lastIndex = e, Ak.test(this.input) ? Ak.lastIndex : e;
    }
    lookaheadInLineCharCode() {
      return this.input.charCodeAt(this.nextTokenInLineStart());
    }
    codePointAtPos(e) {
      let s = this.input.charCodeAt(e);
      if ((s & 64512) === 55296 && ++e < this.input.length) {
        let r = this.input.charCodeAt(e);
        (r & 64512) === 56320 && (s = 65536 + ((s & 1023) << 10) + (r & 1023));
      }
      return s;
    }
    setStrict(e) {
      this.state.strict = e, e && (this.state.strictErrors.forEach(([s, r]) => this.raise(s, r)), this.state.strictErrors.clear());
    }
    curContext() {
      return this.state.context[this.state.context.length - 1];
    }
    nextToken() {
      if (this.skipSpace(), this.state.start = this.state.pos, this.isLookahead || (this.state.startLoc = this.state.curPosition()), this.state.
      pos >= this.length) {
        this.finishToken(140);
        return;
      }
      this.getTokenFromCode(this.codePointAtPos(this.state.pos));
    }
    skipBlockComment(e) {
      let s;
      this.isLookahead || (s = this.state.curPosition());
      let r = this.state.pos, i = this.input.indexOf(e, r + 2);
      if (i === -1)
        throw this.raise(Q.UnterminatedComment, this.state.curPosition());
      for (this.state.pos = i + e.length, Vx.lastIndex = r + 2; Vx.test(this.input) && Vx.lastIndex <= i; )
        ++this.state.curLine, this.state.lineStart = Vx.lastIndex;
      if (this.isLookahead) return;
      let a = {
        type: "CommentBlock",
        value: this.input.slice(r + 2, i),
        start: this.sourceToOffsetPos(r),
        end: this.sourceToOffsetPos(i + e.length),
        loc: new Ed(s, this.state.curPosition())
      };
      return this.optionFlags & 128 && this.pushToken(a), a;
    }
    skipLineComment(e) {
      let s = this.state.pos, r;
      this.isLookahead || (r = this.state.curPosition());
      let i = this.input.charCodeAt(this.state.pos += e);
      if (this.state.pos < this.length)
        for (; !Sd(i) && ++this.state.pos < this.length; )
          i = this.input.charCodeAt(this.state.pos);
      if (this.isLookahead) return;
      let a = this.state.pos, l = {
        type: "CommentLine",
        value: this.input.slice(s + e, a),
        start: this.sourceToOffsetPos(s),
        end: this.sourceToOffsetPos(a),
        loc: new Ed(r, this.state.curPosition())
      };
      return this.optionFlags & 128 && this.pushToken(l), l;
    }
    skipSpace() {
      let e = this.state.pos, s = this.optionFlags & 2048 ? [] : null;
      e: for (; this.state.pos < this.length; ) {
        let r = this.input.charCodeAt(this.state.pos);
        switch (r) {
          case 32:
          case 160:
          case 9:
            ++this.state.pos;
            break;
          case 13:
            this.input.charCodeAt(this.state.pos + 1) === 10 && ++this.state.pos;
          case 10:
          case 8232:
          case 8233:
            ++this.state.pos, ++this.state.curLine, this.state.lineStart = this.state.pos;
            break;
          case 47:
            switch (this.input.charCodeAt(this.state.pos + 1)) {
              case 42: {
                let i = this.skipBlockComment("*/");
                i !== void 0 && (this.addComment(i), s?.push(i));
                break;
              }
              case 47: {
                let i = this.skipLineComment(2);
                i !== void 0 && (this.addComment(i), s?.push(i));
                break;
              }
              default:
                break e;
            }
            break;
          default:
            if (nVe(r))
              ++this.state.pos;
            else if (r === 45 && !this.inModule && this.optionFlags & 4096) {
              let i = this.state.pos;
              if (this.input.charCodeAt(i + 1) === 45 && this.input.charCodeAt(i + 2) === 62 && (e === 0 || this.state.lineStart > e)) {
                let a = this.skipLineComment(3);
                a !== void 0 && (this.addComment(a), s?.push(a));
              } else
                break e;
            } else if (r === 60 && !this.inModule && this.optionFlags & 4096) {
              let i = this.state.pos;
              if (this.input.charCodeAt(i + 1) === 33 && this.input.charCodeAt(i + 2) === 45 && this.input.charCodeAt(i + 3) === 45) {
                let a = this.skipLineComment(4);
                a !== void 0 && (this.addComment(a), s?.push(a));
              } else
                break e;
            } else
              break e;
        }
      }
      if (s?.length > 0) {
        let r = this.state.pos, i = {
          start: this.sourceToOffsetPos(e),
          end: this.sourceToOffsetPos(r),
          comments: s,
          leadingNode: null,
          trailingNode: null,
          containingNode: null
        };
        this.state.commentStack.push(i);
      }
    }
    finishToken(e, s) {
      this.state.end = this.state.pos, this.state.endLoc = this.state.curPosition();
      let r = this.state.type;
      this.state.type = e, this.state.value = s, this.isLookahead || this.updateContext(r);
    }
    replaceToken(e) {
      this.state.type = e, this.updateContext();
    }
    readToken_numberSign() {
      if (this.state.pos === 0 && this.readToken_interpreter())
        return;
      let e = this.state.pos + 1, s = this.codePointAtPos(e);
      if (s >= 48 && s <= 57)
        throw this.raise(Q.UnexpectedDigitAfterHash, this.state.curPosition());
      if (s === 123 || s === 91 && this.hasPlugin("recordAndTuple")) {
        if (this.expectPlugin("recordAndTuple"), this.getPluginOption("recordAndTuple", "syntaxType") === "bar")
          throw this.raise(s === 123 ? Q.RecordExpressionHashIncorrectStartSyntaxType : Q.TupleExpressionHashIncorrectStartSyntaxType, this.
          state.curPosition());
        this.state.pos += 2, s === 123 ? this.finishToken(7) : this.finishToken(1);
      } else eu(s) ? (++this.state.pos, this.finishToken(139, this.readWord1(s))) : s === 92 ? (++this.state.pos, this.finishToken(139, this.
      readWord1())) : this.finishOp(27, 1);
    }
    readToken_dot() {
      let e = this.input.charCodeAt(this.state.pos + 1);
      if (e >= 48 && e <= 57) {
        this.readNumber(!0);
        return;
      }
      e === 46 && this.input.charCodeAt(this.state.pos + 2) === 46 ? (this.state.pos += 3, this.finishToken(21)) : (++this.state.pos, this.finishToken(
      16));
    }
    readToken_slash() {
      this.input.charCodeAt(this.state.pos + 1) === 61 ? this.finishOp(31, 2) : this.finishOp(56, 1);
    }
    readToken_interpreter() {
      if (this.state.pos !== 0 || this.length < 2) return !1;
      let e = this.input.charCodeAt(this.state.pos + 1);
      if (e !== 33) return !1;
      let s = this.state.pos;
      for (this.state.pos += 1; !Sd(e) && ++this.state.pos < this.length; )
        e = this.input.charCodeAt(this.state.pos);
      let r = this.input.slice(s + 2, this.state.pos);
      return this.finishToken(28, r), !0;
    }
    readToken_mult_modulo(e) {
      let s = e === 42 ? 55 : 54, r = 1, i = this.input.charCodeAt(this.state.pos + 1);
      e === 42 && i === 42 && (r++, i = this.input.charCodeAt(this.state.pos + 2), s = 57), i === 61 && !this.state.inType && (r++, s = e ===
      37 ? 33 : 30), this.finishOp(s, r);
    }
    readToken_pipe_amp(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === e) {
        this.input.charCodeAt(this.state.pos + 2) === 61 ? this.finishOp(30, 3) : this.finishOp(e === 124 ? 41 : 42, 2);
        return;
      }
      if (e === 124) {
        if (s === 62) {
          this.finishOp(39, 2);
          return;
        }
        if (this.hasPlugin("recordAndTuple") && s === 125) {
          if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
            throw this.raise(Q.RecordExpressionBarIncorrectEndSyntaxType, this.state.curPosition());
          this.state.pos += 2, this.finishToken(9);
          return;
        }
        if (this.hasPlugin("recordAndTuple") && s === 93) {
          if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
            throw this.raise(Q.TupleExpressionBarIncorrectEndSyntaxType, this.state.curPosition());
          this.state.pos += 2, this.finishToken(4);
          return;
        }
      }
      if (s === 61) {
        this.finishOp(30, 2);
        return;
      }
      this.finishOp(e === 124 ? 43 : 45, 1);
    }
    readToken_caret() {
      let e = this.input.charCodeAt(this.state.pos + 1);
      e === 61 && !this.state.inType ? this.finishOp(32, 2) : e === 94 && this.hasPlugin(["pipelineOperator", {
        proposal: "hack",
        topicToken: "^^"
      }]) ? (this.finishOp(37, 2), this.input.codePointAt(this.state.pos) === 94 && this.unexpected()) : this.finishOp(44, 1);
    }
    readToken_atSign() {
      this.input.charCodeAt(this.state.pos + 1) === 64 && this.hasPlugin(["pipelineOperator", {
        proposal: "hack",
        topicToken: "@@"
      }]) ? this.finishOp(38, 2) : this.finishOp(26, 1);
    }
    readToken_plus_min(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === e) {
        this.finishOp(34, 2);
        return;
      }
      s === 61 ? this.finishOp(30, 2) : this.finishOp(53, 1);
    }
    readToken_lt() {
      let {
        pos: e
      } = this.state, s = this.input.charCodeAt(e + 1);
      if (s === 60) {
        if (this.input.charCodeAt(e + 2) === 61) {
          this.finishOp(30, 3);
          return;
        }
        this.finishOp(51, 2);
        return;
      }
      if (s === 61) {
        this.finishOp(49, 2);
        return;
      }
      this.finishOp(47, 1);
    }
    readToken_gt() {
      let {
        pos: e
      } = this.state, s = this.input.charCodeAt(e + 1);
      if (s === 62) {
        let r = this.input.charCodeAt(e + 2) === 62 ? 3 : 2;
        if (this.input.charCodeAt(e + r) === 61) {
          this.finishOp(30, r + 1);
          return;
        }
        this.finishOp(52, r);
        return;
      }
      if (s === 61) {
        this.finishOp(49, 2);
        return;
      }
      this.finishOp(48, 1);
    }
    readToken_eq_excl(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === 61) {
        this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2);
        return;
      }
      if (e === 61 && s === 62) {
        this.state.pos += 2, this.finishToken(19);
        return;
      }
      this.finishOp(e === 61 ? 29 : 35, 1);
    }
    readToken_question() {
      let e = this.input.charCodeAt(this.state.pos + 1), s = this.input.charCodeAt(this.state.pos + 2);
      e === 63 ? s === 61 ? this.finishOp(30, 3) : this.finishOp(40, 2) : e === 46 && !(s >= 48 && s <= 57) ? (this.state.pos += 2, this.finishToken(
      18)) : (++this.state.pos, this.finishToken(17));
    }
    getTokenFromCode(e) {
      switch (e) {
        case 46:
          this.readToken_dot();
          return;
        case 40:
          ++this.state.pos, this.finishToken(10);
          return;
        case 41:
          ++this.state.pos, this.finishToken(11);
          return;
        case 59:
          ++this.state.pos, this.finishToken(13);
          return;
        case 44:
          ++this.state.pos, this.finishToken(12);
          return;
        case 91:
          if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
            if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
              throw this.raise(Q.TupleExpressionBarIncorrectStartSyntaxType, this.state.curPosition());
            this.state.pos += 2, this.finishToken(2);
          } else
            ++this.state.pos, this.finishToken(0);
          return;
        case 93:
          ++this.state.pos, this.finishToken(3);
          return;
        case 123:
          if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
            if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
              throw this.raise(Q.RecordExpressionBarIncorrectStartSyntaxType, this.state.curPosition());
            this.state.pos += 2, this.finishToken(6);
          } else
            ++this.state.pos, this.finishToken(5);
          return;
        case 125:
          ++this.state.pos, this.finishToken(8);
          return;
        case 58:
          this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58 ? this.finishOp(15, 2) : (++this.state.pos, this.
          finishToken(14));
          return;
        case 63:
          this.readToken_question();
          return;
        case 96:
          this.readTemplateToken();
          return;
        case 48: {
          let s = this.input.charCodeAt(this.state.pos + 1);
          if (s === 120 || s === 88) {
            this.readRadixNumber(16);
            return;
          }
          if (s === 111 || s === 79) {
            this.readRadixNumber(8);
            return;
          }
          if (s === 98 || s === 66) {
            this.readRadixNumber(2);
            return;
          }
        }
        case 49:
        case 50:
        case 51:
        case 52:
        case 53:
        case 54:
        case 55:
        case 56:
        case 57:
          this.readNumber(!1);
          return;
        case 34:
        case 39:
          this.readString(e);
          return;
        case 47:
          this.readToken_slash();
          return;
        case 37:
        case 42:
          this.readToken_mult_modulo(e);
          return;
        case 124:
        case 38:
          this.readToken_pipe_amp(e);
          return;
        case 94:
          this.readToken_caret();
          return;
        case 43:
        case 45:
          this.readToken_plus_min(e);
          return;
        case 60:
          this.readToken_lt();
          return;
        case 62:
          this.readToken_gt();
          return;
        case 61:
        case 33:
          this.readToken_eq_excl(e);
          return;
        case 126:
          this.finishOp(36, 1);
          return;
        case 64:
          this.readToken_atSign();
          return;
        case 35:
          this.readToken_numberSign();
          return;
        case 92:
          this.readWord();
          return;
        default:
          if (eu(e)) {
            this.readWord(e);
            return;
          }
      }
      throw this.raise(Q.InvalidOrUnexpectedToken, this.state.curPosition(), {
        unexpected: String.fromCodePoint(e)
      });
    }
    finishOp(e, s) {
      let r = this.input.slice(this.state.pos, this.state.pos + s);
      this.state.pos += s, this.finishToken(e, r);
    }
    readRegexp() {
      let e = this.state.startLoc, s = this.state.start + 1, r, i, {
        pos: a
      } = this.state;
      for (; ; ++a) {
        if (a >= this.length)
          throw this.raise(Q.UnterminatedRegExp, xn(e, 1));
        let c = this.input.charCodeAt(a);
        if (Sd(c))
          throw this.raise(Q.UnterminatedRegExp, xn(e, 1));
        if (r)
          r = !1;
        else {
          if (c === 91)
            i = !0;
          else if (c === 93 && i)
            i = !1;
          else if (c === 47 && !i)
            break;
          r = c === 92;
        }
      }
      let o = this.input.slice(s, a);
      ++a;
      let l = "", u = /* @__PURE__ */ n(() => xn(e, a + 2 - s), "nextPos");
      for (; a < this.length; ) {
        let c = this.codePointAtPos(a), p = String.fromCharCode(c);
        if (uVe.has(c))
          c === 118 ? l.includes("u") && this.raise(Q.IncompatibleRegExpUVFlags, u()) : c === 117 && l.includes("v") && this.raise(Q.IncompatibleRegExpUVFlags,
          u()), l.includes(p) && this.raise(Q.DuplicateRegExpFlags, u());
        else if (xd(c) || c === 92)
          this.raise(Q.MalformedRegExpFlags, u());
        else
          break;
        ++a, l += p;
      }
      this.state.pos = a, this.finishToken(138, {
        pattern: o,
        flags: l
      });
    }
    readInt(e, s, r = !1, i = !0) {
      let {
        n: a,
        pos: o
      } = v$(this.input, this.state.pos, this.state.lineStart, this.state.curLine, e, s, r, i, this.errorHandlers_readInt, !1);
      return this.state.pos = o, a;
    }
    readRadixNumber(e) {
      let s = this.state.pos, r = this.state.curPosition(), i = !1;
      this.state.pos += 2;
      let a = this.readInt(e);
      a == null && this.raise(Q.InvalidDigit, xn(r, 2), {
        radix: e
      });
      let o = this.input.charCodeAt(this.state.pos);
      if (o === 110)
        ++this.state.pos, i = !0;
      else if (o === 109)
        throw this.raise(Q.InvalidDecimal, r);
      if (eu(this.codePointAtPos(this.state.pos)))
        throw this.raise(Q.NumberIdentifier, this.state.curPosition());
      if (i) {
        let l = this.input.slice(s, this.state.pos).replace(/[_n]/g, "");
        this.finishToken(136, l);
        return;
      }
      this.finishToken(135, a);
    }
    readNumber(e) {
      let s = this.state.pos, r = this.state.curPosition(), i = !1, a = !1, o = !1, l = !1;
      !e && this.readInt(10) === null && this.raise(Q.InvalidNumber, this.state.curPosition());
      let u = this.state.pos - s >= 2 && this.input.charCodeAt(s) === 48;
      if (u) {
        let d = this.input.slice(s, this.state.pos);
        if (this.recordStrictModeErrors(Q.StrictOctalLiteral, r), !this.state.strict) {
          let m = d.indexOf("_");
          m > 0 && this.raise(Q.ZeroDigitNumericSeparator, xn(r, m));
        }
        l = u && !/[89]/.test(d);
      }
      let c = this.input.charCodeAt(this.state.pos);
      if (c === 46 && !l && (++this.state.pos, this.readInt(10), i = !0, c = this.input.charCodeAt(this.state.pos)), (c === 69 || c === 101) &&
      !l && (c = this.input.charCodeAt(++this.state.pos), (c === 43 || c === 45) && ++this.state.pos, this.readInt(10) === null && this.raise(
      Q.InvalidOrMissingExponent, r), i = !0, o = !0, c = this.input.charCodeAt(this.state.pos)), c === 110 && ((i || u) && this.raise(Q.InvalidBigIntLiteral,
      r), ++this.state.pos, a = !0), c === 109) {
        this.expectPlugin("decimal", this.state.curPosition()), (o || u) && this.raise(Q.InvalidDecimal, r), ++this.state.pos;
        var p = !0;
      }
      if (eu(this.codePointAtPos(this.state.pos)))
        throw this.raise(Q.NumberIdentifier, this.state.curPosition());
      let h = this.input.slice(s, this.state.pos).replace(/[_mn]/g, "");
      if (a) {
        this.finishToken(136, h);
        return;
      }
      if (p) {
        this.finishToken(137, h);
        return;
      }
      let f = l ? parseInt(h, 8) : parseFloat(h);
      this.finishToken(135, f);
    }
    readCodePoint(e) {
      let {
        code: s,
        pos: r
      } = C$(this.input, this.state.pos, this.state.lineStart, this.state.curLine, e, this.errorHandlers_readCodePoint);
      return this.state.pos = r, s;
    }
    readString(e) {
      let {
        str: s,
        pos: r,
        curLine: i,
        lineStart: a
      } = u$(e === 34 ? "double" : "single", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_string);
      this.state.pos = r + 1, this.state.lineStart = a, this.state.curLine = i, this.finishToken(134, s);
    }
    readTemplateContinuation() {
      this.match(8) || this.unexpected(null, 8), this.state.pos--, this.readTemplateToken();
    }
    readTemplateToken() {
      let e = this.input[this.state.pos], {
        str: s,
        firstInvalidLoc: r,
        pos: i,
        curLine: a,
        lineStart: o
      } = u$("template", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_template);
      this.state.pos = i + 1, this.state.lineStart = o, this.state.curLine = a, r && (this.state.firstInvalidTemplateEscapePos = new rl(r.curLine,
      r.pos - r.lineStart, this.sourceToOffsetPos(r.pos))), this.input.codePointAt(i) === 96 ? this.finishToken(24, r ? null : e + s + "`") :
      (this.state.pos++, this.finishToken(25, r ? null : e + s + "${"));
    }
    recordStrictModeErrors(e, s) {
      let r = s.index;
      this.state.strict && !this.state.strictErrors.has(r) ? this.raise(e, s) : this.state.strictErrors.set(r, [e, s]);
    }
    readWord1(e) {
      this.state.containsEsc = !1;
      let s = "", r = this.state.pos, i = this.state.pos;
      for (e !== void 0 && (this.state.pos += e <= 65535 ? 1 : 2); this.state.pos < this.length; ) {
        let a = this.codePointAtPos(this.state.pos);
        if (xd(a))
          this.state.pos += a <= 65535 ? 1 : 2;
        else if (a === 92) {
          this.state.containsEsc = !0, s += this.input.slice(i, this.state.pos);
          let o = this.state.curPosition(), l = this.state.pos === r ? eu : xd;
          if (this.input.charCodeAt(++this.state.pos) !== 117) {
            this.raise(Q.MissingUnicodeEscape, this.state.curPosition()), i = this.state.pos - 1;
            continue;
          }
          ++this.state.pos;
          let u = this.readCodePoint(!0);
          u !== null && (l(u) || this.raise(Q.EscapedCharNotAnIdentifier, o), s += String.fromCodePoint(u)), i = this.state.pos;
        } else
          break;
      }
      return s + this.input.slice(i, this.state.pos);
    }
    readWord(e) {
      let s = this.readWord1(e), r = Jk.get(s);
      r !== void 0 ? this.finishToken(r, Uc(r)) : this.finishToken(132, s);
    }
    checkKeywordEscapes() {
      let {
        type: e
      } = this.state;
      Zk(e) && this.state.containsEsc && this.raise(Q.InvalidEscapedReservedWord, this.state.startLoc, {
        reservedWord: Uc(e)
      });
    }
    raise(e, s, r = {}) {
      let i = s instanceof rl ? s : s.loc.start, a = e(i, r);
      if (!(this.optionFlags & 1024)) throw a;
      return this.isLookahead || this.state.errors.push(a), a;
    }
    raiseOverwrite(e, s, r = {}) {
      let i = s instanceof rl ? s : s.loc.start, a = i.index, o = this.state.errors;
      for (let l = o.length - 1; l >= 0; l--) {
        let u = o[l];
        if (u.loc.index === a)
          return o[l] = e(i, r);
        if (u.loc.index < a) break;
      }
      return this.raise(e, s, r);
    }
    updateContext(e) {
    }
    unexpected(e, s) {
      throw this.raise(Q.UnexpectedToken, e ?? this.state.startLoc, {
        expected: s ? Uc(s) : null
      });
    }
    expectPlugin(e, s) {
      if (this.hasPlugin(e))
        return !0;
      throw this.raise(Q.MissingPlugin, s ?? this.state.startLoc, {
        missingPlugin: [e]
      });
    }
    expectOnePlugin(e) {
      if (!e.some((s) => this.hasPlugin(s)))
        throw this.raise(Q.MissingOneOfPlugins, this.state.startLoc, {
          missingPlugin: e
        });
    }
    errorBuilder(e) {
      return (s, r, i) => {
        this.raise(e, gg(s, r, i));
      };
    }
  }, Mk = class {
    static {
      n(this, "ClassScope");
    }
    constructor() {
      this.privateNames = /* @__PURE__ */ new Set(), this.loneAccessors = /* @__PURE__ */ new Map(), this.undefinedPrivateNames = /* @__PURE__ */ new Map();
    }
  }, Fk = class {
    static {
      n(this, "ClassScopeHandler");
    }
    constructor(e) {
      this.parser = void 0, this.stack = [], this.undefinedPrivateNames = /* @__PURE__ */ new Map(), this.parser = e;
    }
    current() {
      return this.stack[this.stack.length - 1];
    }
    enter() {
      this.stack.push(new Mk());
    }
    exit() {
      let e = this.stack.pop(), s = this.current();
      for (let [r, i] of Array.from(e.undefinedPrivateNames))
        s ? s.undefinedPrivateNames.has(r) || s.undefinedPrivateNames.set(r, i) : this.parser.raise(Q.InvalidPrivateFieldResolution, i, {
          identifierName: r
        });
    }
    declarePrivateName(e, s, r) {
      let {
        privateNames: i,
        loneAccessors: a,
        undefinedPrivateNames: o
      } = this.current(), l = i.has(e);
      if (s & 3) {
        let u = l && a.get(e);
        if (u) {
          let c = u & 4, p = s & 4, h = u & 3, f = s & 3;
          l = h === f || c !== p, l || a.delete(e);
        } else l || a.set(e, s);
      }
      l && this.parser.raise(Q.PrivateNameRedeclaration, r, {
        identifierName: e
      }), i.add(e), o.delete(e);
    }
    usePrivateName(e, s) {
      let r;
      for (r of this.stack)
        if (r.privateNames.has(e)) return;
      r ? r.undefinedPrivateNames.set(e, s) : this.parser.raise(Q.InvalidPrivateFieldResolution, s, {
        identifierName: e
      });
    }
  }, Ad = class {
    static {
      n(this, "ExpressionScope");
    }
    constructor(e = 0) {
      this.type = e;
    }
    canBeArrowParameterDeclaration() {
      return this.type === 2 || this.type === 1;
    }
    isCertainlyParameterDeclaration() {
      return this.type === 3;
    }
  }, zx = class extends Ad {
    static {
      n(this, "ArrowHeadParsingScope");
    }
    constructor(e) {
      super(e), this.declarationErrors = /* @__PURE__ */ new Map();
    }
    recordDeclarationError(e, s) {
      let r = s.index;
      this.declarationErrors.set(r, [e, s]);
    }
    clearDeclarationError(e) {
      this.declarationErrors.delete(e);
    }
    iterateErrors(e) {
      this.declarationErrors.forEach(e);
    }
  }, jk = class {
    static {
      n(this, "ExpressionScopeHandler");
    }
    constructor(e) {
      this.parser = void 0, this.stack = [new Ad()], this.parser = e;
    }
    enter(e) {
      this.stack.push(e);
    }
    exit() {
      this.stack.pop();
    }
    recordParameterInitializerError(e, s) {
      let r = s.loc.start, {
        stack: i
      } = this, a = i.length - 1, o = i[a];
      for (; !o.isCertainlyParameterDeclaration(); ) {
        if (o.canBeArrowParameterDeclaration())
          o.recordDeclarationError(e, r);
        else
          return;
        o = i[--a];
      }
      this.parser.raise(e, r);
    }
    recordArrowParameterBindingError(e, s) {
      let {
        stack: r
      } = this, i = r[r.length - 1], a = s.loc.start;
      if (i.isCertainlyParameterDeclaration())
        this.parser.raise(e, a);
      else if (i.canBeArrowParameterDeclaration())
        i.recordDeclarationError(e, a);
      else
        return;
    }
    recordAsyncArrowParametersError(e) {
      let {
        stack: s
      } = this, r = s.length - 1, i = s[r];
      for (; i.canBeArrowParameterDeclaration(); )
        i.type === 2 && i.recordDeclarationError(Q.AwaitBindingIdentifier, e), i = s[--r];
    }
    validateAsPattern() {
      let {
        stack: e
      } = this, s = e[e.length - 1];
      s.canBeArrowParameterDeclaration() && s.iterateErrors(([r, i]) => {
        this.parser.raise(r, i);
        let a = e.length - 2, o = e[a];
        for (; o.canBeArrowParameterDeclaration(); )
          o.clearDeclarationError(i.index), o = e[--a];
      });
    }
  };
  function cVe() {
    return new Ad(3);
  }
  n(cVe, "newParameterDeclarationScope");
  function pVe() {
    return new zx(1);
  }
  n(pVe, "newArrowHeadScope");
  function hVe() {
    return new zx(2);
  }
  n(hVe, "newAsyncArrowScope");
  function w$() {
    return new Ad();
  }
  n(w$, "newExpressionScope");
  var Rk = class {
    static {
      n(this, "ProductionParameterHandler");
    }
    constructor() {
      this.stacks = [];
    }
    enter(e) {
      this.stacks.push(e);
    }
    exit() {
      this.stacks.pop();
    }
    currentFlags() {
      return this.stacks[this.stacks.length - 1];
    }
    get hasAwait() {
      return (this.currentFlags() & 2) > 0;
    }
    get hasYield() {
      return (this.currentFlags() & 1) > 0;
    }
    get hasReturn() {
      return (this.currentFlags() & 4) > 0;
    }
    get hasIn() {
      return (this.currentFlags() & 8) > 0;
    }
  };
  function Jx(t, e) {
    return (t ? 2 : 0) | (e ? 1 : 0);
  }
  n(Jx, "functionFlags");
  var qk = class extends Bk {
    static {
      n(this, "UtilParser");
    }
    addExtra(e, s, r, i = !0) {
      if (!e) return;
      let {
        extra: a
      } = e;
      a == null && (a = {}, e.extra = a), i ? a[s] = r : Object.defineProperty(a, s, {
        enumerable: i,
        value: r
      });
    }
    isContextual(e) {
      return this.state.type === e && !this.state.containsEsc;
    }
    isUnparsedContextual(e, s) {
      let r = e + s.length;
      if (this.input.slice(e, r) === s) {
        let i = this.input.charCodeAt(r);
        return !(xd(i) || (i & 64512) === 55296);
      }
      return !1;
    }
    isLookaheadContextual(e) {
      let s = this.nextTokenStart();
      return this.isUnparsedContextual(s, e);
    }
    eatContextual(e) {
      return this.isContextual(e) ? (this.next(), !0) : !1;
    }
    expectContextual(e, s) {
      if (!this.eatContextual(e)) {
        if (s != null)
          throw this.raise(s, this.state.startLoc);
        this.unexpected(null, e);
      }
    }
    canInsertSemicolon() {
      return this.match(140) || this.match(8) || this.hasPrecedingLineBreak();
    }
    hasPrecedingLineBreak() {
      return o$(this.input, this.offsetToSourcePos(this.state.lastTokEndLoc.index), this.state.start);
    }
    hasFollowingLineBreak() {
      return o$(this.input, this.state.end, this.nextTokenStart());
    }
    isLineTerminator() {
      return this.eat(13) || this.canInsertSemicolon();
    }
    semicolon(e = !0) {
      (e ? this.isLineTerminator() : this.eat(13)) || this.raise(Q.MissingSemicolon, this.state.lastTokEndLoc);
    }
    expect(e, s) {
      this.eat(e) || this.unexpected(s, e);
    }
    tryParse(e, s = this.state.clone()) {
      let r = {
        node: null
      };
      try {
        let i = e((a = null) => {
          throw r.node = a, r;
        });
        if (this.state.errors.length > s.errors.length) {
          let a = this.state;
          return this.state = s, this.state.tokensLength = a.tokensLength, {
            node: i,
            error: a.errors[s.errors.length],
            thrown: !1,
            aborted: !1,
            failState: a
          };
        }
        return {
          node: i,
          error: null,
          thrown: !1,
          aborted: !1,
          failState: null
        };
      } catch (i) {
        let a = this.state;
        if (this.state = s, i instanceof SyntaxError)
          return {
            node: null,
            error: i,
            thrown: !0,
            aborted: !1,
            failState: a
          };
        if (i === r)
          return {
            node: r.node,
            error: null,
            thrown: !1,
            aborted: !0,
            failState: a
          };
        throw i;
      }
    }
    checkExpressionErrors(e, s) {
      if (!e) return !1;
      let {
        shorthandAssignLoc: r,
        doubleProtoLoc: i,
        privateKeyLoc: a,
        optionalParametersLoc: o
      } = e, l = !!r || !!i || !!o || !!a;
      if (!s)
        return l;
      r != null && this.raise(Q.InvalidCoverInitializedName, r), i != null && this.raise(Q.DuplicateProto, i), a != null && this.raise(Q.UnexpectedPrivateField,
      a), o != null && this.unexpected(o);
    }
    isLiteralPropertyName() {
      return g$(this.state.type);
    }
    isPrivateName(e) {
      return e.type === "PrivateName";
    }
    getPrivateNameSV(e) {
      return e.id.name;
    }
    hasPropertyAsPrivateName(e) {
      return (e.type === "MemberExpression" || e.type === "OptionalMemberExpression") && this.isPrivateName(e.property);
    }
    isObjectProperty(e) {
      return e.type === "ObjectProperty";
    }
    isObjectMethod(e) {
      return e.type === "ObjectMethod";
    }
    initializeScopes(e = this.options.sourceType === "module") {
      let s = this.state.labels;
      this.state.labels = [];
      let r = this.exportedIdentifiers;
      this.exportedIdentifiers = /* @__PURE__ */ new Set();
      let i = this.inModule;
      this.inModule = e;
      let a = this.scope, o = this.getScopeHandler();
      this.scope = new o(this, e);
      let l = this.prodParam;
      this.prodParam = new Rk();
      let u = this.classScope;
      this.classScope = new Fk(this);
      let c = this.expressionScope;
      return this.expressionScope = new jk(this), () => {
        this.state.labels = s, this.exportedIdentifiers = r, this.inModule = i, this.scope = a, this.prodParam = l, this.classScope = u, this.
        expressionScope = c;
      };
    }
    enterInitialScopes() {
      let e = 0;
      this.inModule && (e |= 2), this.scope.enter(1), this.prodParam.enter(e);
    }
    checkDestructuringPrivate(e) {
      let {
        privateKeyLoc: s
      } = e;
      s !== null && this.expectPlugin("destructuringPrivate", s);
    }
  }, Pd = class {
    static {
      n(this, "ExpressionErrors");
    }
    constructor() {
      this.shorthandAssignLoc = null, this.doubleProtoLoc = null, this.privateKeyLoc = null, this.optionalParametersLoc = null;
    }
  }, vd = class {
    static {
      n(this, "Node");
    }
    constructor(e, s, r) {
      this.type = "", this.start = s, this.end = 0, this.loc = new Ed(r), e?.optionFlags & 64 && (this.range = [s, 0]), e != null && e.filename &&
      (this.loc.filename = e.filename);
    }
  }, sD = vd.prototype;
  sD.__clone = function() {
    let t = new vd(void 0, this.start, this.loc.start), e = Object.keys(this);
    for (let s = 0, r = e.length; s < r; s++) {
      let i = e[s];
      i !== "leadingComments" && i !== "trailingComments" && i !== "innerComments" && (t[i] = this[i]);
    }
    return t;
  };
  function fVe(t) {
    return su(t);
  }
  n(fVe, "clonePlaceholder");
  function su(t) {
    let {
      type: e,
      start: s,
      end: r,
      loc: i,
      range: a,
      extra: o,
      name: l
    } = t, u = Object.create(sD);
    return u.type = e, u.start = s, u.end = r, u.loc = i, u.range = a, u.extra = o, u.name = l, e === "Placeholder" && (u.expectedNode = t.expectedNode),
    u;
  }
  n(su, "cloneIdentifier");
  function dVe(t) {
    let {
      type: e,
      start: s,
      end: r,
      loc: i,
      range: a,
      extra: o
    } = t;
    if (e === "Placeholder")
      return fVe(t);
    let l = Object.create(sD);
    return l.type = e, l.start = s, l.end = r, l.loc = i, l.range = a, t.raw !== void 0 ? l.raw = t.raw : l.extra = o, l.value = t.value, l;
  }
  n(dVe, "cloneStringLiteral");
  var Uk = class extends qk {
    static {
      n(this, "NodeUtils");
    }
    startNode() {
      let e = this.state.startLoc;
      return new vd(this, e.index, e);
    }
    startNodeAt(e) {
      return new vd(this, e.index, e);
    }
    startNodeAtNode(e) {
      return this.startNodeAt(e.loc.start);
    }
    finishNode(e, s) {
      return this.finishNodeAt(e, s, this.state.lastTokEndLoc);
    }
    finishNodeAt(e, s, r) {
      return e.type = s, e.end = r.index, e.loc.end = r, this.optionFlags & 64 && (e.range[1] = r.index), this.optionFlags & 2048 && this.processComment(
      e), e;
    }
    resetStartLocation(e, s) {
      e.start = s.index, e.loc.start = s, this.optionFlags & 64 && (e.range[0] = s.index);
    }
    resetEndLocation(e, s = this.state.lastTokEndLoc) {
      e.end = s.index, e.loc.end = s, this.optionFlags & 64 && (e.range[1] = s.index);
    }
    resetStartLocationFromNode(e, s) {
      this.resetStartLocation(e, s.loc.start);
    }
  }, mVe = /* @__PURE__ */ new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "sta\
tic", "string", "true", "typeof", "void"]), _t = tu`flow`({
    AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",
    AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since \
they are either an ES module or they are a CommonJS module.",
    AssignReservedType: /* @__PURE__ */ n(({
      reservedType: t
    }) => `Cannot overwrite reserved type ${t}.`, "AssignReservedType"),
    DeclareClassElement: "The `declare` modifier can only appear on class fields.",
    DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.",
    DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.",
    EnumBooleanMemberNotInitialized: /* @__PURE__ */ n(({
      memberName: t,
      enumName: e
    }) => `Boolean enum members need to be initialized. Use either \`${t} = true,\` or \`${t} = false,\` in enum \`${e}\`.`, "EnumBooleanMem\
berNotInitialized"),
    EnumDuplicateMemberName: /* @__PURE__ */ n(({
      memberName: t,
      enumName: e
    }) => `Enum member names need to be unique, but the name \`${t}\` has already been used before in enum \`${e}\`.`, "EnumDuplicateMemberN\
ame"),
    EnumInconsistentMemberValues: /* @__PURE__ */ n(({
      enumName: t
    }) => `Enum \`${t}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, num\
bers, or strings) for all member initializers.`, "EnumInconsistentMemberValues"),
    EnumInvalidExplicitType: /* @__PURE__ */ n(({
      invalidEnumType: t,
      enumName: e
    }) => `Enum type \`${t}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${e}\`.`, "EnumInvalidEx\
plicitType"),
    EnumInvalidExplicitTypeUnknownSupplied: /* @__PURE__ */ n(({
      enumName: t
    }) => `Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${t}\`.`, "EnumInvalidEx\
plicitTypeUnknownSupplied"),
    EnumInvalidMemberInitializerPrimaryType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e,
      explicitType: s
    }) => `Enum \`${t}\` has type \`${s}\`, so the initializer of \`${e}\` needs to be a ${s} literal.`, "EnumInvalidMemberInitializerPrimar\
yType"),
    EnumInvalidMemberInitializerSymbolType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `Symbol enum members cannot be initialized. Use \`${e},\` in enum \`${t}\`.`, "EnumInvalidMemberInitializerSymbolType"),
    EnumInvalidMemberInitializerUnknownType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `The enum member initializer for \`${e}\` needs to be a literal (either a boolean, number, or string) in enum \`${t}\`.`, "EnumInv\
alidMemberInitializerUnknownType"),
    EnumInvalidMemberName: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e,
      suggestion: s
    }) => `Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${e}\`, consider using \`${s}\`, in enum \`${t}\
\`.`, "EnumInvalidMemberName"),
    EnumNumberMemberNotInitialized: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `Number enum members need to be initialized, e.g. \`${e} = 1\` in enum \`${t}\`.`, "EnumNumberMemberNotInitialized"),
    EnumStringMemberInconsistentlyInitialized: /* @__PURE__ */ n(({
      enumName: t
    }) => `String enum members need to consistently either all use initializers, or use no initializers, in enum \`${t}\`.`, "EnumStringMemb\
erInconsistentlyInitialized"),
    GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.",
    ImportReflectionHasImportType: "An `import module` declaration can not use `type` or `typeof` keyword.",
    ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements.\
 It cannot be used with `import type` or `import typeof` statements.",
    InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.",
    InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.",
    InexactVariance: "Explicit inexact syntax cannot have variance.",
    InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.",
    MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",
    NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.",
    NestedFlowComment: "Cannot have a flow comment inside another flow comment.",
    PatternIsOptional: Object.assign({
      message: "A binding pattern parameter cannot be optional in an implementation signature."
    }, {
      reasonCode: "OptionalBindingPattern"
    }),
    SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.",
    SpreadVariance: "Spread properties cannot have variance.",
    ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.",
    ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",
    ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.",
    ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.",
    ThisParamNoDefault: "The `this` parameter may not have a default value.",
    TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`\
.",
    TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.",
    UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.",
    UnexpectedReservedType: /* @__PURE__ */ n(({
      reservedType: t
    }) => `Unexpected reserved type ${t}.`, "UnexpectedReservedType"),
    UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.",
    UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.",
    UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.",
    UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".',
    UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.",
    UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}\
`, use `async <T>() => {}`.",
    UnsupportedDeclareExportKind: /* @__PURE__ */ n(({
      unsupportedExportKind: t,
      suggestion: e
    }) => `\`declare export ${t}\` is not supported. Use \`${e}\` instead.`, "UnsupportedDeclareExportKind"),
    UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.",
    UnterminatedFlowComment: "Unterminated flow-comment."
  });
  function yVe(t) {
    return t.type === "DeclareExportAllDeclaration" || t.type === "DeclareExportDeclaration" && (!t.declaration || t.declaration.type !== "T\
ypeAlias" && t.declaration.type !== "InterfaceDeclaration");
  }
  n(yVe, "isEsModuleType");
  function c$(t) {
    return t.importKind === "type" || t.importKind === "typeof";
  }
  n(c$, "hasTypeImportKind");
  var gVe = {
    const: "declare export var",
    let: "declare export var",
    type: "export type",
    interface: "export interface"
  };
  function TVe(t, e) {
    let s = [], r = [];
    for (let i = 0; i < t.length; i++)
      (e(t[i], i, t) ? s : r).push(t[i]);
    return [s, r];
  }
  n(TVe, "partition");
  var bVe = /\*?\s*@((?:no)?flow)\b/, xVe = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "FlowParserMixin");
    }
    constructor(...s) {
      super(...s), this.flowPragma = void 0;
    }
    getScopeHandler() {
      return kk;
    }
    shouldParseTypes() {
      return this.getPluginOption("flow", "all") || this.flowPragma === "flow";
    }
    finishToken(s, r) {
      s !== 134 && s !== 13 && s !== 28 && this.flowPragma === void 0 && (this.flowPragma = null), super.finishToken(s, r);
    }
    addComment(s) {
      if (this.flowPragma === void 0) {
        let r = bVe.exec(s.value);
        if (r) if (r[1] === "flow")
          this.flowPragma = "flow";
        else if (r[1] === "noflow")
          this.flowPragma = "noflow";
        else
          throw new Error("Unexpected flow pragma");
      }
      super.addComment(s);
    }
    flowParseTypeInitialiser(s) {
      let r = this.state.inType;
      this.state.inType = !0, this.expect(s || 14);
      let i = this.flowParseType();
      return this.state.inType = r, i;
    }
    flowParsePredicate() {
      let s = this.startNode(), r = this.state.startLoc;
      return this.next(), this.expectContextual(110), this.state.lastTokStartLoc.index > r.index + 1 && this.raise(_t.UnexpectedSpaceBetweenModuloChecks,
      r), this.eat(10) ? (s.value = super.parseExpression(), this.expect(11), this.finishNode(s, "DeclaredPredicate")) : this.finishNode(s, "\
InferredPredicate");
    }
    flowParseTypeAndPredicateInitialiser() {
      let s = this.state.inType;
      this.state.inType = !0, this.expect(14);
      let r = null, i = null;
      return this.match(54) ? (this.state.inType = s, i = this.flowParsePredicate()) : (r = this.flowParseType(), this.state.inType = s, this.
      match(54) && (i = this.flowParsePredicate())), [r, i];
    }
    flowParseDeclareClass(s) {
      return this.next(), this.flowParseInterfaceish(s, !0), this.finishNode(s, "DeclareClass");
    }
    flowParseDeclareFunction(s) {
      this.next();
      let r = s.id = this.parseIdentifier(), i = this.startNode(), a = this.startNode();
      this.match(47) ? i.typeParameters = this.flowParseTypeParameterDeclaration() : i.typeParameters = null, this.expect(10);
      let o = this.flowParseFunctionTypeParams();
      return i.params = o.params, i.rest = o.rest, i.this = o._this, this.expect(11), [i.returnType, s.predicate] = this.flowParseTypeAndPredicateInitialiser(),
      a.typeAnnotation = this.finishNode(i, "FunctionTypeAnnotation"), r.typeAnnotation = this.finishNode(a, "TypeAnnotation"), this.resetEndLocation(
      r), this.semicolon(), this.scope.declareName(s.id.name, 2048, s.id.loc.start), this.finishNode(s, "DeclareFunction");
    }
    flowParseDeclare(s, r) {
      if (this.match(80))
        return this.flowParseDeclareClass(s);
      if (this.match(68))
        return this.flowParseDeclareFunction(s);
      if (this.match(74))
        return this.flowParseDeclareVariable(s);
      if (this.eatContextual(127))
        return this.match(16) ? this.flowParseDeclareModuleExports(s) : (r && this.raise(_t.NestedDeclareModule, this.state.lastTokStartLoc),
        this.flowParseDeclareModule(s));
      if (this.isContextual(130))
        return this.flowParseDeclareTypeAlias(s);
      if (this.isContextual(131))
        return this.flowParseDeclareOpaqueType(s);
      if (this.isContextual(129))
        return this.flowParseDeclareInterface(s);
      if (this.match(82))
        return this.flowParseDeclareExportDeclaration(s, r);
      this.unexpected();
    }
    flowParseDeclareVariable(s) {
      return this.next(), s.id = this.flowParseTypeAnnotatableIdentifier(!0), this.scope.declareName(s.id.name, 5, s.id.loc.start), this.semicolon(),
      this.finishNode(s, "DeclareVariable");
    }
    flowParseDeclareModule(s) {
      this.scope.enter(0), this.match(134) ? s.id = super.parseExprAtom() : s.id = this.parseIdentifier();
      let r = s.body = this.startNode(), i = r.body = [];
      for (this.expect(5); !this.match(8); ) {
        let l = this.startNode();
        this.match(83) ? (this.next(), !this.isContextual(130) && !this.match(87) && this.raise(_t.InvalidNonTypeImportInDeclareModule, this.
        state.lastTokStartLoc), super.parseImport(l)) : (this.expectContextual(125, _t.UnsupportedStatementInDeclareModule), l = this.flowParseDeclare(
        l, !0)), i.push(l);
      }
      this.scope.exit(), this.expect(8), this.finishNode(r, "BlockStatement");
      let a = null, o = !1;
      return i.forEach((l) => {
        yVe(l) ? (a === "CommonJS" && this.raise(_t.AmbiguousDeclareModuleKind, l), a = "ES") : l.type === "DeclareModuleExports" && (o && this.
        raise(_t.DuplicateDeclareModuleExports, l), a === "ES" && this.raise(_t.AmbiguousDeclareModuleKind, l), a = "CommonJS", o = !0);
      }), s.kind = a || "CommonJS", this.finishNode(s, "DeclareModule");
    }
    flowParseDeclareExportDeclaration(s, r) {
      if (this.expect(82), this.eat(65))
        return this.match(68) || this.match(80) ? s.declaration = this.flowParseDeclare(this.startNode()) : (s.declaration = this.flowParseType(),
        this.semicolon()), s.default = !0, this.finishNode(s, "DeclareExportDeclaration");
      if (this.match(75) || this.isLet() || (this.isContextual(130) || this.isContextual(129)) && !r) {
        let i = this.state.value;
        throw this.raise(_t.UnsupportedDeclareExportKind, this.state.startLoc, {
          unsupportedExportKind: i,
          suggestion: gVe[i]
        });
      }
      if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(131))
        return s.declaration = this.flowParseDeclare(this.startNode()), s.default = !1, this.finishNode(s, "DeclareExportDeclaration");
      if (this.match(55) || this.match(5) || this.isContextual(129) || this.isContextual(130) || this.isContextual(131))
        return s = this.parseExport(s, null), s.type === "ExportNamedDeclaration" && (s.type = "ExportDeclaration", s.default = !1, delete s.
        exportKind), s.type = "Declare" + s.type, s;
      this.unexpected();
    }
    flowParseDeclareModuleExports(s) {
      return this.next(), this.expectContextual(111), s.typeAnnotation = this.flowParseTypeAnnotation(), this.semicolon(), this.finishNode(s,
      "DeclareModuleExports");
    }
    flowParseDeclareTypeAlias(s) {
      this.next();
      let r = this.flowParseTypeAlias(s);
      return r.type = "DeclareTypeAlias", r;
    }
    flowParseDeclareOpaqueType(s) {
      this.next();
      let r = this.flowParseOpaqueType(s, !0);
      return r.type = "DeclareOpaqueType", r;
    }
    flowParseDeclareInterface(s) {
      return this.next(), this.flowParseInterfaceish(s, !1), this.finishNode(s, "DeclareInterface");
    }
    flowParseInterfaceish(s, r) {
      if (s.id = this.flowParseRestrictedIdentifier(!r, !0), this.scope.declareName(s.id.name, r ? 17 : 8201, s.id.loc.start), this.match(47) ?
      s.typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.extends = [], this.eat(81))
        do
          s.extends.push(this.flowParseInterfaceExtends());
        while (!r && this.eat(12));
      if (r) {
        if (s.implements = [], s.mixins = [], this.eatContextual(117))
          do
            s.mixins.push(this.flowParseInterfaceExtends());
          while (this.eat(12));
        if (this.eatContextual(113))
          do
            s.implements.push(this.flowParseInterfaceExtends());
          while (this.eat(12));
      }
      s.body = this.flowParseObjectType({
        allowStatic: r,
        allowExact: !1,
        allowSpread: !1,
        allowProto: r,
        allowInexact: !1
      });
    }
    flowParseInterfaceExtends() {
      let s = this.startNode();
      return s.id = this.flowParseQualifiedTypeIdentifier(), this.match(47) ? s.typeParameters = this.flowParseTypeParameterInstantiation() :
      s.typeParameters = null, this.finishNode(s, "InterfaceExtends");
    }
    flowParseInterface(s) {
      return this.flowParseInterfaceish(s, !1), this.finishNode(s, "InterfaceDeclaration");
    }
    checkNotUnderscore(s) {
      s === "_" && this.raise(_t.UnexpectedReservedUnderscore, this.state.startLoc);
    }
    checkReservedType(s, r, i) {
      mVe.has(s) && this.raise(i ? _t.AssignReservedType : _t.UnexpectedReservedType, r, {
        reservedType: s
      });
    }
    flowParseRestrictedIdentifier(s, r) {
      return this.checkReservedType(this.state.value, this.state.startLoc, r), this.parseIdentifier(s);
    }
    flowParseTypeAlias(s) {
      return s.id = this.flowParseRestrictedIdentifier(!1, !0), this.scope.declareName(s.id.name, 8201, s.id.loc.start), this.match(47) ? s.
      typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.right = this.flowParseTypeInitialiser(29), this.
      semicolon(), this.finishNode(s, "TypeAlias");
    }
    flowParseOpaqueType(s, r) {
      return this.expectContextual(130), s.id = this.flowParseRestrictedIdentifier(!0, !0), this.scope.declareName(s.id.name, 8201, s.id.loc.
      start), this.match(47) ? s.typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.supertype = null, this.
      match(14) && (s.supertype = this.flowParseTypeInitialiser(14)), s.impltype = null, r || (s.impltype = this.flowParseTypeInitialiser(29)),
      this.semicolon(), this.finishNode(s, "OpaqueType");
    }
    flowParseTypeParameter(s = !1) {
      let r = this.state.startLoc, i = this.startNode(), a = this.flowParseVariance(), o = this.flowParseTypeAnnotatableIdentifier();
      return i.name = o.name, i.variance = a, i.bound = o.typeAnnotation, this.match(29) ? (this.eat(29), i.default = this.flowParseType()) :
      s && this.raise(_t.MissingTypeParamDefault, r), this.finishNode(i, "TypeParameter");
    }
    flowParseTypeParameterDeclaration() {
      let s = this.state.inType, r = this.startNode();
      r.params = [], this.state.inType = !0, this.match(47) || this.match(143) ? this.next() : this.unexpected();
      let i = !1;
      do {
        let a = this.flowParseTypeParameter(i);
        r.params.push(a), a.default && (i = !0), this.match(48) || this.expect(12);
      } while (!this.match(48));
      return this.expect(48), this.state.inType = s, this.finishNode(r, "TypeParameterDeclaration");
    }
    flowInTopLevelContext(s) {
      if (this.curContext() !== Hs.brace) {
        let r = this.state.context;
        this.state.context = [r[0]];
        try {
          return s();
        } finally {
          this.state.context = r;
        }
      } else
        return s();
    }
    flowParseTypeParameterInstantiationInExpression() {
      if (this.reScan_lt() === 47)
        return this.flowParseTypeParameterInstantiation();
    }
    flowParseTypeParameterInstantiation() {
      let s = this.startNode(), r = this.state.inType;
      return this.state.inType = !0, s.params = [], this.flowInTopLevelContext(() => {
        this.expect(47);
        let i = this.state.noAnonFunctionType;
        for (this.state.noAnonFunctionType = !1; !this.match(48); )
          s.params.push(this.flowParseType()), this.match(48) || this.expect(12);
        this.state.noAnonFunctionType = i;
      }), this.state.inType = r, !this.state.inType && this.curContext() === Hs.brace && this.reScan_lt_gt(), this.expect(48), this.finishNode(
      s, "TypeParameterInstantiation");
    }
    flowParseTypeParameterInstantiationCallOrNew() {
      if (this.reScan_lt() !== 47) return;
      let s = this.startNode(), r = this.state.inType;
      for (s.params = [], this.state.inType = !0, this.expect(47); !this.match(48); )
        s.params.push(this.flowParseTypeOrImplicitInstantiation()), this.match(48) || this.expect(12);
      return this.expect(48), this.state.inType = r, this.finishNode(s, "TypeParameterInstantiation");
    }
    flowParseInterfaceType() {
      let s = this.startNode();
      if (this.expectContextual(129), s.extends = [], this.eat(81))
        do
          s.extends.push(this.flowParseInterfaceExtends());
        while (this.eat(12));
      return s.body = this.flowParseObjectType({
        allowStatic: !1,
        allowExact: !1,
        allowSpread: !1,
        allowProto: !1,
        allowInexact: !1
      }), this.finishNode(s, "InterfaceTypeAnnotation");
    }
    flowParseObjectPropertyKey() {
      return this.match(135) || this.match(134) ? super.parseExprAtom() : this.parseIdentifier(!0);
    }
    flowParseObjectTypeIndexer(s, r, i) {
      return s.static = r, this.lookahead().type === 14 ? (s.id = this.flowParseObjectPropertyKey(), s.key = this.flowParseTypeInitialiser()) :
      (s.id = null, s.key = this.flowParseType()), this.expect(3), s.value = this.flowParseTypeInitialiser(), s.variance = i, this.finishNode(
      s, "ObjectTypeIndexer");
    }
    flowParseObjectTypeInternalSlot(s, r) {
      return s.static = r, s.id = this.flowParseObjectPropertyKey(), this.expect(3), this.expect(3), this.match(47) || this.match(10) ? (s.method =
      !0, s.optional = !1, s.value = this.flowParseObjectTypeMethodish(this.startNodeAt(s.loc.start))) : (s.method = !1, this.eat(17) && (s.
      optional = !0), s.value = this.flowParseTypeInitialiser()), this.finishNode(s, "ObjectTypeInternalSlot");
    }
    flowParseObjectTypeMethodish(s) {
      for (s.params = [], s.rest = null, s.typeParameters = null, s.this = null, this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration()),
      this.expect(10), this.match(78) && (s.this = this.flowParseFunctionTypeParam(!0), s.this.name = null, this.match(11) || this.expect(12)); !this.
      match(11) && !this.match(21); )
        s.params.push(this.flowParseFunctionTypeParam(!1)), this.match(11) || this.expect(12);
      return this.eat(21) && (s.rest = this.flowParseFunctionTypeParam(!1)), this.expect(11), s.returnType = this.flowParseTypeInitialiser(),
      this.finishNode(s, "FunctionTypeAnnotation");
    }
    flowParseObjectTypeCallProperty(s, r) {
      let i = this.startNode();
      return s.static = r, s.value = this.flowParseObjectTypeMethodish(i), this.finishNode(s, "ObjectTypeCallProperty");
    }
    flowParseObjectType({
      allowStatic: s,
      allowExact: r,
      allowSpread: i,
      allowProto: a,
      allowInexact: o
    }) {
      let l = this.state.inType;
      this.state.inType = !0;
      let u = this.startNode();
      u.callProperties = [], u.properties = [], u.indexers = [], u.internalSlots = [];
      let c, p, h = !1;
      for (r && this.match(6) ? (this.expect(6), c = 9, p = !0) : (this.expect(5), c = 8, p = !1), u.exact = p; !this.match(c); ) {
        let d = !1, m = null, y = null, T = this.startNode();
        if (a && this.isContextual(118)) {
          let E = this.lookahead();
          E.type !== 14 && E.type !== 17 && (this.next(), m = this.state.startLoc, s = !1);
        }
        if (s && this.isContextual(106)) {
          let E = this.lookahead();
          E.type !== 14 && E.type !== 17 && (this.next(), d = !0);
        }
        let b = this.flowParseVariance();
        if (this.eat(0))
          m != null && this.unexpected(m), this.eat(0) ? (b && this.unexpected(b.loc.start), u.internalSlots.push(this.flowParseObjectTypeInternalSlot(
          T, d))) : u.indexers.push(this.flowParseObjectTypeIndexer(T, d, b));
        else if (this.match(10) || this.match(47))
          m != null && this.unexpected(m), b && this.unexpected(b.loc.start), u.callProperties.push(this.flowParseObjectTypeCallProperty(T, d));
        else {
          let E = "init";
          if (this.isContextual(99) || this.isContextual(104)) {
            let W = this.lookahead();
            g$(W.type) && (E = this.state.value, this.next());
          }
          let V = this.flowParseObjectTypeProperty(T, d, m, b, E, i, o ?? !p);
          V === null ? (h = !0, y = this.state.lastTokStartLoc) : u.properties.push(V);
        }
        this.flowObjectTypeSemicolon(), y && !this.match(8) && !this.match(9) && this.raise(_t.UnexpectedExplicitInexactInObject, y);
      }
      this.expect(c), i && (u.inexact = h);
      let f = this.finishNode(u, "ObjectTypeAnnotation");
      return this.state.inType = l, f;
    }
    flowParseObjectTypeProperty(s, r, i, a, o, l, u) {
      if (this.eat(21))
        return this.match(12) || this.match(13) || this.match(8) || this.match(9) ? (l ? u || this.raise(_t.InexactInsideExact, this.state.lastTokStartLoc) :
        this.raise(_t.InexactInsideNonObject, this.state.lastTokStartLoc), a && this.raise(_t.InexactVariance, a), null) : (l || this.raise(
        _t.UnexpectedSpreadType, this.state.lastTokStartLoc), i != null && this.unexpected(i), a && this.raise(_t.SpreadVariance, a), s.argument =
        this.flowParseType(), this.finishNode(s, "ObjectTypeSpreadProperty"));
      {
        s.key = this.flowParseObjectPropertyKey(), s.static = r, s.proto = i != null, s.kind = o;
        let c = !1;
        return this.match(47) || this.match(10) ? (s.method = !0, i != null && this.unexpected(i), a && this.unexpected(a.loc.start), s.value =
        this.flowParseObjectTypeMethodish(this.startNodeAt(s.loc.start)), (o === "get" || o === "set") && this.flowCheckGetterSetterParams(s),
        !l && s.key.name === "constructor" && s.value.this && this.raise(_t.ThisParamBannedInConstructor, s.value.this)) : (o !== "init" && this.
        unexpected(), s.method = !1, this.eat(17) && (c = !0), s.value = this.flowParseTypeInitialiser(), s.variance = a), s.optional = c, this.
        finishNode(s, "ObjectTypeProperty");
      }
    }
    flowCheckGetterSetterParams(s) {
      let r = s.kind === "get" ? 0 : 1, i = s.value.params.length + (s.value.rest ? 1 : 0);
      s.value.this && this.raise(s.kind === "get" ? _t.GetterMayNotHaveThisParam : _t.SetterMayNotHaveThisParam, s.value.this), i !== r && this.
      raise(s.kind === "get" ? Q.BadGetterArity : Q.BadSetterArity, s), s.kind === "set" && s.value.rest && this.raise(Q.BadSetterRestParameter,
      s);
    }
    flowObjectTypeSemicolon() {
      !this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9) && this.unexpected();
    }
    flowParseQualifiedTypeIdentifier(s, r) {
      var i;
      (i = s) != null || (s = this.state.startLoc);
      let a = r || this.flowParseRestrictedIdentifier(!0);
      for (; this.eat(16); ) {
        let o = this.startNodeAt(s);
        o.qualification = a, o.id = this.flowParseRestrictedIdentifier(!0), a = this.finishNode(o, "QualifiedTypeIdentifier");
      }
      return a;
    }
    flowParseGenericType(s, r) {
      let i = this.startNodeAt(s);
      return i.typeParameters = null, i.id = this.flowParseQualifiedTypeIdentifier(s, r), this.match(47) && (i.typeParameters = this.flowParseTypeParameterInstantiation()),
      this.finishNode(i, "GenericTypeAnnotation");
    }
    flowParseTypeofType() {
      let s = this.startNode();
      return this.expect(87), s.argument = this.flowParsePrimaryType(), this.finishNode(s, "TypeofTypeAnnotation");
    }
    flowParseTupleType() {
      let s = this.startNode();
      for (s.types = [], this.expect(0); this.state.pos < this.length && !this.match(3) && (s.types.push(this.flowParseType()), !this.match(
      3)); )
        this.expect(12);
      return this.expect(3), this.finishNode(s, "TupleTypeAnnotation");
    }
    flowParseFunctionTypeParam(s) {
      let r = null, i = !1, a = null, o = this.startNode(), l = this.lookahead(), u = this.state.type === 78;
      return l.type === 14 || l.type === 17 ? (u && !s && this.raise(_t.ThisParamMustBeFirst, o), r = this.parseIdentifier(u), this.eat(17) &&
      (i = !0, u && this.raise(_t.ThisParamMayNotBeOptional, o)), a = this.flowParseTypeInitialiser()) : a = this.flowParseType(), o.name = r,
      o.optional = i, o.typeAnnotation = a, this.finishNode(o, "FunctionTypeParam");
    }
    reinterpretTypeAsFunctionTypeParam(s) {
      let r = this.startNodeAt(s.loc.start);
      return r.name = null, r.optional = !1, r.typeAnnotation = s, this.finishNode(r, "FunctionTypeParam");
    }
    flowParseFunctionTypeParams(s = []) {
      let r = null, i = null;
      for (this.match(78) && (i = this.flowParseFunctionTypeParam(!0), i.name = null, this.match(11) || this.expect(12)); !this.match(11) &&
      !this.match(21); )
        s.push(this.flowParseFunctionTypeParam(!1)), this.match(11) || this.expect(12);
      return this.eat(21) && (r = this.flowParseFunctionTypeParam(!1)), {
        params: s,
        rest: r,
        _this: i
      };
    }
    flowIdentToTypeAnnotation(s, r, i) {
      switch (i.name) {
        case "any":
          return this.finishNode(r, "AnyTypeAnnotation");
        case "bool":
        case "boolean":
          return this.finishNode(r, "BooleanTypeAnnotation");
        case "mixed":
          return this.finishNode(r, "MixedTypeAnnotation");
        case "empty":
          return this.finishNode(r, "EmptyTypeAnnotation");
        case "number":
          return this.finishNode(r, "NumberTypeAnnotation");
        case "string":
          return this.finishNode(r, "StringTypeAnnotation");
        case "symbol":
          return this.finishNode(r, "SymbolTypeAnnotation");
        default:
          return this.checkNotUnderscore(i.name), this.flowParseGenericType(s, i);
      }
    }
    flowParsePrimaryType() {
      let s = this.state.startLoc, r = this.startNode(), i, a, o = !1, l = this.state.noAnonFunctionType;
      switch (this.state.type) {
        case 5:
          return this.flowParseObjectType({
            allowStatic: !1,
            allowExact: !1,
            allowSpread: !0,
            allowProto: !1,
            allowInexact: !0
          });
        case 6:
          return this.flowParseObjectType({
            allowStatic: !1,
            allowExact: !0,
            allowSpread: !0,
            allowProto: !1,
            allowInexact: !1
          });
        case 0:
          return this.state.noAnonFunctionType = !1, a = this.flowParseTupleType(), this.state.noAnonFunctionType = l, a;
        case 47: {
          let u = this.startNode();
          return u.typeParameters = this.flowParseTypeParameterDeclaration(), this.expect(10), i = this.flowParseFunctionTypeParams(), u.params =
          i.params, u.rest = i.rest, u.this = i._this, this.expect(11), this.expect(19), u.returnType = this.flowParseType(), this.finishNode(
          u, "FunctionTypeAnnotation");
        }
        case 10: {
          let u = this.startNode();
          if (this.next(), !this.match(11) && !this.match(21))
            if (Js(this.state.type) || this.match(78)) {
              let c = this.lookahead().type;
              o = c !== 17 && c !== 14;
            } else
              o = !0;
          if (o) {
            if (this.state.noAnonFunctionType = !1, a = this.flowParseType(), this.state.noAnonFunctionType = l, this.state.noAnonFunctionType ||
            !(this.match(12) || this.match(11) && this.lookahead().type === 19))
              return this.expect(11), a;
            this.eat(12);
          }
          return a ? i = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(a)]) : i = this.flowParseFunctionTypeParams(),
          u.params = i.params, u.rest = i.rest, u.this = i._this, this.expect(11), this.expect(19), u.returnType = this.flowParseType(), u.typeParameters =
          null, this.finishNode(u, "FunctionTypeAnnotation");
        }
        case 134:
          return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation");
        case 85:
        case 86:
          return r.value = this.match(85), this.next(), this.finishNode(r, "BooleanLiteralTypeAnnotation");
        case 53:
          if (this.state.value === "-") {
            if (this.next(), this.match(135))
              return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", r);
            if (this.match(136))
              return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", r);
            throw this.raise(_t.UnexpectedSubtractionOperand, this.state.startLoc);
          }
          this.unexpected();
          return;
        case 135:
          return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation");
        case 136:
          return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation");
        case 88:
          return this.next(), this.finishNode(r, "VoidTypeAnnotation");
        case 84:
          return this.next(), this.finishNode(r, "NullLiteralTypeAnnotation");
        case 78:
          return this.next(), this.finishNode(r, "ThisTypeAnnotation");
        case 55:
          return this.next(), this.finishNode(r, "ExistsTypeAnnotation");
        case 87:
          return this.flowParseTypeofType();
        default:
          if (Zk(this.state.type)) {
            let u = Uc(this.state.type);
            return this.next(), super.createIdentifier(r, u);
          } else if (Js(this.state.type))
            return this.isContextual(129) ? this.flowParseInterfaceType() : this.flowIdentToTypeAnnotation(s, r, this.parseIdentifier());
      }
      this.unexpected();
    }
    flowParsePostfixType() {
      let s = this.state.startLoc, r = this.flowParsePrimaryType(), i = !1;
      for (; (this.match(0) || this.match(18)) && !this.canInsertSemicolon(); ) {
        let a = this.startNodeAt(s), o = this.eat(18);
        i = i || o, this.expect(0), !o && this.match(3) ? (a.elementType = r, this.next(), r = this.finishNode(a, "ArrayTypeAnnotation")) : (a.
        objectType = r, a.indexType = this.flowParseType(), this.expect(3), i ? (a.optional = o, r = this.finishNode(a, "OptionalIndexedAcce\
ssType")) : r = this.finishNode(a, "IndexedAccessType"));
      }
      return r;
    }
    flowParsePrefixType() {
      let s = this.startNode();
      return this.eat(17) ? (s.typeAnnotation = this.flowParsePrefixType(), this.finishNode(s, "NullableTypeAnnotation")) : this.flowParsePostfixType();
    }
    flowParseAnonFunctionWithoutParens() {
      let s = this.flowParsePrefixType();
      if (!this.state.noAnonFunctionType && this.eat(19)) {
        let r = this.startNodeAt(s.loc.start);
        return r.params = [this.reinterpretTypeAsFunctionTypeParam(s)], r.rest = null, r.this = null, r.returnType = this.flowParseType(), r.
        typeParameters = null, this.finishNode(r, "FunctionTypeAnnotation");
      }
      return s;
    }
    flowParseIntersectionType() {
      let s = this.startNode();
      this.eat(45);
      let r = this.flowParseAnonFunctionWithoutParens();
      for (s.types = [r]; this.eat(45); )
        s.types.push(this.flowParseAnonFunctionWithoutParens());
      return s.types.length === 1 ? r : this.finishNode(s, "IntersectionTypeAnnotation");
    }
    flowParseUnionType() {
      let s = this.startNode();
      this.eat(43);
      let r = this.flowParseIntersectionType();
      for (s.types = [r]; this.eat(43); )
        s.types.push(this.flowParseIntersectionType());
      return s.types.length === 1 ? r : this.finishNode(s, "UnionTypeAnnotation");
    }
    flowParseType() {
      let s = this.state.inType;
      this.state.inType = !0;
      let r = this.flowParseUnionType();
      return this.state.inType = s, r;
    }
    flowParseTypeOrImplicitInstantiation() {
      if (this.state.type === 132 && this.state.value === "_") {
        let s = this.state.startLoc, r = this.parseIdentifier();
        return this.flowParseGenericType(s, r);
      } else
        return this.flowParseType();
    }
    flowParseTypeAnnotation() {
      let s = this.startNode();
      return s.typeAnnotation = this.flowParseTypeInitialiser(), this.finishNode(s, "TypeAnnotation");
    }
    flowParseTypeAnnotatableIdentifier(s) {
      let r = s ? this.parseIdentifier() : this.flowParseRestrictedIdentifier();
      return this.match(14) && (r.typeAnnotation = this.flowParseTypeAnnotation(), this.resetEndLocation(r)), r;
    }
    typeCastToParameter(s) {
      return s.expression.typeAnnotation = s.typeAnnotation, this.resetEndLocation(s.expression, s.typeAnnotation.loc.end), s.expression;
    }
    flowParseVariance() {
      let s = null;
      return this.match(53) ? (s = this.startNode(), this.state.value === "+" ? s.kind = "plus" : s.kind = "minus", this.next(), this.finishNode(
      s, "Variance")) : s;
    }
    parseFunctionBody(s, r, i = !1) {
      if (r) {
        this.forwardNoArrowParamsConversionAt(s, () => super.parseFunctionBody(s, !0, i));
        return;
      }
      super.parseFunctionBody(s, !1, i);
    }
    parseFunctionBodyAndFinish(s, r, i = !1) {
      if (this.match(14)) {
        let a = this.startNode();
        [a.typeAnnotation, s.predicate] = this.flowParseTypeAndPredicateInitialiser(), s.returnType = a.typeAnnotation ? this.finishNode(a, "\
TypeAnnotation") : null;
      }
      return super.parseFunctionBodyAndFinish(s, r, i);
    }
    parseStatementLike(s) {
      if (this.state.strict && this.isContextual(129)) {
        let i = this.lookahead();
        if (To(i.type)) {
          let a = this.startNode();
          return this.next(), this.flowParseInterface(a);
        }
      } else if (this.isContextual(126)) {
        let i = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(i);
      }
      let r = super.parseStatementLike(s);
      return this.flowPragma === void 0 && !this.isValidDirective(r) && (this.flowPragma = null), r;
    }
    parseExpressionStatement(s, r, i) {
      if (r.type === "Identifier") {
        if (r.name === "declare") {
          if (this.match(80) || Js(this.state.type) || this.match(68) || this.match(74) || this.match(82))
            return this.flowParseDeclare(s);
        } else if (Js(this.state.type)) {
          if (r.name === "interface")
            return this.flowParseInterface(s);
          if (r.name === "type")
            return this.flowParseTypeAlias(s);
          if (r.name === "opaque")
            return this.flowParseOpaqueType(s, !1);
        }
      }
      return super.parseExpressionStatement(s, r, i);
    }
    shouldParseExportDeclaration() {
      let {
        type: s
      } = this.state;
      return s === 126 || a$(s) ? !this.state.containsEsc : super.shouldParseExportDeclaration();
    }
    isExportDefaultSpecifier() {
      let {
        type: s
      } = this.state;
      return s === 126 || a$(s) ? this.state.containsEsc : super.isExportDefaultSpecifier();
    }
    parseExportDefaultExpression() {
      if (this.isContextual(126)) {
        let s = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(s);
      }
      return super.parseExportDefaultExpression();
    }
    parseConditional(s, r, i) {
      if (!this.match(17)) return s;
      if (this.state.maybeInArrowParameters) {
        let f = this.lookaheadCharCode();
        if (f === 44 || f === 61 || f === 58 || f === 41)
          return this.setOptionalParametersError(i), s;
      }
      this.expect(17);
      let a = this.state.clone(), o = this.state.noArrowAt, l = this.startNodeAt(r), {
        consequent: u,
        failed: c
      } = this.tryParseConditionalConsequent(), [p, h] = this.getArrowLikeExpressions(u);
      if (c || h.length > 0) {
        let f = [...o];
        if (h.length > 0) {
          this.state = a, this.state.noArrowAt = f;
          for (let d = 0; d < h.length; d++)
            f.push(h[d].start);
          ({
            consequent: u,
            failed: c
          } = this.tryParseConditionalConsequent()), [p, h] = this.getArrowLikeExpressions(u);
        }
        c && p.length > 1 && this.raise(_t.AmbiguousConditionalArrow, a.startLoc), c && p.length === 1 && (this.state = a, f.push(p[0].start),
        this.state.noArrowAt = f, {
          consequent: u,
          failed: c
        } = this.tryParseConditionalConsequent());
      }
      return this.getArrowLikeExpressions(u, !0), this.state.noArrowAt = o, this.expect(14), l.test = s, l.consequent = u, l.alternate = this.
      forwardNoArrowParamsConversionAt(l, () => this.parseMaybeAssign(void 0, void 0)), this.finishNode(l, "ConditionalExpression");
    }
    tryParseConditionalConsequent() {
      this.state.noArrowParamsConversionAt.push(this.state.start);
      let s = this.parseMaybeAssignAllowIn(), r = !this.match(14);
      return this.state.noArrowParamsConversionAt.pop(), {
        consequent: s,
        failed: r
      };
    }
    getArrowLikeExpressions(s, r) {
      let i = [s], a = [];
      for (; i.length !== 0; ) {
        let o = i.pop();
        o.type === "ArrowFunctionExpression" && o.body.type !== "BlockStatement" ? (o.typeParameters || !o.returnType ? this.finishArrowValidation(
        o) : a.push(o), i.push(o.body)) : o.type === "ConditionalExpression" && (i.push(o.consequent), i.push(o.alternate));
      }
      return r ? (a.forEach((o) => this.finishArrowValidation(o)), [a, []]) : TVe(a, (o) => o.params.every((l) => this.isAssignable(l, !0)));
    }
    finishArrowValidation(s) {
      var r;
      this.toAssignableList(s.params, (r = s.extra) == null ? void 0 : r.trailingCommaLoc, !1), this.scope.enter(6), super.checkParams(s, !1,
      !0), this.scope.exit();
    }
    forwardNoArrowParamsConversionAt(s, r) {
      let i;
      return this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)) ? (this.state.noArrowParamsConversionAt.push(this.
      state.start), i = r(), this.state.noArrowParamsConversionAt.pop()) : i = r(), i;
    }
    parseParenItem(s, r) {
      let i = super.parseParenItem(s, r);
      if (this.eat(17) && (i.optional = !0, this.resetEndLocation(s)), this.match(14)) {
        let a = this.startNodeAt(r);
        return a.expression = i, a.typeAnnotation = this.flowParseTypeAnnotation(), this.finishNode(a, "TypeCastExpression");
      }
      return i;
    }
    assertModuleNodeAllowed(s) {
      s.type === "ImportDeclaration" && (s.importKind === "type" || s.importKind === "typeof") || s.type === "ExportNamedDeclaration" && s.exportKind ===
      "type" || s.type === "ExportAllDeclaration" && s.exportKind === "type" || super.assertModuleNodeAllowed(s);
    }
    parseExportDeclaration(s) {
      if (this.isContextual(130)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.match(5) ? (s.specifiers = this.parseExportSpecifiers(!0), super.parseExportFrom(s), null) : this.flowParseTypeAlias(
        r);
      } else if (this.isContextual(131)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.flowParseOpaqueType(r, !1);
      } else if (this.isContextual(129)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.flowParseInterface(r);
      } else if (this.isContextual(126)) {
        s.exportKind = "value";
        let r = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(r);
      } else
        return super.parseExportDeclaration(s);
    }
    eatExportStar(s) {
      return super.eatExportStar(s) ? !0 : this.isContextual(130) && this.lookahead().type === 55 ? (s.exportKind = "type", this.next(), this.
      next(), !0) : !1;
    }
    maybeParseExportNamespaceSpecifier(s) {
      let {
        startLoc: r
      } = this.state, i = super.maybeParseExportNamespaceSpecifier(s);
      return i && s.exportKind === "type" && this.unexpected(r), i;
    }
    parseClassId(s, r, i) {
      super.parseClassId(s, r, i), this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration());
    }
    parseClassMember(s, r, i) {
      let {
        startLoc: a
      } = this.state;
      if (this.isContextual(125)) {
        if (super.parseClassMemberFromModifier(s, r))
          return;
        r.declare = !0;
      }
      super.parseClassMember(s, r, i), r.declare && (r.type !== "ClassProperty" && r.type !== "ClassPrivateProperty" && r.type !== "Property\
Definition" ? this.raise(_t.DeclareClassElement, a) : r.value && this.raise(_t.DeclareClassFieldInitializer, r.value));
    }
    isIterator(s) {
      return s === "iterator" || s === "asyncIterator";
    }
    readIterator() {
      let s = super.readWord1(), r = "@@" + s;
      (!this.isIterator(s) || !this.state.inType) && this.raise(Q.InvalidIdentifier, this.state.curPosition(), {
        identifierName: r
      }), this.finishToken(132, r);
    }
    getTokenFromCode(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      s === 123 && r === 124 ? this.finishOp(6, 2) : this.state.inType && (s === 62 || s === 60) ? this.finishOp(s === 62 ? 48 : 47, 1) : this.
      state.inType && s === 63 ? r === 46 ? this.finishOp(18, 2) : this.finishOp(17, 1) : eVe(s, r, this.input.charCodeAt(this.state.pos + 2)) ?
      (this.state.pos += 2, this.readIterator()) : super.getTokenFromCode(s);
    }
    isAssignable(s, r) {
      return s.type === "TypeCastExpression" ? this.isAssignable(s.expression, r) : super.isAssignable(s, r);
    }
    toAssignable(s, r = !1) {
      !r && s.type === "AssignmentExpression" && s.left.type === "TypeCastExpression" && (s.left = this.typeCastToParameter(s.left)), super.
      toAssignable(s, r);
    }
    toAssignableList(s, r, i) {
      for (let a = 0; a < s.length; a++) {
        let o = s[a];
        o?.type === "TypeCastExpression" && (s[a] = this.typeCastToParameter(o));
      }
      super.toAssignableList(s, r, i);
    }
    toReferencedList(s, r) {
      for (let a = 0; a < s.length; a++) {
        var i;
        let o = s[a];
        o && o.type === "TypeCastExpression" && !((i = o.extra) != null && i.parenthesized) && (s.length > 1 || !r) && this.raise(_t.TypeCastInPattern,
        o.typeAnnotation);
      }
      return s;
    }
    parseArrayLike(s, r, i, a) {
      let o = super.parseArrayLike(s, r, i, a);
      return r && !this.state.maybeInArrowParameters && this.toReferencedList(o.elements), o;
    }
    isValidLVal(s, r, i) {
      return s === "TypeCastExpression" || super.isValidLVal(s, r, i);
    }
    parseClassProperty(s) {
      return this.match(14) && (s.typeAnnotation = this.flowParseTypeAnnotation()), super.parseClassProperty(s);
    }
    parseClassPrivateProperty(s) {
      return this.match(14) && (s.typeAnnotation = this.flowParseTypeAnnotation()), super.parseClassPrivateProperty(s);
    }
    isClassMethod() {
      return this.match(47) || super.isClassMethod();
    }
    isClassProperty() {
      return this.match(14) || super.isClassProperty();
    }
    isNonstaticConstructor(s) {
      return !this.match(14) && super.isNonstaticConstructor(s);
    }
    pushClassMethod(s, r, i, a, o, l) {
      if (r.variance && this.unexpected(r.variance.loc.start), delete r.variance, this.match(47) && (r.typeParameters = this.flowParseTypeParameterDeclaration()),
      super.pushClassMethod(s, r, i, a, o, l), r.params && o) {
        let u = r.params;
        u.length > 0 && this.isThisParam(u[0]) && this.raise(_t.ThisParamBannedInConstructor, r);
      } else if (r.type === "MethodDefinition" && o && r.value.params) {
        let u = r.value.params;
        u.length > 0 && this.isThisParam(u[0]) && this.raise(_t.ThisParamBannedInConstructor, r);
      }
    }
    pushClassPrivateMethod(s, r, i, a) {
      r.variance && this.unexpected(r.variance.loc.start), delete r.variance, this.match(47) && (r.typeParameters = this.flowParseTypeParameterDeclaration()),
      super.pushClassPrivateMethod(s, r, i, a);
    }
    parseClassSuper(s) {
      if (super.parseClassSuper(s), s.superClass && (this.match(47) || this.match(51)) && (s.superTypeParameters = this.flowParseTypeParameterInstantiationInExpression()),
      this.isContextual(113)) {
        this.next();
        let r = s.implements = [];
        do {
          let i = this.startNode();
          i.id = this.flowParseRestrictedIdentifier(!0), this.match(47) ? i.typeParameters = this.flowParseTypeParameterInstantiation() : i.
          typeParameters = null, r.push(this.finishNode(i, "ClassImplements"));
        } while (this.eat(12));
      }
    }
    checkGetterSetterParams(s) {
      super.checkGetterSetterParams(s);
      let r = this.getObjectOrClassMethodParams(s);
      if (r.length > 0) {
        let i = r[0];
        this.isThisParam(i) && s.kind === "get" ? this.raise(_t.GetterMayNotHaveThisParam, i) : this.isThisParam(i) && this.raise(_t.SetterMayNotHaveThisParam,
        i);
      }
    }
    parsePropertyNamePrefixOperator(s) {
      s.variance = this.flowParseVariance();
    }
    parseObjPropValue(s, r, i, a, o, l, u) {
      s.variance && this.unexpected(s.variance.loc.start), delete s.variance;
      let c;
      this.match(47) && !l && (c = this.flowParseTypeParameterDeclaration(), this.match(10) || this.unexpected());
      let p = super.parseObjPropValue(s, r, i, a, o, l, u);
      return c && ((p.value || p).typeParameters = c), p;
    }
    parseFunctionParamType(s) {
      return this.eat(17) && (s.type !== "Identifier" && this.raise(_t.PatternIsOptional, s), this.isThisParam(s) && this.raise(_t.ThisParamMayNotBeOptional,
      s), s.optional = !0), this.match(14) ? s.typeAnnotation = this.flowParseTypeAnnotation() : this.isThisParam(s) && this.raise(_t.ThisParamAnnotationRequired,
      s), this.match(29) && this.isThisParam(s) && this.raise(_t.ThisParamNoDefault, s), this.resetEndLocation(s), s;
    }
    parseMaybeDefault(s, r) {
      let i = super.parseMaybeDefault(s, r);
      return i.type === "AssignmentPattern" && i.typeAnnotation && i.right.start < i.typeAnnotation.start && this.raise(_t.TypeBeforeInitializer,
      i.typeAnnotation), i;
    }
    checkImportReflection(s) {
      super.checkImportReflection(s), s.module && s.importKind !== "value" && this.raise(_t.ImportReflectionHasImportType, s.specifiers[0].loc.
      start);
    }
    parseImportSpecifierLocal(s, r, i) {
      r.local = c$(s) ? this.flowParseRestrictedIdentifier(!0, !0) : this.parseIdentifier(), s.specifiers.push(this.finishImportSpecifier(r,
      i));
    }
    isPotentialImportPhase(s) {
      if (super.isPotentialImportPhase(s)) return !0;
      if (this.isContextual(130)) {
        if (!s) return !0;
        let r = this.lookaheadCharCode();
        return r === 123 || r === 42;
      }
      return !s && this.isContextual(87);
    }
    applyImportPhase(s, r, i, a) {
      if (super.applyImportPhase(s, r, i, a), r) {
        if (!i && this.match(65))
          return;
        s.exportKind = i === "type" ? i : "value";
      } else
        i === "type" && this.match(55) && this.unexpected(), s.importKind = i === "type" || i === "typeof" ? i : "value";
    }
    parseImportSpecifier(s, r, i, a, o) {
      let l = s.imported, u = null;
      l.type === "Identifier" && (l.name === "type" ? u = "type" : l.name === "typeof" && (u = "typeof"));
      let c = !1;
      if (this.isContextual(93) && !this.isLookaheadContextual("as")) {
        let h = this.parseIdentifier(!0);
        u !== null && !To(this.state.type) ? (s.imported = h, s.importKind = u, s.local = su(h)) : (s.imported = l, s.importKind = null, s.local =
        this.parseIdentifier());
      } else {
        if (u !== null && To(this.state.type))
          s.imported = this.parseIdentifier(!0), s.importKind = u;
        else {
          if (r)
            throw this.raise(Q.ImportBindingIsString, s, {
              importName: l.value
            });
          s.imported = l, s.importKind = null;
        }
        this.eatContextual(93) ? s.local = this.parseIdentifier() : (c = !0, s.local = su(s.imported));
      }
      let p = c$(s);
      return i && p && this.raise(_t.ImportTypeShorthandOnlyInPureImport, s), (i || p) && this.checkReservedType(s.local.name, s.local.loc.start,
      !0), c && !i && !p && this.checkReservedWord(s.local.name, s.loc.start, !0, !0), this.finishImportSpecifier(s, "ImportSpecifier");
    }
    parseBindingAtom() {
      switch (this.state.type) {
        case 78:
          return this.parseIdentifier(!0);
        default:
          return super.parseBindingAtom();
      }
    }
    parseFunctionParams(s, r) {
      let i = s.kind;
      i !== "get" && i !== "set" && this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration()), super.parseFunctionParams(
      s, r);
    }
    parseVarId(s, r) {
      super.parseVarId(s, r), this.match(14) && (s.id.typeAnnotation = this.flowParseTypeAnnotation(), this.resetEndLocation(s.id));
    }
    parseAsyncArrowFromCallExpression(s, r) {
      if (this.match(14)) {
        let i = this.state.noAnonFunctionType;
        this.state.noAnonFunctionType = !0, s.returnType = this.flowParseTypeAnnotation(), this.state.noAnonFunctionType = i;
      }
      return super.parseAsyncArrowFromCallExpression(s, r);
    }
    shouldParseAsyncArrow() {
      return this.match(14) || super.shouldParseAsyncArrow();
    }
    parseMaybeAssign(s, r) {
      var i;
      let a = null, o;
      if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) {
        if (a = this.state.clone(), o = this.tryParse(() => super.parseMaybeAssign(s, r), a), !o.error) return o.node;
        let {
          context: c
        } = this.state, p = c[c.length - 1];
        (p === Hs.j_oTag || p === Hs.j_expr) && c.pop();
      }
      if ((i = o) != null && i.error || this.match(47)) {
        var l, u;
        a = a || this.state.clone();
        let c, p = this.tryParse((f) => {
          var d;
          c = this.flowParseTypeParameterDeclaration();
          let m = this.forwardNoArrowParamsConversionAt(c, () => {
            let T = super.parseMaybeAssign(s, r);
            return this.resetStartLocationFromNode(T, c), T;
          });
          (d = m.extra) != null && d.parenthesized && f();
          let y = this.maybeUnwrapTypeCastExpression(m);
          return y.type !== "ArrowFunctionExpression" && f(), y.typeParameters = c, this.resetStartLocationFromNode(y, c), m;
        }, a), h = null;
        if (p.node && this.maybeUnwrapTypeCastExpression(p.node).type === "ArrowFunctionExpression") {
          if (!p.error && !p.aborted)
            return p.node.async && this.raise(_t.UnexpectedTypeParameterBeforeAsyncArrowFunction, c), p.node;
          h = p.node;
        }
        if ((l = o) != null && l.node)
          return this.state = o.failState, o.node;
        if (h)
          return this.state = p.failState, h;
        throw (u = o) != null && u.thrown ? o.error : p.thrown ? p.error : this.raise(_t.UnexpectedTokenAfterTypeParameter, c);
      }
      return super.parseMaybeAssign(s, r);
    }
    parseArrow(s) {
      if (this.match(14)) {
        let r = this.tryParse(() => {
          let i = this.state.noAnonFunctionType;
          this.state.noAnonFunctionType = !0;
          let a = this.startNode();
          return [a.typeAnnotation, s.predicate] = this.flowParseTypeAndPredicateInitialiser(), this.state.noAnonFunctionType = i, this.canInsertSemicolon() &&
          this.unexpected(), this.match(19) || this.unexpected(), a;
        });
        if (r.thrown) return null;
        r.error && (this.state = r.failState), s.returnType = r.node.typeAnnotation ? this.finishNode(r.node, "TypeAnnotation") : null;
      }
      return super.parseArrow(s);
    }
    shouldParseArrow(s) {
      return this.match(14) || super.shouldParseArrow(s);
    }
    setArrowFunctionParameters(s, r) {
      this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)) ? s.params = r : super.setArrowFunctionParameters(s, r);
    }
    checkParams(s, r, i, a = !0) {
      if (!(i && this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)))) {
        for (let o = 0; o < s.params.length; o++)
          this.isThisParam(s.params[o]) && o > 0 && this.raise(_t.ThisParamMustBeFirst, s.params[o]);
        super.checkParams(s, r, i, a);
      }
    }
    parseParenAndDistinguishExpression(s) {
      return super.parseParenAndDistinguishExpression(s && !this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start)));
    }
    parseSubscripts(s, r, i) {
      if (s.type === "Identifier" && s.name === "async" && this.state.noArrowAt.includes(r.index)) {
        this.next();
        let a = this.startNodeAt(r);
        a.callee = s, a.arguments = super.parseCallExpressionArguments(11), s = this.finishNode(a, "CallExpression");
      } else if (s.type === "Identifier" && s.name === "async" && this.match(47)) {
        let a = this.state.clone(), o = this.tryParse((u) => this.parseAsyncArrowWithTypeParameters(r) || u(), a);
        if (!o.error && !o.aborted) return o.node;
        let l = this.tryParse(() => super.parseSubscripts(s, r, i), a);
        if (l.node && !l.error) return l.node;
        if (o.node)
          return this.state = o.failState, o.node;
        if (l.node)
          return this.state = l.failState, l.node;
        throw o.error || l.error;
      }
      return super.parseSubscripts(s, r, i);
    }
    parseSubscript(s, r, i, a) {
      if (this.match(18) && this.isLookaheadToken_lt()) {
        if (a.optionalChainMember = !0, i)
          return a.stop = !0, s;
        this.next();
        let o = this.startNodeAt(r);
        return o.callee = s, o.typeArguments = this.flowParseTypeParameterInstantiationInExpression(), this.expect(10), o.arguments = this.parseCallExpressionArguments(
        11), o.optional = !0, this.finishCallExpression(o, !0);
      } else if (!i && this.shouldParseTypes() && (this.match(47) || this.match(51))) {
        let o = this.startNodeAt(r);
        o.callee = s;
        let l = this.tryParse(() => (o.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(), this.expect(10), o.arguments = super.
        parseCallExpressionArguments(11), a.optionalChainMember && (o.optional = !1), this.finishCallExpression(o, a.optionalChainMember)));
        if (l.node)
          return l.error && (this.state = l.failState), l.node;
      }
      return super.parseSubscript(s, r, i, a);
    }
    parseNewCallee(s) {
      super.parseNewCallee(s);
      let r = null;
      this.shouldParseTypes() && this.match(47) && (r = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node), s.typeArguments =
      r;
    }
    parseAsyncArrowWithTypeParameters(s) {
      let r = this.startNodeAt(s);
      if (this.parseFunctionParams(r, !1), !!this.parseArrow(r))
        return super.parseArrowExpression(r, void 0, !0);
    }
    readToken_mult_modulo(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      if (s === 42 && r === 47 && this.state.hasFlowComment) {
        this.state.hasFlowComment = !1, this.state.pos += 2, this.nextToken();
        return;
      }
      super.readToken_mult_modulo(s);
    }
    readToken_pipe_amp(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      if (s === 124 && r === 125) {
        this.finishOp(9, 2);
        return;
      }
      super.readToken_pipe_amp(s);
    }
    parseTopLevel(s, r) {
      let i = super.parseTopLevel(s, r);
      return this.state.hasFlowComment && this.raise(_t.UnterminatedFlowComment, this.state.curPosition()), i;
    }
    skipBlockComment() {
      if (this.hasPlugin("flowComments") && this.skipFlowComment()) {
        if (this.state.hasFlowComment)
          throw this.raise(_t.NestedFlowComment, this.state.startLoc);
        this.hasFlowCommentCompletion();
        let s = this.skipFlowComment();
        s && (this.state.pos += s, this.state.hasFlowComment = !0);
        return;
      }
      return super.skipBlockComment(this.state.hasFlowComment ? "*-/" : "*/");
    }
    skipFlowComment() {
      let {
        pos: s
      } = this.state, r = 2;
      for (; [32, 9].includes(this.input.charCodeAt(s + r)); )
        r++;
      let i = this.input.charCodeAt(r + s), a = this.input.charCodeAt(r + s + 1);
      return i === 58 && a === 58 ? r + 2 : this.input.slice(r + s, r + s + 12) === "flow-include" ? r + 12 : i === 58 && a !== 58 ? r : !1;
    }
    hasFlowCommentCompletion() {
      if (this.input.indexOf("*/", this.state.pos) === -1)
        throw this.raise(Q.UnterminatedComment, this.state.curPosition());
    }
    flowEnumErrorBooleanMemberNotInitialized(s, {
      enumName: r,
      memberName: i
    }) {
      this.raise(_t.EnumBooleanMemberNotInitialized, s, {
        memberName: i,
        enumName: r
      });
    }
    flowEnumErrorInvalidMemberInitializer(s, r) {
      return this.raise(r.explicitType ? r.explicitType === "symbol" ? _t.EnumInvalidMemberInitializerSymbolType : _t.EnumInvalidMemberInitializerPrimaryType :
      _t.EnumInvalidMemberInitializerUnknownType, s, r);
    }
    flowEnumErrorNumberMemberNotInitialized(s, r) {
      this.raise(_t.EnumNumberMemberNotInitialized, s, r);
    }
    flowEnumErrorStringMemberInconsistentlyInitialized(s, r) {
      this.raise(_t.EnumStringMemberInconsistentlyInitialized, s, r);
    }
    flowEnumMemberInit() {
      let s = this.state.startLoc, r = /* @__PURE__ */ n(() => this.match(12) || this.match(8), "endOfInit");
      switch (this.state.type) {
        case 135: {
          let i = this.parseNumericLiteral(this.state.value);
          return r() ? {
            type: "number",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        case 134: {
          let i = this.parseStringLiteral(this.state.value);
          return r() ? {
            type: "string",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        case 85:
        case 86: {
          let i = this.parseBooleanLiteral(this.match(85));
          return r() ? {
            type: "boolean",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        default:
          return {
            type: "invalid",
            loc: s
          };
      }
    }
    flowEnumMemberRaw() {
      let s = this.state.startLoc, r = this.parseIdentifier(!0), i = this.eat(29) ? this.flowEnumMemberInit() : {
        type: "none",
        loc: s
      };
      return {
        id: r,
        init: i
      };
    }
    flowEnumCheckExplicitTypeMismatch(s, r, i) {
      let {
        explicitType: a
      } = r;
      a !== null && a !== i && this.flowEnumErrorInvalidMemberInitializer(s, r);
    }
    flowEnumMembers({
      enumName: s,
      explicitType: r
    }) {
      let i = /* @__PURE__ */ new Set(), a = {
        booleanMembers: [],
        numberMembers: [],
        stringMembers: [],
        defaultedMembers: []
      }, o = !1;
      for (; !this.match(8); ) {
        if (this.eat(21)) {
          o = !0;
          break;
        }
        let l = this.startNode(), {
          id: u,
          init: c
        } = this.flowEnumMemberRaw(), p = u.name;
        if (p === "")
          continue;
        /^[a-z]/.test(p) && this.raise(_t.EnumInvalidMemberName, u, {
          memberName: p,
          suggestion: p[0].toUpperCase() + p.slice(1),
          enumName: s
        }), i.has(p) && this.raise(_t.EnumDuplicateMemberName, u, {
          memberName: p,
          enumName: s
        }), i.add(p);
        let h = {
          enumName: s,
          explicitType: r,
          memberName: p
        };
        switch (l.id = u, c.type) {
          case "boolean": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "boolean"), l.init = c.value, a.booleanMembers.push(this.finishNode(l, "EnumBoo\
leanMember"));
            break;
          }
          case "number": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "number"), l.init = c.value, a.numberMembers.push(this.finishNode(l, "EnumNumbe\
rMember"));
            break;
          }
          case "string": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "string"), l.init = c.value, a.stringMembers.push(this.finishNode(l, "EnumStrin\
gMember"));
            break;
          }
          case "invalid":
            throw this.flowEnumErrorInvalidMemberInitializer(c.loc, h);
          case "none":
            switch (r) {
              case "boolean":
                this.flowEnumErrorBooleanMemberNotInitialized(c.loc, h);
                break;
              case "number":
                this.flowEnumErrorNumberMemberNotInitialized(c.loc, h);
                break;
              default:
                a.defaultedMembers.push(this.finishNode(l, "EnumDefaultedMember"));
            }
        }
        this.match(8) || this.expect(12);
      }
      return {
        members: a,
        hasUnknownMembers: o
      };
    }
    flowEnumStringMembers(s, r, {
      enumName: i
    }) {
      if (s.length === 0)
        return r;
      if (r.length === 0)
        return s;
      if (r.length > s.length) {
        for (let a of s)
          this.flowEnumErrorStringMemberInconsistentlyInitialized(a, {
            enumName: i
          });
        return r;
      } else {
        for (let a of r)
          this.flowEnumErrorStringMemberInconsistentlyInitialized(a, {
            enumName: i
          });
        return s;
      }
    }
    flowEnumParseExplicitType({
      enumName: s
    }) {
      if (!this.eatContextual(102)) return null;
      if (!Js(this.state.type))
        throw this.raise(_t.EnumInvalidExplicitTypeUnknownSupplied, this.state.startLoc, {
          enumName: s
        });
      let {
        value: r
      } = this.state;
      return this.next(), r !== "boolean" && r !== "number" && r !== "string" && r !== "symbol" && this.raise(_t.EnumInvalidExplicitType, this.
      state.startLoc, {
        enumName: s,
        invalidEnumType: r
      }), r;
    }
    flowEnumBody(s, r) {
      let i = r.name, a = r.loc.start, o = this.flowEnumParseExplicitType({
        enumName: i
      });
      this.expect(5);
      let {
        members: l,
        hasUnknownMembers: u
      } = this.flowEnumMembers({
        enumName: i,
        explicitType: o
      });
      switch (s.hasUnknownMembers = u, o) {
        case "boolean":
          return s.explicitType = !0, s.members = l.booleanMembers, this.expect(8), this.finishNode(s, "EnumBooleanBody");
        case "number":
          return s.explicitType = !0, s.members = l.numberMembers, this.expect(8), this.finishNode(s, "EnumNumberBody");
        case "string":
          return s.explicitType = !0, s.members = this.flowEnumStringMembers(l.stringMembers, l.defaultedMembers, {
            enumName: i
          }), this.expect(8), this.finishNode(s, "EnumStringBody");
        case "symbol":
          return s.members = l.defaultedMembers, this.expect(8), this.finishNode(s, "EnumSymbolBody");
        default: {
          let c = /* @__PURE__ */ n(() => (s.members = [], this.expect(8), this.finishNode(s, "EnumStringBody")), "empty");
          s.explicitType = !1;
          let p = l.booleanMembers.length, h = l.numberMembers.length, f = l.stringMembers.length, d = l.defaultedMembers.length;
          if (!p && !h && !f && !d)
            return c();
          if (!p && !h)
            return s.members = this.flowEnumStringMembers(l.stringMembers, l.defaultedMembers, {
              enumName: i
            }), this.expect(8), this.finishNode(s, "EnumStringBody");
          if (!h && !f && p >= d) {
            for (let m of l.defaultedMembers)
              this.flowEnumErrorBooleanMemberNotInitialized(m.loc.start, {
                enumName: i,
                memberName: m.id.name
              });
            return s.members = l.booleanMembers, this.expect(8), this.finishNode(s, "EnumBooleanBody");
          } else if (!p && !f && h >= d) {
            for (let m of l.defaultedMembers)
              this.flowEnumErrorNumberMemberNotInitialized(m.loc.start, {
                enumName: i,
                memberName: m.id.name
              });
            return s.members = l.numberMembers, this.expect(8), this.finishNode(s, "EnumNumberBody");
          } else
            return this.raise(_t.EnumInconsistentMemberValues, a, {
              enumName: i
            }), c();
        }
      }
    }
    flowParseEnumDeclaration(s) {
      let r = this.parseIdentifier();
      return s.id = r, s.body = this.flowEnumBody(this.startNode(), r), this.finishNode(s, "EnumDeclaration");
    }
    jsxParseOpeningElementAfterName(s) {
      return this.shouldParseTypes() && (this.match(47) || this.match(51)) && (s.typeArguments = this.flowParseTypeParameterInstantiationInExpression()),
      super.jsxParseOpeningElementAfterName(s);
    }
    isLookaheadToken_lt() {
      let s = this.nextTokenStart();
      if (this.input.charCodeAt(s) === 60) {
        let r = this.input.charCodeAt(s + 1);
        return r !== 60 && r !== 61;
      }
      return !1;
    }
    reScan_lt_gt() {
      let {
        type: s
      } = this.state;
      s === 47 ? (this.state.pos -= 1, this.readToken_lt()) : s === 48 && (this.state.pos -= 1, this.readToken_gt());
    }
    reScan_lt() {
      let {
        type: s
      } = this.state;
      return s === 51 ? (this.state.pos -= 2, this.finishOp(47, 1), 47) : s;
    }
    maybeUnwrapTypeCastExpression(s) {
      return s.type === "TypeCastExpression" ? s.expression : s;
    }
  }, "flow"), SVe = {
    __proto__: null,
    quot: '"',
    amp: "&",
    apos: "'",
    lt: "<",
    gt: ">",
    nbsp: "\xA0",
    iexcl: "\xA1",
    cent: "\xA2",
    pound: "\xA3",
    curren: "\xA4",
    yen: "\xA5",
    brvbar: "\xA6",
    sect: "\xA7",
    uml: "\xA8",
    copy: "\xA9",
    ordf: "\xAA",
    laquo: "\xAB",
    not: "\xAC",
    shy: "\xAD",
    reg: "\xAE",
    macr: "\xAF",
    deg: "\xB0",
    plusmn: "\xB1",
    sup2: "\xB2",
    sup3: "\xB3",
    acute: "\xB4",
    micro: "\xB5",
    para: "\xB6",
    middot: "\xB7",
    cedil: "\xB8",
    sup1: "\xB9",
    ordm: "\xBA",
    raquo: "\xBB",
    frac14: "\xBC",
    frac12: "\xBD",
    frac34: "\xBE",
    iquest: "\xBF",
    Agrave: "\xC0",
    Aacute: "\xC1",
    Acirc: "\xC2",
    Atilde: "\xC3",
    Auml: "\xC4",
    Aring: "\xC5",
    AElig: "\xC6",
    Ccedil: "\xC7",
    Egrave: "\xC8",
    Eacute: "\xC9",
    Ecirc: "\xCA",
    Euml: "\xCB",
    Igrave: "\xCC",
    Iacute: "\xCD",
    Icirc: "\xCE",
    Iuml: "\xCF",
    ETH: "\xD0",
    Ntilde: "\xD1",
    Ograve: "\xD2",
    Oacute: "\xD3",
    Ocirc: "\xD4",
    Otilde: "\xD5",
    Ouml: "\xD6",
    times: "\xD7",
    Oslash: "\xD8",
    Ugrave: "\xD9",
    Uacute: "\xDA",
    Ucirc: "\xDB",
    Uuml: "\xDC",
    Yacute: "\xDD",
    THORN: "\xDE",
    szlig: "\xDF",
    agrave: "\xE0",
    aacute: "\xE1",
    acirc: "\xE2",
    atilde: "\xE3",
    auml: "\xE4",
    aring: "\xE5",
    aelig: "\xE6",
    ccedil: "\xE7",
    egrave: "\xE8",
    eacute: "\xE9",
    ecirc: "\xEA",
    euml: "\xEB",
    igrave: "\xEC",
    iacute: "\xED",
    icirc: "\xEE",
    iuml: "\xEF",
    eth: "\xF0",
    ntilde: "\xF1",
    ograve: "\xF2",
    oacute: "\xF3",
    ocirc: "\xF4",
    otilde: "\xF5",
    ouml: "\xF6",
    divide: "\xF7",
    oslash: "\xF8",
    ugrave: "\xF9",
    uacute: "\xFA",
    ucirc: "\xFB",
    uuml: "\xFC",
    yacute: "\xFD",
    thorn: "\xFE",
    yuml: "\xFF",
    OElig: "\u0152",
    oelig: "\u0153",
    Scaron: "\u0160",
    scaron: "\u0161",
    Yuml: "\u0178",
    fnof: "\u0192",
    circ: "\u02C6",
    tilde: "\u02DC",
    Alpha: "\u0391",
    Beta: "\u0392",
    Gamma: "\u0393",
    Delta: "\u0394",
    Epsilon: "\u0395",
    Zeta: "\u0396",
    Eta: "\u0397",
    Theta: "\u0398",
    Iota: "\u0399",
    Kappa: "\u039A",
    Lambda: "\u039B",
    Mu: "\u039C",
    Nu: "\u039D",
    Xi: "\u039E",
    Omicron: "\u039F",
    Pi: "\u03A0",
    Rho: "\u03A1",
    Sigma: "\u03A3",
    Tau: "\u03A4",
    Upsilon: "\u03A5",
    Phi: "\u03A6",
    Chi: "\u03A7",
    Psi: "\u03A8",
    Omega: "\u03A9",
    alpha: "\u03B1",
    beta: "\u03B2",
    gamma: "\u03B3",
    delta: "\u03B4",
    epsilon: "\u03B5",
    zeta: "\u03B6",
    eta: "\u03B7",
    theta: "\u03B8",
    iota: "\u03B9",
    kappa: "\u03BA",
    lambda: "\u03BB",
    mu: "\u03BC",
    nu: "\u03BD",
    xi: "\u03BE",
    omicron: "\u03BF",
    pi: "\u03C0",
    rho: "\u03C1",
    sigmaf: "\u03C2",
    sigma: "\u03C3",
    tau: "\u03C4",
    upsilon: "\u03C5",
    phi: "\u03C6",
    chi: "\u03C7",
    psi: "\u03C8",
    omega: "\u03C9",
    thetasym: "\u03D1",
    upsih: "\u03D2",
    piv: "\u03D6",
    ensp: "\u2002",
    emsp: "\u2003",
    thinsp: "\u2009",
    zwnj: "\u200C",
    zwj: "\u200D",
    lrm: "\u200E",
    rlm: "\u200F",
    ndash: "\u2013",
    mdash: "\u2014",
    lsquo: "\u2018",
    rsquo: "\u2019",
    sbquo: "\u201A",
    ldquo: "\u201C",
    rdquo: "\u201D",
    bdquo: "\u201E",
    dagger: "\u2020",
    Dagger: "\u2021",
    bull: "\u2022",
    hellip: "\u2026",
    permil: "\u2030",
    prime: "\u2032",
    Prime: "\u2033",
    lsaquo: "\u2039",
    rsaquo: "\u203A",
    oline: "\u203E",
    frasl: "\u2044",
    euro: "\u20AC",
    image: "\u2111",
    weierp: "\u2118",
    real: "\u211C",
    trade: "\u2122",
    alefsym: "\u2135",
    larr: "\u2190",
    uarr: "\u2191",
    rarr: "\u2192",
    darr: "\u2193",
    harr: "\u2194",
    crarr: "\u21B5",
    lArr: "\u21D0",
    uArr: "\u21D1",
    rArr: "\u21D2",
    dArr: "\u21D3",
    hArr: "\u21D4",
    forall: "\u2200",
    part: "\u2202",
    exist: "\u2203",
    empty: "\u2205",
    nabla: "\u2207",
    isin: "\u2208",
    notin: "\u2209",
    ni: "\u220B",
    prod: "\u220F",
    sum: "\u2211",
    minus: "\u2212",
    lowast: "\u2217",
    radic: "\u221A",
    prop: "\u221D",
    infin: "\u221E",
    ang: "\u2220",
    and: "\u2227",
    or: "\u2228",
    cap: "\u2229",
    cup: "\u222A",
    int: "\u222B",
    there4: "\u2234",
    sim: "\u223C",
    cong: "\u2245",
    asymp: "\u2248",
    ne: "\u2260",
    equiv: "\u2261",
    le: "\u2264",
    ge: "\u2265",
    sub: "\u2282",
    sup: "\u2283",
    nsub: "\u2284",
    sube: "\u2286",
    supe: "\u2287",
    oplus: "\u2295",
    otimes: "\u2297",
    perp: "\u22A5",
    sdot: "\u22C5",
    lceil: "\u2308",
    rceil: "\u2309",
    lfloor: "\u230A",
    rfloor: "\u230B",
    lang: "\u2329",
    rang: "\u232A",
    loz: "\u25CA",
    spades: "\u2660",
    clubs: "\u2663",
    hearts: "\u2665",
    diams: "\u2666"
  }, gh = tu`jsx`({
    AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.",
    MissingClosingTagElement: /* @__PURE__ */ n(({
      openingTagName: t
    }) => `Expected corresponding JSX closing tag for <${t}>.`, "MissingClosingTagElement"),
    MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.",
    UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",
    UnexpectedToken: /* @__PURE__ */ n(({
      unexpected: t,
      HTMLEntity: e
    }) => `Unexpected token \`${t}\`. Did you mean \`${e}\` or \`{'${t}'}\`?`, "UnexpectedToken"),
    UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.",
    UnterminatedJsxContent: "Unterminated JSX contents.",
    UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"
  });
  function qc(t) {
    return t ? t.type === "JSXOpeningFragment" || t.type === "JSXClosingFragment" : !1;
  }
  n(qc, "isFragment");
  function bd(t) {
    if (t.type === "JSXIdentifier")
      return t.name;
    if (t.type === "JSXNamespacedName")
      return t.namespace.name + ":" + t.name.name;
    if (t.type === "JSXMemberExpression")
      return bd(t.object) + "." + bd(t.property);
    throw new Error("Node had unexpected type: " + t.type);
  }
  n(bd, "getQualifiedJSXName");
  var PVe = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "JSXParserMixin");
    }
    jsxReadToken() {
      let s = "", r = this.state.pos;
      for (; ; ) {
        if (this.state.pos >= this.length)
          throw this.raise(gh.UnterminatedJsxContent, this.state.startLoc);
        let i = this.input.charCodeAt(this.state.pos);
        switch (i) {
          case 60:
          case 123:
            if (this.state.pos === this.state.start) {
              i === 60 && this.state.canStartJSXElement ? (++this.state.pos, this.finishToken(143)) : super.getTokenFromCode(i);
              return;
            }
            s += this.input.slice(r, this.state.pos), this.finishToken(142, s);
            return;
          case 38:
            s += this.input.slice(r, this.state.pos), s += this.jsxReadEntity(), r = this.state.pos;
            break;
          case 62:
          case 125:
          default:
            Sd(i) ? (s += this.input.slice(r, this.state.pos), s += this.jsxReadNewLine(!0), r = this.state.pos) : ++this.state.pos;
        }
      }
    }
    jsxReadNewLine(s) {
      let r = this.input.charCodeAt(this.state.pos), i;
      return ++this.state.pos, r === 13 && this.input.charCodeAt(this.state.pos) === 10 ? (++this.state.pos, i = s ? `
` : `\r
`) : i = String.fromCharCode(r), ++this.state.curLine, this.state.lineStart = this.state.pos, i;
    }
    jsxReadString(s) {
      let r = "", i = ++this.state.pos;
      for (; ; ) {
        if (this.state.pos >= this.length)
          throw this.raise(Q.UnterminatedString, this.state.startLoc);
        let a = this.input.charCodeAt(this.state.pos);
        if (a === s) break;
        a === 38 ? (r += this.input.slice(i, this.state.pos), r += this.jsxReadEntity(), i = this.state.pos) : Sd(a) ? (r += this.input.slice(
        i, this.state.pos), r += this.jsxReadNewLine(!1), i = this.state.pos) : ++this.state.pos;
      }
      r += this.input.slice(i, this.state.pos++), this.finishToken(134, r);
    }
    jsxReadEntity() {
      let s = ++this.state.pos;
      if (this.codePointAtPos(this.state.pos) === 35) {
        ++this.state.pos;
        let r = 10;
        this.codePointAtPos(this.state.pos) === 120 && (r = 16, ++this.state.pos);
        let i = this.readInt(r, void 0, !1, "bail");
        if (i !== null && this.codePointAtPos(this.state.pos) === 59)
          return ++this.state.pos, String.fromCodePoint(i);
      } else {
        let r = 0, i = !1;
        for (; r++ < 10 && this.state.pos < this.length && !(i = this.codePointAtPos(this.state.pos) === 59); )
          ++this.state.pos;
        if (i) {
          let a = this.input.slice(s, this.state.pos), o = SVe[a];
          if (++this.state.pos, o)
            return o;
        }
      }
      return this.state.pos = s, "&";
    }
    jsxReadWord() {
      let s, r = this.state.pos;
      do
        s = this.input.charCodeAt(++this.state.pos);
      while (xd(s) || s === 45);
      this.finishToken(141, this.input.slice(r, this.state.pos));
    }
    jsxParseIdentifier() {
      let s = this.startNode();
      return this.match(141) ? s.name = this.state.value : Zk(this.state.type) ? s.name = Uc(this.state.type) : this.unexpected(), this.next(),
      this.finishNode(s, "JSXIdentifier");
    }
    jsxParseNamespacedName() {
      let s = this.state.startLoc, r = this.jsxParseIdentifier();
      if (!this.eat(14)) return r;
      let i = this.startNodeAt(s);
      return i.namespace = r, i.name = this.jsxParseIdentifier(), this.finishNode(i, "JSXNamespacedName");
    }
    jsxParseElementName() {
      let s = this.state.startLoc, r = this.jsxParseNamespacedName();
      if (r.type === "JSXNamespacedName")
        return r;
      for (; this.eat(16); ) {
        let i = this.startNodeAt(s);
        i.object = r, i.property = this.jsxParseIdentifier(), r = this.finishNode(i, "JSXMemberExpression");
      }
      return r;
    }
    jsxParseAttributeValue() {
      let s;
      switch (this.state.type) {
        case 5:
          return s = this.startNode(), this.setContext(Hs.brace), this.next(), s = this.jsxParseExpressionContainer(s, Hs.j_oTag), s.expression.
          type === "JSXEmptyExpression" && this.raise(gh.AttributeIsEmpty, s), s;
        case 143:
        case 134:
          return this.parseExprAtom();
        default:
          throw this.raise(gh.UnsupportedJsxValue, this.state.startLoc);
      }
    }
    jsxParseEmptyExpression() {
      let s = this.startNodeAt(this.state.lastTokEndLoc);
      return this.finishNodeAt(s, "JSXEmptyExpression", this.state.startLoc);
    }
    jsxParseSpreadChild(s) {
      return this.next(), s.expression = this.parseExpression(), this.setContext(Hs.j_expr), this.state.canStartJSXElement = !0, this.expect(
      8), this.finishNode(s, "JSXSpreadChild");
    }
    jsxParseExpressionContainer(s, r) {
      if (this.match(8))
        s.expression = this.jsxParseEmptyExpression();
      else {
        let i = this.parseExpression();
        s.expression = i;
      }
      return this.setContext(r), this.state.canStartJSXElement = !0, this.expect(8), this.finishNode(s, "JSXExpressionContainer");
    }
    jsxParseAttribute() {
      let s = this.startNode();
      return this.match(5) ? (this.setContext(Hs.brace), this.next(), this.expect(21), s.argument = this.parseMaybeAssignAllowIn(), this.setContext(
      Hs.j_oTag), this.state.canStartJSXElement = !0, this.expect(8), this.finishNode(s, "JSXSpreadAttribute")) : (s.name = this.jsxParseNamespacedName(),
      s.value = this.eat(29) ? this.jsxParseAttributeValue() : null, this.finishNode(s, "JSXAttribute"));
    }
    jsxParseOpeningElementAt(s) {
      let r = this.startNodeAt(s);
      return this.eat(144) ? this.finishNode(r, "JSXOpeningFragment") : (r.name = this.jsxParseElementName(), this.jsxParseOpeningElementAfterName(
      r));
    }
    jsxParseOpeningElementAfterName(s) {
      let r = [];
      for (; !this.match(56) && !this.match(144); )
        r.push(this.jsxParseAttribute());
      return s.attributes = r, s.selfClosing = this.eat(56), this.expect(144), this.finishNode(s, "JSXOpeningElement");
    }
    jsxParseClosingElementAt(s) {
      let r = this.startNodeAt(s);
      return this.eat(144) ? this.finishNode(r, "JSXClosingFragment") : (r.name = this.jsxParseElementName(), this.expect(144), this.finishNode(
      r, "JSXClosingElement"));
    }
    jsxParseElementAt(s) {
      let r = this.startNodeAt(s), i = [], a = this.jsxParseOpeningElementAt(s), o = null;
      if (!a.selfClosing) {
        e: for (; ; )
          switch (this.state.type) {
            case 143:
              if (s = this.state.startLoc, this.next(), this.eat(56)) {
                o = this.jsxParseClosingElementAt(s);
                break e;
              }
              i.push(this.jsxParseElementAt(s));
              break;
            case 142:
              i.push(this.parseLiteral(this.state.value, "JSXText"));
              break;
            case 5: {
              let l = this.startNode();
              this.setContext(Hs.brace), this.next(), this.match(21) ? i.push(this.jsxParseSpreadChild(l)) : i.push(this.jsxParseExpressionContainer(
              l, Hs.j_expr));
              break;
            }
            default:
              this.unexpected();
          }
        qc(a) && !qc(o) && o !== null ? this.raise(gh.MissingClosingTagFragment, o) : !qc(a) && qc(o) ? this.raise(gh.MissingClosingTagElement,
        o, {
          openingTagName: bd(a.name)
        }) : !qc(a) && !qc(o) && bd(o.name) !== bd(a.name) && this.raise(gh.MissingClosingTagElement, o, {
          openingTagName: bd(a.name)
        });
      }
      if (qc(a) ? (r.openingFragment = a, r.closingFragment = o) : (r.openingElement = a, r.closingElement = o), r.children = i, this.match(
      47))
        throw this.raise(gh.UnwrappedAdjacentJSXElements, this.state.startLoc);
      return qc(a) ? this.finishNode(r, "JSXFragment") : this.finishNode(r, "JSXElement");
    }
    jsxParseElement() {
      let s = this.state.startLoc;
      return this.next(), this.jsxParseElementAt(s);
    }
    setContext(s) {
      let {
        context: r
      } = this.state;
      r[r.length - 1] = s;
    }
    parseExprAtom(s) {
      return this.match(143) ? this.jsxParseElement() : this.match(47) && this.input.charCodeAt(this.state.pos) !== 33 ? (this.replaceToken(
      143), this.jsxParseElement()) : super.parseExprAtom(s);
    }
    skipSpace() {
      this.curContext().preserveSpace || super.skipSpace();
    }
    getTokenFromCode(s) {
      let r = this.curContext();
      if (r === Hs.j_expr) {
        this.jsxReadToken();
        return;
      }
      if (r === Hs.j_oTag || r === Hs.j_cTag) {
        if (eu(s)) {
          this.jsxReadWord();
          return;
        }
        if (s === 62) {
          ++this.state.pos, this.finishToken(144);
          return;
        }
        if ((s === 34 || s === 39) && r === Hs.j_oTag) {
          this.jsxReadString(s);
          return;
        }
      }
      if (s === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) {
        ++this.state.pos, this.finishToken(143);
        return;
      }
      super.getTokenFromCode(s);
    }
    updateContext(s) {
      let {
        context: r,
        type: i
      } = this.state;
      if (i === 56 && s === 143)
        r.splice(-2, 2, Hs.j_cTag), this.state.canStartJSXElement = !1;
      else if (i === 143)
        r.push(Hs.j_oTag);
      else if (i === 144) {
        let a = r[r.length - 1];
        a === Hs.j_oTag && s === 56 || a === Hs.j_cTag ? (r.pop(), this.state.canStartJSXElement = r[r.length - 1] === Hs.j_expr) : (this.setContext(
        Hs.j_expr), this.state.canStartJSXElement = !0);
      } else
        this.state.canStartJSXElement = jKe(i);
    }
  }, "jsx"), Kk = class extends xg {
    static {
      n(this, "TypeScriptScope");
    }
    constructor(...e) {
      super(...e), this.tsNames = /* @__PURE__ */ new Map();
    }
  }, Vk = class extends Sg {
    static {
      n(this, "TypeScriptScopeHandler");
    }
    constructor(...e) {
      super(...e), this.importsStack = [];
    }
    createScope(e) {
      return this.importsStack.push(/* @__PURE__ */ new Set()), new Kk(e);
    }
    enter(e) {
      e === 256 && this.importsStack.push(/* @__PURE__ */ new Set()), super.enter(e);
    }
    exit() {
      let e = super.exit();
      return e === 256 && this.importsStack.pop(), e;
    }
    hasImport(e, s) {
      let r = this.importsStack.length;
      if (this.importsStack[r - 1].has(e))
        return !0;
      if (!s && r > 1) {
        for (let i = 0; i < r - 1; i++)
          if (this.importsStack[i].has(e)) return !0;
      }
      return !1;
    }
    declareName(e, s, r) {
      if (s & 4096) {
        this.hasImport(e, !0) && this.parser.raise(Q.VarRedeclaration, r, {
          identifierName: e
        }), this.importsStack[this.importsStack.length - 1].add(e);
        return;
      }
      let i = this.currentScope(), a = i.tsNames.get(e) || 0;
      if (s & 1024) {
        this.maybeExportDefined(i, e), i.tsNames.set(e, a | 16);
        return;
      }
      super.declareName(e, s, r), s & 2 && (s & 1 || (this.checkRedeclarationInScope(i, e, s, r), this.maybeExportDefined(i, e)), a = a | 1),
      s & 256 && (a = a | 2), s & 512 && (a = a | 4), s & 128 && (a = a | 8), a && i.tsNames.set(e, a);
    }
    isRedeclaredInScope(e, s, r) {
      let i = e.tsNames.get(s);
      if ((i & 2) > 0) {
        if (r & 256) {
          let a = !!(r & 512), o = (i & 4) > 0;
          return a !== o;
        }
        return !0;
      }
      return r & 128 && (i & 8) > 0 ? e.names.get(s) & 2 ? !!(r & 1) : !1 : r & 2 && (i & 1) > 0 ? !0 : super.isRedeclaredInScope(e, s, r);
    }
    checkLocalExport(e) {
      let {
        name: s
      } = e;
      if (this.hasImport(s)) return;
      let r = this.scopeStack.length;
      for (let i = r - 1; i >= 0; i--) {
        let o = this.scopeStack[i].tsNames.get(s);
        if ((o & 1) > 0 || (o & 16) > 0)
          return;
      }
      super.checkLocalExport(e);
    }
  }, I$ = /* @__PURE__ */ n((t) => t.type === "ParenthesizedExpression" ? I$(t.expression) : t, "unwrapParenthesizedExpression"), Wk = class extends Uk {
    static {
      n(this, "LValParser");
    }
    toAssignable(e, s = !1) {
      var r, i;
      let a;
      switch ((e.type === "ParenthesizedExpression" || (r = e.extra) != null && r.parenthesized) && (a = I$(e), s ? a.type === "Identifier" ?
      this.expressionScope.recordArrowParameterBindingError(Q.InvalidParenthesizedAssignment, e) : a.type !== "MemberExpression" && !this.isOptionalMemberExpression(
      a) && this.raise(Q.InvalidParenthesizedAssignment, e) : this.raise(Q.InvalidParenthesizedAssignment, e)), e.type) {
        case "Identifier":
        case "ObjectPattern":
        case "ArrayPattern":
        case "AssignmentPattern":
        case "RestElement":
          break;
        case "ObjectExpression":
          e.type = "ObjectPattern";
          for (let l = 0, u = e.properties.length, c = u - 1; l < u; l++) {
            var o;
            let p = e.properties[l], h = l === c;
            this.toAssignableObjectExpressionProp(p, h, s), h && p.type === "RestElement" && (o = e.extra) != null && o.trailingCommaLoc && this.
            raise(Q.RestTrailingComma, e.extra.trailingCommaLoc);
          }
          break;
        case "ObjectProperty": {
          let {
            key: l,
            value: u
          } = e;
          this.isPrivateName(l) && this.classScope.usePrivateName(this.getPrivateNameSV(l), l.loc.start), this.toAssignable(u, s);
          break;
        }
        case "SpreadElement":
          throw new Error("Internal @babel/parser error (this is a bug, please report it). SpreadElement should be converted by .toAssignabl\
e's caller.");
        case "ArrayExpression":
          e.type = "ArrayPattern", this.toAssignableList(e.elements, (i = e.extra) == null ? void 0 : i.trailingCommaLoc, s);
          break;
        case "AssignmentExpression":
          e.operator !== "=" && this.raise(Q.MissingEqInAssignment, e.left.loc.end), e.type = "AssignmentPattern", delete e.operator, this.toAssignable(
          e.left, s);
          break;
        case "ParenthesizedExpression":
          this.toAssignable(a, s);
          break;
      }
    }
    toAssignableObjectExpressionProp(e, s, r) {
      if (e.type === "ObjectMethod")
        this.raise(e.kind === "get" || e.kind === "set" ? Q.PatternHasAccessor : Q.PatternHasMethod, e.key);
      else if (e.type === "SpreadElement") {
        e.type = "RestElement";
        let i = e.argument;
        this.checkToRestConversion(i, !1), this.toAssignable(i, r), s || this.raise(Q.RestTrailingComma, e);
      } else
        this.toAssignable(e, r);
    }
    toAssignableList(e, s, r) {
      let i = e.length - 1;
      for (let a = 0; a <= i; a++) {
        let o = e[a];
        if (o) {
          if (o.type === "SpreadElement") {
            o.type = "RestElement";
            let l = o.argument;
            this.checkToRestConversion(l, !0), this.toAssignable(l, r);
          } else
            this.toAssignable(o, r);
          o.type === "RestElement" && (a < i ? this.raise(Q.RestTrailingComma, o) : s && this.raise(Q.RestTrailingComma, s));
        }
      }
    }
    isAssignable(e, s) {
      switch (e.type) {
        case "Identifier":
        case "ObjectPattern":
        case "ArrayPattern":
        case "AssignmentPattern":
        case "RestElement":
          return !0;
        case "ObjectExpression": {
          let r = e.properties.length - 1;
          return e.properties.every((i, a) => i.type !== "ObjectMethod" && (a === r || i.type !== "SpreadElement") && this.isAssignable(i));
        }
        case "ObjectProperty":
          return this.isAssignable(e.value);
        case "SpreadElement":
          return this.isAssignable(e.argument);
        case "ArrayExpression":
          return e.elements.every((r) => r === null || this.isAssignable(r));
        case "AssignmentExpression":
          return e.operator === "=";
        case "ParenthesizedExpression":
          return this.isAssignable(e.expression);
        case "MemberExpression":
        case "OptionalMemberExpression":
          return !s;
        default:
          return !1;
      }
    }
    toReferencedList(e, s) {
      return e;
    }
    toReferencedListDeep(e, s) {
      this.toReferencedList(e, s);
      for (let r of e)
        r?.type === "ArrayExpression" && this.toReferencedListDeep(r.elements);
    }
    parseSpread(e) {
      let s = this.startNode();
      return this.next(), s.argument = this.parseMaybeAssignAllowIn(e, void 0), this.finishNode(s, "SpreadElement");
    }
    parseRestBinding() {
      let e = this.startNode();
      return this.next(), e.argument = this.parseBindingAtom(), this.finishNode(e, "RestElement");
    }
    parseBindingAtom() {
      switch (this.state.type) {
        case 0: {
          let e = this.startNode();
          return this.next(), e.elements = this.parseBindingList(3, 93, 1), this.finishNode(e, "ArrayPattern");
        }
        case 5:
          return this.parseObjectLike(8, !0);
      }
      return this.parseIdentifier();
    }
    parseBindingList(e, s, r) {
      let i = r & 1, a = [], o = !0;
      for (; !this.eat(e); )
        if (o ? o = !1 : this.expect(12), i && this.match(12))
          a.push(null);
        else {
          if (this.eat(e))
            break;
          if (this.match(21)) {
            let l = this.parseRestBinding();
            if ((this.hasPlugin("flow") || r & 2) && (l = this.parseFunctionParamType(l)), a.push(l), !this.checkCommaAfterRest(s)) {
              this.expect(e);
              break;
            }
          } else {
            let l = [];
            for (this.match(26) && this.hasPlugin("decorators") && this.raise(Q.UnsupportedParameterDecorator, this.state.startLoc); this.match(
            26); )
              l.push(this.parseDecorator());
            a.push(this.parseAssignableListItem(r, l));
          }
        }
      return a;
    }
    parseBindingRestProperty(e) {
      return this.next(), e.argument = this.parseIdentifier(), this.checkCommaAfterRest(125), this.finishNode(e, "RestElement");
    }
    parseBindingProperty() {
      let {
        type: e,
        startLoc: s
      } = this.state;
      if (e === 21)
        return this.parseBindingRestProperty(this.startNode());
      let r = this.startNode();
      return e === 139 ? (this.expectPlugin("destructuringPrivate", s), this.classScope.usePrivateName(this.state.value, s), r.key = this.parsePrivateName()) :
      this.parsePropertyName(r), r.method = !1, this.parseObjPropValue(r, s, !1, !1, !0, !1);
    }
    parseAssignableListItem(e, s) {
      let r = this.parseMaybeDefault();
      (this.hasPlugin("flow") || e & 2) && this.parseFunctionParamType(r);
      let i = this.parseMaybeDefault(r.loc.start, r);
      return s.length && (r.decorators = s), i;
    }
    parseFunctionParamType(e) {
      return e;
    }
    parseMaybeDefault(e, s) {
      var r, i;
      if ((r = e) != null || (e = this.state.startLoc), s = (i = s) != null ? i : this.parseBindingAtom(), !this.eat(29)) return s;
      let a = this.startNodeAt(e);
      return a.left = s, a.right = this.parseMaybeAssignAllowIn(), this.finishNode(a, "AssignmentPattern");
    }
    isValidLVal(e, s, r) {
      switch (e) {
        case "AssignmentPattern":
          return "left";
        case "RestElement":
          return "argument";
        case "ObjectProperty":
          return "value";
        case "ParenthesizedExpression":
          return "expression";
        case "ArrayPattern":
          return "elements";
        case "ObjectPattern":
          return "properties";
      }
      return !1;
    }
    isOptionalMemberExpression(e) {
      return e.type === "OptionalMemberExpression";
    }
    checkLVal(e, s, r = 64, i = !1, a = !1, o = !1) {
      var l;
      let u = e.type;
      if (this.isObjectMethod(e)) return;
      let c = this.isOptionalMemberExpression(e);
      if (c || u === "MemberExpression") {
        c && (this.expectPlugin("optionalChainingAssign", e.loc.start), s.type !== "AssignmentExpression" && this.raise(Q.InvalidLhsOptionalChaining,
        e, {
          ancestor: s
        })), r !== 64 && this.raise(Q.InvalidPropertyBindingPattern, e);
        return;
      }
      if (u === "Identifier") {
        this.checkIdentifier(e, r, a);
        let {
          name: y
        } = e;
        i && (i.has(y) ? this.raise(Q.ParamDupe, e) : i.add(y));
        return;
      }
      let p = this.isValidLVal(u, !(o || (l = e.extra) != null && l.parenthesized) && s.type === "AssignmentExpression", r);
      if (p === !0) return;
      if (p === !1) {
        let y = r === 64 ? Q.InvalidLhs : Q.InvalidLhsBinding;
        this.raise(y, e, {
          ancestor: s
        });
        return;
      }
      let h, f;
      typeof p == "string" ? (h = p, f = u === "ParenthesizedExpression") : [h, f] = p;
      let d = u === "ArrayPattern" || u === "ObjectPattern" ? {
        type: u
      } : s, m = e[h];
      if (Array.isArray(m))
        for (let y of m)
          y && this.checkLVal(y, d, r, i, a, f);
      else m && this.checkLVal(m, d, r, i, a, f);
    }
    checkIdentifier(e, s, r = !1) {
      this.state.strict && (r ? E$(e.name, this.inModule) : P$(e.name)) && (s === 64 ? this.raise(Q.StrictEvalArguments, e, {
        referenceName: e.name
      }) : this.raise(Q.StrictEvalArgumentsBinding, e, {
        bindingName: e.name
      })), s & 8192 && e.name === "let" && this.raise(Q.LetInLexicalBinding, e), s & 64 || this.declareNameFromIdentifier(e, s);
    }
    declareNameFromIdentifier(e, s) {
      this.scope.declareName(e.name, s, e.loc.start);
    }
    checkToRestConversion(e, s) {
      switch (e.type) {
        case "ParenthesizedExpression":
          this.checkToRestConversion(e.expression, s);
          break;
        case "Identifier":
        case "MemberExpression":
          break;
        case "ArrayExpression":
        case "ObjectExpression":
          if (s) break;
        default:
          this.raise(Q.InvalidRestAssignmentPattern, e);
      }
    }
    checkCommaAfterRest(e) {
      return this.match(12) ? (this.raise(this.lookaheadCharCode() === e ? Q.RestTrailingComma : Q.ElementAfterRest, this.state.startLoc), !0) :
      !1;
    }
  };
  function EVe(t) {
    if (t == null)
      throw new Error(`Unexpected ${t} value.`);
    return t;
  }
  n(EVe, "nonNull");
  function p$(t) {
    if (!t)
      throw new Error("Assert fail");
  }
  n(p$, "assert");
  var pt = tu`typescript`({
    AbstractMethodHasImplementation: /* @__PURE__ */ n(({
      methodName: t
    }) => `Method '${t}' cannot have an implementation because it is marked abstract.`, "AbstractMethodHasImplementation"),
    AbstractPropertyHasInitializer: /* @__PURE__ */ n(({
      propertyName: t
    }) => `Property '${t}' cannot have an initializer because it is marked abstract.`, "AbstractPropertyHasInitializer"),
    AccessorCannotBeOptional: "An 'accessor' property cannot be declared optional.",
    AccessorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.",
    AccessorCannotHaveTypeParameters: "An accessor cannot have type parameters.",
    ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.",
    ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.",
    ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "A 'const' initializer in an ambient context must be a string or num\
eric literal or literal enum reference.",
    ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.",
    DeclareAccessor: /* @__PURE__ */ n(({
      kind: t
    }) => `'declare' is not allowed in ${t}ters.`, "DeclareAccessor"),
    DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.",
    DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.",
    DuplicateAccessibilityModifier: /* @__PURE__ */ n(({
      modifier: t
    }) => "Accessibility modifier already seen.", "DuplicateAccessibilityModifier"),
    DuplicateModifier: /* @__PURE__ */ n(({
      modifier: t
    }) => `Duplicate modifier: '${t}'.`, "DuplicateModifier"),
    EmptyHeritageClauseType: /* @__PURE__ */ n(({
      token: t
    }) => `'${t}' list cannot be empty.`, "EmptyHeritageClauseType"),
    EmptyTypeArguments: "Type argument list cannot be empty.",
    EmptyTypeParameters: "Type parameter list cannot be empty.",
    ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.",
    ImportAliasHasImportType: "An import alias can not use 'import type'.",
    ImportReflectionHasImportType: "An `import module` declaration can not use `type` modifier",
    IncompatibleModifiers: /* @__PURE__ */ n(({
      modifiers: t
    }) => `'${t[0]}' modifier cannot be used with '${t[1]}' modifier.`, "IncompatibleModifiers"),
    IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.",
    IndexSignatureHasAccessibility: /* @__PURE__ */ n(({
      modifier: t
    }) => `Index signatures cannot have an accessibility modifier ('${t}').`, "IndexSignatureHasAccessibility"),
    IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.",
    IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.",
    IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.",
    InitializerNotAllowedInAmbientContext: "Initializers are not allowed in ambient contexts.",
    InvalidModifierOnTypeMember: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier cannot appear on a type member.`, "InvalidModifierOnTypeMember"),
    InvalidModifierOnTypeParameter: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier cannot appear on a type parameter.`, "InvalidModifierOnTypeParameter"),
    InvalidModifierOnTypeParameterPositions: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier can only appear on a type parameter of a class, interface or type alias.`, "InvalidModifierOnTypeParameterPositio\
ns"),
    InvalidModifiersOrder: /* @__PURE__ */ n(({
      orderedModifiers: t
    }) => `'${t[0]}' modifier must precede '${t[1]}' modifier.`, "InvalidModifiersOrder"),
    InvalidPropertyAccessAfterInstantiationExpression: "Invalid property access after an instantiation expression. You can either wrap the i\
nstantiation expression in parentheses, or delete the type arguments.",
    InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.",
    MissingInterfaceName: "'interface' declarations must be followed by an identifier.",
    NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.",
    NonClassMethodPropertyHasAbstractModifer: "'abstract' modifier can only appear on a class, method, or property declaration.",
    OptionalTypeBeforeRequired: "A required element cannot follow an optional element.",
    OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.",
    PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.",
    PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.",
    PrivateElementHasAccessibility: /* @__PURE__ */ n(({
      modifier: t
    }) => `Private elements cannot have an accessibility modifier ('${t}').`, "PrivateElementHasAccessibility"),
    ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.",
    ReservedArrowTypeParam: "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",
    ReservedTypeAssertion: "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",
    SetAccessorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.",
    SetAccessorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.",
    SetAccessorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.",
    SingleTypeParameterWithoutTrailingComma: /* @__PURE__ */ n(({
      typeParameterName: t
    }) => `Single type parameter ${t} should have a trailing comma. Example usage: <${t},>.`, "SingleTypeParameterWithoutTrailingComma"),
    StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.",
    TupleOptionalAfterType: "A labeled tuple optional element must be declared using a question mark after the name and before the colon (`n\
ame?: type`), rather than after the type (`name: type?`).",
    TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number =\
 25`.",
    TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.",
    TypeModifierIsUsedInTypeExports: "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statemen\
t.",
    TypeModifierIsUsedInTypeImports: "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statemen\
t.",
    UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.",
    UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.",
    UnexpectedTypeAnnotation: "Did not expect a type annotation here.",
    UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.",
    UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.",
    UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.",
    UnsupportedSignatureParameterKind: /* @__PURE__ */ n(({
      type: t
    }) => `Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${t}.`, "UnsupportedSignatureParameterKind")
  });
  function AVe(t) {
    switch (t) {
      case "any":
        return "TSAnyKeyword";
      case "boolean":
        return "TSBooleanKeyword";
      case "bigint":
        return "TSBigIntKeyword";
      case "never":
        return "TSNeverKeyword";
      case "number":
        return "TSNumberKeyword";
      case "object":
        return "TSObjectKeyword";
      case "string":
        return "TSStringKeyword";
      case "symbol":
        return "TSSymbolKeyword";
      case "undefined":
        return "TSUndefinedKeyword";
      case "unknown":
        return "TSUnknownKeyword";
      default:
        return;
    }
  }
  n(AVe, "keywordTypeFromName");
  function h$(t) {
    return t === "private" || t === "public" || t === "protected";
  }
  n(h$, "tsIsAccessModifier");
  function vVe(t) {
    return t === "in" || t === "out";
  }
  n(vVe, "tsIsVarianceAnnotations");
  var CVe = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "TypeScriptParserMixin");
    }
    constructor(...s) {
      super(...s), this.tsParseInOutModifiers = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["in", "out"],
        disallowedModifiers: ["const", "public", "private", "protected", "readonly", "declare", "abstract", "override"],
        errorTemplate: pt.InvalidModifierOnTypeParameter
      }), this.tsParseConstModifier = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["const"],
        disallowedModifiers: ["in", "out"],
        errorTemplate: pt.InvalidModifierOnTypeParameterPositions
      }), this.tsParseInOutConstModifiers = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["in", "out", "const"],
        disallowedModifiers: ["public", "private", "protected", "readonly", "declare", "abstract", "override"],
        errorTemplate: pt.InvalidModifierOnTypeParameter
      });
    }
    getScopeHandler() {
      return Vk;
    }
    tsIsIdentifier() {
      return Js(this.state.type);
    }
    tsTokenCanFollowModifier() {
      return this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(139) || this.isLiteralPropertyName();
    }
    tsNextTokenOnSameLineAndCanFollowModifier() {
      return this.next(), this.hasPrecedingLineBreak() ? !1 : this.tsTokenCanFollowModifier();
    }
    tsNextTokenCanFollowModifier() {
      return this.match(106) ? (this.next(), this.tsTokenCanFollowModifier()) : this.tsNextTokenOnSameLineAndCanFollowModifier();
    }
    tsParseModifier(s, r) {
      if (!Js(this.state.type) && this.state.type !== 58 && this.state.type !== 75)
        return;
      let i = this.state.value;
      if (s.includes(i)) {
        if (r && this.tsIsStartOfStaticBlocks())
          return;
        if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))
          return i;
      }
    }
    tsParseModifiers({
      allowedModifiers: s,
      disallowedModifiers: r,
      stopOnStartOfClassStaticBlock: i,
      errorTemplate: a = pt.InvalidModifierOnTypeMember
    }, o) {
      let l = /* @__PURE__ */ n((c, p, h, f) => {
        p === h && o[f] && this.raise(pt.InvalidModifiersOrder, c, {
          orderedModifiers: [h, f]
        });
      }, "enforceOrder"), u = /* @__PURE__ */ n((c, p, h, f) => {
        (o[h] && p === f || o[f] && p === h) && this.raise(pt.IncompatibleModifiers, c, {
          modifiers: [h, f]
        });
      }, "incompatible");
      for (; ; ) {
        let {
          startLoc: c
        } = this.state, p = this.tsParseModifier(s.concat(r ?? []), i);
        if (!p) break;
        h$(p) ? o.accessibility ? this.raise(pt.DuplicateAccessibilityModifier, c, {
          modifier: p
        }) : (l(c, p, p, "override"), l(c, p, p, "static"), l(c, p, p, "readonly"), o.accessibility = p) : vVe(p) ? (o[p] && this.raise(pt.DuplicateModifier,
        c, {
          modifier: p
        }), o[p] = !0, l(c, p, "in", "out")) : (hasOwnProperty.call(o, p) ? this.raise(pt.DuplicateModifier, c, {
          modifier: p
        }) : (l(c, p, "static", "readonly"), l(c, p, "static", "override"), l(c, p, "override", "readonly"), l(c, p, "abstract", "override"),
        u(c, p, "declare", "override"), u(c, p, "static", "abstract")), o[p] = !0), r != null && r.includes(p) && this.raise(a, c, {
          modifier: p
        });
      }
    }
    tsIsListTerminator(s) {
      switch (s) {
        case "EnumMembers":
        case "TypeMembers":
          return this.match(8);
        case "HeritageClauseElement":
          return this.match(5);
        case "TupleElementTypes":
          return this.match(3);
        case "TypeParametersOrArguments":
          return this.match(48);
      }
    }
    tsParseList(s, r) {
      let i = [];
      for (; !this.tsIsListTerminator(s); )
        i.push(r());
      return i;
    }
    tsParseDelimitedList(s, r, i) {
      return EVe(this.tsParseDelimitedListWorker(s, r, !0, i));
    }
    tsParseDelimitedListWorker(s, r, i, a) {
      let o = [], l = -1;
      for (; !this.tsIsListTerminator(s); ) {
        l = -1;
        let u = r();
        if (u == null)
          return;
        if (o.push(u), this.eat(12)) {
          l = this.state.lastTokStartLoc.index;
          continue;
        }
        if (this.tsIsListTerminator(s))
          break;
        i && this.expect(12);
        return;
      }
      return a && (a.value = l), o;
    }
    tsParseBracketedList(s, r, i, a, o) {
      a || (i ? this.expect(0) : this.expect(47));
      let l = this.tsParseDelimitedList(s, r, o);
      return i ? this.expect(3) : this.expect(48), l;
    }
    tsParseImportType() {
      let s = this.startNode();
      return this.expect(83), this.expect(10), this.match(134) ? s.argument = this.parseStringLiteral(this.state.value) : (this.raise(pt.UnsupportedImportTypeArgument,
      this.state.startLoc), s.argument = super.parseExprAtom()), this.eat(12) && !this.match(11) ? (s.options = super.parseMaybeAssignAllowIn(),
      this.eat(12)) : s.options = null, this.expect(11), this.eat(16) && (s.qualifier = this.tsParseEntityName(3)), this.match(47) && (s.typeParameters =
      this.tsParseTypeArguments()), this.finishNode(s, "TSImportType");
    }
    tsParseEntityName(s) {
      let r;
      if (s & 1 && this.match(78))
        if (s & 2)
          r = this.parseIdentifier(!0);
        else {
          let i = this.startNode();
          this.next(), r = this.finishNode(i, "ThisExpression");
        }
      else
        r = this.parseIdentifier(!!(s & 1));
      for (; this.eat(16); ) {
        let i = this.startNodeAtNode(r);
        i.left = r, i.right = this.parseIdentifier(!!(s & 1)), r = this.finishNode(i, "TSQualifiedName");
      }
      return r;
    }
    tsParseTypeReference() {
      let s = this.startNode();
      return s.typeName = this.tsParseEntityName(1), !this.hasPrecedingLineBreak() && this.match(47) && (s.typeParameters = this.tsParseTypeArguments()),
      this.finishNode(s, "TSTypeReference");
    }
    tsParseThisTypePredicate(s) {
      this.next();
      let r = this.startNodeAtNode(s);
      return r.parameterName = s, r.typeAnnotation = this.tsParseTypeAnnotation(!1), r.asserts = !1, this.finishNode(r, "TSTypePredicate");
    }
    tsParseThisTypeNode() {
      let s = this.startNode();
      return this.next(), this.finishNode(s, "TSThisType");
    }
    tsParseTypeQuery() {
      let s = this.startNode();
      return this.expect(87), this.match(83) ? s.exprName = this.tsParseImportType() : s.exprName = this.tsParseEntityName(3), !this.hasPrecedingLineBreak() &&
      this.match(47) && (s.typeParameters = this.tsParseTypeArguments()), this.finishNode(s, "TSTypeQuery");
    }
    tsParseTypeParameter(s) {
      let r = this.startNode();
      return s(r), r.name = this.tsParseTypeParameterName(), r.constraint = this.tsEatThenParseType(81), r.default = this.tsEatThenParseType(
      29), this.finishNode(r, "TSTypeParameter");
    }
    tsTryParseTypeParameters(s) {
      if (this.match(47))
        return this.tsParseTypeParameters(s);
    }
    tsParseTypeParameters(s) {
      let r = this.startNode();
      this.match(47) || this.match(143) ? this.next() : this.unexpected();
      let i = {
        value: -1
      };
      return r.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this, s), !1, !0, i), r.params.
      length === 0 && this.raise(pt.EmptyTypeParameters, r), i.value !== -1 && this.addExtra(r, "trailingComma", i.value), this.finishNode(r,
      "TSTypeParameterDeclaration");
    }
    tsFillSignature(s, r) {
      let i = s === 19, a = "parameters", o = "typeAnnotation";
      r.typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier), this.expect(10), r[a] = this.tsParseBindingListForSignature(),
      i ? r[o] = this.tsParseTypeOrTypePredicateAnnotation(s) : this.match(s) && (r[o] = this.tsParseTypeOrTypePredicateAnnotation(s));
    }
    tsParseBindingListForSignature() {
      let s = super.parseBindingList(11, 41, 2);
      for (let r of s) {
        let {
          type: i
        } = r;
        (i === "AssignmentPattern" || i === "TSParameterProperty") && this.raise(pt.UnsupportedSignatureParameterKind, r, {
          type: i
        });
      }
      return s;
    }
    tsParseTypeMemberSemicolon() {
      !this.eat(12) && !this.isLineTerminator() && this.expect(13);
    }
    tsParseSignatureMember(s, r) {
      return this.tsFillSignature(14, r), this.tsParseTypeMemberSemicolon(), this.finishNode(r, s);
    }
    tsIsUnambiguouslyIndexSignature() {
      return this.next(), Js(this.state.type) ? (this.next(), this.match(14)) : !1;
    }
    tsTryParseIndexSignature(s) {
      if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))))
        return;
      this.expect(0);
      let r = this.parseIdentifier();
      r.typeAnnotation = this.tsParseTypeAnnotation(), this.resetEndLocation(r), this.expect(3), s.parameters = [r];
      let i = this.tsTryParseTypeAnnotation();
      return i && (s.typeAnnotation = i), this.tsParseTypeMemberSemicolon(), this.finishNode(s, "TSIndexSignature");
    }
    tsParsePropertyOrMethodSignature(s, r) {
      this.eat(17) && (s.optional = !0);
      let i = s;
      if (this.match(10) || this.match(47)) {
        r && this.raise(pt.ReadonlyForMethodSignature, s);
        let a = i;
        a.kind && this.match(47) && this.raise(pt.AccessorCannotHaveTypeParameters, this.state.curPosition()), this.tsFillSignature(14, a), this.
        tsParseTypeMemberSemicolon();
        let o = "parameters", l = "typeAnnotation";
        if (a.kind === "get")
          a[o].length > 0 && (this.raise(Q.BadGetterArity, this.state.curPosition()), this.isThisParam(a[o][0]) && this.raise(pt.AccessorCannotDeclareThisParameter,
          this.state.curPosition()));
        else if (a.kind === "set") {
          if (a[o].length !== 1)
            this.raise(Q.BadSetterArity, this.state.curPosition());
          else {
            let u = a[o][0];
            this.isThisParam(u) && this.raise(pt.AccessorCannotDeclareThisParameter, this.state.curPosition()), u.type === "Identifier" && u.
            optional && this.raise(pt.SetAccessorCannotHaveOptionalParameter, this.state.curPosition()), u.type === "RestElement" && this.raise(
            pt.SetAccessorCannotHaveRestParameter, this.state.curPosition());
          }
          a[l] && this.raise(pt.SetAccessorCannotHaveReturnType, a[l]);
        } else
          a.kind = "method";
        return this.finishNode(a, "TSMethodSignature");
      } else {
        let a = i;
        r && (a.readonly = !0);
        let o = this.tsTryParseTypeAnnotation();
        return o && (a.typeAnnotation = o), this.tsParseTypeMemberSemicolon(), this.finishNode(a, "TSPropertySignature");
      }
    }
    tsParseTypeMember() {
      let s = this.startNode();
      if (this.match(10) || this.match(47))
        return this.tsParseSignatureMember("TSCallSignatureDeclaration", s);
      if (this.match(77)) {
        let i = this.startNode();
        return this.next(), this.match(10) || this.match(47) ? this.tsParseSignatureMember("TSConstructSignatureDeclaration", s) : (s.key = this.
        createIdentifier(i, "new"), this.tsParsePropertyOrMethodSignature(s, !1));
      }
      this.tsParseModifiers({
        allowedModifiers: ["readonly"],
        disallowedModifiers: ["declare", "abstract", "private", "protected", "public", "static", "override"]
      }, s);
      let r = this.tsTryParseIndexSignature(s);
      return r || (super.parsePropertyName(s), !s.computed && s.key.type === "Identifier" && (s.key.name === "get" || s.key.name === "set") &&
      this.tsTokenCanFollowModifier() && (s.kind = s.key.name, super.parsePropertyName(s)), this.tsParsePropertyOrMethodSignature(s, !!s.readonly));
    }
    tsParseTypeLiteral() {
      let s = this.startNode();
      return s.members = this.tsParseObjectTypeMembers(), this.finishNode(s, "TSTypeLiteral");
    }
    tsParseObjectTypeMembers() {
      this.expect(5);
      let s = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this));
      return this.expect(8), s;
    }
    tsIsStartOfMappedType() {
      return this.next(), this.eat(53) ? this.isContextual(122) : (this.isContextual(122) && this.next(), !this.match(0) || (this.next(), !this.
      tsIsIdentifier()) ? !1 : (this.next(), this.match(58)));
    }
    tsParseMappedType() {
      let s = this.startNode();
      this.expect(5), this.match(53) ? (s.readonly = this.state.value, this.next(), this.expectContextual(122)) : this.eatContextual(122) &&
      (s.readonly = !0), this.expect(0);
      {
        let r = this.startNode();
        r.name = this.tsParseTypeParameterName(), r.constraint = this.tsExpectThenParseType(58), s.typeParameter = this.finishNode(r, "TSTyp\
eParameter");
      }
      return s.nameType = this.eatContextual(93) ? this.tsParseType() : null, this.expect(3), this.match(53) ? (s.optional = this.state.value,
      this.next(), this.expect(17)) : this.eat(17) && (s.optional = !0), s.typeAnnotation = this.tsTryParseType(), this.semicolon(), this.expect(
      8), this.finishNode(s, "TSMappedType");
    }
    tsParseTupleType() {
      let s = this.startNode();
      s.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), !0, !1);
      let r = !1;
      return s.elementTypes.forEach((i) => {
        let {
          type: a
        } = i;
        r && a !== "TSRestType" && a !== "TSOptionalType" && !(a === "TSNamedTupleMember" && i.optional) && this.raise(pt.OptionalTypeBeforeRequired,
        i), r || (r = a === "TSNamedTupleMember" && i.optional || a === "TSOptionalType");
      }), this.finishNode(s, "TSTupleType");
    }
    tsParseTupleElementType() {
      let s = this.state.startLoc, r = this.eat(21), {
        startLoc: i
      } = this.state, a, o, l, u, p = To(this.state.type) ? this.lookaheadCharCode() : null;
      if (p === 58)
        a = !0, l = !1, o = this.parseIdentifier(!0), this.expect(14), u = this.tsParseType();
      else if (p === 63) {
        l = !0;
        let h = this.state.value, f = this.tsParseNonArrayType();
        this.lookaheadCharCode() === 58 ? (a = !0, o = this.createIdentifier(this.startNodeAt(i), h), this.expect(17), this.expect(14), u = this.
        tsParseType()) : (a = !1, u = f, this.expect(17));
      } else
        u = this.tsParseType(), l = this.eat(17), a = this.eat(14);
      if (a) {
        let h;
        o ? (h = this.startNodeAt(i), h.optional = l, h.label = o, h.elementType = u, this.eat(17) && (h.optional = !0, this.raise(pt.TupleOptionalAfterType,
        this.state.lastTokStartLoc))) : (h = this.startNodeAt(i), h.optional = l, this.raise(pt.InvalidTupleMemberLabel, u), h.label = u, h.
        elementType = this.tsParseType()), u = this.finishNode(h, "TSNamedTupleMember");
      } else if (l) {
        let h = this.startNodeAt(i);
        h.typeAnnotation = u, u = this.finishNode(h, "TSOptionalType");
      }
      if (r) {
        let h = this.startNodeAt(s);
        h.typeAnnotation = u, u = this.finishNode(h, "TSRestType");
      }
      return u;
    }
    tsParseParenthesizedType() {
      let s = this.startNode();
      return this.expect(10), s.typeAnnotation = this.tsParseType(), this.expect(11), this.finishNode(s, "TSParenthesizedType");
    }
    tsParseFunctionOrConstructorType(s, r) {
      let i = this.startNode();
      return s === "TSConstructorType" && (i.abstract = !!r, r && this.next(), this.next()), this.tsInAllowConditionalTypesContext(() => this.
      tsFillSignature(19, i)), this.finishNode(i, s);
    }
    tsParseLiteralTypeNode() {
      let s = this.startNode();
      switch (this.state.type) {
        case 135:
        case 136:
        case 134:
        case 85:
        case 86:
          s.literal = super.parseExprAtom();
          break;
        default:
          this.unexpected();
      }
      return this.finishNode(s, "TSLiteralType");
    }
    tsParseTemplateLiteralType() {
      {
        let s = this.startNode();
        return s.literal = super.parseTemplate(!1), this.finishNode(s, "TSLiteralType");
      }
    }
    parseTemplateSubstitution() {
      return this.state.inType ? this.tsParseType() : super.parseTemplateSubstitution();
    }
    tsParseThisTypeOrThisTypePredicate() {
      let s = this.tsParseThisTypeNode();
      return this.isContextual(116) && !this.hasPrecedingLineBreak() ? this.tsParseThisTypePredicate(s) : s;
    }
    tsParseNonArrayType() {
      switch (this.state.type) {
        case 134:
        case 135:
        case 136:
        case 85:
        case 86:
          return this.tsParseLiteralTypeNode();
        case 53:
          if (this.state.value === "-") {
            let s = this.startNode(), r = this.lookahead();
            return r.type !== 135 && r.type !== 136 && this.unexpected(), s.literal = this.parseMaybeUnary(), this.finishNode(s, "TSLiteralT\
ype");
          }
          break;
        case 78:
          return this.tsParseThisTypeOrThisTypePredicate();
        case 87:
          return this.tsParseTypeQuery();
        case 83:
          return this.tsParseImportType();
        case 5:
          return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral();
        case 0:
          return this.tsParseTupleType();
        case 10:
          return this.tsParseParenthesizedType();
        case 25:
        case 24:
          return this.tsParseTemplateLiteralType();
        default: {
          let {
            type: s
          } = this.state;
          if (Js(s) || s === 88 || s === 84) {
            let r = s === 88 ? "TSVoidKeyword" : s === 84 ? "TSNullKeyword" : AVe(this.state.value);
            if (r !== void 0 && this.lookaheadCharCode() !== 46) {
              let i = this.startNode();
              return this.next(), this.finishNode(i, r);
            }
            return this.tsParseTypeReference();
          }
        }
      }
      this.unexpected();
    }
    tsParseArrayTypeOrHigher() {
      let {
        startLoc: s
      } = this.state, r = this.tsParseNonArrayType();
      for (; !this.hasPrecedingLineBreak() && this.eat(0); )
        if (this.match(3)) {
          let i = this.startNodeAt(s);
          i.elementType = r, this.expect(3), r = this.finishNode(i, "TSArrayType");
        } else {
          let i = this.startNodeAt(s);
          i.objectType = r, i.indexType = this.tsParseType(), this.expect(3), r = this.finishNode(i, "TSIndexedAccessType");
        }
      return r;
    }
    tsParseTypeOperator() {
      let s = this.startNode(), r = this.state.value;
      return this.next(), s.operator = r, s.typeAnnotation = this.tsParseTypeOperatorOrHigher(), r === "readonly" && this.tsCheckTypeAnnotationForReadOnly(
      s), this.finishNode(s, "TSTypeOperator");
    }
    tsCheckTypeAnnotationForReadOnly(s) {
      switch (s.typeAnnotation.type) {
        case "TSTupleType":
        case "TSArrayType":
          return;
        default:
          this.raise(pt.UnexpectedReadonly, s);
      }
    }
    tsParseInferType() {
      let s = this.startNode();
      this.expectContextual(115);
      let r = this.startNode();
      return r.name = this.tsParseTypeParameterName(), r.constraint = this.tsTryParse(() => this.tsParseConstraintForInferType()), s.typeParameter =
      this.finishNode(r, "TSTypeParameter"), this.finishNode(s, "TSInferType");
    }
    tsParseConstraintForInferType() {
      if (this.eat(81)) {
        let s = this.tsInDisallowConditionalTypesContext(() => this.tsParseType());
        if (this.state.inDisallowConditionalTypesContext || !this.match(17))
          return s;
      }
    }
    tsParseTypeOperatorOrHigher() {
      return WKe(this.state.type) && !this.state.containsEsc ? this.tsParseTypeOperator() : this.isContextual(115) ? this.tsParseInferType() :
      this.tsInAllowConditionalTypesContext(() => this.tsParseArrayTypeOrHigher());
    }
    tsParseUnionOrIntersectionType(s, r, i) {
      let a = this.startNode(), o = this.eat(i), l = [];
      do
        l.push(r());
      while (this.eat(i));
      return l.length === 1 && !o ? l[0] : (a.types = l, this.finishNode(a, s));
    }
    tsParseIntersectionTypeOrHigher() {
      return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), 45);
    }
    tsParseUnionTypeOrHigher() {
      return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), 43);
    }
    tsIsStartOfFunctionType() {
      return this.match(47) ? !0 : this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this));
    }
    tsSkipParameterStart() {
      if (Js(this.state.type) || this.match(78))
        return this.next(), !0;
      if (this.match(5)) {
        let {
          errors: s
        } = this.state, r = s.length;
        try {
          return this.parseObjectLike(8, !0), s.length === r;
        } catch {
          return !1;
        }
      }
      if (this.match(0)) {
        this.next();
        let {
          errors: s
        } = this.state, r = s.length;
        try {
          return super.parseBindingList(3, 93, 1), s.length === r;
        } catch {
          return !1;
        }
      }
      return !1;
    }
    tsIsUnambiguouslyStartOfFunctionType() {
      return this.next(), !!(this.match(11) || this.match(21) || this.tsSkipParameterStart() && (this.match(14) || this.match(12) || this.match(
      17) || this.match(29) || this.match(11) && (this.next(), this.match(19))));
    }
    tsParseTypeOrTypePredicateAnnotation(s) {
      return this.tsInType(() => {
        let r = this.startNode();
        this.expect(s);
        let i = this.startNode(), a = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));
        if (a && this.match(78)) {
          let u = this.tsParseThisTypeOrThisTypePredicate();
          return u.type === "TSThisType" ? (i.parameterName = u, i.asserts = !0, i.typeAnnotation = null, u = this.finishNode(i, "TSTypePred\
icate")) : (this.resetStartLocationFromNode(u, i), u.asserts = !0), r.typeAnnotation = u, this.finishNode(r, "TSTypeAnnotation");
        }
        let o = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));
        if (!o)
          return a ? (i.parameterName = this.parseIdentifier(), i.asserts = a, i.typeAnnotation = null, r.typeAnnotation = this.finishNode(i,
          "TSTypePredicate"), this.finishNode(r, "TSTypeAnnotation")) : this.tsParseTypeAnnotation(!1, r);
        let l = this.tsParseTypeAnnotation(!1);
        return i.parameterName = o, i.typeAnnotation = l, i.asserts = a, r.typeAnnotation = this.finishNode(i, "TSTypePredicate"), this.finishNode(
        r, "TSTypeAnnotation");
      });
    }
    tsTryParseTypeOrTypePredicateAnnotation() {
      if (this.match(14))
        return this.tsParseTypeOrTypePredicateAnnotation(14);
    }
    tsTryParseTypeAnnotation() {
      if (this.match(14))
        return this.tsParseTypeAnnotation();
    }
    tsTryParseType() {
      return this.tsEatThenParseType(14);
    }
    tsParseTypePredicatePrefix() {
      let s = this.parseIdentifier();
      if (this.isContextual(116) && !this.hasPrecedingLineBreak())
        return this.next(), s;
    }
    tsParseTypePredicateAsserts() {
      if (this.state.type !== 109)
        return !1;
      let s = this.state.containsEsc;
      return this.next(), !Js(this.state.type) && !this.match(78) ? !1 : (s && this.raise(Q.InvalidEscapedReservedWord, this.state.lastTokStartLoc,
      {
        reservedWord: "asserts"
      }), !0);
    }
    tsParseTypeAnnotation(s = !0, r = this.startNode()) {
      return this.tsInType(() => {
        s && this.expect(14), r.typeAnnotation = this.tsParseType();
      }), this.finishNode(r, "TSTypeAnnotation");
    }
    tsParseType() {
      p$(this.state.inType);
      let s = this.tsParseNonConditionalType();
      if (this.state.inDisallowConditionalTypesContext || this.hasPrecedingLineBreak() || !this.eat(81))
        return s;
      let r = this.startNodeAtNode(s);
      return r.checkType = s, r.extendsType = this.tsInDisallowConditionalTypesContext(() => this.tsParseNonConditionalType()), this.expect(
      17), r.trueType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()), this.expect(14), r.falseType = this.tsInAllowConditionalTypesContext(
      () => this.tsParseType()), this.finishNode(r, "TSConditionalType");
    }
    isAbstractConstructorSignature() {
      return this.isContextual(124) && this.lookahead().type === 77;
    }
    tsParseNonConditionalType() {
      return this.tsIsStartOfFunctionType() ? this.tsParseFunctionOrConstructorType("TSFunctionType") : this.match(77) ? this.tsParseFunctionOrConstructorType(
      "TSConstructorType") : this.isAbstractConstructorSignature() ? this.tsParseFunctionOrConstructorType("TSConstructorType", !0) : this.tsParseUnionTypeOrHigher();
    }
    tsParseTypeAssertion() {
      this.getPluginOption("typescript", "disallowAmbiguousJSXLike") && this.raise(pt.ReservedTypeAssertion, this.state.startLoc);
      let s = this.startNode();
      return s.typeAnnotation = this.tsInType(() => (this.next(), this.match(75) ? this.tsParseTypeReference() : this.tsParseType())), this.
      expect(48), s.expression = this.parseMaybeUnary(), this.finishNode(s, "TSTypeAssertion");
    }
    tsParseHeritageClause(s) {
      let r = this.state.startLoc, i = this.tsParseDelimitedList("HeritageClauseElement", () => {
        let a = this.startNode();
        return a.expression = this.tsParseEntityName(3), this.match(47) && (a.typeParameters = this.tsParseTypeArguments()), this.finishNode(
        a, "TSExpressionWithTypeArguments");
      });
      return i.length || this.raise(pt.EmptyHeritageClauseType, r, {
        token: s
      }), i;
    }
    tsParseInterfaceDeclaration(s, r = {}) {
      if (this.hasFollowingLineBreak()) return null;
      this.expectContextual(129), r.declare && (s.declare = !0), Js(this.state.type) ? (s.id = this.parseIdentifier(), this.checkIdentifier(
      s.id, 130)) : (s.id = null, this.raise(pt.MissingInterfaceName, this.state.startLoc)), s.typeParameters = this.tsTryParseTypeParameters(
      this.tsParseInOutConstModifiers), this.eat(81) && (s.extends = this.tsParseHeritageClause("extends"));
      let i = this.startNode();
      return i.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this)), s.body = this.finishNode(i, "TSInterfaceBody"), this.finishNode(
      s, "TSInterfaceDeclaration");
    }
    tsParseTypeAliasDeclaration(s) {
      return s.id = this.parseIdentifier(), this.checkIdentifier(s.id, 2), s.typeAnnotation = this.tsInType(() => {
        if (s.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers), this.expect(29), this.isContextual(114) && this.lookahead().
        type !== 16) {
          let r = this.startNode();
          return this.next(), this.finishNode(r, "TSIntrinsicKeyword");
        }
        return this.tsParseType();
      }), this.semicolon(), this.finishNode(s, "TSTypeAliasDeclaration");
    }
    tsInTopLevelContext(s) {
      if (this.curContext() !== Hs.brace) {
        let r = this.state.context;
        this.state.context = [r[0]];
        try {
          return s();
        } finally {
          this.state.context = r;
        }
      } else
        return s();
    }
    tsInType(s) {
      let r = this.state.inType;
      this.state.inType = !0;
      try {
        return s();
      } finally {
        this.state.inType = r;
      }
    }
    tsInDisallowConditionalTypesContext(s) {
      let r = this.state.inDisallowConditionalTypesContext;
      this.state.inDisallowConditionalTypesContext = !0;
      try {
        return s();
      } finally {
        this.state.inDisallowConditionalTypesContext = r;
      }
    }
    tsInAllowConditionalTypesContext(s) {
      let r = this.state.inDisallowConditionalTypesContext;
      this.state.inDisallowConditionalTypesContext = !1;
      try {
        return s();
      } finally {
        this.state.inDisallowConditionalTypesContext = r;
      }
    }
    tsEatThenParseType(s) {
      if (this.match(s))
        return this.tsNextThenParseType();
    }
    tsExpectThenParseType(s) {
      return this.tsInType(() => (this.expect(s), this.tsParseType()));
    }
    tsNextThenParseType() {
      return this.tsInType(() => (this.next(), this.tsParseType()));
    }
    tsParseEnumMember() {
      let s = this.startNode();
      return s.id = this.match(134) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(!0), this.eat(29) && (s.initializer =
      super.parseMaybeAssignAllowIn()), this.finishNode(s, "TSEnumMember");
    }
    tsParseEnumDeclaration(s, r = {}) {
      return r.const && (s.const = !0), r.declare && (s.declare = !0), this.expectContextual(126), s.id = this.parseIdentifier(), this.checkIdentifier(
      s.id, s.const ? 8971 : 8459), this.expect(5), s.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)),
      this.expect(8), this.finishNode(s, "TSEnumDeclaration");
    }
    tsParseEnumBody() {
      let s = this.startNode();
      return this.expect(5), s.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)), this.expect(8), this.finishNode(
      s, "TSEnumBody");
    }
    tsParseModuleBlock() {
      let s = this.startNode();
      return this.scope.enter(0), this.expect(5), super.parseBlockOrModuleBlockBody(s.body = [], void 0, !0, 8), this.scope.exit(), this.finishNode(
      s, "TSModuleBlock");
    }
    tsParseModuleOrNamespaceDeclaration(s, r = !1) {
      if (s.id = this.parseIdentifier(), r || this.checkIdentifier(s.id, 1024), this.eat(16)) {
        let i = this.startNode();
        this.tsParseModuleOrNamespaceDeclaration(i, !0), s.body = i;
      } else
        this.scope.enter(256), this.prodParam.enter(0), s.body = this.tsParseModuleBlock(), this.prodParam.exit(), this.scope.exit();
      return this.finishNode(s, "TSModuleDeclaration");
    }
    tsParseAmbientExternalModuleDeclaration(s) {
      return this.isContextual(112) ? (s.kind = "global", s.global = !0, s.id = this.parseIdentifier()) : this.match(134) ? (s.kind = "modul\
e", s.id = super.parseStringLiteral(this.state.value)) : this.unexpected(), this.match(5) ? (this.scope.enter(256), this.prodParam.enter(0),
      s.body = this.tsParseModuleBlock(), this.prodParam.exit(), this.scope.exit()) : this.semicolon(), this.finishNode(s, "TSModuleDeclarat\
ion");
    }
    tsParseImportEqualsDeclaration(s, r, i) {
      s.isExport = i || !1, s.id = r || this.parseIdentifier(), this.checkIdentifier(s.id, 4096), this.expect(29);
      let a = this.tsParseModuleReference();
      return s.importKind === "type" && a.type !== "TSExternalModuleReference" && this.raise(pt.ImportAliasHasImportType, a), s.moduleReference =
      a, this.semicolon(), this.finishNode(s, "TSImportEqualsDeclaration");
    }
    tsIsExternalModuleReference() {
      return this.isContextual(119) && this.lookaheadCharCode() === 40;
    }
    tsParseModuleReference() {
      return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(0);
    }
    tsParseExternalModuleReference() {
      let s = this.startNode();
      return this.expectContextual(119), this.expect(10), this.match(134) || this.unexpected(), s.expression = super.parseExprAtom(), this.expect(
      11), this.sawUnambiguousESM = !0, this.finishNode(s, "TSExternalModuleReference");
    }
    tsLookAhead(s) {
      let r = this.state.clone(), i = s();
      return this.state = r, i;
    }
    tsTryParseAndCatch(s) {
      let r = this.tryParse((i) => s() || i());
      if (!(r.aborted || !r.node))
        return r.error && (this.state = r.failState), r.node;
    }
    tsTryParse(s) {
      let r = this.state.clone(), i = s();
      if (i !== void 0 && i !== !1)
        return i;
      this.state = r;
    }
    tsTryParseDeclare(s) {
      if (this.isLineTerminator())
        return;
      let r = this.state.type, i;
      return this.isContextual(100) && (r = 74, i = "let"), this.tsInAmbientContext(() => {
        switch (r) {
          case 68:
            return s.declare = !0, super.parseFunctionStatement(s, !1, !1);
          case 80:
            return s.declare = !0, this.parseClass(s, !0, !1);
          case 126:
            return this.tsParseEnumDeclaration(s, {
              declare: !0
            });
          case 112:
            return this.tsParseAmbientExternalModuleDeclaration(s);
          case 75:
          case 74:
            return !this.match(75) || !this.isLookaheadContextual("enum") ? (s.declare = !0, this.parseVarStatement(s, i || this.state.value,
            !0)) : (this.expect(75), this.tsParseEnumDeclaration(s, {
              const: !0,
              declare: !0
            }));
          case 129: {
            let a = this.tsParseInterfaceDeclaration(s, {
              declare: !0
            });
            if (a) return a;
          }
          default:
            if (Js(r))
              return this.tsParseDeclaration(s, this.state.value, !0, null);
        }
      });
    }
    tsTryParseExportDeclaration() {
      return this.tsParseDeclaration(this.startNode(), this.state.value, !0, null);
    }
    tsParseExpressionStatement(s, r, i) {
      switch (r.name) {
        case "declare": {
          let a = this.tsTryParseDeclare(s);
          return a && (a.declare = !0), a;
        }
        case "global":
          if (this.match(5)) {
            this.scope.enter(256), this.prodParam.enter(0);
            let a = s;
            return a.kind = "global", s.global = !0, a.id = r, a.body = this.tsParseModuleBlock(), this.scope.exit(), this.prodParam.exit(),
            this.finishNode(a, "TSModuleDeclaration");
          }
          break;
        default:
          return this.tsParseDeclaration(s, r.name, !1, i);
      }
    }
    tsParseDeclaration(s, r, i, a) {
      switch (r) {
        case "abstract":
          if (this.tsCheckLineTerminator(i) && (this.match(80) || Js(this.state.type)))
            return this.tsParseAbstractDeclaration(s, a);
          break;
        case "module":
          if (this.tsCheckLineTerminator(i)) {
            if (this.match(134))
              return this.tsParseAmbientExternalModuleDeclaration(s);
            if (Js(this.state.type))
              return s.kind = "module", this.tsParseModuleOrNamespaceDeclaration(s);
          }
          break;
        case "namespace":
          if (this.tsCheckLineTerminator(i) && Js(this.state.type))
            return s.kind = "namespace", this.tsParseModuleOrNamespaceDeclaration(s);
          break;
        case "type":
          if (this.tsCheckLineTerminator(i) && Js(this.state.type))
            return this.tsParseTypeAliasDeclaration(s);
          break;
      }
    }
    tsCheckLineTerminator(s) {
      return s ? this.hasFollowingLineBreak() ? !1 : (this.next(), !0) : !this.isLineTerminator();
    }
    tsTryParseGenericAsyncArrowFunction(s) {
      if (!this.match(47)) return;
      let r = this.state.maybeInArrowParameters;
      this.state.maybeInArrowParameters = !0;
      let i = this.tsTryParseAndCatch(() => {
        let a = this.startNodeAt(s);
        return a.typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier), super.parseFunctionParams(a), a.returnType = this.tsTryParseTypeOrTypePredicateAnnotation(),
        this.expect(19), a;
      });
      if (this.state.maybeInArrowParameters = r, !!i)
        return super.parseArrowExpression(i, null, !0);
    }
    tsParseTypeArgumentsInExpression() {
      if (this.reScan_lt() === 47)
        return this.tsParseTypeArguments();
    }
    tsParseTypeArguments() {
      let s = this.startNode();
      return s.params = this.tsInType(() => this.tsInTopLevelContext(() => (this.expect(47), this.tsParseDelimitedList("TypeParametersOrArgu\
ments", this.tsParseType.bind(this))))), s.params.length === 0 ? this.raise(pt.EmptyTypeArguments, s) : !this.state.inType && this.curContext() ===
      Hs.brace && this.reScan_lt_gt(), this.expect(48), this.finishNode(s, "TSTypeParameterInstantiation");
    }
    tsIsDeclarationStart() {
      return $Ke(this.state.type);
    }
    isExportDefaultSpecifier() {
      return this.tsIsDeclarationStart() ? !1 : super.isExportDefaultSpecifier();
    }
    parseAssignableListItem(s, r) {
      let i = this.state.startLoc, a = {};
      this.tsParseModifiers({
        allowedModifiers: ["public", "private", "protected", "override", "readonly"]
      }, a);
      let o = a.accessibility, l = a.override, u = a.readonly;
      !(s & 4) && (o || u || l) && this.raise(pt.UnexpectedParameterModifier, i);
      let c = this.parseMaybeDefault();
      s & 2 && this.parseFunctionParamType(c);
      let p = this.parseMaybeDefault(c.loc.start, c);
      if (o || u || l) {
        let h = this.startNodeAt(i);
        return r.length && (h.decorators = r), o && (h.accessibility = o), u && (h.readonly = u), l && (h.override = l), p.type !== "Identif\
ier" && p.type !== "AssignmentPattern" && this.raise(pt.UnsupportedParameterPropertyKind, h), h.parameter = p, this.finishNode(h, "TSParamet\
erProperty");
      }
      return r.length && (c.decorators = r), p;
    }
    isSimpleParameter(s) {
      return s.type === "TSParameterProperty" && super.isSimpleParameter(s.parameter) || super.isSimpleParameter(s);
    }
    tsDisallowOptionalPattern(s) {
      for (let r of s.params)
        r.type !== "Identifier" && r.optional && !this.state.isAmbientContext && this.raise(pt.PatternIsOptional, r);
    }
    setArrowFunctionParameters(s, r, i) {
      super.setArrowFunctionParameters(s, r, i), this.tsDisallowOptionalPattern(s);
    }
    parseFunctionBodyAndFinish(s, r, i = !1) {
      this.match(14) && (s.returnType = this.tsParseTypeOrTypePredicateAnnotation(14));
      let a = r === "FunctionDeclaration" ? "TSDeclareFunction" : r === "ClassMethod" || r === "ClassPrivateMethod" ? "TSDeclareMethod" : void 0;
      return a && !this.match(5) && this.isLineTerminator() ? this.finishNode(s, a) : a === "TSDeclareFunction" && this.state.isAmbientContext &&
      (this.raise(pt.DeclareFunctionHasImplementation, s), s.declare) ? super.parseFunctionBodyAndFinish(s, a, i) : (this.tsDisallowOptionalPattern(
      s), super.parseFunctionBodyAndFinish(s, r, i));
    }
    registerFunctionStatementId(s) {
      !s.body && s.id ? this.checkIdentifier(s.id, 1024) : super.registerFunctionStatementId(s);
    }
    tsCheckForInvalidTypeCasts(s) {
      s.forEach((r) => {
        r?.type === "TSTypeCastExpression" && this.raise(pt.UnexpectedTypeAnnotation, r.typeAnnotation);
      });
    }
    toReferencedList(s, r) {
      return this.tsCheckForInvalidTypeCasts(s), s;
    }
    parseArrayLike(s, r, i, a) {
      let o = super.parseArrayLike(s, r, i, a);
      return o.type === "ArrayExpression" && this.tsCheckForInvalidTypeCasts(o.elements), o;
    }
    parseSubscript(s, r, i, a) {
      if (!this.hasPrecedingLineBreak() && this.match(35)) {
        this.state.canStartJSXElement = !1, this.next();
        let l = this.startNodeAt(r);
        return l.expression = s, this.finishNode(l, "TSNonNullExpression");
      }
      let o = !1;
      if (this.match(18) && this.lookaheadCharCode() === 60) {
        if (i)
          return a.stop = !0, s;
        a.optionalChainMember = o = !0, this.next();
      }
      if (this.match(47) || this.match(51)) {
        let l, u = this.tsTryParseAndCatch(() => {
          if (!i && this.atPossibleAsyncArrow(s)) {
            let f = this.tsTryParseGenericAsyncArrowFunction(r);
            if (f)
              return f;
          }
          let c = this.tsParseTypeArgumentsInExpression();
          if (!c) return;
          if (o && !this.match(10)) {
            l = this.state.curPosition();
            return;
          }
          if (Xx(this.state.type)) {
            let f = super.parseTaggedTemplateExpression(s, r, a);
            return f.typeParameters = c, f;
          }
          if (!i && this.eat(10)) {
            let f = this.startNodeAt(r);
            return f.callee = s, f.arguments = this.parseCallExpressionArguments(11), this.tsCheckForInvalidTypeCasts(f.arguments), f.typeParameters =
            c, a.optionalChainMember && (f.optional = o), this.finishCallExpression(f, a.optionalChainMember);
          }
          let p = this.state.type;
          if (p === 48 || p === 52 || p !== 10 && wk(p) && !this.hasPrecedingLineBreak())
            return;
          let h = this.startNodeAt(r);
          return h.expression = s, h.typeParameters = c, this.finishNode(h, "TSInstantiationExpression");
        });
        if (l && this.unexpected(l, 10), u)
          return u.type === "TSInstantiationExpression" && (this.match(16) || this.match(18) && this.lookaheadCharCode() !== 40) && this.raise(
          pt.InvalidPropertyAccessAfterInstantiationExpression, this.state.startLoc), u;
      }
      return super.parseSubscript(s, r, i, a);
    }
    parseNewCallee(s) {
      var r;
      super.parseNewCallee(s);
      let {
        callee: i
      } = s;
      i.type === "TSInstantiationExpression" && !((r = i.extra) != null && r.parenthesized) && (s.typeParameters = i.typeParameters, s.callee =
      i.expression);
    }
    parseExprOp(s, r, i) {
      let a;
      if (Hx(58) > i && !this.hasPrecedingLineBreak() && (this.isContextual(93) || (a = this.isContextual(120)))) {
        let o = this.startNodeAt(r);
        return o.expression = s, o.typeAnnotation = this.tsInType(() => (this.next(), this.match(75) ? (a && this.raise(Q.UnexpectedKeyword,
        this.state.startLoc, {
          keyword: "const"
        }), this.tsParseTypeReference()) : this.tsParseType())), this.finishNode(o, a ? "TSSatisfiesExpression" : "TSAsExpression"), this.reScan_lt_gt(),
        this.parseExprOp(o, r, i);
      }
      return super.parseExprOp(s, r, i);
    }
    checkReservedWord(s, r, i, a) {
      this.state.isAmbientContext || super.checkReservedWord(s, r, i, a);
    }
    checkImportReflection(s) {
      super.checkImportReflection(s), s.module && s.importKind !== "value" && this.raise(pt.ImportReflectionHasImportType, s.specifiers[0].loc.
      start);
    }
    checkDuplicateExports() {
    }
    isPotentialImportPhase(s) {
      if (super.isPotentialImportPhase(s)) return !0;
      if (this.isContextual(130)) {
        let r = this.lookaheadCharCode();
        return s ? r === 123 || r === 42 : r !== 61;
      }
      return !s && this.isContextual(87);
    }
    applyImportPhase(s, r, i, a) {
      super.applyImportPhase(s, r, i, a), r ? s.exportKind = i === "type" ? "type" : "value" : s.importKind = i === "type" || i === "typeof" ?
      i : "value";
    }
    parseImport(s) {
      if (this.match(134))
        return s.importKind = "value", super.parseImport(s);
      let r;
      if (Js(this.state.type) && this.lookaheadCharCode() === 61)
        return s.importKind = "value", this.tsParseImportEqualsDeclaration(s);
      if (this.isContextual(130)) {
        let i = this.parseMaybeImportPhase(s, !1);
        if (this.lookaheadCharCode() === 61)
          return this.tsParseImportEqualsDeclaration(s, i);
        r = super.parseImportSpecifiersAndAfter(s, i);
      } else
        r = super.parseImport(s);
      return r.importKind === "type" && r.specifiers.length > 1 && r.specifiers[0].type === "ImportDefaultSpecifier" && this.raise(pt.TypeImportCannotSpecifyDefaultAndNamed,
      r), r;
    }
    parseExport(s, r) {
      if (this.match(83)) {
        let i = s;
        this.next();
        let a = null;
        return this.isContextual(130) && this.isPotentialImportPhase(!1) ? a = this.parseMaybeImportPhase(i, !1) : i.importKind = "value", this.
        tsParseImportEqualsDeclaration(i, a, !0);
      } else if (this.eat(29)) {
        let i = s;
        return i.expression = super.parseExpression(), this.semicolon(), this.sawUnambiguousESM = !0, this.finishNode(i, "TSExportAssignment");
      } else if (this.eatContextual(93)) {
        let i = s;
        return this.expectContextual(128), i.id = this.parseIdentifier(), this.semicolon(), this.finishNode(i, "TSNamespaceExportDeclaration");
      } else
        return super.parseExport(s, r);
    }
    isAbstractClass() {
      return this.isContextual(124) && this.lookahead().type === 80;
    }
    parseExportDefaultExpression() {
      if (this.isAbstractClass()) {
        let s = this.startNode();
        return this.next(), s.abstract = !0, this.parseClass(s, !0, !0);
      }
      if (this.match(129)) {
        let s = this.tsParseInterfaceDeclaration(this.startNode());
        if (s) return s;
      }
      return super.parseExportDefaultExpression();
    }
    parseVarStatement(s, r, i = !1) {
      let {
        isAmbientContext: a
      } = this.state, o = super.parseVarStatement(s, r, i || a);
      if (!a) return o;
      for (let {
        id: l,
        init: u
      } of o.declarations)
        u && (r !== "const" || l.typeAnnotation ? this.raise(pt.InitializerNotAllowedInAmbientContext, u) : IVe(u, this.hasPlugin("estree")) ||
        this.raise(pt.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference, u));
      return o;
    }
    parseStatementContent(s, r) {
      if (this.match(75) && this.isLookaheadContextual("enum")) {
        let i = this.startNode();
        return this.expect(75), this.tsParseEnumDeclaration(i, {
          const: !0
        });
      }
      if (this.isContextual(126))
        return this.tsParseEnumDeclaration(this.startNode());
      if (this.isContextual(129)) {
        let i = this.tsParseInterfaceDeclaration(this.startNode());
        if (i) return i;
      }
      return super.parseStatementContent(s, r);
    }
    parseAccessModifier() {
      return this.tsParseModifier(["public", "protected", "private"]);
    }
    tsHasSomeModifiers(s, r) {
      return r.some((i) => h$(i) ? s.accessibility === i : !!s[i]);
    }
    tsIsStartOfStaticBlocks() {
      return this.isContextual(106) && this.lookaheadCharCode() === 123;
    }
    parseClassMember(s, r, i) {
      let a = ["declare", "private", "public", "protected", "override", "abstract", "readonly", "static"];
      this.tsParseModifiers({
        allowedModifiers: a,
        disallowedModifiers: ["in", "out"],
        stopOnStartOfClassStaticBlock: !0,
        errorTemplate: pt.InvalidModifierOnTypeParameterPositions
      }, r);
      let o = /* @__PURE__ */ n(() => {
        this.tsIsStartOfStaticBlocks() ? (this.next(), this.next(), this.tsHasSomeModifiers(r, a) && this.raise(pt.StaticBlockCannotHaveModifier,
        this.state.curPosition()), super.parseClassStaticBlock(s, r)) : this.parseClassMemberWithIsStatic(s, r, i, !!r.static);
      }, "callParseClassMemberWithIsStatic");
      r.declare ? this.tsInAmbientContext(o) : o();
    }
    parseClassMemberWithIsStatic(s, r, i, a) {
      let o = this.tsTryParseIndexSignature(r);
      if (o) {
        s.body.push(o), r.abstract && this.raise(pt.IndexSignatureHasAbstract, r), r.accessibility && this.raise(pt.IndexSignatureHasAccessibility,
        r, {
          modifier: r.accessibility
        }), r.declare && this.raise(pt.IndexSignatureHasDeclare, r), r.override && this.raise(pt.IndexSignatureHasOverride, r);
        return;
      }
      !this.state.inAbstractClass && r.abstract && this.raise(pt.NonAbstractClassHasAbstractMethod, r), r.override && (i.hadSuperClass || this.
      raise(pt.OverrideNotInSubClass, r)), super.parseClassMemberWithIsStatic(s, r, i, a);
    }
    parsePostMemberNameModifiers(s) {
      this.eat(17) && (s.optional = !0), s.readonly && this.match(10) && this.raise(pt.ClassMethodHasReadonly, s), s.declare && this.match(10) &&
      this.raise(pt.ClassMethodHasDeclare, s);
    }
    parseExpressionStatement(s, r, i) {
      return (r.type === "Identifier" ? this.tsParseExpressionStatement(s, r, i) : void 0) || super.parseExpressionStatement(s, r, i);
    }
    shouldParseExportDeclaration() {
      return this.tsIsDeclarationStart() ? !0 : super.shouldParseExportDeclaration();
    }
    parseConditional(s, r, i) {
      if (!this.state.maybeInArrowParameters || !this.match(17))
        return super.parseConditional(s, r, i);
      let a = this.tryParse(() => super.parseConditional(s, r));
      return a.node ? (a.error && (this.state = a.failState), a.node) : (a.error && super.setOptionalParametersError(i, a.error), s);
    }
    parseParenItem(s, r) {
      let i = super.parseParenItem(s, r);
      if (this.eat(17) && (i.optional = !0, this.resetEndLocation(s)), this.match(14)) {
        let a = this.startNodeAt(r);
        return a.expression = s, a.typeAnnotation = this.tsParseTypeAnnotation(), this.finishNode(a, "TSTypeCastExpression");
      }
      return s;
    }
    parseExportDeclaration(s) {
      if (!this.state.isAmbientContext && this.isContextual(125))
        return this.tsInAmbientContext(() => this.parseExportDeclaration(s));
      let r = this.state.startLoc, i = this.eatContextual(125);
      if (i && (this.isContextual(125) || !this.shouldParseExportDeclaration()))
        throw this.raise(pt.ExpectedAmbientAfterExportDeclare, this.state.startLoc);
      let o = Js(this.state.type) && this.tsTryParseExportDeclaration() || super.parseExportDeclaration(s);
      return o ? ((o.type === "TSInterfaceDeclaration" || o.type === "TSTypeAliasDeclaration" || i) && (s.exportKind = "type"), i && o.type !==
      "TSImportEqualsDeclaration" && (this.resetStartLocation(o, r), o.declare = !0), o) : null;
    }
    parseClassId(s, r, i, a) {
      if ((!r || i) && this.isContextual(113))
        return;
      super.parseClassId(s, r, i, s.declare ? 1024 : 8331);
      let o = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);
      o && (s.typeParameters = o);
    }
    parseClassPropertyAnnotation(s) {
      s.optional || (this.eat(35) ? s.definite = !0 : this.eat(17) && (s.optional = !0));
      let r = this.tsTryParseTypeAnnotation();
      r && (s.typeAnnotation = r);
    }
    parseClassProperty(s) {
      if (this.parseClassPropertyAnnotation(s), this.state.isAmbientContext && !(s.readonly && !s.typeAnnotation) && this.match(29) && this.
      raise(pt.DeclareClassFieldHasInitializer, this.state.startLoc), s.abstract && this.match(29)) {
        let {
          key: r
        } = s;
        this.raise(pt.AbstractPropertyHasInitializer, this.state.startLoc, {
          propertyName: r.type === "Identifier" && !s.computed ? r.name : `[${this.input.slice(this.offsetToSourcePos(r.start), this.offsetToSourcePos(
          r.end))}]`
        });
      }
      return super.parseClassProperty(s);
    }
    parseClassPrivateProperty(s) {
      return s.abstract && this.raise(pt.PrivateElementHasAbstract, s), s.accessibility && this.raise(pt.PrivateElementHasAccessibility, s, {
        modifier: s.accessibility
      }), this.parseClassPropertyAnnotation(s), super.parseClassPrivateProperty(s);
    }
    parseClassAccessorProperty(s) {
      return this.parseClassPropertyAnnotation(s), s.optional && this.raise(pt.AccessorCannotBeOptional, s), super.parseClassAccessorProperty(
      s);
    }
    pushClassMethod(s, r, i, a, o, l) {
      let u = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      u && o && this.raise(pt.ConstructorHasTypeParameters, u);
      let {
        declare: c = !1,
        kind: p
      } = r;
      c && (p === "get" || p === "set") && this.raise(pt.DeclareAccessor, r, {
        kind: p
      }), u && (r.typeParameters = u), super.pushClassMethod(s, r, i, a, o, l);
    }
    pushClassPrivateMethod(s, r, i, a) {
      let o = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      o && (r.typeParameters = o), super.pushClassPrivateMethod(s, r, i, a);
    }
    declareClassPrivateMethodInScope(s, r) {
      s.type !== "TSDeclareMethod" && (s.type === "MethodDefinition" && !hasOwnProperty.call(s.value, "body") || super.declareClassPrivateMethodInScope(
      s, r));
    }
    parseClassSuper(s) {
      super.parseClassSuper(s), s.superClass && (this.match(47) || this.match(51)) && (s.superTypeParameters = this.tsParseTypeArgumentsInExpression()),
      this.eatContextual(113) && (s.implements = this.tsParseHeritageClause("implements"));
    }
    parseObjPropValue(s, r, i, a, o, l, u) {
      let c = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      return c && (s.typeParameters = c), super.parseObjPropValue(s, r, i, a, o, l, u);
    }
    parseFunctionParams(s, r) {
      let i = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      i && (s.typeParameters = i), super.parseFunctionParams(s, r);
    }
    parseVarId(s, r) {
      super.parseVarId(s, r), s.id.type === "Identifier" && !this.hasPrecedingLineBreak() && this.eat(35) && (s.definite = !0);
      let i = this.tsTryParseTypeAnnotation();
      i && (s.id.typeAnnotation = i, this.resetEndLocation(s.id));
    }
    parseAsyncArrowFromCallExpression(s, r) {
      return this.match(14) && (s.returnType = this.tsParseTypeAnnotation()), super.parseAsyncArrowFromCallExpression(s, r);
    }
    parseMaybeAssign(s, r) {
      var i, a, o, l, u;
      let c, p, h;
      if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) {
        if (c = this.state.clone(), p = this.tryParse(() => super.parseMaybeAssign(s, r), c), !p.error) return p.node;
        let {
          context: m
        } = this.state, y = m[m.length - 1];
        (y === Hs.j_oTag || y === Hs.j_expr) && m.pop();
      }
      if (!((i = p) != null && i.error) && !this.match(47))
        return super.parseMaybeAssign(s, r);
      (!c || c === this.state) && (c = this.state.clone());
      let f, d = this.tryParse((m) => {
        var y, T;
        f = this.tsParseTypeParameters(this.tsParseConstModifier);
        let b = super.parseMaybeAssign(s, r);
        return (b.type !== "ArrowFunctionExpression" || (y = b.extra) != null && y.parenthesized) && m(), ((T = f) == null ? void 0 : T.params.
        length) !== 0 && this.resetStartLocationFromNode(b, f), b.typeParameters = f, b;
      }, c);
      if (!d.error && !d.aborted)
        return f && this.reportReservedArrowTypeParam(f), d.node;
      if (!p && (p$(!this.hasPlugin("jsx")), h = this.tryParse(() => super.parseMaybeAssign(s, r), c), !h.error))
        return h.node;
      if ((a = p) != null && a.node)
        return this.state = p.failState, p.node;
      if (d.node)
        return this.state = d.failState, f && this.reportReservedArrowTypeParam(f), d.node;
      if ((o = h) != null && o.node)
        return this.state = h.failState, h.node;
      throw ((l = p) == null ? void 0 : l.error) || d.error || ((u = h) == null ? void 0 : u.error);
    }
    reportReservedArrowTypeParam(s) {
      var r;
      s.params.length === 1 && !s.params[0].constraint && !((r = s.extra) != null && r.trailingComma) && this.getPluginOption("typescript", "\
disallowAmbiguousJSXLike") && this.raise(pt.ReservedArrowTypeParam, s);
    }
    parseMaybeUnary(s, r) {
      return !this.hasPlugin("jsx") && this.match(47) ? this.tsParseTypeAssertion() : super.parseMaybeUnary(s, r);
    }
    parseArrow(s) {
      if (this.match(14)) {
        let r = this.tryParse((i) => {
          let a = this.tsParseTypeOrTypePredicateAnnotation(14);
          return (this.canInsertSemicolon() || !this.match(19)) && i(), a;
        });
        if (r.aborted) return;
        r.thrown || (r.error && (this.state = r.failState), s.returnType = r.node);
      }
      return super.parseArrow(s);
    }
    parseFunctionParamType(s) {
      this.eat(17) && (s.optional = !0);
      let r = this.tsTryParseTypeAnnotation();
      return r && (s.typeAnnotation = r), this.resetEndLocation(s), s;
    }
    isAssignable(s, r) {
      switch (s.type) {
        case "TSTypeCastExpression":
          return this.isAssignable(s.expression, r);
        case "TSParameterProperty":
          return !0;
        default:
          return super.isAssignable(s, r);
      }
    }
    toAssignable(s, r = !1) {
      switch (s.type) {
        case "ParenthesizedExpression":
          this.toAssignableParenthesizedExpression(s, r);
          break;
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSNonNullExpression":
        case "TSTypeAssertion":
          r ? this.expressionScope.recordArrowParameterBindingError(pt.UnexpectedTypeCastInParameter, s) : this.raise(pt.UnexpectedTypeCastInParameter,
          s), this.toAssignable(s.expression, r);
          break;
        case "AssignmentExpression":
          !r && s.left.type === "TSTypeCastExpression" && (s.left = this.typeCastToParameter(s.left));
        default:
          super.toAssignable(s, r);
      }
    }
    toAssignableParenthesizedExpression(s, r) {
      switch (s.expression.type) {
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSNonNullExpression":
        case "TSTypeAssertion":
        case "ParenthesizedExpression":
          this.toAssignable(s.expression, r);
          break;
        default:
          super.toAssignable(s, r);
      }
    }
    checkToRestConversion(s, r) {
      switch (s.type) {
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSTypeAssertion":
        case "TSNonNullExpression":
          this.checkToRestConversion(s.expression, !1);
          break;
        default:
          super.checkToRestConversion(s, r);
      }
    }
    isValidLVal(s, r, i) {
      switch (s) {
        case "TSTypeCastExpression":
          return !0;
        case "TSParameterProperty":
          return "parameter";
        case "TSNonNullExpression":
        case "TSInstantiationExpression":
          return "expression";
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSTypeAssertion":
          return (i !== 64 || !r) && ["expression", !0];
        default:
          return super.isValidLVal(s, r, i);
      }
    }
    parseBindingAtom() {
      return this.state.type === 78 ? this.parseIdentifier(!0) : super.parseBindingAtom();
    }
    parseMaybeDecoratorArguments(s, r) {
      if (this.match(47) || this.match(51)) {
        let i = this.tsParseTypeArgumentsInExpression();
        if (this.match(10)) {
          let a = super.parseMaybeDecoratorArguments(s, r);
          return a.typeParameters = i, a;
        }
        this.unexpected(null, 10);
      }
      return super.parseMaybeDecoratorArguments(s, r);
    }
    checkCommaAfterRest(s) {
      return this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === s ? (this.next(), !1) : super.checkCommaAfterRest(
      s);
    }
    isClassMethod() {
      return this.match(47) || super.isClassMethod();
    }
    isClassProperty() {
      return this.match(35) || this.match(14) || super.isClassProperty();
    }
    parseMaybeDefault(s, r) {
      let i = super.parseMaybeDefault(s, r);
      return i.type === "AssignmentPattern" && i.typeAnnotation && i.right.start < i.typeAnnotation.start && this.raise(pt.TypeAnnotationAfterAssign,
      i.typeAnnotation), i;
    }
    getTokenFromCode(s) {
      if (this.state.inType) {
        if (s === 62) {
          this.finishOp(48, 1);
          return;
        }
        if (s === 60) {
          this.finishOp(47, 1);
          return;
        }
      }
      super.getTokenFromCode(s);
    }
    reScan_lt_gt() {
      let {
        type: s
      } = this.state;
      s === 47 ? (this.state.pos -= 1, this.readToken_lt()) : s === 48 && (this.state.pos -= 1, this.readToken_gt());
    }
    reScan_lt() {
      let {
        type: s
      } = this.state;
      return s === 51 ? (this.state.pos -= 2, this.finishOp(47, 1), 47) : s;
    }
    toAssignableList(s, r, i) {
      for (let a = 0; a < s.length; a++) {
        let o = s[a];
        o?.type === "TSTypeCastExpression" && (s[a] = this.typeCastToParameter(o));
      }
      super.toAssignableList(s, r, i);
    }
    typeCastToParameter(s) {
      return s.expression.typeAnnotation = s.typeAnnotation, this.resetEndLocation(s.expression, s.typeAnnotation.loc.end), s.expression;
    }
    shouldParseArrow(s) {
      return this.match(14) ? s.every((r) => this.isAssignable(r, !0)) : super.shouldParseArrow(s);
    }
    shouldParseAsyncArrow() {
      return this.match(14) || super.shouldParseAsyncArrow();
    }
    canHaveLeadingDecorator() {
      return super.canHaveLeadingDecorator() || this.isAbstractClass();
    }
    jsxParseOpeningElementAfterName(s) {
      if (this.match(47) || this.match(51)) {
        let r = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression());
        r && (s.typeParameters = r);
      }
      return super.jsxParseOpeningElementAfterName(s);
    }
    getGetterSetterExpectedParamCount(s) {
      let r = super.getGetterSetterExpectedParamCount(s), a = this.getObjectOrClassMethodParams(s)[0];
      return a && this.isThisParam(a) ? r + 1 : r;
    }
    parseCatchClauseParam() {
      let s = super.parseCatchClauseParam(), r = this.tsTryParseTypeAnnotation();
      return r && (s.typeAnnotation = r, this.resetEndLocation(s)), s;
    }
    tsInAmbientContext(s) {
      let {
        isAmbientContext: r,
        strict: i
      } = this.state;
      this.state.isAmbientContext = !0, this.state.strict = !1;
      try {
        return s();
      } finally {
        this.state.isAmbientContext = r, this.state.strict = i;
      }
    }
    parseClass(s, r, i) {
      let a = this.state.inAbstractClass;
      this.state.inAbstractClass = !!s.abstract;
      try {
        return super.parseClass(s, r, i);
      } finally {
        this.state.inAbstractClass = a;
      }
    }
    tsParseAbstractDeclaration(s, r) {
      if (this.match(80))
        return s.abstract = !0, this.maybeTakeDecorators(r, this.parseClass(s, !0, !1));
      if (this.isContextual(129)) {
        if (!this.hasFollowingLineBreak())
          return s.abstract = !0, this.raise(pt.NonClassMethodPropertyHasAbstractModifer, s), this.tsParseInterfaceDeclaration(s);
      } else
        this.unexpected(null, 80);
    }
    parseMethod(s, r, i, a, o, l, u) {
      let c = super.parseMethod(s, r, i, a, o, l, u);
      if (c.abstract && (this.hasPlugin("estree") ? c.value : c).body) {
        let {
          key: f
        } = c;
        this.raise(pt.AbstractMethodHasImplementation, c, {
          methodName: f.type === "Identifier" && !c.computed ? f.name : `[${this.input.slice(this.offsetToSourcePos(f.start), this.offsetToSourcePos(
          f.end))}]`
        });
      }
      return c;
    }
    tsParseTypeParameterName() {
      return this.parseIdentifier().name;
    }
    shouldParseAsAmbientContext() {
      return !!this.getPluginOption("typescript", "dts");
    }
    parse() {
      return this.shouldParseAsAmbientContext() && (this.state.isAmbientContext = !0), super.parse();
    }
    getExpression() {
      return this.shouldParseAsAmbientContext() && (this.state.isAmbientContext = !0), super.getExpression();
    }
    parseExportSpecifier(s, r, i, a) {
      return !r && a ? (this.parseTypeOnlyImportExportSpecifier(s, !1, i), this.finishNode(s, "ExportSpecifier")) : (s.exportKind = "value",
      super.parseExportSpecifier(s, r, i, a));
    }
    parseImportSpecifier(s, r, i, a, o) {
      return !r && a ? (this.parseTypeOnlyImportExportSpecifier(s, !0, i), this.finishNode(s, "ImportSpecifier")) : (s.importKind = "value",
      super.parseImportSpecifier(s, r, i, a, i ? 4098 : 4096));
    }
    parseTypeOnlyImportExportSpecifier(s, r, i) {
      let a = r ? "imported" : "local", o = r ? "local" : "exported", l = s[a], u, c = !1, p = !0, h = l.loc.start;
      if (this.isContextual(93)) {
        let d = this.parseIdentifier();
        if (this.isContextual(93)) {
          let m = this.parseIdentifier();
          To(this.state.type) ? (c = !0, l = d, u = r ? this.parseIdentifier() : this.parseModuleExportName(), p = !1) : (u = m, p = !1);
        } else To(this.state.type) ? (p = !1, u = r ? this.parseIdentifier() : this.parseModuleExportName()) : (c = !0, l = d);
      } else To(this.state.type) && (c = !0, r ? (l = this.parseIdentifier(!0), this.isContextual(93) || this.checkReservedWord(l.name, l.loc.
      start, !0, !0)) : l = this.parseModuleExportName());
      c && i && this.raise(r ? pt.TypeModifierIsUsedInTypeImports : pt.TypeModifierIsUsedInTypeExports, h), s[a] = l, s[o] = u;
      let f = r ? "importKind" : "exportKind";
      s[f] = c ? "type" : "value", p && this.eatContextual(93) && (s[o] = r ? this.parseIdentifier() : this.parseModuleExportName()), s[o] ||
      (s[o] = su(s[a])), r && this.checkIdentifier(s[o], c ? 4098 : 4096);
    }
  }, "typescript");
  function wVe(t) {
    if (t.type !== "MemberExpression") return !1;
    let {
      computed: e,
      property: s
    } = t;
    return e && s.type !== "StringLiteral" && (s.type !== "TemplateLiteral" || s.expressions.length > 0) ? !1 : k$(t.object);
  }
  n(wVe, "isPossiblyLiteralEnum");
  function IVe(t, e) {
    var s;
    let {
      type: r
    } = t;
    if ((s = t.extra) != null && s.parenthesized)
      return !1;
    if (e) {
      if (r === "Literal") {
        let {
          value: i
        } = t;
        if (typeof i == "string" || typeof i == "boolean")
          return !0;
      }
    } else if (r === "StringLiteral" || r === "BooleanLiteral")
      return !0;
    return !!(N$(t, e) || NVe(t, e) || r === "TemplateLiteral" && t.expressions.length === 0 || wVe(t));
  }
  n(IVe, "isValidAmbientConstInitializer");
  function N$(t, e) {
    return e ? t.type === "Literal" && (typeof t.value == "number" || "bigint" in t) : t.type === "NumericLiteral" || t.type === "BigIntLite\
ral";
  }
  n(N$, "isNumber");
  function NVe(t, e) {
    if (t.type === "UnaryExpression") {
      let {
        operator: s,
        argument: r
      } = t;
      if (s === "-" && N$(r, e))
        return !0;
    }
    return !1;
  }
  n(NVe, "isNegativeNumber");
  function k$(t) {
    return t.type === "Identifier" ? !0 : t.type !== "MemberExpression" || t.computed ? !1 : k$(t.object);
  }
  n(k$, "isUncomputedMemberExpressionChain");
  var f$ = tu`placeholders`({
    ClassNameIsRequired: "A class name is required.",
    UnexpectedSpace: "Unexpected space in placeholder."
  }), kVe = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "PlaceholdersParserMixin");
    }
    parsePlaceholder(s) {
      if (this.match(133)) {
        let r = this.startNode();
        return this.next(), this.assertNoSpace(), r.name = super.parseIdentifier(!0), this.assertNoSpace(), this.expect(133), this.finishPlaceholder(
        r, s);
      }
    }
    finishPlaceholder(s, r) {
      let i = s;
      return (!i.expectedNode || !i.type) && (i = this.finishNode(i, "Placeholder")), i.expectedNode = r, i;
    }
    getTokenFromCode(s) {
      s === 37 && this.input.charCodeAt(this.state.pos + 1) === 37 ? this.finishOp(133, 2) : super.getTokenFromCode(s);
    }
    parseExprAtom(s) {
      return this.parsePlaceholder("Expression") || super.parseExprAtom(s);
    }
    parseIdentifier(s) {
      return this.parsePlaceholder("Identifier") || super.parseIdentifier(s);
    }
    checkReservedWord(s, r, i, a) {
      s !== void 0 && super.checkReservedWord(s, r, i, a);
    }
    parseBindingAtom() {
      return this.parsePlaceholder("Pattern") || super.parseBindingAtom();
    }
    isValidLVal(s, r, i) {
      return s === "Placeholder" || super.isValidLVal(s, r, i);
    }
    toAssignable(s, r) {
      s && s.type === "Placeholder" && s.expectedNode === "Expression" ? s.expectedNode = "Pattern" : super.toAssignable(s, r);
    }
    chStartsBindingIdentifier(s, r) {
      return !!(super.chStartsBindingIdentifier(s, r) || this.lookahead().type === 133);
    }
    verifyBreakContinue(s, r) {
      s.label && s.label.type === "Placeholder" || super.verifyBreakContinue(s, r);
    }
    parseExpressionStatement(s, r) {
      var i;
      if (r.type !== "Placeholder" || (i = r.extra) != null && i.parenthesized)
        return super.parseExpressionStatement(s, r);
      if (this.match(14)) {
        let o = s;
        return o.label = this.finishPlaceholder(r, "Identifier"), this.next(), o.body = super.parseStatementOrSloppyAnnexBFunctionDeclaration(),
        this.finishNode(o, "LabeledStatement");
      }
      this.semicolon();
      let a = s;
      return a.name = r.name, this.finishPlaceholder(a, "Statement");
    }
    parseBlock(s, r, i) {
      return this.parsePlaceholder("BlockStatement") || super.parseBlock(s, r, i);
    }
    parseFunctionId(s) {
      return this.parsePlaceholder("Identifier") || super.parseFunctionId(s);
    }
    parseClass(s, r, i) {
      let a = r ? "ClassDeclaration" : "ClassExpression";
      this.next();
      let o = this.state.strict, l = this.parsePlaceholder("Identifier");
      if (l)
        if (this.match(81) || this.match(133) || this.match(5))
          s.id = l;
        else {
          if (i || !r)
            return s.id = null, s.body = this.finishPlaceholder(l, "ClassBody"), this.finishNode(s, a);
          throw this.raise(f$.ClassNameIsRequired, this.state.startLoc);
        }
      else
        this.parseClassId(s, r, i);
      return super.parseClassSuper(s), s.body = this.parsePlaceholder("ClassBody") || super.parseClassBody(!!s.superClass, o), this.finishNode(
      s, a);
    }
    parseExport(s, r) {
      let i = this.parsePlaceholder("Identifier");
      if (!i) return super.parseExport(s, r);
      let a = s;
      if (!this.isContextual(98) && !this.match(12))
        return a.specifiers = [], a.source = null, a.declaration = this.finishPlaceholder(i, "Declaration"), this.finishNode(a, "ExportNamed\
Declaration");
      this.expectPlugin("exportDefaultFrom");
      let o = this.startNode();
      return o.exported = i, a.specifiers = [this.finishNode(o, "ExportDefaultSpecifier")], super.parseExport(a, r);
    }
    isExportDefaultSpecifier() {
      if (this.match(65)) {
        let s = this.nextTokenStart();
        if (this.isUnparsedContextual(s, "from") && this.input.startsWith(Uc(133), this.nextTokenStartSince(s + 4)))
          return !0;
      }
      return super.isExportDefaultSpecifier();
    }
    maybeParseExportDefaultSpecifier(s, r) {
      var i;
      return (i = s.specifiers) != null && i.length ? !0 : super.maybeParseExportDefaultSpecifier(s, r);
    }
    checkExport(s) {
      let {
        specifiers: r
      } = s;
      r != null && r.length && (s.specifiers = r.filter((i) => i.exported.type === "Placeholder")), super.checkExport(s), s.specifiers = r;
    }
    parseImport(s) {
      let r = this.parsePlaceholder("Identifier");
      if (!r) return super.parseImport(s);
      if (s.specifiers = [], !this.isContextual(98) && !this.match(12))
        return s.source = this.finishPlaceholder(r, "StringLiteral"), this.semicolon(), this.finishNode(s, "ImportDeclaration");
      let i = this.startNodeAtNode(r);
      return i.local = r, s.specifiers.push(this.finishNode(i, "ImportDefaultSpecifier")), this.eat(12) && (this.maybeParseStarImportSpecifier(
      s) || this.parseNamedImportSpecifiers(s)), this.expectContextual(98), s.source = this.parseImportSource(), this.semicolon(), this.finishNode(
      s, "ImportDeclaration");
    }
    parseImportSource() {
      return this.parsePlaceholder("StringLiteral") || super.parseImportSource();
    }
    assertNoSpace() {
      this.state.start > this.offsetToSourcePos(this.state.lastTokEndLoc.index) && this.raise(f$.UnexpectedSpace, this.state.lastTokEndLoc);
    }
  }, "placeholders"), DVe = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "V8IntrinsicMixin");
    }
    parseV8Intrinsic() {
      if (this.match(54)) {
        let s = this.state.startLoc, r = this.startNode();
        if (this.next(), Js(this.state.type)) {
          let i = this.parseIdentifierName(), a = this.createIdentifier(r, i);
          if (a.type = "V8IntrinsicIdentifier", this.match(10))
            return a;
        }
        this.unexpected(s);
      }
    }
    parseExprAtom(s) {
      return this.parseV8Intrinsic() || super.parseExprAtom(s);
    }
  }, "v8intrinsic"), d$ = ["minimal", "fsharp", "hack", "smart"], m$ = ["^^", "@@", "^", "%", "#"];
  function OVe(t) {
    if (t.has("decorators")) {
      if (t.has("decorators-legacy"))
        throw new Error("Cannot use the decorators and decorators-legacy plugin together");
      let s = t.get("decorators").decoratorsBeforeExport;
      if (s != null && typeof s != "boolean")
        throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");
      let r = t.get("decorators").allowCallParenthesized;
      if (r != null && typeof r != "boolean")
        throw new Error("'allowCallParenthesized' must be a boolean.");
    }
    if (t.has("flow") && t.has("typescript"))
      throw new Error("Cannot combine flow and typescript plugins.");
    if (t.has("placeholders") && t.has("v8intrinsic"))
      throw new Error("Cannot combine placeholders and v8intrinsic plugins.");
    if (t.has("pipelineOperator")) {
      var e;
      let s = t.get("pipelineOperator").proposal;
      if (!d$.includes(s)) {
        let i = d$.map((a) => `"${a}"`).join(", ");
        throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${i}.`);
      }
      let r = ((e = t.get("recordAndTuple")) == null ? void 0 : e.syntaxType) === "hash";
      if (s === "hack") {
        if (t.has("placeholders"))
          throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");
        if (t.has("v8intrinsic"))
          throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");
        let i = t.get("pipelineOperator").topicToken;
        if (!m$.includes(i)) {
          let a = m$.map((o) => `"${o}"`).join(", ");
          throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${a}\
.`);
        }
        if (i === "#" && r)
          throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "hack", topicToken: "#" }]\` and \`${JSON.stringify(["\
recordAndTuple", t.get("recordAndTuple")])}\`.`);
      } else if (s === "smart" && r)
        throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "smart" }]\` and \`${JSON.stringify(["recordAndTuple", t.
        get("recordAndTuple")])}\`.`);
    }
    if (t.has("moduleAttributes")) {
      if (t.has("deprecatedImportAssert") || t.has("importAssertions"))
        throw new Error("Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins.");
      if (t.get("moduleAttributes").version !== "may-2020")
        throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the on\
ly supported value is 'may-2020'.");
    }
    if (t.has("importAssertions") && t.has("deprecatedImportAssert"))
      throw new Error("Cannot combine importAssertions and deprecatedImportAssert plugins.");
    if (!t.has("deprecatedImportAssert") && t.has("importAttributes") && t.get("importAttributes").deprecatedAssertSyntax && t.set("deprecat\
edImportAssert", {}), t.has("recordAndTuple")) {
      let s = t.get("recordAndTuple").syntaxType;
      if (s != null) {
        let r = ["hash", "bar"];
        if (!r.includes(s))
          throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: " + r.map((i) => `'${i}'`).join(", "));
      }
    }
    if (t.has("asyncDoExpressions") && !t.has("doExpressions")) {
      let s = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");
      throw s.missingPlugins = "doExpressions", s;
    }
    if (t.has("optionalChainingAssign") && t.get("optionalChainingAssign").version !== "2023-07")
      throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, th\
e only supported value is '2023-07'.");
  }
  n(OVe, "validatePlugins");
  var D$ = {
    estree: LKe,
    jsx: PVe,
    flow: xVe,
    typescript: CVe,
    v8intrinsic: DVe,
    placeholders: kVe
  }, _Ve = Object.keys(D$), $k = class extends Wk {
    static {
      n(this, "ExpressionParser");
    }
    checkProto(e, s, r, i) {
      if (e.type === "SpreadElement" || this.isObjectMethod(e) || e.computed || e.shorthand)
        return;
      let a = e.key;
      if ((a.type === "Identifier" ? a.name : a.value) === "__proto__") {
        if (s) {
          this.raise(Q.RecordNoProto, a);
          return;
        }
        r.used && (i ? i.doubleProtoLoc === null && (i.doubleProtoLoc = a.loc.start) : this.raise(Q.DuplicateProto, a)), r.used = !0;
      }
    }
    shouldExitDescending(e, s) {
      return e.type === "ArrowFunctionExpression" && this.offsetToSourcePos(e.start) === s;
    }
    getExpression() {
      this.enterInitialScopes(), this.nextToken();
      let e = this.parseExpression();
      return this.match(140) || this.unexpected(), this.finalizeRemainingComments(), e.comments = this.comments, e.errors = this.state.errors,
      this.optionFlags & 128 && (e.tokens = this.tokens), e;
    }
    parseExpression(e, s) {
      return e ? this.disallowInAnd(() => this.parseExpressionBase(s)) : this.allowInAnd(() => this.parseExpressionBase(s));
    }
    parseExpressionBase(e) {
      let s = this.state.startLoc, r = this.parseMaybeAssign(e);
      if (this.match(12)) {
        let i = this.startNodeAt(s);
        for (i.expressions = [r]; this.eat(12); )
          i.expressions.push(this.parseMaybeAssign(e));
        return this.toReferencedList(i.expressions), this.finishNode(i, "SequenceExpression");
      }
      return r;
    }
    parseMaybeAssignDisallowIn(e, s) {
      return this.disallowInAnd(() => this.parseMaybeAssign(e, s));
    }
    parseMaybeAssignAllowIn(e, s) {
      return this.allowInAnd(() => this.parseMaybeAssign(e, s));
    }
    setOptionalParametersError(e, s) {
      var r;
      e.optionalParametersLoc = (r = s?.loc) != null ? r : this.state.startLoc;
    }
    parseMaybeAssign(e, s) {
      let r = this.state.startLoc;
      if (this.isContextual(108) && this.prodParam.hasYield) {
        let l = this.parseYield();
        return s && (l = s.call(this, l, r)), l;
      }
      let i;
      e ? i = !1 : (e = new Pd(), i = !0);
      let {
        type: a
      } = this.state;
      (a === 10 || Js(a)) && (this.state.potentialArrowAt = this.state.start);
      let o = this.parseMaybeConditional(e);
      if (s && (o = s.call(this, o, r)), RKe(this.state.type)) {
        let l = this.startNodeAt(r), u = this.state.value;
        if (l.operator = u, this.match(29)) {
          this.toAssignable(o, !0), l.left = o;
          let c = r.index;
          e.doubleProtoLoc != null && e.doubleProtoLoc.index >= c && (e.doubleProtoLoc = null), e.shorthandAssignLoc != null && e.shorthandAssignLoc.
          index >= c && (e.shorthandAssignLoc = null), e.privateKeyLoc != null && e.privateKeyLoc.index >= c && (this.checkDestructuringPrivate(
          e), e.privateKeyLoc = null);
        } else
          l.left = o;
        return this.next(), l.right = this.parseMaybeAssign(), this.checkLVal(o, this.finishNode(l, "AssignmentExpression")), l;
      } else i && this.checkExpressionErrors(e, !0);
      return o;
    }
    parseMaybeConditional(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseExprOps(e);
      return this.shouldExitDescending(i, r) ? i : this.parseConditional(i, s, e);
    }
    parseConditional(e, s, r) {
      if (this.eat(17)) {
        let i = this.startNodeAt(s);
        return i.test = e, i.consequent = this.parseMaybeAssignAllowIn(), this.expect(14), i.alternate = this.parseMaybeAssign(), this.finishNode(
        i, "ConditionalExpression");
      }
      return e;
    }
    parseMaybeUnaryOrPrivate(e) {
      return this.match(139) ? this.parsePrivateName() : this.parseMaybeUnary(e);
    }
    parseExprOps(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseMaybeUnaryOrPrivate(e);
      return this.shouldExitDescending(i, r) ? i : this.parseExprOp(i, s, -1);
    }
    parseExprOp(e, s, r) {
      if (this.isPrivateName(e)) {
        let a = this.getPrivateNameSV(e);
        (r >= Hx(58) || !this.prodParam.hasIn || !this.match(58)) && this.raise(Q.PrivateInExpectedIn, e, {
          identifierName: a
        }), this.classScope.usePrivateName(a, e.loc.start);
      }
      let i = this.state.type;
      if (UKe(i) && (this.prodParam.hasIn || !this.match(58))) {
        let a = Hx(i);
        if (a > r) {
          if (i === 39) {
            if (this.expectPlugin("pipelineOperator"), this.state.inFSharpPipelineDirectBody)
              return e;
            this.checkPipelineAtInfixOperator(e, s);
          }
          let o = this.startNodeAt(s);
          o.left = e, o.operator = this.state.value;
          let l = i === 41 || i === 42, u = i === 40;
          if (u && (a = Hx(42)), this.next(), i === 39 && this.hasPlugin(["pipelineOperator", {
            proposal: "minimal"
          }]) && this.state.type === 96 && this.prodParam.hasAwait)
            throw this.raise(Q.UnexpectedAwaitAfterPipelineBody, this.state.startLoc);
          o.right = this.parseExprOpRightExpr(i, a);
          let c = this.finishNode(o, l || u ? "LogicalExpression" : "BinaryExpression"), p = this.state.type;
          if (u && (p === 41 || p === 42) || l && p === 40)
            throw this.raise(Q.MixingCoalesceWithLogical, this.state.startLoc);
          return this.parseExprOp(c, s, r);
        }
      }
      return e;
    }
    parseExprOpRightExpr(e, s) {
      let r = this.state.startLoc;
      switch (e) {
        case 39:
          switch (this.getPluginOption("pipelineOperator", "proposal")) {
            case "hack":
              return this.withTopicBindingContext(() => this.parseHackPipeBody());
            case "fsharp":
              return this.withSoloAwaitPermittingContext(() => this.parseFSharpPipelineBody(s));
          }
          if (this.getPluginOption("pipelineOperator", "proposal") === "smart")
            return this.withTopicBindingContext(() => {
              if (this.prodParam.hasYield && this.isContextual(108))
                throw this.raise(Q.PipeBodyIsTighter, this.state.startLoc);
              return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(e, s), r);
            });
        default:
          return this.parseExprOpBaseRightExpr(e, s);
      }
    }
    parseExprOpBaseRightExpr(e, s) {
      let r = this.state.startLoc;
      return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), r, HKe(e) ? s - 1 : s);
    }
    parseHackPipeBody() {
      var e;
      let {
        startLoc: s
      } = this.state, r = this.parseMaybeAssign();
      return wKe.has(r.type) && !((e = r.extra) != null && e.parenthesized) && this.raise(Q.PipeUnparenthesizedBody, s, {
        type: r.type
      }), this.topicReferenceWasUsedInCurrentContext() || this.raise(Q.PipeTopicUnused, s), r;
    }
    checkExponentialAfterUnary(e) {
      this.match(57) && this.raise(Q.UnexpectedTokenUnaryExponentiation, e.argument);
    }
    parseMaybeUnary(e, s) {
      let r = this.state.startLoc, i = this.isContextual(96);
      if (i && this.recordAwaitIfAllowed()) {
        this.next();
        let u = this.parseAwait(r);
        return s || this.checkExponentialAfterUnary(u), u;
      }
      let a = this.match(34), o = this.startNode();
      if (VKe(this.state.type)) {
        o.operator = this.state.value, o.prefix = !0, this.match(72) && this.expectPlugin("throwExpressions");
        let u = this.match(89);
        if (this.next(), o.argument = this.parseMaybeUnary(null, !0), this.checkExpressionErrors(e, !0), this.state.strict && u) {
          let c = o.argument;
          c.type === "Identifier" ? this.raise(Q.StrictDelete, o) : this.hasPropertyAsPrivateName(c) && this.raise(Q.DeletePrivateField, o);
        }
        if (!a)
          return s || this.checkExponentialAfterUnary(o), this.finishNode(o, "UnaryExpression");
      }
      let l = this.parseUpdate(o, a, e);
      if (i) {
        let {
          type: u
        } = this.state;
        if ((this.hasPlugin("v8intrinsic") ? wk(u) : wk(u) && !this.match(54)) && !this.isAmbiguousAwait())
          return this.raiseOverwrite(Q.AwaitNotInAsyncContext, r), this.parseAwait(r);
      }
      return l;
    }
    parseUpdate(e, s, r) {
      if (s) {
        let o = e;
        return this.checkLVal(o.argument, this.finishNode(o, "UpdateExpression")), e;
      }
      let i = this.state.startLoc, a = this.parseExprSubscripts(r);
      if (this.checkExpressionErrors(r, !1)) return a;
      for (; KKe(this.state.type) && !this.canInsertSemicolon(); ) {
        let o = this.startNodeAt(i);
        o.operator = this.state.value, o.prefix = !1, o.argument = a, this.next(), this.checkLVal(a, a = this.finishNode(o, "UpdateExpressio\
n"));
      }
      return a;
    }
    parseExprSubscripts(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseExprAtom(e);
      return this.shouldExitDescending(i, r) ? i : this.parseSubscripts(i, s);
    }
    parseSubscripts(e, s, r) {
      let i = {
        optionalChainMember: !1,
        maybeAsyncArrow: this.atPossibleAsyncArrow(e),
        stop: !1
      };
      do
        e = this.parseSubscript(e, s, r, i), i.maybeAsyncArrow = !1;
      while (!i.stop);
      return e;
    }
    parseSubscript(e, s, r, i) {
      let {
        type: a
      } = this.state;
      if (!r && a === 15)
        return this.parseBind(e, s, r, i);
      if (Xx(a))
        return this.parseTaggedTemplateExpression(e, s, i);
      let o = !1;
      if (a === 18) {
        if (r && (this.raise(Q.OptionalChainingNoNew, this.state.startLoc), this.lookaheadCharCode() === 40))
          return i.stop = !0, e;
        i.optionalChainMember = o = !0, this.next();
      }
      if (!r && this.match(10))
        return this.parseCoverCallAndAsyncArrowHead(e, s, i, o);
      {
        let l = this.eat(0);
        return l || o || this.eat(16) ? this.parseMember(e, s, i, l, o) : (i.stop = !0, e);
      }
    }
    parseMember(e, s, r, i, a) {
      let o = this.startNodeAt(s);
      return o.object = e, o.computed = i, i ? (o.property = this.parseExpression(), this.expect(3)) : this.match(139) ? (e.type === "Super" &&
      this.raise(Q.SuperPrivateField, s), this.classScope.usePrivateName(this.state.value, this.state.startLoc), o.property = this.parsePrivateName()) :
      o.property = this.parseIdentifier(!0), r.optionalChainMember ? (o.optional = a, this.finishNode(o, "OptionalMemberExpression")) : this.
      finishNode(o, "MemberExpression");
    }
    parseBind(e, s, r, i) {
      let a = this.startNodeAt(s);
      return a.object = e, this.next(), a.callee = this.parseNoCallExpr(), i.stop = !0, this.parseSubscripts(this.finishNode(a, "BindExpress\
ion"), s, r);
    }
    parseCoverCallAndAsyncArrowHead(e, s, r, i) {
      let a = this.state.maybeInArrowParameters, o = null;
      this.state.maybeInArrowParameters = !0, this.next();
      let l = this.startNodeAt(s);
      l.callee = e;
      let {
        maybeAsyncArrow: u,
        optionalChainMember: c
      } = r;
      u && (this.expressionScope.enter(hVe()), o = new Pd()), c && (l.optional = i), i ? l.arguments = this.parseCallExpressionArguments(11) :
      l.arguments = this.parseCallExpressionArguments(11, e.type !== "Super", l, o);
      let p = this.finishCallExpression(l, c);
      return u && this.shouldParseAsyncArrow() && !i ? (r.stop = !0, this.checkDestructuringPrivate(o), this.expressionScope.validateAsPattern(),
      this.expressionScope.exit(), p = this.parseAsyncArrowFromCallExpression(this.startNodeAt(s), p)) : (u && (this.checkExpressionErrors(o,
      !0), this.expressionScope.exit()), this.toReferencedArguments(p)), this.state.maybeInArrowParameters = a, p;
    }
    toReferencedArguments(e, s) {
      this.toReferencedListDeep(e.arguments, s);
    }
    parseTaggedTemplateExpression(e, s, r) {
      let i = this.startNodeAt(s);
      return i.tag = e, i.quasi = this.parseTemplate(!0), r.optionalChainMember && this.raise(Q.OptionalChainingNoTemplate, s), this.finishNode(
      i, "TaggedTemplateExpression");
    }
    atPossibleAsyncArrow(e) {
      return e.type === "Identifier" && e.name === "async" && this.state.lastTokEndLoc.index === e.end && !this.canInsertSemicolon() && e.end -
      e.start === 5 && this.offsetToSourcePos(e.start) === this.state.potentialArrowAt;
    }
    finishCallExpression(e, s) {
      if (e.callee.type === "Import")
        if (e.arguments.length === 0 || e.arguments.length > 2)
          this.raise(Q.ImportCallArity, e);
        else
          for (let r of e.arguments)
            r.type === "SpreadElement" && this.raise(Q.ImportCallSpreadArgument, r);
      return this.finishNode(e, s ? "OptionalCallExpression" : "CallExpression");
    }
    parseCallExpressionArguments(e, s, r, i) {
      let a = [], o = !0, l = this.state.inFSharpPipelineDirectBody;
      for (this.state.inFSharpPipelineDirectBody = !1; !this.eat(e); ) {
        if (o)
          o = !1;
        else if (this.expect(12), this.match(e)) {
          r && this.addTrailingCommaExtraToNode(r), this.next();
          break;
        }
        a.push(this.parseExprListItem(!1, i, s));
      }
      return this.state.inFSharpPipelineDirectBody = l, a;
    }
    shouldParseAsyncArrow() {
      return this.match(19) && !this.canInsertSemicolon();
    }
    parseAsyncArrowFromCallExpression(e, s) {
      var r;
      return this.resetPreviousNodeTrailingComments(s), this.expect(19), this.parseArrowExpression(e, s.arguments, !0, (r = s.extra) == null ?
      void 0 : r.trailingCommaLoc), s.innerComments && Pg(e, s.innerComments), s.callee.trailingComments && Pg(e, s.callee.trailingComments),
      e;
    }
    parseNoCallExpr() {
      let e = this.state.startLoc;
      return this.parseSubscripts(this.parseExprAtom(), e, !0);
    }
    parseExprAtom(e) {
      let s, r = null, {
        type: i
      } = this.state;
      switch (i) {
        case 79:
          return this.parseSuper();
        case 83:
          return s = this.startNode(), this.next(), this.match(16) ? this.parseImportMetaProperty(s) : this.match(10) ? this.optionFlags & 256 ?
          this.parseImportCall(s) : this.finishNode(s, "Import") : (this.raise(Q.UnsupportedImport, this.state.lastTokStartLoc), this.finishNode(
          s, "Import"));
        case 78:
          return s = this.startNode(), this.next(), this.finishNode(s, "ThisExpression");
        case 90:
          return this.parseDo(this.startNode(), !1);
        case 56:
        case 31:
          return this.readRegexp(), this.parseRegExpLiteral(this.state.value);
        case 135:
          return this.parseNumericLiteral(this.state.value);
        case 136:
          return this.parseBigIntLiteral(this.state.value);
        case 134:
          return this.parseStringLiteral(this.state.value);
        case 84:
          return this.parseNullLiteral();
        case 85:
          return this.parseBooleanLiteral(!0);
        case 86:
          return this.parseBooleanLiteral(!1);
        case 10: {
          let a = this.state.potentialArrowAt === this.state.start;
          return this.parseParenAndDistinguishExpression(a);
        }
        case 2:
        case 1:
          return this.parseArrayLike(this.state.type === 2 ? 4 : 3, !1, !0);
        case 0:
          return this.parseArrayLike(3, !0, !1, e);
        case 6:
        case 7:
          return this.parseObjectLike(this.state.type === 6 ? 9 : 8, !1, !0);
        case 5:
          return this.parseObjectLike(8, !1, !1, e);
        case 68:
          return this.parseFunctionOrFunctionSent();
        case 26:
          r = this.parseDecorators();
        case 80:
          return this.parseClass(this.maybeTakeDecorators(r, this.startNode()), !1);
        case 77:
          return this.parseNewOrNewTarget();
        case 25:
        case 24:
          return this.parseTemplate(!1);
        case 15: {
          s = this.startNode(), this.next(), s.object = null;
          let a = s.callee = this.parseNoCallExpr();
          if (a.type === "MemberExpression")
            return this.finishNode(s, "BindExpression");
          throw this.raise(Q.UnsupportedBind, a);
        }
        case 139:
          return this.raise(Q.PrivateInExpectedIn, this.state.startLoc, {
            identifierName: this.state.value
          }), this.parsePrivateName();
        case 33:
          return this.parseTopicReferenceThenEqualsSign(54, "%");
        case 32:
          return this.parseTopicReferenceThenEqualsSign(44, "^");
        case 37:
        case 38:
          return this.parseTopicReference("hack");
        case 44:
        case 54:
        case 27: {
          let a = this.getPluginOption("pipelineOperator", "proposal");
          if (a)
            return this.parseTopicReference(a);
          this.unexpected();
          break;
        }
        case 47: {
          let a = this.input.codePointAt(this.nextTokenStart());
          eu(a) || a === 62 ? this.expectOnePlugin(["jsx", "flow", "typescript"]) : this.unexpected();
          break;
        }
        default:
          if (i === 137)
            return this.parseDecimalLiteral(this.state.value);
          if (Js(i)) {
            if (this.isContextual(127) && this.lookaheadInLineCharCode() === 123)
              return this.parseModuleExpression();
            let a = this.state.potentialArrowAt === this.state.start, o = this.state.containsEsc, l = this.parseIdentifier();
            if (!o && l.name === "async" && !this.canInsertSemicolon()) {
              let {
                type: u
              } = this.state;
              if (u === 68)
                return this.resetPreviousNodeTrailingComments(l), this.next(), this.parseAsyncFunctionExpression(this.startNodeAtNode(l));
              if (Js(u))
                return this.lookaheadCharCode() === 61 ? this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(l)) : l;
              if (u === 90)
                return this.resetPreviousNodeTrailingComments(l), this.parseDo(this.startNodeAtNode(l), !0);
            }
            return a && this.match(19) && !this.canInsertSemicolon() ? (this.next(), this.parseArrowExpression(this.startNodeAtNode(l), [l],
            !1)) : l;
          } else
            this.unexpected();
      }
    }
    parseTopicReferenceThenEqualsSign(e, s) {
      let r = this.getPluginOption("pipelineOperator", "proposal");
      if (r)
        return this.state.type = e, this.state.value = s, this.state.pos--, this.state.end--, this.state.endLoc = xn(this.state.endLoc, -1),
        this.parseTopicReference(r);
      this.unexpected();
    }
    parseTopicReference(e) {
      let s = this.startNode(), r = this.state.startLoc, i = this.state.type;
      return this.next(), this.finishTopicReference(s, r, e, i);
    }
    finishTopicReference(e, s, r, i) {
      if (this.testTopicReferenceConfiguration(r, s, i))
        return r === "hack" ? (this.topicReferenceIsAllowedInCurrentContext() || this.raise(Q.PipeTopicUnbound, s), this.registerTopicReference(),
        this.finishNode(e, "TopicReference")) : (this.topicReferenceIsAllowedInCurrentContext() || this.raise(Q.PrimaryTopicNotAllowed, s), this.
        registerTopicReference(), this.finishNode(e, "PipelinePrimaryTopicReference"));
      throw this.raise(Q.PipeTopicUnconfiguredToken, s, {
        token: Uc(i)
      });
    }
    testTopicReferenceConfiguration(e, s, r) {
      switch (e) {
        case "hack":
          return this.hasPlugin(["pipelineOperator", {
            topicToken: Uc(r)
          }]);
        case "smart":
          return r === 27;
        default:
          throw this.raise(Q.PipeTopicRequiresHackPipes, s);
      }
    }
    parseAsyncArrowUnaryFunction(e) {
      this.prodParam.enter(Jx(!0, this.prodParam.hasYield));
      let s = [this.parseIdentifier()];
      return this.prodParam.exit(), this.hasPrecedingLineBreak() && this.raise(Q.LineTerminatorBeforeArrow, this.state.curPosition()), this.
      expect(19), this.parseArrowExpression(e, s, !0);
    }
    parseDo(e, s) {
      this.expectPlugin("doExpressions"), s && this.expectPlugin("asyncDoExpressions"), e.async = s, this.next();
      let r = this.state.labels;
      return this.state.labels = [], s ? (this.prodParam.enter(2), e.body = this.parseBlock(), this.prodParam.exit()) : e.body = this.parseBlock(),
      this.state.labels = r, this.finishNode(e, "DoExpression");
    }
    parseSuper() {
      let e = this.startNode();
      return this.next(), this.match(10) && !this.scope.allowDirectSuper && !(this.optionFlags & 16) ? this.raise(Q.SuperNotAllowed, e) : !this.
      scope.allowSuper && !(this.optionFlags & 16) && this.raise(Q.UnexpectedSuper, e), !this.match(10) && !this.match(0) && !this.match(16) &&
      this.raise(Q.UnsupportedSuper, e), this.finishNode(e, "Super");
    }
    parsePrivateName() {
      let e = this.startNode(), s = this.startNodeAt(xn(this.state.startLoc, 1)), r = this.state.value;
      return this.next(), e.id = this.createIdentifier(s, r), this.finishNode(e, "PrivateName");
    }
    parseFunctionOrFunctionSent() {
      let e = this.startNode();
      if (this.next(), this.prodParam.hasYield && this.match(16)) {
        let s = this.createIdentifier(this.startNodeAtNode(e), "function");
        return this.next(), this.match(103) ? this.expectPlugin("functionSent") : this.hasPlugin("functionSent") || this.unexpected(), this.
        parseMetaProperty(e, s, "sent");
      }
      return this.parseFunction(e);
    }
    parseMetaProperty(e, s, r) {
      e.meta = s;
      let i = this.state.containsEsc;
      return e.property = this.parseIdentifier(!0), (e.property.name !== r || i) && this.raise(Q.UnsupportedMetaProperty, e.property, {
        target: s.name,
        onlyValidPropertyName: r
      }), this.finishNode(e, "MetaProperty");
    }
    parseImportMetaProperty(e) {
      let s = this.createIdentifier(this.startNodeAtNode(e), "import");
      if (this.next(), this.isContextual(101))
        this.inModule || this.raise(Q.ImportMetaOutsideModule, s), this.sawUnambiguousESM = !0;
      else if (this.isContextual(105) || this.isContextual(97)) {
        let r = this.isContextual(105);
        if (this.expectPlugin(r ? "sourcePhaseImports" : "deferredImportEvaluation"), !(this.optionFlags & 256))
          throw this.raise(Q.DynamicImportPhaseRequiresImportExpressions, this.state.startLoc, {
            phase: this.state.value
          });
        return this.next(), e.phase = r ? "source" : "defer", this.parseImportCall(e);
      }
      return this.parseMetaProperty(e, s, "meta");
    }
    parseLiteralAtNode(e, s, r) {
      return this.addExtra(r, "rawValue", e), this.addExtra(r, "raw", this.input.slice(this.offsetToSourcePos(r.start), this.state.end)), r.
      value = e, this.next(), this.finishNode(r, s);
    }
    parseLiteral(e, s) {
      let r = this.startNode();
      return this.parseLiteralAtNode(e, s, r);
    }
    parseStringLiteral(e) {
      return this.parseLiteral(e, "StringLiteral");
    }
    parseNumericLiteral(e) {
      return this.parseLiteral(e, "NumericLiteral");
    }
    parseBigIntLiteral(e) {
      return this.parseLiteral(e, "BigIntLiteral");
    }
    parseDecimalLiteral(e) {
      return this.parseLiteral(e, "DecimalLiteral");
    }
    parseRegExpLiteral(e) {
      let s = this.startNode();
      return this.addExtra(s, "raw", this.input.slice(this.offsetToSourcePos(s.start), this.state.end)), s.pattern = e.pattern, s.flags = e.
      flags, this.next(), this.finishNode(s, "RegExpLiteral");
    }
    parseBooleanLiteral(e) {
      let s = this.startNode();
      return s.value = e, this.next(), this.finishNode(s, "BooleanLiteral");
    }
    parseNullLiteral() {
      let e = this.startNode();
      return this.next(), this.finishNode(e, "NullLiteral");
    }
    parseParenAndDistinguishExpression(e) {
      let s = this.state.startLoc, r;
      this.next(), this.expressionScope.enter(pVe());
      let i = this.state.maybeInArrowParameters, a = this.state.inFSharpPipelineDirectBody;
      this.state.maybeInArrowParameters = !0, this.state.inFSharpPipelineDirectBody = !1;
      let o = this.state.startLoc, l = [], u = new Pd(), c = !0, p, h;
      for (; !this.match(11); ) {
        if (c)
          c = !1;
        else if (this.expect(12, u.optionalParametersLoc === null ? null : u.optionalParametersLoc), this.match(11)) {
          h = this.state.startLoc;
          break;
        }
        if (this.match(21)) {
          let m = this.state.startLoc;
          if (p = this.state.startLoc, l.push(this.parseParenItem(this.parseRestBinding(), m)), !this.checkCommaAfterRest(41))
            break;
        } else
          l.push(this.parseMaybeAssignAllowIn(u, this.parseParenItem));
      }
      let f = this.state.lastTokEndLoc;
      this.expect(11), this.state.maybeInArrowParameters = i, this.state.inFSharpPipelineDirectBody = a;
      let d = this.startNodeAt(s);
      return e && this.shouldParseArrow(l) && (d = this.parseArrow(d)) ? (this.checkDestructuringPrivate(u), this.expressionScope.validateAsPattern(),
      this.expressionScope.exit(), this.parseArrowExpression(d, l, !1), d) : (this.expressionScope.exit(), l.length || this.unexpected(this.
      state.lastTokStartLoc), h && this.unexpected(h), p && this.unexpected(p), this.checkExpressionErrors(u, !0), this.toReferencedListDeep(
      l, !0), l.length > 1 ? (r = this.startNodeAt(o), r.expressions = l, this.finishNode(r, "SequenceExpression"), this.resetEndLocation(r,
      f)) : r = l[0], this.wrapParenthesis(s, r));
    }
    wrapParenthesis(e, s) {
      if (!(this.optionFlags & 512))
        return this.addExtra(s, "parenthesized", !0), this.addExtra(s, "parenStart", e.index), this.takeSurroundingComments(s, e.index, this.
        state.lastTokEndLoc.index), s;
      let r = this.startNodeAt(e);
      return r.expression = s, this.finishNode(r, "ParenthesizedExpression");
    }
    shouldParseArrow(e) {
      return !this.canInsertSemicolon();
    }
    parseArrow(e) {
      if (this.eat(19))
        return e;
    }
    parseParenItem(e, s) {
      return e;
    }
    parseNewOrNewTarget() {
      let e = this.startNode();
      if (this.next(), this.match(16)) {
        let s = this.createIdentifier(this.startNodeAtNode(e), "new");
        this.next();
        let r = this.parseMetaProperty(e, s, "target");
        return !this.scope.inNonArrowFunction && !this.scope.inClass && !(this.optionFlags & 4) && this.raise(Q.UnexpectedNewTarget, r), r;
      }
      return this.parseNew(e);
    }
    parseNew(e) {
      if (this.parseNewCallee(e), this.eat(10)) {
        let s = this.parseExprList(11);
        this.toReferencedList(s), e.arguments = s;
      } else
        e.arguments = [];
      return this.finishNode(e, "NewExpression");
    }
    parseNewCallee(e) {
      let s = this.match(83), r = this.parseNoCallExpr();
      e.callee = r, s && (r.type === "Import" || r.type === "ImportExpression") && this.raise(Q.ImportCallNotNewExpression, r);
    }
    parseTemplateElement(e) {
      let {
        start: s,
        startLoc: r,
        end: i,
        value: a
      } = this.state, o = s + 1, l = this.startNodeAt(xn(r, 1));
      a === null && (e || this.raise(Q.InvalidEscapeSequenceTemplate, xn(this.state.firstInvalidTemplateEscapePos, 1)));
      let u = this.match(24), c = u ? -1 : -2, p = i + c;
      l.value = {
        raw: this.input.slice(o, p).replace(/\r\n?/g, `
`),
        cooked: a === null ? null : a.slice(1, c)
      }, l.tail = u, this.next();
      let h = this.finishNode(l, "TemplateElement");
      return this.resetEndLocation(h, xn(this.state.lastTokEndLoc, c)), h;
    }
    parseTemplate(e) {
      let s = this.startNode(), r = this.parseTemplateElement(e), i = [r], a = [];
      for (; !r.tail; )
        a.push(this.parseTemplateSubstitution()), this.readTemplateContinuation(), i.push(r = this.parseTemplateElement(e));
      return s.expressions = a, s.quasis = i, this.finishNode(s, "TemplateLiteral");
    }
    parseTemplateSubstitution() {
      return this.parseExpression();
    }
    parseObjectLike(e, s, r, i) {
      r && this.expectPlugin("recordAndTuple");
      let a = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !1;
      let o = /* @__PURE__ */ Object.create(null), l = !0, u = this.startNode();
      for (u.properties = [], this.next(); !this.match(e); ) {
        if (l)
          l = !1;
        else if (this.expect(12), this.match(e)) {
          this.addTrailingCommaExtraToNode(u);
          break;
        }
        let p;
        s ? p = this.parseBindingProperty() : (p = this.parsePropertyDefinition(i), this.checkProto(p, r, o, i)), r && !this.isObjectProperty(
        p) && p.type !== "SpreadElement" && this.raise(Q.InvalidRecordProperty, p), p.shorthand && this.addExtra(p, "shorthand", !0), u.properties.
        push(p);
      }
      this.next(), this.state.inFSharpPipelineDirectBody = a;
      let c = "ObjectExpression";
      return s ? c = "ObjectPattern" : r && (c = "RecordExpression"), this.finishNode(u, c);
    }
    addTrailingCommaExtraToNode(e) {
      this.addExtra(e, "trailingComma", this.state.lastTokStartLoc.index), this.addExtra(e, "trailingCommaLoc", this.state.lastTokStartLoc, !1);
    }
    maybeAsyncOrAccessorProp(e) {
      return !e.computed && e.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(0) || this.match(55));
    }
    parsePropertyDefinition(e) {
      let s = [];
      if (this.match(26))
        for (this.hasPlugin("decorators") && this.raise(Q.UnsupportedPropertyDecorator, this.state.startLoc); this.match(26); )
          s.push(this.parseDecorator());
      let r = this.startNode(), i = !1, a = !1, o;
      if (this.match(21))
        return s.length && this.unexpected(), this.parseSpread();
      s.length && (r.decorators = s, s = []), r.method = !1, e && (o = this.state.startLoc);
      let l = this.eat(55);
      this.parsePropertyNamePrefixOperator(r);
      let u = this.state.containsEsc;
      if (this.parsePropertyName(r, e), !l && !u && this.maybeAsyncOrAccessorProp(r)) {
        let {
          key: c
        } = r, p = c.name;
        p === "async" && !this.hasPrecedingLineBreak() && (i = !0, this.resetPreviousNodeTrailingComments(c), l = this.eat(55), this.parsePropertyName(
        r)), (p === "get" || p === "set") && (a = !0, this.resetPreviousNodeTrailingComments(c), r.kind = p, this.match(55) && (l = !0, this.
        raise(Q.AccessorIsGenerator, this.state.curPosition(), {
          kind: p
        }), this.next()), this.parsePropertyName(r));
      }
      return this.parseObjPropValue(r, o, l, i, !1, a, e);
    }
    getGetterSetterExpectedParamCount(e) {
      return e.kind === "get" ? 0 : 1;
    }
    getObjectOrClassMethodParams(e) {
      return e.params;
    }
    checkGetterSetterParams(e) {
      var s;
      let r = this.getGetterSetterExpectedParamCount(e), i = this.getObjectOrClassMethodParams(e);
      i.length !== r && this.raise(e.kind === "get" ? Q.BadGetterArity : Q.BadSetterArity, e), e.kind === "set" && ((s = i[i.length - 1]) ==
      null ? void 0 : s.type) === "RestElement" && this.raise(Q.BadSetterRestParameter, e);
    }
    parseObjectMethod(e, s, r, i, a) {
      if (a) {
        let o = this.parseMethod(e, s, !1, !1, !1, "ObjectMethod");
        return this.checkGetterSetterParams(o), o;
      }
      if (r || s || this.match(10))
        return i && this.unexpected(), e.kind = "method", e.method = !0, this.parseMethod(e, s, r, !1, !1, "ObjectMethod");
    }
    parseObjectProperty(e, s, r, i) {
      if (e.shorthand = !1, this.eat(14))
        return e.value = r ? this.parseMaybeDefault(this.state.startLoc) : this.parseMaybeAssignAllowIn(i), this.finishNode(e, "ObjectProper\
ty");
      if (!e.computed && e.key.type === "Identifier") {
        if (this.checkReservedWord(e.key.name, e.key.loc.start, !0, !1), r)
          e.value = this.parseMaybeDefault(s, su(e.key));
        else if (this.match(29)) {
          let a = this.state.startLoc;
          i != null ? i.shorthandAssignLoc === null && (i.shorthandAssignLoc = a) : this.raise(Q.InvalidCoverInitializedName, a), e.value = this.
          parseMaybeDefault(s, su(e.key));
        } else
          e.value = su(e.key);
        return e.shorthand = !0, this.finishNode(e, "ObjectProperty");
      }
    }
    parseObjPropValue(e, s, r, i, a, o, l) {
      let u = this.parseObjectMethod(e, r, i, a, o) || this.parseObjectProperty(e, s, a, l);
      return u || this.unexpected(), u;
    }
    parsePropertyName(e, s) {
      if (this.eat(0))
        e.computed = !0, e.key = this.parseMaybeAssignAllowIn(), this.expect(3);
      else {
        let {
          type: r,
          value: i
        } = this.state, a;
        if (To(r))
          a = this.parseIdentifier(!0);
        else
          switch (r) {
            case 135:
              a = this.parseNumericLiteral(i);
              break;
            case 134:
              a = this.parseStringLiteral(i);
              break;
            case 136:
              a = this.parseBigIntLiteral(i);
              break;
            case 139: {
              let o = this.state.startLoc;
              s != null ? s.privateKeyLoc === null && (s.privateKeyLoc = o) : this.raise(Q.UnexpectedPrivateField, o), a = this.parsePrivateName();
              break;
            }
            default:
              if (r === 137) {
                a = this.parseDecimalLiteral(i);
                break;
              }
              this.unexpected();
          }
        e.key = a, r !== 139 && (e.computed = !1);
      }
    }
    initFunction(e, s) {
      e.id = null, e.generator = !1, e.async = s;
    }
    parseMethod(e, s, r, i, a, o, l = !1) {
      this.initFunction(e, r), e.generator = s, this.scope.enter(18 | (l ? 64 : 0) | (a ? 32 : 0)), this.prodParam.enter(Jx(r, e.generator)),
      this.parseFunctionParams(e, i);
      let u = this.parseFunctionBodyAndFinish(e, o, !0);
      return this.prodParam.exit(), this.scope.exit(), u;
    }
    parseArrayLike(e, s, r, i) {
      r && this.expectPlugin("recordAndTuple");
      let a = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !1;
      let o = this.startNode();
      return this.next(), o.elements = this.parseExprList(e, !r, i, o), this.state.inFSharpPipelineDirectBody = a, this.finishNode(o, r ? "T\
upleExpression" : "ArrayExpression");
    }
    parseArrowExpression(e, s, r, i) {
      this.scope.enter(6);
      let a = Jx(r, !1);
      !this.match(5) && this.prodParam.hasIn && (a |= 8), this.prodParam.enter(a), this.initFunction(e, r);
      let o = this.state.maybeInArrowParameters;
      return s && (this.state.maybeInArrowParameters = !0, this.setArrowFunctionParameters(e, s, i)), this.state.maybeInArrowParameters = !1,
      this.parseFunctionBody(e, !0), this.prodParam.exit(), this.scope.exit(), this.state.maybeInArrowParameters = o, this.finishNode(e, "Ar\
rowFunctionExpression");
    }
    setArrowFunctionParameters(e, s, r) {
      this.toAssignableList(s, r, !1), e.params = s;
    }
    parseFunctionBodyAndFinish(e, s, r = !1) {
      return this.parseFunctionBody(e, !1, r), this.finishNode(e, s);
    }
    parseFunctionBody(e, s, r = !1) {
      let i = s && !this.match(5);
      if (this.expressionScope.enter(w$()), i)
        e.body = this.parseMaybeAssign(), this.checkParams(e, !1, s, !1);
      else {
        let a = this.state.strict, o = this.state.labels;
        this.state.labels = [], this.prodParam.enter(this.prodParam.currentFlags() | 4), e.body = this.parseBlock(!0, !1, (l) => {
          let u = !this.isSimpleParamList(e.params);
          l && u && this.raise(Q.IllegalLanguageModeDirective, (e.kind === "method" || e.kind === "constructor") && e.key ? e.key.loc.end : e);
          let c = !a && this.state.strict;
          this.checkParams(e, !this.state.strict && !s && !r && !u, s, c), this.state.strict && e.id && this.checkIdentifier(e.id, 65, c);
        }), this.prodParam.exit(), this.state.labels = o;
      }
      this.expressionScope.exit();
    }
    isSimpleParameter(e) {
      return e.type === "Identifier";
    }
    isSimpleParamList(e) {
      for (let s = 0, r = e.length; s < r; s++)
        if (!this.isSimpleParameter(e[s])) return !1;
      return !0;
    }
    checkParams(e, s, r, i = !0) {
      let a = !s && /* @__PURE__ */ new Set(), o = {
        type: "FormalParameters"
      };
      for (let l of e.params)
        this.checkLVal(l, o, 5, a, i);
    }
    parseExprList(e, s, r, i) {
      let a = [], o = !0;
      for (; !this.eat(e); ) {
        if (o)
          o = !1;
        else if (this.expect(12), this.match(e)) {
          i && this.addTrailingCommaExtraToNode(i), this.next();
          break;
        }
        a.push(this.parseExprListItem(s, r));
      }
      return a;
    }
    parseExprListItem(e, s, r) {
      let i;
      if (this.match(12))
        e || this.raise(Q.UnexpectedToken, this.state.curPosition(), {
          unexpected: ","
        }), i = null;
      else if (this.match(21)) {
        let a = this.state.startLoc;
        i = this.parseParenItem(this.parseSpread(s), a);
      } else if (this.match(17)) {
        this.expectPlugin("partialApplication"), r || this.raise(Q.UnexpectedArgumentPlaceholder, this.state.startLoc);
        let a = this.startNode();
        this.next(), i = this.finishNode(a, "ArgumentPlaceholder");
      } else
        i = this.parseMaybeAssignAllowIn(s, this.parseParenItem);
      return i;
    }
    parseIdentifier(e) {
      let s = this.startNode(), r = this.parseIdentifierName(e);
      return this.createIdentifier(s, r);
    }
    createIdentifier(e, s) {
      return e.name = s, e.loc.identifierName = s, this.finishNode(e, "Identifier");
    }
    parseIdentifierName(e) {
      let s, {
        startLoc: r,
        type: i
      } = this.state;
      To(i) ? s = this.state.value : this.unexpected();
      let a = FKe(i);
      return e ? a && this.replaceToken(132) : this.checkReservedWord(s, r, a, !1), this.next(), s;
    }
    checkReservedWord(e, s, r, i) {
      if (e.length > 10 || !sVe(e))
        return;
      if (r && ZKe(e)) {
        this.raise(Q.UnexpectedKeyword, s, {
          keyword: e
        });
        return;
      }
      if ((this.state.strict ? i ? E$ : S$ : x$)(e, this.inModule)) {
        this.raise(Q.UnexpectedReservedWord, s, {
          reservedWord: e
        });
        return;
      } else if (e === "yield") {
        if (this.prodParam.hasYield) {
          this.raise(Q.YieldBindingIdentifier, s);
          return;
        }
      } else if (e === "await") {
        if (this.prodParam.hasAwait) {
          this.raise(Q.AwaitBindingIdentifier, s);
          return;
        }
        if (this.scope.inStaticBlock) {
          this.raise(Q.AwaitBindingIdentifierInStaticBlock, s);
          return;
        }
        this.expressionScope.recordAsyncArrowParametersError(s);
      } else if (e === "arguments" && this.scope.inClassAndNotInNonArrowFunction) {
        this.raise(Q.ArgumentsInClass, s);
        return;
      }
    }
    recordAwaitIfAllowed() {
      let e = this.prodParam.hasAwait || this.optionFlags & 1 && !this.scope.inFunction;
      return e && !this.scope.inFunction && (this.state.hasTopLevelAwait = !0), e;
    }
    parseAwait(e) {
      let s = this.startNodeAt(e);
      return this.expressionScope.recordParameterInitializerError(Q.AwaitExpressionFormalParameter, s), this.eat(55) && this.raise(Q.ObsoleteAwaitStar,
      s), !this.scope.inFunction && !(this.optionFlags & 1) && (this.isAmbiguousAwait() ? this.ambiguousScriptDifferentAst = !0 : this.sawUnambiguousESM =
      !0), this.state.soloAwait || (s.argument = this.parseMaybeUnary(null, !0)), this.finishNode(s, "AwaitExpression");
    }
    isAmbiguousAwait() {
      if (this.hasPrecedingLineBreak()) return !0;
      let {
        type: e
      } = this.state;
      return e === 53 || e === 10 || e === 0 || Xx(e) || e === 102 && !this.state.containsEsc || e === 138 || e === 56 || this.hasPlugin("v8\
intrinsic") && e === 54;
    }
    parseYield() {
      let e = this.startNode();
      this.expressionScope.recordParameterInitializerError(Q.YieldInParameter, e), this.next();
      let s = !1, r = null;
      if (!this.hasPrecedingLineBreak())
        switch (s = this.eat(55), this.state.type) {
          case 13:
          case 140:
          case 8:
          case 11:
          case 3:
          case 9:
          case 14:
          case 12:
            if (!s) break;
          default:
            r = this.parseMaybeAssign();
        }
      return e.delegate = s, e.argument = r, this.finishNode(e, "YieldExpression");
    }
    parseImportCall(e) {
      if (this.next(), e.source = this.parseMaybeAssignAllowIn(), e.options = null, this.eat(12) && !this.match(11) && (e.options = this.parseMaybeAssignAllowIn(),
      this.eat(12) && !this.match(11))) {
        do
          this.parseMaybeAssignAllowIn();
        while (this.eat(12) && !this.match(11));
        this.raise(Q.ImportCallArity, e);
      }
      return this.expect(11), this.finishNode(e, "ImportExpression");
    }
    checkPipelineAtInfixOperator(e, s) {
      this.hasPlugin(["pipelineOperator", {
        proposal: "smart"
      }]) && e.type === "SequenceExpression" && this.raise(Q.PipelineHeadSequenceExpression, s);
    }
    parseSmartPipelineBodyInStyle(e, s) {
      if (this.isSimpleReference(e)) {
        let r = this.startNodeAt(s);
        return r.callee = e, this.finishNode(r, "PipelineBareFunction");
      } else {
        let r = this.startNodeAt(s);
        return this.checkSmartPipeTopicBodyEarlyErrors(s), r.expression = e, this.finishNode(r, "PipelineTopicExpression");
      }
    }
    isSimpleReference(e) {
      switch (e.type) {
        case "MemberExpression":
          return !e.computed && this.isSimpleReference(e.object);
        case "Identifier":
          return !0;
        default:
          return !1;
      }
    }
    checkSmartPipeTopicBodyEarlyErrors(e) {
      if (this.match(19))
        throw this.raise(Q.PipelineBodyNoArrow, this.state.startLoc);
      this.topicReferenceWasUsedInCurrentContext() || this.raise(Q.PipelineTopicUnused, e);
    }
    withTopicBindingContext(e) {
      let s = this.state.topicContext;
      this.state.topicContext = {
        maxNumOfResolvableTopics: 1,
        maxTopicIndex: null
      };
      try {
        return e();
      } finally {
        this.state.topicContext = s;
      }
    }
    withSmartMixTopicForbiddingContext(e) {
      if (this.hasPlugin(["pipelineOperator", {
        proposal: "smart"
      }])) {
        let s = this.state.topicContext;
        this.state.topicContext = {
          maxNumOfResolvableTopics: 0,
          maxTopicIndex: null
        };
        try {
          return e();
        } finally {
          this.state.topicContext = s;
        }
      } else
        return e();
    }
    withSoloAwaitPermittingContext(e) {
      let s = this.state.soloAwait;
      this.state.soloAwait = !0;
      try {
        return e();
      } finally {
        this.state.soloAwait = s;
      }
    }
    allowInAnd(e) {
      let s = this.prodParam.currentFlags();
      if (8 & ~s) {
        this.prodParam.enter(s | 8);
        try {
          return e();
        } finally {
          this.prodParam.exit();
        }
      }
      return e();
    }
    disallowInAnd(e) {
      let s = this.prodParam.currentFlags();
      if (8 & s) {
        this.prodParam.enter(s & -9);
        try {
          return e();
        } finally {
          this.prodParam.exit();
        }
      }
      return e();
    }
    registerTopicReference() {
      this.state.topicContext.maxTopicIndex = 0;
    }
    topicReferenceIsAllowedInCurrentContext() {
      return this.state.topicContext.maxNumOfResolvableTopics >= 1;
    }
    topicReferenceWasUsedInCurrentContext() {
      return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0;
    }
    parseFSharpPipelineBody(e) {
      let s = this.state.startLoc;
      this.state.potentialArrowAt = this.state.start;
      let r = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !0;
      let i = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), s, e);
      return this.state.inFSharpPipelineDirectBody = r, i;
    }
    parseModuleExpression() {
      this.expectPlugin("moduleBlocks");
      let e = this.startNode();
      this.next(), this.match(5) || this.unexpected(null, 5);
      let s = this.startNodeAt(this.state.endLoc);
      this.next();
      let r = this.initializeScopes(!0);
      this.enterInitialScopes();
      try {
        e.body = this.parseProgram(s, 8, "module");
      } finally {
        r();
      }
      return this.finishNode(e, "ModuleExpression");
    }
    parsePropertyNamePrefixOperator(e) {
    }
  }, vk = {
    kind: 1
  }, LVe = {
    kind: 2
  }, BVe = /[\uD800-\uDFFF]/u, Ck = /in(?:stanceof)?/y;
  function MVe(t, e, s) {
    for (let r = 0; r < t.length; r++) {
      let i = t[r], {
        type: a
      } = i;
      if (typeof a == "number") {
        {
          if (a === 139) {
            let {
              loc: o,
              start: l,
              value: u,
              end: c
            } = i, p = l + 1, h = xn(o.start, 1);
            t.splice(r, 1, new sl({
              type: Ql(27),
              value: "#",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            }), new sl({
              type: Ql(132),
              value: u,
              start: p,
              end: c,
              startLoc: h,
              endLoc: o.end
            })), r++;
            continue;
          }
          if (Xx(a)) {
            let {
              loc: o,
              start: l,
              value: u,
              end: c
            } = i, p = l + 1, h = xn(o.start, 1), f;
            e.charCodeAt(l - s) === 96 ? f = new sl({
              type: Ql(22),
              value: "`",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            }) : f = new sl({
              type: Ql(8),
              value: "}",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            });
            let d, m, y, T;
            a === 24 ? (m = c - 1, y = xn(o.end, -1), d = u === null ? null : u.slice(1, -1), T = new sl({
              type: Ql(22),
              value: "`",
              start: m,
              end: c,
              startLoc: y,
              endLoc: o.end
            })) : (m = c - 2, y = xn(o.end, -2), d = u === null ? null : u.slice(1, -2), T = new sl({
              type: Ql(23),
              value: "${",
              start: m,
              end: c,
              startLoc: y,
              endLoc: o.end
            })), t.splice(r, 1, f, new sl({
              type: Ql(20),
              value: d,
              start: p,
              end: m,
              startLoc: h,
              endLoc: y
            }), T), r += 2;
            continue;
          }
        }
        i.type = Ql(a);
      }
    }
    return t;
  }
  n(MVe, "babel7CompatTokens");
  var Hk = class extends $k {
    static {
      n(this, "StatementParser");
    }
    parseTopLevel(e, s) {
      return e.program = this.parseProgram(s), e.comments = this.comments, this.optionFlags & 128 && (e.tokens = MVe(this.tokens, this.input,
      this.startIndex)), this.finishNode(e, "File");
    }
    parseProgram(e, s = 140, r = this.options.sourceType) {
      if (e.sourceType = r, e.interpreter = this.parseInterpreterDirective(), this.parseBlockBody(e, !0, !0, s), this.inModule) {
        if (!(this.optionFlags & 32) && this.scope.undefinedExports.size > 0)
          for (let [a, o] of Array.from(this.scope.undefinedExports))
            this.raise(Q.ModuleExportUndefined, o, {
              localName: a
            });
        this.addExtra(e, "topLevelAwait", this.state.hasTopLevelAwait);
      }
      let i;
      return s === 140 ? i = this.finishNode(e, "Program") : i = this.finishNodeAt(e, "Program", xn(this.state.startLoc, -1)), i;
    }
    stmtToDirective(e) {
      let s = e;
      s.type = "Directive", s.value = s.expression, delete s.expression;
      let r = s.value, i = r.value, a = this.input.slice(this.offsetToSourcePos(r.start), this.offsetToSourcePos(r.end)), o = r.value = a.slice(
      1, -1);
      return this.addExtra(r, "raw", a), this.addExtra(r, "rawValue", o), this.addExtra(r, "expressionValue", i), r.type = "DirectiveLiteral",
      s;
    }
    parseInterpreterDirective() {
      if (!this.match(28))
        return null;
      let e = this.startNode();
      return e.value = this.state.value, this.next(), this.finishNode(e, "InterpreterDirective");
    }
    isLet() {
      return this.isContextual(100) ? this.hasFollowingBindingAtom() : !1;
    }
    chStartsBindingIdentifier(e, s) {
      if (eu(e)) {
        if (Ck.lastIndex = s, Ck.test(this.input)) {
          let r = this.codePointAtPos(Ck.lastIndex);
          if (!xd(r) && r !== 92)
            return !1;
        }
        return !0;
      } else return e === 92;
    }
    chStartsBindingPattern(e) {
      return e === 91 || e === 123;
    }
    hasFollowingBindingAtom() {
      let e = this.nextTokenStart(), s = this.codePointAtPos(e);
      return this.chStartsBindingPattern(s) || this.chStartsBindingIdentifier(s, e);
    }
    hasInLineFollowingBindingIdentifierOrBrace() {
      let e = this.nextTokenInLineStart(), s = this.codePointAtPos(e);
      return s === 123 || this.chStartsBindingIdentifier(s, e);
    }
    startsUsingForOf() {
      let {
        type: e,
        containsEsc: s
      } = this.lookahead();
      if (e === 102 && !s)
        return !1;
      if (Js(e) && !this.hasFollowingLineBreak())
        return this.expectPlugin("explicitResourceManagement"), !0;
    }
    startsAwaitUsing() {
      let e = this.nextTokenInLineStart();
      if (this.isUnparsedContextual(e, "using")) {
        e = this.nextTokenInLineStartSince(e + 5);
        let s = this.codePointAtPos(e);
        if (this.chStartsBindingIdentifier(s, e))
          return this.expectPlugin("explicitResourceManagement"), !0;
      }
      return !1;
    }
    parseModuleItem() {
      return this.parseStatementLike(15);
    }
    parseStatementListItem() {
      return this.parseStatementLike(6 | (!this.options.annexB || this.state.strict ? 0 : 8));
    }
    parseStatementOrSloppyAnnexBFunctionDeclaration(e = !1) {
      let s = 0;
      return this.options.annexB && !this.state.strict && (s |= 4, e && (s |= 8)), this.parseStatementLike(s);
    }
    parseStatement() {
      return this.parseStatementLike(0);
    }
    parseStatementLike(e) {
      let s = null;
      return this.match(26) && (s = this.parseDecorators(!0)), this.parseStatementContent(e, s);
    }
    parseStatementContent(e, s) {
      let r = this.state.type, i = this.startNode(), a = !!(e & 2), o = !!(e & 4), l = e & 1;
      switch (r) {
        case 60:
          return this.parseBreakContinueStatement(i, !0);
        case 63:
          return this.parseBreakContinueStatement(i, !1);
        case 64:
          return this.parseDebuggerStatement(i);
        case 90:
          return this.parseDoWhileStatement(i);
        case 91:
          return this.parseForStatement(i);
        case 68:
          if (this.lookaheadCharCode() === 46) break;
          return o || this.raise(this.state.strict ? Q.StrictFunction : this.options.annexB ? Q.SloppyFunctionAnnexB : Q.SloppyFunction, this.
          state.startLoc), this.parseFunctionStatement(i, !1, !a && o);
        case 80:
          return a || this.unexpected(), this.parseClass(this.maybeTakeDecorators(s, i), !0);
        case 69:
          return this.parseIfStatement(i);
        case 70:
          return this.parseReturnStatement(i);
        case 71:
          return this.parseSwitchStatement(i);
        case 72:
          return this.parseThrowStatement(i);
        case 73:
          return this.parseTryStatement(i);
        case 96:
          if (!this.state.containsEsc && this.startsAwaitUsing())
            return this.recordAwaitIfAllowed() ? a || this.raise(Q.UnexpectedLexicalDeclaration, i) : this.raise(Q.AwaitUsingNotInAsyncContext,
            i), this.next(), this.parseVarStatement(i, "await using");
          break;
        case 107:
          if (this.state.containsEsc || !this.hasInLineFollowingBindingIdentifierOrBrace())
            break;
          return this.expectPlugin("explicitResourceManagement"), !this.scope.inModule && this.scope.inTopLevel ? this.raise(Q.UnexpectedUsingDeclaration,
          this.state.startLoc) : a || this.raise(Q.UnexpectedLexicalDeclaration, this.state.startLoc), this.parseVarStatement(i, "using");
        case 100: {
          if (this.state.containsEsc)
            break;
          let p = this.nextTokenStart(), h = this.codePointAtPos(p);
          if (h !== 91 && (!a && this.hasFollowingLineBreak() || !this.chStartsBindingIdentifier(h, p) && h !== 123))
            break;
        }
        case 75:
          a || this.raise(Q.UnexpectedLexicalDeclaration, this.state.startLoc);
        case 74: {
          let p = this.state.value;
          return this.parseVarStatement(i, p);
        }
        case 92:
          return this.parseWhileStatement(i);
        case 76:
          return this.parseWithStatement(i);
        case 5:
          return this.parseBlock();
        case 13:
          return this.parseEmptyStatement(i);
        case 83: {
          let p = this.lookaheadCharCode();
          if (p === 40 || p === 46)
            break;
        }
        case 82: {
          !(this.optionFlags & 8) && !l && this.raise(Q.UnexpectedImportExport, this.state.startLoc), this.next();
          let p;
          return r === 83 ? (p = this.parseImport(i), p.type === "ImportDeclaration" && (!p.importKind || p.importKind === "value") && (this.
          sawUnambiguousESM = !0)) : (p = this.parseExport(i, s), (p.type === "ExportNamedDeclaration" && (!p.exportKind || p.exportKind ===
          "value") || p.type === "ExportAllDeclaration" && (!p.exportKind || p.exportKind === "value") || p.type === "ExportDefaultDeclarati\
on") && (this.sawUnambiguousESM = !0)), this.assertModuleNodeAllowed(p), p;
        }
        default:
          if (this.isAsyncFunction())
            return a || this.raise(Q.AsyncFunctionInSingleStatementContext, this.state.startLoc), this.next(), this.parseFunctionStatement(i,
            !0, !a && o);
      }
      let u = this.state.value, c = this.parseExpression();
      return Js(r) && c.type === "Identifier" && this.eat(14) ? this.parseLabeledStatement(i, u, c, e) : this.parseExpressionStatement(i, c,
      s);
    }
    assertModuleNodeAllowed(e) {
      !(this.optionFlags & 8) && !this.inModule && this.raise(Q.ImportOutsideModule, e);
    }
    decoratorsEnabledBeforeExport() {
      return this.hasPlugin("decorators-legacy") ? !0 : this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBefore\
Export") !== !1;
    }
    maybeTakeDecorators(e, s, r) {
      if (e) {
        var i;
        (i = s.decorators) != null && i.length ? (typeof this.getPluginOption("decorators", "decoratorsBeforeExport") != "boolean" && this.raise(
        Q.DecoratorsBeforeAfterExport, s.decorators[0]), s.decorators.unshift(...e)) : s.decorators = e, this.resetStartLocationFromNode(s, e[0]),
        r && this.resetStartLocationFromNode(r, s);
      }
      return s;
    }
    canHaveLeadingDecorator() {
      return this.match(80);
    }
    parseDecorators(e) {
      let s = [];
      do
        s.push(this.parseDecorator());
      while (this.match(26));
      if (this.match(82))
        e || this.unexpected(), this.decoratorsEnabledBeforeExport() || this.raise(Q.DecoratorExportClass, this.state.startLoc);
      else if (!this.canHaveLeadingDecorator())
        throw this.raise(Q.UnexpectedLeadingDecorator, this.state.startLoc);
      return s;
    }
    parseDecorator() {
      this.expectOnePlugin(["decorators", "decorators-legacy"]);
      let e = this.startNode();
      if (this.next(), this.hasPlugin("decorators")) {
        let s = this.state.startLoc, r;
        if (this.match(10)) {
          let i = this.state.startLoc;
          this.next(), r = this.parseExpression(), this.expect(11), r = this.wrapParenthesis(i, r);
          let a = this.state.startLoc;
          e.expression = this.parseMaybeDecoratorArguments(r, i), this.getPluginOption("decorators", "allowCallParenthesized") === !1 && e.expression !==
          r && this.raise(Q.DecoratorArgumentsOutsideParentheses, a);
        } else {
          for (r = this.parseIdentifier(!1); this.eat(16); ) {
            let i = this.startNodeAt(s);
            i.object = r, this.match(139) ? (this.classScope.usePrivateName(this.state.value, this.state.startLoc), i.property = this.parsePrivateName()) :
            i.property = this.parseIdentifier(!0), i.computed = !1, r = this.finishNode(i, "MemberExpression");
          }
          e.expression = this.parseMaybeDecoratorArguments(r, s);
        }
      } else
        e.expression = this.parseExprSubscripts();
      return this.finishNode(e, "Decorator");
    }
    parseMaybeDecoratorArguments(e, s) {
      if (this.eat(10)) {
        let r = this.startNodeAt(s);
        return r.callee = e, r.arguments = this.parseCallExpressionArguments(11), this.toReferencedList(r.arguments), this.finishNode(r, "Ca\
llExpression");
      }
      return e;
    }
    parseBreakContinueStatement(e, s) {
      return this.next(), this.isLineTerminator() ? e.label = null : (e.label = this.parseIdentifier(), this.semicolon()), this.verifyBreakContinue(
      e, s), this.finishNode(e, s ? "BreakStatement" : "ContinueStatement");
    }
    verifyBreakContinue(e, s) {
      let r;
      for (r = 0; r < this.state.labels.length; ++r) {
        let i = this.state.labels[r];
        if ((e.label == null || i.name === e.label.name) && (i.kind != null && (s || i.kind === 1) || e.label && s))
          break;
      }
      if (r === this.state.labels.length) {
        let i = s ? "BreakStatement" : "ContinueStatement";
        this.raise(Q.IllegalBreakContinue, e, {
          type: i
        });
      }
    }
    parseDebuggerStatement(e) {
      return this.next(), this.semicolon(), this.finishNode(e, "DebuggerStatement");
    }
    parseHeaderExpression() {
      this.expect(10);
      let e = this.parseExpression();
      return this.expect(11), e;
    }
    parseDoWhileStatement(e) {
      return this.next(), this.state.labels.push(vk), e.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.state.
      labels.pop(), this.expect(92), e.test = this.parseHeaderExpression(), this.eat(13), this.finishNode(e, "DoWhileStatement");
    }
    parseForStatement(e) {
      this.next(), this.state.labels.push(vk);
      let s = null;
      if (this.isContextual(96) && this.recordAwaitIfAllowed() && (s = this.state.startLoc, this.next()), this.scope.enter(0), this.expect(10),
      this.match(13))
        return s !== null && this.unexpected(s), this.parseFor(e, null);
      let r = this.isContextual(100);
      {
        let u = this.isContextual(96) && this.startsAwaitUsing(), c = u || this.isContextual(107) && this.startsUsingForOf(), p = r && this.
        hasFollowingBindingAtom() || c;
        if (this.match(74) || this.match(75) || p) {
          let h = this.startNode(), f;
          u ? (f = "await using", this.recordAwaitIfAllowed() || this.raise(Q.AwaitUsingNotInAsyncContext, this.state.startLoc), this.next()) :
          f = this.state.value, this.next(), this.parseVar(h, !0, f);
          let d = this.finishNode(h, "VariableDeclaration"), m = this.match(58);
          return m && c && this.raise(Q.ForInUsing, d), (m || this.isContextual(102)) && d.declarations.length === 1 ? this.parseForIn(e, d,
          s) : (s !== null && this.unexpected(s), this.parseFor(e, d));
        }
      }
      let i = this.isContextual(95), a = new Pd(), o = this.parseExpression(!0, a), l = this.isContextual(102);
      if (l && (r && this.raise(Q.ForOfLet, o), s === null && i && o.type === "Identifier" && this.raise(Q.ForOfAsync, o)), l || this.match(
      58)) {
        this.checkDestructuringPrivate(a), this.toAssignable(o, !0);
        let u = l ? "ForOfStatement" : "ForInStatement";
        return this.checkLVal(o, {
          type: u
        }), this.parseForIn(e, o, s);
      } else
        this.checkExpressionErrors(a, !0);
      return s !== null && this.unexpected(s), this.parseFor(e, o);
    }
    parseFunctionStatement(e, s, r) {
      return this.next(), this.parseFunction(e, 1 | (r ? 2 : 0) | (s ? 8 : 0));
    }
    parseIfStatement(e) {
      return this.next(), e.test = this.parseHeaderExpression(), e.consequent = this.parseStatementOrSloppyAnnexBFunctionDeclaration(), e.alternate =
      this.eat(66) ? this.parseStatementOrSloppyAnnexBFunctionDeclaration() : null, this.finishNode(e, "IfStatement");
    }
    parseReturnStatement(e) {
      return !this.prodParam.hasReturn && !(this.optionFlags & 2) && this.raise(Q.IllegalReturn, this.state.startLoc), this.next(), this.isLineTerminator() ?
      e.argument = null : (e.argument = this.parseExpression(), this.semicolon()), this.finishNode(e, "ReturnStatement");
    }
    parseSwitchStatement(e) {
      this.next(), e.discriminant = this.parseHeaderExpression();
      let s = e.cases = [];
      this.expect(5), this.state.labels.push(LVe), this.scope.enter(0);
      let r;
      for (let i; !this.match(8); )
        if (this.match(61) || this.match(65)) {
          let a = this.match(61);
          r && this.finishNode(r, "SwitchCase"), s.push(r = this.startNode()), r.consequent = [], this.next(), a ? r.test = this.parseExpression() :
          (i && this.raise(Q.MultipleDefaultsInSwitch, this.state.lastTokStartLoc), i = !0, r.test = null), this.expect(14);
        } else
          r ? r.consequent.push(this.parseStatementListItem()) : this.unexpected();
      return this.scope.exit(), r && this.finishNode(r, "SwitchCase"), this.next(), this.state.labels.pop(), this.finishNode(e, "SwitchState\
ment");
    }
    parseThrowStatement(e) {
      return this.next(), this.hasPrecedingLineBreak() && this.raise(Q.NewlineAfterThrow, this.state.lastTokEndLoc), e.argument = this.parseExpression(),
      this.semicolon(), this.finishNode(e, "ThrowStatement");
    }
    parseCatchClauseParam() {
      let e = this.parseBindingAtom();
      return this.scope.enter(this.options.annexB && e.type === "Identifier" ? 8 : 0), this.checkLVal(e, {
        type: "CatchClause"
      }, 9), e;
    }
    parseTryStatement(e) {
      if (this.next(), e.block = this.parseBlock(), e.handler = null, this.match(62)) {
        let s = this.startNode();
        this.next(), this.match(10) ? (this.expect(10), s.param = this.parseCatchClauseParam(), this.expect(11)) : (s.param = null, this.scope.
        enter(0)), s.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(!1, !1)), this.scope.exit(), e.handler = this.finishNode(
        s, "CatchClause");
      }
      return e.finalizer = this.eat(67) ? this.parseBlock() : null, !e.handler && !e.finalizer && this.raise(Q.NoCatchOrFinally, e), this.finishNode(
      e, "TryStatement");
    }
    parseVarStatement(e, s, r = !1) {
      return this.next(), this.parseVar(e, !1, s, r), this.semicolon(), this.finishNode(e, "VariableDeclaration");
    }
    parseWhileStatement(e) {
      return this.next(), e.test = this.parseHeaderExpression(), this.state.labels.push(vk), e.body = this.withSmartMixTopicForbiddingContext(
      () => this.parseStatement()), this.state.labels.pop(), this.finishNode(e, "WhileStatement");
    }
    parseWithStatement(e) {
      return this.state.strict && this.raise(Q.StrictWith, this.state.startLoc), this.next(), e.object = this.parseHeaderExpression(), e.body =
      this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.finishNode(e, "WithStatement");
    }
    parseEmptyStatement(e) {
      return this.next(), this.finishNode(e, "EmptyStatement");
    }
    parseLabeledStatement(e, s, r, i) {
      for (let o of this.state.labels)
        o.name === s && this.raise(Q.LabelRedeclaration, r, {
          labelName: s
        });
      let a = qKe(this.state.type) ? 1 : this.match(71) ? 2 : null;
      for (let o = this.state.labels.length - 1; o >= 0; o--) {
        let l = this.state.labels[o];
        if (l.statementStart === e.start)
          l.statementStart = this.sourceToOffsetPos(this.state.start), l.kind = a;
        else
          break;
      }
      return this.state.labels.push({
        name: s,
        kind: a,
        statementStart: this.sourceToOffsetPos(this.state.start)
      }), e.body = i & 8 ? this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0) : this.parseStatement(), this.state.labels.pop(), e.label =
      r, this.finishNode(e, "LabeledStatement");
    }
    parseExpressionStatement(e, s, r) {
      return e.expression = s, this.semicolon(), this.finishNode(e, "ExpressionStatement");
    }
    parseBlock(e = !1, s = !0, r) {
      let i = this.startNode();
      return e && this.state.strictErrors.clear(), this.expect(5), s && this.scope.enter(0), this.parseBlockBody(i, e, !1, 8, r), s && this.
      scope.exit(), this.finishNode(i, "BlockStatement");
    }
    isValidDirective(e) {
      return e.type === "ExpressionStatement" && e.expression.type === "StringLiteral" && !e.expression.extra.parenthesized;
    }
    parseBlockBody(e, s, r, i, a) {
      let o = e.body = [], l = e.directives = [];
      this.parseBlockOrModuleBlockBody(o, s ? l : void 0, r, i, a);
    }
    parseBlockOrModuleBlockBody(e, s, r, i, a) {
      let o = this.state.strict, l = !1, u = !1;
      for (; !this.match(i); ) {
        let c = r ? this.parseModuleItem() : this.parseStatementListItem();
        if (s && !u) {
          if (this.isValidDirective(c)) {
            let p = this.stmtToDirective(c);
            s.push(p), !l && p.value.value === "use strict" && (l = !0, this.setStrict(!0));
            continue;
          }
          u = !0, this.state.strictErrors.clear();
        }
        e.push(c);
      }
      a?.call(this, l), o || this.setStrict(!1), this.next();
    }
    parseFor(e, s) {
      return e.init = s, this.semicolon(!1), e.test = this.match(13) ? null : this.parseExpression(), this.semicolon(!1), e.update = this.match(
      11) ? null : this.parseExpression(), this.expect(11), e.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.
      scope.exit(), this.state.labels.pop(), this.finishNode(e, "ForStatement");
    }
    parseForIn(e, s, r) {
      let i = this.match(58);
      return this.next(), i ? r !== null && this.unexpected(r) : e.await = r !== null, s.type === "VariableDeclaration" && s.declarations[0].
      init != null && (!i || !this.options.annexB || this.state.strict || s.kind !== "var" || s.declarations[0].id.type !== "Identifier") &&
      this.raise(Q.ForInOfLoopInitializer, s, {
        type: i ? "ForInStatement" : "ForOfStatement"
      }), s.type === "AssignmentPattern" && this.raise(Q.InvalidLhs, s, {
        ancestor: {
          type: "ForStatement"
        }
      }), e.left = s, e.right = i ? this.parseExpression() : this.parseMaybeAssignAllowIn(), this.expect(11), e.body = this.withSmartMixTopicForbiddingContext(
      () => this.parseStatement()), this.scope.exit(), this.state.labels.pop(), this.finishNode(e, i ? "ForInStatement" : "ForOfStatement");
    }
    parseVar(e, s, r, i = !1) {
      let a = e.declarations = [];
      for (e.kind = r; ; ) {
        let o = this.startNode();
        if (this.parseVarId(o, r), o.init = this.eat(29) ? s ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn() : null, o.
        init === null && !i && (o.id.type !== "Identifier" && !(s && (this.match(58) || this.isContextual(102))) ? this.raise(Q.DeclarationMissingInitializer,
        this.state.lastTokEndLoc, {
          kind: "destructuring"
        }) : (r === "const" || r === "using" || r === "await using") && !(this.match(58) || this.isContextual(102)) && this.raise(Q.DeclarationMissingInitializer,
        this.state.lastTokEndLoc, {
          kind: r
        })), a.push(this.finishNode(o, "VariableDeclarator")), !this.eat(12)) break;
      }
      return e;
    }
    parseVarId(e, s) {
      let r = this.parseBindingAtom();
      (s === "using" || s === "await using") && (r.type === "ArrayPattern" || r.type === "ObjectPattern") && this.raise(Q.UsingDeclarationHasBindingPattern,
      r.loc.start), this.checkLVal(r, {
        type: "VariableDeclarator"
      }, s === "var" ? 5 : 8201), e.id = r;
    }
    parseAsyncFunctionExpression(e) {
      return this.parseFunction(e, 8);
    }
    parseFunction(e, s = 0) {
      let r = s & 2, i = !!(s & 1), a = i && !(s & 4), o = !!(s & 8);
      this.initFunction(e, o), this.match(55) && (r && this.raise(Q.GeneratorInSingleStatementContext, this.state.startLoc), this.next(), e.
      generator = !0), i && (e.id = this.parseFunctionId(a));
      let l = this.state.maybeInArrowParameters;
      return this.state.maybeInArrowParameters = !1, this.scope.enter(2), this.prodParam.enter(Jx(o, e.generator)), i || (e.id = this.parseFunctionId()),
      this.parseFunctionParams(e, !1), this.withSmartMixTopicForbiddingContext(() => {
        this.parseFunctionBodyAndFinish(e, i ? "FunctionDeclaration" : "FunctionExpression");
      }), this.prodParam.exit(), this.scope.exit(), i && !r && this.registerFunctionStatementId(e), this.state.maybeInArrowParameters = l, e;
    }
    parseFunctionId(e) {
      return e || Js(this.state.type) ? this.parseIdentifier() : null;
    }
    parseFunctionParams(e, s) {
      this.expect(10), this.expressionScope.enter(cVe()), e.params = this.parseBindingList(11, 41, 2 | (s ? 4 : 0)), this.expressionScope.exit();
    }
    registerFunctionStatementId(e) {
      e.id && this.scope.declareName(e.id.name, !this.options.annexB || this.state.strict || e.generator || e.async ? this.scope.treatFunctionsAsVar ?
      5 : 8201 : 17, e.id.loc.start);
    }
    parseClass(e, s, r) {
      this.next();
      let i = this.state.strict;
      return this.state.strict = !0, this.parseClassId(e, s, r), this.parseClassSuper(e), e.body = this.parseClassBody(!!e.superClass, i), this.
      finishNode(e, s ? "ClassDeclaration" : "ClassExpression");
    }
    isClassProperty() {
      return this.match(29) || this.match(13) || this.match(8);
    }
    isClassMethod() {
      return this.match(10);
    }
    nameIsConstructor(e) {
      return e.type === "Identifier" && e.name === "constructor" || e.type === "StringLiteral" && e.value === "constructor";
    }
    isNonstaticConstructor(e) {
      return !e.computed && !e.static && this.nameIsConstructor(e.key);
    }
    parseClassBody(e, s) {
      this.classScope.enter();
      let r = {
        hadConstructor: !1,
        hadSuperClass: e
      }, i = [], a = this.startNode();
      if (a.body = [], this.expect(5), this.withSmartMixTopicForbiddingContext(() => {
        for (; !this.match(8); ) {
          if (this.eat(13)) {
            if (i.length > 0)
              throw this.raise(Q.DecoratorSemicolon, this.state.lastTokEndLoc);
            continue;
          }
          if (this.match(26)) {
            i.push(this.parseDecorator());
            continue;
          }
          let o = this.startNode();
          i.length && (o.decorators = i, this.resetStartLocationFromNode(o, i[0]), i = []), this.parseClassMember(a, o, r), o.kind === "cons\
tructor" && o.decorators && o.decorators.length > 0 && this.raise(Q.DecoratorConstructor, o);
        }
      }), this.state.strict = s, this.next(), i.length)
        throw this.raise(Q.TrailingDecorator, this.state.startLoc);
      return this.classScope.exit(), this.finishNode(a, "ClassBody");
    }
    parseClassMemberFromModifier(e, s) {
      let r = this.parseIdentifier(!0);
      if (this.isClassMethod()) {
        let i = s;
        return i.kind = "method", i.computed = !1, i.key = r, i.static = !1, this.pushClassMethod(e, i, !1, !1, !1, !1), !0;
      } else if (this.isClassProperty()) {
        let i = s;
        return i.computed = !1, i.key = r, i.static = !1, e.body.push(this.parseClassProperty(i)), !0;
      }
      return this.resetPreviousNodeTrailingComments(r), !1;
    }
    parseClassMember(e, s, r) {
      let i = this.isContextual(106);
      if (i) {
        if (this.parseClassMemberFromModifier(e, s))
          return;
        if (this.eat(5)) {
          this.parseClassStaticBlock(e, s);
          return;
        }
      }
      this.parseClassMemberWithIsStatic(e, s, r, i);
    }
    parseClassMemberWithIsStatic(e, s, r, i) {
      let a = s, o = s, l = s, u = s, c = s, p = a, h = a;
      if (s.static = i, this.parsePropertyNamePrefixOperator(s), this.eat(55)) {
        p.kind = "method";
        let b = this.match(139);
        if (this.parseClassElementName(p), b) {
          this.pushClassPrivateMethod(e, o, !0, !1);
          return;
        }
        this.isNonstaticConstructor(a) && this.raise(Q.ConstructorIsGenerator, a.key), this.pushClassMethod(e, a, !0, !1, !1, !1);
        return;
      }
      let f = !this.state.containsEsc && Js(this.state.type), d = this.parseClassElementName(s), m = f ? d.name : null, y = this.isPrivateName(
      d), T = this.state.startLoc;
      if (this.parsePostMemberNameModifiers(h), this.isClassMethod()) {
        if (p.kind = "method", y) {
          this.pushClassPrivateMethod(e, o, !1, !1);
          return;
        }
        let b = this.isNonstaticConstructor(a), E = !1;
        b && (a.kind = "constructor", r.hadConstructor && !this.hasPlugin("typescript") && this.raise(Q.DuplicateConstructor, d), b && this.
        hasPlugin("typescript") && s.override && this.raise(Q.OverrideOnConstructor, d), r.hadConstructor = !0, E = r.hadSuperClass), this.pushClassMethod(
        e, a, !1, !1, b, E);
      } else if (this.isClassProperty())
        y ? this.pushClassPrivateProperty(e, u) : this.pushClassProperty(e, l);
      else if (m === "async" && !this.isLineTerminator()) {
        this.resetPreviousNodeTrailingComments(d);
        let b = this.eat(55);
        h.optional && this.unexpected(T), p.kind = "method";
        let E = this.match(139);
        this.parseClassElementName(p), this.parsePostMemberNameModifiers(h), E ? this.pushClassPrivateMethod(e, o, b, !0) : (this.isNonstaticConstructor(
        a) && this.raise(Q.ConstructorIsAsync, a.key), this.pushClassMethod(e, a, b, !0, !1, !1));
      } else if ((m === "get" || m === "set") && !(this.match(55) && this.isLineTerminator())) {
        this.resetPreviousNodeTrailingComments(d), p.kind = m;
        let b = this.match(139);
        this.parseClassElementName(a), b ? this.pushClassPrivateMethod(e, o, !1, !1) : (this.isNonstaticConstructor(a) && this.raise(Q.ConstructorIsAccessor,
        a.key), this.pushClassMethod(e, a, !1, !1, !1, !1)), this.checkGetterSetterParams(a);
      } else if (m === "accessor" && !this.isLineTerminator()) {
        this.expectPlugin("decoratorAutoAccessors"), this.resetPreviousNodeTrailingComments(d);
        let b = this.match(139);
        this.parseClassElementName(l), this.pushClassAccessorProperty(e, c, b);
      } else this.isLineTerminator() ? y ? this.pushClassPrivateProperty(e, u) : this.pushClassProperty(e, l) : this.unexpected();
    }
    parseClassElementName(e) {
      let {
        type: s,
        value: r
      } = this.state;
      if ((s === 132 || s === 134) && e.static && r === "prototype" && this.raise(Q.StaticPrototype, this.state.startLoc), s === 139) {
        r === "constructor" && this.raise(Q.ConstructorClassPrivateField, this.state.startLoc);
        let i = this.parsePrivateName();
        return e.key = i, i;
      }
      return this.parsePropertyName(e), e.key;
    }
    parseClassStaticBlock(e, s) {
      var r;
      this.scope.enter(208);
      let i = this.state.labels;
      this.state.labels = [], this.prodParam.enter(0);
      let a = s.body = [];
      this.parseBlockOrModuleBlockBody(a, void 0, !1, 8), this.prodParam.exit(), this.scope.exit(), this.state.labels = i, e.body.push(this.
      finishNode(s, "StaticBlock")), (r = s.decorators) != null && r.length && this.raise(Q.DecoratorStaticBlock, s);
    }
    pushClassProperty(e, s) {
      !s.computed && this.nameIsConstructor(s.key) && this.raise(Q.ConstructorClassField, s.key), e.body.push(this.parseClassProperty(s));
    }
    pushClassPrivateProperty(e, s) {
      let r = this.parseClassPrivateProperty(s);
      e.body.push(r), this.classScope.declarePrivateName(this.getPrivateNameSV(r.key), 0, r.key.loc.start);
    }
    pushClassAccessorProperty(e, s, r) {
      !r && !s.computed && this.nameIsConstructor(s.key) && this.raise(Q.ConstructorClassField, s.key);
      let i = this.parseClassAccessorProperty(s);
      e.body.push(i), r && this.classScope.declarePrivateName(this.getPrivateNameSV(i.key), 0, i.key.loc.start);
    }
    pushClassMethod(e, s, r, i, a, o) {
      e.body.push(this.parseMethod(s, r, i, a, o, "ClassMethod", !0));
    }
    pushClassPrivateMethod(e, s, r, i) {
      let a = this.parseMethod(s, r, i, !1, !1, "ClassPrivateMethod", !0);
      e.body.push(a);
      let o = a.kind === "get" ? a.static ? 6 : 2 : a.kind === "set" ? a.static ? 5 : 1 : 0;
      this.declareClassPrivateMethodInScope(a, o);
    }
    declareClassPrivateMethodInScope(e, s) {
      this.classScope.declarePrivateName(this.getPrivateNameSV(e.key), s, e.key.loc.start);
    }
    parsePostMemberNameModifiers(e) {
    }
    parseClassPrivateProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassPrivateProperty");
    }
    parseClassProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassProperty");
    }
    parseClassAccessorProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassAccessorProperty");
    }
    parseInitializer(e) {
      this.scope.enter(80), this.expressionScope.enter(w$()), this.prodParam.enter(0), e.value = this.eat(29) ? this.parseMaybeAssignAllowIn() :
      null, this.expressionScope.exit(), this.prodParam.exit(), this.scope.exit();
    }
    parseClassId(e, s, r, i = 8331) {
      if (Js(this.state.type))
        e.id = this.parseIdentifier(), s && this.declareNameFromIdentifier(e.id, i);
      else if (r || !s)
        e.id = null;
      else
        throw this.raise(Q.MissingClassName, this.state.startLoc);
    }
    parseClassSuper(e) {
      e.superClass = this.eat(81) ? this.parseExprSubscripts() : null;
    }
    parseExport(e, s) {
      let r = this.parseMaybeImportPhase(e, !0), i = this.maybeParseExportDefaultSpecifier(e, r), a = !i || this.eat(12), o = a && this.eatExportStar(
      e), l = o && this.maybeParseExportNamespaceSpecifier(e), u = a && (!l || this.eat(12)), c = i || o;
      if (o && !l) {
        if (i && this.unexpected(), s)
          throw this.raise(Q.UnsupportedDecoratorExport, e);
        return this.parseExportFrom(e, !0), this.finishNode(e, "ExportAllDeclaration");
      }
      let p = this.maybeParseExportNamedSpecifiers(e);
      i && a && !o && !p && this.unexpected(null, 5), l && u && this.unexpected(null, 98);
      let h;
      if (c || p) {
        if (h = !1, s)
          throw this.raise(Q.UnsupportedDecoratorExport, e);
        this.parseExportFrom(e, c);
      } else
        h = this.maybeParseExportDeclaration(e);
      if (c || p || h) {
        var f;
        let d = e;
        if (this.checkExport(d, !0, !1, !!d.source), ((f = d.declaration) == null ? void 0 : f.type) === "ClassDeclaration")
          this.maybeTakeDecorators(s, d.declaration, d);
        else if (s)
          throw this.raise(Q.UnsupportedDecoratorExport, e);
        return this.finishNode(d, "ExportNamedDeclaration");
      }
      if (this.eat(65)) {
        let d = e, m = this.parseExportDefaultExpression();
        if (d.declaration = m, m.type === "ClassDeclaration")
          this.maybeTakeDecorators(s, m, d);
        else if (s)
          throw this.raise(Q.UnsupportedDecoratorExport, e);
        return this.checkExport(d, !0, !0), this.finishNode(d, "ExportDefaultDeclaration");
      }
      this.unexpected(null, 5);
    }
    eatExportStar(e) {
      return this.eat(55);
    }
    maybeParseExportDefaultSpecifier(e, s) {
      if (s || this.isExportDefaultSpecifier()) {
        this.expectPlugin("exportDefaultFrom", s?.loc.start);
        let r = s || this.parseIdentifier(!0), i = this.startNodeAtNode(r);
        return i.exported = r, e.specifiers = [this.finishNode(i, "ExportDefaultSpecifier")], !0;
      }
      return !1;
    }
    maybeParseExportNamespaceSpecifier(e) {
      if (this.isContextual(93)) {
        var s, r;
        (r = (s = e).specifiers) != null || (s.specifiers = []);
        let i = this.startNodeAt(this.state.lastTokStartLoc);
        return this.next(), i.exported = this.parseModuleExportName(), e.specifiers.push(this.finishNode(i, "ExportNamespaceSpecifier")), !0;
      }
      return !1;
    }
    maybeParseExportNamedSpecifiers(e) {
      if (this.match(5)) {
        let s = e;
        s.specifiers || (s.specifiers = []);
        let r = s.exportKind === "type";
        return s.specifiers.push(...this.parseExportSpecifiers(r)), s.source = null, s.declaration = null, this.hasPlugin("importAssertions") &&
        (s.assertions = []), !0;
      }
      return !1;
    }
    maybeParseExportDeclaration(e) {
      return this.shouldParseExportDeclaration() ? (e.specifiers = [], e.source = null, this.hasPlugin("importAssertions") && (e.assertions =
      []), e.declaration = this.parseExportDeclaration(e), !0) : !1;
    }
    isAsyncFunction() {
      if (!this.isContextual(95)) return !1;
      let e = this.nextTokenInLineStart();
      return this.isUnparsedContextual(e, "function");
    }
    parseExportDefaultExpression() {
      let e = this.startNode();
      if (this.match(68))
        return this.next(), this.parseFunction(e, 5);
      if (this.isAsyncFunction())
        return this.next(), this.next(), this.parseFunction(e, 13);
      if (this.match(80))
        return this.parseClass(e, !0, !0);
      if (this.match(26))
        return this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") === !0 && this.raise(Q.DecoratorBeforeExport,
        this.state.startLoc), this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1), this.startNode()), !0, !0);
      if (this.match(75) || this.match(74) || this.isLet())
        throw this.raise(Q.UnsupportedDefaultExport, this.state.startLoc);
      let s = this.parseMaybeAssignAllowIn();
      return this.semicolon(), s;
    }
    parseExportDeclaration(e) {
      return this.match(80) ? this.parseClass(this.startNode(), !0, !1) : this.parseStatementListItem();
    }
    isExportDefaultSpecifier() {
      let {
        type: e
      } = this.state;
      if (Js(e)) {
        if (e === 95 && !this.state.containsEsc || e === 100)
          return !1;
        if ((e === 130 || e === 129) && !this.state.containsEsc) {
          let {
            type: i
          } = this.lookahead();
          if (Js(i) && i !== 98 || i === 5)
            return this.expectOnePlugin(["flow", "typescript"]), !1;
        }
      } else if (!this.match(65))
        return !1;
      let s = this.nextTokenStart(), r = this.isUnparsedContextual(s, "from");
      if (this.input.charCodeAt(s) === 44 || Js(this.state.type) && r)
        return !0;
      if (this.match(65) && r) {
        let i = this.input.charCodeAt(this.nextTokenStartSince(s + 4));
        return i === 34 || i === 39;
      }
      return !1;
    }
    parseExportFrom(e, s) {
      this.eatContextual(98) ? (e.source = this.parseImportSource(), this.checkExport(e), this.maybeParseImportAttributes(e), this.checkJSONModuleImport(
      e)) : s && this.unexpected(), this.semicolon();
    }
    shouldParseExportDeclaration() {
      let {
        type: e
      } = this.state;
      return e === 26 && (this.expectOnePlugin(["decorators", "decorators-legacy"]), this.hasPlugin("decorators")) ? (this.getPluginOption("\
decorators", "decoratorsBeforeExport") === !0 && this.raise(Q.DecoratorBeforeExport, this.state.startLoc), !0) : this.isContextual(107) ? (this.
      raise(Q.UsingDeclarationExport, this.state.startLoc), !0) : this.isContextual(96) && this.startsAwaitUsing() ? (this.raise(Q.UsingDeclarationExport,
      this.state.startLoc), !0) : e === 74 || e === 75 || e === 68 || e === 80 || this.isLet() || this.isAsyncFunction();
    }
    checkExport(e, s, r, i) {
      if (s) {
        var a;
        if (r) {
          if (this.checkDuplicateExports(e, "default"), this.hasPlugin("exportDefaultFrom")) {
            var o;
            let l = e.declaration;
            l.type === "Identifier" && l.name === "from" && l.end - l.start === 4 && !((o = l.extra) != null && o.parenthesized) && this.raise(
            Q.ExportDefaultFromAsIdentifier, l);
          }
        } else if ((a = e.specifiers) != null && a.length)
          for (let l of e.specifiers) {
            let {
              exported: u
            } = l, c = u.type === "Identifier" ? u.name : u.value;
            if (this.checkDuplicateExports(l, c), !i && l.local) {
              let {
                local: p
              } = l;
              p.type !== "Identifier" ? this.raise(Q.ExportBindingIsString, l, {
                localName: p.value,
                exportName: c
              }) : (this.checkReservedWord(p.name, p.loc.start, !0, !1), this.scope.checkLocalExport(p));
            }
          }
        else if (e.declaration) {
          let l = e.declaration;
          if (l.type === "FunctionDeclaration" || l.type === "ClassDeclaration") {
            let {
              id: u
            } = l;
            if (!u) throw new Error("Assertion failure");
            this.checkDuplicateExports(e, u.name);
          } else if (l.type === "VariableDeclaration")
            for (let u of l.declarations)
              this.checkDeclaration(u.id);
        }
      }
    }
    checkDeclaration(e) {
      if (e.type === "Identifier")
        this.checkDuplicateExports(e, e.name);
      else if (e.type === "ObjectPattern")
        for (let s of e.properties)
          this.checkDeclaration(s);
      else if (e.type === "ArrayPattern")
        for (let s of e.elements)
          s && this.checkDeclaration(s);
      else e.type === "ObjectProperty" ? this.checkDeclaration(e.value) : e.type === "RestElement" ? this.checkDeclaration(e.argument) : e.type ===
      "AssignmentPattern" && this.checkDeclaration(e.left);
    }
    checkDuplicateExports(e, s) {
      this.exportedIdentifiers.has(s) && (s === "default" ? this.raise(Q.DuplicateDefaultExport, e) : this.raise(Q.DuplicateExport, e, {
        exportName: s
      })), this.exportedIdentifiers.add(s);
    }
    parseExportSpecifiers(e) {
      let s = [], r = !0;
      for (this.expect(5); !this.eat(8); ) {
        if (r)
          r = !1;
        else if (this.expect(12), this.eat(8)) break;
        let i = this.isContextual(130), a = this.match(134), o = this.startNode();
        o.local = this.parseModuleExportName(), s.push(this.parseExportSpecifier(o, a, e, i));
      }
      return s;
    }
    parseExportSpecifier(e, s, r, i) {
      return this.eatContextual(93) ? e.exported = this.parseModuleExportName() : s ? e.exported = dVe(e.local) : e.exported || (e.exported =
      su(e.local)), this.finishNode(e, "ExportSpecifier");
    }
    parseModuleExportName() {
      if (this.match(134)) {
        let e = this.parseStringLiteral(this.state.value), s = BVe.exec(e.value);
        return s && this.raise(Q.ModuleExportNameHasLoneSurrogate, e, {
          surrogateCharCode: s[0].charCodeAt(0)
        }), e;
      }
      return this.parseIdentifier(!0);
    }
    isJSONModuleImport(e) {
      return e.assertions != null ? e.assertions.some(({
        key: s,
        value: r
      }) => r.value === "json" && (s.type === "Identifier" ? s.name === "type" : s.value === "type")) : !1;
    }
    checkImportReflection(e) {
      let {
        specifiers: s
      } = e, r = s.length === 1 ? s[0].type : null;
      if (e.phase === "source")
        r !== "ImportDefaultSpecifier" && this.raise(Q.SourcePhaseImportRequiresDefault, s[0].loc.start);
      else if (e.phase === "defer")
        r !== "ImportNamespaceSpecifier" && this.raise(Q.DeferImportRequiresNamespace, s[0].loc.start);
      else if (e.module) {
        var i;
        r !== "ImportDefaultSpecifier" && this.raise(Q.ImportReflectionNotBinding, s[0].loc.start), ((i = e.assertions) == null ? void 0 : i.
        length) > 0 && this.raise(Q.ImportReflectionHasAssertion, s[0].loc.start);
      }
    }
    checkJSONModuleImport(e) {
      if (this.isJSONModuleImport(e) && e.type !== "ExportAllDeclaration") {
        let {
          specifiers: s
        } = e;
        if (s != null) {
          let r = s.find((i) => {
            let a;
            if (i.type === "ExportSpecifier" ? a = i.local : i.type === "ImportSpecifier" && (a = i.imported), a !== void 0)
              return a.type === "Identifier" ? a.name !== "default" : a.value !== "default";
          });
          r !== void 0 && this.raise(Q.ImportJSONBindingNotDefault, r.loc.start);
        }
      }
    }
    isPotentialImportPhase(e) {
      return e ? !1 : this.isContextual(105) || this.isContextual(97) || this.isContextual(127);
    }
    applyImportPhase(e, s, r, i) {
      s || (r === "module" ? (this.expectPlugin("importReflection", i), e.module = !0) : this.hasPlugin("importReflection") && (e.module = !1),
      r === "source" ? (this.expectPlugin("sourcePhaseImports", i), e.phase = "source") : r === "defer" ? (this.expectPlugin("deferredImport\
Evaluation", i), e.phase = "defer") : this.hasPlugin("sourcePhaseImports") && (e.phase = null));
    }
    parseMaybeImportPhase(e, s) {
      if (!this.isPotentialImportPhase(s))
        return this.applyImportPhase(e, s, null), null;
      let r = this.parseIdentifier(!0), {
        type: i
      } = this.state;
      return (To(i) ? i !== 98 || this.lookaheadCharCode() === 102 : i !== 12) ? (this.resetPreviousIdentifierLeadingComments(r), this.applyImportPhase(
      e, s, r.name, r.loc.start), null) : (this.applyImportPhase(e, s, null), r);
    }
    isPrecedingIdImportPhase(e) {
      let {
        type: s
      } = this.state;
      return Js(s) ? s !== 98 || this.lookaheadCharCode() === 102 : s !== 12;
    }
    parseImport(e) {
      return this.match(134) ? this.parseImportSourceAndAttributes(e) : this.parseImportSpecifiersAndAfter(e, this.parseMaybeImportPhase(e, !1));
    }
    parseImportSpecifiersAndAfter(e, s) {
      e.specifiers = [];
      let i = !this.maybeParseDefaultImportSpecifier(e, s) || this.eat(12), a = i && this.maybeParseStarImportSpecifier(e);
      return i && !a && this.parseNamedImportSpecifiers(e), this.expectContextual(98), this.parseImportSourceAndAttributes(e);
    }
    parseImportSourceAndAttributes(e) {
      var s;
      return (s = e.specifiers) != null || (e.specifiers = []), e.source = this.parseImportSource(), this.maybeParseImportAttributes(e), this.
      checkImportReflection(e), this.checkJSONModuleImport(e), this.semicolon(), this.finishNode(e, "ImportDeclaration");
    }
    parseImportSource() {
      return this.match(134) || this.unexpected(), this.parseExprAtom();
    }
    parseImportSpecifierLocal(e, s, r) {
      s.local = this.parseIdentifier(), e.specifiers.push(this.finishImportSpecifier(s, r));
    }
    finishImportSpecifier(e, s, r = 8201) {
      return this.checkLVal(e.local, {
        type: s
      }, r), this.finishNode(e, s);
    }
    parseImportAttributes() {
      this.expect(5);
      let e = [], s = /* @__PURE__ */ new Set();
      do {
        if (this.match(8))
          break;
        let r = this.startNode(), i = this.state.value;
        if (s.has(i) && this.raise(Q.ModuleAttributesWithDuplicateKeys, this.state.startLoc, {
          key: i
        }), s.add(i), this.match(134) ? r.key = this.parseStringLiteral(i) : r.key = this.parseIdentifier(!0), this.expect(14), !this.match(
        134))
          throw this.raise(Q.ModuleAttributeInvalidValue, this.state.startLoc);
        r.value = this.parseStringLiteral(this.state.value), e.push(this.finishNode(r, "ImportAttribute"));
      } while (this.eat(12));
      return this.expect(8), e;
    }
    parseModuleAttributes() {
      let e = [], s = /* @__PURE__ */ new Set();
      do {
        let r = this.startNode();
        if (r.key = this.parseIdentifier(!0), r.key.name !== "type" && this.raise(Q.ModuleAttributeDifferentFromType, r.key), s.has(r.key.name) &&
        this.raise(Q.ModuleAttributesWithDuplicateKeys, r.key, {
          key: r.key.name
        }), s.add(r.key.name), this.expect(14), !this.match(134))
          throw this.raise(Q.ModuleAttributeInvalidValue, this.state.startLoc);
        r.value = this.parseStringLiteral(this.state.value), e.push(this.finishNode(r, "ImportAttribute"));
      } while (this.eat(12));
      return e;
    }
    maybeParseImportAttributes(e) {
      let s;
      var r = !1;
      if (this.match(76)) {
        if (this.hasPrecedingLineBreak() && this.lookaheadCharCode() === 40)
          return;
        this.next(), this.hasPlugin("moduleAttributes") ? s = this.parseModuleAttributes() : s = this.parseImportAttributes(), r = !0;
      } else this.isContextual(94) && !this.hasPrecedingLineBreak() ? (!this.hasPlugin("deprecatedImportAssert") && !this.hasPlugin("importA\
ssertions") && this.raise(Q.ImportAttributesUseAssert, this.state.startLoc), this.hasPlugin("importAssertions") || this.addExtra(e, "depreca\
tedAssertSyntax", !0), this.next(), s = this.parseImportAttributes()) : s = [];
      !r && this.hasPlugin("importAssertions") ? e.assertions = s : e.attributes = s;
    }
    maybeParseDefaultImportSpecifier(e, s) {
      if (s) {
        let r = this.startNodeAtNode(s);
        return r.local = s, e.specifiers.push(this.finishImportSpecifier(r, "ImportDefaultSpecifier")), !0;
      } else if (To(this.state.type))
        return this.parseImportSpecifierLocal(e, this.startNode(), "ImportDefaultSpecifier"), !0;
      return !1;
    }
    maybeParseStarImportSpecifier(e) {
      if (this.match(55)) {
        let s = this.startNode();
        return this.next(), this.expectContextual(93), this.parseImportSpecifierLocal(e, s, "ImportNamespaceSpecifier"), !0;
      }
      return !1;
    }
    parseNamedImportSpecifiers(e) {
      let s = !0;
      for (this.expect(5); !this.eat(8); ) {
        if (s)
          s = !1;
        else {
          if (this.eat(14))
            throw this.raise(Q.DestructureNamedImport, this.state.startLoc);
          if (this.expect(12), this.eat(8)) break;
        }
        let r = this.startNode(), i = this.match(134), a = this.isContextual(130);
        r.imported = this.parseModuleExportName();
        let o = this.parseImportSpecifier(r, i, e.importKind === "type" || e.importKind === "typeof", a, void 0);
        e.specifiers.push(o);
      }
    }
    parseImportSpecifier(e, s, r, i, a) {
      if (this.eatContextual(93))
        e.local = this.parseIdentifier();
      else {
        let {
          imported: o
        } = e;
        if (s)
          throw this.raise(Q.ImportBindingIsString, e, {
            importName: o.value
          });
        this.checkReservedWord(o.name, e.loc.start, !0, !0), e.local || (e.local = su(o));
      }
      return this.finishImportSpecifier(e, "ImportSpecifier", a);
    }
    isThisParam(e) {
      return e.type === "Identifier" && e.name === "this";
    }
  }, Gx = class extends Hk {
    static {
      n(this, "Parser");
    }
    constructor(e, s, r) {
      e = OKe(e), super(e, s), this.options = e, this.initializeScopes(), this.plugins = r, this.filename = e.sourceFilename, this.startIndex =
      e.startIndex;
      let i = 0;
      e.allowAwaitOutsideFunction && (i |= 1), e.allowReturnOutsideFunction && (i |= 2), e.allowImportExportEverywhere && (i |= 8), e.allowSuperOutsideMethod &&
      (i |= 16), e.allowUndeclaredExports && (i |= 32), e.allowNewTargetOutsideFunction && (i |= 4), e.ranges && (i |= 64), e.tokens && (i |=
      128), e.createImportExpressions && (i |= 256), e.createParenthesizedExpressions && (i |= 512), e.errorRecovery && (i |= 1024), e.attachComment &&
      (i |= 2048), e.annexB && (i |= 4096), this.optionFlags = i;
    }
    getScopeHandler() {
      return Sg;
    }
    parse() {
      this.enterInitialScopes();
      let e = this.startNode(), s = this.startNode();
      return this.nextToken(), e.errors = null, this.parseTopLevel(e, s), e.errors = this.state.errors, e.comments.length = this.state.commentsLen,
      e;
    }
  };
  function FVe(t, e) {
    var s;
    if (((s = e) == null ? void 0 : s.sourceType) === "unambiguous") {
      e = Object.assign({}, e);
      try {
        e.sourceType = "module";
        let r = Tg(e, t), i = r.parse();
        if (r.sawUnambiguousESM)
          return i;
        if (r.ambiguousScriptDifferentAst)
          try {
            return e.sourceType = "script", Tg(e, t).parse();
          } catch {
          }
        else
          i.program.sourceType = "script";
        return i;
      } catch (r) {
        try {
          return e.sourceType = "script", Tg(e, t).parse();
        } catch {
        }
        throw r;
      }
    } else
      return Tg(e, t).parse();
  }
  n(FVe, "parse");
  function jVe(t, e) {
    let s = Tg(e, t);
    return s.options.strictMode && (s.state.strict = !0), s.getExpression();
  }
  n(jVe, "parseExpression");
  function RVe(t) {
    let e = {};
    for (let s of Object.keys(t))
      e[s] = Ql(t[s]);
    return e;
  }
  n(RVe, "generateExportedTokenTypes");
  var qVe = RVe(MKe);
  function Tg(t, e) {
    let s = Gx, r = /* @__PURE__ */ new Map();
    if (t != null && t.plugins) {
      for (let i of t.plugins) {
        let a, o;
        typeof i == "string" ? a = i : [a, o] = i, r.has(a) || r.set(a, o || {});
      }
      OVe(r), s = UVe(r);
    }
    return new s(t, e, r);
  }
  n(Tg, "getParser");
  var y$ = /* @__PURE__ */ new Map();
  function UVe(t) {
    let e = [];
    for (let i of _Ve)
      t.has(i) && e.push(i);
    let s = e.join("|"), r = y$.get(s);
    if (!r) {
      r = Gx;
      for (let i of e)
        r = D$[i](r);
      y$.set(s, r);
    }
    return r;
  }
  n(UVe, "getParserClass");
  Eg.parse = FVe;
  Eg.parseExpression = jVe;
  Eg.tokTypes = qVe;
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/replacement.js
var dk = g((Kc) => {
  "use strict";
  Object.defineProperty(Kc, "__esModule", {
    value: !0
  });
  Kc._replaceWith = R$;
  Kc.replaceExpressionWithStatements = mWe;
  Kc.replaceInline = yWe;
  Kc.replaceWith = dWe;
  Kc.replaceWithMultiple = hWe;
  Kc.replaceWithSourceString = fWe;
  var KVe = Hl(), iD = Yl(), VVe = jc(), M$ = uh(), nD = qx(), WVe = Qx(), $Ve = fe(), Cd = tl(), {
    FUNCTION_TYPES: O$,
    arrowFunctionExpression: HVe,
    assignmentExpression: F$,
    awaitExpression: JVe,
    blockStatement: YVe,
    buildUndefinedNode: rD,
    callExpression: XVe,
    cloneNode: aD,
    conditionalExpression: zVe,
    expressionStatement: GVe,
    getBindingIdentifiers: QVe,
    identifier: ZVe,
    inheritLeadingComments: eWe,
    inheritTrailingComments: tWe,
    inheritsComments: sWe,
    isBlockStatement: rWe,
    isEmptyStatement: _$,
    isExpression: j$,
    isExpressionStatement: iWe,
    isIfStatement: nWe,
    isProgram: aWe,
    isStatement: oWe,
    isVariableDeclaration: lWe,
    removeComments: uWe,
    returnStatement: L$,
    sequenceExpression: cWe,
    validate: B$,
    yieldExpression: pWe
  } = $Ve;
  function hWe(t) {
    var e;
    Cd.resync.call(this), t = nD._verifyNodeList.call(this, t), eWe(t[0], this.node), tWe(t[t.length - 1], this.node), (e = (0, M$.getCachedPaths)(
    this.hub, this.parent)) == null || e.delete(this.node), this.node = this.container[this.key] = null;
    let s = this.insertAfter(t);
    return this.node ? this.requeue() : this.remove(), s;
  }
  n(hWe, "replaceWithMultiple");
  function fWe(t) {
    Cd.resync.call(this);
    let e;
    try {
      t = `(${t})`, e = (0, WVe.parse)(t);
    } catch (r) {
      let i = r.loc;
      throw i && (r.message += ` - make sure this is an expression.
` + (0, KVe.codeFrameColumns)(t, {
        start: {
          line: i.line,
          column: i.column + 1
        }
      }), r.code = "BABEL_REPLACE_SOURCE_ERROR"), r;
    }
    let s = e.program.body[0].expression;
    return iD.default.removeProperties(s), this.replaceWith(s);
  }
  n(fWe, "replaceWithSourceString");
  function dWe(t) {
    if (Cd.resync.call(this), this.removed)
      throw new Error("You can't replace this node, we've already removed it");
    let e = t instanceof VVe.default ? t.node : t;
    if (!e)
      throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");
    if (this.node === e)
      return [this];
    if (this.isProgram() && !aWe(e))
      throw new Error("You can only replace a Program root node with another Program node");
    if (Array.isArray(e))
      throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");
    if (typeof e == "string")
      throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");
    let s = "";
    if (this.isNodeType("Statement") && j$(e) && !this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(
    e) && !this.parentPath.isExportDefaultDeclaration() && (e = GVe(e), s = "expression"), this.isNodeType("Expression") && oWe(e) && !this.
    canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(e))
      return this.replaceExpressionWithStatements([e]);
    let r = this.node;
    return r && (sWe(e, r), uWe(r)), R$.call(this, e), this.type = e.type, Cd.setScope.call(this), this.requeue(), [s ? this.get(s) : this];
  }
  n(dWe, "replaceWith");
  function R$(t) {
    var e;
    if (!this.container)
      throw new ReferenceError("Container is falsy");
    this.inList ? B$(this.parent, this.key, [t]) : B$(this.parent, this.key, t), this.debug(`Replace with ${t?.type}`), (e = (0, M$.getCachedPaths)(
    this.hub, this.parent)) == null || e.set(t, this).delete(this.node), this.node = this.container[this.key] = t;
  }
  n(R$, "_replaceWith");
  function mWe(t) {
    Cd.resync.call(this);
    let e = [], s = Zx(t, e);
    if (s) {
      for (let f of e) this.scope.push({
        id: f
      });
      return this.replaceWith(s)[0].get("expressions");
    }
    let r = this.getFunctionParent(), i = r?.node.async, a = r?.node.generator, o = HVe([], YVe(t));
    this.replaceWith(XVe(o, []));
    let l = this.get("callee");
    l.get("body").scope.hoistVariables((f) => this.scope.push({
      id: f
    }));
    let u = l.getCompletionRecords();
    for (let f of u) {
      if (!f.isExpressionStatement()) continue;
      let d = f.findParent((m) => m.isLoop());
      if (d) {
        let m = d.getData("expressionReplacementReturnUid");
        m ? m = ZVe(m.name) : (m = l.scope.generateDeclaredUidIdentifier("ret"), l.get("body").pushContainer("body", L$(aD(m))), d.setData("\
expressionReplacementReturnUid", m)), f.get("expression").replaceWith(F$("=", aD(m), f.node.expression));
      } else
        f.replaceWith(L$(f.node.expression));
    }
    l.arrowFunctionToExpression();
    let c = l, p = i && iD.default.hasType(this.get("callee.body").node, "AwaitExpression", O$), h = a && iD.default.hasType(this.get("calle\
e.body").node, "YieldExpression", O$);
    return p && (c.set("async", !0), h || this.replaceWith(JVe(this.node))), h && (c.set("generator", !0), this.replaceWith(pWe(this.node, !0))),
    c.get("body.body");
  }
  n(mWe, "replaceExpressionWithStatements");
  function Zx(t, e) {
    let s = [], r = !0;
    for (let i of t)
      if (_$(i) || (r = !1), j$(i))
        s.push(i);
      else if (iWe(i))
        s.push(i.expression);
      else if (lWe(i)) {
        if (i.kind !== "var") return;
        for (let a of i.declarations) {
          let o = QVe(a);
          for (let l of Object.keys(o))
            e.push(aD(o[l]));
          a.init && s.push(F$("=", a.id, a.init));
        }
        r = !0;
      } else if (nWe(i)) {
        let a = i.consequent ? Zx([i.consequent], e) : rD(), o = i.alternate ? Zx([i.alternate], e) : rD();
        if (!a || !o) return;
        s.push(zVe(i.test, a, o));
      } else if (rWe(i)) {
        let a = Zx(i.body, e);
        if (!a) return;
        s.push(a);
      } else if (_$(i))
        t.indexOf(i) === 0 && (r = !0);
      else
        return;
    return r && s.push(rD()), s.length === 1 ? s[0] : cWe(s);
  }
  n(Zx, "gatherSequenceExpressions");
  function yWe(t) {
    if (Cd.resync.call(this), Array.isArray(t))
      if (Array.isArray(this.container)) {
        t = nD._verifyNodeList.call(this, t);
        let e = nD._containerInsertAfter.call(this, t);
        return this.remove(), e;
      } else
        return this.replaceWithMultiple(t);
    else
      return this.replaceWith(t);
  }
  n(yWe, "replaceInline");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/evaluation.js
var V$ = g((eS) => {
  "use strict";
  Object.defineProperty(eS, "__esModule", {
    value: !0
  });
  eS.evaluate = AWe;
  eS.evaluateTruthy = PWe;
  var gWe = ["Number", "String", "Math"], TWe = ["isFinite", "isNaN", "parseFloat", "parseInt", "decodeURI", "decodeURIComponent", "encodeUR\
I", "encodeURIComponent", null, null], bWe = ["random"];
  function q$(t) {
    return gWe.includes(t);
  }
  n(q$, "isValidObjectCallee");
  function xWe(t) {
    return TWe.includes(t);
  }
  n(xWe, "isValidIdentifierCallee");
  function SWe(t) {
    return bWe.includes(t);
  }
  n(SWe, "isInvalidMethod");
  function PWe() {
    let t = this.evaluate();
    if (t.confident) return !!t.value;
  }
  n(PWe, "evaluateTruthy");
  function ru(t, e) {
    e.confident && (e.deoptPath = t, e.confident = !1);
  }
  n(ru, "deopt");
  var U$ = /* @__PURE__ */ new Map([["undefined", void 0], ["Infinity", 1 / 0], ["NaN", NaN]]);
  function Sn(t, e) {
    let {
      node: s
    } = t, {
      seen: r
    } = e;
    if (r.has(s)) {
      let i = r.get(s);
      if (i.resolved)
        return i.value;
      ru(t, e);
      return;
    } else {
      let i = {
        resolved: !1
      };
      r.set(s, i);
      let a = EWe(t, e);
      return e.confident && (i.resolved = !0, i.value = a), a;
    }
  }
  n(Sn, "evaluateCached");
  function EWe(t, e) {
    if (e.confident) {
      if (t.isSequenceExpression()) {
        let s = t.get("expressions");
        return Sn(s[s.length - 1], e);
      }
      if (t.isStringLiteral() || t.isNumericLiteral() || t.isBooleanLiteral())
        return t.node.value;
      if (t.isNullLiteral())
        return null;
      if (t.isTemplateLiteral())
        return K$(t, t.node.quasis, e);
      if (t.isTaggedTemplateExpression() && t.get("tag").isMemberExpression()) {
        let s = t.get("tag.object"), {
          node: {
            name: r
          }
        } = s, i = t.get("tag.property");
        if (s.isIdentifier() && r === "String" && !t.scope.getBinding(r) && i.isIdentifier() && i.node.name === "raw")
          return K$(t, t.node.quasi.quasis, e, !0);
      }
      if (t.isConditionalExpression()) {
        let s = Sn(t.get("test"), e);
        return e.confident ? Sn(s ? t.get("consequent") : t.get("alternate"), e) : void 0;
      }
      if (t.isExpressionWrapper())
        return Sn(t.get("expression"), e);
      if (t.isMemberExpression() && !t.parentPath.isCallExpression({
        callee: t.node
      })) {
        let s = t.get("property"), r = t.get("object");
        if (r.isLiteral()) {
          let i = r.node.value, a = typeof i, o = null;
          if (t.node.computed) {
            if (o = Sn(s, e), !e.confident) return;
          } else s.isIdentifier() && (o = s.node.name);
          if ((a === "number" || a === "string") && o != null && (typeof o == "number" || typeof o == "string"))
            return i[o];
        }
      }
      if (t.isReferencedIdentifier()) {
        let s = t.scope.getBinding(t.node.name);
        if (s) {
          if (s.constantViolations.length > 0 || t.node.start < s.path.node.end) {
            ru(s.path, e);
            return;
          }
          if (s.hasValue)
            return s.value;
        }
        let r = t.node.name;
        if (U$.has(r)) {
          if (!s)
            return U$.get(r);
          ru(s.path, e);
          return;
        }
        let i = t.resolve();
        if (i === t) {
          ru(t, e);
          return;
        } else
          return Sn(i, e);
      }
      if (t.isUnaryExpression({
        prefix: !0
      })) {
        if (t.node.operator === "void")
          return;
        let s = t.get("argument");
        if (t.node.operator === "typeof" && (s.isFunction() || s.isClass()))
          return "function";
        let r = Sn(s, e);
        if (!e.confident) return;
        switch (t.node.operator) {
          case "!":
            return !r;
          case "+":
            return +r;
          case "-":
            return -r;
          case "~":
            return ~r;
          case "typeof":
            return typeof r;
        }
      }
      if (t.isArrayExpression()) {
        let s = [], r = t.get("elements");
        for (let i of r) {
          let a = i.evaluate();
          if (a.confident)
            s.push(a.value);
          else {
            ru(a.deopt, e);
            return;
          }
        }
        return s;
      }
      if (t.isObjectExpression()) {
        let s = {}, r = t.get("properties");
        for (let i of r) {
          if (i.isObjectMethod() || i.isSpreadElement()) {
            ru(i, e);
            return;
          }
          let a = i.get("key"), o;
          if (i.node.computed) {
            if (o = a.evaluate(), !o.confident) {
              ru(o.deopt, e);
              return;
            }
            o = o.value;
          } else a.isIdentifier() ? o = a.node.name : o = a.node.value;
          let u = i.get("value").evaluate();
          if (!u.confident) {
            ru(u.deopt, e);
            return;
          }
          u = u.value, s[o] = u;
        }
        return s;
      }
      if (t.isLogicalExpression()) {
        let s = e.confident, r = Sn(t.get("left"), e), i = e.confident;
        e.confident = s;
        let a = Sn(t.get("right"), e), o = e.confident;
        switch (t.node.operator) {
          case "||":
            return e.confident = i && (!!r || o), e.confident ? r || a : void 0;
          case "&&":
            return e.confident = i && (!r || o), e.confident ? r && a : void 0;
          case "??":
            return e.confident = i && (r != null || o), e.confident ? r ?? a : void 0;
        }
      }
      if (t.isBinaryExpression()) {
        let s = Sn(t.get("left"), e);
        if (!e.confident) return;
        let r = Sn(t.get("right"), e);
        if (!e.confident) return;
        switch (t.node.operator) {
          case "-":
            return s - r;
          case "+":
            return s + r;
          case "/":
            return s / r;
          case "*":
            return s * r;
          case "%":
            return s % r;
          case "**":
            return Math.pow(s, r);
          case "<":
            return s < r;
          case ">":
            return s > r;
          case "<=":
            return s <= r;
          case ">=":
            return s >= r;
          case "==":
            return s == r;
          case "!=":
            return s != r;
          case "===":
            return s === r;
          case "!==":
            return s !== r;
          case "|":
            return s | r;
          case "&":
            return s & r;
          case "^":
            return s ^ r;
          case "<<":
            return s << r;
          case ">>":
            return s >> r;
          case ">>>":
            return s >>> r;
        }
      }
      if (t.isCallExpression()) {
        let s = t.get("callee"), r, i;
        if (s.isIdentifier() && !t.scope.getBinding(s.node.name) && (q$(s.node.name) || xWe(s.node.name)) && (i = global[s.node.name]), s.isMemberExpression()) {
          let a = s.get("object"), o = s.get("property");
          if (a.isIdentifier() && o.isIdentifier() && q$(a.node.name) && !SWe(o.node.name)) {
            r = global[a.node.name];
            let l = o.node.name;
            hasOwnProperty.call(r, l) && (i = r[l]);
          }
          if (a.isLiteral() && o.isIdentifier()) {
            let l = typeof a.node.value;
            (l === "string" || l === "number") && (r = a.node.value, i = r[o.node.name]);
          }
        }
        if (i) {
          let a = t.get("arguments").map((o) => Sn(o, e));
          return e.confident ? i.apply(r, a) : void 0;
        }
      }
      ru(t, e);
    }
  }
  n(EWe, "_evaluate");
  function K$(t, e, s, r = !1) {
    let i = "", a = 0, o = t.isTemplateLiteral() ? t.get("expressions") : t.get("quasi.expressions");
    for (let l of e) {
      if (!s.confident) break;
      i += r ? l.value.raw : l.value.cooked;
      let u = o[a++];
      u && (i += String(Sn(u, s)));
    }
    if (s.confident)
      return i;
  }
  n(K$, "evaluateQuasis");
  function AWe() {
    let t = {
      confident: !0,
      deoptPath: null,
      seen: /* @__PURE__ */ new Map()
    }, e = Sn(this, t);
    return t.confident || (e = void 0), {
      confident: t.confident,
      deopt: t.deoptPath,
      value: e
    };
  }
  n(AWe, "evaluate");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/conversion.js
var G$ = g((iu) => {
  "use strict";
  Object.defineProperty(iu, "__esModule", {
    value: !0
  });
  iu.arrowFunctionToExpression = e$e;
  iu.ensureBlock = GWe;
  iu.ensureFunctionName = h$e;
  iu.splitExportDeclaration = c$e;
  iu.toComputedKey = zWe;
  iu.unwrapFunctionEnvironment = QWe;
  var vWe = fe(), CWe = Jl(), uD = lg(), wWe = tl(), {
    arrowFunctionExpression: cD,
    assignmentExpression: bh,
    binaryExpression: oD,
    blockStatement: IWe,
    callExpression: wd,
    conditionalExpression: NWe,
    expressionStatement: H$,
    identifier: fr,
    isIdentifier: kWe,
    jsxIdentifier: DWe,
    logicalExpression: OWe,
    LOGICAL_OPERATORS: _We,
    memberExpression: bo,
    metaProperty: LWe,
    numericLiteral: BWe,
    objectExpression: MWe,
    restElement: FWe,
    returnStatement: jWe,
    sequenceExpression: RWe,
    spreadElement: qWe,
    stringLiteral: J$,
    super: lD,
    thisExpression: Ag,
    toExpression: Y$,
    unaryExpression: UWe,
    toBindingIdentifierName: KWe,
    isFunction: VWe,
    isAssignmentPattern: WWe,
    isRestElement: $We,
    getFunctionName: HWe,
    cloneNode: xh,
    variableDeclaration: JWe,
    variableDeclarator: YWe,
    exportNamedDeclaration: W$,
    exportSpecifier: $$,
    inherits: XWe
  } = vWe;
  function zWe() {
    let t;
    if (this.isMemberExpression())
      t = this.node.property;
    else if (this.isProperty() || this.isMethod())
      t = this.node.key;
    else
      throw new ReferenceError("todo");
    return this.node.computed || kWe(t) && (t = J$(t.name)), t;
  }
  n(zWe, "toComputedKey");
  function GWe() {
    let t = this.get("body"), e = t.node;
    if (Array.isArray(t))
      throw new Error("Can't convert array path to a block statement");
    if (!e)
      throw new Error("Can't convert node without a body");
    if (t.isBlockStatement())
      return e;
    let s = [], r = "body", i, a;
    t.isStatement() ? (a = "body", i = 0, s.push(t.node)) : (r += ".body.0", this.isFunction() ? (i = "argument", s.push(jWe(t.node))) : (i =
    "expression", s.push(H$(t.node)))), this.node.body = IWe(s);
    let o = this.get(r);
    return wWe.setup.call(t, o, a ? o.node[a] : o.node, a, i), this.node;
  }
  n(GWe, "ensureBlock");
  iu.arrowFunctionToShadowed = function() {
    this.isArrowFunctionExpression() && this.arrowFunctionToExpression();
  };
  function QWe() {
    if (!this.isArrowFunctionExpression() && !this.isFunctionExpression() && !this.isFunctionDeclaration())
      throw this.buildCodeFrameError("Can only unwrap the environment of a function.");
    X$(this);
  }
  n(QWe, "unwrapFunctionEnvironment");
  function ZWe(t, e) {
    t.node.type = e;
  }
  n(ZWe, "setType");
  function e$e({
    allowInsertArrow: t = !0,
    allowInsertArrowWithRest: e = t,
    noNewArrows: s = !((r) => (r = arguments[0]) == null ? void 0 : r.specCompliant)()
  } = {}) {
    if (!this.isArrowFunctionExpression())
      throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");
    let r = this;
    if (!s) {
      var i;
      r = (i = r.ensureFunctionName(!1)) != null ? i : r;
    }
    let {
      thisBinding: a,
      fnPath: o
    } = X$(r, s, t, e);
    if (o.ensureBlock(), ZWe(o, "FunctionExpression"), !s) {
      let l = a ? null : o.scope.generateUidIdentifier("arrowCheckId");
      return l && o.parentPath.scope.push({
        id: l,
        init: MWe([])
      }), o.get("body").unshiftContainer("body", H$(wd(this.hub.addHelper("newArrowCheck"), [Ag(), fr(l ? l.name : a)]))), o.replaceWith(wd(
      bo(o.node, fr("bind")), [l ? fr(l.name) : Ag()])), o.get("callee.object");
    }
    return o;
  }
  n(e$e, "arrowFunctionToExpression");
  var t$e = (0, uD.environmentVisitor)({
    CallExpression(t, {
      allSuperCalls: e
    }) {
      t.get("callee").isSuper() && e.push(t);
    }
  });
  function X$(t, e = !0, s = !0, r = !0) {
    let i, a = t.findParent((d) => {
      if (d.isArrowFunctionExpression()) {
        var m;
        return (m = i) != null || (i = d), !1;
      }
      return d.isFunction() || d.isProgram() || d.isClassProperty({
        static: !1
      }) || d.isClassPrivateProperty({
        static: !1
      });
    }), o = a.isClassMethod({
      kind: "constructor"
    });
    if (a.isClassProperty() || a.isClassPrivateProperty())
      if (i)
        a = i;
      else if (s)
        t.replaceWith(wd(cD([], Y$(t.node)), [])), a = t.get("callee"), t = a.get("body");
      else
        throw t.buildCodeFrameError("Unable to transform arrow inside class property");
    let {
      thisPaths: l,
      argumentsPaths: u,
      newTargetPaths: c,
      superProps: p,
      superCalls: h
    } = u$e(t);
    if (o && h.length > 0) {
      if (!s)
        throw h[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super()` in an a\
rrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");
      if (!r)
        throw h[0].buildCodeFrameError("When using '@babel/plugin-transform-parameters', it's not possible to compile `super()` in an arrow \
function with default or rest parameters without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration\
.");
      let d = [];
      a.traverse(t$e, {
        allSuperCalls: d
      });
      let m = a$e(a);
      d.forEach((y) => {
        let T = fr(m);
        T.loc = y.node.callee.loc, y.get("callee").replaceWith(T);
      });
    }
    if (u.length > 0) {
      let d = vg(a, "arguments", () => {
        let m = /* @__PURE__ */ n(() => fr("arguments"), "args");
        return a.scope.path.isProgram() ? NWe(oD("===", UWe("typeof", m()), J$("undefined")), a.scope.buildUndefinedNode(), m()) : m();
      });
      u.forEach((m) => {
        let y = fr(d);
        y.loc = m.node.loc, m.replaceWith(y);
      });
    }
    if (c.length > 0) {
      let d = vg(a, "newtarget", () => LWe(fr("new"), fr("target")));
      c.forEach((m) => {
        let y = fr(d);
        y.loc = m.node.loc, m.replaceWith(y);
      });
    }
    if (p.length > 0) {
      if (!s)
        throw p[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super.prop` in a\
n arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");
      p.reduce((m, y) => m.concat(r$e(y)), []).forEach((m) => {
        let y = m.node.computed ? "" : m.get("property").node.name, T = m.parentPath, b = T.isAssignmentExpression({
          left: m.node
        }), E = T.isCallExpression({
          callee: m.node
        }), V = T.isTaggedTemplateExpression({
          tag: m.node
        }), W = o$e(a, b, y), oe = [];
        if (m.node.computed && oe.push(m.get("property").node), b) {
          let ye = T.node.right;
          oe.push(ye);
        }
        let de = wd(fr(W), oe);
        E ? (T.unshiftContainer("arguments", Ag()), m.replaceWith(bo(de, fr("call"))), l.push(T.get("arguments.0"))) : b ? T.replaceWith(de) :
        V ? (m.replaceWith(wd(bo(de, fr("bind"), !1), [Ag()])), l.push(m.get("arguments.0"))) : m.replaceWith(de);
      });
    }
    let f;
    return (l.length > 0 || !e) && (f = n$e(a, o), (e || o && z$(a)) && (l.forEach((d) => {
      let m = d.isJSX() ? DWe(f) : fr(f);
      m.loc = d.node.loc, d.replaceWith(m);
    }), e || (f = null))), {
      thisBinding: f,
      fnPath: t
    };
  }
  n(X$, "hoistFunctionEnvironment");
  function s$e(t) {
    return _We.includes(t);
  }
  n(s$e, "isLogicalOp");
  function r$e(t) {
    if (t.parentPath.isAssignmentExpression() && t.parentPath.node.operator !== "=") {
      let s = t.parentPath, r = s.node.operator.slice(0, -1), i = s.node.right, a = s$e(r);
      if (t.node.computed) {
        let o = t.scope.generateDeclaredUidIdentifier("tmp"), l = t.node.object, u = t.node.property;
        s.get("left").replaceWith(bo(l, bh("=", o, u), !0)), s.get("right").replaceWith(e(a ? "=" : r, bo(l, fr(o.name), !0), i));
      } else {
        let o = t.node.object, l = t.node.property;
        s.get("left").replaceWith(bo(o, l)), s.get("right").replaceWith(e(a ? "=" : r, bo(o, fr(l.name)), i));
      }
      return a ? s.replaceWith(OWe(r, s.node.left, s.node.right)) : s.node.operator = "=", [s.get("left"), s.get("right").get("left")];
    } else if (t.parentPath.isUpdateExpression()) {
      let s = t.parentPath, r = t.scope.generateDeclaredUidIdentifier("tmp"), i = t.node.computed ? t.scope.generateDeclaredUidIdentifier("p\
rop") : null, a = [bh("=", r, bo(t.node.object, i ? bh("=", i, t.node.property) : t.node.property, t.node.computed)), bh("=", bo(t.node.object,
      i ? fr(i.name) : t.node.property, t.node.computed), oD(t.parentPath.node.operator[0], fr(r.name), BWe(1)))];
      t.parentPath.node.prefix || a.push(fr(r.name)), s.replaceWith(RWe(a));
      let o = s.get("expressions.0.right"), l = s.get("expressions.1.left");
      return [o, l];
    }
    return [t];
    function e(s, r, i) {
      return s === "=" ? bh("=", r, i) : oD(s, r, i);
    }
  }
  n(r$e, "standardizeSuperProperty");
  function z$(t) {
    return t.isClassMethod() && !!t.parentPath.parentPath.node.superClass;
  }
  n(z$, "hasSuperClass");
  var i$e = (0, uD.environmentVisitor)({
    CallExpression(t, {
      supers: e,
      thisBinding: s
    }) {
      t.get("callee").isSuper() && (e.has(t.node) || (e.add(t.node), t.replaceWithMultiple([t.node, bh("=", fr(s), fr("this"))])));
    }
  });
  function n$e(t, e) {
    return vg(t, "this", (s) => {
      if (!e || !z$(t)) return Ag();
      t.traverse(i$e, {
        supers: /* @__PURE__ */ new WeakSet(),
        thisBinding: s
      });
    });
  }
  n(n$e, "getThisBinding");
  function a$e(t) {
    return vg(t, "supercall", () => {
      let e = t.scope.generateUidIdentifier("args");
      return cD([FWe(e)], wd(lD(), [qWe(fr(e.name))]));
    });
  }
  n(a$e, "getSuperBinding");
  function o$e(t, e, s) {
    return vg(t, `superprop_${e ? "set" : "get"}:${s || ""}`, () => {
      let i = [], a;
      if (s)
        a = bo(lD(), fr(s));
      else {
        let o = t.scope.generateUidIdentifier("prop");
        i.unshift(o), a = bo(lD(), fr(o.name), !0);
      }
      if (e) {
        let o = t.scope.generateUidIdentifier("value");
        i.push(o), a = bh("=", a, fr(o.name));
      }
      return cD(i, a);
    });
  }
  n(o$e, "getSuperPropBinding");
  function vg(t, e, s) {
    let r = "binding:" + e, i = t.getData(r);
    if (!i) {
      let a = t.scope.generateUidIdentifier(e);
      i = a.name, t.setData(r, i), t.scope.push({
        id: a,
        init: s(i)
      });
    }
    return i;
  }
  n(vg, "getBinding");
  var l$e = (0, uD.environmentVisitor)({
    ThisExpression(t, {
      thisPaths: e
    }) {
      e.push(t);
    },
    JSXIdentifier(t, {
      thisPaths: e
    }) {
      t.node.name === "this" && (!t.parentPath.isJSXMemberExpression({
        object: t.node
      }) && !t.parentPath.isJSXOpeningElement({
        name: t.node
      }) || e.push(t));
    },
    CallExpression(t, {
      superCalls: e
    }) {
      t.get("callee").isSuper() && e.push(t);
    },
    MemberExpression(t, {
      superProps: e
    }) {
      t.get("object").isSuper() && e.push(t);
    },
    Identifier(t, {
      argumentsPaths: e
    }) {
      if (!t.isReferencedIdentifier({
        name: "arguments"
      })) return;
      let s = t.scope;
      do {
        if (s.hasOwnBinding("arguments")) {
          s.rename("arguments");
          return;
        }
        if (s.path.isFunction() && !s.path.isArrowFunctionExpression())
          break;
      } while (s = s.parent);
      e.push(t);
    },
    MetaProperty(t, {
      newTargetPaths: e
    }) {
      t.get("meta").isIdentifier({
        name: "new"
      }) && t.get("property").isIdentifier({
        name: "target"
      }) && e.push(t);
    }
  });
  function u$e(t) {
    let e = [], s = [], r = [], i = [], a = [];
    return t.traverse(l$e, {
      thisPaths: e,
      argumentsPaths: s,
      newTargetPaths: r,
      superProps: i,
      superCalls: a
    }), {
      thisPaths: e,
      argumentsPaths: s,
      newTargetPaths: r,
      superProps: i,
      superCalls: a
    };
  }
  n(u$e, "getScopeInformation");
  function c$e() {
    if (!this.isExportDeclaration() || this.isExportAllDeclaration())
      throw new Error("Only default and named export declarations can be split.");
    if (this.isExportNamedDeclaration() && this.get("specifiers").length > 0)
      throw new Error("It doesn't make sense to split exported specifiers.");
    let t = this.get("declaration");
    if (this.isExportDefaultDeclaration()) {
      let i = t.isFunctionDeclaration() || t.isClassDeclaration(), a = t.isFunctionExpression() || t.isClassExpression(), o = t.isScope() ? t.
      scope.parent : t.scope, l = t.node.id, u = !1;
      l ? a && o.hasBinding(l.name) && (u = !0, l = o.generateUidIdentifier(l.name)) : (u = !0, l = o.generateUidIdentifier("default"), (i ||
      a) && (t.node.id = xh(l)));
      let c = i ? t.node : JWe("var", [YWe(xh(l), t.node)]), p = W$(null, [$$(xh(l), fr("default"))]);
      return this.insertAfter(p), this.replaceWith(c), u && o.registerDeclaration(this), this;
    } else if (this.get("specifiers").length > 0)
      throw new Error("It doesn't make sense to split exported specifiers.");
    let e = t.getOuterBindingIdentifiers(), s = Object.keys(e).map((i) => $$(fr(i), fr(i))), r = W$(null, s);
    return this.insertAfter(r), this.replaceWith(t.node), this;
  }
  n(c$e, "splitExportDeclaration");
  var p$e = {
    "ReferencedIdentifier|BindingIdentifier"(t, e) {
      t.node.name === e.name && (e.needsRename = !0, t.stop());
    },
    Scope(t, e) {
      t.scope.hasOwnBinding(e.name) && t.skip();
    }
  };
  function h$e(t) {
    if (this.node.id) return this;
    let e = HWe(this.node, this.parent);
    if (e == null) return this;
    let {
      name: s
    } = e;
    if (!t && /[\uD800-\uDFFF]/.test(s) || s.startsWith("get ") || s.startsWith("set "))
      return null;
    s = KWe(s.replace(/[/ ]/g, "_"));
    let r = fr(s);
    XWe(r, e.originalNode);
    let i = {
      needsRename: !1,
      name: s
    }, {
      scope: a
    } = this, o = a.getOwnBinding(s);
    if (o ? o.kind === "param" && (i.needsRename = !0) : (a.parent.hasBinding(s) || a.hasGlobal(s)) && this.traverse(p$e, i), !i.needsRename)
      return this.node.id = r, a.getProgramParent().references[r.name] = !0, this;
    if (a.hasBinding(r.name) && !a.hasGlobal(r.name))
      return a.rename(r.name), this.node.id = r, a.getProgramParent().references[r.name] = !0, this;
    if (!VWe(this.node)) return null;
    let l = a.generateUidIdentifier(r.name), u = [];
    for (let p = 0, h = f$e(this.node); p < h; p++)
      u.push(a.generateUidIdentifier("x"));
    let c = CWe.default.expression.ast`
    (function (${l}) {
      function ${r}(${u}) {
        return ${xh(l)}.apply(this, arguments);
      }

      ${xh(r)}.toString = function () {
        return ${xh(l)}.toString();
      }

      return ${xh(r)};
    })(${Y$(this.node)})
  `;
    return this.replaceWith(c)[0].get("arguments.0");
  }
  n(h$e, "ensureFunctionName");
  function f$e(t) {
    let e = t.params.findIndex((s) => WWe(s) || $We(s));
    return e === -1 ? t.params.length : e;
  }
  n(f$e, "getFunctionArity");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/introspection.js
var rH = g((ti) => {
  "use strict";
  Object.defineProperty(ti, "__esModule", {
    value: !0
  });
  ti._guessExecutionStatusRelativeTo = L$e;
  ti._resolve = sH;
  ti.canHaveVariableDeclarationOrExpression = C$e;
  ti.canSwapBetweenExpressionAndStatement = w$e;
  ti.getSource = D$e;
  ti.isCompletionRecord = I$e;
  ti.isConstantExpression = j$e;
  ti.isInStrictMode = R$e;
  ti.isNodeType = v$e;
  ti.isStatementOrBlock = N$e;
  ti.isStatic = A$e;
  ti.matchesPattern = E$e;
  ti.referencesImport = k$e;
  ti.resolve = F$e;
  ti.willIMaybeExecuteBefore = O$e;
  var d$e = fe(), {
    STATEMENT_OR_BLOCK_KEYS: m$e,
    VISITOR_KEYS: y$e,
    isBlockStatement: tH,
    isExpression: g$e,
    isIdentifier: T$e,
    isLiteral: b$e,
    isStringLiteral: x$e,
    isType: S$e,
    matchesPattern: P$e
  } = d$e;
  function E$e(t, e) {
    return P$e(this.node, t, e);
  }
  n(E$e, "matchesPattern");
  ti.has = /* @__PURE__ */ n(function(e) {
    var s;
    let r = (s = this.node) == null ? void 0 : s[e];
    return r && Array.isArray(r) ? !!r.length : !!r;
  }, "has");
  function A$e() {
    return this.scope.isStatic(this.node);
  }
  n(A$e, "isStatic");
  ti.is = ti.has, ti.isnt = /* @__PURE__ */ n(function(e) {
    return !this.has(e);
  }, "isnt"), ti.equals = /* @__PURE__ */ n(function(e, s) {
    return this.node[e] === s;
  }, "equals");
  function v$e(t) {
    return S$e(this.type, t);
  }
  n(v$e, "isNodeType");
  function C$e() {
    return (this.key === "init" || this.key === "left") && this.parentPath.isFor();
  }
  n(C$e, "canHaveVariableDeclarationOrExpression");
  function w$e(t) {
    return this.key !== "body" || !this.parentPath.isArrowFunctionExpression() ? !1 : this.isExpression() ? tH(t) : this.isBlockStatement() ?
    g$e(t) : !1;
  }
  n(w$e, "canSwapBetweenExpressionAndStatement");
  function I$e(t) {
    let e = this, s = !0;
    do {
      let {
        type: r,
        container: i
      } = e;
      if (!s && (e.isFunction() || r === "StaticBlock"))
        return !!t;
      if (s = !1, Array.isArray(i) && e.key !== i.length - 1)
        return !1;
    } while ((e = e.parentPath) && !e.isProgram() && !e.isDoExpression());
    return !0;
  }
  n(I$e, "isCompletionRecord");
  function N$e() {
    return this.parentPath.isLabeledStatement() || tH(this.container) ? !1 : m$e.includes(this.key);
  }
  n(N$e, "isStatementOrBlock");
  function k$e(t, e) {
    if (!this.isReferencedIdentifier()) {
      if (this.isJSXMemberExpression() && this.node.property.name === e || (this.isMemberExpression() || this.isOptionalMemberExpression()) &&
      (this.node.computed ? x$e(this.node.property, {
        value: e
      }) : this.node.property.name === e)) {
        let a = this.get("object");
        return a.isReferencedIdentifier() && a.referencesImport(t, "*");
      }
      return !1;
    }
    let s = this.scope.getBinding(this.node.name);
    if (!s || s.kind !== "module") return !1;
    let r = s.path, i = r.parentPath;
    if (!i.isImportDeclaration()) return !1;
    if (i.node.source.value === t) {
      if (!e) return !0;
    } else
      return !1;
    return !!(r.isImportDefaultSpecifier() && e === "default" || r.isImportNamespaceSpecifier() && e === "*" || r.isImportSpecifier() && T$e(
    r.node.imported, {
      name: e
    }));
  }
  n(k$e, "referencesImport");
  function D$e() {
    let t = this.node;
    if (t.end) {
      let e = this.hub.getCode();
      if (e) return e.slice(t.start, t.end);
    }
    return "";
  }
  n(D$e, "getSource");
  function O$e(t) {
    return this._guessExecutionStatusRelativeTo(t) !== "after";
  }
  n(O$e, "willIMaybeExecuteBefore");
  function Q$(t) {
    return t.isProgram() ? t : (t.parentPath.scope.getFunctionParent() || t.parentPath.scope.getProgramParent()).path;
  }
  n(Q$, "getOuterFunction");
  function _$e(t, e) {
    switch (t) {
      case "LogicalExpression":
        return e === "right";
      case "ConditionalExpression":
      case "IfStatement":
        return e === "consequent" || e === "alternate";
      case "WhileStatement":
      case "DoWhileStatement":
      case "ForInStatement":
      case "ForOfStatement":
        return e === "body";
      case "ForStatement":
        return e === "body" || e === "update";
      case "SwitchStatement":
        return e === "cases";
      case "TryStatement":
        return e === "handler";
      case "AssignmentPattern":
        return e === "right";
      case "OptionalMemberExpression":
        return e === "property";
      case "OptionalCallExpression":
        return e === "arguments";
      default:
        return !1;
    }
  }
  n(_$e, "isExecutionUncertain");
  function Z$(t, e) {
    for (let s = 0; s < e; s++) {
      let r = t[s];
      if (_$e(r.parent.type, r.parentKey))
        return !0;
    }
    return !1;
  }
  n(Z$, "isExecutionUncertainInList");
  var eH = Symbol();
  function L$e(t) {
    return pD(this, t, /* @__PURE__ */ new Map());
  }
  n(L$e, "_guessExecutionStatusRelativeTo");
  function pD(t, e, s) {
    let r = {
      this: Q$(t),
      target: Q$(e)
    };
    if (r.target.node !== r.this.node)
      return M$e(t, r.target, s);
    let i = {
      target: e.getAncestry(),
      this: t.getAncestry()
    };
    if (i.target.includes(t)) return "after";
    if (i.this.includes(e)) return "before";
    let a, o = {
      target: 0,
      this: 0
    };
    for (; !a && o.this < i.this.length; ) {
      let p = i.this[o.this];
      o.target = i.target.indexOf(p), o.target >= 0 ? a = p : o.this++;
    }
    if (!a)
      throw new Error("Internal Babel error - The two compared nodes don't appear to belong to the same program.");
    if (Z$(i.this, o.this - 1) || Z$(i.target, o.target - 1))
      return "unknown";
    let l = {
      this: i.this[o.this - 1],
      target: i.target[o.target - 1]
    };
    if (l.target.listKey && l.this.listKey && l.target.container === l.this.container)
      return l.target.key > l.this.key ? "before" : "after";
    let u = y$e[a.type], c = {
      this: u.indexOf(l.this.parentKey),
      target: u.indexOf(l.target.parentKey)
    };
    return c.target > c.this ? "before" : "after";
  }
  n(pD, "_guessExecutionStatusRelativeToCached");
  function B$e(t, e, s) {
    if (e.isFunctionDeclaration()) {
      if (e.parentPath.isExportDeclaration())
        return "unknown";
    } else return pD(t, e, s) === "before" ? "before" : "unknown";
    let r = e.scope.getBinding(e.node.id.name);
    if (!r.references) return "before";
    let i = r.referencePaths, a;
    for (let o of i) {
      if (!!o.find((c) => c.node === e.node)) continue;
      if (o.key !== "callee" || !o.parentPath.isCallExpression())
        return "unknown";
      let u = pD(t, o, s);
      if (a && a !== u)
        return "unknown";
      a = u;
    }
    return a;
  }
  n(B$e, "_guessExecutionStatusRelativeToDifferentFunctionsInternal");
  function M$e(t, e, s) {
    let r = s.get(t.node), i;
    if (!r)
      s.set(t.node, r = /* @__PURE__ */ new Map());
    else if (i = r.get(e.node))
      return i === eH ? "unknown" : i;
    r.set(e.node, eH);
    let a = B$e(t, e, s);
    return r.set(e.node, a), a;
  }
  n(M$e, "_guessExecutionStatusRelativeToDifferentFunctionsCached");
  function F$e(t, e) {
    return sH.call(this, t, e) || this;
  }
  n(F$e, "resolve");
  function sH(t, e) {
    var s;
    if (!((s = e) != null && s.includes(this)))
      if (e = e || [], e.push(this), this.isVariableDeclarator()) {
        if (this.get("id").isIdentifier())
          return this.get("init").resolve(t, e);
      } else if (this.isReferencedIdentifier()) {
        let r = this.scope.getBinding(this.node.name);
        if (!r || !r.constant || r.kind === "module") return;
        if (r.path !== this) {
          let i = r.path.resolve(t, e);
          return this.find((a) => a.node === i.node) ? void 0 : i;
        }
      } else {
        if (this.isTypeCastExpression())
          return this.get("expression").resolve(t, e);
        if (t && this.isMemberExpression()) {
          let r = this.toComputedKey();
          if (!b$e(r)) return;
          let i = r.value, a = this.get("object").resolve(t, e);
          if (a.isObjectExpression()) {
            let o = a.get("properties");
            for (let l of o) {
              if (!l.isProperty()) continue;
              let u = l.get("key"), c = l.isnt("computed") && u.isIdentifier({
                name: i
              });
              if (c = c || u.isLiteral({
                value: i
              }), c) return l.get("value").resolve(t, e);
            }
          } else if (a.isArrayExpression() && !isNaN(+i)) {
            let l = a.get("elements")[i];
            if (l) return l.resolve(t, e);
          }
        }
      }
  }
  n(sH, "_resolve");
  function j$e() {
    if (this.isIdentifier()) {
      let t = this.scope.getBinding(this.node.name);
      return t ? t.constant : !1;
    }
    if (this.isLiteral())
      return this.isRegExpLiteral() ? !1 : this.isTemplateLiteral() ? this.get("expressions").every((t) => t.isConstantExpression()) : !0;
    if (this.isUnaryExpression())
      return this.node.operator !== "void" ? !1 : this.get("argument").isConstantExpression();
    if (this.isBinaryExpression()) {
      let {
        operator: t
      } = this.node;
      return t !== "in" && t !== "instanceof" && this.get("left").isConstantExpression() && this.get("right").isConstantExpression();
    }
    return this.isMemberExpression() ? !this.node.computed && this.get("object").isIdentifier({
      name: "Symbol"
    }) && !this.scope.hasBinding("Symbol", {
      noGlobals: !0
    }) : this.isCallExpression() ? this.node.arguments.length === 1 && this.get("callee").matchesPattern("Symbol.for") && !this.scope.hasBinding(
    "Symbol", {
      noGlobals: !0
    }) && this.get("arguments")[0].isStringLiteral() : !1;
  }
  n(j$e, "isConstantExpression");
  function R$e() {
    return !!(this.isProgram() ? this : this.parentPath).find((s) => {
      if (s.isProgram({
        sourceType: "module"
      }) || s.isClass()) return !0;
      if (s.isArrowFunctionExpression() && !s.get("body").isBlockStatement())
        return !1;
      let r;
      if (s.isFunction())
        r = s.node.body;
      else if (s.isProgram())
        r = s.node;
      else
        return !1;
      for (let i of r.directives)
        if (i.value.value === "use strict")
          return !0;
    });
  }
  n(R$e, "isInStrictMode");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/family.js
var lH = g((Ui) => {
  "use strict";
  Object.defineProperty(Ui, "__esModule", {
    value: !0
  });
  Ui._getKey = aH;
  Ui._getPattern = oH;
  Ui.get = sHe;
  Ui.getAllNextSiblings = eHe;
  Ui.getAllPrevSiblings = tHe;
  Ui.getAssignmentIdentifiers = rHe;
  Ui.getBindingIdentifierPaths = aHe;
  Ui.getBindingIdentifiers = iHe;
  Ui.getCompletionRecords = z$e;
  Ui.getNextSibling = Z$e;
  Ui.getOpposite = J$e;
  Ui.getOuterBindingIdentifierPaths = oHe;
  Ui.getOuterBindingIdentifiers = nHe;
  Ui.getPrevSibling = Q$e;
  Ui.getSibling = G$e;
  var fD = jc(), q$e = fe(), {
    getAssignmentIdentifiers: U$e,
    getBindingIdentifiers: nH,
    getOuterBindingIdentifiers: K$e,
    numericLiteral: V$e,
    unaryExpression: W$e
  } = q$e, dD = 0, Cg = 1;
  function $$e(t) {
    return {
      type: dD,
      path: t
    };
  }
  n($$e, "NormalCompletion");
  function H$e(t) {
    return {
      type: Cg,
      path: t
    };
  }
  n(H$e, "BreakCompletion");
  function J$e() {
    return this.key === "left" ? this.getSibling("right") : this.key === "right" ? this.getSibling("left") : null;
  }
  n(J$e, "getOpposite");
  function Id(t, e, s) {
    return t && e.push(...Nd(t, s)), e;
  }
  n(Id, "addCompletionRecords");
  function Y$e(t, e, s) {
    let r = [];
    for (let i = 0; i < t.length; i++) {
      let a = t[i], o = Nd(a, s), l = [], u = [];
      for (let c of o)
        c.type === dD && l.push(c), c.type === Cg && u.push(c);
      l.length && (r = l), e.push(...u);
    }
    return e.push(...r), e;
  }
  n(Y$e, "completionRecordForSwitch");
  function X$e(t) {
    t.forEach((e) => {
      e.type = Cg;
    });
  }
  n(X$e, "normalCompletionToBreak");
  function hD(t, e) {
    t.forEach((s) => {
      s.path.isBreakStatement({
        label: null
      }) && (e ? s.path.replaceWith(W$e("void", V$e(0))) : s.path.remove());
    });
  }
  n(hD, "replaceBreakStatementInBreakCompletion");
  function iH(t, e) {
    let s = [];
    if (e.canHaveBreak) {
      let r = [];
      for (let i = 0; i < t.length; i++) {
        let a = t[i], o = Object.assign({}, e, {
          inCaseClause: !1
        });
        a.isBlockStatement() && (e.inCaseClause || e.shouldPopulateBreak) ? o.shouldPopulateBreak = !0 : o.shouldPopulateBreak = !1;
        let l = Nd(a, o);
        if (l.length > 0 && l.every((u) => u.type === Cg)) {
          r.length > 0 && l.every((u) => u.path.isBreakStatement({
            label: null
          })) ? (X$e(r), s.push(...r), r.some((u) => u.path.isDeclaration()) && (s.push(...l), hD(l, !0)), hD(l, !1)) : (s.push(...l), e.shouldPopulateBreak ||
          hD(l, !0));
          break;
        }
        if (i === t.length - 1)
          s.push(...l);
        else {
          r = [];
          for (let u = 0; u < l.length; u++) {
            let c = l[u];
            c.type === Cg && s.push(c), c.type === dD && r.push(c);
          }
        }
      }
    } else if (t.length)
      for (let r = t.length - 1; r >= 0; r--) {
        let i = Nd(t[r], e);
        if (i.length > 1 || i.length === 1 && !i[0].path.isVariableDeclaration()) {
          s.push(...i);
          break;
        }
      }
    return s;
  }
  n(iH, "getStatementListCompletion");
  function Nd(t, e) {
    let s = [];
    if (t.isIfStatement())
      s = Id(t.get("consequent"), s, e), s = Id(t.get("alternate"), s, e);
    else {
      if (t.isDoExpression() || t.isFor() || t.isWhile() || t.isLabeledStatement())
        return Id(t.get("body"), s, e);
      if (t.isProgram() || t.isBlockStatement())
        return iH(t.get("body"), e);
      if (t.isFunction())
        return Nd(t.get("body"), e);
      if (t.isTryStatement())
        s = Id(t.get("block"), s, e), s = Id(t.get("handler"), s, e);
      else {
        if (t.isCatchClause())
          return Id(t.get("body"), s, e);
        if (t.isSwitchStatement())
          return Y$e(t.get("cases"), s, e);
        if (t.isSwitchCase())
          return iH(t.get("consequent"), {
            canHaveBreak: !0,
            shouldPopulateBreak: !1,
            inCaseClause: !0
          });
        t.isBreakStatement() ? s.push(H$e(t)) : s.push($$e(t));
      }
    }
    return s;
  }
  n(Nd, "_getCompletionRecords");
  function z$e() {
    return Nd(this, {
      canHaveBreak: !1,
      shouldPopulateBreak: !1,
      inCaseClause: !1
    }).map((e) => e.path);
  }
  n(z$e, "getCompletionRecords");
  function G$e(t) {
    return fD.default.get({
      parentPath: this.parentPath,
      parent: this.parent,
      container: this.container,
      listKey: this.listKey,
      key: t
    }).setContext(this.context);
  }
  n(G$e, "getSibling");
  function Q$e() {
    return this.getSibling(this.key - 1);
  }
  n(Q$e, "getPrevSibling");
  function Z$e() {
    return this.getSibling(this.key + 1);
  }
  n(Z$e, "getNextSibling");
  function eHe() {
    let t = this.key, e = this.getSibling(++t), s = [];
    for (; e.node; )
      s.push(e), e = this.getSibling(++t);
    return s;
  }
  n(eHe, "getAllNextSiblings");
  function tHe() {
    let t = this.key, e = this.getSibling(--t), s = [];
    for (; e.node; )
      s.push(e), e = this.getSibling(--t);
    return s;
  }
  n(tHe, "getAllPrevSiblings");
  function sHe(t, e = !0) {
    e === !0 && (e = this.context);
    let s = t.split(".");
    return s.length === 1 ? aH.call(this, t, e) : oH.call(this, s, e);
  }
  n(sHe, "get");
  function aH(t, e) {
    let s = this.node, r = s[t];
    return Array.isArray(r) ? r.map((i, a) => fD.default.get({
      listKey: t,
      parentPath: this,
      parent: s,
      container: r,
      key: a
    }).setContext(e)) : fD.default.get({
      parentPath: this,
      parent: s,
      container: s,
      key: t
    }).setContext(e);
  }
  n(aH, "_getKey");
  function oH(t, e) {
    let s = this;
    for (let r of t)
      r === "." ? s = s.parentPath : Array.isArray(s) ? s = s[r] : s = s.get(r, e);
    return s;
  }
  n(oH, "_getPattern");
  function rHe() {
    return U$e(this.node);
  }
  n(rHe, "getAssignmentIdentifiers");
  function iHe(t) {
    return nH(this.node, t);
  }
  n(iHe, "getBindingIdentifiers");
  function nHe(t) {
    return K$e(this.node, t);
  }
  n(nHe, "getOuterBindingIdentifiers");
  function aHe(t = !1, e = !1) {
    let r = [this], i = /* @__PURE__ */ Object.create(null);
    for (; r.length; ) {
      let a = r.shift();
      if (!a || !a.node) continue;
      let o = nH.keys[a.node.type];
      if (a.isIdentifier()) {
        t ? (i[a.node.name] = i[a.node.name] || []).push(a) : i[a.node.name] = a;
        continue;
      }
      if (a.isExportDeclaration()) {
        let l = a.get("declaration");
        l.isDeclaration() && r.push(l);
        continue;
      }
      if (e) {
        if (a.isFunctionDeclaration()) {
          r.push(a.get("id"));
          continue;
        }
        if (a.isFunctionExpression())
          continue;
      }
      if (o)
        for (let l = 0; l < o.length; l++) {
          let u = o[l], c = a.get(u);
          Array.isArray(c) ? r.push(...c) : c.node && r.push(c);
        }
    }
    return i;
  }
  n(aHe, "getBindingIdentifierPaths");
  function oHe(t = !1) {
    return this.getBindingIdentifierPaths(t, !0);
  }
  n(oHe, "getOuterBindingIdentifierPaths");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/comments.js
var cH = g((wg) => {
  "use strict";
  Object.defineProperty(wg, "__esModule", {
    value: !0
  });
  wg.addComment = hHe;
  wg.addComments = fHe;
  wg.shareCommentsWithSiblings = pHe;
  var lHe = fe(), {
    addComment: uHe,
    addComments: cHe
  } = lHe;
  function pHe() {
    if (typeof this.key == "string") return;
    let t = this.node;
    if (!t) return;
    let e = t.trailingComments, s = t.leadingComments;
    if (!e && !s) return;
    let r = this.getSibling(this.key - 1), i = this.getSibling(this.key + 1), a = !!r.node, o = !!i.node;
    a && (s && r.addComments("trailing", uH(s, r.node.trailingComments)), e && !o && r.addComments("trailing", e)), o && (e && i.addComments(
    "leading", uH(e, i.node.leadingComments)), s && !a && i.addComments("leading", s));
  }
  n(pHe, "shareCommentsWithSiblings");
  function uH(t, e) {
    if (!(e != null && e.length)) return t;
    let s = new Set(e);
    return t.filter((r) => !s.has(r));
  }
  n(uH, "removeIfExisting");
  function hHe(t, e, s) {
    uHe(this.node, t, e, s);
  }
  n(hHe, "addComment");
  function fHe(t, e) {
    cHe(this.node, t, e);
  }
  n(fHe, "addComments");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/index.js
var jc = g((al) => {
  "use strict";
  Object.defineProperty(al, "__esModule", {
    value: !0
  });
  al.default = al.SHOULD_STOP = al.SHOULD_SKIP = al.REMOVED = void 0;
  var dHe = gN(), mHe = yo(), yHe = Yl(), gHe = kN(), fH = fe(), tS = fH, THe = uh(), bHe = Bx(), il = SW(), kd = UW(), Dd = dk(), pH = V$(),
  Sh = G$(), bi = rH(), dH = tl(), si = dH, Od = Rx(), nl = qx(), Pn = lH(), mD = cH(), xHe = EN(), {
    validate: SHe
  } = fH, hH = mHe("babel"), _7s = al.REMOVED = 1, L7s = al.SHOULD_STOP = 2, B7s = al.SHOULD_SKIP = 4, nu = al.default = class mH {
    static {
      n(this, "NodePath");
    }
    constructor(e, s) {
      this.contexts = [], this.state = null, this.opts = null, this._traverseFlags = 0, this.skipKeys = null, this.parentPath = null, this.container =
      null, this.listKey = null, this.key = null, this.node = null, this.type = null, this.parent = s, this.hub = e, this.data = null, this.
      context = null, this.scope = null;
    }
    get removed() {
      return (this._traverseFlags & 1) > 0;
    }
    set removed(e) {
      e ? this._traverseFlags |= 1 : this._traverseFlags &= -2;
    }
    get shouldStop() {
      return (this._traverseFlags & 2) > 0;
    }
    set shouldStop(e) {
      e ? this._traverseFlags |= 2 : this._traverseFlags &= -3;
    }
    get shouldSkip() {
      return (this._traverseFlags & 4) > 0;
    }
    set shouldSkip(e) {
      e ? this._traverseFlags |= 4 : this._traverseFlags &= -5;
    }
    static get({
      hub: e,
      parentPath: s,
      parent: r,
      container: i,
      listKey: a,
      key: o
    }) {
      if (!e && s && (e = s.hub), !r)
        throw new Error("To get a node path the parent needs to exist");
      let l = i[o], u = THe.getOrCreateCachedPaths(e, r), c = u.get(l);
      return c || (c = new mH(e, r), l && u.set(l, c)), dH.setup.call(c, s, i, a, o), c;
    }
    getScope(e) {
      return this.isScope() ? new gHe.default(this) : e;
    }
    setData(e, s) {
      return this.data == null && (this.data = /* @__PURE__ */ Object.create(null)), this.data[e] = s;
    }
    getData(e, s) {
      this.data == null && (this.data = /* @__PURE__ */ Object.create(null));
      let r = this.data[e];
      return r === void 0 && s !== void 0 && (r = this.data[e] = s), r;
    }
    hasNode() {
      return this.node != null;
    }
    buildCodeFrameError(e, s = SyntaxError) {
      return this.hub.buildError(this.node, e, s);
    }
    traverse(e, s) {
      (0, yHe.default)(this.node, e, this.scope, s, this);
    }
    set(e, s) {
      SHe(this.node, e, s), this.node[e] = s;
    }
    getPathLocation() {
      let e = [], s = this;
      do {
        let r = s.key;
        s.inList && (r = `${s.listKey}[${r}]`), e.unshift(r);
      } while (s = s.parentPath);
      return e.join(".");
    }
    debug(e) {
      hH.enabled && hH(`${this.getPathLocation()} ${this.type}: ${e}`);
    }
    toString() {
      return (0, bHe.default)(this.node).code;
    }
    get inList() {
      return !!this.listKey;
    }
    set inList(e) {
      e || (this.listKey = null);
    }
    get parentKey() {
      return this.listKey || this.key;
    }
  }, PHe = {
    findParent: il.findParent,
    find: il.find,
    getFunctionParent: il.getFunctionParent,
    getStatementParent: il.getStatementParent,
    getEarliestCommonAncestorFrom: il.getEarliestCommonAncestorFrom,
    getDeepestCommonAncestorFrom: il.getDeepestCommonAncestorFrom,
    getAncestry: il.getAncestry,
    isAncestor: il.isAncestor,
    isDescendant: il.isDescendant,
    inType: il.inType,
    getTypeAnnotation: kd.getTypeAnnotation,
    isBaseType: kd.isBaseType,
    couldBeBaseType: kd.couldBeBaseType,
    baseTypeStrictlyMatches: kd.baseTypeStrictlyMatches,
    isGenericType: kd.isGenericType,
    replaceWithMultiple: Dd.replaceWithMultiple,
    replaceWithSourceString: Dd.replaceWithSourceString,
    replaceWith: Dd.replaceWith,
    replaceExpressionWithStatements: Dd.replaceExpressionWithStatements,
    replaceInline: Dd.replaceInline,
    evaluateTruthy: pH.evaluateTruthy,
    evaluate: pH.evaluate,
    toComputedKey: Sh.toComputedKey,
    ensureBlock: Sh.ensureBlock,
    unwrapFunctionEnvironment: Sh.unwrapFunctionEnvironment,
    arrowFunctionToExpression: Sh.arrowFunctionToExpression,
    splitExportDeclaration: Sh.splitExportDeclaration,
    ensureFunctionName: Sh.ensureFunctionName,
    matchesPattern: bi.matchesPattern,
    isStatic: bi.isStatic,
    isNodeType: bi.isNodeType,
    canHaveVariableDeclarationOrExpression: bi.canHaveVariableDeclarationOrExpression,
    canSwapBetweenExpressionAndStatement: bi.canSwapBetweenExpressionAndStatement,
    isCompletionRecord: bi.isCompletionRecord,
    isStatementOrBlock: bi.isStatementOrBlock,
    referencesImport: bi.referencesImport,
    getSource: bi.getSource,
    willIMaybeExecuteBefore: bi.willIMaybeExecuteBefore,
    _guessExecutionStatusRelativeTo: bi._guessExecutionStatusRelativeTo,
    resolve: bi.resolve,
    isConstantExpression: bi.isConstantExpression,
    isInStrictMode: bi.isInStrictMode,
    isDenylisted: si.isDenylisted,
    visit: si.visit,
    skip: si.skip,
    skipKey: si.skipKey,
    stop: si.stop,
    setContext: si.setContext,
    requeue: si.requeue,
    requeueComputedKeyAndDecorators: si.requeueComputedKeyAndDecorators,
    remove: Od.remove,
    insertBefore: nl.insertBefore,
    insertAfter: nl.insertAfter,
    unshiftContainer: nl.unshiftContainer,
    pushContainer: nl.pushContainer,
    getOpposite: Pn.getOpposite,
    getCompletionRecords: Pn.getCompletionRecords,
    getSibling: Pn.getSibling,
    getPrevSibling: Pn.getPrevSibling,
    getNextSibling: Pn.getNextSibling,
    getAllNextSiblings: Pn.getAllNextSiblings,
    getAllPrevSiblings: Pn.getAllPrevSiblings,
    get: Pn.get,
    getAssignmentIdentifiers: Pn.getAssignmentIdentifiers,
    getBindingIdentifiers: Pn.getBindingIdentifiers,
    getOuterBindingIdentifiers: Pn.getOuterBindingIdentifiers,
    getBindingIdentifierPaths: Pn.getBindingIdentifierPaths,
    getOuterBindingIdentifierPaths: Pn.getOuterBindingIdentifierPaths,
    shareCommentsWithSiblings: mD.shareCommentsWithSiblings,
    addComment: mD.addComment,
    addComments: mD.addComments
  };
  Object.assign(nu.prototype, PHe);
  nu.prototype.arrowFunctionToShadowed = Sh.arrowFunctionToShadowed, Object.assign(nu.prototype, {
    has: bi.has,
    is: bi.is,
    isnt: bi.isnt,
    equals: bi.equals,
    hoist: nl.hoist,
    updateSiblingKeys: nl.updateSiblingKeys,
    call: si.call,
    isBlacklisted: si.isBlacklisted,
    setScope: si.setScope,
    resync: si.resync,
    popContext: si.popContext,
    pushContext: si.pushContext,
    setup: si.setup,
    setKey: si.setKey
  });
  nu.prototype._guessExecutionStatusRelativeToDifferentFunctions = bi._guessExecutionStatusRelativeTo, nu.prototype._guessExecutionStatusRelativeToDifferentFunctions =
  bi._guessExecutionStatusRelativeTo, Object.assign(nu.prototype, {
    _getTypeAnnotation: kd._getTypeAnnotation,
    _replaceWith: Dd._replaceWith,
    _resolve: bi._resolve,
    _call: si._call,
    _resyncParent: si._resyncParent,
    _resyncKey: si._resyncKey,
    _resyncList: si._resyncList,
    _resyncRemoved: si._resyncRemoved,
    _getQueueContexts: si._getQueueContexts,
    _removeFromScope: Od._removeFromScope,
    _callRemovalHooks: Od._callRemovalHooks,
    _remove: Od._remove,
    _markRemoved: Od._markRemoved,
    _assertUnremoved: Od._assertUnremoved,
    _containerInsert: nl._containerInsert,
    _containerInsertBefore: nl._containerInsertBefore,
    _containerInsertAfter: nl._containerInsertAfter,
    _verifyNodeList: nl._verifyNodeList,
    _getKey: Pn._getKey,
    _getPattern: Pn._getPattern
  });
  for (let t of tS.TYPES) {
    let e = `is${t}`, s = tS[e];
    nu.prototype[e] = function(r) {
      return s(this.node, r);
    }, nu.prototype[`assert${t}`] = function(r) {
      if (!s(this.node, r))
        throw new TypeError(`Expected node path of type ${t}`);
    };
  }
  Object.assign(nu.prototype, xHe);
  for (let t of Object.keys(dHe))
    t[0] !== "_" && (tS.TYPES.includes(t) || tS.TYPES.push(t));
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/context.js
var yH = g((sS) => {
  "use strict";
  Object.defineProperty(sS, "__esModule", {
    value: !0
  });
  sS.default = void 0;
  var EHe = jc(), AHe = fe(), yD = tl(), {
    VISITOR_KEYS: vHe
  } = AHe, gD = class {
    static {
      n(this, "TraversalContext");
    }
    constructor(e, s, r, i) {
      this.queue = null, this.priorityQueue = null, this.parentPath = i, this.scope = e, this.state = r, this.opts = s;
    }
    shouldVisit(e) {
      let s = this.opts;
      if (s.enter || s.exit || s[e.type]) return !0;
      let r = vHe[e.type];
      if (!(r != null && r.length)) return !1;
      for (let i of r)
        if (e[i])
          return !0;
      return !1;
    }
    create(e, s, r, i) {
      return EHe.default.get({
        parentPath: this.parentPath,
        parent: e,
        container: s,
        key: r,
        listKey: i
      });
    }
    maybeQueue(e, s) {
      this.queue && (s ? this.queue.push(e) : this.priorityQueue.push(e));
    }
    visitMultiple(e, s, r) {
      if (e.length === 0) return !1;
      let i = [];
      for (let a = 0; a < e.length; a++) {
        let o = e[a];
        o && this.shouldVisit(o) && i.push(this.create(s, e, a, r));
      }
      return this.visitQueue(i);
    }
    visitSingle(e, s) {
      return this.shouldVisit(e[s]) ? this.visitQueue([this.create(e, e, s)]) : !1;
    }
    visitQueue(e) {
      this.queue = e, this.priorityQueue = [];
      let s = /* @__PURE__ */ new WeakSet(), r = !1, i = 0;
      for (; i < e.length; ) {
        let a = e[i];
        if (i++, yD.resync.call(a), (a.contexts.length === 0 || a.contexts[a.contexts.length - 1] !== this) && yD.pushContext.call(a, this),
        a.key === null) continue;
        let {
          node: o
        } = a;
        if (!s.has(o)) {
          if (o && s.add(o), a.visit()) {
            r = !0;
            break;
          }
          if (this.priorityQueue.length && (r = this.visitQueue(this.priorityQueue), this.priorityQueue = [], this.queue = e, r))
            break;
        }
      }
      for (let a = 0; a < i; a++)
        yD.popContext.call(e[a]);
      return this.queue = null, r;
    }
    visit(e, s) {
      let r = e[s];
      return r ? Array.isArray(r) ? this.visitMultiple(r, e, s) : this.visitSingle(e, s) : !1;
    }
  };
  sS.default = gD;
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/traverse-node.js
var cx = g((TD) => {
  "use strict";
  Object.defineProperty(TD, "__esModule", {
    value: !0
  });
  TD.traverseNode = NHe;
  var CHe = yH(), wHe = fe(), {
    VISITOR_KEYS: IHe
  } = wHe;
  function NHe(t, e, s, r, i, a, o) {
    let l = IHe[t.type];
    if (!l) return !1;
    let u = new CHe.default(s, e, r, i);
    if (o)
      return a != null && a[i.parentKey] ? !1 : u.visitQueue([i]);
    for (let c of l)
      if (!(a != null && a[c]) && u.visit(t, c))
        return !0;
    return !1;
  }
  n(NHe, "traverseNode");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/path/context.js
var tl = g((Rr) => {
  "use strict";
  Object.defineProperty(Rr, "__esModule", {
    value: !0
  });
  Rr._call = xD;
  Rr._getQueueContexts = $He;
  Rr._resyncKey = PH;
  Rr._resyncList = EH;
  Rr._resyncParent = SH;
  Rr._resyncRemoved = RHe;
  Rr.call = bD;
  Rr.isDenylisted = bH;
  Rr.popContext = qHe;
  Rr.pushContext = UHe;
  Rr.requeue = VHe;
  Rr.requeueComputedKeyAndDecorators = WHe;
  Rr.resync = jHe;
  Rr.setContext = FHe;
  Rr.setKey = rS;
  Rr.setScope = xH;
  Rr.setup = KHe;
  Rr.skip = LHe;
  Rr.skipKey = BHe;
  Rr.stop = MHe;
  Rr.visit = _He;
  var kHe = cx(), gH = jc(), DHe = Rx(), OHe = fe();
  function bD(t) {
    let e = this.opts;
    if (this.debug(t), this.node && xD.call(this, e[t]))
      return !0;
    if (this.node) {
      var s;
      return xD.call(this, (s = e[this.node.type]) == null ? void 0 : s[t]);
    }
    return !1;
  }
  n(bD, "call");
  function xD(t) {
    if (!t) return !1;
    for (let e of t) {
      if (!e) continue;
      let s = this.node;
      if (!s) return !0;
      let r = e.call(this.state, this, this.state);
      if (r && typeof r == "object" && typeof r.then == "function")
        throw new Error("You appear to be using a plugin with an async traversal visitor, which your current version of Babel does not suppo\
rt. If you're using a published plugin, you may need to upgrade your @babel/core version.");
      if (r)
        throw new Error(`Unexpected return value from visitor method ${e}`);
      if (this.node !== s || this._traverseFlags > 0) return !0;
    }
    return !1;
  }
  n(xD, "_call");
  function bH() {
    var t;
    let e = (t = this.opts.denylist) != null ? t : this.opts.blacklist;
    return e?.includes(this.node.type);
  }
  n(bH, "isDenylisted");
  Rr.isBlacklisted = bH;
  function TH(t, e) {
    t.context !== e && (t.context = e, t.state = e.state, t.opts = e.opts);
  }
  n(TH, "restoreContext");
  function _He() {
    var t, e;
    if (!this.node || this.isDenylisted() || (t = (e = this.opts).shouldSkip) != null && t.call(e, this))
      return !1;
    let s = this.context;
    return this.shouldSkip || bD.call(this, "enter") ? (this.debug("Skip..."), this.shouldStop) : (TH(this, s), this.debug("Recursing into..\
."), this.shouldStop = (0, kHe.traverseNode)(this.node, this.opts, this.scope, this.state, this, this.skipKeys), TH(this, s), bD.call(this, "\
exit"), this.shouldStop);
  }
  n(_He, "visit");
  function LHe() {
    this.shouldSkip = !0;
  }
  n(LHe, "skip");
  function BHe(t) {
    this.skipKeys == null && (this.skipKeys = {}), this.skipKeys[t] = !0;
  }
  n(BHe, "skipKey");
  function MHe() {
    this._traverseFlags |= gH.SHOULD_SKIP | gH.SHOULD_STOP;
  }
  n(MHe, "stop");
  function xH() {
    var t, e;
    if ((t = this.opts) != null && t.noScope) return;
    let s = this.parentPath;
    ((this.key === "key" || this.listKey === "decorators") && s.isMethod() || this.key === "discriminant" && s.isSwitchStatement()) && (s = s.
    parentPath);
    let r;
    for (; s && !r; ) {
      var i;
      if ((i = s.opts) != null && i.noScope) return;
      r = s.scope, s = s.parentPath;
    }
    this.scope = this.getScope(r), (e = this.scope) == null || e.init();
  }
  n(xH, "setScope");
  function FHe(t) {
    return this.skipKeys != null && (this.skipKeys = {}), this._traverseFlags = 0, t && (this.context = t, this.state = t.state, this.opts =
    t.opts), xH.call(this), this;
  }
  n(FHe, "setContext");
  function jHe() {
    this.removed || (SH.call(this), EH.call(this), PH.call(this));
  }
  n(jHe, "resync");
  function SH() {
    this.parentPath && (this.parent = this.parentPath.node);
  }
  n(SH, "_resyncParent");
  function PH() {
    if (this.container && this.node !== this.container[this.key]) {
      if (Array.isArray(this.container)) {
        for (let t = 0; t < this.container.length; t++)
          if (this.container[t] === this.node) {
            rS.call(this, t);
            return;
          }
      } else
        for (let t of Object.keys(this.container))
          if (this.container[t] === this.node) {
            rS.call(this, t);
            return;
          }
      this.key = null;
    }
  }
  n(PH, "_resyncKey");
  function EH() {
    if (!this.parent || !this.inList) return;
    let t = this.parent[this.listKey];
    this.container !== t && (this.container = t || null);
  }
  n(EH, "_resyncList");
  function RHe() {
    (this.key == null || !this.container || this.container[this.key] !== this.node) && DHe._markRemoved.call(this);
  }
  n(RHe, "_resyncRemoved");
  function qHe() {
    this.contexts.pop(), this.contexts.length > 0 ? this.setContext(this.contexts[this.contexts.length - 1]) : this.setContext(void 0);
  }
  n(qHe, "popContext");
  function UHe(t) {
    this.contexts.push(t), this.setContext(t);
  }
  n(UHe, "pushContext");
  function KHe(t, e, s, r) {
    this.listKey = s, this.container = e, this.parentPath = t || this.parentPath, rS.call(this, r);
  }
  n(KHe, "setup");
  function rS(t) {
    var e;
    this.key = t, this.node = this.container[this.key], this.type = (e = this.node) == null ? void 0 : e.type;
  }
  n(rS, "setKey");
  function VHe(t = this) {
    if (t.removed) return;
    let e = this.contexts;
    for (let s of e)
      s.maybeQueue(t);
  }
  n(VHe, "requeue");
  function WHe() {
    let {
      context: t,
      node: e
    } = this;
    if (!OHe.isPrivate(e) && e.computed && t.maybeQueue(this.get("key")), e.decorators)
      for (let s of this.get("decorators"))
        t.maybeQueue(s);
  }
  n(WHe, "requeueComputedKeyAndDecorators");
  function $He() {
    let t = this, e = this.contexts;
    for (; !e.length && (t = t.parentPath, !!t); )
      e = t.contexts;
    return e;
  }
  n($He, "_getQueueContexts");
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/hub.js
var AH = g((iS) => {
  "use strict";
  Object.defineProperty(iS, "__esModule", {
    value: !0
  });
  iS.default = void 0;
  var SD = class {
    static {
      n(this, "Hub");
    }
    getCode() {
    }
    getScope() {
    }
    addHelper() {
      throw new Error("Helpers are not supported by the default hub.");
    }
    buildError(e, s, r = TypeError) {
      return new r(s);
    }
  };
  iS.default = SD;
});

// ../node_modules/@babel/core/node_modules/@babel/traverse/lib/index.js
var Yl = g((au) => {
  "use strict";
  Object.defineProperty(au, "__esModule", {
    value: !0
  });
  Object.defineProperty(au, "Hub", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return zHe.default;
    }, "get")
  });
  Object.defineProperty(au, "NodePath", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return YHe.default;
    }, "get")
  });
  Object.defineProperty(au, "Scope", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return XHe.default;
    }, "get")
  });
  au.visitors = au.default = void 0;
  tl();
  var Ig = lg();
  au.visitors = Ig;
  var HHe = fe(), JHe = uh(), vH = cx(), YHe = jc(), XHe = kN(), zHe = AH(), {
    VISITOR_KEYS: GHe,
    removeProperties: QHe,
    traverseFast: CH
  } = HHe;
  function Na(t, e = {}, s, r, i, a) {
    if (t) {
      if (!e.noScope && !s && t.type !== "Program" && t.type !== "File")
        throw new Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${t.
        type} node without passing scope and parentPath.`);
      if (!i && a)
        throw new Error("visitSelf can only be used when providing a NodePath.");
      GHe[t.type] && (Ig.explode(e), (0, vH.traverseNode)(t, e, s, r, i, null, a));
    }
  }
  n(Na, "traverse");
  var H7s = au.default = Na;
  Na.visitors = Ig;
  Na.verify = Ig.verify;
  Na.explode = Ig.explode;
  Na.cheap = function(t, e) {
    CH(t, e);
  };
  Na.node = function(t, e, s, r, i, a) {
    (0, vH.traverseNode)(t, e, s, r, i, a);
  };
  Na.clearNode = function(t, e) {
    QHe(t, e);
  };
  Na.removeProperties = function(t, e) {
    return CH(t, Na.clearNode, e), t;
  };
  function ZHe(t, e) {
    t.node.type === e.type && (e.has = !0, t.stop());
  }
  n(ZHe, "hasDenylistedType");
  Na.hasType = function(t, e, s) {
    if (s != null && s.includes(t.type)) return !1;
    if (t.type === e) return !0;
    let r = {
      has: !1,
      type: e
    };
    return Na(t, {
      noScope: !0,
      denylist: s,
      enter: ZHe
    }, null, r), r.has;
  };
  Na.cache = JHe;
});

// ../node_modules/@babel/helper-module-imports/lib/import-builder.js
var NH = g((aS) => {
  "use strict";
  Object.defineProperty(aS, "__esModule", {
    value: !0
  });
  aS.default = void 0;
  var xo = require("assert"), eJe = fe(), {
    callExpression: PD,
    cloneNode: nS,
    expressionStatement: wH,
    identifier: Ng,
    importDeclaration: tJe,
    importDefaultSpecifier: sJe,
    importNamespaceSpecifier: rJe,
    importSpecifier: iJe,
    memberExpression: ED,
    stringLiteral: IH,
    variableDeclaration: nJe,
    variableDeclarator: aJe
  } = eJe, AD = class {
    static {
      n(this, "ImportBuilder");
    }
    constructor(e, s, r) {
      this._statements = [], this._resultName = null, this._importedSource = void 0, this._scope = s, this._hub = r, this._importedSource = e;
    }
    done() {
      return {
        statements: this._statements,
        resultName: this._resultName
      };
    }
    import() {
      return this._statements.push(tJe([], IH(this._importedSource))), this;
    }
    require() {
      return this._statements.push(wH(PD(Ng("require"), [IH(this._importedSource)]))), this;
    }
    namespace(e = "namespace") {
      let s = this._scope.generateUidIdentifier(e), r = this._statements[this._statements.length - 1];
      return xo(r.type === "ImportDeclaration"), xo(r.specifiers.length === 0), r.specifiers = [rJe(s)], this._resultName = nS(s), this;
    }
    default(e) {
      let s = this._scope.generateUidIdentifier(e), r = this._statements[this._statements.length - 1];
      return xo(r.type === "ImportDeclaration"), xo(r.specifiers.length === 0), r.specifiers = [sJe(s)], this._resultName = nS(s), this;
    }
    named(e, s) {
      if (s === "default") return this.default(e);
      let r = this._scope.generateUidIdentifier(e), i = this._statements[this._statements.length - 1];
      return xo(i.type === "ImportDeclaration"), xo(i.specifiers.length === 0), i.specifiers = [iJe(r, Ng(s))], this._resultName = nS(r), this;
    }
    var(e) {
      let s = this._scope.generateUidIdentifier(e), r = this._statements[this._statements.length - 1];
      return r.type !== "ExpressionStatement" && (xo(this._resultName), r = wH(this._resultName), this._statements.push(r)), this._statements[this.
      _statements.length - 1] = nJe("var", [aJe(s, r.expression)]), this._resultName = nS(s), this;
    }
    defaultInterop() {
      return this._interop(this._hub.addHelper("interopRequireDefault"));
    }
    wildcardInterop() {
      return this._interop(this._hub.addHelper("interopRequireWildcard"));
    }
    _interop(e) {
      let s = this._statements[this._statements.length - 1];
      return s.type === "ExpressionStatement" ? s.expression = PD(e, [s.expression]) : s.type === "VariableDeclaration" ? (xo(s.declarations.
      length === 1), s.declarations[0].init = PD(e, [s.declarations[0].init])) : xo.fail("Unexpected type."), this;
    }
    prop(e) {
      let s = this._statements[this._statements.length - 1];
      return s.type === "ExpressionStatement" ? s.expression = ED(s.expression, Ng(e)) : s.type === "VariableDeclaration" ? (xo(s.declarations.
      length === 1), s.declarations[0].init = ED(s.declarations[0].init, Ng(e))) : xo.fail("Unexpected type:" + s.type), this;
    }
    read(e) {
      this._resultName = ED(this._resultName, Ng(e));
    }
  };
  aS.default = AD;
});

// ../node_modules/@babel/helper-module-imports/lib/is-module.js
var CD = g((vD) => {
  "use strict";
  Object.defineProperty(vD, "__esModule", {
    value: !0
  });
  vD.default = oJe;
  function oJe(t) {
    return t.node.sourceType === "module";
  }
  n(oJe, "isModule");
});

// ../node_modules/@babel/helper-module-imports/lib/import-injector.js
var BH = g((lS) => {
  "use strict";
  Object.defineProperty(lS, "__esModule", {
    value: !0
  });
  lS.default = void 0;
  var kH = require("assert"), lJe = fe(), uJe = NH(), cJe = CD(), {
    identifier: pJe,
    importSpecifier: hJe,
    numericLiteral: fJe,
    sequenceExpression: dJe,
    isImportDeclaration: DH
  } = lJe, wD = class {
    static {
      n(this, "ImportInjector");
    }
    constructor(e, s, r) {
      this._defaultOpts = {
        importedSource: null,
        importedType: "commonjs",
        importedInterop: "babel",
        importingInterop: "babel",
        ensureLiveReference: !1,
        ensureNoContext: !1,
        importPosition: "before"
      };
      let i = e.find((a) => a.isProgram());
      this._programPath = i, this._programScope = i.scope, this._hub = i.hub, this._defaultOpts = this._applyDefaults(s, r, !0);
    }
    addDefault(e, s) {
      return this.addNamed("default", e, s);
    }
    addNamed(e, s, r) {
      return kH(typeof e == "string"), this._generateImport(this._applyDefaults(s, r), e);
    }
    addNamespace(e, s) {
      return this._generateImport(this._applyDefaults(e, s), null);
    }
    addSideEffect(e, s) {
      return this._generateImport(this._applyDefaults(e, s), void 0);
    }
    _applyDefaults(e, s, r = !1) {
      let i;
      return typeof e == "string" ? i = Object.assign({}, this._defaultOpts, {
        importedSource: e
      }, s) : (kH(!s, "Unexpected secondary arguments."), i = Object.assign({}, this._defaultOpts, e)), !r && s && (s.nameHint !== void 0 &&
      (i.nameHint = s.nameHint), s.blockHoist !== void 0 && (i.blockHoist = s.blockHoist)), i;
    }
    _generateImport(e, s) {
      let r = s === "default", i = !!s && !r, a = s === null, {
        importedSource: o,
        importedType: l,
        importedInterop: u,
        importingInterop: c,
        ensureLiveReference: p,
        ensureNoContext: h,
        nameHint: f,
        importPosition: d,
        blockHoist: m
      } = e, y = f || s, T = (0, cJe.default)(this._programPath), b = T && c === "node", E = T && c === "babel";
      if (d === "after" && !T)
        throw new Error('"importPosition": "after" is only supported in modules');
      let V = new uJe.default(o, this._programScope, this._hub);
      if (l === "es6") {
        if (!b && !E)
          throw new Error("Cannot import an ES6 module from CommonJS");
        V.import(), a ? V.namespace(f || o) : (r || i) && V.named(y, s);
      } else {
        if (l !== "commonjs")
          throw new Error(`Unexpected interopType "${l}"`);
        if (u === "babel")
          if (b) {
            y = y !== "default" ? y : o;
            let de = `${o}$es6Default`;
            V.import(), a ? V.default(de).var(y || o).wildcardInterop() : r ? p ? V.default(de).var(y || o).defaultInterop().read("default") :
            V.default(de).var(y).defaultInterop().prop(s) : i && V.default(de).read(s);
          } else E ? (V.import(), a ? V.namespace(y || o) : (r || i) && V.named(y, s)) : (V.require(), a ? V.var(y || o).wildcardInterop() :
          (r || i) && p ? r ? (y = y !== "default" ? y : o, V.var(y).read(s), V.defaultInterop()) : V.var(o).read(s) : r ? V.var(y).defaultInterop().
          prop(s) : i && V.var(y).prop(s));
        else if (u === "compiled")
          b ? (V.import(), a ? V.default(y || o) : (r || i) && V.default(o).read(y)) : E ? (V.import(), a ? V.namespace(y || o) : (r || i) &&
          V.named(y, s)) : (V.require(), a ? V.var(y || o) : (r || i) && (p ? V.var(o).read(y) : V.prop(s).var(y)));
        else if (u === "uncompiled") {
          if (r && p)
            throw new Error("No live reference for commonjs default");
          b ? (V.import(), a ? V.default(y || o) : r ? V.default(y) : i && V.default(o).read(y)) : E ? (V.import(), a ? V.default(y || o) : r ?
          V.default(y) : i && V.named(y, s)) : (V.require(), a ? V.var(y || o) : r ? V.var(y) : i && (p ? V.var(o).read(y) : V.var(y).prop(s)));
        } else
          throw new Error(`Unknown importedInterop "${u}".`);
      }
      let {
        statements: W,
        resultName: oe
      } = V.done();
      return this._insertStatements(W, d, m), (r || i) && h && oe.type !== "Identifier" ? dJe([fJe(0), oe]) : oe;
    }
    _insertStatements(e, s = "before", r = 3) {
      if (s === "after") {
        if (this._insertStatementsAfter(e)) return;
      } else if (this._insertStatementsBefore(e, r)) return;
      this._programPath.unshiftContainer("body", e);
    }
    _insertStatementsBefore(e, s) {
      if (e.length === 1 && DH(e[0]) && oS(e[0])) {
        let i = this._programPath.get("body").find((a) => a.isImportDeclaration() && oS(a.node));
        if (i?.node.source.value === e[0].source.value && LH(i.node, e[0]))
          return !0;
      }
      e.forEach((i) => {
        i._blockHoist = s;
      });
      let r = this._programPath.get("body").find((i) => {
        let a = i.node._blockHoist;
        return Number.isFinite(a) && a < 4;
      });
      return r ? (r.insertBefore(e), !0) : !1;
    }
    _insertStatementsAfter(e) {
      let s = new Set(e), r = /* @__PURE__ */ new Map();
      for (let a of e)
        if (DH(a) && oS(a)) {
          let o = a.source.value;
          r.has(o) || r.set(o, []), r.get(o).push(a);
        }
      let i = null;
      for (let a of this._programPath.get("body"))
        if (a.isImportDeclaration() && oS(a.node)) {
          i = a;
          let o = a.node.source.value, l = r.get(o);
          if (!l) continue;
          for (let u of l)
            s.has(u) && LH(a.node, u) && s.delete(u);
        }
      return s.size === 0 ? !0 : (i && i.insertAfter(Array.from(s)), !!i);
    }
  };
  lS.default = wD;
  function oS(t) {
    return t.importKind !== "type" && t.importKind !== "typeof";
  }
  n(oS, "isValueImport");
  function OH(t) {
    return t.specifiers.length === 1 && t.specifiers[0].type === "ImportNamespaceSpecifier" || t.specifiers.length === 2 && t.specifiers[1].
    type === "ImportNamespaceSpecifier";
  }
  n(OH, "hasNamespaceImport");
  function _H(t) {
    return t.specifiers.length > 0 && t.specifiers[0].type === "ImportDefaultSpecifier";
  }
  n(_H, "hasDefaultImport");
  function LH(t, e) {
    return t.specifiers.length ? e.specifiers.length ? OH(t) || OH(e) ? !1 : (_H(e) && (_H(t) ? e.specifiers[0] = hJe(e.specifiers[0].local,
    pJe("default")) : t.specifiers.unshift(e.specifiers.shift())), t.specifiers.push(...e.specifiers), !0) : !0 : (t.specifiers = e.specifiers,
    !0);
  }
  n(LH, "maybeAppendImportSpecifiers");
});

// ../node_modules/@babel/helper-module-imports/lib/index.js
var MH = g((Vc) => {
  "use strict";
  Object.defineProperty(Vc, "__esModule", {
    value: !0
  });
  Object.defineProperty(Vc, "ImportInjector", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return kg.default;
    }, "get")
  });
  Vc.addDefault = yJe;
  Vc.addNamed = gJe;
  Vc.addNamespace = TJe;
  Vc.addSideEffect = bJe;
  Object.defineProperty(Vc, "isModule", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return mJe.default;
    }, "get")
  });
  var kg = BH(), mJe = CD();
  function yJe(t, e, s) {
    return new kg.default(t).addDefault(e, s);
  }
  n(yJe, "addDefault");
  function gJe(t, e, s, r) {
    return new kg.default(t).addNamed(e, s, r);
  }
  n(gJe, "addNamed");
  function TJe(t, e, s) {
    return new kg.default(t).addNamespace(e, s);
  }
  n(TJe, "addNamespace");
  function bJe(t, e, s) {
    return new kg.default(t).addSideEffect(e, s);
  }
  n(bJe, "addSideEffect");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/lib/virtual-types.js
var ID = g((ys) => {
  "use strict";
  Object.defineProperty(ys, "__esModule", {
    value: !0
  });
  ys.Var = ys.User = ys.Statement = ys.SpreadProperty = ys.Scope = ys.RestProperty = ys.ReferencedMemberExpression = ys.ReferencedIdentifier =
  ys.Referenced = ys.Pure = ys.NumericLiteralTypeAnnotation = ys.Generated = ys.ForAwaitStatement = ys.Flow = ys.Expression = ys.ExistentialTypeParam =
  ys.BlockScoped = ys.BindingIdentifier = void 0;
  var rqs = ys.ReferencedIdentifier = ["Identifier", "JSXIdentifier"], iqs = ys.ReferencedMemberExpression = ["MemberExpression"], nqs = ys.
  BindingIdentifier = ["Identifier"], aqs = ys.Statement = ["Statement"], oqs = ys.Expression = ["Expression"], lqs = ys.Scope = ["Scopable",
  "Pattern"], uqs = ys.Referenced = null, cqs = ys.BlockScoped = null, pqs = ys.Var = ["VariableDeclaration"], hqs = ys.User = null, fqs = ys.
  Generated = null, dqs = ys.Pure = null, mqs = ys.Flow = ["Flow", "ImportDeclaration", "ExportDeclaration", "ImportSpecifier"], yqs = ys.RestProperty =
  ["RestElement"], gqs = ys.SpreadProperty = ["RestElement"], Tqs = ys.ExistentialTypeParam = ["ExistsTypeAnnotation"], bqs = ys.NumericLiteralTypeAnnotation =
  ["NumberLiteralTypeAnnotation"], xqs = ys.ForAwaitStatement = ["ForOfStatement"];
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js
var kD = g((Ci) => {
  "use strict";
  Object.defineProperty(Ci, "__esModule", {
    value: !0
  });
  Ci.isBindingIdentifier = KJe;
  Ci.isBlockScoped = JJe;
  Ci.isExpression = WJe;
  Ci.isFlow = QJe;
  Ci.isForAwaitStatement = tYe;
  Ci.isGenerated = zJe;
  Ci.isPure = GJe;
  Ci.isReferenced = HJe;
  Ci.isReferencedIdentifier = qJe;
  Ci.isReferencedMemberExpression = UJe;
  Ci.isRestProperty = ZJe;
  Ci.isScope = $Je;
  Ci.isSpreadProperty = eYe;
  Ci.isStatement = VJe;
  Ci.isUser = XJe;
  Ci.isVar = YJe;
  var xJe = fe(), {
    isBinding: SJe,
    isBlockScoped: PJe,
    isExportDeclaration: EJe,
    isExpression: AJe,
    isFlow: vJe,
    isForStatement: CJe,
    isForXStatement: wJe,
    isIdentifier: FH,
    isImportDeclaration: IJe,
    isImportSpecifier: NJe,
    isJSXIdentifier: kJe,
    isJSXMemberExpression: DJe,
    isMemberExpression: OJe,
    isRestElement: jH,
    isReferenced: ND,
    isScope: _Je,
    isStatement: LJe,
    isVar: BJe,
    isVariableDeclaration: MJe,
    react: FJe,
    isForOfStatement: jJe
  } = xJe, {
    isCompatTag: RJe
  } = FJe;
  function qJe(t) {
    let {
      node: e,
      parent: s
    } = this;
    if (!FH(e, t) && !DJe(s, t))
      if (kJe(e, t)) {
        if (RJe(e.name)) return !1;
      } else
        return !1;
    return ND(e, s, this.parentPath.parent);
  }
  n(qJe, "isReferencedIdentifier");
  function UJe() {
    let {
      node: t,
      parent: e
    } = this;
    return OJe(t) && ND(t, e);
  }
  n(UJe, "isReferencedMemberExpression");
  function KJe() {
    let {
      node: t,
      parent: e
    } = this, s = this.parentPath.parent;
    return FH(t) && SJe(t, e, s);
  }
  n(KJe, "isBindingIdentifier");
  function VJe() {
    let {
      node: t,
      parent: e
    } = this;
    return LJe(t) ? !(MJe(t) && (wJe(e, {
      left: t
    }) || CJe(e, {
      init: t
    }))) : !1;
  }
  n(VJe, "isStatement");
  function WJe() {
    return this.isIdentifier() ? this.isReferencedIdentifier() : AJe(this.node);
  }
  n(WJe, "isExpression");
  function $Je() {
    return _Je(this.node, this.parent);
  }
  n($Je, "isScope");
  function HJe() {
    return ND(this.node, this.parent);
  }
  n(HJe, "isReferenced");
  function JJe() {
    return PJe(this.node);
  }
  n(JJe, "isBlockScoped");
  function YJe() {
    return BJe(this.node);
  }
  n(YJe, "isVar");
  function XJe() {
    return this.node && !!this.node.loc;
  }
  n(XJe, "isUser");
  function zJe() {
    return !this.isUser();
  }
  n(zJe, "isGenerated");
  function GJe(t) {
    return this.scope.isPure(this.node, t);
  }
  n(GJe, "isPure");
  function QJe() {
    let {
      node: t
    } = this;
    return vJe(t) ? !0 : IJe(t) ? t.importKind === "type" || t.importKind === "typeof" : EJe(t) ? t.exportKind === "type" : NJe(t) ? t.importKind ===
    "type" || t.importKind === "typeof" : !1;
  }
  n(QJe, "isFlow");
  function ZJe() {
    var t;
    return jH(this.node) && ((t = this.parentPath) == null ? void 0 : t.isObjectPattern());
  }
  n(ZJe, "isRestProperty");
  function eYe() {
    var t;
    return jH(this.node) && ((t = this.parentPath) == null ? void 0 : t.isObjectExpression());
  }
  n(eYe, "isSpreadProperty");
  function tYe() {
    return jJe(this.node, {
      await: !0
    });
  }
  n(tYe, "isForAwaitStatement");
  Ci.isExistentialTypeParam = /* @__PURE__ */ n(function() {
    throw new Error("`path.isExistentialTypeParam` has been renamed to `path.isExistsTypeAnnotation()` in Babel 7.");
  }, "isExistentialTypeParam"), Ci.isNumericLiteralTypeAnnotation = /* @__PURE__ */ n(function() {
    throw new Error("`path.isNumericLiteralTypeAnnotation()` has been renamed to `path.isNumberLiteralTypeAnnotation()` in Babel 7.");
  }, "isNumericLiteralTypeAnnotation");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/visitors.js
var Og = g((Eh) => {
  "use strict";
  Object.defineProperty(Eh, "__esModule", {
    value: !0
  });
  Eh.environmentVisitor = uYe;
  Eh.explode = XH;
  Eh.isExplodedVisitor = YH;
  Eh.merge = GH;
  Eh.verify = zH;
  var JH = ID(), sYe = kD(), rYe = fe(), RH = ol(), {
    DEPRECATED_KEYS: qH,
    DEPRECATED_ALIASES: UH,
    FLIPPED_ALIAS_KEYS: KH,
    TYPES: iYe,
    __internal__deprecationWarning: VH
  } = rYe;
  function nYe(t) {
    return t in JH;
  }
  n(nYe, "isVirtualType");
  function YH(t) {
    return t?._exploded;
  }
  n(YH, "isExplodedVisitor");
  function XH(t) {
    if (YH(t)) return t;
    t._exploded = !0;
    for (let e of Object.keys(t)) {
      if (Ph(e)) continue;
      let s = e.split("|");
      if (s.length === 1) continue;
      let r = t[e];
      delete t[e];
      for (let i of s)
        t[i] = r;
    }
    zH(t), delete t.__esModule, aYe(t), HH(t);
    for (let e of Object.keys(t)) {
      if (Ph(e) || !nYe(e)) continue;
      let s = t[e];
      for (let i of Object.keys(s))
        s[i] = oYe(e, s[i]);
      delete t[e];
      let r = JH[e];
      if (r !== null)
        for (let i of r)
          t[i] ? Dg(t[i], s) : t[i] = s;
      else
        Dg(t, s);
    }
    for (let e of Object.keys(t)) {
      if (Ph(e)) continue;
      let s = KH[e];
      if (e in qH) {
        let i = qH[e];
        VH(e, i, "Visitor "), s = [i];
      } else if (e in UH) {
        let i = UH[e];
        VH(e, i, "Visitor "), s = KH[i];
      }
      if (!s) continue;
      let r = t[e];
      delete t[e];
      for (let i of s) {
        let a = t[i];
        a ? Dg(a, r) : t[i] = Object.assign({}, r);
      }
    }
    for (let e of Object.keys(t))
      Ph(e) || HH(t[e]);
    return t;
  }
  n(XH, "explode$1");
  function zH(t) {
    if (!t._verified) {
      if (typeof t == "function")
        throw new Error("You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Functi\
on }`?");
      for (let e of Object.keys(t)) {
        if ((e === "enter" || e === "exit") && WH(e, t[e]), Ph(e)) continue;
        if (!iYe.includes(e))
          throw new Error(`You gave us a visitor for the node type ${e} but it's not a valid type in @babel/traverse 7.26.9`);
        let s = t[e];
        if (typeof s == "object")
          for (let r of Object.keys(s))
            if (r === "enter" || r === "exit")
              WH(`${e}.${r}`, s[r]);
            else
              throw new Error(`You passed \`traverse()\` a visitor object with the property ${e} that has the invalid property ${r}`);
      }
      t._verified = !0;
    }
  }
  n(zH, "verify$1");
  function WH(t, e) {
    let s = [].concat(e);
    for (let r of s)
      if (typeof r != "function")
        throw new TypeError(`Non-function found defined in ${t} with type ${typeof r}`);
  }
  n(WH, "validateVisitorMethods");
  function GH(t, e = [], s) {
    let r = {
      _verified: !0,
      _exploded: !0
    };
    Object.defineProperty(r, "_exploded", {
      enumerable: !1
    }), Object.defineProperty(r, "_verified", {
      enumerable: !1
    });
    for (let i = 0; i < t.length; i++) {
      let a = XH(t[i]), o = e[i], l = a;
      (o || s) && (l = $H(l, o, s)), Dg(r, l);
      for (let u of Object.keys(a)) {
        if (Ph(u)) continue;
        let c = a[u];
        (o || s) && (c = $H(c, o, s));
        let p = r[u] || (r[u] = {});
        Dg(p, c);
      }
    }
    return r;
  }
  n(GH, "merge");
  function $H(t, e, s) {
    let r = {};
    for (let i of ["enter", "exit"]) {
      let a = t[i];
      Array.isArray(a) && (a = a.map(function(o) {
        let l = o;
        return e && (l = /* @__PURE__ */ n(function(u) {
          o.call(e, u, e);
        }, "newFn")), s && (l = s(e?.key, i, l)), l !== o && (l.toString = () => o.toString()), l;
      }), r[i] = a);
    }
    return r;
  }
  n($H, "wrapWithStateOrWrapper");
  function aYe(t) {
    for (let e of Object.keys(t)) {
      if (Ph(e)) continue;
      let s = t[e];
      typeof s == "function" && (t[e] = {
        enter: s
      });
    }
  }
  n(aYe, "ensureEntranceObjects");
  function HH(t) {
    t.enter && !Array.isArray(t.enter) && (t.enter = [t.enter]), t.exit && !Array.isArray(t.exit) && (t.exit = [t.exit]);
  }
  n(HH, "ensureCallbackArrays");
  function oYe(t, e) {
    let s = `is${t}`, r = sYe[s], i = /* @__PURE__ */ n(function(a) {
      if (r.call(a))
        return e.apply(this, arguments);
    }, "newFn");
    return i.toString = () => e.toString(), i;
  }
  n(oYe, "wrapCheck");
  function Ph(t) {
    return t[0] === "_" || t === "enter" || t === "exit" || t === "shouldSkip" || t === "denylist" || t === "noScope" || t === "skipKeys" ||
    t === "blacklist";
  }
  n(Ph, "shouldIgnoreKey");
  function Dg(t, e) {
    for (let s of ["enter", "exit"])
      e[s] && (t[s] = [].concat(t[s] || [], e[s]));
  }
  n(Dg, "mergePair");
  var lYe = {
    FunctionParent(t) {
      t.isArrowFunctionExpression() || (t.skip(), t.isMethod() && (t.requeueComputedKeyAndDecorators ? t.requeueComputedKeyAndDecorators() :
      RH.requeueComputedKeyAndDecorators.call(t)));
    },
    Property(t) {
      t.isObjectProperty() || (t.skip(), t.requeueComputedKeyAndDecorators ? t.requeueComputedKeyAndDecorators() : RH.requeueComputedKeyAndDecorators.
      call(t));
    }
  };
  function uYe(t) {
    return GH([lYe, t]);
  }
  n(uYe, "environmentVisitor");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/scope/lib/renamer.js
var QH = g((cS) => {
  "use strict";
  Object.defineProperty(cS, "__esModule", {
    value: !0
  });
  cS.default = void 0;
  var uS = fe(), cYe = uS, pYe = pS(), hYe = Og(), fYe = ol(), {
    getAssignmentIdentifiers: dYe
  } = cYe, mYe = {
    ReferencedIdentifier({
      node: t
    }, e) {
      t.name === e.oldName && (t.name = e.newName);
    },
    Scope(t, e) {
      t.scope.bindingIdentifierEquals(e.oldName, e.binding.identifier) || (t.skip(), t.isMethod() && (t.requeueComputedKeyAndDecorators ? t.
      requeueComputedKeyAndDecorators() : fYe.requeueComputedKeyAndDecorators.call(t)));
    },
    ObjectProperty({
      node: t,
      scope: e
    }, s) {
      let {
        name: r
      } = t.key;
      if (t.shorthand && (r === s.oldName || r === s.newName) && e.getBindingIdentifier(r) === s.binding.identifier) {
        t.shorthand = !1;
        {
          var i;
          (i = t.extra) != null && i.shorthand && (t.extra.shorthand = !1);
        }
      }
    },
    "AssignmentExpression|Declaration|VariableDeclarator"(t, e) {
      if (t.isVariableDeclaration()) return;
      let s = t.isAssignmentExpression() ? dYe(t.node) : t.getOuterBindingIdentifiers();
      for (let r in s)
        r === e.oldName && (s[r].name = e.newName);
    }
  }, DD = class {
    static {
      n(this, "Renamer");
    }
    constructor(e, s, r) {
      this.newName = r, this.oldName = s, this.binding = e;
    }
    maybeConvertFromExportDeclaration(e) {
      let s = e.parentPath;
      if (s.isExportDeclaration()) {
        if (s.isExportDefaultDeclaration()) {
          let {
            declaration: r
          } = s.node;
          if (uS.isDeclaration(r) && !r.id)
            return;
        }
        s.isExportAllDeclaration() || s.splitExportDeclaration();
      }
    }
    maybeConvertFromClassFunctionDeclaration(e) {
      return e;
    }
    maybeConvertFromClassFunctionExpression(e) {
      return e;
    }
    rename() {
      let {
        binding: e,
        oldName: s,
        newName: r
      } = this, {
        scope: i,
        path: a
      } = e, o = a.find((c) => c.isDeclaration() || c.isFunctionExpression() || c.isClassExpression());
      o && o.getOuterBindingIdentifiers()[s] === e.identifier && this.maybeConvertFromExportDeclaration(o);
      let l = arguments[0] || i.block, u = {
        discriminant: !0
      };
      uS.isMethod(l) && (l.computed && (u.key = !0), uS.isObjectMethod(l) || (u.decorators = !0)), (0, pYe.traverseNode)(l, (0, hYe.explode)(
      mYe), i, this, i.path, u), arguments[0] || (i.removeOwnBinding(s), i.bindings[r] = e, this.binding.identifier.name = r), o && (this.maybeConvertFromClassFunctionDeclaration(
      a), this.maybeConvertFromClassFunctionExpression(a));
    }
  };
  cS.default = DD;
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/scope/binding.js
var ZH = g((hS) => {
  "use strict";
  Object.defineProperty(hS, "__esModule", {
    value: !0
  });
  hS.default = void 0;
  var OD = class {
    static {
      n(this, "Binding");
    }
    constructor({
      identifier: e,
      scope: s,
      path: r,
      kind: i
    }) {
      this.identifier = void 0, this.scope = void 0, this.path = void 0, this.kind = void 0, this.constantViolations = [], this.constant = !0,
      this.referencePaths = [], this.referenced = !1, this.references = 0, this.identifier = e, this.scope = s, this.path = r, this.kind = i,
      (i === "var" || i === "hoisted") && yYe(r) && this.reassign(r), this.clearValue();
    }
    deoptValue() {
      this.clearValue(), this.hasDeoptedValue = !0;
    }
    setValue(e) {
      this.hasDeoptedValue || (this.hasValue = !0, this.value = e);
    }
    clearValue() {
      this.hasDeoptedValue = !1, this.hasValue = !1, this.value = null;
    }
    reassign(e) {
      this.constant = !1, !this.constantViolations.includes(e) && this.constantViolations.push(e);
    }
    reference(e) {
      this.referencePaths.includes(e) || (this.referenced = !0, this.references++, this.referencePaths.push(e));
    }
    dereference() {
      this.references--, this.referenced = !!this.references;
    }
  };
  hS.default = OD;
  function yYe(t) {
    for (let {
      parentPath: e,
      key: s
    } = t; e; {
      parentPath: e,
      key: s
    } = e) {
      if (e.isFunctionParent()) return !1;
      if (e.isWhile() || e.isForXStatement() || e.isForStatement() && s === "body")
        return !0;
    }
    return !1;
  }
  n(yYe, "isDeclaredInLoop");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/cache.js
var Ah = g((la) => {
  "use strict";
  Object.defineProperty(la, "__esModule", {
    value: !0
  });
  la.clear = TYe;
  la.clearPath = eJ;
  la.clearScope = tJ;
  la.getCachedPaths = bYe;
  la.getOrCreateCachedPaths = xYe;
  la.scope = la.path = void 0;
  var fS = la.path = /* @__PURE__ */ new WeakMap(), gYe = la.scope = /* @__PURE__ */ new WeakMap();
  function TYe() {
    eJ(), tJ();
  }
  n(TYe, "clear");
  function eJ() {
    la.path = fS = /* @__PURE__ */ new WeakMap();
  }
  n(eJ, "clearPath");
  function tJ() {
    la.scope = gYe = /* @__PURE__ */ new WeakMap();
  }
  n(tJ, "clearScope");
  var _D = Object.freeze({});
  function bYe(t, e) {
    var s, r;
    return t = null, (s = fS.get((r = t) != null ? r : _D)) == null ? void 0 : s.get(e);
  }
  n(bYe, "getCachedPaths");
  function xYe(t, e) {
    var s, r;
    t = null;
    let i = fS.get((s = t) != null ? s : _D);
    i || fS.set((r = t) != null ? r : _D, i = /* @__PURE__ */ new WeakMap());
    let a = i.get(e);
    return a || i.set(e, a = /* @__PURE__ */ new Map()), a;
  }
  n(xYe, "getOrCreateCachedPaths");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/scope/index.js
var FD = g((mS) => {
  "use strict";
  Object.defineProperty(mS, "__esModule", {
    value: !0
  });
  mS.default = void 0;
  var SYe = QH(), PYe = _d(), EYe = ZH(), AYe = dd(), cJ = fe(), pJ = cJ, sJ = Ah(), vYe = Og(), {
    NOT_LOCAL_BINDING: rJ,
    assignmentExpression: CYe,
    callExpression: iJ,
    cloneNode: nJ,
    getBindingIdentifiers: hJ,
    identifier: Ch,
    isArrayExpression: fJ,
    isBinary: wYe,
    isCallExpression: aJ,
    isClass: IYe,
    isClassBody: NYe,
    isClassDeclaration: kYe,
    isExportAllDeclaration: dJ,
    isExportDefaultDeclaration: DYe,
    isExportNamedDeclaration: LD,
    isFunctionDeclaration: OYe,
    isIdentifier: vh,
    isImportDeclaration: BD,
    isLiteral: _Ye,
    isMemberExpression: LYe,
    isMethod: BYe,
    isModuleSpecifier: MYe,
    isNullLiteral: FYe,
    isObjectExpression: jYe,
    isProperty: RYe,
    isPureish: qYe,
    isRegExpLiteral: UYe,
    isSuper: KYe,
    isTaggedTemplateExpression: VYe,
    isTemplateLiteral: mJ,
    isThisExpression: oJ,
    isUnaryExpression: WYe,
    isVariableDeclaration: $Ye,
    expressionStatement: HYe,
    matchesPattern: lJ,
    memberExpression: MD,
    numericLiteral: JYe,
    toIdentifier: YYe,
    variableDeclaration: XYe,
    variableDeclarator: zYe,
    isRecordExpression: GYe,
    isTupleExpression: QYe,
    isObjectProperty: ZYe,
    isTopicReference: uJ,
    isMetaProperty: eXe,
    isPrivateName: tXe,
    isExportDeclaration: sXe,
    buildUndefinedNode: rXe,
    sequenceExpression: iXe
  } = cJ;
  function Cr(t, e) {
    switch (t?.type) {
      default:
        if (BD(t) || sXe(t)) {
          var s;
          if ((dJ(t) || LD(t) || BD(t)) && t.source)
            Cr(t.source, e);
          else if ((LD(t) || BD(t)) && (s = t.specifiers) != null && s.length)
            for (let r of t.specifiers) Cr(r, e);
          else (DYe(t) || LD(t)) && t.declaration && Cr(t.declaration, e);
        } else MYe(t) ? Cr(t.local, e) : _Ye(t) && !FYe(t) && !UYe(t) && !mJ(t) && e.push(t.value);
        break;
      case "MemberExpression":
      case "OptionalMemberExpression":
      case "JSXMemberExpression":
        Cr(t.object, e), Cr(t.property, e);
        break;
      case "Identifier":
      case "JSXIdentifier":
        e.push(t.name);
        break;
      case "CallExpression":
      case "OptionalCallExpression":
      case "NewExpression":
        Cr(t.callee, e);
        break;
      case "ObjectExpression":
      case "ObjectPattern":
        for (let r of t.properties)
          Cr(r, e);
        break;
      case "SpreadElement":
      case "RestElement":
        Cr(t.argument, e);
        break;
      case "ObjectProperty":
      case "ObjectMethod":
      case "ClassProperty":
      case "ClassMethod":
      case "ClassPrivateProperty":
      case "ClassPrivateMethod":
        Cr(t.key, e);
        break;
      case "ThisExpression":
        e.push("this");
        break;
      case "Super":
        e.push("super");
        break;
      case "Import":
        e.push("import");
        break;
      case "DoExpression":
        e.push("do");
        break;
      case "YieldExpression":
        e.push("yield"), Cr(t.argument, e);
        break;
      case "AwaitExpression":
        e.push("await"), Cr(t.argument, e);
        break;
      case "AssignmentExpression":
        Cr(t.left, e);
        break;
      case "VariableDeclarator":
        Cr(t.id, e);
        break;
      case "FunctionExpression":
      case "FunctionDeclaration":
      case "ClassExpression":
      case "ClassDeclaration":
        Cr(t.id, e);
        break;
      case "PrivateName":
        Cr(t.id, e);
        break;
      case "ParenthesizedExpression":
        Cr(t.expression, e);
        break;
      case "UnaryExpression":
      case "UpdateExpression":
        Cr(t.argument, e);
        break;
      case "MetaProperty":
        Cr(t.meta, e), Cr(t.property, e);
        break;
      case "JSXElement":
        Cr(t.openingElement, e);
        break;
      case "JSXOpeningElement":
        Cr(t.name, e);
        break;
      case "JSXFragment":
        Cr(t.openingFragment, e);
        break;
      case "JSXOpeningFragment":
        e.push("Fragment");
        break;
      case "JSXNamespacedName":
        Cr(t.namespace, e), Cr(t.name, e);
        break;
    }
  }
  n(Cr, "gatherNodeParts");
  var dS = {
    ForStatement(t) {
      let e = t.get("init");
      if (e.isVar()) {
        let {
          scope: s
        } = t;
        (s.getFunctionParent() || s.getProgramParent()).registerBinding("var", e);
      }
    },
    Declaration(t) {
      if (t.isBlockScoped() || t.isImportDeclaration() || t.isExportDeclaration()) return;
      (t.scope.getFunctionParent() || t.scope.getProgramParent()).registerDeclaration(t);
    },
    ImportDeclaration(t) {
      t.scope.getBlockParent().registerDeclaration(t);
    },
    TSImportEqualsDeclaration(t) {
      t.scope.getBlockParent().registerDeclaration(t);
    },
    ReferencedIdentifier(t, e) {
      pJ.isTSQualifiedName(t.parent) && t.parent.right === t.node || t.parentPath.isTSImportEqualsDeclaration() || e.references.push(t);
    },
    ForXStatement(t, e) {
      let s = t.get("left");
      if (s.isPattern() || s.isIdentifier())
        e.constantViolations.push(t);
      else if (s.isVar()) {
        let {
          scope: r
        } = t;
        (r.getFunctionParent() || r.getProgramParent()).registerBinding("var", s);
      }
    },
    ExportDeclaration: {
      exit(t) {
        let {
          node: e,
          scope: s
        } = t;
        if (dJ(e)) return;
        let r = e.declaration;
        if (kYe(r) || OYe(r)) {
          let i = r.id;
          if (!i) return;
          let a = s.getBinding(i.name);
          a?.reference(t);
        } else if ($Ye(r))
          for (let i of r.declarations)
            for (let a of Object.keys(hJ(i))) {
              let o = s.getBinding(a);
              o?.reference(t);
            }
      }
    },
    LabeledStatement(t) {
      t.scope.getBlockParent().registerDeclaration(t);
    },
    AssignmentExpression(t, e) {
      e.assignments.push(t);
    },
    UpdateExpression(t, e) {
      e.constantViolations.push(t);
    },
    UnaryExpression(t, e) {
      t.node.operator === "delete" && e.constantViolations.push(t);
    },
    BlockScoped(t) {
      let e = t.scope;
      if (e.path === t && (e = e.parent), e.getBlockParent().registerDeclaration(t), t.isClassDeclaration() && t.node.id) {
        let i = t.node.id.name;
        t.scope.bindings[i] = t.scope.parent.getBinding(i);
      }
    },
    CatchClause(t) {
      t.scope.registerBinding("let", t);
    },
    Function(t) {
      let e = t.get("params");
      for (let s of e)
        t.scope.registerBinding("param", s);
      t.isFunctionExpression() && t.node.id && !t.node.id[rJ] && t.scope.registerBinding("local", t.get("id"), t);
    },
    ClassExpression(t) {
      t.node.id && !t.node.id[rJ] && t.scope.registerBinding("local", t.get("id"), t);
    },
    TSTypeAnnotation(t) {
      t.skip();
    }
  }, nXe = 0, So = class t {
    static {
      n(this, "Scope");
    }
    constructor(e) {
      this.uid = void 0, this.path = void 0, this.block = void 0, this.inited = void 0, this.labels = void 0, this.bindings = void 0, this.references =
      void 0, this.globals = void 0, this.uids = void 0, this.data = void 0, this.crawling = void 0;
      let {
        node: s
      } = e, r = sJ.scope.get(s);
      if (r?.path === e)
        return r;
      sJ.scope.set(s, this), this.uid = nXe++, this.block = s, this.path = e, this.labels = /* @__PURE__ */ new Map(), this.inited = !1;
    }
    get parent() {
      var e;
      let s, r = this.path;
      do {
        var i;
        let a = r.key === "key" || r.listKey === "decorators";
        r = r.parentPath, a && r.isMethod() && (r = r.parentPath), (i = r) != null && i.isScope() && (s = r);
      } while (r && !s);
      return (e = s) == null ? void 0 : e.scope;
    }
    generateDeclaredUidIdentifier(e) {
      let s = this.generateUidIdentifier(e);
      return this.push({
        id: s
      }), nJ(s);
    }
    generateUidIdentifier(e) {
      return Ch(this.generateUid(e));
    }
    generateUid(e = "temp") {
      e = YYe(e).replace(/^_+/, "").replace(/\d+$/g, "");
      let s, r = 1;
      do
        s = `_${e}`, r > 1 && (s += r), r++;
      while (this.hasLabel(s) || this.hasBinding(s) || this.hasGlobal(s) || this.hasReference(s));
      let i = this.getProgramParent();
      return i.references[s] = !0, i.uids[s] = !0, s;
    }
    generateUidBasedOnNode(e, s) {
      let r = [];
      Cr(e, r);
      let i = r.join("$");
      return i = i.replace(/^_/, "") || s || "ref", this.generateUid(i.slice(0, 20));
    }
    generateUidIdentifierBasedOnNode(e, s) {
      return Ch(this.generateUidBasedOnNode(e, s));
    }
    isStatic(e) {
      if (oJ(e) || KYe(e) || uJ(e))
        return !0;
      if (vh(e)) {
        let s = this.getBinding(e.name);
        return s ? s.constant : this.hasBinding(e.name);
      }
      return !1;
    }
    maybeGenerateMemoised(e, s) {
      if (this.isStatic(e))
        return null;
      {
        let r = this.generateUidIdentifierBasedOnNode(e);
        return s ? r : (this.push({
          id: r
        }), nJ(r));
      }
    }
    checkBlockScopedCollisions(e, s, r, i) {
      if (s === "param" || e.kind === "local") return;
      if (s === "let" || e.kind === "let" || e.kind === "const" || e.kind === "module" || e.kind === "param" && s === "const")
        throw this.path.hub.buildError(i, `Duplicate declaration "${r}"`, TypeError);
    }
    rename(e, s) {
      let r = this.getBinding(e);
      r && (s || (s = this.generateUidIdentifier(e).name), new SYe.default(r, e, s).rename(arguments[2]));
    }
    dump() {
      let e = "-".repeat(60);
      console.log(e);
      let s = this;
      do {
        console.log("#", s.block.type);
        for (let r of Object.keys(s.bindings)) {
          let i = s.bindings[r];
          console.log(" -", r, {
            constant: i.constant,
            references: i.references,
            violations: i.constantViolations.length,
            kind: i.kind
          });
        }
      } while (s = s.parent);
      console.log(e);
    }
    hasLabel(e) {
      return !!this.getLabel(e);
    }
    getLabel(e) {
      return this.labels.get(e);
    }
    registerLabel(e) {
      this.labels.set(e.node.label.name, e);
    }
    registerDeclaration(e) {
      if (e.isLabeledStatement())
        this.registerLabel(e);
      else if (e.isFunctionDeclaration())
        this.registerBinding("hoisted", e.get("id"), e);
      else if (e.isVariableDeclaration()) {
        let s = e.get("declarations"), {
          kind: r
        } = e.node;
        for (let i of s)
          this.registerBinding(r === "using" || r === "await using" ? "const" : r, i);
      } else if (e.isClassDeclaration()) {
        if (e.node.declare) return;
        this.registerBinding("let", e);
      } else if (e.isImportDeclaration()) {
        let s = e.node.importKind === "type" || e.node.importKind === "typeof", r = e.get("specifiers");
        for (let i of r) {
          let a = s || i.isImportSpecifier() && (i.node.importKind === "type" || i.node.importKind === "typeof");
          this.registerBinding(a ? "unknown" : "module", i);
        }
      } else if (e.isExportDeclaration()) {
        let s = e.get("declaration");
        (s.isClassDeclaration() || s.isFunctionDeclaration() || s.isVariableDeclaration()) && this.registerDeclaration(s);
      } else
        this.registerBinding("unknown", e);
    }
    buildUndefinedNode() {
      return rXe();
    }
    registerConstantViolation(e) {
      let s = e.getAssignmentIdentifiers();
      for (let i of Object.keys(s)) {
        var r;
        (r = this.getBinding(i)) == null || r.reassign(e);
      }
    }
    registerBinding(e, s, r = s) {
      if (!e) throw new ReferenceError("no `kind`");
      if (s.isVariableDeclaration()) {
        let o = s.get("declarations");
        for (let l of o)
          this.registerBinding(e, l);
        return;
      }
      let i = this.getProgramParent(), a = s.getOuterBindingIdentifiers(!0);
      for (let o of Object.keys(a)) {
        i.references[o] = !0;
        for (let l of a[o]) {
          let u = this.getOwnBinding(o);
          if (u) {
            if (u.identifier === l) continue;
            this.checkBlockScopedCollisions(u, e, o, l);
          }
          u ? u.reassign(r) : this.bindings[o] = new EYe.default({
            identifier: l,
            scope: this,
            path: r,
            kind: e
          });
        }
      }
    }
    addGlobal(e) {
      this.globals[e.name] = e;
    }
    hasUid(e) {
      let s = this;
      do
        if (s.uids[e]) return !0;
      while (s = s.parent);
      return !1;
    }
    hasGlobal(e) {
      let s = this;
      do
        if (s.globals[e]) return !0;
      while (s = s.parent);
      return !1;
    }
    hasReference(e) {
      return !!this.getProgramParent().references[e];
    }
    isPure(e, s) {
      if (vh(e)) {
        let o = this.getBinding(e.name);
        return o ? s ? o.constant : !0 : !1;
      } else {
        if (oJ(e) || eXe(e) || uJ(e) || tXe(e))
          return !0;
        if (IYe(e)) {
          var r;
          return e.superClass && !this.isPure(e.superClass, s) || ((r = e.decorators) == null ? void 0 : r.length) > 0 ? !1 : this.isPure(e.
          body, s);
        } else if (NYe(e)) {
          for (let o of e.body)
            if (!this.isPure(o, s)) return !1;
          return !0;
        } else {
          if (wYe(e))
            return this.isPure(e.left, s) && this.isPure(e.right, s);
          if (fJ(e) || QYe(e)) {
            for (let o of e.elements)
              if (o !== null && !this.isPure(o, s)) return !1;
            return !0;
          } else if (jYe(e) || GYe(e)) {
            for (let o of e.properties)
              if (!this.isPure(o, s)) return !1;
            return !0;
          } else if (BYe(e)) {
            var i;
            return !(e.computed && !this.isPure(e.key, s) || ((i = e.decorators) == null ? void 0 : i.length) > 0);
          } else if (RYe(e)) {
            var a;
            return !(e.computed && !this.isPure(e.key, s) || ((a = e.decorators) == null ? void 0 : a.length) > 0 || (ZYe(e) || e.static) &&
            e.value !== null && !this.isPure(e.value, s));
          } else {
            if (WYe(e))
              return this.isPure(e.argument, s);
            if (mJ(e)) {
              for (let o of e.expressions)
                if (!this.isPure(o, s)) return !1;
              return !0;
            } else return VYe(e) ? lJ(e.tag, "String.raw") && !this.hasBinding("String", {
              noGlobals: !0
            }) && this.isPure(e.quasi, s) : LYe(e) ? !e.computed && vh(e.object) && e.object.name === "Symbol" && vh(e.property) && e.property.
            name !== "for" && !this.hasBinding("Symbol", {
              noGlobals: !0
            }) : aJ(e) ? lJ(e.callee, "Symbol.for") && !this.hasBinding("Symbol", {
              noGlobals: !0
            }) && e.arguments.length === 1 && pJ.isStringLiteral(e.arguments[0]) : qYe(e);
          }
        }
      }
    }
    setData(e, s) {
      return this.data[e] = s;
    }
    getData(e) {
      let s = this;
      do {
        let r = s.data[e];
        if (r != null) return r;
      } while (s = s.parent);
    }
    removeData(e) {
      let s = this;
      do
        s.data[e] != null && (s.data[e] = null);
      while (s = s.parent);
    }
    init() {
      this.inited || (this.inited = !0, this.crawl());
    }
    crawl() {
      let e = this.path;
      this.references = /* @__PURE__ */ Object.create(null), this.bindings = /* @__PURE__ */ Object.create(null), this.globals = /* @__PURE__ */ Object.
      create(null), this.uids = /* @__PURE__ */ Object.create(null), this.data = /* @__PURE__ */ Object.create(null);
      let s = this;
      do {
        if (s.crawling) return;
        if (s.path.isProgram())
          break;
      } while (s = s.parent);
      let r = s, i = {
        references: [],
        constantViolations: [],
        assignments: []
      };
      if (this.crawling = !0, e.type !== "Program" && (0, vYe.isExplodedVisitor)(dS)) {
        for (let o of dS.enter)
          o.call(i, e, i);
        let a = dS[e.type];
        if (a)
          for (let o of a.enter)
            o.call(i, e, i);
      }
      e.traverse(dS, i), this.crawling = !1;
      for (let a of i.assignments) {
        let o = a.getAssignmentIdentifiers();
        for (let l of Object.keys(o))
          a.scope.getBinding(l) || r.addGlobal(o[l]);
        a.scope.registerConstantViolation(a);
      }
      for (let a of i.references) {
        let o = a.scope.getBinding(a.node.name);
        o ? o.reference(a) : r.addGlobal(a.node);
      }
      for (let a of i.constantViolations)
        a.scope.registerConstantViolation(a);
    }
    push(e) {
      let s = this.path;
      s.isPattern() ? s = this.getPatternParent().path : !s.isBlockStatement() && !s.isProgram() && (s = this.getBlockParent().path), s.isSwitchStatement() &&
      (s = (this.getFunctionParent() || this.getProgramParent()).path);
      let {
        init: r,
        unique: i,
        kind: a = "var",
        id: o
      } = e;
      if (!r && !i && (a === "var" || a === "let") && s.isFunction() && !s.node.name && aJ(s.parent, {
        callee: s.node
      }) && s.parent.arguments.length <= s.node.params.length && vh(o)) {
        s.pushContainer("params", o), s.scope.registerBinding("param", s.get("params")[s.node.params.length - 1]);
        return;
      }
      (s.isLoop() || s.isCatchClause() || s.isFunction()) && (s.ensureBlock(), s = s.get("body"));
      let l = e._blockHoist == null ? 2 : e._blockHoist, u = `declaration:${a}:${l}`, c = !i && s.getData(u);
      if (!c) {
        let f = XYe(a, []);
        f._blockHoist = l, [c] = s.unshiftContainer("body", [f]), i || s.setData(u, c);
      }
      let p = zYe(o, r), h = c.node.declarations.push(p);
      s.scope.registerBinding(a, c.get("declarations")[h - 1]);
    }
    getProgramParent() {
      let e = this;
      do
        if (e.path.isProgram())
          return e;
      while (e = e.parent);
      throw new Error("Couldn't find a Program");
    }
    getFunctionParent() {
      let e = this;
      do
        if (e.path.isFunctionParent())
          return e;
      while (e = e.parent);
      return null;
    }
    getBlockParent() {
      let e = this;
      do
        if (e.path.isBlockParent())
          return e;
      while (e = e.parent);
      throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");
    }
    getPatternParent() {
      let e = this;
      do
        if (!e.path.isPattern())
          return e.getBlockParent();
      while (e = e.parent.parent);
      throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");
    }
    getAllBindings() {
      let e = /* @__PURE__ */ Object.create(null), s = this;
      do {
        for (let r of Object.keys(s.bindings))
          r in e || (e[r] = s.bindings[r]);
        s = s.parent;
      } while (s);
      return e;
    }
    bindingIdentifierEquals(e, s) {
      return this.getBindingIdentifier(e) === s;
    }
    getBinding(e) {
      let s = this, r;
      do {
        let a = s.getOwnBinding(e);
        if (a) {
          var i;
          if (!((i = r) != null && i.isPattern() && a.kind !== "param" && a.kind !== "local"))
            return a;
        } else if (!a && e === "arguments" && s.path.isFunction() && !s.path.isArrowFunctionExpression())
          break;
        r = s.path;
      } while (s = s.parent);
    }
    getOwnBinding(e) {
      return this.bindings[e];
    }
    getBindingIdentifier(e) {
      var s;
      return (s = this.getBinding(e)) == null ? void 0 : s.identifier;
    }
    getOwnBindingIdentifier(e) {
      let s = this.bindings[e];
      return s?.identifier;
    }
    hasOwnBinding(e) {
      return !!this.getOwnBinding(e);
    }
    hasBinding(e, s) {
      if (!e) return !1;
      let r = this;
      do
        if (r.hasOwnBinding(e))
          return !0;
      while (r = r.parent);
      let i, a;
      return typeof s == "object" ? (i = s.noGlobals, a = s.noUids) : typeof s == "boolean" && (i = s), !!(!a && this.hasUid(e) || !i && t.globals.
      includes(e) || !i && t.contextVariables.includes(e));
    }
    parentHasBinding(e, s) {
      var r;
      return (r = this.parent) == null ? void 0 : r.hasBinding(e, s);
    }
    moveBindingTo(e, s) {
      let r = this.getBinding(e);
      r && (r.scope.removeOwnBinding(e), r.scope = s, s.bindings[e] = r);
    }
    removeOwnBinding(e) {
      delete this.bindings[e];
    }
    removeBinding(e) {
      var s;
      (s = this.getBinding(e)) == null || s.scope.removeOwnBinding(e);
      let r = this;
      do
        r.uids[e] && (r.uids[e] = !1);
      while (r = r.parent);
    }
    hoistVariables(e = (s) => this.push({
      id: s
    })) {
      this.crawl();
      let s = /* @__PURE__ */ new Set();
      for (let i of Object.keys(this.bindings)) {
        let a = this.bindings[i];
        if (!a) continue;
        let {
          path: o
        } = a;
        if (!o.isVariableDeclarator()) continue;
        let {
          parent: l,
          parentPath: u
        } = o;
        if (l.kind !== "var" || s.has(l)) continue;
        s.add(o.parent);
        let c, p = [];
        for (let h of l.declarations) {
          var r;
          (r = c) != null || (c = h.id), h.init && p.push(CYe("=", h.id, h.init));
          let f = Object.keys(hJ(h, !1, !0, !0));
          for (let d of f)
            e(Ch(d), h.init != null);
        }
        if (u.parentPath.isFor({
          left: l
        }))
          u.replaceWith(c);
        else if (p.length === 0)
          u.remove();
        else {
          let h = p.length === 1 ? p[0] : iXe(p);
          u.parentPath.isForStatement({
            init: l
          }) ? u.replaceWith(h) : u.replaceWith(HYe(h));
        }
      }
    }
  };
  mS.default = So;
  So.globals = Object.keys(AYe.builtin);
  So.contextVariables = ["arguments", "undefined", "Infinity", "NaN"];
  So.prototype._renameFromMap = /* @__PURE__ */ n(function(e, s, r, i) {
    e[s] && (e[r] = i, e[s] = null);
  }, "_renameFromMap"), So.prototype.traverse = function(t, e, s) {
    (0, PYe.default)(t, e, this, s, this.path);
  }, So.prototype._generateUid = /* @__PURE__ */ n(function(e, s) {
    let r = e;
    return s > 1 && (r += s), `_${r}`;
  }, "_generateUid"), So.prototype.toArray = /* @__PURE__ */ n(function(e, s, r) {
    if (vh(e)) {
      let o = this.getBinding(e.name);
      if (o != null && o.constant && o.path.isGenericType("Array"))
        return e;
    }
    if (fJ(e))
      return e;
    if (vh(e, {
      name: "arguments"
    }))
      return iJ(MD(MD(MD(Ch("Array"), Ch("prototype")), Ch("slice")), Ch("call")), [e]);
    let i, a = [e];
    return s === !0 ? i = "toConsumableArray" : typeof s == "number" ? (a.push(JYe(s)), i = "slicedToArray") : i = "toArray", r && (a.unshift(
    this.path.hub.addHelper(i)), i = "maybeArrayLike"), iJ(this.path.hub.addHelper(i), a);
  }, "toArray"), So.prototype.getAllBindingsOfKind = /* @__PURE__ */ n(function(...e) {
    let s = /* @__PURE__ */ Object.create(null);
    for (let r of e) {
      let i = this;
      do {
        for (let a of Object.keys(i.bindings)) {
          let o = i.bindings[a];
          o.kind === r && (s[a] = o);
        }
        i = i.parent;
      } while (i);
    }
    return s;
  }, "getAllBindingsOfKind"), Object.defineProperties(So.prototype, {
    parentBlock: {
      configurable: !0,
      enumerable: !0,
      get() {
        return this.path.parent;
      }
    },
    hub: {
      configurable: !0,
      enumerable: !0,
      get() {
        return this.path.hub;
      }
    }
  });
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/source-map.js
var yJ = g((yS) => {
  "use strict";
  Object.defineProperty(yS, "__esModule", {
    value: !0
  });
  yS.default = void 0;
  var Wc = hh(), jD = Dc(), RD = class {
    static {
      n(this, "SourceMap");
    }
    constructor(e, s) {
      var r;
      this._map = void 0, this._rawMappings = void 0, this._sourceFileName = void 0, this._lastGenLine = 0, this._lastSourceLine = 0, this._lastSourceColumn =
      0, this._inputMap = void 0;
      let i = this._map = new Wc.GenMapping({
        sourceRoot: e.sourceRoot
      });
      if (this._sourceFileName = (r = e.sourceFileName) == null ? void 0 : r.replace(/\\/g, "/"), this._rawMappings = void 0, e.inputSourceMap) {
        this._inputMap = new jD.TraceMap(e.inputSourceMap);
        let o = this._inputMap.resolvedSources;
        if (o.length)
          for (let l = 0; l < o.length; l++) {
            var a;
            (0, Wc.setSourceContent)(i, o[l], (a = this._inputMap.sourcesContent) == null ? void 0 : a[l]);
          }
      }
      if (typeof s == "string" && !e.inputSourceMap)
        (0, Wc.setSourceContent)(i, this._sourceFileName, s);
      else if (typeof s == "object")
        for (let o of Object.keys(s))
          (0, Wc.setSourceContent)(i, o.replace(/\\/g, "/"), s[o]);
    }
    get() {
      return (0, Wc.toEncodedMap)(this._map);
    }
    getDecoded() {
      return (0, Wc.toDecodedMap)(this._map);
    }
    getRawMappings() {
      return this._rawMappings || (this._rawMappings = (0, Wc.allMappings)(this._map));
    }
    mark(e, s, r, i, a, o) {
      var l;
      this._rawMappings = void 0;
      let u;
      if (s != null)
        if (this._inputMap) {
          if (u = (0, jD.originalPositionFor)(this._inputMap, {
            line: s,
            column: r
          }), !u.name && a) {
            let c = (0, jD.originalPositionFor)(this._inputMap, a);
            c.name && (i = c.name);
          }
        } else
          u = {
            source: o?.replace(/\\/g, "/") || this._sourceFileName,
            line: s,
            column: r
          };
      (0, Wc.maybeAddMapping)(this._map, {
        name: i,
        generated: e,
        source: (l = u) == null ? void 0 : l.source,
        original: u
      });
    }
  };
  yS.default = RD;
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/buffer.js
var gJ = g((gS) => {
  "use strict";
  Object.defineProperty(gS, "__esModule", {
    value: !0
  });
  gS.default = void 0;
  var qD = class {
    static {
      n(this, "Buffer");
    }
    constructor(e, s) {
      this._map = null, this._buf = "", this._str = "", this._appendCount = 0, this._last = 0, this._queue = [], this._queueCursor = 0, this.
      _canMarkIdName = !0, this._indentChar = "", this._fastIndentations = [], this._position = {
        line: 1,
        column: 0
      }, this._sourcePosition = {
        identifierName: void 0,
        identifierNamePos: void 0,
        line: void 0,
        column: void 0,
        filename: void 0
      }, this._map = e, this._indentChar = s;
      for (let r = 0; r < 64; r++)
        this._fastIndentations.push(s.repeat(r));
      this._allocQueue();
    }
    _allocQueue() {
      let e = this._queue;
      for (let s = 0; s < 16; s++)
        e.push({
          char: 0,
          repeat: 1,
          line: void 0,
          column: void 0,
          identifierName: void 0,
          identifierNamePos: void 0,
          filename: ""
        });
    }
    _pushQueue(e, s, r, i, a) {
      let o = this._queueCursor;
      o === this._queue.length && this._allocQueue();
      let l = this._queue[o];
      l.char = e, l.repeat = s, l.line = r, l.column = i, l.filename = a, this._queueCursor++;
    }
    _popQueue() {
      if (this._queueCursor === 0)
        throw new Error("Cannot pop from empty queue");
      return this._queue[--this._queueCursor];
    }
    get() {
      this._flush();
      let e = this._map, s = {
        code: (this._buf + this._str).trimRight(),
        decodedMap: e?.getDecoded(),
        get __mergedMap() {
          return this.map;
        },
        get map() {
          let r = e ? e.get() : null;
          return s.map = r, r;
        },
        set map(r) {
          Object.defineProperty(s, "map", {
            value: r,
            writable: !0
          });
        },
        get rawMappings() {
          let r = e?.getRawMappings();
          return s.rawMappings = r, r;
        },
        set rawMappings(r) {
          Object.defineProperty(s, "rawMappings", {
            value: r,
            writable: !0
          });
        }
      };
      return s;
    }
    append(e, s) {
      this._flush(), this._append(e, this._sourcePosition, s);
    }
    appendChar(e) {
      this._flush(), this._appendChar(e, 1, this._sourcePosition);
    }
    queue(e) {
      if (e === 10)
        for (; this._queueCursor !== 0; ) {
          let r = this._queue[this._queueCursor - 1].char;
          if (r !== 32 && r !== 9)
            break;
          this._queueCursor--;
        }
      let s = this._sourcePosition;
      this._pushQueue(e, 1, s.line, s.column, s.filename);
    }
    queueIndentation(e) {
      e !== 0 && this._pushQueue(-1, e, void 0, void 0, void 0);
    }
    _flush() {
      let e = this._queueCursor, s = this._queue;
      for (let r = 0; r < e; r++) {
        let i = s[r];
        this._appendChar(i.char, i.repeat, i);
      }
      this._queueCursor = 0;
    }
    _appendChar(e, s, r) {
      if (this._last = e, e === -1) {
        let i = this._fastIndentations[s];
        i !== void 0 ? this._str += i : this._str += s > 1 ? this._indentChar.repeat(s) : this._indentChar;
      } else
        this._str += s > 1 ? String.fromCharCode(e).repeat(s) : String.fromCharCode(e);
      e !== 10 ? (this._mark(r.line, r.column, r.identifierName, r.identifierNamePos, r.filename), this._position.column += s) : (this._position.
      line++, this._position.column = 0), this._canMarkIdName && (r.identifierName = void 0, r.identifierNamePos = void 0);
    }
    _append(e, s, r) {
      let i = e.length, a = this._position;
      if (this._last = e.charCodeAt(i - 1), ++this._appendCount > 4096 ? (+this._str, this._buf += this._str, this._str = e, this._appendCount =
      0) : this._str += e, !r && !this._map) {
        a.column += i;
        return;
      }
      let {
        column: o,
        identifierName: l,
        identifierNamePos: u,
        filename: c
      } = s, p = s.line;
      (l != null || u != null) && this._canMarkIdName && (s.identifierName = void 0, s.identifierNamePos = void 0);
      let h = e.indexOf(`
`), f = 0;
      for (h !== 0 && this._mark(p, o, l, u, c); h !== -1; )
        a.line++, a.column = 0, f = h + 1, f < i && p !== void 0 && this._mark(++p, 0, null, null, c), h = e.indexOf(`
`, f);
      a.column += i - f;
    }
    _mark(e, s, r, i, a) {
      var o;
      (o = this._map) == null || o.mark(this._position, e, s, r, i, a);
    }
    removeTrailingNewline() {
      let e = this._queueCursor;
      e !== 0 && this._queue[e - 1].char === 10 && this._queueCursor--;
    }
    removeLastSemicolon() {
      let e = this._queueCursor;
      e !== 0 && this._queue[e - 1].char === 59 && this._queueCursor--;
    }
    getLastChar() {
      let e = this._queueCursor;
      return e !== 0 ? this._queue[e - 1].char : this._last;
    }
    getNewlineCount() {
      let e = this._queueCursor, s = 0;
      if (e === 0) return this._last === 10 ? 1 : 0;
      for (let r = e - 1; r >= 0 && this._queue[r].char === 10; r--)
        s++;
      return s === e && this._last === 10 ? s + 1 : s;
    }
    endsWithCharAndNewline() {
      let e = this._queue, s = this._queueCursor;
      if (s !== 0)
        return e[s - 1].char !== 10 ? void 0 : s > 1 ? e[s - 2].char : this._last;
    }
    hasContent() {
      return this._queueCursor !== 0 || !!this._last;
    }
    exactSource(e, s) {
      if (!this._map) {
        s();
        return;
      }
      this.source("start", e);
      let r = e.identifierName, i = this._sourcePosition;
      r && (this._canMarkIdName = !1, i.identifierName = r), s(), r && (this._canMarkIdName = !0, i.identifierName = void 0, i.identifierNamePos =
      void 0), this.source("end", e);
    }
    source(e, s) {
      this._map && this._normalizePosition(e, s, 0);
    }
    sourceWithOffset(e, s, r) {
      this._map && this._normalizePosition(e, s, r);
    }
    _normalizePosition(e, s, r) {
      let i = s[e], a = this._sourcePosition;
      i && (a.line = i.line, a.column = Math.max(i.column + r, 0), a.filename = s.filename);
    }
    getCurrentColumn() {
      let e = this._queue, s = this._queueCursor, r = -1, i = 0;
      for (let a = 0; a < s; a++) {
        let o = e[a];
        o.char === 10 && (r = i), i += o.repeat;
      }
      return r === -1 ? this._position.column + i : i - 1 - r;
    }
    getCurrentLine() {
      let e = 0, s = this._queue;
      for (let r = 0; r < this._queueCursor; r++)
        s[r].char === 10 && e++;
      return this._position.line + e;
    }
  };
  gS.default = qD;
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/node/whitespace.js
var PJ = g((bS) => {
  "use strict";
  Object.defineProperty(bS, "__esModule", {
    value: !0
  });
  bS.nodes = void 0;
  var aXe = fe(), {
    FLIPPED_ALIAS_KEYS: oXe,
    isArrayExpression: lXe,
    isAssignmentExpression: bJ,
    isBinary: xJ,
    isBlockStatement: uXe,
    isCallExpression: SJ,
    isFunction: _g,
    isIdentifier: TS,
    isLiteral: cXe,
    isMemberExpression: UD,
    isObjectExpression: pXe,
    isOptionalCallExpression: hXe,
    isOptionalMemberExpression: fXe,
    isStringLiteral: dXe
  } = aXe;
  function Ld(t, e) {
    return t && (UD(t) || fXe(t) ? (Ld(t.object, e), t.computed && Ld(t.property, e)) : xJ(t) || bJ(t) ? (Ld(t.left, e), Ld(t.right, e)) : SJ(
    t) || hXe(t) ? (e.hasCall = !0, Ld(t.callee, e)) : _g(t) ? e.hasFunction = !0 : TS(t) && (e.hasHelper = e.hasHelper || t.callee && ou(t.
    callee))), e;
  }
  n(Ld, "crawlInternal");
  function TJ(t) {
    return Ld(t, {
      hasCall: !1,
      hasFunction: !1,
      hasHelper: !1
    });
  }
  n(TJ, "crawl");
  function ou(t) {
    return t ? UD(t) ? ou(t.object) || ou(t.property) : TS(t) ? t.name === "require" || t.name.charCodeAt(0) === 95 : SJ(t) ? ou(t.callee) :
    xJ(t) || bJ(t) ? TS(t.left) && ou(t.left) || ou(t.right) : !1 : !1;
  }
  n(ou, "isHelper");
  function mXe(t) {
    return cXe(t) || pXe(t) || lXe(t) || TS(t) || UD(t);
  }
  n(mXe, "isType");
  var wh = bS.nodes = {
    AssignmentExpression(t) {
      let e = TJ(t.right);
      if (e.hasCall && e.hasHelper || e.hasFunction)
        return e.hasFunction ? 3 : 2;
    },
    SwitchCase(t, e) {
      return (t.consequent.length || e.cases[0] === t ? 1 : 0) | (!t.consequent.length && e.cases[e.cases.length - 1] === t ? 2 : 0);
    },
    LogicalExpression(t) {
      if (_g(t.left) || _g(t.right))
        return 2;
    },
    Literal(t) {
      if (dXe(t) && t.value === "use strict")
        return 2;
    },
    CallExpression(t) {
      if (_g(t.callee) || ou(t))
        return 3;
    },
    OptionalCallExpression(t) {
      if (_g(t.callee))
        return 3;
    },
    VariableDeclaration(t) {
      for (let e = 0; e < t.declarations.length; e++) {
        let s = t.declarations[e], r = ou(s.id) && !mXe(s.init);
        if (!r && s.init) {
          let i = TJ(s.init);
          r = ou(s.init) && i.hasCall || i.hasFunction;
        }
        if (r)
          return 3;
      }
    },
    IfStatement(t) {
      if (uXe(t.consequent))
        return 3;
    }
  };
  wh.ObjectProperty = wh.ObjectTypeProperty = wh.ObjectMethod = function(t, e) {
    if (e.properties[0] === t)
      return 1;
  };
  wh.ObjectTypeCallProperty = function(t, e) {
    var s;
    if (e.callProperties[0] === t && !((s = e.properties) != null && s.length))
      return 1;
  };
  wh.ObjectTypeIndexer = function(t, e) {
    var s, r;
    if (e.indexers[0] === t && !((s = e.properties) != null && s.length) && !((r = e.callProperties) != null && r.length))
      return 1;
  };
  wh.ObjectTypeInternalSlot = function(t, e) {
    var s, r, i;
    if (e.internalSlots[0] === t && !((s = e.properties) != null && s.length) && !((r = e.callProperties) != null && r.length) && !((i = e.indexers) !=
    null && i.length))
      return 1;
  };
  [["Function", !0], ["Class", !0], ["Loop", !0], ["LabeledStatement", !0], ["SwitchStatement", !0], ["TryStatement", !0]].forEach(function([
  t, e]) {
    [t].concat(oXe[t] || []).forEach(function(s) {
      let r = e ? 3 : 0;
      wh[s] = () => r;
    });
  });
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/node/parentheses.js
var kJ = g((Ss) => {
  "use strict";
  Object.defineProperty(Ss, "__esModule", {
    value: !0
  });
  Ss.AssignmentExpression = JXe;
  Ss.Binary = wJ;
  Ss.BinaryExpression = UXe;
  Ss.ClassExpression = WXe;
  Ss.ArrowFunctionExpression = Ss.ConditionalExpression = NJ;
  Ss.DoExpression = kXe;
  Ss.FunctionExpression = $Xe;
  Ss.FunctionTypeAnnotation = wXe;
  Ss.Identifier = XXe;
  Ss.LogicalExpression = YXe;
  Ss.NullableTypeAnnotation = CXe;
  Ss.ObjectExpression = NXe;
  Ss.OptionalIndexedAccessType = OXe;
  Ss.OptionalCallExpression = Ss.OptionalMemberExpression = HXe;
  Ss.SequenceExpression = KXe;
  Ss.TSSatisfiesExpression = Ss.TSAsExpression = _Xe;
  Ss.TSConditionalType = LXe;
  Ss.TSConstructorType = Ss.TSFunctionType = qXe;
  Ss.TSInferType = FXe;
  Ss.TSInstantiationExpression = RXe;
  Ss.TSIntersectionType = MXe;
  Ss.UnaryLike = Ss.TSTypeAssertion = IJ;
  Ss.TSTypeOperator = jXe;
  Ss.TSUnionType = BXe;
  Ss.IntersectionTypeAnnotation = Ss.UnionTypeAnnotation = DXe;
  Ss.UpdateExpression = IXe;
  Ss.AwaitExpression = Ss.YieldExpression = VXe;
  var yXe = fe(), ka = $c(), {
    isArrayTypeAnnotation: gXe,
    isBinaryExpression: TXe,
    isCallExpression: bXe,
    isForOfStatement: xXe,
    isIndexedAccessType: SXe,
    isMemberExpression: vJ,
    isObjectPattern: PXe,
    isOptionalMemberExpression: EXe,
    isYieldExpression: AXe,
    isStatement: vXe
  } = yXe, EJ = /* @__PURE__ */ new Map([["||", 0], ["??", 0], ["|>", 0], ["&&", 1], ["|", 2], ["^", 3], ["&", 4], ["==", 5], ["===", 5], ["\
!=", 5], ["!==", 5], ["<", 6], [">", 6], ["<=", 6], [">=", 6], ["in", 6], ["instanceof", 6], [">>", 7], ["<<", 7], [">>>", 7], ["+", 8], ["-",
  8], ["*", 9], ["/", 9], ["%", 9], ["**", 10]]);
  function AJ(t, e) {
    if (e === "BinaryExpression" || e === "LogicalExpression")
      return EJ.get(t.operator);
    if (e === "TSAsExpression" || e === "TSSatisfiesExpression")
      return EJ.get("in");
  }
  n(AJ, "getBinaryPrecedence");
  function KD(t) {
    return t === "TSAsExpression" || t === "TSSatisfiesExpression" || t === "TSTypeAssertion";
  }
  n(KD, "isTSTypeExpression");
  var xS = /* @__PURE__ */ n((t, e) => {
    let s = e.type;
    return (s === "ClassDeclaration" || s === "ClassExpression") && e.superClass === t;
  }, "isClassExtendsClause"), SS = /* @__PURE__ */ n((t, e) => {
    let s = e.type;
    return (s === "MemberExpression" || s === "OptionalMemberExpression") && e.object === t || (s === "CallExpression" || s === "OptionalCal\
lExpression" || s === "NewExpression") && e.callee === t || s === "TaggedTemplateExpression" && e.tag === t || s === "TSNonNullExpression";
  }, "hasPostfixPart");
  function CXe(t, e) {
    return gXe(e);
  }
  n(CXe, "NullableTypeAnnotation");
  function wXe(t, e, s) {
    let r = e.type;
    return r === "UnionTypeAnnotation" || r === "IntersectionTypeAnnotation" || r === "ArrayTypeAnnotation" || !!(s & ka.TokenContext.arrowFlowReturnType);
  }
  n(wXe, "FunctionTypeAnnotation");
  function IXe(t, e) {
    return SS(t, e) || xS(t, e);
  }
  n(IXe, "UpdateExpression");
  function CJ(t) {
    return !!(t & (ka.TokenContext.expressionStatement | ka.TokenContext.arrowBody));
  }
  n(CJ, "needsParenBeforeExpressionBrace");
  function NXe(t, e, s) {
    return CJ(s);
  }
  n(NXe, "ObjectExpression");
  function kXe(t, e, s) {
    return !t.async && !!(s & ka.TokenContext.expressionStatement);
  }
  n(kXe, "DoExpression");
  function wJ(t, e) {
    let s = e.type;
    if (t.type === "BinaryExpression" && t.operator === "**" && s === "BinaryExpression" && e.operator === "**")
      return e.left === t;
    if (xS(t, e) || SS(t, e) || s === "UnaryExpression" || s === "SpreadElement" || s === "AwaitExpression")
      return !0;
    let r = AJ(e, s);
    if (r != null) {
      let i = AJ(t, t.type);
      if (r === i && s === "BinaryExpression" && e.right === t || r > i)
        return !0;
    }
  }
  n(wJ, "Binary");
  function DXe(t, e) {
    let s = e.type;
    return s === "ArrayTypeAnnotation" || s === "NullableTypeAnnotation" || s === "IntersectionTypeAnnotation" || s === "UnionTypeAnnotation";
  }
  n(DXe, "UnionTypeAnnotation");
  function OXe(t, e) {
    return SXe(e) && e.objectType === t;
  }
  n(OXe, "OptionalIndexedAccessType");
  function _Xe(t, e) {
    return (e.type === "AssignmentExpression" || e.type === "AssignmentPattern") && e.left === t || e.type === "BinaryExpression" && (e.operator ===
    "|" || e.operator === "&") && t === e.left ? !0 : wJ(t, e);
  }
  n(_Xe, "TSAsExpression");
  function LXe(t, e) {
    let s = e.type;
    return s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType" || s === "TSTypeOperator" || s ===
    "TSTypeParameter" || (s === "TSIntersectionType" || s === "TSUnionType") && e.types[0] === t || s === "TSConditionalType" && (e.checkType ===
    t || e.extendsType === t);
  }
  n(LXe, "TSConditionalType");
  function BXe(t, e) {
    let s = e.type;
    return s === "TSIntersectionType" || s === "TSTypeOperator" || s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t ||
    s === "TSOptionalType";
  }
  n(BXe, "TSUnionType");
  function MXe(t, e) {
    let s = e.type;
    return s === "TSTypeOperator" || s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType";
  }
  n(MXe, "TSIntersectionType");
  function FXe(t, e) {
    let s = e.type;
    return !!(s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType" || t.typeParameter.constraint &&
    (s === "TSIntersectionType" || s === "TSUnionType") && e.types[0] === t);
  }
  n(FXe, "TSInferType");
  function jXe(t, e) {
    let s = e.type;
    return s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType";
  }
  n(jXe, "TSTypeOperator");
  function RXe(t, e) {
    let s = e.type;
    return (s === "CallExpression" || s === "OptionalCallExpression" || s === "NewExpression" || s === "TSInstantiationExpression") && !!e.typeParameters;
  }
  n(RXe, "TSInstantiationExpression");
  function qXe(t, e) {
    let s = e.type;
    return s === "TSIntersectionType" || s === "TSUnionType" || s === "TSTypeOperator" || s === "TSOptionalType" || s === "TSArrayType" || s ===
    "TSIndexedAccessType" && e.objectType === t || s === "TSConditionalType" && (e.checkType === t || e.extendsType === t);
  }
  n(qXe, "TSFunctionType");
  function UXe(t, e, s, r) {
    return t.operator === "in" && r;
  }
  n(UXe, "BinaryExpression");
  function KXe(t, e) {
    let s = e.type;
    return s === "SequenceExpression" || s === "ParenthesizedExpression" || s === "MemberExpression" && e.property === t || s === "OptionalM\
emberExpression" && e.property === t || s === "TemplateLiteral" ? !1 : s === "ClassDeclaration" ? !0 : s === "ForOfStatement" ? e.right === t :
    s === "ExportDefaultDeclaration" ? !0 : !vXe(e);
  }
  n(KXe, "SequenceExpression");
  function VXe(t, e) {
    let s = e.type;
    return s === "BinaryExpression" || s === "LogicalExpression" || s === "UnaryExpression" || s === "SpreadElement" || SS(t, e) || s === "A\
waitExpression" && AXe(t) || s === "ConditionalExpression" && t === e.test || xS(t, e) || KD(s);
  }
  n(VXe, "YieldExpression");
  function WXe(t, e, s) {
    return !!(s & (ka.TokenContext.expressionStatement | ka.TokenContext.exportDefault));
  }
  n(WXe, "ClassExpression");
  function IJ(t, e) {
    return SS(t, e) || TXe(e) && e.operator === "**" && e.left === t || xS(t, e);
  }
  n(IJ, "UnaryLike");
  function $Xe(t, e, s) {
    return !!(s & (ka.TokenContext.expressionStatement | ka.TokenContext.exportDefault));
  }
  n($Xe, "FunctionExpression");
  function NJ(t, e) {
    let s = e.type;
    return s === "UnaryExpression" || s === "SpreadElement" || s === "BinaryExpression" || s === "LogicalExpression" || s === "ConditionalEx\
pression" && e.test === t || s === "AwaitExpression" || KD(s) ? !0 : IJ(t, e);
  }
  n(NJ, "ConditionalExpression");
  function HXe(t, e) {
    return bXe(e) && e.callee === t || vJ(e) && e.object === t;
  }
  n(HXe, "OptionalMemberExpression");
  function JXe(t, e, s) {
    return CJ(s) && PXe(t.left) ? !0 : NJ(t, e);
  }
  n(JXe, "AssignmentExpression");
  function YXe(t, e) {
    let s = e.type;
    if (KD(s)) return !0;
    if (s !== "LogicalExpression") return !1;
    switch (t.operator) {
      case "||":
        return e.operator === "??" || e.operator === "&&";
      case "&&":
        return e.operator === "??";
      case "??":
        return e.operator !== "??";
    }
  }
  n(YXe, "LogicalExpression");
  function XXe(t, e, s, r, i) {
    var a;
    let o = e.type;
    if ((a = t.extra) != null && a.parenthesized && o === "AssignmentExpression" && e.left === t) {
      let l = e.right.type;
      if ((l === "FunctionExpression" || l === "ClassExpression") && e.right.id == null)
        return !0;
    }
    return i && i(t) !== t.name ? !1 : t.name === "let" ? (vJ(e, {
      object: t,
      computed: !0
    }) || EXe(e, {
      object: t,
      computed: !0,
      optional: !1
    })) && s & (ka.TokenContext.expressionStatement | ka.TokenContext.forHead | ka.TokenContext.forInHead) ? !0 : !!(s & ka.TokenContext.forOfHead) :
    t.name === "async" && xXe(e, {
      left: t,
      await: !1
    });
  }
  n(XXe, "Identifier");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/node/index.js
var $c = g((lu) => {
  "use strict";
  Object.defineProperty(lu, "__esModule", {
    value: !0
  });
  lu.TokenContext = void 0;
  lu.isLastChild = pze;
  lu.needsParens = cze;
  lu.needsWhitespace = WD;
  lu.needsWhitespaceAfter = uze;
  lu.needsWhitespaceBefore = lze;
  var zXe = PJ(), GXe = kJ(), QXe = fe(), {
    FLIPPED_ALIAS_KEYS: ZXe,
    VISITOR_KEYS: eze,
    isCallExpression: DJ,
    isDecorator: tze,
    isExpressionStatement: sze,
    isMemberExpression: rze,
    isNewExpression: ize,
    isParenthesizedExpression: nze
  } = QXe, Kqs = lu.TokenContext = {
    expressionStatement: 1,
    arrowBody: 2,
    exportDefault: 4,
    forHead: 8,
    forInHead: 16,
    forOfHead: 32,
    arrowFlowReturnType: 64
  };
  function OJ(t) {
    let e = /* @__PURE__ */ new Map();
    function s(r, i) {
      let a = e.get(r);
      e.set(r, a ? function(o, l, u, c, p) {
        var h;
        return (h = a(o, l, u, c, p)) != null ? h : i(o, l, u, c, p);
      } : i);
    }
    n(s, "add");
    for (let r of Object.keys(t)) {
      let i = ZXe[r];
      if (i)
        for (let a of i)
          s(a, t[r]);
      else
        s(r, t[r]);
    }
    return e;
  }
  n(OJ, "expandAliases");
  var aze = OJ(GXe), oze = OJ(zXe.nodes);
  function _J(t) {
    return DJ(t) ? !0 : rze(t) && _J(t.object);
  }
  n(_J, "isOrHasCallExpression");
  function WD(t, e, s) {
    var r;
    if (!t) return !1;
    sze(t) && (t = t.expression);
    let i = (r = oze.get(t.type)) == null ? void 0 : r(t, e);
    return typeof i == "number" ? (i & s) !== 0 : !1;
  }
  n(WD, "needsWhitespace");
  function lze(t, e) {
    return WD(t, e, 1);
  }
  n(lze, "needsWhitespaceBefore");
  function uze(t, e) {
    return WD(t, e, 2);
  }
  n(uze, "needsWhitespaceAfter");
  function cze(t, e, s, r, i) {
    var a;
    return e ? ize(e) && e.callee === t && _J(t) ? !0 : tze(e) ? !VD(t) && !(DJ(t) && VD(t.callee)) && !nze(t) : (a = aze.get(t.type)) == null ?
    void 0 : a(t, e, s, r, i) : !1;
  }
  n(cze, "needsParens");
  function VD(t) {
    switch (t.type) {
      case "Identifier":
        return !0;
      case "MemberExpression":
        return !t.computed && t.property.type === "Identifier" && VD(t.object);
      default:
        return !1;
    }
  }
  n(VD, "isDecoratorMemberExpression");
  function pze(t, e) {
    let s = eze[t.type];
    for (let r = s.length - 1; r >= 0; r--) {
      let i = t[s[r]];
      if (i === e)
        return !0;
      if (Array.isArray(i)) {
        let a = i.length - 1;
        for (; a >= 0 && i[a] === null; ) a--;
        return a >= 0 && i[a] === e;
      } else if (i)
        return !1;
    }
    return !1;
  }
  n(pze, "isLastChild");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/token-map.js
var LJ = g((PS) => {
  "use strict";
  Object.defineProperty(PS, "__esModule", {
    value: !0
  });
  PS.TokenMap = void 0;
  var hze = fe(), {
    traverseFast: fze,
    VISITOR_KEYS: dze
  } = hze, $D = class {
    static {
      n(this, "TokenMap");
    }
    constructor(e, s, r) {
      this._tokens = void 0, this._source = void 0, this._nodesToTokenIndexes = /* @__PURE__ */ new Map(), this._nodesOccurrencesCountCache =
      /* @__PURE__ */ new Map(), this._tokensCache = /* @__PURE__ */ new Map(), this._tokens = s, this._source = r, fze(e, (i) => {
        let a = this._getTokensIndexesOfNode(i);
        a.length > 0 && this._nodesToTokenIndexes.set(i, a);
      }), this._tokensCache = null;
    }
    has(e) {
      return this._nodesToTokenIndexes.has(e);
    }
    getIndexes(e) {
      return this._nodesToTokenIndexes.get(e);
    }
    find(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (r)
        for (let i = 0; i < r.length; i++) {
          let a = r[i], o = this._tokens[a];
          if (s(o, a)) return o;
        }
      return null;
    }
    findLastIndex(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (r)
        for (let i = r.length - 1; i >= 0; i--) {
          let a = r[i], o = this._tokens[a];
          if (s(o, a)) return a;
        }
      return -1;
    }
    findMatching(e, s, r = 0) {
      let i = this._nodesToTokenIndexes.get(e);
      if (i) {
        let a = 0, o = r;
        if (o > 1) {
          let l = this._nodesOccurrencesCountCache.get(e);
          l && l.test === s && l.count < o && (a = l.i + 1, r -= l.count + 1);
        }
        for (; a < i.length; a++) {
          let l = this._tokens[i[a]];
          if (this.matchesOriginal(l, s)) {
            if (r === 0)
              return o > 0 && this._nodesOccurrencesCountCache.set(e, {
                test: s,
                count: o,
                i: a
              }), l;
            r--;
          }
        }
      }
      return null;
    }
    matchesOriginal(e, s) {
      return e.end - e.start !== s.length ? !1 : e.value != null ? e.value === s : this._source.startsWith(s, e.start);
    }
    startMatches(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (!r) return !1;
      let i = this._tokens[r[0]];
      return i.start !== e.start ? !1 : this.matchesOriginal(i, s);
    }
    endMatches(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (!r) return !1;
      let i = this._tokens[r[r.length - 1]];
      return i.end !== e.end ? !1 : this.matchesOriginal(i, s);
    }
    _getTokensIndexesOfNode(e) {
      if (e.start == null || e.end == null) return [];
      let {
        first: s,
        last: r
      } = this._findTokensOfNode(e, 0, this._tokens.length - 1), i = s, a = mze(e);
      (e.type === "ExportNamedDeclaration" || e.type === "ExportDefaultDeclaration") && e.declaration && e.declaration.type === "ClassDeclar\
ation" && a.next();
      let o = [];
      for (let l of a) {
        if (l == null || l.start == null || l.end == null) continue;
        let u = this._findTokensOfNode(l, i, r), c = u.first;
        for (let p = i; p < c; p++) o.push(p);
        i = u.last + 1;
      }
      for (let l = i; l <= r; l++) o.push(l);
      return o;
    }
    _findTokensOfNode(e, s, r) {
      let i = this._tokensCache.get(e);
      if (i) return i;
      let a = this._findFirstTokenOfNode(e.start, s, r), o = this._findLastTokenOfNode(e.end, a, r);
      return this._tokensCache.set(e, {
        first: a,
        last: o
      }), {
        first: a,
        last: o
      };
    }
    _findFirstTokenOfNode(e, s, r) {
      for (; s <= r; ) {
        let i = r + s >> 1;
        if (e < this._tokens[i].start)
          r = i - 1;
        else if (e > this._tokens[i].start)
          s = i + 1;
        else
          return i;
      }
      return s;
    }
    _findLastTokenOfNode(e, s, r) {
      for (; s <= r; ) {
        let i = r + s >> 1;
        if (e < this._tokens[i].end)
          r = i - 1;
        else if (e > this._tokens[i].end)
          s = i + 1;
        else
          return i;
      }
      return r;
    }
  };
  PS.TokenMap = $D;
  function* mze(t) {
    if (t.type === "TemplateLiteral") {
      yield t.quasis[0];
      for (let s = 1; s < t.quasis.length; s++)
        yield t.expressions[s - 1], yield t.quasis[s];
      return;
    }
    let e = dze[t.type];
    for (let s of e) {
      let r = t[s];
      r && (Array.isArray(r) ? yield* r : yield r);
    }
  }
  n(mze, "childrenIterator");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/generators/template-literals.js
var BJ = g((Bd) => {
  "use strict";
  Object.defineProperty(Bd, "__esModule", {
    value: !0
  });
  Bd.TaggedTemplateExpression = yze;
  Bd.TemplateElement = gze;
  Bd.TemplateLiteral = bze;
  Bd._printTemplate = Tze;
  function yze(t) {
    this.print(t.tag), this.print(t.typeParameters), this.print(t.quasi);
  }
  n(yze, "TaggedTemplateExpression");
  function gze() {
    throw new Error("TemplateElement printing is handled in TemplateLiteral");
  }
  n(gze, "TemplateElement");
  function Tze(t, e) {
    let s = t.quasis, r = "`";
    for (let i = 0; i < s.length - 1; i++)
      if (r += s[i].value.raw, this.token(r + "${", !0), this.print(e[i]), r = "}", this.tokenMap) {
        let a = this.tokenMap.findMatching(t, "}", i);
        a && this._catchUpTo(a.loc.start);
      }
    r += s[s.length - 1].value.raw, this.token(r + "`", !0);
  }
  n(Tze, "_printTemplate");
  function bze(t) {
    this._printTemplate(t, t.expressions);
  }
  n(bze, "TemplateLiteral");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/generators/expressions.js
var FJ = g((ur) => {
  "use strict";
  Object.defineProperty(ur, "__esModule", {
    value: !0
  });
  ur.LogicalExpression = ur.BinaryExpression = ur.AssignmentExpression = $ze;
  ur.AssignmentPattern = Wze;
  ur.AwaitExpression = qze;
  ur.BindExpression = Hze;
  ur.CallExpression = jze;
  ur.ConditionalExpression = Nze;
  ur.Decorator = Bze;
  ur.DoExpression = Cze;
  ur.EmptyStatement = Kze;
  ur.ExpressionStatement = Vze;
  ur.Import = Rze;
  ur.MemberExpression = Jze;
  ur.MetaProperty = Yze;
  ur.ModuleExpression = Gze;
  ur.NewExpression = kze;
  ur.OptionalCallExpression = Fze;
  ur.OptionalMemberExpression = Mze;
  ur.ParenthesizedExpression = wze;
  ur.PrivateName = Xze;
  ur.SequenceExpression = Dze;
  ur.Super = _ze;
  ur.ThisExpression = Oze;
  ur.UnaryExpression = vze;
  ur.UpdateExpression = Ize;
  ur.V8IntrinsicIdentifier = zze;
  ur.YieldExpression = Uze;
  ur._shouldPrintDecoratorsBeforeExport = Lze;
  var xze = fe(), Sze = $c(), {
    isCallExpression: Pze,
    isLiteral: MJ,
    isMemberExpression: HD,
    isNewExpression: Eze,
    isPattern: Aze
  } = xze;
  function vze(t) {
    let {
      operator: e
    } = t;
    e === "void" || e === "delete" || e === "typeof" || e === "throw" ? (this.word(e), this.space()) : this.token(e), this.print(t.argument);
  }
  n(vze, "UnaryExpression");
  function Cze(t) {
    t.async && (this.word("async", !0), this.space()), this.word("do"), this.space(), this.print(t.body);
  }
  n(Cze, "DoExpression");
  function wze(t) {
    this.tokenChar(40);
    let e = this.enterDelimited();
    this.print(t.expression), e(), this.rightParens(t);
  }
  n(wze, "ParenthesizedExpression");
  function Ize(t) {
    t.prefix ? (this.token(t.operator), this.print(t.argument)) : (this.print(t.argument, !0), this.token(t.operator));
  }
  n(Ize, "UpdateExpression");
  function Nze(t) {
    this.print(t.test), this.space(), this.tokenChar(63), this.space(), this.print(t.consequent), this.space(), this.tokenChar(58), this.space(),
    this.print(t.alternate);
  }
  n(Nze, "ConditionalExpression");
  function kze(t, e) {
    if (this.word("new"), this.space(), this.print(t.callee), this.format.minified && t.arguments.length === 0 && !t.optional && !Pze(e, {
      callee: t
    }) && !HD(e) && !Eze(e) || (this.print(t.typeArguments), this.print(t.typeParameters), t.optional && this.token("?."), t.arguments.length ===
    0 && this.tokenMap && !this.tokenMap.endMatches(t, ")")))
      return;
    this.tokenChar(40);
    let s = this.enterDelimited();
    this.printList(t.arguments, this.shouldPrintTrailingComma(")")), s(), this.rightParens(t);
  }
  n(kze, "NewExpression");
  function Dze(t) {
    this.printList(t.expressions);
  }
  n(Dze, "SequenceExpression");
  function Oze() {
    this.word("this");
  }
  n(Oze, "ThisExpression");
  function _ze() {
    this.word("super");
  }
  n(_ze, "Super");
  function Lze(t) {
    return typeof this.format.decoratorsBeforeExport == "boolean" ? this.format.decoratorsBeforeExport : typeof t.start == "number" && t.start ===
    t.declaration.start;
  }
  n(Lze, "_shouldPrintDecoratorsBeforeExport");
  function Bze(t) {
    this.tokenChar(64), this.print(t.expression), this.newline();
  }
  n(Bze, "Decorator");
  function Mze(t) {
    let {
      computed: e
    } = t, {
      optional: s,
      property: r
    } = t;
    if (this.print(t.object), !e && HD(r))
      throw new TypeError("Got a MemberExpression for MemberExpression property");
    MJ(r) && typeof r.value == "number" && (e = !0), s && this.token("?."), e ? (this.tokenChar(91), this.print(r), this.tokenChar(93)) : (s ||
    this.tokenChar(46), this.print(r));
  }
  n(Mze, "OptionalMemberExpression");
  function Fze(t) {
    this.print(t.callee), this.print(t.typeParameters), t.optional && this.token("?."), this.print(t.typeArguments), this.tokenChar(40);
    let e = this.enterDelimited();
    this.printList(t.arguments), e(), this.rightParens(t);
  }
  n(Fze, "OptionalCallExpression");
  function jze(t) {
    this.print(t.callee), this.print(t.typeArguments), this.print(t.typeParameters), this.tokenChar(40);
    let e = this.enterDelimited();
    this.printList(t.arguments, this.shouldPrintTrailingComma(")")), e(), this.rightParens(t);
  }
  n(jze, "CallExpression");
  function Rze() {
    this.word("import");
  }
  n(Rze, "Import");
  function qze(t) {
    this.word("await"), t.argument && (this.space(), this.printTerminatorless(t.argument));
  }
  n(qze, "AwaitExpression");
  function Uze(t) {
    this.word("yield", !0), t.delegate ? (this.tokenChar(42), t.argument && (this.space(), this.print(t.argument))) : t.argument && (this.space(),
    this.printTerminatorless(t.argument));
  }
  n(Uze, "YieldExpression");
  function Kze() {
    this.semicolon(!0);
  }
  n(Kze, "EmptyStatement");
  function Vze(t) {
    this.tokenContext |= Sze.TokenContext.expressionStatement, this.print(t.expression), this.semicolon();
  }
  n(Vze, "ExpressionStatement");
  function Wze(t) {
    this.print(t.left), (t.left.type === "Identifier" || Aze(t.left)) && (t.left.optional && this.tokenChar(63), this.print(t.left.typeAnnotation)),
    this.space(), this.tokenChar(61), this.space(), this.print(t.right);
  }
  n(Wze, "AssignmentPattern");
  function $ze(t) {
    this.print(t.left), this.space(), t.operator === "in" || t.operator === "instanceof" ? this.word(t.operator) : (this.token(t.operator), this.
    _endsWithDiv = t.operator === "/"), this.space(), this.print(t.right);
  }
  n($ze, "AssignmentExpression");
  function Hze(t) {
    this.print(t.object), this.token("::"), this.print(t.callee);
  }
  n(Hze, "BindExpression");
  function Jze(t) {
    if (this.print(t.object), !t.computed && HD(t.property))
      throw new TypeError("Got a MemberExpression for MemberExpression property");
    let e = t.computed;
    if (MJ(t.property) && typeof t.property.value == "number" && (e = !0), e) {
      let s = this.enterDelimited();
      this.tokenChar(91), this.print(t.property), this.tokenChar(93), s();
    } else
      this.tokenChar(46), this.print(t.property);
  }
  n(Jze, "MemberExpression");
  function Yze(t) {
    this.print(t.meta), this.tokenChar(46), this.print(t.property);
  }
  n(Yze, "MetaProperty");
  function Xze(t) {
    this.tokenChar(35), this.print(t.id);
  }
  n(Xze, "PrivateName");
  function zze(t) {
    this.tokenChar(37), this.word(t.name);
  }
  n(zze, "V8IntrinsicIdentifier");
  function Gze(t) {
    this.word("module", !0), this.space(), this.tokenChar(123), this.indent();
    let {
      body: e
    } = t;
    (e.body.length || e.directives.length) && this.newline(), this.print(e), this.dedent(), this.rightBrace(t);
  }
  n(Gze, "ModuleExpression");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/generators/statements.js
var UJ = g((Yr) => {
  "use strict";
  Object.defineProperty(Yr, "__esModule", {
    value: !0
  });
  Yr.BreakStatement = oGe;
  Yr.CatchClause = fGe;
  Yr.ContinueStatement = lGe;
  Yr.DebuggerStatement = yGe;
  Yr.DoWhileStatement = aGe;
  Yr.ForOfStatement = Yr.ForInStatement = void 0;
  Yr.ForStatement = iGe;
  Yr.IfStatement = rGe;
  Yr.LabeledStatement = pGe;
  Yr.ReturnStatement = uGe;
  Yr.SwitchCase = mGe;
  Yr.SwitchStatement = dGe;
  Yr.ThrowStatement = cGe;
  Yr.TryStatement = hGe;
  Yr.VariableDeclaration = gGe;
  Yr.VariableDeclarator = TGe;
  Yr.WhileStatement = nGe;
  Yr.WithStatement = sGe;
  var Qze = fe(), JD = $c(), {
    isFor: jJ,
    isForStatement: Zze,
    isIfStatement: eGe,
    isStatement: tGe
  } = Qze;
  function sGe(t) {
    this.word("with"), this.space(), this.tokenChar(40), this.print(t.object), this.tokenChar(41), this.printBlock(t);
  }
  n(sGe, "WithStatement");
  function rGe(t) {
    this.word("if"), this.space(), this.tokenChar(40), this.print(t.test), this.tokenChar(41), this.space();
    let e = t.alternate && eGe(RJ(t.consequent));
    e && (this.tokenChar(123), this.newline(), this.indent()), this.printAndIndentOnComments(t.consequent), e && (this.dedent(), this.newline(),
    this.tokenChar(125)), t.alternate && (this.endsWith(125) && this.space(), this.word("else"), this.space(), this.printAndIndentOnComments(
    t.alternate));
  }
  n(rGe, "IfStatement");
  function RJ(t) {
    let {
      body: e
    } = t;
    return tGe(e) === !1 ? t : RJ(e);
  }
  n(RJ, "getLastStatement");
  function iGe(t) {
    this.word("for"), this.space(), this.tokenChar(40);
    {
      let e = this.enterForStatementInit();
      this.tokenContext |= JD.TokenContext.forHead, this.print(t.init), e();
    }
    this.tokenChar(59), t.test && (this.space(), this.print(t.test)), this.token(";", !1, 1), t.update && (this.space(), this.print(t.update)),
    this.tokenChar(41), this.printBlock(t);
  }
  n(iGe, "ForStatement");
  function nGe(t) {
    this.word("while"), this.space(), this.tokenChar(40), this.print(t.test), this.tokenChar(41), this.printBlock(t);
  }
  n(nGe, "WhileStatement");
  function qJ(t) {
    this.word("for"), this.space();
    let e = t.type === "ForOfStatement";
    e && t.await && (this.word("await"), this.space()), this.noIndentInnerCommentsHere(), this.tokenChar(40);
    {
      let s = e ? null : this.enterForStatementInit();
      this.tokenContext |= e ? JD.TokenContext.forOfHead : JD.TokenContext.forInHead, this.print(t.left), s?.();
    }
    this.space(), this.word(e ? "of" : "in"), this.space(), this.print(t.right), this.tokenChar(41), this.printBlock(t);
  }
  n(qJ, "ForXStatement");
  var Gqs = Yr.ForInStatement = qJ, Qqs = Yr.ForOfStatement = qJ;
  function aGe(t) {
    this.word("do"), this.space(), this.print(t.body), this.space(), this.word("while"), this.space(), this.tokenChar(40), this.print(t.test),
    this.tokenChar(41), this.semicolon();
  }
  n(aGe, "DoWhileStatement");
  function ES(t, e) {
    e && (t.space(), t.printTerminatorless(e)), t.semicolon();
  }
  n(ES, "printStatementAfterKeyword");
  function oGe(t) {
    this.word("break"), ES(this, t.label);
  }
  n(oGe, "BreakStatement");
  function lGe(t) {
    this.word("continue"), ES(this, t.label);
  }
  n(lGe, "ContinueStatement");
  function uGe(t) {
    this.word("return"), ES(this, t.argument);
  }
  n(uGe, "ReturnStatement");
  function cGe(t) {
    this.word("throw"), ES(this, t.argument);
  }
  n(cGe, "ThrowStatement");
  function pGe(t) {
    this.print(t.label), this.tokenChar(58), this.space(), this.print(t.body);
  }
  n(pGe, "LabeledStatement");
  function hGe(t) {
    this.word("try"), this.space(), this.print(t.block), this.space(), t.handlers ? this.print(t.handlers[0]) : this.print(t.handler), t.finalizer &&
    (this.space(), this.word("finally"), this.space(), this.print(t.finalizer));
  }
  n(hGe, "TryStatement");
  function fGe(t) {
    this.word("catch"), this.space(), t.param && (this.tokenChar(40), this.print(t.param), this.print(t.param.typeAnnotation), this.tokenChar(
    41), this.space()), this.print(t.body);
  }
  n(fGe, "CatchClause");
  function dGe(t) {
    this.word("switch"), this.space(), this.tokenChar(40), this.print(t.discriminant), this.tokenChar(41), this.space(), this.tokenChar(123),
    this.printSequence(t.cases, !0, void 0, /* @__PURE__ */ n(function(s, r) {
      if (!s && t.cases[t.cases.length - 1] === r) return -1;
    }, "addNewlines")), this.rightBrace(t);
  }
  n(dGe, "SwitchStatement");
  function mGe(t) {
    t.test ? (this.word("case"), this.space(), this.print(t.test), this.tokenChar(58)) : (this.word("default"), this.tokenChar(58)), t.consequent.
    length && (this.newline(), this.printSequence(t.consequent, !0));
  }
  n(mGe, "SwitchCase");
  function yGe() {
    this.word("debugger"), this.semicolon();
  }
  n(yGe, "DebuggerStatement");
  function gGe(t, e) {
    t.declare && (this.word("declare"), this.space());
    let {
      kind: s
    } = t;
    s === "await using" ? (this.word("await"), this.space(), this.word("using", !0)) : this.word(s, s === "using"), this.space();
    let r = !1;
    if (!jJ(e))
      for (let i of t.declarations)
        i.init && (r = !0);
    if (this.printList(t.declarations, void 0, void 0, t.declarations.length > 1, r ? function(i) {
      this.token(",", !1, i), this.newline();
    } : void 0), jJ(e)) {
      if (Zze(e)) {
        if (e.init === t) return;
      } else if (e.left === t) return;
    }
    this.semicolon();
  }
  n(gGe, "VariableDeclaration");
  function TGe(t) {
    this.print(t.id), t.definite && this.tokenChar(33), this.print(t.id.typeAnnotation), t.init && (this.space(), this.tokenChar(61), this.space(),
    this.print(t.init));
  }
  n(TGe, "VariableDeclarator");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/generators/classes.js
var KJ = g((Da) => {
  "use strict";
  Object.defineProperty(Da, "__esModule", {
    value: !0
  });
  Da.ClassAccessorProperty = CGe;
  Da.ClassBody = EGe;
  Da.ClassExpression = Da.ClassDeclaration = PGe;
  Da.ClassMethod = IGe;
  Da.ClassPrivateMethod = NGe;
  Da.ClassPrivateProperty = wGe;
  Da.ClassProperty = vGe;
  Da.StaticBlock = DGe;
  Da._classMethodHead = kGe;
  var bGe = fe(), {
    isExportDefaultDeclaration: xGe,
    isExportNamedDeclaration: SGe
  } = bGe;
  function PGe(t, e) {
    (!(xGe(e) || SGe(e)) || !this._shouldPrintDecoratorsBeforeExport(e)) && this.printJoin(t.decorators), t.declare && (this.word("declare"),
    this.space()), t.abstract && (this.word("abstract"), this.space()), this.word("class"), t.id && (this.space(), this.print(t.id)), this.print(
    t.typeParameters), t.superClass && (this.space(), this.word("extends"), this.space(), this.print(t.superClass), this.print(t.superTypeParameters)),
    t.implements && (this.space(), this.word("implements"), this.space(), this.printList(t.implements)), this.space(), this.print(t.body);
  }
  n(PGe, "ClassDeclaration");
  function EGe(t) {
    if (this.tokenChar(123), t.body.length === 0)
      this.tokenChar(125);
    else {
      this.newline();
      let e = AGe(this, t);
      e?.(-1);
      let s = this.enterDelimited();
      this.printJoin(t.body, !0, !0, e, !0), s(), this.endsWith(10) || this.newline(), this.rightBrace(t);
    }
  }
  n(EGe, "ClassBody");
  function AGe(t, e) {
    if (!t.tokenMap || e.start == null || e.end == null)
      return null;
    let s = t.tokenMap.getIndexes(e);
    if (!s) return null;
    let r = 1, i = 0, a = 0, o = /* @__PURE__ */ n(() => {
      for (; a < e.body.length && e.body[a].start == null; )
        a++;
    }, "advanceNextLocIndex");
    return o(), (l) => {
      a <= l && (a = l + 1, o());
      let u = a === e.body.length ? e.end : e.body[a].start, c;
      for (; r < s.length && t.tokenMap.matchesOriginal(c = t._tokens[s[r]], ";") && c.start < u; )
        t.token(";", void 0, i++), r++;
    };
  }
  n(AGe, "classBodyEmptySemicolonsPrinter");
  function vGe(t) {
    if (this.printJoin(t.decorators), !t.static && !this.format.preserveFormat) {
      var e;
      let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
      s && this.catchUp(s);
    }
    this.tsPrintClassMemberModifiers(t), t.computed ? (this.tokenChar(91), this.print(t.key), this.tokenChar(93)) : (this._variance(t), this.
    print(t.key)), t.optional && this.tokenChar(63), t.definite && this.tokenChar(33), this.print(t.typeAnnotation), t.value && (this.space(),
    this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(vGe, "ClassProperty");
  function CGe(t) {
    var e;
    this.printJoin(t.decorators);
    let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
    s && this.catchUp(s), this.tsPrintClassMemberModifiers(t), this.word("accessor", !0), this.space(), t.computed ? (this.tokenChar(91), this.
    print(t.key), this.tokenChar(93)) : (this._variance(t), this.print(t.key)), t.optional && this.tokenChar(63), t.definite && this.tokenChar(
    33), this.print(t.typeAnnotation), t.value && (this.space(), this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(CGe, "ClassAccessorProperty");
  function wGe(t) {
    this.printJoin(t.decorators), this.tsPrintClassMemberModifiers(t), this.print(t.key), t.optional && this.tokenChar(63), t.definite && this.
    tokenChar(33), this.print(t.typeAnnotation), t.value && (this.space(), this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(wGe, "ClassPrivateProperty");
  function IGe(t) {
    this._classMethodHead(t), this.space(), this.print(t.body);
  }
  n(IGe, "ClassMethod");
  function NGe(t) {
    this._classMethodHead(t), this.space(), this.print(t.body);
  }
  n(NGe, "ClassPrivateMethod");
  function kGe(t) {
    if (this.printJoin(t.decorators), !this.format.preserveFormat) {
      var e;
      let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
      s && this.catchUp(s);
    }
    this.tsPrintClassMemberModifiers(t), this._methodHead(t);
  }
  n(kGe, "_classMethodHead");
  function DGe(t) {
    this.word("static"), this.space(), this.tokenChar(123), t.body.length === 0 ? this.tokenChar(125) : (this.newline(), this.printSequence(
    t.body, !0), this.rightBrace(t));
  }
  n(DGe, "StaticBlock");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/generators/methods.js
var VJ = g((Oa) => {
  "use strict";
  Object.defineProperty(Oa, "__esModule", {
    value: !0
  });
  Oa.ArrowFunctionExpression = KGe;
  Oa.FunctionDeclaration = Oa.FunctionExpression = UGe;
  Oa._functionHead = qGe;
  Oa._methodHead = jGe;
  Oa._param = FGe;
  Oa._parameters = MGe;
  Oa._params = BGe;
  Oa._predicate = RGe;
  Oa._shouldPrintArrowParamsParens = VGe;
  var OGe = fe(), _Ge = $c(), {
    isIdentifier: LGe
  } = OGe;
  function BGe(t, e, s) {
    this.print(t.typeParameters);
    let r = WGe.call(this, e, s);
    r && this.sourceIdentifierName(r.name, r.pos), this.tokenChar(40), this._parameters(t.params, ")");
    let i = t.type === "ArrowFunctionExpression";
    this.print(t.returnType, i), this._noLineTerminator = i;
  }
  n(BGe, "_params");
  function MGe(t, e) {
    let s = this.enterDelimited(), r = this.shouldPrintTrailingComma(e), i = t.length;
    for (let a = 0; a < i; a++)
      this._param(t[a]), (r || a < i - 1) && (this.token(",", null, a), this.space());
    this.token(e), s();
  }
  n(MGe, "_parameters");
  function FGe(t) {
    this.printJoin(t.decorators), this.print(t), t.optional && this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(FGe, "_param");
  function jGe(t) {
    let e = t.kind, s = t.key;
    (e === "get" || e === "set") && (this.word(e), this.space()), t.async && (this.word("async", !0), this.space()), (e === "method" || e ===
    "init") && t.generator && this.tokenChar(42), t.computed ? (this.tokenChar(91), this.print(s), this.tokenChar(93)) : this.print(s), t.optional &&
    this.tokenChar(63), this._params(t, t.computed && t.key.type !== "StringLiteral" ? void 0 : t.key, void 0);
  }
  n(jGe, "_methodHead");
  function RGe(t, e) {
    t.predicate && (t.returnType || this.tokenChar(58), this.space(), this.print(t.predicate, e));
  }
  n(RGe, "_predicate");
  function qGe(t, e) {
    t.async && (this.word("async"), this.format.preserveFormat || (this._endsWithInnerRaw = !1), this.space()), this.word("function"), t.generator &&
    (this.format.preserveFormat || (this._endsWithInnerRaw = !1), this.tokenChar(42)), this.space(), t.id && this.print(t.id), this._params(
    t, t.id, e), t.type !== "TSDeclareFunction" && this._predicate(t);
  }
  n(qGe, "_functionHead");
  function UGe(t, e) {
    this._functionHead(t, e), this.space(), this.print(t.body);
  }
  n(UGe, "FunctionExpression");
  function KGe(t, e) {
    t.async && (this.word("async", !0), this.space()), this._shouldPrintArrowParamsParens(t) ? this._params(t, void 0, e) : this.print(t.params[0],
    !0), this._predicate(t, !0), this.space(), this.printInnerComments(), this.token("=>"), this.space(), this.tokenContext |= _Ge.TokenContext.
    arrowBody, this.print(t.body);
  }
  n(KGe, "ArrowFunctionExpression");
  function VGe(t) {
    var e, s;
    if (t.params.length !== 1 || t.typeParameters || t.returnType || t.predicate)
      return !0;
    let r = t.params[0];
    if (!LGe(r) || r.typeAnnotation || r.optional || (e = r.leadingComments) != null && e.length || (s = r.trailingComments) != null && s.length)
      return !0;
    if (this.tokenMap) {
      if (t.loc == null || this.tokenMap.findMatching(t, "(") !== null) return !0;
      let i = this.tokenMap.findMatching(t, "=>");
      return i?.loc == null ? !0 : i.loc.start.line !== t.loc.start.line;
    }
    return !!this.format.retainLines;
  }
  n(VGe, "_shouldPrintArrowParamsParens");
  function WGe(t, e) {
    let s = t;
    if (!s && e) {
      let u = e.type;
      u === "VariableDeclarator" ? s = e.id : u === "AssignmentExpression" || u === "AssignmentPattern" ? s = e.left : u === "ObjectProperty" ||
      u === "ClassProperty" ? (!e.computed || e.key.type === "StringLiteral") && (s = e.key) : (u === "ClassPrivateProperty" || u === "Class\
AccessorProperty") && (s = e.key);
    }
    if (!s) return;
    let r;
    if (s.type === "Identifier") {
      var i, a;
      r = {
        pos: (i = s.loc) == null ? void 0 : i.start,
        name: ((a = s.loc) == null ? void 0 : a.identifierName) || s.name
      };
    } else if (s.type === "PrivateName") {
      var o;
      r = {
        pos: (o = s.loc) == null ? void 0 : o.start,
        name: "#" + s.id.name
      };
    } else if (s.type === "StringLiteral") {
      var l;
      r = {
        pos: (l = s.loc) == null ? void 0 : l.start,
        name: s.value
      };
    }
    return r;
  }
  n(WGe, "_getFuncIdName");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/generators/modules.js
var YD = g((En) => {
  "use strict";
  Object.defineProperty(En, "__esModule", {
    value: !0
  });
  En.ExportAllDeclaration = iQe;
  En.ExportDefaultDeclaration = aQe;
  En.ExportDefaultSpecifier = eQe;
  En.ExportNamedDeclaration = nQe;
  En.ExportNamespaceSpecifier = sQe;
  En.ExportSpecifier = tQe;
  En.ImportAttribute = lQe;
  En.ImportDeclaration = oQe;
  En.ImportDefaultSpecifier = ZGe;
  En.ImportExpression = cQe;
  En.ImportNamespaceSpecifier = uQe;
  En.ImportSpecifier = QGe;
  En._printAttributes = rQe;
  var $Ge = fe(), HGe = $c(), {
    isClassDeclaration: JGe,
    isExportDefaultSpecifier: YGe,
    isExportNamespaceSpecifier: XGe,
    isImportDefaultSpecifier: zGe,
    isImportNamespaceSpecifier: GGe,
    isStatement: $J
  } = $Ge;
  function QGe(t) {
    (t.importKind === "type" || t.importKind === "typeof") && (this.word(t.importKind), this.space()), this.print(t.imported), t.local && t.
    local.name !== t.imported.name && (this.space(), this.word("as"), this.space(), this.print(t.local));
  }
  n(QGe, "ImportSpecifier");
  function ZGe(t) {
    this.print(t.local);
  }
  n(ZGe, "ImportDefaultSpecifier");
  function eQe(t) {
    this.print(t.exported);
  }
  n(eQe, "ExportDefaultSpecifier");
  function tQe(t) {
    t.exportKind === "type" && (this.word("type"), this.space()), this.print(t.local), t.exported && t.local.name !== t.exported.name && (this.
    space(), this.word("as"), this.space(), this.print(t.exported));
  }
  n(tQe, "ExportSpecifier");
  function sQe(t) {
    this.tokenChar(42), this.space(), this.word("as"), this.space(), this.print(t.exported);
  }
  n(sQe, "ExportNamespaceSpecifier");
  var WJ = !1;
  function rQe(t, e) {
    let {
      importAttributesKeyword: s
    } = this.format, {
      attributes: r,
      assertions: i
    } = t;
    r && !s && !WJ && (WJ = !0, console.warn('You are using import attributes, without specifying the desired output syntax.\nPlease specify \
the "importAttributesKeyword" generator option, whose value can be one of:\n - "with"        : `import { a } from "b" with { type: "json" };`\
\n - "assert"      : `import { a } from "b" assert { type: "json" };`\n - "with-legacy" : `import { a } from "b" with type: "json";`\n'));
    let a = s === "assert" || !s && i;
    if (this.word(a ? "assert" : "with"), this.space(), !a && s !== "with") {
      this.printList(r || i);
      return;
    }
    let o = e ? 1 : 0;
    this.token("{", null, o), this.space(), this.printList(r || i, this.shouldPrintTrailingComma("}")), this.space(), this.token("}", null, o);
  }
  n(rQe, "_printAttributes");
  function iQe(t) {
    var e, s;
    this.word("export"), this.space(), t.exportKind === "type" && (this.word("type"), this.space()), this.tokenChar(42), this.space(), this.
    word("from"), this.space(), (e = t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.print(t.source, !0),
    this.space(), this._printAttributes(t, !1)) : this.print(t.source), this.semicolon();
  }
  n(iQe, "ExportAllDeclaration");
  function HJ(t, e) {
    JGe(e.declaration) && t._shouldPrintDecoratorsBeforeExport(e) && t.printJoin(e.declaration.decorators);
  }
  n(HJ, "maybePrintDecoratorsBeforeExport");
  function nQe(t) {
    if (HJ(this, t), this.word("export"), this.space(), t.declaration) {
      let r = t.declaration;
      this.print(r), $J(r) || this.semicolon();
    } else {
      t.exportKind === "type" && (this.word("type"), this.space());
      let r = t.specifiers.slice(0), i = !1;
      for (; ; ) {
        let o = r[0];
        if (YGe(o) || XGe(o))
          i = !0, this.print(r.shift()), r.length && (this.tokenChar(44), this.space());
        else
          break;
      }
      let a = !1;
      if ((r.length || !r.length && !i) && (a = !0, this.tokenChar(123), r.length && (this.space(), this.printList(r, this.shouldPrintTrailingComma(
      "}")), this.space()), this.tokenChar(125)), t.source) {
        var e, s;
        this.space(), this.word("from"), this.space(), (e = t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.
        print(t.source, !0), this.space(), this._printAttributes(t, a)) : this.print(t.source);
      }
      this.semicolon();
    }
  }
  n(nQe, "ExportNamedDeclaration");
  function aQe(t) {
    HJ(this, t), this.word("export"), this.noIndentInnerCommentsHere(), this.space(), this.word("default"), this.space(), this.tokenContext |=
    HGe.TokenContext.exportDefault;
    let e = t.declaration;
    this.print(e), $J(e) || this.semicolon();
  }
  n(aQe, "ExportDefaultDeclaration");
  function oQe(t) {
    var e, s;
    this.word("import"), this.space();
    let r = t.importKind === "type" || t.importKind === "typeof";
    r ? (this.noIndentInnerCommentsHere(), this.word(t.importKind), this.space()) : t.module ? (this.noIndentInnerCommentsHere(), this.word(
    "module"), this.space()) : t.phase && (this.noIndentInnerCommentsHere(), this.word(t.phase), this.space());
    let i = t.specifiers.slice(0), a = !!i.length;
    for (; a; ) {
      let l = i[0];
      if (zGe(l) || GGe(l))
        this.print(i.shift()), i.length && (this.tokenChar(44), this.space());
      else
        break;
    }
    let o = !1;
    i.length ? (o = !0, this.tokenChar(123), this.space(), this.printList(i, this.shouldPrintTrailingComma("}")), this.space(), this.tokenChar(
    125)) : r && !a && (o = !0, this.tokenChar(123), this.tokenChar(125)), (a || r) && (this.space(), this.word("from"), this.space()), (e =
    t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.print(t.source, !0), this.space(), this._printAttributes(
    t, o)) : this.print(t.source), this.semicolon();
  }
  n(oQe, "ImportDeclaration");
  function lQe(t) {
    this.print(t.key), this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(lQe, "ImportAttribute");
  function uQe(t) {
    this.tokenChar(42), this.space(), this.word("as"), this.space(), this.print(t.local);
  }
  n(uQe, "ImportNamespaceSpecifier");
  function cQe(t) {
    this.word("import"), t.phase && (this.tokenChar(46), this.word(t.phase)), this.tokenChar(40), this.print(t.source), t.options != null &&
    (this.tokenChar(44), this.space(), this.print(t.options)), this.tokenChar(41);
  }
  n(cQe, "ImportExpression");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/generators/types.js
var zD = g((Dr) => {
  "use strict";
  Object.defineProperty(Dr, "__esModule", {
    value: !0
  });
  Dr.ArgumentPlaceholder = mQe;
  Dr.ArrayPattern = Dr.ArrayExpression = xQe;
  Dr.BigIntLiteral = IQe;
  Dr.BooleanLiteral = AQe;
  Dr.Identifier = dQe;
  Dr.NullLiteral = vQe;
  Dr.NumericLiteral = CQe;
  Dr.ObjectPattern = Dr.ObjectExpression = gQe;
  Dr.ObjectMethod = TQe;
  Dr.ObjectProperty = bQe;
  Dr.PipelineBareFunction = DQe;
  Dr.PipelinePrimaryTopicReference = OQe;
  Dr.PipelineTopicExpression = kQe;
  Dr.RecordExpression = SQe;
  Dr.RegExpLiteral = EQe;
  Dr.SpreadElement = Dr.RestElement = yQe;
  Dr.StringLiteral = wQe;
  Dr.TopicReference = NQe;
  Dr.TupleExpression = PQe;
  Dr._getRawIdentifier = fQe;
  var pQe = fe(), XJ = gd(), {
    isAssignmentPattern: hQe,
    isIdentifier: XD
  } = pQe, JJ = null, AS = "";
  function fQe(t) {
    if (t === JJ) return AS;
    JJ = t;
    let {
      name: e
    } = t, s = this.tokenMap.find(t, (r) => r.value === e);
    return s ? (AS = this._originalCode.slice(s.start, s.end), AS) : AS = t.name;
  }
  n(fQe, "_getRawIdentifier");
  function dQe(t) {
    var e;
    this.sourceIdentifierName(((e = t.loc) == null ? void 0 : e.identifierName) || t.name), this.word(this.tokenMap ? this._getRawIdentifier(
    t) : t.name);
  }
  n(dQe, "Identifier");
  function mQe() {
    this.tokenChar(63);
  }
  n(mQe, "ArgumentPlaceholder");
  function yQe(t) {
    this.token("..."), this.print(t.argument);
  }
  n(yQe, "RestElement");
  function gQe(t) {
    let e = t.properties;
    if (this.tokenChar(123), e.length) {
      let s = this.enterDelimited();
      this.space(), this.printList(e, this.shouldPrintTrailingComma("}"), !0, !0), this.space(), s();
    }
    this.sourceWithOffset("end", t.loc, -1), this.tokenChar(125);
  }
  n(gQe, "ObjectExpression");
  function TQe(t) {
    this.printJoin(t.decorators), this._methodHead(t), this.space(), this.print(t.body);
  }
  n(TQe, "ObjectMethod");
  function bQe(t) {
    if (this.printJoin(t.decorators), t.computed)
      this.tokenChar(91), this.print(t.key), this.tokenChar(93);
    else {
      if (hQe(t.value) && XD(t.key) && t.key.name === t.value.left.name) {
        this.print(t.value);
        return;
      }
      if (this.print(t.key), t.shorthand && XD(t.key) && XD(t.value) && t.key.name === t.value.name)
        return;
    }
    this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(bQe, "ObjectProperty");
  function xQe(t) {
    let e = t.elements, s = e.length;
    this.tokenChar(91);
    let r = this.enterDelimited();
    for (let i = 0; i < e.length; i++) {
      let a = e[i];
      a ? (i > 0 && this.space(), this.print(a), (i < s - 1 || this.shouldPrintTrailingComma("]")) && this.token(",", !1, i)) : this.token("\
,", !1, i);
    }
    r(), this.tokenChar(93);
  }
  n(xQe, "ArrayExpression");
  function SQe(t) {
    let e = t.properties, s, r;
    if (this.format.recordAndTupleSyntaxType === "bar")
      s = "{|", r = "|}";
    else {
      if (this.format.recordAndTupleSyntaxType !== "hash" && this.format.recordAndTupleSyntaxType != null)
        throw new Error(`The "recordAndTupleSyntaxType" generator option must be "bar" or "hash" (${JSON.stringify(this.format.recordAndTupleSyntaxType)}\
 received).`);
      s = "#{", r = "}";
    }
    this.token(s), e.length && (this.space(), this.printList(e, this.shouldPrintTrailingComma(r), !0, !0), this.space()), this.token(r);
  }
  n(SQe, "RecordExpression");
  function PQe(t) {
    let e = t.elements, s = e.length, r, i;
    if (this.format.recordAndTupleSyntaxType === "bar")
      r = "[|", i = "|]";
    else if (this.format.recordAndTupleSyntaxType === "hash")
      r = "#[", i = "]";
    else
      throw new Error(`${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`);
    this.token(r);
    for (let a = 0; a < e.length; a++) {
      let o = e[a];
      o && (a > 0 && this.space(), this.print(o), (a < s - 1 || this.shouldPrintTrailingComma(i)) && this.token(",", !1, a));
    }
    this.token(i);
  }
  n(PQe, "TupleExpression");
  function EQe(t) {
    this.word(`/${t.pattern}/${t.flags}`);
  }
  n(EQe, "RegExpLiteral");
  function AQe(t) {
    this.word(t.value ? "true" : "false");
  }
  n(AQe, "BooleanLiteral");
  function vQe() {
    this.word("null");
  }
  n(vQe, "NullLiteral");
  function CQe(t) {
    let e = this.getPossibleRaw(t), s = this.format.jsescOption, r = t.value, i = r + "";
    s.numbers ? this.number(XJ(r, s), r) : e == null ? this.number(i, r) : this.format.minified ? this.number(e.length < i.length ? e : i, r) :
    this.number(e, r);
  }
  n(CQe, "NumericLiteral");
  function wQe(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.token(e);
      return;
    }
    let s = XJ(t.value, this.format.jsescOption);
    this.token(s);
  }
  n(wQe, "StringLiteral");
  function IQe(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.word(e);
      return;
    }
    this.word(t.value + "n");
  }
  n(IQe, "BigIntLiteral");
  var YJ = /* @__PURE__ */ new Set(["^^", "@@", "^", "%", "#"]);
  function NQe() {
    let {
      topicToken: t
    } = this.format;
    if (YJ.has(t))
      this.token(t);
    else {
      let e = JSON.stringify(t), s = Array.from(YJ, (r) => JSON.stringify(r));
      throw new Error(`The "topicToken" generator option must be one of ${s.join(", ")} (${e} received instead).`);
    }
  }
  n(NQe, "TopicReference");
  function kQe(t) {
    this.print(t.expression);
  }
  n(kQe, "PipelineTopicExpression");
  function DQe(t) {
    this.print(t.callee);
  }
  n(DQe, "PipelineBareFunction");
  function OQe() {
    this.tokenChar(35);
  }
  n(OQe, "PipelinePrimaryTopicReference");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/generators/flow.js
var GJ = g((rt) => {
  "use strict";
  Object.defineProperty(rt, "__esModule", {
    value: !0
  });
  rt.AnyTypeAnnotation = FQe;
  rt.ArrayTypeAnnotation = jQe;
  rt.BooleanLiteralTypeAnnotation = qQe;
  rt.BooleanTypeAnnotation = RQe;
  rt.DeclareClass = KQe;
  rt.DeclareExportAllDeclaration = ZQe;
  rt.DeclareExportDeclaration = QQe;
  rt.DeclareFunction = VQe;
  rt.DeclareInterface = HQe;
  rt.DeclareModule = JQe;
  rt.DeclareModuleExports = YQe;
  rt.DeclareOpaqueType = zQe;
  rt.DeclareTypeAlias = XQe;
  rt.DeclareVariable = GQe;
  rt.DeclaredPredicate = $Qe;
  rt.EmptyTypeAnnotation = SZe;
  rt.EnumBooleanBody = tZe;
  rt.EnumBooleanMember = aZe;
  rt.EnumDeclaration = eZe;
  rt.EnumDefaultedMember = nZe;
  rt.EnumNumberBody = sZe;
  rt.EnumNumberMember = oZe;
  rt.EnumStringBody = rZe;
  rt.EnumStringMember = lZe;
  rt.EnumSymbolBody = iZe;
  rt.ExistsTypeAnnotation = cZe;
  rt.FunctionTypeAnnotation = pZe;
  rt.FunctionTypeParam = hZe;
  rt.IndexedAccessType = HZe;
  rt.InferredPredicate = WQe;
  rt.InterfaceDeclaration = yZe;
  rt.GenericTypeAnnotation = rt.ClassImplements = rt.InterfaceExtends = fZe;
  rt.InterfaceTypeAnnotation = TZe;
  rt.IntersectionTypeAnnotation = bZe;
  rt.MixedTypeAnnotation = xZe;
  rt.NullLiteralTypeAnnotation = UQe;
  rt.NullableTypeAnnotation = PZe;
  Object.defineProperty(rt, "NumberLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return zJ.NumericLiteral;
    }, "get")
  });
  rt.NumberTypeAnnotation = EZe;
  rt.ObjectTypeAnnotation = _Ze;
  rt.ObjectTypeCallProperty = BZe;
  rt.ObjectTypeIndexer = MZe;
  rt.ObjectTypeInternalSlot = LZe;
  rt.ObjectTypeProperty = FZe;
  rt.ObjectTypeSpreadProperty = jZe;
  rt.OpaqueType = OZe;
  rt.OptionalIndexedAccessType = JZe;
  rt.QualifiedTypeIdentifier = RZe;
  Object.defineProperty(rt, "StringLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return zJ.StringLiteral;
    }, "get")
  });
  rt.StringTypeAnnotation = AZe;
  rt.SymbolTypeAnnotation = qZe;
  rt.ThisTypeAnnotation = vZe;
  rt.TupleTypeAnnotation = CZe;
  rt.TypeAlias = IZe;
  rt.TypeAnnotation = NZe;
  rt.TypeCastExpression = VZe;
  rt.TypeParameter = DZe;
  rt.TypeParameterDeclaration = rt.TypeParameterInstantiation = kZe;
  rt.TypeofTypeAnnotation = wZe;
  rt.UnionTypeAnnotation = KZe;
  rt.Variance = WZe;
  rt.VoidTypeAnnotation = $Ze;
  rt._interfaceish = dZe;
  rt._variance = mZe;
  var _Qe = fe(), LQe = YD(), BQe = $c(), zJ = zD(), {
    isDeclareExportDeclaration: vS,
    isStatement: MQe
  } = _Qe;
  function FQe() {
    this.word("any");
  }
  n(FQe, "AnyTypeAnnotation");
  function jQe(t) {
    this.print(t.elementType, !0), this.tokenChar(91), this.tokenChar(93);
  }
  n(jQe, "ArrayTypeAnnotation");
  function RQe() {
    this.word("boolean");
  }
  n(RQe, "BooleanTypeAnnotation");
  function qQe(t) {
    this.word(t.value ? "true" : "false");
  }
  n(qQe, "BooleanLiteralTypeAnnotation");
  function UQe() {
    this.word("null");
  }
  n(UQe, "NullLiteralTypeAnnotation");
  function KQe(t, e) {
    vS(e) || (this.word("declare"), this.space()), this.word("class"), this.space(), this._interfaceish(t);
  }
  n(KQe, "DeclareClass");
  function VQe(t, e) {
    vS(e) || (this.word("declare"), this.space()), this.word("function"), this.space(), this.print(t.id), this.print(t.id.typeAnnotation.typeAnnotation),
    t.predicate && (this.space(), this.print(t.predicate)), this.semicolon();
  }
  n(VQe, "DeclareFunction");
  function WQe() {
    this.tokenChar(37), this.word("checks");
  }
  n(WQe, "InferredPredicate");
  function $Qe(t) {
    this.tokenChar(37), this.word("checks"), this.tokenChar(40), this.print(t.value), this.tokenChar(41);
  }
  n($Qe, "DeclaredPredicate");
  function HQe(t) {
    this.word("declare"), this.space(), this.InterfaceDeclaration(t);
  }
  n(HQe, "DeclareInterface");
  function JQe(t) {
    this.word("declare"), this.space(), this.word("module"), this.space(), this.print(t.id), this.space(), this.print(t.body);
  }
  n(JQe, "DeclareModule");
  function YQe(t) {
    this.word("declare"), this.space(), this.word("module"), this.tokenChar(46), this.word("exports"), this.print(t.typeAnnotation);
  }
  n(YQe, "DeclareModuleExports");
  function XQe(t) {
    this.word("declare"), this.space(), this.TypeAlias(t);
  }
  n(XQe, "DeclareTypeAlias");
  function zQe(t, e) {
    vS(e) || (this.word("declare"), this.space()), this.OpaqueType(t);
  }
  n(zQe, "DeclareOpaqueType");
  function GQe(t, e) {
    vS(e) || (this.word("declare"), this.space()), this.word("var"), this.space(), this.print(t.id), this.print(t.id.typeAnnotation), this.semicolon();
  }
  n(GQe, "DeclareVariable");
  function QQe(t) {
    this.word("declare"), this.space(), this.word("export"), this.space(), t.default && (this.word("default"), this.space()), uZe.call(this,
    t);
  }
  n(QQe, "DeclareExportDeclaration");
  function ZQe(t) {
    this.word("declare"), this.space(), LQe.ExportAllDeclaration.call(this, t);
  }
  n(ZQe, "DeclareExportAllDeclaration");
  function eZe(t) {
    let {
      id: e,
      body: s
    } = t;
    this.word("enum"), this.space(), this.print(e), this.print(s);
  }
  n(eZe, "EnumDeclaration");
  function CS(t, e, s) {
    s && (t.space(), t.word("of"), t.space(), t.word(e)), t.space();
  }
  n(CS, "enumExplicitType");
  function wS(t, e) {
    let {
      members: s
    } = e;
    t.token("{"), t.indent(), t.newline();
    for (let r of s)
      t.print(r), t.newline();
    e.hasUnknownMembers && (t.token("..."), t.newline()), t.dedent(), t.token("}");
  }
  n(wS, "enumBody");
  function tZe(t) {
    let {
      explicitType: e
    } = t;
    CS(this, "boolean", e), wS(this, t);
  }
  n(tZe, "EnumBooleanBody");
  function sZe(t) {
    let {
      explicitType: e
    } = t;
    CS(this, "number", e), wS(this, t);
  }
  n(sZe, "EnumNumberBody");
  function rZe(t) {
    let {
      explicitType: e
    } = t;
    CS(this, "string", e), wS(this, t);
  }
  n(rZe, "EnumStringBody");
  function iZe(t) {
    CS(this, "symbol", !0), wS(this, t);
  }
  n(iZe, "EnumSymbolBody");
  function nZe(t) {
    let {
      id: e
    } = t;
    this.print(e), this.tokenChar(44);
  }
  n(nZe, "EnumDefaultedMember");
  function GD(t, e) {
    t.print(e.id), t.space(), t.token("="), t.space(), t.print(e.init), t.token(",");
  }
  n(GD, "enumInitializedMember");
  function aZe(t) {
    GD(this, t);
  }
  n(aZe, "EnumBooleanMember");
  function oZe(t) {
    GD(this, t);
  }
  n(oZe, "EnumNumberMember");
  function lZe(t) {
    GD(this, t);
  }
  n(lZe, "EnumStringMember");
  function uZe(t) {
    if (t.declaration) {
      let e = t.declaration;
      this.print(e), MQe(e) || this.semicolon();
    } else
      this.tokenChar(123), t.specifiers.length && (this.space(), this.printList(t.specifiers), this.space()), this.tokenChar(125), t.source &&
      (this.space(), this.word("from"), this.space(), this.print(t.source)), this.semicolon();
  }
  n(uZe, "FlowExportDeclaration");
  function cZe() {
    this.tokenChar(42);
  }
  n(cZe, "ExistsTypeAnnotation");
  function pZe(t, e) {
    this.print(t.typeParameters), this.tokenChar(40), t.this && (this.word("this"), this.tokenChar(58), this.space(), this.print(t.this.typeAnnotation),
    (t.params.length || t.rest) && (this.tokenChar(44), this.space())), this.printList(t.params), t.rest && (t.params.length && (this.tokenChar(
    44), this.space()), this.token("..."), this.print(t.rest)), this.tokenChar(41);
    let s = e?.type;
    s != null && (s === "ObjectTypeCallProperty" || s === "ObjectTypeInternalSlot" || s === "DeclareFunction" || s === "ObjectTypeProperty" &&
    e.method) ? this.tokenChar(58) : (this.space(), this.token("=>")), this.space(), this.print(t.returnType);
  }
  n(pZe, "FunctionTypeAnnotation");
  function hZe(t) {
    this.print(t.name), t.optional && this.tokenChar(63), t.name && (this.tokenChar(58), this.space()), this.print(t.typeAnnotation);
  }
  n(hZe, "FunctionTypeParam");
  function fZe(t) {
    this.print(t.id), this.print(t.typeParameters, !0);
  }
  n(fZe, "InterfaceExtends");
  function dZe(t) {
    var e;
    if (this.print(t.id), this.print(t.typeParameters), (e = t.extends) != null && e.length && (this.space(), this.word("extends"), this.space(),
    this.printList(t.extends)), t.type === "DeclareClass") {
      var s, r;
      (s = t.mixins) != null && s.length && (this.space(), this.word("mixins"), this.space(), this.printList(t.mixins)), (r = t.implements) !=
      null && r.length && (this.space(), this.word("implements"), this.space(), this.printList(t.implements));
    }
    this.space(), this.print(t.body);
  }
  n(dZe, "_interfaceish");
  function mZe(t) {
    var e;
    let s = (e = t.variance) == null ? void 0 : e.kind;
    s != null && (s === "plus" ? this.tokenChar(43) : s === "minus" && this.tokenChar(45));
  }
  n(mZe, "_variance");
  function yZe(t) {
    this.word("interface"), this.space(), this._interfaceish(t);
  }
  n(yZe, "InterfaceDeclaration");
  function gZe(t) {
    this.space(), this.token("&", !1, t), this.space();
  }
  n(gZe, "andSeparator");
  function TZe(t) {
    var e;
    this.word("interface"), (e = t.extends) != null && e.length && (this.space(), this.word("extends"), this.space(), this.printList(t.extends)),
    this.space(), this.print(t.body);
  }
  n(TZe, "InterfaceTypeAnnotation");
  function bZe(t) {
    this.printJoin(t.types, void 0, void 0, gZe);
  }
  n(bZe, "IntersectionTypeAnnotation");
  function xZe() {
    this.word("mixed");
  }
  n(xZe, "MixedTypeAnnotation");
  function SZe() {
    this.word("empty");
  }
  n(SZe, "EmptyTypeAnnotation");
  function PZe(t) {
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(PZe, "NullableTypeAnnotation");
  function EZe() {
    this.word("number");
  }
  n(EZe, "NumberTypeAnnotation");
  function AZe() {
    this.word("string");
  }
  n(AZe, "StringTypeAnnotation");
  function vZe() {
    this.word("this");
  }
  n(vZe, "ThisTypeAnnotation");
  function CZe(t) {
    this.tokenChar(91), this.printList(t.types), this.tokenChar(93);
  }
  n(CZe, "TupleTypeAnnotation");
  function wZe(t) {
    this.word("typeof"), this.space(), this.print(t.argument);
  }
  n(wZe, "TypeofTypeAnnotation");
  function IZe(t) {
    this.word("type"), this.space(), this.print(t.id), this.print(t.typeParameters), this.space(), this.tokenChar(61), this.space(), this.print(
    t.right), this.semicolon();
  }
  n(IZe, "TypeAlias");
  function NZe(t, e) {
    this.tokenChar(58), this.space(), e.type === "ArrowFunctionExpression" ? this.tokenContext |= BQe.TokenContext.arrowFlowReturnType : t.optional &&
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(NZe, "TypeAnnotation");
  function kZe(t) {
    this.tokenChar(60), this.printList(t.params), this.tokenChar(62);
  }
  n(kZe, "TypeParameterInstantiation");
  function DZe(t) {
    this._variance(t), this.word(t.name), t.bound && this.print(t.bound), t.default && (this.space(), this.tokenChar(61), this.space(), this.
    print(t.default));
  }
  n(DZe, "TypeParameter");
  function OZe(t) {
    this.word("opaque"), this.space(), this.word("type"), this.space(), this.print(t.id), this.print(t.typeParameters), t.supertype && (this.
    tokenChar(58), this.space(), this.print(t.supertype)), t.impltype && (this.space(), this.tokenChar(61), this.space(), this.print(t.impltype)),
    this.semicolon();
  }
  n(OZe, "OpaqueType");
  function _Ze(t) {
    t.exact ? this.token("{|") : this.tokenChar(123);
    let e = [...t.properties, ...t.callProperties || [], ...t.indexers || [], ...t.internalSlots || []];
    e.length && (this.newline(), this.space(), this.printJoin(e, !0, !0, void 0, void 0, /* @__PURE__ */ n(function(r) {
      if (r && !e[0]) return 1;
    }, "addNewlines"), () => {
      (e.length !== 1 || t.inexact) && (this.tokenChar(44), this.space());
    }), this.space()), t.inexact && (this.indent(), this.token("..."), e.length && this.newline(), this.dedent()), t.exact ? this.token("|}") :
    this.tokenChar(125);
  }
  n(_Ze, "ObjectTypeAnnotation");
  function LZe(t) {
    t.static && (this.word("static"), this.space()), this.tokenChar(91), this.tokenChar(91), this.print(t.id), this.tokenChar(93), this.tokenChar(
    93), t.optional && this.tokenChar(63), t.method || (this.tokenChar(58), this.space()), this.print(t.value);
  }
  n(LZe, "ObjectTypeInternalSlot");
  function BZe(t) {
    t.static && (this.word("static"), this.space()), this.print(t.value);
  }
  n(BZe, "ObjectTypeCallProperty");
  function MZe(t) {
    t.static && (this.word("static"), this.space()), this._variance(t), this.tokenChar(91), t.id && (this.print(t.id), this.tokenChar(58), this.
    space()), this.print(t.key), this.tokenChar(93), this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(MZe, "ObjectTypeIndexer");
  function FZe(t) {
    t.proto && (this.word("proto"), this.space()), t.static && (this.word("static"), this.space()), (t.kind === "get" || t.kind === "set") &&
    (this.word(t.kind), this.space()), this._variance(t), this.print(t.key), t.optional && this.tokenChar(63), t.method || (this.tokenChar(58),
    this.space()), this.print(t.value);
  }
  n(FZe, "ObjectTypeProperty");
  function jZe(t) {
    this.token("..."), this.print(t.argument);
  }
  n(jZe, "ObjectTypeSpreadProperty");
  function RZe(t) {
    this.print(t.qualification), this.tokenChar(46), this.print(t.id);
  }
  n(RZe, "QualifiedTypeIdentifier");
  function qZe() {
    this.word("symbol");
  }
  n(qZe, "SymbolTypeAnnotation");
  function UZe(t) {
    this.space(), this.token("|", !1, t), this.space();
  }
  n(UZe, "orSeparator");
  function KZe(t) {
    this.printJoin(t.types, void 0, void 0, UZe);
  }
  n(KZe, "UnionTypeAnnotation");
  function VZe(t) {
    this.tokenChar(40), this.print(t.expression), this.print(t.typeAnnotation), this.tokenChar(41);
  }
  n(VZe, "TypeCastExpression");
  function WZe(t) {
    t.kind === "plus" ? this.tokenChar(43) : this.tokenChar(45);
  }
  n(WZe, "Variance");
  function $Ze() {
    this.word("void");
  }
  n($Ze, "VoidTypeAnnotation");
  function HZe(t) {
    this.print(t.objectType, !0), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(HZe, "IndexedAccessType");
  function JZe(t) {
    this.print(t.objectType), t.optional && this.token("?."), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(JZe, "OptionalIndexedAccessType");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/generators/base.js
var QJ = g((uu) => {
  "use strict";
  Object.defineProperty(uu, "__esModule", {
    value: !0
  });
  uu.BlockStatement = zZe;
  uu.Directive = GZe;
  uu.DirectiveLiteral = eet;
  uu.File = YZe;
  uu.InterpreterDirective = tet;
  uu.Placeholder = set;
  uu.Program = XZe;
  function YZe(t) {
    t.program && this.print(t.program.interpreter), this.print(t.program);
  }
  n(YZe, "File");
  function XZe(t) {
    var e;
    this.noIndentInnerCommentsHere(), this.printInnerComments();
    let s = (e = t.directives) == null ? void 0 : e.length;
    if (s) {
      var r;
      let i = t.body.length ? 2 : 1;
      this.printSequence(t.directives, void 0, i), (r = t.directives[s - 1].trailingComments) != null && r.length || this.newline(i);
    }
    this.printSequence(t.body);
  }
  n(XZe, "Program");
  function zZe(t) {
    var e;
    this.tokenChar(123);
    let s = this.enterDelimited(), r = (e = t.directives) == null ? void 0 : e.length;
    if (r) {
      var i;
      let a = t.body.length ? 2 : 1;
      this.printSequence(t.directives, !0, a), (i = t.directives[r - 1].trailingComments) != null && i.length || this.newline(a);
    }
    this.printSequence(t.body, !0), s(), this.rightBrace(t);
  }
  n(zZe, "BlockStatement");
  function GZe(t) {
    this.print(t.value), this.semicolon();
  }
  n(GZe, "Directive");
  var QZe = /(?:^|[^\\])(?:\\\\)*'/, ZZe = /(?:^|[^\\])(?:\\\\)*"/;
  function eet(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.token(e);
      return;
    }
    let {
      value: s
    } = t;
    if (!ZZe.test(s))
      this.token(`"${s}"`);
    else if (!QZe.test(s))
      this.token(`'${s}'`);
    else
      throw new Error("Malformed AST: it is not possible to print a directive containing both unescaped single and double quotes.");
  }
  n(eet, "DirectiveLiteral");
  function tet(t) {
    this.token(`#!${t.value}`), this.newline(1, !0);
  }
  n(tet, "InterpreterDirective");
  function set(t) {
    this.token("%%"), this.print(t.name), this.token("%%"), t.expectedNode === "Statement" && this.semicolon();
  }
  n(set, "Placeholder");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/generators/jsx.js
var ZJ = g((Ki) => {
  "use strict";
  Object.defineProperty(Ki, "__esModule", {
    value: !0
  });
  Ki.JSXAttribute = ret;
  Ki.JSXClosingElement = met;
  Ki.JSXClosingFragment = bet;
  Ki.JSXElement = het;
  Ki.JSXEmptyExpression = yet;
  Ki.JSXExpressionContainer = uet;
  Ki.JSXFragment = get;
  Ki.JSXIdentifier = iet;
  Ki.JSXMemberExpression = aet;
  Ki.JSXNamespacedName = net;
  Ki.JSXOpeningElement = det;
  Ki.JSXOpeningFragment = Tet;
  Ki.JSXSpreadAttribute = oet;
  Ki.JSXSpreadChild = cet;
  Ki.JSXText = pet;
  function ret(t) {
    this.print(t.name), t.value && (this.tokenChar(61), this.print(t.value));
  }
  n(ret, "JSXAttribute");
  function iet(t) {
    this.word(t.name);
  }
  n(iet, "JSXIdentifier");
  function net(t) {
    this.print(t.namespace), this.tokenChar(58), this.print(t.name);
  }
  n(net, "JSXNamespacedName");
  function aet(t) {
    this.print(t.object), this.tokenChar(46), this.print(t.property);
  }
  n(aet, "JSXMemberExpression");
  function oet(t) {
    this.tokenChar(123), this.token("..."), this.print(t.argument), this.rightBrace(t);
  }
  n(oet, "JSXSpreadAttribute");
  function uet(t) {
    this.tokenChar(123), this.print(t.expression), this.rightBrace(t);
  }
  n(uet, "JSXExpressionContainer");
  function cet(t) {
    this.tokenChar(123), this.token("..."), this.print(t.expression), this.rightBrace(t);
  }
  n(cet, "JSXSpreadChild");
  function pet(t) {
    let e = this.getPossibleRaw(t);
    e !== void 0 ? this.token(e, !0) : this.token(t.value, !0);
  }
  n(pet, "JSXText");
  function het(t) {
    let e = t.openingElement;
    if (this.print(e), !e.selfClosing) {
      this.indent();
      for (let s of t.children)
        this.print(s);
      this.dedent(), this.print(t.closingElement);
    }
  }
  n(het, "JSXElement");
  function fet() {
    this.space();
  }
  n(fet, "spaceSeparator");
  function det(t) {
    this.tokenChar(60), this.print(t.name), t.typeArguments && this.print(t.typeArguments), this.print(t.typeParameters), t.attributes.length >
    0 && (this.space(), this.printJoin(t.attributes, void 0, void 0, fet)), t.selfClosing && (this.space(), this.tokenChar(47)), this.tokenChar(
    62);
  }
  n(det, "JSXOpeningElement");
  function met(t) {
    this.tokenChar(60), this.tokenChar(47), this.print(t.name), this.tokenChar(62);
  }
  n(met, "JSXClosingElement");
  function yet() {
    this.printInnerComments();
  }
  n(yet, "JSXEmptyExpression");
  function get(t) {
    this.print(t.openingFragment), this.indent();
    for (let e of t.children)
      this.print(e);
    this.dedent(), this.print(t.closingFragment);
  }
  n(get, "JSXFragment");
  function Tet() {
    this.tokenChar(60), this.tokenChar(62);
  }
  n(Tet, "JSXOpeningFragment");
  function bet() {
    this.token("</"), this.tokenChar(62);
  }
  n(bet, "JSXClosingFragment");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/generators/typescript.js
var iY = g((Ye) => {
  "use strict";
  Object.defineProperty(Ye, "__esModule", {
    value: !0
  });
  Ye.TSAnyKeyword = Let;
  Ye.TSArrayType = ttt;
  Ye.TSSatisfiesExpression = Ye.TSAsExpression = xtt;
  Ye.TSBigIntKeyword = Bet;
  Ye.TSBooleanKeyword = Ret;
  Ye.TSCallSignatureDeclaration = Iet;
  Ye.TSInterfaceHeritage = Ye.TSClassImplements = ytt;
  Ye.TSConditionalType = ltt;
  Ye.TSConstructSignatureDeclaration = Net;
  Ye.TSConstructorType = Xet;
  Ye.TSDeclareFunction = vet;
  Ye.TSDeclareMethod = Cet;
  Ye.TSEnumBody = rY;
  Ye.TSEnumDeclaration = Ett;
  Ye.TSEnumMember = Att;
  Ye.TSExportAssignment = Dtt;
  Ye.TSExternalModuleReference = Ntt;
  Ye.TSFunctionType = Yet;
  Ye.TSImportEqualsDeclaration = Itt;
  Ye.TSImportType = wtt;
  Ye.TSIndexSignature = _et;
  Ye.TSIndexedAccessType = htt;
  Ye.TSInferType = utt;
  Ye.TSInstantiationExpression = Ptt;
  Ye.TSInterfaceBody = Ttt;
  Ye.TSInterfaceDeclaration = gtt;
  Ye.TSIntersectionType = ott;
  Ye.TSIntrinsicKeyword = Het;
  Ye.TSLiteralType = mtt;
  Ye.TSMappedType = ftt;
  Ye.TSMethodSignature = Oet;
  Ye.TSModuleBlock = Ctt;
  Ye.TSModuleDeclaration = vtt;
  Ye.TSNamedTupleMember = ntt;
  Ye.TSNamespaceExportDeclaration = Ott;
  Ye.TSNeverKeyword = $et;
  Ye.TSNonNullExpression = ktt;
  Ye.TSNullKeyword = Wet;
  Ye.TSNumberKeyword = Fet;
  Ye.TSObjectKeyword = jet;
  Ye.TSOptionalType = rtt;
  Ye.TSParameterProperty = Aet;
  Ye.TSParenthesizedType = ctt;
  Ye.TSPropertySignature = ket;
  Ye.TSQualifiedName = wet;
  Ye.TSRestType = itt;
  Ye.TSStringKeyword = qet;
  Ye.TSSymbolKeyword = Uet;
  Ye.TSTemplateLiteralType = dtt;
  Ye.TSThisType = Jet;
  Ye.TSTupleType = stt;
  Ye.TSTypeAliasDeclaration = btt;
  Ye.TSTypeAnnotation = xet;
  Ye.TSTypeAssertion = Stt;
  Ye.TSTypeLiteral = ett;
  Ye.TSTypeOperator = ptt;
  Ye.TSTypeParameter = Eet;
  Ye.TSTypeParameterDeclaration = Ye.TSTypeParameterInstantiation = Pet;
  Ye.TSTypePredicate = Qet;
  Ye.TSTypeQuery = Zet;
  Ye.TSTypeReference = Get;
  Ye.TSUndefinedKeyword = Vet;
  Ye.TSUnionType = att;
  Ye.TSUnknownKeyword = Met;
  Ye.TSVoidKeyword = Ket;
  Ye.tsPrintClassMemberModifiers = Ltt;
  Ye.tsPrintFunctionOrConstructorType = zet;
  Ye.tsPrintPropertyOrMethodName = Det;
  Ye.tsPrintSignatureDeclarationBase = _tt;
  function xet(t, e) {
    this.token((e.type === "TSFunctionType" || e.type === "TSConstructorType") && e.typeAnnotation === t ? "=>" : ":"), this.space(), t.optional &&
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(xet, "TSTypeAnnotation");
  function Pet(t, e) {
    this.tokenChar(60);
    let s = e.type === "ArrowFunctionExpression" && t.params.length === 1;
    this.tokenMap && t.start != null && t.end != null && (s && (s = !!this.tokenMap.find(t, (r) => this.tokenMap.matchesOriginal(r, ","))), s ||
    (s = this.shouldPrintTrailingComma(">"))), this.printList(t.params, s), this.tokenChar(62);
  }
  n(Pet, "TSTypeParameterInstantiation");
  function Eet(t) {
    t.in && (this.word("in"), this.space()), t.out && (this.word("out"), this.space()), this.word(t.name), t.constraint && (this.space(), this.
    word("extends"), this.space(), this.print(t.constraint)), t.default && (this.space(), this.tokenChar(61), this.space(), this.print(t.default));
  }
  n(Eet, "TSTypeParameter");
  function Aet(t) {
    t.accessibility && (this.word(t.accessibility), this.space()), t.readonly && (this.word("readonly"), this.space()), this._param(t.parameter);
  }
  n(Aet, "TSParameterProperty");
  function vet(t, e) {
    t.declare && (this.word("declare"), this.space()), this._functionHead(t, e), this.semicolon();
  }
  n(vet, "TSDeclareFunction");
  function Cet(t) {
    this._classMethodHead(t), this.semicolon();
  }
  n(Cet, "TSDeclareMethod");
  function wet(t) {
    this.print(t.left), this.tokenChar(46), this.print(t.right);
  }
  n(wet, "TSQualifiedName");
  function Iet(t) {
    this.tsPrintSignatureDeclarationBase(t), Lg(this, t);
  }
  n(Iet, "TSCallSignatureDeclaration");
  function Lg(t, e) {
    if (!t.tokenMap || !e.start || !e.end) {
      t.semicolon();
      return;
    }
    t.tokenMap.endMatches(e, ",") ? t.token(",") : t.tokenMap.endMatches(e, ";") && t.semicolon();
  }
  n(Lg, "maybePrintTrailingCommaOrSemicolon");
  function Net(t) {
    this.word("new"), this.space(), this.tsPrintSignatureDeclarationBase(t), Lg(this, t);
  }
  n(Net, "TSConstructSignatureDeclaration");
  function ket(t) {
    let {
      readonly: e
    } = t;
    e && (this.word("readonly"), this.space()), this.tsPrintPropertyOrMethodName(t), this.print(t.typeAnnotation), Lg(this, t);
  }
  n(ket, "TSPropertySignature");
  function Det(t) {
    t.computed && this.tokenChar(91), this.print(t.key), t.computed && this.tokenChar(93), t.optional && this.tokenChar(63);
  }
  n(Det, "tsPrintPropertyOrMethodName");
  function Oet(t) {
    let {
      kind: e
    } = t;
    (e === "set" || e === "get") && (this.word(e), this.space()), this.tsPrintPropertyOrMethodName(t), this.tsPrintSignatureDeclarationBase(
    t), Lg(this, t);
  }
  n(Oet, "TSMethodSignature");
  function _et(t) {
    let {
      readonly: e,
      static: s
    } = t;
    s && (this.word("static"), this.space()), e && (this.word("readonly"), this.space()), this.tokenChar(91), this._parameters(t.parameters,
    "]"), this.print(t.typeAnnotation), Lg(this, t);
  }
  n(_et, "TSIndexSignature");
  function Let() {
    this.word("any");
  }
  n(Let, "TSAnyKeyword");
  function Bet() {
    this.word("bigint");
  }
  n(Bet, "TSBigIntKeyword");
  function Met() {
    this.word("unknown");
  }
  n(Met, "TSUnknownKeyword");
  function Fet() {
    this.word("number");
  }
  n(Fet, "TSNumberKeyword");
  function jet() {
    this.word("object");
  }
  n(jet, "TSObjectKeyword");
  function Ret() {
    this.word("boolean");
  }
  n(Ret, "TSBooleanKeyword");
  function qet() {
    this.word("string");
  }
  n(qet, "TSStringKeyword");
  function Uet() {
    this.word("symbol");
  }
  n(Uet, "TSSymbolKeyword");
  function Ket() {
    this.word("void");
  }
  n(Ket, "TSVoidKeyword");
  function Vet() {
    this.word("undefined");
  }
  n(Vet, "TSUndefinedKeyword");
  function Wet() {
    this.word("null");
  }
  n(Wet, "TSNullKeyword");
  function $et() {
    this.word("never");
  }
  n($et, "TSNeverKeyword");
  function Het() {
    this.word("intrinsic");
  }
  n(Het, "TSIntrinsicKeyword");
  function Jet() {
    this.word("this");
  }
  n(Jet, "TSThisType");
  function Yet(t) {
    this.tsPrintFunctionOrConstructorType(t);
  }
  n(Yet, "TSFunctionType");
  function Xet(t) {
    t.abstract && (this.word("abstract"), this.space()), this.word("new"), this.space(), this.tsPrintFunctionOrConstructorType(t);
  }
  n(Xet, "TSConstructorType");
  function zet(t) {
    let {
      typeParameters: e
    } = t, s = t.parameters;
    this.print(e), this.tokenChar(40), this._parameters(s, ")"), this.space();
    let r = t.typeAnnotation;
    this.print(r);
  }
  n(zet, "tsPrintFunctionOrConstructorType");
  function Get(t) {
    let e = t.typeParameters;
    this.print(t.typeName, !!e), this.print(e);
  }
  n(Get, "TSTypeReference");
  function Qet(t) {
    t.asserts && (this.word("asserts"), this.space()), this.print(t.parameterName), t.typeAnnotation && (this.space(), this.word("is"), this.
    space(), this.print(t.typeAnnotation.typeAnnotation));
  }
  n(Qet, "TSTypePredicate");
  function Zet(t) {
    this.word("typeof"), this.space(), this.print(t.exprName);
    let e = t.typeParameters;
    e && this.print(e);
  }
  n(Zet, "TSTypeQuery");
  function ett(t) {
    IS(this, t, () => this.printJoin(t.members, !0, !0));
  }
  n(ett, "TSTypeLiteral");
  function ttt(t) {
    this.print(t.elementType, !0), this.tokenChar(91), this.tokenChar(93);
  }
  n(ttt, "TSArrayType");
  function stt(t) {
    this.tokenChar(91), this.printList(t.elementTypes, this.shouldPrintTrailingComma("]")), this.tokenChar(93);
  }
  n(stt, "TSTupleType");
  function rtt(t) {
    this.print(t.typeAnnotation), this.tokenChar(63);
  }
  n(rtt, "TSOptionalType");
  function itt(t) {
    this.token("..."), this.print(t.typeAnnotation);
  }
  n(itt, "TSRestType");
  function ntt(t) {
    this.print(t.label), t.optional && this.tokenChar(63), this.tokenChar(58), this.space(), this.print(t.elementType);
  }
  n(ntt, "TSNamedTupleMember");
  function att(t) {
    sY(this, t, "|");
  }
  n(att, "TSUnionType");
  function ott(t) {
    sY(this, t, "&");
  }
  n(ott, "TSIntersectionType");
  function sY(t, e, s) {
    var r;
    let i = 0;
    (r = t.tokenMap) != null && r.startMatches(e, s) && (i = 1, t.token(s)), t.printJoin(e.types, void 0, void 0, function(a) {
      this.space(), this.token(s, null, a + i), this.space();
    });
  }
  n(sY, "tsPrintUnionOrIntersectionType");
  function ltt(t) {
    this.print(t.checkType), this.space(), this.word("extends"), this.space(), this.print(t.extendsType), this.space(), this.tokenChar(63), this.
    space(), this.print(t.trueType), this.space(), this.tokenChar(58), this.space(), this.print(t.falseType);
  }
  n(ltt, "TSConditionalType");
  function utt(t) {
    this.word("infer"), this.print(t.typeParameter);
  }
  n(utt, "TSInferType");
  function ctt(t) {
    this.tokenChar(40), this.print(t.typeAnnotation), this.tokenChar(41);
  }
  n(ctt, "TSParenthesizedType");
  function ptt(t) {
    this.word(t.operator), this.space(), this.print(t.typeAnnotation);
  }
  n(ptt, "TSTypeOperator");
  function htt(t) {
    this.print(t.objectType, !0), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(htt, "TSIndexedAccessType");
  function ftt(t) {
    let {
      nameType: e,
      optional: s,
      readonly: r,
      typeAnnotation: i
    } = t;
    this.tokenChar(123);
    let a = this.enterDelimited();
    this.space(), r && (eY(this, r), this.word("readonly"), this.space()), this.tokenChar(91), this.word(t.typeParameter.name), this.space(),
    this.word("in"), this.space(), this.print(t.typeParameter.constraint), e && (this.space(), this.word("as"), this.space(), this.print(e)),
    this.tokenChar(93), s && (eY(this, s), this.tokenChar(63)), i && (this.tokenChar(58), this.space(), this.print(i)), this.space(), a(), this.
    tokenChar(125);
  }
  n(ftt, "TSMappedType");
  function eY(t, e) {
    e !== !0 && t.token(e);
  }
  n(eY, "tokenIfPlusMinus");
  function dtt(t) {
    this._printTemplate(t, t.types);
  }
  n(dtt, "TSTemplateLiteralType");
  function mtt(t) {
    this.print(t.literal);
  }
  n(mtt, "TSLiteralType");
  function ytt(t) {
    this.print(t.expression), this.print(t.typeArguments);
  }
  n(ytt, "TSClassImplements");
  function gtt(t) {
    let {
      declare: e,
      id: s,
      typeParameters: r,
      extends: i,
      body: a
    } = t;
    e && (this.word("declare"), this.space()), this.word("interface"), this.space(), this.print(s), this.print(r), i != null && i.length && (this.
    space(), this.word("extends"), this.space(), this.printList(i)), this.space(), this.print(a);
  }
  n(gtt, "TSInterfaceDeclaration");
  function Ttt(t) {
    IS(this, t, () => this.printJoin(t.body, !0, !0));
  }
  n(Ttt, "TSInterfaceBody");
  function btt(t) {
    let {
      declare: e,
      id: s,
      typeParameters: r,
      typeAnnotation: i
    } = t;
    e && (this.word("declare"), this.space()), this.word("type"), this.space(), this.print(s), this.print(r), this.space(), this.tokenChar(61),
    this.space(), this.print(i), this.semicolon();
  }
  n(btt, "TSTypeAliasDeclaration");
  function xtt(t) {
    let {
      type: e,
      expression: s,
      typeAnnotation: r
    } = t;
    this.print(s, !0), this.space(), this.word(e === "TSAsExpression" ? "as" : "satisfies"), this.space(), this.print(r);
  }
  n(xtt, "TSTypeExpression");
  function Stt(t) {
    let {
      typeAnnotation: e,
      expression: s
    } = t;
    this.tokenChar(60), this.print(e), this.tokenChar(62), this.space(), this.print(s);
  }
  n(Stt, "TSTypeAssertion");
  function Ptt(t) {
    this.print(t.expression), this.print(t.typeParameters);
  }
  n(Ptt, "TSInstantiationExpression");
  function Ett(t) {
    let {
      declare: e,
      const: s,
      id: r
    } = t;
    e && (this.word("declare"), this.space()), s && (this.word("const"), this.space()), this.word("enum"), this.space(), this.print(r), this.
    space(), rY.call(this, t);
  }
  n(Ett, "TSEnumDeclaration");
  function rY(t) {
    IS(this, t, () => {
      var e;
      return this.printList(t.members, (e = this.shouldPrintTrailingComma("}")) != null ? e : !0, !0, !0);
    });
  }
  n(rY, "TSEnumBody");
  function Att(t) {
    let {
      id: e,
      initializer: s
    } = t;
    this.print(e), s && (this.space(), this.tokenChar(61), this.space(), this.print(s));
  }
  n(Att, "TSEnumMember");
  function vtt(t) {
    let {
      declare: e,
      id: s,
      kind: r
    } = t;
    e && (this.word("declare"), this.space());
    {
      if (t.global || (this.word(r ?? (s.type === "Identifier" ? "namespace" : "module")), this.space()), this.print(s), !t.body) {
        this.semicolon();
        return;
      }
      let i = t.body;
      for (; i.type === "TSModuleDeclaration"; )
        this.tokenChar(46), this.print(i.id), i = i.body;
      this.space(), this.print(i);
    }
  }
  n(vtt, "TSModuleDeclaration");
  function Ctt(t) {
    IS(this, t, () => this.printSequence(t.body, !0));
  }
  n(Ctt, "TSModuleBlock");
  function wtt(t) {
    let {
      argument: e,
      qualifier: s,
      options: r
    } = t;
    this.word("import"), this.tokenChar(40), this.print(e), r && (this.tokenChar(44), this.print(r)), this.tokenChar(41), s && (this.tokenChar(
    46), this.print(s));
    let i = t.typeParameters;
    i && this.print(i);
  }
  n(wtt, "TSImportType");
  function Itt(t) {
    let {
      id: e,
      moduleReference: s
    } = t;
    t.isExport && (this.word("export"), this.space()), this.word("import"), this.space(), this.print(e), this.space(), this.tokenChar(61), this.
    space(), this.print(s), this.semicolon();
  }
  n(Itt, "TSImportEqualsDeclaration");
  function Ntt(t) {
    this.token("require("), this.print(t.expression), this.tokenChar(41);
  }
  n(Ntt, "TSExternalModuleReference");
  function ktt(t) {
    this.print(t.expression), this.tokenChar(33);
  }
  n(ktt, "TSNonNullExpression");
  function Dtt(t) {
    this.word("export"), this.space(), this.tokenChar(61), this.space(), this.print(t.expression), this.semicolon();
  }
  n(Dtt, "TSExportAssignment");
  function Ott(t) {
    this.word("export"), this.space(), this.word("as"), this.space(), this.word("namespace"), this.space(), this.print(t.id), this.semicolon();
  }
  n(Ott, "TSNamespaceExportDeclaration");
  function _tt(t) {
    let {
      typeParameters: e
    } = t, s = t.parameters;
    this.print(e), this.tokenChar(40), this._parameters(s, ")");
    let r = t.typeAnnotation;
    this.print(r);
  }
  n(_tt, "tsPrintSignatureDeclarationBase");
  function Ltt(t) {
    let e = t.type === "ClassPrivateProperty", s = t.type === "ClassAccessorProperty" || t.type === "ClassProperty";
    tY(this, t, [s && t.declare && "declare", !e && t.accessibility]), t.static && (this.word("static"), this.space()), tY(this, t, [!e && t.
    override && "override", !e && t.abstract && "abstract", (s || e) && t.readonly && "readonly"]);
  }
  n(Ltt, "tsPrintClassMemberModifiers");
  function IS(t, e, s) {
    t.token("{");
    let r = t.enterDelimited();
    s(), r(), t.rightBrace(e);
  }
  n(IS, "printBraced");
  function tY(t, e, s) {
    var r;
    let i = /* @__PURE__ */ new Set();
    for (let a of s)
      a && i.add(a);
    (r = t.tokenMap) == null || r.find(e, (a) => {
      if (i.has(a.value))
        return t.token(a.value), t.space(), i.delete(a.value), i.size === 0;
    });
    for (let a of i)
      t.word(a), t.space();
  }
  n(tY, "printModifiersList");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/generators/index.js
var nY = g((ks) => {
  "use strict";
  Object.defineProperty(ks, "__esModule", {
    value: !0
  });
  var QD = BJ();
  Object.keys(QD).forEach(function(t) {
    t === "default" || t === "__esModule" || t in ks && ks[t] === QD[t] || Object.defineProperty(ks, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return QD[t];
      }, "get")
    });
  });
  var ZD = FJ();
  Object.keys(ZD).forEach(function(t) {
    t === "default" || t === "__esModule" || t in ks && ks[t] === ZD[t] || Object.defineProperty(ks, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return ZD[t];
      }, "get")
    });
  });
  var eO = UJ();
  Object.keys(eO).forEach(function(t) {
    t === "default" || t === "__esModule" || t in ks && ks[t] === eO[t] || Object.defineProperty(ks, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return eO[t];
      }, "get")
    });
  });
  var tO = KJ();
  Object.keys(tO).forEach(function(t) {
    t === "default" || t === "__esModule" || t in ks && ks[t] === tO[t] || Object.defineProperty(ks, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return tO[t];
      }, "get")
    });
  });
  var sO = VJ();
  Object.keys(sO).forEach(function(t) {
    t === "default" || t === "__esModule" || t in ks && ks[t] === sO[t] || Object.defineProperty(ks, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return sO[t];
      }, "get")
    });
  });
  var rO = YD();
  Object.keys(rO).forEach(function(t) {
    t === "default" || t === "__esModule" || t in ks && ks[t] === rO[t] || Object.defineProperty(ks, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return rO[t];
      }, "get")
    });
  });
  var iO = zD();
  Object.keys(iO).forEach(function(t) {
    t === "default" || t === "__esModule" || t in ks && ks[t] === iO[t] || Object.defineProperty(ks, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return iO[t];
      }, "get")
    });
  });
  var nO = GJ();
  Object.keys(nO).forEach(function(t) {
    t === "default" || t === "__esModule" || t in ks && ks[t] === nO[t] || Object.defineProperty(ks, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return nO[t];
      }, "get")
    });
  });
  var aO = QJ();
  Object.keys(aO).forEach(function(t) {
    t === "default" || t === "__esModule" || t in ks && ks[t] === aO[t] || Object.defineProperty(ks, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return aO[t];
      }, "get")
    });
  });
  var oO = ZJ();
  Object.keys(oO).forEach(function(t) {
    t === "default" || t === "__esModule" || t in ks && ks[t] === oO[t] || Object.defineProperty(ks, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return oO[t];
      }, "get")
    });
  });
  var lO = iY();
  Object.keys(lO).forEach(function(t) {
    t === "default" || t === "__esModule" || t in ks && ks[t] === lO[t] || Object.defineProperty(ks, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return lO[t];
      }, "get")
    });
  });
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/generators/deprecated.js
var aY = g((uO) => {
  "use strict";
  Object.defineProperty(uO, "__esModule", {
    value: !0
  });
  uO.addDeprecatedGenerators = Btt;
  function Btt(t) {
    {
      let e = {
        Noop() {
        },
        TSExpressionWithTypeArguments(s) {
          this.print(s.expression), this.print(s.typeParameters);
        },
        DecimalLiteral(s) {
          let r = this.getPossibleRaw(s);
          if (!this.format.minified && r !== void 0) {
            this.word(r);
            return;
          }
          this.word(s.value + "m");
        }
      };
      Object.assign(t.prototype, e);
    }
  }
  n(Btt, "addDeprecatedGenerators");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/printer.js
var cY = g((NS) => {
  "use strict";
  Object.defineProperty(NS, "__esModule", {
    value: !0
  });
  NS.default = void 0;
  var Mtt = gJ(), lY = $c(), Ftt = fe(), jtt = LJ(), Rtt = nY(), qtt = aY(), {
    isExpression: Utt,
    isFunction: Ktt,
    isStatement: Vtt,
    isClassBody: Wtt,
    isTSInterfaceBody: $tt,
    isTSEnumMember: Htt
  } = Ftt, Jtt = /e/i, Ytt = /\.0+$/, uY = /[\n\r\u2028\u2029]/, Xtt = /[\n\r\u2028\u2029]|\*\//;
  function oY(t) {
    return t.type === "CommentLine" || uY.test(t.value);
  }
  n(oY, "commentIsNewline");
  var {
    needsParens: ztt
  } = lY, Bg = class {
    static {
      n(this, "Printer");
    }
    constructor(e, s, r, i) {
      this.inForStatementInit = !1, this.tokenContext = 0, this._tokens = null, this._originalCode = null, this._currentNode = null, this._indent =
      0, this._indentRepeat = 0, this._insideAux = !1, this._noLineTerminator = !1, this._noLineTerminatorAfterNode = null, this._printAuxAfterOnNextUserNode =
      !1, this._printedComments = /* @__PURE__ */ new Set(), this._endsWithInteger = !1, this._endsWithWord = !1, this._endsWithDiv = !1, this.
      _lastCommentLine = 0, this._endsWithInnerRaw = !1, this._indentInnerComments = !0, this.tokenMap = null, this._boundGetRawIdentifier =
      this._getRawIdentifier.bind(this), this._printSemicolonBeforeNextNode = -1, this._printSemicolonBeforeNextToken = -1, this.format = e,
      this._tokens = r, this._originalCode = i, this._indentRepeat = e.indent.style.length, this._inputMap = s?._inputMap, this._buf = new Mtt.
      default(s, e.indent.style[0]);
    }
    enterForStatementInit() {
      return this.inForStatementInit ? () => {
      } : (this.inForStatementInit = !0, () => {
        this.inForStatementInit = !1;
      });
    }
    enterDelimited() {
      let e = this.inForStatementInit, s = this._noLineTerminatorAfterNode;
      return e === !1 && s === null ? () => {
      } : (this.inForStatementInit = !1, this._noLineTerminatorAfterNode = null, () => {
        this.inForStatementInit = e, this._noLineTerminatorAfterNode = s;
      });
    }
    generate(e) {
      return this.format.preserveFormat && (this.tokenMap = new jtt.TokenMap(e, this._tokens, this._originalCode)), this.print(e), this._maybeAddAuxComment(),
      this._buf.get();
    }
    indent() {
      let {
        format: e
      } = this;
      e.preserveFormat || e.compact || e.concise || this._indent++;
    }
    dedent() {
      let {
        format: e
      } = this;
      e.preserveFormat || e.compact || e.concise || this._indent--;
    }
    semicolon(e = !1) {
      if (this._maybeAddAuxComment(), e) {
        this._appendChar(59), this._noLineTerminator = !1;
        return;
      }
      if (this.tokenMap) {
        let s = this._currentNode;
        if (s.start != null && s.end != null) {
          if (!this.tokenMap.endMatches(s, ";")) {
            this._printSemicolonBeforeNextNode = this._buf.getCurrentLine();
            return;
          }
          let r = this.tokenMap.getIndexes(this._currentNode);
          this._catchUpTo(this._tokens[r[r.length - 1]].loc.start);
        }
      }
      this._queue(59), this._noLineTerminator = !1;
    }
    rightBrace(e) {
      this.format.minified && this._buf.removeLastSemicolon(), this.sourceWithOffset("end", e.loc, -1), this.tokenChar(125);
    }
    rightParens(e) {
      this.sourceWithOffset("end", e.loc, -1), this.tokenChar(41);
    }
    space(e = !1) {
      let {
        format: s
      } = this;
      if (!(s.compact || s.preserveFormat)) {
        if (e)
          this._space();
        else if (this._buf.hasContent()) {
          let r = this.getLastChar();
          r !== 32 && r !== 10 && this._space();
        }
      }
    }
    word(e, s = !1) {
      this.tokenContext = 0, this._maybePrintInnerComments(e), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(e), (this.
      _endsWithWord || this._endsWithDiv && e.charCodeAt(0) === 47) && this._space(), this._append(e, !1), this._endsWithWord = !0, this._noLineTerminator =
      s;
    }
    number(e, s) {
      function r(i) {
        if (i.length > 2 && i.charCodeAt(0) === 48) {
          let a = i.charCodeAt(1);
          return a === 98 || a === 111 || a === 120;
        }
        return !1;
      }
      n(r, "isNonDecimalLiteral"), this.word(e), this._endsWithInteger = Number.isInteger(s) && !r(e) && !Jtt.test(e) && !Ytt.test(e) && e.charCodeAt(
      e.length - 1) !== 46;
    }
    token(e, s = !1, r = 0) {
      this.tokenContext = 0, this._maybePrintInnerComments(e, r), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(e,
      r);
      let i = this.getLastChar(), a = e.charCodeAt(0);
      (i === 33 && (e === "--" || a === 61) || a === 43 && i === 43 || a === 45 && i === 45 || a === 46 && this._endsWithInteger) && this._space(),
      this._append(e, s), this._noLineTerminator = !1;
    }
    tokenChar(e) {
      this.tokenContext = 0;
      let s = String.fromCharCode(e);
      this._maybePrintInnerComments(s), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(s);
      let r = this.getLastChar();
      (e === 43 && r === 43 || e === 45 && r === 45 || e === 46 && this._endsWithInteger) && this._space(), this._appendChar(e), this._noLineTerminator =
      !1;
    }
    newline(e = 1, s) {
      if (!(e <= 0)) {
        if (!s) {
          if (this.format.retainLines || this.format.compact) return;
          if (this.format.concise) {
            this.space();
            return;
          }
        }
        e > 2 && (e = 2), e -= this._buf.getNewlineCount();
        for (let r = 0; r < e; r++)
          this._newline();
      }
    }
    endsWith(e) {
      return this.getLastChar() === e;
    }
    getLastChar() {
      return this._buf.getLastChar();
    }
    endsWithCharAndNewline() {
      return this._buf.endsWithCharAndNewline();
    }
    removeTrailingNewline() {
      this._buf.removeTrailingNewline();
    }
    exactSource(e, s) {
      if (!e) {
        s();
        return;
      }
      this._catchUp("start", e), this._buf.exactSource(e, s);
    }
    source(e, s) {
      s && (this._catchUp(e, s), this._buf.source(e, s));
    }
    sourceWithOffset(e, s, r) {
      !s || this.format.preserveFormat || (this._catchUp(e, s), this._buf.sourceWithOffset(e, s, r));
    }
    sourceIdentifierName(e, s) {
      if (!this._buf._canMarkIdName) return;
      let r = this._buf._sourcePosition;
      r.identifierNamePos = s, r.identifierName = e;
    }
    _space() {
      this._queue(32);
    }
    _newline() {
      this._queue(10);
    }
    _catchUpToCurrentToken(e, s = 0) {
      let r = this.tokenMap.findMatching(this._currentNode, e, s);
      r && this._catchUpTo(r.loc.start), this._printSemicolonBeforeNextToken !== -1 && this._printSemicolonBeforeNextToken === this._buf.getCurrentLine() &&
      (this._buf.appendChar(59), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1), this._printSemicolonBeforeNextToken =
      -1, this._printSemicolonBeforeNextNode = -1;
    }
    _append(e, s) {
      this._maybeIndent(e.charCodeAt(0)), this._buf.append(e, s), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1;
    }
    _appendChar(e) {
      this._maybeIndent(e), this._buf.appendChar(e), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1;
    }
    _queue(e) {
      this._maybeIndent(e), this._buf.queue(e), this._endsWithWord = !1, this._endsWithInteger = !1;
    }
    _maybeIndent(e) {
      this._indent && e !== 10 && this.endsWith(10) && this._buf.queueIndentation(this._getIndent());
    }
    _shouldIndent(e) {
      if (this._indent && e !== 10 && this.endsWith(10))
        return !0;
    }
    catchUp(e) {
      if (!this.format.retainLines) return;
      let s = e - this._buf.getCurrentLine();
      for (let r = 0; r < s; r++)
        this._newline();
    }
    _catchUp(e, s) {
      let {
        format: r
      } = this;
      if (!r.preserveFormat) {
        r.retainLines && s != null && s[e] && this.catchUp(s[e].line);
        return;
      }
      let i = s?.[e];
      i != null && this._catchUpTo(i);
    }
    _catchUpTo({
      line: e,
      column: s,
      index: r
    }) {
      let i = e - this._buf.getCurrentLine();
      if (i > 0 && this._noLineTerminator)
        return;
      for (let o = 0; o < i; o++)
        this._newline();
      let a = i > 0 ? s : s - this._buf.getCurrentColumn();
      if (a > 0) {
        let o = this._originalCode ? this._originalCode.slice(r - a, r).replace(/[^\t\x0B\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/gu,
        " ") : " ".repeat(a);
        this._append(o, !1);
      }
    }
    _getIndent() {
      return this._indentRepeat * this._indent;
    }
    printTerminatorless(e) {
      this._noLineTerminator = !0, this.print(e);
    }
    print(e, s, r) {
      var i, a, o;
      if (!e) return;
      this._endsWithInnerRaw = !1;
      let l = e.type, u = this.format, c = u.concise;
      e._compact && (u.concise = !0);
      let p = this[l];
      if (p === void 0)
        throw new ReferenceError(`unknown node of type ${JSON.stringify(l)} with constructor ${JSON.stringify(e.constructor.name)}`);
      let h = this._currentNode;
      this._currentNode = e, this.tokenMap && (this._printSemicolonBeforeNextToken = this._printSemicolonBeforeNextNode);
      let f = this._insideAux;
      this._insideAux = e.loc == null, this._maybeAddAuxComment(this._insideAux && !f);
      let d = (i = e.extra) == null ? void 0 : i.parenthesized, m = d && u.preserveFormat || d && u.retainFunctionParens && l === "FunctionE\
xpression" || ztt(e, h, this.tokenContext, this.inForStatementInit, u.preserveFormat ? this._boundGetRawIdentifier : void 0);
      if (!m && d && (a = e.leadingComments) != null && a.length && e.leadingComments[0].type === "CommentBlock")
        switch (h?.type) {
          case "ExpressionStatement":
          case "VariableDeclarator":
          case "AssignmentExpression":
          case "ReturnStatement":
            break;
          case "CallExpression":
          case "OptionalCallExpression":
          case "NewExpression":
            if (h.callee !== e) break;
          default:
            m = !0;
        }
      let y = !1;
      !m && this._noLineTerminator && ((o = e.leadingComments) != null && o.some(oY) || this.format.retainLines && e.loc && e.loc.start.line >
      this._buf.getCurrentLine()) && (m = !0, y = !0);
      let T, b;
      if (!m && (s || (s = h && this._noLineTerminatorAfterNode === h && lY.isLastChild(h, e)), s)) {
        var E;
        (E = e.trailingComments) != null && E.some(oY) ? Utt(e) && (m = !0) : (T = this._noLineTerminatorAfterNode, this._noLineTerminatorAfterNode =
        e);
      }
      m && (this.tokenChar(40), y && this.indent(), this._endsWithInnerRaw = !1, this.inForStatementInit && (b = !0, this.inForStatementInit =
      !1), T = this._noLineTerminatorAfterNode, this._noLineTerminatorAfterNode = null), this._lastCommentLine = 0, this._printLeadingComments(
      e, h);
      let V = l === "Program" || l === "File" ? null : e.loc;
      this.exactSource(V, p.bind(this, e, h)), m ? (this._printTrailingComments(e, h), y && (this.dedent(), this.newline()), this.tokenChar(
      41), this._noLineTerminator = s, b && (this.inForStatementInit = !0)) : s && !this._noLineTerminator ? (this._noLineTerminator = !0, this.
      _printTrailingComments(e, h)) : this._printTrailingComments(e, h, r), this._currentNode = h, u.concise = c, this._insideAux = f, T !==
      void 0 && (this._noLineTerminatorAfterNode = T), this._endsWithInnerRaw = !1;
    }
    _maybeAddAuxComment(e) {
      e && this._printAuxBeforeComment(), this._insideAux || this._printAuxAfterComment();
    }
    _printAuxBeforeComment() {
      if (this._printAuxAfterOnNextUserNode) return;
      this._printAuxAfterOnNextUserNode = !0;
      let e = this.format.auxiliaryCommentBefore;
      e && this._printComment({
        type: "CommentBlock",
        value: e
      }, 0);
    }
    _printAuxAfterComment() {
      if (!this._printAuxAfterOnNextUserNode) return;
      this._printAuxAfterOnNextUserNode = !1;
      let e = this.format.auxiliaryCommentAfter;
      e && this._printComment({
        type: "CommentBlock",
        value: e
      }, 0);
    }
    getPossibleRaw(e) {
      let s = e.extra;
      if (s?.raw != null && s.rawValue != null && e.value === s.rawValue)
        return s.raw;
    }
    printJoin(e, s, r, i, a, o, l, u) {
      if (!(e != null && e.length)) return;
      if (r == null && this.format.retainLines) {
        var c;
        let y = (c = e[0].loc) == null ? void 0 : c.start.line;
        y != null && y !== this._buf.getCurrentLine() && (r = !0);
      }
      r && this.indent();
      let p = {
        addNewlines: o,
        nextNodeStartLine: 0
      }, h = i?.bind(this), f = e.length;
      for (let y = 0; y < f; y++) {
        let T = e[y];
        if (T && (s && this._printNewline(y === 0, p), this.print(T, void 0, u || 0), l?.(T, y), h != null && (y < f - 1 ? h(y, !1) : a && h(
        y, !0)), s)) {
          var d;
          if ((d = T.trailingComments) != null && d.length || (this._lastCommentLine = 0), y + 1 === f)
            this.newline(1);
          else {
            var m;
            let b = e[y + 1];
            p.nextNodeStartLine = ((m = b.loc) == null ? void 0 : m.start.line) || 0, this._printNewline(!0, p);
          }
        }
      }
      r && this.dedent();
    }
    printAndIndentOnComments(e) {
      let s = e.leadingComments && e.leadingComments.length > 0;
      s && this.indent(), this.print(e), s && this.dedent();
    }
    printBlock(e) {
      let s = e.body;
      s.type !== "EmptyStatement" && this.space(), this.print(s);
    }
    _printTrailingComments(e, s, r) {
      let {
        innerComments: i,
        trailingComments: a
      } = e;
      i != null && i.length && this._printComments(2, i, e, s, r), a != null && a.length && this._printComments(2, a, e, s, r);
    }
    _printLeadingComments(e, s) {
      let r = e.leadingComments;
      r != null && r.length && this._printComments(0, r, e, s);
    }
    _maybePrintInnerComments(e, s) {
      if (this._endsWithInnerRaw) {
        var r;
        this.printInnerComments((r = this.tokenMap) == null ? void 0 : r.findMatching(this._currentNode, e, s));
      }
      this._endsWithInnerRaw = !0, this._indentInnerComments = !0;
    }
    printInnerComments(e) {
      let s = this._currentNode, r = s.innerComments;
      if (!(r != null && r.length)) return;
      let i = this.endsWith(32), a = this._indentInnerComments, o = this._printedComments.size;
      a && this.indent(), this._printComments(1, r, s, void 0, void 0, e), i && o !== this._printedComments.size && this.space(), a && this.
      dedent();
    }
    noIndentInnerCommentsHere() {
      this._indentInnerComments = !1;
    }
    printSequence(e, s, r, i) {
      this.printJoin(e, !0, s ?? !1, void 0, void 0, i, void 0, r);
    }
    printList(e, s, r, i, a, o) {
      this.printJoin(e, r, i, a ?? Gtt, s, void 0, o);
    }
    shouldPrintTrailingComma(e) {
      if (!this.tokenMap) return null;
      let s = this.tokenMap.findLastIndex(this._currentNode, (r) => this.tokenMap.matchesOriginal(r, e));
      return s <= 0 ? null : this.tokenMap.matchesOriginal(this._tokens[s - 1], ",");
    }
    _printNewline(e, s) {
      let r = this.format;
      if (r.retainLines || r.compact) return;
      if (r.concise) {
        this.space();
        return;
      }
      if (!e)
        return;
      let i = s.nextNodeStartLine, a = this._lastCommentLine;
      if (i > 0 && a > 0) {
        let o = i - a;
        if (o >= 0) {
          this.newline(o || 1);
          return;
        }
      }
      this._buf.hasContent() && this.newline(1);
    }
    _shouldPrintComment(e, s) {
      if (e.ignore || this._printedComments.has(e)) return 0;
      if (this._noLineTerminator && Xtt.test(e.value))
        return 2;
      if (s && this.tokenMap) {
        let r = this.tokenMap.find(this._currentNode, (i) => i.value === e.value);
        if (r && r.start > s.start)
          return 2;
      }
      return this._printedComments.add(e), this.format.shouldPrintComment(e.value) ? 1 : 0;
    }
    _printComment(e, s) {
      let r = this._noLineTerminator, i = e.type === "CommentBlock", a = i && s !== 1 && !this._noLineTerminator;
      a && this._buf.hasContent() && s !== 2 && this.newline(1);
      let o = this.getLastChar();
      o !== 91 && o !== 123 && o !== 40 && this.space();
      let l;
      if (i) {
        if (l = `/*${e.value}*/`, this.format.indent.adjustMultilineComment) {
          var u;
          let c = (u = e.loc) == null ? void 0 : u.start.column;
          if (c) {
            let p = new RegExp("\\n\\s{1," + c + "}", "g");
            l = l.replace(p, `
`);
          }
          if (this.format.concise)
            l = l.replace(/\n(?!$)/g, `
`);
          else {
            let p = this.format.retainLines ? 0 : this._buf.getCurrentColumn();
            (this._shouldIndent(47) || this.format.retainLines) && (p += this._getIndent()), l = l.replace(/\n(?!$)/g, `
${" ".repeat(p)}`);
          }
        }
      } else r ? l = `/*${e.value}*/` : l = `//${e.value}`;
      if (this._endsWithDiv && this._space(), this.tokenMap) {
        let {
          _printSemicolonBeforeNextToken: c,
          _printSemicolonBeforeNextNode: p
        } = this;
        this._printSemicolonBeforeNextToken = -1, this._printSemicolonBeforeNextNode = -1, this.source("start", e.loc), this._append(l, i), this.
        _printSemicolonBeforeNextNode = p, this._printSemicolonBeforeNextToken = c;
      } else
        this.source("start", e.loc), this._append(l, i);
      !i && !r && this.newline(1, !0), a && s !== 3 && this.newline(1);
    }
    _printComments(e, s, r, i, a = 0, o) {
      let l = r.loc, u = s.length, c = !!l, p = c ? l.start.line : 0, h = c ? l.end.line : 0, f = 0, d = 0, m = this._noLineTerminator ? function() {
      } : this.newline.bind(this);
      for (let y = 0; y < u; y++) {
        let T = s[y], b = this._shouldPrintComment(T, o);
        if (b === 2) {
          c = !1;
          break;
        }
        if (c && T.loc && b === 1) {
          let E = T.loc.start.line, V = T.loc.end.line;
          if (e === 0) {
            let W = 0;
            y === 0 ? this._buf.hasContent() && (T.type === "CommentLine" || E !== V) && (W = d = 1) : W = E - f, f = V, m(W), this._printComment(
            T, 1), y + 1 === u && (m(Math.max(p - f, d)), f = p);
          } else if (e === 1) {
            let W = E - (y === 0 ? p : f);
            f = V, m(W), this._printComment(T, 1), y + 1 === u && (m(Math.min(1, h - f)), f = h);
          } else {
            let W = E - (y === 0 ? h - a : f);
            f = V, m(W), this._printComment(T, 1);
          }
        } else {
          if (c = !1, b !== 1)
            continue;
          if (u === 1) {
            let E = T.loc ? T.loc.start.line === T.loc.end.line : !uY.test(T.value), V = E && !Vtt(r) && !Wtt(i) && !$tt(i) && !Htt(r);
            e === 0 ? this._printComment(T, V && r.type !== "ObjectExpression" || E && Ktt(i, {
              body: r
            }) ? 1 : 0) : V && e === 2 ? this._printComment(T, 1) : this._printComment(T, 0);
          } else e === 1 && !(r.type === "ObjectExpression" && r.properties.length > 1) && r.type !== "ClassBody" && r.type !== "TSInterface\
Body" ? this._printComment(T, y === 0 ? 2 : y === u - 1 ? 3 : 0) : this._printComment(T, 0);
        }
      }
      e === 2 && c && f && (this._lastCommentLine = f);
    }
  };
  Object.assign(Bg.prototype, Rtt);
  (0, qtt.addDeprecatedGenerators)(Bg);
  var SUs = NS.default = Bg;
  function Gtt(t, e) {
    this.token(",", !1, t), e || this.space();
  }
  n(Gtt, "commaSeparator");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/generator/lib/index.js
var dY = g((kS) => {
  "use strict";
  Object.defineProperty(kS, "__esModule", {
    value: !0
  });
  kS.default = Qtt;
  var pY = yJ(), hY = cY();
  function fY(t, e, s) {
    if (e.experimental_preserveFormat) {
      if (typeof t != "string")
        throw new Error("`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string");
      if (!e.retainLines)
        throw new Error("`experimental_preserveFormat` requires `retainLines` to be set to `true`");
      if (e.compact && e.compact !== "auto")
        throw new Error("`experimental_preserveFormat` is not compatible with the `compact` option");
      if (e.minified)
        throw new Error("`experimental_preserveFormat` is not compatible with the `minified` option");
      if (e.jsescOption)
        throw new Error("`experimental_preserveFormat` is not compatible with the `jsescOption` option");
      if (!Array.isArray(s.tokens))
        throw new Error("`experimental_preserveFormat` requires the AST to have attatched the token of the input code. Make sure to enable t\
he `tokens: true` parser option.");
    }
    let r = {
      auxiliaryCommentBefore: e.auxiliaryCommentBefore,
      auxiliaryCommentAfter: e.auxiliaryCommentAfter,
      shouldPrintComment: e.shouldPrintComment,
      preserveFormat: e.experimental_preserveFormat,
      retainLines: e.retainLines,
      retainFunctionParens: e.retainFunctionParens,
      comments: e.comments == null || e.comments,
      compact: e.compact,
      minified: e.minified,
      concise: e.concise,
      indent: {
        adjustMultilineComment: !0,
        style: "  "
      },
      jsescOption: Object.assign({
        quotes: "double",
        wrap: !0,
        minimal: !1
      }, e.jsescOption),
      topicToken: e.topicToken,
      importAttributesKeyword: e.importAttributesKeyword
    };
    {
      var i;
      r.decoratorsBeforeExport = e.decoratorsBeforeExport, r.jsescOption.json = e.jsonCompatibleStrings, r.recordAndTupleSyntaxType = (i = e.
      recordAndTupleSyntaxType) != null ? i : "hash";
    }
    r.minified ? (r.compact = !0, r.shouldPrintComment = r.shouldPrintComment || (() => r.comments)) : r.shouldPrintComment = r.shouldPrintComment ||
    ((u) => r.comments || u.includes("@license") || u.includes("@preserve")), r.compact === "auto" && (r.compact = typeof t == "string" && t.
    length > 5e5, r.compact && console.error(`[BABEL] Note: The code generator has deoptimised the styling of ${e.filename} as it exceeds th\
e max of 500KB.`)), (r.compact || r.preserveFormat) && (r.indent.adjustMultilineComment = !1);
    let {
      auxiliaryCommentBefore: a,
      auxiliaryCommentAfter: o,
      shouldPrintComment: l
    } = r;
    return a && !l(a) && (r.auxiliaryCommentBefore = void 0), o && !l(o) && (r.auxiliaryCommentAfter = void 0), r;
  }
  n(fY, "normalizeOptions");
  kS.CodeGenerator = class {
    static {
      n(this, "CodeGenerator");
    }
    constructor(e, s = {}, r) {
      this._ast = void 0, this._format = void 0, this._map = void 0, this._ast = e, this._format = fY(r, s, e), this._map = s.sourceMaps ? new pY.
      default(s, r) : null;
    }
    generate() {
      return new hY.default(this._format, this._map).generate(this._ast);
    }
  };
  function Qtt(t, e = {}, s) {
    let r = fY(s, e, t), i = e.sourceMaps ? new pY.default(e, s) : null;
    return new hY.default(r, i, t.tokens, typeof s == "string" ? s : null).generate(t);
  }
  n(Qtt, "generate");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/ancestry.js
var mY = g((_a) => {
  "use strict";
  Object.defineProperty(_a, "__esModule", {
    value: !0
  });
  _a.find = sst;
  _a.findParent = tst;
  _a.getAncestry = ost;
  _a.getDeepestCommonAncestorFrom = ast;
  _a.getEarliestCommonAncestorFrom = nst;
  _a.getFunctionParent = rst;
  _a.getStatementParent = ist;
  _a.inType = cst;
  _a.isAncestor = lst;
  _a.isDescendant = ust;
  var Ztt = fe(), {
    VISITOR_KEYS: est
  } = Ztt;
  function tst(t) {
    let e = this;
    for (; e = e.parentPath; )
      if (t(e)) return e;
    return null;
  }
  n(tst, "findParent");
  function sst(t) {
    let e = this;
    do
      if (t(e)) return e;
    while (e = e.parentPath);
    return null;
  }
  n(sst, "find");
  function rst() {
    return this.findParent((t) => t.isFunction());
  }
  n(rst, "getFunctionParent");
  function ist() {
    let t = this;
    do {
      if (!t.parentPath || Array.isArray(t.container) && t.isStatement())
        break;
      t = t.parentPath;
    } while (t);
    if (t && (t.isProgram() || t.isFile()))
      throw new Error("File/Program node, we can't possibly find a statement parent to this");
    return t;
  }
  n(ist, "getStatementParent");
  function nst(t) {
    return this.getDeepestCommonAncestorFrom(t, function(e, s, r) {
      let i, a = est[e.type];
      for (let o of r) {
        let l = o[s + 1];
        if (!i) {
          i = l;
          continue;
        }
        if (l.listKey && i.listKey === l.listKey && l.key < i.key) {
          i = l;
          continue;
        }
        let u = a.indexOf(i.parentKey), c = a.indexOf(l.parentKey);
        u > c && (i = l);
      }
      return i;
    });
  }
  n(nst, "getEarliestCommonAncestorFrom");
  function ast(t, e) {
    if (!t.length)
      return this;
    if (t.length === 1)
      return t[0];
    let s = 1 / 0, r, i, a = t.map((l) => {
      let u = [];
      do
        u.unshift(l);
      while ((l = l.parentPath) && l !== this);
      return u.length < s && (s = u.length), u;
    }), o = a[0];
    e: for (let l = 0; l < s; l++) {
      let u = o[l];
      for (let c of a)
        if (c[l] !== u)
          break e;
      r = l, i = u;
    }
    if (i)
      return e ? e(i, r, a) : i;
    throw new Error("Couldn't find intersection");
  }
  n(ast, "getDeepestCommonAncestorFrom");
  function ost() {
    let t = this, e = [];
    do
      e.push(t);
    while (t = t.parentPath);
    return e;
  }
  n(ost, "getAncestry");
  function lst(t) {
    return t.isDescendant(this);
  }
  n(lst, "isAncestor");
  function ust(t) {
    return !!this.findParent((e) => e === t);
  }
  n(ust, "isDescendant");
  function cst(...t) {
    let e = this;
    for (; e; ) {
      for (let s of t)
        if (e.node.type === s) return !0;
      e = e.parentPath;
    }
    return !1;
  }
  n(cst, "inType");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/inference/util.js
var pO = g((cO) => {
  "use strict";
  Object.defineProperty(cO, "__esModule", {
    value: !0
  });
  cO.createUnionType = mst;
  var pst = fe(), {
    createFlowUnionType: yY,
    createTSUnionType: gY,
    createUnionTypeAnnotation: hst,
    isFlowType: fst,
    isTSType: dst
  } = pst;
  function mst(t) {
    {
      if (t.every((e) => fst(e)))
        return yY ? yY(t) : hst(t);
      if (t.every((e) => dst(e)) && gY)
        return gY(t);
    }
  }
  n(mst, "createUnionType");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js
var PY = g((hO) => {
  "use strict";
  Object.defineProperty(hO, "__esModule", {
    value: !0
  });
  hO.default = xst;
  var yst = fe(), bY = pO(), {
    BOOLEAN_NUMBER_BINARY_OPERATORS: gst,
    createTypeAnnotationBasedOnTypeof: Tst,
    numberTypeAnnotation: xY,
    voidTypeAnnotation: bst
  } = yst;
  function xst(t) {
    if (!this.isReferenced()) return;
    let e = this.scope.getBinding(t.name);
    if (e)
      return e.identifier.typeAnnotation ? e.identifier.typeAnnotation : Sst(e, this, t.name);
    if (t.name === "undefined")
      return bst();
    if (t.name === "NaN" || t.name === "Infinity")
      return xY();
    t.name;
  }
  n(xst, "_default");
  function Sst(t, e, s) {
    let r = [], i = [], a = TY(t, e, i), o = SY(t, e, s);
    if (o) {
      let l = TY(t, o.ifStatement);
      a = a.filter((u) => !l.includes(u)), r.push(o.typeAnnotation);
    }
    if (a.length) {
      a.push(...i);
      for (let l of a)
        r.push(l.getTypeAnnotation());
    }
    if (r.length)
      return (0, bY.createUnionType)(r);
  }
  n(Sst, "getTypeAnnotationBindingConstantViolations");
  function TY(t, e, s) {
    let r = t.constantViolations.slice();
    return r.unshift(t.path), r.filter((i) => {
      i = i.resolve();
      let a = i._guessExecutionStatusRelativeTo(e);
      return s && a === "unknown" && s.push(i), a === "before";
    });
  }
  n(TY, "getConstantViolationsBefore");
  function Pst(t, e) {
    let s = e.node.operator, r = e.get("right").resolve(), i = e.get("left").resolve(), a;
    if (i.isIdentifier({
      name: t
    }) ? a = r : r.isIdentifier({
      name: t
    }) && (a = i), a)
      return s === "===" ? a.getTypeAnnotation() : gst.includes(s) ? xY() : void 0;
    if (s !== "===" && s !== "==") return;
    let o, l;
    if (i.isUnaryExpression({
      operator: "typeof"
    }) ? (o = i, l = r) : r.isUnaryExpression({
      operator: "typeof"
    }) && (o = r, l = i), !o || !o.get("argument").isIdentifier({
      name: t
    }) || (l = l.resolve(), !l.isLiteral())) return;
    let u = l.node.value;
    if (typeof u == "string")
      return Tst(u);
  }
  n(Pst, "inferAnnotationFromBinaryExpression");
  function Est(t, e, s) {
    let r;
    for (; r = e.parentPath; ) {
      if (r.isIfStatement() || r.isConditionalExpression())
        return e.key === "test" ? void 0 : r;
      if (r.isFunction() && r.parentPath.scope.getBinding(s) !== t)
        return;
      e = r;
    }
  }
  n(Est, "getParentConditionalPath");
  function SY(t, e, s) {
    let r = Est(t, e, s);
    if (!r) return;
    let a = [r.get("test")], o = [];
    for (let l = 0; l < a.length; l++) {
      let u = a[l];
      if (u.isLogicalExpression())
        u.node.operator === "&&" && (a.push(u.get("left")), a.push(u.get("right")));
      else if (u.isBinaryExpression()) {
        let c = Pst(s, u);
        c && o.push(c);
      }
    }
    return o.length ? {
      typeAnnotation: (0, bY.createUnionType)(o),
      ifStatement: r
    } : SY(t, r, s);
  }
  n(SY, "getConditionalAnnotation");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/inference/inferers.js
var kY = g((Ys) => {
  "use strict";
  Object.defineProperty(Ys, "__esModule", {
    value: !0
  });
  Ys.ArrayExpression = wY;
  Ys.AssignmentExpression = Hst;
  Ys.BinaryExpression = Ust;
  Ys.BooleanLiteral = zst;
  Ys.CallExpression = nrt;
  Ys.ConditionalExpression = Vst;
  Ys.ClassDeclaration = Ys.ClassExpression = Ys.FunctionDeclaration = Ys.ArrowFunctionExpression = Ys.FunctionExpression = ert;
  Object.defineProperty(Ys, "Identifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return vst.default;
    }, "get")
  });
  Ys.LogicalExpression = Kst;
  Ys.NewExpression = jst;
  Ys.NullLiteral = Gst;
  Ys.NumericLiteral = Xst;
  Ys.ObjectExpression = Zst;
  Ys.ParenthesizedExpression = $st;
  Ys.RegExpLiteral = Qst;
  Ys.RestElement = IY;
  Ys.SequenceExpression = Wst;
  Ys.StringLiteral = Yst;
  Ys.TSAsExpression = CY;
  Ys.TSNonNullExpression = Fst;
  Ys.TaggedTemplateExpression = art;
  Ys.TemplateLiteral = Rst;
  Ys.TypeCastExpression = vY;
  Ys.UnaryExpression = qst;
  Ys.UpdateExpression = Jst;
  Ys.VariableDeclarator = Mst;
  var Ast = fe(), vst = PY(), AY = pO(), {
    BOOLEAN_BINARY_OPERATORS: Cst,
    BOOLEAN_UNARY_OPERATORS: wst,
    NUMBER_BINARY_OPERATORS: Ist,
    NUMBER_UNARY_OPERATORS: Nst,
    STRING_UNARY_OPERATORS: kst,
    anyTypeAnnotation: EY,
    arrayTypeAnnotation: fO,
    booleanTypeAnnotation: dO,
    buildMatchMemberExpression: DS,
    genericTypeAnnotation: Hc,
    identifier: Ih,
    nullLiteralTypeAnnotation: Dst,
    numberTypeAnnotation: Md,
    stringTypeAnnotation: Nh,
    tupleTypeAnnotation: Ost,
    unionTypeAnnotation: _st,
    voidTypeAnnotation: Lst,
    isIdentifier: Bst
  } = Ast;
  function Mst() {
    if (this.get("id").isIdentifier())
      return this.get("init").getTypeAnnotation();
  }
  n(Mst, "VariableDeclarator");
  function vY(t) {
    return t.typeAnnotation;
  }
  n(vY, "TypeCastExpression");
  vY.validParent = !0;
  function CY(t) {
    return t.typeAnnotation;
  }
  n(CY, "TSAsExpression");
  CY.validParent = !0;
  function Fst() {
    return this.get("expression").getTypeAnnotation();
  }
  n(Fst, "TSNonNullExpression");
  function jst(t) {
    if (t.callee.type === "Identifier")
      return Hc(t.callee);
  }
  n(jst, "NewExpression");
  function Rst() {
    return Nh();
  }
  n(Rst, "TemplateLiteral");
  function qst(t) {
    let e = t.operator;
    if (e === "void")
      return Lst();
    if (Nst.includes(e))
      return Md();
    if (kst.includes(e))
      return Nh();
    if (wst.includes(e))
      return dO();
  }
  n(qst, "UnaryExpression");
  function Ust(t) {
    let e = t.operator;
    if (Ist.includes(e))
      return Md();
    if (Cst.includes(e))
      return dO();
    if (e === "+") {
      let s = this.get("right"), r = this.get("left");
      return r.isBaseType("number") && s.isBaseType("number") ? Md() : r.isBaseType("string") || s.isBaseType("string") ? Nh() : _st([Nh(), Md()]);
    }
  }
  n(Ust, "BinaryExpression");
  function Kst() {
    let t = [this.get("left").getTypeAnnotation(), this.get("right").getTypeAnnotation()];
    return (0, AY.createUnionType)(t);
  }
  n(Kst, "LogicalExpression");
  function Vst() {
    let t = [this.get("consequent").getTypeAnnotation(), this.get("alternate").getTypeAnnotation()];
    return (0, AY.createUnionType)(t);
  }
  n(Vst, "ConditionalExpression");
  function Wst() {
    return this.get("expressions").pop().getTypeAnnotation();
  }
  n(Wst, "SequenceExpression");
  function $st() {
    return this.get("expression").getTypeAnnotation();
  }
  n($st, "ParenthesizedExpression");
  function Hst() {
    return this.get("right").getTypeAnnotation();
  }
  n(Hst, "AssignmentExpression");
  function Jst(t) {
    let e = t.operator;
    if (e === "++" || e === "--")
      return Md();
  }
  n(Jst, "UpdateExpression");
  function Yst() {
    return Nh();
  }
  n(Yst, "StringLiteral");
  function Xst() {
    return Md();
  }
  n(Xst, "NumericLiteral");
  function zst() {
    return dO();
  }
  n(zst, "BooleanLiteral");
  function Gst() {
    return Dst();
  }
  n(Gst, "NullLiteral");
  function Qst() {
    return Hc(Ih("RegExp"));
  }
  n(Qst, "RegExpLiteral");
  function Zst() {
    return Hc(Ih("Object"));
  }
  n(Zst, "ObjectExpression");
  function wY() {
    return Hc(Ih("Array"));
  }
  n(wY, "ArrayExpression");
  function IY() {
    return wY();
  }
  n(IY, "RestElement");
  IY.validParent = !0;
  function ert() {
    return Hc(Ih("Function"));
  }
  n(ert, "Func");
  var trt = DS("Array.from"), srt = DS("Object.keys"), rrt = DS("Object.values"), irt = DS("Object.entries");
  function nrt() {
    let {
      callee: t
    } = this.node;
    return srt(t) ? fO(Nh()) : trt(t) || rrt(t) || Bst(t, {
      name: "Array"
    }) ? fO(EY()) : irt(t) ? fO(Ost([Nh(), EY()])) : NY(this.get("callee"));
  }
  n(nrt, "CallExpression");
  function art() {
    return NY(this.get("tag"));
  }
  n(art, "TaggedTemplateExpression");
  function NY(t) {
    if (t = t.resolve(), t.isFunction()) {
      let {
        node: e
      } = t;
      if (e.async)
        return e.generator ? Hc(Ih("AsyncIterator")) : Hc(Ih("Promise"));
      if (e.generator)
        return Hc(Ih("Iterator"));
      if (t.node.returnType)
        return t.node.returnType;
    }
  }
  n(NY, "resolveCall");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/inference/index.js
var BY = g((Jc) => {
  "use strict";
  Object.defineProperty(Jc, "__esModule", {
    value: !0
  });
  Jc._getTypeAnnotation = LY;
  Jc.baseTypeStrictlyMatches = Irt;
  Jc.couldBeBaseType = wrt;
  Jc.getTypeAnnotation = vrt;
  Jc.isBaseType = Crt;
  Jc.isGenericType = Nrt;
  var DY = kY(), ort = fe(), {
    anyTypeAnnotation: _Y,
    isAnyTypeAnnotation: OS,
    isArrayTypeAnnotation: lrt,
    isBooleanTypeAnnotation: urt,
    isEmptyTypeAnnotation: crt,
    isFlowBaseAnnotation: prt,
    isGenericTypeAnnotation: hrt,
    isIdentifier: OY,
    isMixedTypeAnnotation: frt,
    isNumberTypeAnnotation: drt,
    isStringTypeAnnotation: mrt,
    isTSArrayType: yrt,
    isTSTypeAnnotation: grt,
    isTSTypeReference: Trt,
    isTupleTypeAnnotation: brt,
    isTypeAnnotation: xrt,
    isUnionTypeAnnotation: Srt,
    isVoidTypeAnnotation: Prt,
    stringTypeAnnotation: Ert,
    voidTypeAnnotation: Art
  } = ort;
  function vrt() {
    let t = this.getData("typeAnnotation");
    return t != null || (t = LY.call(this) || _Y(), (xrt(t) || grt(t)) && (t = t.typeAnnotation), this.setData("typeAnnotation", t)), t;
  }
  n(vrt, "getTypeAnnotation");
  var mO = /* @__PURE__ */ new WeakSet();
  function LY() {
    let t = this.node;
    if (!t)
      if (this.key === "init" && this.parentPath.isVariableDeclarator()) {
        let s = this.parentPath.parentPath, r = s.parentPath;
        return s.key === "left" && r.isForInStatement() ? Ert() : s.key === "left" && r.isForOfStatement() ? _Y() : Art();
      } else
        return;
    if (t.typeAnnotation)
      return t.typeAnnotation;
    if (!mO.has(t)) {
      mO.add(t);
      try {
        var e;
        let s = DY[t.type];
        if (s)
          return s.call(this, t);
        if (s = DY[this.parentPath.type], (e = s) != null && e.validParent)
          return this.parentPath.getTypeAnnotation();
      } finally {
        mO.delete(t);
      }
    }
  }
  n(LY, "_getTypeAnnotation");
  function Crt(t, e) {
    return yO(t, this.getTypeAnnotation(), e);
  }
  n(Crt, "isBaseType");
  function yO(t, e, s) {
    if (t === "string")
      return mrt(e);
    if (t === "number")
      return drt(e);
    if (t === "boolean")
      return urt(e);
    if (t === "any")
      return OS(e);
    if (t === "mixed")
      return frt(e);
    if (t === "empty")
      return crt(e);
    if (t === "void")
      return Prt(e);
    if (s)
      return !1;
    throw new Error(`Unknown base type ${t}`);
  }
  n(yO, "_isBaseType");
  function wrt(t) {
    let e = this.getTypeAnnotation();
    if (OS(e)) return !0;
    if (Srt(e)) {
      for (let s of e.types)
        if (OS(s) || yO(t, s, !0))
          return !0;
      return !1;
    } else
      return yO(t, e, !0);
  }
  n(wrt, "couldBeBaseType");
  function Irt(t) {
    let e = this.getTypeAnnotation(), s = t.getTypeAnnotation();
    return !OS(e) && prt(e) ? s.type === e.type : !1;
  }
  n(Irt, "baseTypeStrictlyMatches");
  function Nrt(t) {
    let e = this.getTypeAnnotation();
    return t === "Array" && (yrt(e) || lrt(e) || brt(e)) ? !0 : hrt(e) && OY(e.id, {
      name: t
    }) || Trt(e) && OY(e.typeName, {
      name: t
    });
  }
  n(Nrt, "isGenericType");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/lib/removal-hooks.js
var MY = g((_S) => {
  "use strict";
  Object.defineProperty(_S, "__esModule", {
    value: !0
  });
  _S.hooks = void 0;
  var FUs = _S.hooks = [function(t, e) {
    if (t.key === "test" && (e.isWhile() || e.isSwitchCase()) || t.key === "declaration" && e.isExportDeclaration() || t.key === "body" && e.
    isLabeledStatement() || t.listKey === "declarations" && e.isVariableDeclaration() && e.node.declarations.length === 1 || t.key === "expr\
ession" && e.isExpressionStatement())
      return e.remove(), !0;
  }, function(t, e) {
    if (e.isSequenceExpression() && e.node.expressions.length === 1)
      return e.replaceWith(e.node.expressions[0]), !0;
  }, function(t, e) {
    if (e.isBinary())
      return t.key === "left" ? e.replaceWith(e.node.right) : e.replaceWith(e.node.left), !0;
  }, function(t, e) {
    if (e.isIfStatement() && t.key === "consequent" || t.key === "body" && (e.isLoop() || e.isArrowFunctionExpression()))
      return t.replaceWith({
        type: "BlockStatement",
        body: []
      }), !0;
  }];
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/removal.js
var LS = g((Yc) => {
  "use strict";
  Object.defineProperty(Yc, "__esModule", {
    value: !0
  });
  Yc._assertUnremoved = UY;
  Yc._callRemovalHooks = RY;
  Yc._markRemoved = gO;
  Yc._remove = qY;
  Yc._removeFromScope = jY;
  Yc.remove = Frt;
  var krt = MY(), Drt = Ah(), Ort = TO(), FY = Xc(), _rt = fe(), Lrt = BS(), Brt = ol(), {
    getBindingIdentifiers: Mrt
  } = _rt;
  function Frt() {
    var t;
    if (UY.call(this), Brt.resync.call(this), RY.call(this)) {
      gO.call(this);
      return;
    }
    (t = this.opts) != null && t.noScope || jY.call(this), this.shareCommentsWithSiblings(), qY.call(this), gO.call(this);
  }
  n(Frt, "remove");
  function jY() {
    let t = Mrt(this.node, !1, !1, !0);
    Object.keys(t).forEach((e) => this.scope.removeBinding(e));
  }
  n(jY, "_removeFromScope");
  function RY() {
    if (this.parentPath) {
      for (let t of krt.hooks)
        if (t(this, this.parentPath)) return !0;
    }
  }
  n(RY, "_callRemovalHooks");
  function qY() {
    Array.isArray(this.container) ? (this.container.splice(this.key, 1), Lrt.updateSiblingKeys.call(this, this.key, -1)) : Ort._replaceWith.
    call(this, null);
  }
  n(qY, "_remove");
  function gO() {
    this._traverseFlags |= FY.SHOULD_SKIP | FY.REMOVED, this.parent && (0, Drt.getCachedPaths)(this.hub, this.parent).delete(this.node), this.
    node = null;
  }
  n(gO, "_markRemoved");
  function UY() {
    if (this.removed)
      throw this.buildCodeFrameError("NodePath has been removed so is read-only.");
  }
  n(UY, "_assertUnremoved");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/lib/hoister.js
var VY = g((MS) => {
  "use strict";
  Object.defineProperty(MS, "__esModule", {
    value: !0
  });
  MS.default = void 0;
  var KY = fe(), jrt = KY, {
    react: Rrt
  } = KY, {
    cloneNode: qrt,
    jsxExpressionContainer: Urt,
    variableDeclaration: Krt,
    variableDeclarator: Vrt
  } = jrt, Wrt = {
    ReferencedIdentifier(t, e) {
      if (t.isJSXIdentifier() && Rrt.isCompatTag(t.node.name) && !t.parentPath.isJSXMemberExpression())
        return;
      if (t.node.name === "this") {
        let r = t.scope;
        do
          if (r.path.isFunction() && !r.path.isArrowFunctionExpression())
            break;
        while (r = r.parent);
        r && e.breakOnScopePaths.push(r.path);
      }
      let s = t.scope.getBinding(t.node.name);
      if (s) {
        for (let r of s.constantViolations)
          if (r.scope !== s.path.scope) {
            e.mutableBinding = !0, t.stop();
            return;
          }
        s === e.scope.getBinding(t.node.name) && (e.bindings[t.node.name] = s);
      }
    }
  }, bO = class {
    static {
      n(this, "PathHoister");
    }
    constructor(e, s) {
      this.breakOnScopePaths = void 0, this.bindings = void 0, this.mutableBinding = void 0, this.scopes = void 0, this.scope = void 0, this.
      path = void 0, this.attachAfter = void 0, this.breakOnScopePaths = [], this.bindings = {}, this.mutableBinding = !1, this.scopes = [],
      this.scope = s, this.path = e, this.attachAfter = !1;
    }
    isCompatibleScope(e) {
      for (let s of Object.keys(this.bindings)) {
        let r = this.bindings[s];
        if (!e.bindingIdentifierEquals(s, r.identifier))
          return !1;
      }
      return !0;
    }
    getCompatibleScopes() {
      let e = this.path.scope;
      do {
        if (this.isCompatibleScope(e))
          this.scopes.push(e);
        else
          break;
        if (this.breakOnScopePaths.includes(e.path))
          break;
      } while (e = e.parent);
    }
    getAttachmentPath() {
      let e = this._getAttachmentPath();
      if (!e) return;
      let s = e.scope;
      if (s.path === e && (s = e.scope.parent), s.path.isProgram() || s.path.isFunction())
        for (let r of Object.keys(this.bindings)) {
          if (!s.hasOwnBinding(r)) continue;
          let i = this.bindings[r];
          if (i.kind === "param" || i.path.parentKey === "params")
            continue;
          if (this.getAttachmentParentForPath(i.path).key >= e.key) {
            this.attachAfter = !0, e = i.path;
            for (let o of i.constantViolations)
              this.getAttachmentParentForPath(o).key > e.key && (e = o);
          }
        }
      return e;
    }
    _getAttachmentPath() {
      let s = this.scopes.pop();
      if (s) {
        if (s.path.isFunction())
          if (this.hasOwnParamBindings(s)) {
            if (this.scope === s) return;
            let r = s.path.get("body").get("body");
            for (let i = 0; i < r.length; i++)
              if (!r[i].node._blockHoist)
                return r[i];
          } else
            return this.getNextScopeAttachmentParent();
        else if (s.path.isProgram())
          return this.getNextScopeAttachmentParent();
      }
    }
    getNextScopeAttachmentParent() {
      let e = this.scopes.pop();
      if (e) return this.getAttachmentParentForPath(e.path);
    }
    getAttachmentParentForPath(e) {
      do
        if (!e.parentPath || Array.isArray(e.container) && e.isStatement())
          return e;
      while (e = e.parentPath);
    }
    hasOwnParamBindings(e) {
      for (let s of Object.keys(this.bindings)) {
        if (!e.hasOwnBinding(s)) continue;
        let r = this.bindings[s];
        if (r.kind === "param" && r.constant) return !0;
      }
      return !1;
    }
    run() {
      if (this.path.traverse(Wrt, this), this.mutableBinding) return;
      this.getCompatibleScopes();
      let e = this.getAttachmentPath();
      if (!e || e.getFunctionParent() === this.path.getFunctionParent()) return;
      let s = e.scope.generateUidIdentifier("ref"), r = Vrt(s, this.path.node), i = this.attachAfter ? "insertAfter" : "insertBefore", [a] = e[i](
      [e.isVariableDeclarator() ? r : Krt("var", [r])]), o = this.path.parentPath;
      return o.isJSXElement() && this.path.container === o.node.children && (s = Urt(s)), this.path.replaceWith(qrt(s)), e.isVariableDeclarator() ?
      a.get("init") : a.get("declarations.0.init");
    }
  };
  MS.default = bO;
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/modification.js
var BS = g((La) => {
  "use strict";
  Object.defineProperty(La, "__esModule", {
    value: !0
  });
  La._containerInsert = AO;
  La._containerInsertAfter = HY;
  La._containerInsertBefore = vO;
  La._verifyNodeList = Mg;
  La.insertAfter = oit;
  La.insertBefore = nit;
  La.pushContainer = uit;
  La.unshiftContainer = lit;
  La.updateSiblingKeys = XY;
  var $rt = Ah(), EO = Xc(), xO = ol(), FS = LS(), Hrt = fe(), Jrt = VY(), {
    arrowFunctionExpression: Yrt,
    assertExpression: Xrt,
    assignmentExpression: zrt,
    blockStatement: WY,
    callExpression: Grt,
    cloneNode: SO,
    expressionStatement: PO,
    isAssignmentExpression: Qrt,
    isCallExpression: Zrt,
    isExportNamedDeclaration: $Y,
    isExpression: eit,
    isIdentifier: tit,
    isSequenceExpression: sit,
    isSuper: rit,
    thisExpression: iit
  } = Hrt;
  function nit(t) {
    FS._assertUnremoved.call(this);
    let e = Mg.call(this, t), {
      parentPath: s,
      parent: r
    } = this;
    if (s.isExpressionStatement() || s.isLabeledStatement() || $Y(r) || s.isExportDefaultDeclaration() && this.isDeclaration())
      return s.insertBefore(e);
    if (this.isNodeType("Expression") && !this.isJSXElement() || s.isForStatement() && this.key === "init")
      return this.node && e.push(this.node), this.replaceExpressionWithStatements(e);
    if (Array.isArray(this.container))
      return vO.call(this, e);
    if (this.isStatementOrBlock()) {
      let i = this.node, a = i && (!this.isExpressionStatement() || i.expression != null);
      return this.replaceWith(WY(a ? [i] : [])), this.unshiftContainer("body", e);
    } else
      throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?");
  }
  n(nit, "insertBefore");
  function AO(t, e) {
    XY.call(this, t, e.length);
    let s = [];
    this.container.splice(t, 0, ...e);
    for (let a = 0; a < e.length; a++) {
      var r;
      let o = t + a, l = this.getSibling(o);
      s.push(l), (r = this.context) != null && r.queue && xO.pushContext.call(l, this.context);
    }
    let i = xO._getQueueContexts.call(this);
    for (let a of s) {
      xO.setScope.call(a), a.debug("Inserted.");
      for (let o of i)
        o.maybeQueue(a, !0);
    }
    return s;
  }
  n(AO, "_containerInsert");
  function vO(t) {
    return AO.call(this, this.key, t);
  }
  n(vO, "_containerInsertBefore");
  function HY(t) {
    return AO.call(this, this.key + 1, t);
  }
  n(HY, "_containerInsertAfter");
  var JY = /* @__PURE__ */ n((t) => t[t.length - 1], "last");
  function YY(t) {
    return sit(t.parent) && (JY(t.parent.expressions) !== t.node || YY(t.parentPath));
  }
  n(YY, "isHiddenInSequenceExpression");
  function ait(t, e) {
    if (!Qrt(t) || !tit(t.left))
      return !1;
    let s = e.getBlockParent();
    return s.hasOwnBinding(t.left.name) && s.getOwnBinding(t.left.name).constantViolations.length <= 1;
  }
  n(ait, "isAlmostConstantAssignment");
  function oit(t) {
    if (FS._assertUnremoved.call(this), this.isSequenceExpression())
      return JY(this.get("expressions")).insertAfter(t);
    let e = Mg.call(this, t), {
      parentPath: s,
      parent: r
    } = this;
    if (s.isExpressionStatement() || s.isLabeledStatement() || $Y(r) || s.isExportDefaultDeclaration() && this.isDeclaration())
      return s.insertAfter(e.map((i) => eit(i) ? PO(i) : i));
    if (this.isNodeType("Expression") && !this.isJSXElement() && !s.isJSXElement() || s.isForStatement() && this.key === "init") {
      let i = this;
      if (i.node) {
        let a = i.node, {
          scope: o
        } = this;
        if (o.path.isPattern())
          return Xrt(a), i.replaceWith(Grt(Yrt([], a), [])), i.get("callee.body").insertAfter(e), [i];
        if (YY(i))
          e.unshift(a);
        else if (Zrt(a) && rit(a.callee))
          e.unshift(a), e.push(iit());
        else if (ait(a, o))
          e.unshift(a), e.push(SO(a.left));
        else if (o.isPure(a, !0))
          e.push(a);
        else {
          s.isMethod({
            computed: !0,
            key: a
          }) && (o = o.parent);
          let l = o.generateDeclaredUidIdentifier();
          e.unshift(PO(zrt("=", SO(l), a))), e.push(PO(SO(l)));
        }
      }
      return this.replaceExpressionWithStatements(e);
    } else {
      if (Array.isArray(this.container))
        return HY.call(this, e);
      if (this.isStatementOrBlock()) {
        let i = this.node, a = i && (!this.isExpressionStatement() || i.expression != null);
        return this.replaceWith(WY(a ? [i] : [])), this.pushContainer("body", e);
      } else
        throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?");
    }
  }
  n(oit, "insertAfter");
  function XY(t, e) {
    if (!this.parent) return;
    let s = (0, $rt.getCachedPaths)(this.hub, this.parent) || [];
    for (let [, r] of s)
      typeof r.key == "number" && r.container === this.container && r.key >= t && (r.key += e);
  }
  n(XY, "updateSiblingKeys");
  function Mg(t) {
    if (!t)
      return [];
    Array.isArray(t) || (t = [t]);
    for (let e = 0; e < t.length; e++) {
      let s = t[e], r;
      if (s ? typeof s != "object" ? r = "contains a non-object node" : s.type ? s instanceof EO.default && (r = "has a NodePath when it exp\
ected a raw object") : r = "without a type" : r = "has falsy node", r) {
        let i = Array.isArray(s) ? "array" : typeof s;
        throw new Error(`Node list ${r} with the index of ${e} and type of ${i}`);
      }
    }
    return t;
  }
  n(Mg, "_verifyNodeList");
  function lit(t, e) {
    FS._assertUnremoved.call(this), e = Mg.call(this, e);
    let s = EO.default.get({
      parentPath: this,
      parent: this.node,
      container: this.node[t],
      listKey: t,
      key: 0
    }).setContext(this.context);
    return vO.call(s, e);
  }
  n(lit, "unshiftContainer");
  function uit(t, e) {
    FS._assertUnremoved.call(this);
    let s = Mg.call(this, e), r = this.node[t];
    return EO.default.get({
      parentPath: this,
      parent: this.node,
      container: r,
      listKey: t,
      key: r.length
    }).setContext(this.context).replaceWithMultiple(s);
  }
  n(uit, "pushContainer");
  La.hoist = /* @__PURE__ */ n(function(e = this.scope) {
    return new Jrt.default(this, e).run();
  }, "hoist");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/parser/lib/index.js
var CX = g(($g) => {
  "use strict";
  Object.defineProperty($g, "__esModule", {
    value: !0
  });
  function cit(t, e) {
    if (t == null) return {};
    var s = {};
    for (var r in t) if ({}.hasOwnProperty.call(t, r)) {
      if (e.includes(r)) continue;
      s[r] = t[r];
    }
    return s;
  }
  n(cit, "_objectWithoutPropertiesLoose");
  var ul = class {
    static {
      n(this, "Position");
    }
    constructor(e, s, r) {
      this.line = void 0, this.column = void 0, this.index = void 0, this.line = e, this.column = s, this.index = r;
    }
  }, Ud = class {
    static {
      n(this, "SourceLocation");
    }
    constructor(e, s) {
      this.start = void 0, this.end = void 0, this.filename = void 0, this.identifierName = void 0, this.start = e, this.end = s;
    }
  };
  function vn(t, e) {
    let {
      line: s,
      column: r,
      index: i
    } = t;
    return new ul(s, r + e, i + e);
  }
  n(vn, "createPositionWithColumnOffset");
  var zY = "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED", pit = {
    ImportMetaOutsideModule: {
      message: `import.meta may appear only with 'sourceType: "module"'`,
      code: zY
    },
    ImportOutsideModule: {
      message: `'import' and 'export' may appear only with 'sourceType: "module"'`,
      code: zY
    }
  }, GY = {
    ArrayPattern: "array destructuring pattern",
    AssignmentExpression: "assignment expression",
    AssignmentPattern: "assignment expression",
    ArrowFunctionExpression: "arrow function expression",
    ConditionalExpression: "conditional expression",
    CatchClause: "catch clause",
    ForOfStatement: "for-of statement",
    ForInStatement: "for-in statement",
    ForStatement: "for-loop",
    FormalParameters: "function parameter list",
    Identifier: "identifier",
    ImportSpecifier: "import specifier",
    ImportDefaultSpecifier: "import default specifier",
    ImportNamespaceSpecifier: "import namespace specifier",
    ObjectPattern: "object destructuring pattern",
    ParenthesizedExpression: "parenthesized expression",
    RestElement: "rest element",
    UpdateExpression: {
      true: "prefix operation",
      false: "postfix operation"
    },
    VariableDeclarator: "variable declaration",
    YieldExpression: "yield expression"
  }, qS = /* @__PURE__ */ n((t) => t.type === "UpdateExpression" ? GY.UpdateExpression[`${t.prefix}`] : GY[t.type], "toNodeDescription"), hit = {
    AccessorIsGenerator: /* @__PURE__ */ n(({
      kind: t
    }) => `A ${t}ter cannot be a generator.`, "AccessorIsGenerator"),
    ArgumentsInClass: "'arguments' is only allowed in functions and class methods.",
    AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.",
    AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.",
    AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.",
    AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.",
    AwaitUsingNotInAsyncContext: "'await using' is only allowed within async functions and at the top levels of modules.",
    AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.",
    AwaitNotInAsyncFunction: "'await' is only allowed within async functions.",
    BadGetterArity: "A 'get' accessor must not have any formal parameters.",
    BadSetterArity: "A 'set' accessor must have exactly one formal parameter.",
    BadSetterRestParameter: "A 'set' accessor function argument must not be a rest parameter.",
    ConstructorClassField: "Classes may not have a field named 'constructor'.",
    ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.",
    ConstructorIsAccessor: "Class constructor may not be an accessor.",
    ConstructorIsAsync: "Constructor can't be an async function.",
    ConstructorIsGenerator: "Constructor can't be a generator.",
    DeclarationMissingInitializer: /* @__PURE__ */ n(({
      kind: t
    }) => `Missing initializer in ${t} declaration.`, "DeclarationMissingInitializer"),
    DecoratorArgumentsOutsideParentheses: "Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(deco\
rator)(args)'.",
    DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use\
 the 'export @decorator class {}' syntax.",
    DecoratorsBeforeAfterExport: "Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the s\
ame time.",
    DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",
    DecoratorExportClass: "Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use \
the '@decorator export class {}' syntax.",
    DecoratorSemicolon: "Decorators must not be followed by a semicolon.",
    DecoratorStaticBlock: "Decorators can't be used with a static block.",
    DeferImportRequiresNamespace: 'Only `import defer * as x from "./module"` is valid.',
    DeletePrivateField: "Deleting a private field is not allowed.",
    DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.",
    DuplicateConstructor: "Duplicate constructor in the same class.",
    DuplicateDefaultExport: "Only one default export allowed per module.",
    DuplicateExport: /* @__PURE__ */ n(({
      exportName: t
    }) => `\`${t}\` has already been exported. Exported identifiers must be unique.`, "DuplicateExport"),
    DuplicateProto: "Redefinition of __proto__ property.",
    DuplicateRegExpFlags: "Duplicate regular expression flag.",
    DynamicImportPhaseRequiresImportExpressions: /* @__PURE__ */ n(({
      phase: t
    }) => `'import.${t}(...)' can only be parsed when using the 'createImportExpressions' option.`, "DynamicImportPhaseRequiresImportExpress\
ions"),
    ElementAfterRest: "Rest element must be last element.",
    EscapedCharNotAnIdentifier: "Invalid Unicode escape.",
    ExportBindingIsString: /* @__PURE__ */ n(({
      localName: t,
      exportName: e
    }) => `A string literal cannot be used as an exported binding without \`from\`.
- Did you mean \`export { '${t}' as '${e}' } from 'some-module'\`?`, "ExportBindingIsString"),
    ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.",
    ForInOfLoopInitializer: /* @__PURE__ */ n(({
      type: t
    }) => `'${t === "ForInStatement" ? "for-in" : "for-of"}' loop variable declaration may not have an initializer.`, "ForInOfLoopInitialize\
r"),
    ForInUsing: "For-in loop may not start with 'using' declaration.",
    ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.",
    ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.",
    GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.",
    IllegalBreakContinue: /* @__PURE__ */ n(({
      type: t
    }) => `Unsyntactic ${t === "BreakStatement" ? "break" : "continue"}.`, "IllegalBreakContinue"),
    IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.",
    IllegalReturn: "'return' outside of function.",
    ImportAttributesUseAssert: "The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You \
can enable the `deprecatedImportAssert` parser plugin to suppress this error.",
    ImportBindingIsString: /* @__PURE__ */ n(({
      importName: t
    }) => `A string literal cannot be used as an imported binding.
- Did you mean \`import { "${t}" as foo }\`?`, "ImportBindingIsString"),
    ImportCallArity: "`import()` requires exactly one or two arguments.",
    ImportCallNotNewExpression: "Cannot use new with import(...).",
    ImportCallSpreadArgument: "`...` is not allowed in `import()`.",
    ImportJSONBindingNotDefault: "A JSON module can only be imported with `default`.",
    ImportReflectionHasAssertion: "`import module x` cannot have assertions.",
    ImportReflectionNotBinding: 'Only `import module x from "./module"` is valid.',
    IncompatibleRegExpUVFlags: "The 'u' and 'v' regular expression flags cannot be enabled at the same time.",
    InvalidBigIntLiteral: "Invalid BigIntLiteral.",
    InvalidCodePoint: "Code point out of bounds.",
    InvalidCoverInitializedName: "Invalid shorthand property initializer.",
    InvalidDecimal: "Invalid decimal.",
    InvalidDigit: /* @__PURE__ */ n(({
      radix: t
    }) => `Expected number in radix ${t}.`, "InvalidDigit"),
    InvalidEscapeSequence: "Bad character escape sequence.",
    InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.",
    InvalidEscapedReservedWord: /* @__PURE__ */ n(({
      reservedWord: t
    }) => `Escape sequence in keyword ${t}.`, "InvalidEscapedReservedWord"),
    InvalidIdentifier: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Invalid identifier ${t}.`, "InvalidIdentifier"),
    InvalidLhs: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Invalid left-hand side in ${qS(t)}.`, "InvalidLhs"),
    InvalidLhsBinding: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Binding invalid left-hand side in ${qS(t)}.`, "InvalidLhsBinding"),
    InvalidLhsOptionalChaining: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Invalid optional chaining in the left-hand side of ${qS(t)}.`, "InvalidLhsOptionalChaining"),
    InvalidNumber: "Invalid number.",
    InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.",
    InvalidOrUnexpectedToken: /* @__PURE__ */ n(({
      unexpected: t
    }) => `Unexpected character '${t}'.`, "InvalidOrUnexpectedToken"),
    InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.",
    InvalidPrivateFieldResolution: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Private name #${t} is not defined.`, "InvalidPrivateFieldResolution"),
    InvalidPropertyBindingPattern: "Binding member expression.",
    InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.",
    InvalidRestAssignmentPattern: "Invalid rest operator's argument.",
    LabelRedeclaration: /* @__PURE__ */ n(({
      labelName: t
    }) => `Label '${t}' is already declared.`, "LabelRedeclaration"),
    LetInLexicalBinding: "'let' is disallowed as a lexically bound name.",
    LineTerminatorBeforeArrow: "No line break is allowed before '=>'.",
    MalformedRegExpFlags: "Invalid regular expression flag.",
    MissingClassName: "A class name is required.",
    MissingEqInAssignment: "Only '=' operator can be used for specifying default value.",
    MissingSemicolon: "Missing semicolon.",
    MissingPlugin: /* @__PURE__ */ n(({
      missingPlugin: t
    }) => `This experimental syntax requires enabling the parser plugin: ${t.map((e) => JSON.stringify(e)).join(", ")}.`, "MissingPlugin"),
    MissingOneOfPlugins: /* @__PURE__ */ n(({
      missingPlugin: t
    }) => `This experimental syntax requires enabling one of the following parser plugin(s): ${t.map((e) => JSON.stringify(e)).join(", ")}.`,
    "MissingOneOfPlugins"),
    MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.",
    MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.",
    ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.",
    ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.",
    ModuleAttributesWithDuplicateKeys: /* @__PURE__ */ n(({
      key: t
    }) => `Duplicate key "${t}" is not allowed in module attributes.`, "ModuleAttributesWithDuplicateKeys"),
    ModuleExportNameHasLoneSurrogate: /* @__PURE__ */ n(({
      surrogateCharCode: t
    }) => `An export name cannot include a lone surrogate, found '\\u${t.toString(16)}'.`, "ModuleExportNameHasLoneSurrogate"),
    ModuleExportUndefined: /* @__PURE__ */ n(({
      localName: t
    }) => `Export '${t}' is not defined.`, "ModuleExportUndefined"),
    MultipleDefaultsInSwitch: "Multiple default clauses.",
    NewlineAfterThrow: "Illegal newline after throw.",
    NoCatchOrFinally: "Missing catch or finally clause.",
    NumberIdentifier: "Identifier directly after number.",
    NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",
    ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.",
    OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.",
    OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.",
    OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.",
    ParamDupe: "Argument name clash.",
    PatternHasAccessor: "Object pattern can't contain getter or setter.",
    PatternHasMethod: "Object pattern can't contain methods.",
    PrivateInExpectedIn: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Private names are only allowed in property accesses (\`obj.#${t}\`) or in \`in\` expressions (\`#${t} in obj\`).`, "PrivateInExpe\
ctedIn"),
    PrivateNameRedeclaration: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Duplicate private name #${t}.`, "PrivateNameRedeclaration"),
    RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 're\
cordAndTuple' plugin is set to 'bar'.",
    RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the\
 'recordAndTuple' plugin is set to 'bar'.",
    RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of th\
e 'recordAndTuple' plugin is set to 'hash'.",
    RecordNoProto: "'__proto__' is not allowed in Record expressions.",
    RestTrailingComma: "Unexpected trailing comma after rest element.",
    SloppyFunction: "In non-strict mode code, functions can only be declared at top level or inside a block.",
    SloppyFunctionAnnexB: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if sta\
tement.",
    SourcePhaseImportRequiresDefault: 'Only `import source x from "./module"` is valid.',
    StaticPrototype: "Classes may not have static property named prototype.",
    SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or n\
ot extending another class?",
    SuperPrivateField: "Private fields can't be accessed on super.",
    TrailingDecorator: "Decorators must be attached to a class element.",
    TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'reco\
rdAndTuple' plugin is set to 'bar'.",
    TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the '\
recordAndTuple' plugin is set to 'bar'.",
    TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the \
'recordAndTuple' plugin is set to 'hash'.",
    UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.",
    UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',
    UnexpectedDigitAfterHash: "Unexpected digit after hash token.",
    UnexpectedImportExport: "'import' and 'export' may only appear at the top level.",
    UnexpectedKeyword: /* @__PURE__ */ n(({
      keyword: t
    }) => `Unexpected keyword '${t}'.`, "UnexpectedKeyword"),
    UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.",
    UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.",
    UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.",
    UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.",
    UnexpectedPrivateField: "Unexpected private name.",
    UnexpectedReservedWord: /* @__PURE__ */ n(({
      reservedWord: t
    }) => `Unexpected reserved word '${t}'.`, "UnexpectedReservedWord"),
    UnexpectedSuper: "'super' is only allowed in object methods and classes.",
    UnexpectedToken: /* @__PURE__ */ n(({
      expected: t,
      unexpected: e
    }) => `Unexpected token${e ? ` '${e}'.` : ""}${t ? `, expected "${t}"` : ""}`, "UnexpectedToken"),
    UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",
    UnexpectedUsingDeclaration: "Using declaration cannot appear in the top level when source type is `script`.",
    UnsupportedBind: "Binding should be performed on object property.",
    UnsupportedDecoratorExport: "A decorated export must export a class declaration.",
    UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.",
    UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.",
    UnsupportedMetaProperty: /* @__PURE__ */ n(({
      target: t,
      onlyValidPropertyName: e
    }) => `The only valid meta property for ${t} is ${t}.${e}.`, "UnsupportedMetaProperty"),
    UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.",
    UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.",
    UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",
    UnterminatedComment: "Unterminated comment.",
    UnterminatedRegExp: "Unterminated regular expression.",
    UnterminatedString: "Unterminated string constant.",
    UnterminatedTemplate: "Unterminated template.",
    UsingDeclarationExport: "Using declaration cannot be exported.",
    UsingDeclarationHasBindingPattern: "Using declaration cannot have destructuring patterns.",
    VarRedeclaration: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Identifier '${t}' has already been declared.`, "VarRedeclaration"),
    YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.",
    YieldInParameter: "Yield expression is not allowed in formal parameters.",
    ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0."
  }, fit = {
    StrictDelete: "Deleting local variable in strict mode.",
    StrictEvalArguments: /* @__PURE__ */ n(({
      referenceName: t
    }) => `Assigning to '${t}' in strict mode.`, "StrictEvalArguments"),
    StrictEvalArgumentsBinding: /* @__PURE__ */ n(({
      bindingName: t
    }) => `Binding '${t}' in strict mode.`, "StrictEvalArgumentsBinding"),
    StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.",
    StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.",
    StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.",
    StrictWith: "'with' in strict mode."
  }, dit = /* @__PURE__ */ new Set(["ArrowFunctionExpression", "AssignmentExpression", "ConditionalExpression", "YieldExpression"]), mit = Object.
  assign({
    PipeBodyIsTighter: "Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due \
to its loose operator precedence.",
    PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" opt\
ion.',
    PipeTopicUnbound: "Topic reference is unbound; it must be inside a pipe body.",
    PipeTopicUnconfiguredToken: /* @__PURE__ */ n(({
      token: t
    }) => `Invalid topic token ${t}. In order to use ${t} as a topic reference, the pipelineOperator plugin must be configured with { "propo\
sal": "hack", "topicToken": "${t}" }.`, "PipeTopicUnconfiguredToken"),
    PipeTopicUnused: "Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",
    PipeUnparenthesizedBody: /* @__PURE__ */ n(({
      type: t
    }) => `Hack-style pipe body cannot be an unparenthesized ${qS({
      type: t
    })}; please wrap it in parentheses.`, "PipeUnparenthesizedBody")
  }, {
    PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',
    PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.",
    PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.",
    PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.",
    PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.",
    PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "sma\
rt" option.'
  }), yit = ["message"];
  function QY(t, e, s) {
    Object.defineProperty(t, e, {
      enumerable: !1,
      configurable: !0,
      value: s
    });
  }
  n(QY, "defineHidden");
  function git({
    toMessage: t,
    code: e,
    reasonCode: s,
    syntaxPlugin: r
  }) {
    let i = s === "MissingPlugin" || s === "MissingOneOfPlugins";
    {
      let a = {
        AccessorCannotDeclareThisParameter: "AccesorCannotDeclareThisParameter",
        AccessorCannotHaveTypeParameters: "AccesorCannotHaveTypeParameters",
        ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumRefer\
ence",
        SetAccessorCannotHaveOptionalParameter: "SetAccesorCannotHaveOptionalParameter",
        SetAccessorCannotHaveRestParameter: "SetAccesorCannotHaveRestParameter",
        SetAccessorCannotHaveReturnType: "SetAccesorCannotHaveReturnType"
      };
      a[s] && (s = a[s]);
    }
    return /* @__PURE__ */ n(function a(o, l) {
      let u = new SyntaxError();
      return u.code = e, u.reasonCode = s, u.loc = o, u.pos = o.index, u.syntaxPlugin = r, i && (u.missingPlugin = l.missingPlugin), QY(u, "\
clone", /* @__PURE__ */ n(function(p = {}) {
        var h;
        let {
          line: f,
          column: d,
          index: m
        } = (h = p.loc) != null ? h : o;
        return a(new ul(f, d, m), Object.assign({}, l, p.details));
      }, "clone")), QY(u, "details", l), Object.defineProperty(u, "message", {
        configurable: !0,
        get() {
          let c = `${t(l)} (${o.line}:${o.column})`;
          return this.message = c, c;
        },
        set(c) {
          Object.defineProperty(this, "message", {
            value: c,
            writable: !0
          });
        }
      }), u;
    }, "constructor");
  }
  n(git, "toParseErrorConstructor");
  function fu(t, e) {
    if (Array.isArray(t))
      return (r) => fu(r, t[0]);
    let s = {};
    for (let r of Object.keys(t)) {
      let i = t[r], a = typeof i == "string" ? {
        message: /* @__PURE__ */ n(() => i, "message")
      } : typeof i == "function" ? {
        message: i
      } : i, {
        message: o
      } = a, l = cit(a, yit), u = typeof o == "string" ? () => o : o;
      s[r] = git(Object.assign({
        code: "BABEL_PARSER_SYNTAX_ERROR",
        reasonCode: r,
        toMessage: u
      }, e ? {
        syntaxPlugin: e
      } : {}, l));
    }
    return s;
  }
  n(fu, "ParseErrorEnum");
  var Z = Object.assign({}, fu(pit), fu(hit), fu(fit), fu`pipelineOperator`(mit));
  function Tit() {
    return {
      sourceType: "script",
      sourceFilename: void 0,
      startIndex: 0,
      startColumn: 0,
      startLine: 1,
      allowAwaitOutsideFunction: !1,
      allowReturnOutsideFunction: !1,
      allowNewTargetOutsideFunction: !1,
      allowImportExportEverywhere: !1,
      allowSuperOutsideMethod: !1,
      allowUndeclaredExports: !1,
      plugins: [],
      strictMode: null,
      ranges: !1,
      tokens: !1,
      createImportExpressions: !1,
      createParenthesizedExpressions: !1,
      errorRecovery: !1,
      attachComment: !0,
      annexB: !0
    };
  }
  n(Tit, "createDefaultOptions");
  function bit(t) {
    let e = Tit();
    if (t == null)
      return e;
    if (t.annexB != null && t.annexB !== !1)
      throw new Error("The `annexB` option can only be set to `false`.");
    for (let s of Object.keys(e))
      t[s] != null && (e[s] = t[s]);
    if (e.startLine === 1)
      t.startIndex == null && e.startColumn > 0 ? e.startIndex = e.startColumn : t.startColumn == null && e.startIndex > 0 && (e.startColumn =
      e.startIndex);
    else if ((t.startColumn == null || t.startIndex == null) && t.startIndex != null)
      throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");
    return e;
  }
  n(bit, "getOptions");
  var {
    defineProperty: xit
  } = Object, ZY = /* @__PURE__ */ n((t, e) => {
    t && xit(t, e, {
      enumerable: !1,
      value: t[e]
    });
  }, "toUnenumerable");
  function Fg(t) {
    return ZY(t.loc.start, "index"), ZY(t.loc.end, "index"), t;
  }
  n(Fg, "toESTreeLocation");
  var Sit = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "ESTreeParserMixin");
    }
    parse() {
      let s = Fg(super.parse());
      return this.optionFlags & 128 && (s.tokens = s.tokens.map(Fg)), s;
    }
    parseRegExpLiteral({
      pattern: s,
      flags: r
    }) {
      let i = null;
      try {
        i = new RegExp(s, r);
      } catch {
      }
      let a = this.estreeParseLiteral(i);
      return a.regex = {
        pattern: s,
        flags: r
      }, a;
    }
    parseBigIntLiteral(s) {
      let r;
      try {
        r = BigInt(s);
      } catch {
        r = null;
      }
      let i = this.estreeParseLiteral(r);
      return i.bigint = String(i.value || s), i;
    }
    parseDecimalLiteral(s) {
      let i = this.estreeParseLiteral(null);
      return i.decimal = String(i.value || s), i;
    }
    estreeParseLiteral(s) {
      return this.parseLiteral(s, "Literal");
    }
    parseStringLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    parseNumericLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    parseNullLiteral() {
      return this.estreeParseLiteral(null);
    }
    parseBooleanLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    directiveToStmt(s) {
      let r = s.value;
      delete s.value, r.type = "Literal", r.raw = r.extra.raw, r.value = r.extra.expressionValue;
      let i = s;
      return i.type = "ExpressionStatement", i.expression = r, i.directive = r.extra.rawValue, delete r.extra, i;
    }
    initFunction(s, r) {
      super.initFunction(s, r), s.expression = !1;
    }
    checkDeclaration(s) {
      s != null && this.isObjectProperty(s) ? this.checkDeclaration(s.value) : super.checkDeclaration(s);
    }
    getObjectOrClassMethodParams(s) {
      return s.value.params;
    }
    isValidDirective(s) {
      var r;
      return s.type === "ExpressionStatement" && s.expression.type === "Literal" && typeof s.expression.value == "string" && !((r = s.expression.
      extra) != null && r.parenthesized);
    }
    parseBlockBody(s, r, i, a, o) {
      super.parseBlockBody(s, r, i, a, o);
      let l = s.directives.map((u) => this.directiveToStmt(u));
      s.body = l.concat(s.body), delete s.directives;
    }
    parsePrivateName() {
      let s = super.parsePrivateName();
      return this.getPluginOption("estree", "classFeatures") ? this.convertPrivateNameToPrivateIdentifier(s) : s;
    }
    convertPrivateNameToPrivateIdentifier(s) {
      let r = super.getPrivateNameSV(s);
      return s = s, delete s.id, s.name = r, s.type = "PrivateIdentifier", s;
    }
    isPrivateName(s) {
      return this.getPluginOption("estree", "classFeatures") ? s.type === "PrivateIdentifier" : super.isPrivateName(s);
    }
    getPrivateNameSV(s) {
      return this.getPluginOption("estree", "classFeatures") ? s.name : super.getPrivateNameSV(s);
    }
    parseLiteral(s, r) {
      let i = super.parseLiteral(s, r);
      return i.raw = i.extra.raw, delete i.extra, i;
    }
    parseFunctionBody(s, r, i = !1) {
      super.parseFunctionBody(s, r, i), s.expression = s.body.type !== "BlockStatement";
    }
    parseMethod(s, r, i, a, o, l, u = !1) {
      let c = this.startNode();
      c.kind = s.kind, c = super.parseMethod(c, r, i, a, o, l, u), c.type = "FunctionExpression", delete c.kind, s.value = c;
      let {
        typeParameters: p
      } = s;
      return p && (delete s.typeParameters, c.typeParameters = p, this.resetStartLocationFromNode(c, p)), l === "ClassPrivateMethod" && (s.computed =
      !1), this.finishNode(s, "MethodDefinition");
    }
    nameIsConstructor(s) {
      return s.type === "Literal" ? s.value === "constructor" : super.nameIsConstructor(s);
    }
    parseClassProperty(...s) {
      let r = super.parseClassProperty(...s);
      return this.getPluginOption("estree", "classFeatures") && (r.type = "PropertyDefinition"), r;
    }
    parseClassPrivateProperty(...s) {
      let r = super.parseClassPrivateProperty(...s);
      return this.getPluginOption("estree", "classFeatures") && (r.type = "PropertyDefinition", r.computed = !1), r;
    }
    parseObjectMethod(s, r, i, a, o) {
      let l = super.parseObjectMethod(s, r, i, a, o);
      return l && (l.type = "Property", l.kind === "method" && (l.kind = "init"), l.shorthand = !1), l;
    }
    parseObjectProperty(s, r, i, a) {
      let o = super.parseObjectProperty(s, r, i, a);
      return o && (o.kind = "init", o.type = "Property"), o;
    }
    isValidLVal(s, r, i) {
      return s === "Property" ? "value" : super.isValidLVal(s, r, i);
    }
    isAssignable(s, r) {
      return s != null && this.isObjectProperty(s) ? this.isAssignable(s.value, r) : super.isAssignable(s, r);
    }
    toAssignable(s, r = !1) {
      if (s != null && this.isObjectProperty(s)) {
        let {
          key: i,
          value: a
        } = s;
        this.isPrivateName(i) && this.classScope.usePrivateName(this.getPrivateNameSV(i), i.loc.start), this.toAssignable(a, r);
      } else
        super.toAssignable(s, r);
    }
    toAssignableObjectExpressionProp(s, r, i) {
      s.type === "Property" && (s.kind === "get" || s.kind === "set") ? this.raise(Z.PatternHasAccessor, s.key) : s.type === "Property" && s.
      method ? this.raise(Z.PatternHasMethod, s.key) : super.toAssignableObjectExpressionProp(s, r, i);
    }
    finishCallExpression(s, r) {
      let i = super.finishCallExpression(s, r);
      if (i.callee.type === "Import") {
        var a, o;
        i.type = "ImportExpression", i.source = i.arguments[0], i.options = (a = i.arguments[1]) != null ? a : null, i.attributes = (o = i.arguments[1]) !=
        null ? o : null, delete i.arguments, delete i.callee;
      }
      return i;
    }
    toReferencedArguments(s) {
      s.type !== "ImportExpression" && super.toReferencedArguments(s);
    }
    parseExport(s, r) {
      let i = this.state.lastTokStartLoc, a = super.parseExport(s, r);
      switch (a.type) {
        case "ExportAllDeclaration":
          a.exported = null;
          break;
        case "ExportNamedDeclaration":
          a.specifiers.length === 1 && a.specifiers[0].type === "ExportNamespaceSpecifier" && (a.type = "ExportAllDeclaration", a.exported =
          a.specifiers[0].exported, delete a.specifiers);
        case "ExportDefaultDeclaration":
          {
            var o;
            let {
              declaration: l
            } = a;
            l?.type === "ClassDeclaration" && ((o = l.decorators) == null ? void 0 : o.length) > 0 && l.start === a.start && this.resetStartLocation(
            a, i);
          }
          break;
      }
      return a;
    }
    parseSubscript(s, r, i, a) {
      let o = super.parseSubscript(s, r, i, a);
      if (a.optionalChainMember) {
        if ((o.type === "OptionalMemberExpression" || o.type === "OptionalCallExpression") && (o.type = o.type.substring(8)), a.stop) {
          let l = this.startNodeAtNode(o);
          return l.expression = o, this.finishNode(l, "ChainExpression");
        }
      } else (o.type === "MemberExpression" || o.type === "CallExpression") && (o.optional = !1);
      return o;
    }
    isOptionalMemberExpression(s) {
      return s.type === "ChainExpression" ? s.expression.type === "MemberExpression" : super.isOptionalMemberExpression(s);
    }
    hasPropertyAsPrivateName(s) {
      return s.type === "ChainExpression" && (s = s.expression), super.hasPropertyAsPrivateName(s);
    }
    isObjectProperty(s) {
      return s.type === "Property" && s.kind === "init" && !s.method;
    }
    isObjectMethod(s) {
      return s.type === "Property" && (s.method || s.kind === "get" || s.kind === "set");
    }
    finishNodeAt(s, r, i) {
      return Fg(super.finishNodeAt(s, r, i));
    }
    resetStartLocation(s, r) {
      super.resetStartLocation(s, r), Fg(s);
    }
    resetEndLocation(s, r = this.state.lastTokEndLoc) {
      super.resetEndLocation(s, r), Fg(s);
    }
  }, "estree"), Oh = class {
    static {
      n(this, "TokContext");
    }
    constructor(e, s) {
      this.token = void 0, this.preserveSpace = void 0, this.token = e, this.preserveSpace = !!s;
    }
  }, Xs = {
    brace: new Oh("{"),
    j_oTag: new Oh("<tag"),
    j_cTag: new Oh("</tag"),
    j_expr: new Oh("<tag>...</tag>", !0)
  };
  Xs.template = new Oh("`", !0);
  var os = !0, Ke = !0, CO = !0, jg = !0, zc = !0, Pit = !0, VS = class {
    static {
      n(this, "ExportedTokenType");
    }
    constructor(e, s = {}) {
      this.label = void 0, this.keyword = void 0, this.beforeExpr = void 0, this.startsExpr = void 0, this.rightAssociative = void 0, this.isLoop =
      void 0, this.isAssign = void 0, this.prefix = void 0, this.postfix = void 0, this.binop = void 0, this.label = e, this.keyword = s.keyword,
      this.beforeExpr = !!s.beforeExpr, this.startsExpr = !!s.startsExpr, this.rightAssociative = !!s.rightAssociative, this.isLoop = !!s.isLoop,
      this.isAssign = !!s.isAssign, this.prefix = !!s.prefix, this.postfix = !!s.postfix, this.binop = s.binop != null ? s.binop : null, this.
      updateContext = null;
    }
  }, GO = /* @__PURE__ */ new Map();
  function Ds(t, e = {}) {
    e.keyword = t;
    let s = Ct(t, e);
    return GO.set(t, s), s;
  }
  n(Ds, "createKeyword");
  function An(t, e) {
    return Ct(t, {
      beforeExpr: os,
      binop: e
    });
  }
  n(An, "createBinop");
  var Ug = -1, pu = [], QO = [], ZO = [], e2 = [], t2 = [], s2 = [];
  function Ct(t, e = {}) {
    var s, r, i, a;
    return ++Ug, QO.push(t), ZO.push((s = e.binop) != null ? s : -1), e2.push((r = e.beforeExpr) != null ? r : !1), t2.push((i = e.startsExpr) !=
    null ? i : !1), s2.push((a = e.prefix) != null ? a : !1), pu.push(new VS(t, e)), Ug;
  }
  n(Ct, "createToken");
  function as(t, e = {}) {
    var s, r, i, a;
    return ++Ug, GO.set(t, Ug), QO.push(t), ZO.push((s = e.binop) != null ? s : -1), e2.push((r = e.beforeExpr) != null ? r : !1), t2.push((i =
    e.startsExpr) != null ? i : !1), s2.push((a = e.prefix) != null ? a : !1), pu.push(new VS("name", e)), Ug;
  }
  n(as, "createKeywordLike");
  var Eit = {
    bracketL: Ct("[", {
      beforeExpr: os,
      startsExpr: Ke
    }),
    bracketHashL: Ct("#[", {
      beforeExpr: os,
      startsExpr: Ke
    }),
    bracketBarL: Ct("[|", {
      beforeExpr: os,
      startsExpr: Ke
    }),
    bracketR: Ct("]"),
    bracketBarR: Ct("|]"),
    braceL: Ct("{", {
      beforeExpr: os,
      startsExpr: Ke
    }),
    braceBarL: Ct("{|", {
      beforeExpr: os,
      startsExpr: Ke
    }),
    braceHashL: Ct("#{", {
      beforeExpr: os,
      startsExpr: Ke
    }),
    braceR: Ct("}"),
    braceBarR: Ct("|}"),
    parenL: Ct("(", {
      beforeExpr: os,
      startsExpr: Ke
    }),
    parenR: Ct(")"),
    comma: Ct(",", {
      beforeExpr: os
    }),
    semi: Ct(";", {
      beforeExpr: os
    }),
    colon: Ct(":", {
      beforeExpr: os
    }),
    doubleColon: Ct("::", {
      beforeExpr: os
    }),
    dot: Ct("."),
    question: Ct("?", {
      beforeExpr: os
    }),
    questionDot: Ct("?."),
    arrow: Ct("=>", {
      beforeExpr: os
    }),
    template: Ct("template"),
    ellipsis: Ct("...", {
      beforeExpr: os
    }),
    backQuote: Ct("`", {
      startsExpr: Ke
    }),
    dollarBraceL: Ct("${", {
      beforeExpr: os,
      startsExpr: Ke
    }),
    templateTail: Ct("...`", {
      startsExpr: Ke
    }),
    templateNonTail: Ct("...${", {
      beforeExpr: os,
      startsExpr: Ke
    }),
    at: Ct("@"),
    hash: Ct("#", {
      startsExpr: Ke
    }),
    interpreterDirective: Ct("#!..."),
    eq: Ct("=", {
      beforeExpr: os,
      isAssign: jg
    }),
    assign: Ct("_=", {
      beforeExpr: os,
      isAssign: jg
    }),
    slashAssign: Ct("_=", {
      beforeExpr: os,
      isAssign: jg
    }),
    xorAssign: Ct("_=", {
      beforeExpr: os,
      isAssign: jg
    }),
    moduloAssign: Ct("_=", {
      beforeExpr: os,
      isAssign: jg
    }),
    incDec: Ct("++/--", {
      prefix: zc,
      postfix: Pit,
      startsExpr: Ke
    }),
    bang: Ct("!", {
      beforeExpr: os,
      prefix: zc,
      startsExpr: Ke
    }),
    tilde: Ct("~", {
      beforeExpr: os,
      prefix: zc,
      startsExpr: Ke
    }),
    doubleCaret: Ct("^^", {
      startsExpr: Ke
    }),
    doubleAt: Ct("@@", {
      startsExpr: Ke
    }),
    pipeline: An("|>", 0),
    nullishCoalescing: An("??", 1),
    logicalOR: An("||", 1),
    logicalAND: An("&&", 2),
    bitwiseOR: An("|", 3),
    bitwiseXOR: An("^", 4),
    bitwiseAND: An("&", 5),
    equality: An("==/!=/===/!==", 6),
    lt: An("</>/<=/>=", 7),
    gt: An("</>/<=/>=", 7),
    relational: An("</>/<=/>=", 7),
    bitShift: An("<</>>/>>>", 8),
    bitShiftL: An("<</>>/>>>", 8),
    bitShiftR: An("<</>>/>>>", 8),
    plusMin: Ct("+/-", {
      beforeExpr: os,
      binop: 9,
      prefix: zc,
      startsExpr: Ke
    }),
    modulo: Ct("%", {
      binop: 10,
      startsExpr: Ke
    }),
    star: Ct("*", {
      binop: 10
    }),
    slash: An("/", 10),
    exponent: Ct("**", {
      beforeExpr: os,
      binop: 11,
      rightAssociative: !0
    }),
    _in: Ds("in", {
      beforeExpr: os,
      binop: 7
    }),
    _instanceof: Ds("instanceof", {
      beforeExpr: os,
      binop: 7
    }),
    _break: Ds("break"),
    _case: Ds("case", {
      beforeExpr: os
    }),
    _catch: Ds("catch"),
    _continue: Ds("continue"),
    _debugger: Ds("debugger"),
    _default: Ds("default", {
      beforeExpr: os
    }),
    _else: Ds("else", {
      beforeExpr: os
    }),
    _finally: Ds("finally"),
    _function: Ds("function", {
      startsExpr: Ke
    }),
    _if: Ds("if"),
    _return: Ds("return", {
      beforeExpr: os
    }),
    _switch: Ds("switch"),
    _throw: Ds("throw", {
      beforeExpr: os,
      prefix: zc,
      startsExpr: Ke
    }),
    _try: Ds("try"),
    _var: Ds("var"),
    _const: Ds("const"),
    _with: Ds("with"),
    _new: Ds("new", {
      beforeExpr: os,
      startsExpr: Ke
    }),
    _this: Ds("this", {
      startsExpr: Ke
    }),
    _super: Ds("super", {
      startsExpr: Ke
    }),
    _class: Ds("class", {
      startsExpr: Ke
    }),
    _extends: Ds("extends", {
      beforeExpr: os
    }),
    _export: Ds("export"),
    _import: Ds("import", {
      startsExpr: Ke
    }),
    _null: Ds("null", {
      startsExpr: Ke
    }),
    _true: Ds("true", {
      startsExpr: Ke
    }),
    _false: Ds("false", {
      startsExpr: Ke
    }),
    _typeof: Ds("typeof", {
      beforeExpr: os,
      prefix: zc,
      startsExpr: Ke
    }),
    _void: Ds("void", {
      beforeExpr: os,
      prefix: zc,
      startsExpr: Ke
    }),
    _delete: Ds("delete", {
      beforeExpr: os,
      prefix: zc,
      startsExpr: Ke
    }),
    _do: Ds("do", {
      isLoop: CO,
      beforeExpr: os
    }),
    _for: Ds("for", {
      isLoop: CO
    }),
    _while: Ds("while", {
      isLoop: CO
    }),
    _as: as("as", {
      startsExpr: Ke
    }),
    _assert: as("assert", {
      startsExpr: Ke
    }),
    _async: as("async", {
      startsExpr: Ke
    }),
    _await: as("await", {
      startsExpr: Ke
    }),
    _defer: as("defer", {
      startsExpr: Ke
    }),
    _from: as("from", {
      startsExpr: Ke
    }),
    _get: as("get", {
      startsExpr: Ke
    }),
    _let: as("let", {
      startsExpr: Ke
    }),
    _meta: as("meta", {
      startsExpr: Ke
    }),
    _of: as("of", {
      startsExpr: Ke
    }),
    _sent: as("sent", {
      startsExpr: Ke
    }),
    _set: as("set", {
      startsExpr: Ke
    }),
    _source: as("source", {
      startsExpr: Ke
    }),
    _static: as("static", {
      startsExpr: Ke
    }),
    _using: as("using", {
      startsExpr: Ke
    }),
    _yield: as("yield", {
      startsExpr: Ke
    }),
    _asserts: as("asserts", {
      startsExpr: Ke
    }),
    _checks: as("checks", {
      startsExpr: Ke
    }),
    _exports: as("exports", {
      startsExpr: Ke
    }),
    _global: as("global", {
      startsExpr: Ke
    }),
    _implements: as("implements", {
      startsExpr: Ke
    }),
    _intrinsic: as("intrinsic", {
      startsExpr: Ke
    }),
    _infer: as("infer", {
      startsExpr: Ke
    }),
    _is: as("is", {
      startsExpr: Ke
    }),
    _mixins: as("mixins", {
      startsExpr: Ke
    }),
    _proto: as("proto", {
      startsExpr: Ke
    }),
    _require: as("require", {
      startsExpr: Ke
    }),
    _satisfies: as("satisfies", {
      startsExpr: Ke
    }),
    _keyof: as("keyof", {
      startsExpr: Ke
    }),
    _readonly: as("readonly", {
      startsExpr: Ke
    }),
    _unique: as("unique", {
      startsExpr: Ke
    }),
    _abstract: as("abstract", {
      startsExpr: Ke
    }),
    _declare: as("declare", {
      startsExpr: Ke
    }),
    _enum: as("enum", {
      startsExpr: Ke
    }),
    _module: as("module", {
      startsExpr: Ke
    }),
    _namespace: as("namespace", {
      startsExpr: Ke
    }),
    _interface: as("interface", {
      startsExpr: Ke
    }),
    _type: as("type", {
      startsExpr: Ke
    }),
    _opaque: as("opaque", {
      startsExpr: Ke
    }),
    name: Ct("name", {
      startsExpr: Ke
    }),
    placeholder: Ct("%%", {
      startsExpr: !0
    }),
    string: Ct("string", {
      startsExpr: Ke
    }),
    num: Ct("num", {
      startsExpr: Ke
    }),
    bigint: Ct("bigint", {
      startsExpr: Ke
    }),
    decimal: Ct("decimal", {
      startsExpr: Ke
    }),
    regexp: Ct("regexp", {
      startsExpr: Ke
    }),
    privateName: Ct("#name", {
      startsExpr: Ke
    }),
    eof: Ct("eof"),
    jsxName: Ct("jsxName"),
    jsxText: Ct("jsxText", {
      beforeExpr: !0
    }),
    jsxTagStart: Ct("jsxTagStart", {
      startsExpr: !0
    }),
    jsxTagEnd: Ct("jsxTagEnd")
  };
  function zs(t) {
    return t >= 93 && t <= 133;
  }
  n(zs, "tokenIsIdentifier");
  function Ait(t) {
    return t <= 92;
  }
  n(Ait, "tokenKeywordOrIdentifierIsKeyword");
  function Po(t) {
    return t >= 58 && t <= 133;
  }
  n(Po, "tokenIsKeywordOrIdentifier");
  function pX(t) {
    return t >= 58 && t <= 137;
  }
  n(pX, "tokenIsLiteralPropertyName");
  function vit(t) {
    return e2[t];
  }
  n(vit, "tokenComesBeforeExpression");
  function DO(t) {
    return t2[t];
  }
  n(DO, "tokenCanStartExpression");
  function Cit(t) {
    return t >= 29 && t <= 33;
  }
  n(Cit, "tokenIsAssignment");
  function eX(t) {
    return t >= 129 && t <= 131;
  }
  n(eX, "tokenIsFlowInterfaceOrTypeOrOpaque");
  function wit(t) {
    return t >= 90 && t <= 92;
  }
  n(wit, "tokenIsLoop");
  function r2(t) {
    return t >= 58 && t <= 92;
  }
  n(r2, "tokenIsKeyword");
  function Iit(t) {
    return t >= 39 && t <= 59;
  }
  n(Iit, "tokenIsOperator");
  function Nit(t) {
    return t === 34;
  }
  n(Nit, "tokenIsPostfix");
  function kit(t) {
    return s2[t];
  }
  n(kit, "tokenIsPrefix");
  function Dit(t) {
    return t >= 121 && t <= 123;
  }
  n(Dit, "tokenIsTSTypeOperator");
  function Oit(t) {
    return t >= 124 && t <= 130;
  }
  n(Oit, "tokenIsTSDeclarationStart");
  function Qc(t) {
    return QO[t];
  }
  n(Qc, "tokenLabelName");
  function US(t) {
    return ZO[t];
  }
  n(US, "tokenOperatorPrecedence");
  function _it(t) {
    return t === 57;
  }
  n(_it, "tokenIsRightAssociative");
  function WS(t) {
    return t >= 24 && t <= 25;
  }
  n(WS, "tokenIsTemplate");
  function cu(t) {
    return pu[t];
  }
  n(cu, "getExportedToken");
  pu[8].updateContext = (t) => {
    t.pop();
  }, pu[5].updateContext = pu[7].updateContext = pu[23].updateContext = (t) => {
    t.push(Xs.brace);
  }, pu[22].updateContext = (t) => {
    t[t.length - 1] === Xs.template ? t.pop() : t.push(Xs.template);
  }, pu[143].updateContext = (t) => {
    t.push(Xs.j_expr, Xs.j_oTag);
  };
  var i2 = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993\
-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\
\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\
\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\
\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\
\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01\
-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",
  hX = "\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\
\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\
\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6\
-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20\
-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65", Lit = new RegExp("[" + i2 + "]"), Bit = new RegExp("[" + i2 + hX + "]");
  i2 = hX = null;
  var fX = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157,
  19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5,
  3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7,
  2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17,
  47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64,
  6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45,
  52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2,
  1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29,
  113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071,
  18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12,
  65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991,
  84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30,
  2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3,
  0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2,
  2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153,
  7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191], Mit = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5,
  0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13,
  2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4,
  68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58,
  14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54,
  7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350,
  0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543,
  4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6,
  10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
  function OO(t, e) {
    let s = 65536;
    for (let r = 0, i = e.length; r < i; r += 2) {
      if (s += e[r], s > t) return !1;
      if (s += e[r + 1], s >= t) return !0;
    }
    return !1;
  }
  n(OO, "isInAstralSet");
  function hu(t) {
    return t < 65 ? t === 36 : t <= 90 ? !0 : t < 97 ? t === 95 : t <= 122 ? !0 : t <= 65535 ? t >= 170 && Lit.test(String.fromCharCode(t)) :
    OO(t, fX);
  }
  n(hu, "isIdentifierStart");
  function jd(t) {
    return t < 48 ? t === 36 : t < 58 ? !0 : t < 65 ? !1 : t <= 90 ? !0 : t < 97 ? t === 95 : t <= 122 ? !0 : t <= 65535 ? t >= 170 && Bit.test(
    String.fromCharCode(t)) : OO(t, fX) || OO(t, Mit);
  }
  n(jd, "isIdentifierChar");
  var n2 = {
    keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "swit\
ch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false",
    "in", "instanceof", "typeof", "void", "delete"],
    strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
    strictBind: ["eval", "arguments"]
  }, Fit = new Set(n2.keyword), jit = new Set(n2.strict), Rit = new Set(n2.strictBind);
  function dX(t, e) {
    return e && t === "await" || t === "enum";
  }
  n(dX, "isReservedWord");
  function mX(t, e) {
    return dX(t, e) || jit.has(t);
  }
  n(mX, "isStrictReservedWord");
  function yX(t) {
    return Rit.has(t);
  }
  n(yX, "isStrictBindOnlyReservedWord");
  function gX(t, e) {
    return mX(t, e) || yX(t);
  }
  n(gX, "isStrictBindReservedWord");
  function qit(t) {
    return Fit.has(t);
  }
  n(qit, "isKeyword");
  function Uit(t, e, s) {
    return t === 64 && e === 64 && hu(s);
  }
  n(Uit, "isIteratorStart");
  var Kit = /* @__PURE__ */ new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function",
  "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import",
  "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protecte\
d", "public", "static", "yield", "eval", "arguments", "enum", "await"]);
  function Vit(t) {
    return Kit.has(t);
  }
  n(Vit, "canBeReservedWord");
  var Kg = class {
    static {
      n(this, "Scope");
    }
    constructor(e) {
      this.flags = 0, this.names = /* @__PURE__ */ new Map(), this.firstLexicalName = "", this.flags = e;
    }
  }, Vg = class {
    static {
      n(this, "ScopeHandler");
    }
    constructor(e, s) {
      this.parser = void 0, this.scopeStack = [], this.inModule = void 0, this.undefinedExports = /* @__PURE__ */ new Map(), this.parser = e,
      this.inModule = s;
    }
    get inTopLevel() {
      return (this.currentScope().flags & 1) > 0;
    }
    get inFunction() {
      return (this.currentVarScopeFlags() & 2) > 0;
    }
    get allowSuper() {
      return (this.currentThisScopeFlags() & 16) > 0;
    }
    get allowDirectSuper() {
      return (this.currentThisScopeFlags() & 32) > 0;
    }
    get inClass() {
      return (this.currentThisScopeFlags() & 64) > 0;
    }
    get inClassAndNotInNonArrowFunction() {
      let e = this.currentThisScopeFlags();
      return (e & 64) > 0 && (e & 2) === 0;
    }
    get inStaticBlock() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 128)
          return !0;
        if (s & 451)
          return !1;
      }
    }
    get inNonArrowFunction() {
      return (this.currentThisScopeFlags() & 2) > 0;
    }
    get treatFunctionsAsVar() {
      return this.treatFunctionsAsVarInScope(this.currentScope());
    }
    createScope(e) {
      return new Kg(e);
    }
    enter(e) {
      this.scopeStack.push(this.createScope(e));
    }
    exit() {
      return this.scopeStack.pop().flags;
    }
    treatFunctionsAsVarInScope(e) {
      return !!(e.flags & 130 || !this.parser.inModule && e.flags & 1);
    }
    declareName(e, s, r) {
      let i = this.currentScope();
      if (s & 8 || s & 16) {
        this.checkRedeclarationInScope(i, e, s, r);
        let a = i.names.get(e) || 0;
        s & 16 ? a = a | 4 : (i.firstLexicalName || (i.firstLexicalName = e), a = a | 2), i.names.set(e, a), s & 8 && this.maybeExportDefined(
        i, e);
      } else if (s & 4)
        for (let a = this.scopeStack.length - 1; a >= 0 && (i = this.scopeStack[a], this.checkRedeclarationInScope(i, e, s, r), i.names.set(
        e, (i.names.get(e) || 0) | 1), this.maybeExportDefined(i, e), !(i.flags & 387)); --a)
          ;
      this.parser.inModule && i.flags & 1 && this.undefinedExports.delete(e);
    }
    maybeExportDefined(e, s) {
      this.parser.inModule && e.flags & 1 && this.undefinedExports.delete(s);
    }
    checkRedeclarationInScope(e, s, r, i) {
      this.isRedeclaredInScope(e, s, r) && this.parser.raise(Z.VarRedeclaration, i, {
        identifierName: s
      });
    }
    isRedeclaredInScope(e, s, r) {
      if (!(r & 1)) return !1;
      if (r & 8)
        return e.names.has(s);
      let i = e.names.get(s);
      return r & 16 ? (i & 2) > 0 || !this.treatFunctionsAsVarInScope(e) && (i & 1) > 0 : (i & 2) > 0 && !(e.flags & 8 && e.firstLexicalName ===
      s) || !this.treatFunctionsAsVarInScope(e) && (i & 4) > 0;
    }
    checkLocalExport(e) {
      let {
        name: s
      } = e;
      this.scopeStack[0].names.has(s) || this.undefinedExports.set(s, e.loc.start);
    }
    currentScope() {
      return this.scopeStack[this.scopeStack.length - 1];
    }
    currentVarScopeFlags() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 387)
          return s;
      }
    }
    currentThisScopeFlags() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 451 && !(s & 4))
          return s;
      }
    }
  }, _O = class extends Kg {
    static {
      n(this, "FlowScope");
    }
    constructor(...e) {
      super(...e), this.declareFunctions = /* @__PURE__ */ new Set();
    }
  }, LO = class extends Vg {
    static {
      n(this, "FlowScopeHandler");
    }
    createScope(e) {
      return new _O(e);
    }
    declareName(e, s, r) {
      let i = this.currentScope();
      if (s & 2048) {
        this.checkRedeclarationInScope(i, e, s, r), this.maybeExportDefined(i, e), i.declareFunctions.add(e);
        return;
      }
      super.declareName(e, s, r);
    }
    isRedeclaredInScope(e, s, r) {
      if (super.isRedeclaredInScope(e, s, r)) return !0;
      if (r & 2048 && !e.declareFunctions.has(s)) {
        let i = e.names.get(s);
        return (i & 4) > 0 || (i & 2) > 0;
      }
      return !1;
    }
    checkLocalExport(e) {
      this.scopeStack[0].declareFunctions.has(e.name) || super.checkLocalExport(e);
    }
  }, BO = class {
    static {
      n(this, "BaseParser");
    }
    constructor() {
      this.sawUnambiguousESM = !1, this.ambiguousScriptDifferentAst = !1;
    }
    sourceToOffsetPos(e) {
      return e + this.startIndex;
    }
    offsetToSourcePos(e) {
      return e - this.startIndex;
    }
    hasPlugin(e) {
      if (typeof e == "string")
        return this.plugins.has(e);
      {
        let [s, r] = e;
        if (!this.hasPlugin(s))
          return !1;
        let i = this.plugins.get(s);
        for (let a of Object.keys(r))
          if (i?.[a] !== r[a])
            return !1;
        return !0;
      }
    }
    getPluginOption(e, s) {
      var r;
      return (r = this.plugins.get(e)) == null ? void 0 : r[s];
    }
  };
  function TX(t, e) {
    t.trailingComments === void 0 ? t.trailingComments = e : t.trailingComments.unshift(...e);
  }
  n(TX, "setTrailingComments");
  function Wit(t, e) {
    t.leadingComments === void 0 ? t.leadingComments = e : t.leadingComments.unshift(...e);
  }
  n(Wit, "setLeadingComments");
  function Wg(t, e) {
    t.innerComments === void 0 ? t.innerComments = e : t.innerComments.unshift(...e);
  }
  n(Wg, "setInnerComments");
  function kh(t, e, s) {
    let r = null, i = e.length;
    for (; r === null && i > 0; )
      r = e[--i];
    r === null || r.start > s.start ? Wg(t, s.comments) : TX(r, s.comments);
  }
  n(kh, "adjustInnerComments");
  var MO = class extends BO {
    static {
      n(this, "CommentsParser");
    }
    addComment(e) {
      this.filename && (e.loc.filename = this.filename);
      let {
        commentsLen: s
      } = this.state;
      this.comments.length !== s && (this.comments.length = s), this.comments.push(e), this.state.commentsLen++;
    }
    processComment(e) {
      let {
        commentStack: s
      } = this.state, r = s.length;
      if (r === 0) return;
      let i = r - 1, a = s[i];
      a.start === e.end && (a.leadingNode = e, i--);
      let {
        start: o
      } = e;
      for (; i >= 0; i--) {
        let l = s[i], u = l.end;
        if (u > o)
          l.containingNode = e, this.finalizeComment(l), s.splice(i, 1);
        else {
          u === o && (l.trailingNode = e);
          break;
        }
      }
    }
    finalizeComment(e) {
      let {
        comments: s
      } = e;
      if (e.leadingNode !== null || e.trailingNode !== null)
        e.leadingNode !== null && TX(e.leadingNode, s), e.trailingNode !== null && Wit(e.trailingNode, s);
      else {
        let {
          containingNode: r,
          start: i
        } = e;
        if (this.input.charCodeAt(this.offsetToSourcePos(i) - 1) === 44)
          switch (r.type) {
            case "ObjectExpression":
            case "ObjectPattern":
            case "RecordExpression":
              kh(r, r.properties, e);
              break;
            case "CallExpression":
            case "OptionalCallExpression":
              kh(r, r.arguments, e);
              break;
            case "FunctionDeclaration":
            case "FunctionExpression":
            case "ArrowFunctionExpression":
            case "ObjectMethod":
            case "ClassMethod":
            case "ClassPrivateMethod":
              kh(r, r.params, e);
              break;
            case "ArrayExpression":
            case "ArrayPattern":
            case "TupleExpression":
              kh(r, r.elements, e);
              break;
            case "ExportNamedDeclaration":
            case "ImportDeclaration":
              kh(r, r.specifiers, e);
              break;
            case "TSEnumDeclaration":
              kh(r, r.members, e);
              break;
            case "TSEnumBody":
              kh(r, r.members, e);
              break;
            default:
              Wg(r, s);
          }
        else
          Wg(r, s);
      }
    }
    finalizeRemainingComments() {
      let {
        commentStack: e
      } = this.state;
      for (let s = e.length - 1; s >= 0; s--)
        this.finalizeComment(e[s]);
      this.state.commentStack = [];
    }
    resetPreviousNodeTrailingComments(e) {
      let {
        commentStack: s
      } = this.state, {
        length: r
      } = s;
      if (r === 0) return;
      let i = s[r - 1];
      i.leadingNode === e && (i.leadingNode = null);
    }
    resetPreviousIdentifierLeadingComments(e) {
      let {
        commentStack: s
      } = this.state, {
        length: r
      } = s;
      r !== 0 && (s[r - 1].trailingNode === e ? s[r - 1].trailingNode = null : r >= 2 && s[r - 2].trailingNode === e && (s[r - 2].trailingNode =
      null));
    }
    takeSurroundingComments(e, s, r) {
      let {
        commentStack: i
      } = this.state, a = i.length;
      if (a === 0) return;
      let o = a - 1;
      for (; o >= 0; o--) {
        let l = i[o], u = l.end;
        if (l.start === r)
          l.leadingNode = e;
        else if (u === s)
          l.trailingNode = e;
        else if (u < s)
          break;
      }
    }
  }, $it = /\r\n|[\r\n\u2028\u2029]/, jS = new RegExp($it.source, "g");
  function Rd(t) {
    switch (t) {
      case 10:
      case 13:
      case 8232:
      case 8233:
        return !0;
      default:
        return !1;
    }
  }
  n(Rd, "isNewLine");
  function tX(t, e, s) {
    for (let r = e; r < s; r++)
      if (Rd(t.charCodeAt(r)))
        return !0;
    return !1;
  }
  n(tX, "hasNewLine");
  var wO = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g, IO = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g;
  function Hit(t) {
    switch (t) {
      case 9:
      case 11:
      case 12:
      case 32:
      case 160:
      case 5760:
      case 8192:
      case 8193:
      case 8194:
      case 8195:
      case 8196:
      case 8197:
      case 8198:
      case 8199:
      case 8200:
      case 8201:
      case 8202:
      case 8239:
      case 8287:
      case 12288:
      case 65279:
        return !0;
      default:
        return !1;
    }
  }
  n(Hit, "isWhitespace");
  var FO = class t {
    static {
      n(this, "State");
    }
    constructor() {
      this.flags = 1024, this.startIndex = void 0, this.curLine = void 0, this.lineStart = void 0, this.startLoc = void 0, this.endLoc = void 0,
      this.errors = [], this.potentialArrowAt = -1, this.noArrowAt = [], this.noArrowParamsConversionAt = [], this.topicContext = {
        maxNumOfResolvableTopics: 0,
        maxTopicIndex: null
      }, this.labels = [], this.commentsLen = 0, this.commentStack = [], this.pos = 0, this.type = 140, this.value = null, this.start = 0, this.
      end = 0, this.lastTokEndLoc = null, this.lastTokStartLoc = null, this.context = [Xs.brace], this.firstInvalidTemplateEscapePos = null,
      this.strictErrors = /* @__PURE__ */ new Map(), this.tokensLength = 0;
    }
    get strict() {
      return (this.flags & 1) > 0;
    }
    set strict(e) {
      e ? this.flags |= 1 : this.flags &= -2;
    }
    init({
      strictMode: e,
      sourceType: s,
      startIndex: r,
      startLine: i,
      startColumn: a
    }) {
      this.strict = e === !1 ? !1 : e === !0 ? !0 : s === "module", this.startIndex = r, this.curLine = i, this.lineStart = -a, this.startLoc =
      this.endLoc = new ul(i, a, r);
    }
    get maybeInArrowParameters() {
      return (this.flags & 2) > 0;
    }
    set maybeInArrowParameters(e) {
      e ? this.flags |= 2 : this.flags &= -3;
    }
    get inType() {
      return (this.flags & 4) > 0;
    }
    set inType(e) {
      e ? this.flags |= 4 : this.flags &= -5;
    }
    get noAnonFunctionType() {
      return (this.flags & 8) > 0;
    }
    set noAnonFunctionType(e) {
      e ? this.flags |= 8 : this.flags &= -9;
    }
    get hasFlowComment() {
      return (this.flags & 16) > 0;
    }
    set hasFlowComment(e) {
      e ? this.flags |= 16 : this.flags &= -17;
    }
    get isAmbientContext() {
      return (this.flags & 32) > 0;
    }
    set isAmbientContext(e) {
      e ? this.flags |= 32 : this.flags &= -33;
    }
    get inAbstractClass() {
      return (this.flags & 64) > 0;
    }
    set inAbstractClass(e) {
      e ? this.flags |= 64 : this.flags &= -65;
    }
    get inDisallowConditionalTypesContext() {
      return (this.flags & 128) > 0;
    }
    set inDisallowConditionalTypesContext(e) {
      e ? this.flags |= 128 : this.flags &= -129;
    }
    get soloAwait() {
      return (this.flags & 256) > 0;
    }
    set soloAwait(e) {
      e ? this.flags |= 256 : this.flags &= -257;
    }
    get inFSharpPipelineDirectBody() {
      return (this.flags & 512) > 0;
    }
    set inFSharpPipelineDirectBody(e) {
      e ? this.flags |= 512 : this.flags &= -513;
    }
    get canStartJSXElement() {
      return (this.flags & 1024) > 0;
    }
    set canStartJSXElement(e) {
      e ? this.flags |= 1024 : this.flags &= -1025;
    }
    get containsEsc() {
      return (this.flags & 2048) > 0;
    }
    set containsEsc(e) {
      e ? this.flags |= 2048 : this.flags &= -2049;
    }
    get hasTopLevelAwait() {
      return (this.flags & 4096) > 0;
    }
    set hasTopLevelAwait(e) {
      e ? this.flags |= 4096 : this.flags &= -4097;
    }
    curPosition() {
      return new ul(this.curLine, this.pos - this.lineStart, this.pos + this.startIndex);
    }
    clone() {
      let e = new t();
      return e.flags = this.flags, e.startIndex = this.startIndex, e.curLine = this.curLine, e.lineStart = this.lineStart, e.startLoc = this.
      startLoc, e.endLoc = this.endLoc, e.errors = this.errors.slice(), e.potentialArrowAt = this.potentialArrowAt, e.noArrowAt = this.noArrowAt.
      slice(), e.noArrowParamsConversionAt = this.noArrowParamsConversionAt.slice(), e.topicContext = this.topicContext, e.labels = this.labels.
      slice(), e.commentsLen = this.commentsLen, e.commentStack = this.commentStack.slice(), e.pos = this.pos, e.type = this.type, e.value =
      this.value, e.start = this.start, e.end = this.end, e.lastTokEndLoc = this.lastTokEndLoc, e.lastTokStartLoc = this.lastTokStartLoc, e.
      context = this.context.slice(), e.firstInvalidTemplateEscapePos = this.firstInvalidTemplateEscapePos, e.strictErrors = this.strictErrors,
      e.tokensLength = this.tokensLength, e;
    }
  }, Jit = /* @__PURE__ */ n(function(e) {
    return e >= 48 && e <= 57;
  }, "isDigit"), sX = {
    decBinOct: /* @__PURE__ */ new Set([46, 66, 69, 79, 95, 98, 101, 111]),
    hex: /* @__PURE__ */ new Set([46, 88, 95, 120])
  }, RS = {
    bin: /* @__PURE__ */ n((t) => t === 48 || t === 49, "bin"),
    oct: /* @__PURE__ */ n((t) => t >= 48 && t <= 55, "oct"),
    dec: /* @__PURE__ */ n((t) => t >= 48 && t <= 57, "dec"),
    hex: /* @__PURE__ */ n((t) => t >= 48 && t <= 57 || t >= 65 && t <= 70 || t >= 97 && t <= 102, "hex")
  };
  function rX(t, e, s, r, i, a) {
    let o = s, l = r, u = i, c = "", p = null, h = s, {
      length: f
    } = e;
    for (; ; ) {
      if (s >= f) {
        a.unterminated(o, l, u), c += e.slice(h, s);
        break;
      }
      let d = e.charCodeAt(s);
      if (Yit(t, d, e, s)) {
        c += e.slice(h, s);
        break;
      }
      if (d === 92) {
        c += e.slice(h, s);
        let m = Xit(e, s, r, i, t === "template", a);
        m.ch === null && !p ? p = {
          pos: s,
          lineStart: r,
          curLine: i
        } : c += m.ch, {
          pos: s,
          lineStart: r,
          curLine: i
        } = m, h = s;
      } else d === 8232 || d === 8233 ? (++s, ++i, r = s) : d === 10 || d === 13 ? t === "template" ? (c += e.slice(h, s) + `
`, ++s, d === 13 && e.charCodeAt(s) === 10 && ++s, ++i, h = r = s) : a.unterminated(o, l, u) : ++s;
    }
    return {
      pos: s,
      str: c,
      firstInvalidLoc: p,
      lineStart: r,
      curLine: i,
      containsInvalid: !!p
    };
  }
  n(rX, "readStringContents");
  function Yit(t, e, s, r) {
    return t === "template" ? e === 96 || e === 36 && s.charCodeAt(r + 1) === 123 : e === (t === "double" ? 34 : 39);
  }
  n(Yit, "isStringEnd");
  function Xit(t, e, s, r, i, a) {
    let o = !i;
    e++;
    let l = /* @__PURE__ */ n((c) => ({
      pos: e,
      ch: c,
      lineStart: s,
      curLine: r
    }), "res"), u = t.charCodeAt(e++);
    switch (u) {
      case 110:
        return l(`
`);
      case 114:
        return l("\r");
      case 120: {
        let c;
        return {
          code: c,
          pos: e
        } = jO(t, e, s, r, 2, !1, o, a), l(c === null ? null : String.fromCharCode(c));
      }
      case 117: {
        let c;
        return {
          code: c,
          pos: e
        } = xX(t, e, s, r, o, a), l(c === null ? null : String.fromCodePoint(c));
      }
      case 116:
        return l("	");
      case 98:
        return l("\b");
      case 118:
        return l("\v");
      case 102:
        return l("\f");
      case 13:
        t.charCodeAt(e) === 10 && ++e;
      case 10:
        s = e, ++r;
      case 8232:
      case 8233:
        return l("");
      case 56:
      case 57:
        if (i)
          return l(null);
        a.strictNumericEscape(e - 1, s, r);
      default:
        if (u >= 48 && u <= 55) {
          let c = e - 1, h = /^[0-7]+/.exec(t.slice(c, e + 2))[0], f = parseInt(h, 8);
          f > 255 && (h = h.slice(0, -1), f = parseInt(h, 8)), e += h.length - 1;
          let d = t.charCodeAt(e);
          if (h !== "0" || d === 56 || d === 57) {
            if (i)
              return l(null);
            a.strictNumericEscape(c, s, r);
          }
          return l(String.fromCharCode(f));
        }
        return l(String.fromCharCode(u));
    }
  }
  n(Xit, "readEscapedChar");
  function jO(t, e, s, r, i, a, o, l) {
    let u = e, c;
    return {
      n: c,
      pos: e
    } = bX(t, e, s, r, 16, i, a, !1, l, !o), c === null && (o ? l.invalidEscapeSequence(u, s, r) : e = u - 1), {
      code: c,
      pos: e
    };
  }
  n(jO, "readHexChar");
  function bX(t, e, s, r, i, a, o, l, u, c) {
    let p = e, h = i === 16 ? sX.hex : sX.decBinOct, f = i === 16 ? RS.hex : i === 10 ? RS.dec : i === 8 ? RS.oct : RS.bin, d = !1, m = 0;
    for (let y = 0, T = a ?? 1 / 0; y < T; ++y) {
      let b = t.charCodeAt(e), E;
      if (b === 95 && l !== "bail") {
        let V = t.charCodeAt(e - 1), W = t.charCodeAt(e + 1);
        if (l) {
          if (Number.isNaN(W) || !f(W) || h.has(V) || h.has(W)) {
            if (c) return {
              n: null,
              pos: e
            };
            u.unexpectedNumericSeparator(e, s, r);
          }
        } else {
          if (c) return {
            n: null,
            pos: e
          };
          u.numericSeparatorInEscapeSequence(e, s, r);
        }
        ++e;
        continue;
      }
      if (b >= 97 ? E = b - 97 + 10 : b >= 65 ? E = b - 65 + 10 : Jit(b) ? E = b - 48 : E = 1 / 0, E >= i) {
        if (E <= 9 && c)
          return {
            n: null,
            pos: e
          };
        if (E <= 9 && u.invalidDigit(e, s, r, i))
          E = 0;
        else if (o)
          E = 0, d = !0;
        else
          break;
      }
      ++e, m = m * i + E;
    }
    return e === p || a != null && e - p !== a || d ? {
      n: null,
      pos: e
    } : {
      n: m,
      pos: e
    };
  }
  n(bX, "readInt");
  function xX(t, e, s, r, i, a) {
    let o = t.charCodeAt(e), l;
    if (o === 123) {
      if (++e, {
        code: l,
        pos: e
      } = jO(t, e, s, r, t.indexOf("}", e) - e, !0, i, a), ++e, l !== null && l > 1114111)
        if (i)
          a.invalidCodePoint(e, s, r);
        else
          return {
            code: null,
            pos: e
          };
    } else
      ({
        code: l,
        pos: e
      } = jO(t, e, s, r, 4, !1, i, a));
    return {
      code: l,
      pos: e
    };
  }
  n(xX, "readCodePoint");
  function Rg(t, e, s) {
    return new ul(s, t - e, t);
  }
  n(Rg, "buildPosition");
  var zit = /* @__PURE__ */ new Set([103, 109, 115, 105, 121, 117, 100, 118]), ll = class {
    static {
      n(this, "Token");
    }
    constructor(e) {
      let s = e.startIndex || 0;
      this.type = e.type, this.value = e.value, this.start = s + e.start, this.end = s + e.end, this.loc = new Ud(e.startLoc, e.endLoc);
    }
  }, RO = class extends MO {
    static {
      n(this, "Tokenizer");
    }
    constructor(e, s) {
      super(), this.isLookahead = void 0, this.tokens = [], this.errorHandlers_readInt = {
        invalidDigit: /* @__PURE__ */ n((r, i, a, o) => this.optionFlags & 1024 ? (this.raise(Z.InvalidDigit, Rg(r, i, a), {
          radix: o
        }), !0) : !1, "invalidDigit"),
        numericSeparatorInEscapeSequence: this.errorBuilder(Z.NumericSeparatorInEscapeSequence),
        unexpectedNumericSeparator: this.errorBuilder(Z.UnexpectedNumericSeparator)
      }, this.errorHandlers_readCodePoint = Object.assign({}, this.errorHandlers_readInt, {
        invalidEscapeSequence: this.errorBuilder(Z.InvalidEscapeSequence),
        invalidCodePoint: this.errorBuilder(Z.InvalidCodePoint)
      }), this.errorHandlers_readStringContents_string = Object.assign({}, this.errorHandlers_readCodePoint, {
        strictNumericEscape: /* @__PURE__ */ n((r, i, a) => {
          this.recordStrictModeErrors(Z.StrictNumericEscape, Rg(r, i, a));
        }, "strictNumericEscape"),
        unterminated: /* @__PURE__ */ n((r, i, a) => {
          throw this.raise(Z.UnterminatedString, Rg(r - 1, i, a));
        }, "unterminated")
      }), this.errorHandlers_readStringContents_template = Object.assign({}, this.errorHandlers_readCodePoint, {
        strictNumericEscape: this.errorBuilder(Z.StrictNumericEscape),
        unterminated: /* @__PURE__ */ n((r, i, a) => {
          throw this.raise(Z.UnterminatedTemplate, Rg(r, i, a));
        }, "unterminated")
      }), this.state = new FO(), this.state.init(e), this.input = s, this.length = s.length, this.comments = [], this.isLookahead = !1;
    }
    pushToken(e) {
      this.tokens.length = this.state.tokensLength, this.tokens.push(e), ++this.state.tokensLength;
    }
    next() {
      this.checkKeywordEscapes(), this.optionFlags & 128 && this.pushToken(new ll(this.state)), this.state.lastTokEndLoc = this.state.endLoc,
      this.state.lastTokStartLoc = this.state.startLoc, this.nextToken();
    }
    eat(e) {
      return this.match(e) ? (this.next(), !0) : !1;
    }
    match(e) {
      return this.state.type === e;
    }
    createLookaheadState(e) {
      return {
        pos: e.pos,
        value: null,
        type: e.type,
        start: e.start,
        end: e.end,
        context: [this.curContext()],
        inType: e.inType,
        startLoc: e.startLoc,
        lastTokEndLoc: e.lastTokEndLoc,
        curLine: e.curLine,
        lineStart: e.lineStart,
        curPosition: e.curPosition
      };
    }
    lookahead() {
      let e = this.state;
      this.state = this.createLookaheadState(e), this.isLookahead = !0, this.nextToken(), this.isLookahead = !1;
      let s = this.state;
      return this.state = e, s;
    }
    nextTokenStart() {
      return this.nextTokenStartSince(this.state.pos);
    }
    nextTokenStartSince(e) {
      return wO.lastIndex = e, wO.test(this.input) ? wO.lastIndex : e;
    }
    lookaheadCharCode() {
      return this.input.charCodeAt(this.nextTokenStart());
    }
    nextTokenInLineStart() {
      return this.nextTokenInLineStartSince(this.state.pos);
    }
    nextTokenInLineStartSince(e) {
      return IO.lastIndex = e, IO.test(this.input) ? IO.lastIndex : e;
    }
    lookaheadInLineCharCode() {
      return this.input.charCodeAt(this.nextTokenInLineStart());
    }
    codePointAtPos(e) {
      let s = this.input.charCodeAt(e);
      if ((s & 64512) === 55296 && ++e < this.input.length) {
        let r = this.input.charCodeAt(e);
        (r & 64512) === 56320 && (s = 65536 + ((s & 1023) << 10) + (r & 1023));
      }
      return s;
    }
    setStrict(e) {
      this.state.strict = e, e && (this.state.strictErrors.forEach(([s, r]) => this.raise(s, r)), this.state.strictErrors.clear());
    }
    curContext() {
      return this.state.context[this.state.context.length - 1];
    }
    nextToken() {
      if (this.skipSpace(), this.state.start = this.state.pos, this.isLookahead || (this.state.startLoc = this.state.curPosition()), this.state.
      pos >= this.length) {
        this.finishToken(140);
        return;
      }
      this.getTokenFromCode(this.codePointAtPos(this.state.pos));
    }
    skipBlockComment(e) {
      let s;
      this.isLookahead || (s = this.state.curPosition());
      let r = this.state.pos, i = this.input.indexOf(e, r + 2);
      if (i === -1)
        throw this.raise(Z.UnterminatedComment, this.state.curPosition());
      for (this.state.pos = i + e.length, jS.lastIndex = r + 2; jS.test(this.input) && jS.lastIndex <= i; )
        ++this.state.curLine, this.state.lineStart = jS.lastIndex;
      if (this.isLookahead) return;
      let a = {
        type: "CommentBlock",
        value: this.input.slice(r + 2, i),
        start: this.sourceToOffsetPos(r),
        end: this.sourceToOffsetPos(i + e.length),
        loc: new Ud(s, this.state.curPosition())
      };
      return this.optionFlags & 128 && this.pushToken(a), a;
    }
    skipLineComment(e) {
      let s = this.state.pos, r;
      this.isLookahead || (r = this.state.curPosition());
      let i = this.input.charCodeAt(this.state.pos += e);
      if (this.state.pos < this.length)
        for (; !Rd(i) && ++this.state.pos < this.length; )
          i = this.input.charCodeAt(this.state.pos);
      if (this.isLookahead) return;
      let a = this.state.pos, l = {
        type: "CommentLine",
        value: this.input.slice(s + e, a),
        start: this.sourceToOffsetPos(s),
        end: this.sourceToOffsetPos(a),
        loc: new Ud(r, this.state.curPosition())
      };
      return this.optionFlags & 128 && this.pushToken(l), l;
    }
    skipSpace() {
      let e = this.state.pos, s = this.optionFlags & 2048 ? [] : null;
      e: for (; this.state.pos < this.length; ) {
        let r = this.input.charCodeAt(this.state.pos);
        switch (r) {
          case 32:
          case 160:
          case 9:
            ++this.state.pos;
            break;
          case 13:
            this.input.charCodeAt(this.state.pos + 1) === 10 && ++this.state.pos;
          case 10:
          case 8232:
          case 8233:
            ++this.state.pos, ++this.state.curLine, this.state.lineStart = this.state.pos;
            break;
          case 47:
            switch (this.input.charCodeAt(this.state.pos + 1)) {
              case 42: {
                let i = this.skipBlockComment("*/");
                i !== void 0 && (this.addComment(i), s?.push(i));
                break;
              }
              case 47: {
                let i = this.skipLineComment(2);
                i !== void 0 && (this.addComment(i), s?.push(i));
                break;
              }
              default:
                break e;
            }
            break;
          default:
            if (Hit(r))
              ++this.state.pos;
            else if (r === 45 && !this.inModule && this.optionFlags & 4096) {
              let i = this.state.pos;
              if (this.input.charCodeAt(i + 1) === 45 && this.input.charCodeAt(i + 2) === 62 && (e === 0 || this.state.lineStart > e)) {
                let a = this.skipLineComment(3);
                a !== void 0 && (this.addComment(a), s?.push(a));
              } else
                break e;
            } else if (r === 60 && !this.inModule && this.optionFlags & 4096) {
              let i = this.state.pos;
              if (this.input.charCodeAt(i + 1) === 33 && this.input.charCodeAt(i + 2) === 45 && this.input.charCodeAt(i + 3) === 45) {
                let a = this.skipLineComment(4);
                a !== void 0 && (this.addComment(a), s?.push(a));
              } else
                break e;
            } else
              break e;
        }
      }
      if (s?.length > 0) {
        let r = this.state.pos, i = {
          start: this.sourceToOffsetPos(e),
          end: this.sourceToOffsetPos(r),
          comments: s,
          leadingNode: null,
          trailingNode: null,
          containingNode: null
        };
        this.state.commentStack.push(i);
      }
    }
    finishToken(e, s) {
      this.state.end = this.state.pos, this.state.endLoc = this.state.curPosition();
      let r = this.state.type;
      this.state.type = e, this.state.value = s, this.isLookahead || this.updateContext(r);
    }
    replaceToken(e) {
      this.state.type = e, this.updateContext();
    }
    readToken_numberSign() {
      if (this.state.pos === 0 && this.readToken_interpreter())
        return;
      let e = this.state.pos + 1, s = this.codePointAtPos(e);
      if (s >= 48 && s <= 57)
        throw this.raise(Z.UnexpectedDigitAfterHash, this.state.curPosition());
      if (s === 123 || s === 91 && this.hasPlugin("recordAndTuple")) {
        if (this.expectPlugin("recordAndTuple"), this.getPluginOption("recordAndTuple", "syntaxType") === "bar")
          throw this.raise(s === 123 ? Z.RecordExpressionHashIncorrectStartSyntaxType : Z.TupleExpressionHashIncorrectStartSyntaxType, this.
          state.curPosition());
        this.state.pos += 2, s === 123 ? this.finishToken(7) : this.finishToken(1);
      } else hu(s) ? (++this.state.pos, this.finishToken(139, this.readWord1(s))) : s === 92 ? (++this.state.pos, this.finishToken(139, this.
      readWord1())) : this.finishOp(27, 1);
    }
    readToken_dot() {
      let e = this.input.charCodeAt(this.state.pos + 1);
      if (e >= 48 && e <= 57) {
        this.readNumber(!0);
        return;
      }
      e === 46 && this.input.charCodeAt(this.state.pos + 2) === 46 ? (this.state.pos += 3, this.finishToken(21)) : (++this.state.pos, this.finishToken(
      16));
    }
    readToken_slash() {
      this.input.charCodeAt(this.state.pos + 1) === 61 ? this.finishOp(31, 2) : this.finishOp(56, 1);
    }
    readToken_interpreter() {
      if (this.state.pos !== 0 || this.length < 2) return !1;
      let e = this.input.charCodeAt(this.state.pos + 1);
      if (e !== 33) return !1;
      let s = this.state.pos;
      for (this.state.pos += 1; !Rd(e) && ++this.state.pos < this.length; )
        e = this.input.charCodeAt(this.state.pos);
      let r = this.input.slice(s + 2, this.state.pos);
      return this.finishToken(28, r), !0;
    }
    readToken_mult_modulo(e) {
      let s = e === 42 ? 55 : 54, r = 1, i = this.input.charCodeAt(this.state.pos + 1);
      e === 42 && i === 42 && (r++, i = this.input.charCodeAt(this.state.pos + 2), s = 57), i === 61 && !this.state.inType && (r++, s = e ===
      37 ? 33 : 30), this.finishOp(s, r);
    }
    readToken_pipe_amp(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === e) {
        this.input.charCodeAt(this.state.pos + 2) === 61 ? this.finishOp(30, 3) : this.finishOp(e === 124 ? 41 : 42, 2);
        return;
      }
      if (e === 124) {
        if (s === 62) {
          this.finishOp(39, 2);
          return;
        }
        if (this.hasPlugin("recordAndTuple") && s === 125) {
          if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
            throw this.raise(Z.RecordExpressionBarIncorrectEndSyntaxType, this.state.curPosition());
          this.state.pos += 2, this.finishToken(9);
          return;
        }
        if (this.hasPlugin("recordAndTuple") && s === 93) {
          if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
            throw this.raise(Z.TupleExpressionBarIncorrectEndSyntaxType, this.state.curPosition());
          this.state.pos += 2, this.finishToken(4);
          return;
        }
      }
      if (s === 61) {
        this.finishOp(30, 2);
        return;
      }
      this.finishOp(e === 124 ? 43 : 45, 1);
    }
    readToken_caret() {
      let e = this.input.charCodeAt(this.state.pos + 1);
      e === 61 && !this.state.inType ? this.finishOp(32, 2) : e === 94 && this.hasPlugin(["pipelineOperator", {
        proposal: "hack",
        topicToken: "^^"
      }]) ? (this.finishOp(37, 2), this.input.codePointAt(this.state.pos) === 94 && this.unexpected()) : this.finishOp(44, 1);
    }
    readToken_atSign() {
      this.input.charCodeAt(this.state.pos + 1) === 64 && this.hasPlugin(["pipelineOperator", {
        proposal: "hack",
        topicToken: "@@"
      }]) ? this.finishOp(38, 2) : this.finishOp(26, 1);
    }
    readToken_plus_min(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === e) {
        this.finishOp(34, 2);
        return;
      }
      s === 61 ? this.finishOp(30, 2) : this.finishOp(53, 1);
    }
    readToken_lt() {
      let {
        pos: e
      } = this.state, s = this.input.charCodeAt(e + 1);
      if (s === 60) {
        if (this.input.charCodeAt(e + 2) === 61) {
          this.finishOp(30, 3);
          return;
        }
        this.finishOp(51, 2);
        return;
      }
      if (s === 61) {
        this.finishOp(49, 2);
        return;
      }
      this.finishOp(47, 1);
    }
    readToken_gt() {
      let {
        pos: e
      } = this.state, s = this.input.charCodeAt(e + 1);
      if (s === 62) {
        let r = this.input.charCodeAt(e + 2) === 62 ? 3 : 2;
        if (this.input.charCodeAt(e + r) === 61) {
          this.finishOp(30, r + 1);
          return;
        }
        this.finishOp(52, r);
        return;
      }
      if (s === 61) {
        this.finishOp(49, 2);
        return;
      }
      this.finishOp(48, 1);
    }
    readToken_eq_excl(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === 61) {
        this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2);
        return;
      }
      if (e === 61 && s === 62) {
        this.state.pos += 2, this.finishToken(19);
        return;
      }
      this.finishOp(e === 61 ? 29 : 35, 1);
    }
    readToken_question() {
      let e = this.input.charCodeAt(this.state.pos + 1), s = this.input.charCodeAt(this.state.pos + 2);
      e === 63 ? s === 61 ? this.finishOp(30, 3) : this.finishOp(40, 2) : e === 46 && !(s >= 48 && s <= 57) ? (this.state.pos += 2, this.finishToken(
      18)) : (++this.state.pos, this.finishToken(17));
    }
    getTokenFromCode(e) {
      switch (e) {
        case 46:
          this.readToken_dot();
          return;
        case 40:
          ++this.state.pos, this.finishToken(10);
          return;
        case 41:
          ++this.state.pos, this.finishToken(11);
          return;
        case 59:
          ++this.state.pos, this.finishToken(13);
          return;
        case 44:
          ++this.state.pos, this.finishToken(12);
          return;
        case 91:
          if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
            if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
              throw this.raise(Z.TupleExpressionBarIncorrectStartSyntaxType, this.state.curPosition());
            this.state.pos += 2, this.finishToken(2);
          } else
            ++this.state.pos, this.finishToken(0);
          return;
        case 93:
          ++this.state.pos, this.finishToken(3);
          return;
        case 123:
          if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
            if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
              throw this.raise(Z.RecordExpressionBarIncorrectStartSyntaxType, this.state.curPosition());
            this.state.pos += 2, this.finishToken(6);
          } else
            ++this.state.pos, this.finishToken(5);
          return;
        case 125:
          ++this.state.pos, this.finishToken(8);
          return;
        case 58:
          this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58 ? this.finishOp(15, 2) : (++this.state.pos, this.
          finishToken(14));
          return;
        case 63:
          this.readToken_question();
          return;
        case 96:
          this.readTemplateToken();
          return;
        case 48: {
          let s = this.input.charCodeAt(this.state.pos + 1);
          if (s === 120 || s === 88) {
            this.readRadixNumber(16);
            return;
          }
          if (s === 111 || s === 79) {
            this.readRadixNumber(8);
            return;
          }
          if (s === 98 || s === 66) {
            this.readRadixNumber(2);
            return;
          }
        }
        case 49:
        case 50:
        case 51:
        case 52:
        case 53:
        case 54:
        case 55:
        case 56:
        case 57:
          this.readNumber(!1);
          return;
        case 34:
        case 39:
          this.readString(e);
          return;
        case 47:
          this.readToken_slash();
          return;
        case 37:
        case 42:
          this.readToken_mult_modulo(e);
          return;
        case 124:
        case 38:
          this.readToken_pipe_amp(e);
          return;
        case 94:
          this.readToken_caret();
          return;
        case 43:
        case 45:
          this.readToken_plus_min(e);
          return;
        case 60:
          this.readToken_lt();
          return;
        case 62:
          this.readToken_gt();
          return;
        case 61:
        case 33:
          this.readToken_eq_excl(e);
          return;
        case 126:
          this.finishOp(36, 1);
          return;
        case 64:
          this.readToken_atSign();
          return;
        case 35:
          this.readToken_numberSign();
          return;
        case 92:
          this.readWord();
          return;
        default:
          if (hu(e)) {
            this.readWord(e);
            return;
          }
      }
      throw this.raise(Z.InvalidOrUnexpectedToken, this.state.curPosition(), {
        unexpected: String.fromCodePoint(e)
      });
    }
    finishOp(e, s) {
      let r = this.input.slice(this.state.pos, this.state.pos + s);
      this.state.pos += s, this.finishToken(e, r);
    }
    readRegexp() {
      let e = this.state.startLoc, s = this.state.start + 1, r, i, {
        pos: a
      } = this.state;
      for (; ; ++a) {
        if (a >= this.length)
          throw this.raise(Z.UnterminatedRegExp, vn(e, 1));
        let c = this.input.charCodeAt(a);
        if (Rd(c))
          throw this.raise(Z.UnterminatedRegExp, vn(e, 1));
        if (r)
          r = !1;
        else {
          if (c === 91)
            i = !0;
          else if (c === 93 && i)
            i = !1;
          else if (c === 47 && !i)
            break;
          r = c === 92;
        }
      }
      let o = this.input.slice(s, a);
      ++a;
      let l = "", u = /* @__PURE__ */ n(() => vn(e, a + 2 - s), "nextPos");
      for (; a < this.length; ) {
        let c = this.codePointAtPos(a), p = String.fromCharCode(c);
        if (zit.has(c))
          c === 118 ? l.includes("u") && this.raise(Z.IncompatibleRegExpUVFlags, u()) : c === 117 && l.includes("v") && this.raise(Z.IncompatibleRegExpUVFlags,
          u()), l.includes(p) && this.raise(Z.DuplicateRegExpFlags, u());
        else if (jd(c) || c === 92)
          this.raise(Z.MalformedRegExpFlags, u());
        else
          break;
        ++a, l += p;
      }
      this.state.pos = a, this.finishToken(138, {
        pattern: o,
        flags: l
      });
    }
    readInt(e, s, r = !1, i = !0) {
      let {
        n: a,
        pos: o
      } = bX(this.input, this.state.pos, this.state.lineStart, this.state.curLine, e, s, r, i, this.errorHandlers_readInt, !1);
      return this.state.pos = o, a;
    }
    readRadixNumber(e) {
      let s = this.state.pos, r = this.state.curPosition(), i = !1;
      this.state.pos += 2;
      let a = this.readInt(e);
      a == null && this.raise(Z.InvalidDigit, vn(r, 2), {
        radix: e
      });
      let o = this.input.charCodeAt(this.state.pos);
      if (o === 110)
        ++this.state.pos, i = !0;
      else if (o === 109)
        throw this.raise(Z.InvalidDecimal, r);
      if (hu(this.codePointAtPos(this.state.pos)))
        throw this.raise(Z.NumberIdentifier, this.state.curPosition());
      if (i) {
        let l = this.input.slice(s, this.state.pos).replace(/[_n]/g, "");
        this.finishToken(136, l);
        return;
      }
      this.finishToken(135, a);
    }
    readNumber(e) {
      let s = this.state.pos, r = this.state.curPosition(), i = !1, a = !1, o = !1, l = !1;
      !e && this.readInt(10) === null && this.raise(Z.InvalidNumber, this.state.curPosition());
      let u = this.state.pos - s >= 2 && this.input.charCodeAt(s) === 48;
      if (u) {
        let d = this.input.slice(s, this.state.pos);
        if (this.recordStrictModeErrors(Z.StrictOctalLiteral, r), !this.state.strict) {
          let m = d.indexOf("_");
          m > 0 && this.raise(Z.ZeroDigitNumericSeparator, vn(r, m));
        }
        l = u && !/[89]/.test(d);
      }
      let c = this.input.charCodeAt(this.state.pos);
      if (c === 46 && !l && (++this.state.pos, this.readInt(10), i = !0, c = this.input.charCodeAt(this.state.pos)), (c === 69 || c === 101) &&
      !l && (c = this.input.charCodeAt(++this.state.pos), (c === 43 || c === 45) && ++this.state.pos, this.readInt(10) === null && this.raise(
      Z.InvalidOrMissingExponent, r), i = !0, o = !0, c = this.input.charCodeAt(this.state.pos)), c === 110 && ((i || u) && this.raise(Z.InvalidBigIntLiteral,
      r), ++this.state.pos, a = !0), c === 109) {
        this.expectPlugin("decimal", this.state.curPosition()), (o || u) && this.raise(Z.InvalidDecimal, r), ++this.state.pos;
        var p = !0;
      }
      if (hu(this.codePointAtPos(this.state.pos)))
        throw this.raise(Z.NumberIdentifier, this.state.curPosition());
      let h = this.input.slice(s, this.state.pos).replace(/[_mn]/g, "");
      if (a) {
        this.finishToken(136, h);
        return;
      }
      if (p) {
        this.finishToken(137, h);
        return;
      }
      let f = l ? parseInt(h, 8) : parseFloat(h);
      this.finishToken(135, f);
    }
    readCodePoint(e) {
      let {
        code: s,
        pos: r
      } = xX(this.input, this.state.pos, this.state.lineStart, this.state.curLine, e, this.errorHandlers_readCodePoint);
      return this.state.pos = r, s;
    }
    readString(e) {
      let {
        str: s,
        pos: r,
        curLine: i,
        lineStart: a
      } = rX(e === 34 ? "double" : "single", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_string);
      this.state.pos = r + 1, this.state.lineStart = a, this.state.curLine = i, this.finishToken(134, s);
    }
    readTemplateContinuation() {
      this.match(8) || this.unexpected(null, 8), this.state.pos--, this.readTemplateToken();
    }
    readTemplateToken() {
      let e = this.input[this.state.pos], {
        str: s,
        firstInvalidLoc: r,
        pos: i,
        curLine: a,
        lineStart: o
      } = rX("template", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_template);
      this.state.pos = i + 1, this.state.lineStart = o, this.state.curLine = a, r && (this.state.firstInvalidTemplateEscapePos = new ul(r.curLine,
      r.pos - r.lineStart, this.sourceToOffsetPos(r.pos))), this.input.codePointAt(i) === 96 ? this.finishToken(24, r ? null : e + s + "`") :
      (this.state.pos++, this.finishToken(25, r ? null : e + s + "${"));
    }
    recordStrictModeErrors(e, s) {
      let r = s.index;
      this.state.strict && !this.state.strictErrors.has(r) ? this.raise(e, s) : this.state.strictErrors.set(r, [e, s]);
    }
    readWord1(e) {
      this.state.containsEsc = !1;
      let s = "", r = this.state.pos, i = this.state.pos;
      for (e !== void 0 && (this.state.pos += e <= 65535 ? 1 : 2); this.state.pos < this.length; ) {
        let a = this.codePointAtPos(this.state.pos);
        if (jd(a))
          this.state.pos += a <= 65535 ? 1 : 2;
        else if (a === 92) {
          this.state.containsEsc = !0, s += this.input.slice(i, this.state.pos);
          let o = this.state.curPosition(), l = this.state.pos === r ? hu : jd;
          if (this.input.charCodeAt(++this.state.pos) !== 117) {
            this.raise(Z.MissingUnicodeEscape, this.state.curPosition()), i = this.state.pos - 1;
            continue;
          }
          ++this.state.pos;
          let u = this.readCodePoint(!0);
          u !== null && (l(u) || this.raise(Z.EscapedCharNotAnIdentifier, o), s += String.fromCodePoint(u)), i = this.state.pos;
        } else
          break;
      }
      return s + this.input.slice(i, this.state.pos);
    }
    readWord(e) {
      let s = this.readWord1(e), r = GO.get(s);
      r !== void 0 ? this.finishToken(r, Qc(r)) : this.finishToken(132, s);
    }
    checkKeywordEscapes() {
      let {
        type: e
      } = this.state;
      r2(e) && this.state.containsEsc && this.raise(Z.InvalidEscapedReservedWord, this.state.startLoc, {
        reservedWord: Qc(e)
      });
    }
    raise(e, s, r = {}) {
      let i = s instanceof ul ? s : s.loc.start, a = e(i, r);
      if (!(this.optionFlags & 1024)) throw a;
      return this.isLookahead || this.state.errors.push(a), a;
    }
    raiseOverwrite(e, s, r = {}) {
      let i = s instanceof ul ? s : s.loc.start, a = i.index, o = this.state.errors;
      for (let l = o.length - 1; l >= 0; l--) {
        let u = o[l];
        if (u.loc.index === a)
          return o[l] = e(i, r);
        if (u.loc.index < a) break;
      }
      return this.raise(e, s, r);
    }
    updateContext(e) {
    }
    unexpected(e, s) {
      throw this.raise(Z.UnexpectedToken, e ?? this.state.startLoc, {
        expected: s ? Qc(s) : null
      });
    }
    expectPlugin(e, s) {
      if (this.hasPlugin(e))
        return !0;
      throw this.raise(Z.MissingPlugin, s ?? this.state.startLoc, {
        missingPlugin: [e]
      });
    }
    expectOnePlugin(e) {
      if (!e.some((s) => this.hasPlugin(s)))
        throw this.raise(Z.MissingOneOfPlugins, this.state.startLoc, {
          missingPlugin: e
        });
    }
    errorBuilder(e) {
      return (s, r, i) => {
        this.raise(e, Rg(s, r, i));
      };
    }
  }, qO = class {
    static {
      n(this, "ClassScope");
    }
    constructor() {
      this.privateNames = /* @__PURE__ */ new Set(), this.loneAccessors = /* @__PURE__ */ new Map(), this.undefinedPrivateNames = /* @__PURE__ */ new Map();
    }
  }, UO = class {
    static {
      n(this, "ClassScopeHandler");
    }
    constructor(e) {
      this.parser = void 0, this.stack = [], this.undefinedPrivateNames = /* @__PURE__ */ new Map(), this.parser = e;
    }
    current() {
      return this.stack[this.stack.length - 1];
    }
    enter() {
      this.stack.push(new qO());
    }
    exit() {
      let e = this.stack.pop(), s = this.current();
      for (let [r, i] of Array.from(e.undefinedPrivateNames))
        s ? s.undefinedPrivateNames.has(r) || s.undefinedPrivateNames.set(r, i) : this.parser.raise(Z.InvalidPrivateFieldResolution, i, {
          identifierName: r
        });
    }
    declarePrivateName(e, s, r) {
      let {
        privateNames: i,
        loneAccessors: a,
        undefinedPrivateNames: o
      } = this.current(), l = i.has(e);
      if (s & 3) {
        let u = l && a.get(e);
        if (u) {
          let c = u & 4, p = s & 4, h = u & 3, f = s & 3;
          l = h === f || c !== p, l || a.delete(e);
        } else l || a.set(e, s);
      }
      l && this.parser.raise(Z.PrivateNameRedeclaration, r, {
        identifierName: e
      }), i.add(e), o.delete(e);
    }
    usePrivateName(e, s) {
      let r;
      for (r of this.stack)
        if (r.privateNames.has(e)) return;
      r ? r.undefinedPrivateNames.set(e, s) : this.parser.raise(Z.InvalidPrivateFieldResolution, s, {
        identifierName: e
      });
    }
  }, Kd = class {
    static {
      n(this, "ExpressionScope");
    }
    constructor(e = 0) {
      this.type = e;
    }
    canBeArrowParameterDeclaration() {
      return this.type === 2 || this.type === 1;
    }
    isCertainlyParameterDeclaration() {
      return this.type === 3;
    }
  }, $S = class extends Kd {
    static {
      n(this, "ArrowHeadParsingScope");
    }
    constructor(e) {
      super(e), this.declarationErrors = /* @__PURE__ */ new Map();
    }
    recordDeclarationError(e, s) {
      let r = s.index;
      this.declarationErrors.set(r, [e, s]);
    }
    clearDeclarationError(e) {
      this.declarationErrors.delete(e);
    }
    iterateErrors(e) {
      this.declarationErrors.forEach(e);
    }
  }, KO = class {
    static {
      n(this, "ExpressionScopeHandler");
    }
    constructor(e) {
      this.parser = void 0, this.stack = [new Kd()], this.parser = e;
    }
    enter(e) {
      this.stack.push(e);
    }
    exit() {
      this.stack.pop();
    }
    recordParameterInitializerError(e, s) {
      let r = s.loc.start, {
        stack: i
      } = this, a = i.length - 1, o = i[a];
      for (; !o.isCertainlyParameterDeclaration(); ) {
        if (o.canBeArrowParameterDeclaration())
          o.recordDeclarationError(e, r);
        else
          return;
        o = i[--a];
      }
      this.parser.raise(e, r);
    }
    recordArrowParameterBindingError(e, s) {
      let {
        stack: r
      } = this, i = r[r.length - 1], a = s.loc.start;
      if (i.isCertainlyParameterDeclaration())
        this.parser.raise(e, a);
      else if (i.canBeArrowParameterDeclaration())
        i.recordDeclarationError(e, a);
      else
        return;
    }
    recordAsyncArrowParametersError(e) {
      let {
        stack: s
      } = this, r = s.length - 1, i = s[r];
      for (; i.canBeArrowParameterDeclaration(); )
        i.type === 2 && i.recordDeclarationError(Z.AwaitBindingIdentifier, e), i = s[--r];
    }
    validateAsPattern() {
      let {
        stack: e
      } = this, s = e[e.length - 1];
      s.canBeArrowParameterDeclaration() && s.iterateErrors(([r, i]) => {
        this.parser.raise(r, i);
        let a = e.length - 2, o = e[a];
        for (; o.canBeArrowParameterDeclaration(); )
          o.clearDeclarationError(i.index), o = e[--a];
      });
    }
  };
  function Git() {
    return new Kd(3);
  }
  n(Git, "newParameterDeclarationScope");
  function Qit() {
    return new $S(1);
  }
  n(Qit, "newArrowHeadScope");
  function Zit() {
    return new $S(2);
  }
  n(Zit, "newAsyncArrowScope");
  function SX() {
    return new Kd();
  }
  n(SX, "newExpressionScope");
  var VO = class {
    static {
      n(this, "ProductionParameterHandler");
    }
    constructor() {
      this.stacks = [];
    }
    enter(e) {
      this.stacks.push(e);
    }
    exit() {
      this.stacks.pop();
    }
    currentFlags() {
      return this.stacks[this.stacks.length - 1];
    }
    get hasAwait() {
      return (this.currentFlags() & 2) > 0;
    }
    get hasYield() {
      return (this.currentFlags() & 1) > 0;
    }
    get hasReturn() {
      return (this.currentFlags() & 4) > 0;
    }
    get hasIn() {
      return (this.currentFlags() & 8) > 0;
    }
  };
  function KS(t, e) {
    return (t ? 2 : 0) | (e ? 1 : 0);
  }
  n(KS, "functionFlags");
  var WO = class extends RO {
    static {
      n(this, "UtilParser");
    }
    addExtra(e, s, r, i = !0) {
      if (!e) return;
      let {
        extra: a
      } = e;
      a == null && (a = {}, e.extra = a), i ? a[s] = r : Object.defineProperty(a, s, {
        enumerable: i,
        value: r
      });
    }
    isContextual(e) {
      return this.state.type === e && !this.state.containsEsc;
    }
    isUnparsedContextual(e, s) {
      let r = e + s.length;
      if (this.input.slice(e, r) === s) {
        let i = this.input.charCodeAt(r);
        return !(jd(i) || (i & 64512) === 55296);
      }
      return !1;
    }
    isLookaheadContextual(e) {
      let s = this.nextTokenStart();
      return this.isUnparsedContextual(s, e);
    }
    eatContextual(e) {
      return this.isContextual(e) ? (this.next(), !0) : !1;
    }
    expectContextual(e, s) {
      if (!this.eatContextual(e)) {
        if (s != null)
          throw this.raise(s, this.state.startLoc);
        this.unexpected(null, e);
      }
    }
    canInsertSemicolon() {
      return this.match(140) || this.match(8) || this.hasPrecedingLineBreak();
    }
    hasPrecedingLineBreak() {
      return tX(this.input, this.offsetToSourcePos(this.state.lastTokEndLoc.index), this.state.start);
    }
    hasFollowingLineBreak() {
      return tX(this.input, this.state.end, this.nextTokenStart());
    }
    isLineTerminator() {
      return this.eat(13) || this.canInsertSemicolon();
    }
    semicolon(e = !0) {
      (e ? this.isLineTerminator() : this.eat(13)) || this.raise(Z.MissingSemicolon, this.state.lastTokEndLoc);
    }
    expect(e, s) {
      this.eat(e) || this.unexpected(s, e);
    }
    tryParse(e, s = this.state.clone()) {
      let r = {
        node: null
      };
      try {
        let i = e((a = null) => {
          throw r.node = a, r;
        });
        if (this.state.errors.length > s.errors.length) {
          let a = this.state;
          return this.state = s, this.state.tokensLength = a.tokensLength, {
            node: i,
            error: a.errors[s.errors.length],
            thrown: !1,
            aborted: !1,
            failState: a
          };
        }
        return {
          node: i,
          error: null,
          thrown: !1,
          aborted: !1,
          failState: null
        };
      } catch (i) {
        let a = this.state;
        if (this.state = s, i instanceof SyntaxError)
          return {
            node: null,
            error: i,
            thrown: !0,
            aborted: !1,
            failState: a
          };
        if (i === r)
          return {
            node: r.node,
            error: null,
            thrown: !1,
            aborted: !0,
            failState: a
          };
        throw i;
      }
    }
    checkExpressionErrors(e, s) {
      if (!e) return !1;
      let {
        shorthandAssignLoc: r,
        doubleProtoLoc: i,
        privateKeyLoc: a,
        optionalParametersLoc: o
      } = e, l = !!r || !!i || !!o || !!a;
      if (!s)
        return l;
      r != null && this.raise(Z.InvalidCoverInitializedName, r), i != null && this.raise(Z.DuplicateProto, i), a != null && this.raise(Z.UnexpectedPrivateField,
      a), o != null && this.unexpected(o);
    }
    isLiteralPropertyName() {
      return pX(this.state.type);
    }
    isPrivateName(e) {
      return e.type === "PrivateName";
    }
    getPrivateNameSV(e) {
      return e.id.name;
    }
    hasPropertyAsPrivateName(e) {
      return (e.type === "MemberExpression" || e.type === "OptionalMemberExpression") && this.isPrivateName(e.property);
    }
    isObjectProperty(e) {
      return e.type === "ObjectProperty";
    }
    isObjectMethod(e) {
      return e.type === "ObjectMethod";
    }
    initializeScopes(e = this.options.sourceType === "module") {
      let s = this.state.labels;
      this.state.labels = [];
      let r = this.exportedIdentifiers;
      this.exportedIdentifiers = /* @__PURE__ */ new Set();
      let i = this.inModule;
      this.inModule = e;
      let a = this.scope, o = this.getScopeHandler();
      this.scope = new o(this, e);
      let l = this.prodParam;
      this.prodParam = new VO();
      let u = this.classScope;
      this.classScope = new UO(this);
      let c = this.expressionScope;
      return this.expressionScope = new KO(this), () => {
        this.state.labels = s, this.exportedIdentifiers = r, this.inModule = i, this.scope = a, this.prodParam = l, this.classScope = u, this.
        expressionScope = c;
      };
    }
    enterInitialScopes() {
      let e = 0;
      this.inModule && (e |= 2), this.scope.enter(1), this.prodParam.enter(e);
    }
    checkDestructuringPrivate(e) {
      let {
        privateKeyLoc: s
      } = e;
      s !== null && this.expectPlugin("destructuringPrivate", s);
    }
  }, qd = class {
    static {
      n(this, "ExpressionErrors");
    }
    constructor() {
      this.shorthandAssignLoc = null, this.doubleProtoLoc = null, this.privateKeyLoc = null, this.optionalParametersLoc = null;
    }
  }, Vd = class {
    static {
      n(this, "Node");
    }
    constructor(e, s, r) {
      this.type = "", this.start = s, this.end = 0, this.loc = new Ud(r), e?.optionFlags & 64 && (this.range = [s, 0]), e != null && e.filename &&
      (this.loc.filename = e.filename);
    }
  }, a2 = Vd.prototype;
  a2.__clone = function() {
    let t = new Vd(void 0, this.start, this.loc.start), e = Object.keys(this);
    for (let s = 0, r = e.length; s < r; s++) {
      let i = e[s];
      i !== "leadingComments" && i !== "trailingComments" && i !== "innerComments" && (t[i] = this[i]);
    }
    return t;
  };
  function ent(t) {
    return du(t);
  }
  n(ent, "clonePlaceholder");
  function du(t) {
    let {
      type: e,
      start: s,
      end: r,
      loc: i,
      range: a,
      extra: o,
      name: l
    } = t, u = Object.create(a2);
    return u.type = e, u.start = s, u.end = r, u.loc = i, u.range = a, u.extra = o, u.name = l, e === "Placeholder" && (u.expectedNode = t.expectedNode),
    u;
  }
  n(du, "cloneIdentifier");
  function tnt(t) {
    let {
      type: e,
      start: s,
      end: r,
      loc: i,
      range: a,
      extra: o
    } = t;
    if (e === "Placeholder")
      return ent(t);
    let l = Object.create(a2);
    return l.type = e, l.start = s, l.end = r, l.loc = i, l.range = a, t.raw !== void 0 ? l.raw = t.raw : l.extra = o, l.value = t.value, l;
  }
  n(tnt, "cloneStringLiteral");
  var $O = class extends WO {
    static {
      n(this, "NodeUtils");
    }
    startNode() {
      let e = this.state.startLoc;
      return new Vd(this, e.index, e);
    }
    startNodeAt(e) {
      return new Vd(this, e.index, e);
    }
    startNodeAtNode(e) {
      return this.startNodeAt(e.loc.start);
    }
    finishNode(e, s) {
      return this.finishNodeAt(e, s, this.state.lastTokEndLoc);
    }
    finishNodeAt(e, s, r) {
      return e.type = s, e.end = r.index, e.loc.end = r, this.optionFlags & 64 && (e.range[1] = r.index), this.optionFlags & 2048 && this.processComment(
      e), e;
    }
    resetStartLocation(e, s) {
      e.start = s.index, e.loc.start = s, this.optionFlags & 64 && (e.range[0] = s.index);
    }
    resetEndLocation(e, s = this.state.lastTokEndLoc) {
      e.end = s.index, e.loc.end = s, this.optionFlags & 64 && (e.range[1] = s.index);
    }
    resetStartLocationFromNode(e, s) {
      this.resetStartLocation(e, s.loc.start);
    }
  }, snt = /* @__PURE__ */ new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "sta\
tic", "string", "true", "typeof", "void"]), Lt = fu`flow`({
    AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",
    AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since \
they are either an ES module or they are a CommonJS module.",
    AssignReservedType: /* @__PURE__ */ n(({
      reservedType: t
    }) => `Cannot overwrite reserved type ${t}.`, "AssignReservedType"),
    DeclareClassElement: "The `declare` modifier can only appear on class fields.",
    DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.",
    DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.",
    EnumBooleanMemberNotInitialized: /* @__PURE__ */ n(({
      memberName: t,
      enumName: e
    }) => `Boolean enum members need to be initialized. Use either \`${t} = true,\` or \`${t} = false,\` in enum \`${e}\`.`, "EnumBooleanMem\
berNotInitialized"),
    EnumDuplicateMemberName: /* @__PURE__ */ n(({
      memberName: t,
      enumName: e
    }) => `Enum member names need to be unique, but the name \`${t}\` has already been used before in enum \`${e}\`.`, "EnumDuplicateMemberN\
ame"),
    EnumInconsistentMemberValues: /* @__PURE__ */ n(({
      enumName: t
    }) => `Enum \`${t}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, num\
bers, or strings) for all member initializers.`, "EnumInconsistentMemberValues"),
    EnumInvalidExplicitType: /* @__PURE__ */ n(({
      invalidEnumType: t,
      enumName: e
    }) => `Enum type \`${t}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${e}\`.`, "EnumInvalidEx\
plicitType"),
    EnumInvalidExplicitTypeUnknownSupplied: /* @__PURE__ */ n(({
      enumName: t
    }) => `Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${t}\`.`, "EnumInvalidEx\
plicitTypeUnknownSupplied"),
    EnumInvalidMemberInitializerPrimaryType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e,
      explicitType: s
    }) => `Enum \`${t}\` has type \`${s}\`, so the initializer of \`${e}\` needs to be a ${s} literal.`, "EnumInvalidMemberInitializerPrimar\
yType"),
    EnumInvalidMemberInitializerSymbolType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `Symbol enum members cannot be initialized. Use \`${e},\` in enum \`${t}\`.`, "EnumInvalidMemberInitializerSymbolType"),
    EnumInvalidMemberInitializerUnknownType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `The enum member initializer for \`${e}\` needs to be a literal (either a boolean, number, or string) in enum \`${t}\`.`, "EnumInv\
alidMemberInitializerUnknownType"),
    EnumInvalidMemberName: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e,
      suggestion: s
    }) => `Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${e}\`, consider using \`${s}\`, in enum \`${t}\
\`.`, "EnumInvalidMemberName"),
    EnumNumberMemberNotInitialized: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `Number enum members need to be initialized, e.g. \`${e} = 1\` in enum \`${t}\`.`, "EnumNumberMemberNotInitialized"),
    EnumStringMemberInconsistentlyInitialized: /* @__PURE__ */ n(({
      enumName: t
    }) => `String enum members need to consistently either all use initializers, or use no initializers, in enum \`${t}\`.`, "EnumStringMemb\
erInconsistentlyInitialized"),
    GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.",
    ImportReflectionHasImportType: "An `import module` declaration can not use `type` or `typeof` keyword.",
    ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements.\
 It cannot be used with `import type` or `import typeof` statements.",
    InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.",
    InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.",
    InexactVariance: "Explicit inexact syntax cannot have variance.",
    InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.",
    MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",
    NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.",
    NestedFlowComment: "Cannot have a flow comment inside another flow comment.",
    PatternIsOptional: Object.assign({
      message: "A binding pattern parameter cannot be optional in an implementation signature."
    }, {
      reasonCode: "OptionalBindingPattern"
    }),
    SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.",
    SpreadVariance: "Spread properties cannot have variance.",
    ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.",
    ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",
    ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.",
    ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.",
    ThisParamNoDefault: "The `this` parameter may not have a default value.",
    TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`\
.",
    TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.",
    UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.",
    UnexpectedReservedType: /* @__PURE__ */ n(({
      reservedType: t
    }) => `Unexpected reserved type ${t}.`, "UnexpectedReservedType"),
    UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.",
    UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.",
    UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.",
    UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".',
    UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.",
    UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}\
`, use `async <T>() => {}`.",
    UnsupportedDeclareExportKind: /* @__PURE__ */ n(({
      unsupportedExportKind: t,
      suggestion: e
    }) => `\`declare export ${t}\` is not supported. Use \`${e}\` instead.`, "UnsupportedDeclareExportKind"),
    UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.",
    UnterminatedFlowComment: "Unterminated flow-comment."
  });
  function rnt(t) {
    return t.type === "DeclareExportAllDeclaration" || t.type === "DeclareExportDeclaration" && (!t.declaration || t.declaration.type !== "T\
ypeAlias" && t.declaration.type !== "InterfaceDeclaration");
  }
  n(rnt, "isEsModuleType");
  function iX(t) {
    return t.importKind === "type" || t.importKind === "typeof";
  }
  n(iX, "hasTypeImportKind");
  var int = {
    const: "declare export var",
    let: "declare export var",
    type: "export type",
    interface: "export interface"
  };
  function nnt(t, e) {
    let s = [], r = [];
    for (let i = 0; i < t.length; i++)
      (e(t[i], i, t) ? s : r).push(t[i]);
    return [s, r];
  }
  n(nnt, "partition");
  var ant = /\*?\s*@((?:no)?flow)\b/, ont = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "FlowParserMixin");
    }
    constructor(...s) {
      super(...s), this.flowPragma = void 0;
    }
    getScopeHandler() {
      return LO;
    }
    shouldParseTypes() {
      return this.getPluginOption("flow", "all") || this.flowPragma === "flow";
    }
    finishToken(s, r) {
      s !== 134 && s !== 13 && s !== 28 && this.flowPragma === void 0 && (this.flowPragma = null), super.finishToken(s, r);
    }
    addComment(s) {
      if (this.flowPragma === void 0) {
        let r = ant.exec(s.value);
        if (r) if (r[1] === "flow")
          this.flowPragma = "flow";
        else if (r[1] === "noflow")
          this.flowPragma = "noflow";
        else
          throw new Error("Unexpected flow pragma");
      }
      super.addComment(s);
    }
    flowParseTypeInitialiser(s) {
      let r = this.state.inType;
      this.state.inType = !0, this.expect(s || 14);
      let i = this.flowParseType();
      return this.state.inType = r, i;
    }
    flowParsePredicate() {
      let s = this.startNode(), r = this.state.startLoc;
      return this.next(), this.expectContextual(110), this.state.lastTokStartLoc.index > r.index + 1 && this.raise(Lt.UnexpectedSpaceBetweenModuloChecks,
      r), this.eat(10) ? (s.value = super.parseExpression(), this.expect(11), this.finishNode(s, "DeclaredPredicate")) : this.finishNode(s, "\
InferredPredicate");
    }
    flowParseTypeAndPredicateInitialiser() {
      let s = this.state.inType;
      this.state.inType = !0, this.expect(14);
      let r = null, i = null;
      return this.match(54) ? (this.state.inType = s, i = this.flowParsePredicate()) : (r = this.flowParseType(), this.state.inType = s, this.
      match(54) && (i = this.flowParsePredicate())), [r, i];
    }
    flowParseDeclareClass(s) {
      return this.next(), this.flowParseInterfaceish(s, !0), this.finishNode(s, "DeclareClass");
    }
    flowParseDeclareFunction(s) {
      this.next();
      let r = s.id = this.parseIdentifier(), i = this.startNode(), a = this.startNode();
      this.match(47) ? i.typeParameters = this.flowParseTypeParameterDeclaration() : i.typeParameters = null, this.expect(10);
      let o = this.flowParseFunctionTypeParams();
      return i.params = o.params, i.rest = o.rest, i.this = o._this, this.expect(11), [i.returnType, s.predicate] = this.flowParseTypeAndPredicateInitialiser(),
      a.typeAnnotation = this.finishNode(i, "FunctionTypeAnnotation"), r.typeAnnotation = this.finishNode(a, "TypeAnnotation"), this.resetEndLocation(
      r), this.semicolon(), this.scope.declareName(s.id.name, 2048, s.id.loc.start), this.finishNode(s, "DeclareFunction");
    }
    flowParseDeclare(s, r) {
      if (this.match(80))
        return this.flowParseDeclareClass(s);
      if (this.match(68))
        return this.flowParseDeclareFunction(s);
      if (this.match(74))
        return this.flowParseDeclareVariable(s);
      if (this.eatContextual(127))
        return this.match(16) ? this.flowParseDeclareModuleExports(s) : (r && this.raise(Lt.NestedDeclareModule, this.state.lastTokStartLoc),
        this.flowParseDeclareModule(s));
      if (this.isContextual(130))
        return this.flowParseDeclareTypeAlias(s);
      if (this.isContextual(131))
        return this.flowParseDeclareOpaqueType(s);
      if (this.isContextual(129))
        return this.flowParseDeclareInterface(s);
      if (this.match(82))
        return this.flowParseDeclareExportDeclaration(s, r);
      this.unexpected();
    }
    flowParseDeclareVariable(s) {
      return this.next(), s.id = this.flowParseTypeAnnotatableIdentifier(!0), this.scope.declareName(s.id.name, 5, s.id.loc.start), this.semicolon(),
      this.finishNode(s, "DeclareVariable");
    }
    flowParseDeclareModule(s) {
      this.scope.enter(0), this.match(134) ? s.id = super.parseExprAtom() : s.id = this.parseIdentifier();
      let r = s.body = this.startNode(), i = r.body = [];
      for (this.expect(5); !this.match(8); ) {
        let l = this.startNode();
        this.match(83) ? (this.next(), !this.isContextual(130) && !this.match(87) && this.raise(Lt.InvalidNonTypeImportInDeclareModule, this.
        state.lastTokStartLoc), super.parseImport(l)) : (this.expectContextual(125, Lt.UnsupportedStatementInDeclareModule), l = this.flowParseDeclare(
        l, !0)), i.push(l);
      }
      this.scope.exit(), this.expect(8), this.finishNode(r, "BlockStatement");
      let a = null, o = !1;
      return i.forEach((l) => {
        rnt(l) ? (a === "CommonJS" && this.raise(Lt.AmbiguousDeclareModuleKind, l), a = "ES") : l.type === "DeclareModuleExports" && (o && this.
        raise(Lt.DuplicateDeclareModuleExports, l), a === "ES" && this.raise(Lt.AmbiguousDeclareModuleKind, l), a = "CommonJS", o = !0);
      }), s.kind = a || "CommonJS", this.finishNode(s, "DeclareModule");
    }
    flowParseDeclareExportDeclaration(s, r) {
      if (this.expect(82), this.eat(65))
        return this.match(68) || this.match(80) ? s.declaration = this.flowParseDeclare(this.startNode()) : (s.declaration = this.flowParseType(),
        this.semicolon()), s.default = !0, this.finishNode(s, "DeclareExportDeclaration");
      if (this.match(75) || this.isLet() || (this.isContextual(130) || this.isContextual(129)) && !r) {
        let i = this.state.value;
        throw this.raise(Lt.UnsupportedDeclareExportKind, this.state.startLoc, {
          unsupportedExportKind: i,
          suggestion: int[i]
        });
      }
      if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(131))
        return s.declaration = this.flowParseDeclare(this.startNode()), s.default = !1, this.finishNode(s, "DeclareExportDeclaration");
      if (this.match(55) || this.match(5) || this.isContextual(129) || this.isContextual(130) || this.isContextual(131))
        return s = this.parseExport(s, null), s.type === "ExportNamedDeclaration" && (s.type = "ExportDeclaration", s.default = !1, delete s.
        exportKind), s.type = "Declare" + s.type, s;
      this.unexpected();
    }
    flowParseDeclareModuleExports(s) {
      return this.next(), this.expectContextual(111), s.typeAnnotation = this.flowParseTypeAnnotation(), this.semicolon(), this.finishNode(s,
      "DeclareModuleExports");
    }
    flowParseDeclareTypeAlias(s) {
      this.next();
      let r = this.flowParseTypeAlias(s);
      return r.type = "DeclareTypeAlias", r;
    }
    flowParseDeclareOpaqueType(s) {
      this.next();
      let r = this.flowParseOpaqueType(s, !0);
      return r.type = "DeclareOpaqueType", r;
    }
    flowParseDeclareInterface(s) {
      return this.next(), this.flowParseInterfaceish(s, !1), this.finishNode(s, "DeclareInterface");
    }
    flowParseInterfaceish(s, r) {
      if (s.id = this.flowParseRestrictedIdentifier(!r, !0), this.scope.declareName(s.id.name, r ? 17 : 8201, s.id.loc.start), this.match(47) ?
      s.typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.extends = [], this.eat(81))
        do
          s.extends.push(this.flowParseInterfaceExtends());
        while (!r && this.eat(12));
      if (r) {
        if (s.implements = [], s.mixins = [], this.eatContextual(117))
          do
            s.mixins.push(this.flowParseInterfaceExtends());
          while (this.eat(12));
        if (this.eatContextual(113))
          do
            s.implements.push(this.flowParseInterfaceExtends());
          while (this.eat(12));
      }
      s.body = this.flowParseObjectType({
        allowStatic: r,
        allowExact: !1,
        allowSpread: !1,
        allowProto: r,
        allowInexact: !1
      });
    }
    flowParseInterfaceExtends() {
      let s = this.startNode();
      return s.id = this.flowParseQualifiedTypeIdentifier(), this.match(47) ? s.typeParameters = this.flowParseTypeParameterInstantiation() :
      s.typeParameters = null, this.finishNode(s, "InterfaceExtends");
    }
    flowParseInterface(s) {
      return this.flowParseInterfaceish(s, !1), this.finishNode(s, "InterfaceDeclaration");
    }
    checkNotUnderscore(s) {
      s === "_" && this.raise(Lt.UnexpectedReservedUnderscore, this.state.startLoc);
    }
    checkReservedType(s, r, i) {
      snt.has(s) && this.raise(i ? Lt.AssignReservedType : Lt.UnexpectedReservedType, r, {
        reservedType: s
      });
    }
    flowParseRestrictedIdentifier(s, r) {
      return this.checkReservedType(this.state.value, this.state.startLoc, r), this.parseIdentifier(s);
    }
    flowParseTypeAlias(s) {
      return s.id = this.flowParseRestrictedIdentifier(!1, !0), this.scope.declareName(s.id.name, 8201, s.id.loc.start), this.match(47) ? s.
      typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.right = this.flowParseTypeInitialiser(29), this.
      semicolon(), this.finishNode(s, "TypeAlias");
    }
    flowParseOpaqueType(s, r) {
      return this.expectContextual(130), s.id = this.flowParseRestrictedIdentifier(!0, !0), this.scope.declareName(s.id.name, 8201, s.id.loc.
      start), this.match(47) ? s.typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.supertype = null, this.
      match(14) && (s.supertype = this.flowParseTypeInitialiser(14)), s.impltype = null, r || (s.impltype = this.flowParseTypeInitialiser(29)),
      this.semicolon(), this.finishNode(s, "OpaqueType");
    }
    flowParseTypeParameter(s = !1) {
      let r = this.state.startLoc, i = this.startNode(), a = this.flowParseVariance(), o = this.flowParseTypeAnnotatableIdentifier();
      return i.name = o.name, i.variance = a, i.bound = o.typeAnnotation, this.match(29) ? (this.eat(29), i.default = this.flowParseType()) :
      s && this.raise(Lt.MissingTypeParamDefault, r), this.finishNode(i, "TypeParameter");
    }
    flowParseTypeParameterDeclaration() {
      let s = this.state.inType, r = this.startNode();
      r.params = [], this.state.inType = !0, this.match(47) || this.match(143) ? this.next() : this.unexpected();
      let i = !1;
      do {
        let a = this.flowParseTypeParameter(i);
        r.params.push(a), a.default && (i = !0), this.match(48) || this.expect(12);
      } while (!this.match(48));
      return this.expect(48), this.state.inType = s, this.finishNode(r, "TypeParameterDeclaration");
    }
    flowInTopLevelContext(s) {
      if (this.curContext() !== Xs.brace) {
        let r = this.state.context;
        this.state.context = [r[0]];
        try {
          return s();
        } finally {
          this.state.context = r;
        }
      } else
        return s();
    }
    flowParseTypeParameterInstantiationInExpression() {
      if (this.reScan_lt() === 47)
        return this.flowParseTypeParameterInstantiation();
    }
    flowParseTypeParameterInstantiation() {
      let s = this.startNode(), r = this.state.inType;
      return this.state.inType = !0, s.params = [], this.flowInTopLevelContext(() => {
        this.expect(47);
        let i = this.state.noAnonFunctionType;
        for (this.state.noAnonFunctionType = !1; !this.match(48); )
          s.params.push(this.flowParseType()), this.match(48) || this.expect(12);
        this.state.noAnonFunctionType = i;
      }), this.state.inType = r, !this.state.inType && this.curContext() === Xs.brace && this.reScan_lt_gt(), this.expect(48), this.finishNode(
      s, "TypeParameterInstantiation");
    }
    flowParseTypeParameterInstantiationCallOrNew() {
      if (this.reScan_lt() !== 47) return;
      let s = this.startNode(), r = this.state.inType;
      for (s.params = [], this.state.inType = !0, this.expect(47); !this.match(48); )
        s.params.push(this.flowParseTypeOrImplicitInstantiation()), this.match(48) || this.expect(12);
      return this.expect(48), this.state.inType = r, this.finishNode(s, "TypeParameterInstantiation");
    }
    flowParseInterfaceType() {
      let s = this.startNode();
      if (this.expectContextual(129), s.extends = [], this.eat(81))
        do
          s.extends.push(this.flowParseInterfaceExtends());
        while (this.eat(12));
      return s.body = this.flowParseObjectType({
        allowStatic: !1,
        allowExact: !1,
        allowSpread: !1,
        allowProto: !1,
        allowInexact: !1
      }), this.finishNode(s, "InterfaceTypeAnnotation");
    }
    flowParseObjectPropertyKey() {
      return this.match(135) || this.match(134) ? super.parseExprAtom() : this.parseIdentifier(!0);
    }
    flowParseObjectTypeIndexer(s, r, i) {
      return s.static = r, this.lookahead().type === 14 ? (s.id = this.flowParseObjectPropertyKey(), s.key = this.flowParseTypeInitialiser()) :
      (s.id = null, s.key = this.flowParseType()), this.expect(3), s.value = this.flowParseTypeInitialiser(), s.variance = i, this.finishNode(
      s, "ObjectTypeIndexer");
    }
    flowParseObjectTypeInternalSlot(s, r) {
      return s.static = r, s.id = this.flowParseObjectPropertyKey(), this.expect(3), this.expect(3), this.match(47) || this.match(10) ? (s.method =
      !0, s.optional = !1, s.value = this.flowParseObjectTypeMethodish(this.startNodeAt(s.loc.start))) : (s.method = !1, this.eat(17) && (s.
      optional = !0), s.value = this.flowParseTypeInitialiser()), this.finishNode(s, "ObjectTypeInternalSlot");
    }
    flowParseObjectTypeMethodish(s) {
      for (s.params = [], s.rest = null, s.typeParameters = null, s.this = null, this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration()),
      this.expect(10), this.match(78) && (s.this = this.flowParseFunctionTypeParam(!0), s.this.name = null, this.match(11) || this.expect(12)); !this.
      match(11) && !this.match(21); )
        s.params.push(this.flowParseFunctionTypeParam(!1)), this.match(11) || this.expect(12);
      return this.eat(21) && (s.rest = this.flowParseFunctionTypeParam(!1)), this.expect(11), s.returnType = this.flowParseTypeInitialiser(),
      this.finishNode(s, "FunctionTypeAnnotation");
    }
    flowParseObjectTypeCallProperty(s, r) {
      let i = this.startNode();
      return s.static = r, s.value = this.flowParseObjectTypeMethodish(i), this.finishNode(s, "ObjectTypeCallProperty");
    }
    flowParseObjectType({
      allowStatic: s,
      allowExact: r,
      allowSpread: i,
      allowProto: a,
      allowInexact: o
    }) {
      let l = this.state.inType;
      this.state.inType = !0;
      let u = this.startNode();
      u.callProperties = [], u.properties = [], u.indexers = [], u.internalSlots = [];
      let c, p, h = !1;
      for (r && this.match(6) ? (this.expect(6), c = 9, p = !0) : (this.expect(5), c = 8, p = !1), u.exact = p; !this.match(c); ) {
        let d = !1, m = null, y = null, T = this.startNode();
        if (a && this.isContextual(118)) {
          let E = this.lookahead();
          E.type !== 14 && E.type !== 17 && (this.next(), m = this.state.startLoc, s = !1);
        }
        if (s && this.isContextual(106)) {
          let E = this.lookahead();
          E.type !== 14 && E.type !== 17 && (this.next(), d = !0);
        }
        let b = this.flowParseVariance();
        if (this.eat(0))
          m != null && this.unexpected(m), this.eat(0) ? (b && this.unexpected(b.loc.start), u.internalSlots.push(this.flowParseObjectTypeInternalSlot(
          T, d))) : u.indexers.push(this.flowParseObjectTypeIndexer(T, d, b));
        else if (this.match(10) || this.match(47))
          m != null && this.unexpected(m), b && this.unexpected(b.loc.start), u.callProperties.push(this.flowParseObjectTypeCallProperty(T, d));
        else {
          let E = "init";
          if (this.isContextual(99) || this.isContextual(104)) {
            let W = this.lookahead();
            pX(W.type) && (E = this.state.value, this.next());
          }
          let V = this.flowParseObjectTypeProperty(T, d, m, b, E, i, o ?? !p);
          V === null ? (h = !0, y = this.state.lastTokStartLoc) : u.properties.push(V);
        }
        this.flowObjectTypeSemicolon(), y && !this.match(8) && !this.match(9) && this.raise(Lt.UnexpectedExplicitInexactInObject, y);
      }
      this.expect(c), i && (u.inexact = h);
      let f = this.finishNode(u, "ObjectTypeAnnotation");
      return this.state.inType = l, f;
    }
    flowParseObjectTypeProperty(s, r, i, a, o, l, u) {
      if (this.eat(21))
        return this.match(12) || this.match(13) || this.match(8) || this.match(9) ? (l ? u || this.raise(Lt.InexactInsideExact, this.state.lastTokStartLoc) :
        this.raise(Lt.InexactInsideNonObject, this.state.lastTokStartLoc), a && this.raise(Lt.InexactVariance, a), null) : (l || this.raise(
        Lt.UnexpectedSpreadType, this.state.lastTokStartLoc), i != null && this.unexpected(i), a && this.raise(Lt.SpreadVariance, a), s.argument =
        this.flowParseType(), this.finishNode(s, "ObjectTypeSpreadProperty"));
      {
        s.key = this.flowParseObjectPropertyKey(), s.static = r, s.proto = i != null, s.kind = o;
        let c = !1;
        return this.match(47) || this.match(10) ? (s.method = !0, i != null && this.unexpected(i), a && this.unexpected(a.loc.start), s.value =
        this.flowParseObjectTypeMethodish(this.startNodeAt(s.loc.start)), (o === "get" || o === "set") && this.flowCheckGetterSetterParams(s),
        !l && s.key.name === "constructor" && s.value.this && this.raise(Lt.ThisParamBannedInConstructor, s.value.this)) : (o !== "init" && this.
        unexpected(), s.method = !1, this.eat(17) && (c = !0), s.value = this.flowParseTypeInitialiser(), s.variance = a), s.optional = c, this.
        finishNode(s, "ObjectTypeProperty");
      }
    }
    flowCheckGetterSetterParams(s) {
      let r = s.kind === "get" ? 0 : 1, i = s.value.params.length + (s.value.rest ? 1 : 0);
      s.value.this && this.raise(s.kind === "get" ? Lt.GetterMayNotHaveThisParam : Lt.SetterMayNotHaveThisParam, s.value.this), i !== r && this.
      raise(s.kind === "get" ? Z.BadGetterArity : Z.BadSetterArity, s), s.kind === "set" && s.value.rest && this.raise(Z.BadSetterRestParameter,
      s);
    }
    flowObjectTypeSemicolon() {
      !this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9) && this.unexpected();
    }
    flowParseQualifiedTypeIdentifier(s, r) {
      var i;
      (i = s) != null || (s = this.state.startLoc);
      let a = r || this.flowParseRestrictedIdentifier(!0);
      for (; this.eat(16); ) {
        let o = this.startNodeAt(s);
        o.qualification = a, o.id = this.flowParseRestrictedIdentifier(!0), a = this.finishNode(o, "QualifiedTypeIdentifier");
      }
      return a;
    }
    flowParseGenericType(s, r) {
      let i = this.startNodeAt(s);
      return i.typeParameters = null, i.id = this.flowParseQualifiedTypeIdentifier(s, r), this.match(47) && (i.typeParameters = this.flowParseTypeParameterInstantiation()),
      this.finishNode(i, "GenericTypeAnnotation");
    }
    flowParseTypeofType() {
      let s = this.startNode();
      return this.expect(87), s.argument = this.flowParsePrimaryType(), this.finishNode(s, "TypeofTypeAnnotation");
    }
    flowParseTupleType() {
      let s = this.startNode();
      for (s.types = [], this.expect(0); this.state.pos < this.length && !this.match(3) && (s.types.push(this.flowParseType()), !this.match(
      3)); )
        this.expect(12);
      return this.expect(3), this.finishNode(s, "TupleTypeAnnotation");
    }
    flowParseFunctionTypeParam(s) {
      let r = null, i = !1, a = null, o = this.startNode(), l = this.lookahead(), u = this.state.type === 78;
      return l.type === 14 || l.type === 17 ? (u && !s && this.raise(Lt.ThisParamMustBeFirst, o), r = this.parseIdentifier(u), this.eat(17) &&
      (i = !0, u && this.raise(Lt.ThisParamMayNotBeOptional, o)), a = this.flowParseTypeInitialiser()) : a = this.flowParseType(), o.name = r,
      o.optional = i, o.typeAnnotation = a, this.finishNode(o, "FunctionTypeParam");
    }
    reinterpretTypeAsFunctionTypeParam(s) {
      let r = this.startNodeAt(s.loc.start);
      return r.name = null, r.optional = !1, r.typeAnnotation = s, this.finishNode(r, "FunctionTypeParam");
    }
    flowParseFunctionTypeParams(s = []) {
      let r = null, i = null;
      for (this.match(78) && (i = this.flowParseFunctionTypeParam(!0), i.name = null, this.match(11) || this.expect(12)); !this.match(11) &&
      !this.match(21); )
        s.push(this.flowParseFunctionTypeParam(!1)), this.match(11) || this.expect(12);
      return this.eat(21) && (r = this.flowParseFunctionTypeParam(!1)), {
        params: s,
        rest: r,
        _this: i
      };
    }
    flowIdentToTypeAnnotation(s, r, i) {
      switch (i.name) {
        case "any":
          return this.finishNode(r, "AnyTypeAnnotation");
        case "bool":
        case "boolean":
          return this.finishNode(r, "BooleanTypeAnnotation");
        case "mixed":
          return this.finishNode(r, "MixedTypeAnnotation");
        case "empty":
          return this.finishNode(r, "EmptyTypeAnnotation");
        case "number":
          return this.finishNode(r, "NumberTypeAnnotation");
        case "string":
          return this.finishNode(r, "StringTypeAnnotation");
        case "symbol":
          return this.finishNode(r, "SymbolTypeAnnotation");
        default:
          return this.checkNotUnderscore(i.name), this.flowParseGenericType(s, i);
      }
    }
    flowParsePrimaryType() {
      let s = this.state.startLoc, r = this.startNode(), i, a, o = !1, l = this.state.noAnonFunctionType;
      switch (this.state.type) {
        case 5:
          return this.flowParseObjectType({
            allowStatic: !1,
            allowExact: !1,
            allowSpread: !0,
            allowProto: !1,
            allowInexact: !0
          });
        case 6:
          return this.flowParseObjectType({
            allowStatic: !1,
            allowExact: !0,
            allowSpread: !0,
            allowProto: !1,
            allowInexact: !1
          });
        case 0:
          return this.state.noAnonFunctionType = !1, a = this.flowParseTupleType(), this.state.noAnonFunctionType = l, a;
        case 47: {
          let u = this.startNode();
          return u.typeParameters = this.flowParseTypeParameterDeclaration(), this.expect(10), i = this.flowParseFunctionTypeParams(), u.params =
          i.params, u.rest = i.rest, u.this = i._this, this.expect(11), this.expect(19), u.returnType = this.flowParseType(), this.finishNode(
          u, "FunctionTypeAnnotation");
        }
        case 10: {
          let u = this.startNode();
          if (this.next(), !this.match(11) && !this.match(21))
            if (zs(this.state.type) || this.match(78)) {
              let c = this.lookahead().type;
              o = c !== 17 && c !== 14;
            } else
              o = !0;
          if (o) {
            if (this.state.noAnonFunctionType = !1, a = this.flowParseType(), this.state.noAnonFunctionType = l, this.state.noAnonFunctionType ||
            !(this.match(12) || this.match(11) && this.lookahead().type === 19))
              return this.expect(11), a;
            this.eat(12);
          }
          return a ? i = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(a)]) : i = this.flowParseFunctionTypeParams(),
          u.params = i.params, u.rest = i.rest, u.this = i._this, this.expect(11), this.expect(19), u.returnType = this.flowParseType(), u.typeParameters =
          null, this.finishNode(u, "FunctionTypeAnnotation");
        }
        case 134:
          return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation");
        case 85:
        case 86:
          return r.value = this.match(85), this.next(), this.finishNode(r, "BooleanLiteralTypeAnnotation");
        case 53:
          if (this.state.value === "-") {
            if (this.next(), this.match(135))
              return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", r);
            if (this.match(136))
              return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", r);
            throw this.raise(Lt.UnexpectedSubtractionOperand, this.state.startLoc);
          }
          this.unexpected();
          return;
        case 135:
          return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation");
        case 136:
          return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation");
        case 88:
          return this.next(), this.finishNode(r, "VoidTypeAnnotation");
        case 84:
          return this.next(), this.finishNode(r, "NullLiteralTypeAnnotation");
        case 78:
          return this.next(), this.finishNode(r, "ThisTypeAnnotation");
        case 55:
          return this.next(), this.finishNode(r, "ExistsTypeAnnotation");
        case 87:
          return this.flowParseTypeofType();
        default:
          if (r2(this.state.type)) {
            let u = Qc(this.state.type);
            return this.next(), super.createIdentifier(r, u);
          } else if (zs(this.state.type))
            return this.isContextual(129) ? this.flowParseInterfaceType() : this.flowIdentToTypeAnnotation(s, r, this.parseIdentifier());
      }
      this.unexpected();
    }
    flowParsePostfixType() {
      let s = this.state.startLoc, r = this.flowParsePrimaryType(), i = !1;
      for (; (this.match(0) || this.match(18)) && !this.canInsertSemicolon(); ) {
        let a = this.startNodeAt(s), o = this.eat(18);
        i = i || o, this.expect(0), !o && this.match(3) ? (a.elementType = r, this.next(), r = this.finishNode(a, "ArrayTypeAnnotation")) : (a.
        objectType = r, a.indexType = this.flowParseType(), this.expect(3), i ? (a.optional = o, r = this.finishNode(a, "OptionalIndexedAcce\
ssType")) : r = this.finishNode(a, "IndexedAccessType"));
      }
      return r;
    }
    flowParsePrefixType() {
      let s = this.startNode();
      return this.eat(17) ? (s.typeAnnotation = this.flowParsePrefixType(), this.finishNode(s, "NullableTypeAnnotation")) : this.flowParsePostfixType();
    }
    flowParseAnonFunctionWithoutParens() {
      let s = this.flowParsePrefixType();
      if (!this.state.noAnonFunctionType && this.eat(19)) {
        let r = this.startNodeAt(s.loc.start);
        return r.params = [this.reinterpretTypeAsFunctionTypeParam(s)], r.rest = null, r.this = null, r.returnType = this.flowParseType(), r.
        typeParameters = null, this.finishNode(r, "FunctionTypeAnnotation");
      }
      return s;
    }
    flowParseIntersectionType() {
      let s = this.startNode();
      this.eat(45);
      let r = this.flowParseAnonFunctionWithoutParens();
      for (s.types = [r]; this.eat(45); )
        s.types.push(this.flowParseAnonFunctionWithoutParens());
      return s.types.length === 1 ? r : this.finishNode(s, "IntersectionTypeAnnotation");
    }
    flowParseUnionType() {
      let s = this.startNode();
      this.eat(43);
      let r = this.flowParseIntersectionType();
      for (s.types = [r]; this.eat(43); )
        s.types.push(this.flowParseIntersectionType());
      return s.types.length === 1 ? r : this.finishNode(s, "UnionTypeAnnotation");
    }
    flowParseType() {
      let s = this.state.inType;
      this.state.inType = !0;
      let r = this.flowParseUnionType();
      return this.state.inType = s, r;
    }
    flowParseTypeOrImplicitInstantiation() {
      if (this.state.type === 132 && this.state.value === "_") {
        let s = this.state.startLoc, r = this.parseIdentifier();
        return this.flowParseGenericType(s, r);
      } else
        return this.flowParseType();
    }
    flowParseTypeAnnotation() {
      let s = this.startNode();
      return s.typeAnnotation = this.flowParseTypeInitialiser(), this.finishNode(s, "TypeAnnotation");
    }
    flowParseTypeAnnotatableIdentifier(s) {
      let r = s ? this.parseIdentifier() : this.flowParseRestrictedIdentifier();
      return this.match(14) && (r.typeAnnotation = this.flowParseTypeAnnotation(), this.resetEndLocation(r)), r;
    }
    typeCastToParameter(s) {
      return s.expression.typeAnnotation = s.typeAnnotation, this.resetEndLocation(s.expression, s.typeAnnotation.loc.end), s.expression;
    }
    flowParseVariance() {
      let s = null;
      return this.match(53) ? (s = this.startNode(), this.state.value === "+" ? s.kind = "plus" : s.kind = "minus", this.next(), this.finishNode(
      s, "Variance")) : s;
    }
    parseFunctionBody(s, r, i = !1) {
      if (r) {
        this.forwardNoArrowParamsConversionAt(s, () => super.parseFunctionBody(s, !0, i));
        return;
      }
      super.parseFunctionBody(s, !1, i);
    }
    parseFunctionBodyAndFinish(s, r, i = !1) {
      if (this.match(14)) {
        let a = this.startNode();
        [a.typeAnnotation, s.predicate] = this.flowParseTypeAndPredicateInitialiser(), s.returnType = a.typeAnnotation ? this.finishNode(a, "\
TypeAnnotation") : null;
      }
      return super.parseFunctionBodyAndFinish(s, r, i);
    }
    parseStatementLike(s) {
      if (this.state.strict && this.isContextual(129)) {
        let i = this.lookahead();
        if (Po(i.type)) {
          let a = this.startNode();
          return this.next(), this.flowParseInterface(a);
        }
      } else if (this.isContextual(126)) {
        let i = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(i);
      }
      let r = super.parseStatementLike(s);
      return this.flowPragma === void 0 && !this.isValidDirective(r) && (this.flowPragma = null), r;
    }
    parseExpressionStatement(s, r, i) {
      if (r.type === "Identifier") {
        if (r.name === "declare") {
          if (this.match(80) || zs(this.state.type) || this.match(68) || this.match(74) || this.match(82))
            return this.flowParseDeclare(s);
        } else if (zs(this.state.type)) {
          if (r.name === "interface")
            return this.flowParseInterface(s);
          if (r.name === "type")
            return this.flowParseTypeAlias(s);
          if (r.name === "opaque")
            return this.flowParseOpaqueType(s, !1);
        }
      }
      return super.parseExpressionStatement(s, r, i);
    }
    shouldParseExportDeclaration() {
      let {
        type: s
      } = this.state;
      return s === 126 || eX(s) ? !this.state.containsEsc : super.shouldParseExportDeclaration();
    }
    isExportDefaultSpecifier() {
      let {
        type: s
      } = this.state;
      return s === 126 || eX(s) ? this.state.containsEsc : super.isExportDefaultSpecifier();
    }
    parseExportDefaultExpression() {
      if (this.isContextual(126)) {
        let s = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(s);
      }
      return super.parseExportDefaultExpression();
    }
    parseConditional(s, r, i) {
      if (!this.match(17)) return s;
      if (this.state.maybeInArrowParameters) {
        let f = this.lookaheadCharCode();
        if (f === 44 || f === 61 || f === 58 || f === 41)
          return this.setOptionalParametersError(i), s;
      }
      this.expect(17);
      let a = this.state.clone(), o = this.state.noArrowAt, l = this.startNodeAt(r), {
        consequent: u,
        failed: c
      } = this.tryParseConditionalConsequent(), [p, h] = this.getArrowLikeExpressions(u);
      if (c || h.length > 0) {
        let f = [...o];
        if (h.length > 0) {
          this.state = a, this.state.noArrowAt = f;
          for (let d = 0; d < h.length; d++)
            f.push(h[d].start);
          ({
            consequent: u,
            failed: c
          } = this.tryParseConditionalConsequent()), [p, h] = this.getArrowLikeExpressions(u);
        }
        c && p.length > 1 && this.raise(Lt.AmbiguousConditionalArrow, a.startLoc), c && p.length === 1 && (this.state = a, f.push(p[0].start),
        this.state.noArrowAt = f, {
          consequent: u,
          failed: c
        } = this.tryParseConditionalConsequent());
      }
      return this.getArrowLikeExpressions(u, !0), this.state.noArrowAt = o, this.expect(14), l.test = s, l.consequent = u, l.alternate = this.
      forwardNoArrowParamsConversionAt(l, () => this.parseMaybeAssign(void 0, void 0)), this.finishNode(l, "ConditionalExpression");
    }
    tryParseConditionalConsequent() {
      this.state.noArrowParamsConversionAt.push(this.state.start);
      let s = this.parseMaybeAssignAllowIn(), r = !this.match(14);
      return this.state.noArrowParamsConversionAt.pop(), {
        consequent: s,
        failed: r
      };
    }
    getArrowLikeExpressions(s, r) {
      let i = [s], a = [];
      for (; i.length !== 0; ) {
        let o = i.pop();
        o.type === "ArrowFunctionExpression" && o.body.type !== "BlockStatement" ? (o.typeParameters || !o.returnType ? this.finishArrowValidation(
        o) : a.push(o), i.push(o.body)) : o.type === "ConditionalExpression" && (i.push(o.consequent), i.push(o.alternate));
      }
      return r ? (a.forEach((o) => this.finishArrowValidation(o)), [a, []]) : nnt(a, (o) => o.params.every((l) => this.isAssignable(l, !0)));
    }
    finishArrowValidation(s) {
      var r;
      this.toAssignableList(s.params, (r = s.extra) == null ? void 0 : r.trailingCommaLoc, !1), this.scope.enter(6), super.checkParams(s, !1,
      !0), this.scope.exit();
    }
    forwardNoArrowParamsConversionAt(s, r) {
      let i;
      return this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)) ? (this.state.noArrowParamsConversionAt.push(this.
      state.start), i = r(), this.state.noArrowParamsConversionAt.pop()) : i = r(), i;
    }
    parseParenItem(s, r) {
      let i = super.parseParenItem(s, r);
      if (this.eat(17) && (i.optional = !0, this.resetEndLocation(s)), this.match(14)) {
        let a = this.startNodeAt(r);
        return a.expression = i, a.typeAnnotation = this.flowParseTypeAnnotation(), this.finishNode(a, "TypeCastExpression");
      }
      return i;
    }
    assertModuleNodeAllowed(s) {
      s.type === "ImportDeclaration" && (s.importKind === "type" || s.importKind === "typeof") || s.type === "ExportNamedDeclaration" && s.exportKind ===
      "type" || s.type === "ExportAllDeclaration" && s.exportKind === "type" || super.assertModuleNodeAllowed(s);
    }
    parseExportDeclaration(s) {
      if (this.isContextual(130)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.match(5) ? (s.specifiers = this.parseExportSpecifiers(!0), super.parseExportFrom(s), null) : this.flowParseTypeAlias(
        r);
      } else if (this.isContextual(131)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.flowParseOpaqueType(r, !1);
      } else if (this.isContextual(129)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.flowParseInterface(r);
      } else if (this.isContextual(126)) {
        s.exportKind = "value";
        let r = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(r);
      } else
        return super.parseExportDeclaration(s);
    }
    eatExportStar(s) {
      return super.eatExportStar(s) ? !0 : this.isContextual(130) && this.lookahead().type === 55 ? (s.exportKind = "type", this.next(), this.
      next(), !0) : !1;
    }
    maybeParseExportNamespaceSpecifier(s) {
      let {
        startLoc: r
      } = this.state, i = super.maybeParseExportNamespaceSpecifier(s);
      return i && s.exportKind === "type" && this.unexpected(r), i;
    }
    parseClassId(s, r, i) {
      super.parseClassId(s, r, i), this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration());
    }
    parseClassMember(s, r, i) {
      let {
        startLoc: a
      } = this.state;
      if (this.isContextual(125)) {
        if (super.parseClassMemberFromModifier(s, r))
          return;
        r.declare = !0;
      }
      super.parseClassMember(s, r, i), r.declare && (r.type !== "ClassProperty" && r.type !== "ClassPrivateProperty" && r.type !== "Property\
Definition" ? this.raise(Lt.DeclareClassElement, a) : r.value && this.raise(Lt.DeclareClassFieldInitializer, r.value));
    }
    isIterator(s) {
      return s === "iterator" || s === "asyncIterator";
    }
    readIterator() {
      let s = super.readWord1(), r = "@@" + s;
      (!this.isIterator(s) || !this.state.inType) && this.raise(Z.InvalidIdentifier, this.state.curPosition(), {
        identifierName: r
      }), this.finishToken(132, r);
    }
    getTokenFromCode(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      s === 123 && r === 124 ? this.finishOp(6, 2) : this.state.inType && (s === 62 || s === 60) ? this.finishOp(s === 62 ? 48 : 47, 1) : this.
      state.inType && s === 63 ? r === 46 ? this.finishOp(18, 2) : this.finishOp(17, 1) : Uit(s, r, this.input.charCodeAt(this.state.pos + 2)) ?
      (this.state.pos += 2, this.readIterator()) : super.getTokenFromCode(s);
    }
    isAssignable(s, r) {
      return s.type === "TypeCastExpression" ? this.isAssignable(s.expression, r) : super.isAssignable(s, r);
    }
    toAssignable(s, r = !1) {
      !r && s.type === "AssignmentExpression" && s.left.type === "TypeCastExpression" && (s.left = this.typeCastToParameter(s.left)), super.
      toAssignable(s, r);
    }
    toAssignableList(s, r, i) {
      for (let a = 0; a < s.length; a++) {
        let o = s[a];
        o?.type === "TypeCastExpression" && (s[a] = this.typeCastToParameter(o));
      }
      super.toAssignableList(s, r, i);
    }
    toReferencedList(s, r) {
      for (let a = 0; a < s.length; a++) {
        var i;
        let o = s[a];
        o && o.type === "TypeCastExpression" && !((i = o.extra) != null && i.parenthesized) && (s.length > 1 || !r) && this.raise(Lt.TypeCastInPattern,
        o.typeAnnotation);
      }
      return s;
    }
    parseArrayLike(s, r, i, a) {
      let o = super.parseArrayLike(s, r, i, a);
      return r && !this.state.maybeInArrowParameters && this.toReferencedList(o.elements), o;
    }
    isValidLVal(s, r, i) {
      return s === "TypeCastExpression" || super.isValidLVal(s, r, i);
    }
    parseClassProperty(s) {
      return this.match(14) && (s.typeAnnotation = this.flowParseTypeAnnotation()), super.parseClassProperty(s);
    }
    parseClassPrivateProperty(s) {
      return this.match(14) && (s.typeAnnotation = this.flowParseTypeAnnotation()), super.parseClassPrivateProperty(s);
    }
    isClassMethod() {
      return this.match(47) || super.isClassMethod();
    }
    isClassProperty() {
      return this.match(14) || super.isClassProperty();
    }
    isNonstaticConstructor(s) {
      return !this.match(14) && super.isNonstaticConstructor(s);
    }
    pushClassMethod(s, r, i, a, o, l) {
      if (r.variance && this.unexpected(r.variance.loc.start), delete r.variance, this.match(47) && (r.typeParameters = this.flowParseTypeParameterDeclaration()),
      super.pushClassMethod(s, r, i, a, o, l), r.params && o) {
        let u = r.params;
        u.length > 0 && this.isThisParam(u[0]) && this.raise(Lt.ThisParamBannedInConstructor, r);
      } else if (r.type === "MethodDefinition" && o && r.value.params) {
        let u = r.value.params;
        u.length > 0 && this.isThisParam(u[0]) && this.raise(Lt.ThisParamBannedInConstructor, r);
      }
    }
    pushClassPrivateMethod(s, r, i, a) {
      r.variance && this.unexpected(r.variance.loc.start), delete r.variance, this.match(47) && (r.typeParameters = this.flowParseTypeParameterDeclaration()),
      super.pushClassPrivateMethod(s, r, i, a);
    }
    parseClassSuper(s) {
      if (super.parseClassSuper(s), s.superClass && (this.match(47) || this.match(51)) && (s.superTypeParameters = this.flowParseTypeParameterInstantiationInExpression()),
      this.isContextual(113)) {
        this.next();
        let r = s.implements = [];
        do {
          let i = this.startNode();
          i.id = this.flowParseRestrictedIdentifier(!0), this.match(47) ? i.typeParameters = this.flowParseTypeParameterInstantiation() : i.
          typeParameters = null, r.push(this.finishNode(i, "ClassImplements"));
        } while (this.eat(12));
      }
    }
    checkGetterSetterParams(s) {
      super.checkGetterSetterParams(s);
      let r = this.getObjectOrClassMethodParams(s);
      if (r.length > 0) {
        let i = r[0];
        this.isThisParam(i) && s.kind === "get" ? this.raise(Lt.GetterMayNotHaveThisParam, i) : this.isThisParam(i) && this.raise(Lt.SetterMayNotHaveThisParam,
        i);
      }
    }
    parsePropertyNamePrefixOperator(s) {
      s.variance = this.flowParseVariance();
    }
    parseObjPropValue(s, r, i, a, o, l, u) {
      s.variance && this.unexpected(s.variance.loc.start), delete s.variance;
      let c;
      this.match(47) && !l && (c = this.flowParseTypeParameterDeclaration(), this.match(10) || this.unexpected());
      let p = super.parseObjPropValue(s, r, i, a, o, l, u);
      return c && ((p.value || p).typeParameters = c), p;
    }
    parseFunctionParamType(s) {
      return this.eat(17) && (s.type !== "Identifier" && this.raise(Lt.PatternIsOptional, s), this.isThisParam(s) && this.raise(Lt.ThisParamMayNotBeOptional,
      s), s.optional = !0), this.match(14) ? s.typeAnnotation = this.flowParseTypeAnnotation() : this.isThisParam(s) && this.raise(Lt.ThisParamAnnotationRequired,
      s), this.match(29) && this.isThisParam(s) && this.raise(Lt.ThisParamNoDefault, s), this.resetEndLocation(s), s;
    }
    parseMaybeDefault(s, r) {
      let i = super.parseMaybeDefault(s, r);
      return i.type === "AssignmentPattern" && i.typeAnnotation && i.right.start < i.typeAnnotation.start && this.raise(Lt.TypeBeforeInitializer,
      i.typeAnnotation), i;
    }
    checkImportReflection(s) {
      super.checkImportReflection(s), s.module && s.importKind !== "value" && this.raise(Lt.ImportReflectionHasImportType, s.specifiers[0].loc.
      start);
    }
    parseImportSpecifierLocal(s, r, i) {
      r.local = iX(s) ? this.flowParseRestrictedIdentifier(!0, !0) : this.parseIdentifier(), s.specifiers.push(this.finishImportSpecifier(r,
      i));
    }
    isPotentialImportPhase(s) {
      if (super.isPotentialImportPhase(s)) return !0;
      if (this.isContextual(130)) {
        if (!s) return !0;
        let r = this.lookaheadCharCode();
        return r === 123 || r === 42;
      }
      return !s && this.isContextual(87);
    }
    applyImportPhase(s, r, i, a) {
      if (super.applyImportPhase(s, r, i, a), r) {
        if (!i && this.match(65))
          return;
        s.exportKind = i === "type" ? i : "value";
      } else
        i === "type" && this.match(55) && this.unexpected(), s.importKind = i === "type" || i === "typeof" ? i : "value";
    }
    parseImportSpecifier(s, r, i, a, o) {
      let l = s.imported, u = null;
      l.type === "Identifier" && (l.name === "type" ? u = "type" : l.name === "typeof" && (u = "typeof"));
      let c = !1;
      if (this.isContextual(93) && !this.isLookaheadContextual("as")) {
        let h = this.parseIdentifier(!0);
        u !== null && !Po(this.state.type) ? (s.imported = h, s.importKind = u, s.local = du(h)) : (s.imported = l, s.importKind = null, s.local =
        this.parseIdentifier());
      } else {
        if (u !== null && Po(this.state.type))
          s.imported = this.parseIdentifier(!0), s.importKind = u;
        else {
          if (r)
            throw this.raise(Z.ImportBindingIsString, s, {
              importName: l.value
            });
          s.imported = l, s.importKind = null;
        }
        this.eatContextual(93) ? s.local = this.parseIdentifier() : (c = !0, s.local = du(s.imported));
      }
      let p = iX(s);
      return i && p && this.raise(Lt.ImportTypeShorthandOnlyInPureImport, s), (i || p) && this.checkReservedType(s.local.name, s.local.loc.start,
      !0), c && !i && !p && this.checkReservedWord(s.local.name, s.loc.start, !0, !0), this.finishImportSpecifier(s, "ImportSpecifier");
    }
    parseBindingAtom() {
      switch (this.state.type) {
        case 78:
          return this.parseIdentifier(!0);
        default:
          return super.parseBindingAtom();
      }
    }
    parseFunctionParams(s, r) {
      let i = s.kind;
      i !== "get" && i !== "set" && this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration()), super.parseFunctionParams(
      s, r);
    }
    parseVarId(s, r) {
      super.parseVarId(s, r), this.match(14) && (s.id.typeAnnotation = this.flowParseTypeAnnotation(), this.resetEndLocation(s.id));
    }
    parseAsyncArrowFromCallExpression(s, r) {
      if (this.match(14)) {
        let i = this.state.noAnonFunctionType;
        this.state.noAnonFunctionType = !0, s.returnType = this.flowParseTypeAnnotation(), this.state.noAnonFunctionType = i;
      }
      return super.parseAsyncArrowFromCallExpression(s, r);
    }
    shouldParseAsyncArrow() {
      return this.match(14) || super.shouldParseAsyncArrow();
    }
    parseMaybeAssign(s, r) {
      var i;
      let a = null, o;
      if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) {
        if (a = this.state.clone(), o = this.tryParse(() => super.parseMaybeAssign(s, r), a), !o.error) return o.node;
        let {
          context: c
        } = this.state, p = c[c.length - 1];
        (p === Xs.j_oTag || p === Xs.j_expr) && c.pop();
      }
      if ((i = o) != null && i.error || this.match(47)) {
        var l, u;
        a = a || this.state.clone();
        let c, p = this.tryParse((f) => {
          var d;
          c = this.flowParseTypeParameterDeclaration();
          let m = this.forwardNoArrowParamsConversionAt(c, () => {
            let T = super.parseMaybeAssign(s, r);
            return this.resetStartLocationFromNode(T, c), T;
          });
          (d = m.extra) != null && d.parenthesized && f();
          let y = this.maybeUnwrapTypeCastExpression(m);
          return y.type !== "ArrowFunctionExpression" && f(), y.typeParameters = c, this.resetStartLocationFromNode(y, c), m;
        }, a), h = null;
        if (p.node && this.maybeUnwrapTypeCastExpression(p.node).type === "ArrowFunctionExpression") {
          if (!p.error && !p.aborted)
            return p.node.async && this.raise(Lt.UnexpectedTypeParameterBeforeAsyncArrowFunction, c), p.node;
          h = p.node;
        }
        if ((l = o) != null && l.node)
          return this.state = o.failState, o.node;
        if (h)
          return this.state = p.failState, h;
        throw (u = o) != null && u.thrown ? o.error : p.thrown ? p.error : this.raise(Lt.UnexpectedTokenAfterTypeParameter, c);
      }
      return super.parseMaybeAssign(s, r);
    }
    parseArrow(s) {
      if (this.match(14)) {
        let r = this.tryParse(() => {
          let i = this.state.noAnonFunctionType;
          this.state.noAnonFunctionType = !0;
          let a = this.startNode();
          return [a.typeAnnotation, s.predicate] = this.flowParseTypeAndPredicateInitialiser(), this.state.noAnonFunctionType = i, this.canInsertSemicolon() &&
          this.unexpected(), this.match(19) || this.unexpected(), a;
        });
        if (r.thrown) return null;
        r.error && (this.state = r.failState), s.returnType = r.node.typeAnnotation ? this.finishNode(r.node, "TypeAnnotation") : null;
      }
      return super.parseArrow(s);
    }
    shouldParseArrow(s) {
      return this.match(14) || super.shouldParseArrow(s);
    }
    setArrowFunctionParameters(s, r) {
      this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)) ? s.params = r : super.setArrowFunctionParameters(s, r);
    }
    checkParams(s, r, i, a = !0) {
      if (!(i && this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)))) {
        for (let o = 0; o < s.params.length; o++)
          this.isThisParam(s.params[o]) && o > 0 && this.raise(Lt.ThisParamMustBeFirst, s.params[o]);
        super.checkParams(s, r, i, a);
      }
    }
    parseParenAndDistinguishExpression(s) {
      return super.parseParenAndDistinguishExpression(s && !this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start)));
    }
    parseSubscripts(s, r, i) {
      if (s.type === "Identifier" && s.name === "async" && this.state.noArrowAt.includes(r.index)) {
        this.next();
        let a = this.startNodeAt(r);
        a.callee = s, a.arguments = super.parseCallExpressionArguments(11), s = this.finishNode(a, "CallExpression");
      } else if (s.type === "Identifier" && s.name === "async" && this.match(47)) {
        let a = this.state.clone(), o = this.tryParse((u) => this.parseAsyncArrowWithTypeParameters(r) || u(), a);
        if (!o.error && !o.aborted) return o.node;
        let l = this.tryParse(() => super.parseSubscripts(s, r, i), a);
        if (l.node && !l.error) return l.node;
        if (o.node)
          return this.state = o.failState, o.node;
        if (l.node)
          return this.state = l.failState, l.node;
        throw o.error || l.error;
      }
      return super.parseSubscripts(s, r, i);
    }
    parseSubscript(s, r, i, a) {
      if (this.match(18) && this.isLookaheadToken_lt()) {
        if (a.optionalChainMember = !0, i)
          return a.stop = !0, s;
        this.next();
        let o = this.startNodeAt(r);
        return o.callee = s, o.typeArguments = this.flowParseTypeParameterInstantiationInExpression(), this.expect(10), o.arguments = this.parseCallExpressionArguments(
        11), o.optional = !0, this.finishCallExpression(o, !0);
      } else if (!i && this.shouldParseTypes() && (this.match(47) || this.match(51))) {
        let o = this.startNodeAt(r);
        o.callee = s;
        let l = this.tryParse(() => (o.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(), this.expect(10), o.arguments = super.
        parseCallExpressionArguments(11), a.optionalChainMember && (o.optional = !1), this.finishCallExpression(o, a.optionalChainMember)));
        if (l.node)
          return l.error && (this.state = l.failState), l.node;
      }
      return super.parseSubscript(s, r, i, a);
    }
    parseNewCallee(s) {
      super.parseNewCallee(s);
      let r = null;
      this.shouldParseTypes() && this.match(47) && (r = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node), s.typeArguments =
      r;
    }
    parseAsyncArrowWithTypeParameters(s) {
      let r = this.startNodeAt(s);
      if (this.parseFunctionParams(r, !1), !!this.parseArrow(r))
        return super.parseArrowExpression(r, void 0, !0);
    }
    readToken_mult_modulo(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      if (s === 42 && r === 47 && this.state.hasFlowComment) {
        this.state.hasFlowComment = !1, this.state.pos += 2, this.nextToken();
        return;
      }
      super.readToken_mult_modulo(s);
    }
    readToken_pipe_amp(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      if (s === 124 && r === 125) {
        this.finishOp(9, 2);
        return;
      }
      super.readToken_pipe_amp(s);
    }
    parseTopLevel(s, r) {
      let i = super.parseTopLevel(s, r);
      return this.state.hasFlowComment && this.raise(Lt.UnterminatedFlowComment, this.state.curPosition()), i;
    }
    skipBlockComment() {
      if (this.hasPlugin("flowComments") && this.skipFlowComment()) {
        if (this.state.hasFlowComment)
          throw this.raise(Lt.NestedFlowComment, this.state.startLoc);
        this.hasFlowCommentCompletion();
        let s = this.skipFlowComment();
        s && (this.state.pos += s, this.state.hasFlowComment = !0);
        return;
      }
      return super.skipBlockComment(this.state.hasFlowComment ? "*-/" : "*/");
    }
    skipFlowComment() {
      let {
        pos: s
      } = this.state, r = 2;
      for (; [32, 9].includes(this.input.charCodeAt(s + r)); )
        r++;
      let i = this.input.charCodeAt(r + s), a = this.input.charCodeAt(r + s + 1);
      return i === 58 && a === 58 ? r + 2 : this.input.slice(r + s, r + s + 12) === "flow-include" ? r + 12 : i === 58 && a !== 58 ? r : !1;
    }
    hasFlowCommentCompletion() {
      if (this.input.indexOf("*/", this.state.pos) === -1)
        throw this.raise(Z.UnterminatedComment, this.state.curPosition());
    }
    flowEnumErrorBooleanMemberNotInitialized(s, {
      enumName: r,
      memberName: i
    }) {
      this.raise(Lt.EnumBooleanMemberNotInitialized, s, {
        memberName: i,
        enumName: r
      });
    }
    flowEnumErrorInvalidMemberInitializer(s, r) {
      return this.raise(r.explicitType ? r.explicitType === "symbol" ? Lt.EnumInvalidMemberInitializerSymbolType : Lt.EnumInvalidMemberInitializerPrimaryType :
      Lt.EnumInvalidMemberInitializerUnknownType, s, r);
    }
    flowEnumErrorNumberMemberNotInitialized(s, r) {
      this.raise(Lt.EnumNumberMemberNotInitialized, s, r);
    }
    flowEnumErrorStringMemberInconsistentlyInitialized(s, r) {
      this.raise(Lt.EnumStringMemberInconsistentlyInitialized, s, r);
    }
    flowEnumMemberInit() {
      let s = this.state.startLoc, r = /* @__PURE__ */ n(() => this.match(12) || this.match(8), "endOfInit");
      switch (this.state.type) {
        case 135: {
          let i = this.parseNumericLiteral(this.state.value);
          return r() ? {
            type: "number",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        case 134: {
          let i = this.parseStringLiteral(this.state.value);
          return r() ? {
            type: "string",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        case 85:
        case 86: {
          let i = this.parseBooleanLiteral(this.match(85));
          return r() ? {
            type: "boolean",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        default:
          return {
            type: "invalid",
            loc: s
          };
      }
    }
    flowEnumMemberRaw() {
      let s = this.state.startLoc, r = this.parseIdentifier(!0), i = this.eat(29) ? this.flowEnumMemberInit() : {
        type: "none",
        loc: s
      };
      return {
        id: r,
        init: i
      };
    }
    flowEnumCheckExplicitTypeMismatch(s, r, i) {
      let {
        explicitType: a
      } = r;
      a !== null && a !== i && this.flowEnumErrorInvalidMemberInitializer(s, r);
    }
    flowEnumMembers({
      enumName: s,
      explicitType: r
    }) {
      let i = /* @__PURE__ */ new Set(), a = {
        booleanMembers: [],
        numberMembers: [],
        stringMembers: [],
        defaultedMembers: []
      }, o = !1;
      for (; !this.match(8); ) {
        if (this.eat(21)) {
          o = !0;
          break;
        }
        let l = this.startNode(), {
          id: u,
          init: c
        } = this.flowEnumMemberRaw(), p = u.name;
        if (p === "")
          continue;
        /^[a-z]/.test(p) && this.raise(Lt.EnumInvalidMemberName, u, {
          memberName: p,
          suggestion: p[0].toUpperCase() + p.slice(1),
          enumName: s
        }), i.has(p) && this.raise(Lt.EnumDuplicateMemberName, u, {
          memberName: p,
          enumName: s
        }), i.add(p);
        let h = {
          enumName: s,
          explicitType: r,
          memberName: p
        };
        switch (l.id = u, c.type) {
          case "boolean": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "boolean"), l.init = c.value, a.booleanMembers.push(this.finishNode(l, "EnumBoo\
leanMember"));
            break;
          }
          case "number": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "number"), l.init = c.value, a.numberMembers.push(this.finishNode(l, "EnumNumbe\
rMember"));
            break;
          }
          case "string": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "string"), l.init = c.value, a.stringMembers.push(this.finishNode(l, "EnumStrin\
gMember"));
            break;
          }
          case "invalid":
            throw this.flowEnumErrorInvalidMemberInitializer(c.loc, h);
          case "none":
            switch (r) {
              case "boolean":
                this.flowEnumErrorBooleanMemberNotInitialized(c.loc, h);
                break;
              case "number":
                this.flowEnumErrorNumberMemberNotInitialized(c.loc, h);
                break;
              default:
                a.defaultedMembers.push(this.finishNode(l, "EnumDefaultedMember"));
            }
        }
        this.match(8) || this.expect(12);
      }
      return {
        members: a,
        hasUnknownMembers: o
      };
    }
    flowEnumStringMembers(s, r, {
      enumName: i
    }) {
      if (s.length === 0)
        return r;
      if (r.length === 0)
        return s;
      if (r.length > s.length) {
        for (let a of s)
          this.flowEnumErrorStringMemberInconsistentlyInitialized(a, {
            enumName: i
          });
        return r;
      } else {
        for (let a of r)
          this.flowEnumErrorStringMemberInconsistentlyInitialized(a, {
            enumName: i
          });
        return s;
      }
    }
    flowEnumParseExplicitType({
      enumName: s
    }) {
      if (!this.eatContextual(102)) return null;
      if (!zs(this.state.type))
        throw this.raise(Lt.EnumInvalidExplicitTypeUnknownSupplied, this.state.startLoc, {
          enumName: s
        });
      let {
        value: r
      } = this.state;
      return this.next(), r !== "boolean" && r !== "number" && r !== "string" && r !== "symbol" && this.raise(Lt.EnumInvalidExplicitType, this.
      state.startLoc, {
        enumName: s,
        invalidEnumType: r
      }), r;
    }
    flowEnumBody(s, r) {
      let i = r.name, a = r.loc.start, o = this.flowEnumParseExplicitType({
        enumName: i
      });
      this.expect(5);
      let {
        members: l,
        hasUnknownMembers: u
      } = this.flowEnumMembers({
        enumName: i,
        explicitType: o
      });
      switch (s.hasUnknownMembers = u, o) {
        case "boolean":
          return s.explicitType = !0, s.members = l.booleanMembers, this.expect(8), this.finishNode(s, "EnumBooleanBody");
        case "number":
          return s.explicitType = !0, s.members = l.numberMembers, this.expect(8), this.finishNode(s, "EnumNumberBody");
        case "string":
          return s.explicitType = !0, s.members = this.flowEnumStringMembers(l.stringMembers, l.defaultedMembers, {
            enumName: i
          }), this.expect(8), this.finishNode(s, "EnumStringBody");
        case "symbol":
          return s.members = l.defaultedMembers, this.expect(8), this.finishNode(s, "EnumSymbolBody");
        default: {
          let c = /* @__PURE__ */ n(() => (s.members = [], this.expect(8), this.finishNode(s, "EnumStringBody")), "empty");
          s.explicitType = !1;
          let p = l.booleanMembers.length, h = l.numberMembers.length, f = l.stringMembers.length, d = l.defaultedMembers.length;
          if (!p && !h && !f && !d)
            return c();
          if (!p && !h)
            return s.members = this.flowEnumStringMembers(l.stringMembers, l.defaultedMembers, {
              enumName: i
            }), this.expect(8), this.finishNode(s, "EnumStringBody");
          if (!h && !f && p >= d) {
            for (let m of l.defaultedMembers)
              this.flowEnumErrorBooleanMemberNotInitialized(m.loc.start, {
                enumName: i,
                memberName: m.id.name
              });
            return s.members = l.booleanMembers, this.expect(8), this.finishNode(s, "EnumBooleanBody");
          } else if (!p && !f && h >= d) {
            for (let m of l.defaultedMembers)
              this.flowEnumErrorNumberMemberNotInitialized(m.loc.start, {
                enumName: i,
                memberName: m.id.name
              });
            return s.members = l.numberMembers, this.expect(8), this.finishNode(s, "EnumNumberBody");
          } else
            return this.raise(Lt.EnumInconsistentMemberValues, a, {
              enumName: i
            }), c();
        }
      }
    }
    flowParseEnumDeclaration(s) {
      let r = this.parseIdentifier();
      return s.id = r, s.body = this.flowEnumBody(this.startNode(), r), this.finishNode(s, "EnumDeclaration");
    }
    jsxParseOpeningElementAfterName(s) {
      return this.shouldParseTypes() && (this.match(47) || this.match(51)) && (s.typeArguments = this.flowParseTypeParameterInstantiationInExpression()),
      super.jsxParseOpeningElementAfterName(s);
    }
    isLookaheadToken_lt() {
      let s = this.nextTokenStart();
      if (this.input.charCodeAt(s) === 60) {
        let r = this.input.charCodeAt(s + 1);
        return r !== 60 && r !== 61;
      }
      return !1;
    }
    reScan_lt_gt() {
      let {
        type: s
      } = this.state;
      s === 47 ? (this.state.pos -= 1, this.readToken_lt()) : s === 48 && (this.state.pos -= 1, this.readToken_gt());
    }
    reScan_lt() {
      let {
        type: s
      } = this.state;
      return s === 51 ? (this.state.pos -= 2, this.finishOp(47, 1), 47) : s;
    }
    maybeUnwrapTypeCastExpression(s) {
      return s.type === "TypeCastExpression" ? s.expression : s;
    }
  }, "flow"), lnt = {
    __proto__: null,
    quot: '"',
    amp: "&",
    apos: "'",
    lt: "<",
    gt: ">",
    nbsp: "\xA0",
    iexcl: "\xA1",
    cent: "\xA2",
    pound: "\xA3",
    curren: "\xA4",
    yen: "\xA5",
    brvbar: "\xA6",
    sect: "\xA7",
    uml: "\xA8",
    copy: "\xA9",
    ordf: "\xAA",
    laquo: "\xAB",
    not: "\xAC",
    shy: "\xAD",
    reg: "\xAE",
    macr: "\xAF",
    deg: "\xB0",
    plusmn: "\xB1",
    sup2: "\xB2",
    sup3: "\xB3",
    acute: "\xB4",
    micro: "\xB5",
    para: "\xB6",
    middot: "\xB7",
    cedil: "\xB8",
    sup1: "\xB9",
    ordm: "\xBA",
    raquo: "\xBB",
    frac14: "\xBC",
    frac12: "\xBD",
    frac34: "\xBE",
    iquest: "\xBF",
    Agrave: "\xC0",
    Aacute: "\xC1",
    Acirc: "\xC2",
    Atilde: "\xC3",
    Auml: "\xC4",
    Aring: "\xC5",
    AElig: "\xC6",
    Ccedil: "\xC7",
    Egrave: "\xC8",
    Eacute: "\xC9",
    Ecirc: "\xCA",
    Euml: "\xCB",
    Igrave: "\xCC",
    Iacute: "\xCD",
    Icirc: "\xCE",
    Iuml: "\xCF",
    ETH: "\xD0",
    Ntilde: "\xD1",
    Ograve: "\xD2",
    Oacute: "\xD3",
    Ocirc: "\xD4",
    Otilde: "\xD5",
    Ouml: "\xD6",
    times: "\xD7",
    Oslash: "\xD8",
    Ugrave: "\xD9",
    Uacute: "\xDA",
    Ucirc: "\xDB",
    Uuml: "\xDC",
    Yacute: "\xDD",
    THORN: "\xDE",
    szlig: "\xDF",
    agrave: "\xE0",
    aacute: "\xE1",
    acirc: "\xE2",
    atilde: "\xE3",
    auml: "\xE4",
    aring: "\xE5",
    aelig: "\xE6",
    ccedil: "\xE7",
    egrave: "\xE8",
    eacute: "\xE9",
    ecirc: "\xEA",
    euml: "\xEB",
    igrave: "\xEC",
    iacute: "\xED",
    icirc: "\xEE",
    iuml: "\xEF",
    eth: "\xF0",
    ntilde: "\xF1",
    ograve: "\xF2",
    oacute: "\xF3",
    ocirc: "\xF4",
    otilde: "\xF5",
    ouml: "\xF6",
    divide: "\xF7",
    oslash: "\xF8",
    ugrave: "\xF9",
    uacute: "\xFA",
    ucirc: "\xFB",
    uuml: "\xFC",
    yacute: "\xFD",
    thorn: "\xFE",
    yuml: "\xFF",
    OElig: "\u0152",
    oelig: "\u0153",
    Scaron: "\u0160",
    scaron: "\u0161",
    Yuml: "\u0178",
    fnof: "\u0192",
    circ: "\u02C6",
    tilde: "\u02DC",
    Alpha: "\u0391",
    Beta: "\u0392",
    Gamma: "\u0393",
    Delta: "\u0394",
    Epsilon: "\u0395",
    Zeta: "\u0396",
    Eta: "\u0397",
    Theta: "\u0398",
    Iota: "\u0399",
    Kappa: "\u039A",
    Lambda: "\u039B",
    Mu: "\u039C",
    Nu: "\u039D",
    Xi: "\u039E",
    Omicron: "\u039F",
    Pi: "\u03A0",
    Rho: "\u03A1",
    Sigma: "\u03A3",
    Tau: "\u03A4",
    Upsilon: "\u03A5",
    Phi: "\u03A6",
    Chi: "\u03A7",
    Psi: "\u03A8",
    Omega: "\u03A9",
    alpha: "\u03B1",
    beta: "\u03B2",
    gamma: "\u03B3",
    delta: "\u03B4",
    epsilon: "\u03B5",
    zeta: "\u03B6",
    eta: "\u03B7",
    theta: "\u03B8",
    iota: "\u03B9",
    kappa: "\u03BA",
    lambda: "\u03BB",
    mu: "\u03BC",
    nu: "\u03BD",
    xi: "\u03BE",
    omicron: "\u03BF",
    pi: "\u03C0",
    rho: "\u03C1",
    sigmaf: "\u03C2",
    sigma: "\u03C3",
    tau: "\u03C4",
    upsilon: "\u03C5",
    phi: "\u03C6",
    chi: "\u03C7",
    psi: "\u03C8",
    omega: "\u03C9",
    thetasym: "\u03D1",
    upsih: "\u03D2",
    piv: "\u03D6",
    ensp: "\u2002",
    emsp: "\u2003",
    thinsp: "\u2009",
    zwnj: "\u200C",
    zwj: "\u200D",
    lrm: "\u200E",
    rlm: "\u200F",
    ndash: "\u2013",
    mdash: "\u2014",
    lsquo: "\u2018",
    rsquo: "\u2019",
    sbquo: "\u201A",
    ldquo: "\u201C",
    rdquo: "\u201D",
    bdquo: "\u201E",
    dagger: "\u2020",
    Dagger: "\u2021",
    bull: "\u2022",
    hellip: "\u2026",
    permil: "\u2030",
    prime: "\u2032",
    Prime: "\u2033",
    lsaquo: "\u2039",
    rsaquo: "\u203A",
    oline: "\u203E",
    frasl: "\u2044",
    euro: "\u20AC",
    image: "\u2111",
    weierp: "\u2118",
    real: "\u211C",
    trade: "\u2122",
    alefsym: "\u2135",
    larr: "\u2190",
    uarr: "\u2191",
    rarr: "\u2192",
    darr: "\u2193",
    harr: "\u2194",
    crarr: "\u21B5",
    lArr: "\u21D0",
    uArr: "\u21D1",
    rArr: "\u21D2",
    dArr: "\u21D3",
    hArr: "\u21D4",
    forall: "\u2200",
    part: "\u2202",
    exist: "\u2203",
    empty: "\u2205",
    nabla: "\u2207",
    isin: "\u2208",
    notin: "\u2209",
    ni: "\u220B",
    prod: "\u220F",
    sum: "\u2211",
    minus: "\u2212",
    lowast: "\u2217",
    radic: "\u221A",
    prop: "\u221D",
    infin: "\u221E",
    ang: "\u2220",
    and: "\u2227",
    or: "\u2228",
    cap: "\u2229",
    cup: "\u222A",
    int: "\u222B",
    there4: "\u2234",
    sim: "\u223C",
    cong: "\u2245",
    asymp: "\u2248",
    ne: "\u2260",
    equiv: "\u2261",
    le: "\u2264",
    ge: "\u2265",
    sub: "\u2282",
    sup: "\u2283",
    nsub: "\u2284",
    sube: "\u2286",
    supe: "\u2287",
    oplus: "\u2295",
    otimes: "\u2297",
    perp: "\u22A5",
    sdot: "\u22C5",
    lceil: "\u2308",
    rceil: "\u2309",
    lfloor: "\u230A",
    rfloor: "\u230B",
    lang: "\u2329",
    rang: "\u232A",
    loz: "\u25CA",
    spades: "\u2660",
    clubs: "\u2663",
    hearts: "\u2665",
    diams: "\u2666"
  }, Dh = fu`jsx`({
    AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.",
    MissingClosingTagElement: /* @__PURE__ */ n(({
      openingTagName: t
    }) => `Expected corresponding JSX closing tag for <${t}>.`, "MissingClosingTagElement"),
    MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.",
    UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",
    UnexpectedToken: /* @__PURE__ */ n(({
      unexpected: t,
      HTMLEntity: e
    }) => `Unexpected token \`${t}\`. Did you mean \`${e}\` or \`{'${t}'}\`?`, "UnexpectedToken"),
    UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.",
    UnterminatedJsxContent: "Unterminated JSX contents.",
    UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"
  });
  function Gc(t) {
    return t ? t.type === "JSXOpeningFragment" || t.type === "JSXClosingFragment" : !1;
  }
  n(Gc, "isFragment");
  function Fd(t) {
    if (t.type === "JSXIdentifier")
      return t.name;
    if (t.type === "JSXNamespacedName")
      return t.namespace.name + ":" + t.name.name;
    if (t.type === "JSXMemberExpression")
      return Fd(t.object) + "." + Fd(t.property);
    throw new Error("Node had unexpected type: " + t.type);
  }
  n(Fd, "getQualifiedJSXName");
  var unt = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "JSXParserMixin");
    }
    jsxReadToken() {
      let s = "", r = this.state.pos;
      for (; ; ) {
        if (this.state.pos >= this.length)
          throw this.raise(Dh.UnterminatedJsxContent, this.state.startLoc);
        let i = this.input.charCodeAt(this.state.pos);
        switch (i) {
          case 60:
          case 123:
            if (this.state.pos === this.state.start) {
              i === 60 && this.state.canStartJSXElement ? (++this.state.pos, this.finishToken(143)) : super.getTokenFromCode(i);
              return;
            }
            s += this.input.slice(r, this.state.pos), this.finishToken(142, s);
            return;
          case 38:
            s += this.input.slice(r, this.state.pos), s += this.jsxReadEntity(), r = this.state.pos;
            break;
          case 62:
          case 125:
          default:
            Rd(i) ? (s += this.input.slice(r, this.state.pos), s += this.jsxReadNewLine(!0), r = this.state.pos) : ++this.state.pos;
        }
      }
    }
    jsxReadNewLine(s) {
      let r = this.input.charCodeAt(this.state.pos), i;
      return ++this.state.pos, r === 13 && this.input.charCodeAt(this.state.pos) === 10 ? (++this.state.pos, i = s ? `
` : `\r
`) : i = String.fromCharCode(r), ++this.state.curLine, this.state.lineStart = this.state.pos, i;
    }
    jsxReadString(s) {
      let r = "", i = ++this.state.pos;
      for (; ; ) {
        if (this.state.pos >= this.length)
          throw this.raise(Z.UnterminatedString, this.state.startLoc);
        let a = this.input.charCodeAt(this.state.pos);
        if (a === s) break;
        a === 38 ? (r += this.input.slice(i, this.state.pos), r += this.jsxReadEntity(), i = this.state.pos) : Rd(a) ? (r += this.input.slice(
        i, this.state.pos), r += this.jsxReadNewLine(!1), i = this.state.pos) : ++this.state.pos;
      }
      r += this.input.slice(i, this.state.pos++), this.finishToken(134, r);
    }
    jsxReadEntity() {
      let s = ++this.state.pos;
      if (this.codePointAtPos(this.state.pos) === 35) {
        ++this.state.pos;
        let r = 10;
        this.codePointAtPos(this.state.pos) === 120 && (r = 16, ++this.state.pos);
        let i = this.readInt(r, void 0, !1, "bail");
        if (i !== null && this.codePointAtPos(this.state.pos) === 59)
          return ++this.state.pos, String.fromCodePoint(i);
      } else {
        let r = 0, i = !1;
        for (; r++ < 10 && this.state.pos < this.length && !(i = this.codePointAtPos(this.state.pos) === 59); )
          ++this.state.pos;
        if (i) {
          let a = this.input.slice(s, this.state.pos), o = lnt[a];
          if (++this.state.pos, o)
            return o;
        }
      }
      return this.state.pos = s, "&";
    }
    jsxReadWord() {
      let s, r = this.state.pos;
      do
        s = this.input.charCodeAt(++this.state.pos);
      while (jd(s) || s === 45);
      this.finishToken(141, this.input.slice(r, this.state.pos));
    }
    jsxParseIdentifier() {
      let s = this.startNode();
      return this.match(141) ? s.name = this.state.value : r2(this.state.type) ? s.name = Qc(this.state.type) : this.unexpected(), this.next(),
      this.finishNode(s, "JSXIdentifier");
    }
    jsxParseNamespacedName() {
      let s = this.state.startLoc, r = this.jsxParseIdentifier();
      if (!this.eat(14)) return r;
      let i = this.startNodeAt(s);
      return i.namespace = r, i.name = this.jsxParseIdentifier(), this.finishNode(i, "JSXNamespacedName");
    }
    jsxParseElementName() {
      let s = this.state.startLoc, r = this.jsxParseNamespacedName();
      if (r.type === "JSXNamespacedName")
        return r;
      for (; this.eat(16); ) {
        let i = this.startNodeAt(s);
        i.object = r, i.property = this.jsxParseIdentifier(), r = this.finishNode(i, "JSXMemberExpression");
      }
      return r;
    }
    jsxParseAttributeValue() {
      let s;
      switch (this.state.type) {
        case 5:
          return s = this.startNode(), this.setContext(Xs.brace), this.next(), s = this.jsxParseExpressionContainer(s, Xs.j_oTag), s.expression.
          type === "JSXEmptyExpression" && this.raise(Dh.AttributeIsEmpty, s), s;
        case 143:
        case 134:
          return this.parseExprAtom();
        default:
          throw this.raise(Dh.UnsupportedJsxValue, this.state.startLoc);
      }
    }
    jsxParseEmptyExpression() {
      let s = this.startNodeAt(this.state.lastTokEndLoc);
      return this.finishNodeAt(s, "JSXEmptyExpression", this.state.startLoc);
    }
    jsxParseSpreadChild(s) {
      return this.next(), s.expression = this.parseExpression(), this.setContext(Xs.j_expr), this.state.canStartJSXElement = !0, this.expect(
      8), this.finishNode(s, "JSXSpreadChild");
    }
    jsxParseExpressionContainer(s, r) {
      if (this.match(8))
        s.expression = this.jsxParseEmptyExpression();
      else {
        let i = this.parseExpression();
        s.expression = i;
      }
      return this.setContext(r), this.state.canStartJSXElement = !0, this.expect(8), this.finishNode(s, "JSXExpressionContainer");
    }
    jsxParseAttribute() {
      let s = this.startNode();
      return this.match(5) ? (this.setContext(Xs.brace), this.next(), this.expect(21), s.argument = this.parseMaybeAssignAllowIn(), this.setContext(
      Xs.j_oTag), this.state.canStartJSXElement = !0, this.expect(8), this.finishNode(s, "JSXSpreadAttribute")) : (s.name = this.jsxParseNamespacedName(),
      s.value = this.eat(29) ? this.jsxParseAttributeValue() : null, this.finishNode(s, "JSXAttribute"));
    }
    jsxParseOpeningElementAt(s) {
      let r = this.startNodeAt(s);
      return this.eat(144) ? this.finishNode(r, "JSXOpeningFragment") : (r.name = this.jsxParseElementName(), this.jsxParseOpeningElementAfterName(
      r));
    }
    jsxParseOpeningElementAfterName(s) {
      let r = [];
      for (; !this.match(56) && !this.match(144); )
        r.push(this.jsxParseAttribute());
      return s.attributes = r, s.selfClosing = this.eat(56), this.expect(144), this.finishNode(s, "JSXOpeningElement");
    }
    jsxParseClosingElementAt(s) {
      let r = this.startNodeAt(s);
      return this.eat(144) ? this.finishNode(r, "JSXClosingFragment") : (r.name = this.jsxParseElementName(), this.expect(144), this.finishNode(
      r, "JSXClosingElement"));
    }
    jsxParseElementAt(s) {
      let r = this.startNodeAt(s), i = [], a = this.jsxParseOpeningElementAt(s), o = null;
      if (!a.selfClosing) {
        e: for (; ; )
          switch (this.state.type) {
            case 143:
              if (s = this.state.startLoc, this.next(), this.eat(56)) {
                o = this.jsxParseClosingElementAt(s);
                break e;
              }
              i.push(this.jsxParseElementAt(s));
              break;
            case 142:
              i.push(this.parseLiteral(this.state.value, "JSXText"));
              break;
            case 5: {
              let l = this.startNode();
              this.setContext(Xs.brace), this.next(), this.match(21) ? i.push(this.jsxParseSpreadChild(l)) : i.push(this.jsxParseExpressionContainer(
              l, Xs.j_expr));
              break;
            }
            default:
              this.unexpected();
          }
        Gc(a) && !Gc(o) && o !== null ? this.raise(Dh.MissingClosingTagFragment, o) : !Gc(a) && Gc(o) ? this.raise(Dh.MissingClosingTagElement,
        o, {
          openingTagName: Fd(a.name)
        }) : !Gc(a) && !Gc(o) && Fd(o.name) !== Fd(a.name) && this.raise(Dh.MissingClosingTagElement, o, {
          openingTagName: Fd(a.name)
        });
      }
      if (Gc(a) ? (r.openingFragment = a, r.closingFragment = o) : (r.openingElement = a, r.closingElement = o), r.children = i, this.match(
      47))
        throw this.raise(Dh.UnwrappedAdjacentJSXElements, this.state.startLoc);
      return Gc(a) ? this.finishNode(r, "JSXFragment") : this.finishNode(r, "JSXElement");
    }
    jsxParseElement() {
      let s = this.state.startLoc;
      return this.next(), this.jsxParseElementAt(s);
    }
    setContext(s) {
      let {
        context: r
      } = this.state;
      r[r.length - 1] = s;
    }
    parseExprAtom(s) {
      return this.match(143) ? this.jsxParseElement() : this.match(47) && this.input.charCodeAt(this.state.pos) !== 33 ? (this.replaceToken(
      143), this.jsxParseElement()) : super.parseExprAtom(s);
    }
    skipSpace() {
      this.curContext().preserveSpace || super.skipSpace();
    }
    getTokenFromCode(s) {
      let r = this.curContext();
      if (r === Xs.j_expr) {
        this.jsxReadToken();
        return;
      }
      if (r === Xs.j_oTag || r === Xs.j_cTag) {
        if (hu(s)) {
          this.jsxReadWord();
          return;
        }
        if (s === 62) {
          ++this.state.pos, this.finishToken(144);
          return;
        }
        if ((s === 34 || s === 39) && r === Xs.j_oTag) {
          this.jsxReadString(s);
          return;
        }
      }
      if (s === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) {
        ++this.state.pos, this.finishToken(143);
        return;
      }
      super.getTokenFromCode(s);
    }
    updateContext(s) {
      let {
        context: r,
        type: i
      } = this.state;
      if (i === 56 && s === 143)
        r.splice(-2, 2, Xs.j_cTag), this.state.canStartJSXElement = !1;
      else if (i === 143)
        r.push(Xs.j_oTag);
      else if (i === 144) {
        let a = r[r.length - 1];
        a === Xs.j_oTag && s === 56 || a === Xs.j_cTag ? (r.pop(), this.state.canStartJSXElement = r[r.length - 1] === Xs.j_expr) : (this.setContext(
        Xs.j_expr), this.state.canStartJSXElement = !0);
      } else
        this.state.canStartJSXElement = vit(i);
    }
  }, "jsx"), HO = class extends Kg {
    static {
      n(this, "TypeScriptScope");
    }
    constructor(...e) {
      super(...e), this.tsNames = /* @__PURE__ */ new Map();
    }
  }, JO = class extends Vg {
    static {
      n(this, "TypeScriptScopeHandler");
    }
    constructor(...e) {
      super(...e), this.importsStack = [];
    }
    createScope(e) {
      return this.importsStack.push(/* @__PURE__ */ new Set()), new HO(e);
    }
    enter(e) {
      e === 256 && this.importsStack.push(/* @__PURE__ */ new Set()), super.enter(e);
    }
    exit() {
      let e = super.exit();
      return e === 256 && this.importsStack.pop(), e;
    }
    hasImport(e, s) {
      let r = this.importsStack.length;
      if (this.importsStack[r - 1].has(e))
        return !0;
      if (!s && r > 1) {
        for (let i = 0; i < r - 1; i++)
          if (this.importsStack[i].has(e)) return !0;
      }
      return !1;
    }
    declareName(e, s, r) {
      if (s & 4096) {
        this.hasImport(e, !0) && this.parser.raise(Z.VarRedeclaration, r, {
          identifierName: e
        }), this.importsStack[this.importsStack.length - 1].add(e);
        return;
      }
      let i = this.currentScope(), a = i.tsNames.get(e) || 0;
      if (s & 1024) {
        this.maybeExportDefined(i, e), i.tsNames.set(e, a | 16);
        return;
      }
      super.declareName(e, s, r), s & 2 && (s & 1 || (this.checkRedeclarationInScope(i, e, s, r), this.maybeExportDefined(i, e)), a = a | 1),
      s & 256 && (a = a | 2), s & 512 && (a = a | 4), s & 128 && (a = a | 8), a && i.tsNames.set(e, a);
    }
    isRedeclaredInScope(e, s, r) {
      let i = e.tsNames.get(s);
      if ((i & 2) > 0) {
        if (r & 256) {
          let a = !!(r & 512), o = (i & 4) > 0;
          return a !== o;
        }
        return !0;
      }
      return r & 128 && (i & 8) > 0 ? e.names.get(s) & 2 ? !!(r & 1) : !1 : r & 2 && (i & 1) > 0 ? !0 : super.isRedeclaredInScope(e, s, r);
    }
    checkLocalExport(e) {
      let {
        name: s
      } = e;
      if (this.hasImport(s)) return;
      let r = this.scopeStack.length;
      for (let i = r - 1; i >= 0; i--) {
        let o = this.scopeStack[i].tsNames.get(s);
        if ((o & 1) > 0 || (o & 16) > 0)
          return;
      }
      super.checkLocalExport(e);
    }
  }, PX = /* @__PURE__ */ n((t) => t.type === "ParenthesizedExpression" ? PX(t.expression) : t, "unwrapParenthesizedExpression"), YO = class extends $O {
    static {
      n(this, "LValParser");
    }
    toAssignable(e, s = !1) {
      var r, i;
      let a;
      switch ((e.type === "ParenthesizedExpression" || (r = e.extra) != null && r.parenthesized) && (a = PX(e), s ? a.type === "Identifier" ?
      this.expressionScope.recordArrowParameterBindingError(Z.InvalidParenthesizedAssignment, e) : a.type !== "MemberExpression" && !this.isOptionalMemberExpression(
      a) && this.raise(Z.InvalidParenthesizedAssignment, e) : this.raise(Z.InvalidParenthesizedAssignment, e)), e.type) {
        case "Identifier":
        case "ObjectPattern":
        case "ArrayPattern":
        case "AssignmentPattern":
        case "RestElement":
          break;
        case "ObjectExpression":
          e.type = "ObjectPattern";
          for (let l = 0, u = e.properties.length, c = u - 1; l < u; l++) {
            var o;
            let p = e.properties[l], h = l === c;
            this.toAssignableObjectExpressionProp(p, h, s), h && p.type === "RestElement" && (o = e.extra) != null && o.trailingCommaLoc && this.
            raise(Z.RestTrailingComma, e.extra.trailingCommaLoc);
          }
          break;
        case "ObjectProperty": {
          let {
            key: l,
            value: u
          } = e;
          this.isPrivateName(l) && this.classScope.usePrivateName(this.getPrivateNameSV(l), l.loc.start), this.toAssignable(u, s);
          break;
        }
        case "SpreadElement":
          throw new Error("Internal @babel/parser error (this is a bug, please report it). SpreadElement should be converted by .toAssignabl\
e's caller.");
        case "ArrayExpression":
          e.type = "ArrayPattern", this.toAssignableList(e.elements, (i = e.extra) == null ? void 0 : i.trailingCommaLoc, s);
          break;
        case "AssignmentExpression":
          e.operator !== "=" && this.raise(Z.MissingEqInAssignment, e.left.loc.end), e.type = "AssignmentPattern", delete e.operator, this.toAssignable(
          e.left, s);
          break;
        case "ParenthesizedExpression":
          this.toAssignable(a, s);
          break;
      }
    }
    toAssignableObjectExpressionProp(e, s, r) {
      if (e.type === "ObjectMethod")
        this.raise(e.kind === "get" || e.kind === "set" ? Z.PatternHasAccessor : Z.PatternHasMethod, e.key);
      else if (e.type === "SpreadElement") {
        e.type = "RestElement";
        let i = e.argument;
        this.checkToRestConversion(i, !1), this.toAssignable(i, r), s || this.raise(Z.RestTrailingComma, e);
      } else
        this.toAssignable(e, r);
    }
    toAssignableList(e, s, r) {
      let i = e.length - 1;
      for (let a = 0; a <= i; a++) {
        let o = e[a];
        if (o) {
          if (o.type === "SpreadElement") {
            o.type = "RestElement";
            let l = o.argument;
            this.checkToRestConversion(l, !0), this.toAssignable(l, r);
          } else
            this.toAssignable(o, r);
          o.type === "RestElement" && (a < i ? this.raise(Z.RestTrailingComma, o) : s && this.raise(Z.RestTrailingComma, s));
        }
      }
    }
    isAssignable(e, s) {
      switch (e.type) {
        case "Identifier":
        case "ObjectPattern":
        case "ArrayPattern":
        case "AssignmentPattern":
        case "RestElement":
          return !0;
        case "ObjectExpression": {
          let r = e.properties.length - 1;
          return e.properties.every((i, a) => i.type !== "ObjectMethod" && (a === r || i.type !== "SpreadElement") && this.isAssignable(i));
        }
        case "ObjectProperty":
          return this.isAssignable(e.value);
        case "SpreadElement":
          return this.isAssignable(e.argument);
        case "ArrayExpression":
          return e.elements.every((r) => r === null || this.isAssignable(r));
        case "AssignmentExpression":
          return e.operator === "=";
        case "ParenthesizedExpression":
          return this.isAssignable(e.expression);
        case "MemberExpression":
        case "OptionalMemberExpression":
          return !s;
        default:
          return !1;
      }
    }
    toReferencedList(e, s) {
      return e;
    }
    toReferencedListDeep(e, s) {
      this.toReferencedList(e, s);
      for (let r of e)
        r?.type === "ArrayExpression" && this.toReferencedListDeep(r.elements);
    }
    parseSpread(e) {
      let s = this.startNode();
      return this.next(), s.argument = this.parseMaybeAssignAllowIn(e, void 0), this.finishNode(s, "SpreadElement");
    }
    parseRestBinding() {
      let e = this.startNode();
      return this.next(), e.argument = this.parseBindingAtom(), this.finishNode(e, "RestElement");
    }
    parseBindingAtom() {
      switch (this.state.type) {
        case 0: {
          let e = this.startNode();
          return this.next(), e.elements = this.parseBindingList(3, 93, 1), this.finishNode(e, "ArrayPattern");
        }
        case 5:
          return this.parseObjectLike(8, !0);
      }
      return this.parseIdentifier();
    }
    parseBindingList(e, s, r) {
      let i = r & 1, a = [], o = !0;
      for (; !this.eat(e); )
        if (o ? o = !1 : this.expect(12), i && this.match(12))
          a.push(null);
        else {
          if (this.eat(e))
            break;
          if (this.match(21)) {
            let l = this.parseRestBinding();
            if ((this.hasPlugin("flow") || r & 2) && (l = this.parseFunctionParamType(l)), a.push(l), !this.checkCommaAfterRest(s)) {
              this.expect(e);
              break;
            }
          } else {
            let l = [];
            for (this.match(26) && this.hasPlugin("decorators") && this.raise(Z.UnsupportedParameterDecorator, this.state.startLoc); this.match(
            26); )
              l.push(this.parseDecorator());
            a.push(this.parseAssignableListItem(r, l));
          }
        }
      return a;
    }
    parseBindingRestProperty(e) {
      return this.next(), e.argument = this.parseIdentifier(), this.checkCommaAfterRest(125), this.finishNode(e, "RestElement");
    }
    parseBindingProperty() {
      let {
        type: e,
        startLoc: s
      } = this.state;
      if (e === 21)
        return this.parseBindingRestProperty(this.startNode());
      let r = this.startNode();
      return e === 139 ? (this.expectPlugin("destructuringPrivate", s), this.classScope.usePrivateName(this.state.value, s), r.key = this.parsePrivateName()) :
      this.parsePropertyName(r), r.method = !1, this.parseObjPropValue(r, s, !1, !1, !0, !1);
    }
    parseAssignableListItem(e, s) {
      let r = this.parseMaybeDefault();
      (this.hasPlugin("flow") || e & 2) && this.parseFunctionParamType(r);
      let i = this.parseMaybeDefault(r.loc.start, r);
      return s.length && (r.decorators = s), i;
    }
    parseFunctionParamType(e) {
      return e;
    }
    parseMaybeDefault(e, s) {
      var r, i;
      if ((r = e) != null || (e = this.state.startLoc), s = (i = s) != null ? i : this.parseBindingAtom(), !this.eat(29)) return s;
      let a = this.startNodeAt(e);
      return a.left = s, a.right = this.parseMaybeAssignAllowIn(), this.finishNode(a, "AssignmentPattern");
    }
    isValidLVal(e, s, r) {
      switch (e) {
        case "AssignmentPattern":
          return "left";
        case "RestElement":
          return "argument";
        case "ObjectProperty":
          return "value";
        case "ParenthesizedExpression":
          return "expression";
        case "ArrayPattern":
          return "elements";
        case "ObjectPattern":
          return "properties";
      }
      return !1;
    }
    isOptionalMemberExpression(e) {
      return e.type === "OptionalMemberExpression";
    }
    checkLVal(e, s, r = 64, i = !1, a = !1, o = !1) {
      var l;
      let u = e.type;
      if (this.isObjectMethod(e)) return;
      let c = this.isOptionalMemberExpression(e);
      if (c || u === "MemberExpression") {
        c && (this.expectPlugin("optionalChainingAssign", e.loc.start), s.type !== "AssignmentExpression" && this.raise(Z.InvalidLhsOptionalChaining,
        e, {
          ancestor: s
        })), r !== 64 && this.raise(Z.InvalidPropertyBindingPattern, e);
        return;
      }
      if (u === "Identifier") {
        this.checkIdentifier(e, r, a);
        let {
          name: y
        } = e;
        i && (i.has(y) ? this.raise(Z.ParamDupe, e) : i.add(y));
        return;
      }
      let p = this.isValidLVal(u, !(o || (l = e.extra) != null && l.parenthesized) && s.type === "AssignmentExpression", r);
      if (p === !0) return;
      if (p === !1) {
        let y = r === 64 ? Z.InvalidLhs : Z.InvalidLhsBinding;
        this.raise(y, e, {
          ancestor: s
        });
        return;
      }
      let h, f;
      typeof p == "string" ? (h = p, f = u === "ParenthesizedExpression") : [h, f] = p;
      let d = u === "ArrayPattern" || u === "ObjectPattern" ? {
        type: u
      } : s, m = e[h];
      if (Array.isArray(m))
        for (let y of m)
          y && this.checkLVal(y, d, r, i, a, f);
      else m && this.checkLVal(m, d, r, i, a, f);
    }
    checkIdentifier(e, s, r = !1) {
      this.state.strict && (r ? gX(e.name, this.inModule) : yX(e.name)) && (s === 64 ? this.raise(Z.StrictEvalArguments, e, {
        referenceName: e.name
      }) : this.raise(Z.StrictEvalArgumentsBinding, e, {
        bindingName: e.name
      })), s & 8192 && e.name === "let" && this.raise(Z.LetInLexicalBinding, e), s & 64 || this.declareNameFromIdentifier(e, s);
    }
    declareNameFromIdentifier(e, s) {
      this.scope.declareName(e.name, s, e.loc.start);
    }
    checkToRestConversion(e, s) {
      switch (e.type) {
        case "ParenthesizedExpression":
          this.checkToRestConversion(e.expression, s);
          break;
        case "Identifier":
        case "MemberExpression":
          break;
        case "ArrayExpression":
        case "ObjectExpression":
          if (s) break;
        default:
          this.raise(Z.InvalidRestAssignmentPattern, e);
      }
    }
    checkCommaAfterRest(e) {
      return this.match(12) ? (this.raise(this.lookaheadCharCode() === e ? Z.RestTrailingComma : Z.ElementAfterRest, this.state.startLoc), !0) :
      !1;
    }
  };
  function cnt(t) {
    if (t == null)
      throw new Error(`Unexpected ${t} value.`);
    return t;
  }
  n(cnt, "nonNull");
  function nX(t) {
    if (!t)
      throw new Error("Assert fail");
  }
  n(nX, "assert");
  var ht = fu`typescript`({
    AbstractMethodHasImplementation: /* @__PURE__ */ n(({
      methodName: t
    }) => `Method '${t}' cannot have an implementation because it is marked abstract.`, "AbstractMethodHasImplementation"),
    AbstractPropertyHasInitializer: /* @__PURE__ */ n(({
      propertyName: t
    }) => `Property '${t}' cannot have an initializer because it is marked abstract.`, "AbstractPropertyHasInitializer"),
    AccessorCannotBeOptional: "An 'accessor' property cannot be declared optional.",
    AccessorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.",
    AccessorCannotHaveTypeParameters: "An accessor cannot have type parameters.",
    ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.",
    ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.",
    ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "A 'const' initializer in an ambient context must be a string or num\
eric literal or literal enum reference.",
    ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.",
    DeclareAccessor: /* @__PURE__ */ n(({
      kind: t
    }) => `'declare' is not allowed in ${t}ters.`, "DeclareAccessor"),
    DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.",
    DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.",
    DuplicateAccessibilityModifier: /* @__PURE__ */ n(({
      modifier: t
    }) => "Accessibility modifier already seen.", "DuplicateAccessibilityModifier"),
    DuplicateModifier: /* @__PURE__ */ n(({
      modifier: t
    }) => `Duplicate modifier: '${t}'.`, "DuplicateModifier"),
    EmptyHeritageClauseType: /* @__PURE__ */ n(({
      token: t
    }) => `'${t}' list cannot be empty.`, "EmptyHeritageClauseType"),
    EmptyTypeArguments: "Type argument list cannot be empty.",
    EmptyTypeParameters: "Type parameter list cannot be empty.",
    ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.",
    ImportAliasHasImportType: "An import alias can not use 'import type'.",
    ImportReflectionHasImportType: "An `import module` declaration can not use `type` modifier",
    IncompatibleModifiers: /* @__PURE__ */ n(({
      modifiers: t
    }) => `'${t[0]}' modifier cannot be used with '${t[1]}' modifier.`, "IncompatibleModifiers"),
    IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.",
    IndexSignatureHasAccessibility: /* @__PURE__ */ n(({
      modifier: t
    }) => `Index signatures cannot have an accessibility modifier ('${t}').`, "IndexSignatureHasAccessibility"),
    IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.",
    IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.",
    IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.",
    InitializerNotAllowedInAmbientContext: "Initializers are not allowed in ambient contexts.",
    InvalidModifierOnTypeMember: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier cannot appear on a type member.`, "InvalidModifierOnTypeMember"),
    InvalidModifierOnTypeParameter: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier cannot appear on a type parameter.`, "InvalidModifierOnTypeParameter"),
    InvalidModifierOnTypeParameterPositions: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier can only appear on a type parameter of a class, interface or type alias.`, "InvalidModifierOnTypeParameterPositio\
ns"),
    InvalidModifiersOrder: /* @__PURE__ */ n(({
      orderedModifiers: t
    }) => `'${t[0]}' modifier must precede '${t[1]}' modifier.`, "InvalidModifiersOrder"),
    InvalidPropertyAccessAfterInstantiationExpression: "Invalid property access after an instantiation expression. You can either wrap the i\
nstantiation expression in parentheses, or delete the type arguments.",
    InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.",
    MissingInterfaceName: "'interface' declarations must be followed by an identifier.",
    NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.",
    NonClassMethodPropertyHasAbstractModifer: "'abstract' modifier can only appear on a class, method, or property declaration.",
    OptionalTypeBeforeRequired: "A required element cannot follow an optional element.",
    OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.",
    PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.",
    PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.",
    PrivateElementHasAccessibility: /* @__PURE__ */ n(({
      modifier: t
    }) => `Private elements cannot have an accessibility modifier ('${t}').`, "PrivateElementHasAccessibility"),
    ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.",
    ReservedArrowTypeParam: "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",
    ReservedTypeAssertion: "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",
    SetAccessorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.",
    SetAccessorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.",
    SetAccessorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.",
    SingleTypeParameterWithoutTrailingComma: /* @__PURE__ */ n(({
      typeParameterName: t
    }) => `Single type parameter ${t} should have a trailing comma. Example usage: <${t},>.`, "SingleTypeParameterWithoutTrailingComma"),
    StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.",
    TupleOptionalAfterType: "A labeled tuple optional element must be declared using a question mark after the name and before the colon (`n\
ame?: type`), rather than after the type (`name: type?`).",
    TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number =\
 25`.",
    TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.",
    TypeModifierIsUsedInTypeExports: "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statemen\
t.",
    TypeModifierIsUsedInTypeImports: "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statemen\
t.",
    UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.",
    UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.",
    UnexpectedTypeAnnotation: "Did not expect a type annotation here.",
    UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.",
    UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.",
    UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.",
    UnsupportedSignatureParameterKind: /* @__PURE__ */ n(({
      type: t
    }) => `Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${t}.`, "UnsupportedSignatureParameterKind")
  });
  function pnt(t) {
    switch (t) {
      case "any":
        return "TSAnyKeyword";
      case "boolean":
        return "TSBooleanKeyword";
      case "bigint":
        return "TSBigIntKeyword";
      case "never":
        return "TSNeverKeyword";
      case "number":
        return "TSNumberKeyword";
      case "object":
        return "TSObjectKeyword";
      case "string":
        return "TSStringKeyword";
      case "symbol":
        return "TSSymbolKeyword";
      case "undefined":
        return "TSUndefinedKeyword";
      case "unknown":
        return "TSUnknownKeyword";
      default:
        return;
    }
  }
  n(pnt, "keywordTypeFromName");
  function aX(t) {
    return t === "private" || t === "public" || t === "protected";
  }
  n(aX, "tsIsAccessModifier");
  function hnt(t) {
    return t === "in" || t === "out";
  }
  n(hnt, "tsIsVarianceAnnotations");
  var fnt = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "TypeScriptParserMixin");
    }
    constructor(...s) {
      super(...s), this.tsParseInOutModifiers = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["in", "out"],
        disallowedModifiers: ["const", "public", "private", "protected", "readonly", "declare", "abstract", "override"],
        errorTemplate: ht.InvalidModifierOnTypeParameter
      }), this.tsParseConstModifier = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["const"],
        disallowedModifiers: ["in", "out"],
        errorTemplate: ht.InvalidModifierOnTypeParameterPositions
      }), this.tsParseInOutConstModifiers = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["in", "out", "const"],
        disallowedModifiers: ["public", "private", "protected", "readonly", "declare", "abstract", "override"],
        errorTemplate: ht.InvalidModifierOnTypeParameter
      });
    }
    getScopeHandler() {
      return JO;
    }
    tsIsIdentifier() {
      return zs(this.state.type);
    }
    tsTokenCanFollowModifier() {
      return this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(139) || this.isLiteralPropertyName();
    }
    tsNextTokenOnSameLineAndCanFollowModifier() {
      return this.next(), this.hasPrecedingLineBreak() ? !1 : this.tsTokenCanFollowModifier();
    }
    tsNextTokenCanFollowModifier() {
      return this.match(106) ? (this.next(), this.tsTokenCanFollowModifier()) : this.tsNextTokenOnSameLineAndCanFollowModifier();
    }
    tsParseModifier(s, r) {
      if (!zs(this.state.type) && this.state.type !== 58 && this.state.type !== 75)
        return;
      let i = this.state.value;
      if (s.includes(i)) {
        if (r && this.tsIsStartOfStaticBlocks())
          return;
        if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))
          return i;
      }
    }
    tsParseModifiers({
      allowedModifiers: s,
      disallowedModifiers: r,
      stopOnStartOfClassStaticBlock: i,
      errorTemplate: a = ht.InvalidModifierOnTypeMember
    }, o) {
      let l = /* @__PURE__ */ n((c, p, h, f) => {
        p === h && o[f] && this.raise(ht.InvalidModifiersOrder, c, {
          orderedModifiers: [h, f]
        });
      }, "enforceOrder"), u = /* @__PURE__ */ n((c, p, h, f) => {
        (o[h] && p === f || o[f] && p === h) && this.raise(ht.IncompatibleModifiers, c, {
          modifiers: [h, f]
        });
      }, "incompatible");
      for (; ; ) {
        let {
          startLoc: c
        } = this.state, p = this.tsParseModifier(s.concat(r ?? []), i);
        if (!p) break;
        aX(p) ? o.accessibility ? this.raise(ht.DuplicateAccessibilityModifier, c, {
          modifier: p
        }) : (l(c, p, p, "override"), l(c, p, p, "static"), l(c, p, p, "readonly"), o.accessibility = p) : hnt(p) ? (o[p] && this.raise(ht.DuplicateModifier,
        c, {
          modifier: p
        }), o[p] = !0, l(c, p, "in", "out")) : (hasOwnProperty.call(o, p) ? this.raise(ht.DuplicateModifier, c, {
          modifier: p
        }) : (l(c, p, "static", "readonly"), l(c, p, "static", "override"), l(c, p, "override", "readonly"), l(c, p, "abstract", "override"),
        u(c, p, "declare", "override"), u(c, p, "static", "abstract")), o[p] = !0), r != null && r.includes(p) && this.raise(a, c, {
          modifier: p
        });
      }
    }
    tsIsListTerminator(s) {
      switch (s) {
        case "EnumMembers":
        case "TypeMembers":
          return this.match(8);
        case "HeritageClauseElement":
          return this.match(5);
        case "TupleElementTypes":
          return this.match(3);
        case "TypeParametersOrArguments":
          return this.match(48);
      }
    }
    tsParseList(s, r) {
      let i = [];
      for (; !this.tsIsListTerminator(s); )
        i.push(r());
      return i;
    }
    tsParseDelimitedList(s, r, i) {
      return cnt(this.tsParseDelimitedListWorker(s, r, !0, i));
    }
    tsParseDelimitedListWorker(s, r, i, a) {
      let o = [], l = -1;
      for (; !this.tsIsListTerminator(s); ) {
        l = -1;
        let u = r();
        if (u == null)
          return;
        if (o.push(u), this.eat(12)) {
          l = this.state.lastTokStartLoc.index;
          continue;
        }
        if (this.tsIsListTerminator(s))
          break;
        i && this.expect(12);
        return;
      }
      return a && (a.value = l), o;
    }
    tsParseBracketedList(s, r, i, a, o) {
      a || (i ? this.expect(0) : this.expect(47));
      let l = this.tsParseDelimitedList(s, r, o);
      return i ? this.expect(3) : this.expect(48), l;
    }
    tsParseImportType() {
      let s = this.startNode();
      return this.expect(83), this.expect(10), this.match(134) ? s.argument = this.parseStringLiteral(this.state.value) : (this.raise(ht.UnsupportedImportTypeArgument,
      this.state.startLoc), s.argument = super.parseExprAtom()), this.eat(12) && !this.match(11) ? (s.options = super.parseMaybeAssignAllowIn(),
      this.eat(12)) : s.options = null, this.expect(11), this.eat(16) && (s.qualifier = this.tsParseEntityName(3)), this.match(47) && (s.typeParameters =
      this.tsParseTypeArguments()), this.finishNode(s, "TSImportType");
    }
    tsParseEntityName(s) {
      let r;
      if (s & 1 && this.match(78))
        if (s & 2)
          r = this.parseIdentifier(!0);
        else {
          let i = this.startNode();
          this.next(), r = this.finishNode(i, "ThisExpression");
        }
      else
        r = this.parseIdentifier(!!(s & 1));
      for (; this.eat(16); ) {
        let i = this.startNodeAtNode(r);
        i.left = r, i.right = this.parseIdentifier(!!(s & 1)), r = this.finishNode(i, "TSQualifiedName");
      }
      return r;
    }
    tsParseTypeReference() {
      let s = this.startNode();
      return s.typeName = this.tsParseEntityName(1), !this.hasPrecedingLineBreak() && this.match(47) && (s.typeParameters = this.tsParseTypeArguments()),
      this.finishNode(s, "TSTypeReference");
    }
    tsParseThisTypePredicate(s) {
      this.next();
      let r = this.startNodeAtNode(s);
      return r.parameterName = s, r.typeAnnotation = this.tsParseTypeAnnotation(!1), r.asserts = !1, this.finishNode(r, "TSTypePredicate");
    }
    tsParseThisTypeNode() {
      let s = this.startNode();
      return this.next(), this.finishNode(s, "TSThisType");
    }
    tsParseTypeQuery() {
      let s = this.startNode();
      return this.expect(87), this.match(83) ? s.exprName = this.tsParseImportType() : s.exprName = this.tsParseEntityName(3), !this.hasPrecedingLineBreak() &&
      this.match(47) && (s.typeParameters = this.tsParseTypeArguments()), this.finishNode(s, "TSTypeQuery");
    }
    tsParseTypeParameter(s) {
      let r = this.startNode();
      return s(r), r.name = this.tsParseTypeParameterName(), r.constraint = this.tsEatThenParseType(81), r.default = this.tsEatThenParseType(
      29), this.finishNode(r, "TSTypeParameter");
    }
    tsTryParseTypeParameters(s) {
      if (this.match(47))
        return this.tsParseTypeParameters(s);
    }
    tsParseTypeParameters(s) {
      let r = this.startNode();
      this.match(47) || this.match(143) ? this.next() : this.unexpected();
      let i = {
        value: -1
      };
      return r.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this, s), !1, !0, i), r.params.
      length === 0 && this.raise(ht.EmptyTypeParameters, r), i.value !== -1 && this.addExtra(r, "trailingComma", i.value), this.finishNode(r,
      "TSTypeParameterDeclaration");
    }
    tsFillSignature(s, r) {
      let i = s === 19, a = "parameters", o = "typeAnnotation";
      r.typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier), this.expect(10), r[a] = this.tsParseBindingListForSignature(),
      i ? r[o] = this.tsParseTypeOrTypePredicateAnnotation(s) : this.match(s) && (r[o] = this.tsParseTypeOrTypePredicateAnnotation(s));
    }
    tsParseBindingListForSignature() {
      let s = super.parseBindingList(11, 41, 2);
      for (let r of s) {
        let {
          type: i
        } = r;
        (i === "AssignmentPattern" || i === "TSParameterProperty") && this.raise(ht.UnsupportedSignatureParameterKind, r, {
          type: i
        });
      }
      return s;
    }
    tsParseTypeMemberSemicolon() {
      !this.eat(12) && !this.isLineTerminator() && this.expect(13);
    }
    tsParseSignatureMember(s, r) {
      return this.tsFillSignature(14, r), this.tsParseTypeMemberSemicolon(), this.finishNode(r, s);
    }
    tsIsUnambiguouslyIndexSignature() {
      return this.next(), zs(this.state.type) ? (this.next(), this.match(14)) : !1;
    }
    tsTryParseIndexSignature(s) {
      if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))))
        return;
      this.expect(0);
      let r = this.parseIdentifier();
      r.typeAnnotation = this.tsParseTypeAnnotation(), this.resetEndLocation(r), this.expect(3), s.parameters = [r];
      let i = this.tsTryParseTypeAnnotation();
      return i && (s.typeAnnotation = i), this.tsParseTypeMemberSemicolon(), this.finishNode(s, "TSIndexSignature");
    }
    tsParsePropertyOrMethodSignature(s, r) {
      this.eat(17) && (s.optional = !0);
      let i = s;
      if (this.match(10) || this.match(47)) {
        r && this.raise(ht.ReadonlyForMethodSignature, s);
        let a = i;
        a.kind && this.match(47) && this.raise(ht.AccessorCannotHaveTypeParameters, this.state.curPosition()), this.tsFillSignature(14, a), this.
        tsParseTypeMemberSemicolon();
        let o = "parameters", l = "typeAnnotation";
        if (a.kind === "get")
          a[o].length > 0 && (this.raise(Z.BadGetterArity, this.state.curPosition()), this.isThisParam(a[o][0]) && this.raise(ht.AccessorCannotDeclareThisParameter,
          this.state.curPosition()));
        else if (a.kind === "set") {
          if (a[o].length !== 1)
            this.raise(Z.BadSetterArity, this.state.curPosition());
          else {
            let u = a[o][0];
            this.isThisParam(u) && this.raise(ht.AccessorCannotDeclareThisParameter, this.state.curPosition()), u.type === "Identifier" && u.
            optional && this.raise(ht.SetAccessorCannotHaveOptionalParameter, this.state.curPosition()), u.type === "RestElement" && this.raise(
            ht.SetAccessorCannotHaveRestParameter, this.state.curPosition());
          }
          a[l] && this.raise(ht.SetAccessorCannotHaveReturnType, a[l]);
        } else
          a.kind = "method";
        return this.finishNode(a, "TSMethodSignature");
      } else {
        let a = i;
        r && (a.readonly = !0);
        let o = this.tsTryParseTypeAnnotation();
        return o && (a.typeAnnotation = o), this.tsParseTypeMemberSemicolon(), this.finishNode(a, "TSPropertySignature");
      }
    }
    tsParseTypeMember() {
      let s = this.startNode();
      if (this.match(10) || this.match(47))
        return this.tsParseSignatureMember("TSCallSignatureDeclaration", s);
      if (this.match(77)) {
        let i = this.startNode();
        return this.next(), this.match(10) || this.match(47) ? this.tsParseSignatureMember("TSConstructSignatureDeclaration", s) : (s.key = this.
        createIdentifier(i, "new"), this.tsParsePropertyOrMethodSignature(s, !1));
      }
      this.tsParseModifiers({
        allowedModifiers: ["readonly"],
        disallowedModifiers: ["declare", "abstract", "private", "protected", "public", "static", "override"]
      }, s);
      let r = this.tsTryParseIndexSignature(s);
      return r || (super.parsePropertyName(s), !s.computed && s.key.type === "Identifier" && (s.key.name === "get" || s.key.name === "set") &&
      this.tsTokenCanFollowModifier() && (s.kind = s.key.name, super.parsePropertyName(s)), this.tsParsePropertyOrMethodSignature(s, !!s.readonly));
    }
    tsParseTypeLiteral() {
      let s = this.startNode();
      return s.members = this.tsParseObjectTypeMembers(), this.finishNode(s, "TSTypeLiteral");
    }
    tsParseObjectTypeMembers() {
      this.expect(5);
      let s = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this));
      return this.expect(8), s;
    }
    tsIsStartOfMappedType() {
      return this.next(), this.eat(53) ? this.isContextual(122) : (this.isContextual(122) && this.next(), !this.match(0) || (this.next(), !this.
      tsIsIdentifier()) ? !1 : (this.next(), this.match(58)));
    }
    tsParseMappedType() {
      let s = this.startNode();
      this.expect(5), this.match(53) ? (s.readonly = this.state.value, this.next(), this.expectContextual(122)) : this.eatContextual(122) &&
      (s.readonly = !0), this.expect(0);
      {
        let r = this.startNode();
        r.name = this.tsParseTypeParameterName(), r.constraint = this.tsExpectThenParseType(58), s.typeParameter = this.finishNode(r, "TSTyp\
eParameter");
      }
      return s.nameType = this.eatContextual(93) ? this.tsParseType() : null, this.expect(3), this.match(53) ? (s.optional = this.state.value,
      this.next(), this.expect(17)) : this.eat(17) && (s.optional = !0), s.typeAnnotation = this.tsTryParseType(), this.semicolon(), this.expect(
      8), this.finishNode(s, "TSMappedType");
    }
    tsParseTupleType() {
      let s = this.startNode();
      s.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), !0, !1);
      let r = !1;
      return s.elementTypes.forEach((i) => {
        let {
          type: a
        } = i;
        r && a !== "TSRestType" && a !== "TSOptionalType" && !(a === "TSNamedTupleMember" && i.optional) && this.raise(ht.OptionalTypeBeforeRequired,
        i), r || (r = a === "TSNamedTupleMember" && i.optional || a === "TSOptionalType");
      }), this.finishNode(s, "TSTupleType");
    }
    tsParseTupleElementType() {
      let s = this.state.startLoc, r = this.eat(21), {
        startLoc: i
      } = this.state, a, o, l, u, p = Po(this.state.type) ? this.lookaheadCharCode() : null;
      if (p === 58)
        a = !0, l = !1, o = this.parseIdentifier(!0), this.expect(14), u = this.tsParseType();
      else if (p === 63) {
        l = !0;
        let h = this.state.value, f = this.tsParseNonArrayType();
        this.lookaheadCharCode() === 58 ? (a = !0, o = this.createIdentifier(this.startNodeAt(i), h), this.expect(17), this.expect(14), u = this.
        tsParseType()) : (a = !1, u = f, this.expect(17));
      } else
        u = this.tsParseType(), l = this.eat(17), a = this.eat(14);
      if (a) {
        let h;
        o ? (h = this.startNodeAt(i), h.optional = l, h.label = o, h.elementType = u, this.eat(17) && (h.optional = !0, this.raise(ht.TupleOptionalAfterType,
        this.state.lastTokStartLoc))) : (h = this.startNodeAt(i), h.optional = l, this.raise(ht.InvalidTupleMemberLabel, u), h.label = u, h.
        elementType = this.tsParseType()), u = this.finishNode(h, "TSNamedTupleMember");
      } else if (l) {
        let h = this.startNodeAt(i);
        h.typeAnnotation = u, u = this.finishNode(h, "TSOptionalType");
      }
      if (r) {
        let h = this.startNodeAt(s);
        h.typeAnnotation = u, u = this.finishNode(h, "TSRestType");
      }
      return u;
    }
    tsParseParenthesizedType() {
      let s = this.startNode();
      return this.expect(10), s.typeAnnotation = this.tsParseType(), this.expect(11), this.finishNode(s, "TSParenthesizedType");
    }
    tsParseFunctionOrConstructorType(s, r) {
      let i = this.startNode();
      return s === "TSConstructorType" && (i.abstract = !!r, r && this.next(), this.next()), this.tsInAllowConditionalTypesContext(() => this.
      tsFillSignature(19, i)), this.finishNode(i, s);
    }
    tsParseLiteralTypeNode() {
      let s = this.startNode();
      switch (this.state.type) {
        case 135:
        case 136:
        case 134:
        case 85:
        case 86:
          s.literal = super.parseExprAtom();
          break;
        default:
          this.unexpected();
      }
      return this.finishNode(s, "TSLiteralType");
    }
    tsParseTemplateLiteralType() {
      {
        let s = this.startNode();
        return s.literal = super.parseTemplate(!1), this.finishNode(s, "TSLiteralType");
      }
    }
    parseTemplateSubstitution() {
      return this.state.inType ? this.tsParseType() : super.parseTemplateSubstitution();
    }
    tsParseThisTypeOrThisTypePredicate() {
      let s = this.tsParseThisTypeNode();
      return this.isContextual(116) && !this.hasPrecedingLineBreak() ? this.tsParseThisTypePredicate(s) : s;
    }
    tsParseNonArrayType() {
      switch (this.state.type) {
        case 134:
        case 135:
        case 136:
        case 85:
        case 86:
          return this.tsParseLiteralTypeNode();
        case 53:
          if (this.state.value === "-") {
            let s = this.startNode(), r = this.lookahead();
            return r.type !== 135 && r.type !== 136 && this.unexpected(), s.literal = this.parseMaybeUnary(), this.finishNode(s, "TSLiteralT\
ype");
          }
          break;
        case 78:
          return this.tsParseThisTypeOrThisTypePredicate();
        case 87:
          return this.tsParseTypeQuery();
        case 83:
          return this.tsParseImportType();
        case 5:
          return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral();
        case 0:
          return this.tsParseTupleType();
        case 10:
          return this.tsParseParenthesizedType();
        case 25:
        case 24:
          return this.tsParseTemplateLiteralType();
        default: {
          let {
            type: s
          } = this.state;
          if (zs(s) || s === 88 || s === 84) {
            let r = s === 88 ? "TSVoidKeyword" : s === 84 ? "TSNullKeyword" : pnt(this.state.value);
            if (r !== void 0 && this.lookaheadCharCode() !== 46) {
              let i = this.startNode();
              return this.next(), this.finishNode(i, r);
            }
            return this.tsParseTypeReference();
          }
        }
      }
      this.unexpected();
    }
    tsParseArrayTypeOrHigher() {
      let {
        startLoc: s
      } = this.state, r = this.tsParseNonArrayType();
      for (; !this.hasPrecedingLineBreak() && this.eat(0); )
        if (this.match(3)) {
          let i = this.startNodeAt(s);
          i.elementType = r, this.expect(3), r = this.finishNode(i, "TSArrayType");
        } else {
          let i = this.startNodeAt(s);
          i.objectType = r, i.indexType = this.tsParseType(), this.expect(3), r = this.finishNode(i, "TSIndexedAccessType");
        }
      return r;
    }
    tsParseTypeOperator() {
      let s = this.startNode(), r = this.state.value;
      return this.next(), s.operator = r, s.typeAnnotation = this.tsParseTypeOperatorOrHigher(), r === "readonly" && this.tsCheckTypeAnnotationForReadOnly(
      s), this.finishNode(s, "TSTypeOperator");
    }
    tsCheckTypeAnnotationForReadOnly(s) {
      switch (s.typeAnnotation.type) {
        case "TSTupleType":
        case "TSArrayType":
          return;
        default:
          this.raise(ht.UnexpectedReadonly, s);
      }
    }
    tsParseInferType() {
      let s = this.startNode();
      this.expectContextual(115);
      let r = this.startNode();
      return r.name = this.tsParseTypeParameterName(), r.constraint = this.tsTryParse(() => this.tsParseConstraintForInferType()), s.typeParameter =
      this.finishNode(r, "TSTypeParameter"), this.finishNode(s, "TSInferType");
    }
    tsParseConstraintForInferType() {
      if (this.eat(81)) {
        let s = this.tsInDisallowConditionalTypesContext(() => this.tsParseType());
        if (this.state.inDisallowConditionalTypesContext || !this.match(17))
          return s;
      }
    }
    tsParseTypeOperatorOrHigher() {
      return Dit(this.state.type) && !this.state.containsEsc ? this.tsParseTypeOperator() : this.isContextual(115) ? this.tsParseInferType() :
      this.tsInAllowConditionalTypesContext(() => this.tsParseArrayTypeOrHigher());
    }
    tsParseUnionOrIntersectionType(s, r, i) {
      let a = this.startNode(), o = this.eat(i), l = [];
      do
        l.push(r());
      while (this.eat(i));
      return l.length === 1 && !o ? l[0] : (a.types = l, this.finishNode(a, s));
    }
    tsParseIntersectionTypeOrHigher() {
      return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), 45);
    }
    tsParseUnionTypeOrHigher() {
      return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), 43);
    }
    tsIsStartOfFunctionType() {
      return this.match(47) ? !0 : this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this));
    }
    tsSkipParameterStart() {
      if (zs(this.state.type) || this.match(78))
        return this.next(), !0;
      if (this.match(5)) {
        let {
          errors: s
        } = this.state, r = s.length;
        try {
          return this.parseObjectLike(8, !0), s.length === r;
        } catch {
          return !1;
        }
      }
      if (this.match(0)) {
        this.next();
        let {
          errors: s
        } = this.state, r = s.length;
        try {
          return super.parseBindingList(3, 93, 1), s.length === r;
        } catch {
          return !1;
        }
      }
      return !1;
    }
    tsIsUnambiguouslyStartOfFunctionType() {
      return this.next(), !!(this.match(11) || this.match(21) || this.tsSkipParameterStart() && (this.match(14) || this.match(12) || this.match(
      17) || this.match(29) || this.match(11) && (this.next(), this.match(19))));
    }
    tsParseTypeOrTypePredicateAnnotation(s) {
      return this.tsInType(() => {
        let r = this.startNode();
        this.expect(s);
        let i = this.startNode(), a = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));
        if (a && this.match(78)) {
          let u = this.tsParseThisTypeOrThisTypePredicate();
          return u.type === "TSThisType" ? (i.parameterName = u, i.asserts = !0, i.typeAnnotation = null, u = this.finishNode(i, "TSTypePred\
icate")) : (this.resetStartLocationFromNode(u, i), u.asserts = !0), r.typeAnnotation = u, this.finishNode(r, "TSTypeAnnotation");
        }
        let o = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));
        if (!o)
          return a ? (i.parameterName = this.parseIdentifier(), i.asserts = a, i.typeAnnotation = null, r.typeAnnotation = this.finishNode(i,
          "TSTypePredicate"), this.finishNode(r, "TSTypeAnnotation")) : this.tsParseTypeAnnotation(!1, r);
        let l = this.tsParseTypeAnnotation(!1);
        return i.parameterName = o, i.typeAnnotation = l, i.asserts = a, r.typeAnnotation = this.finishNode(i, "TSTypePredicate"), this.finishNode(
        r, "TSTypeAnnotation");
      });
    }
    tsTryParseTypeOrTypePredicateAnnotation() {
      if (this.match(14))
        return this.tsParseTypeOrTypePredicateAnnotation(14);
    }
    tsTryParseTypeAnnotation() {
      if (this.match(14))
        return this.tsParseTypeAnnotation();
    }
    tsTryParseType() {
      return this.tsEatThenParseType(14);
    }
    tsParseTypePredicatePrefix() {
      let s = this.parseIdentifier();
      if (this.isContextual(116) && !this.hasPrecedingLineBreak())
        return this.next(), s;
    }
    tsParseTypePredicateAsserts() {
      if (this.state.type !== 109)
        return !1;
      let s = this.state.containsEsc;
      return this.next(), !zs(this.state.type) && !this.match(78) ? !1 : (s && this.raise(Z.InvalidEscapedReservedWord, this.state.lastTokStartLoc,
      {
        reservedWord: "asserts"
      }), !0);
    }
    tsParseTypeAnnotation(s = !0, r = this.startNode()) {
      return this.tsInType(() => {
        s && this.expect(14), r.typeAnnotation = this.tsParseType();
      }), this.finishNode(r, "TSTypeAnnotation");
    }
    tsParseType() {
      nX(this.state.inType);
      let s = this.tsParseNonConditionalType();
      if (this.state.inDisallowConditionalTypesContext || this.hasPrecedingLineBreak() || !this.eat(81))
        return s;
      let r = this.startNodeAtNode(s);
      return r.checkType = s, r.extendsType = this.tsInDisallowConditionalTypesContext(() => this.tsParseNonConditionalType()), this.expect(
      17), r.trueType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()), this.expect(14), r.falseType = this.tsInAllowConditionalTypesContext(
      () => this.tsParseType()), this.finishNode(r, "TSConditionalType");
    }
    isAbstractConstructorSignature() {
      return this.isContextual(124) && this.lookahead().type === 77;
    }
    tsParseNonConditionalType() {
      return this.tsIsStartOfFunctionType() ? this.tsParseFunctionOrConstructorType("TSFunctionType") : this.match(77) ? this.tsParseFunctionOrConstructorType(
      "TSConstructorType") : this.isAbstractConstructorSignature() ? this.tsParseFunctionOrConstructorType("TSConstructorType", !0) : this.tsParseUnionTypeOrHigher();
    }
    tsParseTypeAssertion() {
      this.getPluginOption("typescript", "disallowAmbiguousJSXLike") && this.raise(ht.ReservedTypeAssertion, this.state.startLoc);
      let s = this.startNode();
      return s.typeAnnotation = this.tsInType(() => (this.next(), this.match(75) ? this.tsParseTypeReference() : this.tsParseType())), this.
      expect(48), s.expression = this.parseMaybeUnary(), this.finishNode(s, "TSTypeAssertion");
    }
    tsParseHeritageClause(s) {
      let r = this.state.startLoc, i = this.tsParseDelimitedList("HeritageClauseElement", () => {
        let a = this.startNode();
        return a.expression = this.tsParseEntityName(3), this.match(47) && (a.typeParameters = this.tsParseTypeArguments()), this.finishNode(
        a, "TSExpressionWithTypeArguments");
      });
      return i.length || this.raise(ht.EmptyHeritageClauseType, r, {
        token: s
      }), i;
    }
    tsParseInterfaceDeclaration(s, r = {}) {
      if (this.hasFollowingLineBreak()) return null;
      this.expectContextual(129), r.declare && (s.declare = !0), zs(this.state.type) ? (s.id = this.parseIdentifier(), this.checkIdentifier(
      s.id, 130)) : (s.id = null, this.raise(ht.MissingInterfaceName, this.state.startLoc)), s.typeParameters = this.tsTryParseTypeParameters(
      this.tsParseInOutConstModifiers), this.eat(81) && (s.extends = this.tsParseHeritageClause("extends"));
      let i = this.startNode();
      return i.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this)), s.body = this.finishNode(i, "TSInterfaceBody"), this.finishNode(
      s, "TSInterfaceDeclaration");
    }
    tsParseTypeAliasDeclaration(s) {
      return s.id = this.parseIdentifier(), this.checkIdentifier(s.id, 2), s.typeAnnotation = this.tsInType(() => {
        if (s.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers), this.expect(29), this.isContextual(114) && this.lookahead().
        type !== 16) {
          let r = this.startNode();
          return this.next(), this.finishNode(r, "TSIntrinsicKeyword");
        }
        return this.tsParseType();
      }), this.semicolon(), this.finishNode(s, "TSTypeAliasDeclaration");
    }
    tsInTopLevelContext(s) {
      if (this.curContext() !== Xs.brace) {
        let r = this.state.context;
        this.state.context = [r[0]];
        try {
          return s();
        } finally {
          this.state.context = r;
        }
      } else
        return s();
    }
    tsInType(s) {
      let r = this.state.inType;
      this.state.inType = !0;
      try {
        return s();
      } finally {
        this.state.inType = r;
      }
    }
    tsInDisallowConditionalTypesContext(s) {
      let r = this.state.inDisallowConditionalTypesContext;
      this.state.inDisallowConditionalTypesContext = !0;
      try {
        return s();
      } finally {
        this.state.inDisallowConditionalTypesContext = r;
      }
    }
    tsInAllowConditionalTypesContext(s) {
      let r = this.state.inDisallowConditionalTypesContext;
      this.state.inDisallowConditionalTypesContext = !1;
      try {
        return s();
      } finally {
        this.state.inDisallowConditionalTypesContext = r;
      }
    }
    tsEatThenParseType(s) {
      if (this.match(s))
        return this.tsNextThenParseType();
    }
    tsExpectThenParseType(s) {
      return this.tsInType(() => (this.expect(s), this.tsParseType()));
    }
    tsNextThenParseType() {
      return this.tsInType(() => (this.next(), this.tsParseType()));
    }
    tsParseEnumMember() {
      let s = this.startNode();
      return s.id = this.match(134) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(!0), this.eat(29) && (s.initializer =
      super.parseMaybeAssignAllowIn()), this.finishNode(s, "TSEnumMember");
    }
    tsParseEnumDeclaration(s, r = {}) {
      return r.const && (s.const = !0), r.declare && (s.declare = !0), this.expectContextual(126), s.id = this.parseIdentifier(), this.checkIdentifier(
      s.id, s.const ? 8971 : 8459), this.expect(5), s.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)),
      this.expect(8), this.finishNode(s, "TSEnumDeclaration");
    }
    tsParseEnumBody() {
      let s = this.startNode();
      return this.expect(5), s.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)), this.expect(8), this.finishNode(
      s, "TSEnumBody");
    }
    tsParseModuleBlock() {
      let s = this.startNode();
      return this.scope.enter(0), this.expect(5), super.parseBlockOrModuleBlockBody(s.body = [], void 0, !0, 8), this.scope.exit(), this.finishNode(
      s, "TSModuleBlock");
    }
    tsParseModuleOrNamespaceDeclaration(s, r = !1) {
      if (s.id = this.parseIdentifier(), r || this.checkIdentifier(s.id, 1024), this.eat(16)) {
        let i = this.startNode();
        this.tsParseModuleOrNamespaceDeclaration(i, !0), s.body = i;
      } else
        this.scope.enter(256), this.prodParam.enter(0), s.body = this.tsParseModuleBlock(), this.prodParam.exit(), this.scope.exit();
      return this.finishNode(s, "TSModuleDeclaration");
    }
    tsParseAmbientExternalModuleDeclaration(s) {
      return this.isContextual(112) ? (s.kind = "global", s.global = !0, s.id = this.parseIdentifier()) : this.match(134) ? (s.kind = "modul\
e", s.id = super.parseStringLiteral(this.state.value)) : this.unexpected(), this.match(5) ? (this.scope.enter(256), this.prodParam.enter(0),
      s.body = this.tsParseModuleBlock(), this.prodParam.exit(), this.scope.exit()) : this.semicolon(), this.finishNode(s, "TSModuleDeclarat\
ion");
    }
    tsParseImportEqualsDeclaration(s, r, i) {
      s.isExport = i || !1, s.id = r || this.parseIdentifier(), this.checkIdentifier(s.id, 4096), this.expect(29);
      let a = this.tsParseModuleReference();
      return s.importKind === "type" && a.type !== "TSExternalModuleReference" && this.raise(ht.ImportAliasHasImportType, a), s.moduleReference =
      a, this.semicolon(), this.finishNode(s, "TSImportEqualsDeclaration");
    }
    tsIsExternalModuleReference() {
      return this.isContextual(119) && this.lookaheadCharCode() === 40;
    }
    tsParseModuleReference() {
      return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(0);
    }
    tsParseExternalModuleReference() {
      let s = this.startNode();
      return this.expectContextual(119), this.expect(10), this.match(134) || this.unexpected(), s.expression = super.parseExprAtom(), this.expect(
      11), this.sawUnambiguousESM = !0, this.finishNode(s, "TSExternalModuleReference");
    }
    tsLookAhead(s) {
      let r = this.state.clone(), i = s();
      return this.state = r, i;
    }
    tsTryParseAndCatch(s) {
      let r = this.tryParse((i) => s() || i());
      if (!(r.aborted || !r.node))
        return r.error && (this.state = r.failState), r.node;
    }
    tsTryParse(s) {
      let r = this.state.clone(), i = s();
      if (i !== void 0 && i !== !1)
        return i;
      this.state = r;
    }
    tsTryParseDeclare(s) {
      if (this.isLineTerminator())
        return;
      let r = this.state.type, i;
      return this.isContextual(100) && (r = 74, i = "let"), this.tsInAmbientContext(() => {
        switch (r) {
          case 68:
            return s.declare = !0, super.parseFunctionStatement(s, !1, !1);
          case 80:
            return s.declare = !0, this.parseClass(s, !0, !1);
          case 126:
            return this.tsParseEnumDeclaration(s, {
              declare: !0
            });
          case 112:
            return this.tsParseAmbientExternalModuleDeclaration(s);
          case 75:
          case 74:
            return !this.match(75) || !this.isLookaheadContextual("enum") ? (s.declare = !0, this.parseVarStatement(s, i || this.state.value,
            !0)) : (this.expect(75), this.tsParseEnumDeclaration(s, {
              const: !0,
              declare: !0
            }));
          case 129: {
            let a = this.tsParseInterfaceDeclaration(s, {
              declare: !0
            });
            if (a) return a;
          }
          default:
            if (zs(r))
              return this.tsParseDeclaration(s, this.state.value, !0, null);
        }
      });
    }
    tsTryParseExportDeclaration() {
      return this.tsParseDeclaration(this.startNode(), this.state.value, !0, null);
    }
    tsParseExpressionStatement(s, r, i) {
      switch (r.name) {
        case "declare": {
          let a = this.tsTryParseDeclare(s);
          return a && (a.declare = !0), a;
        }
        case "global":
          if (this.match(5)) {
            this.scope.enter(256), this.prodParam.enter(0);
            let a = s;
            return a.kind = "global", s.global = !0, a.id = r, a.body = this.tsParseModuleBlock(), this.scope.exit(), this.prodParam.exit(),
            this.finishNode(a, "TSModuleDeclaration");
          }
          break;
        default:
          return this.tsParseDeclaration(s, r.name, !1, i);
      }
    }
    tsParseDeclaration(s, r, i, a) {
      switch (r) {
        case "abstract":
          if (this.tsCheckLineTerminator(i) && (this.match(80) || zs(this.state.type)))
            return this.tsParseAbstractDeclaration(s, a);
          break;
        case "module":
          if (this.tsCheckLineTerminator(i)) {
            if (this.match(134))
              return this.tsParseAmbientExternalModuleDeclaration(s);
            if (zs(this.state.type))
              return s.kind = "module", this.tsParseModuleOrNamespaceDeclaration(s);
          }
          break;
        case "namespace":
          if (this.tsCheckLineTerminator(i) && zs(this.state.type))
            return s.kind = "namespace", this.tsParseModuleOrNamespaceDeclaration(s);
          break;
        case "type":
          if (this.tsCheckLineTerminator(i) && zs(this.state.type))
            return this.tsParseTypeAliasDeclaration(s);
          break;
      }
    }
    tsCheckLineTerminator(s) {
      return s ? this.hasFollowingLineBreak() ? !1 : (this.next(), !0) : !this.isLineTerminator();
    }
    tsTryParseGenericAsyncArrowFunction(s) {
      if (!this.match(47)) return;
      let r = this.state.maybeInArrowParameters;
      this.state.maybeInArrowParameters = !0;
      let i = this.tsTryParseAndCatch(() => {
        let a = this.startNodeAt(s);
        return a.typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier), super.parseFunctionParams(a), a.returnType = this.tsTryParseTypeOrTypePredicateAnnotation(),
        this.expect(19), a;
      });
      if (this.state.maybeInArrowParameters = r, !!i)
        return super.parseArrowExpression(i, null, !0);
    }
    tsParseTypeArgumentsInExpression() {
      if (this.reScan_lt() === 47)
        return this.tsParseTypeArguments();
    }
    tsParseTypeArguments() {
      let s = this.startNode();
      return s.params = this.tsInType(() => this.tsInTopLevelContext(() => (this.expect(47), this.tsParseDelimitedList("TypeParametersOrArgu\
ments", this.tsParseType.bind(this))))), s.params.length === 0 ? this.raise(ht.EmptyTypeArguments, s) : !this.state.inType && this.curContext() ===
      Xs.brace && this.reScan_lt_gt(), this.expect(48), this.finishNode(s, "TSTypeParameterInstantiation");
    }
    tsIsDeclarationStart() {
      return Oit(this.state.type);
    }
    isExportDefaultSpecifier() {
      return this.tsIsDeclarationStart() ? !1 : super.isExportDefaultSpecifier();
    }
    parseAssignableListItem(s, r) {
      let i = this.state.startLoc, a = {};
      this.tsParseModifiers({
        allowedModifiers: ["public", "private", "protected", "override", "readonly"]
      }, a);
      let o = a.accessibility, l = a.override, u = a.readonly;
      !(s & 4) && (o || u || l) && this.raise(ht.UnexpectedParameterModifier, i);
      let c = this.parseMaybeDefault();
      s & 2 && this.parseFunctionParamType(c);
      let p = this.parseMaybeDefault(c.loc.start, c);
      if (o || u || l) {
        let h = this.startNodeAt(i);
        return r.length && (h.decorators = r), o && (h.accessibility = o), u && (h.readonly = u), l && (h.override = l), p.type !== "Identif\
ier" && p.type !== "AssignmentPattern" && this.raise(ht.UnsupportedParameterPropertyKind, h), h.parameter = p, this.finishNode(h, "TSParamet\
erProperty");
      }
      return r.length && (c.decorators = r), p;
    }
    isSimpleParameter(s) {
      return s.type === "TSParameterProperty" && super.isSimpleParameter(s.parameter) || super.isSimpleParameter(s);
    }
    tsDisallowOptionalPattern(s) {
      for (let r of s.params)
        r.type !== "Identifier" && r.optional && !this.state.isAmbientContext && this.raise(ht.PatternIsOptional, r);
    }
    setArrowFunctionParameters(s, r, i) {
      super.setArrowFunctionParameters(s, r, i), this.tsDisallowOptionalPattern(s);
    }
    parseFunctionBodyAndFinish(s, r, i = !1) {
      this.match(14) && (s.returnType = this.tsParseTypeOrTypePredicateAnnotation(14));
      let a = r === "FunctionDeclaration" ? "TSDeclareFunction" : r === "ClassMethod" || r === "ClassPrivateMethod" ? "TSDeclareMethod" : void 0;
      return a && !this.match(5) && this.isLineTerminator() ? this.finishNode(s, a) : a === "TSDeclareFunction" && this.state.isAmbientContext &&
      (this.raise(ht.DeclareFunctionHasImplementation, s), s.declare) ? super.parseFunctionBodyAndFinish(s, a, i) : (this.tsDisallowOptionalPattern(
      s), super.parseFunctionBodyAndFinish(s, r, i));
    }
    registerFunctionStatementId(s) {
      !s.body && s.id ? this.checkIdentifier(s.id, 1024) : super.registerFunctionStatementId(s);
    }
    tsCheckForInvalidTypeCasts(s) {
      s.forEach((r) => {
        r?.type === "TSTypeCastExpression" && this.raise(ht.UnexpectedTypeAnnotation, r.typeAnnotation);
      });
    }
    toReferencedList(s, r) {
      return this.tsCheckForInvalidTypeCasts(s), s;
    }
    parseArrayLike(s, r, i, a) {
      let o = super.parseArrayLike(s, r, i, a);
      return o.type === "ArrayExpression" && this.tsCheckForInvalidTypeCasts(o.elements), o;
    }
    parseSubscript(s, r, i, a) {
      if (!this.hasPrecedingLineBreak() && this.match(35)) {
        this.state.canStartJSXElement = !1, this.next();
        let l = this.startNodeAt(r);
        return l.expression = s, this.finishNode(l, "TSNonNullExpression");
      }
      let o = !1;
      if (this.match(18) && this.lookaheadCharCode() === 60) {
        if (i)
          return a.stop = !0, s;
        a.optionalChainMember = o = !0, this.next();
      }
      if (this.match(47) || this.match(51)) {
        let l, u = this.tsTryParseAndCatch(() => {
          if (!i && this.atPossibleAsyncArrow(s)) {
            let f = this.tsTryParseGenericAsyncArrowFunction(r);
            if (f)
              return f;
          }
          let c = this.tsParseTypeArgumentsInExpression();
          if (!c) return;
          if (o && !this.match(10)) {
            l = this.state.curPosition();
            return;
          }
          if (WS(this.state.type)) {
            let f = super.parseTaggedTemplateExpression(s, r, a);
            return f.typeParameters = c, f;
          }
          if (!i && this.eat(10)) {
            let f = this.startNodeAt(r);
            return f.callee = s, f.arguments = this.parseCallExpressionArguments(11), this.tsCheckForInvalidTypeCasts(f.arguments), f.typeParameters =
            c, a.optionalChainMember && (f.optional = o), this.finishCallExpression(f, a.optionalChainMember);
          }
          let p = this.state.type;
          if (p === 48 || p === 52 || p !== 10 && DO(p) && !this.hasPrecedingLineBreak())
            return;
          let h = this.startNodeAt(r);
          return h.expression = s, h.typeParameters = c, this.finishNode(h, "TSInstantiationExpression");
        });
        if (l && this.unexpected(l, 10), u)
          return u.type === "TSInstantiationExpression" && (this.match(16) || this.match(18) && this.lookaheadCharCode() !== 40) && this.raise(
          ht.InvalidPropertyAccessAfterInstantiationExpression, this.state.startLoc), u;
      }
      return super.parseSubscript(s, r, i, a);
    }
    parseNewCallee(s) {
      var r;
      super.parseNewCallee(s);
      let {
        callee: i
      } = s;
      i.type === "TSInstantiationExpression" && !((r = i.extra) != null && r.parenthesized) && (s.typeParameters = i.typeParameters, s.callee =
      i.expression);
    }
    parseExprOp(s, r, i) {
      let a;
      if (US(58) > i && !this.hasPrecedingLineBreak() && (this.isContextual(93) || (a = this.isContextual(120)))) {
        let o = this.startNodeAt(r);
        return o.expression = s, o.typeAnnotation = this.tsInType(() => (this.next(), this.match(75) ? (a && this.raise(Z.UnexpectedKeyword,
        this.state.startLoc, {
          keyword: "const"
        }), this.tsParseTypeReference()) : this.tsParseType())), this.finishNode(o, a ? "TSSatisfiesExpression" : "TSAsExpression"), this.reScan_lt_gt(),
        this.parseExprOp(o, r, i);
      }
      return super.parseExprOp(s, r, i);
    }
    checkReservedWord(s, r, i, a) {
      this.state.isAmbientContext || super.checkReservedWord(s, r, i, a);
    }
    checkImportReflection(s) {
      super.checkImportReflection(s), s.module && s.importKind !== "value" && this.raise(ht.ImportReflectionHasImportType, s.specifiers[0].loc.
      start);
    }
    checkDuplicateExports() {
    }
    isPotentialImportPhase(s) {
      if (super.isPotentialImportPhase(s)) return !0;
      if (this.isContextual(130)) {
        let r = this.lookaheadCharCode();
        return s ? r === 123 || r === 42 : r !== 61;
      }
      return !s && this.isContextual(87);
    }
    applyImportPhase(s, r, i, a) {
      super.applyImportPhase(s, r, i, a), r ? s.exportKind = i === "type" ? "type" : "value" : s.importKind = i === "type" || i === "typeof" ?
      i : "value";
    }
    parseImport(s) {
      if (this.match(134))
        return s.importKind = "value", super.parseImport(s);
      let r;
      if (zs(this.state.type) && this.lookaheadCharCode() === 61)
        return s.importKind = "value", this.tsParseImportEqualsDeclaration(s);
      if (this.isContextual(130)) {
        let i = this.parseMaybeImportPhase(s, !1);
        if (this.lookaheadCharCode() === 61)
          return this.tsParseImportEqualsDeclaration(s, i);
        r = super.parseImportSpecifiersAndAfter(s, i);
      } else
        r = super.parseImport(s);
      return r.importKind === "type" && r.specifiers.length > 1 && r.specifiers[0].type === "ImportDefaultSpecifier" && this.raise(ht.TypeImportCannotSpecifyDefaultAndNamed,
      r), r;
    }
    parseExport(s, r) {
      if (this.match(83)) {
        let i = s;
        this.next();
        let a = null;
        return this.isContextual(130) && this.isPotentialImportPhase(!1) ? a = this.parseMaybeImportPhase(i, !1) : i.importKind = "value", this.
        tsParseImportEqualsDeclaration(i, a, !0);
      } else if (this.eat(29)) {
        let i = s;
        return i.expression = super.parseExpression(), this.semicolon(), this.sawUnambiguousESM = !0, this.finishNode(i, "TSExportAssignment");
      } else if (this.eatContextual(93)) {
        let i = s;
        return this.expectContextual(128), i.id = this.parseIdentifier(), this.semicolon(), this.finishNode(i, "TSNamespaceExportDeclaration");
      } else
        return super.parseExport(s, r);
    }
    isAbstractClass() {
      return this.isContextual(124) && this.lookahead().type === 80;
    }
    parseExportDefaultExpression() {
      if (this.isAbstractClass()) {
        let s = this.startNode();
        return this.next(), s.abstract = !0, this.parseClass(s, !0, !0);
      }
      if (this.match(129)) {
        let s = this.tsParseInterfaceDeclaration(this.startNode());
        if (s) return s;
      }
      return super.parseExportDefaultExpression();
    }
    parseVarStatement(s, r, i = !1) {
      let {
        isAmbientContext: a
      } = this.state, o = super.parseVarStatement(s, r, i || a);
      if (!a) return o;
      for (let {
        id: l,
        init: u
      } of o.declarations)
        u && (r !== "const" || l.typeAnnotation ? this.raise(ht.InitializerNotAllowedInAmbientContext, u) : mnt(u, this.hasPlugin("estree")) ||
        this.raise(ht.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference, u));
      return o;
    }
    parseStatementContent(s, r) {
      if (this.match(75) && this.isLookaheadContextual("enum")) {
        let i = this.startNode();
        return this.expect(75), this.tsParseEnumDeclaration(i, {
          const: !0
        });
      }
      if (this.isContextual(126))
        return this.tsParseEnumDeclaration(this.startNode());
      if (this.isContextual(129)) {
        let i = this.tsParseInterfaceDeclaration(this.startNode());
        if (i) return i;
      }
      return super.parseStatementContent(s, r);
    }
    parseAccessModifier() {
      return this.tsParseModifier(["public", "protected", "private"]);
    }
    tsHasSomeModifiers(s, r) {
      return r.some((i) => aX(i) ? s.accessibility === i : !!s[i]);
    }
    tsIsStartOfStaticBlocks() {
      return this.isContextual(106) && this.lookaheadCharCode() === 123;
    }
    parseClassMember(s, r, i) {
      let a = ["declare", "private", "public", "protected", "override", "abstract", "readonly", "static"];
      this.tsParseModifiers({
        allowedModifiers: a,
        disallowedModifiers: ["in", "out"],
        stopOnStartOfClassStaticBlock: !0,
        errorTemplate: ht.InvalidModifierOnTypeParameterPositions
      }, r);
      let o = /* @__PURE__ */ n(() => {
        this.tsIsStartOfStaticBlocks() ? (this.next(), this.next(), this.tsHasSomeModifiers(r, a) && this.raise(ht.StaticBlockCannotHaveModifier,
        this.state.curPosition()), super.parseClassStaticBlock(s, r)) : this.parseClassMemberWithIsStatic(s, r, i, !!r.static);
      }, "callParseClassMemberWithIsStatic");
      r.declare ? this.tsInAmbientContext(o) : o();
    }
    parseClassMemberWithIsStatic(s, r, i, a) {
      let o = this.tsTryParseIndexSignature(r);
      if (o) {
        s.body.push(o), r.abstract && this.raise(ht.IndexSignatureHasAbstract, r), r.accessibility && this.raise(ht.IndexSignatureHasAccessibility,
        r, {
          modifier: r.accessibility
        }), r.declare && this.raise(ht.IndexSignatureHasDeclare, r), r.override && this.raise(ht.IndexSignatureHasOverride, r);
        return;
      }
      !this.state.inAbstractClass && r.abstract && this.raise(ht.NonAbstractClassHasAbstractMethod, r), r.override && (i.hadSuperClass || this.
      raise(ht.OverrideNotInSubClass, r)), super.parseClassMemberWithIsStatic(s, r, i, a);
    }
    parsePostMemberNameModifiers(s) {
      this.eat(17) && (s.optional = !0), s.readonly && this.match(10) && this.raise(ht.ClassMethodHasReadonly, s), s.declare && this.match(10) &&
      this.raise(ht.ClassMethodHasDeclare, s);
    }
    parseExpressionStatement(s, r, i) {
      return (r.type === "Identifier" ? this.tsParseExpressionStatement(s, r, i) : void 0) || super.parseExpressionStatement(s, r, i);
    }
    shouldParseExportDeclaration() {
      return this.tsIsDeclarationStart() ? !0 : super.shouldParseExportDeclaration();
    }
    parseConditional(s, r, i) {
      if (!this.state.maybeInArrowParameters || !this.match(17))
        return super.parseConditional(s, r, i);
      let a = this.tryParse(() => super.parseConditional(s, r));
      return a.node ? (a.error && (this.state = a.failState), a.node) : (a.error && super.setOptionalParametersError(i, a.error), s);
    }
    parseParenItem(s, r) {
      let i = super.parseParenItem(s, r);
      if (this.eat(17) && (i.optional = !0, this.resetEndLocation(s)), this.match(14)) {
        let a = this.startNodeAt(r);
        return a.expression = s, a.typeAnnotation = this.tsParseTypeAnnotation(), this.finishNode(a, "TSTypeCastExpression");
      }
      return s;
    }
    parseExportDeclaration(s) {
      if (!this.state.isAmbientContext && this.isContextual(125))
        return this.tsInAmbientContext(() => this.parseExportDeclaration(s));
      let r = this.state.startLoc, i = this.eatContextual(125);
      if (i && (this.isContextual(125) || !this.shouldParseExportDeclaration()))
        throw this.raise(ht.ExpectedAmbientAfterExportDeclare, this.state.startLoc);
      let o = zs(this.state.type) && this.tsTryParseExportDeclaration() || super.parseExportDeclaration(s);
      return o ? ((o.type === "TSInterfaceDeclaration" || o.type === "TSTypeAliasDeclaration" || i) && (s.exportKind = "type"), i && o.type !==
      "TSImportEqualsDeclaration" && (this.resetStartLocation(o, r), o.declare = !0), o) : null;
    }
    parseClassId(s, r, i, a) {
      if ((!r || i) && this.isContextual(113))
        return;
      super.parseClassId(s, r, i, s.declare ? 1024 : 8331);
      let o = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);
      o && (s.typeParameters = o);
    }
    parseClassPropertyAnnotation(s) {
      s.optional || (this.eat(35) ? s.definite = !0 : this.eat(17) && (s.optional = !0));
      let r = this.tsTryParseTypeAnnotation();
      r && (s.typeAnnotation = r);
    }
    parseClassProperty(s) {
      if (this.parseClassPropertyAnnotation(s), this.state.isAmbientContext && !(s.readonly && !s.typeAnnotation) && this.match(29) && this.
      raise(ht.DeclareClassFieldHasInitializer, this.state.startLoc), s.abstract && this.match(29)) {
        let {
          key: r
        } = s;
        this.raise(ht.AbstractPropertyHasInitializer, this.state.startLoc, {
          propertyName: r.type === "Identifier" && !s.computed ? r.name : `[${this.input.slice(this.offsetToSourcePos(r.start), this.offsetToSourcePos(
          r.end))}]`
        });
      }
      return super.parseClassProperty(s);
    }
    parseClassPrivateProperty(s) {
      return s.abstract && this.raise(ht.PrivateElementHasAbstract, s), s.accessibility && this.raise(ht.PrivateElementHasAccessibility, s, {
        modifier: s.accessibility
      }), this.parseClassPropertyAnnotation(s), super.parseClassPrivateProperty(s);
    }
    parseClassAccessorProperty(s) {
      return this.parseClassPropertyAnnotation(s), s.optional && this.raise(ht.AccessorCannotBeOptional, s), super.parseClassAccessorProperty(
      s);
    }
    pushClassMethod(s, r, i, a, o, l) {
      let u = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      u && o && this.raise(ht.ConstructorHasTypeParameters, u);
      let {
        declare: c = !1,
        kind: p
      } = r;
      c && (p === "get" || p === "set") && this.raise(ht.DeclareAccessor, r, {
        kind: p
      }), u && (r.typeParameters = u), super.pushClassMethod(s, r, i, a, o, l);
    }
    pushClassPrivateMethod(s, r, i, a) {
      let o = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      o && (r.typeParameters = o), super.pushClassPrivateMethod(s, r, i, a);
    }
    declareClassPrivateMethodInScope(s, r) {
      s.type !== "TSDeclareMethod" && (s.type === "MethodDefinition" && !hasOwnProperty.call(s.value, "body") || super.declareClassPrivateMethodInScope(
      s, r));
    }
    parseClassSuper(s) {
      super.parseClassSuper(s), s.superClass && (this.match(47) || this.match(51)) && (s.superTypeParameters = this.tsParseTypeArgumentsInExpression()),
      this.eatContextual(113) && (s.implements = this.tsParseHeritageClause("implements"));
    }
    parseObjPropValue(s, r, i, a, o, l, u) {
      let c = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      return c && (s.typeParameters = c), super.parseObjPropValue(s, r, i, a, o, l, u);
    }
    parseFunctionParams(s, r) {
      let i = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      i && (s.typeParameters = i), super.parseFunctionParams(s, r);
    }
    parseVarId(s, r) {
      super.parseVarId(s, r), s.id.type === "Identifier" && !this.hasPrecedingLineBreak() && this.eat(35) && (s.definite = !0);
      let i = this.tsTryParseTypeAnnotation();
      i && (s.id.typeAnnotation = i, this.resetEndLocation(s.id));
    }
    parseAsyncArrowFromCallExpression(s, r) {
      return this.match(14) && (s.returnType = this.tsParseTypeAnnotation()), super.parseAsyncArrowFromCallExpression(s, r);
    }
    parseMaybeAssign(s, r) {
      var i, a, o, l, u;
      let c, p, h;
      if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) {
        if (c = this.state.clone(), p = this.tryParse(() => super.parseMaybeAssign(s, r), c), !p.error) return p.node;
        let {
          context: m
        } = this.state, y = m[m.length - 1];
        (y === Xs.j_oTag || y === Xs.j_expr) && m.pop();
      }
      if (!((i = p) != null && i.error) && !this.match(47))
        return super.parseMaybeAssign(s, r);
      (!c || c === this.state) && (c = this.state.clone());
      let f, d = this.tryParse((m) => {
        var y, T;
        f = this.tsParseTypeParameters(this.tsParseConstModifier);
        let b = super.parseMaybeAssign(s, r);
        return (b.type !== "ArrowFunctionExpression" || (y = b.extra) != null && y.parenthesized) && m(), ((T = f) == null ? void 0 : T.params.
        length) !== 0 && this.resetStartLocationFromNode(b, f), b.typeParameters = f, b;
      }, c);
      if (!d.error && !d.aborted)
        return f && this.reportReservedArrowTypeParam(f), d.node;
      if (!p && (nX(!this.hasPlugin("jsx")), h = this.tryParse(() => super.parseMaybeAssign(s, r), c), !h.error))
        return h.node;
      if ((a = p) != null && a.node)
        return this.state = p.failState, p.node;
      if (d.node)
        return this.state = d.failState, f && this.reportReservedArrowTypeParam(f), d.node;
      if ((o = h) != null && o.node)
        return this.state = h.failState, h.node;
      throw ((l = p) == null ? void 0 : l.error) || d.error || ((u = h) == null ? void 0 : u.error);
    }
    reportReservedArrowTypeParam(s) {
      var r;
      s.params.length === 1 && !s.params[0].constraint && !((r = s.extra) != null && r.trailingComma) && this.getPluginOption("typescript", "\
disallowAmbiguousJSXLike") && this.raise(ht.ReservedArrowTypeParam, s);
    }
    parseMaybeUnary(s, r) {
      return !this.hasPlugin("jsx") && this.match(47) ? this.tsParseTypeAssertion() : super.parseMaybeUnary(s, r);
    }
    parseArrow(s) {
      if (this.match(14)) {
        let r = this.tryParse((i) => {
          let a = this.tsParseTypeOrTypePredicateAnnotation(14);
          return (this.canInsertSemicolon() || !this.match(19)) && i(), a;
        });
        if (r.aborted) return;
        r.thrown || (r.error && (this.state = r.failState), s.returnType = r.node);
      }
      return super.parseArrow(s);
    }
    parseFunctionParamType(s) {
      this.eat(17) && (s.optional = !0);
      let r = this.tsTryParseTypeAnnotation();
      return r && (s.typeAnnotation = r), this.resetEndLocation(s), s;
    }
    isAssignable(s, r) {
      switch (s.type) {
        case "TSTypeCastExpression":
          return this.isAssignable(s.expression, r);
        case "TSParameterProperty":
          return !0;
        default:
          return super.isAssignable(s, r);
      }
    }
    toAssignable(s, r = !1) {
      switch (s.type) {
        case "ParenthesizedExpression":
          this.toAssignableParenthesizedExpression(s, r);
          break;
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSNonNullExpression":
        case "TSTypeAssertion":
          r ? this.expressionScope.recordArrowParameterBindingError(ht.UnexpectedTypeCastInParameter, s) : this.raise(ht.UnexpectedTypeCastInParameter,
          s), this.toAssignable(s.expression, r);
          break;
        case "AssignmentExpression":
          !r && s.left.type === "TSTypeCastExpression" && (s.left = this.typeCastToParameter(s.left));
        default:
          super.toAssignable(s, r);
      }
    }
    toAssignableParenthesizedExpression(s, r) {
      switch (s.expression.type) {
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSNonNullExpression":
        case "TSTypeAssertion":
        case "ParenthesizedExpression":
          this.toAssignable(s.expression, r);
          break;
        default:
          super.toAssignable(s, r);
      }
    }
    checkToRestConversion(s, r) {
      switch (s.type) {
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSTypeAssertion":
        case "TSNonNullExpression":
          this.checkToRestConversion(s.expression, !1);
          break;
        default:
          super.checkToRestConversion(s, r);
      }
    }
    isValidLVal(s, r, i) {
      switch (s) {
        case "TSTypeCastExpression":
          return !0;
        case "TSParameterProperty":
          return "parameter";
        case "TSNonNullExpression":
        case "TSInstantiationExpression":
          return "expression";
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSTypeAssertion":
          return (i !== 64 || !r) && ["expression", !0];
        default:
          return super.isValidLVal(s, r, i);
      }
    }
    parseBindingAtom() {
      return this.state.type === 78 ? this.parseIdentifier(!0) : super.parseBindingAtom();
    }
    parseMaybeDecoratorArguments(s, r) {
      if (this.match(47) || this.match(51)) {
        let i = this.tsParseTypeArgumentsInExpression();
        if (this.match(10)) {
          let a = super.parseMaybeDecoratorArguments(s, r);
          return a.typeParameters = i, a;
        }
        this.unexpected(null, 10);
      }
      return super.parseMaybeDecoratorArguments(s, r);
    }
    checkCommaAfterRest(s) {
      return this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === s ? (this.next(), !1) : super.checkCommaAfterRest(
      s);
    }
    isClassMethod() {
      return this.match(47) || super.isClassMethod();
    }
    isClassProperty() {
      return this.match(35) || this.match(14) || super.isClassProperty();
    }
    parseMaybeDefault(s, r) {
      let i = super.parseMaybeDefault(s, r);
      return i.type === "AssignmentPattern" && i.typeAnnotation && i.right.start < i.typeAnnotation.start && this.raise(ht.TypeAnnotationAfterAssign,
      i.typeAnnotation), i;
    }
    getTokenFromCode(s) {
      if (this.state.inType) {
        if (s === 62) {
          this.finishOp(48, 1);
          return;
        }
        if (s === 60) {
          this.finishOp(47, 1);
          return;
        }
      }
      super.getTokenFromCode(s);
    }
    reScan_lt_gt() {
      let {
        type: s
      } = this.state;
      s === 47 ? (this.state.pos -= 1, this.readToken_lt()) : s === 48 && (this.state.pos -= 1, this.readToken_gt());
    }
    reScan_lt() {
      let {
        type: s
      } = this.state;
      return s === 51 ? (this.state.pos -= 2, this.finishOp(47, 1), 47) : s;
    }
    toAssignableList(s, r, i) {
      for (let a = 0; a < s.length; a++) {
        let o = s[a];
        o?.type === "TSTypeCastExpression" && (s[a] = this.typeCastToParameter(o));
      }
      super.toAssignableList(s, r, i);
    }
    typeCastToParameter(s) {
      return s.expression.typeAnnotation = s.typeAnnotation, this.resetEndLocation(s.expression, s.typeAnnotation.loc.end), s.expression;
    }
    shouldParseArrow(s) {
      return this.match(14) ? s.every((r) => this.isAssignable(r, !0)) : super.shouldParseArrow(s);
    }
    shouldParseAsyncArrow() {
      return this.match(14) || super.shouldParseAsyncArrow();
    }
    canHaveLeadingDecorator() {
      return super.canHaveLeadingDecorator() || this.isAbstractClass();
    }
    jsxParseOpeningElementAfterName(s) {
      if (this.match(47) || this.match(51)) {
        let r = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression());
        r && (s.typeParameters = r);
      }
      return super.jsxParseOpeningElementAfterName(s);
    }
    getGetterSetterExpectedParamCount(s) {
      let r = super.getGetterSetterExpectedParamCount(s), a = this.getObjectOrClassMethodParams(s)[0];
      return a && this.isThisParam(a) ? r + 1 : r;
    }
    parseCatchClauseParam() {
      let s = super.parseCatchClauseParam(), r = this.tsTryParseTypeAnnotation();
      return r && (s.typeAnnotation = r, this.resetEndLocation(s)), s;
    }
    tsInAmbientContext(s) {
      let {
        isAmbientContext: r,
        strict: i
      } = this.state;
      this.state.isAmbientContext = !0, this.state.strict = !1;
      try {
        return s();
      } finally {
        this.state.isAmbientContext = r, this.state.strict = i;
      }
    }
    parseClass(s, r, i) {
      let a = this.state.inAbstractClass;
      this.state.inAbstractClass = !!s.abstract;
      try {
        return super.parseClass(s, r, i);
      } finally {
        this.state.inAbstractClass = a;
      }
    }
    tsParseAbstractDeclaration(s, r) {
      if (this.match(80))
        return s.abstract = !0, this.maybeTakeDecorators(r, this.parseClass(s, !0, !1));
      if (this.isContextual(129)) {
        if (!this.hasFollowingLineBreak())
          return s.abstract = !0, this.raise(ht.NonClassMethodPropertyHasAbstractModifer, s), this.tsParseInterfaceDeclaration(s);
      } else
        this.unexpected(null, 80);
    }
    parseMethod(s, r, i, a, o, l, u) {
      let c = super.parseMethod(s, r, i, a, o, l, u);
      if (c.abstract && (this.hasPlugin("estree") ? c.value : c).body) {
        let {
          key: f
        } = c;
        this.raise(ht.AbstractMethodHasImplementation, c, {
          methodName: f.type === "Identifier" && !c.computed ? f.name : `[${this.input.slice(this.offsetToSourcePos(f.start), this.offsetToSourcePos(
          f.end))}]`
        });
      }
      return c;
    }
    tsParseTypeParameterName() {
      return this.parseIdentifier().name;
    }
    shouldParseAsAmbientContext() {
      return !!this.getPluginOption("typescript", "dts");
    }
    parse() {
      return this.shouldParseAsAmbientContext() && (this.state.isAmbientContext = !0), super.parse();
    }
    getExpression() {
      return this.shouldParseAsAmbientContext() && (this.state.isAmbientContext = !0), super.getExpression();
    }
    parseExportSpecifier(s, r, i, a) {
      return !r && a ? (this.parseTypeOnlyImportExportSpecifier(s, !1, i), this.finishNode(s, "ExportSpecifier")) : (s.exportKind = "value",
      super.parseExportSpecifier(s, r, i, a));
    }
    parseImportSpecifier(s, r, i, a, o) {
      return !r && a ? (this.parseTypeOnlyImportExportSpecifier(s, !0, i), this.finishNode(s, "ImportSpecifier")) : (s.importKind = "value",
      super.parseImportSpecifier(s, r, i, a, i ? 4098 : 4096));
    }
    parseTypeOnlyImportExportSpecifier(s, r, i) {
      let a = r ? "imported" : "local", o = r ? "local" : "exported", l = s[a], u, c = !1, p = !0, h = l.loc.start;
      if (this.isContextual(93)) {
        let d = this.parseIdentifier();
        if (this.isContextual(93)) {
          let m = this.parseIdentifier();
          Po(this.state.type) ? (c = !0, l = d, u = r ? this.parseIdentifier() : this.parseModuleExportName(), p = !1) : (u = m, p = !1);
        } else Po(this.state.type) ? (p = !1, u = r ? this.parseIdentifier() : this.parseModuleExportName()) : (c = !0, l = d);
      } else Po(this.state.type) && (c = !0, r ? (l = this.parseIdentifier(!0), this.isContextual(93) || this.checkReservedWord(l.name, l.loc.
      start, !0, !0)) : l = this.parseModuleExportName());
      c && i && this.raise(r ? ht.TypeModifierIsUsedInTypeImports : ht.TypeModifierIsUsedInTypeExports, h), s[a] = l, s[o] = u;
      let f = r ? "importKind" : "exportKind";
      s[f] = c ? "type" : "value", p && this.eatContextual(93) && (s[o] = r ? this.parseIdentifier() : this.parseModuleExportName()), s[o] ||
      (s[o] = du(s[a])), r && this.checkIdentifier(s[o], c ? 4098 : 4096);
    }
  }, "typescript");
  function dnt(t) {
    if (t.type !== "MemberExpression") return !1;
    let {
      computed: e,
      property: s
    } = t;
    return e && s.type !== "StringLiteral" && (s.type !== "TemplateLiteral" || s.expressions.length > 0) ? !1 : AX(t.object);
  }
  n(dnt, "isPossiblyLiteralEnum");
  function mnt(t, e) {
    var s;
    let {
      type: r
    } = t;
    if ((s = t.extra) != null && s.parenthesized)
      return !1;
    if (e) {
      if (r === "Literal") {
        let {
          value: i
        } = t;
        if (typeof i == "string" || typeof i == "boolean")
          return !0;
      }
    } else if (r === "StringLiteral" || r === "BooleanLiteral")
      return !0;
    return !!(EX(t, e) || ynt(t, e) || r === "TemplateLiteral" && t.expressions.length === 0 || dnt(t));
  }
  n(mnt, "isValidAmbientConstInitializer");
  function EX(t, e) {
    return e ? t.type === "Literal" && (typeof t.value == "number" || "bigint" in t) : t.type === "NumericLiteral" || t.type === "BigIntLite\
ral";
  }
  n(EX, "isNumber");
  function ynt(t, e) {
    if (t.type === "UnaryExpression") {
      let {
        operator: s,
        argument: r
      } = t;
      if (s === "-" && EX(r, e))
        return !0;
    }
    return !1;
  }
  n(ynt, "isNegativeNumber");
  function AX(t) {
    return t.type === "Identifier" ? !0 : t.type !== "MemberExpression" || t.computed ? !1 : AX(t.object);
  }
  n(AX, "isUncomputedMemberExpressionChain");
  var oX = fu`placeholders`({
    ClassNameIsRequired: "A class name is required.",
    UnexpectedSpace: "Unexpected space in placeholder."
  }), gnt = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "PlaceholdersParserMixin");
    }
    parsePlaceholder(s) {
      if (this.match(133)) {
        let r = this.startNode();
        return this.next(), this.assertNoSpace(), r.name = super.parseIdentifier(!0), this.assertNoSpace(), this.expect(133), this.finishPlaceholder(
        r, s);
      }
    }
    finishPlaceholder(s, r) {
      let i = s;
      return (!i.expectedNode || !i.type) && (i = this.finishNode(i, "Placeholder")), i.expectedNode = r, i;
    }
    getTokenFromCode(s) {
      s === 37 && this.input.charCodeAt(this.state.pos + 1) === 37 ? this.finishOp(133, 2) : super.getTokenFromCode(s);
    }
    parseExprAtom(s) {
      return this.parsePlaceholder("Expression") || super.parseExprAtom(s);
    }
    parseIdentifier(s) {
      return this.parsePlaceholder("Identifier") || super.parseIdentifier(s);
    }
    checkReservedWord(s, r, i, a) {
      s !== void 0 && super.checkReservedWord(s, r, i, a);
    }
    parseBindingAtom() {
      return this.parsePlaceholder("Pattern") || super.parseBindingAtom();
    }
    isValidLVal(s, r, i) {
      return s === "Placeholder" || super.isValidLVal(s, r, i);
    }
    toAssignable(s, r) {
      s && s.type === "Placeholder" && s.expectedNode === "Expression" ? s.expectedNode = "Pattern" : super.toAssignable(s, r);
    }
    chStartsBindingIdentifier(s, r) {
      return !!(super.chStartsBindingIdentifier(s, r) || this.lookahead().type === 133);
    }
    verifyBreakContinue(s, r) {
      s.label && s.label.type === "Placeholder" || super.verifyBreakContinue(s, r);
    }
    parseExpressionStatement(s, r) {
      var i;
      if (r.type !== "Placeholder" || (i = r.extra) != null && i.parenthesized)
        return super.parseExpressionStatement(s, r);
      if (this.match(14)) {
        let o = s;
        return o.label = this.finishPlaceholder(r, "Identifier"), this.next(), o.body = super.parseStatementOrSloppyAnnexBFunctionDeclaration(),
        this.finishNode(o, "LabeledStatement");
      }
      this.semicolon();
      let a = s;
      return a.name = r.name, this.finishPlaceholder(a, "Statement");
    }
    parseBlock(s, r, i) {
      return this.parsePlaceholder("BlockStatement") || super.parseBlock(s, r, i);
    }
    parseFunctionId(s) {
      return this.parsePlaceholder("Identifier") || super.parseFunctionId(s);
    }
    parseClass(s, r, i) {
      let a = r ? "ClassDeclaration" : "ClassExpression";
      this.next();
      let o = this.state.strict, l = this.parsePlaceholder("Identifier");
      if (l)
        if (this.match(81) || this.match(133) || this.match(5))
          s.id = l;
        else {
          if (i || !r)
            return s.id = null, s.body = this.finishPlaceholder(l, "ClassBody"), this.finishNode(s, a);
          throw this.raise(oX.ClassNameIsRequired, this.state.startLoc);
        }
      else
        this.parseClassId(s, r, i);
      return super.parseClassSuper(s), s.body = this.parsePlaceholder("ClassBody") || super.parseClassBody(!!s.superClass, o), this.finishNode(
      s, a);
    }
    parseExport(s, r) {
      let i = this.parsePlaceholder("Identifier");
      if (!i) return super.parseExport(s, r);
      let a = s;
      if (!this.isContextual(98) && !this.match(12))
        return a.specifiers = [], a.source = null, a.declaration = this.finishPlaceholder(i, "Declaration"), this.finishNode(a, "ExportNamed\
Declaration");
      this.expectPlugin("exportDefaultFrom");
      let o = this.startNode();
      return o.exported = i, a.specifiers = [this.finishNode(o, "ExportDefaultSpecifier")], super.parseExport(a, r);
    }
    isExportDefaultSpecifier() {
      if (this.match(65)) {
        let s = this.nextTokenStart();
        if (this.isUnparsedContextual(s, "from") && this.input.startsWith(Qc(133), this.nextTokenStartSince(s + 4)))
          return !0;
      }
      return super.isExportDefaultSpecifier();
    }
    maybeParseExportDefaultSpecifier(s, r) {
      var i;
      return (i = s.specifiers) != null && i.length ? !0 : super.maybeParseExportDefaultSpecifier(s, r);
    }
    checkExport(s) {
      let {
        specifiers: r
      } = s;
      r != null && r.length && (s.specifiers = r.filter((i) => i.exported.type === "Placeholder")), super.checkExport(s), s.specifiers = r;
    }
    parseImport(s) {
      let r = this.parsePlaceholder("Identifier");
      if (!r) return super.parseImport(s);
      if (s.specifiers = [], !this.isContextual(98) && !this.match(12))
        return s.source = this.finishPlaceholder(r, "StringLiteral"), this.semicolon(), this.finishNode(s, "ImportDeclaration");
      let i = this.startNodeAtNode(r);
      return i.local = r, s.specifiers.push(this.finishNode(i, "ImportDefaultSpecifier")), this.eat(12) && (this.maybeParseStarImportSpecifier(
      s) || this.parseNamedImportSpecifiers(s)), this.expectContextual(98), s.source = this.parseImportSource(), this.semicolon(), this.finishNode(
      s, "ImportDeclaration");
    }
    parseImportSource() {
      return this.parsePlaceholder("StringLiteral") || super.parseImportSource();
    }
    assertNoSpace() {
      this.state.start > this.offsetToSourcePos(this.state.lastTokEndLoc.index) && this.raise(oX.UnexpectedSpace, this.state.lastTokEndLoc);
    }
  }, "placeholders"), Tnt = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "V8IntrinsicMixin");
    }
    parseV8Intrinsic() {
      if (this.match(54)) {
        let s = this.state.startLoc, r = this.startNode();
        if (this.next(), zs(this.state.type)) {
          let i = this.parseIdentifierName(), a = this.createIdentifier(r, i);
          if (a.type = "V8IntrinsicIdentifier", this.match(10))
            return a;
        }
        this.unexpected(s);
      }
    }
    parseExprAtom(s) {
      return this.parseV8Intrinsic() || super.parseExprAtom(s);
    }
  }, "v8intrinsic"), lX = ["minimal", "fsharp", "hack", "smart"], uX = ["^^", "@@", "^", "%", "#"];
  function bnt(t) {
    if (t.has("decorators")) {
      if (t.has("decorators-legacy"))
        throw new Error("Cannot use the decorators and decorators-legacy plugin together");
      let s = t.get("decorators").decoratorsBeforeExport;
      if (s != null && typeof s != "boolean")
        throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");
      let r = t.get("decorators").allowCallParenthesized;
      if (r != null && typeof r != "boolean")
        throw new Error("'allowCallParenthesized' must be a boolean.");
    }
    if (t.has("flow") && t.has("typescript"))
      throw new Error("Cannot combine flow and typescript plugins.");
    if (t.has("placeholders") && t.has("v8intrinsic"))
      throw new Error("Cannot combine placeholders and v8intrinsic plugins.");
    if (t.has("pipelineOperator")) {
      var e;
      let s = t.get("pipelineOperator").proposal;
      if (!lX.includes(s)) {
        let i = lX.map((a) => `"${a}"`).join(", ");
        throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${i}.`);
      }
      let r = ((e = t.get("recordAndTuple")) == null ? void 0 : e.syntaxType) === "hash";
      if (s === "hack") {
        if (t.has("placeholders"))
          throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");
        if (t.has("v8intrinsic"))
          throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");
        let i = t.get("pipelineOperator").topicToken;
        if (!uX.includes(i)) {
          let a = uX.map((o) => `"${o}"`).join(", ");
          throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${a}\
.`);
        }
        if (i === "#" && r)
          throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "hack", topicToken: "#" }]\` and \`${JSON.stringify(["\
recordAndTuple", t.get("recordAndTuple")])}\`.`);
      } else if (s === "smart" && r)
        throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "smart" }]\` and \`${JSON.stringify(["recordAndTuple", t.
        get("recordAndTuple")])}\`.`);
    }
    if (t.has("moduleAttributes")) {
      if (t.has("deprecatedImportAssert") || t.has("importAssertions"))
        throw new Error("Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins.");
      if (t.get("moduleAttributes").version !== "may-2020")
        throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the on\
ly supported value is 'may-2020'.");
    }
    if (t.has("importAssertions") && t.has("deprecatedImportAssert"))
      throw new Error("Cannot combine importAssertions and deprecatedImportAssert plugins.");
    if (!t.has("deprecatedImportAssert") && t.has("importAttributes") && t.get("importAttributes").deprecatedAssertSyntax && t.set("deprecat\
edImportAssert", {}), t.has("recordAndTuple")) {
      let s = t.get("recordAndTuple").syntaxType;
      if (s != null) {
        let r = ["hash", "bar"];
        if (!r.includes(s))
          throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: " + r.map((i) => `'${i}'`).join(", "));
      }
    }
    if (t.has("asyncDoExpressions") && !t.has("doExpressions")) {
      let s = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");
      throw s.missingPlugins = "doExpressions", s;
    }
    if (t.has("optionalChainingAssign") && t.get("optionalChainingAssign").version !== "2023-07")
      throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, th\
e only supported value is '2023-07'.");
  }
  n(bnt, "validatePlugins");
  var vX = {
    estree: Sit,
    jsx: unt,
    flow: ont,
    typescript: fnt,
    v8intrinsic: Tnt,
    placeholders: gnt
  }, xnt = Object.keys(vX), XO = class extends YO {
    static {
      n(this, "ExpressionParser");
    }
    checkProto(e, s, r, i) {
      if (e.type === "SpreadElement" || this.isObjectMethod(e) || e.computed || e.shorthand)
        return;
      let a = e.key;
      if ((a.type === "Identifier" ? a.name : a.value) === "__proto__") {
        if (s) {
          this.raise(Z.RecordNoProto, a);
          return;
        }
        r.used && (i ? i.doubleProtoLoc === null && (i.doubleProtoLoc = a.loc.start) : this.raise(Z.DuplicateProto, a)), r.used = !0;
      }
    }
    shouldExitDescending(e, s) {
      return e.type === "ArrowFunctionExpression" && this.offsetToSourcePos(e.start) === s;
    }
    getExpression() {
      this.enterInitialScopes(), this.nextToken();
      let e = this.parseExpression();
      return this.match(140) || this.unexpected(), this.finalizeRemainingComments(), e.comments = this.comments, e.errors = this.state.errors,
      this.optionFlags & 128 && (e.tokens = this.tokens), e;
    }
    parseExpression(e, s) {
      return e ? this.disallowInAnd(() => this.parseExpressionBase(s)) : this.allowInAnd(() => this.parseExpressionBase(s));
    }
    parseExpressionBase(e) {
      let s = this.state.startLoc, r = this.parseMaybeAssign(e);
      if (this.match(12)) {
        let i = this.startNodeAt(s);
        for (i.expressions = [r]; this.eat(12); )
          i.expressions.push(this.parseMaybeAssign(e));
        return this.toReferencedList(i.expressions), this.finishNode(i, "SequenceExpression");
      }
      return r;
    }
    parseMaybeAssignDisallowIn(e, s) {
      return this.disallowInAnd(() => this.parseMaybeAssign(e, s));
    }
    parseMaybeAssignAllowIn(e, s) {
      return this.allowInAnd(() => this.parseMaybeAssign(e, s));
    }
    setOptionalParametersError(e, s) {
      var r;
      e.optionalParametersLoc = (r = s?.loc) != null ? r : this.state.startLoc;
    }
    parseMaybeAssign(e, s) {
      let r = this.state.startLoc;
      if (this.isContextual(108) && this.prodParam.hasYield) {
        let l = this.parseYield();
        return s && (l = s.call(this, l, r)), l;
      }
      let i;
      e ? i = !1 : (e = new qd(), i = !0);
      let {
        type: a
      } = this.state;
      (a === 10 || zs(a)) && (this.state.potentialArrowAt = this.state.start);
      let o = this.parseMaybeConditional(e);
      if (s && (o = s.call(this, o, r)), Cit(this.state.type)) {
        let l = this.startNodeAt(r), u = this.state.value;
        if (l.operator = u, this.match(29)) {
          this.toAssignable(o, !0), l.left = o;
          let c = r.index;
          e.doubleProtoLoc != null && e.doubleProtoLoc.index >= c && (e.doubleProtoLoc = null), e.shorthandAssignLoc != null && e.shorthandAssignLoc.
          index >= c && (e.shorthandAssignLoc = null), e.privateKeyLoc != null && e.privateKeyLoc.index >= c && (this.checkDestructuringPrivate(
          e), e.privateKeyLoc = null);
        } else
          l.left = o;
        return this.next(), l.right = this.parseMaybeAssign(), this.checkLVal(o, this.finishNode(l, "AssignmentExpression")), l;
      } else i && this.checkExpressionErrors(e, !0);
      return o;
    }
    parseMaybeConditional(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseExprOps(e);
      return this.shouldExitDescending(i, r) ? i : this.parseConditional(i, s, e);
    }
    parseConditional(e, s, r) {
      if (this.eat(17)) {
        let i = this.startNodeAt(s);
        return i.test = e, i.consequent = this.parseMaybeAssignAllowIn(), this.expect(14), i.alternate = this.parseMaybeAssign(), this.finishNode(
        i, "ConditionalExpression");
      }
      return e;
    }
    parseMaybeUnaryOrPrivate(e) {
      return this.match(139) ? this.parsePrivateName() : this.parseMaybeUnary(e);
    }
    parseExprOps(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseMaybeUnaryOrPrivate(e);
      return this.shouldExitDescending(i, r) ? i : this.parseExprOp(i, s, -1);
    }
    parseExprOp(e, s, r) {
      if (this.isPrivateName(e)) {
        let a = this.getPrivateNameSV(e);
        (r >= US(58) || !this.prodParam.hasIn || !this.match(58)) && this.raise(Z.PrivateInExpectedIn, e, {
          identifierName: a
        }), this.classScope.usePrivateName(a, e.loc.start);
      }
      let i = this.state.type;
      if (Iit(i) && (this.prodParam.hasIn || !this.match(58))) {
        let a = US(i);
        if (a > r) {
          if (i === 39) {
            if (this.expectPlugin("pipelineOperator"), this.state.inFSharpPipelineDirectBody)
              return e;
            this.checkPipelineAtInfixOperator(e, s);
          }
          let o = this.startNodeAt(s);
          o.left = e, o.operator = this.state.value;
          let l = i === 41 || i === 42, u = i === 40;
          if (u && (a = US(42)), this.next(), i === 39 && this.hasPlugin(["pipelineOperator", {
            proposal: "minimal"
          }]) && this.state.type === 96 && this.prodParam.hasAwait)
            throw this.raise(Z.UnexpectedAwaitAfterPipelineBody, this.state.startLoc);
          o.right = this.parseExprOpRightExpr(i, a);
          let c = this.finishNode(o, l || u ? "LogicalExpression" : "BinaryExpression"), p = this.state.type;
          if (u && (p === 41 || p === 42) || l && p === 40)
            throw this.raise(Z.MixingCoalesceWithLogical, this.state.startLoc);
          return this.parseExprOp(c, s, r);
        }
      }
      return e;
    }
    parseExprOpRightExpr(e, s) {
      let r = this.state.startLoc;
      switch (e) {
        case 39:
          switch (this.getPluginOption("pipelineOperator", "proposal")) {
            case "hack":
              return this.withTopicBindingContext(() => this.parseHackPipeBody());
            case "fsharp":
              return this.withSoloAwaitPermittingContext(() => this.parseFSharpPipelineBody(s));
          }
          if (this.getPluginOption("pipelineOperator", "proposal") === "smart")
            return this.withTopicBindingContext(() => {
              if (this.prodParam.hasYield && this.isContextual(108))
                throw this.raise(Z.PipeBodyIsTighter, this.state.startLoc);
              return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(e, s), r);
            });
        default:
          return this.parseExprOpBaseRightExpr(e, s);
      }
    }
    parseExprOpBaseRightExpr(e, s) {
      let r = this.state.startLoc;
      return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), r, _it(e) ? s - 1 : s);
    }
    parseHackPipeBody() {
      var e;
      let {
        startLoc: s
      } = this.state, r = this.parseMaybeAssign();
      return dit.has(r.type) && !((e = r.extra) != null && e.parenthesized) && this.raise(Z.PipeUnparenthesizedBody, s, {
        type: r.type
      }), this.topicReferenceWasUsedInCurrentContext() || this.raise(Z.PipeTopicUnused, s), r;
    }
    checkExponentialAfterUnary(e) {
      this.match(57) && this.raise(Z.UnexpectedTokenUnaryExponentiation, e.argument);
    }
    parseMaybeUnary(e, s) {
      let r = this.state.startLoc, i = this.isContextual(96);
      if (i && this.recordAwaitIfAllowed()) {
        this.next();
        let u = this.parseAwait(r);
        return s || this.checkExponentialAfterUnary(u), u;
      }
      let a = this.match(34), o = this.startNode();
      if (kit(this.state.type)) {
        o.operator = this.state.value, o.prefix = !0, this.match(72) && this.expectPlugin("throwExpressions");
        let u = this.match(89);
        if (this.next(), o.argument = this.parseMaybeUnary(null, !0), this.checkExpressionErrors(e, !0), this.state.strict && u) {
          let c = o.argument;
          c.type === "Identifier" ? this.raise(Z.StrictDelete, o) : this.hasPropertyAsPrivateName(c) && this.raise(Z.DeletePrivateField, o);
        }
        if (!a)
          return s || this.checkExponentialAfterUnary(o), this.finishNode(o, "UnaryExpression");
      }
      let l = this.parseUpdate(o, a, e);
      if (i) {
        let {
          type: u
        } = this.state;
        if ((this.hasPlugin("v8intrinsic") ? DO(u) : DO(u) && !this.match(54)) && !this.isAmbiguousAwait())
          return this.raiseOverwrite(Z.AwaitNotInAsyncContext, r), this.parseAwait(r);
      }
      return l;
    }
    parseUpdate(e, s, r) {
      if (s) {
        let o = e;
        return this.checkLVal(o.argument, this.finishNode(o, "UpdateExpression")), e;
      }
      let i = this.state.startLoc, a = this.parseExprSubscripts(r);
      if (this.checkExpressionErrors(r, !1)) return a;
      for (; Nit(this.state.type) && !this.canInsertSemicolon(); ) {
        let o = this.startNodeAt(i);
        o.operator = this.state.value, o.prefix = !1, o.argument = a, this.next(), this.checkLVal(a, a = this.finishNode(o, "UpdateExpressio\
n"));
      }
      return a;
    }
    parseExprSubscripts(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseExprAtom(e);
      return this.shouldExitDescending(i, r) ? i : this.parseSubscripts(i, s);
    }
    parseSubscripts(e, s, r) {
      let i = {
        optionalChainMember: !1,
        maybeAsyncArrow: this.atPossibleAsyncArrow(e),
        stop: !1
      };
      do
        e = this.parseSubscript(e, s, r, i), i.maybeAsyncArrow = !1;
      while (!i.stop);
      return e;
    }
    parseSubscript(e, s, r, i) {
      let {
        type: a
      } = this.state;
      if (!r && a === 15)
        return this.parseBind(e, s, r, i);
      if (WS(a))
        return this.parseTaggedTemplateExpression(e, s, i);
      let o = !1;
      if (a === 18) {
        if (r && (this.raise(Z.OptionalChainingNoNew, this.state.startLoc), this.lookaheadCharCode() === 40))
          return i.stop = !0, e;
        i.optionalChainMember = o = !0, this.next();
      }
      if (!r && this.match(10))
        return this.parseCoverCallAndAsyncArrowHead(e, s, i, o);
      {
        let l = this.eat(0);
        return l || o || this.eat(16) ? this.parseMember(e, s, i, l, o) : (i.stop = !0, e);
      }
    }
    parseMember(e, s, r, i, a) {
      let o = this.startNodeAt(s);
      return o.object = e, o.computed = i, i ? (o.property = this.parseExpression(), this.expect(3)) : this.match(139) ? (e.type === "Super" &&
      this.raise(Z.SuperPrivateField, s), this.classScope.usePrivateName(this.state.value, this.state.startLoc), o.property = this.parsePrivateName()) :
      o.property = this.parseIdentifier(!0), r.optionalChainMember ? (o.optional = a, this.finishNode(o, "OptionalMemberExpression")) : this.
      finishNode(o, "MemberExpression");
    }
    parseBind(e, s, r, i) {
      let a = this.startNodeAt(s);
      return a.object = e, this.next(), a.callee = this.parseNoCallExpr(), i.stop = !0, this.parseSubscripts(this.finishNode(a, "BindExpress\
ion"), s, r);
    }
    parseCoverCallAndAsyncArrowHead(e, s, r, i) {
      let a = this.state.maybeInArrowParameters, o = null;
      this.state.maybeInArrowParameters = !0, this.next();
      let l = this.startNodeAt(s);
      l.callee = e;
      let {
        maybeAsyncArrow: u,
        optionalChainMember: c
      } = r;
      u && (this.expressionScope.enter(Zit()), o = new qd()), c && (l.optional = i), i ? l.arguments = this.parseCallExpressionArguments(11) :
      l.arguments = this.parseCallExpressionArguments(11, e.type !== "Super", l, o);
      let p = this.finishCallExpression(l, c);
      return u && this.shouldParseAsyncArrow() && !i ? (r.stop = !0, this.checkDestructuringPrivate(o), this.expressionScope.validateAsPattern(),
      this.expressionScope.exit(), p = this.parseAsyncArrowFromCallExpression(this.startNodeAt(s), p)) : (u && (this.checkExpressionErrors(o,
      !0), this.expressionScope.exit()), this.toReferencedArguments(p)), this.state.maybeInArrowParameters = a, p;
    }
    toReferencedArguments(e, s) {
      this.toReferencedListDeep(e.arguments, s);
    }
    parseTaggedTemplateExpression(e, s, r) {
      let i = this.startNodeAt(s);
      return i.tag = e, i.quasi = this.parseTemplate(!0), r.optionalChainMember && this.raise(Z.OptionalChainingNoTemplate, s), this.finishNode(
      i, "TaggedTemplateExpression");
    }
    atPossibleAsyncArrow(e) {
      return e.type === "Identifier" && e.name === "async" && this.state.lastTokEndLoc.index === e.end && !this.canInsertSemicolon() && e.end -
      e.start === 5 && this.offsetToSourcePos(e.start) === this.state.potentialArrowAt;
    }
    finishCallExpression(e, s) {
      if (e.callee.type === "Import")
        if (e.arguments.length === 0 || e.arguments.length > 2)
          this.raise(Z.ImportCallArity, e);
        else
          for (let r of e.arguments)
            r.type === "SpreadElement" && this.raise(Z.ImportCallSpreadArgument, r);
      return this.finishNode(e, s ? "OptionalCallExpression" : "CallExpression");
    }
    parseCallExpressionArguments(e, s, r, i) {
      let a = [], o = !0, l = this.state.inFSharpPipelineDirectBody;
      for (this.state.inFSharpPipelineDirectBody = !1; !this.eat(e); ) {
        if (o)
          o = !1;
        else if (this.expect(12), this.match(e)) {
          r && this.addTrailingCommaExtraToNode(r), this.next();
          break;
        }
        a.push(this.parseExprListItem(!1, i, s));
      }
      return this.state.inFSharpPipelineDirectBody = l, a;
    }
    shouldParseAsyncArrow() {
      return this.match(19) && !this.canInsertSemicolon();
    }
    parseAsyncArrowFromCallExpression(e, s) {
      var r;
      return this.resetPreviousNodeTrailingComments(s), this.expect(19), this.parseArrowExpression(e, s.arguments, !0, (r = s.extra) == null ?
      void 0 : r.trailingCommaLoc), s.innerComments && Wg(e, s.innerComments), s.callee.trailingComments && Wg(e, s.callee.trailingComments),
      e;
    }
    parseNoCallExpr() {
      let e = this.state.startLoc;
      return this.parseSubscripts(this.parseExprAtom(), e, !0);
    }
    parseExprAtom(e) {
      let s, r = null, {
        type: i
      } = this.state;
      switch (i) {
        case 79:
          return this.parseSuper();
        case 83:
          return s = this.startNode(), this.next(), this.match(16) ? this.parseImportMetaProperty(s) : this.match(10) ? this.optionFlags & 256 ?
          this.parseImportCall(s) : this.finishNode(s, "Import") : (this.raise(Z.UnsupportedImport, this.state.lastTokStartLoc), this.finishNode(
          s, "Import"));
        case 78:
          return s = this.startNode(), this.next(), this.finishNode(s, "ThisExpression");
        case 90:
          return this.parseDo(this.startNode(), !1);
        case 56:
        case 31:
          return this.readRegexp(), this.parseRegExpLiteral(this.state.value);
        case 135:
          return this.parseNumericLiteral(this.state.value);
        case 136:
          return this.parseBigIntLiteral(this.state.value);
        case 134:
          return this.parseStringLiteral(this.state.value);
        case 84:
          return this.parseNullLiteral();
        case 85:
          return this.parseBooleanLiteral(!0);
        case 86:
          return this.parseBooleanLiteral(!1);
        case 10: {
          let a = this.state.potentialArrowAt === this.state.start;
          return this.parseParenAndDistinguishExpression(a);
        }
        case 2:
        case 1:
          return this.parseArrayLike(this.state.type === 2 ? 4 : 3, !1, !0);
        case 0:
          return this.parseArrayLike(3, !0, !1, e);
        case 6:
        case 7:
          return this.parseObjectLike(this.state.type === 6 ? 9 : 8, !1, !0);
        case 5:
          return this.parseObjectLike(8, !1, !1, e);
        case 68:
          return this.parseFunctionOrFunctionSent();
        case 26:
          r = this.parseDecorators();
        case 80:
          return this.parseClass(this.maybeTakeDecorators(r, this.startNode()), !1);
        case 77:
          return this.parseNewOrNewTarget();
        case 25:
        case 24:
          return this.parseTemplate(!1);
        case 15: {
          s = this.startNode(), this.next(), s.object = null;
          let a = s.callee = this.parseNoCallExpr();
          if (a.type === "MemberExpression")
            return this.finishNode(s, "BindExpression");
          throw this.raise(Z.UnsupportedBind, a);
        }
        case 139:
          return this.raise(Z.PrivateInExpectedIn, this.state.startLoc, {
            identifierName: this.state.value
          }), this.parsePrivateName();
        case 33:
          return this.parseTopicReferenceThenEqualsSign(54, "%");
        case 32:
          return this.parseTopicReferenceThenEqualsSign(44, "^");
        case 37:
        case 38:
          return this.parseTopicReference("hack");
        case 44:
        case 54:
        case 27: {
          let a = this.getPluginOption("pipelineOperator", "proposal");
          if (a)
            return this.parseTopicReference(a);
          this.unexpected();
          break;
        }
        case 47: {
          let a = this.input.codePointAt(this.nextTokenStart());
          hu(a) || a === 62 ? this.expectOnePlugin(["jsx", "flow", "typescript"]) : this.unexpected();
          break;
        }
        default:
          if (i === 137)
            return this.parseDecimalLiteral(this.state.value);
          if (zs(i)) {
            if (this.isContextual(127) && this.lookaheadInLineCharCode() === 123)
              return this.parseModuleExpression();
            let a = this.state.potentialArrowAt === this.state.start, o = this.state.containsEsc, l = this.parseIdentifier();
            if (!o && l.name === "async" && !this.canInsertSemicolon()) {
              let {
                type: u
              } = this.state;
              if (u === 68)
                return this.resetPreviousNodeTrailingComments(l), this.next(), this.parseAsyncFunctionExpression(this.startNodeAtNode(l));
              if (zs(u))
                return this.lookaheadCharCode() === 61 ? this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(l)) : l;
              if (u === 90)
                return this.resetPreviousNodeTrailingComments(l), this.parseDo(this.startNodeAtNode(l), !0);
            }
            return a && this.match(19) && !this.canInsertSemicolon() ? (this.next(), this.parseArrowExpression(this.startNodeAtNode(l), [l],
            !1)) : l;
          } else
            this.unexpected();
      }
    }
    parseTopicReferenceThenEqualsSign(e, s) {
      let r = this.getPluginOption("pipelineOperator", "proposal");
      if (r)
        return this.state.type = e, this.state.value = s, this.state.pos--, this.state.end--, this.state.endLoc = vn(this.state.endLoc, -1),
        this.parseTopicReference(r);
      this.unexpected();
    }
    parseTopicReference(e) {
      let s = this.startNode(), r = this.state.startLoc, i = this.state.type;
      return this.next(), this.finishTopicReference(s, r, e, i);
    }
    finishTopicReference(e, s, r, i) {
      if (this.testTopicReferenceConfiguration(r, s, i))
        return r === "hack" ? (this.topicReferenceIsAllowedInCurrentContext() || this.raise(Z.PipeTopicUnbound, s), this.registerTopicReference(),
        this.finishNode(e, "TopicReference")) : (this.topicReferenceIsAllowedInCurrentContext() || this.raise(Z.PrimaryTopicNotAllowed, s), this.
        registerTopicReference(), this.finishNode(e, "PipelinePrimaryTopicReference"));
      throw this.raise(Z.PipeTopicUnconfiguredToken, s, {
        token: Qc(i)
      });
    }
    testTopicReferenceConfiguration(e, s, r) {
      switch (e) {
        case "hack":
          return this.hasPlugin(["pipelineOperator", {
            topicToken: Qc(r)
          }]);
        case "smart":
          return r === 27;
        default:
          throw this.raise(Z.PipeTopicRequiresHackPipes, s);
      }
    }
    parseAsyncArrowUnaryFunction(e) {
      this.prodParam.enter(KS(!0, this.prodParam.hasYield));
      let s = [this.parseIdentifier()];
      return this.prodParam.exit(), this.hasPrecedingLineBreak() && this.raise(Z.LineTerminatorBeforeArrow, this.state.curPosition()), this.
      expect(19), this.parseArrowExpression(e, s, !0);
    }
    parseDo(e, s) {
      this.expectPlugin("doExpressions"), s && this.expectPlugin("asyncDoExpressions"), e.async = s, this.next();
      let r = this.state.labels;
      return this.state.labels = [], s ? (this.prodParam.enter(2), e.body = this.parseBlock(), this.prodParam.exit()) : e.body = this.parseBlock(),
      this.state.labels = r, this.finishNode(e, "DoExpression");
    }
    parseSuper() {
      let e = this.startNode();
      return this.next(), this.match(10) && !this.scope.allowDirectSuper && !(this.optionFlags & 16) ? this.raise(Z.SuperNotAllowed, e) : !this.
      scope.allowSuper && !(this.optionFlags & 16) && this.raise(Z.UnexpectedSuper, e), !this.match(10) && !this.match(0) && !this.match(16) &&
      this.raise(Z.UnsupportedSuper, e), this.finishNode(e, "Super");
    }
    parsePrivateName() {
      let e = this.startNode(), s = this.startNodeAt(vn(this.state.startLoc, 1)), r = this.state.value;
      return this.next(), e.id = this.createIdentifier(s, r), this.finishNode(e, "PrivateName");
    }
    parseFunctionOrFunctionSent() {
      let e = this.startNode();
      if (this.next(), this.prodParam.hasYield && this.match(16)) {
        let s = this.createIdentifier(this.startNodeAtNode(e), "function");
        return this.next(), this.match(103) ? this.expectPlugin("functionSent") : this.hasPlugin("functionSent") || this.unexpected(), this.
        parseMetaProperty(e, s, "sent");
      }
      return this.parseFunction(e);
    }
    parseMetaProperty(e, s, r) {
      e.meta = s;
      let i = this.state.containsEsc;
      return e.property = this.parseIdentifier(!0), (e.property.name !== r || i) && this.raise(Z.UnsupportedMetaProperty, e.property, {
        target: s.name,
        onlyValidPropertyName: r
      }), this.finishNode(e, "MetaProperty");
    }
    parseImportMetaProperty(e) {
      let s = this.createIdentifier(this.startNodeAtNode(e), "import");
      if (this.next(), this.isContextual(101))
        this.inModule || this.raise(Z.ImportMetaOutsideModule, s), this.sawUnambiguousESM = !0;
      else if (this.isContextual(105) || this.isContextual(97)) {
        let r = this.isContextual(105);
        if (this.expectPlugin(r ? "sourcePhaseImports" : "deferredImportEvaluation"), !(this.optionFlags & 256))
          throw this.raise(Z.DynamicImportPhaseRequiresImportExpressions, this.state.startLoc, {
            phase: this.state.value
          });
        return this.next(), e.phase = r ? "source" : "defer", this.parseImportCall(e);
      }
      return this.parseMetaProperty(e, s, "meta");
    }
    parseLiteralAtNode(e, s, r) {
      return this.addExtra(r, "rawValue", e), this.addExtra(r, "raw", this.input.slice(this.offsetToSourcePos(r.start), this.state.end)), r.
      value = e, this.next(), this.finishNode(r, s);
    }
    parseLiteral(e, s) {
      let r = this.startNode();
      return this.parseLiteralAtNode(e, s, r);
    }
    parseStringLiteral(e) {
      return this.parseLiteral(e, "StringLiteral");
    }
    parseNumericLiteral(e) {
      return this.parseLiteral(e, "NumericLiteral");
    }
    parseBigIntLiteral(e) {
      return this.parseLiteral(e, "BigIntLiteral");
    }
    parseDecimalLiteral(e) {
      return this.parseLiteral(e, "DecimalLiteral");
    }
    parseRegExpLiteral(e) {
      let s = this.startNode();
      return this.addExtra(s, "raw", this.input.slice(this.offsetToSourcePos(s.start), this.state.end)), s.pattern = e.pattern, s.flags = e.
      flags, this.next(), this.finishNode(s, "RegExpLiteral");
    }
    parseBooleanLiteral(e) {
      let s = this.startNode();
      return s.value = e, this.next(), this.finishNode(s, "BooleanLiteral");
    }
    parseNullLiteral() {
      let e = this.startNode();
      return this.next(), this.finishNode(e, "NullLiteral");
    }
    parseParenAndDistinguishExpression(e) {
      let s = this.state.startLoc, r;
      this.next(), this.expressionScope.enter(Qit());
      let i = this.state.maybeInArrowParameters, a = this.state.inFSharpPipelineDirectBody;
      this.state.maybeInArrowParameters = !0, this.state.inFSharpPipelineDirectBody = !1;
      let o = this.state.startLoc, l = [], u = new qd(), c = !0, p, h;
      for (; !this.match(11); ) {
        if (c)
          c = !1;
        else if (this.expect(12, u.optionalParametersLoc === null ? null : u.optionalParametersLoc), this.match(11)) {
          h = this.state.startLoc;
          break;
        }
        if (this.match(21)) {
          let m = this.state.startLoc;
          if (p = this.state.startLoc, l.push(this.parseParenItem(this.parseRestBinding(), m)), !this.checkCommaAfterRest(41))
            break;
        } else
          l.push(this.parseMaybeAssignAllowIn(u, this.parseParenItem));
      }
      let f = this.state.lastTokEndLoc;
      this.expect(11), this.state.maybeInArrowParameters = i, this.state.inFSharpPipelineDirectBody = a;
      let d = this.startNodeAt(s);
      return e && this.shouldParseArrow(l) && (d = this.parseArrow(d)) ? (this.checkDestructuringPrivate(u), this.expressionScope.validateAsPattern(),
      this.expressionScope.exit(), this.parseArrowExpression(d, l, !1), d) : (this.expressionScope.exit(), l.length || this.unexpected(this.
      state.lastTokStartLoc), h && this.unexpected(h), p && this.unexpected(p), this.checkExpressionErrors(u, !0), this.toReferencedListDeep(
      l, !0), l.length > 1 ? (r = this.startNodeAt(o), r.expressions = l, this.finishNode(r, "SequenceExpression"), this.resetEndLocation(r,
      f)) : r = l[0], this.wrapParenthesis(s, r));
    }
    wrapParenthesis(e, s) {
      if (!(this.optionFlags & 512))
        return this.addExtra(s, "parenthesized", !0), this.addExtra(s, "parenStart", e.index), this.takeSurroundingComments(s, e.index, this.
        state.lastTokEndLoc.index), s;
      let r = this.startNodeAt(e);
      return r.expression = s, this.finishNode(r, "ParenthesizedExpression");
    }
    shouldParseArrow(e) {
      return !this.canInsertSemicolon();
    }
    parseArrow(e) {
      if (this.eat(19))
        return e;
    }
    parseParenItem(e, s) {
      return e;
    }
    parseNewOrNewTarget() {
      let e = this.startNode();
      if (this.next(), this.match(16)) {
        let s = this.createIdentifier(this.startNodeAtNode(e), "new");
        this.next();
        let r = this.parseMetaProperty(e, s, "target");
        return !this.scope.inNonArrowFunction && !this.scope.inClass && !(this.optionFlags & 4) && this.raise(Z.UnexpectedNewTarget, r), r;
      }
      return this.parseNew(e);
    }
    parseNew(e) {
      if (this.parseNewCallee(e), this.eat(10)) {
        let s = this.parseExprList(11);
        this.toReferencedList(s), e.arguments = s;
      } else
        e.arguments = [];
      return this.finishNode(e, "NewExpression");
    }
    parseNewCallee(e) {
      let s = this.match(83), r = this.parseNoCallExpr();
      e.callee = r, s && (r.type === "Import" || r.type === "ImportExpression") && this.raise(Z.ImportCallNotNewExpression, r);
    }
    parseTemplateElement(e) {
      let {
        start: s,
        startLoc: r,
        end: i,
        value: a
      } = this.state, o = s + 1, l = this.startNodeAt(vn(r, 1));
      a === null && (e || this.raise(Z.InvalidEscapeSequenceTemplate, vn(this.state.firstInvalidTemplateEscapePos, 1)));
      let u = this.match(24), c = u ? -1 : -2, p = i + c;
      l.value = {
        raw: this.input.slice(o, p).replace(/\r\n?/g, `
`),
        cooked: a === null ? null : a.slice(1, c)
      }, l.tail = u, this.next();
      let h = this.finishNode(l, "TemplateElement");
      return this.resetEndLocation(h, vn(this.state.lastTokEndLoc, c)), h;
    }
    parseTemplate(e) {
      let s = this.startNode(), r = this.parseTemplateElement(e), i = [r], a = [];
      for (; !r.tail; )
        a.push(this.parseTemplateSubstitution()), this.readTemplateContinuation(), i.push(r = this.parseTemplateElement(e));
      return s.expressions = a, s.quasis = i, this.finishNode(s, "TemplateLiteral");
    }
    parseTemplateSubstitution() {
      return this.parseExpression();
    }
    parseObjectLike(e, s, r, i) {
      r && this.expectPlugin("recordAndTuple");
      let a = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !1;
      let o = /* @__PURE__ */ Object.create(null), l = !0, u = this.startNode();
      for (u.properties = [], this.next(); !this.match(e); ) {
        if (l)
          l = !1;
        else if (this.expect(12), this.match(e)) {
          this.addTrailingCommaExtraToNode(u);
          break;
        }
        let p;
        s ? p = this.parseBindingProperty() : (p = this.parsePropertyDefinition(i), this.checkProto(p, r, o, i)), r && !this.isObjectProperty(
        p) && p.type !== "SpreadElement" && this.raise(Z.InvalidRecordProperty, p), p.shorthand && this.addExtra(p, "shorthand", !0), u.properties.
        push(p);
      }
      this.next(), this.state.inFSharpPipelineDirectBody = a;
      let c = "ObjectExpression";
      return s ? c = "ObjectPattern" : r && (c = "RecordExpression"), this.finishNode(u, c);
    }
    addTrailingCommaExtraToNode(e) {
      this.addExtra(e, "trailingComma", this.state.lastTokStartLoc.index), this.addExtra(e, "trailingCommaLoc", this.state.lastTokStartLoc, !1);
    }
    maybeAsyncOrAccessorProp(e) {
      return !e.computed && e.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(0) || this.match(55));
    }
    parsePropertyDefinition(e) {
      let s = [];
      if (this.match(26))
        for (this.hasPlugin("decorators") && this.raise(Z.UnsupportedPropertyDecorator, this.state.startLoc); this.match(26); )
          s.push(this.parseDecorator());
      let r = this.startNode(), i = !1, a = !1, o;
      if (this.match(21))
        return s.length && this.unexpected(), this.parseSpread();
      s.length && (r.decorators = s, s = []), r.method = !1, e && (o = this.state.startLoc);
      let l = this.eat(55);
      this.parsePropertyNamePrefixOperator(r);
      let u = this.state.containsEsc;
      if (this.parsePropertyName(r, e), !l && !u && this.maybeAsyncOrAccessorProp(r)) {
        let {
          key: c
        } = r, p = c.name;
        p === "async" && !this.hasPrecedingLineBreak() && (i = !0, this.resetPreviousNodeTrailingComments(c), l = this.eat(55), this.parsePropertyName(
        r)), (p === "get" || p === "set") && (a = !0, this.resetPreviousNodeTrailingComments(c), r.kind = p, this.match(55) && (l = !0, this.
        raise(Z.AccessorIsGenerator, this.state.curPosition(), {
          kind: p
        }), this.next()), this.parsePropertyName(r));
      }
      return this.parseObjPropValue(r, o, l, i, !1, a, e);
    }
    getGetterSetterExpectedParamCount(e) {
      return e.kind === "get" ? 0 : 1;
    }
    getObjectOrClassMethodParams(e) {
      return e.params;
    }
    checkGetterSetterParams(e) {
      var s;
      let r = this.getGetterSetterExpectedParamCount(e), i = this.getObjectOrClassMethodParams(e);
      i.length !== r && this.raise(e.kind === "get" ? Z.BadGetterArity : Z.BadSetterArity, e), e.kind === "set" && ((s = i[i.length - 1]) ==
      null ? void 0 : s.type) === "RestElement" && this.raise(Z.BadSetterRestParameter, e);
    }
    parseObjectMethod(e, s, r, i, a) {
      if (a) {
        let o = this.parseMethod(e, s, !1, !1, !1, "ObjectMethod");
        return this.checkGetterSetterParams(o), o;
      }
      if (r || s || this.match(10))
        return i && this.unexpected(), e.kind = "method", e.method = !0, this.parseMethod(e, s, r, !1, !1, "ObjectMethod");
    }
    parseObjectProperty(e, s, r, i) {
      if (e.shorthand = !1, this.eat(14))
        return e.value = r ? this.parseMaybeDefault(this.state.startLoc) : this.parseMaybeAssignAllowIn(i), this.finishNode(e, "ObjectProper\
ty");
      if (!e.computed && e.key.type === "Identifier") {
        if (this.checkReservedWord(e.key.name, e.key.loc.start, !0, !1), r)
          e.value = this.parseMaybeDefault(s, du(e.key));
        else if (this.match(29)) {
          let a = this.state.startLoc;
          i != null ? i.shorthandAssignLoc === null && (i.shorthandAssignLoc = a) : this.raise(Z.InvalidCoverInitializedName, a), e.value = this.
          parseMaybeDefault(s, du(e.key));
        } else
          e.value = du(e.key);
        return e.shorthand = !0, this.finishNode(e, "ObjectProperty");
      }
    }
    parseObjPropValue(e, s, r, i, a, o, l) {
      let u = this.parseObjectMethod(e, r, i, a, o) || this.parseObjectProperty(e, s, a, l);
      return u || this.unexpected(), u;
    }
    parsePropertyName(e, s) {
      if (this.eat(0))
        e.computed = !0, e.key = this.parseMaybeAssignAllowIn(), this.expect(3);
      else {
        let {
          type: r,
          value: i
        } = this.state, a;
        if (Po(r))
          a = this.parseIdentifier(!0);
        else
          switch (r) {
            case 135:
              a = this.parseNumericLiteral(i);
              break;
            case 134:
              a = this.parseStringLiteral(i);
              break;
            case 136:
              a = this.parseBigIntLiteral(i);
              break;
            case 139: {
              let o = this.state.startLoc;
              s != null ? s.privateKeyLoc === null && (s.privateKeyLoc = o) : this.raise(Z.UnexpectedPrivateField, o), a = this.parsePrivateName();
              break;
            }
            default:
              if (r === 137) {
                a = this.parseDecimalLiteral(i);
                break;
              }
              this.unexpected();
          }
        e.key = a, r !== 139 && (e.computed = !1);
      }
    }
    initFunction(e, s) {
      e.id = null, e.generator = !1, e.async = s;
    }
    parseMethod(e, s, r, i, a, o, l = !1) {
      this.initFunction(e, r), e.generator = s, this.scope.enter(18 | (l ? 64 : 0) | (a ? 32 : 0)), this.prodParam.enter(KS(r, e.generator)),
      this.parseFunctionParams(e, i);
      let u = this.parseFunctionBodyAndFinish(e, o, !0);
      return this.prodParam.exit(), this.scope.exit(), u;
    }
    parseArrayLike(e, s, r, i) {
      r && this.expectPlugin("recordAndTuple");
      let a = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !1;
      let o = this.startNode();
      return this.next(), o.elements = this.parseExprList(e, !r, i, o), this.state.inFSharpPipelineDirectBody = a, this.finishNode(o, r ? "T\
upleExpression" : "ArrayExpression");
    }
    parseArrowExpression(e, s, r, i) {
      this.scope.enter(6);
      let a = KS(r, !1);
      !this.match(5) && this.prodParam.hasIn && (a |= 8), this.prodParam.enter(a), this.initFunction(e, r);
      let o = this.state.maybeInArrowParameters;
      return s && (this.state.maybeInArrowParameters = !0, this.setArrowFunctionParameters(e, s, i)), this.state.maybeInArrowParameters = !1,
      this.parseFunctionBody(e, !0), this.prodParam.exit(), this.scope.exit(), this.state.maybeInArrowParameters = o, this.finishNode(e, "Ar\
rowFunctionExpression");
    }
    setArrowFunctionParameters(e, s, r) {
      this.toAssignableList(s, r, !1), e.params = s;
    }
    parseFunctionBodyAndFinish(e, s, r = !1) {
      return this.parseFunctionBody(e, !1, r), this.finishNode(e, s);
    }
    parseFunctionBody(e, s, r = !1) {
      let i = s && !this.match(5);
      if (this.expressionScope.enter(SX()), i)
        e.body = this.parseMaybeAssign(), this.checkParams(e, !1, s, !1);
      else {
        let a = this.state.strict, o = this.state.labels;
        this.state.labels = [], this.prodParam.enter(this.prodParam.currentFlags() | 4), e.body = this.parseBlock(!0, !1, (l) => {
          let u = !this.isSimpleParamList(e.params);
          l && u && this.raise(Z.IllegalLanguageModeDirective, (e.kind === "method" || e.kind === "constructor") && e.key ? e.key.loc.end : e);
          let c = !a && this.state.strict;
          this.checkParams(e, !this.state.strict && !s && !r && !u, s, c), this.state.strict && e.id && this.checkIdentifier(e.id, 65, c);
        }), this.prodParam.exit(), this.state.labels = o;
      }
      this.expressionScope.exit();
    }
    isSimpleParameter(e) {
      return e.type === "Identifier";
    }
    isSimpleParamList(e) {
      for (let s = 0, r = e.length; s < r; s++)
        if (!this.isSimpleParameter(e[s])) return !1;
      return !0;
    }
    checkParams(e, s, r, i = !0) {
      let a = !s && /* @__PURE__ */ new Set(), o = {
        type: "FormalParameters"
      };
      for (let l of e.params)
        this.checkLVal(l, o, 5, a, i);
    }
    parseExprList(e, s, r, i) {
      let a = [], o = !0;
      for (; !this.eat(e); ) {
        if (o)
          o = !1;
        else if (this.expect(12), this.match(e)) {
          i && this.addTrailingCommaExtraToNode(i), this.next();
          break;
        }
        a.push(this.parseExprListItem(s, r));
      }
      return a;
    }
    parseExprListItem(e, s, r) {
      let i;
      if (this.match(12))
        e || this.raise(Z.UnexpectedToken, this.state.curPosition(), {
          unexpected: ","
        }), i = null;
      else if (this.match(21)) {
        let a = this.state.startLoc;
        i = this.parseParenItem(this.parseSpread(s), a);
      } else if (this.match(17)) {
        this.expectPlugin("partialApplication"), r || this.raise(Z.UnexpectedArgumentPlaceholder, this.state.startLoc);
        let a = this.startNode();
        this.next(), i = this.finishNode(a, "ArgumentPlaceholder");
      } else
        i = this.parseMaybeAssignAllowIn(s, this.parseParenItem);
      return i;
    }
    parseIdentifier(e) {
      let s = this.startNode(), r = this.parseIdentifierName(e);
      return this.createIdentifier(s, r);
    }
    createIdentifier(e, s) {
      return e.name = s, e.loc.identifierName = s, this.finishNode(e, "Identifier");
    }
    parseIdentifierName(e) {
      let s, {
        startLoc: r,
        type: i
      } = this.state;
      Po(i) ? s = this.state.value : this.unexpected();
      let a = Ait(i);
      return e ? a && this.replaceToken(132) : this.checkReservedWord(s, r, a, !1), this.next(), s;
    }
    checkReservedWord(e, s, r, i) {
      if (e.length > 10 || !Vit(e))
        return;
      if (r && qit(e)) {
        this.raise(Z.UnexpectedKeyword, s, {
          keyword: e
        });
        return;
      }
      if ((this.state.strict ? i ? gX : mX : dX)(e, this.inModule)) {
        this.raise(Z.UnexpectedReservedWord, s, {
          reservedWord: e
        });
        return;
      } else if (e === "yield") {
        if (this.prodParam.hasYield) {
          this.raise(Z.YieldBindingIdentifier, s);
          return;
        }
      } else if (e === "await") {
        if (this.prodParam.hasAwait) {
          this.raise(Z.AwaitBindingIdentifier, s);
          return;
        }
        if (this.scope.inStaticBlock) {
          this.raise(Z.AwaitBindingIdentifierInStaticBlock, s);
          return;
        }
        this.expressionScope.recordAsyncArrowParametersError(s);
      } else if (e === "arguments" && this.scope.inClassAndNotInNonArrowFunction) {
        this.raise(Z.ArgumentsInClass, s);
        return;
      }
    }
    recordAwaitIfAllowed() {
      let e = this.prodParam.hasAwait || this.optionFlags & 1 && !this.scope.inFunction;
      return e && !this.scope.inFunction && (this.state.hasTopLevelAwait = !0), e;
    }
    parseAwait(e) {
      let s = this.startNodeAt(e);
      return this.expressionScope.recordParameterInitializerError(Z.AwaitExpressionFormalParameter, s), this.eat(55) && this.raise(Z.ObsoleteAwaitStar,
      s), !this.scope.inFunction && !(this.optionFlags & 1) && (this.isAmbiguousAwait() ? this.ambiguousScriptDifferentAst = !0 : this.sawUnambiguousESM =
      !0), this.state.soloAwait || (s.argument = this.parseMaybeUnary(null, !0)), this.finishNode(s, "AwaitExpression");
    }
    isAmbiguousAwait() {
      if (this.hasPrecedingLineBreak()) return !0;
      let {
        type: e
      } = this.state;
      return e === 53 || e === 10 || e === 0 || WS(e) || e === 102 && !this.state.containsEsc || e === 138 || e === 56 || this.hasPlugin("v8\
intrinsic") && e === 54;
    }
    parseYield() {
      let e = this.startNode();
      this.expressionScope.recordParameterInitializerError(Z.YieldInParameter, e), this.next();
      let s = !1, r = null;
      if (!this.hasPrecedingLineBreak())
        switch (s = this.eat(55), this.state.type) {
          case 13:
          case 140:
          case 8:
          case 11:
          case 3:
          case 9:
          case 14:
          case 12:
            if (!s) break;
          default:
            r = this.parseMaybeAssign();
        }
      return e.delegate = s, e.argument = r, this.finishNode(e, "YieldExpression");
    }
    parseImportCall(e) {
      if (this.next(), e.source = this.parseMaybeAssignAllowIn(), e.options = null, this.eat(12) && !this.match(11) && (e.options = this.parseMaybeAssignAllowIn(),
      this.eat(12) && !this.match(11))) {
        do
          this.parseMaybeAssignAllowIn();
        while (this.eat(12) && !this.match(11));
        this.raise(Z.ImportCallArity, e);
      }
      return this.expect(11), this.finishNode(e, "ImportExpression");
    }
    checkPipelineAtInfixOperator(e, s) {
      this.hasPlugin(["pipelineOperator", {
        proposal: "smart"
      }]) && e.type === "SequenceExpression" && this.raise(Z.PipelineHeadSequenceExpression, s);
    }
    parseSmartPipelineBodyInStyle(e, s) {
      if (this.isSimpleReference(e)) {
        let r = this.startNodeAt(s);
        return r.callee = e, this.finishNode(r, "PipelineBareFunction");
      } else {
        let r = this.startNodeAt(s);
        return this.checkSmartPipeTopicBodyEarlyErrors(s), r.expression = e, this.finishNode(r, "PipelineTopicExpression");
      }
    }
    isSimpleReference(e) {
      switch (e.type) {
        case "MemberExpression":
          return !e.computed && this.isSimpleReference(e.object);
        case "Identifier":
          return !0;
        default:
          return !1;
      }
    }
    checkSmartPipeTopicBodyEarlyErrors(e) {
      if (this.match(19))
        throw this.raise(Z.PipelineBodyNoArrow, this.state.startLoc);
      this.topicReferenceWasUsedInCurrentContext() || this.raise(Z.PipelineTopicUnused, e);
    }
    withTopicBindingContext(e) {
      let s = this.state.topicContext;
      this.state.topicContext = {
        maxNumOfResolvableTopics: 1,
        maxTopicIndex: null
      };
      try {
        return e();
      } finally {
        this.state.topicContext = s;
      }
    }
    withSmartMixTopicForbiddingContext(e) {
      if (this.hasPlugin(["pipelineOperator", {
        proposal: "smart"
      }])) {
        let s = this.state.topicContext;
        this.state.topicContext = {
          maxNumOfResolvableTopics: 0,
          maxTopicIndex: null
        };
        try {
          return e();
        } finally {
          this.state.topicContext = s;
        }
      } else
        return e();
    }
    withSoloAwaitPermittingContext(e) {
      let s = this.state.soloAwait;
      this.state.soloAwait = !0;
      try {
        return e();
      } finally {
        this.state.soloAwait = s;
      }
    }
    allowInAnd(e) {
      let s = this.prodParam.currentFlags();
      if (8 & ~s) {
        this.prodParam.enter(s | 8);
        try {
          return e();
        } finally {
          this.prodParam.exit();
        }
      }
      return e();
    }
    disallowInAnd(e) {
      let s = this.prodParam.currentFlags();
      if (8 & s) {
        this.prodParam.enter(s & -9);
        try {
          return e();
        } finally {
          this.prodParam.exit();
        }
      }
      return e();
    }
    registerTopicReference() {
      this.state.topicContext.maxTopicIndex = 0;
    }
    topicReferenceIsAllowedInCurrentContext() {
      return this.state.topicContext.maxNumOfResolvableTopics >= 1;
    }
    topicReferenceWasUsedInCurrentContext() {
      return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0;
    }
    parseFSharpPipelineBody(e) {
      let s = this.state.startLoc;
      this.state.potentialArrowAt = this.state.start;
      let r = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !0;
      let i = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), s, e);
      return this.state.inFSharpPipelineDirectBody = r, i;
    }
    parseModuleExpression() {
      this.expectPlugin("moduleBlocks");
      let e = this.startNode();
      this.next(), this.match(5) || this.unexpected(null, 5);
      let s = this.startNodeAt(this.state.endLoc);
      this.next();
      let r = this.initializeScopes(!0);
      this.enterInitialScopes();
      try {
        e.body = this.parseProgram(s, 8, "module");
      } finally {
        r();
      }
      return this.finishNode(e, "ModuleExpression");
    }
    parsePropertyNamePrefixOperator(e) {
    }
  }, NO = {
    kind: 1
  }, Snt = {
    kind: 2
  }, Pnt = /[\uD800-\uDFFF]/u, kO = /in(?:stanceof)?/y;
  function Ent(t, e, s) {
    for (let r = 0; r < t.length; r++) {
      let i = t[r], {
        type: a
      } = i;
      if (typeof a == "number") {
        {
          if (a === 139) {
            let {
              loc: o,
              start: l,
              value: u,
              end: c
            } = i, p = l + 1, h = vn(o.start, 1);
            t.splice(r, 1, new ll({
              type: cu(27),
              value: "#",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            }), new ll({
              type: cu(132),
              value: u,
              start: p,
              end: c,
              startLoc: h,
              endLoc: o.end
            })), r++;
            continue;
          }
          if (WS(a)) {
            let {
              loc: o,
              start: l,
              value: u,
              end: c
            } = i, p = l + 1, h = vn(o.start, 1), f;
            e.charCodeAt(l - s) === 96 ? f = new ll({
              type: cu(22),
              value: "`",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            }) : f = new ll({
              type: cu(8),
              value: "}",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            });
            let d, m, y, T;
            a === 24 ? (m = c - 1, y = vn(o.end, -1), d = u === null ? null : u.slice(1, -1), T = new ll({
              type: cu(22),
              value: "`",
              start: m,
              end: c,
              startLoc: y,
              endLoc: o.end
            })) : (m = c - 2, y = vn(o.end, -2), d = u === null ? null : u.slice(1, -2), T = new ll({
              type: cu(23),
              value: "${",
              start: m,
              end: c,
              startLoc: y,
              endLoc: o.end
            })), t.splice(r, 1, f, new ll({
              type: cu(20),
              value: d,
              start: p,
              end: m,
              startLoc: h,
              endLoc: y
            }), T), r += 2;
            continue;
          }
        }
        i.type = cu(a);
      }
    }
    return t;
  }
  n(Ent, "babel7CompatTokens");
  var zO = class extends XO {
    static {
      n(this, "StatementParser");
    }
    parseTopLevel(e, s) {
      return e.program = this.parseProgram(s), e.comments = this.comments, this.optionFlags & 128 && (e.tokens = Ent(this.tokens, this.input,
      this.startIndex)), this.finishNode(e, "File");
    }
    parseProgram(e, s = 140, r = this.options.sourceType) {
      if (e.sourceType = r, e.interpreter = this.parseInterpreterDirective(), this.parseBlockBody(e, !0, !0, s), this.inModule) {
        if (!(this.optionFlags & 32) && this.scope.undefinedExports.size > 0)
          for (let [a, o] of Array.from(this.scope.undefinedExports))
            this.raise(Z.ModuleExportUndefined, o, {
              localName: a
            });
        this.addExtra(e, "topLevelAwait", this.state.hasTopLevelAwait);
      }
      let i;
      return s === 140 ? i = this.finishNode(e, "Program") : i = this.finishNodeAt(e, "Program", vn(this.state.startLoc, -1)), i;
    }
    stmtToDirective(e) {
      let s = e;
      s.type = "Directive", s.value = s.expression, delete s.expression;
      let r = s.value, i = r.value, a = this.input.slice(this.offsetToSourcePos(r.start), this.offsetToSourcePos(r.end)), o = r.value = a.slice(
      1, -1);
      return this.addExtra(r, "raw", a), this.addExtra(r, "rawValue", o), this.addExtra(r, "expressionValue", i), r.type = "DirectiveLiteral",
      s;
    }
    parseInterpreterDirective() {
      if (!this.match(28))
        return null;
      let e = this.startNode();
      return e.value = this.state.value, this.next(), this.finishNode(e, "InterpreterDirective");
    }
    isLet() {
      return this.isContextual(100) ? this.hasFollowingBindingAtom() : !1;
    }
    chStartsBindingIdentifier(e, s) {
      if (hu(e)) {
        if (kO.lastIndex = s, kO.test(this.input)) {
          let r = this.codePointAtPos(kO.lastIndex);
          if (!jd(r) && r !== 92)
            return !1;
        }
        return !0;
      } else return e === 92;
    }
    chStartsBindingPattern(e) {
      return e === 91 || e === 123;
    }
    hasFollowingBindingAtom() {
      let e = this.nextTokenStart(), s = this.codePointAtPos(e);
      return this.chStartsBindingPattern(s) || this.chStartsBindingIdentifier(s, e);
    }
    hasInLineFollowingBindingIdentifierOrBrace() {
      let e = this.nextTokenInLineStart(), s = this.codePointAtPos(e);
      return s === 123 || this.chStartsBindingIdentifier(s, e);
    }
    startsUsingForOf() {
      let {
        type: e,
        containsEsc: s
      } = this.lookahead();
      if (e === 102 && !s)
        return !1;
      if (zs(e) && !this.hasFollowingLineBreak())
        return this.expectPlugin("explicitResourceManagement"), !0;
    }
    startsAwaitUsing() {
      let e = this.nextTokenInLineStart();
      if (this.isUnparsedContextual(e, "using")) {
        e = this.nextTokenInLineStartSince(e + 5);
        let s = this.codePointAtPos(e);
        if (this.chStartsBindingIdentifier(s, e))
          return this.expectPlugin("explicitResourceManagement"), !0;
      }
      return !1;
    }
    parseModuleItem() {
      return this.parseStatementLike(15);
    }
    parseStatementListItem() {
      return this.parseStatementLike(6 | (!this.options.annexB || this.state.strict ? 0 : 8));
    }
    parseStatementOrSloppyAnnexBFunctionDeclaration(e = !1) {
      let s = 0;
      return this.options.annexB && !this.state.strict && (s |= 4, e && (s |= 8)), this.parseStatementLike(s);
    }
    parseStatement() {
      return this.parseStatementLike(0);
    }
    parseStatementLike(e) {
      let s = null;
      return this.match(26) && (s = this.parseDecorators(!0)), this.parseStatementContent(e, s);
    }
    parseStatementContent(e, s) {
      let r = this.state.type, i = this.startNode(), a = !!(e & 2), o = !!(e & 4), l = e & 1;
      switch (r) {
        case 60:
          return this.parseBreakContinueStatement(i, !0);
        case 63:
          return this.parseBreakContinueStatement(i, !1);
        case 64:
          return this.parseDebuggerStatement(i);
        case 90:
          return this.parseDoWhileStatement(i);
        case 91:
          return this.parseForStatement(i);
        case 68:
          if (this.lookaheadCharCode() === 46) break;
          return o || this.raise(this.state.strict ? Z.StrictFunction : this.options.annexB ? Z.SloppyFunctionAnnexB : Z.SloppyFunction, this.
          state.startLoc), this.parseFunctionStatement(i, !1, !a && o);
        case 80:
          return a || this.unexpected(), this.parseClass(this.maybeTakeDecorators(s, i), !0);
        case 69:
          return this.parseIfStatement(i);
        case 70:
          return this.parseReturnStatement(i);
        case 71:
          return this.parseSwitchStatement(i);
        case 72:
          return this.parseThrowStatement(i);
        case 73:
          return this.parseTryStatement(i);
        case 96:
          if (!this.state.containsEsc && this.startsAwaitUsing())
            return this.recordAwaitIfAllowed() ? a || this.raise(Z.UnexpectedLexicalDeclaration, i) : this.raise(Z.AwaitUsingNotInAsyncContext,
            i), this.next(), this.parseVarStatement(i, "await using");
          break;
        case 107:
          if (this.state.containsEsc || !this.hasInLineFollowingBindingIdentifierOrBrace())
            break;
          return this.expectPlugin("explicitResourceManagement"), !this.scope.inModule && this.scope.inTopLevel ? this.raise(Z.UnexpectedUsingDeclaration,
          this.state.startLoc) : a || this.raise(Z.UnexpectedLexicalDeclaration, this.state.startLoc), this.parseVarStatement(i, "using");
        case 100: {
          if (this.state.containsEsc)
            break;
          let p = this.nextTokenStart(), h = this.codePointAtPos(p);
          if (h !== 91 && (!a && this.hasFollowingLineBreak() || !this.chStartsBindingIdentifier(h, p) && h !== 123))
            break;
        }
        case 75:
          a || this.raise(Z.UnexpectedLexicalDeclaration, this.state.startLoc);
        case 74: {
          let p = this.state.value;
          return this.parseVarStatement(i, p);
        }
        case 92:
          return this.parseWhileStatement(i);
        case 76:
          return this.parseWithStatement(i);
        case 5:
          return this.parseBlock();
        case 13:
          return this.parseEmptyStatement(i);
        case 83: {
          let p = this.lookaheadCharCode();
          if (p === 40 || p === 46)
            break;
        }
        case 82: {
          !(this.optionFlags & 8) && !l && this.raise(Z.UnexpectedImportExport, this.state.startLoc), this.next();
          let p;
          return r === 83 ? (p = this.parseImport(i), p.type === "ImportDeclaration" && (!p.importKind || p.importKind === "value") && (this.
          sawUnambiguousESM = !0)) : (p = this.parseExport(i, s), (p.type === "ExportNamedDeclaration" && (!p.exportKind || p.exportKind ===
          "value") || p.type === "ExportAllDeclaration" && (!p.exportKind || p.exportKind === "value") || p.type === "ExportDefaultDeclarati\
on") && (this.sawUnambiguousESM = !0)), this.assertModuleNodeAllowed(p), p;
        }
        default:
          if (this.isAsyncFunction())
            return a || this.raise(Z.AsyncFunctionInSingleStatementContext, this.state.startLoc), this.next(), this.parseFunctionStatement(i,
            !0, !a && o);
      }
      let u = this.state.value, c = this.parseExpression();
      return zs(r) && c.type === "Identifier" && this.eat(14) ? this.parseLabeledStatement(i, u, c, e) : this.parseExpressionStatement(i, c,
      s);
    }
    assertModuleNodeAllowed(e) {
      !(this.optionFlags & 8) && !this.inModule && this.raise(Z.ImportOutsideModule, e);
    }
    decoratorsEnabledBeforeExport() {
      return this.hasPlugin("decorators-legacy") ? !0 : this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBefore\
Export") !== !1;
    }
    maybeTakeDecorators(e, s, r) {
      if (e) {
        var i;
        (i = s.decorators) != null && i.length ? (typeof this.getPluginOption("decorators", "decoratorsBeforeExport") != "boolean" && this.raise(
        Z.DecoratorsBeforeAfterExport, s.decorators[0]), s.decorators.unshift(...e)) : s.decorators = e, this.resetStartLocationFromNode(s, e[0]),
        r && this.resetStartLocationFromNode(r, s);
      }
      return s;
    }
    canHaveLeadingDecorator() {
      return this.match(80);
    }
    parseDecorators(e) {
      let s = [];
      do
        s.push(this.parseDecorator());
      while (this.match(26));
      if (this.match(82))
        e || this.unexpected(), this.decoratorsEnabledBeforeExport() || this.raise(Z.DecoratorExportClass, this.state.startLoc);
      else if (!this.canHaveLeadingDecorator())
        throw this.raise(Z.UnexpectedLeadingDecorator, this.state.startLoc);
      return s;
    }
    parseDecorator() {
      this.expectOnePlugin(["decorators", "decorators-legacy"]);
      let e = this.startNode();
      if (this.next(), this.hasPlugin("decorators")) {
        let s = this.state.startLoc, r;
        if (this.match(10)) {
          let i = this.state.startLoc;
          this.next(), r = this.parseExpression(), this.expect(11), r = this.wrapParenthesis(i, r);
          let a = this.state.startLoc;
          e.expression = this.parseMaybeDecoratorArguments(r, i), this.getPluginOption("decorators", "allowCallParenthesized") === !1 && e.expression !==
          r && this.raise(Z.DecoratorArgumentsOutsideParentheses, a);
        } else {
          for (r = this.parseIdentifier(!1); this.eat(16); ) {
            let i = this.startNodeAt(s);
            i.object = r, this.match(139) ? (this.classScope.usePrivateName(this.state.value, this.state.startLoc), i.property = this.parsePrivateName()) :
            i.property = this.parseIdentifier(!0), i.computed = !1, r = this.finishNode(i, "MemberExpression");
          }
          e.expression = this.parseMaybeDecoratorArguments(r, s);
        }
      } else
        e.expression = this.parseExprSubscripts();
      return this.finishNode(e, "Decorator");
    }
    parseMaybeDecoratorArguments(e, s) {
      if (this.eat(10)) {
        let r = this.startNodeAt(s);
        return r.callee = e, r.arguments = this.parseCallExpressionArguments(11), this.toReferencedList(r.arguments), this.finishNode(r, "Ca\
llExpression");
      }
      return e;
    }
    parseBreakContinueStatement(e, s) {
      return this.next(), this.isLineTerminator() ? e.label = null : (e.label = this.parseIdentifier(), this.semicolon()), this.verifyBreakContinue(
      e, s), this.finishNode(e, s ? "BreakStatement" : "ContinueStatement");
    }
    verifyBreakContinue(e, s) {
      let r;
      for (r = 0; r < this.state.labels.length; ++r) {
        let i = this.state.labels[r];
        if ((e.label == null || i.name === e.label.name) && (i.kind != null && (s || i.kind === 1) || e.label && s))
          break;
      }
      if (r === this.state.labels.length) {
        let i = s ? "BreakStatement" : "ContinueStatement";
        this.raise(Z.IllegalBreakContinue, e, {
          type: i
        });
      }
    }
    parseDebuggerStatement(e) {
      return this.next(), this.semicolon(), this.finishNode(e, "DebuggerStatement");
    }
    parseHeaderExpression() {
      this.expect(10);
      let e = this.parseExpression();
      return this.expect(11), e;
    }
    parseDoWhileStatement(e) {
      return this.next(), this.state.labels.push(NO), e.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.state.
      labels.pop(), this.expect(92), e.test = this.parseHeaderExpression(), this.eat(13), this.finishNode(e, "DoWhileStatement");
    }
    parseForStatement(e) {
      this.next(), this.state.labels.push(NO);
      let s = null;
      if (this.isContextual(96) && this.recordAwaitIfAllowed() && (s = this.state.startLoc, this.next()), this.scope.enter(0), this.expect(10),
      this.match(13))
        return s !== null && this.unexpected(s), this.parseFor(e, null);
      let r = this.isContextual(100);
      {
        let u = this.isContextual(96) && this.startsAwaitUsing(), c = u || this.isContextual(107) && this.startsUsingForOf(), p = r && this.
        hasFollowingBindingAtom() || c;
        if (this.match(74) || this.match(75) || p) {
          let h = this.startNode(), f;
          u ? (f = "await using", this.recordAwaitIfAllowed() || this.raise(Z.AwaitUsingNotInAsyncContext, this.state.startLoc), this.next()) :
          f = this.state.value, this.next(), this.parseVar(h, !0, f);
          let d = this.finishNode(h, "VariableDeclaration"), m = this.match(58);
          return m && c && this.raise(Z.ForInUsing, d), (m || this.isContextual(102)) && d.declarations.length === 1 ? this.parseForIn(e, d,
          s) : (s !== null && this.unexpected(s), this.parseFor(e, d));
        }
      }
      let i = this.isContextual(95), a = new qd(), o = this.parseExpression(!0, a), l = this.isContextual(102);
      if (l && (r && this.raise(Z.ForOfLet, o), s === null && i && o.type === "Identifier" && this.raise(Z.ForOfAsync, o)), l || this.match(
      58)) {
        this.checkDestructuringPrivate(a), this.toAssignable(o, !0);
        let u = l ? "ForOfStatement" : "ForInStatement";
        return this.checkLVal(o, {
          type: u
        }), this.parseForIn(e, o, s);
      } else
        this.checkExpressionErrors(a, !0);
      return s !== null && this.unexpected(s), this.parseFor(e, o);
    }
    parseFunctionStatement(e, s, r) {
      return this.next(), this.parseFunction(e, 1 | (r ? 2 : 0) | (s ? 8 : 0));
    }
    parseIfStatement(e) {
      return this.next(), e.test = this.parseHeaderExpression(), e.consequent = this.parseStatementOrSloppyAnnexBFunctionDeclaration(), e.alternate =
      this.eat(66) ? this.parseStatementOrSloppyAnnexBFunctionDeclaration() : null, this.finishNode(e, "IfStatement");
    }
    parseReturnStatement(e) {
      return !this.prodParam.hasReturn && !(this.optionFlags & 2) && this.raise(Z.IllegalReturn, this.state.startLoc), this.next(), this.isLineTerminator() ?
      e.argument = null : (e.argument = this.parseExpression(), this.semicolon()), this.finishNode(e, "ReturnStatement");
    }
    parseSwitchStatement(e) {
      this.next(), e.discriminant = this.parseHeaderExpression();
      let s = e.cases = [];
      this.expect(5), this.state.labels.push(Snt), this.scope.enter(0);
      let r;
      for (let i; !this.match(8); )
        if (this.match(61) || this.match(65)) {
          let a = this.match(61);
          r && this.finishNode(r, "SwitchCase"), s.push(r = this.startNode()), r.consequent = [], this.next(), a ? r.test = this.parseExpression() :
          (i && this.raise(Z.MultipleDefaultsInSwitch, this.state.lastTokStartLoc), i = !0, r.test = null), this.expect(14);
        } else
          r ? r.consequent.push(this.parseStatementListItem()) : this.unexpected();
      return this.scope.exit(), r && this.finishNode(r, "SwitchCase"), this.next(), this.state.labels.pop(), this.finishNode(e, "SwitchState\
ment");
    }
    parseThrowStatement(e) {
      return this.next(), this.hasPrecedingLineBreak() && this.raise(Z.NewlineAfterThrow, this.state.lastTokEndLoc), e.argument = this.parseExpression(),
      this.semicolon(), this.finishNode(e, "ThrowStatement");
    }
    parseCatchClauseParam() {
      let e = this.parseBindingAtom();
      return this.scope.enter(this.options.annexB && e.type === "Identifier" ? 8 : 0), this.checkLVal(e, {
        type: "CatchClause"
      }, 9), e;
    }
    parseTryStatement(e) {
      if (this.next(), e.block = this.parseBlock(), e.handler = null, this.match(62)) {
        let s = this.startNode();
        this.next(), this.match(10) ? (this.expect(10), s.param = this.parseCatchClauseParam(), this.expect(11)) : (s.param = null, this.scope.
        enter(0)), s.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(!1, !1)), this.scope.exit(), e.handler = this.finishNode(
        s, "CatchClause");
      }
      return e.finalizer = this.eat(67) ? this.parseBlock() : null, !e.handler && !e.finalizer && this.raise(Z.NoCatchOrFinally, e), this.finishNode(
      e, "TryStatement");
    }
    parseVarStatement(e, s, r = !1) {
      return this.next(), this.parseVar(e, !1, s, r), this.semicolon(), this.finishNode(e, "VariableDeclaration");
    }
    parseWhileStatement(e) {
      return this.next(), e.test = this.parseHeaderExpression(), this.state.labels.push(NO), e.body = this.withSmartMixTopicForbiddingContext(
      () => this.parseStatement()), this.state.labels.pop(), this.finishNode(e, "WhileStatement");
    }
    parseWithStatement(e) {
      return this.state.strict && this.raise(Z.StrictWith, this.state.startLoc), this.next(), e.object = this.parseHeaderExpression(), e.body =
      this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.finishNode(e, "WithStatement");
    }
    parseEmptyStatement(e) {
      return this.next(), this.finishNode(e, "EmptyStatement");
    }
    parseLabeledStatement(e, s, r, i) {
      for (let o of this.state.labels)
        o.name === s && this.raise(Z.LabelRedeclaration, r, {
          labelName: s
        });
      let a = wit(this.state.type) ? 1 : this.match(71) ? 2 : null;
      for (let o = this.state.labels.length - 1; o >= 0; o--) {
        let l = this.state.labels[o];
        if (l.statementStart === e.start)
          l.statementStart = this.sourceToOffsetPos(this.state.start), l.kind = a;
        else
          break;
      }
      return this.state.labels.push({
        name: s,
        kind: a,
        statementStart: this.sourceToOffsetPos(this.state.start)
      }), e.body = i & 8 ? this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0) : this.parseStatement(), this.state.labels.pop(), e.label =
      r, this.finishNode(e, "LabeledStatement");
    }
    parseExpressionStatement(e, s, r) {
      return e.expression = s, this.semicolon(), this.finishNode(e, "ExpressionStatement");
    }
    parseBlock(e = !1, s = !0, r) {
      let i = this.startNode();
      return e && this.state.strictErrors.clear(), this.expect(5), s && this.scope.enter(0), this.parseBlockBody(i, e, !1, 8, r), s && this.
      scope.exit(), this.finishNode(i, "BlockStatement");
    }
    isValidDirective(e) {
      return e.type === "ExpressionStatement" && e.expression.type === "StringLiteral" && !e.expression.extra.parenthesized;
    }
    parseBlockBody(e, s, r, i, a) {
      let o = e.body = [], l = e.directives = [];
      this.parseBlockOrModuleBlockBody(o, s ? l : void 0, r, i, a);
    }
    parseBlockOrModuleBlockBody(e, s, r, i, a) {
      let o = this.state.strict, l = !1, u = !1;
      for (; !this.match(i); ) {
        let c = r ? this.parseModuleItem() : this.parseStatementListItem();
        if (s && !u) {
          if (this.isValidDirective(c)) {
            let p = this.stmtToDirective(c);
            s.push(p), !l && p.value.value === "use strict" && (l = !0, this.setStrict(!0));
            continue;
          }
          u = !0, this.state.strictErrors.clear();
        }
        e.push(c);
      }
      a?.call(this, l), o || this.setStrict(!1), this.next();
    }
    parseFor(e, s) {
      return e.init = s, this.semicolon(!1), e.test = this.match(13) ? null : this.parseExpression(), this.semicolon(!1), e.update = this.match(
      11) ? null : this.parseExpression(), this.expect(11), e.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.
      scope.exit(), this.state.labels.pop(), this.finishNode(e, "ForStatement");
    }
    parseForIn(e, s, r) {
      let i = this.match(58);
      return this.next(), i ? r !== null && this.unexpected(r) : e.await = r !== null, s.type === "VariableDeclaration" && s.declarations[0].
      init != null && (!i || !this.options.annexB || this.state.strict || s.kind !== "var" || s.declarations[0].id.type !== "Identifier") &&
      this.raise(Z.ForInOfLoopInitializer, s, {
        type: i ? "ForInStatement" : "ForOfStatement"
      }), s.type === "AssignmentPattern" && this.raise(Z.InvalidLhs, s, {
        ancestor: {
          type: "ForStatement"
        }
      }), e.left = s, e.right = i ? this.parseExpression() : this.parseMaybeAssignAllowIn(), this.expect(11), e.body = this.withSmartMixTopicForbiddingContext(
      () => this.parseStatement()), this.scope.exit(), this.state.labels.pop(), this.finishNode(e, i ? "ForInStatement" : "ForOfStatement");
    }
    parseVar(e, s, r, i = !1) {
      let a = e.declarations = [];
      for (e.kind = r; ; ) {
        let o = this.startNode();
        if (this.parseVarId(o, r), o.init = this.eat(29) ? s ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn() : null, o.
        init === null && !i && (o.id.type !== "Identifier" && !(s && (this.match(58) || this.isContextual(102))) ? this.raise(Z.DeclarationMissingInitializer,
        this.state.lastTokEndLoc, {
          kind: "destructuring"
        }) : (r === "const" || r === "using" || r === "await using") && !(this.match(58) || this.isContextual(102)) && this.raise(Z.DeclarationMissingInitializer,
        this.state.lastTokEndLoc, {
          kind: r
        })), a.push(this.finishNode(o, "VariableDeclarator")), !this.eat(12)) break;
      }
      return e;
    }
    parseVarId(e, s) {
      let r = this.parseBindingAtom();
      (s === "using" || s === "await using") && (r.type === "ArrayPattern" || r.type === "ObjectPattern") && this.raise(Z.UsingDeclarationHasBindingPattern,
      r.loc.start), this.checkLVal(r, {
        type: "VariableDeclarator"
      }, s === "var" ? 5 : 8201), e.id = r;
    }
    parseAsyncFunctionExpression(e) {
      return this.parseFunction(e, 8);
    }
    parseFunction(e, s = 0) {
      let r = s & 2, i = !!(s & 1), a = i && !(s & 4), o = !!(s & 8);
      this.initFunction(e, o), this.match(55) && (r && this.raise(Z.GeneratorInSingleStatementContext, this.state.startLoc), this.next(), e.
      generator = !0), i && (e.id = this.parseFunctionId(a));
      let l = this.state.maybeInArrowParameters;
      return this.state.maybeInArrowParameters = !1, this.scope.enter(2), this.prodParam.enter(KS(o, e.generator)), i || (e.id = this.parseFunctionId()),
      this.parseFunctionParams(e, !1), this.withSmartMixTopicForbiddingContext(() => {
        this.parseFunctionBodyAndFinish(e, i ? "FunctionDeclaration" : "FunctionExpression");
      }), this.prodParam.exit(), this.scope.exit(), i && !r && this.registerFunctionStatementId(e), this.state.maybeInArrowParameters = l, e;
    }
    parseFunctionId(e) {
      return e || zs(this.state.type) ? this.parseIdentifier() : null;
    }
    parseFunctionParams(e, s) {
      this.expect(10), this.expressionScope.enter(Git()), e.params = this.parseBindingList(11, 41, 2 | (s ? 4 : 0)), this.expressionScope.exit();
    }
    registerFunctionStatementId(e) {
      e.id && this.scope.declareName(e.id.name, !this.options.annexB || this.state.strict || e.generator || e.async ? this.scope.treatFunctionsAsVar ?
      5 : 8201 : 17, e.id.loc.start);
    }
    parseClass(e, s, r) {
      this.next();
      let i = this.state.strict;
      return this.state.strict = !0, this.parseClassId(e, s, r), this.parseClassSuper(e), e.body = this.parseClassBody(!!e.superClass, i), this.
      finishNode(e, s ? "ClassDeclaration" : "ClassExpression");
    }
    isClassProperty() {
      return this.match(29) || this.match(13) || this.match(8);
    }
    isClassMethod() {
      return this.match(10);
    }
    nameIsConstructor(e) {
      return e.type === "Identifier" && e.name === "constructor" || e.type === "StringLiteral" && e.value === "constructor";
    }
    isNonstaticConstructor(e) {
      return !e.computed && !e.static && this.nameIsConstructor(e.key);
    }
    parseClassBody(e, s) {
      this.classScope.enter();
      let r = {
        hadConstructor: !1,
        hadSuperClass: e
      }, i = [], a = this.startNode();
      if (a.body = [], this.expect(5), this.withSmartMixTopicForbiddingContext(() => {
        for (; !this.match(8); ) {
          if (this.eat(13)) {
            if (i.length > 0)
              throw this.raise(Z.DecoratorSemicolon, this.state.lastTokEndLoc);
            continue;
          }
          if (this.match(26)) {
            i.push(this.parseDecorator());
            continue;
          }
          let o = this.startNode();
          i.length && (o.decorators = i, this.resetStartLocationFromNode(o, i[0]), i = []), this.parseClassMember(a, o, r), o.kind === "cons\
tructor" && o.decorators && o.decorators.length > 0 && this.raise(Z.DecoratorConstructor, o);
        }
      }), this.state.strict = s, this.next(), i.length)
        throw this.raise(Z.TrailingDecorator, this.state.startLoc);
      return this.classScope.exit(), this.finishNode(a, "ClassBody");
    }
    parseClassMemberFromModifier(e, s) {
      let r = this.parseIdentifier(!0);
      if (this.isClassMethod()) {
        let i = s;
        return i.kind = "method", i.computed = !1, i.key = r, i.static = !1, this.pushClassMethod(e, i, !1, !1, !1, !1), !0;
      } else if (this.isClassProperty()) {
        let i = s;
        return i.computed = !1, i.key = r, i.static = !1, e.body.push(this.parseClassProperty(i)), !0;
      }
      return this.resetPreviousNodeTrailingComments(r), !1;
    }
    parseClassMember(e, s, r) {
      let i = this.isContextual(106);
      if (i) {
        if (this.parseClassMemberFromModifier(e, s))
          return;
        if (this.eat(5)) {
          this.parseClassStaticBlock(e, s);
          return;
        }
      }
      this.parseClassMemberWithIsStatic(e, s, r, i);
    }
    parseClassMemberWithIsStatic(e, s, r, i) {
      let a = s, o = s, l = s, u = s, c = s, p = a, h = a;
      if (s.static = i, this.parsePropertyNamePrefixOperator(s), this.eat(55)) {
        p.kind = "method";
        let b = this.match(139);
        if (this.parseClassElementName(p), b) {
          this.pushClassPrivateMethod(e, o, !0, !1);
          return;
        }
        this.isNonstaticConstructor(a) && this.raise(Z.ConstructorIsGenerator, a.key), this.pushClassMethod(e, a, !0, !1, !1, !1);
        return;
      }
      let f = !this.state.containsEsc && zs(this.state.type), d = this.parseClassElementName(s), m = f ? d.name : null, y = this.isPrivateName(
      d), T = this.state.startLoc;
      if (this.parsePostMemberNameModifiers(h), this.isClassMethod()) {
        if (p.kind = "method", y) {
          this.pushClassPrivateMethod(e, o, !1, !1);
          return;
        }
        let b = this.isNonstaticConstructor(a), E = !1;
        b && (a.kind = "constructor", r.hadConstructor && !this.hasPlugin("typescript") && this.raise(Z.DuplicateConstructor, d), b && this.
        hasPlugin("typescript") && s.override && this.raise(Z.OverrideOnConstructor, d), r.hadConstructor = !0, E = r.hadSuperClass), this.pushClassMethod(
        e, a, !1, !1, b, E);
      } else if (this.isClassProperty())
        y ? this.pushClassPrivateProperty(e, u) : this.pushClassProperty(e, l);
      else if (m === "async" && !this.isLineTerminator()) {
        this.resetPreviousNodeTrailingComments(d);
        let b = this.eat(55);
        h.optional && this.unexpected(T), p.kind = "method";
        let E = this.match(139);
        this.parseClassElementName(p), this.parsePostMemberNameModifiers(h), E ? this.pushClassPrivateMethod(e, o, b, !0) : (this.isNonstaticConstructor(
        a) && this.raise(Z.ConstructorIsAsync, a.key), this.pushClassMethod(e, a, b, !0, !1, !1));
      } else if ((m === "get" || m === "set") && !(this.match(55) && this.isLineTerminator())) {
        this.resetPreviousNodeTrailingComments(d), p.kind = m;
        let b = this.match(139);
        this.parseClassElementName(a), b ? this.pushClassPrivateMethod(e, o, !1, !1) : (this.isNonstaticConstructor(a) && this.raise(Z.ConstructorIsAccessor,
        a.key), this.pushClassMethod(e, a, !1, !1, !1, !1)), this.checkGetterSetterParams(a);
      } else if (m === "accessor" && !this.isLineTerminator()) {
        this.expectPlugin("decoratorAutoAccessors"), this.resetPreviousNodeTrailingComments(d);
        let b = this.match(139);
        this.parseClassElementName(l), this.pushClassAccessorProperty(e, c, b);
      } else this.isLineTerminator() ? y ? this.pushClassPrivateProperty(e, u) : this.pushClassProperty(e, l) : this.unexpected();
    }
    parseClassElementName(e) {
      let {
        type: s,
        value: r
      } = this.state;
      if ((s === 132 || s === 134) && e.static && r === "prototype" && this.raise(Z.StaticPrototype, this.state.startLoc), s === 139) {
        r === "constructor" && this.raise(Z.ConstructorClassPrivateField, this.state.startLoc);
        let i = this.parsePrivateName();
        return e.key = i, i;
      }
      return this.parsePropertyName(e), e.key;
    }
    parseClassStaticBlock(e, s) {
      var r;
      this.scope.enter(208);
      let i = this.state.labels;
      this.state.labels = [], this.prodParam.enter(0);
      let a = s.body = [];
      this.parseBlockOrModuleBlockBody(a, void 0, !1, 8), this.prodParam.exit(), this.scope.exit(), this.state.labels = i, e.body.push(this.
      finishNode(s, "StaticBlock")), (r = s.decorators) != null && r.length && this.raise(Z.DecoratorStaticBlock, s);
    }
    pushClassProperty(e, s) {
      !s.computed && this.nameIsConstructor(s.key) && this.raise(Z.ConstructorClassField, s.key), e.body.push(this.parseClassProperty(s));
    }
    pushClassPrivateProperty(e, s) {
      let r = this.parseClassPrivateProperty(s);
      e.body.push(r), this.classScope.declarePrivateName(this.getPrivateNameSV(r.key), 0, r.key.loc.start);
    }
    pushClassAccessorProperty(e, s, r) {
      !r && !s.computed && this.nameIsConstructor(s.key) && this.raise(Z.ConstructorClassField, s.key);
      let i = this.parseClassAccessorProperty(s);
      e.body.push(i), r && this.classScope.declarePrivateName(this.getPrivateNameSV(i.key), 0, i.key.loc.start);
    }
    pushClassMethod(e, s, r, i, a, o) {
      e.body.push(this.parseMethod(s, r, i, a, o, "ClassMethod", !0));
    }
    pushClassPrivateMethod(e, s, r, i) {
      let a = this.parseMethod(s, r, i, !1, !1, "ClassPrivateMethod", !0);
      e.body.push(a);
      let o = a.kind === "get" ? a.static ? 6 : 2 : a.kind === "set" ? a.static ? 5 : 1 : 0;
      this.declareClassPrivateMethodInScope(a, o);
    }
    declareClassPrivateMethodInScope(e, s) {
      this.classScope.declarePrivateName(this.getPrivateNameSV(e.key), s, e.key.loc.start);
    }
    parsePostMemberNameModifiers(e) {
    }
    parseClassPrivateProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassPrivateProperty");
    }
    parseClassProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassProperty");
    }
    parseClassAccessorProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassAccessorProperty");
    }
    parseInitializer(e) {
      this.scope.enter(80), this.expressionScope.enter(SX()), this.prodParam.enter(0), e.value = this.eat(29) ? this.parseMaybeAssignAllowIn() :
      null, this.expressionScope.exit(), this.prodParam.exit(), this.scope.exit();
    }
    parseClassId(e, s, r, i = 8331) {
      if (zs(this.state.type))
        e.id = this.parseIdentifier(), s && this.declareNameFromIdentifier(e.id, i);
      else if (r || !s)
        e.id = null;
      else
        throw this.raise(Z.MissingClassName, this.state.startLoc);
    }
    parseClassSuper(e) {
      e.superClass = this.eat(81) ? this.parseExprSubscripts() : null;
    }
    parseExport(e, s) {
      let r = this.parseMaybeImportPhase(e, !0), i = this.maybeParseExportDefaultSpecifier(e, r), a = !i || this.eat(12), o = a && this.eatExportStar(
      e), l = o && this.maybeParseExportNamespaceSpecifier(e), u = a && (!l || this.eat(12)), c = i || o;
      if (o && !l) {
        if (i && this.unexpected(), s)
          throw this.raise(Z.UnsupportedDecoratorExport, e);
        return this.parseExportFrom(e, !0), this.finishNode(e, "ExportAllDeclaration");
      }
      let p = this.maybeParseExportNamedSpecifiers(e);
      i && a && !o && !p && this.unexpected(null, 5), l && u && this.unexpected(null, 98);
      let h;
      if (c || p) {
        if (h = !1, s)
          throw this.raise(Z.UnsupportedDecoratorExport, e);
        this.parseExportFrom(e, c);
      } else
        h = this.maybeParseExportDeclaration(e);
      if (c || p || h) {
        var f;
        let d = e;
        if (this.checkExport(d, !0, !1, !!d.source), ((f = d.declaration) == null ? void 0 : f.type) === "ClassDeclaration")
          this.maybeTakeDecorators(s, d.declaration, d);
        else if (s)
          throw this.raise(Z.UnsupportedDecoratorExport, e);
        return this.finishNode(d, "ExportNamedDeclaration");
      }
      if (this.eat(65)) {
        let d = e, m = this.parseExportDefaultExpression();
        if (d.declaration = m, m.type === "ClassDeclaration")
          this.maybeTakeDecorators(s, m, d);
        else if (s)
          throw this.raise(Z.UnsupportedDecoratorExport, e);
        return this.checkExport(d, !0, !0), this.finishNode(d, "ExportDefaultDeclaration");
      }
      this.unexpected(null, 5);
    }
    eatExportStar(e) {
      return this.eat(55);
    }
    maybeParseExportDefaultSpecifier(e, s) {
      if (s || this.isExportDefaultSpecifier()) {
        this.expectPlugin("exportDefaultFrom", s?.loc.start);
        let r = s || this.parseIdentifier(!0), i = this.startNodeAtNode(r);
        return i.exported = r, e.specifiers = [this.finishNode(i, "ExportDefaultSpecifier")], !0;
      }
      return !1;
    }
    maybeParseExportNamespaceSpecifier(e) {
      if (this.isContextual(93)) {
        var s, r;
        (r = (s = e).specifiers) != null || (s.specifiers = []);
        let i = this.startNodeAt(this.state.lastTokStartLoc);
        return this.next(), i.exported = this.parseModuleExportName(), e.specifiers.push(this.finishNode(i, "ExportNamespaceSpecifier")), !0;
      }
      return !1;
    }
    maybeParseExportNamedSpecifiers(e) {
      if (this.match(5)) {
        let s = e;
        s.specifiers || (s.specifiers = []);
        let r = s.exportKind === "type";
        return s.specifiers.push(...this.parseExportSpecifiers(r)), s.source = null, s.declaration = null, this.hasPlugin("importAssertions") &&
        (s.assertions = []), !0;
      }
      return !1;
    }
    maybeParseExportDeclaration(e) {
      return this.shouldParseExportDeclaration() ? (e.specifiers = [], e.source = null, this.hasPlugin("importAssertions") && (e.assertions =
      []), e.declaration = this.parseExportDeclaration(e), !0) : !1;
    }
    isAsyncFunction() {
      if (!this.isContextual(95)) return !1;
      let e = this.nextTokenInLineStart();
      return this.isUnparsedContextual(e, "function");
    }
    parseExportDefaultExpression() {
      let e = this.startNode();
      if (this.match(68))
        return this.next(), this.parseFunction(e, 5);
      if (this.isAsyncFunction())
        return this.next(), this.next(), this.parseFunction(e, 13);
      if (this.match(80))
        return this.parseClass(e, !0, !0);
      if (this.match(26))
        return this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") === !0 && this.raise(Z.DecoratorBeforeExport,
        this.state.startLoc), this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1), this.startNode()), !0, !0);
      if (this.match(75) || this.match(74) || this.isLet())
        throw this.raise(Z.UnsupportedDefaultExport, this.state.startLoc);
      let s = this.parseMaybeAssignAllowIn();
      return this.semicolon(), s;
    }
    parseExportDeclaration(e) {
      return this.match(80) ? this.parseClass(this.startNode(), !0, !1) : this.parseStatementListItem();
    }
    isExportDefaultSpecifier() {
      let {
        type: e
      } = this.state;
      if (zs(e)) {
        if (e === 95 && !this.state.containsEsc || e === 100)
          return !1;
        if ((e === 130 || e === 129) && !this.state.containsEsc) {
          let {
            type: i
          } = this.lookahead();
          if (zs(i) && i !== 98 || i === 5)
            return this.expectOnePlugin(["flow", "typescript"]), !1;
        }
      } else if (!this.match(65))
        return !1;
      let s = this.nextTokenStart(), r = this.isUnparsedContextual(s, "from");
      if (this.input.charCodeAt(s) === 44 || zs(this.state.type) && r)
        return !0;
      if (this.match(65) && r) {
        let i = this.input.charCodeAt(this.nextTokenStartSince(s + 4));
        return i === 34 || i === 39;
      }
      return !1;
    }
    parseExportFrom(e, s) {
      this.eatContextual(98) ? (e.source = this.parseImportSource(), this.checkExport(e), this.maybeParseImportAttributes(e), this.checkJSONModuleImport(
      e)) : s && this.unexpected(), this.semicolon();
    }
    shouldParseExportDeclaration() {
      let {
        type: e
      } = this.state;
      return e === 26 && (this.expectOnePlugin(["decorators", "decorators-legacy"]), this.hasPlugin("decorators")) ? (this.getPluginOption("\
decorators", "decoratorsBeforeExport") === !0 && this.raise(Z.DecoratorBeforeExport, this.state.startLoc), !0) : this.isContextual(107) ? (this.
      raise(Z.UsingDeclarationExport, this.state.startLoc), !0) : this.isContextual(96) && this.startsAwaitUsing() ? (this.raise(Z.UsingDeclarationExport,
      this.state.startLoc), !0) : e === 74 || e === 75 || e === 68 || e === 80 || this.isLet() || this.isAsyncFunction();
    }
    checkExport(e, s, r, i) {
      if (s) {
        var a;
        if (r) {
          if (this.checkDuplicateExports(e, "default"), this.hasPlugin("exportDefaultFrom")) {
            var o;
            let l = e.declaration;
            l.type === "Identifier" && l.name === "from" && l.end - l.start === 4 && !((o = l.extra) != null && o.parenthesized) && this.raise(
            Z.ExportDefaultFromAsIdentifier, l);
          }
        } else if ((a = e.specifiers) != null && a.length)
          for (let l of e.specifiers) {
            let {
              exported: u
            } = l, c = u.type === "Identifier" ? u.name : u.value;
            if (this.checkDuplicateExports(l, c), !i && l.local) {
              let {
                local: p
              } = l;
              p.type !== "Identifier" ? this.raise(Z.ExportBindingIsString, l, {
                localName: p.value,
                exportName: c
              }) : (this.checkReservedWord(p.name, p.loc.start, !0, !1), this.scope.checkLocalExport(p));
            }
          }
        else if (e.declaration) {
          let l = e.declaration;
          if (l.type === "FunctionDeclaration" || l.type === "ClassDeclaration") {
            let {
              id: u
            } = l;
            if (!u) throw new Error("Assertion failure");
            this.checkDuplicateExports(e, u.name);
          } else if (l.type === "VariableDeclaration")
            for (let u of l.declarations)
              this.checkDeclaration(u.id);
        }
      }
    }
    checkDeclaration(e) {
      if (e.type === "Identifier")
        this.checkDuplicateExports(e, e.name);
      else if (e.type === "ObjectPattern")
        for (let s of e.properties)
          this.checkDeclaration(s);
      else if (e.type === "ArrayPattern")
        for (let s of e.elements)
          s && this.checkDeclaration(s);
      else e.type === "ObjectProperty" ? this.checkDeclaration(e.value) : e.type === "RestElement" ? this.checkDeclaration(e.argument) : e.type ===
      "AssignmentPattern" && this.checkDeclaration(e.left);
    }
    checkDuplicateExports(e, s) {
      this.exportedIdentifiers.has(s) && (s === "default" ? this.raise(Z.DuplicateDefaultExport, e) : this.raise(Z.DuplicateExport, e, {
        exportName: s
      })), this.exportedIdentifiers.add(s);
    }
    parseExportSpecifiers(e) {
      let s = [], r = !0;
      for (this.expect(5); !this.eat(8); ) {
        if (r)
          r = !1;
        else if (this.expect(12), this.eat(8)) break;
        let i = this.isContextual(130), a = this.match(134), o = this.startNode();
        o.local = this.parseModuleExportName(), s.push(this.parseExportSpecifier(o, a, e, i));
      }
      return s;
    }
    parseExportSpecifier(e, s, r, i) {
      return this.eatContextual(93) ? e.exported = this.parseModuleExportName() : s ? e.exported = tnt(e.local) : e.exported || (e.exported =
      du(e.local)), this.finishNode(e, "ExportSpecifier");
    }
    parseModuleExportName() {
      if (this.match(134)) {
        let e = this.parseStringLiteral(this.state.value), s = Pnt.exec(e.value);
        return s && this.raise(Z.ModuleExportNameHasLoneSurrogate, e, {
          surrogateCharCode: s[0].charCodeAt(0)
        }), e;
      }
      return this.parseIdentifier(!0);
    }
    isJSONModuleImport(e) {
      return e.assertions != null ? e.assertions.some(({
        key: s,
        value: r
      }) => r.value === "json" && (s.type === "Identifier" ? s.name === "type" : s.value === "type")) : !1;
    }
    checkImportReflection(e) {
      let {
        specifiers: s
      } = e, r = s.length === 1 ? s[0].type : null;
      if (e.phase === "source")
        r !== "ImportDefaultSpecifier" && this.raise(Z.SourcePhaseImportRequiresDefault, s[0].loc.start);
      else if (e.phase === "defer")
        r !== "ImportNamespaceSpecifier" && this.raise(Z.DeferImportRequiresNamespace, s[0].loc.start);
      else if (e.module) {
        var i;
        r !== "ImportDefaultSpecifier" && this.raise(Z.ImportReflectionNotBinding, s[0].loc.start), ((i = e.assertions) == null ? void 0 : i.
        length) > 0 && this.raise(Z.ImportReflectionHasAssertion, s[0].loc.start);
      }
    }
    checkJSONModuleImport(e) {
      if (this.isJSONModuleImport(e) && e.type !== "ExportAllDeclaration") {
        let {
          specifiers: s
        } = e;
        if (s != null) {
          let r = s.find((i) => {
            let a;
            if (i.type === "ExportSpecifier" ? a = i.local : i.type === "ImportSpecifier" && (a = i.imported), a !== void 0)
              return a.type === "Identifier" ? a.name !== "default" : a.value !== "default";
          });
          r !== void 0 && this.raise(Z.ImportJSONBindingNotDefault, r.loc.start);
        }
      }
    }
    isPotentialImportPhase(e) {
      return e ? !1 : this.isContextual(105) || this.isContextual(97) || this.isContextual(127);
    }
    applyImportPhase(e, s, r, i) {
      s || (r === "module" ? (this.expectPlugin("importReflection", i), e.module = !0) : this.hasPlugin("importReflection") && (e.module = !1),
      r === "source" ? (this.expectPlugin("sourcePhaseImports", i), e.phase = "source") : r === "defer" ? (this.expectPlugin("deferredImport\
Evaluation", i), e.phase = "defer") : this.hasPlugin("sourcePhaseImports") && (e.phase = null));
    }
    parseMaybeImportPhase(e, s) {
      if (!this.isPotentialImportPhase(s))
        return this.applyImportPhase(e, s, null), null;
      let r = this.parseIdentifier(!0), {
        type: i
      } = this.state;
      return (Po(i) ? i !== 98 || this.lookaheadCharCode() === 102 : i !== 12) ? (this.resetPreviousIdentifierLeadingComments(r), this.applyImportPhase(
      e, s, r.name, r.loc.start), null) : (this.applyImportPhase(e, s, null), r);
    }
    isPrecedingIdImportPhase(e) {
      let {
        type: s
      } = this.state;
      return zs(s) ? s !== 98 || this.lookaheadCharCode() === 102 : s !== 12;
    }
    parseImport(e) {
      return this.match(134) ? this.parseImportSourceAndAttributes(e) : this.parseImportSpecifiersAndAfter(e, this.parseMaybeImportPhase(e, !1));
    }
    parseImportSpecifiersAndAfter(e, s) {
      e.specifiers = [];
      let i = !this.maybeParseDefaultImportSpecifier(e, s) || this.eat(12), a = i && this.maybeParseStarImportSpecifier(e);
      return i && !a && this.parseNamedImportSpecifiers(e), this.expectContextual(98), this.parseImportSourceAndAttributes(e);
    }
    parseImportSourceAndAttributes(e) {
      var s;
      return (s = e.specifiers) != null || (e.specifiers = []), e.source = this.parseImportSource(), this.maybeParseImportAttributes(e), this.
      checkImportReflection(e), this.checkJSONModuleImport(e), this.semicolon(), this.finishNode(e, "ImportDeclaration");
    }
    parseImportSource() {
      return this.match(134) || this.unexpected(), this.parseExprAtom();
    }
    parseImportSpecifierLocal(e, s, r) {
      s.local = this.parseIdentifier(), e.specifiers.push(this.finishImportSpecifier(s, r));
    }
    finishImportSpecifier(e, s, r = 8201) {
      return this.checkLVal(e.local, {
        type: s
      }, r), this.finishNode(e, s);
    }
    parseImportAttributes() {
      this.expect(5);
      let e = [], s = /* @__PURE__ */ new Set();
      do {
        if (this.match(8))
          break;
        let r = this.startNode(), i = this.state.value;
        if (s.has(i) && this.raise(Z.ModuleAttributesWithDuplicateKeys, this.state.startLoc, {
          key: i
        }), s.add(i), this.match(134) ? r.key = this.parseStringLiteral(i) : r.key = this.parseIdentifier(!0), this.expect(14), !this.match(
        134))
          throw this.raise(Z.ModuleAttributeInvalidValue, this.state.startLoc);
        r.value = this.parseStringLiteral(this.state.value), e.push(this.finishNode(r, "ImportAttribute"));
      } while (this.eat(12));
      return this.expect(8), e;
    }
    parseModuleAttributes() {
      let e = [], s = /* @__PURE__ */ new Set();
      do {
        let r = this.startNode();
        if (r.key = this.parseIdentifier(!0), r.key.name !== "type" && this.raise(Z.ModuleAttributeDifferentFromType, r.key), s.has(r.key.name) &&
        this.raise(Z.ModuleAttributesWithDuplicateKeys, r.key, {
          key: r.key.name
        }), s.add(r.key.name), this.expect(14), !this.match(134))
          throw this.raise(Z.ModuleAttributeInvalidValue, this.state.startLoc);
        r.value = this.parseStringLiteral(this.state.value), e.push(this.finishNode(r, "ImportAttribute"));
      } while (this.eat(12));
      return e;
    }
    maybeParseImportAttributes(e) {
      let s;
      var r = !1;
      if (this.match(76)) {
        if (this.hasPrecedingLineBreak() && this.lookaheadCharCode() === 40)
          return;
        this.next(), this.hasPlugin("moduleAttributes") ? s = this.parseModuleAttributes() : s = this.parseImportAttributes(), r = !0;
      } else this.isContextual(94) && !this.hasPrecedingLineBreak() ? (!this.hasPlugin("deprecatedImportAssert") && !this.hasPlugin("importA\
ssertions") && this.raise(Z.ImportAttributesUseAssert, this.state.startLoc), this.hasPlugin("importAssertions") || this.addExtra(e, "depreca\
tedAssertSyntax", !0), this.next(), s = this.parseImportAttributes()) : s = [];
      !r && this.hasPlugin("importAssertions") ? e.assertions = s : e.attributes = s;
    }
    maybeParseDefaultImportSpecifier(e, s) {
      if (s) {
        let r = this.startNodeAtNode(s);
        return r.local = s, e.specifiers.push(this.finishImportSpecifier(r, "ImportDefaultSpecifier")), !0;
      } else if (Po(this.state.type))
        return this.parseImportSpecifierLocal(e, this.startNode(), "ImportDefaultSpecifier"), !0;
      return !1;
    }
    maybeParseStarImportSpecifier(e) {
      if (this.match(55)) {
        let s = this.startNode();
        return this.next(), this.expectContextual(93), this.parseImportSpecifierLocal(e, s, "ImportNamespaceSpecifier"), !0;
      }
      return !1;
    }
    parseNamedImportSpecifiers(e) {
      let s = !0;
      for (this.expect(5); !this.eat(8); ) {
        if (s)
          s = !1;
        else {
          if (this.eat(14))
            throw this.raise(Z.DestructureNamedImport, this.state.startLoc);
          if (this.expect(12), this.eat(8)) break;
        }
        let r = this.startNode(), i = this.match(134), a = this.isContextual(130);
        r.imported = this.parseModuleExportName();
        let o = this.parseImportSpecifier(r, i, e.importKind === "type" || e.importKind === "typeof", a, void 0);
        e.specifiers.push(o);
      }
    }
    parseImportSpecifier(e, s, r, i, a) {
      if (this.eatContextual(93))
        e.local = this.parseIdentifier();
      else {
        let {
          imported: o
        } = e;
        if (s)
          throw this.raise(Z.ImportBindingIsString, e, {
            importName: o.value
          });
        this.checkReservedWord(o.name, e.loc.start, !0, !0), e.local || (e.local = du(o));
      }
      return this.finishImportSpecifier(e, "ImportSpecifier", a);
    }
    isThisParam(e) {
      return e.type === "Identifier" && e.name === "this";
    }
  }, HS = class extends zO {
    static {
      n(this, "Parser");
    }
    constructor(e, s, r) {
      e = bit(e), super(e, s), this.options = e, this.initializeScopes(), this.plugins = r, this.filename = e.sourceFilename, this.startIndex =
      e.startIndex;
      let i = 0;
      e.allowAwaitOutsideFunction && (i |= 1), e.allowReturnOutsideFunction && (i |= 2), e.allowImportExportEverywhere && (i |= 8), e.allowSuperOutsideMethod &&
      (i |= 16), e.allowUndeclaredExports && (i |= 32), e.allowNewTargetOutsideFunction && (i |= 4), e.ranges && (i |= 64), e.tokens && (i |=
      128), e.createImportExpressions && (i |= 256), e.createParenthesizedExpressions && (i |= 512), e.errorRecovery && (i |= 1024), e.attachComment &&
      (i |= 2048), e.annexB && (i |= 4096), this.optionFlags = i;
    }
    getScopeHandler() {
      return Vg;
    }
    parse() {
      this.enterInitialScopes();
      let e = this.startNode(), s = this.startNode();
      return this.nextToken(), e.errors = null, this.parseTopLevel(e, s), e.errors = this.state.errors, e.comments.length = this.state.commentsLen,
      e;
    }
  };
  function Ant(t, e) {
    var s;
    if (((s = e) == null ? void 0 : s.sourceType) === "unambiguous") {
      e = Object.assign({}, e);
      try {
        e.sourceType = "module";
        let r = qg(e, t), i = r.parse();
        if (r.sawUnambiguousESM)
          return i;
        if (r.ambiguousScriptDifferentAst)
          try {
            return e.sourceType = "script", qg(e, t).parse();
          } catch {
          }
        else
          i.program.sourceType = "script";
        return i;
      } catch (r) {
        try {
          return e.sourceType = "script", qg(e, t).parse();
        } catch {
        }
        throw r;
      }
    } else
      return qg(e, t).parse();
  }
  n(Ant, "parse");
  function vnt(t, e) {
    let s = qg(e, t);
    return s.options.strictMode && (s.state.strict = !0), s.getExpression();
  }
  n(vnt, "parseExpression");
  function Cnt(t) {
    let e = {};
    for (let s of Object.keys(t))
      e[s] = cu(t[s]);
    return e;
  }
  n(Cnt, "generateExportedTokenTypes");
  var wnt = Cnt(Eit);
  function qg(t, e) {
    let s = HS, r = /* @__PURE__ */ new Map();
    if (t != null && t.plugins) {
      for (let i of t.plugins) {
        let a, o;
        typeof i == "string" ? a = i : [a, o] = i, r.has(a) || r.set(a, o || {});
      }
      bnt(r), s = Int(r);
    }
    return new s(t, e, r);
  }
  n(qg, "getParser");
  var cX = /* @__PURE__ */ new Map();
  function Int(t) {
    let e = [];
    for (let i of xnt)
      t.has(i) && e.push(i);
    let s = e.join("|"), r = cX.get(s);
    if (!r) {
      r = HS;
      for (let i of e)
        r = vX[i](r);
      cX.set(s, r);
    }
    return r;
  }
  n(Int, "getParserClass");
  $g.parse = Ant;
  $g.parseExpression = vnt;
  $g.tokTypes = wnt;
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/replacement.js
var TO = g((Zc) => {
  "use strict";
  Object.defineProperty(Zc, "__esModule", {
    value: !0
  });
  Zc._replaceWith = LX;
  Zc.replaceExpressionWithStatements = sat;
  Zc.replaceInline = rat;
  Zc.replaceWith = tat;
  Zc.replaceWithMultiple = Znt;
  Zc.replaceWithSourceString = eat;
  var Nnt = Hl(), l2 = _d(), knt = Xc(), DX = Ah(), u2 = BS(), Dnt = CX(), Ont = fe(), Wd = ol(), {
    FUNCTION_TYPES: wX,
    arrowFunctionExpression: _nt,
    assignmentExpression: OX,
    awaitExpression: Lnt,
    blockStatement: Bnt,
    buildUndefinedNode: o2,
    callExpression: Mnt,
    cloneNode: c2,
    conditionalExpression: Fnt,
    expressionStatement: jnt,
    getBindingIdentifiers: Rnt,
    identifier: qnt,
    inheritLeadingComments: Unt,
    inheritTrailingComments: Knt,
    inheritsComments: Vnt,
    isBlockStatement: Wnt,
    isEmptyStatement: IX,
    isExpression: _X,
    isExpressionStatement: $nt,
    isIfStatement: Hnt,
    isProgram: Jnt,
    isStatement: Ynt,
    isVariableDeclaration: Xnt,
    removeComments: znt,
    returnStatement: NX,
    sequenceExpression: Gnt,
    validate: kX,
    yieldExpression: Qnt
  } = Ont;
  function Znt(t) {
    var e;
    Wd.resync.call(this), t = u2._verifyNodeList.call(this, t), Unt(t[0], this.node), Knt(t[t.length - 1], this.node), (e = (0, DX.getCachedPaths)(
    this.hub, this.parent)) == null || e.delete(this.node), this.node = this.container[this.key] = null;
    let s = this.insertAfter(t);
    return this.node ? this.requeue() : this.remove(), s;
  }
  n(Znt, "replaceWithMultiple");
  function eat(t) {
    Wd.resync.call(this);
    let e;
    try {
      t = `(${t})`, e = (0, Dnt.parse)(t);
    } catch (r) {
      let i = r.loc;
      throw i && (r.message += ` - make sure this is an expression.
` + (0, Nnt.codeFrameColumns)(t, {
        start: {
          line: i.line,
          column: i.column + 1
        }
      }), r.code = "BABEL_REPLACE_SOURCE_ERROR"), r;
    }
    let s = e.program.body[0].expression;
    return l2.default.removeProperties(s), this.replaceWith(s);
  }
  n(eat, "replaceWithSourceString");
  function tat(t) {
    if (Wd.resync.call(this), this.removed)
      throw new Error("You can't replace this node, we've already removed it");
    let e = t instanceof knt.default ? t.node : t;
    if (!e)
      throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");
    if (this.node === e)
      return [this];
    if (this.isProgram() && !Jnt(e))
      throw new Error("You can only replace a Program root node with another Program node");
    if (Array.isArray(e))
      throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");
    if (typeof e == "string")
      throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");
    let s = "";
    if (this.isNodeType("Statement") && _X(e) && !this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(
    e) && !this.parentPath.isExportDefaultDeclaration() && (e = jnt(e), s = "expression"), this.isNodeType("Expression") && Ynt(e) && !this.
    canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(e))
      return this.replaceExpressionWithStatements([e]);
    let r = this.node;
    return r && (Vnt(e, r), znt(r)), LX.call(this, e), this.type = e.type, Wd.setScope.call(this), this.requeue(), [s ? this.get(s) : this];
  }
  n(tat, "replaceWith");
  function LX(t) {
    var e;
    if (!this.container)
      throw new ReferenceError("Container is falsy");
    this.inList ? kX(this.parent, this.key, [t]) : kX(this.parent, this.key, t), this.debug(`Replace with ${t?.type}`), (e = (0, DX.getCachedPaths)(
    this.hub, this.parent)) == null || e.set(t, this).delete(this.node), this.node = this.container[this.key] = t;
  }
  n(LX, "_replaceWith");
  function sat(t) {
    Wd.resync.call(this);
    let e = [], s = JS(t, e);
    if (s) {
      for (let f of e) this.scope.push({
        id: f
      });
      return this.replaceWith(s)[0].get("expressions");
    }
    let r = this.getFunctionParent(), i = r?.node.async, a = r?.node.generator, o = _nt([], Bnt(t));
    this.replaceWith(Mnt(o, []));
    let l = this.get("callee");
    l.get("body").scope.hoistVariables((f) => this.scope.push({
      id: f
    }));
    let u = l.getCompletionRecords();
    for (let f of u) {
      if (!f.isExpressionStatement()) continue;
      let d = f.findParent((m) => m.isLoop());
      if (d) {
        let m = d.getData("expressionReplacementReturnUid");
        m ? m = qnt(m.name) : (m = l.scope.generateDeclaredUidIdentifier("ret"), l.get("body").pushContainer("body", NX(c2(m))), d.setData("\
expressionReplacementReturnUid", m)), f.get("expression").replaceWith(OX("=", c2(m), f.node.expression));
      } else
        f.replaceWith(NX(f.node.expression));
    }
    l.arrowFunctionToExpression();
    let c = l, p = i && l2.default.hasType(this.get("callee.body").node, "AwaitExpression", wX), h = a && l2.default.hasType(this.get("calle\
e.body").node, "YieldExpression", wX);
    return p && (c.set("async", !0), h || this.replaceWith(Lnt(this.node))), h && (c.set("generator", !0), this.replaceWith(Qnt(this.node, !0))),
    c.get("body.body");
  }
  n(sat, "replaceExpressionWithStatements");
  function JS(t, e) {
    let s = [], r = !0;
    for (let i of t)
      if (IX(i) || (r = !1), _X(i))
        s.push(i);
      else if ($nt(i))
        s.push(i.expression);
      else if (Xnt(i)) {
        if (i.kind !== "var") return;
        for (let a of i.declarations) {
          let o = Rnt(a);
          for (let l of Object.keys(o))
            e.push(c2(o[l]));
          a.init && s.push(OX("=", a.id, a.init));
        }
        r = !0;
      } else if (Hnt(i)) {
        let a = i.consequent ? JS([i.consequent], e) : o2(), o = i.alternate ? JS([i.alternate], e) : o2();
        if (!a || !o) return;
        s.push(Fnt(i.test, a, o));
      } else if (Wnt(i)) {
        let a = JS(i.body, e);
        if (!a) return;
        s.push(a);
      } else if (IX(i))
        t.indexOf(i) === 0 && (r = !0);
      else
        return;
    return r && s.push(o2()), s.length === 1 ? s[0] : Gnt(s);
  }
  n(JS, "gatherSequenceExpressions");
  function rat(t) {
    if (Wd.resync.call(this), Array.isArray(t))
      if (Array.isArray(this.container)) {
        t = u2._verifyNodeList.call(this, t);
        let e = u2._containerInsertAfter.call(this, t);
        return this.remove(), e;
      } else
        return this.replaceWithMultiple(t);
    else
      return this.replaceWith(t);
  }
  n(rat, "replaceInline");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/evaluation.js
var jX = g((YS) => {
  "use strict";
  Object.defineProperty(YS, "__esModule", {
    value: !0
  });
  YS.evaluate = pat;
  YS.evaluateTruthy = uat;
  var iat = ["Number", "String", "Math"], nat = ["isFinite", "isNaN", "parseFloat", "parseInt", "decodeURI", "decodeURIComponent", "encodeUR\
I", "encodeURIComponent", null, null], aat = ["random"];
  function BX(t) {
    return iat.includes(t);
  }
  n(BX, "isValidObjectCallee");
  function oat(t) {
    return nat.includes(t);
  }
  n(oat, "isValidIdentifierCallee");
  function lat(t) {
    return aat.includes(t);
  }
  n(lat, "isInvalidMethod");
  function uat() {
    let t = this.evaluate();
    if (t.confident) return !!t.value;
  }
  n(uat, "evaluateTruthy");
  function mu(t, e) {
    e.confident && (e.deoptPath = t, e.confident = !1);
  }
  n(mu, "deopt");
  var MX = /* @__PURE__ */ new Map([["undefined", void 0], ["Infinity", 1 / 0], ["NaN", NaN]]);
  function Cn(t, e) {
    let {
      node: s
    } = t, {
      seen: r
    } = e;
    if (r.has(s)) {
      let i = r.get(s);
      if (i.resolved)
        return i.value;
      mu(t, e);
      return;
    } else {
      let i = {
        resolved: !1
      };
      r.set(s, i);
      let a = cat(t, e);
      return e.confident && (i.resolved = !0, i.value = a), a;
    }
  }
  n(Cn, "evaluateCached");
  function cat(t, e) {
    if (e.confident) {
      if (t.isSequenceExpression()) {
        let s = t.get("expressions");
        return Cn(s[s.length - 1], e);
      }
      if (t.isStringLiteral() || t.isNumericLiteral() || t.isBooleanLiteral())
        return t.node.value;
      if (t.isNullLiteral())
        return null;
      if (t.isTemplateLiteral())
        return FX(t, t.node.quasis, e);
      if (t.isTaggedTemplateExpression() && t.get("tag").isMemberExpression()) {
        let s = t.get("tag.object"), {
          node: {
            name: r
          }
        } = s, i = t.get("tag.property");
        if (s.isIdentifier() && r === "String" && !t.scope.getBinding(r) && i.isIdentifier() && i.node.name === "raw")
          return FX(t, t.node.quasi.quasis, e, !0);
      }
      if (t.isConditionalExpression()) {
        let s = Cn(t.get("test"), e);
        return e.confident ? Cn(s ? t.get("consequent") : t.get("alternate"), e) : void 0;
      }
      if (t.isExpressionWrapper())
        return Cn(t.get("expression"), e);
      if (t.isMemberExpression() && !t.parentPath.isCallExpression({
        callee: t.node
      })) {
        let s = t.get("property"), r = t.get("object");
        if (r.isLiteral()) {
          let i = r.node.value, a = typeof i, o = null;
          if (t.node.computed) {
            if (o = Cn(s, e), !e.confident) return;
          } else s.isIdentifier() && (o = s.node.name);
          if ((a === "number" || a === "string") && o != null && (typeof o == "number" || typeof o == "string"))
            return i[o];
        }
      }
      if (t.isReferencedIdentifier()) {
        let s = t.scope.getBinding(t.node.name);
        if (s) {
          if (s.constantViolations.length > 0 || t.node.start < s.path.node.end) {
            mu(s.path, e);
            return;
          }
          if (s.hasValue)
            return s.value;
        }
        let r = t.node.name;
        if (MX.has(r)) {
          if (!s)
            return MX.get(r);
          mu(s.path, e);
          return;
        }
        let i = t.resolve();
        if (i === t) {
          mu(t, e);
          return;
        } else
          return Cn(i, e);
      }
      if (t.isUnaryExpression({
        prefix: !0
      })) {
        if (t.node.operator === "void")
          return;
        let s = t.get("argument");
        if (t.node.operator === "typeof" && (s.isFunction() || s.isClass()))
          return "function";
        let r = Cn(s, e);
        if (!e.confident) return;
        switch (t.node.operator) {
          case "!":
            return !r;
          case "+":
            return +r;
          case "-":
            return -r;
          case "~":
            return ~r;
          case "typeof":
            return typeof r;
        }
      }
      if (t.isArrayExpression()) {
        let s = [], r = t.get("elements");
        for (let i of r) {
          let a = i.evaluate();
          if (a.confident)
            s.push(a.value);
          else {
            mu(a.deopt, e);
            return;
          }
        }
        return s;
      }
      if (t.isObjectExpression()) {
        let s = {}, r = t.get("properties");
        for (let i of r) {
          if (i.isObjectMethod() || i.isSpreadElement()) {
            mu(i, e);
            return;
          }
          let a = i.get("key"), o;
          if (i.node.computed) {
            if (o = a.evaluate(), !o.confident) {
              mu(o.deopt, e);
              return;
            }
            o = o.value;
          } else a.isIdentifier() ? o = a.node.name : o = a.node.value;
          let u = i.get("value").evaluate();
          if (!u.confident) {
            mu(u.deopt, e);
            return;
          }
          u = u.value, s[o] = u;
        }
        return s;
      }
      if (t.isLogicalExpression()) {
        let s = e.confident, r = Cn(t.get("left"), e), i = e.confident;
        e.confident = s;
        let a = Cn(t.get("right"), e), o = e.confident;
        switch (t.node.operator) {
          case "||":
            return e.confident = i && (!!r || o), e.confident ? r || a : void 0;
          case "&&":
            return e.confident = i && (!r || o), e.confident ? r && a : void 0;
          case "??":
            return e.confident = i && (r != null || o), e.confident ? r ?? a : void 0;
        }
      }
      if (t.isBinaryExpression()) {
        let s = Cn(t.get("left"), e);
        if (!e.confident) return;
        let r = Cn(t.get("right"), e);
        if (!e.confident) return;
        switch (t.node.operator) {
          case "-":
            return s - r;
          case "+":
            return s + r;
          case "/":
            return s / r;
          case "*":
            return s * r;
          case "%":
            return s % r;
          case "**":
            return Math.pow(s, r);
          case "<":
            return s < r;
          case ">":
            return s > r;
          case "<=":
            return s <= r;
          case ">=":
            return s >= r;
          case "==":
            return s == r;
          case "!=":
            return s != r;
          case "===":
            return s === r;
          case "!==":
            return s !== r;
          case "|":
            return s | r;
          case "&":
            return s & r;
          case "^":
            return s ^ r;
          case "<<":
            return s << r;
          case ">>":
            return s >> r;
          case ">>>":
            return s >>> r;
        }
      }
      if (t.isCallExpression()) {
        let s = t.get("callee"), r, i;
        if (s.isIdentifier() && !t.scope.getBinding(s.node.name) && (BX(s.node.name) || oat(s.node.name)) && (i = global[s.node.name]), s.isMemberExpression()) {
          let a = s.get("object"), o = s.get("property");
          if (a.isIdentifier() && o.isIdentifier() && BX(a.node.name) && !lat(o.node.name)) {
            r = global[a.node.name];
            let l = o.node.name;
            hasOwnProperty.call(r, l) && (i = r[l]);
          }
          if (a.isLiteral() && o.isIdentifier()) {
            let l = typeof a.node.value;
            (l === "string" || l === "number") && (r = a.node.value, i = r[o.node.name]);
          }
        }
        if (i) {
          let a = t.get("arguments").map((o) => Cn(o, e));
          return e.confident ? i.apply(r, a) : void 0;
        }
      }
      mu(t, e);
    }
  }
  n(cat, "_evaluate");
  function FX(t, e, s, r = !1) {
    let i = "", a = 0, o = t.isTemplateLiteral() ? t.get("expressions") : t.get("quasi.expressions");
    for (let l of e) {
      if (!s.confident) break;
      i += r ? l.value.raw : l.value.cooked;
      let u = o[a++];
      u && (i += String(Cn(u, s)));
    }
    if (s.confident)
      return i;
  }
  n(FX, "evaluateQuasis");
  function pat() {
    let t = {
      confident: !0,
      deoptPath: null,
      seen: /* @__PURE__ */ new Map()
    }, e = Cn(this, t);
    return t.confident || (e = void 0), {
      confident: t.confident,
      deopt: t.deoptPath,
      value: e
    };
  }
  n(pat, "evaluate");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/conversion.js
var HX = g((yu) => {
  "use strict";
  Object.defineProperty(yu, "__esModule", {
    value: !0
  });
  yu.arrowFunctionToExpression = Uat;
  yu.ensureBlock = jat;
  yu.ensureFunctionName = Zat;
  yu.splitExportDeclaration = Gat;
  yu.toComputedKey = Fat;
  yu.unwrapFunctionEnvironment = Rat;
  var hat = fe(), fat = Jl(), f2 = Og(), dat = ol(), {
    arrowFunctionExpression: d2,
    assignmentExpression: _h,
    binaryExpression: p2,
    blockStatement: mat,
    callExpression: $d,
    conditionalExpression: yat,
    expressionStatement: UX,
    identifier: dr,
    isIdentifier: gat,
    jsxIdentifier: Tat,
    logicalExpression: bat,
    LOGICAL_OPERATORS: xat,
    memberExpression: Eo,
    metaProperty: Sat,
    numericLiteral: Pat,
    objectExpression: Eat,
    restElement: Aat,
    returnStatement: vat,
    sequenceExpression: Cat,
    spreadElement: wat,
    stringLiteral: KX,
    super: h2,
    thisExpression: Hg,
    toExpression: VX,
    unaryExpression: Iat,
    toBindingIdentifierName: Nat,
    isFunction: kat,
    isAssignmentPattern: Dat,
    isRestElement: Oat,
    getFunctionName: _at,
    cloneNode: Lh,
    variableDeclaration: Lat,
    variableDeclarator: Bat,
    exportNamedDeclaration: RX,
    exportSpecifier: qX,
    inherits: Mat
  } = hat;
  function Fat() {
    let t;
    if (this.isMemberExpression())
      t = this.node.property;
    else if (this.isProperty() || this.isMethod())
      t = this.node.key;
    else
      throw new ReferenceError("todo");
    return this.node.computed || gat(t) && (t = KX(t.name)), t;
  }
  n(Fat, "toComputedKey");
  function jat() {
    let t = this.get("body"), e = t.node;
    if (Array.isArray(t))
      throw new Error("Can't convert array path to a block statement");
    if (!e)
      throw new Error("Can't convert node without a body");
    if (t.isBlockStatement())
      return e;
    let s = [], r = "body", i, a;
    t.isStatement() ? (a = "body", i = 0, s.push(t.node)) : (r += ".body.0", this.isFunction() ? (i = "argument", s.push(vat(t.node))) : (i =
    "expression", s.push(UX(t.node)))), this.node.body = mat(s);
    let o = this.get(r);
    return dat.setup.call(t, o, a ? o.node[a] : o.node, a, i), this.node;
  }
  n(jat, "ensureBlock");
  yu.arrowFunctionToShadowed = function() {
    this.isArrowFunctionExpression() && this.arrowFunctionToExpression();
  };
  function Rat() {
    if (!this.isArrowFunctionExpression() && !this.isFunctionExpression() && !this.isFunctionDeclaration())
      throw this.buildCodeFrameError("Can only unwrap the environment of a function.");
    WX(this);
  }
  n(Rat, "unwrapFunctionEnvironment");
  function qat(t, e) {
    t.node.type = e;
  }
  n(qat, "setType");
  function Uat({
    allowInsertArrow: t = !0,
    allowInsertArrowWithRest: e = t,
    noNewArrows: s = !((r) => (r = arguments[0]) == null ? void 0 : r.specCompliant)()
  } = {}) {
    if (!this.isArrowFunctionExpression())
      throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");
    let r = this;
    if (!s) {
      var i;
      r = (i = r.ensureFunctionName(!1)) != null ? i : r;
    }
    let {
      thisBinding: a,
      fnPath: o
    } = WX(r, s, t, e);
    if (o.ensureBlock(), qat(o, "FunctionExpression"), !s) {
      let l = a ? null : o.scope.generateUidIdentifier("arrowCheckId");
      return l && o.parentPath.scope.push({
        id: l,
        init: Eat([])
      }), o.get("body").unshiftContainer("body", UX($d(this.hub.addHelper("newArrowCheck"), [Hg(), dr(l ? l.name : a)]))), o.replaceWith($d(
      Eo(o.node, dr("bind")), [l ? dr(l.name) : Hg()])), o.get("callee.object");
    }
    return o;
  }
  n(Uat, "arrowFunctionToExpression");
  var Kat = (0, f2.environmentVisitor)({
    CallExpression(t, {
      allSuperCalls: e
    }) {
      t.get("callee").isSuper() && e.push(t);
    }
  });
  function WX(t, e = !0, s = !0, r = !0) {
    let i, a = t.findParent((d) => {
      if (d.isArrowFunctionExpression()) {
        var m;
        return (m = i) != null || (i = d), !1;
      }
      return d.isFunction() || d.isProgram() || d.isClassProperty({
        static: !1
      }) || d.isClassPrivateProperty({
        static: !1
      });
    }), o = a.isClassMethod({
      kind: "constructor"
    });
    if (a.isClassProperty() || a.isClassPrivateProperty())
      if (i)
        a = i;
      else if (s)
        t.replaceWith($d(d2([], VX(t.node)), [])), a = t.get("callee"), t = a.get("body");
      else
        throw t.buildCodeFrameError("Unable to transform arrow inside class property");
    let {
      thisPaths: l,
      argumentsPaths: u,
      newTargetPaths: c,
      superProps: p,
      superCalls: h
    } = zat(t);
    if (o && h.length > 0) {
      if (!s)
        throw h[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super()` in an a\
rrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");
      if (!r)
        throw h[0].buildCodeFrameError("When using '@babel/plugin-transform-parameters', it's not possible to compile `super()` in an arrow \
function with default or rest parameters without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration\
.");
      let d = [];
      a.traverse(Kat, {
        allSuperCalls: d
      });
      let m = Jat(a);
      d.forEach((y) => {
        let T = dr(m);
        T.loc = y.node.callee.loc, y.get("callee").replaceWith(T);
      });
    }
    if (u.length > 0) {
      let d = Jg(a, "arguments", () => {
        let m = /* @__PURE__ */ n(() => dr("arguments"), "args");
        return a.scope.path.isProgram() ? yat(p2("===", Iat("typeof", m()), KX("undefined")), a.scope.buildUndefinedNode(), m()) : m();
      });
      u.forEach((m) => {
        let y = dr(d);
        y.loc = m.node.loc, m.replaceWith(y);
      });
    }
    if (c.length > 0) {
      let d = Jg(a, "newtarget", () => Sat(dr("new"), dr("target")));
      c.forEach((m) => {
        let y = dr(d);
        y.loc = m.node.loc, m.replaceWith(y);
      });
    }
    if (p.length > 0) {
      if (!s)
        throw p[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super.prop` in a\
n arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");
      p.reduce((m, y) => m.concat(Wat(y)), []).forEach((m) => {
        let y = m.node.computed ? "" : m.get("property").node.name, T = m.parentPath, b = T.isAssignmentExpression({
          left: m.node
        }), E = T.isCallExpression({
          callee: m.node
        }), V = T.isTaggedTemplateExpression({
          tag: m.node
        }), W = Yat(a, b, y), oe = [];
        if (m.node.computed && oe.push(m.get("property").node), b) {
          let ye = T.node.right;
          oe.push(ye);
        }
        let de = $d(dr(W), oe);
        E ? (T.unshiftContainer("arguments", Hg()), m.replaceWith(Eo(de, dr("call"))), l.push(T.get("arguments.0"))) : b ? T.replaceWith(de) :
        V ? (m.replaceWith($d(Eo(de, dr("bind"), !1), [Hg()])), l.push(m.get("arguments.0"))) : m.replaceWith(de);
      });
    }
    let f;
    return (l.length > 0 || !e) && (f = Hat(a, o), (e || o && $X(a)) && (l.forEach((d) => {
      let m = d.isJSX() ? Tat(f) : dr(f);
      m.loc = d.node.loc, d.replaceWith(m);
    }), e || (f = null))), {
      thisBinding: f,
      fnPath: t
    };
  }
  n(WX, "hoistFunctionEnvironment");
  function Vat(t) {
    return xat.includes(t);
  }
  n(Vat, "isLogicalOp");
  function Wat(t) {
    if (t.parentPath.isAssignmentExpression() && t.parentPath.node.operator !== "=") {
      let s = t.parentPath, r = s.node.operator.slice(0, -1), i = s.node.right, a = Vat(r);
      if (t.node.computed) {
        let o = t.scope.generateDeclaredUidIdentifier("tmp"), l = t.node.object, u = t.node.property;
        s.get("left").replaceWith(Eo(l, _h("=", o, u), !0)), s.get("right").replaceWith(e(a ? "=" : r, Eo(l, dr(o.name), !0), i));
      } else {
        let o = t.node.object, l = t.node.property;
        s.get("left").replaceWith(Eo(o, l)), s.get("right").replaceWith(e(a ? "=" : r, Eo(o, dr(l.name)), i));
      }
      return a ? s.replaceWith(bat(r, s.node.left, s.node.right)) : s.node.operator = "=", [s.get("left"), s.get("right").get("left")];
    } else if (t.parentPath.isUpdateExpression()) {
      let s = t.parentPath, r = t.scope.generateDeclaredUidIdentifier("tmp"), i = t.node.computed ? t.scope.generateDeclaredUidIdentifier("p\
rop") : null, a = [_h("=", r, Eo(t.node.object, i ? _h("=", i, t.node.property) : t.node.property, t.node.computed)), _h("=", Eo(t.node.object,
      i ? dr(i.name) : t.node.property, t.node.computed), p2(t.parentPath.node.operator[0], dr(r.name), Pat(1)))];
      t.parentPath.node.prefix || a.push(dr(r.name)), s.replaceWith(Cat(a));
      let o = s.get("expressions.0.right"), l = s.get("expressions.1.left");
      return [o, l];
    }
    return [t];
    function e(s, r, i) {
      return s === "=" ? _h("=", r, i) : p2(s, r, i);
    }
  }
  n(Wat, "standardizeSuperProperty");
  function $X(t) {
    return t.isClassMethod() && !!t.parentPath.parentPath.node.superClass;
  }
  n($X, "hasSuperClass");
  var $at = (0, f2.environmentVisitor)({
    CallExpression(t, {
      supers: e,
      thisBinding: s
    }) {
      t.get("callee").isSuper() && (e.has(t.node) || (e.add(t.node), t.replaceWithMultiple([t.node, _h("=", dr(s), dr("this"))])));
    }
  });
  function Hat(t, e) {
    return Jg(t, "this", (s) => {
      if (!e || !$X(t)) return Hg();
      t.traverse($at, {
        supers: /* @__PURE__ */ new WeakSet(),
        thisBinding: s
      });
    });
  }
  n(Hat, "getThisBinding");
  function Jat(t) {
    return Jg(t, "supercall", () => {
      let e = t.scope.generateUidIdentifier("args");
      return d2([Aat(e)], $d(h2(), [wat(dr(e.name))]));
    });
  }
  n(Jat, "getSuperBinding");
  function Yat(t, e, s) {
    return Jg(t, `superprop_${e ? "set" : "get"}:${s || ""}`, () => {
      let i = [], a;
      if (s)
        a = Eo(h2(), dr(s));
      else {
        let o = t.scope.generateUidIdentifier("prop");
        i.unshift(o), a = Eo(h2(), dr(o.name), !0);
      }
      if (e) {
        let o = t.scope.generateUidIdentifier("value");
        i.push(o), a = _h("=", a, dr(o.name));
      }
      return d2(i, a);
    });
  }
  n(Yat, "getSuperPropBinding");
  function Jg(t, e, s) {
    let r = "binding:" + e, i = t.getData(r);
    if (!i) {
      let a = t.scope.generateUidIdentifier(e);
      i = a.name, t.setData(r, i), t.scope.push({
        id: a,
        init: s(i)
      });
    }
    return i;
  }
  n(Jg, "getBinding");
  var Xat = (0, f2.environmentVisitor)({
    ThisExpression(t, {
      thisPaths: e
    }) {
      e.push(t);
    },
    JSXIdentifier(t, {
      thisPaths: e
    }) {
      t.node.name === "this" && (!t.parentPath.isJSXMemberExpression({
        object: t.node
      }) && !t.parentPath.isJSXOpeningElement({
        name: t.node
      }) || e.push(t));
    },
    CallExpression(t, {
      superCalls: e
    }) {
      t.get("callee").isSuper() && e.push(t);
    },
    MemberExpression(t, {
      superProps: e
    }) {
      t.get("object").isSuper() && e.push(t);
    },
    Identifier(t, {
      argumentsPaths: e
    }) {
      if (!t.isReferencedIdentifier({
        name: "arguments"
      })) return;
      let s = t.scope;
      do {
        if (s.hasOwnBinding("arguments")) {
          s.rename("arguments");
          return;
        }
        if (s.path.isFunction() && !s.path.isArrowFunctionExpression())
          break;
      } while (s = s.parent);
      e.push(t);
    },
    MetaProperty(t, {
      newTargetPaths: e
    }) {
      t.get("meta").isIdentifier({
        name: "new"
      }) && t.get("property").isIdentifier({
        name: "target"
      }) && e.push(t);
    }
  });
  function zat(t) {
    let e = [], s = [], r = [], i = [], a = [];
    return t.traverse(Xat, {
      thisPaths: e,
      argumentsPaths: s,
      newTargetPaths: r,
      superProps: i,
      superCalls: a
    }), {
      thisPaths: e,
      argumentsPaths: s,
      newTargetPaths: r,
      superProps: i,
      superCalls: a
    };
  }
  n(zat, "getScopeInformation");
  function Gat() {
    if (!this.isExportDeclaration() || this.isExportAllDeclaration())
      throw new Error("Only default and named export declarations can be split.");
    if (this.isExportNamedDeclaration() && this.get("specifiers").length > 0)
      throw new Error("It doesn't make sense to split exported specifiers.");
    let t = this.get("declaration");
    if (this.isExportDefaultDeclaration()) {
      let i = t.isFunctionDeclaration() || t.isClassDeclaration(), a = t.isFunctionExpression() || t.isClassExpression(), o = t.isScope() ? t.
      scope.parent : t.scope, l = t.node.id, u = !1;
      l ? a && o.hasBinding(l.name) && (u = !0, l = o.generateUidIdentifier(l.name)) : (u = !0, l = o.generateUidIdentifier("default"), (i ||
      a) && (t.node.id = Lh(l)));
      let c = i ? t.node : Lat("var", [Bat(Lh(l), t.node)]), p = RX(null, [qX(Lh(l), dr("default"))]);
      return this.insertAfter(p), this.replaceWith(c), u && o.registerDeclaration(this), this;
    } else if (this.get("specifiers").length > 0)
      throw new Error("It doesn't make sense to split exported specifiers.");
    let e = t.getOuterBindingIdentifiers(), s = Object.keys(e).map((i) => qX(dr(i), dr(i))), r = RX(null, s);
    return this.insertAfter(r), this.replaceWith(t.node), this;
  }
  n(Gat, "splitExportDeclaration");
  var Qat = {
    "ReferencedIdentifier|BindingIdentifier"(t, e) {
      t.node.name === e.name && (e.needsRename = !0, t.stop());
    },
    Scope(t, e) {
      t.scope.hasOwnBinding(e.name) && t.skip();
    }
  };
  function Zat(t) {
    if (this.node.id) return this;
    let e = _at(this.node, this.parent);
    if (e == null) return this;
    let {
      name: s
    } = e;
    if (!t && /[\uD800-\uDFFF]/.test(s) || s.startsWith("get ") || s.startsWith("set "))
      return null;
    s = Nat(s.replace(/[/ ]/g, "_"));
    let r = dr(s);
    Mat(r, e.originalNode);
    let i = {
      needsRename: !1,
      name: s
    }, {
      scope: a
    } = this, o = a.getOwnBinding(s);
    if (o ? o.kind === "param" && (i.needsRename = !0) : (a.parent.hasBinding(s) || a.hasGlobal(s)) && this.traverse(Qat, i), !i.needsRename)
      return this.node.id = r, a.getProgramParent().references[r.name] = !0, this;
    if (a.hasBinding(r.name) && !a.hasGlobal(r.name))
      return a.rename(r.name), this.node.id = r, a.getProgramParent().references[r.name] = !0, this;
    if (!kat(this.node)) return null;
    let l = a.generateUidIdentifier(r.name), u = [];
    for (let p = 0, h = eot(this.node); p < h; p++)
      u.push(a.generateUidIdentifier("x"));
    let c = fat.default.expression.ast`
    (function (${l}) {
      function ${r}(${u}) {
        return ${Lh(l)}.apply(this, arguments);
      }

      ${Lh(r)}.toString = function () {
        return ${Lh(l)}.toString();
      }

      return ${Lh(r)};
    })(${VX(this.node)})
  `;
    return this.replaceWith(c)[0].get("arguments.0");
  }
  n(Zat, "ensureFunctionName");
  function eot(t) {
    let e = t.params.findIndex((s) => Dat(s) || Oat(s));
    return e === -1 ? t.params.length : e;
  }
  n(eot, "getFunctionArity");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/introspection.js
var QX = g((ri) => {
  "use strict";
  Object.defineProperty(ri, "__esModule", {
    value: !0
  });
  ri._guessExecutionStatusRelativeTo = Sot;
  ri._resolve = GX;
  ri.canHaveVariableDeclarationOrExpression = fot;
  ri.canSwapBetweenExpressionAndStatement = dot;
  ri.getSource = Tot;
  ri.isCompletionRecord = mot;
  ri.isConstantExpression = vot;
  ri.isInStrictMode = Cot;
  ri.isNodeType = hot;
  ri.isStatementOrBlock = yot;
  ri.isStatic = pot;
  ri.matchesPattern = cot;
  ri.referencesImport = got;
  ri.resolve = Aot;
  ri.willIMaybeExecuteBefore = bot;
  var tot = fe(), {
    STATEMENT_OR_BLOCK_KEYS: sot,
    VISITOR_KEYS: rot,
    isBlockStatement: zX,
    isExpression: iot,
    isIdentifier: not,
    isLiteral: aot,
    isStringLiteral: oot,
    isType: lot,
    matchesPattern: uot
  } = tot;
  function cot(t, e) {
    return uot(this.node, t, e);
  }
  n(cot, "matchesPattern");
  ri.has = /* @__PURE__ */ n(function(e) {
    var s;
    let r = (s = this.node) == null ? void 0 : s[e];
    return r && Array.isArray(r) ? !!r.length : !!r;
  }, "has");
  function pot() {
    return this.scope.isStatic(this.node);
  }
  n(pot, "isStatic");
  ri.is = ri.has, ri.isnt = /* @__PURE__ */ n(function(e) {
    return !this.has(e);
  }, "isnt"), ri.equals = /* @__PURE__ */ n(function(e, s) {
    return this.node[e] === s;
  }, "equals");
  function hot(t) {
    return lot(this.type, t);
  }
  n(hot, "isNodeType");
  function fot() {
    return (this.key === "init" || this.key === "left") && this.parentPath.isFor();
  }
  n(fot, "canHaveVariableDeclarationOrExpression");
  function dot(t) {
    return this.key !== "body" || !this.parentPath.isArrowFunctionExpression() ? !1 : this.isExpression() ? zX(t) : this.isBlockStatement() ?
    iot(t) : !1;
  }
  n(dot, "canSwapBetweenExpressionAndStatement");
  function mot(t) {
    let e = this, s = !0;
    do {
      let {
        type: r,
        container: i
      } = e;
      if (!s && (e.isFunction() || r === "StaticBlock"))
        return !!t;
      if (s = !1, Array.isArray(i) && e.key !== i.length - 1)
        return !1;
    } while ((e = e.parentPath) && !e.isProgram() && !e.isDoExpression());
    return !0;
  }
  n(mot, "isCompletionRecord");
  function yot() {
    return this.parentPath.isLabeledStatement() || zX(this.container) ? !1 : sot.includes(this.key);
  }
  n(yot, "isStatementOrBlock");
  function got(t, e) {
    if (!this.isReferencedIdentifier()) {
      if (this.isJSXMemberExpression() && this.node.property.name === e || (this.isMemberExpression() || this.isOptionalMemberExpression()) &&
      (this.node.computed ? oot(this.node.property, {
        value: e
      }) : this.node.property.name === e)) {
        let a = this.get("object");
        return a.isReferencedIdentifier() && a.referencesImport(t, "*");
      }
      return !1;
    }
    let s = this.scope.getBinding(this.node.name);
    if (!s || s.kind !== "module") return !1;
    let r = s.path, i = r.parentPath;
    if (!i.isImportDeclaration()) return !1;
    if (i.node.source.value === t) {
      if (!e) return !0;
    } else
      return !1;
    return !!(r.isImportDefaultSpecifier() && e === "default" || r.isImportNamespaceSpecifier() && e === "*" || r.isImportSpecifier() && not(
    r.node.imported, {
      name: e
    }));
  }
  n(got, "referencesImport");
  function Tot() {
    let t = this.node;
    if (t.end) {
      let e = this.hub.getCode();
      if (e) return e.slice(t.start, t.end);
    }
    return "";
  }
  n(Tot, "getSource");
  function bot(t) {
    return this._guessExecutionStatusRelativeTo(t) !== "after";
  }
  n(bot, "willIMaybeExecuteBefore");
  function JX(t) {
    return t.isProgram() ? t : (t.parentPath.scope.getFunctionParent() || t.parentPath.scope.getProgramParent()).path;
  }
  n(JX, "getOuterFunction");
  function xot(t, e) {
    switch (t) {
      case "LogicalExpression":
        return e === "right";
      case "ConditionalExpression":
      case "IfStatement":
        return e === "consequent" || e === "alternate";
      case "WhileStatement":
      case "DoWhileStatement":
      case "ForInStatement":
      case "ForOfStatement":
        return e === "body";
      case "ForStatement":
        return e === "body" || e === "update";
      case "SwitchStatement":
        return e === "cases";
      case "TryStatement":
        return e === "handler";
      case "AssignmentPattern":
        return e === "right";
      case "OptionalMemberExpression":
        return e === "property";
      case "OptionalCallExpression":
        return e === "arguments";
      default:
        return !1;
    }
  }
  n(xot, "isExecutionUncertain");
  function YX(t, e) {
    for (let s = 0; s < e; s++) {
      let r = t[s];
      if (xot(r.parent.type, r.parentKey))
        return !0;
    }
    return !1;
  }
  n(YX, "isExecutionUncertainInList");
  var XX = Symbol();
  function Sot(t) {
    return m2(this, t, /* @__PURE__ */ new Map());
  }
  n(Sot, "_guessExecutionStatusRelativeTo");
  function m2(t, e, s) {
    let r = {
      this: JX(t),
      target: JX(e)
    };
    if (r.target.node !== r.this.node)
      return Eot(t, r.target, s);
    let i = {
      target: e.getAncestry(),
      this: t.getAncestry()
    };
    if (i.target.includes(t)) return "after";
    if (i.this.includes(e)) return "before";
    let a, o = {
      target: 0,
      this: 0
    };
    for (; !a && o.this < i.this.length; ) {
      let p = i.this[o.this];
      o.target = i.target.indexOf(p), o.target >= 0 ? a = p : o.this++;
    }
    if (!a)
      throw new Error("Internal Babel error - The two compared nodes don't appear to belong to the same program.");
    if (YX(i.this, o.this - 1) || YX(i.target, o.target - 1))
      return "unknown";
    let l = {
      this: i.this[o.this - 1],
      target: i.target[o.target - 1]
    };
    if (l.target.listKey && l.this.listKey && l.target.container === l.this.container)
      return l.target.key > l.this.key ? "before" : "after";
    let u = rot[a.type], c = {
      this: u.indexOf(l.this.parentKey),
      target: u.indexOf(l.target.parentKey)
    };
    return c.target > c.this ? "before" : "after";
  }
  n(m2, "_guessExecutionStatusRelativeToCached");
  function Pot(t, e, s) {
    if (e.isFunctionDeclaration()) {
      if (e.parentPath.isExportDeclaration())
        return "unknown";
    } else return m2(t, e, s) === "before" ? "before" : "unknown";
    let r = e.scope.getBinding(e.node.id.name);
    if (!r.references) return "before";
    let i = r.referencePaths, a;
    for (let o of i) {
      if (!!o.find((c) => c.node === e.node)) continue;
      if (o.key !== "callee" || !o.parentPath.isCallExpression())
        return "unknown";
      let u = m2(t, o, s);
      if (a && a !== u)
        return "unknown";
      a = u;
    }
    return a;
  }
  n(Pot, "_guessExecutionStatusRelativeToDifferentFunctionsInternal");
  function Eot(t, e, s) {
    let r = s.get(t.node), i;
    if (!r)
      s.set(t.node, r = /* @__PURE__ */ new Map());
    else if (i = r.get(e.node))
      return i === XX ? "unknown" : i;
    r.set(e.node, XX);
    let a = Pot(t, e, s);
    return r.set(e.node, a), a;
  }
  n(Eot, "_guessExecutionStatusRelativeToDifferentFunctionsCached");
  function Aot(t, e) {
    return GX.call(this, t, e) || this;
  }
  n(Aot, "resolve");
  function GX(t, e) {
    var s;
    if (!((s = e) != null && s.includes(this)))
      if (e = e || [], e.push(this), this.isVariableDeclarator()) {
        if (this.get("id").isIdentifier())
          return this.get("init").resolve(t, e);
      } else if (this.isReferencedIdentifier()) {
        let r = this.scope.getBinding(this.node.name);
        if (!r || !r.constant || r.kind === "module") return;
        if (r.path !== this) {
          let i = r.path.resolve(t, e);
          return this.find((a) => a.node === i.node) ? void 0 : i;
        }
      } else {
        if (this.isTypeCastExpression())
          return this.get("expression").resolve(t, e);
        if (t && this.isMemberExpression()) {
          let r = this.toComputedKey();
          if (!aot(r)) return;
          let i = r.value, a = this.get("object").resolve(t, e);
          if (a.isObjectExpression()) {
            let o = a.get("properties");
            for (let l of o) {
              if (!l.isProperty()) continue;
              let u = l.get("key"), c = l.isnt("computed") && u.isIdentifier({
                name: i
              });
              if (c = c || u.isLiteral({
                value: i
              }), c) return l.get("value").resolve(t, e);
            }
          } else if (a.isArrayExpression() && !isNaN(+i)) {
            let l = a.get("elements")[i];
            if (l) return l.resolve(t, e);
          }
        }
      }
  }
  n(GX, "_resolve");
  function vot() {
    if (this.isIdentifier()) {
      let t = this.scope.getBinding(this.node.name);
      return t ? t.constant : !1;
    }
    if (this.isLiteral())
      return this.isRegExpLiteral() ? !1 : this.isTemplateLiteral() ? this.get("expressions").every((t) => t.isConstantExpression()) : !0;
    if (this.isUnaryExpression())
      return this.node.operator !== "void" ? !1 : this.get("argument").isConstantExpression();
    if (this.isBinaryExpression()) {
      let {
        operator: t
      } = this.node;
      return t !== "in" && t !== "instanceof" && this.get("left").isConstantExpression() && this.get("right").isConstantExpression();
    }
    return this.isMemberExpression() ? !this.node.computed && this.get("object").isIdentifier({
      name: "Symbol"
    }) && !this.scope.hasBinding("Symbol", {
      noGlobals: !0
    }) : this.isCallExpression() ? this.node.arguments.length === 1 && this.get("callee").matchesPattern("Symbol.for") && !this.scope.hasBinding(
    "Symbol", {
      noGlobals: !0
    }) && this.get("arguments")[0].isStringLiteral() : !1;
  }
  n(vot, "isConstantExpression");
  function Cot() {
    return !!(this.isProgram() ? this : this.parentPath).find((s) => {
      if (s.isProgram({
        sourceType: "module"
      }) || s.isClass()) return !0;
      if (s.isArrowFunctionExpression() && !s.get("body").isBlockStatement())
        return !1;
      let r;
      if (s.isFunction())
        r = s.node.body;
      else if (s.isProgram())
        r = s.node;
      else
        return !1;
      for (let i of r.directives)
        if (i.value.value === "use strict")
          return !0;
    });
  }
  n(Cot, "isInStrictMode");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/family.js
var rz = g((Vi) => {
  "use strict";
  Object.defineProperty(Vi, "__esModule", {
    value: !0
  });
  Vi._getKey = tz;
  Vi._getPattern = sz;
  Vi.get = Vot;
  Vi.getAllNextSiblings = Uot;
  Vi.getAllPrevSiblings = Kot;
  Vi.getAssignmentIdentifiers = Wot;
  Vi.getBindingIdentifierPaths = Jot;
  Vi.getBindingIdentifiers = $ot;
  Vi.getCompletionRecords = Fot;
  Vi.getNextSibling = qot;
  Vi.getOpposite = Lot;
  Vi.getOuterBindingIdentifierPaths = Yot;
  Vi.getOuterBindingIdentifiers = Hot;
  Vi.getPrevSibling = Rot;
  Vi.getSibling = jot;
  var g2 = Xc(), wot = fe(), {
    getAssignmentIdentifiers: Iot,
    getBindingIdentifiers: ez,
    getOuterBindingIdentifiers: Not,
    numericLiteral: kot,
    unaryExpression: Dot
  } = wot, T2 = 0, Yg = 1;
  function Oot(t) {
    return {
      type: T2,
      path: t
    };
  }
  n(Oot, "NormalCompletion");
  function _ot(t) {
    return {
      type: Yg,
      path: t
    };
  }
  n(_ot, "BreakCompletion");
  function Lot() {
    return this.key === "left" ? this.getSibling("right") : this.key === "right" ? this.getSibling("left") : null;
  }
  n(Lot, "getOpposite");
  function Hd(t, e, s) {
    return t && e.push(...Jd(t, s)), e;
  }
  n(Hd, "addCompletionRecords");
  function Bot(t, e, s) {
    let r = [];
    for (let i = 0; i < t.length; i++) {
      let a = t[i], o = Jd(a, s), l = [], u = [];
      for (let c of o)
        c.type === T2 && l.push(c), c.type === Yg && u.push(c);
      l.length && (r = l), e.push(...u);
    }
    return e.push(...r), e;
  }
  n(Bot, "completionRecordForSwitch");
  function Mot(t) {
    t.forEach((e) => {
      e.type = Yg;
    });
  }
  n(Mot, "normalCompletionToBreak");
  function y2(t, e) {
    t.forEach((s) => {
      s.path.isBreakStatement({
        label: null
      }) && (e ? s.path.replaceWith(Dot("void", kot(0))) : s.path.remove());
    });
  }
  n(y2, "replaceBreakStatementInBreakCompletion");
  function ZX(t, e) {
    let s = [];
    if (e.canHaveBreak) {
      let r = [];
      for (let i = 0; i < t.length; i++) {
        let a = t[i], o = Object.assign({}, e, {
          inCaseClause: !1
        });
        a.isBlockStatement() && (e.inCaseClause || e.shouldPopulateBreak) ? o.shouldPopulateBreak = !0 : o.shouldPopulateBreak = !1;
        let l = Jd(a, o);
        if (l.length > 0 && l.every((u) => u.type === Yg)) {
          r.length > 0 && l.every((u) => u.path.isBreakStatement({
            label: null
          })) ? (Mot(r), s.push(...r), r.some((u) => u.path.isDeclaration()) && (s.push(...l), y2(l, !0)), y2(l, !1)) : (s.push(...l), e.shouldPopulateBreak ||
          y2(l, !0));
          break;
        }
        if (i === t.length - 1)
          s.push(...l);
        else {
          r = [];
          for (let u = 0; u < l.length; u++) {
            let c = l[u];
            c.type === Yg && s.push(c), c.type === T2 && r.push(c);
          }
        }
      }
    } else if (t.length)
      for (let r = t.length - 1; r >= 0; r--) {
        let i = Jd(t[r], e);
        if (i.length > 1 || i.length === 1 && !i[0].path.isVariableDeclaration()) {
          s.push(...i);
          break;
        }
      }
    return s;
  }
  n(ZX, "getStatementListCompletion");
  function Jd(t, e) {
    let s = [];
    if (t.isIfStatement())
      s = Hd(t.get("consequent"), s, e), s = Hd(t.get("alternate"), s, e);
    else {
      if (t.isDoExpression() || t.isFor() || t.isWhile() || t.isLabeledStatement())
        return Hd(t.get("body"), s, e);
      if (t.isProgram() || t.isBlockStatement())
        return ZX(t.get("body"), e);
      if (t.isFunction())
        return Jd(t.get("body"), e);
      if (t.isTryStatement())
        s = Hd(t.get("block"), s, e), s = Hd(t.get("handler"), s, e);
      else {
        if (t.isCatchClause())
          return Hd(t.get("body"), s, e);
        if (t.isSwitchStatement())
          return Bot(t.get("cases"), s, e);
        if (t.isSwitchCase())
          return ZX(t.get("consequent"), {
            canHaveBreak: !0,
            shouldPopulateBreak: !1,
            inCaseClause: !0
          });
        t.isBreakStatement() ? s.push(_ot(t)) : s.push(Oot(t));
      }
    }
    return s;
  }
  n(Jd, "_getCompletionRecords");
  function Fot() {
    return Jd(this, {
      canHaveBreak: !1,
      shouldPopulateBreak: !1,
      inCaseClause: !1
    }).map((e) => e.path);
  }
  n(Fot, "getCompletionRecords");
  function jot(t) {
    return g2.default.get({
      parentPath: this.parentPath,
      parent: this.parent,
      container: this.container,
      listKey: this.listKey,
      key: t
    }).setContext(this.context);
  }
  n(jot, "getSibling");
  function Rot() {
    return this.getSibling(this.key - 1);
  }
  n(Rot, "getPrevSibling");
  function qot() {
    return this.getSibling(this.key + 1);
  }
  n(qot, "getNextSibling");
  function Uot() {
    let t = this.key, e = this.getSibling(++t), s = [];
    for (; e.node; )
      s.push(e), e = this.getSibling(++t);
    return s;
  }
  n(Uot, "getAllNextSiblings");
  function Kot() {
    let t = this.key, e = this.getSibling(--t), s = [];
    for (; e.node; )
      s.push(e), e = this.getSibling(--t);
    return s;
  }
  n(Kot, "getAllPrevSiblings");
  function Vot(t, e = !0) {
    e === !0 && (e = this.context);
    let s = t.split(".");
    return s.length === 1 ? tz.call(this, t, e) : sz.call(this, s, e);
  }
  n(Vot, "get");
  function tz(t, e) {
    let s = this.node, r = s[t];
    return Array.isArray(r) ? r.map((i, a) => g2.default.get({
      listKey: t,
      parentPath: this,
      parent: s,
      container: r,
      key: a
    }).setContext(e)) : g2.default.get({
      parentPath: this,
      parent: s,
      container: s,
      key: t
    }).setContext(e);
  }
  n(tz, "_getKey");
  function sz(t, e) {
    let s = this;
    for (let r of t)
      r === "." ? s = s.parentPath : Array.isArray(s) ? s = s[r] : s = s.get(r, e);
    return s;
  }
  n(sz, "_getPattern");
  function Wot() {
    return Iot(this.node);
  }
  n(Wot, "getAssignmentIdentifiers");
  function $ot(t) {
    return ez(this.node, t);
  }
  n($ot, "getBindingIdentifiers");
  function Hot(t) {
    return Not(this.node, t);
  }
  n(Hot, "getOuterBindingIdentifiers");
  function Jot(t = !1, e = !1) {
    let r = [this], i = /* @__PURE__ */ Object.create(null);
    for (; r.length; ) {
      let a = r.shift();
      if (!a || !a.node) continue;
      let o = ez.keys[a.node.type];
      if (a.isIdentifier()) {
        t ? (i[a.node.name] = i[a.node.name] || []).push(a) : i[a.node.name] = a;
        continue;
      }
      if (a.isExportDeclaration()) {
        let l = a.get("declaration");
        l.isDeclaration() && r.push(l);
        continue;
      }
      if (e) {
        if (a.isFunctionDeclaration()) {
          r.push(a.get("id"));
          continue;
        }
        if (a.isFunctionExpression())
          continue;
      }
      if (o)
        for (let l = 0; l < o.length; l++) {
          let u = o[l], c = a.get(u);
          Array.isArray(c) ? r.push(...c) : c.node && r.push(c);
        }
    }
    return i;
  }
  n(Jot, "getBindingIdentifierPaths");
  function Yot(t = !1) {
    return this.getBindingIdentifierPaths(t, !0);
  }
  n(Yot, "getOuterBindingIdentifierPaths");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/comments.js
var nz = g((Xg) => {
  "use strict";
  Object.defineProperty(Xg, "__esModule", {
    value: !0
  });
  Xg.addComment = Zot;
  Xg.addComments = elt;
  Xg.shareCommentsWithSiblings = Qot;
  var Xot = fe(), {
    addComment: zot,
    addComments: Got
  } = Xot;
  function Qot() {
    if (typeof this.key == "string") return;
    let t = this.node;
    if (!t) return;
    let e = t.trailingComments, s = t.leadingComments;
    if (!e && !s) return;
    let r = this.getSibling(this.key - 1), i = this.getSibling(this.key + 1), a = !!r.node, o = !!i.node;
    a && (s && r.addComments("trailing", iz(s, r.node.trailingComments)), e && !o && r.addComments("trailing", e)), o && (e && i.addComments(
    "leading", iz(e, i.node.leadingComments)), s && !a && i.addComments("leading", s));
  }
  n(Qot, "shareCommentsWithSiblings");
  function iz(t, e) {
    if (!(e != null && e.length)) return t;
    let s = new Set(e);
    return t.filter((r) => !s.has(r));
  }
  n(iz, "removeIfExisting");
  function Zot(t, e, s) {
    zot(this.node, t, e, s);
  }
  n(Zot, "addComment");
  function elt(t, e) {
    Got(this.node, t, e);
  }
  n(elt, "addComments");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/index.js
var Xc = g((hl) => {
  "use strict";
  Object.defineProperty(hl, "__esModule", {
    value: !0
  });
  hl.default = hl.SHOULD_STOP = hl.SHOULD_SKIP = hl.REMOVED = void 0;
  var tlt = ID(), slt = yo(), rlt = _d(), ilt = FD(), lz = fe(), XS = lz, nlt = Ah(), alt = dY(), cl = mY(), Yd = BY(), Xd = TO(), az = jX(),
  Bh = HX(), xi = QX(), uz = ol(), ii = uz, zd = LS(), pl = BS(), wn = rz(), b2 = nz(), olt = kD(), {
    validate: llt
  } = lz, oz = slt("babel"), pKs = hl.REMOVED = 1, hKs = hl.SHOULD_STOP = 2, fKs = hl.SHOULD_SKIP = 4, gu = hl.default = class cz {
    static {
      n(this, "NodePath");
    }
    constructor(e, s) {
      this.contexts = [], this.state = null, this.opts = null, this._traverseFlags = 0, this.skipKeys = null, this.parentPath = null, this.container =
      null, this.listKey = null, this.key = null, this.node = null, this.type = null, this.parent = s, this.hub = e, this.data = null, this.
      context = null, this.scope = null;
    }
    get removed() {
      return (this._traverseFlags & 1) > 0;
    }
    set removed(e) {
      e ? this._traverseFlags |= 1 : this._traverseFlags &= -2;
    }
    get shouldStop() {
      return (this._traverseFlags & 2) > 0;
    }
    set shouldStop(e) {
      e ? this._traverseFlags |= 2 : this._traverseFlags &= -3;
    }
    get shouldSkip() {
      return (this._traverseFlags & 4) > 0;
    }
    set shouldSkip(e) {
      e ? this._traverseFlags |= 4 : this._traverseFlags &= -5;
    }
    static get({
      hub: e,
      parentPath: s,
      parent: r,
      container: i,
      listKey: a,
      key: o
    }) {
      if (!e && s && (e = s.hub), !r)
        throw new Error("To get a node path the parent needs to exist");
      let l = i[o], u = nlt.getOrCreateCachedPaths(e, r), c = u.get(l);
      return c || (c = new cz(e, r), l && u.set(l, c)), uz.setup.call(c, s, i, a, o), c;
    }
    getScope(e) {
      return this.isScope() ? new ilt.default(this) : e;
    }
    setData(e, s) {
      return this.data == null && (this.data = /* @__PURE__ */ Object.create(null)), this.data[e] = s;
    }
    getData(e, s) {
      this.data == null && (this.data = /* @__PURE__ */ Object.create(null));
      let r = this.data[e];
      return r === void 0 && s !== void 0 && (r = this.data[e] = s), r;
    }
    hasNode() {
      return this.node != null;
    }
    buildCodeFrameError(e, s = SyntaxError) {
      return this.hub.buildError(this.node, e, s);
    }
    traverse(e, s) {
      (0, rlt.default)(this.node, e, this.scope, s, this);
    }
    set(e, s) {
      llt(this.node, e, s), this.node[e] = s;
    }
    getPathLocation() {
      let e = [], s = this;
      do {
        let r = s.key;
        s.inList && (r = `${s.listKey}[${r}]`), e.unshift(r);
      } while (s = s.parentPath);
      return e.join(".");
    }
    debug(e) {
      oz.enabled && oz(`${this.getPathLocation()} ${this.type}: ${e}`);
    }
    toString() {
      return (0, alt.default)(this.node).code;
    }
    get inList() {
      return !!this.listKey;
    }
    set inList(e) {
      e || (this.listKey = null);
    }
    get parentKey() {
      return this.listKey || this.key;
    }
  }, ult = {
    findParent: cl.findParent,
    find: cl.find,
    getFunctionParent: cl.getFunctionParent,
    getStatementParent: cl.getStatementParent,
    getEarliestCommonAncestorFrom: cl.getEarliestCommonAncestorFrom,
    getDeepestCommonAncestorFrom: cl.getDeepestCommonAncestorFrom,
    getAncestry: cl.getAncestry,
    isAncestor: cl.isAncestor,
    isDescendant: cl.isDescendant,
    inType: cl.inType,
    getTypeAnnotation: Yd.getTypeAnnotation,
    isBaseType: Yd.isBaseType,
    couldBeBaseType: Yd.couldBeBaseType,
    baseTypeStrictlyMatches: Yd.baseTypeStrictlyMatches,
    isGenericType: Yd.isGenericType,
    replaceWithMultiple: Xd.replaceWithMultiple,
    replaceWithSourceString: Xd.replaceWithSourceString,
    replaceWith: Xd.replaceWith,
    replaceExpressionWithStatements: Xd.replaceExpressionWithStatements,
    replaceInline: Xd.replaceInline,
    evaluateTruthy: az.evaluateTruthy,
    evaluate: az.evaluate,
    toComputedKey: Bh.toComputedKey,
    ensureBlock: Bh.ensureBlock,
    unwrapFunctionEnvironment: Bh.unwrapFunctionEnvironment,
    arrowFunctionToExpression: Bh.arrowFunctionToExpression,
    splitExportDeclaration: Bh.splitExportDeclaration,
    ensureFunctionName: Bh.ensureFunctionName,
    matchesPattern: xi.matchesPattern,
    isStatic: xi.isStatic,
    isNodeType: xi.isNodeType,
    canHaveVariableDeclarationOrExpression: xi.canHaveVariableDeclarationOrExpression,
    canSwapBetweenExpressionAndStatement: xi.canSwapBetweenExpressionAndStatement,
    isCompletionRecord: xi.isCompletionRecord,
    isStatementOrBlock: xi.isStatementOrBlock,
    referencesImport: xi.referencesImport,
    getSource: xi.getSource,
    willIMaybeExecuteBefore: xi.willIMaybeExecuteBefore,
    _guessExecutionStatusRelativeTo: xi._guessExecutionStatusRelativeTo,
    resolve: xi.resolve,
    isConstantExpression: xi.isConstantExpression,
    isInStrictMode: xi.isInStrictMode,
    isDenylisted: ii.isDenylisted,
    visit: ii.visit,
    skip: ii.skip,
    skipKey: ii.skipKey,
    stop: ii.stop,
    setContext: ii.setContext,
    requeue: ii.requeue,
    requeueComputedKeyAndDecorators: ii.requeueComputedKeyAndDecorators,
    remove: zd.remove,
    insertBefore: pl.insertBefore,
    insertAfter: pl.insertAfter,
    unshiftContainer: pl.unshiftContainer,
    pushContainer: pl.pushContainer,
    getOpposite: wn.getOpposite,
    getCompletionRecords: wn.getCompletionRecords,
    getSibling: wn.getSibling,
    getPrevSibling: wn.getPrevSibling,
    getNextSibling: wn.getNextSibling,
    getAllNextSiblings: wn.getAllNextSiblings,
    getAllPrevSiblings: wn.getAllPrevSiblings,
    get: wn.get,
    getAssignmentIdentifiers: wn.getAssignmentIdentifiers,
    getBindingIdentifiers: wn.getBindingIdentifiers,
    getOuterBindingIdentifiers: wn.getOuterBindingIdentifiers,
    getBindingIdentifierPaths: wn.getBindingIdentifierPaths,
    getOuterBindingIdentifierPaths: wn.getOuterBindingIdentifierPaths,
    shareCommentsWithSiblings: b2.shareCommentsWithSiblings,
    addComment: b2.addComment,
    addComments: b2.addComments
  };
  Object.assign(gu.prototype, ult);
  gu.prototype.arrowFunctionToShadowed = Bh.arrowFunctionToShadowed, Object.assign(gu.prototype, {
    has: xi.has,
    is: xi.is,
    isnt: xi.isnt,
    equals: xi.equals,
    hoist: pl.hoist,
    updateSiblingKeys: pl.updateSiblingKeys,
    call: ii.call,
    isBlacklisted: ii.isBlacklisted,
    setScope: ii.setScope,
    resync: ii.resync,
    popContext: ii.popContext,
    pushContext: ii.pushContext,
    setup: ii.setup,
    setKey: ii.setKey
  });
  gu.prototype._guessExecutionStatusRelativeToDifferentFunctions = xi._guessExecutionStatusRelativeTo, gu.prototype._guessExecutionStatusRelativeToDifferentFunctions =
  xi._guessExecutionStatusRelativeTo, Object.assign(gu.prototype, {
    _getTypeAnnotation: Yd._getTypeAnnotation,
    _replaceWith: Xd._replaceWith,
    _resolve: xi._resolve,
    _call: ii._call,
    _resyncParent: ii._resyncParent,
    _resyncKey: ii._resyncKey,
    _resyncList: ii._resyncList,
    _resyncRemoved: ii._resyncRemoved,
    _getQueueContexts: ii._getQueueContexts,
    _removeFromScope: zd._removeFromScope,
    _callRemovalHooks: zd._callRemovalHooks,
    _remove: zd._remove,
    _markRemoved: zd._markRemoved,
    _assertUnremoved: zd._assertUnremoved,
    _containerInsert: pl._containerInsert,
    _containerInsertBefore: pl._containerInsertBefore,
    _containerInsertAfter: pl._containerInsertAfter,
    _verifyNodeList: pl._verifyNodeList,
    _getKey: wn._getKey,
    _getPattern: wn._getPattern
  });
  for (let t of XS.TYPES) {
    let e = `is${t}`, s = XS[e];
    gu.prototype[e] = function(r) {
      return s(this.node, r);
    }, gu.prototype[`assert${t}`] = function(r) {
      if (!s(this.node, r))
        throw new TypeError(`Expected node path of type ${t}`);
    };
  }
  Object.assign(gu.prototype, olt);
  for (let t of Object.keys(tlt))
    t[0] !== "_" && (XS.TYPES.includes(t) || XS.TYPES.push(t));
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/context.js
var pz = g((zS) => {
  "use strict";
  Object.defineProperty(zS, "__esModule", {
    value: !0
  });
  zS.default = void 0;
  var clt = Xc(), plt = fe(), x2 = ol(), {
    VISITOR_KEYS: hlt
  } = plt, S2 = class {
    static {
      n(this, "TraversalContext");
    }
    constructor(e, s, r, i) {
      this.queue = null, this.priorityQueue = null, this.parentPath = i, this.scope = e, this.state = r, this.opts = s;
    }
    shouldVisit(e) {
      let s = this.opts;
      if (s.enter || s.exit || s[e.type]) return !0;
      let r = hlt[e.type];
      if (!(r != null && r.length)) return !1;
      for (let i of r)
        if (e[i])
          return !0;
      return !1;
    }
    create(e, s, r, i) {
      return clt.default.get({
        parentPath: this.parentPath,
        parent: e,
        container: s,
        key: r,
        listKey: i
      });
    }
    maybeQueue(e, s) {
      this.queue && (s ? this.queue.push(e) : this.priorityQueue.push(e));
    }
    visitMultiple(e, s, r) {
      if (e.length === 0) return !1;
      let i = [];
      for (let a = 0; a < e.length; a++) {
        let o = e[a];
        o && this.shouldVisit(o) && i.push(this.create(s, e, a, r));
      }
      return this.visitQueue(i);
    }
    visitSingle(e, s) {
      return this.shouldVisit(e[s]) ? this.visitQueue([this.create(e, e, s)]) : !1;
    }
    visitQueue(e) {
      this.queue = e, this.priorityQueue = [];
      let s = /* @__PURE__ */ new WeakSet(), r = !1, i = 0;
      for (; i < e.length; ) {
        let a = e[i];
        if (i++, x2.resync.call(a), (a.contexts.length === 0 || a.contexts[a.contexts.length - 1] !== this) && x2.pushContext.call(a, this),
        a.key === null) continue;
        let {
          node: o
        } = a;
        if (!s.has(o)) {
          if (o && s.add(o), a.visit()) {
            r = !0;
            break;
          }
          if (this.priorityQueue.length && (r = this.visitQueue(this.priorityQueue), this.priorityQueue = [], this.queue = e, r))
            break;
        }
      }
      for (let a = 0; a < i; a++)
        x2.popContext.call(e[a]);
      return this.queue = null, r;
    }
    visit(e, s) {
      let r = e[s];
      return r ? Array.isArray(r) ? this.visitMultiple(r, e, s) : this.visitSingle(e, s) : !1;
    }
  };
  zS.default = S2;
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/traverse-node.js
var pS = g((P2) => {
  "use strict";
  Object.defineProperty(P2, "__esModule", {
    value: !0
  });
  P2.traverseNode = ylt;
  var flt = pz(), dlt = fe(), {
    VISITOR_KEYS: mlt
  } = dlt;
  function ylt(t, e, s, r, i, a, o) {
    let l = mlt[t.type];
    if (!l) return !1;
    let u = new flt.default(s, e, r, i);
    if (o)
      return a != null && a[i.parentKey] ? !1 : u.visitQueue([i]);
    for (let c of l)
      if (!(a != null && a[c]) && u.visit(t, c))
        return !0;
    return !1;
  }
  n(ylt, "traverseNode");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/path/context.js
var ol = g((qr) => {
  "use strict";
  Object.defineProperty(qr, "__esModule", {
    value: !0
  });
  qr._call = A2;
  qr._getQueueContexts = Olt;
  qr._resyncKey = gz;
  qr._resyncList = Tz;
  qr._resyncParent = yz;
  qr._resyncRemoved = Clt;
  qr.call = E2;
  qr.isDenylisted = dz;
  qr.popContext = wlt;
  qr.pushContext = Ilt;
  qr.requeue = klt;
  qr.requeueComputedKeyAndDecorators = Dlt;
  qr.resync = vlt;
  qr.setContext = Alt;
  qr.setKey = GS;
  qr.setScope = mz;
  qr.setup = Nlt;
  qr.skip = Slt;
  qr.skipKey = Plt;
  qr.stop = Elt;
  qr.visit = xlt;
  var glt = pS(), hz = Xc(), Tlt = LS(), blt = fe();
  function E2(t) {
    let e = this.opts;
    if (this.debug(t), this.node && A2.call(this, e[t]))
      return !0;
    if (this.node) {
      var s;
      return A2.call(this, (s = e[this.node.type]) == null ? void 0 : s[t]);
    }
    return !1;
  }
  n(E2, "call");
  function A2(t) {
    if (!t) return !1;
    for (let e of t) {
      if (!e) continue;
      let s = this.node;
      if (!s) return !0;
      let r = e.call(this.state, this, this.state);
      if (r && typeof r == "object" && typeof r.then == "function")
        throw new Error("You appear to be using a plugin with an async traversal visitor, which your current version of Babel does not suppo\
rt. If you're using a published plugin, you may need to upgrade your @babel/core version.");
      if (r)
        throw new Error(`Unexpected return value from visitor method ${e}`);
      if (this.node !== s || this._traverseFlags > 0) return !0;
    }
    return !1;
  }
  n(A2, "_call");
  function dz() {
    var t;
    let e = (t = this.opts.denylist) != null ? t : this.opts.blacklist;
    return e?.includes(this.node.type);
  }
  n(dz, "isDenylisted");
  qr.isBlacklisted = dz;
  function fz(t, e) {
    t.context !== e && (t.context = e, t.state = e.state, t.opts = e.opts);
  }
  n(fz, "restoreContext");
  function xlt() {
    var t, e;
    if (!this.node || this.isDenylisted() || (t = (e = this.opts).shouldSkip) != null && t.call(e, this))
      return !1;
    let s = this.context;
    return this.shouldSkip || E2.call(this, "enter") ? (this.debug("Skip..."), this.shouldStop) : (fz(this, s), this.debug("Recursing into..\
."), this.shouldStop = (0, glt.traverseNode)(this.node, this.opts, this.scope, this.state, this, this.skipKeys), fz(this, s), E2.call(this, "\
exit"), this.shouldStop);
  }
  n(xlt, "visit");
  function Slt() {
    this.shouldSkip = !0;
  }
  n(Slt, "skip");
  function Plt(t) {
    this.skipKeys == null && (this.skipKeys = {}), this.skipKeys[t] = !0;
  }
  n(Plt, "skipKey");
  function Elt() {
    this._traverseFlags |= hz.SHOULD_SKIP | hz.SHOULD_STOP;
  }
  n(Elt, "stop");
  function mz() {
    var t, e;
    if ((t = this.opts) != null && t.noScope) return;
    let s = this.parentPath;
    ((this.key === "key" || this.listKey === "decorators") && s.isMethod() || this.key === "discriminant" && s.isSwitchStatement()) && (s = s.
    parentPath);
    let r;
    for (; s && !r; ) {
      var i;
      if ((i = s.opts) != null && i.noScope) return;
      r = s.scope, s = s.parentPath;
    }
    this.scope = this.getScope(r), (e = this.scope) == null || e.init();
  }
  n(mz, "setScope");
  function Alt(t) {
    return this.skipKeys != null && (this.skipKeys = {}), this._traverseFlags = 0, t && (this.context = t, this.state = t.state, this.opts =
    t.opts), mz.call(this), this;
  }
  n(Alt, "setContext");
  function vlt() {
    this.removed || (yz.call(this), Tz.call(this), gz.call(this));
  }
  n(vlt, "resync");
  function yz() {
    this.parentPath && (this.parent = this.parentPath.node);
  }
  n(yz, "_resyncParent");
  function gz() {
    if (this.container && this.node !== this.container[this.key]) {
      if (Array.isArray(this.container)) {
        for (let t = 0; t < this.container.length; t++)
          if (this.container[t] === this.node) {
            GS.call(this, t);
            return;
          }
      } else
        for (let t of Object.keys(this.container))
          if (this.container[t] === this.node) {
            GS.call(this, t);
            return;
          }
      this.key = null;
    }
  }
  n(gz, "_resyncKey");
  function Tz() {
    if (!this.parent || !this.inList) return;
    let t = this.parent[this.listKey];
    this.container !== t && (this.container = t || null);
  }
  n(Tz, "_resyncList");
  function Clt() {
    (this.key == null || !this.container || this.container[this.key] !== this.node) && Tlt._markRemoved.call(this);
  }
  n(Clt, "_resyncRemoved");
  function wlt() {
    this.contexts.pop(), this.contexts.length > 0 ? this.setContext(this.contexts[this.contexts.length - 1]) : this.setContext(void 0);
  }
  n(wlt, "popContext");
  function Ilt(t) {
    this.contexts.push(t), this.setContext(t);
  }
  n(Ilt, "pushContext");
  function Nlt(t, e, s, r) {
    this.listKey = s, this.container = e, this.parentPath = t || this.parentPath, GS.call(this, r);
  }
  n(Nlt, "setup");
  function GS(t) {
    var e;
    this.key = t, this.node = this.container[this.key], this.type = (e = this.node) == null ? void 0 : e.type;
  }
  n(GS, "setKey");
  function klt(t = this) {
    if (t.removed) return;
    let e = this.contexts;
    for (let s of e)
      s.maybeQueue(t);
  }
  n(klt, "requeue");
  function Dlt() {
    let {
      context: t,
      node: e
    } = this;
    if (!blt.isPrivate(e) && e.computed && t.maybeQueue(this.get("key")), e.decorators)
      for (let s of this.get("decorators"))
        t.maybeQueue(s);
  }
  n(Dlt, "requeueComputedKeyAndDecorators");
  function Olt() {
    let t = this, e = this.contexts;
    for (; !e.length && (t = t.parentPath, !!t); )
      e = t.contexts;
    return e;
  }
  n(Olt, "_getQueueContexts");
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/hub.js
var bz = g((QS) => {
  "use strict";
  Object.defineProperty(QS, "__esModule", {
    value: !0
  });
  QS.default = void 0;
  var v2 = class {
    static {
      n(this, "Hub");
    }
    getCode() {
    }
    getScope() {
    }
    addHelper() {
      throw new Error("Helpers are not supported by the default hub.");
    }
    buildError(e, s, r = TypeError) {
      return new r(s);
    }
  };
  QS.default = v2;
});

// ../node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse/lib/index.js
var _d = g((Tu) => {
  "use strict";
  Object.defineProperty(Tu, "__esModule", {
    value: !0
  });
  Object.defineProperty(Tu, "Hub", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Flt.default;
    }, "get")
  });
  Object.defineProperty(Tu, "NodePath", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Blt.default;
    }, "get")
  });
  Object.defineProperty(Tu, "Scope", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Mlt.default;
    }, "get")
  });
  Tu.visitors = Tu.default = void 0;
  ol();
  var zg = Og();
  Tu.visitors = zg;
  var _lt = fe(), Llt = Ah(), xz = pS(), Blt = Xc(), Mlt = FD(), Flt = bz(), {
    VISITOR_KEYS: jlt,
    removeProperties: Rlt,
    traverseFast: Sz
  } = _lt;
  function Ba(t, e = {}, s, r, i, a) {
    if (t) {
      if (!e.noScope && !s && t.type !== "Program" && t.type !== "File")
        throw new Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${t.
        type} node without passing scope and parentPath.`);
      if (!i && a)
        throw new Error("visitSelf can only be used when providing a NodePath.");
      jlt[t.type] && (zg.explode(e), (0, xz.traverseNode)(t, e, s, r, i, null, a));
    }
  }
  n(Ba, "traverse");
  var AKs = Tu.default = Ba;
  Ba.visitors = zg;
  Ba.verify = zg.verify;
  Ba.explode = zg.explode;
  Ba.cheap = function(t, e) {
    Sz(t, e);
  };
  Ba.node = function(t, e, s, r, i, a) {
    (0, xz.traverseNode)(t, e, s, r, i, a);
  };
  Ba.clearNode = function(t, e) {
    Rlt(t, e);
  };
  Ba.removeProperties = function(t, e) {
    return Sz(t, Ba.clearNode, e), t;
  };
  function qlt(t, e) {
    t.node.type === e.type && (e.has = !0, t.stop());
  }
  n(qlt, "hasDenylistedType");
  Ba.hasType = function(t, e, s) {
    if (s != null && s.includes(t.type)) return !1;
    if (t.type === e) return !0;
    let r = {
      has: !1,
      type: e
    };
    return Ba(t, {
      noScope: !0,
      denylist: s,
      enter: qlt
    }, null, r), r.has;
  };
  Ba.cache = Llt;
});

// ../node_modules/@babel/helper-module-transforms/lib/rewrite-this.js
var Az = g((C2) => {
  "use strict";
  Object.defineProperty(C2, "__esModule", {
    value: !0
  });
  C2.default = Ult;
  var Pz = ni(), Ez = _d(), ZS;
  function Ult(t) {
    ZS || (ZS = Ez.visitors.environmentVisitor({
      ThisExpression(e) {
        e.replaceWith(Pz.types.unaryExpression("void", Pz.types.numericLiteral(0), !0));
      }
    }), ZS.noScope = !0), (0, Ez.default)(t.node, ZS);
  }
  n(Ult, "rewriteThis");
});

// ../node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js
var vz = g((w2) => {
  "use strict";
  Object.defineProperty(w2, "__esModule", {
    value: !0
  });
  w2.default = Vlt;
  var Ut = ni();
  function Klt(t) {
    do
      switch (t.parent.type) {
        case "TSTypeAnnotation":
        case "TSTypeAliasDeclaration":
        case "TSTypeReference":
        case "TypeAnnotation":
        case "TypeAlias":
          return !0;
        case "ExportSpecifier":
          return t.parentPath.parent.exportKind === "type";
        default:
          if (t.parentPath.isStatement() || t.parentPath.isExpression())
            return !1;
      }
    while (t = t.parentPath);
  }
  n(Klt, "isInType");
  function Vlt(t, e, s) {
    let r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ n((u) => {
      t.requeue(u);
    }, "requeueInParent");
    for (let [u, c] of e.source) {
      for (let [p, h] of c.imports)
        r.set(p, [u, h, null]);
      for (let p of c.importsNamespace)
        r.set(p, [u, null, p]);
    }
    for (let [u, c] of e.local) {
      let p = i.get(u);
      p || (p = [], i.set(u, p)), p.push(...c.names);
    }
    let o = {
      metadata: e,
      requeueInParent: a,
      scope: t.scope,
      exported: i
    };
    t.traverse(Wlt, o);
    let l = {
      seen: /* @__PURE__ */ new WeakSet(),
      metadata: e,
      requeueInParent: a,
      scope: t.scope,
      imported: r,
      exported: i,
      buildImportReference([u, c, p], h) {
        let f = e.source.get(u);
        if (f.referenced = !0, p) {
          if (f.wrap) {
            var d;
            h = (d = s(h, f.wrap)) != null ? d : h;
          }
          return h;
        }
        let m = Ut.types.identifier(f.name);
        if (f.wrap) {
          var y;
          m = (y = s(m, f.wrap)) != null ? y : m;
        }
        if (c === "default" && f.interop === "node-default")
          return m;
        let T = e.stringSpecifiers.has(c);
        return Ut.types.memberExpression(m, T ? Ut.types.stringLiteral(c) : Ut.types.identifier(c), T);
      }
    };
    t.traverse($lt, l);
  }
  n(Vlt, "rewriteLiveReferences");
  var Wlt = {
    Scope(t) {
      t.skip();
    },
    ClassDeclaration(t) {
      let {
        requeueInParent: e,
        exported: s,
        metadata: r
      } = this, {
        id: i
      } = t.node;
      if (!i) throw new Error("Expected class to have a name");
      let a = i.name, o = s.get(a) || [];
      if (o.length > 0) {
        let l = Ut.types.expressionStatement(Mh(r, o, Ut.types.identifier(a), t.scope));
        l._blockHoist = t.node._blockHoist, e(t.insertAfter(l)[0]);
      }
    },
    VariableDeclaration(t) {
      let {
        requeueInParent: e,
        exported: s,
        metadata: r
      } = this, i = t.node.kind === "var";
      for (let a of t.get("declarations")) {
        let {
          id: o
        } = a.node, {
          init: l
        } = a.node;
        if (Ut.types.isIdentifier(o) && s.has(o.name) && !Ut.types.isArrowFunctionExpression(l) && (!Ut.types.isFunctionExpression(l) || l.id) &&
        (!Ut.types.isClassExpression(l) || l.id)) {
          if (!l) {
            if (i)
              continue;
            l = t.scope.buildUndefinedNode();
          }
          a.node.init = Mh(r, s.get(o.name), l, t.scope), e(a.get("init"));
        } else
          for (let u of Object.keys(a.getOuterBindingIdentifiers()))
            if (s.has(u)) {
              let c = Ut.types.expressionStatement(Mh(r, s.get(u), Ut.types.identifier(u), t.scope));
              c._blockHoist = t.node._blockHoist, e(t.insertAfter(c)[0]);
            }
      }
    }
  }, Mh = /* @__PURE__ */ n((t, e, s, r) => {
    let i = t.exportName;
    for (let a = r; a != null; a = a.parent)
      a.hasOwnBinding(i) && a.rename(i);
    return (e || []).reduce((a, o) => {
      let {
        stringSpecifiers: l
      } = t, u = l.has(o);
      return Ut.types.assignmentExpression("=", Ut.types.memberExpression(Ut.types.identifier(i), u ? Ut.types.stringLiteral(o) : Ut.types.identifier(
      o), u), a);
    }, s);
  }, "buildBindingExportAssignmentExpression"), eP = /* @__PURE__ */ n((t) => Ut.template.expression.ast`
    (function() {
      throw new Error('"' + '${t}' + '" is read-only.');
    })()
  `, "buildImportThrow"), $lt = {
    ReferencedIdentifier(t) {
      let {
        seen: e,
        buildImportReference: s,
        scope: r,
        imported: i,
        requeueInParent: a
      } = this;
      if (e.has(t.node)) return;
      e.add(t.node);
      let o = t.node.name, l = i.get(o);
      if (l) {
        if (Klt(t))
          throw t.buildCodeFrameError(`Cannot transform the imported binding "${o}" since it's also used in a type annotation. Please strip \
type annotations using @babel/preset-typescript or @babel/preset-flow.`);
        let u = t.scope.getBinding(o);
        if (r.getBinding(o) !== u) return;
        let p = s(l, t.node);
        if (p.loc = t.node.loc, (t.parentPath.isCallExpression({
          callee: t.node
        }) || t.parentPath.isOptionalCallExpression({
          callee: t.node
        }) || t.parentPath.isTaggedTemplateExpression({
          tag: t.node
        })) && Ut.types.isMemberExpression(p))
          t.replaceWith(Ut.types.sequenceExpression([Ut.types.numericLiteral(0), p]));
        else if (t.isJSXIdentifier() && Ut.types.isMemberExpression(p)) {
          let {
            object: h,
            property: f
          } = p;
          t.replaceWith(Ut.types.jsxMemberExpression(Ut.types.jsxIdentifier(h.name), Ut.types.jsxIdentifier(f.name)));
        } else
          t.replaceWith(p);
        a(t), t.skip();
      }
    },
    UpdateExpression(t) {
      let {
        scope: e,
        seen: s,
        imported: r,
        exported: i,
        requeueInParent: a,
        buildImportReference: o
      } = this;
      if (s.has(t.node)) return;
      s.add(t.node);
      let l = t.get("argument");
      if (l.isMemberExpression()) return;
      let u = t.node;
      if (l.isIdentifier()) {
        let c = l.node.name;
        if (e.getBinding(c) !== t.scope.getBinding(c))
          return;
        let p = i.get(c), h = r.get(c);
        if (p?.length > 0 || h)
          if (h)
            t.replaceWith(Ut.types.assignmentExpression(u.operator[0] + "=", o(h, l.node), eP(c)));
          else if (u.prefix)
            t.replaceWith(Mh(this.metadata, p, Ut.types.cloneNode(u), t.scope));
          else {
            let f = e.generateDeclaredUidIdentifier(c);
            t.replaceWith(Ut.types.sequenceExpression([Ut.types.assignmentExpression("=", Ut.types.cloneNode(f), Ut.types.cloneNode(u)), Mh(
            this.metadata, p, Ut.types.identifier(c), t.scope), Ut.types.cloneNode(f)]));
          }
      }
      a(t), t.skip();
    },
    AssignmentExpression: {
      exit(t) {
        let {
          scope: e,
          seen: s,
          imported: r,
          exported: i,
          requeueInParent: a,
          buildImportReference: o
        } = this;
        if (s.has(t.node)) return;
        s.add(t.node);
        let l = t.get("left");
        if (!l.isMemberExpression())
          if (l.isIdentifier()) {
            let u = l.node.name;
            if (e.getBinding(u) !== t.scope.getBinding(u))
              return;
            let c = i.get(u), p = r.get(u);
            if (c?.length > 0 || p) {
              let h = t.node;
              p && (h.left = o(p, l.node), h.right = Ut.types.sequenceExpression([h.right, eP(u)]));
              let {
                operator: f
              } = h, d;
              f === "=" ? d = h : f === "&&=" || f === "||=" || f === "??=" ? d = Ut.types.assignmentExpression("=", h.left, Ut.types.logicalExpression(
              f.slice(0, -1), Ut.types.cloneNode(h.left), h.right)) : d = Ut.types.assignmentExpression("=", h.left, Ut.types.binaryExpression(
              f.slice(0, -1), Ut.types.cloneNode(h.left), h.right)), t.replaceWith(Mh(this.metadata, c, d, t.scope)), a(t), t.skip();
            }
          } else {
            let u = l.getOuterBindingIdentifiers(), c = Object.keys(u).filter((f) => e.getBinding(f) === t.scope.getBinding(f)), p = c.find(
            (f) => r.has(f));
            p && (t.node.right = Ut.types.sequenceExpression([t.node.right, eP(p)]));
            let h = [];
            if (c.forEach((f) => {
              let d = i.get(f) || [];
              d.length > 0 && h.push(Mh(this.metadata, d, Ut.types.identifier(f), t.scope));
            }), h.length > 0) {
              let f = Ut.types.sequenceExpression(h);
              t.parentPath.isExpressionStatement() && (f = Ut.types.expressionStatement(f), f._blockHoist = t.parentPath.node._blockHoist);
              let d = t.insertAfter(f)[0];
              a(d);
            }
          }
      }
    },
    ForXStatement(t) {
      let {
        scope: e,
        node: s
      } = t, {
        left: r
      } = s, {
        exported: i,
        imported: a,
        scope: o
      } = this;
      if (!Ut.types.isVariableDeclaration(r)) {
        let l = !1, u, c = t.get("body").scope;
        for (let f of Object.keys(Ut.types.getOuterBindingIdentifiers(r)))
          o.getBinding(f) === e.getBinding(f) && (i.has(f) && (l = !0, c.hasOwnBinding(f) && c.rename(f)), a.has(f) && !u && (u = f));
        if (!l && !u)
          return;
        t.ensureBlock();
        let p = t.get("body"), h = e.generateUidIdentifierBasedOnNode(r);
        t.get("left").replaceWith(Ut.types.variableDeclaration("let", [Ut.types.variableDeclarator(Ut.types.cloneNode(h))])), e.registerDeclaration(
        t.get("left")), l && p.unshiftContainer("body", Ut.types.expressionStatement(Ut.types.assignmentExpression("=", r, h))), u && p.unshiftContainer(
        "body", Ut.types.expressionStatement(eP(u)));
      }
    }
  };
});

// ../node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js
var I2 = g((Gd) => {
  "use strict";
  Object.defineProperty(Gd, "__esModule", {
    value: !0
  });
  Gd.default = zlt;
  Gd.hasExports = Jlt;
  Gd.isSideEffectImport = Ylt;
  Gd.validateImportInteropOption = wz;
  var Cz = require("path"), Hlt = ba();
  function Jlt(t) {
    return t.hasExports;
  }
  n(Jlt, "hasExports");
  function Ylt(t) {
    return t.imports.size === 0 && t.importsNamespace.size === 0 && t.reexports.size === 0 && t.reexportNamespace.size === 0 && !t.reexportAll;
  }
  n(Ylt, "isSideEffectImport");
  function wz(t) {
    if (typeof t != "function" && t !== "none" && t !== "babel" && t !== "node")
      throw new Error(`.importInterop must be one of "none", "babel", "node", or a function returning one of those values (received ${t}).`);
    return t;
  }
  n(wz, "validateImportInteropOption");
  function Xlt(t, e, s) {
    return typeof t == "function" ? wz(t(e, s)) : t;
  }
  n(Xlt, "resolveImportInterop");
  function zlt(t, e, {
    importInterop: s,
    initializeReexports: r = !1,
    getWrapperPayload: i,
    esNamespaceOnly: a = !1,
    filename: o
  }) {
    e || (e = t.scope.generateUidIdentifier("exports").name);
    let l = /* @__PURE__ */ new Set();
    Zlt(t);
    let {
      local: u,
      sources: c,
      hasExports: p
    } = Glt(t, {
      initializeReexports: r,
      getWrapperPayload: i
    }, l);
    eut(t);
    for (let [h, f] of c) {
      let {
        importsNamespace: d,
        imports: m
      } = f;
      if (d.size > 0 && m.size === 0) {
        let [T] = d;
        f.name = T;
      }
      let y = Xlt(s, h, o);
      y === "none" ? f.interop = "none" : y === "node" && f.interop === "namespace" ? f.interop = "node-namespace" : y === "node" && f.interop ===
      "default" ? f.interop = "node-default" : a && f.interop === "namespace" && (f.interop = "default");
    }
    return {
      exportName: e,
      exportNameListName: null,
      hasExports: p,
      local: u,
      source: c,
      stringSpecifiers: l
    };
  }
  n(zlt, "normalizeModuleAndLoadMetadata");
  function tP(t, e) {
    if (t.isIdentifier())
      return t.node.name;
    if (t.isStringLiteral()) {
      let s = t.node.value;
      return (0, Hlt.isIdentifierName)(s) || e.add(s), s;
    } else
      throw new Error(`Expected export specifier to be either Identifier or StringLiteral, got ${t.node.type}`);
  }
  n(tP, "getExportSpecifierName");
  function Iz(t) {
    if (!t.isExportSpecifier())
      throw t.isExportNamespaceSpecifier() ? t.buildCodeFrameError("Export namespace should be first transformed by `@babel/plugin-transform\
-export-namespace-from`.") : t.buildCodeFrameError("Unexpected export specifier type");
  }
  n(Iz, "assertExportSpecifier");
  function Glt(t, {
    getWrapperPayload: e,
    initializeReexports: s
  }, r) {
    let i = Qlt(t, s, r), a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ n((c, p) => {
      let h = c.value, f = o.get(h);
      return f ? a.get(h).push(p) : (f = {
        name: t.scope.generateUidIdentifier((0, Cz.basename)(h, (0, Cz.extname)(h))).name,
        interop: "none",
        loc: null,
        imports: /* @__PURE__ */ new Map(),
        importsNamespace: /* @__PURE__ */ new Set(),
        reexports: /* @__PURE__ */ new Map(),
        reexportNamespace: /* @__PURE__ */ new Set(),
        reexportAll: null,
        wrap: null,
        get lazy() {
          return this.wrap === "lazy";
        },
        referenced: !1
      }, o.set(h, f), a.set(h, [p])), f;
    }, "getData"), u = !1;
    t.get("body").forEach((c) => {
      if (c.isImportDeclaration()) {
        let p = l(c.node.source, c.node);
        p.loc || (p.loc = c.node.loc), c.get("specifiers").forEach((h) => {
          if (h.isImportDefaultSpecifier()) {
            let f = h.get("local").node.name;
            p.imports.set(f, "default");
            let d = i.get(f);
            d && (i.delete(f), d.names.forEach((m) => {
              p.reexports.set(m, "default");
            }), p.referenced = !0);
          } else if (h.isImportNamespaceSpecifier()) {
            let f = h.get("local").node.name;
            p.importsNamespace.add(f);
            let d = i.get(f);
            d && (i.delete(f), d.names.forEach((m) => {
              p.reexportNamespace.add(m);
            }), p.referenced = !0);
          } else if (h.isImportSpecifier()) {
            let f = tP(h.get("imported"), r), d = h.get("local").node.name;
            p.imports.set(d, f);
            let m = i.get(d);
            m && (i.delete(d), m.names.forEach((y) => {
              p.reexports.set(y, f);
            }), p.referenced = !0);
          }
        });
      } else if (c.isExportAllDeclaration()) {
        u = !0;
        let p = l(c.node.source, c.node);
        p.loc || (p.loc = c.node.loc), p.reexportAll = {
          loc: c.node.loc
        }, p.referenced = !0;
      } else if (c.isExportNamedDeclaration() && c.node.source) {
        u = !0;
        let p = l(c.node.source, c.node);
        p.loc || (p.loc = c.node.loc), c.get("specifiers").forEach((h) => {
          Iz(h);
          let f = tP(h.get("local"), r), d = tP(h.get("exported"), r);
          if (p.reexports.set(d, f), p.referenced = !0, d === "__esModule")
            throw h.get("exported").buildCodeFrameError('Illegal export "__esModule".');
        });
      } else (c.isExportNamedDeclaration() || c.isExportDefaultDeclaration()) && (u = !0);
    });
    for (let c of o.values()) {
      let p = !1, h = !1;
      c.importsNamespace.size > 0 && (p = !0, h = !0), c.reexportAll && (h = !0);
      for (let f of c.imports.values())
        f === "default" ? p = !0 : h = !0;
      for (let f of c.reexports.values())
        f === "default" ? p = !0 : h = !0;
      p && h ? c.interop = "namespace" : p && (c.interop = "default");
    }
    if (e)
      for (let [c, p] of o)
        p.wrap = e(c, p, a.get(c));
    return {
      hasExports: u,
      local: i,
      sources: o
    };
  }
  n(Glt, "getModuleMetadata");
  function Qlt(t, e, s) {
    let r = /* @__PURE__ */ new Map();
    t.get("body").forEach((o) => {
      let l;
      if (o.isImportDeclaration())
        l = "import";
      else {
        if (o.isExportDefaultDeclaration() && (o = o.get("declaration")), o.isExportNamedDeclaration()) {
          if (o.node.declaration)
            o = o.get("declaration");
          else if (e && o.node.source && o.get("source").isStringLiteral()) {
            o.get("specifiers").forEach((u) => {
              Iz(u), r.set(u.get("local").node.name, "block");
            });
            return;
          }
        }
        if (o.isFunctionDeclaration())
          l = "hoisted";
        else if (o.isClassDeclaration())
          l = "block";
        else if (o.isVariableDeclaration({
          kind: "var"
        }))
          l = "var";
        else if (o.isVariableDeclaration())
          l = "block";
        else
          return;
      }
      Object.keys(o.getOuterBindingIdentifiers()).forEach((u) => {
        r.set(u, l);
      });
    });
    let i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ n((o) => {
      let l = o.node.name, u = i.get(l);
      if (!u) {
        let c = r.get(l);
        if (c === void 0)
          throw o.buildCodeFrameError(`Exporting local "${l}", which is not declared.`);
        u = {
          names: [],
          kind: c
        }, i.set(l, u);
      }
      return u;
    }, "getLocalMetadata");
    return t.get("body").forEach((o) => {
      if (o.isExportNamedDeclaration() && (e || !o.node.source))
        if (o.node.declaration) {
          let l = o.get("declaration"), u = l.getOuterBindingIdentifierPaths();
          Object.keys(u).forEach((c) => {
            if (c === "__esModule")
              throw l.buildCodeFrameError('Illegal export "__esModule".');
            a(u[c]).names.push(c);
          });
        } else
          o.get("specifiers").forEach((l) => {
            let u = l.get("local"), c = l.get("exported"), p = a(u), h = tP(c, s);
            if (h === "__esModule")
              throw c.buildCodeFrameError('Illegal export "__esModule".');
            p.names.push(h);
          });
      else if (o.isExportDefaultDeclaration()) {
        let l = o.get("declaration");
        if (l.isFunctionDeclaration() || l.isClassDeclaration())
          a(l.get("id")).names.push("default");
        else
          throw l.buildCodeFrameError("Unexpected default expression export.");
      }
    }), i;
  }
  n(Qlt, "getLocalExportMetadata");
  function Zlt(t) {
    t.get("body").forEach((e) => {
      if (e.isExportDefaultDeclaration()) {
        {
          var s;
          (s = e.splitExportDeclaration) != null || (e.splitExportDeclaration = _d().NodePath.prototype.splitExportDeclaration);
        }
        e.splitExportDeclaration();
      }
    });
  }
  n(Zlt, "nameAnonymousExports");
  function eut(t) {
    t.get("body").forEach((e) => {
      if (e.isImportDeclaration())
        e.remove();
      else if (e.isExportNamedDeclaration())
        e.node.declaration ? (e.node.declaration._blockHoist = e.node._blockHoist, e.replaceWith(e.node.declaration)) : e.remove();
      else if (e.isExportDefaultDeclaration()) {
        let s = e.get("declaration");
        if (s.isFunctionDeclaration() || s.isClassDeclaration())
          s._blockHoist = e.node._blockHoist, e.replaceWith(s);
        else
          throw s.buildCodeFrameError("Unexpected default expression export.");
      } else e.isExportAllDeclaration() && e.remove();
    });
  }
  n(eut, "removeImportExportDeclarations");
});

// ../node_modules/@babel/helper-module-transforms/lib/lazy-modules.js
var Nz = g((sP) => {
  "use strict";
  Object.defineProperty(sP, "__esModule", {
    value: !0
  });
  sP.toGetWrapperPayload = rut;
  sP.wrapReference = iut;
  var tut = ni(), sut = I2();
  function rut(t) {
    return (e, s) => {
      if (t === !1 || (0, sut.isSideEffectImport)(s) || s.reexportAll) return null;
      if (t === !0)
        return e.includes(".") ? null : "lazy";
      if (Array.isArray(t))
        return t.includes(e) ? "lazy" : null;
      if (typeof t == "function")
        return t(e) ? "lazy" : null;
      throw new Error(".lazy must be a boolean, string array, or function");
    };
  }
  n(rut, "toGetWrapperPayload");
  function iut(t, e) {
    return e === "lazy" ? tut.types.callExpression(t, []) : null;
  }
  n(iut, "wrapReference");
});

// ../node_modules/@babel/helper-module-transforms/lib/dynamic-import.js
var N2 = g((rP) => {
  "use strict";
  Object.defineProperty(rP, "__esModule", {
    value: !0
  });
  rP.buildDynamicImport = nut;
  var Wi = ni();
  rP.getDynamicImportSource = /* @__PURE__ */ n(function(e) {
    let [s] = e.arguments;
    return Wi.types.isStringLiteral(s) || Wi.types.isTemplateLiteral(s) ? s : Wi.template.expression.ast`\`\${${s}}\``;
  }, "getDynamicImportSource");
  function nut(t, e, s, r) {
    let i = Wi.types.isCallExpression(t) ? t.arguments[0] : t.source;
    if (Wi.types.isStringLiteral(i) || Wi.types.isTemplateLiteral(i) && i.quasis.length === 0)
      return e ? Wi.template.expression.ast`
        Promise.resolve().then(() => ${r(i)})
      ` : r(i);
    let a = Wi.types.isTemplateLiteral(i) ? Wi.types.identifier("specifier") : Wi.types.templateLiteral([Wi.types.templateElement({
      raw: ""
    }), Wi.types.templateElement({
      raw: ""
    })], [Wi.types.identifier("specifier")]);
    return e ? Wi.template.expression.ast`
      (specifier =>
        new Promise(r => r(${a}))
          .then(s => ${r(Wi.types.identifier("s"))})
      )(${i})
    ` : s ? Wi.template.expression.ast`
      (specifier =>
        new Promise(r => r(${r(a)}))
      )(${i})
    ` : Wi.template.expression.ast`
      (specifier => ${r(a)})(${i})
    `;
  }
  n(nut, "buildDynamicImport");
});

// ../node_modules/@babel/helper-module-transforms/lib/get-module-name.js
var kz = g((iP) => {
  "use strict";
  Object.defineProperty(iP, "__esModule", {
    value: !0
  });
  iP.default = k2;
  {
    let t = k2;
    iP.default = k2 = /* @__PURE__ */ n(function(s, r) {
      var i, a, o, l;
      return t(s, {
        moduleId: (i = r.moduleId) != null ? i : s.moduleId,
        moduleIds: (a = r.moduleIds) != null ? a : s.moduleIds,
        getModuleId: (o = r.getModuleId) != null ? o : s.getModuleId,
        moduleRoot: (l = r.moduleRoot) != null ? l : s.moduleRoot
      });
    }, "getModuleName");
  }
  function k2(t, e) {
    let {
      filename: s,
      filenameRelative: r = s,
      sourceRoot: i = e.moduleRoot
    } = t, {
      moduleId: a,
      moduleIds: o = !!a,
      getModuleId: l,
      moduleRoot: u = i
    } = e;
    if (!o) return null;
    if (a != null && !l)
      return a;
    let c = u != null ? u + "/" : "";
    if (r) {
      let p = i != null ? new RegExp("^" + i + "/?") : "";
      c += r.replace(p, "").replace(/\.\w*$/, "");
    }
    return c = c.replace(/\\/g, "/"), l && l(c) || c;
  }
  n(k2, "getModuleName");
});

// ../node_modules/@babel/helper-module-transforms/lib/index.js
var Qg = g((ua) => {
  "use strict";
  Object.defineProperty(ua, "__esModule", {
    value: !0
  });
  Object.defineProperty(ua, "buildDynamicImport", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return lut.buildDynamicImport;
    }, "get")
  });
  ua.buildNamespaceInitStatements = fut;
  ua.ensureStatementsHoisted = put;
  Object.defineProperty(ua, "getModuleName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return uut.default;
    }, "get")
  });
  Object.defineProperty(ua, "hasExports", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Gg.hasExports;
    }, "get")
  });
  Object.defineProperty(ua, "isModule", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Dz.isModule;
    }, "get")
  });
  Object.defineProperty(ua, "isSideEffectImport", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Gg.isSideEffectImport;
    }, "get")
  });
  ua.rewriteModuleStatementsAndPrepareHeader = cut;
  Object.defineProperty(ua, "rewriteThis", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Oz.default;
    }, "get")
  });
  ua.wrapInterop = hut;
  var aut = require("assert"), Ps = ni(), Dz = MH(), Oz = Az(), out = vz(), Gg = I2(), L2 = Nz(), lut = N2(), uut = kz();
  ua.getDynamicImportSource = N2().getDynamicImportSource;
  function cut(t, {
    exportName: e,
    strict: s,
    allowTopLevelThis: r,
    strictMode: i,
    noInterop: a,
    importInterop: o = a ? "none" : "babel",
    lazy: l,
    getWrapperPayload: u = L2.toGetWrapperPayload(l ?? !1),
    wrapReference: c = L2.wrapReference,
    esNamespaceOnly: p,
    filename: h,
    constantReexports: f = arguments[1].loose,
    enumerableModuleMeta: d = arguments[1].loose,
    noIncompleteNsImportDetection: m
  }) {
    (0, Gg.validateImportInteropOption)(o), aut((0, Dz.isModule)(t), "Cannot process module statements in a script"), t.node.sourceType = "s\
cript";
    let y = (0, Gg.default)(t, e, {
      importInterop: o,
      initializeReexports: f,
      getWrapperPayload: u,
      esNamespaceOnly: p,
      filename: h
    });
    r || (0, Oz.default)(t), (0, out.default)(t, y, c), i !== !1 && (t.node.directives.some((V) => V.value.value === "use strict") || t.unshiftContainer(
    "directives", Ps.types.directive(Ps.types.directiveLiteral("use strict"))));
    let T = [];
    (0, Gg.hasExports)(y) && !s && T.push(dut(y, d));
    let b = yut(t, y);
    return b && (y.exportNameListName = b.name, T.push(b.statement)), T.push(...gut(t, y, c, f, m)), {
      meta: y,
      headers: T
    };
  }
  n(cut, "rewriteModuleStatementsAndPrepareHeader");
  function put(t) {
    t.forEach((e) => {
      e._blockHoist = 3;
    });
  }
  n(put, "ensureStatementsHoisted");
  function hut(t, e, s) {
    if (s === "none")
      return null;
    if (s === "node-namespace")
      return Ps.types.callExpression(t.hub.addHelper("interopRequireWildcard"), [e, Ps.types.booleanLiteral(!0)]);
    if (s === "node-default")
      return null;
    let r;
    if (s === "default")
      r = "interopRequireDefault";
    else if (s === "namespace")
      r = "interopRequireWildcard";
    else
      throw new Error(`Unknown interop: ${s}`);
    return Ps.types.callExpression(t.hub.addHelper(r), [e]);
  }
  n(hut, "wrapInterop");
  function fut(t, e, s = !1, r = L2.wrapReference) {
    var i;
    let a = [], o = Ps.types.identifier(e.name);
    for (let u of e.importsNamespace)
      u !== e.name && a.push(Ps.template.statement`var NAME = SOURCE;`({
        NAME: u,
        SOURCE: Ps.types.cloneNode(o)
      }));
    let l = (i = r(o, e.wrap)) != null ? i : o;
    s && a.push(..._z(t, e, !0, r));
    for (let u of e.reexportNamespace)
      a.push((Ps.types.isIdentifier(l) ? Ps.template.statement`EXPORTS.NAME = NAMESPACE;` : Ps.template.statement`
            Object.defineProperty(EXPORTS, "NAME", {
              enumerable: true,
              get: function() {
                return NAMESPACE;
              }
            });
          `)({
        EXPORTS: t.exportName,
        NAME: u,
        NAMESPACE: Ps.types.cloneNode(l)
      }));
    if (e.reexportAll) {
      let u = mut(t, Ps.types.cloneNode(l), s);
      u.loc = e.reexportAll.loc, a.push(u);
    }
    return a;
  }
  n(fut, "buildNamespaceInitStatements");
  var D2 = {
    constant: /* @__PURE__ */ n(({
      exports: t,
      exportName: e,
      namespaceImport: s
    }) => Ps.template.statement.ast`
      ${t}.${e} = ${s};
    `, "constant"),
    constantComputed: /* @__PURE__ */ n(({
      exports: t,
      exportName: e,
      namespaceImport: s
    }) => Ps.template.statement.ast`
      ${t}["${e}"] = ${s};
    `, "constantComputed"),
    spec: /* @__PURE__ */ n(({
      exports: t,
      exportName: e,
      namespaceImport: s
    }) => Ps.template.statement.ast`
      Object.defineProperty(${t}, "${e}", {
        enumerable: true,
        get: function() {
          return ${s};
        },
      });
    `, "spec")
  };
  function _z(t, e, s, r) {
    var i;
    let a = Ps.types.identifier(e.name);
    a = (i = r(a, e.wrap)) != null ? i : a;
    let {
      stringSpecifiers: o
    } = t;
    return Array.from(e.reexports, ([l, u]) => {
      let c = Ps.types.cloneNode(a);
      u === "default" && e.interop === "node-default" || (o.has(u) ? c = Ps.types.memberExpression(c, Ps.types.stringLiteral(u), !0) : c = Ps.
      types.memberExpression(c, Ps.types.identifier(u)));
      let p = {
        exports: t.exportName,
        exportName: l,
        namespaceImport: c
      };
      return s || Ps.types.isIdentifier(c) ? o.has(l) ? D2.constantComputed(p) : D2.constant(p) : D2.spec(p);
    });
  }
  n(_z, "buildReexportsFromMeta");
  function dut(t, e = !1) {
    return (e ? Ps.template.statement`
        EXPORTS.__esModule = true;
      ` : Ps.template.statement`
        Object.defineProperty(EXPORTS, "__esModule", {
          value: true,
        });
      `)({
      EXPORTS: t.exportName
    });
  }
  n(dut, "buildESModuleHeader");
  function mut(t, e, s) {
    return (s ? Ps.template.statement`
        Object.keys(NAMESPACE).forEach(function(key) {
          if (key === "default" || key === "__esModule") return;
          VERIFY_NAME_LIST;
          if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return;

          EXPORTS[key] = NAMESPACE[key];
        });
      ` : Ps.template.statement`
        Object.keys(NAMESPACE).forEach(function(key) {
          if (key === "default" || key === "__esModule") return;
          VERIFY_NAME_LIST;
          if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return;

          Object.defineProperty(EXPORTS, key, {
            enumerable: true,
            get: function() {
              return NAMESPACE[key];
            },
          });
        });
    `)({
      NAMESPACE: e,
      EXPORTS: t.exportName,
      VERIFY_NAME_LIST: t.exportNameListName ? (0, Ps.template)`
            if (Object.prototype.hasOwnProperty.call(EXPORTS_LIST, key)) return;
          `({
        EXPORTS_LIST: t.exportNameListName
      }) : null
    });
  }
  n(mut, "buildNamespaceReexport");
  function yut(t, e) {
    let s = /* @__PURE__ */ Object.create(null);
    for (let a of e.local.values())
      for (let o of a.names)
        s[o] = !0;
    let r = !1;
    for (let a of e.source.values()) {
      for (let o of a.reexports.keys())
        s[o] = !0;
      for (let o of a.reexportNamespace)
        s[o] = !0;
      r = r || !!a.reexportAll;
    }
    if (!r || Object.keys(s).length === 0) return null;
    let i = t.scope.generateUidIdentifier("exportNames");
    return delete s.default, {
      name: i.name,
      statement: Ps.types.variableDeclaration("var", [Ps.types.variableDeclarator(i, Ps.types.valueToNode(s))])
    };
  }
  n(yut, "buildExportNameListDeclaration");
  function gut(t, e, s, r = !1, i = !1) {
    let a = [];
    for (let [l, u] of e.local)
      if (u.kind !== "import") {
        if (u.kind === "hoisted")
          a.push([u.names[0], _2(e, u.names, Ps.types.identifier(l))]);
        else if (!i)
          for (let c of u.names)
            a.push([c, null]);
      }
    for (let l of e.source.values()) {
      if (!r) {
        let u = _z(e, l, !1, s), c = [...l.reexports.keys()];
        for (let p = 0; p < u.length; p++)
          a.push([c[p], u[p]]);
      }
      if (!i)
        for (let u of l.reexportNamespace)
          a.push([u, null]);
    }
    a.sort(([l], [u]) => l < u ? -1 : u < l ? 1 : 0);
    let o = [];
    if (i)
      for (let [, l] of a)
        o.push(l);
    else
      for (let u = 0; u < a.length; u += 100) {
        let c = [];
        for (let p = 0; p < 100 && u + p < a.length; p++) {
          let [h, f] = a[u + p];
          f !== null ? (c.length > 0 && (o.push(_2(e, c, t.scope.buildUndefinedNode())), c = []), o.push(f)) : c.push(h);
        }
        c.length > 0 && o.push(_2(e, c, t.scope.buildUndefinedNode()));
      }
    return o;
  }
  n(gut, "buildExportInitializationStatements");
  var O2 = {
    computed: /* @__PURE__ */ n(({
      exports: t,
      name: e,
      value: s
    }) => Ps.template.expression.ast`${t}["${e}"] = ${s}`, "computed"),
    default: /* @__PURE__ */ n(({
      exports: t,
      name: e,
      value: s
    }) => Ps.template.expression.ast`${t}.${e} = ${s}`, "default"),
    define: /* @__PURE__ */ n(({
      exports: t,
      name: e,
      value: s
    }) => Ps.template.expression.ast`
      Object.defineProperty(${t}, "${e}", {
        enumerable: true,
        value: void 0,
        writable: true
      })["${e}"] = ${s}`, "define")
  };
  function _2(t, e, s) {
    let {
      stringSpecifiers: r,
      exportName: i
    } = t;
    return Ps.types.expressionStatement(e.reduce((a, o) => {
      let l = {
        exports: i,
        name: o,
        value: a
      };
      return o === "__proto__" ? O2.define(l) : r.has(o) ? O2.computed(l) : O2.default(l);
    }, s));
  }
  n(_2, "buildInitStatement");
});

// ../node_modules/@babel/core/lib/transformation/file/babel-7-helpers.cjs
var Bz = g((Lz) => {
  Lz.getModuleName = () => Qg().getModuleName;
});

// ../node_modules/@babel/core/lib/transformation/file/file.js
var M2 = g((aP) => {
  "use strict";
  Object.defineProperty(aP, "__esModule", {
    value: !0
  });
  aP.default = void 0;
  function Zg() {
    let t = yN();
    return Zg = /* @__PURE__ */ n(function() {
      return t;
    }, "helpers"), t;
  }
  n(Zg, "helpers");
  function B2() {
    let t = Yl();
    return B2 = /* @__PURE__ */ n(function() {
      return t;
    }, "_traverse"), t;
  }
  n(B2, "_traverse");
  function Mz() {
    let t = Hl();
    return Mz = /* @__PURE__ */ n(function() {
      return t;
    }, "_codeFrame"), t;
  }
  n(Mz, "_codeFrame");
  function Fz() {
    let t = fe();
    return Fz = /* @__PURE__ */ n(function() {
      return t;
    }, "_t"), t;
  }
  n(Fz, "_t");
  function nP() {
    let t = require("semver");
    return nP = /* @__PURE__ */ n(function() {
      return t;
    }, "_semver"), t;
  }
  n(nP, "_semver");
  var Tut = Bz(), {
    cloneNode: but,
    interpreterDirective: xut
  } = Fz(), Sut = {
    enter(t, e) {
      let s = t.node.loc;
      s && (e.loc = s, t.stop());
    }
  }, Qd = class {
    static {
      n(this, "File");
    }
    constructor(e, {
      code: s,
      ast: r,
      inputMap: i
    }) {
      this._map = /* @__PURE__ */ new Map(), this.opts = void 0, this.declarations = {}, this.path = void 0, this.ast = void 0, this.scope =
      void 0, this.metadata = {}, this.code = "", this.inputMap = void 0, this.hub = {
        file: this,
        getCode: /* @__PURE__ */ n(() => this.code, "getCode"),
        getScope: /* @__PURE__ */ n(() => this.scope, "getScope"),
        addHelper: this.addHelper.bind(this),
        buildError: this.buildCodeFrameError.bind(this)
      }, this.opts = e, this.code = s, this.ast = r, this.inputMap = i, this.path = B2().NodePath.get({
        hub: this.hub,
        parentPath: null,
        parent: this.ast,
        container: this.ast,
        key: "program"
      }).setContext(), this.scope = this.path.scope;
    }
    get shebang() {
      let {
        interpreter: e
      } = this.path.node;
      return e ? e.value : "";
    }
    set shebang(e) {
      e ? this.path.get("interpreter").replaceWith(xut(e)) : this.path.get("interpreter").remove();
    }
    set(e, s) {
      if (e === "helpersNamespace")
        throw new Error("Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility.If you are using @babel/plugin-external-\
helpers you will need to use a newer version than the one you currently have installed. If you have your own implementation, you'll want to \
explore using 'helperGenerator' alongside 'file.availableHelper()'.");
      this._map.set(e, s);
    }
    get(e) {
      return this._map.get(e);
    }
    has(e) {
      return this._map.has(e);
    }
    availableHelper(e, s) {
      let r;
      try {
        r = Zg().minVersion(e);
      } catch (i) {
        if (i.code !== "BABEL_HELPER_UNKNOWN") throw i;
        return !1;
      }
      return typeof s != "string" ? !0 : (nP().valid(s) && (s = `^${s}`), !nP().intersects(`<${r}`, s) && !nP().intersects(">=8.0.0", s));
    }
    addHelper(e) {
      let s = this.declarations[e];
      if (s) return but(s);
      let r = this.get("helperGenerator");
      if (r) {
        let c = r(e);
        if (c) return c;
      }
      Zg().minVersion(e);
      let i = this.declarations[e] = this.scope.generateUidIdentifier(e), a = {};
      for (let c of Zg().getDependencies(e))
        a[c] = this.addHelper(c);
      let {
        nodes: o,
        globals: l
      } = Zg().get(e, (c) => a[c], i.name, Object.keys(this.scope.getAllBindings()));
      l.forEach((c) => {
        this.path.scope.hasBinding(c, !0) && this.path.scope.rename(c);
      }), o.forEach((c) => {
        c._compact = !0;
      });
      let u = this.path.unshiftContainer("body", o);
      for (let c of u)
        c.isVariableDeclaration() && this.scope.registerDeclaration(c);
      return i;
    }
    buildCodeFrameError(e, s, r = SyntaxError) {
      let i = e?.loc;
      if (!i && e) {
        let a = {
          loc: null
        };
        (0, B2().default)(e, Sut, this.scope, a), i = a.loc;
        let o = "This is an error on an internal node. Probably an internal error.";
        i && (o += " Location has been estimated."), s += ` (${o})`;
      }
      if (i) {
        let {
          highlightCode: a = !0
        } = this.opts;
        s += `
` + (0, Mz().codeFrameColumns)(this.code, {
          start: {
            line: i.start.line,
            column: i.start.column + 1
          },
          end: i.end && i.start.line === i.end.line ? {
            line: i.end.line,
            column: i.end.column + 1
          } : void 0
        }, {
          highlightCode: a
        });
      }
      return new r(s);
    }
  };
  aP.default = Qd;
  Qd.prototype.addImport = /* @__PURE__ */ n(function() {
    throw new Error("This API has been removed. If you're looking for this functionality in Babel 7, you should import the '@babel/helper-mo\
dule-imports' module and use the functions exposed  from that module, such as 'addNamed' or 'addDefault'.");
  }, "addImport"), Qd.prototype.addTemplateObject = /* @__PURE__ */ n(function() {
    throw new Error("This function has been moved into the template literal transform itself.");
  }, "addTemplateObject"), Qd.prototype.getModuleName = /* @__PURE__ */ n(function() {
    return Tut.getModuleName()(this.opts, this.opts);
  }, "getModuleName");
});

// ../node_modules/@babel/core/lib/tools/build-external-helpers.js
var Kz = g((V2) => {
  "use strict";
  Object.defineProperty(V2, "__esModule", {
    value: !0
  });
  V2.default = Fut;
  function F2() {
    let t = yN();
    return F2 = /* @__PURE__ */ n(function() {
      return t;
    }, "helpers"), t;
  }
  n(F2, "helpers");
  function jz() {
    let t = Bx();
    return jz = /* @__PURE__ */ n(function() {
      return t;
    }, "_generator"), t;
  }
  n(jz, "_generator");
  function Rz() {
    let t = Jl();
    return Rz = /* @__PURE__ */ n(function() {
      return t;
    }, "_template"), t;
  }
  n(Rz, "_template");
  function qz() {
    let t = fe();
    return qz = /* @__PURE__ */ n(function() {
      return t;
    }, "_t"), t;
  }
  n(qz, "_t");
  var {
    arrayExpression: Put,
    assignmentExpression: oP,
    binaryExpression: Eut,
    blockStatement: Aut,
    callExpression: vut,
    cloneNode: Cut,
    conditionalExpression: wut,
    exportNamedDeclaration: Iut,
    exportSpecifier: Nut,
    expressionStatement: j2,
    functionExpression: kut,
    identifier: $i,
    memberExpression: R2,
    objectExpression: q2,
    program: lP,
    stringLiteral: Uz,
    unaryExpression: Dut,
    variableDeclaration: U2,
    variableDeclarator: K2
  } = qz(), Out = /* @__PURE__ */ n((t) => Rz().default.statement`
    (function (root, factory) {
      if (typeof define === "function" && define.amd) {
        define(AMD_ARGUMENTS, factory);
      } else if (typeof exports === "object") {
        factory(COMMON_ARGUMENTS);
      } else {
        factory(BROWSER_ARGUMENTS);
      }
    })(UMD_ROOT, function (FACTORY_PARAMETERS) {
      FACTORY_BODY
    });
  `(t), "buildUmdWrapper");
  function _ut(t) {
    let e = $i("babelHelpers"), s = [], r = kut(null, [$i("global")], Aut(s)), i = lP([j2(vut(r, [wut(Eut("===", Dut("typeof", $i("global")),
    Uz("undefined")), $i("self"), $i("global"))]))]);
    return s.push(U2("var", [K2(e, oP("=", R2($i("global"), e), q2([])))])), uP(s, e, t), i;
  }
  n(_ut, "buildGlobal");
  function Lut(t) {
    let e = [], s = uP(e, null, t);
    return e.unshift(Iut(null, Object.keys(s).map((r) => Nut(Cut(s[r]), $i(r))))), lP(e, [], "module");
  }
  n(Lut, "buildModule");
  function But(t) {
    let e = $i("babelHelpers"), s = [];
    return s.push(U2("var", [K2(e, $i("global"))])), uP(s, e, t), lP([Out({
      FACTORY_PARAMETERS: $i("global"),
      BROWSER_ARGUMENTS: oP("=", R2($i("root"), e), q2([])),
      COMMON_ARGUMENTS: $i("exports"),
      AMD_ARGUMENTS: Put([Uz("exports")]),
      FACTORY_BODY: s,
      UMD_ROOT: $i("this")
    })]);
  }
  n(But, "buildUmd");
  function Mut(t) {
    let e = $i("babelHelpers"), s = [];
    s.push(U2("var", [K2(e, q2([]))]));
    let r = lP(s);
    return uP(s, e, t), s.push(j2(e)), r;
  }
  n(Mut, "buildVar");
  function uP(t, e, s) {
    let r = /* @__PURE__ */ n((a) => e ? R2(e, $i(a)) : $i(`_${a}`), "getHelperReference"), i = {};
    return F2().list.forEach(function(a) {
      if (s && !s.includes(a)) return;
      let o = i[a] = r(a), {
        nodes: l
      } = F2().get(a, r, e ? null : `_${a}`, [], e ? (u, c, p) => {
        p((h) => oP("=", o, h)), u.body.push(j2(oP("=", o, $i(c))));
      } : null);
      t.push(...l);
    }), i;
  }
  n(uP, "buildHelpers");
  function Fut(t, e = "global") {
    let s, r = {
      global: _ut,
      module: Lut,
      umd: But,
      var: Mut
    }[e];
    if (r)
      s = r(t);
    else
      throw new Error(`Unsupported output type ${e}`);
    return (0, jz().default)(s).code;
  }
  n(Fut, "_default");
});

// ../node_modules/gensync/index.js
var ca = g((HKs, zz) => {
  "use strict";
  var Wz = Symbol.for("gensync:v1:start"), $z = Symbol.for("gensync:v1:suspend"), jut = "GENSYNC_EXPECTED_START", Rut = "GENSYNC_EXPECTED_SU\
SPEND", Hz = "GENSYNC_OPTIONS_ERROR", Vz = "GENSYNC_RACE_NONEMPTY", qut = "GENSYNC_ERRBACK_NO_CALLBACK";
  zz.exports = Object.assign(
    /* @__PURE__ */ n(function(e) {
      let s = e;
      return typeof e != "function" ? s = Kut(e) : s = Vut(e), Object.assign(s, Uut(s));
    }, "gensync"),
    {
      all: W2({
        name: "all",
        arity: 1,
        sync: /* @__PURE__ */ n(function(t) {
          return Array.from(t[0]).map((s) => $2(s));
        }, "sync"),
        async: /* @__PURE__ */ n(function(t, e, s) {
          let r = Array.from(t[0]);
          if (r.length === 0) {
            Promise.resolve().then(() => e([]));
            return;
          }
          let i = 0, a = r.map(() => {
          });
          r.forEach((o, l) => {
            cP(
              o,
              (u) => {
                a[l] = u, i += 1, i === a.length && e(a);
              },
              s
            );
          });
        }, "async")
      }),
      race: W2({
        name: "race",
        arity: 1,
        sync: /* @__PURE__ */ n(function(t) {
          let e = Array.from(t[0]);
          if (e.length === 0)
            throw Fh("Must race at least 1 item", Vz);
          return $2(e[0]);
        }, "sync"),
        async: /* @__PURE__ */ n(function(t, e, s) {
          let r = Array.from(t[0]);
          if (r.length === 0)
            throw Fh("Must race at least 1 item", Vz);
          for (let i of r)
            cP(i, e, s);
        }, "async")
      })
    }
  );
  function Uut(t) {
    return {
      sync: /* @__PURE__ */ n(function(...s) {
        return $2(t.apply(this, s));
      }, "sync"),
      async: /* @__PURE__ */ n(function(...s) {
        return new Promise((r, i) => {
          cP(t.apply(this, s), r, i);
        });
      }, "async"),
      errback: /* @__PURE__ */ n(function(...s) {
        let r = s.pop();
        if (typeof r != "function")
          throw Fh(
            "Asynchronous function called without callback",
            qut
          );
        let i;
        try {
          i = t.apply(this, s);
        } catch (a) {
          r(a);
          return;
        }
        cP(i, (a) => r(void 0, a), (a) => r(a));
      }, "errback")
    };
  }
  n(Uut, "makeFunctionAPI");
  function e0(t, e, s, r) {
    if (typeof s === t || r && typeof s > "u")
      return;
    let i;
    throw r ? i = `Expected opts.${e} to be either a ${t}, or undefined.` : i = `Expected opts.${e} to be a ${t}.`, Fh(i, Hz);
  }
  n(e0, "assertTypeof");
  function Fh(t, e) {
    return Object.assign(new Error(t), { code: e });
  }
  n(Fh, "makeError");
  function Kut({ name: t, arity: e, sync: s, async: r, errback: i }) {
    if (e0(
      "string",
      "name",
      t,
      !0
      /* allowUndefined */
    ), e0(
      "number",
      "arity",
      e,
      !0
      /* allowUndefined */
    ), e0("function", "sync", s), e0(
      "function",
      "async",
      r,
      !0
      /* allowUndefined */
    ), e0(
      "function",
      "errback",
      i,
      !0
      /* allowUndefined */
    ), r && i)
      throw Fh(
        "Expected one of either opts.async or opts.errback, but got _both_.",
        Hz
      );
    if (typeof t != "string") {
      let a;
      i && i.name && i.name !== "errback" && (a = i.name), r && r.name && r.name !== "async" && (a = r.name.replace(/Async$/, "")), s && s.name &&
      s.name !== "sync" && (a = s.name.replace(/Sync$/, "")), typeof a == "string" && (t = a);
    }
    return typeof e != "number" && (e = s.length), W2({
      name: t,
      arity: e,
      sync: /* @__PURE__ */ n(function(a) {
        return s.apply(this, a);
      }, "sync"),
      async: /* @__PURE__ */ n(function(a, o, l) {
        r ? r.apply(this, a).then(o, l) : i ? i.call(this, ...a, (u, c) => {
          u == null ? o(c) : l(u);
        }) : o(s.apply(this, a));
      }, "async")
    });
  }
  n(Kut, "newGenerator");
  function Vut(t) {
    return Xz(t.name, t.length, function(...e) {
      return t.apply(this, e);
    });
  }
  n(Vut, "wrapGenerator");
  function W2({ name: t, arity: e, sync: s, async: r }) {
    return Xz(t, e, function* (...i) {
      let a = yield Wz;
      if (!a)
        return s.call(this, i);
      let o;
      try {
        r.call(
          this,
          i,
          (l) => {
            o || (o = { value: l }, a());
          },
          (l) => {
            o || (o = { err: l }, a());
          }
        );
      } catch (l) {
        o = { err: l }, a();
      }
      if (yield $z, o.hasOwnProperty("err"))
        throw o.err;
      return o.value;
    });
  }
  n(W2, "buildOperation");
  function $2(t) {
    let e;
    for (; !({ value: e } = t.next()).done; )
      Jz(e, t);
    return e;
  }
  n($2, "evaluateSync");
  function cP(t, e, s) {
    (/* @__PURE__ */ n(function r() {
      try {
        let i;
        for (; !({ value: i } = t.next()).done; ) {
          Jz(i, t);
          let a = !0, o = !1, l = t.next(() => {
            a ? o = !0 : r();
          });
          if (a = !1, Wut(l, t), !o)
            return;
        }
        return e(i);
      } catch (i) {
        return s(i);
      }
    }, "step"))();
  }
  n(cP, "evaluateAsync");
  function Jz(t, e) {
    t !== Wz && Yz(
      e,
      Fh(
        `Got unexpected yielded value in gensync generator: ${JSON.stringify(
          t
        )}. Did you perhaps mean to use 'yield*' instead of 'yield'?`,
        jut
      )
    );
  }
  n(Jz, "assertStart");
  function Wut({ value: t, done: e }, s) {
    !e && t === $z || Yz(
      s,
      Fh(
        e ? "Unexpected generator completion. If you get this, it is probably a gensync bug." : `Expected GENSYNC_SUSPEND, got ${JSON.stringify(
          t
        )}. If you get this, it is probably a gensync bug.`,
        Rut
      )
    );
  }
  n(Wut, "assertSuspend");
  function Yz(t, e) {
    throw t.throw && t.throw(e), e;
  }
  n(Yz, "throwError");
  function Xz(t, e, s) {
    if (typeof t == "string") {
      let r = Object.getOwnPropertyDescriptor(s, "name");
      (!r || r.configurable) && Object.defineProperty(
        s,
        "name",
        Object.assign(r || {}, {
          configurable: !0,
          value: t
        })
      );
    }
    if (typeof e == "number") {
      let r = Object.getOwnPropertyDescriptor(s, "length");
      (!r || r.configurable) && Object.defineProperty(
        s,
        "length",
        Object.assign(r || {}, {
          configurable: !0,
          value: e
        })
      );
    }
    return s;
  }
  n(Xz, "setFunctionMetadata");
});

// ../node_modules/@babel/core/lib/gensync-utils/async.js
var tp = g((Ao) => {
  "use strict";
  Object.defineProperty(Ao, "__esModule", {
    value: !0
  });
  Ao.forwardAsync = Jut;
  Ao.isAsync = void 0;
  Ao.isThenable = eG;
  Ao.maybeAsync = $ut;
  Ao.waitFor = Ao.onFirstPause = void 0;
  function ep() {
    let t = ca();
    return ep = /* @__PURE__ */ n(function() {
      return t;
    }, "_gensync"), t;
  }
  n(ep, "_gensync");
  function Gz(t, e, s, r, i, a, o) {
    try {
      var l = t[a](o), u = l.value;
    } catch (c) {
      return void s(c);
    }
    l.done ? e(u) : Promise.resolve(u).then(r, i);
  }
  n(Gz, "asyncGeneratorStep");
  function Zz(t) {
    return function() {
      var e = this, s = arguments;
      return new Promise(function(r, i) {
        var a = t.apply(e, s);
        function o(u) {
          Gz(a, r, i, o, l, "next", u);
        }
        n(o, "_next");
        function l(u) {
          Gz(a, r, i, o, l, "throw", u);
        }
        n(l, "_throw"), o(void 0);
      });
    };
  }
  n(Zz, "_asyncToGenerator");
  var Qz = ep()(function* (t) {
    return yield* t;
  }), YKs = Ao.isAsync = ep()({
    sync: /* @__PURE__ */ n(() => !1, "sync"),
    errback: /* @__PURE__ */ n((t) => t(null, !0), "errback")
  });
  function $ut(t, e) {
    return ep()({
      sync(...s) {
        let r = t.apply(this, s);
        if (eG(r)) throw new Error(e);
        return r;
      },
      async(...s) {
        return Promise.resolve(t.apply(this, s));
      }
    });
  }
  n($ut, "maybeAsync");
  var Hut = ep()({
    sync: /* @__PURE__ */ n((t) => t("sync"), "sync"),
    async: function() {
      var t = Zz(function* (e) {
        return e("async");
      });
      return /* @__PURE__ */ n(function(s) {
        return t.apply(this, arguments);
      }, "async");
    }()
  });
  function Jut(t, e) {
    let s = ep()(t);
    return Hut((r) => {
      let i = s[r];
      return e(i);
    });
  }
  n(Jut, "forwardAsync");
  var XKs = Ao.onFirstPause = ep()({
    name: "onFirstPause",
    arity: 2,
    sync: /* @__PURE__ */ n(function(t) {
      return Qz.sync(t);
    }, "sync"),
    errback: /* @__PURE__ */ n(function(t, e, s) {
      let r = !1;
      Qz.errback(t, (i, a) => {
        r = !0, s(i, a);
      }), r || e();
    }, "errback")
  }), zKs = Ao.waitFor = ep()({
    sync: /* @__PURE__ */ n((t) => t, "sync"),
    async: function() {
      var t = Zz(function* (e) {
        return e;
      });
      return /* @__PURE__ */ n(function(s) {
        return t.apply(this, arguments);
      }, "async");
    }()
  });
  function eG(t) {
    return !!t && (typeof t == "object" || typeof t == "function") && !!t.then && typeof t.then == "function";
  }
  n(eG, "isThenable");
});

// ../node_modules/@babel/core/lib/config/util.js
var hP = g((pP) => {
  "use strict";
  Object.defineProperty(pP, "__esModule", {
    value: !0
  });
  pP.isIterableIterator = zut;
  pP.mergeOptions = Yut;
  function Yut(t, e) {
    for (let s of Object.keys(e))
      if ((s === "parserOpts" || s === "generatorOpts" || s === "assumptions") && e[s]) {
        let r = e[s], i = t[s] || (t[s] = {});
        Xut(i, r);
      } else {
        let r = e[s];
        r !== void 0 && (t[s] = r);
      }
  }
  n(Yut, "mergeOptions");
  function Xut(t, e) {
    for (let s of Object.keys(e)) {
      let r = e[s];
      r !== void 0 && (t[s] = r);
    }
  }
  n(Xut, "mergeDefaultFields");
  function zut(t) {
    return !!t && typeof t.next == "function" && typeof t[Symbol.iterator] == "function";
  }
  n(zut, "isIterableIterator");
});

// ../node_modules/@babel/core/lib/config/caching.js
var Rh = g((jh) => {
  "use strict";
  Object.defineProperty(jh, "__esModule", {
    value: !0
  });
  jh.assertSimpleType = fP;
  jh.makeStrongCache = nG;
  jh.makeStrongCacheSync = ect;
  jh.makeWeakCache = iG;
  jh.makeWeakCacheSync = Zut;
  function sG() {
    let t = ca();
    return sG = /* @__PURE__ */ n(function() {
      return t;
    }, "_gensync"), t;
  }
  n(sG, "_gensync");
  var Zd = tp(), Gut = hP(), rG = /* @__PURE__ */ n((t) => sG()(t).sync, "synchronize");
  function* Qut() {
    return !0;
  }
  n(Qut, "genTrue");
  function iG(t) {
    return aG(WeakMap, t);
  }
  n(iG, "makeWeakCache");
  function Zut(t) {
    return rG(iG(t));
  }
  n(Zut, "makeWeakCacheSync");
  function nG(t) {
    return aG(Map, t);
  }
  n(nG, "makeStrongCache");
  function ect(t) {
    return rG(nG(t));
  }
  n(ect, "makeStrongCacheSync");
  function aG(t, e) {
    let s = new t(), r = new t(), i = new t();
    return /* @__PURE__ */ n(function* (o, l) {
      let u = yield* (0, Zd.isAsync)(), c = u ? r : s, p = yield* tct(u, c, i, o, l);
      if (p.valid) return p.value;
      let h = new H2(l), f = e(o, h), d, m;
      return (0, Gut.isIterableIterator)(f) ? m = yield* (0, Zd.onFirstPause)(f, () => {
        d = sct(h, i, o);
      }) : m = f, oG(c, h, o, m), d && (i.delete(o), d.release(m)), m;
    }, "cachedFunction");
  }
  n(aG, "makeCachedFunction");
  function* tG(t, e, s) {
    let r = t.get(e);
    if (r) {
      for (let {
        value: i,
        valid: a
      } of r)
        if (yield* a(s)) return {
          valid: !0,
          value: i
        };
    }
    return {
      valid: !1,
      value: null
    };
  }
  n(tG, "getCachedValue");
  function* tct(t, e, s, r, i) {
    let a = yield* tG(e, r, i);
    if (a.valid)
      return a;
    if (t) {
      let o = yield* tG(s, r, i);
      if (o.valid)
        return {
          valid: !0,
          value: yield* (0, Zd.waitFor)(o.value.promise)
        };
    }
    return {
      valid: !1,
      value: null
    };
  }
  n(tct, "getCachedValueOrWait");
  function sct(t, e, s) {
    let r = new J2();
    return oG(e, t, s, r), r;
  }
  n(sct, "setupAsyncLocks");
  function oG(t, e, s, r) {
    e.configured() || e.forever();
    let i = t.get(s);
    switch (e.deactivate(), e.mode()) {
      case "forever":
        i = [{
          value: r,
          valid: Qut
        }], t.set(s, i);
        break;
      case "invalidate":
        i = [{
          value: r,
          valid: e.validator()
        }], t.set(s, i);
        break;
      case "valid":
        i ? i.push({
          value: r,
          valid: e.validator()
        }) : (i = [{
          value: r,
          valid: e.validator()
        }], t.set(s, i));
    }
  }
  n(oG, "updateFunctionCache");
  var H2 = class {
    static {
      n(this, "CacheConfigurator");
    }
    constructor(e) {
      this._active = !0, this._never = !1, this._forever = !1, this._invalidate = !1, this._configured = !1, this._pairs = [], this._data = void 0,
      this._data = e;
    }
    simple() {
      return rct(this);
    }
    mode() {
      return this._never ? "never" : this._forever ? "forever" : this._invalidate ? "invalidate" : "valid";
    }
    forever() {
      if (!this._active)
        throw new Error("Cannot change caching after evaluation has completed.");
      if (this._never)
        throw new Error("Caching has already been configured with .never()");
      this._forever = !0, this._configured = !0;
    }
    never() {
      if (!this._active)
        throw new Error("Cannot change caching after evaluation has completed.");
      if (this._forever)
        throw new Error("Caching has already been configured with .forever()");
      this._never = !0, this._configured = !0;
    }
    using(e) {
      if (!this._active)
        throw new Error("Cannot change caching after evaluation has completed.");
      if (this._never || this._forever)
        throw new Error("Caching has already been configured with .never or .forever()");
      this._configured = !0;
      let s = e(this._data), r = (0, Zd.maybeAsync)(e, "You appear to be using an async cache handler, but Babel has been called synchronous\
ly");
      return (0, Zd.isThenable)(s) ? s.then((i) => (this._pairs.push([i, r]), i)) : (this._pairs.push([s, r]), s);
    }
    invalidate(e) {
      return this._invalidate = !0, this.using(e);
    }
    validator() {
      let e = this._pairs;
      return function* (s) {
        for (let [r, i] of e)
          if (r !== (yield* i(s))) return !1;
        return !0;
      };
    }
    deactivate() {
      this._active = !1;
    }
    configured() {
      return this._configured;
    }
  };
  function rct(t) {
    function e(s) {
      if (typeof s == "boolean") {
        s ? t.forever() : t.never();
        return;
      }
      return t.using(() => fP(s()));
    }
    return n(e, "cacheFn"), e.forever = () => t.forever(), e.never = () => t.never(), e.using = (s) => t.using(() => fP(s())), e.invalidate =
    (s) => t.invalidate(() => fP(s())), e;
  }
  n(rct, "makeSimpleConfigurator");
  function fP(t) {
    if ((0, Zd.isThenable)(t))
      throw new Error("You appear to be using an async cache handler, which your current version of Babel does not support. We may add suppo\
rt for this in the future, but if you're on the most recent version of @babel/core and still seeing this error, then you'll need to synchron\
ously handle your caching logic.");
    if (t != null && typeof t != "string" && typeof t != "boolean" && typeof t != "number")
      throw new Error("Cache keys must be either string, boolean, number, null, or undefined.");
    return t;
  }
  n(fP, "assertSimpleType");
  var J2 = class {
    static {
      n(this, "Lock");
    }
    constructor() {
      this.released = !1, this.promise = void 0, this._resolve = void 0, this.promise = new Promise((e) => {
        this._resolve = e;
      });
    }
    release(e) {
      this.released = !0, this._resolve(e);
    }
  };
});

// ../node_modules/@babel/core/lib/gensync-utils/fs.js
var dP = g((em) => {
  "use strict";
  Object.defineProperty(em, "__esModule", {
    value: !0
  });
  em.stat = em.readFile = void 0;
  function t0() {
    let t = require("fs");
    return t0 = /* @__PURE__ */ n(function() {
      return t;
    }, "_fs"), t;
  }
  n(t0, "_fs");
  function Y2() {
    let t = ca();
    return Y2 = /* @__PURE__ */ n(function() {
      return t;
    }, "_gensync"), t;
  }
  n(Y2, "_gensync");
  var rVs = em.readFile = Y2()({
    sync: t0().readFileSync,
    errback: t0().readFile
  }), iVs = em.stat = Y2()({
    sync: t0().statSync,
    errback: t0().stat
  });
});

// ../node_modules/@babel/core/lib/config/files/utils.js
var G2 = g((z2) => {
  "use strict";
  Object.defineProperty(z2, "__esModule", {
    value: !0
  });
  z2.makeStaticFileCache = act;
  var ict = Rh(), nct = dP();
  function X2() {
    let t = require("fs");
    return X2 = /* @__PURE__ */ n(function() {
      return t;
    }, "_fs2"), t;
  }
  n(X2, "_fs2");
  function act(t) {
    return (0, ict.makeStrongCache)(function* (e, s) {
      return s.invalidate(() => oct(e)) === null ? null : t(e, yield* nct.readFile(e, "utf8"));
    });
  }
  n(act, "makeStaticFileCache");
  function oct(t) {
    if (!X2().existsSync(t)) return null;
    try {
      return +X2().statSync(t).mtime;
    } catch (e) {
      if (e.code !== "ENOENT" && e.code !== "ENOTDIR") throw e;
    }
    return null;
  }
  n(oct, "fileMtime");
});

// ../node_modules/@babel/core/lib/errors/rewrite-stack-trace.js
var bu = g((tm) => {
  "use strict";
  Object.defineProperty(tm, "__esModule", {
    value: !0
  });
  tm.beginHiddenCallStack = pct;
  tm.endHiddenCallStack = hct;
  tm.expectedError = cct;
  tm.injectVirtualStackFrame = uct;
  var lG, uG = Function.call.bind(Error.prototype.toString), yP = !!Error.captureStackTrace && ((lG = Object.getOwnPropertyDescriptor(Error,
  "stackTraceLimit")) == null ? void 0 : lG.writable) === !0, cG = "startHiding - secret - don't use this - v1", pG = "stopHiding - secret -\
 don't use this - v1", hG = /* @__PURE__ */ new WeakSet(), mP = /* @__PURE__ */ new WeakMap();
  function lct(t) {
    return /* @__PURE__ */ Object.create({
      isNative: /* @__PURE__ */ n(() => !1, "isNative"),
      isConstructor: /* @__PURE__ */ n(() => !1, "isConstructor"),
      isToplevel: /* @__PURE__ */ n(() => !0, "isToplevel"),
      getFileName: /* @__PURE__ */ n(() => t, "getFileName"),
      getLineNumber: /* @__PURE__ */ n(() => {
      }, "getLineNumber"),
      getColumnNumber: /* @__PURE__ */ n(() => {
      }, "getColumnNumber"),
      getFunctionName: /* @__PURE__ */ n(() => {
      }, "getFunctionName"),
      getMethodName: /* @__PURE__ */ n(() => {
      }, "getMethodName"),
      getTypeName: /* @__PURE__ */ n(() => {
      }, "getTypeName"),
      toString: /* @__PURE__ */ n(() => t, "toString")
    });
  }
  n(lct, "CallSite");
  function uct(t, e) {
    if (!yP) return;
    let s = mP.get(t);
    return s || mP.set(t, s = []), s.push(lct(e)), t;
  }
  n(uct, "injectVirtualStackFrame");
  function cct(t) {
    if (yP)
      return hG.add(t), t;
  }
  n(cct, "expectedError");
  function pct(t) {
    return yP ? Object.defineProperty(function(...e) {
      return fG(), t(...e);
    }, "name", {
      value: pG
    }) : t;
  }
  n(pct, "beginHiddenCallStack");
  function hct(t) {
    return yP ? Object.defineProperty(function(...e) {
      return t(...e);
    }, "name", {
      value: cG
    }) : t;
  }
  n(hct, "endHiddenCallStack");
  function fG() {
    fG = /* @__PURE__ */ n(() => {
    }, "setupPrepareStackTrace");
    let {
      prepareStackTrace: t = fct
    } = Error, e = 50;
    Error.stackTraceLimit && (Error.stackTraceLimit = Math.max(Error.stackTraceLimit, e)), Error.prepareStackTrace = /* @__PURE__ */ n(function(r, i) {
      let a = [], l = hG.has(r) ? "hiding" : "unknown";
      for (let u = 0; u < i.length; u++) {
        let c = i[u].getFunctionName();
        if (c === cG)
          l = "hiding";
        else if (c === pG) {
          if (l === "hiding")
            l = "showing", mP.has(r) && a.unshift(...mP.get(r));
          else if (l === "unknown") {
            a = i;
            break;
          }
        } else l !== "hiding" && a.push(i[u]);
      }
      return t(r, a);
    }, "stackTraceRewriter");
  }
  n(fG, "setupPrepareStackTrace");
  function fct(t, e) {
    return e.length === 0 ? uG(t) : `${uG(t)}
    at ${e.join(`
    at `)}`;
  }
  n(fct, "defaultPrepareStackTrace");
});

// ../node_modules/@babel/core/lib/errors/config-error.js
var qh = g((gP) => {
  "use strict";
  Object.defineProperty(gP, "__esModule", {
    value: !0
  });
  gP.default = void 0;
  var dG = bu(), Q2 = class extends Error {
    static {
      n(this, "ConfigError");
    }
    constructor(e, s) {
      super(e), (0, dG.expectedError)(this), s && (0, dG.injectVirtualStackFrame)(this, s);
    }
  };
  gP.default = Q2;
});

// ../node_modules/@babel/core/lib/config/files/package.js
var mG = g((e_) => {
  "use strict";
  Object.defineProperty(e_, "__esModule", {
    value: !0
  });
  e_.findPackageData = gct;
  function sm() {
    let t = require("path");
    return sm = /* @__PURE__ */ n(function() {
      return t;
    }, "_path"), t;
  }
  n(sm, "_path");
  var dct = G2(), Z2 = qh(), mct = "package.json", yct = (0, dct.makeStaticFileCache)((t, e) => {
    let s;
    try {
      s = JSON.parse(e);
    } catch (r) {
      throw new Z2.default(`Error while parsing JSON - ${r.message}`, t);
    }
    if (!s) throw new Error(`${t}: No config detected`);
    if (typeof s != "object")
      throw new Z2.default(`Config returned typeof ${typeof s}`, t);
    if (Array.isArray(s))
      throw new Z2.default("Expected config object but found array", t);
    return {
      filepath: t,
      dirname: sm().dirname(t),
      options: s
    };
  });
  function* gct(t) {
    let e = null, s = [], r = !0, i = sm().dirname(t);
    for (; !e && sm().basename(i) !== "node_modules"; ) {
      s.push(i), e = yield* yct(sm().join(i, mct));
      let a = sm().dirname(i);
      if (i === a) {
        r = !1;
        break;
      }
      i = a;
    }
    return {
      filepath: t,
      directories: s,
      pkg: e,
      isPackage: r
    };
  }
  n(gct, "findPackageData");
});

// ../node_modules/json5/lib/unicode.js
var yG = g((mVs, TP) => {
  TP.exports.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
  TP.exports.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
  TP.exports.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;
});

// ../node_modules/json5/lib/util.js
var s_ = g((yVs, gG) => {
  var t_ = yG();
  gG.exports = {
    isSpaceSeparator(t) {
      return typeof t == "string" && t_.Space_Separator.test(t);
    },
    isIdStartChar(t) {
      return typeof t == "string" && (t >= "a" && t <= "z" || t >= "A" && t <= "Z" || t === "$" || t === "_" || t_.ID_Start.test(t));
    },
    isIdContinueChar(t) {
      return typeof t == "string" && (t >= "a" && t <= "z" || t >= "A" && t <= "Z" || t >= "0" && t <= "9" || t === "$" || t === "_" || t ===
      "\u200C" || t === "\u200D" || t_.ID_Continue.test(t));
    },
    isDigit(t) {
      return typeof t == "string" && /[0-9]/.test(t);
    },
    isHexDigit(t) {
      return typeof t == "string" && /[0-9A-Fa-f]/.test(t);
    }
  };
});

// ../node_modules/json5/lib/parse.js
var PG = g((gVs, SG) => {
  var Bi = s_(), i_, In, Su, xP, sp, vo, Mi, o_, r0;
  SG.exports = /* @__PURE__ */ n(function(e, s) {
    i_ = String(e), In = "start", Su = [], xP = 0, sp = 1, vo = 0, Mi = void 0, o_ = void 0, r0 = void 0;
    do
      Mi = Tct(), Sct[In]();
    while (Mi.type !== "eof");
    return typeof s == "function" ? n_({ "": r0 }, "", s) : r0;
  }, "parse");
  function n_(t, e, s) {
    let r = t[e];
    if (r != null && typeof r == "object")
      if (Array.isArray(r))
        for (let i = 0; i < r.length; i++) {
          let a = String(i), o = n_(r, a, s);
          o === void 0 ? delete r[a] : Object.defineProperty(r, a, {
            value: o,
            writable: !0,
            enumerable: !0,
            configurable: !0
          });
        }
      else
        for (let i in r) {
          let a = n_(r, i, s);
          a === void 0 ? delete r[i] : Object.defineProperty(r, i, {
            value: a,
            writable: !0,
            enumerable: !0,
            configurable: !0
          });
        }
    return s.call(t, e, r);
  }
  n(n_, "internalize");
  var ts, zt, s0, xu, Es;
  function Tct() {
    for (ts = "default", zt = "", s0 = !1, xu = 1; ; ) {
      Es = Pu();
      let t = bG[ts]();
      if (t)
        return t;
    }
  }
  n(Tct, "lex");
  function Pu() {
    if (i_[xP])
      return String.fromCodePoint(i_.codePointAt(xP));
  }
  n(Pu, "peek");
  function ve() {
    let t = Pu();
    return t === `
` ? (sp++, vo = 0) : t ? vo += t.length : vo++, t && (xP += t.length), t;
  }
  n(ve, "read");
  var bG = {
    default() {
      switch (Es) {
        case "	":
        case "\v":
        case "\f":
        case " ":
        case "\xA0":
        case "\uFEFF":
        case `
`:
        case "\r":
        case "\u2028":
        case "\u2029":
          ve();
          return;
        case "/":
          ve(), ts = "comment";
          return;
        case void 0:
          return ve(), Or("eof");
      }
      if (Bi.isSpaceSeparator(Es)) {
        ve();
        return;
      }
      return bG[In]();
    },
    comment() {
      switch (Es) {
        case "*":
          ve(), ts = "multiLineComment";
          return;
        case "/":
          ve(), ts = "singleLineComment";
          return;
      }
      throw _r(ve());
    },
    multiLineComment() {
      switch (Es) {
        case "*":
          ve(), ts = "multiLineCommentAsterisk";
          return;
        case void 0:
          throw _r(ve());
      }
      ve();
    },
    multiLineCommentAsterisk() {
      switch (Es) {
        case "*":
          ve();
          return;
        case "/":
          ve(), ts = "default";
          return;
        case void 0:
          throw _r(ve());
      }
      ve(), ts = "multiLineComment";
    },
    singleLineComment() {
      switch (Es) {
        case `
`:
        case "\r":
        case "\u2028":
        case "\u2029":
          ve(), ts = "default";
          return;
        case void 0:
          return ve(), Or("eof");
      }
      ve();
    },
    value() {
      switch (Es) {
        case "{":
        case "[":
          return Or("punctuator", ve());
        case "n":
          return ve(), Uh("ull"), Or("null", null);
        case "t":
          return ve(), Uh("rue"), Or("boolean", !0);
        case "f":
          return ve(), Uh("alse"), Or("boolean", !1);
        case "-":
        case "+":
          ve() === "-" && (xu = -1), ts = "sign";
          return;
        case ".":
          zt = ve(), ts = "decimalPointLeading";
          return;
        case "0":
          zt = ve(), ts = "zero";
          return;
        case "1":
        case "2":
        case "3":
        case "4":
        case "5":
        case "6":
        case "7":
        case "8":
        case "9":
          zt = ve(), ts = "decimalInteger";
          return;
        case "I":
          return ve(), Uh("nfinity"), Or("numeric", 1 / 0);
        case "N":
          return ve(), Uh("aN"), Or("numeric", NaN);
        case '"':
        case "'":
          s0 = ve() === '"', zt = "", ts = "string";
          return;
      }
      throw _r(ve());
    },
    identifierNameStartEscape() {
      if (Es !== "u")
        throw _r(ve());
      ve();
      let t = a_();
      switch (t) {
        case "$":
        case "_":
          break;
        default:
          if (!Bi.isIdStartChar(t))
            throw TG();
          break;
      }
      zt += t, ts = "identifierName";
    },
    identifierName() {
      switch (Es) {
        case "$":
        case "_":
        case "\u200C":
        case "\u200D":
          zt += ve();
          return;
        case "\\":
          ve(), ts = "identifierNameEscape";
          return;
      }
      if (Bi.isIdContinueChar(Es)) {
        zt += ve();
        return;
      }
      return Or("identifier", zt);
    },
    identifierNameEscape() {
      if (Es !== "u")
        throw _r(ve());
      ve();
      let t = a_();
      switch (t) {
        case "$":
        case "_":
        case "\u200C":
        case "\u200D":
          break;
        default:
          if (!Bi.isIdContinueChar(t))
            throw TG();
          break;
      }
      zt += t, ts = "identifierName";
    },
    sign() {
      switch (Es) {
        case ".":
          zt = ve(), ts = "decimalPointLeading";
          return;
        case "0":
          zt = ve(), ts = "zero";
          return;
        case "1":
        case "2":
        case "3":
        case "4":
        case "5":
        case "6":
        case "7":
        case "8":
        case "9":
          zt = ve(), ts = "decimalInteger";
          return;
        case "I":
          return ve(), Uh("nfinity"), Or("numeric", xu * (1 / 0));
        case "N":
          return ve(), Uh("aN"), Or("numeric", NaN);
      }
      throw _r(ve());
    },
    zero() {
      switch (Es) {
        case ".":
          zt += ve(), ts = "decimalPoint";
          return;
        case "e":
        case "E":
          zt += ve(), ts = "decimalExponent";
          return;
        case "x":
        case "X":
          zt += ve(), ts = "hexadecimal";
          return;
      }
      return Or("numeric", xu * 0);
    },
    decimalInteger() {
      switch (Es) {
        case ".":
          zt += ve(), ts = "decimalPoint";
          return;
        case "e":
        case "E":
          zt += ve(), ts = "decimalExponent";
          return;
      }
      if (Bi.isDigit(Es)) {
        zt += ve();
        return;
      }
      return Or("numeric", xu * Number(zt));
    },
    decimalPointLeading() {
      if (Bi.isDigit(Es)) {
        zt += ve(), ts = "decimalFraction";
        return;
      }
      throw _r(ve());
    },
    decimalPoint() {
      switch (Es) {
        case "e":
        case "E":
          zt += ve(), ts = "decimalExponent";
          return;
      }
      if (Bi.isDigit(Es)) {
        zt += ve(), ts = "decimalFraction";
        return;
      }
      return Or("numeric", xu * Number(zt));
    },
    decimalFraction() {
      switch (Es) {
        case "e":
        case "E":
          zt += ve(), ts = "decimalExponent";
          return;
      }
      if (Bi.isDigit(Es)) {
        zt += ve();
        return;
      }
      return Or("numeric", xu * Number(zt));
    },
    decimalExponent() {
      switch (Es) {
        case "+":
        case "-":
          zt += ve(), ts = "decimalExponentSign";
          return;
      }
      if (Bi.isDigit(Es)) {
        zt += ve(), ts = "decimalExponentInteger";
        return;
      }
      throw _r(ve());
    },
    decimalExponentSign() {
      if (Bi.isDigit(Es)) {
        zt += ve(), ts = "decimalExponentInteger";
        return;
      }
      throw _r(ve());
    },
    decimalExponentInteger() {
      if (Bi.isDigit(Es)) {
        zt += ve();
        return;
      }
      return Or("numeric", xu * Number(zt));
    },
    hexadecimal() {
      if (Bi.isHexDigit(Es)) {
        zt += ve(), ts = "hexadecimalInteger";
        return;
      }
      throw _r(ve());
    },
    hexadecimalInteger() {
      if (Bi.isHexDigit(Es)) {
        zt += ve();
        return;
      }
      return Or("numeric", xu * Number(zt));
    },
    string() {
      switch (Es) {
        case "\\":
          ve(), zt += bct();
          return;
        case '"':
          if (s0)
            return ve(), Or("string", zt);
          zt += ve();
          return;
        case "'":
          if (!s0)
            return ve(), Or("string", zt);
          zt += ve();
          return;
        case `
`:
        case "\r":
          throw _r(ve());
        case "\u2028":
        case "\u2029":
          Pct(Es);
          break;
        case void 0:
          throw _r(ve());
      }
      zt += ve();
    },
    start() {
      switch (Es) {
        case "{":
        case "[":
          return Or("punctuator", ve());
      }
      ts = "value";
    },
    beforePropertyName() {
      switch (Es) {
        case "$":
        case "_":
          zt = ve(), ts = "identifierName";
          return;
        case "\\":
          ve(), ts = "identifierNameStartEscape";
          return;
        case "}":
          return Or("punctuator", ve());
        case '"':
        case "'":
          s0 = ve() === '"', ts = "string";
          return;
      }
      if (Bi.isIdStartChar(Es)) {
        zt += ve(), ts = "identifierName";
        return;
      }
      throw _r(ve());
    },
    afterPropertyName() {
      if (Es === ":")
        return Or("punctuator", ve());
      throw _r(ve());
    },
    beforePropertyValue() {
      ts = "value";
    },
    afterPropertyValue() {
      switch (Es) {
        case ",":
        case "}":
          return Or("punctuator", ve());
      }
      throw _r(ve());
    },
    beforeArrayValue() {
      if (Es === "]")
        return Or("punctuator", ve());
      ts = "value";
    },
    afterArrayValue() {
      switch (Es) {
        case ",":
        case "]":
          return Or("punctuator", ve());
      }
      throw _r(ve());
    },
    end() {
      throw _r(ve());
    }
  };
  function Or(t, e) {
    return {
      type: t,
      value: e,
      line: sp,
      column: vo
    };
  }
  n(Or, "newToken");
  function Uh(t) {
    for (let e of t) {
      if (Pu() !== e)
        throw _r(ve());
      ve();
    }
  }
  n(Uh, "literal");
  function bct() {
    switch (Pu()) {
      case "b":
        return ve(), "\b";
      case "f":
        return ve(), "\f";
      case "n":
        return ve(), `
`;
      case "r":
        return ve(), "\r";
      case "t":
        return ve(), "	";
      case "v":
        return ve(), "\v";
      case "0":
        if (ve(), Bi.isDigit(Pu()))
          throw _r(ve());
        return "\0";
      case "x":
        return ve(), xct();
      case "u":
        return ve(), a_();
      case `
`:
      case "\u2028":
      case "\u2029":
        return ve(), "";
      case "\r":
        return ve(), Pu() === `
` && ve(), "";
      case "1":
      case "2":
      case "3":
      case "4":
      case "5":
      case "6":
      case "7":
      case "8":
      case "9":
        throw _r(ve());
      case void 0:
        throw _r(ve());
    }
    return ve();
  }
  n(bct, "escape");
  function xct() {
    let t = "", e = Pu();
    if (!Bi.isHexDigit(e) || (t += ve(), e = Pu(), !Bi.isHexDigit(e)))
      throw _r(ve());
    return t += ve(), String.fromCodePoint(parseInt(t, 16));
  }
  n(xct, "hexEscape");
  function a_() {
    let t = "", e = 4;
    for (; e-- > 0; ) {
      let s = Pu();
      if (!Bi.isHexDigit(s))
        throw _r(ve());
      t += ve();
    }
    return String.fromCodePoint(parseInt(t, 16));
  }
  n(a_, "unicodeEscape");
  var Sct = {
    start() {
      if (Mi.type === "eof")
        throw Kh();
      r_();
    },
    beforePropertyName() {
      switch (Mi.type) {
        case "identifier":
        case "string":
          o_ = Mi.value, In = "afterPropertyName";
          return;
        case "punctuator":
          bP();
          return;
        case "eof":
          throw Kh();
      }
    },
    afterPropertyName() {
      if (Mi.type === "eof")
        throw Kh();
      In = "beforePropertyValue";
    },
    beforePropertyValue() {
      if (Mi.type === "eof")
        throw Kh();
      r_();
    },
    beforeArrayValue() {
      if (Mi.type === "eof")
        throw Kh();
      if (Mi.type === "punctuator" && Mi.value === "]") {
        bP();
        return;
      }
      r_();
    },
    afterPropertyValue() {
      if (Mi.type === "eof")
        throw Kh();
      switch (Mi.value) {
        case ",":
          In = "beforePropertyName";
          return;
        case "}":
          bP();
      }
    },
    afterArrayValue() {
      if (Mi.type === "eof")
        throw Kh();
      switch (Mi.value) {
        case ",":
          In = "beforeArrayValue";
          return;
        case "]":
          bP();
      }
    },
    end() {
    }
  };
  function r_() {
    let t;
    switch (Mi.type) {
      case "punctuator":
        switch (Mi.value) {
          case "{":
            t = {};
            break;
          case "[":
            t = [];
            break;
        }
        break;
      case "null":
      case "boolean":
      case "numeric":
      case "string":
        t = Mi.value;
        break;
    }
    if (r0 === void 0)
      r0 = t;
    else {
      let e = Su[Su.length - 1];
      Array.isArray(e) ? e.push(t) : Object.defineProperty(e, o_, {
        value: t,
        writable: !0,
        enumerable: !0,
        configurable: !0
      });
    }
    if (t !== null && typeof t == "object")
      Su.push(t), Array.isArray(t) ? In = "beforeArrayValue" : In = "beforePropertyName";
    else {
      let e = Su[Su.length - 1];
      e == null ? In = "end" : Array.isArray(e) ? In = "afterArrayValue" : In = "afterPropertyValue";
    }
  }
  n(r_, "push");
  function bP() {
    Su.pop();
    let t = Su[Su.length - 1];
    t == null ? In = "end" : Array.isArray(t) ? In = "afterArrayValue" : In = "afterPropertyValue";
  }
  n(bP, "pop");
  function _r(t) {
    return SP(t === void 0 ? `JSON5: invalid end of input at ${sp}:${vo}` : `JSON5: invalid character '${xG(t)}' at ${sp}:${vo}`);
  }
  n(_r, "invalidChar");
  function Kh() {
    return SP(`JSON5: invalid end of input at ${sp}:${vo}`);
  }
  n(Kh, "invalidEOF");
  function TG() {
    return vo -= 5, SP(`JSON5: invalid identifier character at ${sp}:${vo}`);
  }
  n(TG, "invalidIdentifier");
  function Pct(t) {
    console.warn(`JSON5: '${xG(t)}' in strings is not valid ECMAScript; consider escaping`);
  }
  n(Pct, "separatorChar");
  function xG(t) {
    let e = {
      "'": "\\'",
      '"': '\\"',
      "\\": "\\\\",
      "\b": "\\b",
      "\f": "\\f",
      "\n": "\\n",
      "\r": "\\r",
      "	": "\\t",
      "\v": "\\v",
      "\0": "\\0",
      "\u2028": "\\u2028",
      "\u2029": "\\u2029"
    };
    if (e[t])
      return e[t];
    if (t < " ") {
      let s = t.charCodeAt(0).toString(16);
      return "\\x" + ("00" + s).substring(s.length);
    }
    return t;
  }
  n(xG, "formatChar");
  function SP(t) {
    let e = new SyntaxError(t);
    return e.lineNumber = sp, e.columnNumber = vo, e;
  }
  n(SP, "syntaxError");
});

// ../node_modules/json5/lib/stringify.js
var AG = g((bVs, EG) => {
  var l_ = s_();
  EG.exports = /* @__PURE__ */ n(function(e, s, r) {
    let i = [], a = "", o, l, u = "", c;
    if (s != null && typeof s == "object" && !Array.isArray(s) && (r = s.space, c = s.quote, s = s.replacer), typeof s == "function")
      l = s;
    else if (Array.isArray(s)) {
      o = [];
      for (let y of s) {
        let T;
        typeof y == "string" ? T = y : (typeof y == "number" || y instanceof String || y instanceof Number) && (T = String(y)), T !== void 0 &&
        o.indexOf(T) < 0 && o.push(T);
      }
    }
    return r instanceof Number ? r = Number(r) : r instanceof String && (r = String(r)), typeof r == "number" ? r > 0 && (r = Math.min(10, Math.
    floor(r)), u = "          ".substr(0, r)) : typeof r == "string" && (u = r.substr(0, 10)), p("", { "": e });
    function p(y, T) {
      let b = T[y];
      switch (b != null && (typeof b.toJSON5 == "function" ? b = b.toJSON5(y) : typeof b.toJSON == "function" && (b = b.toJSON(y))), l && (b =
      l.call(T, y, b)), b instanceof Number ? b = Number(b) : b instanceof String ? b = String(b) : b instanceof Boolean && (b = b.valueOf()),
      b) {
        case null:
          return "null";
        case !0:
          return "true";
        case !1:
          return "false";
      }
      if (typeof b == "string")
        return h(b, !1);
      if (typeof b == "number")
        return String(b);
      if (typeof b == "object")
        return Array.isArray(b) ? m(b) : f(b);
    }
    n(p, "serializeProperty");
    function h(y) {
      let T = {
        "'": 0.1,
        '"': 0.2
      }, b = {
        "'": "\\'",
        '"': '\\"',
        "\\": "\\\\",
        "\b": "\\b",
        "\f": "\\f",
        "\n": "\\n",
        "\r": "\\r",
        "	": "\\t",
        "\v": "\\v",
        "\0": "\\0",
        "\u2028": "\\u2028",
        "\u2029": "\\u2029"
      }, E = "";
      for (let W = 0; W < y.length; W++) {
        let oe = y[W];
        switch (oe) {
          case "'":
          case '"':
            T[oe]++, E += oe;
            continue;
          case "\0":
            if (l_.isDigit(y[W + 1])) {
              E += "\\x00";
              continue;
            }
        }
        if (b[oe]) {
          E += b[oe];
          continue;
        }
        if (oe < " ") {
          let de = oe.charCodeAt(0).toString(16);
          E += "\\x" + ("00" + de).substring(de.length);
          continue;
        }
        E += oe;
      }
      let V = c || Object.keys(T).reduce((W, oe) => T[W] < T[oe] ? W : oe);
      return E = E.replace(new RegExp(V, "g"), b[V]), V + E + V;
    }
    n(h, "quoteString");
    function f(y) {
      if (i.indexOf(y) >= 0)
        throw TypeError("Converting circular structure to JSON5");
      i.push(y);
      let T = a;
      a = a + u;
      let b = o || Object.keys(y), E = [];
      for (let W of b) {
        let oe = p(W, y);
        if (oe !== void 0) {
          let de = d(W) + ":";
          u !== "" && (de += " "), de += oe, E.push(de);
        }
      }
      let V;
      if (E.length === 0)
        V = "{}";
      else {
        let W;
        if (u === "")
          W = E.join(","), V = "{" + W + "}";
        else {
          let oe = `,
` + a;
          W = E.join(oe), V = `{
` + a + W + `,
` + T + "}";
        }
      }
      return i.pop(), a = T, V;
    }
    n(f, "serializeObject");
    function d(y) {
      if (y.length === 0)
        return h(y, !0);
      let T = String.fromCodePoint(y.codePointAt(0));
      if (!l_.isIdStartChar(T))
        return h(y, !0);
      for (let b = T.length; b < y.length; b++)
        if (!l_.isIdContinueChar(String.fromCodePoint(y.codePointAt(b))))
          return h(y, !0);
      return y;
    }
    n(d, "serializeKey");
    function m(y) {
      if (i.indexOf(y) >= 0)
        throw TypeError("Converting circular structure to JSON5");
      i.push(y);
      let T = a;
      a = a + u;
      let b = [];
      for (let V = 0; V < y.length; V++) {
        let W = p(String(V), y);
        b.push(W !== void 0 ? W : "null");
      }
      let E;
      if (b.length === 0)
        E = "[]";
      else if (u === "")
        E = "[" + b.join(",") + "]";
      else {
        let V = `,
` + a, W = b.join(V);
        E = `[
` + a + W + `,
` + T + "]";
      }
      return i.pop(), a = T, E;
    }
    n(m, "serializeArray");
  }, "stringify");
});

// ../node_modules/json5/lib/index.js
var CG = g((SVs, vG) => {
  var Ect = PG(), Act = AG(), vct = {
    parse: Ect,
    stringify: Act
  };
  vG.exports = vct;
});

// ../node_modules/@babel/core/lib/config/helpers/config-api.js
var u_ = g((i0) => {
  "use strict";
  Object.defineProperty(i0, "__esModule", {
    value: !0
  });
  i0.makeConfigAPI = NG;
  i0.makePluginAPI = Cct;
  i0.makePresetAPI = kG;
  function IG() {
    let t = require("semver");
    return IG = /* @__PURE__ */ n(function() {
      return t;
    }, "_semver"), t;
  }
  n(IG, "_semver");
  var PP = ni(), wG = Rh();
  function NG(t) {
    let e = /* @__PURE__ */ n((r) => t.using((i) => r === void 0 ? i.envName : typeof r == "function" ? (0, wG.assertSimpleType)(r(i.envName)) :
    (Array.isArray(r) ? r : [r]).some((a) => {
      if (typeof a != "string")
        throw new Error("Unexpected non-string value");
      return a === i.envName;
    })), "env"), s = /* @__PURE__ */ n((r) => t.using((i) => (0, wG.assertSimpleType)(r(i.caller))), "caller");
    return {
      version: PP.version,
      cache: t.simple(),
      env: e,
      async: /* @__PURE__ */ n(() => !1, "async"),
      caller: s,
      assertVersion: wct
    };
  }
  n(NG, "makeConfigAPI");
  function kG(t, e) {
    let s = /* @__PURE__ */ n(() => JSON.parse(t.using((i) => JSON.stringify(i.targets))), "targets"), r = /* @__PURE__ */ n((i) => {
      e.push(i);
    }, "addExternalDependency");
    return Object.assign({}, NG(t), {
      targets: s,
      addExternalDependency: r
    });
  }
  n(kG, "makePresetAPI");
  function Cct(t, e) {
    let s = /* @__PURE__ */ n((r) => t.using((i) => i.assumptions[r]), "assumption");
    return Object.assign({}, kG(t, e), {
      assumption: s
    });
  }
  n(Cct, "makePluginAPI");
  function wct(t) {
    if (typeof t == "number") {
      if (!Number.isInteger(t))
        throw new Error("Expected string or integer value.");
      t = `^${t}.0.0-0`;
    }
    if (typeof t != "string")
      throw new Error("Expected string or integer value.");
    if (t === "*" || IG().satisfies(PP.version, t)) return;
    let e = Error.stackTraceLimit;
    typeof e == "number" && e < 25 && (Error.stackTraceLimit = 25);
    let s = new Error(`Requires Babel "${t}", but was loaded with "${PP.version}". If you are sure you have a compatible version of @babel/c\
ore, it is likely that something in your build process is loading the wrong version. Inspect the stack trace of this error to look for the f\
irst entry that doesn't mention "@babel/core" or "babel-core" to see what is calling Babel.`);
    throw typeof e == "number" && (Error.stackTraceLimit = e), Object.assign(s, {
      code: "BABEL_VERSION_UNSUPPORTED",
      version: PP.version,
      range: t
    });
  }
  n(wct, "assertVersion");
});

// ../node_modules/@babel/core/lib/config/helpers/deep-array.js
var AP = g((EP) => {
  "use strict";
  Object.defineProperty(EP, "__esModule", {
    value: !0
  });
  EP.finalize = Ict;
  EP.flattenToSet = Nct;
  function Ict(t) {
    return Object.freeze(t);
  }
  n(Ict, "finalize");
  function Nct(t) {
    let e = /* @__PURE__ */ new Set(), s = [t];
    for (; s.length > 0; )
      for (let r of s.pop())
        Array.isArray(r) ? s.push(r) : e.add(r);
    return e;
  }
  n(Nct, "flattenToSet");
});

// ../node_modules/@babel/core/lib/config/plugin.js
var CP = g((vP) => {
  "use strict";
  Object.defineProperty(vP, "__esModule", {
    value: !0
  });
  vP.default = void 0;
  var kct = AP(), c_ = class {
    static {
      n(this, "Plugin");
    }
    constructor(e, s, r, i = (0, kct.finalize)([])) {
      this.key = void 0, this.manipulateOptions = void 0, this.post = void 0, this.pre = void 0, this.visitor = void 0, this.parserOverride =
      void 0, this.generatorOverride = void 0, this.options = void 0, this.externalDependencies = void 0, this.key = e.name || r, this.manipulateOptions =
      e.manipulateOptions, this.post = e.post, this.pre = e.pre, this.visitor = e.visitor || {}, this.parserOverride = e.parserOverride, this.
      generatorOverride = e.generatorOverride, this.options = s, this.externalDependencies = i;
    }
  };
  vP.default = c_;
});

// ../node_modules/@babel/core/lib/gensync-utils/functional.js
var OG = g((p_) => {
  "use strict";
  Object.defineProperty(p_, "__esModule", {
    value: !0
  });
  p_.once = Dct;
  var DG = tp();
  function Dct(t) {
    let e, s, r = !1;
    return function* () {
      if (!e) {
        if (s)
          return r = !0, yield* (0, DG.waitFor)(s);
        if (yield* (0, DG.isAsync)()) {
          let i, a;
          s = new Promise((o, l) => {
            i = o, a = l;
          });
          try {
            e = {
              ok: !0,
              value: yield* t()
            }, s = null, r && i(e.value);
          } catch (o) {
            e = {
              ok: !1,
              value: o
            }, s = null, r && a(o);
          }
        } else
          try {
            e = {
              ok: !0,
              value: yield* t()
            };
          } catch (i) {
            e = {
              ok: !1,
              value: i
            };
          }
      }
      if (e.ok) return e.value;
      throw e.value;
    };
  }
  n(Dct, "once");
});

// ../node_modules/node-releases/data/processed/envs.json
var _G = g((kVs, Oct) => {
  Oct.exports = [{ name: "nodejs", version: "0.2.0", date: "2011-08-26", lts: !1, security: !1, v8: "2.3.8.0" }, { name: "nodejs", version: "\
0.3.0", date: "2011-08-26", lts: !1, security: !1, v8: "2.5.1.0" }, { name: "nodejs", version: "0.4.0", date: "2011-08-26", lts: !1, security: !1,
  v8: "3.1.2.0" }, { name: "nodejs", version: "0.5.0", date: "2011-08-26", lts: !1, security: !1, v8: "3.1.8.25" }, { name: "nodejs", version: "\
0.6.0", date: "2011-11-04", lts: !1, security: !1, v8: "3.6.6.6" }, { name: "nodejs", version: "0.7.0", date: "2012-01-17", lts: !1, security: !1,
  v8: "3.8.6.0" }, { name: "nodejs", version: "0.8.0", date: "2012-06-22", lts: !1, security: !1, v8: "3.11.10.10" }, { name: "nodejs", version: "\
0.9.0", date: "2012-07-20", lts: !1, security: !1, v8: "3.11.10.15" }, { name: "nodejs", version: "0.10.0", date: "2013-03-11", lts: !1, security: !1,
  v8: "3.14.5.8" }, { name: "nodejs", version: "0.11.0", date: "2013-03-28", lts: !1, security: !1, v8: "3.17.13.0" }, { name: "nodejs", version: "\
0.12.0", date: "2015-02-06", lts: !1, security: !1, v8: "3.28.73.0" }, { name: "nodejs", version: "4.0.0", date: "2015-09-08", lts: !1, security: !1,
  v8: "4.5.103.30" }, { name: "nodejs", version: "4.1.0", date: "2015-09-17", lts: !1, security: !1, v8: "4.5.103.33" }, { name: "nodejs", version: "\
4.2.0", date: "2015-10-12", lts: "Argon", security: !1, v8: "4.5.103.35" }, { name: "nodejs", version: "4.3.0", date: "2016-02-09", lts: "Ar\
gon", security: !1, v8: "4.5.103.35" }, { name: "nodejs", version: "4.4.0", date: "2016-03-08", lts: "Argon", security: !1, v8: "4.5.103.35" },
  { name: "nodejs", version: "4.5.0", date: "2016-08-16", lts: "Argon", security: !1, v8: "4.5.103.37" }, { name: "nodejs", version: "4.6.0",
  date: "2016-09-27", lts: "Argon", security: !0, v8: "4.5.103.37" }, { name: "nodejs", version: "4.7.0", date: "2016-12-06", lts: "Argon", security: !1,
  v8: "4.5.103.43" }, { name: "nodejs", version: "4.8.0", date: "2017-02-21", lts: "Argon", security: !1, v8: "4.5.103.45" }, { name: "nodej\
s", version: "4.9.0", date: "2018-03-28", lts: "Argon", security: !0, v8: "4.5.103.53" }, { name: "nodejs", version: "5.0.0", date: "2015-10\
-29", lts: !1, security: !1, v8: "4.6.85.28" }, { name: "nodejs", version: "5.1.0", date: "2015-11-17", lts: !1, security: !1, v8: "4.6.85.3\
1" }, { name: "nodejs", version: "5.2.0", date: "2015-12-09", lts: !1, security: !1, v8: "4.6.85.31" }, { name: "nodejs", version: "5.3.0", date: "\
2015-12-15", lts: !1, security: !1, v8: "4.6.85.31" }, { name: "nodejs", version: "5.4.0", date: "2016-01-06", lts: !1, security: !1, v8: "4\
.6.85.31" }, { name: "nodejs", version: "5.5.0", date: "2016-01-21", lts: !1, security: !1, v8: "4.6.85.31" }, { name: "nodejs", version: "5\
.6.0", date: "2016-02-09", lts: !1, security: !1, v8: "4.6.85.31" }, { name: "nodejs", version: "5.7.0", date: "2016-02-23", lts: !1, security: !1,
  v8: "4.6.85.31" }, { name: "nodejs", version: "5.8.0", date: "2016-03-09", lts: !1, security: !1, v8: "4.6.85.31" }, { name: "nodejs", version: "\
5.9.0", date: "2016-03-16", lts: !1, security: !1, v8: "4.6.85.31" }, { name: "nodejs", version: "5.10.0", date: "2016-04-01", lts: !1, security: !1,
  v8: "4.6.85.31" }, { name: "nodejs", version: "5.11.0", date: "2016-04-21", lts: !1, security: !1, v8: "4.6.85.31" }, { name: "nodejs", version: "\
5.12.0", date: "2016-06-23", lts: !1, security: !1, v8: "4.6.85.32" }, { name: "nodejs", version: "6.0.0", date: "2016-04-26", lts: !1, security: !1,
  v8: "5.0.71.35" }, { name: "nodejs", version: "6.1.0", date: "2016-05-05", lts: !1, security: !1, v8: "5.0.71.35" }, { name: "nodejs", version: "\
6.2.0", date: "2016-05-17", lts: !1, security: !1, v8: "5.0.71.47" }, { name: "nodejs", version: "6.3.0", date: "2016-07-06", lts: !1, security: !1,
  v8: "5.0.71.52" }, { name: "nodejs", version: "6.4.0", date: "2016-08-12", lts: !1, security: !1, v8: "5.0.71.60" }, { name: "nodejs", version: "\
6.5.0", date: "2016-08-26", lts: !1, security: !1, v8: "5.1.281.81" }, { name: "nodejs", version: "6.6.0", date: "2016-09-14", lts: !1, security: !1,
  v8: "5.1.281.83" }, { name: "nodejs", version: "6.7.0", date: "2016-09-27", lts: !1, security: !0, v8: "5.1.281.83" }, { name: "nodejs", version: "\
6.8.0", date: "2016-10-12", lts: !1, security: !1, v8: "5.1.281.84" }, { name: "nodejs", version: "6.9.0", date: "2016-10-18", lts: "Boron",
  security: !1, v8: "5.1.281.84" }, { name: "nodejs", version: "6.10.0", date: "2017-02-21", lts: "Boron", security: !1, v8: "5.1.281.93" },
  { name: "nodejs", version: "6.11.0", date: "2017-06-06", lts: "Boron", security: !1, v8: "5.1.281.102" }, { name: "nodejs", version: "6.12\
.0", date: "2017-11-06", lts: "Boron", security: !1, v8: "5.1.281.108" }, { name: "nodejs", version: "6.13.0", date: "2018-02-10", lts: "Bor\
on", security: !1, v8: "5.1.281.111" }, { name: "nodejs", version: "6.14.0", date: "2018-03-28", lts: "Boron", security: !0, v8: "5.1.281.11\
1" }, { name: "nodejs", version: "6.15.0", date: "2018-11-27", lts: "Boron", security: !0, v8: "5.1.281.111" }, { name: "nodejs", version: "\
6.16.0", date: "2018-12-26", lts: "Boron", security: !1, v8: "5.1.281.111" }, { name: "nodejs", version: "6.17.0", date: "2019-02-28", lts: "\
Boron", security: !0, v8: "5.1.281.111" }, { name: "nodejs", version: "7.0.0", date: "2016-10-25", lts: !1, security: !1, v8: "5.4.500.36" },
  { name: "nodejs", version: "7.1.0", date: "2016-11-08", lts: !1, security: !1, v8: "5.4.500.36" }, { name: "nodejs", version: "7.2.0", date: "\
2016-11-22", lts: !1, security: !1, v8: "5.4.500.43" }, { name: "nodejs", version: "7.3.0", date: "2016-12-20", lts: !1, security: !1, v8: "\
5.4.500.45" }, { name: "nodejs", version: "7.4.0", date: "2017-01-04", lts: !1, security: !1, v8: "5.4.500.45" }, { name: "nodejs", version: "\
7.5.0", date: "2017-01-31", lts: !1, security: !1, v8: "5.4.500.48" }, { name: "nodejs", version: "7.6.0", date: "2017-02-21", lts: !1, security: !1,
  v8: "5.5.372.40" }, { name: "nodejs", version: "7.7.0", date: "2017-02-28", lts: !1, security: !1, v8: "5.5.372.41" }, { name: "nodejs", version: "\
7.8.0", date: "2017-03-29", lts: !1, security: !1, v8: "5.5.372.43" }, { name: "nodejs", version: "7.9.0", date: "2017-04-11", lts: !1, security: !1,
  v8: "5.5.372.43" }, { name: "nodejs", version: "7.10.0", date: "2017-05-02", lts: !1, security: !1, v8: "5.5.372.43" }, { name: "nodejs", version: "\
8.0.0", date: "2017-05-30", lts: !1, security: !1, v8: "5.8.283.41" }, { name: "nodejs", version: "8.1.0", date: "2017-06-08", lts: !1, security: !1,
  v8: "5.8.283.41" }, { name: "nodejs", version: "8.2.0", date: "2017-07-19", lts: !1, security: !1, v8: "5.8.283.41" }, { name: "nodejs", version: "\
8.3.0", date: "2017-08-08", lts: !1, security: !1, v8: "6.0.286.52" }, { name: "nodejs", version: "8.4.0", date: "2017-08-15", lts: !1, security: !1,
  v8: "6.0.286.52" }, { name: "nodejs", version: "8.5.0", date: "2017-09-12", lts: !1, security: !1, v8: "6.0.287.53" }, { name: "nodejs", version: "\
8.6.0", date: "2017-09-26", lts: !1, security: !1, v8: "6.0.287.53" }, { name: "nodejs", version: "8.7.0", date: "2017-10-11", lts: !1, security: !1,
  v8: "6.1.534.42" }, { name: "nodejs", version: "8.8.0", date: "2017-10-24", lts: !1, security: !1, v8: "6.1.534.42" }, { name: "nodejs", version: "\
8.9.0", date: "2017-10-31", lts: "Carbon", security: !1, v8: "6.1.534.46" }, { name: "nodejs", version: "8.10.0", date: "2018-03-06", lts: "\
Carbon", security: !1, v8: "6.2.414.50" }, { name: "nodejs", version: "8.11.0", date: "2018-03-28", lts: "Carbon", security: !0, v8: "6.2.41\
4.50" }, { name: "nodejs", version: "8.12.0", date: "2018-09-10", lts: "Carbon", security: !1, v8: "6.2.414.66" }, { name: "nodejs", version: "\
8.13.0", date: "2018-11-20", lts: "Carbon", security: !1, v8: "6.2.414.72" }, { name: "nodejs", version: "8.14.0", date: "2018-11-27", lts: "\
Carbon", security: !0, v8: "6.2.414.72" }, { name: "nodejs", version: "8.15.0", date: "2018-12-26", lts: "Carbon", security: !1, v8: "6.2.41\
4.75" }, { name: "nodejs", version: "8.16.0", date: "2019-04-16", lts: "Carbon", security: !1, v8: "6.2.414.77" }, { name: "nodejs", version: "\
8.17.0", date: "2019-12-17", lts: "Carbon", security: !0, v8: "6.2.414.78" }, { name: "nodejs", version: "9.0.0", date: "2017-10-31", lts: !1,
  security: !1, v8: "6.2.414.32" }, { name: "nodejs", version: "9.1.0", date: "2017-11-07", lts: !1, security: !1, v8: "6.2.414.32" }, { name: "\
nodejs", version: "9.2.0", date: "2017-11-14", lts: !1, security: !1, v8: "6.2.414.44" }, { name: "nodejs", version: "9.3.0", date: "2017-12\
-12", lts: !1, security: !1, v8: "6.2.414.46" }, { name: "nodejs", version: "9.4.0", date: "2018-01-10", lts: !1, security: !1, v8: "6.2.414\
.46" }, { name: "nodejs", version: "9.5.0", date: "2018-01-31", lts: !1, security: !1, v8: "6.2.414.46" }, { name: "nodejs", version: "9.6.0",
  date: "2018-02-21", lts: !1, security: !1, v8: "6.2.414.46" }, { name: "nodejs", version: "9.7.0", date: "2018-03-01", lts: !1, security: !1,
  v8: "6.2.414.46" }, { name: "nodejs", version: "9.8.0", date: "2018-03-07", lts: !1, security: !1, v8: "6.2.414.46" }, { name: "nodejs", version: "\
9.9.0", date: "2018-03-21", lts: !1, security: !1, v8: "6.2.414.46" }, { name: "nodejs", version: "9.10.0", date: "2018-03-28", lts: !1, security: !0,
  v8: "6.2.414.46" }, { name: "nodejs", version: "9.11.0", date: "2018-04-04", lts: !1, security: !1, v8: "6.2.414.46" }, { name: "nodejs", version: "\
10.0.0", date: "2018-04-24", lts: !1, security: !1, v8: "6.6.346.24" }, { name: "nodejs", version: "10.1.0", date: "2018-05-08", lts: !1, security: !1,
  v8: "6.6.346.27" }, { name: "nodejs", version: "10.2.0", date: "2018-05-23", lts: !1, security: !1, v8: "6.6.346.32" }, { name: "nodejs", version: "\
10.3.0", date: "2018-05-29", lts: !1, security: !1, v8: "6.6.346.32" }, { name: "nodejs", version: "10.4.0", date: "2018-06-06", lts: !1, security: !1,
  v8: "6.7.288.43" }, { name: "nodejs", version: "10.5.0", date: "2018-06-20", lts: !1, security: !1, v8: "6.7.288.46" }, { name: "nodejs", version: "\
10.6.0", date: "2018-07-04", lts: !1, security: !1, v8: "6.7.288.46" }, { name: "nodejs", version: "10.7.0", date: "2018-07-18", lts: !1, security: !1,
  v8: "6.7.288.49" }, { name: "nodejs", version: "10.8.0", date: "2018-08-01", lts: !1, security: !1, v8: "6.7.288.49" }, { name: "nodejs", version: "\
10.9.0", date: "2018-08-15", lts: !1, security: !1, v8: "6.8.275.24" }, { name: "nodejs", version: "10.10.0", date: "2018-09-06", lts: !1, security: !1,
  v8: "6.8.275.30" }, { name: "nodejs", version: "10.11.0", date: "2018-09-19", lts: !1, security: !1, v8: "6.8.275.32" }, { name: "nodejs",
  version: "10.12.0", date: "2018-10-10", lts: !1, security: !1, v8: "6.8.275.32" }, { name: "nodejs", version: "10.13.0", date: "2018-10-30",
  lts: "Dubnium", security: !1, v8: "6.8.275.32" }, { name: "nodejs", version: "10.14.0", date: "2018-11-27", lts: "Dubnium", security: !0, v8: "\
6.8.275.32" }, { name: "nodejs", version: "10.15.0", date: "2018-12-26", lts: "Dubnium", security: !1, v8: "6.8.275.32" }, { name: "nodejs",
  version: "10.16.0", date: "2019-05-28", lts: "Dubnium", security: !1, v8: "6.8.275.32" }, { name: "nodejs", version: "10.17.0", date: "201\
9-10-22", lts: "Dubnium", security: !1, v8: "6.8.275.32" }, { name: "nodejs", version: "10.18.0", date: "2019-12-17", lts: "Dubnium", security: !0,
  v8: "6.8.275.32" }, { name: "nodejs", version: "10.19.0", date: "2020-02-05", lts: "Dubnium", security: !0, v8: "6.8.275.32" }, { name: "n\
odejs", version: "10.20.0", date: "2020-03-26", lts: "Dubnium", security: !1, v8: "6.8.275.32" }, { name: "nodejs", version: "10.21.0", date: "\
2020-06-02", lts: "Dubnium", security: !0, v8: "6.8.275.32" }, { name: "nodejs", version: "10.22.0", date: "2020-07-21", lts: "Dubnium", security: !1,
  v8: "6.8.275.32" }, { name: "nodejs", version: "10.23.0", date: "2020-10-27", lts: "Dubnium", security: !1, v8: "6.8.275.32" }, { name: "n\
odejs", version: "10.24.0", date: "2021-02-23", lts: "Dubnium", security: !0, v8: "6.8.275.32" }, { name: "nodejs", version: "11.0.0", date: "\
2018-10-23", lts: !1, security: !1, v8: "7.0.276.28" }, { name: "nodejs", version: "11.1.0", date: "2018-10-30", lts: !1, security: !1, v8: "\
7.0.276.32" }, { name: "nodejs", version: "11.2.0", date: "2018-11-15", lts: !1, security: !1, v8: "7.0.276.38" }, { name: "nodejs", version: "\
11.3.0", date: "2018-11-27", lts: !1, security: !0, v8: "7.0.276.38" }, { name: "nodejs", version: "11.4.0", date: "2018-12-07", lts: !1, security: !1,
  v8: "7.0.276.38" }, { name: "nodejs", version: "11.5.0", date: "2018-12-18", lts: !1, security: !1, v8: "7.0.276.38" }, { name: "nodejs", version: "\
11.6.0", date: "2018-12-26", lts: !1, security: !1, v8: "7.0.276.38" }, { name: "nodejs", version: "11.7.0", date: "2019-01-17", lts: !1, security: !1,
  v8: "7.0.276.38" }, { name: "nodejs", version: "11.8.0", date: "2019-01-24", lts: !1, security: !1, v8: "7.0.276.38" }, { name: "nodejs", version: "\
11.9.0", date: "2019-01-30", lts: !1, security: !1, v8: "7.0.276.38" }, { name: "nodejs", version: "11.10.0", date: "2019-02-14", lts: !1, security: !1,
  v8: "7.0.276.38" }, { name: "nodejs", version: "11.11.0", date: "2019-03-05", lts: !1, security: !1, v8: "7.0.276.38" }, { name: "nodejs",
  version: "11.12.0", date: "2019-03-14", lts: !1, security: !1, v8: "7.0.276.38" }, { name: "nodejs", version: "11.13.0", date: "2019-03-28",
  lts: !1, security: !1, v8: "7.0.276.38" }, { name: "nodejs", version: "11.14.0", date: "2019-04-10", lts: !1, security: !1, v8: "7.0.276.3\
8" }, { name: "nodejs", version: "11.15.0", date: "2019-04-30", lts: !1, security: !1, v8: "7.0.276.38" }, { name: "nodejs", version: "12.0.\
0", date: "2019-04-23", lts: !1, security: !1, v8: "7.4.288.21" }, { name: "nodejs", version: "12.1.0", date: "2019-04-29", lts: !1, security: !1,
  v8: "7.4.288.21" }, { name: "nodejs", version: "12.2.0", date: "2019-05-07", lts: !1, security: !1, v8: "7.4.288.21" }, { name: "nodejs", version: "\
12.3.0", date: "2019-05-21", lts: !1, security: !1, v8: "7.4.288.27" }, { name: "nodejs", version: "12.4.0", date: "2019-06-04", lts: !1, security: !1,
  v8: "7.4.288.27" }, { name: "nodejs", version: "12.5.0", date: "2019-06-26", lts: !1, security: !1, v8: "7.5.288.22" }, { name: "nodejs", version: "\
12.6.0", date: "2019-07-03", lts: !1, security: !1, v8: "7.5.288.22" }, { name: "nodejs", version: "12.7.0", date: "2019-07-23", lts: !1, security: !1,
  v8: "7.5.288.22" }, { name: "nodejs", version: "12.8.0", date: "2019-08-06", lts: !1, security: !1, v8: "7.5.288.22" }, { name: "nodejs", version: "\
12.9.0", date: "2019-08-20", lts: !1, security: !1, v8: "7.6.303.29" }, { name: "nodejs", version: "12.10.0", date: "2019-09-04", lts: !1, security: !1,
  v8: "7.6.303.29" }, { name: "nodejs", version: "12.11.0", date: "2019-09-25", lts: !1, security: !1, v8: "7.7.299.11" }, { name: "nodejs",
  version: "12.12.0", date: "2019-10-11", lts: !1, security: !1, v8: "7.7.299.13" }, { name: "nodejs", version: "12.13.0", date: "2019-10-21",
  lts: "Erbium", security: !1, v8: "7.7.299.13" }, { name: "nodejs", version: "12.14.0", date: "2019-12-17", lts: "Erbium", security: !0, v8: "\
7.7.299.13" }, { name: "nodejs", version: "12.15.0", date: "2020-02-05", lts: "Erbium", security: !0, v8: "7.7.299.13" }, { name: "nodejs", version: "\
12.16.0", date: "2020-02-11", lts: "Erbium", security: !1, v8: "7.8.279.23" }, { name: "nodejs", version: "12.17.0", date: "2020-05-26", lts: "\
Erbium", security: !1, v8: "7.8.279.23" }, { name: "nodejs", version: "12.18.0", date: "2020-06-02", lts: "Erbium", security: !0, v8: "7.8.2\
79.23" }, { name: "nodejs", version: "12.19.0", date: "2020-10-06", lts: "Erbium", security: !1, v8: "7.8.279.23" }, { name: "nodejs", version: "\
12.20.0", date: "2020-11-24", lts: "Erbium", security: !1, v8: "7.8.279.23" }, { name: "nodejs", version: "12.21.0", date: "2021-02-23", lts: "\
Erbium", security: !0, v8: "7.8.279.23" }, { name: "nodejs", version: "12.22.0", date: "2021-03-30", lts: "Erbium", security: !1, v8: "7.8.2\
79.23" }, { name: "nodejs", version: "13.0.0", date: "2019-10-22", lts: !1, security: !1, v8: "7.8.279.17" }, { name: "nodejs", version: "13\
.1.0", date: "2019-11-05", lts: !1, security: !1, v8: "7.8.279.17" }, { name: "nodejs", version: "13.2.0", date: "2019-11-21", lts: !1, security: !1,
  v8: "7.9.317.23" }, { name: "nodejs", version: "13.3.0", date: "2019-12-03", lts: !1, security: !1, v8: "7.9.317.25" }, { name: "nodejs", version: "\
13.4.0", date: "2019-12-17", lts: !1, security: !0, v8: "7.9.317.25" }, { name: "nodejs", version: "13.5.0", date: "2019-12-18", lts: !1, security: !1,
  v8: "7.9.317.25" }, { name: "nodejs", version: "13.6.0", date: "2020-01-07", lts: !1, security: !1, v8: "7.9.317.25" }, { name: "nodejs", version: "\
13.7.0", date: "2020-01-21", lts: !1, security: !1, v8: "7.9.317.25" }, { name: "nodejs", version: "13.8.0", date: "2020-02-05", lts: !1, security: !0,
  v8: "7.9.317.25" }, { name: "nodejs", version: "13.9.0", date: "2020-02-18", lts: !1, security: !1, v8: "7.9.317.25" }, { name: "nodejs", version: "\
13.10.0", date: "2020-03-04", lts: !1, security: !1, v8: "7.9.317.25" }, { name: "nodejs", version: "13.11.0", date: "2020-03-12", lts: !1, security: !1,
  v8: "7.9.317.25" }, { name: "nodejs", version: "13.12.0", date: "2020-03-26", lts: !1, security: !1, v8: "7.9.317.25" }, { name: "nodejs",
  version: "13.13.0", date: "2020-04-14", lts: !1, security: !1, v8: "7.9.317.25" }, { name: "nodejs", version: "13.14.0", date: "2020-04-29",
  lts: !1, security: !1, v8: "7.9.317.25" }, { name: "nodejs", version: "14.0.0", date: "2020-04-21", lts: !1, security: !1, v8: "8.1.307.30" },
  { name: "nodejs", version: "14.1.0", date: "2020-04-29", lts: !1, security: !1, v8: "8.1.307.31" }, { name: "nodejs", version: "14.2.0", date: "\
2020-05-05", lts: !1, security: !1, v8: "8.1.307.31" }, { name: "nodejs", version: "14.3.0", date: "2020-05-19", lts: !1, security: !1, v8: "\
8.1.307.31" }, { name: "nodejs", version: "14.4.0", date: "2020-06-02", lts: !1, security: !0, v8: "8.1.307.31" }, { name: "nodejs", version: "\
14.5.0", date: "2020-06-30", lts: !1, security: !1, v8: "8.3.110.9" }, { name: "nodejs", version: "14.6.0", date: "2020-07-20", lts: !1, security: !1,
  v8: "8.4.371.19" }, { name: "nodejs", version: "14.7.0", date: "2020-07-29", lts: !1, security: !1, v8: "8.4.371.19" }, { name: "nodejs", version: "\
14.8.0", date: "2020-08-11", lts: !1, security: !1, v8: "8.4.371.19" }, { name: "nodejs", version: "14.9.0", date: "2020-08-27", lts: !1, security: !1,
  v8: "8.4.371.19" }, { name: "nodejs", version: "14.10.0", date: "2020-09-08", lts: !1, security: !1, v8: "8.4.371.19" }, { name: "nodejs",
  version: "14.11.0", date: "2020-09-15", lts: !1, security: !0, v8: "8.4.371.19" }, { name: "nodejs", version: "14.12.0", date: "2020-09-22",
  lts: !1, security: !1, v8: "8.4.371.19" }, { name: "nodejs", version: "14.13.0", date: "2020-09-29", lts: !1, security: !1, v8: "8.4.371.1\
9" }, { name: "nodejs", version: "14.14.0", date: "2020-10-15", lts: !1, security: !1, v8: "8.4.371.19" }, { name: "nodejs", version: "14.15\
.0", date: "2020-10-27", lts: "Fermium", security: !1, v8: "8.4.371.19" }, { name: "nodejs", version: "14.16.0", date: "2021-02-23", lts: "F\
ermium", security: !0, v8: "8.4.371.19" }, { name: "nodejs", version: "14.17.0", date: "2021-05-11", lts: "Fermium", security: !1, v8: "8.4.\
371.23" }, { name: "nodejs", version: "14.18.0", date: "2021-09-28", lts: "Fermium", security: !1, v8: "8.4.371.23" }, { name: "nodejs", version: "\
14.19.0", date: "2022-02-01", lts: "Fermium", security: !1, v8: "8.4.371.23" }, { name: "nodejs", version: "14.20.0", date: "2022-07-07", lts: "\
Fermium", security: !0, v8: "8.4.371.23" }, { name: "nodejs", version: "14.21.0", date: "2022-11-01", lts: "Fermium", security: !1, v8: "8.4\
.371.23" }, { name: "nodejs", version: "15.0.0", date: "2020-10-20", lts: !1, security: !1, v8: "8.6.395.16" }, { name: "nodejs", version: "\
15.1.0", date: "2020-11-04", lts: !1, security: !1, v8: "8.6.395.17" }, { name: "nodejs", version: "15.2.0", date: "2020-11-10", lts: !1, security: !1,
  v8: "8.6.395.17" }, { name: "nodejs", version: "15.3.0", date: "2020-11-24", lts: !1, security: !1, v8: "8.6.395.17" }, { name: "nodejs", version: "\
15.4.0", date: "2020-12-09", lts: !1, security: !1, v8: "8.6.395.17" }, { name: "nodejs", version: "15.5.0", date: "2020-12-22", lts: !1, security: !1,
  v8: "8.6.395.17" }, { name: "nodejs", version: "15.6.0", date: "2021-01-14", lts: !1, security: !1, v8: "8.6.395.17" }, { name: "nodejs", version: "\
15.7.0", date: "2021-01-25", lts: !1, security: !1, v8: "8.6.395.17" }, { name: "nodejs", version: "15.8.0", date: "2021-02-02", lts: !1, security: !1,
  v8: "8.6.395.17" }, { name: "nodejs", version: "15.9.0", date: "2021-02-18", lts: !1, security: !1, v8: "8.6.395.17" }, { name: "nodejs", version: "\
15.10.0", date: "2021-02-23", lts: !1, security: !0, v8: "8.6.395.17" }, { name: "nodejs", version: "15.11.0", date: "2021-03-03", lts: !1, security: !1,
  v8: "8.6.395.17" }, { name: "nodejs", version: "15.12.0", date: "2021-03-17", lts: !1, security: !1, v8: "8.6.395.17" }, { name: "nodejs",
  version: "15.13.0", date: "2021-03-31", lts: !1, security: !1, v8: "8.6.395.17" }, { name: "nodejs", version: "15.14.0", date: "2021-04-06",
  lts: !1, security: !1, v8: "8.6.395.17" }, { name: "nodejs", version: "16.0.0", date: "2021-04-20", lts: !1, security: !1, v8: "9.0.257.17" },
  { name: "nodejs", version: "16.1.0", date: "2021-05-04", lts: !1, security: !1, v8: "9.0.257.24" }, { name: "nodejs", version: "16.2.0", date: "\
2021-05-19", lts: !1, security: !1, v8: "9.0.257.25" }, { name: "nodejs", version: "16.3.0", date: "2021-06-03", lts: !1, security: !1, v8: "\
9.0.257.25" }, { name: "nodejs", version: "16.4.0", date: "2021-06-23", lts: !1, security: !1, v8: "9.1.269.36" }, { name: "nodejs", version: "\
16.5.0", date: "2021-07-14", lts: !1, security: !1, v8: "9.1.269.38" }, { name: "nodejs", version: "16.6.0", date: "2021-07-29", lts: !1, security: !0,
  v8: "9.2.230.21" }, { name: "nodejs", version: "16.7.0", date: "2021-08-18", lts: !1, security: !1, v8: "9.2.230.21" }, { name: "nodejs", version: "\
16.8.0", date: "2021-08-25", lts: !1, security: !1, v8: "9.2.230.21" }, { name: "nodejs", version: "16.9.0", date: "2021-09-07", lts: !1, security: !1,
  v8: "9.3.345.16" }, { name: "nodejs", version: "16.10.0", date: "2021-09-22", lts: !1, security: !1, v8: "9.3.345.19" }, { name: "nodejs",
  version: "16.11.0", date: "2021-10-08", lts: !1, security: !1, v8: "9.4.146.19" }, { name: "nodejs", version: "16.12.0", date: "2021-10-20",
  lts: !1, security: !1, v8: "9.4.146.19" }, { name: "nodejs", version: "16.13.0", date: "2021-10-26", lts: "Gallium", security: !1, v8: "9.\
4.146.19" }, { name: "nodejs", version: "16.14.0", date: "2022-02-08", lts: "Gallium", security: !1, v8: "9.4.146.24" }, { name: "nodejs", version: "\
16.15.0", date: "2022-04-26", lts: "Gallium", security: !1, v8: "9.4.146.24" }, { name: "nodejs", version: "16.16.0", date: "2022-07-07", lts: "\
Gallium", security: !0, v8: "9.4.146.24" }, { name: "nodejs", version: "16.17.0", date: "2022-08-16", lts: "Gallium", security: !1, v8: "9.4\
.146.26" }, { name: "nodejs", version: "16.18.0", date: "2022-10-12", lts: "Gallium", security: !1, v8: "9.4.146.26" }, { name: "nodejs", version: "\
16.19.0", date: "2022-12-13", lts: "Gallium", security: !1, v8: "9.4.146.26" }, { name: "nodejs", version: "16.20.0", date: "2023-03-28", lts: "\
Gallium", security: !1, v8: "9.4.146.26" }, { name: "nodejs", version: "17.0.0", date: "2021-10-19", lts: !1, security: !1, v8: "9.5.172.21" },
  { name: "nodejs", version: "17.1.0", date: "2021-11-09", lts: !1, security: !1, v8: "9.5.172.25" }, { name: "nodejs", version: "17.2.0", date: "\
2021-11-30", lts: !1, security: !1, v8: "9.6.180.14" }, { name: "nodejs", version: "17.3.0", date: "2021-12-17", lts: !1, security: !1, v8: "\
9.6.180.15" }, { name: "nodejs", version: "17.4.0", date: "2022-01-18", lts: !1, security: !1, v8: "9.6.180.15" }, { name: "nodejs", version: "\
17.5.0", date: "2022-02-10", lts: !1, security: !1, v8: "9.6.180.15" }, { name: "nodejs", version: "17.6.0", date: "2022-02-22", lts: !1, security: !1,
  v8: "9.6.180.15" }, { name: "nodejs", version: "17.7.0", date: "2022-03-09", lts: !1, security: !1, v8: "9.6.180.15" }, { name: "nodejs", version: "\
17.8.0", date: "2022-03-22", lts: !1, security: !1, v8: "9.6.180.15" }, { name: "nodejs", version: "17.9.0", date: "2022-04-07", lts: !1, security: !1,
  v8: "9.6.180.15" }, { name: "nodejs", version: "18.0.0", date: "2022-04-18", lts: !1, security: !1, v8: "10.1.124.8" }, { name: "nodejs", version: "\
18.1.0", date: "2022-05-03", lts: !1, security: !1, v8: "10.1.124.8" }, { name: "nodejs", version: "18.2.0", date: "2022-05-17", lts: !1, security: !1,
  v8: "10.1.124.8" }, { name: "nodejs", version: "18.3.0", date: "2022-06-02", lts: !1, security: !1, v8: "10.2.154.4" }, { name: "nodejs", version: "\
18.4.0", date: "2022-06-16", lts: !1, security: !1, v8: "10.2.154.4" }, { name: "nodejs", version: "18.5.0", date: "2022-07-06", lts: !1, security: !0,
  v8: "10.2.154.4" }, { name: "nodejs", version: "18.6.0", date: "2022-07-13", lts: !1, security: !1, v8: "10.2.154.13" }, { name: "nodejs",
  version: "18.7.0", date: "2022-07-26", lts: !1, security: !1, v8: "10.2.154.13" }, { name: "nodejs", version: "18.8.0", date: "2022-08-24",
  lts: !1, security: !1, v8: "10.2.154.13" }, { name: "nodejs", version: "18.9.0", date: "2022-09-07", lts: !1, security: !1, v8: "10.2.154.\
15" }, { name: "nodejs", version: "18.10.0", date: "2022-09-28", lts: !1, security: !1, v8: "10.2.154.15" }, { name: "nodejs", version: "18.\
11.0", date: "2022-10-13", lts: !1, security: !1, v8: "10.2.154.15" }, { name: "nodejs", version: "18.12.0", date: "2022-10-25", lts: "Hydro\
gen", security: !1, v8: "10.2.154.15" }, { name: "nodejs", version: "18.13.0", date: "2023-01-05", lts: "Hydrogen", security: !1, v8: "10.2.\
154.23" }, { name: "nodejs", version: "18.14.0", date: "2023-02-01", lts: "Hydrogen", security: !1, v8: "10.2.154.23" }, { name: "nodejs", version: "\
18.15.0", date: "2023-03-05", lts: "Hydrogen", security: !1, v8: "10.2.154.26" }, { name: "nodejs", version: "18.16.0", date: "2023-04-12", lts: "\
Hydrogen", security: !1, v8: "10.2.154.26" }, { name: "nodejs", version: "18.17.0", date: "2023-07-18", lts: "Hydrogen", security: !1, v8: "\
10.2.154.26" }, { name: "nodejs", version: "18.18.0", date: "2023-09-18", lts: "Hydrogen", security: !1, v8: "10.2.154.26" }, { name: "nodej\
s", version: "18.19.0", date: "2023-11-29", lts: "Hydrogen", security: !1, v8: "10.2.154.26" }, { name: "nodejs", version: "18.20.0", date: "\
2024-03-26", lts: "Hydrogen", security: !1, v8: "10.2.154.26" }, { name: "nodejs", version: "19.0.0", date: "2022-10-17", lts: !1, security: !1,
  v8: "10.7.193.13" }, { name: "nodejs", version: "19.1.0", date: "2022-11-14", lts: !1, security: !1, v8: "10.7.193.20" }, { name: "nodejs",
  version: "19.2.0", date: "2022-11-29", lts: !1, security: !1, v8: "10.8.168.20" }, { name: "nodejs", version: "19.3.0", date: "2022-12-14",
  lts: !1, security: !1, v8: "10.8.168.21" }, { name: "nodejs", version: "19.4.0", date: "2023-01-05", lts: !1, security: !1, v8: "10.8.168.\
25" }, { name: "nodejs", version: "19.5.0", date: "2023-01-24", lts: !1, security: !1, v8: "10.8.168.25" }, { name: "nodejs", version: "19.6\
.0", date: "2023-02-01", lts: !1, security: !1, v8: "10.8.168.25" }, { name: "nodejs", version: "19.7.0", date: "2023-02-21", lts: !1, security: !1,
  v8: "10.8.168.25" }, { name: "nodejs", version: "19.8.0", date: "2023-03-14", lts: !1, security: !1, v8: "10.8.168.25" }, { name: "nodejs",
  version: "19.9.0", date: "2023-04-10", lts: !1, security: !1, v8: "10.8.168.25" }, { name: "nodejs", version: "20.0.0", date: "2023-04-17",
  lts: !1, security: !1, v8: "11.3.244.4" }, { name: "nodejs", version: "20.1.0", date: "2023-05-03", lts: !1, security: !1, v8: "11.3.244.8" },
  { name: "nodejs", version: "20.2.0", date: "2023-05-16", lts: !1, security: !1, v8: "11.3.244.8" }, { name: "nodejs", version: "20.3.0", date: "\
2023-06-08", lts: !1, security: !1, v8: "11.3.244.8" }, { name: "nodejs", version: "20.4.0", date: "2023-07-04", lts: !1, security: !1, v8: "\
11.3.244.8" }, { name: "nodejs", version: "20.5.0", date: "2023-07-19", lts: !1, security: !1, v8: "11.3.244.8" }, { name: "nodejs", version: "\
20.6.0", date: "2023-08-23", lts: !1, security: !1, v8: "11.3.244.8" }, { name: "nodejs", version: "20.7.0", date: "2023-09-18", lts: !1, security: !1,
  v8: "11.3.244.8" }, { name: "nodejs", version: "20.8.0", date: "2023-09-28", lts: !1, security: !1, v8: "11.3.244.8" }, { name: "nodejs", version: "\
20.9.0", date: "2023-10-24", lts: "Iron", security: !1, v8: "11.3.244.8" }, { name: "nodejs", version: "20.10.0", date: "2023-11-22", lts: "\
Iron", security: !1, v8: "11.3.244.8" }, { name: "nodejs", version: "20.11.0", date: "2024-01-09", lts: "Iron", security: !1, v8: "11.3.244.\
8" }, { name: "nodejs", version: "20.12.0", date: "2024-03-26", lts: "Iron", security: !1, v8: "11.3.244.8" }, { name: "nodejs", version: "2\
0.13.0", date: "2024-05-07", lts: "Iron", security: !1, v8: "11.3.244.8" }, { name: "nodejs", version: "20.14.0", date: "2024-05-28", lts: "\
Iron", security: !1, v8: "11.3.244.8" }, { name: "nodejs", version: "20.15.0", date: "2024-06-20", lts: "Iron", security: !1, v8: "11.3.244.\
8" }, { name: "nodejs", version: "20.16.0", date: "2024-07-24", lts: "Iron", security: !1, v8: "11.3.244.8" }, { name: "nodejs", version: "2\
0.17.0", date: "2024-08-21", lts: "Iron", security: !1, v8: "11.3.244.8" }, { name: "nodejs", version: "20.18.0", date: "2024-10-03", lts: "\
Iron", security: !1, v8: "11.3.244.8" }, { name: "nodejs", version: "21.0.0", date: "2023-10-17", lts: !1, security: !1, v8: "11.8.172.13" },
  { name: "nodejs", version: "21.1.0", date: "2023-10-24", lts: !1, security: !1, v8: "11.8.172.15" }, { name: "nodejs", version: "21.2.0", date: "\
2023-11-14", lts: !1, security: !1, v8: "11.8.172.17" }, { name: "nodejs", version: "21.3.0", date: "2023-11-30", lts: !1, security: !1, v8: "\
11.8.172.17" }, { name: "nodejs", version: "21.4.0", date: "2023-12-05", lts: !1, security: !1, v8: "11.8.172.17" }, { name: "nodejs", version: "\
21.5.0", date: "2023-12-19", lts: !1, security: !1, v8: "11.8.172.17" }, { name: "nodejs", version: "21.6.0", date: "2024-01-14", lts: !1, security: !1,
  v8: "11.8.172.17" }, { name: "nodejs", version: "21.7.0", date: "2024-03-06", lts: !1, security: !1, v8: "11.8.172.17" }, { name: "nodejs",
  version: "22.0.0", date: "2024-04-24", lts: !1, security: !1, v8: "12.4.254.14" }, { name: "nodejs", version: "22.1.0", date: "2024-05-02",
  lts: !1, security: !1, v8: "12.4.254.14" }, { name: "nodejs", version: "22.2.0", date: "2024-05-15", lts: !1, security: !1, v8: "12.4.254.\
14" }, { name: "nodejs", version: "22.3.0", date: "2024-06-11", lts: !1, security: !1, v8: "12.4.254.20" }, { name: "nodejs", version: "22.4\
.0", date: "2024-07-02", lts: !1, security: !1, v8: "12.4.254.21" }, { name: "nodejs", version: "22.5.0", date: "2024-07-17", lts: !1, security: !1,
  v8: "12.4.254.21" }, { name: "nodejs", version: "22.6.0", date: "2024-08-06", lts: !1, security: !1, v8: "12.4.254.21" }, { name: "nodejs",
  version: "22.7.0", date: "2024-08-21", lts: !1, security: !1, v8: "12.4.254.21" }, { name: "nodejs", version: "22.8.0", date: "2024-09-03",
  lts: !1, security: !1, v8: "12.4.254.21" }, { name: "nodejs", version: "22.9.0", date: "2024-09-17", lts: !1, security: !1, v8: "12.4.254.\
21" }, { name: "nodejs", version: "22.10.0", date: "2024-10-16", lts: !1, security: !1, v8: "12.4.254.21" }, { name: "nodejs", version: "22.\
11.0", date: "2024-10-29", lts: "Jod", security: !1, v8: "12.4.254.21" }, { name: "nodejs", version: "22.12.0", date: "2024-12-02", lts: "Jo\
d", security: !1, v8: "12.4.254.21" }, { name: "nodejs", version: "23.0.0", date: "2024-10-16", lts: !1, security: !1, v8: "12.9.202.26" }, {
  name: "nodejs", version: "23.1.0", date: "2024-10-24", lts: !1, security: !1, v8: "12.9.202.28" }, { name: "nodejs", version: "23.2.0", date: "\
2024-11-11", lts: !1, security: !1, v8: "12.9.202.28" }, { name: "nodejs", version: "23.3.0", date: "2024-11-20", lts: !1, security: !1, v8: "\
12.9.202.28" }];
});

// ../node_modules/caniuse-lite/data/browsers.js
var BG = g((DVs, LG) => {
  LG.exports = { A: "ie", B: "edge", C: "firefox", D: "chrome", E: "safari", F: "opera", G: "ios_saf", H: "op_mini", I: "android", J: "bb", K: "\
op_mob", L: "and_chr", M: "and_ff", N: "ie_mob", O: "and_uc", P: "samsung", Q: "and_qq", R: "baidu", S: "kaios" };
});

// ../node_modules/caniuse-lite/dist/unpacker/browsers.js
var wP = g((OVs, MG) => {
  MG.exports.browsers = BG();
});

// ../node_modules/caniuse-lite/data/browserVersions.js
var jG = g((_Vs, FG) => {
  FG.exports = { 0: "22", 1: "23", 2: "24", 3: "25", 4: "26", 5: "27", 6: "115", 7: "116", 8: "117", 9: "118", A: "10", B: "11", C: "12", D: "\
7", E: "8", F: "9", G: "15", H: "80", I: "131", J: "4", K: "6", L: "13", M: "14", N: "16", O: "17", P: "18", Q: "79", R: "81", S: "83", T: "\
84", U: "85", V: "86", W: "87", X: "88", Y: "89", Z: "90", a: "91", b: "92", c: "93", d: "94", e: "95", f: "96", g: "97", h: "98", i: "99", j: "\
100", k: "101", l: "102", m: "103", n: "104", o: "105", p: "106", q: "107", r: "108", s: "109", t: "110", u: "111", v: "112", w: "113", x: "\
114", y: "20", z: "21", AB: "119", BB: "120", CB: "121", DB: "122", EB: "123", FB: "124", GB: "125", HB: "126", IB: "127", JB: "128", KB: "1\
29", LB: "130", MB: "5", NB: "19", OB: "28", PB: "29", QB: "30", RB: "31", SB: "32", TB: "33", UB: "34", VB: "35", WB: "36", XB: "37", YB: "\
38", ZB: "39", aB: "40", bB: "41", cB: "42", dB: "43", eB: "44", fB: "45", gB: "46", hB: "47", iB: "48", jB: "49", kB: "50", lB: "51", mB: "\
52", nB: "53", oB: "54", pB: "55", qB: "56", rB: "57", sB: "58", tB: "60", uB: "62", vB: "63", wB: "64", xB: "65", yB: "66", zB: "67", "0B": "\
68", "1B": "69", "2B": "70", "3B": "71", "4B": "72", "5B": "73", "6B": "74", "7B": "75", "8B": "76", "9B": "77", AC: "78", BC: "132", CC: "1\
1.1", DC: "12.1", EC: "15.5", FC: "16.0", GC: "17.0", HC: "18.0", IC: "3", JC: "59", KC: "61", LC: "82", MC: "133", NC: "134", OC: "3.2", PC: "\
10.1", QC: "15.2-15.3", RC: "15.4", SC: "16.1", TC: "16.2", UC: "16.3", VC: "16.4", WC: "16.5", XC: "17.1", YC: "17.2", ZC: "17.3", aC: "17.\
4", bC: "17.5", cC: "18.1", dC: "18.2", eC: "18.3", fC: "11.5", gC: "4.2-4.3", hC: "5.5", iC: "2", jC: "135", kC: "136", lC: "3.5", mC: "3.6",
  nC: "3.1", oC: "5.1", pC: "6.1", qC: "7.1", rC: "9.1", sC: "13.1", tC: "14.1", uC: "15.1", vC: "15.6", wC: "16.6", xC: "17.6", yC: "TP", zC: "\
9.5-9.6", "0C": "10.0-10.1", "1C": "10.5", "2C": "10.6", "3C": "11.6", "4C": "4.0-4.1", "5C": "5.0-5.1", "6C": "6.0-6.1", "7C": "7.0-7.1", "\
8C": "8.1-8.4", "9C": "9.0-9.2", AD: "9.3", BD: "10.0-10.2", CD: "10.3", DD: "11.0-11.2", ED: "11.3-11.4", FD: "12.0-12.1", GD: "12.2-12.5",
  HD: "13.0-13.1", ID: "13.2", JD: "13.3", KD: "13.4-13.7", LD: "14.0-14.4", MD: "14.5-14.8", ND: "15.0-15.1", OD: "15.6-15.8", PD: "16.6-16\
.7", QD: "17.6-17.7", RD: "all", SD: "2.1", TD: "2.2", UD: "2.3", VD: "4.1", WD: "4.4", XD: "4.4.3-4.4.4", YD: "5.0-5.4", ZD: "6.2-6.4", aD: "\
7.2-7.4", bD: "8.2", cD: "9.2", dD: "11.1-11.2", eD: "12.0", fD: "13.0", gD: "14.0", hD: "15.0", iD: "19.0", jD: "14.9", kD: "13.52", lD: "2\
.5", mD: "3.0-3.1" };
});

// ../node_modules/caniuse-lite/dist/unpacker/browserVersions.js
var h_ = g((LVs, RG) => {
  RG.exports.browserVersions = jG();
});

// ../node_modules/caniuse-lite/data/agents.js
var UG = g((BVs, qG) => {
  qG.exports = { A: { A: { K: 0, D: 0, E: 0, F: 0.0346884, A: 0, B: 0.433605, hC: 0 }, B: "ms", C: ["", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "hC", "K", "D", "E", "F", "A", "B", "", "", ""], E: "IE", F: { hC: 962323200, K: 998870400, D: 1161129600,
  E: 1237420800, F: 1300060800, A: 1346716800, B: 1381968e3 } }, B: { A: { 6: 3521e-6, 7: 3521e-6, 8: 3521e-6, 9: 3521e-6, C: 0, L: 0, M: 0,
  G: 0, N: 0, O: 3521e-6, P: 0.084504, Q: 0, H: 0, R: 0, S: 0, T: 0, U: 0, V: 0, W: 0, X: 0, Y: 0, Z: 0, a: 0, b: 0.014084, c: 0, d: 0, e: 0,
  f: 0, g: 0, h: 0, i: 0, j: 0, k: 0, l: 0, m: 3521e-6, n: 0, o: 0, p: 0, q: 0, r: 3521e-6, s: 0.052815, t: 0, u: 3521e-6, v: 3521e-6, w: 7042e-6,
  x: 0.010563, AB: 7042e-6, BB: 0.017605, CB: 0.010563, DB: 0.014084, EB: 7042e-6, FB: 0.010563, GB: 0.010563, HB: 0.024647, IB: 0.021126, JB: 0.024647,
  KB: 0.03521, LB: 0.137319, I: 4.16182 }, B: "webkit", C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "C", "L", "M", "G", "N", "O", "P", "Q", "H", "R", "S", "T", "U",
  "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w",
  "x", "6", "7", "8", "9", "AB", "BB", "CB", "DB", "EB", "FB", "GB", "HB", "IB", "JB", "KB", "LB", "I", "", "", ""], E: "Edge", F: { 6: 1689897600,
  7: 1692576e3, 8: 1694649600, 9: 1697155200, C: 1438128e3, L: 1447286400, M: 1470096e3, G: 1491868800, N: 1508198400, O: 1525046400, P: 1542067200,
  Q: 1579046400, H: 1581033600, R: 1586736e3, S: 1590019200, T: 1594857600, U: 1598486400, V: 1602201600, W: 1605830400, X: 161136e4, Y: 1614816e3,
  Z: 1618358400, a: 1622073600, b: 1626912e3, c: 1630627200, d: 1632441600, e: 1634774400, f: 1637539200, g: 1641427200, h: 1643932800, i: 1646265600,
  j: 1649635200, k: 1651190400, l: 1653955200, m: 1655942400, n: 1659657600, o: 1661990400, p: 1664755200, q: 1666915200, r: 1670198400, s: 1673481600,
  t: 1675900800, u: 1678665600, v: 1680825600, w: 1683158400, x: 1685664e3, AB: 1698969600, BB: 1701993600, CB: 1706227200, DB: 1708732800, EB: 1711152e3,
  FB: 1713398400, GB: 1715990400, HB: 1718841600, IB: 1721865600, JB: 1724371200, KB: 1726704e3, LB: 1729123200, I: 1731542400 }, D: { C: "m\
s", L: "ms", M: "ms", G: "ms", N: "ms", O: "ms", P: "ms" } }, C: { A: { 0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0.253512, 7: 0, 8: 0, 9: 0.088025,
  iC: 0, IC: 0, J: 0, MB: 0, K: 0, D: 0, E: 0, F: 0, A: 0, B: 0.014084, C: 0, L: 0, M: 0, G: 0, N: 0, O: 0, P: 0, NB: 0, y: 0, z: 0, OB: 0, PB: 0,
  QB: 0, RB: 0, SB: 0, TB: 0, UB: 0, VB: 0, WB: 0, XB: 0, YB: 0, ZB: 0, aB: 0, bB: 0, cB: 0, dB: 7042e-6, eB: 3521e-6, fB: 0, gB: 0, hB: 0, iB: 0,
  jB: 0, kB: 0, lB: 0, mB: 0.028168, nB: 0, oB: 0, pB: 7042e-6, qB: 0.014084, rB: 0, sB: 0, JC: 3521e-6, tB: 0, KC: 0, uB: 0, vB: 0, wB: 0, xB: 0,
  yB: 0, zB: 0, "0B": 0, "1B": 0, "2B": 0, "3B": 0, "4B": 0, "5B": 0, "6B": 0, "7B": 0, "8B": 0, "9B": 0, AC: 0.010563, Q: 0, H: 0, R: 0, LC: 0,
  S: 0, T: 0, U: 0, V: 0, W: 0, X: 3521e-6, Y: 0, Z: 0, a: 0, b: 0, c: 0, d: 0, e: 0, f: 0, g: 0, h: 0, i: 0, j: 0, k: 0, l: 0, m: 7042e-6, n: 0,
  o: 0, p: 0, q: 0, r: 0, s: 3521e-6, t: 0, u: 0, v: 0, w: 7042e-6, x: 3521e-6, AB: 0, BB: 3521e-6, CB: 0, DB: 0, EB: 0, FB: 0, GB: 0.017605,
  HB: 3521e-6, IB: 0.010563, JB: 0.07042, KB: 7042e-6, LB: 7042e-6, I: 0.017605, BC: 0.077462, MC: 1.38727, NC: 7042e-6, jC: 0, kC: 0, lC: 0,
  mC: 0 }, B: "moz", C: ["iC", "IC", "lC", "mC", "J", "MB", "K", "D", "E", "F", "A", "B", "C", "L", "M", "G", "N", "O", "P", "NB", "y", "z",
  "0", "1", "2", "3", "4", "5", "OB", "PB", "QB", "RB", "SB", "TB", "UB", "VB", "WB", "XB", "YB", "ZB", "aB", "bB", "cB", "dB", "eB", "fB", "\
gB", "hB", "iB", "jB", "kB", "lB", "mB", "nB", "oB", "pB", "qB", "rB", "sB", "JC", "tB", "KC", "uB", "vB", "wB", "xB", "yB", "zB", "0B", "1B",
  "2B", "3B", "4B", "5B", "6B", "7B", "8B", "9B", "AC", "Q", "H", "R", "LC", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e",
  "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "6", "7", "8", "9", "AB", "BB", "CB", "DB",
  "EB", "FB", "GB", "HB", "IB", "JB", "KB", "LB", "I", "BC", "MC", "NC", "jC", "kC"], E: "Firefox", F: { 0: 1368489600, 1: 1372118400, 2: 1375747200,
  3: 1379376e3, 4: 1386633600, 5: 1391472e3, 6: 1688428800, 7: 1690848e3, 8: 1693267200, 9: 1695686400, iC: 1161648e3, IC: 1213660800, lC: 124632e4,
  mC: 1264032e3, J: 1300752e3, MB: 1308614400, K: 1313452800, D: 1317081600, E: 1317081600, F: 1320710400, A: 1324339200, B: 1327968e3, C: 1331596800,
  L: 1335225600, M: 1338854400, G: 1342483200, N: 1346112e3, O: 1349740800, P: 1353628800, NB: 1357603200, y: 1361232e3, z: 1364860800, OB: 1395100800,
  PB: 1398729600, QB: 1402358400, RB: 1405987200, SB: 1409616e3, TB: 1413244800, UB: 1417392e3, VB: 1421107200, WB: 1424736e3, XB: 1428278400,
  YB: 1431475200, ZB: 1435881600, aB: 1439251200, bB: 144288e4, cB: 1446508800, dB: 1450137600, eB: 1453852800, fB: 1457395200, gB: 1461628800,
  hB: 1465257600, iB: 1470096e3, jB: 1474329600, kB: 1479168e3, lB: 1485216e3, mB: 1488844800, nB: 149256e4, oB: 1497312e3, pB: 1502150400, qB: 1506556800,
  rB: 1510617600, sB: 1516665600, JC: 1520985600, tB: 1525824e3, KC: 1529971200, uB: 1536105600, vB: 1540252800, wB: 1544486400, xB: 154872e4,
  yB: 1552953600, zB: 1558396800, "0B": 1562630400, "1B": 1567468800, "2B": 1571788800, "3B": 1575331200, "4B": 1578355200, "5B": 1581379200,
  "6B": 1583798400, "7B": 1586304e3, "8B": 1588636800, "9B": 1591056e3, AC: 1593475200, Q: 1595894400, H: 1598313600, R: 1600732800, LC: 1603152e3,
  S: 1605571200, T: 1607990400, U: 1611619200, V: 1614038400, W: 1616457600, X: 1618790400, Y: 1622505600, Z: 1626134400, a: 1628553600, b: 1630972800,
  c: 1633392e3, d: 1635811200, e: 1638835200, f: 1641859200, g: 1644364800, h: 1646697600, i: 1649116800, j: 1651536e3, k: 1653955200, l: 1656374400,
  m: 1658793600, n: 1661212800, o: 1663632e3, p: 1666051200, q: 1668470400, r: 1670889600, s: 1673913600, t: 1676332800, u: 1678752e3, v: 1681171200,
  w: 1683590400, x: 1686009600, AB: 1698105600, BB: 1700524800, CB: 1702944e3, DB: 1705968e3, EB: 1708387200, FB: 1710806400, GB: 1713225600,
  HB: 1715644800, IB: 1718064e3, JB: 1720483200, KB: 1722902400, LB: 1725321600, I: 1727740800, BC: 173016e4, MC: 1732579200, NC: null, jC: null,
  kC: null } }, D: { A: { 0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0.024647, 7: 0.130277, 8: 0.07042, 9: 0.059857, J: 0, MB: 0, K: 0, D: 0, E: 0,
  F: 0, A: 0, B: 0, C: 0, L: 0, M: 0, G: 0, N: 0, O: 0, P: 0, NB: 0, y: 0, z: 0, OB: 0, PB: 0, QB: 0, RB: 0, SB: 0, TB: 0, UB: 0, VB: 0, WB: 0,
  XB: 0, YB: 7042e-6, ZB: 0, aB: 0, bB: 0, cB: 0, dB: 0, eB: 0, fB: 3521e-6, gB: 0, hB: 3521e-6, iB: 0.017605, jB: 0.014084, kB: 0.014084, lB: 0,
  mB: 3521e-6, nB: 3521e-6, oB: 0, pB: 0, qB: 7042e-6, rB: 0, sB: 0.024647, JC: 0, tB: 0, KC: 7042e-6, uB: 0, vB: 0, wB: 0, xB: 0, yB: 0.021126,
  zB: 0, "0B": 0, "1B": 0.010563, "2B": 0.014084, "3B": 0, "4B": 0, "5B": 7042e-6, "6B": 7042e-6, "7B": 7042e-6, "8B": 3521e-6, "9B": 0.017605,
  AC: 0.010563, Q: 0.084504, H: 7042e-6, R: 0.03521, S: 0.028168, T: 3521e-6, U: 0.014084, V: 0.021126, W: 0.063378, X: 7042e-6, Y: 0.010563,
  Z: 7042e-6, a: 0.031689, b: 0.014084, c: 0.014084, d: 0.03521, e: 0.038731, f: 7042e-6, g: 0.010563, h: 0.042252, i: 0.014084, j: 0.021126,
  k: 0.014084, l: 0.010563, m: 0.10563, n: 0.021126, o: 0.010563, p: 0.017605, q: 0.021126, r: 0.03521, s: 1.09503, t: 0.017605, u: 0.031689,
  v: 0.03521, w: 0.109151, x: 0.07042, AB: 0.042252, BB: 0.063378, CB: 0.119714, DB: 0.077462, EB: 0.080983, FB: 0.14084, GB: 1.28869, HB: 0.415478,
  IB: 0.334495, JB: 0.179571, KB: 0.232386, LB: 0.982359, I: 15.0065, BC: 0.017605, MC: 0.014084, NC: 0 }, B: "webkit", C: ["", "", "", "", "",
  "", "", "J", "MB", "K", "D", "E", "F", "A", "B", "C", "L", "M", "G", "N", "O", "P", "NB", "y", "z", "0", "1", "2", "3", "4", "5", "OB", "P\
B", "QB", "RB", "SB", "TB", "UB", "VB", "WB", "XB", "YB", "ZB", "aB", "bB", "cB", "dB", "eB", "fB", "gB", "hB", "iB", "jB", "kB", "lB", "mB",
  "nB", "oB", "pB", "qB", "rB", "sB", "JC", "tB", "KC", "uB", "vB", "wB", "xB", "yB", "zB", "0B", "1B", "2B", "3B", "4B", "5B", "6B", "7B", "\
8B", "9B", "AC", "Q", "H", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n",
  "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "6", "7", "8", "9", "AB", "BB", "CB", "DB", "EB", "FB", "GB", "HB", "IB", "JB", "KB", "L\
B", "I", "BC", "MC", "NC"], E: "Chrome", F: { 0: 1343692800, 1: 1348531200, 2: 1352246400, 3: 1357862400, 4: 1361404800, 5: 1364428800, 6: 1689724800,
  7: 1692057600, 8: 1694476800, 9: 1696896e3, J: 1264377600, MB: 1274745600, K: 1283385600, D: 1287619200, E: 1291248e3, F: 1296777600, A: 1299542400,
  B: 1303862400, C: 1307404800, L: 1312243200, M: 1316131200, G: 1316131200, N: 1319500800, O: 1323734400, P: 1328659200, NB: 1332892800, y: 133704e4,
  z: 1340668800, OB: 1369094400, PB: 1374105600, QB: 1376956800, RB: 1384214400, SB: 1389657600, TB: 1392940800, UB: 1397001600, VB: 1400544e3,
  WB: 1405468800, XB: 1409011200, YB: 141264e4, ZB: 1416268800, aB: 1421798400, bB: 1425513600, cB: 1429401600, dB: 143208e4, eB: 1437523200,
  fB: 1441152e3, gB: 1444780800, hB: 1449014400, iB: 1453248e3, jB: 1456963200, kB: 1460592e3, lB: 1464134400, mB: 1469059200, nB: 1472601600,
  oB: 1476230400, pB: 1480550400, qB: 1485302400, rB: 1489017600, sB: 149256e4, JC: 1496707200, tB: 1500940800, KC: 1504569600, uB: 1508198400,
  vB: 1512518400, wB: 1516752e3, xB: 1520294400, yB: 1523923200, zB: 1527552e3, "0B": 1532390400, "1B": 1536019200, "2B": 1539648e3, "3B": 1543968e3,
  "4B": 154872e4, "5B": 1552348800, "6B": 1555977600, "7B": 1559606400, "8B": 1564444800, "9B": 1568073600, AC: 1571702400, Q: 1575936e3, H: 1580860800,
  R: 1586304e3, S: 1589846400, T: 1594684800, U: 1598313600, V: 1601942400, W: 1605571200, X: 1611014400, Y: 1614556800, Z: 1618272e3, a: 1621987200,
  b: 1626739200, c: 1630368e3, d: 1632268800, e: 1634601600, f: 1637020800, g: 1641340800, h: 1643673600, i: 1646092800, j: 1648512e3, k: 1650931200,
  l: 1653350400, m: 1655769600, n: 1659398400, o: 1661817600, p: 1664236800, q: 1666656e3, r: 166968e4, s: 1673308800, t: 1675728e3, u: 1678147200,
  v: 1680566400, w: 1682985600, x: 1685404800, AB: 1698710400, BB: 1701993600, CB: 1705968e3, DB: 1708387200, EB: 1710806400, FB: 1713225600,
  GB: 1715644800, HB: 1718064e3, IB: 1721174400, JB: 1724112e3, KB: 1726531200, LB: 1728950400, I: 1731369600, BC: null, MC: null, NC: null } },
  E: { A: { J: 0, MB: 0, K: 0, D: 0, E: 0, F: 0, A: 0, B: 0, C: 0, L: 3521e-6, M: 0.017605, G: 3521e-6, nC: 0, OC: 0, oC: 0, pC: 0, qC: 0, rC: 0,
  PC: 0, CC: 3521e-6, DC: 7042e-6, sC: 0.038731, tC: 0.052815, uC: 0.014084, QC: 7042e-6, RC: 0.014084, EC: 0.021126, vC: 0.169008, FC: 0.024647,
  SC: 0.028168, TC: 0.021126, UC: 0.049294, VC: 0.017605, WC: 0.031689, wC: 0.225344, GC: 0.014084, XC: 0.024647, YC: 0.024647, ZC: 0.028168,
  aC: 0.066899, bC: 0.130277, xC: 0.415478, HC: 0.080983, cC: 1.05278, dC: 0.144361, eC: 3521e-6, yC: 0 }, B: "webkit", C: ["", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "nC", "OC", "J", "MB", "oC", "K", "pC", "D", "qC", "E", "F", "rC", "A", "PC", "B",
  "CC", "C", "DC", "L", "sC", "M", "tC", "G", "uC", "QC", "RC", "EC", "vC", "FC", "SC", "TC", "UC", "VC", "WC", "wC", "GC", "XC", "YC", "ZC",
  "aC", "bC", "xC", "HC", "cC", "dC", "eC", "yC", ""], E: "Safari", F: { nC: 1205798400, OC: 1226534400, J: 1244419200, MB: 1275868800, oC: 131112e4,
  K: 1343174400, pC: 13824e5, D: 13824e5, qC: 1410998400, E: 1413417600, F: 1443657600, rC: 1458518400, A: 1474329600, PC: 1490572800, B: 1505779200,
  CC: 1522281600, C: 1537142400, DC: 1553472e3, L: 1568851200, sC: 1585008e3, M: 1600214400, tC: 1619395200, G: 1632096e3, uC: 1635292800, QC: 1639353600,
  RC: 1647216e3, EC: 1652745600, vC: 1658275200, FC: 1662940800, SC: 1666569600, TC: 1670889600, UC: 1674432e3, VC: 1679875200, WC: 1684368e3,
  wC: 1690156800, GC: 1695686400, XC: 1698192e3, YC: 1702252800, ZC: 1705881600, aC: 1709596800, bC: 1715558400, xC: 1722211200, HC: 1726444800,
  cC: 1730073600, dC: 1733875200, eC: null, yC: null } }, F: { A: { 0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, F: 0, B: 0, C: 0, G: 0, N: 0, O: 0, P: 0,
  NB: 0, y: 0, z: 0, OB: 0, PB: 0, QB: 0, RB: 0, SB: 0, TB: 0, UB: 0, VB: 0, WB: 0, XB: 0, YB: 0, ZB: 0, aB: 3521e-6, bB: 0, cB: 0, dB: 0, eB: 0,
  fB: 0, gB: 0.014084, hB: 0, iB: 0, jB: 0, kB: 0, lB: 0, mB: 0, nB: 0, oB: 0, pB: 0, qB: 0, rB: 0, sB: 0, tB: 0, uB: 0, vB: 0, wB: 0, xB: 0,
  yB: 0, zB: 0, "0B": 0, "1B": 0, "2B": 0, "3B": 0, "4B": 0, "5B": 0, "6B": 0, "7B": 0, "8B": 0, "9B": 0, AC: 0, Q: 0, H: 0, R: 0, LC: 0, S: 0,
  T: 0, U: 7042e-6, V: 0.028168, W: 0, X: 0, Y: 0, Z: 0, a: 0, b: 0, c: 0, d: 0, e: 0.031689, f: 0, g: 0, h: 0, i: 0, j: 0, k: 0, l: 0.021126,
  m: 0, n: 0, o: 0, p: 0, q: 0, r: 0, s: 0, t: 0, u: 0, v: 0, w: 3521e-6, x: 0.616175, zC: 0, "0C": 0, "1C": 0, "2C": 0, CC: 0, fC: 0, "3C": 0,
  DC: 0 }, B: "webkit", C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "F", "zC", "\
0C", "1C", "2C", "B", "CC", "fC", "3C", "C", "DC", "G", "N", "O", "P", "NB", "y", "z", "0", "1", "2", "3", "4", "5", "OB", "PB", "QB", "RB",
  "SB", "TB", "UB", "VB", "WB", "XB", "YB", "ZB", "aB", "bB", "cB", "dB", "eB", "fB", "gB", "hB", "iB", "jB", "kB", "lB", "mB", "nB", "oB", "\
pB", "qB", "rB", "sB", "tB", "uB", "vB", "wB", "xB", "yB", "zB", "0B", "1B", "2B", "3B", "4B", "5B", "6B", "7B", "8B", "9B", "AC", "Q", "H",
  "R", "LC", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r",
  "s", "t", "u", "v", "w", "x", "", "", ""], E: "Opera", F: { 0: 1401753600, 1: 1405987200, 2: 1409616e3, 3: 1413331200, 4: 1417132800, 5: 1422316800,
  F: 1150761600, zC: 1223424e3, "0C": 1251763200, "1C": 1267488e3, "2C": 1277942400, B: 1292457600, CC: 1302566400, fC: 1309219200, "3C": 1323129600,
  C: 1323129600, DC: 1352073600, G: 1372723200, N: 1377561600, O: 1381104e3, P: 1386288e3, NB: 1390867200, y: 1393891200, z: 1399334400, OB: 1425945600,
  PB: 1430179200, QB: 1433808e3, RB: 1438646400, SB: 1442448e3, TB: 1445904e3, UB: 1449100800, VB: 1454371200, WB: 1457308800, XB: 146232e4,
  YB: 1465344e3, ZB: 1470096e3, aB: 1474329600, bB: 1477267200, cB: 1481587200, dB: 1486425600, eB: 1490054400, fB: 1494374400, gB: 1498003200,
  hB: 1502236800, iB: 1506470400, jB: 1510099200, kB: 1515024e3, lB: 1517961600, mB: 1521676800, nB: 1525910400, oB: 1530144e3, pB: 1534982400,
  qB: 1537833600, rB: 1543363200, sB: 1548201600, tB: 1554768e3, uB: 1561593600, vB: 1566259200, wB: 1570406400, xB: 1573689600, yB: 1578441600,
  zB: 1583971200, "0B": 1587513600, "1B": 1592956800, "2B": 1595894400, "3B": 1600128e3, "4B": 1603238400, "5B": 161352e4, "6B": 1612224e3, "\
7B": 1616544e3, "8B": 1619568e3, "9B": 1623715200, AC: 1627948800, Q: 1631577600, H: 1633392e3, R: 1635984e3, LC: 1638403200, S: 1642550400,
  T: 1644969600, U: 1647993600, V: 1650412800, W: 1652745600, X: 1654646400, Y: 1657152e3, Z: 1660780800, a: 1663113600, b: 1668816e3, c: 1668643200,
  d: 1671062400, e: 1675209600, f: 1677024e3, g: 1679529600, h: 1681948800, i: 1684195200, j: 1687219200, k: 1690329600, l: 1692748800, m: 1696204800,
  n: 169992e4, o: 169992e4, p: 1702944e3, q: 1707264e3, r: 1710115200, s: 1711497600, t: 1716336e3, u: 1719273600, v: 1721088e3, w: 1724284800,
  x: 1727222400 }, D: { F: "o", B: "o", C: "o", zC: "o", "0C": "o", "1C": "o", "2C": "o", CC: "o", fC: "o", "3C": "o", DC: "o" } }, G: { A: {
  E: 0, OC: 0, "4C": 0, gC: 278986e-8, "5C": 139493e-8, "6C": 557971e-8, "7C": 836957e-8, "8C": 0, "9C": 557971e-8, AD: 0.0223189, BD: 278986e-8,
  CD: 0.0320834, DD: 0.234348, ED: 0.0111594, FD: 697464e-8, GD: 0.156232, HD: 278986e-8, ID: 0.0474276, JD: 697464e-8, KD: 0.0237138, LD: 0.10462,
  MD: 0.0655617, ND: 0.0362681, QC: 0.0348732, RC: 0.0418479, EC: 0.0474276, OD: 0.542627, FC: 0.0906704, SC: 0.193895, TC: 0.0990399, UC: 0.171576,
  VC: 0.0348732, WC: 0.0711414, PD: 0.683515, GC: 0.0474276, XC: 0.078116, YC: 0.0641667, ZC: 0.0920653, aC: 0.199475, bC: 0.485435, QD: 1.82178,
  HC: 0.59424, cC: 6.92303, dC: 0.813243, eC: 0.0306884 }, B: "webkit", C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "OC", "4C", "gC", "5C", "6C", "7C", "E", "8C", "9C", "AD", "BD", "CD", "DD", "ED", "FD", "GD", "HD", "ID", "JD", "KD", "LD", "\
MD", "ND", "QC", "RC", "EC", "OD", "FC", "SC", "TC", "UC", "VC", "WC", "PD", "GC", "XC", "YC", "ZC", "aC", "bC", "QD", "HC", "cC", "dC", "eC",
  "", ""], E: "Safari on iOS", F: { OC: 1270252800, "4C": 1283904e3, gC: 1299628800, "5C": 1331078400, "6C": 1359331200, "7C": 1394409600, E: 1410912e3,
  "8C": 1413763200, "9C": 1442361600, AD: 1458518400, BD: 1473724800, CD: 1490572800, DD: 1505779200, ED: 1522281600, FD: 1537142400, GD: 1553472e3,
  HD: 1568851200, ID: 1572220800, JD: 1580169600, KD: 1585008e3, LD: 1600214400, MD: 1619395200, ND: 1632096e3, QC: 1639353600, RC: 1647216e3,
  EC: 1652659200, OD: 1658275200, FC: 1662940800, SC: 1666569600, TC: 1670889600, UC: 1674432e3, VC: 1679875200, WC: 1684368e3, PD: 1690156800,
  GC: 1694995200, XC: 1698192e3, YC: 1702252800, ZC: 1705881600, aC: 1709596800, bC: 1715558400, QD: 1722211200, HC: 1726444800, cC: 1730073600,
  dC: 1733875200, eC: null } }, H: { A: { RD: 0.04 }, B: "o", C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "RD", "", "", ""], E: "Opera Mini", F: { RD: 1426464e3 } }, I: { A: { IC: 0, J: 0, I: 0.24566, SD: 0, TD: 0,
  UD: 0, VD: 246202e-10, gC: 492404e-10, WD: 0, XD: 295442e-9 }, B: "webkit", C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "SD", "TD", "UD", "IC", "J", "VD", "gC", "WD", "XD", "I", "", "", ""], E: "Android Browser", F: { SD: 1256515200, TD: 1274313600,
  UD: 1291593600, IC: 1298332800, J: 1318896e3, VD: 1341792e3, gC: 1374624e3, WD: 1386547200, XD: 1401667200, I: 1731369600 } }, J: { A: { D: 0,
  A: 0 }, B: "webkit", C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "D", "\
A", "", "", ""], E: "Blackberry Browser", F: { D: 1325376e3, A: 1359504e3 } }, K: { A: { A: 0, B: 0, C: 0, H: 1.0096, CC: 0, fC: 0, DC: 0 },
  B: "o", C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "A", "B", "CC", "fC", "C", "DC", "H", "",
  "", ""], E: "Opera Mobile", F: { A: 1287100800, B: 1300752e3, CC: 1314835200, fC: 1318291200, C: 1330300800, DC: 1349740800, H: 1709769600 },
  D: { H: "webkit" } }, L: { A: { I: 47.0453 }, B: "webkit", C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "I", "", "", ""], E: "Chrome for Android", F: { I: 1731369600 } }, M: { A: { BC: 0.32395 }, B: "moz", C: [
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "BC", "", "", ""], E: "Fir\
efox for Android", F: { BC: 173016e4 } }, N: { A: { A: 0, B: 0 }, B: "ms", C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "A", "B", "", "", ""], E: "IE Mobile", F: { A: 1340150400, B: 1353456e3 } }, O: { A: { EC: 0.855228 },
  B: "webkit", C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "EC", "", "",
  ""], E: "UC Browser for Android", F: { EC: 1710115200 }, D: { EC: "webkit" } }, P: { A: { 0: 0.0322125, 1: 0.04295, 2: 0.0536875, 3: 0.04295,
  4: 0.1718, 5: 1.77169, J: 0.0859, y: 0, z: 0.0322125, YD: 0.0107375, ZD: 0, aD: 0.021475, bD: 0, cD: 0, PC: 0, dD: 0, eD: 0, fD: 0, gD: 0,
  hD: 0, FC: 0, GC: 0.0107375, HC: 0, iD: 0.0107375 }, B: "webkit", C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "J", "YD", "ZD", "aD", "bD", "cD", "PC", "dD", "eD",
  "fD", "gD", "hD", "FC", "GC", "HC", "iD", "y", "z", "0", "1", "2", "3", "4", "5", "", "", ""], E: "Samsung Internet", F: { 0: 1689292800, 1: 1697587200,
  2: 1711497600, 3: 1715126400, 4: 1717718400, 5: 1725667200, J: 1461024e3, YD: 1481846400, ZD: 1509408e3, aD: 1528329600, bD: 1546128e3, cD: 1554163200,
  PC: 1567900800, dD: 1582588800, eD: 1593475200, fD: 1605657600, gD: 1618531200, hD: 1629072e3, FC: 1640736e3, GC: 1651708800, HC: 1659657600,
  iD: 1667260800, y: 1677369600, z: 1684454400 } }, Q: { A: { jD: 0.239723 }, B: "webkit", C: ["", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "jD", "", "", ""], E: "QQ Browser", F: { jD: 1710288e3 } }, R: { A: { kD: 0 },
  B: "webkit", C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "kD", "", "",
  ""], E: "Baidu Browser", F: { kD: 1710201600 } }, S: { A: { lD: 0.019437, mD: 0 }, B: "moz", C: ["", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "lD", "mD", "", "", ""], E: "KaiOS Browser", F: { lD: 1527811200, mD: 1631664e3 } } };
});

// ../node_modules/caniuse-lite/dist/unpacker/agents.js
var $G = g((MVs, WG) => {
  "use strict";
  var _ct = wP().browsers, f_ = h_().browserVersions, KG = UG();
  function VG(t) {
    return Object.keys(t).reduce((e, s) => (e[f_[s]] = t[s], e), {});
  }
  n(VG, "unpackBrowserVersions");
  WG.exports.agents = Object.keys(KG).reduce((t, e) => {
    let s = KG[e];
    return t[_ct[e]] = Object.keys(s).reduce((r, i) => (i === "A" ? r.usage_global = VG(s[i]) : i === "C" ? r.versions = s[i].reduce((a, o) => (o ===
    "" ? a.push(null) : a.push(f_[o]), a), []) : i === "D" ? r.prefix_exceptions = VG(s[i]) : i === "E" ? r.browser = s[i] : i === "F" ? r.release_date =
    Object.keys(s[i]).reduce(
      (a, o) => (a[f_[o]] = s[i][o], a),
      {}
    ) : r.prefix = s[i], r), {}), t;
  }, {});
});

// ../node_modules/electron-to-chromium/versions.js
var JG = g((jVs, HG) => {
  HG.exports = {
    "0.20": "39",
    "0.21": "41",
    "0.22": "41",
    "0.23": "41",
    "0.24": "41",
    "0.25": "42",
    "0.26": "42",
    "0.27": "43",
    "0.28": "43",
    "0.29": "43",
    "0.30": "44",
    "0.31": "45",
    "0.32": "45",
    "0.33": "45",
    "0.34": "45",
    "0.35": "45",
    "0.36": "47",
    "0.37": "49",
    "1.0": "49",
    "1.1": "50",
    "1.2": "51",
    "1.3": "52",
    "1.4": "53",
    "1.5": "54",
    "1.6": "56",
    "1.7": "58",
    "1.8": "59",
    "2.0": "61",
    "2.1": "61",
    "3.0": "66",
    "3.1": "66",
    "4.0": "69",
    "4.1": "69",
    "4.2": "69",
    "5.0": "73",
    "6.0": "76",
    "6.1": "76",
    "7.0": "78",
    "7.1": "78",
    "7.2": "78",
    "7.3": "78",
    "8.0": "80",
    "8.1": "80",
    "8.2": "80",
    "8.3": "80",
    "8.4": "80",
    "8.5": "80",
    "9.0": "83",
    "9.1": "83",
    "9.2": "83",
    "9.3": "83",
    "9.4": "83",
    "10.0": "85",
    "10.1": "85",
    "10.2": "85",
    "10.3": "85",
    "10.4": "85",
    "11.0": "87",
    "11.1": "87",
    "11.2": "87",
    "11.3": "87",
    "11.4": "87",
    "11.5": "87",
    "12.0": "89",
    "12.1": "89",
    "12.2": "89",
    "13.0": "91",
    "13.1": "91",
    "13.2": "91",
    "13.3": "91",
    "13.4": "91",
    "13.5": "91",
    "13.6": "91",
    "14.0": "93",
    "14.1": "93",
    "14.2": "93",
    "15.0": "94",
    "15.1": "94",
    "15.2": "94",
    "15.3": "94",
    "15.4": "94",
    "15.5": "94",
    "16.0": "96",
    "16.1": "96",
    "16.2": "96",
    "17.0": "98",
    "17.1": "98",
    "17.2": "98",
    "17.3": "98",
    "17.4": "98",
    "18.0": "100",
    "18.1": "100",
    "18.2": "100",
    "18.3": "100",
    "19.0": "102",
    "19.1": "102",
    "20.0": "104",
    "20.1": "104",
    "20.2": "104",
    "20.3": "104",
    "21.0": "106",
    "21.1": "106",
    "21.2": "106",
    "21.3": "106",
    "21.4": "106",
    "22.0": "108",
    "22.1": "108",
    "22.2": "108",
    "22.3": "108",
    "23.0": "110",
    "23.1": "110",
    "23.2": "110",
    "23.3": "110",
    "24.0": "112",
    "24.1": "112",
    "24.2": "112",
    "24.3": "112",
    "24.4": "112",
    "24.5": "112",
    "24.6": "112",
    "24.7": "112",
    "24.8": "112",
    "25.0": "114",
    "25.1": "114",
    "25.2": "114",
    "25.3": "114",
    "25.4": "114",
    "25.5": "114",
    "25.6": "114",
    "25.7": "114",
    "25.8": "114",
    "25.9": "114",
    "26.0": "116",
    "26.1": "116",
    "26.2": "116",
    "26.3": "116",
    "26.4": "116",
    "26.5": "116",
    "26.6": "116",
    "27.0": "118",
    "27.1": "118",
    "27.2": "118",
    "27.3": "118",
    "28.0": "120",
    "28.1": "120",
    "28.2": "120",
    "28.3": "120",
    "29.0": "122",
    "29.1": "122",
    "29.2": "122",
    "29.3": "122",
    "29.4": "122",
    "30.0": "124",
    "30.1": "124",
    "30.2": "124",
    "30.3": "124",
    "30.4": "124",
    "30.5": "124",
    "31.0": "126",
    "31.1": "126",
    "31.2": "126",
    "31.3": "126",
    "31.4": "126",
    "31.5": "126",
    "31.6": "126",
    "31.7": "126",
    "32.0": "128",
    "32.1": "128",
    "32.2": "128",
    "33.0": "130",
    "33.1": "130",
    "33.2": "130",
    "33.3": "130",
    "34.0": "132",
    "35.0": "133"
  };
});

// ../node_modules/node-releases/data/release-schedule/release-schedule.json
var YG = g((RVs, Lct) => {
  Lct.exports = { "v0.8": { start: "2012-06-25", end: "2014-07-31" }, "v0.10": { start: "2013-03-11", end: "2016-10-31" }, "v0.12": { start: "\
2015-02-06", end: "2016-12-31" }, v4: { start: "2015-09-08", lts: "2015-10-12", maintenance: "2017-04-01", end: "2018-04-30", codename: "Arg\
on" }, v5: { start: "2015-10-29", maintenance: "2016-04-30", end: "2016-06-30" }, v6: { start: "2016-04-26", lts: "2016-10-18", maintenance: "\
2018-04-30", end: "2019-04-30", codename: "Boron" }, v7: { start: "2016-10-25", maintenance: "2017-04-30", end: "2017-06-30" }, v8: { start: "\
2017-05-30", lts: "2017-10-31", maintenance: "2019-01-01", end: "2019-12-31", codename: "Carbon" }, v9: { start: "2017-10-01", maintenance: "\
2018-04-01", end: "2018-06-30" }, v10: { start: "2018-04-24", lts: "2018-10-30", maintenance: "2020-05-19", end: "2021-04-30", codename: "Du\
bnium" }, v11: { start: "2018-10-23", maintenance: "2019-04-22", end: "2019-06-01" }, v12: { start: "2019-04-23", lts: "2019-10-21", maintenance: "\
2020-11-30", end: "2022-04-30", codename: "Erbium" }, v13: { start: "2019-10-22", maintenance: "2020-04-01", end: "2020-06-01" }, v14: { start: "\
2020-04-21", lts: "2020-10-27", maintenance: "2021-10-19", end: "2023-04-30", codename: "Fermium" }, v15: { start: "2020-10-20", maintenance: "\
2021-04-01", end: "2021-06-01" }, v16: { start: "2021-04-20", lts: "2021-10-26", maintenance: "2022-10-18", end: "2023-09-11", codename: "Ga\
llium" }, v17: { start: "2021-10-19", maintenance: "2022-04-01", end: "2022-06-01" }, v18: { start: "2022-04-19", lts: "2022-10-25", maintenance: "\
2023-10-18", end: "2025-04-30", codename: "Hydrogen" }, v19: { start: "2022-10-18", maintenance: "2023-04-01", end: "2023-06-01" }, v20: { start: "\
2023-04-18", lts: "2023-10-24", maintenance: "2024-10-22", end: "2026-04-30", codename: "Iron" }, v21: { start: "2023-10-17", maintenance: "\
2024-04-01", end: "2024-06-01" }, v22: { start: "2024-04-24", lts: "2024-10-29", maintenance: "2025-10-21", end: "2027-04-30", codename: "Jo\
d" }, v23: { start: "2024-10-16", maintenance: "2025-04-01", end: "2025-06-01" }, v24: { start: "2025-04-22", lts: "2025-10-28", maintenance: "\
2026-10-20", end: "2028-04-30", codename: "" } };
});

// ../node_modules/browserslist/error.js
var m_ = g((qVs, XG) => {
  function d_(t) {
    this.name = "BrowserslistError", this.message = t, this.browserslist = !0, Error.captureStackTrace && Error.captureStackTrace(this, d_);
  }
  n(d_, "BrowserslistError");
  d_.prototype = Error.prototype;
  XG.exports = d_;
});

// ../node_modules/caniuse-lite/dist/lib/statuses.js
var GG = g((KVs, zG) => {
  zG.exports = {
    1: "ls",
    // WHATWG Living Standard
    2: "rec",
    // W3C Recommendation
    3: "pr",
    // W3C Proposed Recommendation
    4: "cr",
    // W3C Candidate Recommendation
    5: "wd",
    // W3C Working Draft
    6: "other",
    // Non-W3C, but reputable
    7: "unoff"
    // Unofficial, Editor's Draft or W3C "Note"
  };
});

// ../node_modules/caniuse-lite/dist/lib/supported.js
var ZG = g((VVs, QG) => {
  QG.exports = {
    y: 1,
    n: 2,
    a: 4,
    p: 8,
    u: 16,
    x: 32,
    d: 64
  };
});

// ../node_modules/caniuse-lite/dist/unpacker/feature.js
var sQ = g((WVs, y_) => {
  "use strict";
  var Bct = GG(), eQ = ZG(), Mct = wP().browsers, Fct = h_().browserVersions, jct = Math.log(2);
  function Rct(t) {
    let e = Object.keys(eQ).reduce((i, a) => (t & eQ[a] && i.push(a), i), []), s = t >> 7, r = [];
    for (; s; ) {
      let i = Math.floor(Math.log(s) / jct) + 1;
      r.unshift(`#${i}`), s -= Math.pow(2, i - 1);
    }
    return e.concat(r).join(" ");
  }
  n(Rct, "unpackSupport");
  function tQ(t) {
    let e = {
      status: Bct[t.B],
      title: t.C,
      shown: t.D
    };
    return e.stats = Object.keys(t.A).reduce((s, r) => {
      let i = t.A[r];
      return s[Mct[r]] = Object.keys(i).reduce(
        (a, o) => {
          let l = i[o].split(" "), u = Rct(o);
          return l.forEach((c) => a[Fct[c]] = u), a;
        },
        {}
      ), s;
    }, {}), e;
  }
  n(tQ, "unpackFeature");
  y_.exports = tQ;
  y_.exports.default = tQ;
});

// ../node_modules/caniuse-lite/dist/unpacker/region.js
var iQ = g((HVs, g_) => {
  "use strict";
  var qct = wP().browsers;
  function rQ(t) {
    return Object.keys(t).reduce((e, s) => {
      let r = t[s];
      return e[qct[s]] = Object.keys(r).reduce((i, a) => {
        let o = r[a];
        return a === "_" ? o.split(" ").forEach((l) => i[l] = null) : i[a] = o, i;
      }, {}), e;
    }, {});
  }
  n(rQ, "unpackRegion");
  g_.exports = rQ;
  g_.exports.default = rQ;
});

// ../node_modules/browserslist/node.js
var dQ = g((YVs, n0) => {
  var Uct = sQ().default, Kct = iQ().default, rp = require("fs"), Co = require("path"), sn = m_(), nQ = /^\s*\[(.+)]\s*$/, Vct = /^browserslist-config-/,
  Wct = /@[^/]+(?:\/[^/]+)?\/browserslist-config(?:-|$|\/)/, aQ = "Browserslist config should be a string or an array of strings with browse\
r queries", T_ = !1, oQ = {}, lQ = {}, IP = {};
  function uQ(t) {
    var e = " Use `dangerousExtend` option to disable.";
    if (!Vct.test(t) && !Wct.test(t))
      throw new sn(
        "Browserslist config needs `browserslist-config-` prefix. " + e
      );
    if (t.replace(/^@[^/]+\//, "").indexOf(".") !== -1)
      throw new sn(
        "`.` not allowed in Browserslist config name. " + e
      );
    if (t.indexOf("node_modules") !== -1)
      throw new sn(
        "`node_modules` not allowed in Browserslist config." + e
      );
  }
  n(uQ, "checkExtend");
  function Eu(t) {
    return rp.existsSync(t) && rp.statSync(t).isFile();
  }
  n(Eu, "isFile");
  function $ct(t) {
    return rp.existsSync(t) && rp.statSync(t).isDirectory();
  }
  n($ct, "isDirectory");
  function cQ(t, e, s) {
    var r = Co.resolve(t), i = [], a;
    do {
      if (!Hct(r))
        break;
      if (s && r in s) {
        a = s[r];
        break;
      }
      if (i.push(r), !!$ct(r)) {
        var o = e(r);
        if (typeof o < "u") {
          a = o;
          break;
        }
      }
    } while (r !== (r = Co.dirname(r)));
    return s && !process.env.BROWSERSLIST_DISABLE_CACHE && i.forEach(function(l) {
      s[l] = a;
    }), a;
  }
  n(cQ, "eachParent");
  function Hct(t) {
    if (!process.env.BROWSERSLIST_ROOT_PATH) return !0;
    var e = Co.resolve(process.env.BROWSERSLIST_ROOT_PATH);
    return Co.relative(e, t).substring(0, 2) !== "..";
  }
  n(Hct, "pathInRoot");
  function Jct(t) {
    if (Array.isArray(t)) {
      for (var e = 0; e < t.length; e++)
        if (typeof t[e] != "string")
          throw new sn(aQ);
    } else if (typeof t != "string")
      throw new sn(aQ);
  }
  n(Jct, "check");
  function b_(t, e) {
    if (typeof t != "object") return t;
    var s;
    if (typeof e.env == "string" ? s = e.env : process.env.BROWSERSLIST_ENV ? s = process.env.BROWSERSLIST_ENV : process.env.NODE_ENV ? s = process.
    env.NODE_ENV : s = "production", e.throwOnMissing && s && s !== "defaults" && !t[s])
      throw new sn(
        "Missing config for Browserslist environment `" + s + "`"
      );
    return t[s] || t.defaults;
  }
  n(b_, "pickEnv");
  function fQ(t) {
    var e = rp.readFileSync(t).toString().replace(/^\uFEFF/m, ""), s;
    if (e.indexOf('"browserslist"') >= 0)
      s = JSON.parse(e).browserslist;
    else if (e.indexOf('"browserlist"') >= 0) {
      var r = JSON.parse(e);
      if (r.browserlist && !r.browserslist)
        throw new sn(
          "`browserlist` key instead of `browserslist` in " + t
        );
    }
    (Array.isArray(s) || typeof s == "string") && (s = { defaults: s });
    for (var i in s)
      Jct(s[i]);
    return s;
  }
  n(fQ, "parsePackage");
  function pQ(t) {
    if (t in IP)
      return IP[t];
    var e = Co.basename(t) === "package.json", s = e ? fQ(t) : n0.exports.readConfig(t);
    return process.env.BROWSERSLIST_DISABLE_CACHE || (IP[t] = s), s;
  }
  n(pQ, "parsePackageOrReadConfig");
  function Yct(t) {
    var e = 0;
    for (var s in t) {
      var r = t[s].releaseDate || {};
      for (var i in r)
        e < r[i] && (e = r[i]);
    }
    return e * 1e3;
  }
  n(Yct, "latestReleaseTime");
  function Xct(t) {
    var e = /* @__PURE__ */ new Date(), s = new Date(t), r = e.getFullYear() - s.getFullYear(), i = e.getMonth() - s.getMonth();
    return r * 12 + i;
  }
  n(Xct, "getMonthsPassed");
  function hQ(t, e) {
    if (t || (t = {}), e && "dataByBrowser" in e && (e = e.dataByBrowser), typeof e == "object") {
      var s = {};
      for (var r in e) {
        var i = Object.keys(e[r]);
        if (i.length === 1 && t[r] && t[r].versions.length === 1) {
          var a = t[r].versions[0];
          s[r] = {}, s[r][a] = e[r][i[0]];
        } else
          s[r] = e[r];
      }
      return s;
    }
  }
  n(hQ, "normalizeStats");
  function zct(t, e) {
    for (var s in t) {
      var r = t[s];
      if ("0" in r) {
        var i = e[s].versions;
        r[i[i.length - 1]] = r[0], delete r[0];
      }
    }
  }
  n(zct, "normalizeUsageData");
  n0.exports = {
    loadQueries: /* @__PURE__ */ n(function(e, s) {
      !e.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND && uQ(s);
      var r = require(require.resolve(s, { paths: [".", e.path] }));
      if (r) {
        if (Array.isArray(r))
          return r;
        if (typeof r == "object")
          return r.defaults || (r.defaults = []), b_(r, e, s);
      }
      throw new sn(
        "`" + s + "` config exports not an array of queries or an object of envs"
      );
    }, "loadQueries"),
    loadStat: /* @__PURE__ */ n(function(e, s, r) {
      !e.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND && uQ(s);
      var i = require(require.resolve(
        Co.join(s, "browserslist-stats.json"),
        { paths: ["."] }
      ));
      return hQ(r, i);
    }, "loadStat"),
    getStat: /* @__PURE__ */ n(function(e, s) {
      var r;
      if (e.stats ? r = e.stats : process.env.BROWSERSLIST_STATS ? r = process.env.BROWSERSLIST_STATS : e.path && Co.resolve && rp.existsSync &&
      (r = cQ(e.path, function(i) {
        var a = Co.join(i, "browserslist-stats.json");
        return Eu(a) ? a : void 0;
      }, oQ)), typeof r == "string")
        try {
          r = JSON.parse(rp.readFileSync(r));
        } catch {
          throw new sn("Can't read " + r);
        }
      return hQ(s, r);
    }, "getStat"),
    loadConfig: /* @__PURE__ */ n(function(e) {
      if (process.env.BROWSERSLIST)
        return process.env.BROWSERSLIST;
      if (e.config || process.env.BROWSERSLIST_CONFIG) {
        var s = e.config || process.env.BROWSERSLIST_CONFIG;
        return b_(pQ(s), e);
      } else return e.path ? b_(n0.exports.findConfig(e.path), e) : void 0;
    }, "loadConfig"),
    loadCountry: /* @__PURE__ */ n(function(e, s, r) {
      var i = s.replace(/[^\w-]/g, "");
      if (!e[i]) {
        var a;
        try {
          a = require("caniuse-lite/data/regions/" + i + ".js");
        } catch {
          throw new sn("Unknown region name `" + i + "`.");
        }
        var o = Kct(a);
        zct(o, r), e[s] = {};
        for (var l in o)
          for (var u in o[l])
            e[s][l + " " + u] = o[l][u];
      }
    }, "loadCountry"),
    loadFeature: /* @__PURE__ */ n(function(e, s) {
      if (s = s.replace(/[^\w-]/g, ""), !e[s]) {
        var r;
        try {
          r = require("caniuse-lite/data/features/" + s + ".js");
        } catch {
          throw new sn("Unknown feature name `" + s + "`.");
        }
        var i = Uct(r).stats;
        e[s] = {};
        for (var a in i) {
          e[s][a] = {};
          for (var o in i[a])
            e[s][a][o] = i[a][o];
        }
      }
    }, "loadFeature"),
    parseConfig: /* @__PURE__ */ n(function(e) {
      var s = { defaults: [] }, r = ["defaults"];
      return e.toString().replace(/#[^\n]*/g, "").split(/\n|,/).map(function(i) {
        return i.trim();
      }).filter(function(i) {
        return i !== "";
      }).forEach(function(i) {
        nQ.test(i) ? (r = i.match(nQ)[1].trim().split(" "), r.forEach(function(a) {
          if (s[a])
            throw new sn(
              "Duplicate section " + a + " in Browserslist config"
            );
          s[a] = [];
        })) : r.forEach(function(a) {
          s[a].push(i);
        });
      }), s;
    }, "parseConfig"),
    readConfig: /* @__PURE__ */ n(function(e) {
      if (!Eu(e))
        throw new sn("Can't read " + e + " config");
      return n0.exports.parseConfig(rp.readFileSync(e));
    }, "readConfig"),
    findConfigFile: /* @__PURE__ */ n(function(e) {
      return cQ(e, function(s) {
        var r = Co.join(s, "browserslist"), i = Co.join(s, "package.json"), a = Co.join(s, ".browserslistrc"), o;
        if (Eu(i))
          try {
            o = fQ(i);
          } catch (l) {
            if (l.name === "BrowserslistError") throw l;
            console.warn(
              "[Browserslist] Could not parse " + i + ". Ignoring it."
            );
          }
        if (Eu(r) && o)
          throw new sn(
            s + " contains both browserslist and package.json with browsers"
          );
        if (Eu(a) && o)
          throw new sn(
            s + " contains both .browserslistrc and package.json with browsers"
          );
        if (Eu(r) && Eu(a))
          throw new sn(
            s + " contains both .browserslistrc and browserslist"
          );
        if (Eu(r))
          return r;
        if (Eu(a))
          return a;
        if (o)
          return i;
      }, lQ);
    }, "findConfigFile"),
    findConfig: /* @__PURE__ */ n(function(e) {
      var s = this.findConfigFile(e);
      return s ? pQ(s) : void 0;
    }, "findConfig"),
    clearCaches: /* @__PURE__ */ n(function() {
      T_ = !1, oQ = {}, lQ = {}, IP = {}, this.cache = {};
    }, "clearCaches"),
    oldDataWarning: /* @__PURE__ */ n(function(e) {
      if (!T_ && (T_ = !0, !process.env.BROWSERSLIST_IGNORE_OLD_DATA)) {
        var s = Yct(e), r = Xct(s);
        if (s !== 0 && r >= 6) {
          var i = r + " " + (r > 1 ? "months" : "month");
          console.warn(
            "Browserslist: browsers data (caniuse-lite) is " + i + ` old. Please run:
  npx update-browserslist-db@latest
  Why you should do it regularly: https://github.com/browserslist/update-db#readme`
          );
        }
      }
    }, "oldDataWarning"),
    currentNode: /* @__PURE__ */ n(function() {
      return "node " + process.versions.node;
    }, "currentNode"),
    env: process.env
  };
});

// ../node_modules/browserslist/parse.js
var bQ = g((zVs, TQ) => {
  var mQ = /^\s+and\s+(.*)/i, yQ = /^(?:,\s*|\s+or\s+)(.*)/i;
  function gQ(t) {
    return Array.isArray(t) ? t.reduce(function(e, s) {
      return e.concat(gQ(s));
    }, []) : [t];
  }
  n(gQ, "flatten");
  function Gct(t, e) {
    for (var s = t.length, r = 1; r <= s; r++) {
      var i = t.substr(-r, r);
      if (e(i, r, s))
        return t.slice(0, -r);
    }
    return "";
  }
  n(Gct, "find");
  function x_(t, e) {
    var s = { query: e };
    e.indexOf("not ") === 0 && (s.not = !0, e = e.slice(4));
    for (var r in t) {
      var i = t[r], a = e.match(i.regexp);
      if (a) {
        s.type = r;
        for (var o = 0; o < i.matches.length; o++)
          s[i.matches[o]] = a[o + 1];
        return s;
      }
    }
    return s.type = "unknown", s;
  }
  n(x_, "matchQuery");
  function Qct(t, e, s) {
    var r;
    return Gct(e, function(i, a, o) {
      return mQ.test(i) ? (r = x_(t, i.match(mQ)[1]), r.compose = "and", s.unshift(r), !0) : yQ.test(i) ? (r = x_(t, i.match(yQ)[1]), r.compose =
      "or", s.unshift(r), !0) : a === o ? (r = x_(t, i.trim()), r.compose = "or", s.unshift(r), !0) : !1;
    });
  }
  n(Qct, "matchBlock");
  TQ.exports = /* @__PURE__ */ n(function(e, s) {
    return Array.isArray(s) || (s = [s]), gQ(
      s.map(function(r) {
        var i = [];
        do
          r = Qct(e, r, i);
        while (r);
        return i;
      })
    );
  }, "parse");
});

// ../node_modules/browserslist/index.js
var MQ = g((QVs, BQ) => {
  var Zct = _G(), Au = $G().agents, wo = JG(), S_ = YG(), LP = require("path"), ra = m_(), Fi = dQ(), ept = bQ(), tpt = 365.259641 * 24 * 60 *
  60 * 1e3, IQ = "37", spt = 14;
  function NQ(t, e) {
    return (t + ".").indexOf(e + ".") === 0;
  }
  n(NQ, "isVersionsMatch");
  function rpt(t) {
    var e = t.slice(1);
    return xt.nodeVersions.some(function(s) {
      return NQ(s, e);
    });
  }
  n(rpt, "isEolReleased");
  function xQ(t) {
    return t.filter(function(e) {
      return typeof e == "string";
    });
  }
  n(xQ, "normalize");
  function NP(t) {
    var e = t;
    return t.split(".").length === 3 && (e = t.split(".").slice(0, -1).join(".")), e;
  }
  n(NP, "normalizeElectron");
  function ip(t) {
    return /* @__PURE__ */ n(function(s) {
      return t + " " + s;
    }, "mapName");
  }
  n(ip, "nameMapper");
  function C_(t) {
    return parseInt(t.split(".")[0]);
  }
  n(C_, "getMajor");
  function kP(t, e) {
    if (t.length === 0) return [];
    var s = kQ(t.map(C_)), r = s[s.length - e];
    if (!r)
      return t;
    for (var i = [], a = t.length - 1; a >= 0 && !(r > C_(t[a])); a--)
      i.unshift(t[a]);
    return i;
  }
  n(kP, "getMajorVersions");
  function kQ(t) {
    for (var e = [], s = 0; s < t.length; s++)
      e.indexOf(t[s]) === -1 && e.push(t[s]);
    return e;
  }
  n(kQ, "uniq");
  function BP(t, e, s) {
    for (var r in s)
      t[e + " " + r] = s[r];
  }
  n(BP, "fillUsage");
  function SQ(t, e) {
    if (e = parseFloat(e), t === ">")
      return function(r) {
        return s(r) > e;
      };
    return t === ">=" ? function(r) {
      return s(r) >= e;
    } : t === "<" ? function(r) {
      return parseFloat(r) < e;
    } : function(r) {
      return parseFloat(r) <= e;
    };
    function s(r) {
      return parseFloat(r.split("-")[1] || r);
    }
  }
  n(SQ, "generateFilter");
  function ipt(t, e) {
    return e = e.split(".").map(np), e[1] = e[1] || 0, e[2] = e[2] || 0, t === ">" ? function(s) {
      return s = s.split(".").map(np), a0(s, e) > 0;
    } : t === ">=" ? function(s) {
      return s = s.split(".").map(np), a0(s, e) >= 0;
    } : t === "<" ? function(s) {
      return s = s.split(".").map(np), a0(e, s) > 0;
    } : function(s) {
      return s = s.split(".").map(np), a0(e, s) >= 0;
    };
  }
  n(ipt, "generateSemverFilter");
  function np(t) {
    return parseInt(t);
  }
  n(np, "parseSimpleInt");
  function _P(t, e) {
    return t < e ? -1 : t > e ? 1 : 0;
  }
  n(_P, "compare");
  function a0(t, e) {
    return _P(parseInt(t[0]), parseInt(e[0])) || _P(parseInt(t[1] || "0"), parseInt(e[1] || "0")) || _P(parseInt(t[2] || "0"), parseInt(e[2] ||
    "0"));
  }
  n(a0, "compareSemver");
  function PQ(t, e) {
    switch (e = e.split(".").map(np), typeof e[1] > "u" && (e[1] = "x"), t) {
      case "<=":
        return function(s) {
          return s = s.split(".").map(np), EQ(s, e) <= 0;
        };
      case ">=":
      default:
        return function(s) {
          return s = s.split(".").map(np), EQ(s, e) >= 0;
        };
    }
  }
  n(PQ, "semverFilterLoose");
  function EQ(t, e) {
    return t[0] !== e[0] ? t[0] < e[0] ? -1 : 1 : e[1] === "x" ? 0 : t[1] !== e[1] ? t[1] < e[1] ? -1 : 1 : 0;
  }
  n(EQ, "compareSemverLoose");
  function npt(t, e) {
    return t.versions.indexOf(e) !== -1 ? e : xt.versionAliases[t.name][e] ? xt.versionAliases[t.name][e] : !1;
  }
  n(npt, "resolveVersion");
  function DP(t, e) {
    var s = npt(t, e);
    return s || (t.versions.length === 1 ? t.versions[0] : !1);
  }
  n(DP, "normalizeVersion");
  function DQ(t, e) {
    return t = t / 1e3, Object.keys(Au).reduce(function(s, r) {
      var i = ap(r, e);
      if (!i) return s;
      var a = Object.keys(i.releaseDate).filter(function(o) {
        var l = i.releaseDate[o];
        return l !== null && l >= t;
      });
      return s.concat(a.map(ip(i.name)));
    }, []);
  }
  n(DQ, "filterByYear");
  function AQ(t) {
    return {
      name: t.name,
      versions: t.versions,
      released: t.released,
      releaseDate: t.releaseDate
    };
  }
  n(AQ, "cloneData");
  function ap(t, e) {
    if (t = t.toLowerCase(), t = xt.aliases[t] || t, e.mobileToDesktop && xt.desktopNames[t]) {
      var s = xt.data[xt.desktopNames[t]];
      if (t === "android")
        return opt(AQ(xt.data[t]), s);
      var r = AQ(s);
      return r.name = t, r;
    }
    return xt.data[t];
  }
  n(ap, "byName");
  function vQ(t, e) {
    var s = e.indexOf(IQ);
    return t.filter(function(r) {
      return /^(?:[2-4]\.|[34]$)/.test(r);
    }).concat(e.slice(s));
  }
  n(vQ, "normalizeAndroidVersions");
  function apt(t) {
    var e = {};
    for (var s in t)
      e[s] = t[s];
    return e;
  }
  n(apt, "copyObject");
  function opt(t, e) {
    return t.released = vQ(t.released, e.released), t.versions = vQ(t.versions, e.versions), t.releaseDate = apt(t.releaseDate), t.released.
    forEach(function(s) {
      t.releaseDate[s] === void 0 && (t.releaseDate[s] = e.releaseDate[s]);
    }), t;
  }
  n(opt, "normalizeAndroidData");
  function rm(t, e) {
    var s = ap(t, e);
    if (!s) throw new ra("Unknown browser " + t);
    return s;
  }
  n(rm, "checkName");
  function lpt(t) {
    return new ra(
      "Unknown browser query `" + t + "`. Maybe you are using old Browserslist or made typo in query."
    );
  }
  n(lpt, "unknownQuery");
  function OP(t, e, s, r) {
    var i = 1;
    switch (e) {
      case "android":
        if (r.mobileToDesktop) return t;
        var a = xt.data.chrome.released;
        i = a.length - a.indexOf(IQ);
        break;
      case "op_mob":
        var o = xt.data.op_mob.released.slice(-1)[0];
        i = C_(o) - spt + 1;
        break;
      default:
        return t;
    }
    return s <= i ? t.slice(-1) : t.slice(i - 1 - s);
  }
  n(OP, "filterJumps");
  function CQ(t, e) {
    return typeof t == "string" && (t.indexOf("y") >= 0 || e && t.indexOf("a") >= 0);
  }
  n(CQ, "isSupported");
  function im(t, e) {
    return w_(t).reduce(function(s, r, i) {
      if (r.not && i === 0)
        throw new ra(
          "Write any browsers query (for instance, `defaults`) before `" + r.query + "`"
        );
      var a = I_[r.type], o = a.select.call(xt, e, r).map(function(u) {
        var c = u.split(" ");
        return c[1] === "0" ? c[0] + " " + ap(c[0], e).versions[0] : u;
      });
      if (r.compose === "and")
        return r.not ? s.filter(function(u) {
          return o.indexOf(u) === -1;
        }) : s.filter(function(u) {
          return o.indexOf(u) !== -1;
        });
      if (r.not) {
        var l = {};
        return o.forEach(function(u) {
          l[u] = !0;
        }), s.filter(function(u) {
          return !l[u];
        });
      }
      return s.concat(o);
    }, []);
  }
  n(im, "resolve");
  function OQ(t) {
    return typeof t > "u" && (t = {}), typeof t.path > "u" && (t.path = LP.resolve ? LP.resolve(".") : "."), t;
  }
  n(OQ, "prepareOpts");
  function _Q(t, e) {
    if (typeof t > "u" || t === null) {
      var s = xt.loadConfig(e);
      s ? t = s : t = xt.defaults;
    }
    return t;
  }
  n(_Q, "prepareQueries");
  function LQ(t) {
    if (!(typeof t == "string" || Array.isArray(t)))
      throw new ra(
        "Browser queries must be an array or string. Got " + typeof t + "."
      );
  }
  n(LQ, "checkQueries");
  var P_ = {}, E_ = {};
  function xt(t, e) {
    e = OQ(e), t = _Q(t, e), LQ(t);
    var s = w_(t).some(function(u) {
      return I_[u.type].needsPath;
    }), r = {
      ignoreUnknownVersions: e.ignoreUnknownVersions,
      dangerousExtend: e.dangerousExtend,
      mobileToDesktop: e.mobileToDesktop,
      env: e.env
    };
    s && (r.path = e.path), Fi.oldDataWarning(xt.data);
    var i = Fi.getStat(e, xt.data);
    if (i) {
      r.customUsage = {};
      for (var a in i)
        BP(r.customUsage, a, i[a]);
    }
    var o = JSON.stringify([t, r]);
    if (P_[o]) return P_[o];
    var l = kQ(im(t, r)).sort(function(u, c) {
      if (u = u.split(" "), c = c.split(" "), u[0] === c[0]) {
        var p = u[1].split("-")[0], h = c[1].split("-")[0];
        return a0(h.split("."), p.split("."));
      } else
        return _P(u[0], c[0]);
    });
    return Fi.env.BROWSERSLIST_DISABLE_CACHE || (P_[o] = l), l;
  }
  n(xt, "browserslist");
  function w_(t) {
    var e = JSON.stringify(t);
    if (e in E_) return E_[e];
    var s = ept(I_, t);
    return Fi.env.BROWSERSLIST_DISABLE_CACHE || (E_[e] = s), s;
  }
  n(w_, "parseQueries");
  xt.parse = function(t, e) {
    return e = OQ(e), t = _Q(t, e), LQ(t), w_(t);
  };
  xt.cache = {};
  xt.data = {};
  xt.usage = {
    global: {},
    custom: null
  };
  xt.defaults = ["> 0.5%", "last 2 versions", "Firefox ESR", "not dead"];
  xt.aliases = {
    fx: "firefox",
    ff: "firefox",
    ios: "ios_saf",
    explorer: "ie",
    blackberry: "bb",
    explorermobile: "ie_mob",
    operamini: "op_mini",
    operamobile: "op_mob",
    chromeandroid: "and_chr",
    firefoxandroid: "and_ff",
    ucandroid: "and_uc",
    qqandroid: "and_qq"
  };
  xt.desktopNames = {
    and_chr: "chrome",
    and_ff: "firefox",
    ie_mob: "ie",
    android: "chrome"
    // has extra processing logic
  };
  xt.versionAliases = {};
  xt.clearCaches = Fi.clearCaches;
  xt.parseConfig = Fi.parseConfig;
  xt.readConfig = Fi.readConfig;
  xt.findConfigFile = Fi.findConfigFile;
  xt.findConfig = Fi.findConfig;
  xt.loadConfig = Fi.loadConfig;
  xt.coverage = function(t, e) {
    var s;
    if (typeof e > "u")
      s = xt.usage.global;
    else if (e === "my stats") {
      var r = {};
      r.path = LP.resolve ? LP.resolve(".") : ".";
      var i = Fi.getStat(r);
      if (!i)
        throw new ra("Custom usage statistics was not provided");
      s = {};
      for (var a in i)
        BP(s, a, i[a]);
    } else if (typeof e == "string")
      e.length > 2 ? e = e.toLowerCase() : e = e.toUpperCase(), Fi.loadCountry(xt.usage, e, xt.data), s = xt.usage[e];
    else {
      "dataByBrowser" in e && (e = e.dataByBrowser), s = {};
      for (var o in e)
        for (var l in e[o])
          s[o + " " + l] = e[o][l];
    }
    return t.reduce(function(u, c) {
      var p = s[c];
      return p === void 0 && (p = s[c.replace(/ \S+$/, " 0")]), u + (p || 0);
    }, 0);
  };
  function A_(t, e) {
    var s = xt.nodeVersions.filter(function(r) {
      return NQ(r, e.version);
    });
    if (s.length === 0) {
      if (t.ignoreUnknownVersions)
        return [];
      throw new ra(
        "Unknown version " + e.version + " of Node.js"
      );
    }
    return ["node " + s[s.length - 1]];
  }
  n(A_, "nodeQuery");
  function v_(t, e) {
    var s = parseInt(e.year), r = parseInt(e.month || "01") - 1, i = parseInt(e.day || "01");
    return DQ(Date.UTC(s, r, i, 0, 0, 0), t);
  }
  n(v_, "sinceQuery");
  function wQ(t, e) {
    var s = parseFloat(e.coverage), r = xt.usage.global;
    if (e.place)
      if (e.place.match(/^my\s+stats$/i)) {
        if (!t.customUsage)
          throw new ra("Custom usage statistics was not provided");
        r = t.customUsage;
      } else {
        var i;
        e.place.length === 2 ? i = e.place.toUpperCase() : i = e.place.toLowerCase(), Fi.loadCountry(xt.usage, i, xt.data), r = xt.usage[i];
      }
    for (var a = Object.keys(r).sort(function(p, h) {
      return r[h] - r[p];
    }), o = 0, l = [], u, c = 0; c < a.length && (u = a[c], !(r[u] === 0 || (o += r[u], l.push(u), o >= s))); c++)
      ;
    return l;
  }
  n(wQ, "coverQuery");
  var I_ = {
    last_major_versions: {
      matches: ["versions"],
      regexp: /^last\s+(\d+)\s+major\s+versions?$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        return Object.keys(Au).reduce(function(s, r) {
          var i = ap(r, t);
          if (!i) return s;
          var a = kP(i.released, e.versions);
          return a = a.map(ip(i.name)), a = OP(a, i.name, e.versions, t), s.concat(a);
        }, []);
      }, "select")
    },
    last_versions: {
      matches: ["versions"],
      regexp: /^last\s+(\d+)\s+versions?$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        return Object.keys(Au).reduce(function(s, r) {
          var i = ap(r, t);
          if (!i) return s;
          var a = i.released.slice(-e.versions);
          return a = a.map(ip(i.name)), a = OP(a, i.name, e.versions, t), s.concat(a);
        }, []);
      }, "select")
    },
    last_electron_major_versions: {
      matches: ["versions"],
      regexp: /^last\s+(\d+)\s+electron\s+major\s+versions?$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        var s = kP(Object.keys(wo), e.versions);
        return s.map(function(r) {
          return "chrome " + wo[r];
        });
      }, "select")
    },
    last_node_major_versions: {
      matches: ["versions"],
      regexp: /^last\s+(\d+)\s+node\s+major\s+versions?$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        return kP(xt.nodeVersions, e.versions).map(
          function(s) {
            return "node " + s;
          }
        );
      }, "select")
    },
    last_browser_major_versions: {
      matches: ["versions", "browser"],
      regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        var s = rm(e.browser, t), r = kP(s.released, e.versions), i = r.map(ip(s.name));
        return i = OP(i, s.name, e.versions, t), i;
      }, "select")
    },
    last_electron_versions: {
      matches: ["versions"],
      regexp: /^last\s+(\d+)\s+electron\s+versions?$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        return Object.keys(wo).slice(-e.versions).map(function(s) {
          return "chrome " + wo[s];
        });
      }, "select")
    },
    last_node_versions: {
      matches: ["versions"],
      regexp: /^last\s+(\d+)\s+node\s+versions?$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        return xt.nodeVersions.slice(-e.versions).map(function(s) {
          return "node " + s;
        });
      }, "select")
    },
    last_browser_versions: {
      matches: ["versions", "browser"],
      regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        var s = rm(e.browser, t), r = s.released.slice(-e.versions).map(ip(s.name));
        return r = OP(r, s.name, e.versions, t), r;
      }, "select")
    },
    unreleased_versions: {
      matches: [],
      regexp: /^unreleased\s+versions$/i,
      select: /* @__PURE__ */ n(function(t) {
        return Object.keys(Au).reduce(function(e, s) {
          var r = ap(s, t);
          if (!r) return e;
          var i = r.versions.filter(function(a) {
            return r.released.indexOf(a) === -1;
          });
          return i = i.map(ip(r.name)), e.concat(i);
        }, []);
      }, "select")
    },
    unreleased_electron_versions: {
      matches: [],
      regexp: /^unreleased\s+electron\s+versions?$/i,
      select: /* @__PURE__ */ n(function() {
        return [];
      }, "select")
    },
    unreleased_browser_versions: {
      matches: ["browser"],
      regexp: /^unreleased\s+(\w+)\s+versions?$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        var s = rm(e.browser, t);
        return s.versions.filter(function(r) {
          return s.released.indexOf(r) === -1;
        }).map(ip(s.name));
      }, "select")
    },
    last_years: {
      matches: ["years"],
      regexp: /^last\s+(\d*.?\d+)\s+years?$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        return DQ(Date.now() - tpt * e.years, t);
      }, "select")
    },
    since_y: {
      matches: ["year"],
      regexp: /^since (\d+)$/i,
      select: v_
    },
    since_y_m: {
      matches: ["year", "month"],
      regexp: /^since (\d+)-(\d+)$/i,
      select: v_
    },
    since_y_m_d: {
      matches: ["year", "month", "day"],
      regexp: /^since (\d+)-(\d+)-(\d+)$/i,
      select: v_
    },
    popularity: {
      matches: ["sign", "popularity"],
      regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/,
      select: /* @__PURE__ */ n(function(t, e) {
        var s = parseFloat(e.popularity), r = xt.usage.global;
        return Object.keys(r).reduce(function(i, a) {
          return e.sign === ">" ? r[a] > s && i.push(a) : e.sign === "<" ? r[a] < s && i.push(a) : e.sign === "<=" ? r[a] <= s && i.push(a) :
          r[a] >= s && i.push(a), i;
        }, []);
      }, "select")
    },
    popularity_in_my_stats: {
      matches: ["sign", "popularity"],
      regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+my\s+stats$/,
      select: /* @__PURE__ */ n(function(t, e) {
        var s = parseFloat(e.popularity);
        if (!t.customUsage)
          throw new ra("Custom usage statistics was not provided");
        var r = t.customUsage;
        return Object.keys(r).reduce(function(i, a) {
          var o = r[a];
          return o == null || (e.sign === ">" ? o > s && i.push(a) : e.sign === "<" ? o < s && i.push(a) : e.sign === "<=" ? o <= s && i.push(
          a) : o >= s && i.push(a)), i;
        }, []);
      }, "select")
    },
    popularity_in_config_stats: {
      matches: ["sign", "popularity", "config"],
      regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/,
      select: /* @__PURE__ */ n(function(t, e) {
        var s = parseFloat(e.popularity), r = Fi.loadStat(t, e.config, xt.data);
        if (r) {
          t.customUsage = {};
          for (var i in r)
            BP(t.customUsage, i, r[i]);
        }
        if (!t.customUsage)
          throw new ra("Custom usage statistics was not provided");
        var a = t.customUsage;
        return Object.keys(a).reduce(function(o, l) {
          var u = a[l];
          return u == null || (e.sign === ">" ? u > s && o.push(l) : e.sign === "<" ? u < s && o.push(l) : e.sign === "<=" ? u <= s && o.push(
          l) : u >= s && o.push(l)), o;
        }, []);
      }, "select")
    },
    popularity_in_place: {
      matches: ["sign", "popularity", "place"],
      regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+((alt-)?\w\w)$/,
      select: /* @__PURE__ */ n(function(t, e) {
        var s = parseFloat(e.popularity), r = e.place;
        r.length === 2 ? r = r.toUpperCase() : r = r.toLowerCase(), Fi.loadCountry(xt.usage, r, xt.data);
        var i = xt.usage[r];
        return Object.keys(i).reduce(function(a, o) {
          var l = i[o];
          return l == null || (e.sign === ">" ? l > s && a.push(o) : e.sign === "<" ? l < s && a.push(o) : e.sign === "<=" ? l <= s && a.push(
          o) : l >= s && a.push(o)), a;
        }, []);
      }, "select")
    },
    cover: {
      matches: ["coverage"],
      regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%$/i,
      select: wQ
    },
    cover_in: {
      matches: ["coverage", "place"],
      regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/i,
      select: wQ
    },
    supports: {
      matches: ["supportType", "feature"],
      regexp: /^(?:(fully|partially)\s+)?supports\s+([\w-]+)$/,
      select: /* @__PURE__ */ n(function(t, e) {
        Fi.loadFeature(xt.cache, e.feature);
        var s = e.supportType !== "fully", r = xt.cache[e.feature], i = [];
        for (var a in r) {
          for (var o = ap(a, t), l = o.released.length - 1; l >= 0 && !(o.released[l] in r[a]); )
            l--;
          var u = t.mobileToDesktop && a in xt.desktopNames && CQ(r[a][o.released[l]], s);
          o.versions.forEach(function(c) {
            var p = r[a][c];
            p === void 0 && u && (p = r[xt.desktopNames[a]][c]), CQ(p, s) && i.push(a + " " + c);
          });
        }
        return i;
      }, "select")
    },
    electron_range: {
      matches: ["from", "to"],
      regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        var s = NP(e.from), r = NP(e.to), i = parseFloat(e.from), a = parseFloat(e.to);
        if (!wo[s])
          throw new ra("Unknown version " + i + " of electron");
        if (!wo[r])
          throw new ra("Unknown version " + a + " of electron");
        return Object.keys(wo).filter(function(o) {
          var l = parseFloat(o);
          return l >= i && l <= a;
        }).map(function(o) {
          return "chrome " + wo[o];
        });
      }, "select")
    },
    node_range: {
      matches: ["from", "to"],
      regexp: /^node\s+([\d.]+)\s*-\s*([\d.]+)$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        return xt.nodeVersions.filter(PQ(">=", e.from)).filter(PQ("<=", e.to)).map(function(s) {
          return "node " + s;
        });
      }, "select")
    },
    browser_range: {
      matches: ["browser", "from", "to"],
      regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        var s = rm(e.browser, t), r = parseFloat(DP(s, e.from) || e.from), i = parseFloat(DP(s, e.to) || e.to);
        function a(o) {
          var l = parseFloat(o);
          return l >= r && l <= i;
        }
        return n(a, "filter"), s.released.filter(a).map(ip(s.name));
      }, "select")
    },
    electron_ray: {
      matches: ["sign", "version"],
      regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        var s = NP(e.version);
        return Object.keys(wo).filter(SQ(e.sign, s)).map(function(r) {
          return "chrome " + wo[r];
        });
      }, "select")
    },
    node_ray: {
      matches: ["sign", "version"],
      regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        return xt.nodeVersions.filter(ipt(e.sign, e.version)).map(function(s) {
          return "node " + s;
        });
      }, "select")
    },
    browser_ray: {
      matches: ["browser", "sign", "version"],
      regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/,
      select: /* @__PURE__ */ n(function(t, e) {
        var s = e.version, r = rm(e.browser, t), i = xt.versionAliases[r.name][s];
        return i && (s = i), r.released.filter(SQ(e.sign, s)).map(function(a) {
          return r.name + " " + a;
        });
      }, "select")
    },
    firefox_esr: {
      matches: [],
      regexp: /^(firefox|ff|fx)\s+esr$/i,
      select: /* @__PURE__ */ n(function() {
        return ["firefox 128"];
      }, "select")
    },
    opera_mini_all: {
      matches: [],
      regexp: /(operamini|op_mini)\s+all/i,
      select: /* @__PURE__ */ n(function() {
        return ["op_mini all"];
      }, "select")
    },
    electron_version: {
      matches: ["version"],
      regexp: /^electron\s+([\d.]+)$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        var s = NP(e.version), r = wo[s];
        if (!r)
          throw new ra(
            "Unknown version " + e.version + " of electron"
          );
        return ["chrome " + r];
      }, "select")
    },
    node_major_version: {
      matches: ["version"],
      regexp: /^node\s+(\d+)$/i,
      select: A_
    },
    node_minor_version: {
      matches: ["version"],
      regexp: /^node\s+(\d+\.\d+)$/i,
      select: A_
    },
    node_patch_version: {
      matches: ["version"],
      regexp: /^node\s+(\d+\.\d+\.\d+)$/i,
      select: A_
    },
    current_node: {
      matches: [],
      regexp: /^current\s+node$/i,
      select: /* @__PURE__ */ n(function(t) {
        return [Fi.currentNode(im, t)];
      }, "select")
    },
    maintained_node: {
      matches: [],
      regexp: /^maintained\s+node\s+versions$/i,
      select: /* @__PURE__ */ n(function(t) {
        var e = Date.now(), s = Object.keys(S_).filter(function(r) {
          return e < Date.parse(S_[r].end) && e > Date.parse(S_[r].start) && rpt(r);
        }).map(function(r) {
          return "node " + r.slice(1);
        });
        return im(s, t);
      }, "select")
    },
    phantomjs_1_9: {
      matches: [],
      regexp: /^phantomjs\s+1.9$/i,
      select: /* @__PURE__ */ n(function() {
        return ["safari 5"];
      }, "select")
    },
    phantomjs_2_1: {
      matches: [],
      regexp: /^phantomjs\s+2.1$/i,
      select: /* @__PURE__ */ n(function() {
        return ["safari 6"];
      }, "select")
    },
    browser_version: {
      matches: ["browser", "version"],
      regexp: /^(\w+)\s+(tp|[\d.]+)$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        var s = e.version;
        /^tp$/i.test(s) && (s = "TP");
        var r = rm(e.browser, t), i = DP(r, s);
        if (i)
          s = i;
        else if (s.indexOf(".") === -1 ? i = s + ".0" : i = s.replace(/\.0$/, ""), i = DP(r, i), i)
          s = i;
        else {
          if (t.ignoreUnknownVersions)
            return [];
          throw new ra(
            "Unknown version " + s + " of " + e.browser
          );
        }
        return [r.name + " " + s];
      }, "select")
    },
    browserslist_config: {
      matches: [],
      regexp: /^browserslist config$/i,
      needsPath: !0,
      select: /* @__PURE__ */ n(function(t) {
        return xt(void 0, t);
      }, "select")
    },
    extends: {
      matches: ["config"],
      regexp: /^extends (.+)$/i,
      needsPath: !0,
      select: /* @__PURE__ */ n(function(t, e) {
        return im(Fi.loadQueries(t, e.config), t);
      }, "select")
    },
    defaults: {
      matches: [],
      regexp: /^defaults$/i,
      select: /* @__PURE__ */ n(function(t) {
        return im(xt.defaults, t);
      }, "select")
    },
    dead: {
      matches: [],
      regexp: /^dead$/i,
      select: /* @__PURE__ */ n(function(t) {
        var e = [
          "Baidu >= 0",
          "ie <= 11",
          "ie_mob <= 11",
          "bb <= 10",
          "op_mob <= 12.1",
          "samsung 4"
        ];
        return im(e, t);
      }, "select")
    },
    unknown: {
      matches: [],
      regexp: /^(\w+)$/i,
      select: /* @__PURE__ */ n(function(t, e) {
        throw ap(e.query, t) ? new ra(
          "Specify versions in Browserslist query for browser " + e.query
        ) : lpt(e.query);
      }, "select")
    }
  };
  (function() {
    for (var t in Au) {
      var e = Au[t];
      xt.data[t] = {
        name: t,
        versions: xQ(Au[t].versions),
        released: xQ(Au[t].versions.slice(0, -3)),
        releaseDate: Au[t].release_date
      }, BP(xt.usage.global, t, e.usage_global), xt.versionAliases[t] = {};
      for (var s = 0; s < e.versions.length; s++) {
        var r = e.versions[s];
        if (r && r.indexOf("-") !== -1)
          for (var i = r.split("-"), a = 0; a < i.length; a++)
            xt.versionAliases[t][i[a]] = r;
      }
    }
    xt.nodeVersions = Zct.map(function(o) {
      return o.version;
    });
  })();
  BQ.exports = xt;
});

// ../node_modules/@babel/helper-validator-option/lib/find-suggestion.js
var k_ = g((N_) => {
  "use strict";
  Object.defineProperty(N_, "__esModule", {
    value: !0
  });
  N_.findSuggestion = cpt;
  var {
    min: FQ
  } = Math;
  function upt(t, e) {
    let s = [], r = [], i, a, o = t.length, l = e.length;
    if (!o)
      return l;
    if (!l)
      return o;
    for (a = 0; a <= l; a++)
      s[a] = a;
    for (i = 1; i <= o; i++) {
      for (r = [i], a = 1; a <= l; a++)
        r[a] = t[i - 1] === e[a - 1] ? s[a - 1] : FQ(s[a - 1], s[a], r[a - 1]) + 1;
      s = r;
    }
    return r[l];
  }
  n(upt, "levenshtein");
  function cpt(t, e) {
    let s = e.map((r) => upt(r, t));
    return e[s.indexOf(FQ(...s))];
  }
  n(cpt, "findSuggestion");
});

// ../node_modules/@babel/helper-validator-option/lib/validator.js
var jQ = g((MP) => {
  "use strict";
  Object.defineProperty(MP, "__esModule", {
    value: !0
  });
  MP.OptionValidator = void 0;
  var ppt = k_(), D_ = class {
    static {
      n(this, "OptionValidator");
    }
    constructor(e) {
      this.descriptor = e;
    }
    validateTopLevelOptions(e, s) {
      let r = Object.keys(s);
      for (let i of Object.keys(e))
        if (!r.includes(i))
          throw new Error(this.formatMessage(`'${i}' is not a valid top-level option.
- Did you mean '${(0, ppt.findSuggestion)(i, r)}'?`));
    }
    validateBooleanOption(e, s, r) {
      return s === void 0 ? r : (this.invariant(typeof s == "boolean", `'${e}' option must be a boolean.`), s);
    }
    validateStringOption(e, s, r) {
      return s === void 0 ? r : (this.invariant(typeof s == "string", `'${e}' option must be a string.`), s);
    }
    invariant(e, s) {
      if (!e)
        throw new Error(this.formatMessage(s));
    }
    formatMessage(e) {
      return `${this.descriptor}: ${e}`;
    }
  };
  MP.OptionValidator = D_;
});

// ../node_modules/@babel/helper-validator-option/lib/index.js
var jP = g((FP) => {
  "use strict";
  Object.defineProperty(FP, "__esModule", {
    value: !0
  });
  Object.defineProperty(FP, "OptionValidator", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return hpt.OptionValidator;
    }, "get")
  });
  Object.defineProperty(FP, "findSuggestion", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return fpt.findSuggestion;
    }, "get")
  });
  var hpt = jQ(), fpt = k_();
});

// ../node_modules/@babel/compat-data/data/native-modules.json
var RQ = g((aWs, dpt) => {
  dpt.exports = {
    "es6.module": {
      chrome: "61",
      and_chr: "61",
      edge: "16",
      firefox: "60",
      and_ff: "60",
      node: "13.2.0",
      opera: "48",
      op_mob: "45",
      safari: "10.1",
      ios: "10.3",
      samsung: "8.2",
      android: "61",
      electron: "2.0",
      ios_saf: "10.3"
    }
  };
});

// ../node_modules/@babel/compat-data/native-modules.js
var UQ = g((oWs, qQ) => {
  qQ.exports = RQ();
});

// ../node_modules/@babel/helper-compilation-targets/node_modules/yallist/iterator.js
var VQ = g((lWs, KQ) => {
  "use strict";
  KQ.exports = function(t) {
    t.prototype[Symbol.iterator] = function* () {
      for (let e = this.head; e; e = e.next)
        yield e.value;
    };
  };
});

// ../node_modules/@babel/helper-compilation-targets/node_modules/yallist/yallist.js
var $Q = g((uWs, WQ) => {
  "use strict";
  WQ.exports = Gs;
  Gs.Node = Vh;
  Gs.create = Gs;
  function Gs(t) {
    var e = this;
    if (e instanceof Gs || (e = new Gs()), e.tail = null, e.head = null, e.length = 0, t && typeof t.forEach == "function")
      t.forEach(function(i) {
        e.push(i);
      });
    else if (arguments.length > 0)
      for (var s = 0, r = arguments.length; s < r; s++)
        e.push(arguments[s]);
    return e;
  }
  n(Gs, "Yallist");
  Gs.prototype.removeNode = function(t) {
    if (t.list !== this)
      throw new Error("removing node which does not belong to this list");
    var e = t.next, s = t.prev;
    return e && (e.prev = s), s && (s.next = e), t === this.head && (this.head = e), t === this.tail && (this.tail = s), t.list.length--, t.
    next = null, t.prev = null, t.list = null, e;
  };
  Gs.prototype.unshiftNode = function(t) {
    if (t !== this.head) {
      t.list && t.list.removeNode(t);
      var e = this.head;
      t.list = this, t.next = e, e && (e.prev = t), this.head = t, this.tail || (this.tail = t), this.length++;
    }
  };
  Gs.prototype.pushNode = function(t) {
    if (t !== this.tail) {
      t.list && t.list.removeNode(t);
      var e = this.tail;
      t.list = this, t.prev = e, e && (e.next = t), this.tail = t, this.head || (this.head = t), this.length++;
    }
  };
  Gs.prototype.push = function() {
    for (var t = 0, e = arguments.length; t < e; t++)
      ypt(this, arguments[t]);
    return this.length;
  };
  Gs.prototype.unshift = function() {
    for (var t = 0, e = arguments.length; t < e; t++)
      gpt(this, arguments[t]);
    return this.length;
  };
  Gs.prototype.pop = function() {
    if (this.tail) {
      var t = this.tail.value;
      return this.tail = this.tail.prev, this.tail ? this.tail.next = null : this.head = null, this.length--, t;
    }
  };
  Gs.prototype.shift = function() {
    if (this.head) {
      var t = this.head.value;
      return this.head = this.head.next, this.head ? this.head.prev = null : this.tail = null, this.length--, t;
    }
  };
  Gs.prototype.forEach = function(t, e) {
    e = e || this;
    for (var s = this.head, r = 0; s !== null; r++)
      t.call(e, s.value, r, this), s = s.next;
  };
  Gs.prototype.forEachReverse = function(t, e) {
    e = e || this;
    for (var s = this.tail, r = this.length - 1; s !== null; r--)
      t.call(e, s.value, r, this), s = s.prev;
  };
  Gs.prototype.get = function(t) {
    for (var e = 0, s = this.head; s !== null && e < t; e++)
      s = s.next;
    if (e === t && s !== null)
      return s.value;
  };
  Gs.prototype.getReverse = function(t) {
    for (var e = 0, s = this.tail; s !== null && e < t; e++)
      s = s.prev;
    if (e === t && s !== null)
      return s.value;
  };
  Gs.prototype.map = function(t, e) {
    e = e || this;
    for (var s = new Gs(), r = this.head; r !== null; )
      s.push(t.call(e, r.value, this)), r = r.next;
    return s;
  };
  Gs.prototype.mapReverse = function(t, e) {
    e = e || this;
    for (var s = new Gs(), r = this.tail; r !== null; )
      s.push(t.call(e, r.value, this)), r = r.prev;
    return s;
  };
  Gs.prototype.reduce = function(t, e) {
    var s, r = this.head;
    if (arguments.length > 1)
      s = e;
    else if (this.head)
      r = this.head.next, s = this.head.value;
    else
      throw new TypeError("Reduce of empty list with no initial value");
    for (var i = 0; r !== null; i++)
      s = t(s, r.value, i), r = r.next;
    return s;
  };
  Gs.prototype.reduceReverse = function(t, e) {
    var s, r = this.tail;
    if (arguments.length > 1)
      s = e;
    else if (this.tail)
      r = this.tail.prev, s = this.tail.value;
    else
      throw new TypeError("Reduce of empty list with no initial value");
    for (var i = this.length - 1; r !== null; i--)
      s = t(s, r.value, i), r = r.prev;
    return s;
  };
  Gs.prototype.toArray = function() {
    for (var t = new Array(this.length), e = 0, s = this.head; s !== null; e++)
      t[e] = s.value, s = s.next;
    return t;
  };
  Gs.prototype.toArrayReverse = function() {
    for (var t = new Array(this.length), e = 0, s = this.tail; s !== null; e++)
      t[e] = s.value, s = s.prev;
    return t;
  };
  Gs.prototype.slice = function(t, e) {
    e = e || this.length, e < 0 && (e += this.length), t = t || 0, t < 0 && (t += this.length);
    var s = new Gs();
    if (e < t || e < 0)
      return s;
    t < 0 && (t = 0), e > this.length && (e = this.length);
    for (var r = 0, i = this.head; i !== null && r < t; r++)
      i = i.next;
    for (; i !== null && r < e; r++, i = i.next)
      s.push(i.value);
    return s;
  };
  Gs.prototype.sliceReverse = function(t, e) {
    e = e || this.length, e < 0 && (e += this.length), t = t || 0, t < 0 && (t += this.length);
    var s = new Gs();
    if (e < t || e < 0)
      return s;
    t < 0 && (t = 0), e > this.length && (e = this.length);
    for (var r = this.length, i = this.tail; i !== null && r > e; r--)
      i = i.prev;
    for (; i !== null && r > t; r--, i = i.prev)
      s.push(i.value);
    return s;
  };
  Gs.prototype.splice = function(t, e) {
    t > this.length && (t = this.length - 1), t < 0 && (t = this.length + t);
    for (var s = 0, r = this.head; r !== null && s < t; s++)
      r = r.next;
    for (var i = [], s = 0; r && s < e; s++)
      i.push(r.value), r = this.removeNode(r);
    r === null && (r = this.tail), r !== this.head && r !== this.tail && (r = r.prev);
    for (var s = 2; s < arguments.length; s++)
      r = mpt(this, r, arguments[s]);
    return i;
  };
  Gs.prototype.reverse = function() {
    for (var t = this.head, e = this.tail, s = t; s !== null; s = s.prev) {
      var r = s.prev;
      s.prev = s.next, s.next = r;
    }
    return this.head = e, this.tail = t, this;
  };
  function mpt(t, e, s) {
    var r = e === t.head ? new Vh(s, null, e, t) : new Vh(s, e, e.next, t);
    return r.next === null && (t.tail = r), r.prev === null && (t.head = r), t.length++, r;
  }
  n(mpt, "insert");
  function ypt(t, e) {
    t.tail = new Vh(e, t.tail, null, t), t.head || (t.head = t.tail), t.length++;
  }
  n(ypt, "push");
  function gpt(t, e) {
    t.head = new Vh(e, null, t.head, t), t.tail || (t.tail = t.head), t.length++;
  }
  n(gpt, "unshift");
  function Vh(t, e, s, r) {
    if (!(this instanceof Vh))
      return new Vh(t, e, s, r);
    this.list = r, this.value = t, e ? (e.next = this, this.prev = e) : this.prev = null, s ? (s.prev = this, this.next = s) : this.next = null;
  }
  n(Vh, "Node");
  try {
    VQ()(Gs);
  } catch {
  }
});

// ../node_modules/@babel/helper-compilation-targets/node_modules/lru-cache/index.js
var zQ = g((pWs, XQ) => {
  "use strict";
  var Tpt = $Q(), Wh = Symbol("max"), Cu = Symbol("length"), nm = Symbol("lengthCalculator"), l0 = Symbol("allowStale"), $h = Symbol("maxAge"),
  vu = Symbol("dispose"), HQ = Symbol("noDisposeOnSet"), ji = Symbol("lruList"), Io = Symbol("cache"), YQ = Symbol("updateAgeOnGet"), O_ = /* @__PURE__ */ n(
  () => 1, "naiveLength"), L_ = class {
    static {
      n(this, "LRUCache");
    }
    constructor(e) {
      if (typeof e == "number" && (e = { max: e }), e || (e = {}), e.max && (typeof e.max != "number" || e.max < 0))
        throw new TypeError("max must be a non-negative number");
      let s = this[Wh] = e.max || 1 / 0, r = e.length || O_;
      if (this[nm] = typeof r != "function" ? O_ : r, this[l0] = e.stale || !1, e.maxAge && typeof e.maxAge != "number")
        throw new TypeError("maxAge must be a number");
      this[$h] = e.maxAge || 0, this[vu] = e.dispose, this[HQ] = e.noDisposeOnSet || !1, this[YQ] = e.updateAgeOnGet || !1, this.reset();
    }
    // resize the cache when the max changes.
    set max(e) {
      if (typeof e != "number" || e < 0)
        throw new TypeError("max must be a non-negative number");
      this[Wh] = e || 1 / 0, o0(this);
    }
    get max() {
      return this[Wh];
    }
    set allowStale(e) {
      this[l0] = !!e;
    }
    get allowStale() {
      return this[l0];
    }
    set maxAge(e) {
      if (typeof e != "number")
        throw new TypeError("maxAge must be a non-negative number");
      this[$h] = e, o0(this);
    }
    get maxAge() {
      return this[$h];
    }
    // resize the cache when the lengthCalculator changes.
    set lengthCalculator(e) {
      typeof e != "function" && (e = O_), e !== this[nm] && (this[nm] = e, this[Cu] = 0, this[ji].forEach((s) => {
        s.length = this[nm](s.value, s.key), this[Cu] += s.length;
      })), o0(this);
    }
    get lengthCalculator() {
      return this[nm];
    }
    get length() {
      return this[Cu];
    }
    get itemCount() {
      return this[ji].length;
    }
    rforEach(e, s) {
      s = s || this;
      for (let r = this[ji].tail; r !== null; ) {
        let i = r.prev;
        JQ(this, e, r, s), r = i;
      }
    }
    forEach(e, s) {
      s = s || this;
      for (let r = this[ji].head; r !== null; ) {
        let i = r.next;
        JQ(this, e, r, s), r = i;
      }
    }
    keys() {
      return this[ji].toArray().map((e) => e.key);
    }
    values() {
      return this[ji].toArray().map((e) => e.value);
    }
    reset() {
      this[vu] && this[ji] && this[ji].length && this[ji].forEach((e) => this[vu](e.key, e.value)), this[Io] = /* @__PURE__ */ new Map(), this[ji] =
      new Tpt(), this[Cu] = 0;
    }
    dump() {
      return this[ji].map((e) => RP(this, e) ? !1 : {
        k: e.key,
        v: e.value,
        e: e.now + (e.maxAge || 0)
      }).toArray().filter((e) => e);
    }
    dumpLru() {
      return this[ji];
    }
    set(e, s, r) {
      if (r = r || this[$h], r && typeof r != "number")
        throw new TypeError("maxAge must be a number");
      let i = r ? Date.now() : 0, a = this[nm](s, e);
      if (this[Io].has(e)) {
        if (a > this[Wh])
          return am(this, this[Io].get(e)), !1;
        let u = this[Io].get(e).value;
        return this[vu] && (this[HQ] || this[vu](e, u.value)), u.now = i, u.maxAge = r, u.value = s, this[Cu] += a - u.length, u.length = a,
        this.get(e), o0(this), !0;
      }
      let o = new B_(e, s, a, i, r);
      return o.length > this[Wh] ? (this[vu] && this[vu](e, s), !1) : (this[Cu] += o.length, this[ji].unshift(o), this[Io].set(e, this[ji].head),
      o0(this), !0);
    }
    has(e) {
      if (!this[Io].has(e)) return !1;
      let s = this[Io].get(e).value;
      return !RP(this, s);
    }
    get(e) {
      return __(this, e, !0);
    }
    peek(e) {
      return __(this, e, !1);
    }
    pop() {
      let e = this[ji].tail;
      return e ? (am(this, e), e.value) : null;
    }
    del(e) {
      am(this, this[Io].get(e));
    }
    load(e) {
      this.reset();
      let s = Date.now();
      for (let r = e.length - 1; r >= 0; r--) {
        let i = e[r], a = i.e || 0;
        if (a === 0)
          this.set(i.k, i.v);
        else {
          let o = a - s;
          o > 0 && this.set(i.k, i.v, o);
        }
      }
    }
    prune() {
      this[Io].forEach((e, s) => __(this, s, !1));
    }
  }, __ = /* @__PURE__ */ n((t, e, s) => {
    let r = t[Io].get(e);
    if (r) {
      let i = r.value;
      if (RP(t, i)) {
        if (am(t, r), !t[l0])
          return;
      } else
        s && (t[YQ] && (r.value.now = Date.now()), t[ji].unshiftNode(r));
      return i.value;
    }
  }, "get"), RP = /* @__PURE__ */ n((t, e) => {
    if (!e || !e.maxAge && !t[$h])
      return !1;
    let s = Date.now() - e.now;
    return e.maxAge ? s > e.maxAge : t[$h] && s > t[$h];
  }, "isStale"), o0 = /* @__PURE__ */ n((t) => {
    if (t[Cu] > t[Wh])
      for (let e = t[ji].tail; t[Cu] > t[Wh] && e !== null; ) {
        let s = e.prev;
        am(t, e), e = s;
      }
  }, "trim"), am = /* @__PURE__ */ n((t, e) => {
    if (e) {
      let s = e.value;
      t[vu] && t[vu](s.key, s.value), t[Cu] -= s.length, t[Io].delete(s.key), t[ji].removeNode(e);
    }
  }, "del"), B_ = class {
    static {
      n(this, "Entry");
    }
    constructor(e, s, r, i, a) {
      this.key = e, this.value = s, this.length = r, this.now = i, this.maxAge = a || 0;
    }
  }, JQ = /* @__PURE__ */ n((t, e, s, r) => {
    let i = s.value;
    RP(t, i) && (am(t, s), t[l0] || (i = void 0)), i && e.call(r, i.value, i.key, t);
  }, "forEachStep");
  XQ.exports = L_;
});

// ../node_modules/@babel/helper-compilation-targets/lib/targets.js
var qP = g((om) => {
  "use strict";
  Object.defineProperty(om, "__esModule", {
    value: !0
  });
  om.unreleasedLabels = om.browserNameMap = void 0;
  var fWs = om.unreleasedLabels = {
    safari: "tp"
  }, dWs = om.browserNameMap = {
    and_chr: "chrome",
    and_ff: "firefox",
    android: "android",
    chrome: "chrome",
    edge: "edge",
    firefox: "firefox",
    ie: "ie",
    ie_mob: "ie",
    ios_saf: "ios",
    node: "node",
    deno: "deno",
    op_mob: "opera_mobile",
    opera: "opera",
    safari: "safari",
    samsung: "samsung"
  };
});

// ../node_modules/@babel/helper-compilation-targets/lib/utils.js
var UP = g((op) => {
  "use strict";
  Object.defineProperty(op, "__esModule", {
    value: !0
  });
  op.getHighestUnreleased = Apt;
  op.getLowestImplementedVersion = vpt;
  op.getLowestUnreleased = eZ;
  op.isUnreleasedVersion = Ept;
  op.semverMin = ZQ;
  op.semverify = Ppt;
  var GQ = require("semver"), bpt = jP(), QQ = qP(), xpt = /^(?:\d+|\d(?:\d?[^\d\n\r\u2028\u2029]\d+|\d{2,}(?:[^\d\n\r\u2028\u2029]\d+)?))$/,
  Spt = new bpt.OptionValidator("@babel/helper-compilation-targets");
  function ZQ(t, e) {
    return t && GQ.lt(t, e) ? t : e;
  }
  n(ZQ, "semverMin");
  function Ppt(t) {
    if (typeof t == "string" && GQ.valid(t))
      return t;
    Spt.invariant(typeof t == "number" || typeof t == "string" && xpt.test(t), `'${t}' is not a valid version`), t = t.toString();
    let e = 0, s = 0;
    for (; (e = t.indexOf(".", e + 1)) > 0; )
      s++;
    return t + ".0".repeat(2 - s);
  }
  n(Ppt, "semverify");
  function Ept(t, e) {
    let s = QQ.unreleasedLabels[e];
    return !!s && s === t.toString().toLowerCase();
  }
  n(Ept, "isUnreleasedVersion");
  function eZ(t, e, s) {
    let r = QQ.unreleasedLabels[s];
    return t === r ? e : e === r ? t : ZQ(t, e);
  }
  n(eZ, "getLowestUnreleased");
  function Apt(t, e, s) {
    return eZ(t, e, s) === t ? e : t;
  }
  n(Apt, "getHighestUnreleased");
  function vpt(t, e) {
    let s = t[e];
    return !s && e === "android" ? t.chrome : s;
  }
  n(vpt, "getLowestImplementedVersion");
});

// ../node_modules/@babel/helper-compilation-targets/lib/options.js
var tZ = g((KP) => {
  "use strict";
  Object.defineProperty(KP, "__esModule", {
    value: !0
  });
  KP.TargetNames = void 0;
  var TWs = KP.TargetNames = {
    node: "node",
    deno: "deno",
    chrome: "chrome",
    opera: "opera",
    edge: "edge",
    firefox: "firefox",
    safari: "safari",
    ie: "ie",
    ios: "ios",
    android: "android",
    electron: "electron",
    samsung: "samsung",
    rhino: "rhino",
    opera_mobile: "opera_mobile"
  };
});

// ../node_modules/@babel/helper-compilation-targets/lib/pretty.js
var M_ = g((VP) => {
  "use strict";
  Object.defineProperty(VP, "__esModule", {
    value: !0
  });
  VP.prettifyTargets = Ipt;
  VP.prettifyVersion = sZ;
  var Cpt = require("semver"), wpt = qP();
  function sZ(t) {
    if (typeof t != "string")
      return t;
    let {
      major: e,
      minor: s,
      patch: r
    } = Cpt.parse(t), i = [e];
    return (s || r) && i.push(s), r && i.push(r), i.join(".");
  }
  n(sZ, "prettifyVersion");
  function Ipt(t) {
    return Object.keys(t).reduce((e, s) => {
      let r = t[s], i = wpt.unreleasedLabels[s];
      return typeof r == "string" && i !== r && (r = sZ(r)), e[s] = r, e;
    }, {});
  }
  n(Ipt, "prettifyTargets");
});

// ../node_modules/@babel/helper-compilation-targets/lib/debug.js
var iZ = g((F_) => {
  "use strict";
  Object.defineProperty(F_, "__esModule", {
    value: !0
  });
  F_.getInclusionReasons = kpt;
  var Npt = require("semver"), rZ = M_(), WP = UP();
  function kpt(t, e, s) {
    let r = s[t] || {};
    return Object.keys(e).reduce((i, a) => {
      let o = (0, WP.getLowestImplementedVersion)(r, a), l = e[a];
      if (!o)
        i[a] = (0, rZ.prettifyVersion)(l);
      else {
        let u = (0, WP.isUnreleasedVersion)(o, a);
        !(0, WP.isUnreleasedVersion)(l, a) && (u || Npt.lt(l.toString(), (0, WP.semverify)(o))) && (i[a] = (0, rZ.prettifyVersion)(l));
      }
      return i;
    }, {});
  }
  n(kpt, "getInclusionReasons");
});

// ../node_modules/@babel/compat-data/data/plugins.json
var nZ = g((AWs, Dpt) => {
  Dpt.exports = {
    "transform-duplicate-named-capturing-groups-regex": {
      chrome: "126",
      opera: "112",
      edge: "126",
      firefox: "129",
      safari: "17.4",
      node: "23",
      ios: "17.4",
      electron: "31.0"
    },
    "transform-regexp-modifiers": {
      chrome: "125",
      opera: "111",
      edge: "125",
      firefox: "132",
      node: "23",
      electron: "31.0"
    },
    "transform-unicode-sets-regex": {
      chrome: "112",
      opera: "98",
      edge: "112",
      firefox: "116",
      safari: "17",
      node: "20",
      deno: "1.32",
      ios: "17",
      opera_mobile: "75",
      electron: "24.0"
    },
    "bugfix/transform-v8-static-class-fields-redefine-readonly": {
      chrome: "98",
      opera: "84",
      edge: "98",
      firefox: "75",
      safari: "15",
      node: "12",
      deno: "1.18",
      ios: "15",
      samsung: "11",
      opera_mobile: "52",
      electron: "17.0"
    },
    "bugfix/transform-firefox-class-in-computed-class-key": {
      chrome: "74",
      opera: "62",
      edge: "79",
      safari: "16",
      node: "12",
      deno: "1",
      ios: "16",
      samsung: "11",
      opera_mobile: "53",
      electron: "6.0"
    },
    "bugfix/transform-safari-class-field-initializer-scope": {
      chrome: "74",
      opera: "62",
      edge: "79",
      firefox: "69",
      safari: "16",
      node: "12",
      deno: "1",
      ios: "16",
      samsung: "11",
      opera_mobile: "53",
      electron: "6.0"
    },
    "transform-class-static-block": {
      chrome: "94",
      opera: "80",
      edge: "94",
      firefox: "93",
      safari: "16.4",
      node: "16.11",
      deno: "1.14",
      ios: "16.4",
      samsung: "17",
      opera_mobile: "66",
      electron: "15.0"
    },
    "proposal-class-static-block": {
      chrome: "94",
      opera: "80",
      edge: "94",
      firefox: "93",
      safari: "16.4",
      node: "16.11",
      deno: "1.14",
      ios: "16.4",
      samsung: "17",
      opera_mobile: "66",
      electron: "15.0"
    },
    "transform-private-property-in-object": {
      chrome: "91",
      opera: "77",
      edge: "91",
      firefox: "90",
      safari: "15",
      node: "16.9",
      deno: "1.9",
      ios: "15",
      samsung: "16",
      opera_mobile: "64",
      electron: "13.0"
    },
    "proposal-private-property-in-object": {
      chrome: "91",
      opera: "77",
      edge: "91",
      firefox: "90",
      safari: "15",
      node: "16.9",
      deno: "1.9",
      ios: "15",
      samsung: "16",
      opera_mobile: "64",
      electron: "13.0"
    },
    "transform-class-properties": {
      chrome: "74",
      opera: "62",
      edge: "79",
      firefox: "90",
      safari: "14.1",
      node: "12",
      deno: "1",
      ios: "14.5",
      samsung: "11",
      opera_mobile: "53",
      electron: "6.0"
    },
    "proposal-class-properties": {
      chrome: "74",
      opera: "62",
      edge: "79",
      firefox: "90",
      safari: "14.1",
      node: "12",
      deno: "1",
      ios: "14.5",
      samsung: "11",
      opera_mobile: "53",
      electron: "6.0"
    },
    "transform-private-methods": {
      chrome: "84",
      opera: "70",
      edge: "84",
      firefox: "90",
      safari: "15",
      node: "14.6",
      deno: "1",
      ios: "15",
      samsung: "14",
      opera_mobile: "60",
      electron: "10.0"
    },
    "proposal-private-methods": {
      chrome: "84",
      opera: "70",
      edge: "84",
      firefox: "90",
      safari: "15",
      node: "14.6",
      deno: "1",
      ios: "15",
      samsung: "14",
      opera_mobile: "60",
      electron: "10.0"
    },
    "transform-numeric-separator": {
      chrome: "75",
      opera: "62",
      edge: "79",
      firefox: "70",
      safari: "13",
      node: "12.5",
      deno: "1",
      ios: "13",
      samsung: "11",
      rhino: "1.7.14",
      opera_mobile: "54",
      electron: "6.0"
    },
    "proposal-numeric-separator": {
      chrome: "75",
      opera: "62",
      edge: "79",
      firefox: "70",
      safari: "13",
      node: "12.5",
      deno: "1",
      ios: "13",
      samsung: "11",
      rhino: "1.7.14",
      opera_mobile: "54",
      electron: "6.0"
    },
    "transform-logical-assignment-operators": {
      chrome: "85",
      opera: "71",
      edge: "85",
      firefox: "79",
      safari: "14",
      node: "15",
      deno: "1.2",
      ios: "14",
      samsung: "14",
      opera_mobile: "60",
      electron: "10.0"
    },
    "proposal-logical-assignment-operators": {
      chrome: "85",
      opera: "71",
      edge: "85",
      firefox: "79",
      safari: "14",
      node: "15",
      deno: "1.2",
      ios: "14",
      samsung: "14",
      opera_mobile: "60",
      electron: "10.0"
    },
    "transform-nullish-coalescing-operator": {
      chrome: "80",
      opera: "67",
      edge: "80",
      firefox: "72",
      safari: "13.1",
      node: "14",
      deno: "1",
      ios: "13.4",
      samsung: "13",
      opera_mobile: "57",
      electron: "8.0"
    },
    "proposal-nullish-coalescing-operator": {
      chrome: "80",
      opera: "67",
      edge: "80",
      firefox: "72",
      safari: "13.1",
      node: "14",
      deno: "1",
      ios: "13.4",
      samsung: "13",
      opera_mobile: "57",
      electron: "8.0"
    },
    "transform-optional-chaining": {
      chrome: "91",
      opera: "77",
      edge: "91",
      firefox: "74",
      safari: "13.1",
      node: "16.9",
      deno: "1.9",
      ios: "13.4",
      samsung: "16",
      opera_mobile: "64",
      electron: "13.0"
    },
    "proposal-optional-chaining": {
      chrome: "91",
      opera: "77",
      edge: "91",
      firefox: "74",
      safari: "13.1",
      node: "16.9",
      deno: "1.9",
      ios: "13.4",
      samsung: "16",
      opera_mobile: "64",
      electron: "13.0"
    },
    "transform-json-strings": {
      chrome: "66",
      opera: "53",
      edge: "79",
      firefox: "62",
      safari: "12",
      node: "10",
      deno: "1",
      ios: "12",
      samsung: "9",
      rhino: "1.7.14",
      opera_mobile: "47",
      electron: "3.0"
    },
    "proposal-json-strings": {
      chrome: "66",
      opera: "53",
      edge: "79",
      firefox: "62",
      safari: "12",
      node: "10",
      deno: "1",
      ios: "12",
      samsung: "9",
      rhino: "1.7.14",
      opera_mobile: "47",
      electron: "3.0"
    },
    "transform-optional-catch-binding": {
      chrome: "66",
      opera: "53",
      edge: "79",
      firefox: "58",
      safari: "11.1",
      node: "10",
      deno: "1",
      ios: "11.3",
      samsung: "9",
      opera_mobile: "47",
      electron: "3.0"
    },
    "proposal-optional-catch-binding": {
      chrome: "66",
      opera: "53",
      edge: "79",
      firefox: "58",
      safari: "11.1",
      node: "10",
      deno: "1",
      ios: "11.3",
      samsung: "9",
      opera_mobile: "47",
      electron: "3.0"
    },
    "transform-parameters": {
      chrome: "49",
      opera: "36",
      edge: "18",
      firefox: "53",
      safari: "16.3",
      node: "6",
      deno: "1",
      ios: "16.3",
      samsung: "5",
      opera_mobile: "36",
      electron: "0.37"
    },
    "transform-async-generator-functions": {
      chrome: "63",
      opera: "50",
      edge: "79",
      firefox: "57",
      safari: "12",
      node: "10",
      deno: "1",
      ios: "12",
      samsung: "8",
      opera_mobile: "46",
      electron: "3.0"
    },
    "proposal-async-generator-functions": {
      chrome: "63",
      opera: "50",
      edge: "79",
      firefox: "57",
      safari: "12",
      node: "10",
      deno: "1",
      ios: "12",
      samsung: "8",
      opera_mobile: "46",
      electron: "3.0"
    },
    "transform-object-rest-spread": {
      chrome: "60",
      opera: "47",
      edge: "79",
      firefox: "55",
      safari: "11.1",
      node: "8.3",
      deno: "1",
      ios: "11.3",
      samsung: "8",
      opera_mobile: "44",
      electron: "2.0"
    },
    "proposal-object-rest-spread": {
      chrome: "60",
      opera: "47",
      edge: "79",
      firefox: "55",
      safari: "11.1",
      node: "8.3",
      deno: "1",
      ios: "11.3",
      samsung: "8",
      opera_mobile: "44",
      electron: "2.0"
    },
    "transform-dotall-regex": {
      chrome: "62",
      opera: "49",
      edge: "79",
      firefox: "78",
      safari: "11.1",
      node: "8.10",
      deno: "1",
      ios: "11.3",
      samsung: "8",
      rhino: "1.7.15",
      opera_mobile: "46",
      electron: "3.0"
    },
    "transform-unicode-property-regex": {
      chrome: "64",
      opera: "51",
      edge: "79",
      firefox: "78",
      safari: "11.1",
      node: "10",
      deno: "1",
      ios: "11.3",
      samsung: "9",
      opera_mobile: "47",
      electron: "3.0"
    },
    "proposal-unicode-property-regex": {
      chrome: "64",
      opera: "51",
      edge: "79",
      firefox: "78",
      safari: "11.1",
      node: "10",
      deno: "1",
      ios: "11.3",
      samsung: "9",
      opera_mobile: "47",
      electron: "3.0"
    },
    "transform-named-capturing-groups-regex": {
      chrome: "64",
      opera: "51",
      edge: "79",
      firefox: "78",
      safari: "11.1",
      node: "10",
      deno: "1",
      ios: "11.3",
      samsung: "9",
      opera_mobile: "47",
      electron: "3.0"
    },
    "transform-async-to-generator": {
      chrome: "55",
      opera: "42",
      edge: "15",
      firefox: "52",
      safari: "11",
      node: "7.6",
      deno: "1",
      ios: "11",
      samsung: "6",
      opera_mobile: "42",
      electron: "1.6"
    },
    "transform-exponentiation-operator": {
      chrome: "52",
      opera: "39",
      edge: "14",
      firefox: "52",
      safari: "10.1",
      node: "7",
      deno: "1",
      ios: "10.3",
      samsung: "6",
      rhino: "1.7.14",
      opera_mobile: "41",
      electron: "1.3"
    },
    "transform-template-literals": {
      chrome: "41",
      opera: "28",
      edge: "13",
      firefox: "34",
      safari: "13",
      node: "4",
      deno: "1",
      ios: "13",
      samsung: "3.4",
      opera_mobile: "28",
      electron: "0.21"
    },
    "transform-literals": {
      chrome: "44",
      opera: "31",
      edge: "12",
      firefox: "53",
      safari: "9",
      node: "4",
      deno: "1",
      ios: "9",
      samsung: "4",
      rhino: "1.7.15",
      opera_mobile: "32",
      electron: "0.30"
    },
    "transform-function-name": {
      chrome: "51",
      opera: "38",
      edge: "79",
      firefox: "53",
      safari: "10",
      node: "6.5",
      deno: "1",
      ios: "10",
      samsung: "5",
      opera_mobile: "41",
      electron: "1.2"
    },
    "transform-arrow-functions": {
      chrome: "47",
      opera: "34",
      edge: "13",
      firefox: "43",
      safari: "10",
      node: "6",
      deno: "1",
      ios: "10",
      samsung: "5",
      rhino: "1.7.13",
      opera_mobile: "34",
      electron: "0.36"
    },
    "transform-block-scoped-functions": {
      chrome: "41",
      opera: "28",
      edge: "12",
      firefox: "46",
      safari: "10",
      node: "4",
      deno: "1",
      ie: "11",
      ios: "10",
      samsung: "3.4",
      opera_mobile: "28",
      electron: "0.21"
    },
    "transform-classes": {
      chrome: "46",
      opera: "33",
      edge: "13",
      firefox: "45",
      safari: "10",
      node: "5",
      deno: "1",
      ios: "10",
      samsung: "5",
      opera_mobile: "33",
      electron: "0.36"
    },
    "transform-object-super": {
      chrome: "46",
      opera: "33",
      edge: "13",
      firefox: "45",
      safari: "10",
      node: "5",
      deno: "1",
      ios: "10",
      samsung: "5",
      opera_mobile: "33",
      electron: "0.36"
    },
    "transform-shorthand-properties": {
      chrome: "43",
      opera: "30",
      edge: "12",
      firefox: "33",
      safari: "9",
      node: "4",
      deno: "1",
      ios: "9",
      samsung: "4",
      rhino: "1.7.14",
      opera_mobile: "30",
      electron: "0.27"
    },
    "transform-duplicate-keys": {
      chrome: "42",
      opera: "29",
      edge: "12",
      firefox: "34",
      safari: "9",
      node: "4",
      deno: "1",
      ios: "9",
      samsung: "3.4",
      opera_mobile: "29",
      electron: "0.25"
    },
    "transform-computed-properties": {
      chrome: "44",
      opera: "31",
      edge: "12",
      firefox: "34",
      safari: "7.1",
      node: "4",
      deno: "1",
      ios: "8",
      samsung: "4",
      opera_mobile: "32",
      electron: "0.30"
    },
    "transform-for-of": {
      chrome: "51",
      opera: "38",
      edge: "15",
      firefox: "53",
      safari: "10",
      node: "6.5",
      deno: "1",
      ios: "10",
      samsung: "5",
      opera_mobile: "41",
      electron: "1.2"
    },
    "transform-sticky-regex": {
      chrome: "49",
      opera: "36",
      edge: "13",
      firefox: "3",
      safari: "10",
      node: "6",
      deno: "1",
      ios: "10",
      samsung: "5",
      rhino: "1.7.15",
      opera_mobile: "36",
      electron: "0.37"
    },
    "transform-unicode-escapes": {
      chrome: "44",
      opera: "31",
      edge: "12",
      firefox: "53",
      safari: "9",
      node: "4",
      deno: "1",
      ios: "9",
      samsung: "4",
      rhino: "1.7.15",
      opera_mobile: "32",
      electron: "0.30"
    },
    "transform-unicode-regex": {
      chrome: "50",
      opera: "37",
      edge: "13",
      firefox: "46",
      safari: "12",
      node: "6",
      deno: "1",
      ios: "12",
      samsung: "5",
      opera_mobile: "37",
      electron: "1.1"
    },
    "transform-spread": {
      chrome: "46",
      opera: "33",
      edge: "13",
      firefox: "45",
      safari: "10",
      node: "5",
      deno: "1",
      ios: "10",
      samsung: "5",
      opera_mobile: "33",
      electron: "0.36"
    },
    "transform-destructuring": {
      chrome: "51",
      opera: "38",
      edge: "15",
      firefox: "53",
      safari: "10",
      node: "6.5",
      deno: "1",
      ios: "10",
      samsung: "5",
      opera_mobile: "41",
      electron: "1.2"
    },
    "transform-block-scoping": {
      chrome: "50",
      opera: "37",
      edge: "14",
      firefox: "53",
      safari: "11",
      node: "6",
      deno: "1",
      ios: "11",
      samsung: "5",
      opera_mobile: "37",
      electron: "1.1"
    },
    "transform-typeof-symbol": {
      chrome: "48",
      opera: "35",
      edge: "12",
      firefox: "36",
      safari: "9",
      node: "6",
      deno: "1",
      ios: "9",
      samsung: "5",
      opera_mobile: "35",
      electron: "0.37"
    },
    "transform-new-target": {
      chrome: "46",
      opera: "33",
      edge: "14",
      firefox: "41",
      safari: "10",
      node: "5",
      deno: "1",
      ios: "10",
      samsung: "5",
      opera_mobile: "33",
      electron: "0.36"
    },
    "transform-regenerator": {
      chrome: "50",
      opera: "37",
      edge: "13",
      firefox: "53",
      safari: "10",
      node: "6",
      deno: "1",
      ios: "10",
      samsung: "5",
      opera_mobile: "37",
      electron: "1.1"
    },
    "transform-member-expression-literals": {
      chrome: "7",
      opera: "12",
      edge: "12",
      firefox: "2",
      safari: "5.1",
      node: "0.4",
      deno: "1",
      ie: "9",
      android: "4",
      ios: "6",
      phantom: "1.9",
      samsung: "1",
      rhino: "1.7.13",
      opera_mobile: "12",
      electron: "0.20"
    },
    "transform-property-literals": {
      chrome: "7",
      opera: "12",
      edge: "12",
      firefox: "2",
      safari: "5.1",
      node: "0.4",
      deno: "1",
      ie: "9",
      android: "4",
      ios: "6",
      phantom: "1.9",
      samsung: "1",
      rhino: "1.7.13",
      opera_mobile: "12",
      electron: "0.20"
    },
    "transform-reserved-words": {
      chrome: "13",
      opera: "10.50",
      edge: "12",
      firefox: "2",
      safari: "3.1",
      node: "0.6",
      deno: "1",
      ie: "9",
      android: "4.4",
      ios: "6",
      phantom: "1.9",
      samsung: "1",
      rhino: "1.7.13",
      opera_mobile: "10.1",
      electron: "0.20"
    },
    "transform-export-namespace-from": {
      chrome: "72",
      deno: "1.0",
      edge: "79",
      firefox: "80",
      node: "13.2",
      opera: "60",
      opera_mobile: "51",
      safari: "14.1",
      ios: "14.5",
      samsung: "11.0",
      android: "72",
      electron: "5.0"
    },
    "proposal-export-namespace-from": {
      chrome: "72",
      deno: "1.0",
      edge: "79",
      firefox: "80",
      node: "13.2",
      opera: "60",
      opera_mobile: "51",
      safari: "14.1",
      ios: "14.5",
      samsung: "11.0",
      android: "72",
      electron: "5.0"
    }
  };
});

// ../node_modules/@babel/compat-data/plugins.js
var oZ = g((vWs, aZ) => {
  aZ.exports = nZ();
});

// ../node_modules/@babel/helper-compilation-targets/lib/filter-items.js
var pZ = g((u0) => {
  "use strict";
  Object.defineProperty(u0, "__esModule", {
    value: !0
  });
  u0.default = _pt;
  u0.isRequired = cZ;
  u0.targetsSupported = uZ;
  var lZ = require("semver"), Opt = oZ(), $P = UP();
  function uZ(t, e) {
    let s = Object.keys(t);
    return s.length === 0 ? !1 : s.filter((i) => {
      let a = (0, $P.getLowestImplementedVersion)(e, i);
      if (!a)
        return !0;
      let o = t[i];
      if ((0, $P.isUnreleasedVersion)(o, i))
        return !1;
      if ((0, $P.isUnreleasedVersion)(a, i))
        return !0;
      if (!lZ.valid(o.toString()))
        throw new Error(`Invalid version passed for target "${i}": "${o}". Versions must be in semver format (major.minor.patch)`);
      return lZ.gt((0, $P.semverify)(a), o.toString());
    }).length === 0;
  }
  n(uZ, "targetsSupported");
  function cZ(t, e, {
    compatData: s = Opt,
    includes: r,
    excludes: i
  } = {}) {
    return i != null && i.has(t) ? !1 : r != null && r.has(t) ? !0 : !uZ(e, s[t]);
  }
  n(cZ, "isRequired");
  function _pt(t, e, s, r, i, a, o) {
    let l = /* @__PURE__ */ new Set(), u = {
      compatData: t,
      includes: e,
      excludes: s
    };
    for (let c in t)
      if (cZ(c, r, u))
        l.add(c);
      else if (o) {
        let p = o.get(c);
        p && l.add(p);
      }
    return i?.forEach((c) => !s.has(c) && l.add(c)), a?.forEach((c) => !e.has(c) && l.delete(c)), l;
  }
  n(_pt, "filterItems");
});

// ../node_modules/@babel/helper-compilation-targets/lib/index.js
var K_ = g((fl) => {
  "use strict";
  Object.defineProperty(fl, "__esModule", {
    value: !0
  });
  Object.defineProperty(fl, "TargetNames", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return q_.TargetNames;
    }, "get")
  });
  fl.default = Jpt;
  Object.defineProperty(fl, "filterItems", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return mZ.default;
    }, "get")
  });
  Object.defineProperty(fl, "getInclusionReasons", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Fpt.getInclusionReasons;
    }, "get")
  });
  fl.isBrowsersQueryValid = yZ;
  Object.defineProperty(fl, "isRequired", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return mZ.isRequired;
    }, "get")
  });
  Object.defineProperty(fl, "prettifyTargets", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Mpt.prettifyTargets;
    }, "get")
  });
  Object.defineProperty(fl, "unreleasedLabels", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return dZ.unreleasedLabels;
    }, "get")
  });
  var R_ = MQ(), fZ = jP(), Lpt = UQ(), Bpt = zQ(), No = UP(), dZ = qP(), q_ = tZ(), Mpt = M_(), Fpt = iZ(), mZ = pZ(), j_ = Lpt["es6.module"],
  U_ = new fZ.OptionValidator("@babel/helper-compilation-targets");
  function jpt(t) {
    let e = Object.keys(q_.TargetNames);
    for (let s of Object.keys(t))
      if (!(s in q_.TargetNames))
        throw new Error(U_.formatMessage(`'${s}' is not a valid target
- Did you mean '${(0, fZ.findSuggestion)(s, e)}'?`));
    return t;
  }
  n(jpt, "validateTargetNames");
  function yZ(t) {
    return typeof t == "string" || Array.isArray(t) && t.every((e) => typeof e == "string");
  }
  n(yZ, "isBrowsersQueryValid");
  function Rpt(t) {
    return U_.invariant(t === void 0 || yZ(t), `'${String(t)}' is not a valid browserslist query`), t;
  }
  n(Rpt, "validateBrowsers");
  function qpt(t) {
    return t.reduce((e, s) => {
      let [r, i] = s.split(" "), a = dZ.browserNameMap[r];
      if (!a)
        return e;
      try {
        let o = i.split("-")[0].toLowerCase(), l = (0, No.isUnreleasedVersion)(o, a);
        if (!e[a])
          return e[a] = l ? o : (0, No.semverify)(o), e;
        let u = e[a], c = (0, No.isUnreleasedVersion)(u, a);
        if (c && l)
          e[a] = (0, No.getLowestUnreleased)(u, o, a);
        else if (c)
          e[a] = (0, No.semverify)(o);
        else if (!c && !l) {
          let p = (0, No.semverify)(o);
          e[a] = (0, No.semverMin)(u, p);
        }
      } catch {
      }
      return e;
    }, {});
  }
  n(qpt, "getLowestVersions");
  function Upt(t) {
    t.length && (console.warn(`Warning, the following targets are using a decimal version:
`), t.forEach(({
      target: e,
      value: s
    }) => console.warn(`  ${e}: ${s}`)), console.warn(`
We recommend using a string for minor/patch versions to avoid numbers like 6.10
getting parsed as 6.1, which can lead to unexpected behavior.
`));
  }
  n(Upt, "outputDecimalWarning");
  function gZ(t, e) {
    try {
      return (0, No.semverify)(e);
    } catch {
      throw new Error(U_.formatMessage(`'${e}' is not a valid value for 'targets.${t}'.`));
    }
  }
  n(gZ, "semverifyTarget");
  function Kpt(t) {
    return ["node", t === !0 || t === "current" ? process.versions.node.split("-")[0] : gZ("node", t)];
  }
  n(Kpt, "nodeTargetParser");
  function Vpt(t, e) {
    let s = (0, No.isUnreleasedVersion)(e, t) ? e.toLowerCase() : gZ(t, e);
    return [t, s];
  }
  n(Vpt, "defaultTargetParser");
  function Wpt(t) {
    let e = Object.assign({}, t);
    return delete e.esmodules, delete e.browsers, e;
  }
  n(Wpt, "generateTargets");
  function $pt(t, e) {
    let s = R_(t, {
      mobileToDesktop: !0,
      env: e
    });
    return qpt(s);
  }
  n($pt, "resolveTargets");
  var hZ = new Bpt({
    max: 64
  });
  function Hpt(t, e) {
    let s = typeof t == "string" ? t : t.join() + e, r = hZ.get(s);
    return r || (r = $pt(t, e), hZ.set(s, r)), Object.assign({}, r);
  }
  n(Hpt, "resolveTargetsCached");
  function Jpt(t = {}, e = {}) {
    var s, r;
    let {
      browsers: i,
      esmodules: a
    } = t, {
      configPath: o = ".",
      onBrowserslistConfigFound: l
    } = e;
    Rpt(i);
    let u = Wpt(t), c = jpt(u), h = !!i || Object.keys(c).length > 0, f = !e.ignoreBrowserslistConfig && !h;
    if (!i && f) {
      if (i = process.env.BROWSERSLIST, !i) {
        let y = e.configFile || process.env.BROWSERSLIST_CONFIG || R_.findConfigFile(o);
        y != null && (l?.(y), i = R_.loadConfig({
          config: y,
          env: e.browserslistEnv
        }));
      }
      i == null && (i = []);
    }
    if (a && (a !== "intersect" || !((s = i) != null && s.length)) && (i = Object.keys(j_).map((y) => `${y} >= ${j_[y]}`).join(", "), a = !1),
    (r = i) != null && r.length) {
      let y = Hpt(i, e.browserslistEnv);
      if (a === "intersect")
        for (let T of Object.keys(y))
          if (T !== "deno" && T !== "ie") {
            let b = j_[T === "opera_mobile" ? "op_mob" : T];
            if (b) {
              let E = y[T];
              y[T] = (0, No.getHighestUnreleased)(E, (0, No.semverify)(b), T);
            } else
              delete y[T];
          } else
            delete y[T];
      c = Object.assign(y, c);
    }
    let d = {}, m = [];
    for (let y of Object.keys(c).sort()) {
      let T = c[y];
      typeof T == "number" && T % 1 !== 0 && m.push({
        target: y,
        value: T
      });
      let [b, E] = y === "node" ? Kpt(T) : Vpt(y, T);
      E && (d[b] = E);
    }
    return Upt(m), d;
  }
  n(Jpt, "getTargets");
});

// ../node_modules/@babel/core/lib/config/resolve-targets.js
var V_ = g((HP) => {
  "use strict";
  Object.defineProperty(HP, "__esModule", {
    value: !0
  });
  HP.resolveBrowserslistConfigFile = Ypt;
  HP.resolveTargets = Xpt;
  function TZ() {
    let t = require("path");
    return TZ = /* @__PURE__ */ n(function() {
      return t;
    }, "_path"), t;
  }
  n(TZ, "_path");
  function bZ() {
    let t = K_();
    return bZ = /* @__PURE__ */ n(function() {
      return t;
    }, "_helperCompilationTargets"), t;
  }
  n(bZ, "_helperCompilationTargets");
  function Ypt(t, e) {
    return TZ().resolve(e, t);
  }
  n(Ypt, "resolveBrowserslistConfigFile");
  function Xpt(t, e) {
    let s = t.targets, r;
    typeof s == "string" || Array.isArray(s) ? r = {
      browsers: s
    } : s && ("esmodules" in s ? r = Object.assign({}, s, {
      esmodules: "intersect"
    }) : r = s);
    let {
      browserslistConfigFile: i
    } = t, a, o = !1;
    return typeof i == "string" ? a = i : o = i === !1, (0, bZ().default)(r, {
      ignoreBrowserslistConfig: o,
      configFile: a,
      configPath: e,
      browserslistEnv: t.browserslistEnv
    });
  }
  n(Xpt, "resolveTargets");
});

// ../node_modules/@babel/core/lib/config/config-descriptors.js
var W_ = g((p0) => {
  "use strict";
  Object.defineProperty(p0, "__esModule", {
    value: !0
  });
  p0.createCachedDescriptors = Zpt;
  p0.createDescriptor = NZ;
  p0.createUncachedDescriptors = eht;
  function EZ() {
    let t = ca();
    return EZ = /* @__PURE__ */ n(function() {
      return t;
    }, "_gensync"), t;
  }
  n(EZ, "_gensync");
  var xZ = OG(), SZ = f0(), zpt = h0(), c0 = Rh(), Gpt = V_();
  function Qpt(t, e) {
    var s, r, i, a;
    return t.name === e.name && t.value === e.value && t.options === e.options && t.dirname === e.dirname && t.alias === e.alias && t.ownPass ===
    e.ownPass && ((s = t.file) == null ? void 0 : s.request) === ((r = e.file) == null ? void 0 : r.request) && ((i = t.file) == null ? void 0 :
    i.resolved) === ((a = e.file) == null ? void 0 : a.resolved);
  }
  n(Qpt, "isEqualDescriptor");
  function* PZ(t) {
    return t;
  }
  n(PZ, "handlerOf");
  function AZ(t, e) {
    return typeof t.browserslistConfigFile == "string" && (t.browserslistConfigFile = (0, Gpt.resolveBrowserslistConfigFile)(t.browserslistConfigFile,
    e)), t;
  }
  n(AZ, "optionsWithResolvedBrowserslistConfigFile");
  function Zpt(t, e, s) {
    let {
      plugins: r,
      presets: i,
      passPerPreset: a
    } = e;
    return {
      options: AZ(e, t),
      plugins: r ? () => iht(r, t)(s) : () => PZ([]),
      presets: i ? () => sht(i, t)(s)(!!a) : () => PZ([])
    };
  }
  n(Zpt, "createCachedDescriptors");
  function eht(t, e, s) {
    return {
      options: AZ(e, t),
      plugins: (0, xZ.once)(() => wZ(e.plugins || [], t, s)),
      presets: (0, xZ.once)(() => CZ(e.presets || [], t, s, !!e.passPerPreset))
    };
  }
  n(eht, "createUncachedDescriptors");
  var tht = /* @__PURE__ */ new WeakMap(), sht = (0, c0.makeWeakCacheSync)((t, e) => {
    let s = e.using((r) => r);
    return (0, c0.makeStrongCacheSync)((r) => (0, c0.makeStrongCache)(function* (i) {
      return (yield* CZ(t, s, r, i)).map((o) => vZ(tht, o));
    }));
  }), rht = /* @__PURE__ */ new WeakMap(), iht = (0, c0.makeWeakCacheSync)((t, e) => {
    let s = e.using((r) => r);
    return (0, c0.makeStrongCache)(function* (r) {
      return (yield* wZ(t, s, r)).map((a) => vZ(rht, a));
    });
  }), nht = {};
  function vZ(t, e) {
    let {
      value: s,
      options: r = nht
    } = e;
    if (r === !1) return e;
    let i = t.get(s);
    i || (i = /* @__PURE__ */ new WeakMap(), t.set(s, i));
    let a = i.get(r);
    if (a || (a = [], i.set(r, a)), !a.includes(e)) {
      let o = a.filter((l) => Qpt(l, e));
      if (o.length > 0)
        return o[0];
      a.push(e);
    }
    return e;
  }
  n(vZ, "loadCachedDescriptor");
  function* CZ(t, e, s, r) {
    return yield* IZ("preset", t, e, s, r);
  }
  n(CZ, "createPresetDescriptors");
  function* wZ(t, e, s) {
    return yield* IZ("plugin", t, e, s);
  }
  n(wZ, "createPluginDescriptors");
  function* IZ(t, e, s, r, i) {
    let a = yield* EZ().all(e.map((o, l) => NZ(o, s, {
      type: t,
      alias: `${r}$${l}`,
      ownPass: !!i
    })));
    return aht(a), a;
  }
  n(IZ, "createDescriptors");
  function* NZ(t, e, {
    type: s,
    alias: r,
    ownPass: i
  }) {
    let a = (0, zpt.getItemDescriptor)(t);
    if (a)
      return a;
    let o, l, u = t;
    Array.isArray(u) && (u.length === 3 ? [u, l, o] = u : [u, l] = u);
    let c, p = null;
    if (typeof u == "string") {
      if (typeof s != "string")
        throw new Error("To resolve a string-based item, the type of item must be given");
      let h = s === "plugin" ? SZ.loadPlugin : SZ.loadPreset, f = u;
      ({
        filepath: p,
        value: u
      } = yield* h(u, e)), c = {
        request: f,
        resolved: p
      };
    }
    if (!u)
      throw new Error(`Unexpected falsy value: ${String(u)}`);
    if (typeof u == "object" && u.__esModule)
      if (u.default)
        u = u.default;
      else
        throw new Error("Must export a default export when using ES6 modules.");
    if (typeof u != "object" && typeof u != "function")
      throw new Error(`Unsupported format: ${typeof u}. Expected an object or a function.`);
    if (p !== null && typeof u == "object" && u)
      throw new Error(`Plugin/Preset files are not allowed to export objects, only functions. In ${p}`);
    return {
      name: o,
      alias: p || r,
      value: u,
      options: l,
      dirname: e,
      ownPass: i,
      file: c
    };
  }
  n(NZ, "createDescriptor");
  function aht(t) {
    let e = /* @__PURE__ */ new Map();
    for (let s of t) {
      if (typeof s.value != "function") continue;
      let r = e.get(s.value);
      if (r || (r = /* @__PURE__ */ new Set(), e.set(s.value, r)), r.has(s.name)) {
        let i = t.filter((a) => a.value === s.value);
        throw new Error(["Duplicate plugin/preset detected.", "If you'd like to use two separate instances of a plugin,", "they need separat\
e names, e.g.", "", "  plugins: [", "    ['some-plugin', {}],", "    ['some-plugin', {}, 'some unique name'],", "  ]", "", "Duplicates detec\
ted are:", `${JSON.stringify(i, null, 2)}`].join(`
`));
      }
      r.add(s.name);
    }
  }
  n(aht, "assertNoDuplicates");
});

// ../node_modules/@babel/core/lib/config/item.js
var h0 = g((d0) => {
  "use strict";
  Object.defineProperty(d0, "__esModule", {
    value: !0
  });
  d0.createConfigItem = lht;
  d0.createItemFromDescriptor = DZ;
  d0.getItemDescriptor = uht;
  function kZ() {
    let t = require("path");
    return kZ = /* @__PURE__ */ n(function() {
      return t;
    }, "_path"), t;
  }
  n(kZ, "_path");
  var oht = W_();
  function DZ(t) {
    return new JP(t);
  }
  n(DZ, "createItemFromDescriptor");
  function* lht(t, {
    dirname: e = ".",
    type: s
  } = {}) {
    let r = yield* (0, oht.createDescriptor)(t, kZ().resolve(e), {
      type: s,
      alias: "programmatic item"
    });
    return DZ(r);
  }
  n(lht, "createConfigItem");
  var $_ = Symbol.for("@babel/core@7 - ConfigItem");
  function uht(t) {
    if (t != null && t[$_])
      return t._descriptor;
  }
  n(uht, "getItemDescriptor");
  var JP = class {
    static {
      n(this, "ConfigItem");
    }
    constructor(e) {
      this._descriptor = void 0, this[$_] = !0, this.value = void 0, this.options = void 0, this.dirname = void 0, this.name = void 0, this.
      file = void 0, this._descriptor = e, Object.defineProperty(this, "_descriptor", {
        enumerable: !1
      }), Object.defineProperty(this, $_, {
        enumerable: !1
      }), this.value = this._descriptor.value, this.options = this._descriptor.options, this.dirname = this._descriptor.dirname, this.name =
      this._descriptor.name, this.file = this._descriptor.file ? {
        request: this._descriptor.file.request,
        resolved: this._descriptor.file.resolved
      } : void 0, Object.freeze(this);
    }
  };
  Object.freeze(JP.prototype);
});

// ../node_modules/@babel/core/lib/config/validation/removed.js
var OZ = g((YP) => {
  "use strict";
  Object.defineProperty(YP, "__esModule", {
    value: !0
  });
  YP.default = void 0;
  var MWs = YP.default = {
    auxiliaryComment: {
      message: "Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`"
    },
    blacklist: {
      message: "Put the specific transforms you want in the `plugins` option"
    },
    breakConfig: {
      message: "This is not a necessary option in Babel 6"
    },
    experimental: {
      message: "Put the specific transforms you want in the `plugins` option"
    },
    externalHelpers: {
      message: "Use the `external-helpers` plugin instead. Check out http://babeljs.io/docs/plugins/external-helpers/"
    },
    extra: {
      message: ""
    },
    jsxPragma: {
      message: "use the `pragma` option in the `react-jsx` plugin. Check out http://babeljs.io/docs/plugins/transform-react-jsx/"
    },
    loose: {
      message: "Specify the `loose` option for the relevant plugin you are using or use a preset that sets the option."
    },
    metadataUsedHelpers: {
      message: "Not required anymore as this is enabled by default"
    },
    modules: {
      message: "Use the corresponding module transform plugin in the `plugins` option. Check out http://babeljs.io/docs/plugins/#modules"
    },
    nonStandard: {
      message: "Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. Also check out the react preset http://babeljs.i\
o/docs/plugins/preset-react/"
    },
    optional: {
      message: "Put the specific transforms you want in the `plugins` option"
    },
    sourceMapName: {
      message: "The `sourceMapName` option has been removed because it makes more sense for the tooling that calls Babel to assign `map.file\
` themselves."
    },
    stage: {
      message: "Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets"
    },
    whitelist: {
      message: "Put the specific transforms you want in the `plugins` option"
    },
    resolveModuleSource: {
      version: 6,
      message: "Use `babel-plugin-module-resolver@3`'s 'resolvePath' options"
    },
    metadata: {
      version: 6,
      message: "Generated plugin metadata is always included in the output result"
    },
    sourceMapTarget: {
      version: 6,
      message: "The `sourceMapTarget` option has been removed because it makes more sense for the tooling that calls Babel to assign `map.fi\
le` themselves."
    }
  };
});

// ../node_modules/@babel/core/lib/config/validation/option-assertions.js
var Y_ = g((ai) => {
  "use strict";
  Object.defineProperty(ai, "__esModule", {
    value: !0
  });
  ai.access = pa;
  ai.assertArray = J_;
  ai.assertAssumptions = Iht;
  ai.assertBabelrcSearch = Eht;
  ai.assertBoolean = H_;
  ai.assertCallerMetadata = mht;
  ai.assertCompact = fht;
  ai.assertConfigApplicableTest = Sht;
  ai.assertConfigFileSearch = Pht;
  ai.assertFunction = Tht;
  ai.assertIgnoreList = bht;
  ai.assertInputSourceMap = yht;
  ai.assertObject = BZ;
  ai.assertPluginList = Aht;
  ai.assertRootMode = pht;
  ai.assertSourceMaps = hht;
  ai.assertSourceType = dht;
  ai.assertString = ght;
  ai.assertTargets = Cht;
  ai.msg = As;
  function m0() {
    let t = K_();
    return m0 = /* @__PURE__ */ n(function() {
      return t;
    }, "_helperCompilationTargets"), t;
  }
  n(m0, "_helperCompilationTargets");
  var cht = y0();
  function As(t) {
    switch (t.type) {
      case "root":
        return "";
      case "env":
        return `${As(t.parent)}.env["${t.name}"]`;
      case "overrides":
        return `${As(t.parent)}.overrides[${t.index}]`;
      case "option":
        return `${As(t.parent)}.${t.name}`;
      case "access":
        return `${As(t.parent)}[${JSON.stringify(t.name)}]`;
      default:
        throw new Error(`Assertion failure: Unknown type ${t.type}`);
    }
  }
  n(As, "msg");
  function pa(t, e) {
    return {
      type: "access",
      name: e,
      parent: t
    };
  }
  n(pa, "access");
  function pht(t, e) {
    if (e !== void 0 && e !== "root" && e !== "upward" && e !== "upward-optional")
      throw new Error(`${As(t)} must be a "root", "upward", "upward-optional" or undefined`);
    return e;
  }
  n(pht, "assertRootMode");
  function hht(t, e) {
    if (e !== void 0 && typeof e != "boolean" && e !== "inline" && e !== "both")
      throw new Error(`${As(t)} must be a boolean, "inline", "both", or undefined`);
    return e;
  }
  n(hht, "assertSourceMaps");
  function fht(t, e) {
    if (e !== void 0 && typeof e != "boolean" && e !== "auto")
      throw new Error(`${As(t)} must be a boolean, "auto", or undefined`);
    return e;
  }
  n(fht, "assertCompact");
  function dht(t, e) {
    if (e !== void 0 && e !== "module" && e !== "script" && e !== "unambiguous")
      throw new Error(`${As(t)} must be "module", "script", "unambiguous", or undefined`);
    return e;
  }
  n(dht, "assertSourceType");
  function mht(t, e) {
    let s = BZ(t, e);
    if (s) {
      if (typeof s.name != "string")
        throw new Error(`${As(t)} set but does not contain "name" property string`);
      for (let r of Object.keys(s)) {
        let i = pa(t, r), a = s[r];
        if (a != null && typeof a != "boolean" && typeof a != "string" && typeof a != "number")
          throw new Error(`${As(i)} must be null, undefined, a boolean, a string, or a number.`);
      }
    }
    return e;
  }
  n(mht, "assertCallerMetadata");
  function yht(t, e) {
    if (e !== void 0 && typeof e != "boolean" && (typeof e != "object" || !e))
      throw new Error(`${As(t)} must be a boolean, object, or undefined`);
    return e;
  }
  n(yht, "assertInputSourceMap");
  function ght(t, e) {
    if (e !== void 0 && typeof e != "string")
      throw new Error(`${As(t)} must be a string, or undefined`);
    return e;
  }
  n(ght, "assertString");
  function Tht(t, e) {
    if (e !== void 0 && typeof e != "function")
      throw new Error(`${As(t)} must be a function, or undefined`);
    return e;
  }
  n(Tht, "assertFunction");
  function H_(t, e) {
    if (e !== void 0 && typeof e != "boolean")
      throw new Error(`${As(t)} must be a boolean, or undefined`);
    return e;
  }
  n(H_, "assertBoolean");
  function BZ(t, e) {
    if (e !== void 0 && (typeof e != "object" || Array.isArray(e) || !e))
      throw new Error(`${As(t)} must be an object, or undefined`);
    return e;
  }
  n(BZ, "assertObject");
  function J_(t, e) {
    if (e != null && !Array.isArray(e))
      throw new Error(`${As(t)} must be an array, or undefined`);
    return e;
  }
  n(J_, "assertArray");
  function bht(t, e) {
    let s = J_(t, e);
    return s?.forEach((r, i) => xht(pa(t, i), r)), s;
  }
  n(bht, "assertIgnoreList");
  function xht(t, e) {
    if (typeof e != "string" && typeof e != "function" && !(e instanceof RegExp))
      throw new Error(`${As(t)} must be an array of string/Function/RegExp values, or undefined`);
    return e;
  }
  n(xht, "assertIgnoreItem");
  function Sht(t, e) {
    if (e === void 0)
      return e;
    if (Array.isArray(e))
      e.forEach((s, r) => {
        if (!XP(s))
          throw new Error(`${As(pa(t, r))} must be a string/Function/RegExp.`);
      });
    else if (!XP(e))
      throw new Error(`${As(t)} must be a string/Function/RegExp, or an array of those`);
    return e;
  }
  n(Sht, "assertConfigApplicableTest");
  function XP(t) {
    return typeof t == "string" || typeof t == "function" || t instanceof RegExp;
  }
  n(XP, "checkValidTest");
  function Pht(t, e) {
    if (e !== void 0 && typeof e != "boolean" && typeof e != "string")
      throw new Error(`${As(t)} must be a undefined, a boolean, a string, got ${JSON.stringify(e)}`);
    return e;
  }
  n(Pht, "assertConfigFileSearch");
  function Eht(t, e) {
    if (e === void 0 || typeof e == "boolean")
      return e;
    if (Array.isArray(e))
      e.forEach((s, r) => {
        if (!XP(s))
          throw new Error(`${As(pa(t, r))} must be a string/Function/RegExp.`);
      });
    else if (!XP(e))
      throw new Error(`${As(t)} must be a undefined, a boolean, a string/Function/RegExp or an array of those, got ${JSON.stringify(e)}`);
    return e;
  }
  n(Eht, "assertBabelrcSearch");
  function Aht(t, e) {
    let s = J_(t, e);
    return s && s.forEach((r, i) => vht(pa(t, i), r)), s;
  }
  n(Aht, "assertPluginList");
  function vht(t, e) {
    if (Array.isArray(e)) {
      if (e.length === 0)
        throw new Error(`${As(t)} must include an object`);
      if (e.length > 3)
        throw new Error(`${As(t)} may only be a two-tuple or three-tuple`);
      if (_Z(pa(t, 0), e[0]), e.length > 1) {
        let s = e[1];
        if (s !== void 0 && s !== !1 && (typeof s != "object" || Array.isArray(s) || s === null))
          throw new Error(`${As(pa(t, 1))} must be an object, false, or undefined`);
      }
      if (e.length === 3) {
        let s = e[2];
        if (s !== void 0 && typeof s != "string")
          throw new Error(`${As(pa(t, 2))} must be a string, or undefined`);
      }
    } else
      _Z(t, e);
    return e;
  }
  n(vht, "assertPluginItem");
  function _Z(t, e) {
    if ((typeof e != "object" || !e) && typeof e != "string" && typeof e != "function")
      throw new Error(`${As(t)} must be a string, object, function`);
    return e;
  }
  n(_Z, "assertPluginTarget");
  function Cht(t, e) {
    if ((0, m0().isBrowsersQueryValid)(e)) return e;
    if (typeof e != "object" || !e || Array.isArray(e))
      throw new Error(`${As(t)} must be a string, an array of strings or an object`);
    let s = pa(t, "browsers"), r = pa(t, "esmodules");
    LZ(s, e.browsers), H_(r, e.esmodules);
    for (let i of Object.keys(e)) {
      let a = e[i], o = pa(t, i);
      if (i === "esmodules") H_(o, a);
      else if (i === "browsers") LZ(o, a);
      else if (hasOwnProperty.call(m0().TargetNames, i))
        wht(o, a);
      else {
        let l = Object.keys(m0().TargetNames).join(", ");
        throw new Error(`${As(o)} is not a valid target. Supported targets are ${l}`);
      }
    }
    return e;
  }
  n(Cht, "assertTargets");
  function LZ(t, e) {
    if (e !== void 0 && !(0, m0().isBrowsersQueryValid)(e))
      throw new Error(`${As(t)} must be undefined, a string or an array of strings`);
  }
  n(LZ, "assertBrowsersList");
  function wht(t, e) {
    if (!(typeof e == "number" && Math.round(e) === e) && typeof e != "string")
      throw new Error(`${As(t)} must be a string or an integer number`);
  }
  n(wht, "assertBrowserVersion");
  function Iht(t, e) {
    if (e === void 0) return;
    if (typeof e != "object" || e === null)
      throw new Error(`${As(t)} must be an object or undefined.`);
    let s = t;
    do
      s = s.parent;
    while (s.type !== "root");
    let r = s.source === "preset";
    for (let i of Object.keys(e)) {
      let a = pa(t, i);
      if (!cht.assumptionsNames.has(i))
        throw new Error(`${As(a)} is not a supported assumption.`);
      if (typeof e[i] != "boolean")
        throw new Error(`${As(a)} must be a boolean.`);
      if (r && e[i] === !1)
        throw new Error(`${As(a)} cannot be set to 'false' inside presets.`);
    }
    return e;
  }
  n(Iht, "assertAssumptions");
});

// ../node_modules/@babel/core/lib/config/validation/options.js
var y0 = g((lm) => {
  "use strict";
  Object.defineProperty(lm, "__esModule", {
    value: !0
  });
  lm.assumptionsNames = void 0;
  lm.checkNoUnwrappedItemOptionPairs = Mht;
  lm.validate = Dht;
  var MZ = OZ(), gt = Y_(), Nht = qh(), FZ = {
    cwd: gt.assertString,
    root: gt.assertString,
    rootMode: gt.assertRootMode,
    configFile: gt.assertConfigFileSearch,
    caller: gt.assertCallerMetadata,
    filename: gt.assertString,
    filenameRelative: gt.assertString,
    code: gt.assertBoolean,
    ast: gt.assertBoolean,
    cloneInputAst: gt.assertBoolean,
    envName: gt.assertString
  }, jZ = {
    babelrc: gt.assertBoolean,
    babelrcRoots: gt.assertBabelrcSearch
  }, RZ = {
    extends: gt.assertString,
    ignore: gt.assertIgnoreList,
    only: gt.assertIgnoreList,
    targets: gt.assertTargets,
    browserslistConfigFile: gt.assertConfigFileSearch,
    browserslistEnv: gt.assertString
  }, qZ = {
    inputSourceMap: gt.assertInputSourceMap,
    presets: gt.assertPluginList,
    plugins: gt.assertPluginList,
    passPerPreset: gt.assertBoolean,
    assumptions: gt.assertAssumptions,
    env: Lht,
    overrides: Bht,
    test: gt.assertConfigApplicableTest,
    include: gt.assertConfigApplicableTest,
    exclude: gt.assertConfigApplicableTest,
    retainLines: gt.assertBoolean,
    comments: gt.assertBoolean,
    shouldPrintComment: gt.assertFunction,
    compact: gt.assertCompact,
    minified: gt.assertBoolean,
    auxiliaryCommentBefore: gt.assertString,
    auxiliaryCommentAfter: gt.assertString,
    sourceType: gt.assertSourceType,
    wrapPluginVisitorMethod: gt.assertFunction,
    highlightCode: gt.assertBoolean,
    sourceMaps: gt.assertSourceMaps,
    sourceMap: gt.assertSourceMaps,
    sourceFileName: gt.assertString,
    sourceRoot: gt.assertString,
    parserOpts: gt.assertObject,
    generatorOpts: gt.assertObject
  };
  Object.assign(qZ, {
    getModuleId: gt.assertFunction,
    moduleRoot: gt.assertString,
    moduleIds: gt.assertBoolean,
    moduleId: gt.assertString
  });
  var kht = ["arrayLikeIsIterable", "constantReexports", "constantSuper", "enumerableModuleMeta", "ignoreFunctionLength", "ignoreToPrimitive\
Hint", "iterableIsArray", "mutableTemplateObject", "noClassCalls", "noDocumentAll", "noIncompleteNsImportDetection", "noNewArrows", "noUnini\
tializedPrivateFieldAccess", "objectRestNoSymbols", "privateFieldsAsSymbols", "privateFieldsAsProperties", "pureGetters", "setClassMethods",
  "setComputedProperties", "setPublicClassFields", "setSpreadProperties", "skipForOfIteratorClosing", "superIsCallableConstructor"], qWs = lm.
  assumptionsNames = new Set(kht);
  function UZ(t) {
    return t.type === "root" ? t.source : UZ(t.parent);
  }
  n(UZ, "getSource");
  function Dht(t, e, s) {
    try {
      return X_({
        type: "root",
        source: t
      }, e);
    } catch (r) {
      let i = new Nht.default(r.message, s);
      throw r.code && (i.code = r.code), i;
    }
  }
  n(Dht, "validate");
  function X_(t, e) {
    let s = UZ(t);
    return _ht(e), Object.keys(e).forEach((r) => {
      let i = {
        type: "option",
        name: r,
        parent: t
      };
      if (s === "preset" && RZ[r])
        throw new Error(`${(0, gt.msg)(i)} is not allowed in preset options`);
      if (s !== "arguments" && FZ[r])
        throw new Error(`${(0, gt.msg)(i)} is only allowed in root programmatic options`);
      if (s !== "arguments" && s !== "configfile" && jZ[r])
        throw s === "babelrcfile" || s === "extendsfile" ? new Error(`${(0, gt.msg)(i)} is not allowed in .babelrc or "extends"ed files, onl\
y in root programmatic options, or babel.config.js/config file options`) : new Error(`${(0, gt.msg)(i)} is only allowed in root programmatic\
 options, or babel.config.js/config file options`);
      (qZ[r] || RZ[r] || jZ[r] || FZ[r] || Oht)(i, e[r]);
    }), e;
  }
  n(X_, "validateNested");
  function Oht(t) {
    let e = t.name;
    if (MZ.default[e]) {
      let {
        message: s,
        version: r = 5
      } = MZ.default[e];
      throw new Error(`Using removed Babel ${r} option: ${(0, gt.msg)(t)} - ${s}`);
    } else {
      let s = new Error(`Unknown option: ${(0, gt.msg)(t)}. Check out https://babeljs.io/docs/en/babel-core/#options for more information ab\
out options.`);
      throw s.code = "BABEL_UNKNOWN_OPTION", s;
    }
  }
  n(Oht, "throwUnknownError");
  function _ht(t) {
    if (hasOwnProperty.call(t, "sourceMap") && hasOwnProperty.call(t, "sourceMaps"))
      throw new Error(".sourceMap is an alias for .sourceMaps, cannot use both");
  }
  n(_ht, "assertNoDuplicateSourcemap");
  function Lht(t, e) {
    if (t.parent.type === "env")
      throw new Error(`${(0, gt.msg)(t)} is not allowed inside of another .env block`);
    let s = t.parent, r = (0, gt.assertObject)(t, e);
    if (r)
      for (let i of Object.keys(r)) {
        let a = (0, gt.assertObject)((0, gt.access)(t, i), r[i]);
        if (!a) continue;
        X_({
          type: "env",
          name: i,
          parent: s
        }, a);
      }
    return r;
  }
  n(Lht, "assertEnvSet");
  function Bht(t, e) {
    if (t.parent.type === "env")
      throw new Error(`${(0, gt.msg)(t)} is not allowed inside an .env block`);
    if (t.parent.type === "overrides")
      throw new Error(`${(0, gt.msg)(t)} is not allowed inside an .overrides block`);
    let s = t.parent, r = (0, gt.assertArray)(t, e);
    if (r)
      for (let [i, a] of r.entries()) {
        let o = (0, gt.access)(t, i), l = (0, gt.assertObject)(o, a);
        if (!l) throw new Error(`${(0, gt.msg)(o)} must be an object`);
        X_({
          type: "overrides",
          index: i,
          parent: s
        }, l);
      }
    return r;
  }
  n(Bht, "assertOverridesList");
  function Mht(t, e, s, r) {
    if (e === 0) return;
    let i = t[e - 1], a = t[e];
    i.file && i.options === void 0 && typeof a.value == "object" && (r.message += `
- Maybe you meant to use
"${s}s": [
  ["${i.file.request}", ${JSON.stringify(a.value, void 0, 2)}]
]
To be a valid ${s}, its name and options should be wrapped in a pair of brackets`);
  }
  n(Mht, "checkNoUnwrappedItemOptionPairs");
});

// ../node_modules/@babel/core/lib/config/pattern-to-regex.js
var eL = g((Z_) => {
  "use strict";
  Object.defineProperty(Z_, "__esModule", {
    value: !0
  });
  Z_.default = Rht;
  function zP() {
    let t = require("path");
    return zP = /* @__PURE__ */ n(function() {
      return t;
    }, "_path"), t;
  }
  n(zP, "_path");
  var g0 = `\\${zP().sep}`, z_ = `(?:${g0}|$)`, G_ = `[^${g0}]+`, Q_ = `(?:${G_}${g0})`, VZ = `(?:${G_}${z_})`, Fht = `${Q_}*?`, jht = `${Q_}\
*?${VZ}?`;
  function KZ(t) {
    return t.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&");
  }
  n(KZ, "escapeRegExp");
  function Rht(t, e) {
    let s = zP().resolve(e, t).split(zP().sep);
    return new RegExp(["^", ...s.map((r, i) => {
      let a = i === s.length - 1;
      return r === "**" ? a ? jht : Fht : r === "*" ? a ? VZ : Q_ : r.indexOf("*.") === 0 ? G_ + KZ(r.slice(1)) + (a ? z_ : g0) : KZ(r) + (a ?
      z_ : g0);
    })].join(""));
  }
  n(Rht, "pathToPattern");
});

// ../node_modules/@babel/core/lib/config/printer.js
var HZ = g((um) => {
  "use strict";
  Object.defineProperty(um, "__esModule", {
    value: !0
  });
  um.ConfigPrinter = um.ChainFormatter = void 0;
  function $Z() {
    let t = ca();
    return $Z = /* @__PURE__ */ n(function() {
      return t;
    }, "_gensync"), t;
  }
  n($Z, "_gensync");
  var qht = um.ChainFormatter = {
    Programmatic: 0,
    Config: 1
  }, tL = {
    title(t, e, s) {
      let r = "";
      return t === qht.Programmatic ? (r = "programmatic options", e && (r += " from " + e)) : r = "config " + s, r;
    },
    loc(t, e) {
      let s = "";
      return t != null && (s += `.overrides[${t}]`), e != null && (s += `.env["${e}"]`), s;
    },
    *optionsAndDescriptors(t) {
      let e = Object.assign({}, t.options);
      delete e.overrides, delete e.env;
      let s = [...yield* t.plugins()];
      s.length && (e.plugins = s.map((i) => WZ(i)));
      let r = [...yield* t.presets()];
      return r.length && (e.presets = [...r].map((i) => WZ(i))), JSON.stringify(e, void 0, 2);
    }
  };
  function WZ(t) {
    var e;
    let s = (e = t.file) == null ? void 0 : e.request;
    return s == null && (typeof t.value == "object" ? s = t.value : typeof t.value == "function" && (s = `[Function: ${t.value.toString().slice(
    0, 50)} ... ]`)), s == null && (s = "[Unknown]"), t.options === void 0 ? s : t.name == null ? [s, t.options] : [s, t.options, t.name];
  }
  n(WZ, "descriptorToConfig");
  var sL = class t {
    static {
      n(this, "ConfigPrinter");
    }
    constructor() {
      this._stack = [];
    }
    configure(e, s, {
      callerName: r,
      filepath: i
    }) {
      return e ? (a, o, l) => {
        this._stack.push({
          type: s,
          callerName: r,
          filepath: i,
          content: a,
          index: o,
          envName: l
        });
      } : () => {
      };
    }
    static *format(e) {
      let s = tL.title(e.type, e.callerName, e.filepath), r = tL.loc(e.index, e.envName);
      r && (s += ` ${r}`);
      let i = yield* tL.optionsAndDescriptors(e.content);
      return `${s}
${i}`;
    }
    *output() {
      return this._stack.length === 0 ? "" : (yield* $Z().all(this._stack.map((s) => t.format(s)))).join(`

`);
    }
  };
  um.ConfigPrinter = sL;
});

// ../node_modules/@babel/core/lib/config/config-chain.js
var hL = g((pm) => {
  "use strict";
  Object.defineProperty(pm, "__esModule", {
    value: !0
  });
  pm.buildPresetChain = Vht;
  pm.buildPresetChainWalker = void 0;
  pm.buildRootChain = Xht;
  function XZ() {
    let t = require("path");
    return XZ = /* @__PURE__ */ n(function() {
      return t;
    }, "_path"), t;
  }
  n(XZ, "_path");
  function zZ() {
    let t = yo();
    return zZ = /* @__PURE__ */ n(function() {
      return t;
    }, "_debug"), t;
  }
  n(zZ, "_debug");
  var aL = y0(), GZ = eL(), b0 = HZ(), Uht = bu(), Kht = qh(), T0 = f0(), ki = Rh(), Ma = W_(), JZ = zZ()("babel:config:config-chain");
  function* Vht(t, e) {
    let s = yield* Wht(t, e);
    return s ? {
      plugins: ZP(s.plugins),
      presets: ZP(s.presets),
      options: s.options.map((r) => QZ(r)),
      files: /* @__PURE__ */ new Set()
    } : null;
  }
  n(Vht, "buildPresetChain");
  var Wht = pm.buildPresetChainWalker = pL({
    root: /* @__PURE__ */ n((t) => $ht(t), "root"),
    env: /* @__PURE__ */ n((t, e) => Hht(t)(e), "env"),
    overrides: /* @__PURE__ */ n((t, e) => Jht(t)(e), "overrides"),
    overridesEnv: /* @__PURE__ */ n((t, e, s) => Yht(t)(e)(s), "overridesEnv"),
    createLogger: /* @__PURE__ */ n(() => () => {
    }, "createLogger")
  }), $ht = (0, ki.makeWeakCacheSync)((t) => oL(t, t.alias, Ma.createUncachedDescriptors)), Hht = (0, ki.makeWeakCacheSync)((t) => (0, ki.makeStrongCacheSync)(
  (e) => lL(t, t.alias, Ma.createUncachedDescriptors, e))), Jht = (0, ki.makeWeakCacheSync)((t) => (0, ki.makeStrongCacheSync)((e) => uL(t, t.
  alias, Ma.createUncachedDescriptors, e))), Yht = (0, ki.makeWeakCacheSync)((t) => (0, ki.makeStrongCacheSync)((e) => (0, ki.makeStrongCacheSync)(
  (s) => cL(t, t.alias, Ma.createUncachedDescriptors, e, s))));
  function* Xht(t, e) {
    let s, r, i = new b0.ConfigPrinter(), a = yield* eft({
      options: t,
      dirname: e.cwd
    }, e, void 0, i);
    if (!a) return null;
    let o = yield* i.output(), l;
    typeof t.configFile == "string" ? l = yield* (0, T0.loadConfig)(t.configFile, e.cwd, e.envName, e.caller) : t.configFile !== !1 && (l = yield* (0, T0.
    findRootConfig)(e.root, e.envName, e.caller));
    let {
      babelrc: u,
      babelrcRoots: c
    } = t, p = e.cwd, h = QP(), f = new b0.ConfigPrinter();
    if (l) {
      let E = Ght(l), V = yield* iL(E, e, void 0, f);
      if (!V) return null;
      s = yield* f.output(), u === void 0 && (u = E.options.babelrc), c === void 0 && (p = E.dirname, c = E.options.babelrcRoots), cm(h, V);
    }
    let d, m, y = !1, T = QP();
    if ((u === !0 || u === void 0) && typeof e.filename == "string") {
      let E = yield* (0, T0.findPackageData)(e.filename);
      if (E && zht(e, E, c, p)) {
        if ({
          ignore: d,
          config: m
        } = yield* (0, T0.findRelativeConfig)(E, e.envName, e.caller), d && T.files.add(d.filepath), d && ZZ(e, d.ignore, null, d.dirname) &&
        (y = !0), m && !y) {
          let V = Qht(m), W = new b0.ConfigPrinter(), oe = yield* iL(V, e, void 0, W);
          oe ? (r = yield* W.output(), cm(T, oe)) : y = !0;
        }
        m && y && T.files.add(m.filepath);
      }
    }
    e.showConfig && console.log(`Babel configs on "${e.filename}" (ascending priority):
` + [s, r, o].filter((E) => !!E).join(`

`) + `
-----End Babel configs-----`);
    let b = cm(cm(cm(QP(), h), T), a);
    return {
      plugins: y ? [] : ZP(b.plugins),
      presets: y ? [] : ZP(b.presets),
      options: y ? [] : b.options.map((E) => QZ(E)),
      fileHandling: y ? "ignored" : "transpile",
      ignore: d || void 0,
      babelrc: m || void 0,
      config: l || void 0,
      files: b.files
    };
  }
  n(Xht, "buildRootChain");
  function zht(t, e, s, r) {
    if (typeof s == "boolean") return s;
    let i = t.root;
    if (s === void 0)
      return e.directories.includes(i);
    let a = s;
    return Array.isArray(a) || (a = [a]), a = a.map((o) => typeof o == "string" ? XZ().resolve(r, o) : o), a.length === 1 && a[0] === i ? e.
    directories.includes(i) : a.some((o) => (typeof o == "string" && (o = (0, GZ.default)(o, r)), e.directories.some((l) => eee(o, r, l, t))));
  }
  n(zht, "babelrcLoadEnabled");
  var Ght = (0, ki.makeWeakCacheSync)((t) => ({
    filepath: t.filepath,
    dirname: t.dirname,
    options: (0, aL.validate)("configfile", t.options, t.filepath)
  })), Qht = (0, ki.makeWeakCacheSync)((t) => ({
    filepath: t.filepath,
    dirname: t.dirname,
    options: (0, aL.validate)("babelrcfile", t.options, t.filepath)
  })), Zht = (0, ki.makeWeakCacheSync)((t) => ({
    filepath: t.filepath,
    dirname: t.dirname,
    options: (0, aL.validate)("extendsfile", t.options, t.filepath)
  })), eft = pL({
    root: /* @__PURE__ */ n((t) => oL(t, "base", Ma.createCachedDescriptors), "root"),
    env: /* @__PURE__ */ n((t, e) => lL(t, "base", Ma.createCachedDescriptors, e), "env"),
    overrides: /* @__PURE__ */ n((t, e) => uL(t, "base", Ma.createCachedDescriptors, e), "overrides"),
    overridesEnv: /* @__PURE__ */ n((t, e, s) => cL(t, "base", Ma.createCachedDescriptors, e, s), "overridesEnv"),
    createLogger: /* @__PURE__ */ n((t, e, s) => oft(t, e, s), "createLogger")
  }), tft = pL({
    root: /* @__PURE__ */ n((t) => sft(t), "root"),
    env: /* @__PURE__ */ n((t, e) => rft(t)(e), "env"),
    overrides: /* @__PURE__ */ n((t, e) => ift(t)(e), "overrides"),
    overridesEnv: /* @__PURE__ */ n((t, e, s) => nft(t)(e)(s), "overridesEnv"),
    createLogger: /* @__PURE__ */ n((t, e, s) => aft(t.filepath, e, s), "createLogger")
  });
  function* iL(t, e, s, r) {
    let i = yield* tft(t, e, s, r);
    return i?.files.add(t.filepath), i;
  }
  n(iL, "loadFileChain");
  var sft = (0, ki.makeWeakCacheSync)((t) => oL(t, t.filepath, Ma.createUncachedDescriptors)), rft = (0, ki.makeWeakCacheSync)((t) => (0, ki.
  makeStrongCacheSync)((e) => lL(t, t.filepath, Ma.createUncachedDescriptors, e))), ift = (0, ki.makeWeakCacheSync)((t) => (0, ki.makeStrongCacheSync)(
  (e) => uL(t, t.filepath, Ma.createUncachedDescriptors, e))), nft = (0, ki.makeWeakCacheSync)((t) => (0, ki.makeStrongCacheSync)((e) => (0, ki.
  makeStrongCacheSync)((s) => cL(t, t.filepath, Ma.createUncachedDescriptors, e, s))));
  function aft(t, e, s) {
    return s ? s.configure(e.showConfig, b0.ChainFormatter.Config, {
      filepath: t
    }) : () => {
    };
  }
  n(aft, "buildFileLogger");
  function oL({
    dirname: t,
    options: e
  }, s, r) {
    return r(t, e, s);
  }
  n(oL, "buildRootDescriptors");
  function oft(t, e, s) {
    var r;
    return s ? s.configure(e.showConfig, b0.ChainFormatter.Programmatic, {
      callerName: (r = e.caller) == null ? void 0 : r.name
    }) : () => {
    };
  }
  n(oft, "buildProgrammaticLogger");
  function lL({
    dirname: t,
    options: e
  }, s, r, i) {
    var a;
    let o = (a = e.env) == null ? void 0 : a[i];
    return o ? r(t, o, `${s}.env["${i}"]`) : null;
  }
  n(lL, "buildEnvDescriptors");
  function uL({
    dirname: t,
    options: e
  }, s, r, i) {
    var a;
    let o = (a = e.overrides) == null ? void 0 : a[i];
    if (!o) throw new Error("Assertion failure - missing override");
    return r(t, o, `${s}.overrides[${i}]`);
  }
  n(uL, "buildOverrideDescriptors");
  function cL({
    dirname: t,
    options: e
  }, s, r, i, a) {
    var o, l;
    let u = (o = e.overrides) == null ? void 0 : o[i];
    if (!u) throw new Error("Assertion failure - missing override");
    let c = (l = u.env) == null ? void 0 : l[a];
    return c ? r(t, c, `${s}.overrides[${i}].env["${a}"]`) : null;
  }
  n(cL, "buildOverrideEnvDescriptors");
  function pL({
    root: t,
    env: e,
    overrides: s,
    overridesEnv: r,
    createLogger: i
  }) {
    return /* @__PURE__ */ n(function* (o, l, u = /* @__PURE__ */ new Set(), c) {
      let {
        dirname: p
      } = o, h = [], f = t(o);
      if (GP(f, p, l, o.filepath)) {
        h.push({
          config: f,
          envName: void 0,
          index: void 0
        });
        let y = e(o, l.envName);
        y && GP(y, p, l, o.filepath) && h.push({
          config: y,
          envName: l.envName,
          index: void 0
        }), (f.options.overrides || []).forEach((T, b) => {
          let E = s(o, b);
          if (GP(E, p, l, o.filepath)) {
            h.push({
              config: E,
              index: b,
              envName: void 0
            });
            let V = r(o, b, l.envName);
            V && GP(V, p, l, o.filepath) && h.push({
              config: V,
              index: b,
              envName: l.envName
            });
          }
        });
      }
      if (h.some(({
        config: {
          options: {
            ignore: y,
            only: T
          }
        }
      }) => ZZ(l, y, T, p)))
        return null;
      let d = QP(), m = i(o, l, c);
      for (let {
        config: y,
        index: T,
        envName: b
      } of h) {
        if (!(yield* lft(d, y.options, p, l, u, c)))
          return null;
        m(y, T, b), yield* uft(d, y);
      }
      return d;
    }, "chainWalker");
  }
  n(pL, "makeChainWalker");
  function* lft(t, e, s, r, i, a) {
    if (e.extends === void 0) return !0;
    let o = yield* (0, T0.loadConfig)(e.extends, s, r.envName, r.caller);
    if (i.has(o))
      throw new Error(`Configuration cycle detected loading ${o.filepath}.
File already loaded following the config chain:
` + Array.from(i, (u) => ` - ${u.filepath}`).join(`
`));
    i.add(o);
    let l = yield* iL(Zht(o), r, i, a);
    return i.delete(o), l ? (cm(t, l), !0) : !1;
  }
  n(lft, "mergeExtendsChain");
  function cm(t, e) {
    t.options.push(...e.options), t.plugins.push(...e.plugins), t.presets.push(...e.presets);
    for (let s of e.files)
      t.files.add(s);
    return t;
  }
  n(cm, "mergeChain");
  function* uft(t, {
    options: e,
    plugins: s,
    presets: r
  }) {
    return t.options.push(e), t.plugins.push(...yield* s()), t.presets.push(...yield* r()), t;
  }
  n(uft, "mergeChainOpts");
  function QP() {
    return {
      options: [],
      presets: [],
      plugins: [],
      files: /* @__PURE__ */ new Set()
    };
  }
  n(QP, "emptyChain");
  function QZ(t) {
    let e = Object.assign({}, t);
    return delete e.extends, delete e.env, delete e.overrides, delete e.plugins, delete e.presets, delete e.passPerPreset, delete e.ignore, delete e.
    only, delete e.test, delete e.include, delete e.exclude, hasOwnProperty.call(e, "sourceMap") && (e.sourceMaps = e.sourceMap, delete e.sourceMap),
    e;
  }
  n(QZ, "normalizeOptions");
  function ZP(t) {
    let e = /* @__PURE__ */ new Map(), s = [];
    for (let r of t)
      if (typeof r.value == "function") {
        let i = r.value, a = e.get(i);
        a || (a = /* @__PURE__ */ new Map(), e.set(i, a));
        let o = a.get(r.name);
        o ? o.value = r : (o = {
          value: r
        }, s.push(o), r.ownPass || a.set(r.name, o));
      } else
        s.push({
          value: r
        });
    return s.reduce((r, i) => (r.push(i.value), r), []);
  }
  n(ZP, "dedupDescriptors");
  function GP({
    options: t
  }, e, s, r) {
    return (t.test === void 0 || rL(s, t.test, e, r)) && (t.include === void 0 || rL(s, t.include, e, r)) && (t.exclude === void 0 || !rL(s,
    t.exclude, e, r));
  }
  n(GP, "configIsApplicable");
  function rL(t, e, s, r) {
    let i = Array.isArray(e) ? e : [e];
    return nL(t, i, s, r);
  }
  n(rL, "configFieldIsApplicable");
  function YZ(t, e) {
    return e instanceof RegExp ? String(e) : e;
  }
  n(YZ, "ignoreListReplacer");
  function ZZ(t, e, s, r) {
    if (e && nL(t, e, r)) {
      var i;
      let o = `No config is applied to "${(i = t.filename) != null ? i : "(unknown)"}" because it matches one of \`ignore: ${JSON.stringify(
      e, YZ)}\` from "${r}"`;
      return JZ(o), t.showConfig && console.log(o), !0;
    }
    if (s && !nL(t, s, r)) {
      var a;
      let o = `No config is applied to "${(a = t.filename) != null ? a : "(unknown)"}" because it fails to match one of \`only: ${JSON.stringify(
      s, YZ)}\` from "${r}"`;
      return JZ(o), t.showConfig && console.log(o), !0;
    }
    return !1;
  }
  n(ZZ, "shouldIgnore");
  function nL(t, e, s, r) {
    return e.some((i) => eee(i, s, t.filename, t, r));
  }
  n(nL, "matchesPatterns");
  function eee(t, e, s, r, i) {
    if (typeof t == "function")
      return !!(0, Uht.endHiddenCallStack)(t)(s, {
        dirname: e,
        envName: r.envName,
        caller: r.caller
      });
    if (typeof s != "string")
      throw new Kht.default("Configuration contains string/RegExp pattern, but no filename was passed to Babel", i);
    return typeof t == "string" && (t = (0, GZ.default)(t, e)), t.test(s);
  }
  n(eee, "matchPattern");
});

// ../node_modules/@babel/core/lib/config/validation/plugins.js
var tee = g((fL) => {
  "use strict";
  Object.defineProperty(fL, "__esModule", {
    value: !0
  });
  fL.validatePluginObject = fft;
  var wu = Y_(), cft = {
    name: wu.assertString,
    manipulateOptions: wu.assertFunction,
    pre: wu.assertFunction,
    post: wu.assertFunction,
    inherits: wu.assertFunction,
    visitor: pft,
    parserOverride: wu.assertFunction,
    generatorOverride: wu.assertFunction
  };
  function pft(t, e) {
    let s = (0, wu.assertObject)(t, e);
    if (s && (Object.keys(s).forEach((r) => {
      r !== "_exploded" && r !== "_verified" && hft(r, s[r]);
    }), s.enter || s.exit))
      throw new Error(`${(0, wu.msg)(t)} cannot contain catch-all "enter" or "exit" handlers. Please target individual nodes.`);
    return s;
  }
  n(pft, "assertVisitorMap");
  function hft(t, e) {
    if (e && typeof e == "object")
      Object.keys(e).forEach((s) => {
        if (s !== "enter" && s !== "exit")
          throw new Error(`.visitor["${t}"] may only have .enter and/or .exit handlers.`);
      });
    else if (typeof e != "function")
      throw new Error(`.visitor["${t}"] must be a function`);
  }
  n(hft, "assertVisitorHandler");
  function fft(t) {
    let e = {
      type: "root",
      source: "plugin"
    };
    return Object.keys(t).forEach((s) => {
      let r = cft[s];
      if (r)
        r({
          type: "option",
          name: s,
          parent: e
        }, t[s]);
      else {
        let i = new Error(`.${s} is not a valid Plugin property`);
        throw i.code = "BABEL_UNKNOWN_PLUGIN_PROPERTY", i;
      }
    }), t;
  }
  n(fft, "validatePluginObject");
});

// ../node_modules/@babel/core/lib/config/helpers/environment.js
var mL = g((dL) => {
  "use strict";
  Object.defineProperty(dL, "__esModule", {
    value: !0
  });
  dL.getEnv = dft;
  function dft(t = "development") {
    return process.env.BABEL_ENV || process.env.NODE_ENV || t;
  }
  n(dft, "getEnv");
});

// ../node_modules/@babel/core/lib/config/partial.js
var yL = g((rE) => {
  "use strict";
  Object.defineProperty(rE, "__esModule", {
    value: !0
  });
  rE.default = ree;
  rE.loadPartialConfig = Aft;
  function eE() {
    let t = require("path");
    return eE = /* @__PURE__ */ n(function() {
      return t;
    }, "_path"), t;
  }
  n(eE, "_path");
  var mft = CP(), yft = hP(), see = h0(), gft = hL(), Tft = mL(), bft = y0(), tE = f0(), xft = V_(), Sft = ["showIgnoredFiles"];
  function Pft(t, e) {
    if (t == null) return {};
    var s = {};
    for (var r in t) if ({}.hasOwnProperty.call(t, r)) {
      if (e.includes(r)) continue;
      s[r] = t[r];
    }
    return s;
  }
  n(Pft, "_objectWithoutPropertiesLoose");
  function Eft(t, e) {
    switch (e) {
      case "root":
        return t;
      case "upward-optional": {
        let s = (0, tE.findConfigUpwards)(t);
        return s === null ? t : s;
      }
      case "upward": {
        let s = (0, tE.findConfigUpwards)(t);
        if (s !== null) return s;
        throw Object.assign(new Error(`Babel was run with rootMode:"upward" but a root could not be found when searching upward from "${t}".\

One of the following config files must be in the directory tree: "${tE.ROOT_CONFIG_FILENAMES.join(", ")}".`), {
          code: "BABEL_ROOT_NOT_FOUND",
          dirname: t
        });
      }
      default:
        throw new Error("Assertion failure - unknown rootMode value.");
    }
  }
  n(Eft, "resolveRootMode");
  function* ree(t) {
    if (t != null && (typeof t != "object" || Array.isArray(t)))
      throw new Error("Babel options must be an object, null, or undefined");
    let e = t ? (0, bft.validate)("arguments", t) : {}, {
      envName: s = (0, Tft.getEnv)(),
      cwd: r = ".",
      root: i = ".",
      rootMode: a = "root",
      caller: o,
      cloneInputAst: l = !0
    } = e, u = eE().resolve(r), c = Eft(eE().resolve(u, i), a), p = typeof e.filename == "string" ? eE().resolve(r, e.filename) : void 0, h = yield* (0, tE.
    resolveShowConfigPath)(u), f = {
      filename: p,
      cwd: u,
      root: c,
      envName: s,
      caller: o,
      showConfig: h === p
    }, d = yield* (0, gft.buildRootChain)(e, f);
    if (!d) return null;
    let m = {
      assumptions: {}
    };
    return d.options.forEach((T) => {
      (0, yft.mergeOptions)(m, T);
    }), {
      options: Object.assign({}, m, {
        targets: (0, xft.resolveTargets)(m, c),
        cloneInputAst: l,
        babelrc: !1,
        configFile: !1,
        browserslistConfigFile: !1,
        passPerPreset: !1,
        envName: f.envName,
        cwd: f.cwd,
        root: f.root,
        rootMode: "root",
        filename: typeof f.filename == "string" ? f.filename : void 0,
        plugins: d.plugins.map((T) => (0, see.createItemFromDescriptor)(T)),
        presets: d.presets.map((T) => (0, see.createItemFromDescriptor)(T))
      }),
      context: f,
      fileHandling: d.fileHandling,
      ignore: d.ignore,
      babelrc: d.babelrc,
      config: d.config,
      files: d.files
    };
  }
  n(ree, "loadPrivatePartialConfig");
  function* Aft(t) {
    let e = !1;
    if (typeof t == "object" && t !== null && !Array.isArray(t)) {
      var s = t;
      ({
        showIgnoredFiles: e
      } = s), t = Pft(s, Sft);
    }
    let r = yield* ree(t);
    if (!r) return null;
    let {
      options: i,
      babelrc: a,
      ignore: o,
      config: l,
      fileHandling: u,
      files: c
    } = r;
    return u === "ignored" && !e ? null : ((i.plugins || []).forEach((p) => {
      if (p.value instanceof mft.default)
        throw new Error("Passing cached plugin instances is not supported in babel.loadPartialConfig()");
    }), new sE(i, a ? a.filepath : void 0, o ? o.filepath : void 0, l ? l.filepath : void 0, u, c));
  }
  n(Aft, "loadPartialConfig");
  var sE = class {
    static {
      n(this, "PartialConfig");
    }
    constructor(e, s, r, i, a, o) {
      this.options = void 0, this.babelrc = void 0, this.babelignore = void 0, this.config = void 0, this.fileHandling = void 0, this.files =
      void 0, this.options = e, this.babelignore = r, this.babelrc = s, this.config = i, this.fileHandling = a, this.files = o, Object.freeze(
      this);
    }
    hasFilesystemConfig() {
      return this.babelrc !== void 0 || this.config !== void 0;
    }
  };
  Object.freeze(sE.prototype);
});

// ../node_modules/@babel/core/lib/config/full.js
var hee = g((iE) => {
  "use strict";
  Object.defineProperty(iE, "__esModule", {
    value: !0
  });
  iE.default = void 0;
  function oee() {
    let t = ca();
    return oee = /* @__PURE__ */ n(function() {
      return t;
    }, "_gensync"), t;
  }
  n(oee, "_gensync");
  var bL = tp(), iee = hP(), vft = ni(), lee = CP(), Cft = h0(), wft = hL(), PL = AP();
  function xL() {
    let t = Yl();
    return xL = /* @__PURE__ */ n(function() {
      return t;
    }, "_traverse"), t;
  }
  n(xL, "_traverse");
  var EL = Rh(), SL = y0(), Ift = tee(), uee = u_(), Nft = yL(), kft = qh(), t$s = iE.default = oee()(/* @__PURE__ */ n(function* (e) {
    var s;
    let r = yield* (0, Nft.default)(e);
    if (!r)
      return null;
    let {
      options: i,
      context: a,
      fileHandling: o
    } = r;
    if (o === "ignored")
      return null;
    let l = {}, {
      plugins: u,
      presets: c
    } = i;
    if (!u || !c)
      throw new Error("Assertion failure - plugins and presets exist");
    let p = Object.assign({}, a, {
      targets: i.targets
    }), h = /* @__PURE__ */ n((W) => {
      let oe = (0, Cft.getItemDescriptor)(W);
      if (!oe)
        throw new Error("Assertion failure - must be config item");
      return oe;
    }, "toDescriptor"), f = c.map(h), d = u.map(h), m = [[]], y = [], T = [];
    if (yield* nee(a, /* @__PURE__ */ n(function* W(oe, de) {
      let ye = [];
      for (let be = 0; be < oe.length; be++) {
        let me = oe[be];
        if (me.options !== !1) {
          try {
            var Oe = yield* Mft(me, p);
          } catch (he) {
            throw he.code === "BABEL_UNKNOWN_OPTION" && (0, SL.checkNoUnwrappedItemOptionPairs)(oe, be, "preset", he), he;
          }
          T.push(Oe.externalDependencies), me.ownPass ? ye.push({
            preset: Oe.chain,
            pass: []
          }) : ye.unshift({
            preset: Oe.chain,
            pass: de
          });
        }
      }
      if (ye.length > 0) {
        m.splice(1, 0, ...ye.map((be) => be.pass).filter((be) => be !== de));
        for (let {
          preset: be,
          pass: me
        } of ye) {
          if (!be || (me.push(...be.plugins), yield* W(be.presets, me))) return !0;
          be.options.forEach((Pe) => {
            (0, iee.mergeOptions)(l, Pe);
          });
        }
      }
    }, "recursePresetDescriptors"))(f, m[0])) return null;
    let E = l;
    (0, iee.mergeOptions)(E, i);
    let V = Object.assign({}, p, {
      assumptions: (s = E.assumptions) != null ? s : {}
    });
    return yield* nee(a, /* @__PURE__ */ n(function* () {
      m[0].unshift(...d);
      for (let de of m) {
        let ye = [];
        y.push(ye);
        for (let Oe = 0; Oe < de.length; Oe++) {
          let be = de[Oe];
          if (be.options !== !1) {
            try {
              var oe = yield* pee(be, V);
            } catch (me) {
              throw me.code === "BABEL_UNKNOWN_PLUGIN_PROPERTY" && (0, SL.checkNoUnwrappedItemOptionPairs)(de, Oe, "plugin", me), me;
            }
            ye.push(oe), T.push(oe.externalDependencies);
          }
        }
      }
    }, "loadPluginDescriptors"))(), E.plugins = y[0], E.presets = y.slice(1).filter((W) => W.length > 0).map((W) => ({
      plugins: W
    })), E.passPerPreset = E.presets.length > 0, {
      options: E,
      passes: y,
      externalDependencies: (0, PL.finalize)(T)
    };
  }, "loadFullConfig"));
  function nee(t, e) {
    return function* (s, r) {
      try {
        return yield* e(s, r);
      } catch (a) {
        if (!/^\[BABEL\]/.test(a.message)) {
          var i;
          a.message = `[BABEL] ${(i = t.filename) != null ? i : "unknown file"}: ${a.message}`;
        }
        throw a;
      }
    };
  }
  n(nee, "enhanceError");
  var cee = /* @__PURE__ */ n((t) => (0, EL.makeWeakCache)(function* ({
    value: e,
    options: s,
    dirname: r,
    alias: i
  }, a) {
    if (s === !1) throw new Error("Assertion failure");
    s = s || {};
    let o = [], l = e;
    if (typeof e == "function") {
      let u = (0, bL.maybeAsync)(e, "You appear to be using an async plugin/preset, but Babel has been called synchronously"), c = Object.assign(
      {}, vft, t(a, o));
      try {
        l = yield* u(c, s, r);
      } catch (p) {
        throw i && (p.message += ` (While processing: ${JSON.stringify(i)})`), p;
      }
    }
    if (!l || typeof l != "object")
      throw new Error("Plugin/Preset did not return an object.");
    if ((0, bL.isThenable)(l))
      throw yield* [], new Error(`You appear to be using a promise as a plugin, which your current version of Babel does not support. If you\
're using a published plugin, you may need to upgrade your @babel/core version. As an alternative, you can prefix the promise with "await". \
(While processing: ${JSON.stringify(i)})`);
    if (o.length > 0 && (!a.configured() || a.mode() === "forever")) {
      let u = `A plugin/preset has external untracked dependencies (${o[0]}), but the cache `;
      throw a.configured() ? u += " has been configured to never be invalidated. " : u += "has not been configured to be invalidated when th\
e external dependencies change. ", u += `Plugins/presets should configure their cache to be invalidated when the external dependencies chang\
e, for example using \`api.cache.invalidate(() => statSync(filepath).mtimeMs)\` or \`api.cache.never()\`
(While processing: ${JSON.stringify(i)})`, new Error(u);
    }
    return {
      value: l,
      options: s,
      dirname: r,
      alias: i,
      externalDependencies: (0, PL.finalize)(o)
    };
  }), "makeDescriptorLoader"), Dft = cee(uee.makePluginAPI), Oft = cee(uee.makePresetAPI), _ft = (0, EL.makeWeakCache)(function* ({
    value: t,
    options: e,
    dirname: s,
    alias: r,
    externalDependencies: i
  }, a) {
    let o = (0, Ift.validatePluginObject)(t), l = Object.assign({}, o);
    if (l.visitor && (l.visitor = xL().default.explode(Object.assign({}, l.visitor))), l.inherits) {
      let u = {
        name: void 0,
        alias: `${r}$inherits`,
        value: l.inherits,
        options: e,
        dirname: s
      }, c = yield* (0, bL.forwardAsync)(pee, (p) => a.invalidate((h) => p(u, h)));
      l.pre = TL(c.pre, l.pre), l.post = TL(c.post, l.post), l.manipulateOptions = TL(c.manipulateOptions, l.manipulateOptions), l.visitor =
      xL().default.visitors.merge([c.visitor || {}, l.visitor || {}]), c.externalDependencies.length > 0 && (i.length === 0 ? i = c.externalDependencies :
      i = (0, PL.finalize)([i, c.externalDependencies]));
    }
    return new lee.default(l, e, r, i);
  });
  function* pee(t, e) {
    if (t.value instanceof lee.default) {
      if (t.options)
        throw new Error("Passed options to an existing Plugin instance will not work.");
      return t.value;
    }
    return yield* _ft(yield* Dft(t, e), e);
  }
  n(pee, "loadPluginDescriptor");
  var gL = /* @__PURE__ */ n((t) => t && typeof t != "function", "needsFilename"), aee = /* @__PURE__ */ n((t, e) => {
    if (gL(t.test) || gL(t.include) || gL(t.exclude)) {
      let s = e.name ? `"${e.name}"` : "/* your preset */";
      throw new kft.default([`Preset ${s} requires a filename to be set when babel is called directly,`, "```", `babel.transformSync(code, {\
 filename: 'file.ts', presets: [${s}] });`, "```", "See https://babeljs.io/docs/en/options#filename for more information."].join(`
`));
    }
  }, "validateIfOptionNeedsFilename"), Lft = /* @__PURE__ */ n((t, e, s) => {
    if (!e.filename) {
      var r;
      let {
        options: i
      } = t;
      aee(i, s), (r = i.overrides) == null || r.forEach((a) => aee(a, s));
    }
  }, "validatePreset"), Bft = (0, EL.makeWeakCacheSync)(({
    value: t,
    dirname: e,
    alias: s,
    externalDependencies: r
  }) => ({
    options: (0, SL.validate)("preset", t),
    alias: s,
    dirname: e,
    externalDependencies: r
  }));
  function* Mft(t, e) {
    let s = Bft(yield* Oft(t, e));
    return Lft(s, e, t), {
      chain: yield* (0, wft.buildPresetChain)(s, e),
      externalDependencies: s.externalDependencies
    };
  }
  n(Mft, "loadPresetDescriptor");
  function TL(t, e) {
    return t ? e ? function(...s) {
      let r = t.apply(this, s);
      return r && typeof r.then == "function" ? r.then(() => e.apply(this, s)) : e.apply(this, s);
    } : t : e;
  }
  n(TL, "chainMaybeAsync");
});

// ../node_modules/@babel/core/lib/config/index.js
var hm = g((ja) => {
  "use strict";
  Object.defineProperty(ja, "__esModule", {
    value: !0
  });
  ja.createConfigItem = $ft;
  ja.createConfigItemAsync = Wft;
  ja.createConfigItemSync = yee;
  Object.defineProperty(ja, "default", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return fee.default;
    }, "get")
  });
  ja.loadOptions = Vft;
  ja.loadOptionsAsync = Kft;
  ja.loadOptionsSync = mee;
  ja.loadPartialConfig = qft;
  ja.loadPartialConfigAsync = Rft;
  ja.loadPartialConfigSync = dee;
  function lE() {
    let t = ca();
    return lE = /* @__PURE__ */ n(function() {
      return t;
    }, "_gensync"), t;
  }
  n(lE, "_gensync");
  var fee = hee(), Fft = yL(), jft = h0(), Fa = bu(), nE = lE()(Fft.loadPartialConfig);
  function Rft(...t) {
    return (0, Fa.beginHiddenCallStack)(nE.async)(...t);
  }
  n(Rft, "loadPartialConfigAsync");
  function dee(...t) {
    return (0, Fa.beginHiddenCallStack)(nE.sync)(...t);
  }
  n(dee, "loadPartialConfigSync");
  function qft(t, e) {
    if (e !== void 0)
      (0, Fa.beginHiddenCallStack)(nE.errback)(t, e);
    else if (typeof t == "function")
      (0, Fa.beginHiddenCallStack)(nE.errback)(void 0, t);
    else
      return dee(t);
  }
  n(qft, "loadPartialConfig");
  function* Uft(t) {
    var e;
    let s = yield* (0, fee.default)(t);
    return (e = s?.options) != null ? e : null;
  }
  n(Uft, "loadOptionsImpl");
  var aE = lE()(Uft);
  function Kft(...t) {
    return (0, Fa.beginHiddenCallStack)(aE.async)(...t);
  }
  n(Kft, "loadOptionsAsync");
  function mee(...t) {
    return (0, Fa.beginHiddenCallStack)(aE.sync)(...t);
  }
  n(mee, "loadOptionsSync");
  function Vft(t, e) {
    if (e !== void 0)
      (0, Fa.beginHiddenCallStack)(aE.errback)(t, e);
    else if (typeof t == "function")
      (0, Fa.beginHiddenCallStack)(aE.errback)(void 0, t);
    else
      return mee(t);
  }
  n(Vft, "loadOptions");
  var oE = lE()(jft.createConfigItem);
  function Wft(...t) {
    return (0, Fa.beginHiddenCallStack)(oE.async)(...t);
  }
  n(Wft, "createConfigItemAsync");
  function yee(...t) {
    return (0, Fa.beginHiddenCallStack)(oE.sync)(...t);
  }
  n(yee, "createConfigItemSync");
  function $ft(t, e, s) {
    if (s !== void 0)
      (0, Fa.beginHiddenCallStack)(oE.errback)(t, e, s);
    else if (typeof e == "function")
      (0, Fa.beginHiddenCallStack)(oE.errback)(t, void 0, s);
    else
      return yee(t, e);
  }
  n($ft, "createConfigItem");
});

// ../node_modules/@babel/core/lib/transformation/plugin-pass.js
var gee = g((uE) => {
  "use strict";
  Object.defineProperty(uE, "__esModule", {
    value: !0
  });
  uE.default = void 0;
  var x0 = class {
    static {
      n(this, "PluginPass");
    }
    constructor(e, s, r, i) {
      this._map = /* @__PURE__ */ new Map(), this.key = void 0, this.file = void 0, this.opts = void 0, this.cwd = void 0, this.filename = void 0,
      this.isAsync = void 0, this.key = s, this.file = e, this.opts = r || {}, this.cwd = e.opts.cwd, this.filename = e.opts.filename, this.
      isAsync = i;
    }
    set(e, s) {
      this._map.set(e, s);
    }
    get(e) {
      return this._map.get(e);
    }
    availableHelper(e, s) {
      return this.file.availableHelper(e, s);
    }
    addHelper(e) {
      return this.file.addHelper(e);
    }
    buildCodeFrameError(e, s, r) {
      return this.file.buildCodeFrameError(e, s, r);
    }
  };
  uE.default = x0;
  x0.prototype.getModuleName = /* @__PURE__ */ n(function() {
    return this.file.getModuleName();
  }, "getModuleName"), x0.prototype.addImport = /* @__PURE__ */ n(function() {
    this.file.addImport();
  }, "addImport");
});

// ../node_modules/@babel/core/lib/transformation/block-hoist-plugin.js
var Pee = g((vL) => {
  "use strict";
  Object.defineProperty(vL, "__esModule", {
    value: !0
  });
  vL.default = Jft;
  function xee() {
    let t = Yl();
    return xee = /* @__PURE__ */ n(function() {
      return t;
    }, "_traverse"), t;
  }
  n(xee, "_traverse");
  var Hft = CP(), AL, Tee = {
    name: "internal.blockHoist",
    visitor: {
      Block: {
        exit({
          node: t
        }) {
          t.body = bee(t.body);
        }
      },
      SwitchCase: {
        exit({
          node: t
        }) {
          t.consequent = bee(t.consequent);
        }
      }
    }
  };
  function bee(t) {
    let e = Math.pow(2, 30) - 1, s = !1;
    for (let r = 0; r < t.length; r++) {
      let i = t[r], a = See(i);
      if (a > e) {
        s = !0;
        break;
      }
      e = a;
    }
    return s ? Yft(t.slice()) : t;
  }
  n(bee, "performHoisting");
  function Jft() {
    return AL || (AL = new Hft.default(Object.assign({}, Tee, {
      visitor: xee().default.explode(Tee.visitor)
    }), {})), AL;
  }
  n(Jft, "loadBlockHoistPlugin");
  function See(t) {
    let e = t?._blockHoist;
    return e == null ? 1 : e === !0 ? 2 : e;
  }
  n(See, "priority");
  function Yft(t) {
    let e = /* @__PURE__ */ Object.create(null);
    for (let i = 0; i < t.length; i++) {
      let a = t[i], o = See(a);
      (e[o] || (e[o] = [])).push(a);
    }
    let s = Object.keys(e).map((i) => +i).sort((i, a) => a - i), r = 0;
    for (let i of s) {
      let a = e[i];
      for (let o of a)
        t[r++] = o;
    }
    return t;
  }
  n(Yft, "stableSort");
});

// ../node_modules/@babel/core/lib/transformation/normalize-opts.js
var wL = g((CL) => {
  "use strict";
  Object.defineProperty(CL, "__esModule", {
    value: !0
  });
  CL.default = Xft;
  function cE() {
    let t = require("path");
    return cE = /* @__PURE__ */ n(function() {
      return t;
    }, "_path"), t;
  }
  n(cE, "_path");
  function Xft(t) {
    let {
      filename: e,
      cwd: s,
      filenameRelative: r = typeof e == "string" ? cE().relative(s, e) : "unknown",
      sourceType: i = "module",
      inputSourceMap: a,
      sourceMaps: o = !!a,
      sourceRoot: l = t.options.moduleRoot,
      sourceFileName: u = cE().basename(r),
      comments: c = !0,
      compact: p = "auto"
    } = t.options, h = t.options, f = Object.assign({}, h, {
      parserOpts: Object.assign({
        sourceType: cE().extname(r) === ".mjs" ? "module" : i,
        sourceFileName: e,
        plugins: []
      }, h.parserOpts),
      generatorOpts: Object.assign({
        filename: e,
        auxiliaryCommentBefore: h.auxiliaryCommentBefore,
        auxiliaryCommentAfter: h.auxiliaryCommentAfter,
        retainLines: h.retainLines,
        comments: c,
        shouldPrintComment: h.shouldPrintComment,
        compact: p,
        minified: h.minified,
        sourceMaps: o,
        sourceRoot: l,
        sourceFileName: u
      }, h.generatorOpts)
    });
    for (let d of t.passes)
      for (let m of d)
        m.manipulateOptions && m.manipulateOptions(f, f.parserOpts);
    return f;
  }
  n(Xft, "normalizeOptions");
});

// ../node_modules/convert-source-map/index.js
var IL = g((oi) => {
  "use strict";
  Object.defineProperty(oi, "commentRegex", {
    get: /* @__PURE__ */ n(function() {
      return /^\s*?\/[\/\*][@#]\s+?sourceMappingURL=data:(((?:application|text)\/json)(?:;charset=([^;,]+?)?)?)?(?:;(base64))?,(.*?)$/mg;
    }, "getCommentRegex")
  });
  Object.defineProperty(oi, "mapFileCommentRegex", {
    get: /* @__PURE__ */ n(function() {
      return /(?:\/\/[@#][ \t]+?sourceMappingURL=([^\s'"`]+?)[ \t]*?$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*?(?:\*\/){1}[ \t]*?$)/mg;
    }, "getMapFileCommentRegex")
  });
  var pE;
  typeof Buffer < "u" ? typeof Buffer.from == "function" ? pE = zft : pE = Gft : pE = Qft;
  function zft(t) {
    return Buffer.from(t, "base64").toString();
  }
  n(zft, "decodeBase64WithBufferFrom");
  function Gft(t) {
    if (typeof value == "number")
      throw new TypeError("The value to decode must not be of type number.");
    return new Buffer(t, "base64").toString();
  }
  n(Gft, "decodeBase64WithNewBuffer");
  function Qft(t) {
    return decodeURIComponent(escape(atob(t)));
  }
  n(Qft, "decodeBase64WithAtob");
  function Zft(t) {
    return t.split(",").pop();
  }
  n(Zft, "stripComment");
  function edt(t, e) {
    var s = oi.mapFileCommentRegex.exec(t), r = s[1] || s[2];
    try {
      var t = e(r);
      return t != null && typeof t.catch == "function" ? t.catch(i) : t;
    } catch (a) {
      i(a);
    }
    function i(a) {
      throw new Error("An error occurred while trying to read the map file at " + r + `
` + a.stack);
    }
    n(i, "throwError");
  }
  n(edt, "readFromFileMap");
  function rn(t, e) {
    e = e || {}, e.hasComment && (t = Zft(t)), e.encoding === "base64" ? t = pE(t) : e.encoding === "uri" && (t = decodeURIComponent(t)), (e.
    isJSON || e.encoding) && (t = JSON.parse(t)), this.sourcemap = t;
  }
  n(rn, "Converter");
  rn.prototype.toJSON = function(t) {
    return JSON.stringify(this.sourcemap, null, t);
  };
  typeof Buffer < "u" ? typeof Buffer.from == "function" ? rn.prototype.toBase64 = tdt : rn.prototype.toBase64 = sdt : rn.prototype.toBase64 =
  rdt;
  function tdt() {
    var t = this.toJSON();
    return Buffer.from(t, "utf8").toString("base64");
  }
  n(tdt, "encodeBase64WithBufferFrom");
  function sdt() {
    var t = this.toJSON();
    if (typeof t == "number")
      throw new TypeError("The json to encode must not be of type number.");
    return new Buffer(t, "utf8").toString("base64");
  }
  n(sdt, "encodeBase64WithNewBuffer");
  function rdt() {
    var t = this.toJSON();
    return btoa(unescape(encodeURIComponent(t)));
  }
  n(rdt, "encodeBase64WithBtoa");
  rn.prototype.toURI = function() {
    var t = this.toJSON();
    return encodeURIComponent(t);
  };
  rn.prototype.toComment = function(t) {
    var e, s, r;
    return t != null && t.encoding === "uri" ? (e = "", s = this.toURI()) : (e = ";base64", s = this.toBase64()), r = "sourceMappingURL=data\
:application/json;charset=utf-8" + e + "," + s, t != null && t.multiline ? "/*# " + r + " */" : "//# " + r;
  };
  rn.prototype.toObject = function() {
    return JSON.parse(this.toJSON());
  };
  rn.prototype.addProperty = function(t, e) {
    if (this.sourcemap.hasOwnProperty(t)) throw new Error('property "' + t + '" already exists on the sourcemap, use set property instead');
    return this.setProperty(t, e);
  };
  rn.prototype.setProperty = function(t, e) {
    return this.sourcemap[t] = e, this;
  };
  rn.prototype.getProperty = function(t) {
    return this.sourcemap[t];
  };
  oi.fromObject = function(t) {
    return new rn(t);
  };
  oi.fromJSON = function(t) {
    return new rn(t, { isJSON: !0 });
  };
  oi.fromURI = function(t) {
    return new rn(t, { encoding: "uri" });
  };
  oi.fromBase64 = function(t) {
    return new rn(t, { encoding: "base64" });
  };
  oi.fromComment = function(t) {
    var e, s;
    return t = t.replace(/^\/\*/g, "//").replace(/\*\/$/g, ""), e = oi.commentRegex.exec(t), s = e && e[4] || "uri", new rn(t, { encoding: s,
    hasComment: !0 });
  };
  function Eee(t) {
    return new rn(t, { isJSON: !0 });
  }
  n(Eee, "makeConverter");
  oi.fromMapFileComment = function(t, e) {
    if (typeof e == "string")
      throw new Error(
        "String directory paths are no longer supported with `fromMapFileComment`\nPlease review the Upgrading documentation at https://githu\
b.com/thlorenz/convert-source-map#upgrading"
      );
    var s = edt(t, e);
    return s != null && typeof s.then == "function" ? s.then(Eee) : Eee(s);
  };
  oi.fromSource = function(t) {
    var e = t.match(oi.commentRegex);
    return e ? oi.fromComment(e.pop()) : null;
  };
  oi.fromMapFileSource = function(t, e) {
    if (typeof e == "string")
      throw new Error(
        "String directory paths are no longer supported with `fromMapFileSource`\nPlease review the Upgrading documentation at https://github\
.com/thlorenz/convert-source-map#upgrading"
      );
    var s = t.match(oi.mapFileCommentRegex);
    return s ? oi.fromMapFileComment(s.pop(), e) : null;
  };
  oi.removeComments = function(t) {
    return t.replace(oi.commentRegex, "");
  };
  oi.removeMapFileComments = function(t) {
    return t.replace(oi.mapFileCommentRegex, "");
  };
  oi.generateMapFileComment = function(t, e) {
    var s = "sourceMappingURL=" + t;
    return e && e.multiline ? "/*# " + s + " */" : "//# " + s;
  };
});

// ../node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js
var Cee = g((NL) => {
  "use strict";
  Object.defineProperty(NL, "__esModule", {
    value: !0
  });
  NL.default = idt;
  var vee = {
    asyncDoExpressions: {
      syntax: {
        name: "@babel/plugin-syntax-async-do-expressions",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-do-expressions"
      }
    },
    decimal: {
      syntax: {
        name: "@babel/plugin-syntax-decimal",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decimal"
      }
    },
    decorators: {
      syntax: {
        name: "@babel/plugin-syntax-decorators",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decorators"
      },
      transform: {
        name: "@babel/plugin-proposal-decorators",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-decorators"
      }
    },
    doExpressions: {
      syntax: {
        name: "@babel/plugin-syntax-do-expressions",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-do-expressions"
      },
      transform: {
        name: "@babel/plugin-proposal-do-expressions",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-do-expressions"
      }
    },
    exportDefaultFrom: {
      syntax: {
        name: "@babel/plugin-syntax-export-default-from",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-default-from"
      },
      transform: {
        name: "@babel/plugin-proposal-export-default-from",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-export-default-from"
      }
    },
    flow: {
      syntax: {
        name: "@babel/plugin-syntax-flow",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-flow"
      },
      transform: {
        name: "@babel/preset-flow",
        url: "https://github.com/babel/babel/tree/main/packages/babel-preset-flow"
      }
    },
    functionBind: {
      syntax: {
        name: "@babel/plugin-syntax-function-bind",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-bind"
      },
      transform: {
        name: "@babel/plugin-proposal-function-bind",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-bind"
      }
    },
    functionSent: {
      syntax: {
        name: "@babel/plugin-syntax-function-sent",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-sent"
      },
      transform: {
        name: "@babel/plugin-proposal-function-sent",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-sent"
      }
    },
    jsx: {
      syntax: {
        name: "@babel/plugin-syntax-jsx",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-jsx"
      },
      transform: {
        name: "@babel/preset-react",
        url: "https://github.com/babel/babel/tree/main/packages/babel-preset-react"
      }
    },
    pipelineOperator: {
      syntax: {
        name: "@babel/plugin-syntax-pipeline-operator",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-pipeline-operator"
      },
      transform: {
        name: "@babel/plugin-proposal-pipeline-operator",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-pipeline-operator"
      }
    },
    recordAndTuple: {
      syntax: {
        name: "@babel/plugin-syntax-record-and-tuple",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-record-and-tuple"
      }
    },
    throwExpressions: {
      syntax: {
        name: "@babel/plugin-syntax-throw-expressions",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-throw-expressions"
      },
      transform: {
        name: "@babel/plugin-proposal-throw-expressions",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-throw-expressions"
      }
    },
    typescript: {
      syntax: {
        name: "@babel/plugin-syntax-typescript",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-typescript"
      },
      transform: {
        name: "@babel/preset-typescript",
        url: "https://github.com/babel/babel/tree/main/packages/babel-preset-typescript"
      }
    }
  };
  Object.assign(vee, {
    asyncGenerators: {
      syntax: {
        name: "@babel/plugin-syntax-async-generators",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-generators"
      },
      transform: {
        name: "@babel/plugin-transform-async-generator-functions",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-async-generator-functions"
      }
    },
    classProperties: {
      syntax: {
        name: "@babel/plugin-syntax-class-properties",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties"
      },
      transform: {
        name: "@babel/plugin-transform-class-properties",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties"
      }
    },
    classPrivateProperties: {
      syntax: {
        name: "@babel/plugin-syntax-class-properties",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties"
      },
      transform: {
        name: "@babel/plugin-transform-class-properties",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties"
      }
    },
    classPrivateMethods: {
      syntax: {
        name: "@babel/plugin-syntax-class-properties",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties"
      },
      transform: {
        name: "@babel/plugin-transform-private-methods",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-methods"
      }
    },
    classStaticBlock: {
      syntax: {
        name: "@babel/plugin-syntax-class-static-block",
        url: "https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-class-static-block"
      },
      transform: {
        name: "@babel/plugin-transform-class-static-block",
        url: "https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-class-static-block"
      }
    },
    dynamicImport: {
      syntax: {
        name: "@babel/plugin-syntax-dynamic-import",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-dynamic-import"
      }
    },
    exportNamespaceFrom: {
      syntax: {
        name: "@babel/plugin-syntax-export-namespace-from",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-namespace-from"
      },
      transform: {
        name: "@babel/plugin-transform-export-namespace-from",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-export-namespace-from"
      }
    },
    importAssertions: {
      syntax: {
        name: "@babel/plugin-syntax-import-assertions",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-assertions"
      }
    },
    importAttributes: {
      syntax: {
        name: "@babel/plugin-syntax-import-attributes",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-attributes"
      }
    },
    importMeta: {
      syntax: {
        name: "@babel/plugin-syntax-import-meta",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-meta"
      }
    },
    logicalAssignment: {
      syntax: {
        name: "@babel/plugin-syntax-logical-assignment-operators",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-logical-assignment-operators"
      },
      transform: {
        name: "@babel/plugin-transform-logical-assignment-operators",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-logical-assignment-operators"
      }
    },
    moduleStringNames: {
      syntax: {
        name: "@babel/plugin-syntax-module-string-names",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-module-string-names"
      }
    },
    numericSeparator: {
      syntax: {
        name: "@babel/plugin-syntax-numeric-separator",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-numeric-separator"
      },
      transform: {
        name: "@babel/plugin-transform-numeric-separator",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-numeric-separator"
      }
    },
    nullishCoalescingOperator: {
      syntax: {
        name: "@babel/plugin-syntax-nullish-coalescing-operator",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-nullish-coalescing-operator"
      },
      transform: {
        name: "@babel/plugin-transform-nullish-coalescing-operator",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-nullish-coalescing-opearator"
      }
    },
    objectRestSpread: {
      syntax: {
        name: "@babel/plugin-syntax-object-rest-spread",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-object-rest-spread"
      },
      transform: {
        name: "@babel/plugin-transform-object-rest-spread",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-object-rest-spread"
      }
    },
    optionalCatchBinding: {
      syntax: {
        name: "@babel/plugin-syntax-optional-catch-binding",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-catch-binding"
      },
      transform: {
        name: "@babel/plugin-transform-optional-catch-binding",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-catch-binding"
      }
    },
    optionalChaining: {
      syntax: {
        name: "@babel/plugin-syntax-optional-chaining",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-chaining"
      },
      transform: {
        name: "@babel/plugin-transform-optional-chaining",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-chaining"
      }
    },
    privateIn: {
      syntax: {
        name: "@babel/plugin-syntax-private-property-in-object",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-private-property-in-object"
      },
      transform: {
        name: "@babel/plugin-transform-private-property-in-object",
        url: "https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-property-in-object"
      }
    },
    regexpUnicodeSets: {
      syntax: {
        name: "@babel/plugin-syntax-unicode-sets-regex",
        url: "https://github.com/babel/babel/blob/main/packages/babel-plugin-syntax-unicode-sets-regex/README.md"
      },
      transform: {
        name: "@babel/plugin-transform-unicode-sets-regex",
        url: "https://github.com/babel/babel/blob/main/packages/babel-plugin-proposalunicode-sets-regex/README.md"
      }
    }
  });
  var Aee = /* @__PURE__ */ n(({
    name: t,
    url: e
  }) => `${t} (${e})`, "getNameURLCombination");
  function idt(t, e, s, r) {
    let i = `Support for the experimental syntax '${t}' isn't currently enabled (${e.line}:${e.column + 1}):

` + s, a = vee[t];
    if (a) {
      let {
        syntax: l,
        transform: u
      } = a;
      if (l) {
        let c = Aee(l);
        if (u) {
          let p = Aee(u), h = u.name.startsWith("@babel/plugin") ? "plugins" : "presets";
          i += `

Add ${p} to the '${h}' section of your Babel config to enable transformation.
If you want to leave it as-is, add ${c} to the 'plugins' section to enable parsing.`;
        } else
          i += `

Add ${c} to the 'plugins' section of your Babel config to enable parsing.`;
      }
    }
    return i += `

If you already added the plugin for this syntax to your config, it's possible that your config isn't being loaded.
You can re-run Babel with the BABEL_SHOW_CONFIG_FOR environment variable to show the loaded configuration:
	npx cross-env BABEL_SHOW_CONFIG_FOR=${r === "unknown" ? "<name of the input file>" : r} <your build command>
See https://babeljs.io/docs/configuration#print-effective-configs for more info.
`, i;
  }
  n(idt, "generateMissingPluginMessage");
});

// ../node_modules/@babel/core/lib/parser/index.js
var OL = g((DL) => {
  "use strict";
  Object.defineProperty(DL, "__esModule", {
    value: !0
  });
  DL.default = adt;
  function kL() {
    let t = Qx();
    return kL = /* @__PURE__ */ n(function() {
      return t;
    }, "_parser"), t;
  }
  n(kL, "_parser");
  function wee() {
    let t = Hl();
    return wee = /* @__PURE__ */ n(function() {
      return t;
    }, "_codeFrame"), t;
  }
  n(wee, "_codeFrame");
  var ndt = Cee();
  function* adt(t, {
    parserOpts: e,
    highlightCode: s = !0,
    filename: r = "unknown"
  }, i) {
    try {
      let a = [];
      for (let o of t)
        for (let l of o) {
          let {
            parserOverride: u
          } = l;
          if (u) {
            let c = u(i, e, kL().parse);
            c !== void 0 && a.push(c);
          }
        }
      if (a.length === 0)
        return (0, kL().parse)(i, e);
      if (a.length === 1) {
        if (yield* [], typeof a[0].then == "function")
          throw new Error("You appear to be using an async parser plugin, which your current version of Babel does not support. If you're us\
ing a published plugin, you may need to upgrade your @babel/core version.");
        return a[0];
      }
      throw new Error("More than one plugin attempted to override parsing.");
    } catch (a) {
      a.code === "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED" && (a.message += `
Consider renaming the file to '.mjs', or setting sourceType:module or sourceType:unambiguous in your Babel config for this file.`);
      let {
        loc: o,
        missingPlugin: l
      } = a;
      if (o) {
        let u = (0, wee().codeFrameColumns)(i, {
          start: {
            line: o.line,
            column: o.column + 1
          }
        }, {
          highlightCode: s
        });
        l ? a.message = `${r}: ` + (0, ndt.default)(l[0], o, u, r) : a.message = `${r}: ${a.message}

` + u, a.code = "BABEL_PARSE_ERROR";
      }
      throw a;
    }
  }
  n(adt, "parser");
});

// ../node_modules/@babel/core/lib/transformation/util/clone-deep.js
var Iee = g((LL) => {
  "use strict";
  Object.defineProperty(LL, "__esModule", {
    value: !0
  });
  LL.default = odt;
  function _L(t, e) {
    if (t !== null) {
      if (e.has(t)) return e.get(t);
      let s;
      if (Array.isArray(t)) {
        s = new Array(t.length), e.set(t, s);
        for (let r = 0; r < t.length; r++)
          s[r] = typeof t[r] != "object" ? t[r] : _L(t[r], e);
      } else {
        s = {}, e.set(t, s);
        let r = Object.keys(t);
        for (let i = 0; i < r.length; i++) {
          let a = r[i];
          s[a] = typeof t[a] != "object" ? t[a] : _L(t[a], e);
        }
      }
      return s;
    }
    return t;
  }
  n(_L, "deepClone");
  function odt(t) {
    return typeof t != "object" ? t : _L(t, /* @__PURE__ */ new Map());
  }
  n(odt, "_default");
});

// ../node_modules/@babel/core/lib/transformation/normalize-file.js
var Lee = g((jL) => {
  "use strict";
  Object.defineProperty(jL, "__esModule", {
    value: !0
  });
  jL.default = ddt;
  function Dee() {
    let t = require("fs");
    return Dee = /* @__PURE__ */ n(function() {
      return t;
    }, "_fs"), t;
  }
  n(Dee, "_fs");
  function FL() {
    let t = require("path");
    return FL = /* @__PURE__ */ n(function() {
      return t;
    }, "_path"), t;
  }
  n(FL, "_path");
  function Oee() {
    let t = yo();
    return Oee = /* @__PURE__ */ n(function() {
      return t;
    }, "_debug"), t;
  }
  n(Oee, "_debug");
  function _ee() {
    let t = fe();
    return _ee = /* @__PURE__ */ n(function() {
      return t;
    }, "_t"), t;
  }
  n(_ee, "_t");
  function hE() {
    let t = IL();
    return hE = /* @__PURE__ */ n(function() {
      return t;
    }, "_convertSourceMap"), t;
  }
  n(hE, "_convertSourceMap");
  var ldt = M2(), udt = OL(), cdt = Iee(), {
    file: pdt,
    traverseFast: hdt
  } = _ee(), BL = Oee()("babel:transform:file"), fdt = /^[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,.*$/,
  Nee = /^[@#][ \t]+sourceMappingURL=([^\s'"`]+)[ \t]*$/;
  function* ddt(t, e, s, r) {
    if (s = `${s || ""}`, r) {
      if (r.type === "Program")
        r = pdt(r, [], []);
      else if (r.type !== "File")
        throw new Error("AST root must be a Program or File node");
      e.cloneInputAst && (r = (0, cdt.default)(r));
    } else
      r = yield* (0, udt.default)(t, e, s);
    let i = null;
    if (e.inputSourceMap !== !1) {
      if (typeof e.inputSourceMap == "object" && (i = hE().fromObject(e.inputSourceMap)), !i) {
        let a = kee(fdt, r);
        if (a)
          try {
            i = hE().fromComment("//" + a);
          } catch {
            BL("discarding unknown inline input sourcemap");
          }
      }
      if (!i) {
        let a = kee(Nee, r);
        if (typeof e.filename == "string" && a)
          try {
            let o = Nee.exec(a), l = Dee().readFileSync(FL().resolve(FL().dirname(e.filename), o[1]), "utf8");
            i = hE().fromJSON(l);
          } catch (o) {
            BL("discarding unknown file input sourcemap", o);
          }
        else a && BL("discarding un-loadable file input sourcemap");
      }
    }
    return new ldt.default(e, {
      code: s,
      ast: r,
      inputMap: i
    });
  }
  n(ddt, "normalizeFile");
  function ML(t, e, s) {
    return e && (e = e.filter(({
      value: r
    }) => t.test(r) ? (s = r, !1) : !0)), [e, s];
  }
  n(ML, "extractCommentsFromList");
  function kee(t, e) {
    let s = null;
    return hdt(e, (r) => {
      [r.leadingComments, s] = ML(t, r.leadingComments, s), [r.innerComments, s] = ML(t, r.innerComments, s), [r.trailingComments, s] = ML(t,
      r.trailingComments, s);
    }), s;
  }
  n(kee, "extractComments");
});

// ../node_modules/@ampproject/remapping/dist/remapping.umd.js
var Bee = g((RL, qL) => {
  (function(t, e) {
    typeof RL == "object" && typeof qL < "u" ? qL.exports = e(Dc(), hh()) : typeof define == "function" && define.amd ? define(["@jridgewell\
/trace-mapping", "@jridgewell/gen-mapping"], e) : (t = typeof globalThis < "u" ? globalThis : t || self, t.remapping = e(t.traceMapping, t.genMapping));
  })(RL, function(t, e) {
    "use strict";
    let s = /* @__PURE__ */ i("", -1, -1, "", null, !1), r = [];
    function i(y, T, b, E, V, W) {
      return { source: y, line: T, column: b, name: E, content: V, ignore: W };
    }
    n(i, "SegmentObject");
    function a(y, T, b, E, V) {
      return {
        map: y,
        sources: T,
        source: b,
        content: E,
        ignore: V
      };
    }
    n(a, "Source");
    function o(y, T) {
      return a(y, T, "", null, !1);
    }
    n(o, "MapSource");
    function l(y, T, b) {
      return a(null, r, y, T, b);
    }
    n(l, "OriginalSource");
    function u(y) {
      let T = new e.GenMapping({ file: y.map.file }), { sources: b, map: E } = y, V = E.names, W = t.decodedMappings(E);
      for (let oe = 0; oe < W.length; oe++) {
        let de = W[oe];
        for (let ye = 0; ye < de.length; ye++) {
          let Oe = de[ye], be = Oe[0], me = s;
          if (Oe.length !== 1) {
            let He = b[Oe[1]];
            if (me = c(He, Oe[2], Oe[3], Oe.length === 5 ? V[Oe[4]] : ""), me == null)
              continue;
          }
          let { column: he, line: Pe, name: tt, content: ot, source: ke, ignore: Ne } = me;
          e.maybeAddSegment(T, oe, be, ke, Pe, he, tt), ke && ot != null && e.setSourceContent(T, ke, ot), Ne && e.setIgnore(T, ke, !0);
        }
      }
      return T;
    }
    n(u, "traceMappings");
    function c(y, T, b, E) {
      if (!y.map)
        return i(y.source, T, b, E, y.content, y.ignore);
      let V = t.traceSegment(y.map, T, b);
      return V == null ? null : V.length === 1 ? s : c(y.sources[V[1]], V[2], V[3], V.length === 5 ? y.map.names[V[4]] : E);
    }
    n(c, "originalPositionFor");
    function p(y) {
      return Array.isArray(y) ? y : [y];
    }
    n(p, "asArray");
    function h(y, T) {
      let b = p(y).map((W) => new t.TraceMap(W, "")), E = b.pop();
      for (let W = 0; W < b.length; W++)
        if (b[W].sources.length > 1)
          throw new Error(`Transformation map ${W} must have exactly one source file.
Did you specify these with the most recent transformation maps first?`);
      let V = f(E, T, "", 0);
      for (let W = b.length - 1; W >= 0; W--)
        V = o(b[W], [V]);
      return V;
    }
    n(h, "buildSourceMapTree");
    function f(y, T, b, E) {
      let { resolvedSources: V, sourcesContent: W, ignoreList: oe } = y, de = E + 1, ye = V.map((Oe, be) => {
        let me = {
          importer: b,
          depth: de,
          source: Oe || "",
          content: void 0,
          ignore: void 0
        }, he = T(me.source, me), { source: Pe, content: tt, ignore: ot } = me;
        if (he)
          return f(new t.TraceMap(he, Pe), T, Pe, de);
        let ke = tt !== void 0 ? tt : W ? W[be] : null, Ne = ot !== void 0 ? ot : oe ? oe.includes(be) : !1;
        return l(Pe, ke, Ne);
      });
      return o(y, ye);
    }
    n(f, "build");
    class d {
      static {
        n(this, "SourceMap");
      }
      constructor(T, b) {
        let E = b.decodedMappings ? e.toDecodedMap(T) : e.toEncodedMap(T);
        this.version = E.version, this.file = E.file, this.mappings = E.mappings, this.names = E.names, this.ignoreList = E.ignoreList, this.
        sourceRoot = E.sourceRoot, this.sources = E.sources, b.excludeContent || (this.sourcesContent = E.sourcesContent);
      }
      toString() {
        return JSON.stringify(this);
      }
    }
    function m(y, T, b) {
      let E = typeof b == "object" ? b : { excludeContent: !!b, decodedMappings: !1 }, V = h(y, T);
      return new d(u(V), E);
    }
    return n(m, "remapping"), m;
  });
});

// ../node_modules/@babel/core/lib/transformation/file/merge-map.js
var jee = g((UL) => {
  "use strict";
  Object.defineProperty(UL, "__esModule", {
    value: !0
  });
  UL.default = mdt;
  function Fee() {
    let t = Bee();
    return Fee = /* @__PURE__ */ n(function() {
      return t;
    }, "_remapping"), t;
  }
  n(Fee, "_remapping");
  function mdt(t, e, s) {
    let r = s.replace(/\\/g, "/"), i = !1, a = Fee()(Mee(e), (o, l) => o === r && !i ? (i = !0, l.source = "", Mee(t)) : null);
    return typeof t.sourceRoot == "string" && (a.sourceRoot = t.sourceRoot), Object.assign({}, a);
  }
  n(mdt, "mergeSourceMap");
  function Mee(t) {
    return Object.assign({}, t, {
      sourceRoot: null
    });
  }
  n(Mee, "rootless");
});

// ../node_modules/@babel/core/lib/transformation/file/generate.js
var qee = g((VL) => {
  "use strict";
  Object.defineProperty(VL, "__esModule", {
    value: !0
  });
  VL.default = gdt;
  function Ree() {
    let t = IL();
    return Ree = /* @__PURE__ */ n(function() {
      return t;
    }, "_convertSourceMap"), t;
  }
  n(Ree, "_convertSourceMap");
  function KL() {
    let t = Bx();
    return KL = /* @__PURE__ */ n(function() {
      return t;
    }, "_generator"), t;
  }
  n(KL, "_generator");
  var ydt = jee();
  function gdt(t, e) {
    let {
      opts: s,
      ast: r,
      code: i,
      inputMap: a
    } = e, {
      generatorOpts: o
    } = s;
    o.inputSourceMap = a?.toObject();
    let l = [];
    for (let h of t)
      for (let f of h) {
        let {
          generatorOverride: d
        } = f;
        if (d) {
          let m = d(r, o, i, KL().default);
          m !== void 0 && l.push(m);
        }
      }
    let u;
    if (l.length === 0)
      u = (0, KL().default)(r, o, i);
    else if (l.length === 1) {
      if (u = l[0], typeof u.then == "function")
        throw new Error("You appear to be using an async codegen plugin, which your current version of Babel does not support. If you're usi\
ng a published plugin, you may need to upgrade your @babel/core version.");
    } else
      throw new Error("More than one plugin attempted to override codegen.");
    let {
      code: c,
      decodedMap: p = u.map
    } = u;
    return u.__mergedMap ? p = Object.assign({}, u.map) : p && (a ? p = (0, ydt.default)(a.toObject(), p, o.sourceFileName) : p = u.map), (s.
    sourceMaps === "inline" || s.sourceMaps === "both") && (c += `
` + Ree().fromObject(p).toComment()), s.sourceMaps === "inline" && (p = null), {
      outputCode: c,
      outputMap: p
    };
  }
  n(gdt, "generateCode");
});

// ../node_modules/@babel/core/lib/transformation/index.js
var fE = g((HL) => {
  "use strict";
  Object.defineProperty(HL, "__esModule", {
    value: !0
  });
  HL.run = Adt;
  function $L() {
    let t = Yl();
    return $L = /* @__PURE__ */ n(function() {
      return t;
    }, "_traverse"), t;
  }
  n($L, "_traverse");
  var Tdt = gee(), bdt = Pee(), xdt = wL(), Sdt = Lee(), Pdt = qee(), Edt = AP(), WL = tp();
  function* Adt(t, e, s) {
    let r = yield* (0, Sdt.default)(t.passes, (0, xdt.default)(t), e, s), i = r.opts;
    try {
      yield* vdt(r, t.passes);
    } catch (c) {
      var a;
      throw c.message = `${(a = i.filename) != null ? a : "unknown file"}: ${c.message}`, c.code || (c.code = "BABEL_TRANSFORM_ERROR"), c;
    }
    let o, l;
    try {
      i.code !== !1 && ({
        outputCode: o,
        outputMap: l
      } = (0, Pdt.default)(t.passes, r));
    } catch (c) {
      var u;
      throw c.message = `${(u = i.filename) != null ? u : "unknown file"}: ${c.message}`, c.code || (c.code = "BABEL_GENERATE_ERROR"), c;
    }
    return {
      metadata: r.metadata,
      options: i,
      ast: i.ast === !0 ? r.ast : null,
      code: o === void 0 ? null : o,
      map: l === void 0 ? null : l,
      sourceType: r.ast.program.sourceType,
      externalDependencies: (0, Edt.flattenToSet)(t.externalDependencies)
    };
  }
  n(Adt, "run");
  function* vdt(t, e) {
    let s = yield* (0, WL.isAsync)();
    for (let r of e) {
      let i = [], a = [], o = [];
      for (let u of r.concat([(0, bdt.default)()])) {
        let c = new Tdt.default(t, u.key, u.options, s);
        i.push([u, c]), a.push(c), o.push(u.visitor);
      }
      for (let [u, c] of i)
        u.pre && (yield* (0, WL.maybeAsync)(u.pre, "You appear to be using an async plugin/preset, but Babel has been called synchronously").
        call(c, t));
      let l = $L().default.visitors.merge(o, a, t.opts.wrapPluginVisitorMethod);
      (0, $L().default)(t.ast, l, t.scope);
      for (let [u, c] of i)
        u.post && (yield* (0, WL.maybeAsync)(u.post, "You appear to be using an async plugin/preset, but Babel has been called synchronously").
        call(c, t));
    }
  }
  n(vdt, "transformFile");
});

// ../node_modules/@babel/core/lib/transform-file.js
var YL = g((S0) => {
  "use strict";
  Object.defineProperty(S0, "__esModule", {
    value: !0
  });
  S0.transformFile = Ndt;
  S0.transformFileAsync = Ddt;
  S0.transformFileSync = kdt;
  function Uee() {
    let t = ca();
    return Uee = /* @__PURE__ */ n(function() {
      return t;
    }, "_gensync"), t;
  }
  n(Uee, "_gensync");
  var Cdt = hm(), wdt = fE(), Idt = dP(), JL = Uee()(function* (t, e) {
    let s = Object.assign({}, e, {
      filename: t
    }), r = yield* (0, Cdt.default)(s);
    if (r === null) return null;
    let i = yield* Idt.readFile(t, "utf8");
    return yield* (0, wdt.run)(r, i);
  });
  function Ndt(...t) {
    JL.errback(...t);
  }
  n(Ndt, "transformFile");
  function kdt(...t) {
    return JL.sync(...t);
  }
  n(kdt, "transformFileSync");
  function Ddt(...t) {
    return JL.async(...t);
  }
  n(Ddt, "transformFileAsync");
});

// ../node_modules/@babel/core/lib/config/files/import.cjs
var Vee = g((D$s, Kee) => {
  Kee.exports = /* @__PURE__ */ n(function(e) {
    return import(e);
  }, "import_");
});

// ../node_modules/@babel/preset-typescript/package.json
var Wee = g((_$s, Odt) => {
  Odt.exports = {
    name: "@babel/preset-typescript",
    version: "7.24.1",
    description: "Babel preset for TypeScript.",
    repository: {
      type: "git",
      url: "https://github.com/babel/babel.git",
      directory: "packages/babel-preset-typescript"
    },
    license: "MIT",
    publishConfig: {
      access: "public"
    },
    main: "./lib/index.js",
    keywords: [
      "babel-preset",
      "typescript"
    ],
    dependencies: {
      "@babel/helper-plugin-utils": "^7.24.0",
      "@babel/helper-validator-option": "^7.23.5",
      "@babel/plugin-syntax-jsx": "^7.24.1",
      "@babel/plugin-transform-modules-commonjs": "^7.24.1",
      "@babel/plugin-transform-typescript": "^7.24.1"
    },
    peerDependencies: {
      "@babel/core": "^7.0.0-0"
    },
    devDependencies: {
      "@babel/core": "^7.24.1",
      "@babel/helper-plugin-test-runner": "^7.24.1"
    },
    homepage: "https://babel.dev/docs/en/next/babel-preset-typescript",
    bugs: "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22area%3A%20typescript%22+is%3Aopen",
    engines: {
      node: ">=6.9.0"
    },
    author: "The Babel Team (https://babel.dev/team)",
    type: "commonjs"
  };
});

// ../node_modules/@babel/helper-plugin-utils/lib/index.js
var fm = g((P0) => {
  "use strict";
  Object.defineProperty(P0, "__esModule", {
    value: !0
  });
  P0.declare = $ee;
  P0.declarePreset = void 0;
  var XL = {
    assertVersion: /* @__PURE__ */ n((t) => (e) => {
      Ldt(e, t.version);
    }, "assertVersion")
  };
  Object.assign(XL, {
    targets: /* @__PURE__ */ n(() => () => ({}), "targets"),
    assumption: /* @__PURE__ */ n(() => () => {
    }, "assumption"),
    addExternalDependency: /* @__PURE__ */ n(() => () => {
    }, "addExternalDependency")
  });
  function $ee(t) {
    return (e, s, r) => {
      var i;
      let a;
      for (let l of Object.keys(XL)) {
        var o;
        e[l] || ((o = a) != null || (a = _dt(e)), a[l] = XL[l](a));
      }
      return t((i = a) != null ? i : e, s || {}, r);
    };
  }
  n($ee, "declare");
  var L$s = P0.declarePreset = $ee;
  function _dt(t) {
    let e = null;
    return typeof t.version == "string" && /^7\./.test(t.version) && (e = Object.getPrototypeOf(t), e && (!hasOwnProperty.call(e, "version") ||
    !hasOwnProperty.call(e, "transform") || !hasOwnProperty.call(e, "template") || !hasOwnProperty.call(e, "types")) && (e = null)), Object.
    assign({}, e, t);
  }
  n(_dt, "copyApiObject");
  function Ldt(t, e) {
    if (typeof t == "number") {
      if (!Number.isInteger(t))
        throw new Error("Expected string or integer value.");
      t = `^${t}.0.0-0`;
    }
    if (typeof t != "string")
      throw new Error("Expected string or integer value.");
    let s = Error.stackTraceLimit;
    typeof s == "number" && s < 25 && (Error.stackTraceLimit = 25);
    let r;
    throw e.slice(0, 2) === "7." ? r = new Error(`Requires Babel "^7.0.0-beta.41", but was loaded with "${e}". You'll need to update your @b\
abel/core version.`) : r = new Error(`Requires Babel "${t}", but was loaded with "${e}". If you are sure you have a compatible version of @b\
abel/core, it is likely that something in your build process is loading the wrong version. Inspect the stack trace of this error to look for\
 the first entry that doesn't mention "@babel/core" or "babel-core" to see what is calling Babel.`), typeof s == "number" && (Error.stackTraceLimit =
    s), Object.assign(r, {
      code: "BABEL_VERSION_UNSUPPORTED",
      version: e,
      range: t
    });
  }
  n(Ldt, "throwVersionError");
});

// ../node_modules/@babel/plugin-syntax-typescript/lib/index.js
var Hee = g((dE) => {
  "use strict";
  Object.defineProperty(dE, "__esModule", {
    value: !0
  });
  dE.default = void 0;
  var Bdt = fm();
  zL = /* @__PURE__ */ n(function(t, e) {
    let s = [];
    t.forEach((r, i) => {
      (Array.isArray(r) ? r[0] : r) === e && s.unshift(i);
    });
    for (let r of s)
      t.splice(r, 1);
  }, "removePlugin");
  var zL, F$s = dE.default = (0, Bdt.declare)((t, e) => {
    t.assertVersion(7);
    let {
      disallowAmbiguousJSXLike: s,
      dts: r
    } = e;
    var {
      isTSX: i
    } = e;
    return {
      name: "syntax-typescript",
      manipulateOptions(a, o) {
        {
          let {
            plugins: l
          } = o;
          zL(l, "flow"), zL(l, "jsx"), l.push("objectRestSpread", "classProperties"), i && l.push("jsx");
        }
        o.plugins.push(["typescript", {
          disallowAmbiguousJSXLike: s,
          dts: r
        }]);
      }
    };
  });
});

// ../node_modules/@babel/helper-member-expression-to-functions/lib/index.js
var tB = g((eB) => {
  "use strict";
  Object.defineProperty(eB, "__esModule", { value: !0 });
  var Mdt = fe();
  function Fdt(t) {
    if (t && t.__esModule) return t;
    var e = /* @__PURE__ */ Object.create(null);
    return t && Object.keys(t).forEach(function(s) {
      if (s !== "default") {
        var r = Object.getOwnPropertyDescriptor(t, s);
        Object.defineProperty(e, s, r.get ? r : {
          enumerable: !0,
          get: /* @__PURE__ */ n(function() {
            return t[s];
          }, "get")
        });
      }
    }), e.default = t, Object.freeze(e);
  }
  n(Fdt, "_interopNamespace");
  var jdt = /* @__PURE__ */ Fdt(Mdt);
  function QL(t) {
    let e = t, {
      node: s,
      parentPath: r
    } = e;
    if (r.isLogicalExpression()) {
      let {
        operator: i,
        right: a
      } = r.node;
      if (i === "&&" || i === "||" || i === "??" && s === a)
        return QL(r);
    }
    if (r.isSequenceExpression()) {
      let {
        expressions: i
      } = r.node;
      return i[i.length - 1] === s ? QL(r) : !0;
    }
    return r.isConditional({
      test: s
    }) || r.isUnaryExpression({
      operator: "!"
    }) || r.isLoop({
      test: s
    });
  }
  n(QL, "willPathCastToBoolean");
  var {
    LOGICAL_OPERATORS: Rdt,
    arrowFunctionExpression: Jee,
    assignmentExpression: dm,
    binaryExpression: Hh,
    booleanLiteral: qdt,
    callExpression: gE,
    cloneNode: Ra,
    conditionalExpression: Udt,
    identifier: Qee,
    isMemberExpression: Kdt,
    isOptionalCallExpression: Vdt,
    isOptionalMemberExpression: Zee,
    isUpdateExpression: Wdt,
    logicalExpression: yE,
    memberExpression: Yee,
    nullLiteral: mE,
    optionalCallExpression: $dt,
    optionalMemberExpression: Hdt,
    sequenceExpression: GL,
    updateExpression: Xee
  } = jdt, ZL = class {
    static {
      n(this, "AssignmentMemoiser");
    }
    constructor() {
      this._map = void 0, this._map = /* @__PURE__ */ new WeakMap();
    }
    has(e) {
      return this._map.has(e);
    }
    get(e) {
      if (!this.has(e)) return;
      let s = this._map.get(e), {
        value: r
      } = s;
      return s.count--, s.count === 0 ? dm("=", r, e) : r;
    }
    set(e, s, r) {
      return this._map.set(e, {
        count: r,
        value: s
      });
    }
  };
  function zee(t, e) {
    let {
      node: s
    } = t;
    if (Zee(s))
      return Yee(e, s.property, s.computed);
    if (t.isOptionalCallExpression()) {
      let r = t.get("callee");
      if (t.node.optional && r.isOptionalMemberExpression()) {
        let i = r.node.object, a = t.scope.maybeGenerateMemoised(i);
        return r.get("object").replaceWith(dm("=", a, i)), gE(Yee(e, Qee("call")), [a, ...t.node.arguments]);
      }
      return gE(e, t.node.arguments);
    }
    return t.node;
  }
  n(zee, "toNonOptional");
  function Jdt(t) {
    for (; t && !t.isProgram(); ) {
      let {
        parentPath: e,
        container: s,
        listKey: r
      } = t, i = e.node;
      if (r) {
        if (s !== i[r])
          return !0;
      } else if (s !== i) return !0;
      t = e;
    }
    return !1;
  }
  n(Jdt, "isInDetachedTree");
  var Ydt = {
    memoise() {
    },
    handle(t, e) {
      let {
        node: s,
        parent: r,
        parentPath: i,
        scope: a
      } = t;
      if (t.isOptionalMemberExpression()) {
        if (Jdt(t)) return;
        let o = t.find(({
          node: ye,
          parent: Oe
        }) => Zee(Oe) ? Oe.optional || Oe.object !== ye : Vdt(Oe) ? ye !== t.node && Oe.optional || Oe.callee !== ye : !0);
        if (a.path.isPattern()) {
          o.replaceWith(gE(Jee([], o.node), []));
          return;
        }
        let l = QL(o), u = o.parentPath;
        if (u.isUpdateExpression({
          argument: s
        }))
          throw t.buildCodeFrameError("can't handle update expression");
        let c = u.isAssignmentExpression({
          left: o.node
        }), p = u.isUnaryExpression({
          operator: "delete"
        });
        if (p && o.isOptionalMemberExpression() && o.get("property").isPrivateName())
          throw t.buildCodeFrameError("can't delete a private class element");
        let h = t;
        for (; ; ) {
          if (h.isOptionalMemberExpression()) {
            if (h.node.optional) break;
            h = h.get("object");
            continue;
          } else if (h.isOptionalCallExpression()) {
            if (h.node.optional) break;
            h = h.get("callee");
            continue;
          }
          throw new Error(`Internal error: unexpected ${h.node.type}`);
        }
        let f = h.isOptionalMemberExpression() ? h.node.object : h.node.callee, d = a.maybeGenerateMemoised(f), m = d ?? f, y = i.isOptionalCallExpression(
        {
          callee: s
        }), T = /* @__PURE__ */ n((ye) => y, "isOptionalCall"), b = i.isCallExpression({
          callee: s
        });
        h.replaceWith(zee(h, m)), T() ? r.optional ? i.replaceWith(this.optionalCall(t, r.arguments)) : i.replaceWith(this.call(t, r.arguments)) :
        b ? t.replaceWith(this.boundGet(t)) : this.delete && i.isUnaryExpression({
          operator: "delete"
        }) ? i.replaceWith(this.delete(t)) : i.isAssignmentExpression() ? Gee(this, t, i) : t.replaceWith(this.get(t));
        let E = t.node;
        for (let ye = t; ye !== o; ) {
          let Oe = ye.parentPath;
          if (Oe === o && T() && r.optional) {
            E = Oe.node;
            break;
          }
          E = zee(Oe, E), ye = Oe;
        }
        let V, W = o.parentPath;
        if (Kdt(E) && W.isOptionalCallExpression({
          callee: o.node,
          optional: !0
        })) {
          let {
            object: ye
          } = E;
          V = t.scope.maybeGenerateMemoised(ye), V && (E.object = dm("=", V, ye));
        }
        let oe = o;
        (p || c) && (oe = W, E = W.node);
        let de = d ? dm("=", Ra(m), Ra(f)) : Ra(m);
        if (l) {
          let ye;
          e ? ye = Hh("!=", de, mE()) : ye = yE("&&", Hh("!==", de, mE()), Hh("!==", Ra(m), a.buildUndefinedNode())), oe.replaceWith(yE("&&",
          ye, E));
        } else {
          let ye;
          e ? ye = Hh("==", de, mE()) : ye = yE("||", Hh("===", de, mE()), Hh("===", Ra(m), a.buildUndefinedNode())), oe.replaceWith(Udt(ye,
          p ? qdt(!0) : a.buildUndefinedNode(), E));
        }
        if (V) {
          let ye = W.node;
          W.replaceWith($dt(Hdt(ye.callee, Qee("call"), !1, !0), [Ra(V), ...ye.arguments], !1));
        }
        return;
      }
      if (Wdt(r, {
        argument: s
      })) {
        if (this.simpleSet) {
          t.replaceWith(this.simpleSet(t));
          return;
        }
        let {
          operator: o,
          prefix: l
        } = r;
        this.memoise(t, 2);
        let u = a.generateUidIdentifierBasedOnNode(s);
        a.push({
          id: u
        });
        let c = [dm("=", Ra(u), this.get(t))];
        if (l) {
          c.push(Xee(o, Ra(u), l));
          let p = GL(c);
          i.replaceWith(this.set(t, p));
          return;
        } else {
          let p = a.generateUidIdentifierBasedOnNode(s);
          a.push({
            id: p
          }), c.push(dm("=", Ra(p), Xee(o, Ra(u), l)), Ra(u));
          let h = GL(c);
          i.replaceWith(GL([this.set(t, h), Ra(p)]));
          return;
        }
      }
      if (i.isAssignmentExpression({
        left: s
      })) {
        Gee(this, t, i);
        return;
      }
      if (i.isCallExpression({
        callee: s
      })) {
        i.replaceWith(this.call(t, i.node.arguments));
        return;
      }
      if (i.isOptionalCallExpression({
        callee: s
      })) {
        if (a.path.isPattern()) {
          i.replaceWith(gE(Jee([], i.node), []));
          return;
        }
        i.replaceWith(this.optionalCall(t, i.node.arguments));
        return;
      }
      if (this.delete && i.isUnaryExpression({
        operator: "delete"
      })) {
        i.replaceWith(this.delete(t));
        return;
      }
      if (i.isForXStatement({
        left: s
      }) || i.isObjectProperty({
        value: s
      }) && i.parentPath.isObjectPattern() || i.isAssignmentPattern({
        left: s
      }) && i.parentPath.isObjectProperty({
        value: r
      }) && i.parentPath.parentPath.isObjectPattern() || i.isArrayPattern() || i.isAssignmentPattern({
        left: s
      }) && i.parentPath.isArrayPattern() || i.isRestElement()) {
        t.replaceWith(this.destructureSet(t));
        return;
      }
      i.isTaggedTemplateExpression() ? t.replaceWith(this.boundGet(t)) : t.replaceWith(this.get(t));
    }
  };
  function Gee(t, e, s) {
    if (t.simpleSet) {
      e.replaceWith(t.simpleSet(e));
      return;
    }
    let {
      operator: r,
      right: i
    } = s.node;
    if (r === "=")
      s.replaceWith(t.set(e, i));
    else {
      let a = r.slice(0, -1);
      Rdt.includes(a) ? (t.memoise(e, 1), s.replaceWith(yE(a, t.get(e), t.set(e, i)))) : (t.memoise(e, 2), s.replaceWith(t.set(e, Hh(a, t.get(
      e), i))));
    }
  }
  n(Gee, "handleAssignment");
  function Xdt(t, e, s) {
    t.traverse(e, Object.assign({}, Ydt, s, {
      memoiser: new ZL()
    }));
  }
  n(Xdt, "memberExpressionToFunctions");
  eB.default = Xdt;
});

// ../node_modules/@babel/helper-optimise-call-expression/lib/index.js
var rB = g((sB) => {
  "use strict";
  Object.defineProperty(sB, "__esModule", {
    value: !0
  });
  sB.default = Zdt;
  var zdt = fe(), {
    callExpression: ete,
    identifier: TE,
    isIdentifier: Gdt,
    isSpreadElement: Qdt,
    memberExpression: tte,
    optionalCallExpression: ste,
    optionalMemberExpression: rte
  } = zdt;
  function Zdt(t, e, s, r) {
    return s.length === 1 && Qdt(s[0]) && Gdt(s[0].argument, {
      name: "arguments"
    }) ? r ? ste(rte(t, TE("apply"), !1, !0), [e, s[0].argument], !1) : ete(tte(t, TE("apply")), [e, s[0].argument]) : r ? ste(rte(t, TE("ca\
ll"), !1, !0), [e, ...s], !1) : ete(tte(t, TE("call")), [e, ...s]);
  }
  n(Zdt, "optimiseCallExpression");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/lib/virtual-types.js
var iB = g((gs) => {
  "use strict";
  Object.defineProperty(gs, "__esModule", {
    value: !0
  });
  gs.Var = gs.User = gs.Statement = gs.SpreadProperty = gs.Scope = gs.RestProperty = gs.ReferencedMemberExpression = gs.ReferencedIdentifier =
  gs.Referenced = gs.Pure = gs.NumericLiteralTypeAnnotation = gs.Generated = gs.ForAwaitStatement = gs.Flow = gs.Expression = gs.ExistentialTypeParam =
  gs.BlockScoped = gs.BindingIdentifier = void 0;
  var W$s = gs.ReferencedIdentifier = ["Identifier", "JSXIdentifier"], $$s = gs.ReferencedMemberExpression = ["MemberExpression"], H$s = gs.
  BindingIdentifier = ["Identifier"], J$s = gs.Statement = ["Statement"], Y$s = gs.Expression = ["Expression"], X$s = gs.Scope = ["Scopable",
  "Pattern"], z$s = gs.Referenced = null, G$s = gs.BlockScoped = null, Q$s = gs.Var = ["VariableDeclaration"], Z$s = gs.User = null, eHs = gs.
  Generated = null, tHs = gs.Pure = null, sHs = gs.Flow = ["Flow", "ImportDeclaration", "ExportDeclaration", "ImportSpecifier"], rHs = gs.RestProperty =
  ["RestElement"], iHs = gs.SpreadProperty = ["RestElement"], nHs = gs.ExistentialTypeParam = ["ExistsTypeAnnotation"], aHs = gs.NumericLiteralTypeAnnotation =
  ["NumberLiteralTypeAnnotation"], oHs = gs.ForAwaitStatement = ["ForOfStatement"];
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js
var aB = g((wi) => {
  "use strict";
  Object.defineProperty(wi, "__esModule", {
    value: !0
  });
  wi.isBindingIdentifier = Pmt;
  wi.isBlockScoped = wmt;
  wi.isExpression = Amt;
  wi.isFlow = Omt;
  wi.isForAwaitStatement = Bmt;
  wi.isGenerated = kmt;
  wi.isPure = Dmt;
  wi.isReferenced = Cmt;
  wi.isReferencedIdentifier = xmt;
  wi.isReferencedMemberExpression = Smt;
  wi.isRestProperty = _mt;
  wi.isScope = vmt;
  wi.isSpreadProperty = Lmt;
  wi.isStatement = Emt;
  wi.isUser = Nmt;
  wi.isVar = Imt;
  var emt = fe(), {
    isBinding: tmt,
    isBlockScoped: smt,
    isExportDeclaration: rmt,
    isExpression: imt,
    isFlow: nmt,
    isForStatement: amt,
    isForXStatement: omt,
    isIdentifier: ite,
    isImportDeclaration: lmt,
    isImportSpecifier: umt,
    isJSXIdentifier: cmt,
    isJSXMemberExpression: pmt,
    isMemberExpression: hmt,
    isRestElement: nte,
    isReferenced: nB,
    isScope: fmt,
    isStatement: dmt,
    isVar: mmt,
    isVariableDeclaration: ymt,
    react: gmt,
    isForOfStatement: Tmt
  } = emt, {
    isCompatTag: bmt
  } = gmt;
  function xmt(t) {
    let {
      node: e,
      parent: s
    } = this;
    if (!ite(e, t) && !pmt(s, t))
      if (cmt(e, t)) {
        if (bmt(e.name)) return !1;
      } else
        return !1;
    return nB(e, s, this.parentPath.parent);
  }
  n(xmt, "isReferencedIdentifier");
  function Smt() {
    let {
      node: t,
      parent: e
    } = this;
    return hmt(t) && nB(t, e);
  }
  n(Smt, "isReferencedMemberExpression");
  function Pmt() {
    let {
      node: t,
      parent: e
    } = this, s = this.parentPath.parent;
    return ite(t) && tmt(t, e, s);
  }
  n(Pmt, "isBindingIdentifier");
  function Emt() {
    let {
      node: t,
      parent: e
    } = this;
    return dmt(t) ? !(ymt(t) && (omt(e, {
      left: t
    }) || amt(e, {
      init: t
    }))) : !1;
  }
  n(Emt, "isStatement");
  function Amt() {
    return this.isIdentifier() ? this.isReferencedIdentifier() : imt(this.node);
  }
  n(Amt, "isExpression");
  function vmt() {
    return fmt(this.node, this.parent);
  }
  n(vmt, "isScope");
  function Cmt() {
    return nB(this.node, this.parent);
  }
  n(Cmt, "isReferenced");
  function wmt() {
    return smt(this.node);
  }
  n(wmt, "isBlockScoped");
  function Imt() {
    return mmt(this.node);
  }
  n(Imt, "isVar");
  function Nmt() {
    return this.node && !!this.node.loc;
  }
  n(Nmt, "isUser");
  function kmt() {
    return !this.isUser();
  }
  n(kmt, "isGenerated");
  function Dmt(t) {
    return this.scope.isPure(this.node, t);
  }
  n(Dmt, "isPure");
  function Omt() {
    let {
      node: t
    } = this;
    return nmt(t) ? !0 : lmt(t) ? t.importKind === "type" || t.importKind === "typeof" : rmt(t) ? t.exportKind === "type" : umt(t) ? t.importKind ===
    "type" || t.importKind === "typeof" : !1;
  }
  n(Omt, "isFlow");
  function _mt() {
    var t;
    return nte(this.node) && ((t = this.parentPath) == null ? void 0 : t.isObjectPattern());
  }
  n(_mt, "isRestProperty");
  function Lmt() {
    var t;
    return nte(this.node) && ((t = this.parentPath) == null ? void 0 : t.isObjectExpression());
  }
  n(Lmt, "isSpreadProperty");
  function Bmt() {
    return Tmt(this.node, {
      await: !0
    });
  }
  n(Bmt, "isForAwaitStatement");
  wi.isExistentialTypeParam = /* @__PURE__ */ n(function() {
    throw new Error("`path.isExistentialTypeParam` has been renamed to `path.isExistsTypeAnnotation()` in Babel 7.");
  }, "isExistentialTypeParam"), wi.isNumericLiteralTypeAnnotation = /* @__PURE__ */ n(function() {
    throw new Error("`path.isNumericLiteralTypeAnnotation()` has been renamed to `path.isNumberLiteralTypeAnnotation()` in Babel 7.");
  }, "isNumericLiteralTypeAnnotation");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/visitors.js
var A0 = g((Yh) => {
  "use strict";
  Object.defineProperty(Yh, "__esModule", {
    value: !0
  });
  Yh.environmentVisitor = Vmt;
  Yh.explode = yte;
  Yh.isExplodedVisitor = mte;
  Yh.merge = Tte;
  Yh.verify = gte;
  var dte = iB(), Mmt = aB(), Fmt = fe(), ate = dl(), {
    DEPRECATED_KEYS: ote,
    DEPRECATED_ALIASES: lte,
    FLIPPED_ALIAS_KEYS: ute,
    TYPES: jmt,
    __internal__deprecationWarning: cte
  } = Fmt;
  function Rmt(t) {
    return t in dte;
  }
  n(Rmt, "isVirtualType");
  function mte(t) {
    return t?._exploded;
  }
  n(mte, "isExplodedVisitor");
  function yte(t) {
    if (mte(t)) return t;
    t._exploded = !0;
    for (let e of Object.keys(t)) {
      if (Jh(e)) continue;
      let s = e.split("|");
      if (s.length === 1) continue;
      let r = t[e];
      delete t[e];
      for (let i of s)
        t[i] = r;
    }
    gte(t), delete t.__esModule, qmt(t), fte(t);
    for (let e of Object.keys(t)) {
      if (Jh(e) || !Rmt(e)) continue;
      let s = t[e];
      for (let i of Object.keys(s))
        s[i] = Umt(e, s[i]);
      delete t[e];
      let r = dte[e];
      if (r !== null)
        for (let i of r)
          t[i] ? E0(t[i], s) : t[i] = s;
      else
        E0(t, s);
    }
    for (let e of Object.keys(t)) {
      if (Jh(e)) continue;
      let s = ute[e];
      if (e in ote) {
        let i = ote[e];
        cte(e, i, "Visitor "), s = [i];
      } else if (e in lte) {
        let i = lte[e];
        cte(e, i, "Visitor "), s = ute[i];
      }
      if (!s) continue;
      let r = t[e];
      delete t[e];
      for (let i of s) {
        let a = t[i];
        a ? E0(a, r) : t[i] = Object.assign({}, r);
      }
    }
    for (let e of Object.keys(t))
      Jh(e) || fte(t[e]);
    return t;
  }
  n(yte, "explode$1");
  function gte(t) {
    if (!t._verified) {
      if (typeof t == "function")
        throw new Error("You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Functi\
on }`?");
      for (let e of Object.keys(t)) {
        if ((e === "enter" || e === "exit") && pte(e, t[e]), Jh(e)) continue;
        if (!jmt.includes(e))
          throw new Error(`You gave us a visitor for the node type ${e} but it's not a valid type in @babel/traverse 7.26.9`);
        let s = t[e];
        if (typeof s == "object")
          for (let r of Object.keys(s))
            if (r === "enter" || r === "exit")
              pte(`${e}.${r}`, s[r]);
            else
              throw new Error(`You passed \`traverse()\` a visitor object with the property ${e} that has the invalid property ${r}`);
      }
      t._verified = !0;
    }
  }
  n(gte, "verify$1");
  function pte(t, e) {
    let s = [].concat(e);
    for (let r of s)
      if (typeof r != "function")
        throw new TypeError(`Non-function found defined in ${t} with type ${typeof r}`);
  }
  n(pte, "validateVisitorMethods");
  function Tte(t, e = [], s) {
    let r = {
      _verified: !0,
      _exploded: !0
    };
    Object.defineProperty(r, "_exploded", {
      enumerable: !1
    }), Object.defineProperty(r, "_verified", {
      enumerable: !1
    });
    for (let i = 0; i < t.length; i++) {
      let a = yte(t[i]), o = e[i], l = a;
      (o || s) && (l = hte(l, o, s)), E0(r, l);
      for (let u of Object.keys(a)) {
        if (Jh(u)) continue;
        let c = a[u];
        (o || s) && (c = hte(c, o, s));
        let p = r[u] || (r[u] = {});
        E0(p, c);
      }
    }
    return r;
  }
  n(Tte, "merge");
  function hte(t, e, s) {
    let r = {};
    for (let i of ["enter", "exit"]) {
      let a = t[i];
      Array.isArray(a) && (a = a.map(function(o) {
        let l = o;
        return e && (l = /* @__PURE__ */ n(function(u) {
          o.call(e, u, e);
        }, "newFn")), s && (l = s(e?.key, i, l)), l !== o && (l.toString = () => o.toString()), l;
      }), r[i] = a);
    }
    return r;
  }
  n(hte, "wrapWithStateOrWrapper");
  function qmt(t) {
    for (let e of Object.keys(t)) {
      if (Jh(e)) continue;
      let s = t[e];
      typeof s == "function" && (t[e] = {
        enter: s
      });
    }
  }
  n(qmt, "ensureEntranceObjects");
  function fte(t) {
    t.enter && !Array.isArray(t.enter) && (t.enter = [t.enter]), t.exit && !Array.isArray(t.exit) && (t.exit = [t.exit]);
  }
  n(fte, "ensureCallbackArrays");
  function Umt(t, e) {
    let s = `is${t}`, r = Mmt[s], i = /* @__PURE__ */ n(function(a) {
      if (r.call(a))
        return e.apply(this, arguments);
    }, "newFn");
    return i.toString = () => e.toString(), i;
  }
  n(Umt, "wrapCheck");
  function Jh(t) {
    return t[0] === "_" || t === "enter" || t === "exit" || t === "shouldSkip" || t === "denylist" || t === "noScope" || t === "skipKeys" ||
    t === "blacklist";
  }
  n(Jh, "shouldIgnoreKey");
  function E0(t, e) {
    for (let s of ["enter", "exit"])
      e[s] && (t[s] = [].concat(t[s] || [], e[s]));
  }
  n(E0, "mergePair");
  var Kmt = {
    FunctionParent(t) {
      t.isArrowFunctionExpression() || (t.skip(), t.isMethod() && (t.requeueComputedKeyAndDecorators ? t.requeueComputedKeyAndDecorators() :
      ate.requeueComputedKeyAndDecorators.call(t)));
    },
    Property(t) {
      t.isObjectProperty() || (t.skip(), t.requeueComputedKeyAndDecorators ? t.requeueComputedKeyAndDecorators() : ate.requeueComputedKeyAndDecorators.
      call(t));
    }
  };
  function Vmt(t) {
    return Tte([Kmt, t]);
  }
  n(Vmt, "environmentVisitor");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/scope/lib/renamer.js
var bte = g((xE) => {
  "use strict";
  Object.defineProperty(xE, "__esModule", {
    value: !0
  });
  xE.default = void 0;
  var bE = fe(), Wmt = bE, $mt = SE(), Hmt = A0(), Jmt = dl(), {
    getAssignmentIdentifiers: Ymt
  } = Wmt, Xmt = {
    ReferencedIdentifier({
      node: t
    }, e) {
      t.name === e.oldName && (t.name = e.newName);
    },
    Scope(t, e) {
      t.scope.bindingIdentifierEquals(e.oldName, e.binding.identifier) || (t.skip(), t.isMethod() && (t.requeueComputedKeyAndDecorators ? t.
      requeueComputedKeyAndDecorators() : Jmt.requeueComputedKeyAndDecorators.call(t)));
    },
    ObjectProperty({
      node: t,
      scope: e
    }, s) {
      let {
        name: r
      } = t.key;
      if (t.shorthand && (r === s.oldName || r === s.newName) && e.getBindingIdentifier(r) === s.binding.identifier) {
        t.shorthand = !1;
        {
          var i;
          (i = t.extra) != null && i.shorthand && (t.extra.shorthand = !1);
        }
      }
    },
    "AssignmentExpression|Declaration|VariableDeclarator"(t, e) {
      if (t.isVariableDeclaration()) return;
      let s = t.isAssignmentExpression() ? Ymt(t.node) : t.getOuterBindingIdentifiers();
      for (let r in s)
        r === e.oldName && (s[r].name = e.newName);
    }
  }, oB = class {
    static {
      n(this, "Renamer");
    }
    constructor(e, s, r) {
      this.newName = r, this.oldName = s, this.binding = e;
    }
    maybeConvertFromExportDeclaration(e) {
      let s = e.parentPath;
      if (s.isExportDeclaration()) {
        if (s.isExportDefaultDeclaration()) {
          let {
            declaration: r
          } = s.node;
          if (bE.isDeclaration(r) && !r.id)
            return;
        }
        s.isExportAllDeclaration() || s.splitExportDeclaration();
      }
    }
    maybeConvertFromClassFunctionDeclaration(e) {
      return e;
    }
    maybeConvertFromClassFunctionExpression(e) {
      return e;
    }
    rename() {
      let {
        binding: e,
        oldName: s,
        newName: r
      } = this, {
        scope: i,
        path: a
      } = e, o = a.find((c) => c.isDeclaration() || c.isFunctionExpression() || c.isClassExpression());
      o && o.getOuterBindingIdentifiers()[s] === e.identifier && this.maybeConvertFromExportDeclaration(o);
      let l = arguments[0] || i.block, u = {
        discriminant: !0
      };
      bE.isMethod(l) && (l.computed && (u.key = !0), bE.isObjectMethod(l) || (u.decorators = !0)), (0, $mt.traverseNode)(l, (0, Hmt.explode)(
      Xmt), i, this, i.path, u), arguments[0] || (i.removeOwnBinding(s), i.bindings[r] = e, this.binding.identifier.name = r), o && (this.maybeConvertFromClassFunctionDeclaration(
      a), this.maybeConvertFromClassFunctionExpression(a));
    }
  };
  xE.default = oB;
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/scope/binding.js
var xte = g((PE) => {
  "use strict";
  Object.defineProperty(PE, "__esModule", {
    value: !0
  });
  PE.default = void 0;
  var lB = class {
    static {
      n(this, "Binding");
    }
    constructor({
      identifier: e,
      scope: s,
      path: r,
      kind: i
    }) {
      this.identifier = void 0, this.scope = void 0, this.path = void 0, this.kind = void 0, this.constantViolations = [], this.constant = !0,
      this.referencePaths = [], this.referenced = !1, this.references = 0, this.identifier = e, this.scope = s, this.path = r, this.kind = i,
      (i === "var" || i === "hoisted") && zmt(r) && this.reassign(r), this.clearValue();
    }
    deoptValue() {
      this.clearValue(), this.hasDeoptedValue = !0;
    }
    setValue(e) {
      this.hasDeoptedValue || (this.hasValue = !0, this.value = e);
    }
    clearValue() {
      this.hasDeoptedValue = !1, this.hasValue = !1, this.value = null;
    }
    reassign(e) {
      this.constant = !1, !this.constantViolations.includes(e) && this.constantViolations.push(e);
    }
    reference(e) {
      this.referencePaths.includes(e) || (this.referenced = !0, this.references++, this.referencePaths.push(e));
    }
    dereference() {
      this.references--, this.referenced = !!this.references;
    }
  };
  PE.default = lB;
  function zmt(t) {
    for (let {
      parentPath: e,
      key: s
    } = t; e; {
      parentPath: e,
      key: s
    } = e) {
      if (e.isFunctionParent()) return !1;
      if (e.isWhile() || e.isForXStatement() || e.isForStatement() && s === "body")
        return !0;
    }
    return !1;
  }
  n(zmt, "isDeclaredInLoop");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/cache.js
var Xh = g((ha) => {
  "use strict";
  Object.defineProperty(ha, "__esModule", {
    value: !0
  });
  ha.clear = Qmt;
  ha.clearPath = Ste;
  ha.clearScope = Pte;
  ha.getCachedPaths = Zmt;
  ha.getOrCreateCachedPaths = eyt;
  ha.scope = ha.path = void 0;
  var EE = ha.path = /* @__PURE__ */ new WeakMap(), Gmt = ha.scope = /* @__PURE__ */ new WeakMap();
  function Qmt() {
    Ste(), Pte();
  }
  n(Qmt, "clear");
  function Ste() {
    ha.path = EE = /* @__PURE__ */ new WeakMap();
  }
  n(Ste, "clearPath");
  function Pte() {
    ha.scope = Gmt = /* @__PURE__ */ new WeakMap();
  }
  n(Pte, "clearScope");
  var uB = Object.freeze({});
  function Zmt(t, e) {
    var s, r;
    return t = null, (s = EE.get((r = t) != null ? r : uB)) == null ? void 0 : s.get(e);
  }
  n(Zmt, "getCachedPaths");
  function eyt(t, e) {
    var s, r;
    t = null;
    let i = EE.get((s = t) != null ? s : uB);
    i || EE.set((r = t) != null ? r : uB, i = /* @__PURE__ */ new WeakMap());
    let a = i.get(e);
    return a || i.set(e, a = /* @__PURE__ */ new Map()), a;
  }
  n(eyt, "getOrCreateCachedPaths");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/scope/index.js
var fB = g((vE) => {
  "use strict";
  Object.defineProperty(vE, "__esModule", {
    value: !0
  });
  vE.default = void 0;
  var tyt = bte(), syt = v0(), ryt = xte(), iyt = dd(), Dte = fe(), Ote = Dte, Ete = Xh(), nyt = A0(), {
    NOT_LOCAL_BINDING: Ate,
    assignmentExpression: ayt,
    callExpression: vte,
    cloneNode: Cte,
    getBindingIdentifiers: _te,
    identifier: Gh,
    isArrayExpression: Lte,
    isBinary: oyt,
    isCallExpression: wte,
    isClass: lyt,
    isClassBody: uyt,
    isClassDeclaration: cyt,
    isExportAllDeclaration: Bte,
    isExportDefaultDeclaration: pyt,
    isExportNamedDeclaration: cB,
    isFunctionDeclaration: hyt,
    isIdentifier: zh,
    isImportDeclaration: pB,
    isLiteral: fyt,
    isMemberExpression: dyt,
    isMethod: myt,
    isModuleSpecifier: yyt,
    isNullLiteral: gyt,
    isObjectExpression: Tyt,
    isProperty: byt,
    isPureish: xyt,
    isRegExpLiteral: Syt,
    isSuper: Pyt,
    isTaggedTemplateExpression: Eyt,
    isTemplateLiteral: Mte,
    isThisExpression: Ite,
    isUnaryExpression: Ayt,
    isVariableDeclaration: vyt,
    expressionStatement: Cyt,
    matchesPattern: Nte,
    memberExpression: hB,
    numericLiteral: wyt,
    toIdentifier: Iyt,
    variableDeclaration: Nyt,
    variableDeclarator: kyt,
    isRecordExpression: Dyt,
    isTupleExpression: Oyt,
    isObjectProperty: _yt,
    isTopicReference: kte,
    isMetaProperty: Lyt,
    isPrivateName: Byt,
    isExportDeclaration: Myt,
    buildUndefinedNode: Fyt,
    sequenceExpression: jyt
  } = Dte;
  function wr(t, e) {
    switch (t?.type) {
      default:
        if (pB(t) || Myt(t)) {
          var s;
          if ((Bte(t) || cB(t) || pB(t)) && t.source)
            wr(t.source, e);
          else if ((cB(t) || pB(t)) && (s = t.specifiers) != null && s.length)
            for (let r of t.specifiers) wr(r, e);
          else (pyt(t) || cB(t)) && t.declaration && wr(t.declaration, e);
        } else yyt(t) ? wr(t.local, e) : fyt(t) && !gyt(t) && !Syt(t) && !Mte(t) && e.push(t.value);
        break;
      case "MemberExpression":
      case "OptionalMemberExpression":
      case "JSXMemberExpression":
        wr(t.object, e), wr(t.property, e);
        break;
      case "Identifier":
      case "JSXIdentifier":
        e.push(t.name);
        break;
      case "CallExpression":
      case "OptionalCallExpression":
      case "NewExpression":
        wr(t.callee, e);
        break;
      case "ObjectExpression":
      case "ObjectPattern":
        for (let r of t.properties)
          wr(r, e);
        break;
      case "SpreadElement":
      case "RestElement":
        wr(t.argument, e);
        break;
      case "ObjectProperty":
      case "ObjectMethod":
      case "ClassProperty":
      case "ClassMethod":
      case "ClassPrivateProperty":
      case "ClassPrivateMethod":
        wr(t.key, e);
        break;
      case "ThisExpression":
        e.push("this");
        break;
      case "Super":
        e.push("super");
        break;
      case "Import":
        e.push("import");
        break;
      case "DoExpression":
        e.push("do");
        break;
      case "YieldExpression":
        e.push("yield"), wr(t.argument, e);
        break;
      case "AwaitExpression":
        e.push("await"), wr(t.argument, e);
        break;
      case "AssignmentExpression":
        wr(t.left, e);
        break;
      case "VariableDeclarator":
        wr(t.id, e);
        break;
      case "FunctionExpression":
      case "FunctionDeclaration":
      case "ClassExpression":
      case "ClassDeclaration":
        wr(t.id, e);
        break;
      case "PrivateName":
        wr(t.id, e);
        break;
      case "ParenthesizedExpression":
        wr(t.expression, e);
        break;
      case "UnaryExpression":
      case "UpdateExpression":
        wr(t.argument, e);
        break;
      case "MetaProperty":
        wr(t.meta, e), wr(t.property, e);
        break;
      case "JSXElement":
        wr(t.openingElement, e);
        break;
      case "JSXOpeningElement":
        wr(t.name, e);
        break;
      case "JSXFragment":
        wr(t.openingFragment, e);
        break;
      case "JSXOpeningFragment":
        e.push("Fragment");
        break;
      case "JSXNamespacedName":
        wr(t.namespace, e), wr(t.name, e);
        break;
    }
  }
  n(wr, "gatherNodeParts");
  var AE = {
    ForStatement(t) {
      let e = t.get("init");
      if (e.isVar()) {
        let {
          scope: s
        } = t;
        (s.getFunctionParent() || s.getProgramParent()).registerBinding("var", e);
      }
    },
    Declaration(t) {
      if (t.isBlockScoped() || t.isImportDeclaration() || t.isExportDeclaration()) return;
      (t.scope.getFunctionParent() || t.scope.getProgramParent()).registerDeclaration(t);
    },
    ImportDeclaration(t) {
      t.scope.getBlockParent().registerDeclaration(t);
    },
    TSImportEqualsDeclaration(t) {
      t.scope.getBlockParent().registerDeclaration(t);
    },
    ReferencedIdentifier(t, e) {
      Ote.isTSQualifiedName(t.parent) && t.parent.right === t.node || t.parentPath.isTSImportEqualsDeclaration() || e.references.push(t);
    },
    ForXStatement(t, e) {
      let s = t.get("left");
      if (s.isPattern() || s.isIdentifier())
        e.constantViolations.push(t);
      else if (s.isVar()) {
        let {
          scope: r
        } = t;
        (r.getFunctionParent() || r.getProgramParent()).registerBinding("var", s);
      }
    },
    ExportDeclaration: {
      exit(t) {
        let {
          node: e,
          scope: s
        } = t;
        if (Bte(e)) return;
        let r = e.declaration;
        if (cyt(r) || hyt(r)) {
          let i = r.id;
          if (!i) return;
          let a = s.getBinding(i.name);
          a?.reference(t);
        } else if (vyt(r))
          for (let i of r.declarations)
            for (let a of Object.keys(_te(i))) {
              let o = s.getBinding(a);
              o?.reference(t);
            }
      }
    },
    LabeledStatement(t) {
      t.scope.getBlockParent().registerDeclaration(t);
    },
    AssignmentExpression(t, e) {
      e.assignments.push(t);
    },
    UpdateExpression(t, e) {
      e.constantViolations.push(t);
    },
    UnaryExpression(t, e) {
      t.node.operator === "delete" && e.constantViolations.push(t);
    },
    BlockScoped(t) {
      let e = t.scope;
      if (e.path === t && (e = e.parent), e.getBlockParent().registerDeclaration(t), t.isClassDeclaration() && t.node.id) {
        let i = t.node.id.name;
        t.scope.bindings[i] = t.scope.parent.getBinding(i);
      }
    },
    CatchClause(t) {
      t.scope.registerBinding("let", t);
    },
    Function(t) {
      let e = t.get("params");
      for (let s of e)
        t.scope.registerBinding("param", s);
      t.isFunctionExpression() && t.node.id && !t.node.id[Ate] && t.scope.registerBinding("local", t.get("id"), t);
    },
    ClassExpression(t) {
      t.node.id && !t.node.id[Ate] && t.scope.registerBinding("local", t.get("id"), t);
    },
    TSTypeAnnotation(t) {
      t.skip();
    }
  }, Ryt = 0, ko = class t {
    static {
      n(this, "Scope");
    }
    constructor(e) {
      this.uid = void 0, this.path = void 0, this.block = void 0, this.inited = void 0, this.labels = void 0, this.bindings = void 0, this.references =
      void 0, this.globals = void 0, this.uids = void 0, this.data = void 0, this.crawling = void 0;
      let {
        node: s
      } = e, r = Ete.scope.get(s);
      if (r?.path === e)
        return r;
      Ete.scope.set(s, this), this.uid = Ryt++, this.block = s, this.path = e, this.labels = /* @__PURE__ */ new Map(), this.inited = !1;
    }
    get parent() {
      var e;
      let s, r = this.path;
      do {
        var i;
        let a = r.key === "key" || r.listKey === "decorators";
        r = r.parentPath, a && r.isMethod() && (r = r.parentPath), (i = r) != null && i.isScope() && (s = r);
      } while (r && !s);
      return (e = s) == null ? void 0 : e.scope;
    }
    generateDeclaredUidIdentifier(e) {
      let s = this.generateUidIdentifier(e);
      return this.push({
        id: s
      }), Cte(s);
    }
    generateUidIdentifier(e) {
      return Gh(this.generateUid(e));
    }
    generateUid(e = "temp") {
      e = Iyt(e).replace(/^_+/, "").replace(/\d+$/g, "");
      let s, r = 1;
      do
        s = `_${e}`, r > 1 && (s += r), r++;
      while (this.hasLabel(s) || this.hasBinding(s) || this.hasGlobal(s) || this.hasReference(s));
      let i = this.getProgramParent();
      return i.references[s] = !0, i.uids[s] = !0, s;
    }
    generateUidBasedOnNode(e, s) {
      let r = [];
      wr(e, r);
      let i = r.join("$");
      return i = i.replace(/^_/, "") || s || "ref", this.generateUid(i.slice(0, 20));
    }
    generateUidIdentifierBasedOnNode(e, s) {
      return Gh(this.generateUidBasedOnNode(e, s));
    }
    isStatic(e) {
      if (Ite(e) || Pyt(e) || kte(e))
        return !0;
      if (zh(e)) {
        let s = this.getBinding(e.name);
        return s ? s.constant : this.hasBinding(e.name);
      }
      return !1;
    }
    maybeGenerateMemoised(e, s) {
      if (this.isStatic(e))
        return null;
      {
        let r = this.generateUidIdentifierBasedOnNode(e);
        return s ? r : (this.push({
          id: r
        }), Cte(r));
      }
    }
    checkBlockScopedCollisions(e, s, r, i) {
      if (s === "param" || e.kind === "local") return;
      if (s === "let" || e.kind === "let" || e.kind === "const" || e.kind === "module" || e.kind === "param" && s === "const")
        throw this.path.hub.buildError(i, `Duplicate declaration "${r}"`, TypeError);
    }
    rename(e, s) {
      let r = this.getBinding(e);
      r && (s || (s = this.generateUidIdentifier(e).name), new tyt.default(r, e, s).rename(arguments[2]));
    }
    dump() {
      let e = "-".repeat(60);
      console.log(e);
      let s = this;
      do {
        console.log("#", s.block.type);
        for (let r of Object.keys(s.bindings)) {
          let i = s.bindings[r];
          console.log(" -", r, {
            constant: i.constant,
            references: i.references,
            violations: i.constantViolations.length,
            kind: i.kind
          });
        }
      } while (s = s.parent);
      console.log(e);
    }
    hasLabel(e) {
      return !!this.getLabel(e);
    }
    getLabel(e) {
      return this.labels.get(e);
    }
    registerLabel(e) {
      this.labels.set(e.node.label.name, e);
    }
    registerDeclaration(e) {
      if (e.isLabeledStatement())
        this.registerLabel(e);
      else if (e.isFunctionDeclaration())
        this.registerBinding("hoisted", e.get("id"), e);
      else if (e.isVariableDeclaration()) {
        let s = e.get("declarations"), {
          kind: r
        } = e.node;
        for (let i of s)
          this.registerBinding(r === "using" || r === "await using" ? "const" : r, i);
      } else if (e.isClassDeclaration()) {
        if (e.node.declare) return;
        this.registerBinding("let", e);
      } else if (e.isImportDeclaration()) {
        let s = e.node.importKind === "type" || e.node.importKind === "typeof", r = e.get("specifiers");
        for (let i of r) {
          let a = s || i.isImportSpecifier() && (i.node.importKind === "type" || i.node.importKind === "typeof");
          this.registerBinding(a ? "unknown" : "module", i);
        }
      } else if (e.isExportDeclaration()) {
        let s = e.get("declaration");
        (s.isClassDeclaration() || s.isFunctionDeclaration() || s.isVariableDeclaration()) && this.registerDeclaration(s);
      } else
        this.registerBinding("unknown", e);
    }
    buildUndefinedNode() {
      return Fyt();
    }
    registerConstantViolation(e) {
      let s = e.getAssignmentIdentifiers();
      for (let i of Object.keys(s)) {
        var r;
        (r = this.getBinding(i)) == null || r.reassign(e);
      }
    }
    registerBinding(e, s, r = s) {
      if (!e) throw new ReferenceError("no `kind`");
      if (s.isVariableDeclaration()) {
        let o = s.get("declarations");
        for (let l of o)
          this.registerBinding(e, l);
        return;
      }
      let i = this.getProgramParent(), a = s.getOuterBindingIdentifiers(!0);
      for (let o of Object.keys(a)) {
        i.references[o] = !0;
        for (let l of a[o]) {
          let u = this.getOwnBinding(o);
          if (u) {
            if (u.identifier === l) continue;
            this.checkBlockScopedCollisions(u, e, o, l);
          }
          u ? u.reassign(r) : this.bindings[o] = new ryt.default({
            identifier: l,
            scope: this,
            path: r,
            kind: e
          });
        }
      }
    }
    addGlobal(e) {
      this.globals[e.name] = e;
    }
    hasUid(e) {
      let s = this;
      do
        if (s.uids[e]) return !0;
      while (s = s.parent);
      return !1;
    }
    hasGlobal(e) {
      let s = this;
      do
        if (s.globals[e]) return !0;
      while (s = s.parent);
      return !1;
    }
    hasReference(e) {
      return !!this.getProgramParent().references[e];
    }
    isPure(e, s) {
      if (zh(e)) {
        let o = this.getBinding(e.name);
        return o ? s ? o.constant : !0 : !1;
      } else {
        if (Ite(e) || Lyt(e) || kte(e) || Byt(e))
          return !0;
        if (lyt(e)) {
          var r;
          return e.superClass && !this.isPure(e.superClass, s) || ((r = e.decorators) == null ? void 0 : r.length) > 0 ? !1 : this.isPure(e.
          body, s);
        } else if (uyt(e)) {
          for (let o of e.body)
            if (!this.isPure(o, s)) return !1;
          return !0;
        } else {
          if (oyt(e))
            return this.isPure(e.left, s) && this.isPure(e.right, s);
          if (Lte(e) || Oyt(e)) {
            for (let o of e.elements)
              if (o !== null && !this.isPure(o, s)) return !1;
            return !0;
          } else if (Tyt(e) || Dyt(e)) {
            for (let o of e.properties)
              if (!this.isPure(o, s)) return !1;
            return !0;
          } else if (myt(e)) {
            var i;
            return !(e.computed && !this.isPure(e.key, s) || ((i = e.decorators) == null ? void 0 : i.length) > 0);
          } else if (byt(e)) {
            var a;
            return !(e.computed && !this.isPure(e.key, s) || ((a = e.decorators) == null ? void 0 : a.length) > 0 || (_yt(e) || e.static) &&
            e.value !== null && !this.isPure(e.value, s));
          } else {
            if (Ayt(e))
              return this.isPure(e.argument, s);
            if (Mte(e)) {
              for (let o of e.expressions)
                if (!this.isPure(o, s)) return !1;
              return !0;
            } else return Eyt(e) ? Nte(e.tag, "String.raw") && !this.hasBinding("String", {
              noGlobals: !0
            }) && this.isPure(e.quasi, s) : dyt(e) ? !e.computed && zh(e.object) && e.object.name === "Symbol" && zh(e.property) && e.property.
            name !== "for" && !this.hasBinding("Symbol", {
              noGlobals: !0
            }) : wte(e) ? Nte(e.callee, "Symbol.for") && !this.hasBinding("Symbol", {
              noGlobals: !0
            }) && e.arguments.length === 1 && Ote.isStringLiteral(e.arguments[0]) : xyt(e);
          }
        }
      }
    }
    setData(e, s) {
      return this.data[e] = s;
    }
    getData(e) {
      let s = this;
      do {
        let r = s.data[e];
        if (r != null) return r;
      } while (s = s.parent);
    }
    removeData(e) {
      let s = this;
      do
        s.data[e] != null && (s.data[e] = null);
      while (s = s.parent);
    }
    init() {
      this.inited || (this.inited = !0, this.crawl());
    }
    crawl() {
      let e = this.path;
      this.references = /* @__PURE__ */ Object.create(null), this.bindings = /* @__PURE__ */ Object.create(null), this.globals = /* @__PURE__ */ Object.
      create(null), this.uids = /* @__PURE__ */ Object.create(null), this.data = /* @__PURE__ */ Object.create(null);
      let s = this;
      do {
        if (s.crawling) return;
        if (s.path.isProgram())
          break;
      } while (s = s.parent);
      let r = s, i = {
        references: [],
        constantViolations: [],
        assignments: []
      };
      if (this.crawling = !0, e.type !== "Program" && (0, nyt.isExplodedVisitor)(AE)) {
        for (let o of AE.enter)
          o.call(i, e, i);
        let a = AE[e.type];
        if (a)
          for (let o of a.enter)
            o.call(i, e, i);
      }
      e.traverse(AE, i), this.crawling = !1;
      for (let a of i.assignments) {
        let o = a.getAssignmentIdentifiers();
        for (let l of Object.keys(o))
          a.scope.getBinding(l) || r.addGlobal(o[l]);
        a.scope.registerConstantViolation(a);
      }
      for (let a of i.references) {
        let o = a.scope.getBinding(a.node.name);
        o ? o.reference(a) : r.addGlobal(a.node);
      }
      for (let a of i.constantViolations)
        a.scope.registerConstantViolation(a);
    }
    push(e) {
      let s = this.path;
      s.isPattern() ? s = this.getPatternParent().path : !s.isBlockStatement() && !s.isProgram() && (s = this.getBlockParent().path), s.isSwitchStatement() &&
      (s = (this.getFunctionParent() || this.getProgramParent()).path);
      let {
        init: r,
        unique: i,
        kind: a = "var",
        id: o
      } = e;
      if (!r && !i && (a === "var" || a === "let") && s.isFunction() && !s.node.name && wte(s.parent, {
        callee: s.node
      }) && s.parent.arguments.length <= s.node.params.length && zh(o)) {
        s.pushContainer("params", o), s.scope.registerBinding("param", s.get("params")[s.node.params.length - 1]);
        return;
      }
      (s.isLoop() || s.isCatchClause() || s.isFunction()) && (s.ensureBlock(), s = s.get("body"));
      let l = e._blockHoist == null ? 2 : e._blockHoist, u = `declaration:${a}:${l}`, c = !i && s.getData(u);
      if (!c) {
        let f = Nyt(a, []);
        f._blockHoist = l, [c] = s.unshiftContainer("body", [f]), i || s.setData(u, c);
      }
      let p = kyt(o, r), h = c.node.declarations.push(p);
      s.scope.registerBinding(a, c.get("declarations")[h - 1]);
    }
    getProgramParent() {
      let e = this;
      do
        if (e.path.isProgram())
          return e;
      while (e = e.parent);
      throw new Error("Couldn't find a Program");
    }
    getFunctionParent() {
      let e = this;
      do
        if (e.path.isFunctionParent())
          return e;
      while (e = e.parent);
      return null;
    }
    getBlockParent() {
      let e = this;
      do
        if (e.path.isBlockParent())
          return e;
      while (e = e.parent);
      throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");
    }
    getPatternParent() {
      let e = this;
      do
        if (!e.path.isPattern())
          return e.getBlockParent();
      while (e = e.parent.parent);
      throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");
    }
    getAllBindings() {
      let e = /* @__PURE__ */ Object.create(null), s = this;
      do {
        for (let r of Object.keys(s.bindings))
          r in e || (e[r] = s.bindings[r]);
        s = s.parent;
      } while (s);
      return e;
    }
    bindingIdentifierEquals(e, s) {
      return this.getBindingIdentifier(e) === s;
    }
    getBinding(e) {
      let s = this, r;
      do {
        let a = s.getOwnBinding(e);
        if (a) {
          var i;
          if (!((i = r) != null && i.isPattern() && a.kind !== "param" && a.kind !== "local"))
            return a;
        } else if (!a && e === "arguments" && s.path.isFunction() && !s.path.isArrowFunctionExpression())
          break;
        r = s.path;
      } while (s = s.parent);
    }
    getOwnBinding(e) {
      return this.bindings[e];
    }
    getBindingIdentifier(e) {
      var s;
      return (s = this.getBinding(e)) == null ? void 0 : s.identifier;
    }
    getOwnBindingIdentifier(e) {
      let s = this.bindings[e];
      return s?.identifier;
    }
    hasOwnBinding(e) {
      return !!this.getOwnBinding(e);
    }
    hasBinding(e, s) {
      if (!e) return !1;
      let r = this;
      do
        if (r.hasOwnBinding(e))
          return !0;
      while (r = r.parent);
      let i, a;
      return typeof s == "object" ? (i = s.noGlobals, a = s.noUids) : typeof s == "boolean" && (i = s), !!(!a && this.hasUid(e) || !i && t.globals.
      includes(e) || !i && t.contextVariables.includes(e));
    }
    parentHasBinding(e, s) {
      var r;
      return (r = this.parent) == null ? void 0 : r.hasBinding(e, s);
    }
    moveBindingTo(e, s) {
      let r = this.getBinding(e);
      r && (r.scope.removeOwnBinding(e), r.scope = s, s.bindings[e] = r);
    }
    removeOwnBinding(e) {
      delete this.bindings[e];
    }
    removeBinding(e) {
      var s;
      (s = this.getBinding(e)) == null || s.scope.removeOwnBinding(e);
      let r = this;
      do
        r.uids[e] && (r.uids[e] = !1);
      while (r = r.parent);
    }
    hoistVariables(e = (s) => this.push({
      id: s
    })) {
      this.crawl();
      let s = /* @__PURE__ */ new Set();
      for (let i of Object.keys(this.bindings)) {
        let a = this.bindings[i];
        if (!a) continue;
        let {
          path: o
        } = a;
        if (!o.isVariableDeclarator()) continue;
        let {
          parent: l,
          parentPath: u
        } = o;
        if (l.kind !== "var" || s.has(l)) continue;
        s.add(o.parent);
        let c, p = [];
        for (let h of l.declarations) {
          var r;
          (r = c) != null || (c = h.id), h.init && p.push(ayt("=", h.id, h.init));
          let f = Object.keys(_te(h, !1, !0, !0));
          for (let d of f)
            e(Gh(d), h.init != null);
        }
        if (u.parentPath.isFor({
          left: l
        }))
          u.replaceWith(c);
        else if (p.length === 0)
          u.remove();
        else {
          let h = p.length === 1 ? p[0] : jyt(p);
          u.parentPath.isForStatement({
            init: l
          }) ? u.replaceWith(h) : u.replaceWith(Cyt(h));
        }
      }
    }
  };
  vE.default = ko;
  ko.globals = Object.keys(iyt.builtin);
  ko.contextVariables = ["arguments", "undefined", "Infinity", "NaN"];
  ko.prototype._renameFromMap = /* @__PURE__ */ n(function(e, s, r, i) {
    e[s] && (e[r] = i, e[s] = null);
  }, "_renameFromMap"), ko.prototype.traverse = function(t, e, s) {
    (0, syt.default)(t, e, this, s, this.path);
  }, ko.prototype._generateUid = /* @__PURE__ */ n(function(e, s) {
    let r = e;
    return s > 1 && (r += s), `_${r}`;
  }, "_generateUid"), ko.prototype.toArray = /* @__PURE__ */ n(function(e, s, r) {
    if (zh(e)) {
      let o = this.getBinding(e.name);
      if (o != null && o.constant && o.path.isGenericType("Array"))
        return e;
    }
    if (Lte(e))
      return e;
    if (zh(e, {
      name: "arguments"
    }))
      return vte(hB(hB(hB(Gh("Array"), Gh("prototype")), Gh("slice")), Gh("call")), [e]);
    let i, a = [e];
    return s === !0 ? i = "toConsumableArray" : typeof s == "number" ? (a.push(wyt(s)), i = "slicedToArray") : i = "toArray", r && (a.unshift(
    this.path.hub.addHelper(i)), i = "maybeArrayLike"), vte(this.path.hub.addHelper(i), a);
  }, "toArray"), ko.prototype.getAllBindingsOfKind = /* @__PURE__ */ n(function(...e) {
    let s = /* @__PURE__ */ Object.create(null);
    for (let r of e) {
      let i = this;
      do {
        for (let a of Object.keys(i.bindings)) {
          let o = i.bindings[a];
          o.kind === r && (s[a] = o);
        }
        i = i.parent;
      } while (i);
    }
    return s;
  }, "getAllBindingsOfKind"), Object.defineProperties(ko.prototype, {
    parentBlock: {
      configurable: !0,
      enumerable: !0,
      get() {
        return this.path.parent;
      }
    },
    hub: {
      configurable: !0,
      enumerable: !0,
      get() {
        return this.path.hub;
      }
    }
  });
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/source-map.js
var Fte = g((CE) => {
  "use strict";
  Object.defineProperty(CE, "__esModule", {
    value: !0
  });
  CE.default = void 0;
  var lp = hh(), dB = Dc(), mB = class {
    static {
      n(this, "SourceMap");
    }
    constructor(e, s) {
      var r;
      this._map = void 0, this._rawMappings = void 0, this._sourceFileName = void 0, this._lastGenLine = 0, this._lastSourceLine = 0, this._lastSourceColumn =
      0, this._inputMap = void 0;
      let i = this._map = new lp.GenMapping({
        sourceRoot: e.sourceRoot
      });
      if (this._sourceFileName = (r = e.sourceFileName) == null ? void 0 : r.replace(/\\/g, "/"), this._rawMappings = void 0, e.inputSourceMap) {
        this._inputMap = new dB.TraceMap(e.inputSourceMap);
        let o = this._inputMap.resolvedSources;
        if (o.length)
          for (let l = 0; l < o.length; l++) {
            var a;
            (0, lp.setSourceContent)(i, o[l], (a = this._inputMap.sourcesContent) == null ? void 0 : a[l]);
          }
      }
      if (typeof s == "string" && !e.inputSourceMap)
        (0, lp.setSourceContent)(i, this._sourceFileName, s);
      else if (typeof s == "object")
        for (let o of Object.keys(s))
          (0, lp.setSourceContent)(i, o.replace(/\\/g, "/"), s[o]);
    }
    get() {
      return (0, lp.toEncodedMap)(this._map);
    }
    getDecoded() {
      return (0, lp.toDecodedMap)(this._map);
    }
    getRawMappings() {
      return this._rawMappings || (this._rawMappings = (0, lp.allMappings)(this._map));
    }
    mark(e, s, r, i, a, o) {
      var l;
      this._rawMappings = void 0;
      let u;
      if (s != null)
        if (this._inputMap) {
          if (u = (0, dB.originalPositionFor)(this._inputMap, {
            line: s,
            column: r
          }), !u.name && a) {
            let c = (0, dB.originalPositionFor)(this._inputMap, a);
            c.name && (i = c.name);
          }
        } else
          u = {
            source: o?.replace(/\\/g, "/") || this._sourceFileName,
            line: s,
            column: r
          };
      (0, lp.maybeAddMapping)(this._map, {
        name: i,
        generated: e,
        source: (l = u) == null ? void 0 : l.source,
        original: u
      });
    }
  };
  CE.default = mB;
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/buffer.js
var jte = g((wE) => {
  "use strict";
  Object.defineProperty(wE, "__esModule", {
    value: !0
  });
  wE.default = void 0;
  var yB = class {
    static {
      n(this, "Buffer");
    }
    constructor(e, s) {
      this._map = null, this._buf = "", this._str = "", this._appendCount = 0, this._last = 0, this._queue = [], this._queueCursor = 0, this.
      _canMarkIdName = !0, this._indentChar = "", this._fastIndentations = [], this._position = {
        line: 1,
        column: 0
      }, this._sourcePosition = {
        identifierName: void 0,
        identifierNamePos: void 0,
        line: void 0,
        column: void 0,
        filename: void 0
      }, this._map = e, this._indentChar = s;
      for (let r = 0; r < 64; r++)
        this._fastIndentations.push(s.repeat(r));
      this._allocQueue();
    }
    _allocQueue() {
      let e = this._queue;
      for (let s = 0; s < 16; s++)
        e.push({
          char: 0,
          repeat: 1,
          line: void 0,
          column: void 0,
          identifierName: void 0,
          identifierNamePos: void 0,
          filename: ""
        });
    }
    _pushQueue(e, s, r, i, a) {
      let o = this._queueCursor;
      o === this._queue.length && this._allocQueue();
      let l = this._queue[o];
      l.char = e, l.repeat = s, l.line = r, l.column = i, l.filename = a, this._queueCursor++;
    }
    _popQueue() {
      if (this._queueCursor === 0)
        throw new Error("Cannot pop from empty queue");
      return this._queue[--this._queueCursor];
    }
    get() {
      this._flush();
      let e = this._map, s = {
        code: (this._buf + this._str).trimRight(),
        decodedMap: e?.getDecoded(),
        get __mergedMap() {
          return this.map;
        },
        get map() {
          let r = e ? e.get() : null;
          return s.map = r, r;
        },
        set map(r) {
          Object.defineProperty(s, "map", {
            value: r,
            writable: !0
          });
        },
        get rawMappings() {
          let r = e?.getRawMappings();
          return s.rawMappings = r, r;
        },
        set rawMappings(r) {
          Object.defineProperty(s, "rawMappings", {
            value: r,
            writable: !0
          });
        }
      };
      return s;
    }
    append(e, s) {
      this._flush(), this._append(e, this._sourcePosition, s);
    }
    appendChar(e) {
      this._flush(), this._appendChar(e, 1, this._sourcePosition);
    }
    queue(e) {
      if (e === 10)
        for (; this._queueCursor !== 0; ) {
          let r = this._queue[this._queueCursor - 1].char;
          if (r !== 32 && r !== 9)
            break;
          this._queueCursor--;
        }
      let s = this._sourcePosition;
      this._pushQueue(e, 1, s.line, s.column, s.filename);
    }
    queueIndentation(e) {
      e !== 0 && this._pushQueue(-1, e, void 0, void 0, void 0);
    }
    _flush() {
      let e = this._queueCursor, s = this._queue;
      for (let r = 0; r < e; r++) {
        let i = s[r];
        this._appendChar(i.char, i.repeat, i);
      }
      this._queueCursor = 0;
    }
    _appendChar(e, s, r) {
      if (this._last = e, e === -1) {
        let i = this._fastIndentations[s];
        i !== void 0 ? this._str += i : this._str += s > 1 ? this._indentChar.repeat(s) : this._indentChar;
      } else
        this._str += s > 1 ? String.fromCharCode(e).repeat(s) : String.fromCharCode(e);
      e !== 10 ? (this._mark(r.line, r.column, r.identifierName, r.identifierNamePos, r.filename), this._position.column += s) : (this._position.
      line++, this._position.column = 0), this._canMarkIdName && (r.identifierName = void 0, r.identifierNamePos = void 0);
    }
    _append(e, s, r) {
      let i = e.length, a = this._position;
      if (this._last = e.charCodeAt(i - 1), ++this._appendCount > 4096 ? (+this._str, this._buf += this._str, this._str = e, this._appendCount =
      0) : this._str += e, !r && !this._map) {
        a.column += i;
        return;
      }
      let {
        column: o,
        identifierName: l,
        identifierNamePos: u,
        filename: c
      } = s, p = s.line;
      (l != null || u != null) && this._canMarkIdName && (s.identifierName = void 0, s.identifierNamePos = void 0);
      let h = e.indexOf(`
`), f = 0;
      for (h !== 0 && this._mark(p, o, l, u, c); h !== -1; )
        a.line++, a.column = 0, f = h + 1, f < i && p !== void 0 && this._mark(++p, 0, null, null, c), h = e.indexOf(`
`, f);
      a.column += i - f;
    }
    _mark(e, s, r, i, a) {
      var o;
      (o = this._map) == null || o.mark(this._position, e, s, r, i, a);
    }
    removeTrailingNewline() {
      let e = this._queueCursor;
      e !== 0 && this._queue[e - 1].char === 10 && this._queueCursor--;
    }
    removeLastSemicolon() {
      let e = this._queueCursor;
      e !== 0 && this._queue[e - 1].char === 59 && this._queueCursor--;
    }
    getLastChar() {
      let e = this._queueCursor;
      return e !== 0 ? this._queue[e - 1].char : this._last;
    }
    getNewlineCount() {
      let e = this._queueCursor, s = 0;
      if (e === 0) return this._last === 10 ? 1 : 0;
      for (let r = e - 1; r >= 0 && this._queue[r].char === 10; r--)
        s++;
      return s === e && this._last === 10 ? s + 1 : s;
    }
    endsWithCharAndNewline() {
      let e = this._queue, s = this._queueCursor;
      if (s !== 0)
        return e[s - 1].char !== 10 ? void 0 : s > 1 ? e[s - 2].char : this._last;
    }
    hasContent() {
      return this._queueCursor !== 0 || !!this._last;
    }
    exactSource(e, s) {
      if (!this._map) {
        s();
        return;
      }
      this.source("start", e);
      let r = e.identifierName, i = this._sourcePosition;
      r && (this._canMarkIdName = !1, i.identifierName = r), s(), r && (this._canMarkIdName = !0, i.identifierName = void 0, i.identifierNamePos =
      void 0), this.source("end", e);
    }
    source(e, s) {
      this._map && this._normalizePosition(e, s, 0);
    }
    sourceWithOffset(e, s, r) {
      this._map && this._normalizePosition(e, s, r);
    }
    _normalizePosition(e, s, r) {
      let i = s[e], a = this._sourcePosition;
      i && (a.line = i.line, a.column = Math.max(i.column + r, 0), a.filename = s.filename);
    }
    getCurrentColumn() {
      let e = this._queue, s = this._queueCursor, r = -1, i = 0;
      for (let a = 0; a < s; a++) {
        let o = e[a];
        o.char === 10 && (r = i), i += o.repeat;
      }
      return r === -1 ? this._position.column + i : i - 1 - r;
    }
    getCurrentLine() {
      let e = 0, s = this._queue;
      for (let r = 0; r < this._queueCursor; r++)
        s[r].char === 10 && e++;
      return this._position.line + e;
    }
  };
  wE.default = yB;
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/node/whitespace.js
var Vte = g((NE) => {
  "use strict";
  Object.defineProperty(NE, "__esModule", {
    value: !0
  });
  NE.nodes = void 0;
  var qyt = fe(), {
    FLIPPED_ALIAS_KEYS: Uyt,
    isArrayExpression: Kyt,
    isAssignmentExpression: qte,
    isBinary: Ute,
    isBlockStatement: Vyt,
    isCallExpression: Kte,
    isFunction: C0,
    isIdentifier: IE,
    isLiteral: Wyt,
    isMemberExpression: gB,
    isObjectExpression: $yt,
    isOptionalCallExpression: Hyt,
    isOptionalMemberExpression: Jyt,
    isStringLiteral: Yyt
  } = qyt;
  function mm(t, e) {
    return t && (gB(t) || Jyt(t) ? (mm(t.object, e), t.computed && mm(t.property, e)) : Ute(t) || qte(t) ? (mm(t.left, e), mm(t.right, e)) :
    Kte(t) || Hyt(t) ? (e.hasCall = !0, mm(t.callee, e)) : C0(t) ? e.hasFunction = !0 : IE(t) && (e.hasHelper = e.hasHelper || t.callee && Iu(
    t.callee))), e;
  }
  n(mm, "crawlInternal");
  function Rte(t) {
    return mm(t, {
      hasCall: !1,
      hasFunction: !1,
      hasHelper: !1
    });
  }
  n(Rte, "crawl");
  function Iu(t) {
    return t ? gB(t) ? Iu(t.object) || Iu(t.property) : IE(t) ? t.name === "require" || t.name.charCodeAt(0) === 95 : Kte(t) ? Iu(t.callee) :
    Ute(t) || qte(t) ? IE(t.left) && Iu(t.left) || Iu(t.right) : !1 : !1;
  }
  n(Iu, "isHelper");
  function Xyt(t) {
    return Wyt(t) || $yt(t) || Kyt(t) || IE(t) || gB(t);
  }
  n(Xyt, "isType");
  var Qh = NE.nodes = {
    AssignmentExpression(t) {
      let e = Rte(t.right);
      if (e.hasCall && e.hasHelper || e.hasFunction)
        return e.hasFunction ? 3 : 2;
    },
    SwitchCase(t, e) {
      return (t.consequent.length || e.cases[0] === t ? 1 : 0) | (!t.consequent.length && e.cases[e.cases.length - 1] === t ? 2 : 0);
    },
    LogicalExpression(t) {
      if (C0(t.left) || C0(t.right))
        return 2;
    },
    Literal(t) {
      if (Yyt(t) && t.value === "use strict")
        return 2;
    },
    CallExpression(t) {
      if (C0(t.callee) || Iu(t))
        return 3;
    },
    OptionalCallExpression(t) {
      if (C0(t.callee))
        return 3;
    },
    VariableDeclaration(t) {
      for (let e = 0; e < t.declarations.length; e++) {
        let s = t.declarations[e], r = Iu(s.id) && !Xyt(s.init);
        if (!r && s.init) {
          let i = Rte(s.init);
          r = Iu(s.init) && i.hasCall || i.hasFunction;
        }
        if (r)
          return 3;
      }
    },
    IfStatement(t) {
      if (Vyt(t.consequent))
        return 3;
    }
  };
  Qh.ObjectProperty = Qh.ObjectTypeProperty = Qh.ObjectMethod = function(t, e) {
    if (e.properties[0] === t)
      return 1;
  };
  Qh.ObjectTypeCallProperty = function(t, e) {
    var s;
    if (e.callProperties[0] === t && !((s = e.properties) != null && s.length))
      return 1;
  };
  Qh.ObjectTypeIndexer = function(t, e) {
    var s, r;
    if (e.indexers[0] === t && !((s = e.properties) != null && s.length) && !((r = e.callProperties) != null && r.length))
      return 1;
  };
  Qh.ObjectTypeInternalSlot = function(t, e) {
    var s, r, i;
    if (e.internalSlots[0] === t && !((s = e.properties) != null && s.length) && !((r = e.callProperties) != null && r.length) && !((i = e.indexers) !=
    null && i.length))
      return 1;
  };
  [["Function", !0], ["Class", !0], ["Loop", !0], ["LabeledStatement", !0], ["SwitchStatement", !0], ["TryStatement", !0]].forEach(function([
  t, e]) {
    [t].concat(Uyt[t] || []).forEach(function(s) {
      let r = e ? 3 : 0;
      Qh[s] = () => r;
    });
  });
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/node/parentheses.js
var Gte = g((vs) => {
  "use strict";
  Object.defineProperty(vs, "__esModule", {
    value: !0
  });
  vs.AssignmentExpression = wgt;
  vs.Binary = Yte;
  vs.BinaryExpression = Sgt;
  vs.ClassExpression = Agt;
  vs.ArrowFunctionExpression = vs.ConditionalExpression = zte;
  vs.DoExpression = cgt;
  vs.FunctionExpression = vgt;
  vs.FunctionTypeAnnotation = ogt;
  vs.Identifier = Ngt;
  vs.LogicalExpression = Igt;
  vs.NullableTypeAnnotation = agt;
  vs.ObjectExpression = ugt;
  vs.OptionalIndexedAccessType = hgt;
  vs.OptionalCallExpression = vs.OptionalMemberExpression = Cgt;
  vs.SequenceExpression = Pgt;
  vs.TSSatisfiesExpression = vs.TSAsExpression = fgt;
  vs.TSConditionalType = dgt;
  vs.TSConstructorType = vs.TSFunctionType = xgt;
  vs.TSInferType = ggt;
  vs.TSInstantiationExpression = bgt;
  vs.TSIntersectionType = ygt;
  vs.UnaryLike = vs.TSTypeAssertion = Xte;
  vs.TSTypeOperator = Tgt;
  vs.TSUnionType = mgt;
  vs.IntersectionTypeAnnotation = vs.UnionTypeAnnotation = pgt;
  vs.UpdateExpression = lgt;
  vs.AwaitExpression = vs.YieldExpression = Egt;
  var zyt = fe(), qa = up(), {
    isArrayTypeAnnotation: Gyt,
    isBinaryExpression: Qyt,
    isCallExpression: Zyt,
    isForOfStatement: egt,
    isIndexedAccessType: tgt,
    isMemberExpression: Hte,
    isObjectPattern: sgt,
    isOptionalMemberExpression: rgt,
    isYieldExpression: igt,
    isStatement: ngt
  } = zyt, Wte = /* @__PURE__ */ new Map([["||", 0], ["??", 0], ["|>", 0], ["&&", 1], ["|", 2], ["^", 3], ["&", 4], ["==", 5], ["===", 5], [
  "!=", 5], ["!==", 5], ["<", 6], [">", 6], ["<=", 6], [">=", 6], ["in", 6], ["instanceof", 6], [">>", 7], ["<<", 7], [">>>", 7], ["+", 8], [
  "-", 8], ["*", 9], ["/", 9], ["%", 9], ["**", 10]]);
  function $te(t, e) {
    if (e === "BinaryExpression" || e === "LogicalExpression")
      return Wte.get(t.operator);
    if (e === "TSAsExpression" || e === "TSSatisfiesExpression")
      return Wte.get("in");
  }
  n($te, "getBinaryPrecedence");
  function TB(t) {
    return t === "TSAsExpression" || t === "TSSatisfiesExpression" || t === "TSTypeAssertion";
  }
  n(TB, "isTSTypeExpression");
  var kE = /* @__PURE__ */ n((t, e) => {
    let s = e.type;
    return (s === "ClassDeclaration" || s === "ClassExpression") && e.superClass === t;
  }, "isClassExtendsClause"), DE = /* @__PURE__ */ n((t, e) => {
    let s = e.type;
    return (s === "MemberExpression" || s === "OptionalMemberExpression") && e.object === t || (s === "CallExpression" || s === "OptionalCal\
lExpression" || s === "NewExpression") && e.callee === t || s === "TaggedTemplateExpression" && e.tag === t || s === "TSNonNullExpression";
  }, "hasPostfixPart");
  function agt(t, e) {
    return Gyt(e);
  }
  n(agt, "NullableTypeAnnotation");
  function ogt(t, e, s) {
    let r = e.type;
    return r === "UnionTypeAnnotation" || r === "IntersectionTypeAnnotation" || r === "ArrayTypeAnnotation" || !!(s & qa.TokenContext.arrowFlowReturnType);
  }
  n(ogt, "FunctionTypeAnnotation");
  function lgt(t, e) {
    return DE(t, e) || kE(t, e);
  }
  n(lgt, "UpdateExpression");
  function Jte(t) {
    return !!(t & (qa.TokenContext.expressionStatement | qa.TokenContext.arrowBody));
  }
  n(Jte, "needsParenBeforeExpressionBrace");
  function ugt(t, e, s) {
    return Jte(s);
  }
  n(ugt, "ObjectExpression");
  function cgt(t, e, s) {
    return !t.async && !!(s & qa.TokenContext.expressionStatement);
  }
  n(cgt, "DoExpression");
  function Yte(t, e) {
    let s = e.type;
    if (t.type === "BinaryExpression" && t.operator === "**" && s === "BinaryExpression" && e.operator === "**")
      return e.left === t;
    if (kE(t, e) || DE(t, e) || s === "UnaryExpression" || s === "SpreadElement" || s === "AwaitExpression")
      return !0;
    let r = $te(e, s);
    if (r != null) {
      let i = $te(t, t.type);
      if (r === i && s === "BinaryExpression" && e.right === t || r > i)
        return !0;
    }
  }
  n(Yte, "Binary");
  function pgt(t, e) {
    let s = e.type;
    return s === "ArrayTypeAnnotation" || s === "NullableTypeAnnotation" || s === "IntersectionTypeAnnotation" || s === "UnionTypeAnnotation";
  }
  n(pgt, "UnionTypeAnnotation");
  function hgt(t, e) {
    return tgt(e) && e.objectType === t;
  }
  n(hgt, "OptionalIndexedAccessType");
  function fgt(t, e) {
    return (e.type === "AssignmentExpression" || e.type === "AssignmentPattern") && e.left === t || e.type === "BinaryExpression" && (e.operator ===
    "|" || e.operator === "&") && t === e.left ? !0 : Yte(t, e);
  }
  n(fgt, "TSAsExpression");
  function dgt(t, e) {
    let s = e.type;
    return s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType" || s === "TSTypeOperator" || s ===
    "TSTypeParameter" || (s === "TSIntersectionType" || s === "TSUnionType") && e.types[0] === t || s === "TSConditionalType" && (e.checkType ===
    t || e.extendsType === t);
  }
  n(dgt, "TSConditionalType");
  function mgt(t, e) {
    let s = e.type;
    return s === "TSIntersectionType" || s === "TSTypeOperator" || s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t ||
    s === "TSOptionalType";
  }
  n(mgt, "TSUnionType");
  function ygt(t, e) {
    let s = e.type;
    return s === "TSTypeOperator" || s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType";
  }
  n(ygt, "TSIntersectionType");
  function ggt(t, e) {
    let s = e.type;
    return !!(s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType" || t.typeParameter.constraint &&
    (s === "TSIntersectionType" || s === "TSUnionType") && e.types[0] === t);
  }
  n(ggt, "TSInferType");
  function Tgt(t, e) {
    let s = e.type;
    return s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType";
  }
  n(Tgt, "TSTypeOperator");
  function bgt(t, e) {
    let s = e.type;
    return (s === "CallExpression" || s === "OptionalCallExpression" || s === "NewExpression" || s === "TSInstantiationExpression") && !!e.typeParameters;
  }
  n(bgt, "TSInstantiationExpression");
  function xgt(t, e) {
    let s = e.type;
    return s === "TSIntersectionType" || s === "TSUnionType" || s === "TSTypeOperator" || s === "TSOptionalType" || s === "TSArrayType" || s ===
    "TSIndexedAccessType" && e.objectType === t || s === "TSConditionalType" && (e.checkType === t || e.extendsType === t);
  }
  n(xgt, "TSFunctionType");
  function Sgt(t, e, s, r) {
    return t.operator === "in" && r;
  }
  n(Sgt, "BinaryExpression");
  function Pgt(t, e) {
    let s = e.type;
    return s === "SequenceExpression" || s === "ParenthesizedExpression" || s === "MemberExpression" && e.property === t || s === "OptionalM\
emberExpression" && e.property === t || s === "TemplateLiteral" ? !1 : s === "ClassDeclaration" ? !0 : s === "ForOfStatement" ? e.right === t :
    s === "ExportDefaultDeclaration" ? !0 : !ngt(e);
  }
  n(Pgt, "SequenceExpression");
  function Egt(t, e) {
    let s = e.type;
    return s === "BinaryExpression" || s === "LogicalExpression" || s === "UnaryExpression" || s === "SpreadElement" || DE(t, e) || s === "A\
waitExpression" && igt(t) || s === "ConditionalExpression" && t === e.test || kE(t, e) || TB(s);
  }
  n(Egt, "YieldExpression");
  function Agt(t, e, s) {
    return !!(s & (qa.TokenContext.expressionStatement | qa.TokenContext.exportDefault));
  }
  n(Agt, "ClassExpression");
  function Xte(t, e) {
    return DE(t, e) || Qyt(e) && e.operator === "**" && e.left === t || kE(t, e);
  }
  n(Xte, "UnaryLike");
  function vgt(t, e, s) {
    return !!(s & (qa.TokenContext.expressionStatement | qa.TokenContext.exportDefault));
  }
  n(vgt, "FunctionExpression");
  function zte(t, e) {
    let s = e.type;
    return s === "UnaryExpression" || s === "SpreadElement" || s === "BinaryExpression" || s === "LogicalExpression" || s === "ConditionalEx\
pression" && e.test === t || s === "AwaitExpression" || TB(s) ? !0 : Xte(t, e);
  }
  n(zte, "ConditionalExpression");
  function Cgt(t, e) {
    return Zyt(e) && e.callee === t || Hte(e) && e.object === t;
  }
  n(Cgt, "OptionalMemberExpression");
  function wgt(t, e, s) {
    return Jte(s) && sgt(t.left) ? !0 : zte(t, e);
  }
  n(wgt, "AssignmentExpression");
  function Igt(t, e) {
    let s = e.type;
    if (TB(s)) return !0;
    if (s !== "LogicalExpression") return !1;
    switch (t.operator) {
      case "||":
        return e.operator === "??" || e.operator === "&&";
      case "&&":
        return e.operator === "??";
      case "??":
        return e.operator !== "??";
    }
  }
  n(Igt, "LogicalExpression");
  function Ngt(t, e, s, r, i) {
    var a;
    let o = e.type;
    if ((a = t.extra) != null && a.parenthesized && o === "AssignmentExpression" && e.left === t) {
      let l = e.right.type;
      if ((l === "FunctionExpression" || l === "ClassExpression") && e.right.id == null)
        return !0;
    }
    return i && i(t) !== t.name ? !1 : t.name === "let" ? (Hte(e, {
      object: t,
      computed: !0
    }) || rgt(e, {
      object: t,
      computed: !0,
      optional: !1
    })) && s & (qa.TokenContext.expressionStatement | qa.TokenContext.forHead | qa.TokenContext.forInHead) ? !0 : !!(s & qa.TokenContext.forOfHead) :
    t.name === "async" && egt(e, {
      left: t,
      await: !1
    });
  }
  n(Ngt, "Identifier");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/node/index.js
var up = g((Nu) => {
  "use strict";
  Object.defineProperty(Nu, "__esModule", {
    value: !0
  });
  Nu.TokenContext = void 0;
  Nu.isLastChild = $gt;
  Nu.needsParens = Wgt;
  Nu.needsWhitespace = xB;
  Nu.needsWhitespaceAfter = Vgt;
  Nu.needsWhitespaceBefore = Kgt;
  var kgt = Vte(), Dgt = Gte(), Ogt = fe(), {
    FLIPPED_ALIAS_KEYS: _gt,
    VISITOR_KEYS: Lgt,
    isCallExpression: Qte,
    isDecorator: Bgt,
    isExpressionStatement: Mgt,
    isMemberExpression: Fgt,
    isNewExpression: jgt,
    isParenthesizedExpression: Rgt
  } = Ogt, NHs = Nu.TokenContext = {
    expressionStatement: 1,
    arrowBody: 2,
    exportDefault: 4,
    forHead: 8,
    forInHead: 16,
    forOfHead: 32,
    arrowFlowReturnType: 64
  };
  function Zte(t) {
    let e = /* @__PURE__ */ new Map();
    function s(r, i) {
      let a = e.get(r);
      e.set(r, a ? function(o, l, u, c, p) {
        var h;
        return (h = a(o, l, u, c, p)) != null ? h : i(o, l, u, c, p);
      } : i);
    }
    n(s, "add");
    for (let r of Object.keys(t)) {
      let i = _gt[r];
      if (i)
        for (let a of i)
          s(a, t[r]);
      else
        s(r, t[r]);
    }
    return e;
  }
  n(Zte, "expandAliases");
  var qgt = Zte(Dgt), Ugt = Zte(kgt.nodes);
  function ese(t) {
    return Qte(t) ? !0 : Fgt(t) && ese(t.object);
  }
  n(ese, "isOrHasCallExpression");
  function xB(t, e, s) {
    var r;
    if (!t) return !1;
    Mgt(t) && (t = t.expression);
    let i = (r = Ugt.get(t.type)) == null ? void 0 : r(t, e);
    return typeof i == "number" ? (i & s) !== 0 : !1;
  }
  n(xB, "needsWhitespace");
  function Kgt(t, e) {
    return xB(t, e, 1);
  }
  n(Kgt, "needsWhitespaceBefore");
  function Vgt(t, e) {
    return xB(t, e, 2);
  }
  n(Vgt, "needsWhitespaceAfter");
  function Wgt(t, e, s, r, i) {
    var a;
    return e ? jgt(e) && e.callee === t && ese(t) ? !0 : Bgt(e) ? !bB(t) && !(Qte(t) && bB(t.callee)) && !Rgt(t) : (a = qgt.get(t.type)) == null ?
    void 0 : a(t, e, s, r, i) : !1;
  }
  n(Wgt, "needsParens");
  function bB(t) {
    switch (t.type) {
      case "Identifier":
        return !0;
      case "MemberExpression":
        return !t.computed && t.property.type === "Identifier" && bB(t.object);
      default:
        return !1;
    }
  }
  n(bB, "isDecoratorMemberExpression");
  function $gt(t, e) {
    let s = Lgt[t.type];
    for (let r = s.length - 1; r >= 0; r--) {
      let i = t[s[r]];
      if (i === e)
        return !0;
      if (Array.isArray(i)) {
        let a = i.length - 1;
        for (; a >= 0 && i[a] === null; ) a--;
        return a >= 0 && i[a] === e;
      } else if (i)
        return !1;
    }
    return !1;
  }
  n($gt, "isLastChild");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/token-map.js
var tse = g((OE) => {
  "use strict";
  Object.defineProperty(OE, "__esModule", {
    value: !0
  });
  OE.TokenMap = void 0;
  var Hgt = fe(), {
    traverseFast: Jgt,
    VISITOR_KEYS: Ygt
  } = Hgt, SB = class {
    static {
      n(this, "TokenMap");
    }
    constructor(e, s, r) {
      this._tokens = void 0, this._source = void 0, this._nodesToTokenIndexes = /* @__PURE__ */ new Map(), this._nodesOccurrencesCountCache =
      /* @__PURE__ */ new Map(), this._tokensCache = /* @__PURE__ */ new Map(), this._tokens = s, this._source = r, Jgt(e, (i) => {
        let a = this._getTokensIndexesOfNode(i);
        a.length > 0 && this._nodesToTokenIndexes.set(i, a);
      }), this._tokensCache = null;
    }
    has(e) {
      return this._nodesToTokenIndexes.has(e);
    }
    getIndexes(e) {
      return this._nodesToTokenIndexes.get(e);
    }
    find(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (r)
        for (let i = 0; i < r.length; i++) {
          let a = r[i], o = this._tokens[a];
          if (s(o, a)) return o;
        }
      return null;
    }
    findLastIndex(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (r)
        for (let i = r.length - 1; i >= 0; i--) {
          let a = r[i], o = this._tokens[a];
          if (s(o, a)) return a;
        }
      return -1;
    }
    findMatching(e, s, r = 0) {
      let i = this._nodesToTokenIndexes.get(e);
      if (i) {
        let a = 0, o = r;
        if (o > 1) {
          let l = this._nodesOccurrencesCountCache.get(e);
          l && l.test === s && l.count < o && (a = l.i + 1, r -= l.count + 1);
        }
        for (; a < i.length; a++) {
          let l = this._tokens[i[a]];
          if (this.matchesOriginal(l, s)) {
            if (r === 0)
              return o > 0 && this._nodesOccurrencesCountCache.set(e, {
                test: s,
                count: o,
                i: a
              }), l;
            r--;
          }
        }
      }
      return null;
    }
    matchesOriginal(e, s) {
      return e.end - e.start !== s.length ? !1 : e.value != null ? e.value === s : this._source.startsWith(s, e.start);
    }
    startMatches(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (!r) return !1;
      let i = this._tokens[r[0]];
      return i.start !== e.start ? !1 : this.matchesOriginal(i, s);
    }
    endMatches(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (!r) return !1;
      let i = this._tokens[r[r.length - 1]];
      return i.end !== e.end ? !1 : this.matchesOriginal(i, s);
    }
    _getTokensIndexesOfNode(e) {
      if (e.start == null || e.end == null) return [];
      let {
        first: s,
        last: r
      } = this._findTokensOfNode(e, 0, this._tokens.length - 1), i = s, a = Xgt(e);
      (e.type === "ExportNamedDeclaration" || e.type === "ExportDefaultDeclaration") && e.declaration && e.declaration.type === "ClassDeclar\
ation" && a.next();
      let o = [];
      for (let l of a) {
        if (l == null || l.start == null || l.end == null) continue;
        let u = this._findTokensOfNode(l, i, r), c = u.first;
        for (let p = i; p < c; p++) o.push(p);
        i = u.last + 1;
      }
      for (let l = i; l <= r; l++) o.push(l);
      return o;
    }
    _findTokensOfNode(e, s, r) {
      let i = this._tokensCache.get(e);
      if (i) return i;
      let a = this._findFirstTokenOfNode(e.start, s, r), o = this._findLastTokenOfNode(e.end, a, r);
      return this._tokensCache.set(e, {
        first: a,
        last: o
      }), {
        first: a,
        last: o
      };
    }
    _findFirstTokenOfNode(e, s, r) {
      for (; s <= r; ) {
        let i = r + s >> 1;
        if (e < this._tokens[i].start)
          r = i - 1;
        else if (e > this._tokens[i].start)
          s = i + 1;
        else
          return i;
      }
      return s;
    }
    _findLastTokenOfNode(e, s, r) {
      for (; s <= r; ) {
        let i = r + s >> 1;
        if (e < this._tokens[i].end)
          r = i - 1;
        else if (e > this._tokens[i].end)
          s = i + 1;
        else
          return i;
      }
      return r;
    }
  };
  OE.TokenMap = SB;
  function* Xgt(t) {
    if (t.type === "TemplateLiteral") {
      yield t.quasis[0];
      for (let s = 1; s < t.quasis.length; s++)
        yield t.expressions[s - 1], yield t.quasis[s];
      return;
    }
    let e = Ygt[t.type];
    for (let s of e) {
      let r = t[s];
      r && (Array.isArray(r) ? yield* r : yield r);
    }
  }
  n(Xgt, "childrenIterator");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/generators/template-literals.js
var sse = g((ym) => {
  "use strict";
  Object.defineProperty(ym, "__esModule", {
    value: !0
  });
  ym.TaggedTemplateExpression = zgt;
  ym.TemplateElement = Ggt;
  ym.TemplateLiteral = Zgt;
  ym._printTemplate = Qgt;
  function zgt(t) {
    this.print(t.tag), this.print(t.typeParameters), this.print(t.quasi);
  }
  n(zgt, "TaggedTemplateExpression");
  function Ggt() {
    throw new Error("TemplateElement printing is handled in TemplateLiteral");
  }
  n(Ggt, "TemplateElement");
  function Qgt(t, e) {
    let s = t.quasis, r = "`";
    for (let i = 0; i < s.length - 1; i++)
      if (r += s[i].value.raw, this.token(r + "${", !0), this.print(e[i]), r = "}", this.tokenMap) {
        let a = this.tokenMap.findMatching(t, "}", i);
        a && this._catchUpTo(a.loc.start);
      }
    r += s[s.length - 1].value.raw, this.token(r + "`", !0);
  }
  n(Qgt, "_printTemplate");
  function Zgt(t) {
    this._printTemplate(t, t.expressions);
  }
  n(Zgt, "TemplateLiteral");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/generators/expressions.js
var ise = g((cr) => {
  "use strict";
  Object.defineProperty(cr, "__esModule", {
    value: !0
  });
  cr.LogicalExpression = cr.BinaryExpression = cr.AssignmentExpression = v0t;
  cr.AssignmentPattern = A0t;
  cr.AwaitExpression = x0t;
  cr.BindExpression = C0t;
  cr.CallExpression = T0t;
  cr.ConditionalExpression = u0t;
  cr.Decorator = m0t;
  cr.DoExpression = a0t;
  cr.EmptyStatement = P0t;
  cr.ExpressionStatement = E0t;
  cr.Import = b0t;
  cr.MemberExpression = w0t;
  cr.MetaProperty = I0t;
  cr.ModuleExpression = D0t;
  cr.NewExpression = c0t;
  cr.OptionalCallExpression = g0t;
  cr.OptionalMemberExpression = y0t;
  cr.ParenthesizedExpression = o0t;
  cr.PrivateName = N0t;
  cr.SequenceExpression = p0t;
  cr.Super = f0t;
  cr.ThisExpression = h0t;
  cr.UnaryExpression = n0t;
  cr.UpdateExpression = l0t;
  cr.V8IntrinsicIdentifier = k0t;
  cr.YieldExpression = S0t;
  cr._shouldPrintDecoratorsBeforeExport = d0t;
  var e0t = fe(), t0t = up(), {
    isCallExpression: s0t,
    isLiteral: rse,
    isMemberExpression: PB,
    isNewExpression: r0t,
    isPattern: i0t
  } = e0t;
  function n0t(t) {
    let {
      operator: e
    } = t;
    e === "void" || e === "delete" || e === "typeof" || e === "throw" ? (this.word(e), this.space()) : this.token(e), this.print(t.argument);
  }
  n(n0t, "UnaryExpression");
  function a0t(t) {
    t.async && (this.word("async", !0), this.space()), this.word("do"), this.space(), this.print(t.body);
  }
  n(a0t, "DoExpression");
  function o0t(t) {
    this.tokenChar(40);
    let e = this.enterDelimited();
    this.print(t.expression), e(), this.rightParens(t);
  }
  n(o0t, "ParenthesizedExpression");
  function l0t(t) {
    t.prefix ? (this.token(t.operator), this.print(t.argument)) : (this.print(t.argument, !0), this.token(t.operator));
  }
  n(l0t, "UpdateExpression");
  function u0t(t) {
    this.print(t.test), this.space(), this.tokenChar(63), this.space(), this.print(t.consequent), this.space(), this.tokenChar(58), this.space(),
    this.print(t.alternate);
  }
  n(u0t, "ConditionalExpression");
  function c0t(t, e) {
    if (this.word("new"), this.space(), this.print(t.callee), this.format.minified && t.arguments.length === 0 && !t.optional && !s0t(e, {
      callee: t
    }) && !PB(e) && !r0t(e) || (this.print(t.typeArguments), this.print(t.typeParameters), t.optional && this.token("?."), t.arguments.length ===
    0 && this.tokenMap && !this.tokenMap.endMatches(t, ")")))
      return;
    this.tokenChar(40);
    let s = this.enterDelimited();
    this.printList(t.arguments, this.shouldPrintTrailingComma(")")), s(), this.rightParens(t);
  }
  n(c0t, "NewExpression");
  function p0t(t) {
    this.printList(t.expressions);
  }
  n(p0t, "SequenceExpression");
  function h0t() {
    this.word("this");
  }
  n(h0t, "ThisExpression");
  function f0t() {
    this.word("super");
  }
  n(f0t, "Super");
  function d0t(t) {
    return typeof this.format.decoratorsBeforeExport == "boolean" ? this.format.decoratorsBeforeExport : typeof t.start == "number" && t.start ===
    t.declaration.start;
  }
  n(d0t, "_shouldPrintDecoratorsBeforeExport");
  function m0t(t) {
    this.tokenChar(64), this.print(t.expression), this.newline();
  }
  n(m0t, "Decorator");
  function y0t(t) {
    let {
      computed: e
    } = t, {
      optional: s,
      property: r
    } = t;
    if (this.print(t.object), !e && PB(r))
      throw new TypeError("Got a MemberExpression for MemberExpression property");
    rse(r) && typeof r.value == "number" && (e = !0), s && this.token("?."), e ? (this.tokenChar(91), this.print(r), this.tokenChar(93)) : (s ||
    this.tokenChar(46), this.print(r));
  }
  n(y0t, "OptionalMemberExpression");
  function g0t(t) {
    this.print(t.callee), this.print(t.typeParameters), t.optional && this.token("?."), this.print(t.typeArguments), this.tokenChar(40);
    let e = this.enterDelimited();
    this.printList(t.arguments), e(), this.rightParens(t);
  }
  n(g0t, "OptionalCallExpression");
  function T0t(t) {
    this.print(t.callee), this.print(t.typeArguments), this.print(t.typeParameters), this.tokenChar(40);
    let e = this.enterDelimited();
    this.printList(t.arguments, this.shouldPrintTrailingComma(")")), e(), this.rightParens(t);
  }
  n(T0t, "CallExpression");
  function b0t() {
    this.word("import");
  }
  n(b0t, "Import");
  function x0t(t) {
    this.word("await"), t.argument && (this.space(), this.printTerminatorless(t.argument));
  }
  n(x0t, "AwaitExpression");
  function S0t(t) {
    this.word("yield", !0), t.delegate ? (this.tokenChar(42), t.argument && (this.space(), this.print(t.argument))) : t.argument && (this.space(),
    this.printTerminatorless(t.argument));
  }
  n(S0t, "YieldExpression");
  function P0t() {
    this.semicolon(!0);
  }
  n(P0t, "EmptyStatement");
  function E0t(t) {
    this.tokenContext |= t0t.TokenContext.expressionStatement, this.print(t.expression), this.semicolon();
  }
  n(E0t, "ExpressionStatement");
  function A0t(t) {
    this.print(t.left), (t.left.type === "Identifier" || i0t(t.left)) && (t.left.optional && this.tokenChar(63), this.print(t.left.typeAnnotation)),
    this.space(), this.tokenChar(61), this.space(), this.print(t.right);
  }
  n(A0t, "AssignmentPattern");
  function v0t(t) {
    this.print(t.left), this.space(), t.operator === "in" || t.operator === "instanceof" ? this.word(t.operator) : (this.token(t.operator), this.
    _endsWithDiv = t.operator === "/"), this.space(), this.print(t.right);
  }
  n(v0t, "AssignmentExpression");
  function C0t(t) {
    this.print(t.object), this.token("::"), this.print(t.callee);
  }
  n(C0t, "BindExpression");
  function w0t(t) {
    if (this.print(t.object), !t.computed && PB(t.property))
      throw new TypeError("Got a MemberExpression for MemberExpression property");
    let e = t.computed;
    if (rse(t.property) && typeof t.property.value == "number" && (e = !0), e) {
      let s = this.enterDelimited();
      this.tokenChar(91), this.print(t.property), this.tokenChar(93), s();
    } else
      this.tokenChar(46), this.print(t.property);
  }
  n(w0t, "MemberExpression");
  function I0t(t) {
    this.print(t.meta), this.tokenChar(46), this.print(t.property);
  }
  n(I0t, "MetaProperty");
  function N0t(t) {
    this.tokenChar(35), this.print(t.id);
  }
  n(N0t, "PrivateName");
  function k0t(t) {
    this.tokenChar(37), this.word(t.name);
  }
  n(k0t, "V8IntrinsicIdentifier");
  function D0t(t) {
    this.word("module", !0), this.space(), this.tokenChar(123), this.indent();
    let {
      body: e
    } = t;
    (e.body.length || e.directives.length) && this.newline(), this.print(e), this.dedent(), this.rightBrace(t);
  }
  n(D0t, "ModuleExpression");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/generators/statements.js
var lse = g((Xr) => {
  "use strict";
  Object.defineProperty(Xr, "__esModule", {
    value: !0
  });
  Xr.BreakStatement = U0t;
  Xr.CatchClause = J0t;
  Xr.ContinueStatement = K0t;
  Xr.DebuggerStatement = z0t;
  Xr.DoWhileStatement = q0t;
  Xr.ForOfStatement = Xr.ForInStatement = void 0;
  Xr.ForStatement = j0t;
  Xr.IfStatement = F0t;
  Xr.LabeledStatement = $0t;
  Xr.ReturnStatement = V0t;
  Xr.SwitchCase = X0t;
  Xr.SwitchStatement = Y0t;
  Xr.ThrowStatement = W0t;
  Xr.TryStatement = H0t;
  Xr.VariableDeclaration = G0t;
  Xr.VariableDeclarator = Q0t;
  Xr.WhileStatement = R0t;
  Xr.WithStatement = M0t;
  var O0t = fe(), EB = up(), {
    isFor: nse,
    isForStatement: _0t,
    isIfStatement: L0t,
    isStatement: B0t
  } = O0t;
  function M0t(t) {
    this.word("with"), this.space(), this.tokenChar(40), this.print(t.object), this.tokenChar(41), this.printBlock(t);
  }
  n(M0t, "WithStatement");
  function F0t(t) {
    this.word("if"), this.space(), this.tokenChar(40), this.print(t.test), this.tokenChar(41), this.space();
    let e = t.alternate && L0t(ase(t.consequent));
    e && (this.tokenChar(123), this.newline(), this.indent()), this.printAndIndentOnComments(t.consequent), e && (this.dedent(), this.newline(),
    this.tokenChar(125)), t.alternate && (this.endsWith(125) && this.space(), this.word("else"), this.space(), this.printAndIndentOnComments(
    t.alternate));
  }
  n(F0t, "IfStatement");
  function ase(t) {
    let {
      body: e
    } = t;
    return B0t(e) === !1 ? t : ase(e);
  }
  n(ase, "getLastStatement");
  function j0t(t) {
    this.word("for"), this.space(), this.tokenChar(40);
    {
      let e = this.enterForStatementInit();
      this.tokenContext |= EB.TokenContext.forHead, this.print(t.init), e();
    }
    this.tokenChar(59), t.test && (this.space(), this.print(t.test)), this.token(";", !1, 1), t.update && (this.space(), this.print(t.update)),
    this.tokenChar(41), this.printBlock(t);
  }
  n(j0t, "ForStatement");
  function R0t(t) {
    this.word("while"), this.space(), this.tokenChar(40), this.print(t.test), this.tokenChar(41), this.printBlock(t);
  }
  n(R0t, "WhileStatement");
  function ose(t) {
    this.word("for"), this.space();
    let e = t.type === "ForOfStatement";
    e && t.await && (this.word("await"), this.space()), this.noIndentInnerCommentsHere(), this.tokenChar(40);
    {
      let s = e ? null : this.enterForStatementInit();
      this.tokenContext |= e ? EB.TokenContext.forOfHead : EB.TokenContext.forInHead, this.print(t.left), s?.();
    }
    this.space(), this.word(e ? "of" : "in"), this.space(), this.print(t.right), this.tokenChar(41), this.printBlock(t);
  }
  n(ose, "ForXStatement");
  var jHs = Xr.ForInStatement = ose, RHs = Xr.ForOfStatement = ose;
  function q0t(t) {
    this.word("do"), this.space(), this.print(t.body), this.space(), this.word("while"), this.space(), this.tokenChar(40), this.print(t.test),
    this.tokenChar(41), this.semicolon();
  }
  n(q0t, "DoWhileStatement");
  function _E(t, e) {
    e && (t.space(), t.printTerminatorless(e)), t.semicolon();
  }
  n(_E, "printStatementAfterKeyword");
  function U0t(t) {
    this.word("break"), _E(this, t.label);
  }
  n(U0t, "BreakStatement");
  function K0t(t) {
    this.word("continue"), _E(this, t.label);
  }
  n(K0t, "ContinueStatement");
  function V0t(t) {
    this.word("return"), _E(this, t.argument);
  }
  n(V0t, "ReturnStatement");
  function W0t(t) {
    this.word("throw"), _E(this, t.argument);
  }
  n(W0t, "ThrowStatement");
  function $0t(t) {
    this.print(t.label), this.tokenChar(58), this.space(), this.print(t.body);
  }
  n($0t, "LabeledStatement");
  function H0t(t) {
    this.word("try"), this.space(), this.print(t.block), this.space(), t.handlers ? this.print(t.handlers[0]) : this.print(t.handler), t.finalizer &&
    (this.space(), this.word("finally"), this.space(), this.print(t.finalizer));
  }
  n(H0t, "TryStatement");
  function J0t(t) {
    this.word("catch"), this.space(), t.param && (this.tokenChar(40), this.print(t.param), this.print(t.param.typeAnnotation), this.tokenChar(
    41), this.space()), this.print(t.body);
  }
  n(J0t, "CatchClause");
  function Y0t(t) {
    this.word("switch"), this.space(), this.tokenChar(40), this.print(t.discriminant), this.tokenChar(41), this.space(), this.tokenChar(123),
    this.printSequence(t.cases, !0, void 0, /* @__PURE__ */ n(function(s, r) {
      if (!s && t.cases[t.cases.length - 1] === r) return -1;
    }, "addNewlines")), this.rightBrace(t);
  }
  n(Y0t, "SwitchStatement");
  function X0t(t) {
    t.test ? (this.word("case"), this.space(), this.print(t.test), this.tokenChar(58)) : (this.word("default"), this.tokenChar(58)), t.consequent.
    length && (this.newline(), this.printSequence(t.consequent, !0));
  }
  n(X0t, "SwitchCase");
  function z0t() {
    this.word("debugger"), this.semicolon();
  }
  n(z0t, "DebuggerStatement");
  function G0t(t, e) {
    t.declare && (this.word("declare"), this.space());
    let {
      kind: s
    } = t;
    s === "await using" ? (this.word("await"), this.space(), this.word("using", !0)) : this.word(s, s === "using"), this.space();
    let r = !1;
    if (!nse(e))
      for (let i of t.declarations)
        i.init && (r = !0);
    if (this.printList(t.declarations, void 0, void 0, t.declarations.length > 1, r ? function(i) {
      this.token(",", !1, i), this.newline();
    } : void 0), nse(e)) {
      if (_0t(e)) {
        if (e.init === t) return;
      } else if (e.left === t) return;
    }
    this.semicolon();
  }
  n(G0t, "VariableDeclaration");
  function Q0t(t) {
    this.print(t.id), t.definite && this.tokenChar(33), this.print(t.id.typeAnnotation), t.init && (this.space(), this.tokenChar(61), this.space(),
    this.print(t.init));
  }
  n(Q0t, "VariableDeclarator");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/generators/classes.js
var use = g((Ua) => {
  "use strict";
  Object.defineProperty(Ua, "__esModule", {
    value: !0
  });
  Ua.ClassAccessorProperty = aTt;
  Ua.ClassBody = rTt;
  Ua.ClassExpression = Ua.ClassDeclaration = sTt;
  Ua.ClassMethod = lTt;
  Ua.ClassPrivateMethod = uTt;
  Ua.ClassPrivateProperty = oTt;
  Ua.ClassProperty = nTt;
  Ua.StaticBlock = pTt;
  Ua._classMethodHead = cTt;
  var Z0t = fe(), {
    isExportDefaultDeclaration: eTt,
    isExportNamedDeclaration: tTt
  } = Z0t;
  function sTt(t, e) {
    (!(eTt(e) || tTt(e)) || !this._shouldPrintDecoratorsBeforeExport(e)) && this.printJoin(t.decorators), t.declare && (this.word("declare"),
    this.space()), t.abstract && (this.word("abstract"), this.space()), this.word("class"), t.id && (this.space(), this.print(t.id)), this.print(
    t.typeParameters), t.superClass && (this.space(), this.word("extends"), this.space(), this.print(t.superClass), this.print(t.superTypeParameters)),
    t.implements && (this.space(), this.word("implements"), this.space(), this.printList(t.implements)), this.space(), this.print(t.body);
  }
  n(sTt, "ClassDeclaration");
  function rTt(t) {
    if (this.tokenChar(123), t.body.length === 0)
      this.tokenChar(125);
    else {
      this.newline();
      let e = iTt(this, t);
      e?.(-1);
      let s = this.enterDelimited();
      this.printJoin(t.body, !0, !0, e, !0), s(), this.endsWith(10) || this.newline(), this.rightBrace(t);
    }
  }
  n(rTt, "ClassBody");
  function iTt(t, e) {
    if (!t.tokenMap || e.start == null || e.end == null)
      return null;
    let s = t.tokenMap.getIndexes(e);
    if (!s) return null;
    let r = 1, i = 0, a = 0, o = /* @__PURE__ */ n(() => {
      for (; a < e.body.length && e.body[a].start == null; )
        a++;
    }, "advanceNextLocIndex");
    return o(), (l) => {
      a <= l && (a = l + 1, o());
      let u = a === e.body.length ? e.end : e.body[a].start, c;
      for (; r < s.length && t.tokenMap.matchesOriginal(c = t._tokens[s[r]], ";") && c.start < u; )
        t.token(";", void 0, i++), r++;
    };
  }
  n(iTt, "classBodyEmptySemicolonsPrinter");
  function nTt(t) {
    if (this.printJoin(t.decorators), !t.static && !this.format.preserveFormat) {
      var e;
      let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
      s && this.catchUp(s);
    }
    this.tsPrintClassMemberModifiers(t), t.computed ? (this.tokenChar(91), this.print(t.key), this.tokenChar(93)) : (this._variance(t), this.
    print(t.key)), t.optional && this.tokenChar(63), t.definite && this.tokenChar(33), this.print(t.typeAnnotation), t.value && (this.space(),
    this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(nTt, "ClassProperty");
  function aTt(t) {
    var e;
    this.printJoin(t.decorators);
    let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
    s && this.catchUp(s), this.tsPrintClassMemberModifiers(t), this.word("accessor", !0), this.space(), t.computed ? (this.tokenChar(91), this.
    print(t.key), this.tokenChar(93)) : (this._variance(t), this.print(t.key)), t.optional && this.tokenChar(63), t.definite && this.tokenChar(
    33), this.print(t.typeAnnotation), t.value && (this.space(), this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(aTt, "ClassAccessorProperty");
  function oTt(t) {
    this.printJoin(t.decorators), this.tsPrintClassMemberModifiers(t), this.print(t.key), t.optional && this.tokenChar(63), t.definite && this.
    tokenChar(33), this.print(t.typeAnnotation), t.value && (this.space(), this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(oTt, "ClassPrivateProperty");
  function lTt(t) {
    this._classMethodHead(t), this.space(), this.print(t.body);
  }
  n(lTt, "ClassMethod");
  function uTt(t) {
    this._classMethodHead(t), this.space(), this.print(t.body);
  }
  n(uTt, "ClassPrivateMethod");
  function cTt(t) {
    if (this.printJoin(t.decorators), !this.format.preserveFormat) {
      var e;
      let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
      s && this.catchUp(s);
    }
    this.tsPrintClassMemberModifiers(t), this._methodHead(t);
  }
  n(cTt, "_classMethodHead");
  function pTt(t) {
    this.word("static"), this.space(), this.tokenChar(123), t.body.length === 0 ? this.tokenChar(125) : (this.newline(), this.printSequence(
    t.body, !0), this.rightBrace(t));
  }
  n(pTt, "StaticBlock");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/generators/methods.js
var cse = g((Ka) => {
  "use strict";
  Object.defineProperty(Ka, "__esModule", {
    value: !0
  });
  Ka.ArrowFunctionExpression = PTt;
  Ka.FunctionDeclaration = Ka.FunctionExpression = STt;
  Ka._functionHead = xTt;
  Ka._methodHead = TTt;
  Ka._param = gTt;
  Ka._parameters = yTt;
  Ka._params = mTt;
  Ka._predicate = bTt;
  Ka._shouldPrintArrowParamsParens = ETt;
  var hTt = fe(), fTt = up(), {
    isIdentifier: dTt
  } = hTt;
  function mTt(t, e, s) {
    this.print(t.typeParameters);
    let r = ATt.call(this, e, s);
    r && this.sourceIdentifierName(r.name, r.pos), this.tokenChar(40), this._parameters(t.params, ")");
    let i = t.type === "ArrowFunctionExpression";
    this.print(t.returnType, i), this._noLineTerminator = i;
  }
  n(mTt, "_params");
  function yTt(t, e) {
    let s = this.enterDelimited(), r = this.shouldPrintTrailingComma(e), i = t.length;
    for (let a = 0; a < i; a++)
      this._param(t[a]), (r || a < i - 1) && (this.token(",", null, a), this.space());
    this.token(e), s();
  }
  n(yTt, "_parameters");
  function gTt(t) {
    this.printJoin(t.decorators), this.print(t), t.optional && this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(gTt, "_param");
  function TTt(t) {
    let e = t.kind, s = t.key;
    (e === "get" || e === "set") && (this.word(e), this.space()), t.async && (this.word("async", !0), this.space()), (e === "method" || e ===
    "init") && t.generator && this.tokenChar(42), t.computed ? (this.tokenChar(91), this.print(s), this.tokenChar(93)) : this.print(s), t.optional &&
    this.tokenChar(63), this._params(t, t.computed && t.key.type !== "StringLiteral" ? void 0 : t.key, void 0);
  }
  n(TTt, "_methodHead");
  function bTt(t, e) {
    t.predicate && (t.returnType || this.tokenChar(58), this.space(), this.print(t.predicate, e));
  }
  n(bTt, "_predicate");
  function xTt(t, e) {
    t.async && (this.word("async"), this.format.preserveFormat || (this._endsWithInnerRaw = !1), this.space()), this.word("function"), t.generator &&
    (this.format.preserveFormat || (this._endsWithInnerRaw = !1), this.tokenChar(42)), this.space(), t.id && this.print(t.id), this._params(
    t, t.id, e), t.type !== "TSDeclareFunction" && this._predicate(t);
  }
  n(xTt, "_functionHead");
  function STt(t, e) {
    this._functionHead(t, e), this.space(), this.print(t.body);
  }
  n(STt, "FunctionExpression");
  function PTt(t, e) {
    t.async && (this.word("async", !0), this.space()), this._shouldPrintArrowParamsParens(t) ? this._params(t, void 0, e) : this.print(t.params[0],
    !0), this._predicate(t, !0), this.space(), this.printInnerComments(), this.token("=>"), this.space(), this.tokenContext |= fTt.TokenContext.
    arrowBody, this.print(t.body);
  }
  n(PTt, "ArrowFunctionExpression");
  function ETt(t) {
    var e, s;
    if (t.params.length !== 1 || t.typeParameters || t.returnType || t.predicate)
      return !0;
    let r = t.params[0];
    if (!dTt(r) || r.typeAnnotation || r.optional || (e = r.leadingComments) != null && e.length || (s = r.trailingComments) != null && s.length)
      return !0;
    if (this.tokenMap) {
      if (t.loc == null || this.tokenMap.findMatching(t, "(") !== null) return !0;
      let i = this.tokenMap.findMatching(t, "=>");
      return i?.loc == null ? !0 : i.loc.start.line !== t.loc.start.line;
    }
    return !!this.format.retainLines;
  }
  n(ETt, "_shouldPrintArrowParamsParens");
  function ATt(t, e) {
    let s = t;
    if (!s && e) {
      let u = e.type;
      u === "VariableDeclarator" ? s = e.id : u === "AssignmentExpression" || u === "AssignmentPattern" ? s = e.left : u === "ObjectProperty" ||
      u === "ClassProperty" ? (!e.computed || e.key.type === "StringLiteral") && (s = e.key) : (u === "ClassPrivateProperty" || u === "Class\
AccessorProperty") && (s = e.key);
    }
    if (!s) return;
    let r;
    if (s.type === "Identifier") {
      var i, a;
      r = {
        pos: (i = s.loc) == null ? void 0 : i.start,
        name: ((a = s.loc) == null ? void 0 : a.identifierName) || s.name
      };
    } else if (s.type === "PrivateName") {
      var o;
      r = {
        pos: (o = s.loc) == null ? void 0 : o.start,
        name: "#" + s.id.name
      };
    } else if (s.type === "StringLiteral") {
      var l;
      r = {
        pos: (l = s.loc) == null ? void 0 : l.start,
        name: s.value
      };
    }
    return r;
  }
  n(ATt, "_getFuncIdName");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/generators/modules.js
var AB = g((Nn) => {
  "use strict";
  Object.defineProperty(Nn, "__esModule", {
    value: !0
  });
  Nn.ExportAllDeclaration = jTt;
  Nn.ExportDefaultDeclaration = qTt;
  Nn.ExportDefaultSpecifier = LTt;
  Nn.ExportNamedDeclaration = RTt;
  Nn.ExportNamespaceSpecifier = MTt;
  Nn.ExportSpecifier = BTt;
  Nn.ImportAttribute = KTt;
  Nn.ImportDeclaration = UTt;
  Nn.ImportDefaultSpecifier = _Tt;
  Nn.ImportExpression = WTt;
  Nn.ImportNamespaceSpecifier = VTt;
  Nn.ImportSpecifier = OTt;
  Nn._printAttributes = FTt;
  var vTt = fe(), CTt = up(), {
    isClassDeclaration: wTt,
    isExportDefaultSpecifier: ITt,
    isExportNamespaceSpecifier: NTt,
    isImportDefaultSpecifier: kTt,
    isImportNamespaceSpecifier: DTt,
    isStatement: hse
  } = vTt;
  function OTt(t) {
    (t.importKind === "type" || t.importKind === "typeof") && (this.word(t.importKind), this.space()), this.print(t.imported), t.local && t.
    local.name !== t.imported.name && (this.space(), this.word("as"), this.space(), this.print(t.local));
  }
  n(OTt, "ImportSpecifier");
  function _Tt(t) {
    this.print(t.local);
  }
  n(_Tt, "ImportDefaultSpecifier");
  function LTt(t) {
    this.print(t.exported);
  }
  n(LTt, "ExportDefaultSpecifier");
  function BTt(t) {
    t.exportKind === "type" && (this.word("type"), this.space()), this.print(t.local), t.exported && t.local.name !== t.exported.name && (this.
    space(), this.word("as"), this.space(), this.print(t.exported));
  }
  n(BTt, "ExportSpecifier");
  function MTt(t) {
    this.tokenChar(42), this.space(), this.word("as"), this.space(), this.print(t.exported);
  }
  n(MTt, "ExportNamespaceSpecifier");
  var pse = !1;
  function FTt(t, e) {
    let {
      importAttributesKeyword: s
    } = this.format, {
      attributes: r,
      assertions: i
    } = t;
    r && !s && !pse && (pse = !0, console.warn('You are using import attributes, without specifying the desired output syntax.\nPlease specif\
y the "importAttributesKeyword" generator option, whose value can be one of:\n - "with"        : `import { a } from "b" with { type: "json" }\
;`\n - "assert"      : `import { a } from "b" assert { type: "json" };`\n - "with-legacy" : `import { a } from "b" with type: "json";`\n'));
    let a = s === "assert" || !s && i;
    if (this.word(a ? "assert" : "with"), this.space(), !a && s !== "with") {
      this.printList(r || i);
      return;
    }
    let o = e ? 1 : 0;
    this.token("{", null, o), this.space(), this.printList(r || i, this.shouldPrintTrailingComma("}")), this.space(), this.token("}", null, o);
  }
  n(FTt, "_printAttributes");
  function jTt(t) {
    var e, s;
    this.word("export"), this.space(), t.exportKind === "type" && (this.word("type"), this.space()), this.tokenChar(42), this.space(), this.
    word("from"), this.space(), (e = t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.print(t.source, !0),
    this.space(), this._printAttributes(t, !1)) : this.print(t.source), this.semicolon();
  }
  n(jTt, "ExportAllDeclaration");
  function fse(t, e) {
    wTt(e.declaration) && t._shouldPrintDecoratorsBeforeExport(e) && t.printJoin(e.declaration.decorators);
  }
  n(fse, "maybePrintDecoratorsBeforeExport");
  function RTt(t) {
    if (fse(this, t), this.word("export"), this.space(), t.declaration) {
      let r = t.declaration;
      this.print(r), hse(r) || this.semicolon();
    } else {
      t.exportKind === "type" && (this.word("type"), this.space());
      let r = t.specifiers.slice(0), i = !1;
      for (; ; ) {
        let o = r[0];
        if (ITt(o) || NTt(o))
          i = !0, this.print(r.shift()), r.length && (this.tokenChar(44), this.space());
        else
          break;
      }
      let a = !1;
      if ((r.length || !r.length && !i) && (a = !0, this.tokenChar(123), r.length && (this.space(), this.printList(r, this.shouldPrintTrailingComma(
      "}")), this.space()), this.tokenChar(125)), t.source) {
        var e, s;
        this.space(), this.word("from"), this.space(), (e = t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.
        print(t.source, !0), this.space(), this._printAttributes(t, a)) : this.print(t.source);
      }
      this.semicolon();
    }
  }
  n(RTt, "ExportNamedDeclaration");
  function qTt(t) {
    fse(this, t), this.word("export"), this.noIndentInnerCommentsHere(), this.space(), this.word("default"), this.space(), this.tokenContext |=
    CTt.TokenContext.exportDefault;
    let e = t.declaration;
    this.print(e), hse(e) || this.semicolon();
  }
  n(qTt, "ExportDefaultDeclaration");
  function UTt(t) {
    var e, s;
    this.word("import"), this.space();
    let r = t.importKind === "type" || t.importKind === "typeof";
    r ? (this.noIndentInnerCommentsHere(), this.word(t.importKind), this.space()) : t.module ? (this.noIndentInnerCommentsHere(), this.word(
    "module"), this.space()) : t.phase && (this.noIndentInnerCommentsHere(), this.word(t.phase), this.space());
    let i = t.specifiers.slice(0), a = !!i.length;
    for (; a; ) {
      let l = i[0];
      if (kTt(l) || DTt(l))
        this.print(i.shift()), i.length && (this.tokenChar(44), this.space());
      else
        break;
    }
    let o = !1;
    i.length ? (o = !0, this.tokenChar(123), this.space(), this.printList(i, this.shouldPrintTrailingComma("}")), this.space(), this.tokenChar(
    125)) : r && !a && (o = !0, this.tokenChar(123), this.tokenChar(125)), (a || r) && (this.space(), this.word("from"), this.space()), (e =
    t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.print(t.source, !0), this.space(), this._printAttributes(
    t, o)) : this.print(t.source), this.semicolon();
  }
  n(UTt, "ImportDeclaration");
  function KTt(t) {
    this.print(t.key), this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(KTt, "ImportAttribute");
  function VTt(t) {
    this.tokenChar(42), this.space(), this.word("as"), this.space(), this.print(t.local);
  }
  n(VTt, "ImportNamespaceSpecifier");
  function WTt(t) {
    this.word("import"), t.phase && (this.tokenChar(46), this.word(t.phase)), this.tokenChar(40), this.print(t.source), t.options != null &&
    (this.tokenChar(44), this.space(), this.print(t.options)), this.tokenChar(41);
  }
  n(WTt, "ImportExpression");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/generators/types.js
var CB = g((Lr) => {
  "use strict";
  Object.defineProperty(Lr, "__esModule", {
    value: !0
  });
  Lr.ArgumentPlaceholder = XTt;
  Lr.ArrayPattern = Lr.ArrayExpression = ebt;
  Lr.BigIntLiteral = lbt;
  Lr.BooleanLiteral = ibt;
  Lr.Identifier = YTt;
  Lr.NullLiteral = nbt;
  Lr.NumericLiteral = abt;
  Lr.ObjectPattern = Lr.ObjectExpression = GTt;
  Lr.ObjectMethod = QTt;
  Lr.ObjectProperty = ZTt;
  Lr.PipelineBareFunction = pbt;
  Lr.PipelinePrimaryTopicReference = hbt;
  Lr.PipelineTopicExpression = cbt;
  Lr.RecordExpression = tbt;
  Lr.RegExpLiteral = rbt;
  Lr.SpreadElement = Lr.RestElement = zTt;
  Lr.StringLiteral = obt;
  Lr.TopicReference = ubt;
  Lr.TupleExpression = sbt;
  Lr._getRawIdentifier = JTt;
  var $Tt = fe(), yse = gd(), {
    isAssignmentPattern: HTt,
    isIdentifier: vB
  } = $Tt, dse = null, LE = "";
  function JTt(t) {
    if (t === dse) return LE;
    dse = t;
    let {
      name: e
    } = t, s = this.tokenMap.find(t, (r) => r.value === e);
    return s ? (LE = this._originalCode.slice(s.start, s.end), LE) : LE = t.name;
  }
  n(JTt, "_getRawIdentifier");
  function YTt(t) {
    var e;
    this.sourceIdentifierName(((e = t.loc) == null ? void 0 : e.identifierName) || t.name), this.word(this.tokenMap ? this._getRawIdentifier(
    t) : t.name);
  }
  n(YTt, "Identifier");
  function XTt() {
    this.tokenChar(63);
  }
  n(XTt, "ArgumentPlaceholder");
  function zTt(t) {
    this.token("..."), this.print(t.argument);
  }
  n(zTt, "RestElement");
  function GTt(t) {
    let e = t.properties;
    if (this.tokenChar(123), e.length) {
      let s = this.enterDelimited();
      this.space(), this.printList(e, this.shouldPrintTrailingComma("}"), !0, !0), this.space(), s();
    }
    this.sourceWithOffset("end", t.loc, -1), this.tokenChar(125);
  }
  n(GTt, "ObjectExpression");
  function QTt(t) {
    this.printJoin(t.decorators), this._methodHead(t), this.space(), this.print(t.body);
  }
  n(QTt, "ObjectMethod");
  function ZTt(t) {
    if (this.printJoin(t.decorators), t.computed)
      this.tokenChar(91), this.print(t.key), this.tokenChar(93);
    else {
      if (HTt(t.value) && vB(t.key) && t.key.name === t.value.left.name) {
        this.print(t.value);
        return;
      }
      if (this.print(t.key), t.shorthand && vB(t.key) && vB(t.value) && t.key.name === t.value.name)
        return;
    }
    this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(ZTt, "ObjectProperty");
  function ebt(t) {
    let e = t.elements, s = e.length;
    this.tokenChar(91);
    let r = this.enterDelimited();
    for (let i = 0; i < e.length; i++) {
      let a = e[i];
      a ? (i > 0 && this.space(), this.print(a), (i < s - 1 || this.shouldPrintTrailingComma("]")) && this.token(",", !1, i)) : this.token("\
,", !1, i);
    }
    r(), this.tokenChar(93);
  }
  n(ebt, "ArrayExpression");
  function tbt(t) {
    let e = t.properties, s, r;
    if (this.format.recordAndTupleSyntaxType === "bar")
      s = "{|", r = "|}";
    else {
      if (this.format.recordAndTupleSyntaxType !== "hash" && this.format.recordAndTupleSyntaxType != null)
        throw new Error(`The "recordAndTupleSyntaxType" generator option must be "bar" or "hash" (${JSON.stringify(this.format.recordAndTupleSyntaxType)}\
 received).`);
      s = "#{", r = "}";
    }
    this.token(s), e.length && (this.space(), this.printList(e, this.shouldPrintTrailingComma(r), !0, !0), this.space()), this.token(r);
  }
  n(tbt, "RecordExpression");
  function sbt(t) {
    let e = t.elements, s = e.length, r, i;
    if (this.format.recordAndTupleSyntaxType === "bar")
      r = "[|", i = "|]";
    else if (this.format.recordAndTupleSyntaxType === "hash")
      r = "#[", i = "]";
    else
      throw new Error(`${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`);
    this.token(r);
    for (let a = 0; a < e.length; a++) {
      let o = e[a];
      o && (a > 0 && this.space(), this.print(o), (a < s - 1 || this.shouldPrintTrailingComma(i)) && this.token(",", !1, a));
    }
    this.token(i);
  }
  n(sbt, "TupleExpression");
  function rbt(t) {
    this.word(`/${t.pattern}/${t.flags}`);
  }
  n(rbt, "RegExpLiteral");
  function ibt(t) {
    this.word(t.value ? "true" : "false");
  }
  n(ibt, "BooleanLiteral");
  function nbt() {
    this.word("null");
  }
  n(nbt, "NullLiteral");
  function abt(t) {
    let e = this.getPossibleRaw(t), s = this.format.jsescOption, r = t.value, i = r + "";
    s.numbers ? this.number(yse(r, s), r) : e == null ? this.number(i, r) : this.format.minified ? this.number(e.length < i.length ? e : i, r) :
    this.number(e, r);
  }
  n(abt, "NumericLiteral");
  function obt(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.token(e);
      return;
    }
    let s = yse(t.value, this.format.jsescOption);
    this.token(s);
  }
  n(obt, "StringLiteral");
  function lbt(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.word(e);
      return;
    }
    this.word(t.value + "n");
  }
  n(lbt, "BigIntLiteral");
  var mse = /* @__PURE__ */ new Set(["^^", "@@", "^", "%", "#"]);
  function ubt() {
    let {
      topicToken: t
    } = this.format;
    if (mse.has(t))
      this.token(t);
    else {
      let e = JSON.stringify(t), s = Array.from(mse, (r) => JSON.stringify(r));
      throw new Error(`The "topicToken" generator option must be one of ${s.join(", ")} (${e} received instead).`);
    }
  }
  n(ubt, "TopicReference");
  function cbt(t) {
    this.print(t.expression);
  }
  n(cbt, "PipelineTopicExpression");
  function pbt(t) {
    this.print(t.callee);
  }
  n(pbt, "PipelineBareFunction");
  function hbt() {
    this.tokenChar(35);
  }
  n(hbt, "PipelinePrimaryTopicReference");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/generators/flow.js
var Tse = g((it) => {
  "use strict";
  Object.defineProperty(it, "__esModule", {
    value: !0
  });
  it.AnyTypeAnnotation = gbt;
  it.ArrayTypeAnnotation = Tbt;
  it.BooleanLiteralTypeAnnotation = xbt;
  it.BooleanTypeAnnotation = bbt;
  it.DeclareClass = Pbt;
  it.DeclareExportAllDeclaration = _bt;
  it.DeclareExportDeclaration = Obt;
  it.DeclareFunction = Ebt;
  it.DeclareInterface = Cbt;
  it.DeclareModule = wbt;
  it.DeclareModuleExports = Ibt;
  it.DeclareOpaqueType = kbt;
  it.DeclareTypeAlias = Nbt;
  it.DeclareVariable = Dbt;
  it.DeclaredPredicate = vbt;
  it.EmptyTypeAnnotation = txt;
  it.EnumBooleanBody = Bbt;
  it.EnumBooleanMember = qbt;
  it.EnumDeclaration = Lbt;
  it.EnumDefaultedMember = Rbt;
  it.EnumNumberBody = Mbt;
  it.EnumNumberMember = Ubt;
  it.EnumStringBody = Fbt;
  it.EnumStringMember = Kbt;
  it.EnumSymbolBody = jbt;
  it.ExistsTypeAnnotation = Wbt;
  it.FunctionTypeAnnotation = $bt;
  it.FunctionTypeParam = Hbt;
  it.IndexedAccessType = Cxt;
  it.InferredPredicate = Abt;
  it.InterfaceDeclaration = zbt;
  it.GenericTypeAnnotation = it.ClassImplements = it.InterfaceExtends = Jbt;
  it.InterfaceTypeAnnotation = Qbt;
  it.IntersectionTypeAnnotation = Zbt;
  it.MixedTypeAnnotation = ext;
  it.NullLiteralTypeAnnotation = Sbt;
  it.NullableTypeAnnotation = sxt;
  Object.defineProperty(it, "NumberLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return gse.NumericLiteral;
    }, "get")
  });
  it.NumberTypeAnnotation = rxt;
  it.ObjectTypeAnnotation = fxt;
  it.ObjectTypeCallProperty = mxt;
  it.ObjectTypeIndexer = yxt;
  it.ObjectTypeInternalSlot = dxt;
  it.ObjectTypeProperty = gxt;
  it.ObjectTypeSpreadProperty = Txt;
  it.OpaqueType = hxt;
  it.OptionalIndexedAccessType = wxt;
  it.QualifiedTypeIdentifier = bxt;
  Object.defineProperty(it, "StringLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return gse.StringLiteral;
    }, "get")
  });
  it.StringTypeAnnotation = ixt;
  it.SymbolTypeAnnotation = xxt;
  it.ThisTypeAnnotation = nxt;
  it.TupleTypeAnnotation = axt;
  it.TypeAlias = lxt;
  it.TypeAnnotation = uxt;
  it.TypeCastExpression = Ext;
  it.TypeParameter = pxt;
  it.TypeParameterDeclaration = it.TypeParameterInstantiation = cxt;
  it.TypeofTypeAnnotation = oxt;
  it.UnionTypeAnnotation = Pxt;
  it.Variance = Axt;
  it.VoidTypeAnnotation = vxt;
  it._interfaceish = Ybt;
  it._variance = Xbt;
  var fbt = fe(), dbt = AB(), mbt = up(), gse = CB(), {
    isDeclareExportDeclaration: BE,
    isStatement: ybt
  } = fbt;
  function gbt() {
    this.word("any");
  }
  n(gbt, "AnyTypeAnnotation");
  function Tbt(t) {
    this.print(t.elementType, !0), this.tokenChar(91), this.tokenChar(93);
  }
  n(Tbt, "ArrayTypeAnnotation");
  function bbt() {
    this.word("boolean");
  }
  n(bbt, "BooleanTypeAnnotation");
  function xbt(t) {
    this.word(t.value ? "true" : "false");
  }
  n(xbt, "BooleanLiteralTypeAnnotation");
  function Sbt() {
    this.word("null");
  }
  n(Sbt, "NullLiteralTypeAnnotation");
  function Pbt(t, e) {
    BE(e) || (this.word("declare"), this.space()), this.word("class"), this.space(), this._interfaceish(t);
  }
  n(Pbt, "DeclareClass");
  function Ebt(t, e) {
    BE(e) || (this.word("declare"), this.space()), this.word("function"), this.space(), this.print(t.id), this.print(t.id.typeAnnotation.typeAnnotation),
    t.predicate && (this.space(), this.print(t.predicate)), this.semicolon();
  }
  n(Ebt, "DeclareFunction");
  function Abt() {
    this.tokenChar(37), this.word("checks");
  }
  n(Abt, "InferredPredicate");
  function vbt(t) {
    this.tokenChar(37), this.word("checks"), this.tokenChar(40), this.print(t.value), this.tokenChar(41);
  }
  n(vbt, "DeclaredPredicate");
  function Cbt(t) {
    this.word("declare"), this.space(), this.InterfaceDeclaration(t);
  }
  n(Cbt, "DeclareInterface");
  function wbt(t) {
    this.word("declare"), this.space(), this.word("module"), this.space(), this.print(t.id), this.space(), this.print(t.body);
  }
  n(wbt, "DeclareModule");
  function Ibt(t) {
    this.word("declare"), this.space(), this.word("module"), this.tokenChar(46), this.word("exports"), this.print(t.typeAnnotation);
  }
  n(Ibt, "DeclareModuleExports");
  function Nbt(t) {
    this.word("declare"), this.space(), this.TypeAlias(t);
  }
  n(Nbt, "DeclareTypeAlias");
  function kbt(t, e) {
    BE(e) || (this.word("declare"), this.space()), this.OpaqueType(t);
  }
  n(kbt, "DeclareOpaqueType");
  function Dbt(t, e) {
    BE(e) || (this.word("declare"), this.space()), this.word("var"), this.space(), this.print(t.id), this.print(t.id.typeAnnotation), this.semicolon();
  }
  n(Dbt, "DeclareVariable");
  function Obt(t) {
    this.word("declare"), this.space(), this.word("export"), this.space(), t.default && (this.word("default"), this.space()), Vbt.call(this,
    t);
  }
  n(Obt, "DeclareExportDeclaration");
  function _bt(t) {
    this.word("declare"), this.space(), dbt.ExportAllDeclaration.call(this, t);
  }
  n(_bt, "DeclareExportAllDeclaration");
  function Lbt(t) {
    let {
      id: e,
      body: s
    } = t;
    this.word("enum"), this.space(), this.print(e), this.print(s);
  }
  n(Lbt, "EnumDeclaration");
  function ME(t, e, s) {
    s && (t.space(), t.word("of"), t.space(), t.word(e)), t.space();
  }
  n(ME, "enumExplicitType");
  function FE(t, e) {
    let {
      members: s
    } = e;
    t.token("{"), t.indent(), t.newline();
    for (let r of s)
      t.print(r), t.newline();
    e.hasUnknownMembers && (t.token("..."), t.newline()), t.dedent(), t.token("}");
  }
  n(FE, "enumBody");
  function Bbt(t) {
    let {
      explicitType: e
    } = t;
    ME(this, "boolean", e), FE(this, t);
  }
  n(Bbt, "EnumBooleanBody");
  function Mbt(t) {
    let {
      explicitType: e
    } = t;
    ME(this, "number", e), FE(this, t);
  }
  n(Mbt, "EnumNumberBody");
  function Fbt(t) {
    let {
      explicitType: e
    } = t;
    ME(this, "string", e), FE(this, t);
  }
  n(Fbt, "EnumStringBody");
  function jbt(t) {
    ME(this, "symbol", !0), FE(this, t);
  }
  n(jbt, "EnumSymbolBody");
  function Rbt(t) {
    let {
      id: e
    } = t;
    this.print(e), this.tokenChar(44);
  }
  n(Rbt, "EnumDefaultedMember");
  function wB(t, e) {
    t.print(e.id), t.space(), t.token("="), t.space(), t.print(e.init), t.token(",");
  }
  n(wB, "enumInitializedMember");
  function qbt(t) {
    wB(this, t);
  }
  n(qbt, "EnumBooleanMember");
  function Ubt(t) {
    wB(this, t);
  }
  n(Ubt, "EnumNumberMember");
  function Kbt(t) {
    wB(this, t);
  }
  n(Kbt, "EnumStringMember");
  function Vbt(t) {
    if (t.declaration) {
      let e = t.declaration;
      this.print(e), ybt(e) || this.semicolon();
    } else
      this.tokenChar(123), t.specifiers.length && (this.space(), this.printList(t.specifiers), this.space()), this.tokenChar(125), t.source &&
      (this.space(), this.word("from"), this.space(), this.print(t.source)), this.semicolon();
  }
  n(Vbt, "FlowExportDeclaration");
  function Wbt() {
    this.tokenChar(42);
  }
  n(Wbt, "ExistsTypeAnnotation");
  function $bt(t, e) {
    this.print(t.typeParameters), this.tokenChar(40), t.this && (this.word("this"), this.tokenChar(58), this.space(), this.print(t.this.typeAnnotation),
    (t.params.length || t.rest) && (this.tokenChar(44), this.space())), this.printList(t.params), t.rest && (t.params.length && (this.tokenChar(
    44), this.space()), this.token("..."), this.print(t.rest)), this.tokenChar(41);
    let s = e?.type;
    s != null && (s === "ObjectTypeCallProperty" || s === "ObjectTypeInternalSlot" || s === "DeclareFunction" || s === "ObjectTypeProperty" &&
    e.method) ? this.tokenChar(58) : (this.space(), this.token("=>")), this.space(), this.print(t.returnType);
  }
  n($bt, "FunctionTypeAnnotation");
  function Hbt(t) {
    this.print(t.name), t.optional && this.tokenChar(63), t.name && (this.tokenChar(58), this.space()), this.print(t.typeAnnotation);
  }
  n(Hbt, "FunctionTypeParam");
  function Jbt(t) {
    this.print(t.id), this.print(t.typeParameters, !0);
  }
  n(Jbt, "InterfaceExtends");
  function Ybt(t) {
    var e;
    if (this.print(t.id), this.print(t.typeParameters), (e = t.extends) != null && e.length && (this.space(), this.word("extends"), this.space(),
    this.printList(t.extends)), t.type === "DeclareClass") {
      var s, r;
      (s = t.mixins) != null && s.length && (this.space(), this.word("mixins"), this.space(), this.printList(t.mixins)), (r = t.implements) !=
      null && r.length && (this.space(), this.word("implements"), this.space(), this.printList(t.implements));
    }
    this.space(), this.print(t.body);
  }
  n(Ybt, "_interfaceish");
  function Xbt(t) {
    var e;
    let s = (e = t.variance) == null ? void 0 : e.kind;
    s != null && (s === "plus" ? this.tokenChar(43) : s === "minus" && this.tokenChar(45));
  }
  n(Xbt, "_variance");
  function zbt(t) {
    this.word("interface"), this.space(), this._interfaceish(t);
  }
  n(zbt, "InterfaceDeclaration");
  function Gbt(t) {
    this.space(), this.token("&", !1, t), this.space();
  }
  n(Gbt, "andSeparator");
  function Qbt(t) {
    var e;
    this.word("interface"), (e = t.extends) != null && e.length && (this.space(), this.word("extends"), this.space(), this.printList(t.extends)),
    this.space(), this.print(t.body);
  }
  n(Qbt, "InterfaceTypeAnnotation");
  function Zbt(t) {
    this.printJoin(t.types, void 0, void 0, Gbt);
  }
  n(Zbt, "IntersectionTypeAnnotation");
  function ext() {
    this.word("mixed");
  }
  n(ext, "MixedTypeAnnotation");
  function txt() {
    this.word("empty");
  }
  n(txt, "EmptyTypeAnnotation");
  function sxt(t) {
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(sxt, "NullableTypeAnnotation");
  function rxt() {
    this.word("number");
  }
  n(rxt, "NumberTypeAnnotation");
  function ixt() {
    this.word("string");
  }
  n(ixt, "StringTypeAnnotation");
  function nxt() {
    this.word("this");
  }
  n(nxt, "ThisTypeAnnotation");
  function axt(t) {
    this.tokenChar(91), this.printList(t.types), this.tokenChar(93);
  }
  n(axt, "TupleTypeAnnotation");
  function oxt(t) {
    this.word("typeof"), this.space(), this.print(t.argument);
  }
  n(oxt, "TypeofTypeAnnotation");
  function lxt(t) {
    this.word("type"), this.space(), this.print(t.id), this.print(t.typeParameters), this.space(), this.tokenChar(61), this.space(), this.print(
    t.right), this.semicolon();
  }
  n(lxt, "TypeAlias");
  function uxt(t, e) {
    this.tokenChar(58), this.space(), e.type === "ArrowFunctionExpression" ? this.tokenContext |= mbt.TokenContext.arrowFlowReturnType : t.optional &&
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(uxt, "TypeAnnotation");
  function cxt(t) {
    this.tokenChar(60), this.printList(t.params), this.tokenChar(62);
  }
  n(cxt, "TypeParameterInstantiation");
  function pxt(t) {
    this._variance(t), this.word(t.name), t.bound && this.print(t.bound), t.default && (this.space(), this.tokenChar(61), this.space(), this.
    print(t.default));
  }
  n(pxt, "TypeParameter");
  function hxt(t) {
    this.word("opaque"), this.space(), this.word("type"), this.space(), this.print(t.id), this.print(t.typeParameters), t.supertype && (this.
    tokenChar(58), this.space(), this.print(t.supertype)), t.impltype && (this.space(), this.tokenChar(61), this.space(), this.print(t.impltype)),
    this.semicolon();
  }
  n(hxt, "OpaqueType");
  function fxt(t) {
    t.exact ? this.token("{|") : this.tokenChar(123);
    let e = [...t.properties, ...t.callProperties || [], ...t.indexers || [], ...t.internalSlots || []];
    e.length && (this.newline(), this.space(), this.printJoin(e, !0, !0, void 0, void 0, /* @__PURE__ */ n(function(r) {
      if (r && !e[0]) return 1;
    }, "addNewlines"), () => {
      (e.length !== 1 || t.inexact) && (this.tokenChar(44), this.space());
    }), this.space()), t.inexact && (this.indent(), this.token("..."), e.length && this.newline(), this.dedent()), t.exact ? this.token("|}") :
    this.tokenChar(125);
  }
  n(fxt, "ObjectTypeAnnotation");
  function dxt(t) {
    t.static && (this.word("static"), this.space()), this.tokenChar(91), this.tokenChar(91), this.print(t.id), this.tokenChar(93), this.tokenChar(
    93), t.optional && this.tokenChar(63), t.method || (this.tokenChar(58), this.space()), this.print(t.value);
  }
  n(dxt, "ObjectTypeInternalSlot");
  function mxt(t) {
    t.static && (this.word("static"), this.space()), this.print(t.value);
  }
  n(mxt, "ObjectTypeCallProperty");
  function yxt(t) {
    t.static && (this.word("static"), this.space()), this._variance(t), this.tokenChar(91), t.id && (this.print(t.id), this.tokenChar(58), this.
    space()), this.print(t.key), this.tokenChar(93), this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(yxt, "ObjectTypeIndexer");
  function gxt(t) {
    t.proto && (this.word("proto"), this.space()), t.static && (this.word("static"), this.space()), (t.kind === "get" || t.kind === "set") &&
    (this.word(t.kind), this.space()), this._variance(t), this.print(t.key), t.optional && this.tokenChar(63), t.method || (this.tokenChar(58),
    this.space()), this.print(t.value);
  }
  n(gxt, "ObjectTypeProperty");
  function Txt(t) {
    this.token("..."), this.print(t.argument);
  }
  n(Txt, "ObjectTypeSpreadProperty");
  function bxt(t) {
    this.print(t.qualification), this.tokenChar(46), this.print(t.id);
  }
  n(bxt, "QualifiedTypeIdentifier");
  function xxt() {
    this.word("symbol");
  }
  n(xxt, "SymbolTypeAnnotation");
  function Sxt(t) {
    this.space(), this.token("|", !1, t), this.space();
  }
  n(Sxt, "orSeparator");
  function Pxt(t) {
    this.printJoin(t.types, void 0, void 0, Sxt);
  }
  n(Pxt, "UnionTypeAnnotation");
  function Ext(t) {
    this.tokenChar(40), this.print(t.expression), this.print(t.typeAnnotation), this.tokenChar(41);
  }
  n(Ext, "TypeCastExpression");
  function Axt(t) {
    t.kind === "plus" ? this.tokenChar(43) : this.tokenChar(45);
  }
  n(Axt, "Variance");
  function vxt() {
    this.word("void");
  }
  n(vxt, "VoidTypeAnnotation");
  function Cxt(t) {
    this.print(t.objectType, !0), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(Cxt, "IndexedAccessType");
  function wxt(t) {
    this.print(t.objectType), t.optional && this.token("?."), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(wxt, "OptionalIndexedAccessType");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/generators/base.js
var bse = g((ku) => {
  "use strict";
  Object.defineProperty(ku, "__esModule", {
    value: !0
  });
  ku.BlockStatement = kxt;
  ku.Directive = Dxt;
  ku.DirectiveLiteral = Lxt;
  ku.File = Ixt;
  ku.InterpreterDirective = Bxt;
  ku.Placeholder = Mxt;
  ku.Program = Nxt;
  function Ixt(t) {
    t.program && this.print(t.program.interpreter), this.print(t.program);
  }
  n(Ixt, "File");
  function Nxt(t) {
    var e;
    this.noIndentInnerCommentsHere(), this.printInnerComments();
    let s = (e = t.directives) == null ? void 0 : e.length;
    if (s) {
      var r;
      let i = t.body.length ? 2 : 1;
      this.printSequence(t.directives, void 0, i), (r = t.directives[s - 1].trailingComments) != null && r.length || this.newline(i);
    }
    this.printSequence(t.body);
  }
  n(Nxt, "Program");
  function kxt(t) {
    var e;
    this.tokenChar(123);
    let s = this.enterDelimited(), r = (e = t.directives) == null ? void 0 : e.length;
    if (r) {
      var i;
      let a = t.body.length ? 2 : 1;
      this.printSequence(t.directives, !0, a), (i = t.directives[r - 1].trailingComments) != null && i.length || this.newline(a);
    }
    this.printSequence(t.body, !0), s(), this.rightBrace(t);
  }
  n(kxt, "BlockStatement");
  function Dxt(t) {
    this.print(t.value), this.semicolon();
  }
  n(Dxt, "Directive");
  var Oxt = /(?:^|[^\\])(?:\\\\)*'/, _xt = /(?:^|[^\\])(?:\\\\)*"/;
  function Lxt(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.token(e);
      return;
    }
    let {
      value: s
    } = t;
    if (!_xt.test(s))
      this.token(`"${s}"`);
    else if (!Oxt.test(s))
      this.token(`'${s}'`);
    else
      throw new Error("Malformed AST: it is not possible to print a directive containing both unescaped single and double quotes.");
  }
  n(Lxt, "DirectiveLiteral");
  function Bxt(t) {
    this.token(`#!${t.value}`), this.newline(1, !0);
  }
  n(Bxt, "InterpreterDirective");
  function Mxt(t) {
    this.token("%%"), this.print(t.name), this.token("%%"), t.expectedNode === "Statement" && this.semicolon();
  }
  n(Mxt, "Placeholder");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/generators/jsx.js
var xse = g((Hi) => {
  "use strict";
  Object.defineProperty(Hi, "__esModule", {
    value: !0
  });
  Hi.JSXAttribute = Fxt;
  Hi.JSXClosingElement = Yxt;
  Hi.JSXClosingFragment = Qxt;
  Hi.JSXElement = $xt;
  Hi.JSXEmptyExpression = Xxt;
  Hi.JSXExpressionContainer = Kxt;
  Hi.JSXFragment = zxt;
  Hi.JSXIdentifier = jxt;
  Hi.JSXMemberExpression = qxt;
  Hi.JSXNamespacedName = Rxt;
  Hi.JSXOpeningElement = Jxt;
  Hi.JSXOpeningFragment = Gxt;
  Hi.JSXSpreadAttribute = Uxt;
  Hi.JSXSpreadChild = Vxt;
  Hi.JSXText = Wxt;
  function Fxt(t) {
    this.print(t.name), t.value && (this.tokenChar(61), this.print(t.value));
  }
  n(Fxt, "JSXAttribute");
  function jxt(t) {
    this.word(t.name);
  }
  n(jxt, "JSXIdentifier");
  function Rxt(t) {
    this.print(t.namespace), this.tokenChar(58), this.print(t.name);
  }
  n(Rxt, "JSXNamespacedName");
  function qxt(t) {
    this.print(t.object), this.tokenChar(46), this.print(t.property);
  }
  n(qxt, "JSXMemberExpression");
  function Uxt(t) {
    this.tokenChar(123), this.token("..."), this.print(t.argument), this.rightBrace(t);
  }
  n(Uxt, "JSXSpreadAttribute");
  function Kxt(t) {
    this.tokenChar(123), this.print(t.expression), this.rightBrace(t);
  }
  n(Kxt, "JSXExpressionContainer");
  function Vxt(t) {
    this.tokenChar(123), this.token("..."), this.print(t.expression), this.rightBrace(t);
  }
  n(Vxt, "JSXSpreadChild");
  function Wxt(t) {
    let e = this.getPossibleRaw(t);
    e !== void 0 ? this.token(e, !0) : this.token(t.value, !0);
  }
  n(Wxt, "JSXText");
  function $xt(t) {
    let e = t.openingElement;
    if (this.print(e), !e.selfClosing) {
      this.indent();
      for (let s of t.children)
        this.print(s);
      this.dedent(), this.print(t.closingElement);
    }
  }
  n($xt, "JSXElement");
  function Hxt() {
    this.space();
  }
  n(Hxt, "spaceSeparator");
  function Jxt(t) {
    this.tokenChar(60), this.print(t.name), t.typeArguments && this.print(t.typeArguments), this.print(t.typeParameters), t.attributes.length >
    0 && (this.space(), this.printJoin(t.attributes, void 0, void 0, Hxt)), t.selfClosing && (this.space(), this.tokenChar(47)), this.tokenChar(
    62);
  }
  n(Jxt, "JSXOpeningElement");
  function Yxt(t) {
    this.tokenChar(60), this.tokenChar(47), this.print(t.name), this.tokenChar(62);
  }
  n(Yxt, "JSXClosingElement");
  function Xxt() {
    this.printInnerComments();
  }
  n(Xxt, "JSXEmptyExpression");
  function zxt(t) {
    this.print(t.openingFragment), this.indent();
    for (let e of t.children)
      this.print(e);
    this.dedent(), this.print(t.closingFragment);
  }
  n(zxt, "JSXFragment");
  function Gxt() {
    this.tokenChar(60), this.tokenChar(62);
  }
  n(Gxt, "JSXOpeningFragment");
  function Qxt() {
    this.token("</"), this.tokenChar(62);
  }
  n(Qxt, "JSXClosingFragment");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/generators/typescript.js
var vse = g((Xe) => {
  "use strict";
  Object.defineProperty(Xe, "__esModule", {
    value: !0
  });
  Xe.TSAnyKeyword = hSt;
  Xe.TSArrayType = _St;
  Xe.TSSatisfiesExpression = Xe.TSAsExpression = QSt;
  Xe.TSBigIntKeyword = fSt;
  Xe.TSBooleanKeyword = gSt;
  Xe.TSCallSignatureDeclaration = aSt;
  Xe.TSInterfaceHeritage = Xe.TSClassImplements = YSt;
  Xe.TSConditionalType = qSt;
  Xe.TSConstructSignatureDeclaration = oSt;
  Xe.TSConstructorType = wSt;
  Xe.TSDeclareFunction = rSt;
  Xe.TSDeclareMethod = iSt;
  Xe.TSEnumBody = Ase;
  Xe.TSEnumDeclaration = tPt;
  Xe.TSEnumMember = sPt;
  Xe.TSExportAssignment = uPt;
  Xe.TSExternalModuleReference = oPt;
  Xe.TSFunctionType = CSt;
  Xe.TSImportEqualsDeclaration = aPt;
  Xe.TSImportType = nPt;
  Xe.TSIndexSignature = pSt;
  Xe.TSIndexedAccessType = WSt;
  Xe.TSInferType = USt;
  Xe.TSInstantiationExpression = ePt;
  Xe.TSInterfaceBody = zSt;
  Xe.TSInterfaceDeclaration = XSt;
  Xe.TSIntersectionType = RSt;
  Xe.TSIntrinsicKeyword = ASt;
  Xe.TSLiteralType = JSt;
  Xe.TSMappedType = $St;
  Xe.TSMethodSignature = cSt;
  Xe.TSModuleBlock = iPt;
  Xe.TSModuleDeclaration = rPt;
  Xe.TSNamedTupleMember = FSt;
  Xe.TSNamespaceExportDeclaration = cPt;
  Xe.TSNeverKeyword = ESt;
  Xe.TSNonNullExpression = lPt;
  Xe.TSNullKeyword = PSt;
  Xe.TSNumberKeyword = mSt;
  Xe.TSObjectKeyword = ySt;
  Xe.TSOptionalType = BSt;
  Xe.TSParameterProperty = sSt;
  Xe.TSParenthesizedType = KSt;
  Xe.TSPropertySignature = lSt;
  Xe.TSQualifiedName = nSt;
  Xe.TSRestType = MSt;
  Xe.TSStringKeyword = TSt;
  Xe.TSSymbolKeyword = bSt;
  Xe.TSTemplateLiteralType = HSt;
  Xe.TSThisType = vSt;
  Xe.TSTupleType = LSt;
  Xe.TSTypeAliasDeclaration = GSt;
  Xe.TSTypeAnnotation = Zxt;
  Xe.TSTypeAssertion = ZSt;
  Xe.TSTypeLiteral = OSt;
  Xe.TSTypeOperator = VSt;
  Xe.TSTypeParameter = tSt;
  Xe.TSTypeParameterDeclaration = Xe.TSTypeParameterInstantiation = eSt;
  Xe.TSTypePredicate = kSt;
  Xe.TSTypeQuery = DSt;
  Xe.TSTypeReference = NSt;
  Xe.TSUndefinedKeyword = SSt;
  Xe.TSUnionType = jSt;
  Xe.TSUnknownKeyword = dSt;
  Xe.TSVoidKeyword = xSt;
  Xe.tsPrintClassMemberModifiers = hPt;
  Xe.tsPrintFunctionOrConstructorType = ISt;
  Xe.tsPrintPropertyOrMethodName = uSt;
  Xe.tsPrintSignatureDeclarationBase = pPt;
  function Zxt(t, e) {
    this.token((e.type === "TSFunctionType" || e.type === "TSConstructorType") && e.typeAnnotation === t ? "=>" : ":"), this.space(), t.optional &&
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(Zxt, "TSTypeAnnotation");
  function eSt(t, e) {
    this.tokenChar(60);
    let s = e.type === "ArrowFunctionExpression" && t.params.length === 1;
    this.tokenMap && t.start != null && t.end != null && (s && (s = !!this.tokenMap.find(t, (r) => this.tokenMap.matchesOriginal(r, ","))), s ||
    (s = this.shouldPrintTrailingComma(">"))), this.printList(t.params, s), this.tokenChar(62);
  }
  n(eSt, "TSTypeParameterInstantiation");
  function tSt(t) {
    t.in && (this.word("in"), this.space()), t.out && (this.word("out"), this.space()), this.word(t.name), t.constraint && (this.space(), this.
    word("extends"), this.space(), this.print(t.constraint)), t.default && (this.space(), this.tokenChar(61), this.space(), this.print(t.default));
  }
  n(tSt, "TSTypeParameter");
  function sSt(t) {
    t.accessibility && (this.word(t.accessibility), this.space()), t.readonly && (this.word("readonly"), this.space()), this._param(t.parameter);
  }
  n(sSt, "TSParameterProperty");
  function rSt(t, e) {
    t.declare && (this.word("declare"), this.space()), this._functionHead(t, e), this.semicolon();
  }
  n(rSt, "TSDeclareFunction");
  function iSt(t) {
    this._classMethodHead(t), this.semicolon();
  }
  n(iSt, "TSDeclareMethod");
  function nSt(t) {
    this.print(t.left), this.tokenChar(46), this.print(t.right);
  }
  n(nSt, "TSQualifiedName");
  function aSt(t) {
    this.tsPrintSignatureDeclarationBase(t), w0(this, t);
  }
  n(aSt, "TSCallSignatureDeclaration");
  function w0(t, e) {
    if (!t.tokenMap || !e.start || !e.end) {
      t.semicolon();
      return;
    }
    t.tokenMap.endMatches(e, ",") ? t.token(",") : t.tokenMap.endMatches(e, ";") && t.semicolon();
  }
  n(w0, "maybePrintTrailingCommaOrSemicolon");
  function oSt(t) {
    this.word("new"), this.space(), this.tsPrintSignatureDeclarationBase(t), w0(this, t);
  }
  n(oSt, "TSConstructSignatureDeclaration");
  function lSt(t) {
    let {
      readonly: e
    } = t;
    e && (this.word("readonly"), this.space()), this.tsPrintPropertyOrMethodName(t), this.print(t.typeAnnotation), w0(this, t);
  }
  n(lSt, "TSPropertySignature");
  function uSt(t) {
    t.computed && this.tokenChar(91), this.print(t.key), t.computed && this.tokenChar(93), t.optional && this.tokenChar(63);
  }
  n(uSt, "tsPrintPropertyOrMethodName");
  function cSt(t) {
    let {
      kind: e
    } = t;
    (e === "set" || e === "get") && (this.word(e), this.space()), this.tsPrintPropertyOrMethodName(t), this.tsPrintSignatureDeclarationBase(
    t), w0(this, t);
  }
  n(cSt, "TSMethodSignature");
  function pSt(t) {
    let {
      readonly: e,
      static: s
    } = t;
    s && (this.word("static"), this.space()), e && (this.word("readonly"), this.space()), this.tokenChar(91), this._parameters(t.parameters,
    "]"), this.print(t.typeAnnotation), w0(this, t);
  }
  n(pSt, "TSIndexSignature");
  function hSt() {
    this.word("any");
  }
  n(hSt, "TSAnyKeyword");
  function fSt() {
    this.word("bigint");
  }
  n(fSt, "TSBigIntKeyword");
  function dSt() {
    this.word("unknown");
  }
  n(dSt, "TSUnknownKeyword");
  function mSt() {
    this.word("number");
  }
  n(mSt, "TSNumberKeyword");
  function ySt() {
    this.word("object");
  }
  n(ySt, "TSObjectKeyword");
  function gSt() {
    this.word("boolean");
  }
  n(gSt, "TSBooleanKeyword");
  function TSt() {
    this.word("string");
  }
  n(TSt, "TSStringKeyword");
  function bSt() {
    this.word("symbol");
  }
  n(bSt, "TSSymbolKeyword");
  function xSt() {
    this.word("void");
  }
  n(xSt, "TSVoidKeyword");
  function SSt() {
    this.word("undefined");
  }
  n(SSt, "TSUndefinedKeyword");
  function PSt() {
    this.word("null");
  }
  n(PSt, "TSNullKeyword");
  function ESt() {
    this.word("never");
  }
  n(ESt, "TSNeverKeyword");
  function ASt() {
    this.word("intrinsic");
  }
  n(ASt, "TSIntrinsicKeyword");
  function vSt() {
    this.word("this");
  }
  n(vSt, "TSThisType");
  function CSt(t) {
    this.tsPrintFunctionOrConstructorType(t);
  }
  n(CSt, "TSFunctionType");
  function wSt(t) {
    t.abstract && (this.word("abstract"), this.space()), this.word("new"), this.space(), this.tsPrintFunctionOrConstructorType(t);
  }
  n(wSt, "TSConstructorType");
  function ISt(t) {
    let {
      typeParameters: e
    } = t, s = t.parameters;
    this.print(e), this.tokenChar(40), this._parameters(s, ")"), this.space();
    let r = t.typeAnnotation;
    this.print(r);
  }
  n(ISt, "tsPrintFunctionOrConstructorType");
  function NSt(t) {
    let e = t.typeParameters;
    this.print(t.typeName, !!e), this.print(e);
  }
  n(NSt, "TSTypeReference");
  function kSt(t) {
    t.asserts && (this.word("asserts"), this.space()), this.print(t.parameterName), t.typeAnnotation && (this.space(), this.word("is"), this.
    space(), this.print(t.typeAnnotation.typeAnnotation));
  }
  n(kSt, "TSTypePredicate");
  function DSt(t) {
    this.word("typeof"), this.space(), this.print(t.exprName);
    let e = t.typeParameters;
    e && this.print(e);
  }
  n(DSt, "TSTypeQuery");
  function OSt(t) {
    jE(this, t, () => this.printJoin(t.members, !0, !0));
  }
  n(OSt, "TSTypeLiteral");
  function _St(t) {
    this.print(t.elementType, !0), this.tokenChar(91), this.tokenChar(93);
  }
  n(_St, "TSArrayType");
  function LSt(t) {
    this.tokenChar(91), this.printList(t.elementTypes, this.shouldPrintTrailingComma("]")), this.tokenChar(93);
  }
  n(LSt, "TSTupleType");
  function BSt(t) {
    this.print(t.typeAnnotation), this.tokenChar(63);
  }
  n(BSt, "TSOptionalType");
  function MSt(t) {
    this.token("..."), this.print(t.typeAnnotation);
  }
  n(MSt, "TSRestType");
  function FSt(t) {
    this.print(t.label), t.optional && this.tokenChar(63), this.tokenChar(58), this.space(), this.print(t.elementType);
  }
  n(FSt, "TSNamedTupleMember");
  function jSt(t) {
    Ese(this, t, "|");
  }
  n(jSt, "TSUnionType");
  function RSt(t) {
    Ese(this, t, "&");
  }
  n(RSt, "TSIntersectionType");
  function Ese(t, e, s) {
    var r;
    let i = 0;
    (r = t.tokenMap) != null && r.startMatches(e, s) && (i = 1, t.token(s)), t.printJoin(e.types, void 0, void 0, function(a) {
      this.space(), this.token(s, null, a + i), this.space();
    });
  }
  n(Ese, "tsPrintUnionOrIntersectionType");
  function qSt(t) {
    this.print(t.checkType), this.space(), this.word("extends"), this.space(), this.print(t.extendsType), this.space(), this.tokenChar(63), this.
    space(), this.print(t.trueType), this.space(), this.tokenChar(58), this.space(), this.print(t.falseType);
  }
  n(qSt, "TSConditionalType");
  function USt(t) {
    this.word("infer"), this.print(t.typeParameter);
  }
  n(USt, "TSInferType");
  function KSt(t) {
    this.tokenChar(40), this.print(t.typeAnnotation), this.tokenChar(41);
  }
  n(KSt, "TSParenthesizedType");
  function VSt(t) {
    this.word(t.operator), this.space(), this.print(t.typeAnnotation);
  }
  n(VSt, "TSTypeOperator");
  function WSt(t) {
    this.print(t.objectType, !0), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(WSt, "TSIndexedAccessType");
  function $St(t) {
    let {
      nameType: e,
      optional: s,
      readonly: r,
      typeAnnotation: i
    } = t;
    this.tokenChar(123);
    let a = this.enterDelimited();
    this.space(), r && (Sse(this, r), this.word("readonly"), this.space()), this.tokenChar(91), this.word(t.typeParameter.name), this.space(),
    this.word("in"), this.space(), this.print(t.typeParameter.constraint), e && (this.space(), this.word("as"), this.space(), this.print(e)),
    this.tokenChar(93), s && (Sse(this, s), this.tokenChar(63)), i && (this.tokenChar(58), this.space(), this.print(i)), this.space(), a(), this.
    tokenChar(125);
  }
  n($St, "TSMappedType");
  function Sse(t, e) {
    e !== !0 && t.token(e);
  }
  n(Sse, "tokenIfPlusMinus");
  function HSt(t) {
    this._printTemplate(t, t.types);
  }
  n(HSt, "TSTemplateLiteralType");
  function JSt(t) {
    this.print(t.literal);
  }
  n(JSt, "TSLiteralType");
  function YSt(t) {
    this.print(t.expression), this.print(t.typeArguments);
  }
  n(YSt, "TSClassImplements");
  function XSt(t) {
    let {
      declare: e,
      id: s,
      typeParameters: r,
      extends: i,
      body: a
    } = t;
    e && (this.word("declare"), this.space()), this.word("interface"), this.space(), this.print(s), this.print(r), i != null && i.length && (this.
    space(), this.word("extends"), this.space(), this.printList(i)), this.space(), this.print(a);
  }
  n(XSt, "TSInterfaceDeclaration");
  function zSt(t) {
    jE(this, t, () => this.printJoin(t.body, !0, !0));
  }
  n(zSt, "TSInterfaceBody");
  function GSt(t) {
    let {
      declare: e,
      id: s,
      typeParameters: r,
      typeAnnotation: i
    } = t;
    e && (this.word("declare"), this.space()), this.word("type"), this.space(), this.print(s), this.print(r), this.space(), this.tokenChar(61),
    this.space(), this.print(i), this.semicolon();
  }
  n(GSt, "TSTypeAliasDeclaration");
  function QSt(t) {
    let {
      type: e,
      expression: s,
      typeAnnotation: r
    } = t;
    this.print(s, !0), this.space(), this.word(e === "TSAsExpression" ? "as" : "satisfies"), this.space(), this.print(r);
  }
  n(QSt, "TSTypeExpression");
  function ZSt(t) {
    let {
      typeAnnotation: e,
      expression: s
    } = t;
    this.tokenChar(60), this.print(e), this.tokenChar(62), this.space(), this.print(s);
  }
  n(ZSt, "TSTypeAssertion");
  function ePt(t) {
    this.print(t.expression), this.print(t.typeParameters);
  }
  n(ePt, "TSInstantiationExpression");
  function tPt(t) {
    let {
      declare: e,
      const: s,
      id: r
    } = t;
    e && (this.word("declare"), this.space()), s && (this.word("const"), this.space()), this.word("enum"), this.space(), this.print(r), this.
    space(), Ase.call(this, t);
  }
  n(tPt, "TSEnumDeclaration");
  function Ase(t) {
    jE(this, t, () => {
      var e;
      return this.printList(t.members, (e = this.shouldPrintTrailingComma("}")) != null ? e : !0, !0, !0);
    });
  }
  n(Ase, "TSEnumBody");
  function sPt(t) {
    let {
      id: e,
      initializer: s
    } = t;
    this.print(e), s && (this.space(), this.tokenChar(61), this.space(), this.print(s));
  }
  n(sPt, "TSEnumMember");
  function rPt(t) {
    let {
      declare: e,
      id: s,
      kind: r
    } = t;
    e && (this.word("declare"), this.space());
    {
      if (t.global || (this.word(r ?? (s.type === "Identifier" ? "namespace" : "module")), this.space()), this.print(s), !t.body) {
        this.semicolon();
        return;
      }
      let i = t.body;
      for (; i.type === "TSModuleDeclaration"; )
        this.tokenChar(46), this.print(i.id), i = i.body;
      this.space(), this.print(i);
    }
  }
  n(rPt, "TSModuleDeclaration");
  function iPt(t) {
    jE(this, t, () => this.printSequence(t.body, !0));
  }
  n(iPt, "TSModuleBlock");
  function nPt(t) {
    let {
      argument: e,
      qualifier: s,
      options: r
    } = t;
    this.word("import"), this.tokenChar(40), this.print(e), r && (this.tokenChar(44), this.print(r)), this.tokenChar(41), s && (this.tokenChar(
    46), this.print(s));
    let i = t.typeParameters;
    i && this.print(i);
  }
  n(nPt, "TSImportType");
  function aPt(t) {
    let {
      id: e,
      moduleReference: s
    } = t;
    t.isExport && (this.word("export"), this.space()), this.word("import"), this.space(), this.print(e), this.space(), this.tokenChar(61), this.
    space(), this.print(s), this.semicolon();
  }
  n(aPt, "TSImportEqualsDeclaration");
  function oPt(t) {
    this.token("require("), this.print(t.expression), this.tokenChar(41);
  }
  n(oPt, "TSExternalModuleReference");
  function lPt(t) {
    this.print(t.expression), this.tokenChar(33);
  }
  n(lPt, "TSNonNullExpression");
  function uPt(t) {
    this.word("export"), this.space(), this.tokenChar(61), this.space(), this.print(t.expression), this.semicolon();
  }
  n(uPt, "TSExportAssignment");
  function cPt(t) {
    this.word("export"), this.space(), this.word("as"), this.space(), this.word("namespace"), this.space(), this.print(t.id), this.semicolon();
  }
  n(cPt, "TSNamespaceExportDeclaration");
  function pPt(t) {
    let {
      typeParameters: e
    } = t, s = t.parameters;
    this.print(e), this.tokenChar(40), this._parameters(s, ")");
    let r = t.typeAnnotation;
    this.print(r);
  }
  n(pPt, "tsPrintSignatureDeclarationBase");
  function hPt(t) {
    let e = t.type === "ClassPrivateProperty", s = t.type === "ClassAccessorProperty" || t.type === "ClassProperty";
    Pse(this, t, [s && t.declare && "declare", !e && t.accessibility]), t.static && (this.word("static"), this.space()), Pse(this, t, [!e &&
    t.override && "override", !e && t.abstract && "abstract", (s || e) && t.readonly && "readonly"]);
  }
  n(hPt, "tsPrintClassMemberModifiers");
  function jE(t, e, s) {
    t.token("{");
    let r = t.enterDelimited();
    s(), r(), t.rightBrace(e);
  }
  n(jE, "printBraced");
  function Pse(t, e, s) {
    var r;
    let i = /* @__PURE__ */ new Set();
    for (let a of s)
      a && i.add(a);
    (r = t.tokenMap) == null || r.find(e, (a) => {
      if (i.has(a.value))
        return t.token(a.value), t.space(), i.delete(a.value), i.size === 0;
    });
    for (let a of i)
      t.word(a), t.space();
  }
  n(Pse, "printModifiersList");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/generators/index.js
var Cse = g((Os) => {
  "use strict";
  Object.defineProperty(Os, "__esModule", {
    value: !0
  });
  var IB = sse();
  Object.keys(IB).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Os && Os[t] === IB[t] || Object.defineProperty(Os, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return IB[t];
      }, "get")
    });
  });
  var NB = ise();
  Object.keys(NB).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Os && Os[t] === NB[t] || Object.defineProperty(Os, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return NB[t];
      }, "get")
    });
  });
  var kB = lse();
  Object.keys(kB).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Os && Os[t] === kB[t] || Object.defineProperty(Os, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return kB[t];
      }, "get")
    });
  });
  var DB = use();
  Object.keys(DB).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Os && Os[t] === DB[t] || Object.defineProperty(Os, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return DB[t];
      }, "get")
    });
  });
  var OB = cse();
  Object.keys(OB).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Os && Os[t] === OB[t] || Object.defineProperty(Os, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return OB[t];
      }, "get")
    });
  });
  var _B = AB();
  Object.keys(_B).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Os && Os[t] === _B[t] || Object.defineProperty(Os, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return _B[t];
      }, "get")
    });
  });
  var LB = CB();
  Object.keys(LB).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Os && Os[t] === LB[t] || Object.defineProperty(Os, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return LB[t];
      }, "get")
    });
  });
  var BB = Tse();
  Object.keys(BB).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Os && Os[t] === BB[t] || Object.defineProperty(Os, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return BB[t];
      }, "get")
    });
  });
  var MB = bse();
  Object.keys(MB).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Os && Os[t] === MB[t] || Object.defineProperty(Os, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return MB[t];
      }, "get")
    });
  });
  var FB = xse();
  Object.keys(FB).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Os && Os[t] === FB[t] || Object.defineProperty(Os, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return FB[t];
      }, "get")
    });
  });
  var jB = vse();
  Object.keys(jB).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Os && Os[t] === jB[t] || Object.defineProperty(Os, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return jB[t];
      }, "get")
    });
  });
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/generators/deprecated.js
var wse = g((RB) => {
  "use strict";
  Object.defineProperty(RB, "__esModule", {
    value: !0
  });
  RB.addDeprecatedGenerators = fPt;
  function fPt(t) {
    {
      let e = {
        Noop() {
        },
        TSExpressionWithTypeArguments(s) {
          this.print(s.expression), this.print(s.typeParameters);
        },
        DecimalLiteral(s) {
          let r = this.getPossibleRaw(s);
          if (!this.format.minified && r !== void 0) {
            this.word(r);
            return;
          }
          this.word(s.value + "m");
        }
      };
      Object.assign(t.prototype, e);
    }
  }
  n(fPt, "addDeprecatedGenerators");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/printer.js
var Dse = g((RE) => {
  "use strict";
  Object.defineProperty(RE, "__esModule", {
    value: !0
  });
  RE.default = void 0;
  var dPt = jte(), Nse = up(), mPt = fe(), yPt = tse(), gPt = Cse(), TPt = wse(), {
    isExpression: bPt,
    isFunction: xPt,
    isStatement: SPt,
    isClassBody: PPt,
    isTSInterfaceBody: EPt,
    isTSEnumMember: APt
  } = mPt, vPt = /e/i, CPt = /\.0+$/, kse = /[\n\r\u2028\u2029]/, wPt = /[\n\r\u2028\u2029]|\*\//;
  function Ise(t) {
    return t.type === "CommentLine" || kse.test(t.value);
  }
  n(Ise, "commentIsNewline");
  var {
    needsParens: IPt
  } = Nse, I0 = class {
    static {
      n(this, "Printer");
    }
    constructor(e, s, r, i) {
      this.inForStatementInit = !1, this.tokenContext = 0, this._tokens = null, this._originalCode = null, this._currentNode = null, this._indent =
      0, this._indentRepeat = 0, this._insideAux = !1, this._noLineTerminator = !1, this._noLineTerminatorAfterNode = null, this._printAuxAfterOnNextUserNode =
      !1, this._printedComments = /* @__PURE__ */ new Set(), this._endsWithInteger = !1, this._endsWithWord = !1, this._endsWithDiv = !1, this.
      _lastCommentLine = 0, this._endsWithInnerRaw = !1, this._indentInnerComments = !0, this.tokenMap = null, this._boundGetRawIdentifier =
      this._getRawIdentifier.bind(this), this._printSemicolonBeforeNextNode = -1, this._printSemicolonBeforeNextToken = -1, this.format = e,
      this._tokens = r, this._originalCode = i, this._indentRepeat = e.indent.style.length, this._inputMap = s?._inputMap, this._buf = new dPt.
      default(s, e.indent.style[0]);
    }
    enterForStatementInit() {
      return this.inForStatementInit ? () => {
      } : (this.inForStatementInit = !0, () => {
        this.inForStatementInit = !1;
      });
    }
    enterDelimited() {
      let e = this.inForStatementInit, s = this._noLineTerminatorAfterNode;
      return e === !1 && s === null ? () => {
      } : (this.inForStatementInit = !1, this._noLineTerminatorAfterNode = null, () => {
        this.inForStatementInit = e, this._noLineTerminatorAfterNode = s;
      });
    }
    generate(e) {
      return this.format.preserveFormat && (this.tokenMap = new yPt.TokenMap(e, this._tokens, this._originalCode)), this.print(e), this._maybeAddAuxComment(),
      this._buf.get();
    }
    indent() {
      let {
        format: e
      } = this;
      e.preserveFormat || e.compact || e.concise || this._indent++;
    }
    dedent() {
      let {
        format: e
      } = this;
      e.preserveFormat || e.compact || e.concise || this._indent--;
    }
    semicolon(e = !1) {
      if (this._maybeAddAuxComment(), e) {
        this._appendChar(59), this._noLineTerminator = !1;
        return;
      }
      if (this.tokenMap) {
        let s = this._currentNode;
        if (s.start != null && s.end != null) {
          if (!this.tokenMap.endMatches(s, ";")) {
            this._printSemicolonBeforeNextNode = this._buf.getCurrentLine();
            return;
          }
          let r = this.tokenMap.getIndexes(this._currentNode);
          this._catchUpTo(this._tokens[r[r.length - 1]].loc.start);
        }
      }
      this._queue(59), this._noLineTerminator = !1;
    }
    rightBrace(e) {
      this.format.minified && this._buf.removeLastSemicolon(), this.sourceWithOffset("end", e.loc, -1), this.tokenChar(125);
    }
    rightParens(e) {
      this.sourceWithOffset("end", e.loc, -1), this.tokenChar(41);
    }
    space(e = !1) {
      let {
        format: s
      } = this;
      if (!(s.compact || s.preserveFormat)) {
        if (e)
          this._space();
        else if (this._buf.hasContent()) {
          let r = this.getLastChar();
          r !== 32 && r !== 10 && this._space();
        }
      }
    }
    word(e, s = !1) {
      this.tokenContext = 0, this._maybePrintInnerComments(e), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(e), (this.
      _endsWithWord || this._endsWithDiv && e.charCodeAt(0) === 47) && this._space(), this._append(e, !1), this._endsWithWord = !0, this._noLineTerminator =
      s;
    }
    number(e, s) {
      function r(i) {
        if (i.length > 2 && i.charCodeAt(0) === 48) {
          let a = i.charCodeAt(1);
          return a === 98 || a === 111 || a === 120;
        }
        return !1;
      }
      n(r, "isNonDecimalLiteral"), this.word(e), this._endsWithInteger = Number.isInteger(s) && !r(e) && !vPt.test(e) && !CPt.test(e) && e.charCodeAt(
      e.length - 1) !== 46;
    }
    token(e, s = !1, r = 0) {
      this.tokenContext = 0, this._maybePrintInnerComments(e, r), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(e,
      r);
      let i = this.getLastChar(), a = e.charCodeAt(0);
      (i === 33 && (e === "--" || a === 61) || a === 43 && i === 43 || a === 45 && i === 45 || a === 46 && this._endsWithInteger) && this._space(),
      this._append(e, s), this._noLineTerminator = !1;
    }
    tokenChar(e) {
      this.tokenContext = 0;
      let s = String.fromCharCode(e);
      this._maybePrintInnerComments(s), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(s);
      let r = this.getLastChar();
      (e === 43 && r === 43 || e === 45 && r === 45 || e === 46 && this._endsWithInteger) && this._space(), this._appendChar(e), this._noLineTerminator =
      !1;
    }
    newline(e = 1, s) {
      if (!(e <= 0)) {
        if (!s) {
          if (this.format.retainLines || this.format.compact) return;
          if (this.format.concise) {
            this.space();
            return;
          }
        }
        e > 2 && (e = 2), e -= this._buf.getNewlineCount();
        for (let r = 0; r < e; r++)
          this._newline();
      }
    }
    endsWith(e) {
      return this.getLastChar() === e;
    }
    getLastChar() {
      return this._buf.getLastChar();
    }
    endsWithCharAndNewline() {
      return this._buf.endsWithCharAndNewline();
    }
    removeTrailingNewline() {
      this._buf.removeTrailingNewline();
    }
    exactSource(e, s) {
      if (!e) {
        s();
        return;
      }
      this._catchUp("start", e), this._buf.exactSource(e, s);
    }
    source(e, s) {
      s && (this._catchUp(e, s), this._buf.source(e, s));
    }
    sourceWithOffset(e, s, r) {
      !s || this.format.preserveFormat || (this._catchUp(e, s), this._buf.sourceWithOffset(e, s, r));
    }
    sourceIdentifierName(e, s) {
      if (!this._buf._canMarkIdName) return;
      let r = this._buf._sourcePosition;
      r.identifierNamePos = s, r.identifierName = e;
    }
    _space() {
      this._queue(32);
    }
    _newline() {
      this._queue(10);
    }
    _catchUpToCurrentToken(e, s = 0) {
      let r = this.tokenMap.findMatching(this._currentNode, e, s);
      r && this._catchUpTo(r.loc.start), this._printSemicolonBeforeNextToken !== -1 && this._printSemicolonBeforeNextToken === this._buf.getCurrentLine() &&
      (this._buf.appendChar(59), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1), this._printSemicolonBeforeNextToken =
      -1, this._printSemicolonBeforeNextNode = -1;
    }
    _append(e, s) {
      this._maybeIndent(e.charCodeAt(0)), this._buf.append(e, s), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1;
    }
    _appendChar(e) {
      this._maybeIndent(e), this._buf.appendChar(e), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1;
    }
    _queue(e) {
      this._maybeIndent(e), this._buf.queue(e), this._endsWithWord = !1, this._endsWithInteger = !1;
    }
    _maybeIndent(e) {
      this._indent && e !== 10 && this.endsWith(10) && this._buf.queueIndentation(this._getIndent());
    }
    _shouldIndent(e) {
      if (this._indent && e !== 10 && this.endsWith(10))
        return !0;
    }
    catchUp(e) {
      if (!this.format.retainLines) return;
      let s = e - this._buf.getCurrentLine();
      for (let r = 0; r < s; r++)
        this._newline();
    }
    _catchUp(e, s) {
      let {
        format: r
      } = this;
      if (!r.preserveFormat) {
        r.retainLines && s != null && s[e] && this.catchUp(s[e].line);
        return;
      }
      let i = s?.[e];
      i != null && this._catchUpTo(i);
    }
    _catchUpTo({
      line: e,
      column: s,
      index: r
    }) {
      let i = e - this._buf.getCurrentLine();
      if (i > 0 && this._noLineTerminator)
        return;
      for (let o = 0; o < i; o++)
        this._newline();
      let a = i > 0 ? s : s - this._buf.getCurrentColumn();
      if (a > 0) {
        let o = this._originalCode ? this._originalCode.slice(r - a, r).replace(/[^\t\x0B\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/gu,
        " ") : " ".repeat(a);
        this._append(o, !1);
      }
    }
    _getIndent() {
      return this._indentRepeat * this._indent;
    }
    printTerminatorless(e) {
      this._noLineTerminator = !0, this.print(e);
    }
    print(e, s, r) {
      var i, a, o;
      if (!e) return;
      this._endsWithInnerRaw = !1;
      let l = e.type, u = this.format, c = u.concise;
      e._compact && (u.concise = !0);
      let p = this[l];
      if (p === void 0)
        throw new ReferenceError(`unknown node of type ${JSON.stringify(l)} with constructor ${JSON.stringify(e.constructor.name)}`);
      let h = this._currentNode;
      this._currentNode = e, this.tokenMap && (this._printSemicolonBeforeNextToken = this._printSemicolonBeforeNextNode);
      let f = this._insideAux;
      this._insideAux = e.loc == null, this._maybeAddAuxComment(this._insideAux && !f);
      let d = (i = e.extra) == null ? void 0 : i.parenthesized, m = d && u.preserveFormat || d && u.retainFunctionParens && l === "FunctionE\
xpression" || IPt(e, h, this.tokenContext, this.inForStatementInit, u.preserveFormat ? this._boundGetRawIdentifier : void 0);
      if (!m && d && (a = e.leadingComments) != null && a.length && e.leadingComments[0].type === "CommentBlock")
        switch (h?.type) {
          case "ExpressionStatement":
          case "VariableDeclarator":
          case "AssignmentExpression":
          case "ReturnStatement":
            break;
          case "CallExpression":
          case "OptionalCallExpression":
          case "NewExpression":
            if (h.callee !== e) break;
          default:
            m = !0;
        }
      let y = !1;
      !m && this._noLineTerminator && ((o = e.leadingComments) != null && o.some(Ise) || this.format.retainLines && e.loc && e.loc.start.line >
      this._buf.getCurrentLine()) && (m = !0, y = !0);
      let T, b;
      if (!m && (s || (s = h && this._noLineTerminatorAfterNode === h && Nse.isLastChild(h, e)), s)) {
        var E;
        (E = e.trailingComments) != null && E.some(Ise) ? bPt(e) && (m = !0) : (T = this._noLineTerminatorAfterNode, this._noLineTerminatorAfterNode =
        e);
      }
      m && (this.tokenChar(40), y && this.indent(), this._endsWithInnerRaw = !1, this.inForStatementInit && (b = !0, this.inForStatementInit =
      !1), T = this._noLineTerminatorAfterNode, this._noLineTerminatorAfterNode = null), this._lastCommentLine = 0, this._printLeadingComments(
      e, h);
      let V = l === "Program" || l === "File" ? null : e.loc;
      this.exactSource(V, p.bind(this, e, h)), m ? (this._printTrailingComments(e, h), y && (this.dedent(), this.newline()), this.tokenChar(
      41), this._noLineTerminator = s, b && (this.inForStatementInit = !0)) : s && !this._noLineTerminator ? (this._noLineTerminator = !0, this.
      _printTrailingComments(e, h)) : this._printTrailingComments(e, h, r), this._currentNode = h, u.concise = c, this._insideAux = f, T !==
      void 0 && (this._noLineTerminatorAfterNode = T), this._endsWithInnerRaw = !1;
    }
    _maybeAddAuxComment(e) {
      e && this._printAuxBeforeComment(), this._insideAux || this._printAuxAfterComment();
    }
    _printAuxBeforeComment() {
      if (this._printAuxAfterOnNextUserNode) return;
      this._printAuxAfterOnNextUserNode = !0;
      let e = this.format.auxiliaryCommentBefore;
      e && this._printComment({
        type: "CommentBlock",
        value: e
      }, 0);
    }
    _printAuxAfterComment() {
      if (!this._printAuxAfterOnNextUserNode) return;
      this._printAuxAfterOnNextUserNode = !1;
      let e = this.format.auxiliaryCommentAfter;
      e && this._printComment({
        type: "CommentBlock",
        value: e
      }, 0);
    }
    getPossibleRaw(e) {
      let s = e.extra;
      if (s?.raw != null && s.rawValue != null && e.value === s.rawValue)
        return s.raw;
    }
    printJoin(e, s, r, i, a, o, l, u) {
      if (!(e != null && e.length)) return;
      if (r == null && this.format.retainLines) {
        var c;
        let y = (c = e[0].loc) == null ? void 0 : c.start.line;
        y != null && y !== this._buf.getCurrentLine() && (r = !0);
      }
      r && this.indent();
      let p = {
        addNewlines: o,
        nextNodeStartLine: 0
      }, h = i?.bind(this), f = e.length;
      for (let y = 0; y < f; y++) {
        let T = e[y];
        if (T && (s && this._printNewline(y === 0, p), this.print(T, void 0, u || 0), l?.(T, y), h != null && (y < f - 1 ? h(y, !1) : a && h(
        y, !0)), s)) {
          var d;
          if ((d = T.trailingComments) != null && d.length || (this._lastCommentLine = 0), y + 1 === f)
            this.newline(1);
          else {
            var m;
            let b = e[y + 1];
            p.nextNodeStartLine = ((m = b.loc) == null ? void 0 : m.start.line) || 0, this._printNewline(!0, p);
          }
        }
      }
      r && this.dedent();
    }
    printAndIndentOnComments(e) {
      let s = e.leadingComments && e.leadingComments.length > 0;
      s && this.indent(), this.print(e), s && this.dedent();
    }
    printBlock(e) {
      let s = e.body;
      s.type !== "EmptyStatement" && this.space(), this.print(s);
    }
    _printTrailingComments(e, s, r) {
      let {
        innerComments: i,
        trailingComments: a
      } = e;
      i != null && i.length && this._printComments(2, i, e, s, r), a != null && a.length && this._printComments(2, a, e, s, r);
    }
    _printLeadingComments(e, s) {
      let r = e.leadingComments;
      r != null && r.length && this._printComments(0, r, e, s);
    }
    _maybePrintInnerComments(e, s) {
      if (this._endsWithInnerRaw) {
        var r;
        this.printInnerComments((r = this.tokenMap) == null ? void 0 : r.findMatching(this._currentNode, e, s));
      }
      this._endsWithInnerRaw = !0, this._indentInnerComments = !0;
    }
    printInnerComments(e) {
      let s = this._currentNode, r = s.innerComments;
      if (!(r != null && r.length)) return;
      let i = this.endsWith(32), a = this._indentInnerComments, o = this._printedComments.size;
      a && this.indent(), this._printComments(1, r, s, void 0, void 0, e), i && o !== this._printedComments.size && this.space(), a && this.
      dedent();
    }
    noIndentInnerCommentsHere() {
      this._indentInnerComments = !1;
    }
    printSequence(e, s, r, i) {
      this.printJoin(e, !0, s ?? !1, void 0, void 0, i, void 0, r);
    }
    printList(e, s, r, i, a, o) {
      this.printJoin(e, r, i, a ?? NPt, s, void 0, o);
    }
    shouldPrintTrailingComma(e) {
      if (!this.tokenMap) return null;
      let s = this.tokenMap.findLastIndex(this._currentNode, (r) => this.tokenMap.matchesOriginal(r, e));
      return s <= 0 ? null : this.tokenMap.matchesOriginal(this._tokens[s - 1], ",");
    }
    _printNewline(e, s) {
      let r = this.format;
      if (r.retainLines || r.compact) return;
      if (r.concise) {
        this.space();
        return;
      }
      if (!e)
        return;
      let i = s.nextNodeStartLine, a = this._lastCommentLine;
      if (i > 0 && a > 0) {
        let o = i - a;
        if (o >= 0) {
          this.newline(o || 1);
          return;
        }
      }
      this._buf.hasContent() && this.newline(1);
    }
    _shouldPrintComment(e, s) {
      if (e.ignore || this._printedComments.has(e)) return 0;
      if (this._noLineTerminator && wPt.test(e.value))
        return 2;
      if (s && this.tokenMap) {
        let r = this.tokenMap.find(this._currentNode, (i) => i.value === e.value);
        if (r && r.start > s.start)
          return 2;
      }
      return this._printedComments.add(e), this.format.shouldPrintComment(e.value) ? 1 : 0;
    }
    _printComment(e, s) {
      let r = this._noLineTerminator, i = e.type === "CommentBlock", a = i && s !== 1 && !this._noLineTerminator;
      a && this._buf.hasContent() && s !== 2 && this.newline(1);
      let o = this.getLastChar();
      o !== 91 && o !== 123 && o !== 40 && this.space();
      let l;
      if (i) {
        if (l = `/*${e.value}*/`, this.format.indent.adjustMultilineComment) {
          var u;
          let c = (u = e.loc) == null ? void 0 : u.start.column;
          if (c) {
            let p = new RegExp("\\n\\s{1," + c + "}", "g");
            l = l.replace(p, `
`);
          }
          if (this.format.concise)
            l = l.replace(/\n(?!$)/g, `
`);
          else {
            let p = this.format.retainLines ? 0 : this._buf.getCurrentColumn();
            (this._shouldIndent(47) || this.format.retainLines) && (p += this._getIndent()), l = l.replace(/\n(?!$)/g, `
${" ".repeat(p)}`);
          }
        }
      } else r ? l = `/*${e.value}*/` : l = `//${e.value}`;
      if (this._endsWithDiv && this._space(), this.tokenMap) {
        let {
          _printSemicolonBeforeNextToken: c,
          _printSemicolonBeforeNextNode: p
        } = this;
        this._printSemicolonBeforeNextToken = -1, this._printSemicolonBeforeNextNode = -1, this.source("start", e.loc), this._append(l, i), this.
        _printSemicolonBeforeNextNode = p, this._printSemicolonBeforeNextToken = c;
      } else
        this.source("start", e.loc), this._append(l, i);
      !i && !r && this.newline(1, !0), a && s !== 3 && this.newline(1);
    }
    _printComments(e, s, r, i, a = 0, o) {
      let l = r.loc, u = s.length, c = !!l, p = c ? l.start.line : 0, h = c ? l.end.line : 0, f = 0, d = 0, m = this._noLineTerminator ? function() {
      } : this.newline.bind(this);
      for (let y = 0; y < u; y++) {
        let T = s[y], b = this._shouldPrintComment(T, o);
        if (b === 2) {
          c = !1;
          break;
        }
        if (c && T.loc && b === 1) {
          let E = T.loc.start.line, V = T.loc.end.line;
          if (e === 0) {
            let W = 0;
            y === 0 ? this._buf.hasContent() && (T.type === "CommentLine" || E !== V) && (W = d = 1) : W = E - f, f = V, m(W), this._printComment(
            T, 1), y + 1 === u && (m(Math.max(p - f, d)), f = p);
          } else if (e === 1) {
            let W = E - (y === 0 ? p : f);
            f = V, m(W), this._printComment(T, 1), y + 1 === u && (m(Math.min(1, h - f)), f = h);
          } else {
            let W = E - (y === 0 ? h - a : f);
            f = V, m(W), this._printComment(T, 1);
          }
        } else {
          if (c = !1, b !== 1)
            continue;
          if (u === 1) {
            let E = T.loc ? T.loc.start.line === T.loc.end.line : !kse.test(T.value), V = E && !SPt(r) && !PPt(i) && !EPt(i) && !APt(r);
            e === 0 ? this._printComment(T, V && r.type !== "ObjectExpression" || E && xPt(i, {
              body: r
            }) ? 1 : 0) : V && e === 2 ? this._printComment(T, 1) : this._printComment(T, 0);
          } else e === 1 && !(r.type === "ObjectExpression" && r.properties.length > 1) && r.type !== "ClassBody" && r.type !== "TSInterface\
Body" ? this._printComment(T, y === 0 ? 2 : y === u - 1 ? 3 : 0) : this._printComment(T, 0);
        }
      }
      e === 2 && c && f && (this._lastCommentLine = f);
    }
  };
  Object.assign(I0.prototype, gPt);
  (0, TPt.addDeprecatedGenerators)(I0);
  var lJs = RE.default = I0;
  function NPt(t, e) {
    this.token(",", !1, t), e || this.space();
  }
  n(NPt, "commaSeparator");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/lib/index.js
var Bse = g((qE) => {
  "use strict";
  Object.defineProperty(qE, "__esModule", {
    value: !0
  });
  qE.default = kPt;
  var Ose = Fte(), _se = Dse();
  function Lse(t, e, s) {
    if (e.experimental_preserveFormat) {
      if (typeof t != "string")
        throw new Error("`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string");
      if (!e.retainLines)
        throw new Error("`experimental_preserveFormat` requires `retainLines` to be set to `true`");
      if (e.compact && e.compact !== "auto")
        throw new Error("`experimental_preserveFormat` is not compatible with the `compact` option");
      if (e.minified)
        throw new Error("`experimental_preserveFormat` is not compatible with the `minified` option");
      if (e.jsescOption)
        throw new Error("`experimental_preserveFormat` is not compatible with the `jsescOption` option");
      if (!Array.isArray(s.tokens))
        throw new Error("`experimental_preserveFormat` requires the AST to have attatched the token of the input code. Make sure to enable t\
he `tokens: true` parser option.");
    }
    let r = {
      auxiliaryCommentBefore: e.auxiliaryCommentBefore,
      auxiliaryCommentAfter: e.auxiliaryCommentAfter,
      shouldPrintComment: e.shouldPrintComment,
      preserveFormat: e.experimental_preserveFormat,
      retainLines: e.retainLines,
      retainFunctionParens: e.retainFunctionParens,
      comments: e.comments == null || e.comments,
      compact: e.compact,
      minified: e.minified,
      concise: e.concise,
      indent: {
        adjustMultilineComment: !0,
        style: "  "
      },
      jsescOption: Object.assign({
        quotes: "double",
        wrap: !0,
        minimal: !1
      }, e.jsescOption),
      topicToken: e.topicToken,
      importAttributesKeyword: e.importAttributesKeyword
    };
    {
      var i;
      r.decoratorsBeforeExport = e.decoratorsBeforeExport, r.jsescOption.json = e.jsonCompatibleStrings, r.recordAndTupleSyntaxType = (i = e.
      recordAndTupleSyntaxType) != null ? i : "hash";
    }
    r.minified ? (r.compact = !0, r.shouldPrintComment = r.shouldPrintComment || (() => r.comments)) : r.shouldPrintComment = r.shouldPrintComment ||
    ((u) => r.comments || u.includes("@license") || u.includes("@preserve")), r.compact === "auto" && (r.compact = typeof t == "string" && t.
    length > 5e5, r.compact && console.error(`[BABEL] Note: The code generator has deoptimised the styling of ${e.filename} as it exceeds th\
e max of 500KB.`)), (r.compact || r.preserveFormat) && (r.indent.adjustMultilineComment = !1);
    let {
      auxiliaryCommentBefore: a,
      auxiliaryCommentAfter: o,
      shouldPrintComment: l
    } = r;
    return a && !l(a) && (r.auxiliaryCommentBefore = void 0), o && !l(o) && (r.auxiliaryCommentAfter = void 0), r;
  }
  n(Lse, "normalizeOptions");
  qE.CodeGenerator = class {
    static {
      n(this, "CodeGenerator");
    }
    constructor(e, s = {}, r) {
      this._ast = void 0, this._format = void 0, this._map = void 0, this._ast = e, this._format = Lse(r, s, e), this._map = s.sourceMaps ? new Ose.
      default(s, r) : null;
    }
    generate() {
      return new _se.default(this._format, this._map).generate(this._ast);
    }
  };
  function kPt(t, e = {}, s) {
    let r = Lse(s, e, t), i = e.sourceMaps ? new Ose.default(e, s) : null;
    return new _se.default(r, i, t.tokens, typeof s == "string" ? s : null).generate(t);
  }
  n(kPt, "generate");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/ancestry.js
var Mse = g((Va) => {
  "use strict";
  Object.defineProperty(Va, "__esModule", {
    value: !0
  });
  Va.find = LPt;
  Va.findParent = _Pt;
  Va.getAncestry = RPt;
  Va.getDeepestCommonAncestorFrom = jPt;
  Va.getEarliestCommonAncestorFrom = FPt;
  Va.getFunctionParent = BPt;
  Va.getStatementParent = MPt;
  Va.inType = KPt;
  Va.isAncestor = qPt;
  Va.isDescendant = UPt;
  var DPt = fe(), {
    VISITOR_KEYS: OPt
  } = DPt;
  function _Pt(t) {
    let e = this;
    for (; e = e.parentPath; )
      if (t(e)) return e;
    return null;
  }
  n(_Pt, "findParent");
  function LPt(t) {
    let e = this;
    do
      if (t(e)) return e;
    while (e = e.parentPath);
    return null;
  }
  n(LPt, "find");
  function BPt() {
    return this.findParent((t) => t.isFunction());
  }
  n(BPt, "getFunctionParent");
  function MPt() {
    let t = this;
    do {
      if (!t.parentPath || Array.isArray(t.container) && t.isStatement())
        break;
      t = t.parentPath;
    } while (t);
    if (t && (t.isProgram() || t.isFile()))
      throw new Error("File/Program node, we can't possibly find a statement parent to this");
    return t;
  }
  n(MPt, "getStatementParent");
  function FPt(t) {
    return this.getDeepestCommonAncestorFrom(t, function(e, s, r) {
      let i, a = OPt[e.type];
      for (let o of r) {
        let l = o[s + 1];
        if (!i) {
          i = l;
          continue;
        }
        if (l.listKey && i.listKey === l.listKey && l.key < i.key) {
          i = l;
          continue;
        }
        let u = a.indexOf(i.parentKey), c = a.indexOf(l.parentKey);
        u > c && (i = l);
      }
      return i;
    });
  }
  n(FPt, "getEarliestCommonAncestorFrom");
  function jPt(t, e) {
    if (!t.length)
      return this;
    if (t.length === 1)
      return t[0];
    let s = 1 / 0, r, i, a = t.map((l) => {
      let u = [];
      do
        u.unshift(l);
      while ((l = l.parentPath) && l !== this);
      return u.length < s && (s = u.length), u;
    }), o = a[0];
    e: for (let l = 0; l < s; l++) {
      let u = o[l];
      for (let c of a)
        if (c[l] !== u)
          break e;
      r = l, i = u;
    }
    if (i)
      return e ? e(i, r, a) : i;
    throw new Error("Couldn't find intersection");
  }
  n(jPt, "getDeepestCommonAncestorFrom");
  function RPt() {
    let t = this, e = [];
    do
      e.push(t);
    while (t = t.parentPath);
    return e;
  }
  n(RPt, "getAncestry");
  function qPt(t) {
    return t.isDescendant(this);
  }
  n(qPt, "isAncestor");
  function UPt(t) {
    return !!this.findParent((e) => e === t);
  }
  n(UPt, "isDescendant");
  function KPt(...t) {
    let e = this;
    for (; e; ) {
      for (let s of t)
        if (e.node.type === s) return !0;
      e = e.parentPath;
    }
    return !1;
  }
  n(KPt, "inType");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/inference/util.js
var UB = g((qB) => {
  "use strict";
  Object.defineProperty(qB, "__esModule", {
    value: !0
  });
  qB.createUnionType = JPt;
  var VPt = fe(), {
    createFlowUnionType: Fse,
    createTSUnionType: jse,
    createUnionTypeAnnotation: WPt,
    isFlowType: $Pt,
    isTSType: HPt
  } = VPt;
  function JPt(t) {
    {
      if (t.every((e) => $Pt(e)))
        return Fse ? Fse(t) : WPt(t);
      if (t.every((e) => HPt(e)) && jse)
        return jse(t);
    }
  }
  n(JPt, "createUnionType");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js
var Vse = g((KB) => {
  "use strict";
  Object.defineProperty(KB, "__esModule", {
    value: !0
  });
  KB.default = QPt;
  var YPt = fe(), qse = UB(), {
    BOOLEAN_NUMBER_BINARY_OPERATORS: XPt,
    createTypeAnnotationBasedOnTypeof: zPt,
    numberTypeAnnotation: Use,
    voidTypeAnnotation: GPt
  } = YPt;
  function QPt(t) {
    if (!this.isReferenced()) return;
    let e = this.scope.getBinding(t.name);
    if (e)
      return e.identifier.typeAnnotation ? e.identifier.typeAnnotation : ZPt(e, this, t.name);
    if (t.name === "undefined")
      return GPt();
    if (t.name === "NaN" || t.name === "Infinity")
      return Use();
    t.name;
  }
  n(QPt, "_default");
  function ZPt(t, e, s) {
    let r = [], i = [], a = Rse(t, e, i), o = Kse(t, e, s);
    if (o) {
      let l = Rse(t, o.ifStatement);
      a = a.filter((u) => !l.includes(u)), r.push(o.typeAnnotation);
    }
    if (a.length) {
      a.push(...i);
      for (let l of a)
        r.push(l.getTypeAnnotation());
    }
    if (r.length)
      return (0, qse.createUnionType)(r);
  }
  n(ZPt, "getTypeAnnotationBindingConstantViolations");
  function Rse(t, e, s) {
    let r = t.constantViolations.slice();
    return r.unshift(t.path), r.filter((i) => {
      i = i.resolve();
      let a = i._guessExecutionStatusRelativeTo(e);
      return s && a === "unknown" && s.push(i), a === "before";
    });
  }
  n(Rse, "getConstantViolationsBefore");
  function eEt(t, e) {
    let s = e.node.operator, r = e.get("right").resolve(), i = e.get("left").resolve(), a;
    if (i.isIdentifier({
      name: t
    }) ? a = r : r.isIdentifier({
      name: t
    }) && (a = i), a)
      return s === "===" ? a.getTypeAnnotation() : XPt.includes(s) ? Use() : void 0;
    if (s !== "===" && s !== "==") return;
    let o, l;
    if (i.isUnaryExpression({
      operator: "typeof"
    }) ? (o = i, l = r) : r.isUnaryExpression({
      operator: "typeof"
    }) && (o = r, l = i), !o || !o.get("argument").isIdentifier({
      name: t
    }) || (l = l.resolve(), !l.isLiteral())) return;
    let u = l.node.value;
    if (typeof u == "string")
      return zPt(u);
  }
  n(eEt, "inferAnnotationFromBinaryExpression");
  function tEt(t, e, s) {
    let r;
    for (; r = e.parentPath; ) {
      if (r.isIfStatement() || r.isConditionalExpression())
        return e.key === "test" ? void 0 : r;
      if (r.isFunction() && r.parentPath.scope.getBinding(s) !== t)
        return;
      e = r;
    }
  }
  n(tEt, "getParentConditionalPath");
  function Kse(t, e, s) {
    let r = tEt(t, e, s);
    if (!r) return;
    let a = [r.get("test")], o = [];
    for (let l = 0; l < a.length; l++) {
      let u = a[l];
      if (u.isLogicalExpression())
        u.node.operator === "&&" && (a.push(u.get("left")), a.push(u.get("right")));
      else if (u.isBinaryExpression()) {
        let c = eEt(s, u);
        c && o.push(c);
      }
    }
    return o.length ? {
      typeAnnotation: (0, qse.createUnionType)(o),
      ifStatement: r
    } : Kse(t, r, s);
  }
  n(Kse, "getConditionalAnnotation");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/inference/inferers.js
var Gse = g((Qs) => {
  "use strict";
  Object.defineProperty(Qs, "__esModule", {
    value: !0
  });
  Qs.ArrayExpression = Yse;
  Qs.AssignmentExpression = AEt;
  Qs.BinaryExpression = bEt;
  Qs.BooleanLiteral = IEt;
  Qs.CallExpression = FEt;
  Qs.ConditionalExpression = SEt;
  Qs.ClassDeclaration = Qs.ClassExpression = Qs.FunctionDeclaration = Qs.ArrowFunctionExpression = Qs.FunctionExpression = OEt;
  Object.defineProperty(Qs, "Identifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return rEt.default;
    }, "get")
  });
  Qs.LogicalExpression = xEt;
  Qs.NewExpression = yEt;
  Qs.NullLiteral = NEt;
  Qs.NumericLiteral = wEt;
  Qs.ObjectExpression = DEt;
  Qs.ParenthesizedExpression = EEt;
  Qs.RegExpLiteral = kEt;
  Qs.RestElement = Xse;
  Qs.SequenceExpression = PEt;
  Qs.StringLiteral = CEt;
  Qs.TSAsExpression = Jse;
  Qs.TSNonNullExpression = mEt;
  Qs.TaggedTemplateExpression = jEt;
  Qs.TemplateLiteral = gEt;
  Qs.TypeCastExpression = Hse;
  Qs.UnaryExpression = TEt;
  Qs.UpdateExpression = vEt;
  Qs.VariableDeclarator = dEt;
  var sEt = fe(), rEt = Vse(), $se = UB(), {
    BOOLEAN_BINARY_OPERATORS: iEt,
    BOOLEAN_UNARY_OPERATORS: nEt,
    NUMBER_BINARY_OPERATORS: aEt,
    NUMBER_UNARY_OPERATORS: oEt,
    STRING_UNARY_OPERATORS: lEt,
    anyTypeAnnotation: Wse,
    arrayTypeAnnotation: VB,
    booleanTypeAnnotation: WB,
    buildMatchMemberExpression: UE,
    genericTypeAnnotation: cp,
    identifier: Zh,
    nullLiteralTypeAnnotation: uEt,
    numberTypeAnnotation: gm,
    stringTypeAnnotation: ef,
    tupleTypeAnnotation: cEt,
    unionTypeAnnotation: pEt,
    voidTypeAnnotation: hEt,
    isIdentifier: fEt
  } = sEt;
  function dEt() {
    if (this.get("id").isIdentifier())
      return this.get("init").getTypeAnnotation();
  }
  n(dEt, "VariableDeclarator");
  function Hse(t) {
    return t.typeAnnotation;
  }
  n(Hse, "TypeCastExpression");
  Hse.validParent = !0;
  function Jse(t) {
    return t.typeAnnotation;
  }
  n(Jse, "TSAsExpression");
  Jse.validParent = !0;
  function mEt() {
    return this.get("expression").getTypeAnnotation();
  }
  n(mEt, "TSNonNullExpression");
  function yEt(t) {
    if (t.callee.type === "Identifier")
      return cp(t.callee);
  }
  n(yEt, "NewExpression");
  function gEt() {
    return ef();
  }
  n(gEt, "TemplateLiteral");
  function TEt(t) {
    let e = t.operator;
    if (e === "void")
      return hEt();
    if (oEt.includes(e))
      return gm();
    if (lEt.includes(e))
      return ef();
    if (nEt.includes(e))
      return WB();
  }
  n(TEt, "UnaryExpression");
  function bEt(t) {
    let e = t.operator;
    if (aEt.includes(e))
      return gm();
    if (iEt.includes(e))
      return WB();
    if (e === "+") {
      let s = this.get("right"), r = this.get("left");
      return r.isBaseType("number") && s.isBaseType("number") ? gm() : r.isBaseType("string") || s.isBaseType("string") ? ef() : pEt([ef(), gm()]);
    }
  }
  n(bEt, "BinaryExpression");
  function xEt() {
    let t = [this.get("left").getTypeAnnotation(), this.get("right").getTypeAnnotation()];
    return (0, $se.createUnionType)(t);
  }
  n(xEt, "LogicalExpression");
  function SEt() {
    let t = [this.get("consequent").getTypeAnnotation(), this.get("alternate").getTypeAnnotation()];
    return (0, $se.createUnionType)(t);
  }
  n(SEt, "ConditionalExpression");
  function PEt() {
    return this.get("expressions").pop().getTypeAnnotation();
  }
  n(PEt, "SequenceExpression");
  function EEt() {
    return this.get("expression").getTypeAnnotation();
  }
  n(EEt, "ParenthesizedExpression");
  function AEt() {
    return this.get("right").getTypeAnnotation();
  }
  n(AEt, "AssignmentExpression");
  function vEt(t) {
    let e = t.operator;
    if (e === "++" || e === "--")
      return gm();
  }
  n(vEt, "UpdateExpression");
  function CEt() {
    return ef();
  }
  n(CEt, "StringLiteral");
  function wEt() {
    return gm();
  }
  n(wEt, "NumericLiteral");
  function IEt() {
    return WB();
  }
  n(IEt, "BooleanLiteral");
  function NEt() {
    return uEt();
  }
  n(NEt, "NullLiteral");
  function kEt() {
    return cp(Zh("RegExp"));
  }
  n(kEt, "RegExpLiteral");
  function DEt() {
    return cp(Zh("Object"));
  }
  n(DEt, "ObjectExpression");
  function Yse() {
    return cp(Zh("Array"));
  }
  n(Yse, "ArrayExpression");
  function Xse() {
    return Yse();
  }
  n(Xse, "RestElement");
  Xse.validParent = !0;
  function OEt() {
    return cp(Zh("Function"));
  }
  n(OEt, "Func");
  var _Et = UE("Array.from"), LEt = UE("Object.keys"), BEt = UE("Object.values"), MEt = UE("Object.entries");
  function FEt() {
    let {
      callee: t
    } = this.node;
    return LEt(t) ? VB(ef()) : _Et(t) || BEt(t) || fEt(t, {
      name: "Array"
    }) ? VB(Wse()) : MEt(t) ? VB(cEt([ef(), Wse()])) : zse(this.get("callee"));
  }
  n(FEt, "CallExpression");
  function jEt() {
    return zse(this.get("tag"));
  }
  n(jEt, "TaggedTemplateExpression");
  function zse(t) {
    if (t = t.resolve(), t.isFunction()) {
      let {
        node: e
      } = t;
      if (e.async)
        return e.generator ? cp(Zh("AsyncIterator")) : cp(Zh("Promise"));
      if (e.generator)
        return cp(Zh("Iterator"));
      if (t.node.returnType)
        return t.node.returnType;
    }
  }
  n(zse, "resolveCall");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/inference/index.js
var sre = g((pp) => {
  "use strict";
  Object.defineProperty(pp, "__esModule", {
    value: !0
  });
  pp._getTypeAnnotation = tre;
  pp.baseTypeStrictlyMatches = aAt;
  pp.couldBeBaseType = nAt;
  pp.getTypeAnnotation = rAt;
  pp.isBaseType = iAt;
  pp.isGenericType = oAt;
  var Qse = Gse(), REt = fe(), {
    anyTypeAnnotation: ere,
    isAnyTypeAnnotation: KE,
    isArrayTypeAnnotation: qEt,
    isBooleanTypeAnnotation: UEt,
    isEmptyTypeAnnotation: KEt,
    isFlowBaseAnnotation: VEt,
    isGenericTypeAnnotation: WEt,
    isIdentifier: Zse,
    isMixedTypeAnnotation: $Et,
    isNumberTypeAnnotation: HEt,
    isStringTypeAnnotation: JEt,
    isTSArrayType: YEt,
    isTSTypeAnnotation: XEt,
    isTSTypeReference: zEt,
    isTupleTypeAnnotation: GEt,
    isTypeAnnotation: QEt,
    isUnionTypeAnnotation: ZEt,
    isVoidTypeAnnotation: eAt,
    stringTypeAnnotation: tAt,
    voidTypeAnnotation: sAt
  } = REt;
  function rAt() {
    let t = this.getData("typeAnnotation");
    return t != null || (t = tre.call(this) || ere(), (QEt(t) || XEt(t)) && (t = t.typeAnnotation), this.setData("typeAnnotation", t)), t;
  }
  n(rAt, "getTypeAnnotation");
  var $B = /* @__PURE__ */ new WeakSet();
  function tre() {
    let t = this.node;
    if (!t)
      if (this.key === "init" && this.parentPath.isVariableDeclarator()) {
        let s = this.parentPath.parentPath, r = s.parentPath;
        return s.key === "left" && r.isForInStatement() ? tAt() : s.key === "left" && r.isForOfStatement() ? ere() : sAt();
      } else
        return;
    if (t.typeAnnotation)
      return t.typeAnnotation;
    if (!$B.has(t)) {
      $B.add(t);
      try {
        var e;
        let s = Qse[t.type];
        if (s)
          return s.call(this, t);
        if (s = Qse[this.parentPath.type], (e = s) != null && e.validParent)
          return this.parentPath.getTypeAnnotation();
      } finally {
        $B.delete(t);
      }
    }
  }
  n(tre, "_getTypeAnnotation");
  function iAt(t, e) {
    return HB(t, this.getTypeAnnotation(), e);
  }
  n(iAt, "isBaseType");
  function HB(t, e, s) {
    if (t === "string")
      return JEt(e);
    if (t === "number")
      return HEt(e);
    if (t === "boolean")
      return UEt(e);
    if (t === "any")
      return KE(e);
    if (t === "mixed")
      return $Et(e);
    if (t === "empty")
      return KEt(e);
    if (t === "void")
      return eAt(e);
    if (s)
      return !1;
    throw new Error(`Unknown base type ${t}`);
  }
  n(HB, "_isBaseType");
  function nAt(t) {
    let e = this.getTypeAnnotation();
    if (KE(e)) return !0;
    if (ZEt(e)) {
      for (let s of e.types)
        if (KE(s) || HB(t, s, !0))
          return !0;
      return !1;
    } else
      return HB(t, e, !0);
  }
  n(nAt, "couldBeBaseType");
  function aAt(t) {
    let e = this.getTypeAnnotation(), s = t.getTypeAnnotation();
    return !KE(e) && VEt(e) ? s.type === e.type : !1;
  }
  n(aAt, "baseTypeStrictlyMatches");
  function oAt(t) {
    let e = this.getTypeAnnotation();
    return t === "Array" && (YEt(e) || qEt(e) || GEt(e)) ? !0 : WEt(e) && Zse(e.id, {
      name: t
    }) || zEt(e) && Zse(e.typeName, {
      name: t
    });
  }
  n(oAt, "isGenericType");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/lib/removal-hooks.js
var rre = g((VE) => {
  "use strict";
  Object.defineProperty(VE, "__esModule", {
    value: !0
  });
  VE.hooks = void 0;
  var AJs = VE.hooks = [function(t, e) {
    if (t.key === "test" && (e.isWhile() || e.isSwitchCase()) || t.key === "declaration" && e.isExportDeclaration() || t.key === "body" && e.
    isLabeledStatement() || t.listKey === "declarations" && e.isVariableDeclaration() && e.node.declarations.length === 1 || t.key === "expr\
ession" && e.isExpressionStatement())
      return e.remove(), !0;
  }, function(t, e) {
    if (e.isSequenceExpression() && e.node.expressions.length === 1)
      return e.replaceWith(e.node.expressions[0]), !0;
  }, function(t, e) {
    if (e.isBinary())
      return t.key === "left" ? e.replaceWith(e.node.right) : e.replaceWith(e.node.left), !0;
  }, function(t, e) {
    if (e.isIfStatement() && t.key === "consequent" || t.key === "body" && (e.isLoop() || e.isArrowFunctionExpression()))
      return t.replaceWith({
        type: "BlockStatement",
        body: []
      }), !0;
  }];
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/removal.js
var WE = g((hp) => {
  "use strict";
  Object.defineProperty(hp, "__esModule", {
    value: !0
  });
  hp._assertUnremoved = lre;
  hp._callRemovalHooks = are;
  hp._markRemoved = JB;
  hp._remove = ore;
  hp._removeFromScope = nre;
  hp.remove = mAt;
  var lAt = rre(), uAt = Xh(), cAt = YB(), ire = fp(), pAt = fe(), hAt = $E(), fAt = dl(), {
    getBindingIdentifiers: dAt
  } = pAt;
  function mAt() {
    var t;
    if (lre.call(this), fAt.resync.call(this), are.call(this)) {
      JB.call(this);
      return;
    }
    (t = this.opts) != null && t.noScope || nre.call(this), this.shareCommentsWithSiblings(), ore.call(this), JB.call(this);
  }
  n(mAt, "remove");
  function nre() {
    let t = dAt(this.node, !1, !1, !0);
    Object.keys(t).forEach((e) => this.scope.removeBinding(e));
  }
  n(nre, "_removeFromScope");
  function are() {
    if (this.parentPath) {
      for (let t of lAt.hooks)
        if (t(this, this.parentPath)) return !0;
    }
  }
  n(are, "_callRemovalHooks");
  function ore() {
    Array.isArray(this.container) ? (this.container.splice(this.key, 1), hAt.updateSiblingKeys.call(this, this.key, -1)) : cAt._replaceWith.
    call(this, null);
  }
  n(ore, "_remove");
  function JB() {
    this._traverseFlags |= ire.SHOULD_SKIP | ire.REMOVED, this.parent && (0, uAt.getCachedPaths)(this.hub, this.parent).delete(this.node), this.
    node = null;
  }
  n(JB, "_markRemoved");
  function lre() {
    if (this.removed)
      throw this.buildCodeFrameError("NodePath has been removed so is read-only.");
  }
  n(lre, "_assertUnremoved");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/lib/hoister.js
var cre = g((HE) => {
  "use strict";
  Object.defineProperty(HE, "__esModule", {
    value: !0
  });
  HE.default = void 0;
  var ure = fe(), yAt = ure, {
    react: gAt
  } = ure, {
    cloneNode: TAt,
    jsxExpressionContainer: bAt,
    variableDeclaration: xAt,
    variableDeclarator: SAt
  } = yAt, PAt = {
    ReferencedIdentifier(t, e) {
      if (t.isJSXIdentifier() && gAt.isCompatTag(t.node.name) && !t.parentPath.isJSXMemberExpression())
        return;
      if (t.node.name === "this") {
        let r = t.scope;
        do
          if (r.path.isFunction() && !r.path.isArrowFunctionExpression())
            break;
        while (r = r.parent);
        r && e.breakOnScopePaths.push(r.path);
      }
      let s = t.scope.getBinding(t.node.name);
      if (s) {
        for (let r of s.constantViolations)
          if (r.scope !== s.path.scope) {
            e.mutableBinding = !0, t.stop();
            return;
          }
        s === e.scope.getBinding(t.node.name) && (e.bindings[t.node.name] = s);
      }
    }
  }, XB = class {
    static {
      n(this, "PathHoister");
    }
    constructor(e, s) {
      this.breakOnScopePaths = void 0, this.bindings = void 0, this.mutableBinding = void 0, this.scopes = void 0, this.scope = void 0, this.
      path = void 0, this.attachAfter = void 0, this.breakOnScopePaths = [], this.bindings = {}, this.mutableBinding = !1, this.scopes = [],
      this.scope = s, this.path = e, this.attachAfter = !1;
    }
    isCompatibleScope(e) {
      for (let s of Object.keys(this.bindings)) {
        let r = this.bindings[s];
        if (!e.bindingIdentifierEquals(s, r.identifier))
          return !1;
      }
      return !0;
    }
    getCompatibleScopes() {
      let e = this.path.scope;
      do {
        if (this.isCompatibleScope(e))
          this.scopes.push(e);
        else
          break;
        if (this.breakOnScopePaths.includes(e.path))
          break;
      } while (e = e.parent);
    }
    getAttachmentPath() {
      let e = this._getAttachmentPath();
      if (!e) return;
      let s = e.scope;
      if (s.path === e && (s = e.scope.parent), s.path.isProgram() || s.path.isFunction())
        for (let r of Object.keys(this.bindings)) {
          if (!s.hasOwnBinding(r)) continue;
          let i = this.bindings[r];
          if (i.kind === "param" || i.path.parentKey === "params")
            continue;
          if (this.getAttachmentParentForPath(i.path).key >= e.key) {
            this.attachAfter = !0, e = i.path;
            for (let o of i.constantViolations)
              this.getAttachmentParentForPath(o).key > e.key && (e = o);
          }
        }
      return e;
    }
    _getAttachmentPath() {
      let s = this.scopes.pop();
      if (s) {
        if (s.path.isFunction())
          if (this.hasOwnParamBindings(s)) {
            if (this.scope === s) return;
            let r = s.path.get("body").get("body");
            for (let i = 0; i < r.length; i++)
              if (!r[i].node._blockHoist)
                return r[i];
          } else
            return this.getNextScopeAttachmentParent();
        else if (s.path.isProgram())
          return this.getNextScopeAttachmentParent();
      }
    }
    getNextScopeAttachmentParent() {
      let e = this.scopes.pop();
      if (e) return this.getAttachmentParentForPath(e.path);
    }
    getAttachmentParentForPath(e) {
      do
        if (!e.parentPath || Array.isArray(e.container) && e.isStatement())
          return e;
      while (e = e.parentPath);
    }
    hasOwnParamBindings(e) {
      for (let s of Object.keys(this.bindings)) {
        if (!e.hasOwnBinding(s)) continue;
        let r = this.bindings[s];
        if (r.kind === "param" && r.constant) return !0;
      }
      return !1;
    }
    run() {
      if (this.path.traverse(PAt, this), this.mutableBinding) return;
      this.getCompatibleScopes();
      let e = this.getAttachmentPath();
      if (!e || e.getFunctionParent() === this.path.getFunctionParent()) return;
      let s = e.scope.generateUidIdentifier("ref"), r = SAt(s, this.path.node), i = this.attachAfter ? "insertAfter" : "insertBefore", [a] = e[i](
      [e.isVariableDeclarator() ? r : xAt("var", [r])]), o = this.path.parentPath;
      return o.isJSXElement() && this.path.container === o.node.children && (s = bAt(s)), this.path.replaceWith(TAt(s)), e.isVariableDeclarator() ?
      a.get("init") : a.get("declarations.0.init");
    }
  };
  HE.default = XB;
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/modification.js
var $E = g((Wa) => {
  "use strict";
  Object.defineProperty(Wa, "__esModule", {
    value: !0
  });
  Wa._containerInsert = eM;
  Wa._containerInsertAfter = fre;
  Wa._containerInsertBefore = tM;
  Wa._verifyNodeList = N0;
  Wa.insertAfter = RAt;
  Wa.insertBefore = FAt;
  Wa.pushContainer = UAt;
  Wa.unshiftContainer = qAt;
  Wa.updateSiblingKeys = yre;
  var EAt = Xh(), ZB = fp(), zB = dl(), JE = WE(), AAt = fe(), vAt = cre(), {
    arrowFunctionExpression: CAt,
    assertExpression: wAt,
    assignmentExpression: IAt,
    blockStatement: pre,
    callExpression: NAt,
    cloneNode: GB,
    expressionStatement: QB,
    isAssignmentExpression: kAt,
    isCallExpression: DAt,
    isExportNamedDeclaration: hre,
    isExpression: OAt,
    isIdentifier: _At,
    isSequenceExpression: LAt,
    isSuper: BAt,
    thisExpression: MAt
  } = AAt;
  function FAt(t) {
    JE._assertUnremoved.call(this);
    let e = N0.call(this, t), {
      parentPath: s,
      parent: r
    } = this;
    if (s.isExpressionStatement() || s.isLabeledStatement() || hre(r) || s.isExportDefaultDeclaration() && this.isDeclaration())
      return s.insertBefore(e);
    if (this.isNodeType("Expression") && !this.isJSXElement() || s.isForStatement() && this.key === "init")
      return this.node && e.push(this.node), this.replaceExpressionWithStatements(e);
    if (Array.isArray(this.container))
      return tM.call(this, e);
    if (this.isStatementOrBlock()) {
      let i = this.node, a = i && (!this.isExpressionStatement() || i.expression != null);
      return this.replaceWith(pre(a ? [i] : [])), this.unshiftContainer("body", e);
    } else
      throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?");
  }
  n(FAt, "insertBefore");
  function eM(t, e) {
    yre.call(this, t, e.length);
    let s = [];
    this.container.splice(t, 0, ...e);
    for (let a = 0; a < e.length; a++) {
      var r;
      let o = t + a, l = this.getSibling(o);
      s.push(l), (r = this.context) != null && r.queue && zB.pushContext.call(l, this.context);
    }
    let i = zB._getQueueContexts.call(this);
    for (let a of s) {
      zB.setScope.call(a), a.debug("Inserted.");
      for (let o of i)
        o.maybeQueue(a, !0);
    }
    return s;
  }
  n(eM, "_containerInsert");
  function tM(t) {
    return eM.call(this, this.key, t);
  }
  n(tM, "_containerInsertBefore");
  function fre(t) {
    return eM.call(this, this.key + 1, t);
  }
  n(fre, "_containerInsertAfter");
  var dre = /* @__PURE__ */ n((t) => t[t.length - 1], "last");
  function mre(t) {
    return LAt(t.parent) && (dre(t.parent.expressions) !== t.node || mre(t.parentPath));
  }
  n(mre, "isHiddenInSequenceExpression");
  function jAt(t, e) {
    if (!kAt(t) || !_At(t.left))
      return !1;
    let s = e.getBlockParent();
    return s.hasOwnBinding(t.left.name) && s.getOwnBinding(t.left.name).constantViolations.length <= 1;
  }
  n(jAt, "isAlmostConstantAssignment");
  function RAt(t) {
    if (JE._assertUnremoved.call(this), this.isSequenceExpression())
      return dre(this.get("expressions")).insertAfter(t);
    let e = N0.call(this, t), {
      parentPath: s,
      parent: r
    } = this;
    if (s.isExpressionStatement() || s.isLabeledStatement() || hre(r) || s.isExportDefaultDeclaration() && this.isDeclaration())
      return s.insertAfter(e.map((i) => OAt(i) ? QB(i) : i));
    if (this.isNodeType("Expression") && !this.isJSXElement() && !s.isJSXElement() || s.isForStatement() && this.key === "init") {
      let i = this;
      if (i.node) {
        let a = i.node, {
          scope: o
        } = this;
        if (o.path.isPattern())
          return wAt(a), i.replaceWith(NAt(CAt([], a), [])), i.get("callee.body").insertAfter(e), [i];
        if (mre(i))
          e.unshift(a);
        else if (DAt(a) && BAt(a.callee))
          e.unshift(a), e.push(MAt());
        else if (jAt(a, o))
          e.unshift(a), e.push(GB(a.left));
        else if (o.isPure(a, !0))
          e.push(a);
        else {
          s.isMethod({
            computed: !0,
            key: a
          }) && (o = o.parent);
          let l = o.generateDeclaredUidIdentifier();
          e.unshift(QB(IAt("=", GB(l), a))), e.push(QB(GB(l)));
        }
      }
      return this.replaceExpressionWithStatements(e);
    } else {
      if (Array.isArray(this.container))
        return fre.call(this, e);
      if (this.isStatementOrBlock()) {
        let i = this.node, a = i && (!this.isExpressionStatement() || i.expression != null);
        return this.replaceWith(pre(a ? [i] : [])), this.pushContainer("body", e);
      } else
        throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?");
    }
  }
  n(RAt, "insertAfter");
  function yre(t, e) {
    if (!this.parent) return;
    let s = (0, EAt.getCachedPaths)(this.hub, this.parent) || [];
    for (let [, r] of s)
      typeof r.key == "number" && r.container === this.container && r.key >= t && (r.key += e);
  }
  n(yre, "updateSiblingKeys");
  function N0(t) {
    if (!t)
      return [];
    Array.isArray(t) || (t = [t]);
    for (let e = 0; e < t.length; e++) {
      let s = t[e], r;
      if (s ? typeof s != "object" ? r = "contains a non-object node" : s.type ? s instanceof ZB.default && (r = "has a NodePath when it exp\
ected a raw object") : r = "without a type" : r = "has falsy node", r) {
        let i = Array.isArray(s) ? "array" : typeof s;
        throw new Error(`Node list ${r} with the index of ${e} and type of ${i}`);
      }
    }
    return t;
  }
  n(N0, "_verifyNodeList");
  function qAt(t, e) {
    JE._assertUnremoved.call(this), e = N0.call(this, e);
    let s = ZB.default.get({
      parentPath: this,
      parent: this.node,
      container: this.node[t],
      listKey: t,
      key: 0
    }).setContext(this.context);
    return tM.call(s, e);
  }
  n(qAt, "unshiftContainer");
  function UAt(t, e) {
    JE._assertUnremoved.call(this);
    let s = N0.call(this, e), r = this.node[t];
    return ZB.default.get({
      parentPath: this,
      parent: this.node,
      container: r,
      listKey: t,
      key: r.length
    }).setContext(this.context).replaceWithMultiple(s);
  }
  n(UAt, "pushContainer");
  Wa.hoist = /* @__PURE__ */ n(function(e = this.scope) {
    return new vAt.default(this, e).run();
  }, "hoist");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/parser/lib/index.js
var Jre = g((j0) => {
  "use strict";
  Object.defineProperty(j0, "__esModule", {
    value: !0
  });
  function KAt(t, e) {
    if (t == null) return {};
    var s = {};
    for (var r in t) if ({}.hasOwnProperty.call(t, r)) {
      if (e.includes(r)) continue;
      s[r] = t[r];
    }
    return s;
  }
  n(KAt, "_objectWithoutPropertiesLoose");
  var yl = class {
    static {
      n(this, "Position");
    }
    constructor(e, s, r) {
      this.line = void 0, this.column = void 0, this.index = void 0, this.line = e, this.column = s, this.index = r;
    }
  }, Pm = class {
    static {
      n(this, "SourceLocation");
    }
    constructor(e, s) {
      this.start = void 0, this.end = void 0, this.filename = void 0, this.identifierName = void 0, this.start = e, this.end = s;
    }
  };
  function Dn(t, e) {
    let {
      line: s,
      column: r,
      index: i
    } = t;
    return new yl(s, r + e, i + e);
  }
  n(Dn, "createPositionWithColumnOffset");
  var gre = "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED", VAt = {
    ImportMetaOutsideModule: {
      message: `import.meta may appear only with 'sourceType: "module"'`,
      code: gre
    },
    ImportOutsideModule: {
      message: `'import' and 'export' may appear only with 'sourceType: "module"'`,
      code: gre
    }
  }, Tre = {
    ArrayPattern: "array destructuring pattern",
    AssignmentExpression: "assignment expression",
    AssignmentPattern: "assignment expression",
    ArrowFunctionExpression: "arrow function expression",
    ConditionalExpression: "conditional expression",
    CatchClause: "catch clause",
    ForOfStatement: "for-of statement",
    ForInStatement: "for-in statement",
    ForStatement: "for-loop",
    FormalParameters: "function parameter list",
    Identifier: "identifier",
    ImportSpecifier: "import specifier",
    ImportDefaultSpecifier: "import default specifier",
    ImportNamespaceSpecifier: "import namespace specifier",
    ObjectPattern: "object destructuring pattern",
    ParenthesizedExpression: "parenthesized expression",
    RestElement: "rest element",
    UpdateExpression: {
      true: "prefix operation",
      false: "postfix operation"
    },
    VariableDeclarator: "variable declaration",
    YieldExpression: "yield expression"
  }, zE = /* @__PURE__ */ n((t) => t.type === "UpdateExpression" ? Tre.UpdateExpression[`${t.prefix}`] : Tre[t.type], "toNodeDescription"), WAt = {
    AccessorIsGenerator: /* @__PURE__ */ n(({
      kind: t
    }) => `A ${t}ter cannot be a generator.`, "AccessorIsGenerator"),
    ArgumentsInClass: "'arguments' is only allowed in functions and class methods.",
    AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.",
    AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.",
    AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.",
    AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.",
    AwaitUsingNotInAsyncContext: "'await using' is only allowed within async functions and at the top levels of modules.",
    AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.",
    AwaitNotInAsyncFunction: "'await' is only allowed within async functions.",
    BadGetterArity: "A 'get' accessor must not have any formal parameters.",
    BadSetterArity: "A 'set' accessor must have exactly one formal parameter.",
    BadSetterRestParameter: "A 'set' accessor function argument must not be a rest parameter.",
    ConstructorClassField: "Classes may not have a field named 'constructor'.",
    ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.",
    ConstructorIsAccessor: "Class constructor may not be an accessor.",
    ConstructorIsAsync: "Constructor can't be an async function.",
    ConstructorIsGenerator: "Constructor can't be a generator.",
    DeclarationMissingInitializer: /* @__PURE__ */ n(({
      kind: t
    }) => `Missing initializer in ${t} declaration.`, "DeclarationMissingInitializer"),
    DecoratorArgumentsOutsideParentheses: "Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(deco\
rator)(args)'.",
    DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use\
 the 'export @decorator class {}' syntax.",
    DecoratorsBeforeAfterExport: "Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the s\
ame time.",
    DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",
    DecoratorExportClass: "Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use \
the '@decorator export class {}' syntax.",
    DecoratorSemicolon: "Decorators must not be followed by a semicolon.",
    DecoratorStaticBlock: "Decorators can't be used with a static block.",
    DeferImportRequiresNamespace: 'Only `import defer * as x from "./module"` is valid.',
    DeletePrivateField: "Deleting a private field is not allowed.",
    DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.",
    DuplicateConstructor: "Duplicate constructor in the same class.",
    DuplicateDefaultExport: "Only one default export allowed per module.",
    DuplicateExport: /* @__PURE__ */ n(({
      exportName: t
    }) => `\`${t}\` has already been exported. Exported identifiers must be unique.`, "DuplicateExport"),
    DuplicateProto: "Redefinition of __proto__ property.",
    DuplicateRegExpFlags: "Duplicate regular expression flag.",
    DynamicImportPhaseRequiresImportExpressions: /* @__PURE__ */ n(({
      phase: t
    }) => `'import.${t}(...)' can only be parsed when using the 'createImportExpressions' option.`, "DynamicImportPhaseRequiresImportExpress\
ions"),
    ElementAfterRest: "Rest element must be last element.",
    EscapedCharNotAnIdentifier: "Invalid Unicode escape.",
    ExportBindingIsString: /* @__PURE__ */ n(({
      localName: t,
      exportName: e
    }) => `A string literal cannot be used as an exported binding without \`from\`.
- Did you mean \`export { '${t}' as '${e}' } from 'some-module'\`?`, "ExportBindingIsString"),
    ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.",
    ForInOfLoopInitializer: /* @__PURE__ */ n(({
      type: t
    }) => `'${t === "ForInStatement" ? "for-in" : "for-of"}' loop variable declaration may not have an initializer.`, "ForInOfLoopInitialize\
r"),
    ForInUsing: "For-in loop may not start with 'using' declaration.",
    ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.",
    ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.",
    GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.",
    IllegalBreakContinue: /* @__PURE__ */ n(({
      type: t
    }) => `Unsyntactic ${t === "BreakStatement" ? "break" : "continue"}.`, "IllegalBreakContinue"),
    IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.",
    IllegalReturn: "'return' outside of function.",
    ImportAttributesUseAssert: "The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You \
can enable the `deprecatedImportAssert` parser plugin to suppress this error.",
    ImportBindingIsString: /* @__PURE__ */ n(({
      importName: t
    }) => `A string literal cannot be used as an imported binding.
- Did you mean \`import { "${t}" as foo }\`?`, "ImportBindingIsString"),
    ImportCallArity: "`import()` requires exactly one or two arguments.",
    ImportCallNotNewExpression: "Cannot use new with import(...).",
    ImportCallSpreadArgument: "`...` is not allowed in `import()`.",
    ImportJSONBindingNotDefault: "A JSON module can only be imported with `default`.",
    ImportReflectionHasAssertion: "`import module x` cannot have assertions.",
    ImportReflectionNotBinding: 'Only `import module x from "./module"` is valid.',
    IncompatibleRegExpUVFlags: "The 'u' and 'v' regular expression flags cannot be enabled at the same time.",
    InvalidBigIntLiteral: "Invalid BigIntLiteral.",
    InvalidCodePoint: "Code point out of bounds.",
    InvalidCoverInitializedName: "Invalid shorthand property initializer.",
    InvalidDecimal: "Invalid decimal.",
    InvalidDigit: /* @__PURE__ */ n(({
      radix: t
    }) => `Expected number in radix ${t}.`, "InvalidDigit"),
    InvalidEscapeSequence: "Bad character escape sequence.",
    InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.",
    InvalidEscapedReservedWord: /* @__PURE__ */ n(({
      reservedWord: t
    }) => `Escape sequence in keyword ${t}.`, "InvalidEscapedReservedWord"),
    InvalidIdentifier: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Invalid identifier ${t}.`, "InvalidIdentifier"),
    InvalidLhs: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Invalid left-hand side in ${zE(t)}.`, "InvalidLhs"),
    InvalidLhsBinding: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Binding invalid left-hand side in ${zE(t)}.`, "InvalidLhsBinding"),
    InvalidLhsOptionalChaining: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Invalid optional chaining in the left-hand side of ${zE(t)}.`, "InvalidLhsOptionalChaining"),
    InvalidNumber: "Invalid number.",
    InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.",
    InvalidOrUnexpectedToken: /* @__PURE__ */ n(({
      unexpected: t
    }) => `Unexpected character '${t}'.`, "InvalidOrUnexpectedToken"),
    InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.",
    InvalidPrivateFieldResolution: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Private name #${t} is not defined.`, "InvalidPrivateFieldResolution"),
    InvalidPropertyBindingPattern: "Binding member expression.",
    InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.",
    InvalidRestAssignmentPattern: "Invalid rest operator's argument.",
    LabelRedeclaration: /* @__PURE__ */ n(({
      labelName: t
    }) => `Label '${t}' is already declared.`, "LabelRedeclaration"),
    LetInLexicalBinding: "'let' is disallowed as a lexically bound name.",
    LineTerminatorBeforeArrow: "No line break is allowed before '=>'.",
    MalformedRegExpFlags: "Invalid regular expression flag.",
    MissingClassName: "A class name is required.",
    MissingEqInAssignment: "Only '=' operator can be used for specifying default value.",
    MissingSemicolon: "Missing semicolon.",
    MissingPlugin: /* @__PURE__ */ n(({
      missingPlugin: t
    }) => `This experimental syntax requires enabling the parser plugin: ${t.map((e) => JSON.stringify(e)).join(", ")}.`, "MissingPlugin"),
    MissingOneOfPlugins: /* @__PURE__ */ n(({
      missingPlugin: t
    }) => `This experimental syntax requires enabling one of the following parser plugin(s): ${t.map((e) => JSON.stringify(e)).join(", ")}.`,
    "MissingOneOfPlugins"),
    MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.",
    MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.",
    ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.",
    ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.",
    ModuleAttributesWithDuplicateKeys: /* @__PURE__ */ n(({
      key: t
    }) => `Duplicate key "${t}" is not allowed in module attributes.`, "ModuleAttributesWithDuplicateKeys"),
    ModuleExportNameHasLoneSurrogate: /* @__PURE__ */ n(({
      surrogateCharCode: t
    }) => `An export name cannot include a lone surrogate, found '\\u${t.toString(16)}'.`, "ModuleExportNameHasLoneSurrogate"),
    ModuleExportUndefined: /* @__PURE__ */ n(({
      localName: t
    }) => `Export '${t}' is not defined.`, "ModuleExportUndefined"),
    MultipleDefaultsInSwitch: "Multiple default clauses.",
    NewlineAfterThrow: "Illegal newline after throw.",
    NoCatchOrFinally: "Missing catch or finally clause.",
    NumberIdentifier: "Identifier directly after number.",
    NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",
    ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.",
    OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.",
    OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.",
    OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.",
    ParamDupe: "Argument name clash.",
    PatternHasAccessor: "Object pattern can't contain getter or setter.",
    PatternHasMethod: "Object pattern can't contain methods.",
    PrivateInExpectedIn: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Private names are only allowed in property accesses (\`obj.#${t}\`) or in \`in\` expressions (\`#${t} in obj\`).`, "PrivateInExpe\
ctedIn"),
    PrivateNameRedeclaration: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Duplicate private name #${t}.`, "PrivateNameRedeclaration"),
    RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 're\
cordAndTuple' plugin is set to 'bar'.",
    RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the\
 'recordAndTuple' plugin is set to 'bar'.",
    RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of th\
e 'recordAndTuple' plugin is set to 'hash'.",
    RecordNoProto: "'__proto__' is not allowed in Record expressions.",
    RestTrailingComma: "Unexpected trailing comma after rest element.",
    SloppyFunction: "In non-strict mode code, functions can only be declared at top level or inside a block.",
    SloppyFunctionAnnexB: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if sta\
tement.",
    SourcePhaseImportRequiresDefault: 'Only `import source x from "./module"` is valid.',
    StaticPrototype: "Classes may not have static property named prototype.",
    SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or n\
ot extending another class?",
    SuperPrivateField: "Private fields can't be accessed on super.",
    TrailingDecorator: "Decorators must be attached to a class element.",
    TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'reco\
rdAndTuple' plugin is set to 'bar'.",
    TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the '\
recordAndTuple' plugin is set to 'bar'.",
    TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the \
'recordAndTuple' plugin is set to 'hash'.",
    UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.",
    UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',
    UnexpectedDigitAfterHash: "Unexpected digit after hash token.",
    UnexpectedImportExport: "'import' and 'export' may only appear at the top level.",
    UnexpectedKeyword: /* @__PURE__ */ n(({
      keyword: t
    }) => `Unexpected keyword '${t}'.`, "UnexpectedKeyword"),
    UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.",
    UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.",
    UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.",
    UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.",
    UnexpectedPrivateField: "Unexpected private name.",
    UnexpectedReservedWord: /* @__PURE__ */ n(({
      reservedWord: t
    }) => `Unexpected reserved word '${t}'.`, "UnexpectedReservedWord"),
    UnexpectedSuper: "'super' is only allowed in object methods and classes.",
    UnexpectedToken: /* @__PURE__ */ n(({
      expected: t,
      unexpected: e
    }) => `Unexpected token${e ? ` '${e}'.` : ""}${t ? `, expected "${t}"` : ""}`, "UnexpectedToken"),
    UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",
    UnexpectedUsingDeclaration: "Using declaration cannot appear in the top level when source type is `script`.",
    UnsupportedBind: "Binding should be performed on object property.",
    UnsupportedDecoratorExport: "A decorated export must export a class declaration.",
    UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.",
    UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.",
    UnsupportedMetaProperty: /* @__PURE__ */ n(({
      target: t,
      onlyValidPropertyName: e
    }) => `The only valid meta property for ${t} is ${t}.${e}.`, "UnsupportedMetaProperty"),
    UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.",
    UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.",
    UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",
    UnterminatedComment: "Unterminated comment.",
    UnterminatedRegExp: "Unterminated regular expression.",
    UnterminatedString: "Unterminated string constant.",
    UnterminatedTemplate: "Unterminated template.",
    UsingDeclarationExport: "Using declaration cannot be exported.",
    UsingDeclarationHasBindingPattern: "Using declaration cannot have destructuring patterns.",
    VarRedeclaration: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Identifier '${t}' has already been declared.`, "VarRedeclaration"),
    YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.",
    YieldInParameter: "Yield expression is not allowed in formal parameters.",
    ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0."
  }, $At = {
    StrictDelete: "Deleting local variable in strict mode.",
    StrictEvalArguments: /* @__PURE__ */ n(({
      referenceName: t
    }) => `Assigning to '${t}' in strict mode.`, "StrictEvalArguments"),
    StrictEvalArgumentsBinding: /* @__PURE__ */ n(({
      bindingName: t
    }) => `Binding '${t}' in strict mode.`, "StrictEvalArgumentsBinding"),
    StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.",
    StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.",
    StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.",
    StrictWith: "'with' in strict mode."
  }, HAt = /* @__PURE__ */ new Set(["ArrowFunctionExpression", "AssignmentExpression", "ConditionalExpression", "YieldExpression"]), JAt = Object.
  assign({
    PipeBodyIsTighter: "Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due \
to its loose operator precedence.",
    PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" opt\
ion.',
    PipeTopicUnbound: "Topic reference is unbound; it must be inside a pipe body.",
    PipeTopicUnconfiguredToken: /* @__PURE__ */ n(({
      token: t
    }) => `Invalid topic token ${t}. In order to use ${t} as a topic reference, the pipelineOperator plugin must be configured with { "propo\
sal": "hack", "topicToken": "${t}" }.`, "PipeTopicUnconfiguredToken"),
    PipeTopicUnused: "Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",
    PipeUnparenthesizedBody: /* @__PURE__ */ n(({
      type: t
    }) => `Hack-style pipe body cannot be an unparenthesized ${zE({
      type: t
    })}; please wrap it in parentheses.`, "PipeUnparenthesizedBody")
  }, {
    PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',
    PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.",
    PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.",
    PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.",
    PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.",
    PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "sma\
rt" option.'
  }), YAt = ["message"];
  function bre(t, e, s) {
    Object.defineProperty(t, e, {
      enumerable: !1,
      configurable: !0,
      value: s
    });
  }
  n(bre, "defineHidden");
  function XAt({
    toMessage: t,
    code: e,
    reasonCode: s,
    syntaxPlugin: r
  }) {
    let i = s === "MissingPlugin" || s === "MissingOneOfPlugins";
    {
      let a = {
        AccessorCannotDeclareThisParameter: "AccesorCannotDeclareThisParameter",
        AccessorCannotHaveTypeParameters: "AccesorCannotHaveTypeParameters",
        ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumRefer\
ence",
        SetAccessorCannotHaveOptionalParameter: "SetAccesorCannotHaveOptionalParameter",
        SetAccessorCannotHaveRestParameter: "SetAccesorCannotHaveRestParameter",
        SetAccessorCannotHaveReturnType: "SetAccesorCannotHaveReturnType"
      };
      a[s] && (s = a[s]);
    }
    return /* @__PURE__ */ n(function a(o, l) {
      let u = new SyntaxError();
      return u.code = e, u.reasonCode = s, u.loc = o, u.pos = o.index, u.syntaxPlugin = r, i && (u.missingPlugin = l.missingPlugin), bre(u, "\
clone", /* @__PURE__ */ n(function(p = {}) {
        var h;
        let {
          line: f,
          column: d,
          index: m
        } = (h = p.loc) != null ? h : o;
        return a(new yl(f, d, m), Object.assign({}, l, p.details));
      }, "clone")), bre(u, "details", l), Object.defineProperty(u, "message", {
        configurable: !0,
        get() {
          let c = `${t(l)} (${o.line}:${o.column})`;
          return this.message = c, c;
        },
        set(c) {
          Object.defineProperty(this, "message", {
            value: c,
            writable: !0
          });
        }
      }), u;
    }, "constructor");
  }
  n(XAt, "toParseErrorConstructor");
  function Lu(t, e) {
    if (Array.isArray(t))
      return (r) => Lu(r, t[0]);
    let s = {};
    for (let r of Object.keys(t)) {
      let i = t[r], a = typeof i == "string" ? {
        message: /* @__PURE__ */ n(() => i, "message")
      } : typeof i == "function" ? {
        message: i
      } : i, {
        message: o
      } = a, l = KAt(a, YAt), u = typeof o == "string" ? () => o : o;
      s[r] = XAt(Object.assign({
        code: "BABEL_PARSER_SYNTAX_ERROR",
        reasonCode: r,
        toMessage: u
      }, e ? {
        syntaxPlugin: e
      } : {}, l));
    }
    return s;
  }
  n(Lu, "ParseErrorEnum");
  var ee = Object.assign({}, Lu(VAt), Lu(WAt), Lu($At), Lu`pipelineOperator`(JAt));
  function zAt() {
    return {
      sourceType: "script",
      sourceFilename: void 0,
      startIndex: 0,
      startColumn: 0,
      startLine: 1,
      allowAwaitOutsideFunction: !1,
      allowReturnOutsideFunction: !1,
      allowNewTargetOutsideFunction: !1,
      allowImportExportEverywhere: !1,
      allowSuperOutsideMethod: !1,
      allowUndeclaredExports: !1,
      plugins: [],
      strictMode: null,
      ranges: !1,
      tokens: !1,
      createImportExpressions: !1,
      createParenthesizedExpressions: !1,
      errorRecovery: !1,
      attachComment: !0,
      annexB: !0
    };
  }
  n(zAt, "createDefaultOptions");
  function GAt(t) {
    let e = zAt();
    if (t == null)
      return e;
    if (t.annexB != null && t.annexB !== !1)
      throw new Error("The `annexB` option can only be set to `false`.");
    for (let s of Object.keys(e))
      t[s] != null && (e[s] = t[s]);
    if (e.startLine === 1)
      t.startIndex == null && e.startColumn > 0 ? e.startIndex = e.startColumn : t.startColumn == null && e.startIndex > 0 && (e.startColumn =
      e.startIndex);
    else if ((t.startColumn == null || t.startIndex == null) && t.startIndex != null)
      throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");
    return e;
  }
  n(GAt, "getOptions");
  var {
    defineProperty: QAt
  } = Object, xre = /* @__PURE__ */ n((t, e) => {
    t && QAt(t, e, {
      enumerable: !1,
      value: t[e]
    });
  }, "toUnenumerable");
  function k0(t) {
    return xre(t.loc.start, "index"), xre(t.loc.end, "index"), t;
  }
  n(k0, "toESTreeLocation");
  var ZAt = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "ESTreeParserMixin");
    }
    parse() {
      let s = k0(super.parse());
      return this.optionFlags & 128 && (s.tokens = s.tokens.map(k0)), s;
    }
    parseRegExpLiteral({
      pattern: s,
      flags: r
    }) {
      let i = null;
      try {
        i = new RegExp(s, r);
      } catch {
      }
      let a = this.estreeParseLiteral(i);
      return a.regex = {
        pattern: s,
        flags: r
      }, a;
    }
    parseBigIntLiteral(s) {
      let r;
      try {
        r = BigInt(s);
      } catch {
        r = null;
      }
      let i = this.estreeParseLiteral(r);
      return i.bigint = String(i.value || s), i;
    }
    parseDecimalLiteral(s) {
      let i = this.estreeParseLiteral(null);
      return i.decimal = String(i.value || s), i;
    }
    estreeParseLiteral(s) {
      return this.parseLiteral(s, "Literal");
    }
    parseStringLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    parseNumericLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    parseNullLiteral() {
      return this.estreeParseLiteral(null);
    }
    parseBooleanLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    directiveToStmt(s) {
      let r = s.value;
      delete s.value, r.type = "Literal", r.raw = r.extra.raw, r.value = r.extra.expressionValue;
      let i = s;
      return i.type = "ExpressionStatement", i.expression = r, i.directive = r.extra.rawValue, delete r.extra, i;
    }
    initFunction(s, r) {
      super.initFunction(s, r), s.expression = !1;
    }
    checkDeclaration(s) {
      s != null && this.isObjectProperty(s) ? this.checkDeclaration(s.value) : super.checkDeclaration(s);
    }
    getObjectOrClassMethodParams(s) {
      return s.value.params;
    }
    isValidDirective(s) {
      var r;
      return s.type === "ExpressionStatement" && s.expression.type === "Literal" && typeof s.expression.value == "string" && !((r = s.expression.
      extra) != null && r.parenthesized);
    }
    parseBlockBody(s, r, i, a, o) {
      super.parseBlockBody(s, r, i, a, o);
      let l = s.directives.map((u) => this.directiveToStmt(u));
      s.body = l.concat(s.body), delete s.directives;
    }
    parsePrivateName() {
      let s = super.parsePrivateName();
      return this.getPluginOption("estree", "classFeatures") ? this.convertPrivateNameToPrivateIdentifier(s) : s;
    }
    convertPrivateNameToPrivateIdentifier(s) {
      let r = super.getPrivateNameSV(s);
      return s = s, delete s.id, s.name = r, s.type = "PrivateIdentifier", s;
    }
    isPrivateName(s) {
      return this.getPluginOption("estree", "classFeatures") ? s.type === "PrivateIdentifier" : super.isPrivateName(s);
    }
    getPrivateNameSV(s) {
      return this.getPluginOption("estree", "classFeatures") ? s.name : super.getPrivateNameSV(s);
    }
    parseLiteral(s, r) {
      let i = super.parseLiteral(s, r);
      return i.raw = i.extra.raw, delete i.extra, i;
    }
    parseFunctionBody(s, r, i = !1) {
      super.parseFunctionBody(s, r, i), s.expression = s.body.type !== "BlockStatement";
    }
    parseMethod(s, r, i, a, o, l, u = !1) {
      let c = this.startNode();
      c.kind = s.kind, c = super.parseMethod(c, r, i, a, o, l, u), c.type = "FunctionExpression", delete c.kind, s.value = c;
      let {
        typeParameters: p
      } = s;
      return p && (delete s.typeParameters, c.typeParameters = p, this.resetStartLocationFromNode(c, p)), l === "ClassPrivateMethod" && (s.computed =
      !1), this.finishNode(s, "MethodDefinition");
    }
    nameIsConstructor(s) {
      return s.type === "Literal" ? s.value === "constructor" : super.nameIsConstructor(s);
    }
    parseClassProperty(...s) {
      let r = super.parseClassProperty(...s);
      return this.getPluginOption("estree", "classFeatures") && (r.type = "PropertyDefinition"), r;
    }
    parseClassPrivateProperty(...s) {
      let r = super.parseClassPrivateProperty(...s);
      return this.getPluginOption("estree", "classFeatures") && (r.type = "PropertyDefinition", r.computed = !1), r;
    }
    parseObjectMethod(s, r, i, a, o) {
      let l = super.parseObjectMethod(s, r, i, a, o);
      return l && (l.type = "Property", l.kind === "method" && (l.kind = "init"), l.shorthand = !1), l;
    }
    parseObjectProperty(s, r, i, a) {
      let o = super.parseObjectProperty(s, r, i, a);
      return o && (o.kind = "init", o.type = "Property"), o;
    }
    isValidLVal(s, r, i) {
      return s === "Property" ? "value" : super.isValidLVal(s, r, i);
    }
    isAssignable(s, r) {
      return s != null && this.isObjectProperty(s) ? this.isAssignable(s.value, r) : super.isAssignable(s, r);
    }
    toAssignable(s, r = !1) {
      if (s != null && this.isObjectProperty(s)) {
        let {
          key: i,
          value: a
        } = s;
        this.isPrivateName(i) && this.classScope.usePrivateName(this.getPrivateNameSV(i), i.loc.start), this.toAssignable(a, r);
      } else
        super.toAssignable(s, r);
    }
    toAssignableObjectExpressionProp(s, r, i) {
      s.type === "Property" && (s.kind === "get" || s.kind === "set") ? this.raise(ee.PatternHasAccessor, s.key) : s.type === "Property" && s.
      method ? this.raise(ee.PatternHasMethod, s.key) : super.toAssignableObjectExpressionProp(s, r, i);
    }
    finishCallExpression(s, r) {
      let i = super.finishCallExpression(s, r);
      if (i.callee.type === "Import") {
        var a, o;
        i.type = "ImportExpression", i.source = i.arguments[0], i.options = (a = i.arguments[1]) != null ? a : null, i.attributes = (o = i.arguments[1]) !=
        null ? o : null, delete i.arguments, delete i.callee;
      }
      return i;
    }
    toReferencedArguments(s) {
      s.type !== "ImportExpression" && super.toReferencedArguments(s);
    }
    parseExport(s, r) {
      let i = this.state.lastTokStartLoc, a = super.parseExport(s, r);
      switch (a.type) {
        case "ExportAllDeclaration":
          a.exported = null;
          break;
        case "ExportNamedDeclaration":
          a.specifiers.length === 1 && a.specifiers[0].type === "ExportNamespaceSpecifier" && (a.type = "ExportAllDeclaration", a.exported =
          a.specifiers[0].exported, delete a.specifiers);
        case "ExportDefaultDeclaration":
          {
            var o;
            let {
              declaration: l
            } = a;
            l?.type === "ClassDeclaration" && ((o = l.decorators) == null ? void 0 : o.length) > 0 && l.start === a.start && this.resetStartLocation(
            a, i);
          }
          break;
      }
      return a;
    }
    parseSubscript(s, r, i, a) {
      let o = super.parseSubscript(s, r, i, a);
      if (a.optionalChainMember) {
        if ((o.type === "OptionalMemberExpression" || o.type === "OptionalCallExpression") && (o.type = o.type.substring(8)), a.stop) {
          let l = this.startNodeAtNode(o);
          return l.expression = o, this.finishNode(l, "ChainExpression");
        }
      } else (o.type === "MemberExpression" || o.type === "CallExpression") && (o.optional = !1);
      return o;
    }
    isOptionalMemberExpression(s) {
      return s.type === "ChainExpression" ? s.expression.type === "MemberExpression" : super.isOptionalMemberExpression(s);
    }
    hasPropertyAsPrivateName(s) {
      return s.type === "ChainExpression" && (s = s.expression), super.hasPropertyAsPrivateName(s);
    }
    isObjectProperty(s) {
      return s.type === "Property" && s.kind === "init" && !s.method;
    }
    isObjectMethod(s) {
      return s.type === "Property" && (s.method || s.kind === "get" || s.kind === "set");
    }
    finishNodeAt(s, r, i) {
      return k0(super.finishNodeAt(s, r, i));
    }
    resetStartLocation(s, r) {
      super.resetStartLocation(s, r), k0(s);
    }
    resetEndLocation(s, r = this.state.lastTokEndLoc) {
      super.resetEndLocation(s, r), k0(s);
    }
  }, "estree"), rf = class {
    static {
      n(this, "TokContext");
    }
    constructor(e, s) {
      this.token = void 0, this.preserveSpace = void 0, this.token = e, this.preserveSpace = !!s;
    }
  }, Zs = {
    brace: new rf("{"),
    j_oTag: new rf("<tag"),
    j_cTag: new rf("</tag"),
    j_expr: new rf("<tag>...</tag>", !0)
  };
  Zs.template = new rf("`", !0);
  var us = !0, Ve = !0, sM = !0, D0 = !0, dp = !0, e1t = !0, ZE = class {
    static {
      n(this, "ExportedTokenType");
    }
    constructor(e, s = {}) {
      this.label = void 0, this.keyword = void 0, this.beforeExpr = void 0, this.startsExpr = void 0, this.rightAssociative = void 0, this.isLoop =
      void 0, this.isAssign = void 0, this.prefix = void 0, this.postfix = void 0, this.binop = void 0, this.label = e, this.keyword = s.keyword,
      this.beforeExpr = !!s.beforeExpr, this.startsExpr = !!s.startsExpr, this.rightAssociative = !!s.rightAssociative, this.isLoop = !!s.isLoop,
      this.isAssign = !!s.isAssign, this.prefix = !!s.prefix, this.postfix = !!s.postfix, this.binop = s.binop != null ? s.binop : null, this.
      updateContext = null;
    }
  }, wM = /* @__PURE__ */ new Map();
  function _s(t, e = {}) {
    e.keyword = t;
    let s = wt(t, e);
    return wM.set(t, s), s;
  }
  n(_s, "createKeyword");
  function kn(t, e) {
    return wt(t, {
      beforeExpr: us,
      binop: e
    });
  }
  n(kn, "createBinop");
  var L0 = -1, Ou = [], IM = [], NM = [], kM = [], DM = [], OM = [];
  function wt(t, e = {}) {
    var s, r, i, a;
    return ++L0, IM.push(t), NM.push((s = e.binop) != null ? s : -1), kM.push((r = e.beforeExpr) != null ? r : !1), DM.push((i = e.startsExpr) !=
    null ? i : !1), OM.push((a = e.prefix) != null ? a : !1), Ou.push(new ZE(t, e)), L0;
  }
  n(wt, "createToken");
  function ls(t, e = {}) {
    var s, r, i, a;
    return ++L0, wM.set(t, L0), IM.push(t), NM.push((s = e.binop) != null ? s : -1), kM.push((r = e.beforeExpr) != null ? r : !1), DM.push((i =
    e.startsExpr) != null ? i : !1), OM.push((a = e.prefix) != null ? a : !1), Ou.push(new ZE("name", e)), L0;
  }
  n(ls, "createKeywordLike");
  var t1t = {
    bracketL: wt("[", {
      beforeExpr: us,
      startsExpr: Ve
    }),
    bracketHashL: wt("#[", {
      beforeExpr: us,
      startsExpr: Ve
    }),
    bracketBarL: wt("[|", {
      beforeExpr: us,
      startsExpr: Ve
    }),
    bracketR: wt("]"),
    bracketBarR: wt("|]"),
    braceL: wt("{", {
      beforeExpr: us,
      startsExpr: Ve
    }),
    braceBarL: wt("{|", {
      beforeExpr: us,
      startsExpr: Ve
    }),
    braceHashL: wt("#{", {
      beforeExpr: us,
      startsExpr: Ve
    }),
    braceR: wt("}"),
    braceBarR: wt("|}"),
    parenL: wt("(", {
      beforeExpr: us,
      startsExpr: Ve
    }),
    parenR: wt(")"),
    comma: wt(",", {
      beforeExpr: us
    }),
    semi: wt(";", {
      beforeExpr: us
    }),
    colon: wt(":", {
      beforeExpr: us
    }),
    doubleColon: wt("::", {
      beforeExpr: us
    }),
    dot: wt("."),
    question: wt("?", {
      beforeExpr: us
    }),
    questionDot: wt("?."),
    arrow: wt("=>", {
      beforeExpr: us
    }),
    template: wt("template"),
    ellipsis: wt("...", {
      beforeExpr: us
    }),
    backQuote: wt("`", {
      startsExpr: Ve
    }),
    dollarBraceL: wt("${", {
      beforeExpr: us,
      startsExpr: Ve
    }),
    templateTail: wt("...`", {
      startsExpr: Ve
    }),
    templateNonTail: wt("...${", {
      beforeExpr: us,
      startsExpr: Ve
    }),
    at: wt("@"),
    hash: wt("#", {
      startsExpr: Ve
    }),
    interpreterDirective: wt("#!..."),
    eq: wt("=", {
      beforeExpr: us,
      isAssign: D0
    }),
    assign: wt("_=", {
      beforeExpr: us,
      isAssign: D0
    }),
    slashAssign: wt("_=", {
      beforeExpr: us,
      isAssign: D0
    }),
    xorAssign: wt("_=", {
      beforeExpr: us,
      isAssign: D0
    }),
    moduloAssign: wt("_=", {
      beforeExpr: us,
      isAssign: D0
    }),
    incDec: wt("++/--", {
      prefix: dp,
      postfix: e1t,
      startsExpr: Ve
    }),
    bang: wt("!", {
      beforeExpr: us,
      prefix: dp,
      startsExpr: Ve
    }),
    tilde: wt("~", {
      beforeExpr: us,
      prefix: dp,
      startsExpr: Ve
    }),
    doubleCaret: wt("^^", {
      startsExpr: Ve
    }),
    doubleAt: wt("@@", {
      startsExpr: Ve
    }),
    pipeline: kn("|>", 0),
    nullishCoalescing: kn("??", 1),
    logicalOR: kn("||", 1),
    logicalAND: kn("&&", 2),
    bitwiseOR: kn("|", 3),
    bitwiseXOR: kn("^", 4),
    bitwiseAND: kn("&", 5),
    equality: kn("==/!=/===/!==", 6),
    lt: kn("</>/<=/>=", 7),
    gt: kn("</>/<=/>=", 7),
    relational: kn("</>/<=/>=", 7),
    bitShift: kn("<</>>/>>>", 8),
    bitShiftL: kn("<</>>/>>>", 8),
    bitShiftR: kn("<</>>/>>>", 8),
    plusMin: wt("+/-", {
      beforeExpr: us,
      binop: 9,
      prefix: dp,
      startsExpr: Ve
    }),
    modulo: wt("%", {
      binop: 10,
      startsExpr: Ve
    }),
    star: wt("*", {
      binop: 10
    }),
    slash: kn("/", 10),
    exponent: wt("**", {
      beforeExpr: us,
      binop: 11,
      rightAssociative: !0
    }),
    _in: _s("in", {
      beforeExpr: us,
      binop: 7
    }),
    _instanceof: _s("instanceof", {
      beforeExpr: us,
      binop: 7
    }),
    _break: _s("break"),
    _case: _s("case", {
      beforeExpr: us
    }),
    _catch: _s("catch"),
    _continue: _s("continue"),
    _debugger: _s("debugger"),
    _default: _s("default", {
      beforeExpr: us
    }),
    _else: _s("else", {
      beforeExpr: us
    }),
    _finally: _s("finally"),
    _function: _s("function", {
      startsExpr: Ve
    }),
    _if: _s("if"),
    _return: _s("return", {
      beforeExpr: us
    }),
    _switch: _s("switch"),
    _throw: _s("throw", {
      beforeExpr: us,
      prefix: dp,
      startsExpr: Ve
    }),
    _try: _s("try"),
    _var: _s("var"),
    _const: _s("const"),
    _with: _s("with"),
    _new: _s("new", {
      beforeExpr: us,
      startsExpr: Ve
    }),
    _this: _s("this", {
      startsExpr: Ve
    }),
    _super: _s("super", {
      startsExpr: Ve
    }),
    _class: _s("class", {
      startsExpr: Ve
    }),
    _extends: _s("extends", {
      beforeExpr: us
    }),
    _export: _s("export"),
    _import: _s("import", {
      startsExpr: Ve
    }),
    _null: _s("null", {
      startsExpr: Ve
    }),
    _true: _s("true", {
      startsExpr: Ve
    }),
    _false: _s("false", {
      startsExpr: Ve
    }),
    _typeof: _s("typeof", {
      beforeExpr: us,
      prefix: dp,
      startsExpr: Ve
    }),
    _void: _s("void", {
      beforeExpr: us,
      prefix: dp,
      startsExpr: Ve
    }),
    _delete: _s("delete", {
      beforeExpr: us,
      prefix: dp,
      startsExpr: Ve
    }),
    _do: _s("do", {
      isLoop: sM,
      beforeExpr: us
    }),
    _for: _s("for", {
      isLoop: sM
    }),
    _while: _s("while", {
      isLoop: sM
    }),
    _as: ls("as", {
      startsExpr: Ve
    }),
    _assert: ls("assert", {
      startsExpr: Ve
    }),
    _async: ls("async", {
      startsExpr: Ve
    }),
    _await: ls("await", {
      startsExpr: Ve
    }),
    _defer: ls("defer", {
      startsExpr: Ve
    }),
    _from: ls("from", {
      startsExpr: Ve
    }),
    _get: ls("get", {
      startsExpr: Ve
    }),
    _let: ls("let", {
      startsExpr: Ve
    }),
    _meta: ls("meta", {
      startsExpr: Ve
    }),
    _of: ls("of", {
      startsExpr: Ve
    }),
    _sent: ls("sent", {
      startsExpr: Ve
    }),
    _set: ls("set", {
      startsExpr: Ve
    }),
    _source: ls("source", {
      startsExpr: Ve
    }),
    _static: ls("static", {
      startsExpr: Ve
    }),
    _using: ls("using", {
      startsExpr: Ve
    }),
    _yield: ls("yield", {
      startsExpr: Ve
    }),
    _asserts: ls("asserts", {
      startsExpr: Ve
    }),
    _checks: ls("checks", {
      startsExpr: Ve
    }),
    _exports: ls("exports", {
      startsExpr: Ve
    }),
    _global: ls("global", {
      startsExpr: Ve
    }),
    _implements: ls("implements", {
      startsExpr: Ve
    }),
    _intrinsic: ls("intrinsic", {
      startsExpr: Ve
    }),
    _infer: ls("infer", {
      startsExpr: Ve
    }),
    _is: ls("is", {
      startsExpr: Ve
    }),
    _mixins: ls("mixins", {
      startsExpr: Ve
    }),
    _proto: ls("proto", {
      startsExpr: Ve
    }),
    _require: ls("require", {
      startsExpr: Ve
    }),
    _satisfies: ls("satisfies", {
      startsExpr: Ve
    }),
    _keyof: ls("keyof", {
      startsExpr: Ve
    }),
    _readonly: ls("readonly", {
      startsExpr: Ve
    }),
    _unique: ls("unique", {
      startsExpr: Ve
    }),
    _abstract: ls("abstract", {
      startsExpr: Ve
    }),
    _declare: ls("declare", {
      startsExpr: Ve
    }),
    _enum: ls("enum", {
      startsExpr: Ve
    }),
    _module: ls("module", {
      startsExpr: Ve
    }),
    _namespace: ls("namespace", {
      startsExpr: Ve
    }),
    _interface: ls("interface", {
      startsExpr: Ve
    }),
    _type: ls("type", {
      startsExpr: Ve
    }),
    _opaque: ls("opaque", {
      startsExpr: Ve
    }),
    name: wt("name", {
      startsExpr: Ve
    }),
    placeholder: wt("%%", {
      startsExpr: !0
    }),
    string: wt("string", {
      startsExpr: Ve
    }),
    num: wt("num", {
      startsExpr: Ve
    }),
    bigint: wt("bigint", {
      startsExpr: Ve
    }),
    decimal: wt("decimal", {
      startsExpr: Ve
    }),
    regexp: wt("regexp", {
      startsExpr: Ve
    }),
    privateName: wt("#name", {
      startsExpr: Ve
    }),
    eof: wt("eof"),
    jsxName: wt("jsxName"),
    jsxText: wt("jsxText", {
      beforeExpr: !0
    }),
    jsxTagStart: wt("jsxTagStart", {
      startsExpr: !0
    }),
    jsxTagEnd: wt("jsxTagEnd")
  };
  function er(t) {
    return t >= 93 && t <= 133;
  }
  n(er, "tokenIsIdentifier");
  function s1t(t) {
    return t <= 92;
  }
  n(s1t, "tokenKeywordOrIdentifierIsKeyword");
  function Do(t) {
    return t >= 58 && t <= 133;
  }
  n(Do, "tokenIsKeywordOrIdentifier");
  function Ore(t) {
    return t >= 58 && t <= 137;
  }
  n(Ore, "tokenIsLiteralPropertyName");
  function r1t(t) {
    return kM[t];
  }
  n(r1t, "tokenComesBeforeExpression");
  function oM(t) {
    return DM[t];
  }
  n(oM, "tokenCanStartExpression");
  function i1t(t) {
    return t >= 29 && t <= 33;
  }
  n(i1t, "tokenIsAssignment");
  function Sre(t) {
    return t >= 129 && t <= 131;
  }
  n(Sre, "tokenIsFlowInterfaceOrTypeOrOpaque");
  function n1t(t) {
    return t >= 90 && t <= 92;
  }
  n(n1t, "tokenIsLoop");
  function _M(t) {
    return t >= 58 && t <= 92;
  }
  n(_M, "tokenIsKeyword");
  function a1t(t) {
    return t >= 39 && t <= 59;
  }
  n(a1t, "tokenIsOperator");
  function o1t(t) {
    return t === 34;
  }
  n(o1t, "tokenIsPostfix");
  function l1t(t) {
    return OM[t];
  }
  n(l1t, "tokenIsPrefix");
  function u1t(t) {
    return t >= 121 && t <= 123;
  }
  n(u1t, "tokenIsTSTypeOperator");
  function c1t(t) {
    return t >= 124 && t <= 130;
  }
  n(c1t, "tokenIsTSDeclarationStart");
  function yp(t) {
    return IM[t];
  }
  n(yp, "tokenLabelName");
  function GE(t) {
    return NM[t];
  }
  n(GE, "tokenOperatorPrecedence");
  function p1t(t) {
    return t === 57;
  }
  n(p1t, "tokenIsRightAssociative");
  function eA(t) {
    return t >= 24 && t <= 25;
  }
  n(eA, "tokenIsTemplate");
  function Du(t) {
    return Ou[t];
  }
  n(Du, "getExportedToken");
  Ou[8].updateContext = (t) => {
    t.pop();
  }, Ou[5].updateContext = Ou[7].updateContext = Ou[23].updateContext = (t) => {
    t.push(Zs.brace);
  }, Ou[22].updateContext = (t) => {
    t[t.length - 1] === Zs.template ? t.pop() : t.push(Zs.template);
  }, Ou[143].updateContext = (t) => {
    t.push(Zs.j_expr, Zs.j_oTag);
  };
  var LM = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993\
-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\
\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\
\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\
\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\
\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01\
-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",
  _re = "\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE\
-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\
\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\
\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\
\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65", h1t = new RegExp("[" + LM + "]"), f1t = new RegExp("[" + LM + _re + "]");
  LM = _re = null;
  var Lre = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43,
  157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70,
  5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36,
  7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43,
  17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1,
  64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2,
  0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3,
  7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50,
  29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16,
  1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67,
  12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991,
  84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30,
  2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3,
  0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2,
  2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153,
  7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191], d1t = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5,
  0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13,
  2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4,
  68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58,
  14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54,
  7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350,
  0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543,
  4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6,
  10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
  function lM(t, e) {
    let s = 65536;
    for (let r = 0, i = e.length; r < i; r += 2) {
      if (s += e[r], s > t) return !1;
      if (s += e[r + 1], s >= t) return !0;
    }
    return !1;
  }
  n(lM, "isInAstralSet");
  function _u(t) {
    return t < 65 ? t === 36 : t <= 90 ? !0 : t < 97 ? t === 95 : t <= 122 ? !0 : t <= 65535 ? t >= 170 && h1t.test(String.fromCharCode(t)) :
    lM(t, Lre);
  }
  n(_u, "isIdentifierStart");
  function bm(t) {
    return t < 48 ? t === 36 : t < 58 ? !0 : t < 65 ? !1 : t <= 90 ? !0 : t < 97 ? t === 95 : t <= 122 ? !0 : t <= 65535 ? t >= 170 && f1t.test(
    String.fromCharCode(t)) : lM(t, Lre) || lM(t, d1t);
  }
  n(bm, "isIdentifierChar");
  var BM = {
    keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "swit\
ch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false",
    "in", "instanceof", "typeof", "void", "delete"],
    strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
    strictBind: ["eval", "arguments"]
  }, m1t = new Set(BM.keyword), y1t = new Set(BM.strict), g1t = new Set(BM.strictBind);
  function Bre(t, e) {
    return e && t === "await" || t === "enum";
  }
  n(Bre, "isReservedWord");
  function Mre(t, e) {
    return Bre(t, e) || y1t.has(t);
  }
  n(Mre, "isStrictReservedWord");
  function Fre(t) {
    return g1t.has(t);
  }
  n(Fre, "isStrictBindOnlyReservedWord");
  function jre(t, e) {
    return Mre(t, e) || Fre(t);
  }
  n(jre, "isStrictBindReservedWord");
  function T1t(t) {
    return m1t.has(t);
  }
  n(T1t, "isKeyword");
  function b1t(t, e, s) {
    return t === 64 && e === 64 && _u(s);
  }
  n(b1t, "isIteratorStart");
  var x1t = /* @__PURE__ */ new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function",
  "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import",
  "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protecte\
d", "public", "static", "yield", "eval", "arguments", "enum", "await"]);
  function S1t(t) {
    return x1t.has(t);
  }
  n(S1t, "canBeReservedWord");
  var B0 = class {
    static {
      n(this, "Scope");
    }
    constructor(e) {
      this.flags = 0, this.names = /* @__PURE__ */ new Map(), this.firstLexicalName = "", this.flags = e;
    }
  }, M0 = class {
    static {
      n(this, "ScopeHandler");
    }
    constructor(e, s) {
      this.parser = void 0, this.scopeStack = [], this.inModule = void 0, this.undefinedExports = /* @__PURE__ */ new Map(), this.parser = e,
      this.inModule = s;
    }
    get inTopLevel() {
      return (this.currentScope().flags & 1) > 0;
    }
    get inFunction() {
      return (this.currentVarScopeFlags() & 2) > 0;
    }
    get allowSuper() {
      return (this.currentThisScopeFlags() & 16) > 0;
    }
    get allowDirectSuper() {
      return (this.currentThisScopeFlags() & 32) > 0;
    }
    get inClass() {
      return (this.currentThisScopeFlags() & 64) > 0;
    }
    get inClassAndNotInNonArrowFunction() {
      let e = this.currentThisScopeFlags();
      return (e & 64) > 0 && (e & 2) === 0;
    }
    get inStaticBlock() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 128)
          return !0;
        if (s & 451)
          return !1;
      }
    }
    get inNonArrowFunction() {
      return (this.currentThisScopeFlags() & 2) > 0;
    }
    get treatFunctionsAsVar() {
      return this.treatFunctionsAsVarInScope(this.currentScope());
    }
    createScope(e) {
      return new B0(e);
    }
    enter(e) {
      this.scopeStack.push(this.createScope(e));
    }
    exit() {
      return this.scopeStack.pop().flags;
    }
    treatFunctionsAsVarInScope(e) {
      return !!(e.flags & 130 || !this.parser.inModule && e.flags & 1);
    }
    declareName(e, s, r) {
      let i = this.currentScope();
      if (s & 8 || s & 16) {
        this.checkRedeclarationInScope(i, e, s, r);
        let a = i.names.get(e) || 0;
        s & 16 ? a = a | 4 : (i.firstLexicalName || (i.firstLexicalName = e), a = a | 2), i.names.set(e, a), s & 8 && this.maybeExportDefined(
        i, e);
      } else if (s & 4)
        for (let a = this.scopeStack.length - 1; a >= 0 && (i = this.scopeStack[a], this.checkRedeclarationInScope(i, e, s, r), i.names.set(
        e, (i.names.get(e) || 0) | 1), this.maybeExportDefined(i, e), !(i.flags & 387)); --a)
          ;
      this.parser.inModule && i.flags & 1 && this.undefinedExports.delete(e);
    }
    maybeExportDefined(e, s) {
      this.parser.inModule && e.flags & 1 && this.undefinedExports.delete(s);
    }
    checkRedeclarationInScope(e, s, r, i) {
      this.isRedeclaredInScope(e, s, r) && this.parser.raise(ee.VarRedeclaration, i, {
        identifierName: s
      });
    }
    isRedeclaredInScope(e, s, r) {
      if (!(r & 1)) return !1;
      if (r & 8)
        return e.names.has(s);
      let i = e.names.get(s);
      return r & 16 ? (i & 2) > 0 || !this.treatFunctionsAsVarInScope(e) && (i & 1) > 0 : (i & 2) > 0 && !(e.flags & 8 && e.firstLexicalName ===
      s) || !this.treatFunctionsAsVarInScope(e) && (i & 4) > 0;
    }
    checkLocalExport(e) {
      let {
        name: s
      } = e;
      this.scopeStack[0].names.has(s) || this.undefinedExports.set(s, e.loc.start);
    }
    currentScope() {
      return this.scopeStack[this.scopeStack.length - 1];
    }
    currentVarScopeFlags() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 387)
          return s;
      }
    }
    currentThisScopeFlags() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 451 && !(s & 4))
          return s;
      }
    }
  }, uM = class extends B0 {
    static {
      n(this, "FlowScope");
    }
    constructor(...e) {
      super(...e), this.declareFunctions = /* @__PURE__ */ new Set();
    }
  }, cM = class extends M0 {
    static {
      n(this, "FlowScopeHandler");
    }
    createScope(e) {
      return new uM(e);
    }
    declareName(e, s, r) {
      let i = this.currentScope();
      if (s & 2048) {
        this.checkRedeclarationInScope(i, e, s, r), this.maybeExportDefined(i, e), i.declareFunctions.add(e);
        return;
      }
      super.declareName(e, s, r);
    }
    isRedeclaredInScope(e, s, r) {
      if (super.isRedeclaredInScope(e, s, r)) return !0;
      if (r & 2048 && !e.declareFunctions.has(s)) {
        let i = e.names.get(s);
        return (i & 4) > 0 || (i & 2) > 0;
      }
      return !1;
    }
    checkLocalExport(e) {
      this.scopeStack[0].declareFunctions.has(e.name) || super.checkLocalExport(e);
    }
  }, pM = class {
    static {
      n(this, "BaseParser");
    }
    constructor() {
      this.sawUnambiguousESM = !1, this.ambiguousScriptDifferentAst = !1;
    }
    sourceToOffsetPos(e) {
      return e + this.startIndex;
    }
    offsetToSourcePos(e) {
      return e - this.startIndex;
    }
    hasPlugin(e) {
      if (typeof e == "string")
        return this.plugins.has(e);
      {
        let [s, r] = e;
        if (!this.hasPlugin(s))
          return !1;
        let i = this.plugins.get(s);
        for (let a of Object.keys(r))
          if (i?.[a] !== r[a])
            return !1;
        return !0;
      }
    }
    getPluginOption(e, s) {
      var r;
      return (r = this.plugins.get(e)) == null ? void 0 : r[s];
    }
  };
  function Rre(t, e) {
    t.trailingComments === void 0 ? t.trailingComments = e : t.trailingComments.unshift(...e);
  }
  n(Rre, "setTrailingComments");
  function P1t(t, e) {
    t.leadingComments === void 0 ? t.leadingComments = e : t.leadingComments.unshift(...e);
  }
  n(P1t, "setLeadingComments");
  function F0(t, e) {
    t.innerComments === void 0 ? t.innerComments = e : t.innerComments.unshift(...e);
  }
  n(F0, "setInnerComments");
  function tf(t, e, s) {
    let r = null, i = e.length;
    for (; r === null && i > 0; )
      r = e[--i];
    r === null || r.start > s.start ? F0(t, s.comments) : Rre(r, s.comments);
  }
  n(tf, "adjustInnerComments");
  var hM = class extends pM {
    static {
      n(this, "CommentsParser");
    }
    addComment(e) {
      this.filename && (e.loc.filename = this.filename);
      let {
        commentsLen: s
      } = this.state;
      this.comments.length !== s && (this.comments.length = s), this.comments.push(e), this.state.commentsLen++;
    }
    processComment(e) {
      let {
        commentStack: s
      } = this.state, r = s.length;
      if (r === 0) return;
      let i = r - 1, a = s[i];
      a.start === e.end && (a.leadingNode = e, i--);
      let {
        start: o
      } = e;
      for (; i >= 0; i--) {
        let l = s[i], u = l.end;
        if (u > o)
          l.containingNode = e, this.finalizeComment(l), s.splice(i, 1);
        else {
          u === o && (l.trailingNode = e);
          break;
        }
      }
    }
    finalizeComment(e) {
      let {
        comments: s
      } = e;
      if (e.leadingNode !== null || e.trailingNode !== null)
        e.leadingNode !== null && Rre(e.leadingNode, s), e.trailingNode !== null && P1t(e.trailingNode, s);
      else {
        let {
          containingNode: r,
          start: i
        } = e;
        if (this.input.charCodeAt(this.offsetToSourcePos(i) - 1) === 44)
          switch (r.type) {
            case "ObjectExpression":
            case "ObjectPattern":
            case "RecordExpression":
              tf(r, r.properties, e);
              break;
            case "CallExpression":
            case "OptionalCallExpression":
              tf(r, r.arguments, e);
              break;
            case "FunctionDeclaration":
            case "FunctionExpression":
            case "ArrowFunctionExpression":
            case "ObjectMethod":
            case "ClassMethod":
            case "ClassPrivateMethod":
              tf(r, r.params, e);
              break;
            case "ArrayExpression":
            case "ArrayPattern":
            case "TupleExpression":
              tf(r, r.elements, e);
              break;
            case "ExportNamedDeclaration":
            case "ImportDeclaration":
              tf(r, r.specifiers, e);
              break;
            case "TSEnumDeclaration":
              tf(r, r.members, e);
              break;
            case "TSEnumBody":
              tf(r, r.members, e);
              break;
            default:
              F0(r, s);
          }
        else
          F0(r, s);
      }
    }
    finalizeRemainingComments() {
      let {
        commentStack: e
      } = this.state;
      for (let s = e.length - 1; s >= 0; s--)
        this.finalizeComment(e[s]);
      this.state.commentStack = [];
    }
    resetPreviousNodeTrailingComments(e) {
      let {
        commentStack: s
      } = this.state, {
        length: r
      } = s;
      if (r === 0) return;
      let i = s[r - 1];
      i.leadingNode === e && (i.leadingNode = null);
    }
    resetPreviousIdentifierLeadingComments(e) {
      let {
        commentStack: s
      } = this.state, {
        length: r
      } = s;
      r !== 0 && (s[r - 1].trailingNode === e ? s[r - 1].trailingNode = null : r >= 2 && s[r - 2].trailingNode === e && (s[r - 2].trailingNode =
      null));
    }
    takeSurroundingComments(e, s, r) {
      let {
        commentStack: i
      } = this.state, a = i.length;
      if (a === 0) return;
      let o = a - 1;
      for (; o >= 0; o--) {
        let l = i[o], u = l.end;
        if (l.start === r)
          l.leadingNode = e;
        else if (u === s)
          l.trailingNode = e;
        else if (u < s)
          break;
      }
    }
  }, E1t = /\r\n|[\r\n\u2028\u2029]/, YE = new RegExp(E1t.source, "g");
  function xm(t) {
    switch (t) {
      case 10:
      case 13:
      case 8232:
      case 8233:
        return !0;
      default:
        return !1;
    }
  }
  n(xm, "isNewLine");
  function Pre(t, e, s) {
    for (let r = e; r < s; r++)
      if (xm(t.charCodeAt(r)))
        return !0;
    return !1;
  }
  n(Pre, "hasNewLine");
  var rM = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g, iM = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g;
  function A1t(t) {
    switch (t) {
      case 9:
      case 11:
      case 12:
      case 32:
      case 160:
      case 5760:
      case 8192:
      case 8193:
      case 8194:
      case 8195:
      case 8196:
      case 8197:
      case 8198:
      case 8199:
      case 8200:
      case 8201:
      case 8202:
      case 8239:
      case 8287:
      case 12288:
      case 65279:
        return !0;
      default:
        return !1;
    }
  }
  n(A1t, "isWhitespace");
  var fM = class t {
    static {
      n(this, "State");
    }
    constructor() {
      this.flags = 1024, this.startIndex = void 0, this.curLine = void 0, this.lineStart = void 0, this.startLoc = void 0, this.endLoc = void 0,
      this.errors = [], this.potentialArrowAt = -1, this.noArrowAt = [], this.noArrowParamsConversionAt = [], this.topicContext = {
        maxNumOfResolvableTopics: 0,
        maxTopicIndex: null
      }, this.labels = [], this.commentsLen = 0, this.commentStack = [], this.pos = 0, this.type = 140, this.value = null, this.start = 0, this.
      end = 0, this.lastTokEndLoc = null, this.lastTokStartLoc = null, this.context = [Zs.brace], this.firstInvalidTemplateEscapePos = null,
      this.strictErrors = /* @__PURE__ */ new Map(), this.tokensLength = 0;
    }
    get strict() {
      return (this.flags & 1) > 0;
    }
    set strict(e) {
      e ? this.flags |= 1 : this.flags &= -2;
    }
    init({
      strictMode: e,
      sourceType: s,
      startIndex: r,
      startLine: i,
      startColumn: a
    }) {
      this.strict = e === !1 ? !1 : e === !0 ? !0 : s === "module", this.startIndex = r, this.curLine = i, this.lineStart = -a, this.startLoc =
      this.endLoc = new yl(i, a, r);
    }
    get maybeInArrowParameters() {
      return (this.flags & 2) > 0;
    }
    set maybeInArrowParameters(e) {
      e ? this.flags |= 2 : this.flags &= -3;
    }
    get inType() {
      return (this.flags & 4) > 0;
    }
    set inType(e) {
      e ? this.flags |= 4 : this.flags &= -5;
    }
    get noAnonFunctionType() {
      return (this.flags & 8) > 0;
    }
    set noAnonFunctionType(e) {
      e ? this.flags |= 8 : this.flags &= -9;
    }
    get hasFlowComment() {
      return (this.flags & 16) > 0;
    }
    set hasFlowComment(e) {
      e ? this.flags |= 16 : this.flags &= -17;
    }
    get isAmbientContext() {
      return (this.flags & 32) > 0;
    }
    set isAmbientContext(e) {
      e ? this.flags |= 32 : this.flags &= -33;
    }
    get inAbstractClass() {
      return (this.flags & 64) > 0;
    }
    set inAbstractClass(e) {
      e ? this.flags |= 64 : this.flags &= -65;
    }
    get inDisallowConditionalTypesContext() {
      return (this.flags & 128) > 0;
    }
    set inDisallowConditionalTypesContext(e) {
      e ? this.flags |= 128 : this.flags &= -129;
    }
    get soloAwait() {
      return (this.flags & 256) > 0;
    }
    set soloAwait(e) {
      e ? this.flags |= 256 : this.flags &= -257;
    }
    get inFSharpPipelineDirectBody() {
      return (this.flags & 512) > 0;
    }
    set inFSharpPipelineDirectBody(e) {
      e ? this.flags |= 512 : this.flags &= -513;
    }
    get canStartJSXElement() {
      return (this.flags & 1024) > 0;
    }
    set canStartJSXElement(e) {
      e ? this.flags |= 1024 : this.flags &= -1025;
    }
    get containsEsc() {
      return (this.flags & 2048) > 0;
    }
    set containsEsc(e) {
      e ? this.flags |= 2048 : this.flags &= -2049;
    }
    get hasTopLevelAwait() {
      return (this.flags & 4096) > 0;
    }
    set hasTopLevelAwait(e) {
      e ? this.flags |= 4096 : this.flags &= -4097;
    }
    curPosition() {
      return new yl(this.curLine, this.pos - this.lineStart, this.pos + this.startIndex);
    }
    clone() {
      let e = new t();
      return e.flags = this.flags, e.startIndex = this.startIndex, e.curLine = this.curLine, e.lineStart = this.lineStart, e.startLoc = this.
      startLoc, e.endLoc = this.endLoc, e.errors = this.errors.slice(), e.potentialArrowAt = this.potentialArrowAt, e.noArrowAt = this.noArrowAt.
      slice(), e.noArrowParamsConversionAt = this.noArrowParamsConversionAt.slice(), e.topicContext = this.topicContext, e.labels = this.labels.
      slice(), e.commentsLen = this.commentsLen, e.commentStack = this.commentStack.slice(), e.pos = this.pos, e.type = this.type, e.value =
      this.value, e.start = this.start, e.end = this.end, e.lastTokEndLoc = this.lastTokEndLoc, e.lastTokStartLoc = this.lastTokStartLoc, e.
      context = this.context.slice(), e.firstInvalidTemplateEscapePos = this.firstInvalidTemplateEscapePos, e.strictErrors = this.strictErrors,
      e.tokensLength = this.tokensLength, e;
    }
  }, v1t = /* @__PURE__ */ n(function(e) {
    return e >= 48 && e <= 57;
  }, "isDigit"), Ere = {
    decBinOct: /* @__PURE__ */ new Set([46, 66, 69, 79, 95, 98, 101, 111]),
    hex: /* @__PURE__ */ new Set([46, 88, 95, 120])
  }, XE = {
    bin: /* @__PURE__ */ n((t) => t === 48 || t === 49, "bin"),
    oct: /* @__PURE__ */ n((t) => t >= 48 && t <= 55, "oct"),
    dec: /* @__PURE__ */ n((t) => t >= 48 && t <= 57, "dec"),
    hex: /* @__PURE__ */ n((t) => t >= 48 && t <= 57 || t >= 65 && t <= 70 || t >= 97 && t <= 102, "hex")
  };
  function Are(t, e, s, r, i, a) {
    let o = s, l = r, u = i, c = "", p = null, h = s, {
      length: f
    } = e;
    for (; ; ) {
      if (s >= f) {
        a.unterminated(o, l, u), c += e.slice(h, s);
        break;
      }
      let d = e.charCodeAt(s);
      if (C1t(t, d, e, s)) {
        c += e.slice(h, s);
        break;
      }
      if (d === 92) {
        c += e.slice(h, s);
        let m = w1t(e, s, r, i, t === "template", a);
        m.ch === null && !p ? p = {
          pos: s,
          lineStart: r,
          curLine: i
        } : c += m.ch, {
          pos: s,
          lineStart: r,
          curLine: i
        } = m, h = s;
      } else d === 8232 || d === 8233 ? (++s, ++i, r = s) : d === 10 || d === 13 ? t === "template" ? (c += e.slice(h, s) + `
`, ++s, d === 13 && e.charCodeAt(s) === 10 && ++s, ++i, h = r = s) : a.unterminated(o, l, u) : ++s;
    }
    return {
      pos: s,
      str: c,
      firstInvalidLoc: p,
      lineStart: r,
      curLine: i,
      containsInvalid: !!p
    };
  }
  n(Are, "readStringContents");
  function C1t(t, e, s, r) {
    return t === "template" ? e === 96 || e === 36 && s.charCodeAt(r + 1) === 123 : e === (t === "double" ? 34 : 39);
  }
  n(C1t, "isStringEnd");
  function w1t(t, e, s, r, i, a) {
    let o = !i;
    e++;
    let l = /* @__PURE__ */ n((c) => ({
      pos: e,
      ch: c,
      lineStart: s,
      curLine: r
    }), "res"), u = t.charCodeAt(e++);
    switch (u) {
      case 110:
        return l(`
`);
      case 114:
        return l("\r");
      case 120: {
        let c;
        return {
          code: c,
          pos: e
        } = dM(t, e, s, r, 2, !1, o, a), l(c === null ? null : String.fromCharCode(c));
      }
      case 117: {
        let c;
        return {
          code: c,
          pos: e
        } = Ure(t, e, s, r, o, a), l(c === null ? null : String.fromCodePoint(c));
      }
      case 116:
        return l("	");
      case 98:
        return l("\b");
      case 118:
        return l("\v");
      case 102:
        return l("\f");
      case 13:
        t.charCodeAt(e) === 10 && ++e;
      case 10:
        s = e, ++r;
      case 8232:
      case 8233:
        return l("");
      case 56:
      case 57:
        if (i)
          return l(null);
        a.strictNumericEscape(e - 1, s, r);
      default:
        if (u >= 48 && u <= 55) {
          let c = e - 1, h = /^[0-7]+/.exec(t.slice(c, e + 2))[0], f = parseInt(h, 8);
          f > 255 && (h = h.slice(0, -1), f = parseInt(h, 8)), e += h.length - 1;
          let d = t.charCodeAt(e);
          if (h !== "0" || d === 56 || d === 57) {
            if (i)
              return l(null);
            a.strictNumericEscape(c, s, r);
          }
          return l(String.fromCharCode(f));
        }
        return l(String.fromCharCode(u));
    }
  }
  n(w1t, "readEscapedChar");
  function dM(t, e, s, r, i, a, o, l) {
    let u = e, c;
    return {
      n: c,
      pos: e
    } = qre(t, e, s, r, 16, i, a, !1, l, !o), c === null && (o ? l.invalidEscapeSequence(u, s, r) : e = u - 1), {
      code: c,
      pos: e
    };
  }
  n(dM, "readHexChar");
  function qre(t, e, s, r, i, a, o, l, u, c) {
    let p = e, h = i === 16 ? Ere.hex : Ere.decBinOct, f = i === 16 ? XE.hex : i === 10 ? XE.dec : i === 8 ? XE.oct : XE.bin, d = !1, m = 0;
    for (let y = 0, T = a ?? 1 / 0; y < T; ++y) {
      let b = t.charCodeAt(e), E;
      if (b === 95 && l !== "bail") {
        let V = t.charCodeAt(e - 1), W = t.charCodeAt(e + 1);
        if (l) {
          if (Number.isNaN(W) || !f(W) || h.has(V) || h.has(W)) {
            if (c) return {
              n: null,
              pos: e
            };
            u.unexpectedNumericSeparator(e, s, r);
          }
        } else {
          if (c) return {
            n: null,
            pos: e
          };
          u.numericSeparatorInEscapeSequence(e, s, r);
        }
        ++e;
        continue;
      }
      if (b >= 97 ? E = b - 97 + 10 : b >= 65 ? E = b - 65 + 10 : v1t(b) ? E = b - 48 : E = 1 / 0, E >= i) {
        if (E <= 9 && c)
          return {
            n: null,
            pos: e
          };
        if (E <= 9 && u.invalidDigit(e, s, r, i))
          E = 0;
        else if (o)
          E = 0, d = !0;
        else
          break;
      }
      ++e, m = m * i + E;
    }
    return e === p || a != null && e - p !== a || d ? {
      n: null,
      pos: e
    } : {
      n: m,
      pos: e
    };
  }
  n(qre, "readInt");
  function Ure(t, e, s, r, i, a) {
    let o = t.charCodeAt(e), l;
    if (o === 123) {
      if (++e, {
        code: l,
        pos: e
      } = dM(t, e, s, r, t.indexOf("}", e) - e, !0, i, a), ++e, l !== null && l > 1114111)
        if (i)
          a.invalidCodePoint(e, s, r);
        else
          return {
            code: null,
            pos: e
          };
    } else
      ({
        code: l,
        pos: e
      } = dM(t, e, s, r, 4, !1, i, a));
    return {
      code: l,
      pos: e
    };
  }
  n(Ure, "readCodePoint");
  function O0(t, e, s) {
    return new yl(s, t - e, t);
  }
  n(O0, "buildPosition");
  var I1t = /* @__PURE__ */ new Set([103, 109, 115, 105, 121, 117, 100, 118]), ml = class {
    static {
      n(this, "Token");
    }
    constructor(e) {
      let s = e.startIndex || 0;
      this.type = e.type, this.value = e.value, this.start = s + e.start, this.end = s + e.end, this.loc = new Pm(e.startLoc, e.endLoc);
    }
  }, mM = class extends hM {
    static {
      n(this, "Tokenizer");
    }
    constructor(e, s) {
      super(), this.isLookahead = void 0, this.tokens = [], this.errorHandlers_readInt = {
        invalidDigit: /* @__PURE__ */ n((r, i, a, o) => this.optionFlags & 1024 ? (this.raise(ee.InvalidDigit, O0(r, i, a), {
          radix: o
        }), !0) : !1, "invalidDigit"),
        numericSeparatorInEscapeSequence: this.errorBuilder(ee.NumericSeparatorInEscapeSequence),
        unexpectedNumericSeparator: this.errorBuilder(ee.UnexpectedNumericSeparator)
      }, this.errorHandlers_readCodePoint = Object.assign({}, this.errorHandlers_readInt, {
        invalidEscapeSequence: this.errorBuilder(ee.InvalidEscapeSequence),
        invalidCodePoint: this.errorBuilder(ee.InvalidCodePoint)
      }), this.errorHandlers_readStringContents_string = Object.assign({}, this.errorHandlers_readCodePoint, {
        strictNumericEscape: /* @__PURE__ */ n((r, i, a) => {
          this.recordStrictModeErrors(ee.StrictNumericEscape, O0(r, i, a));
        }, "strictNumericEscape"),
        unterminated: /* @__PURE__ */ n((r, i, a) => {
          throw this.raise(ee.UnterminatedString, O0(r - 1, i, a));
        }, "unterminated")
      }), this.errorHandlers_readStringContents_template = Object.assign({}, this.errorHandlers_readCodePoint, {
        strictNumericEscape: this.errorBuilder(ee.StrictNumericEscape),
        unterminated: /* @__PURE__ */ n((r, i, a) => {
          throw this.raise(ee.UnterminatedTemplate, O0(r, i, a));
        }, "unterminated")
      }), this.state = new fM(), this.state.init(e), this.input = s, this.length = s.length, this.comments = [], this.isLookahead = !1;
    }
    pushToken(e) {
      this.tokens.length = this.state.tokensLength, this.tokens.push(e), ++this.state.tokensLength;
    }
    next() {
      this.checkKeywordEscapes(), this.optionFlags & 128 && this.pushToken(new ml(this.state)), this.state.lastTokEndLoc = this.state.endLoc,
      this.state.lastTokStartLoc = this.state.startLoc, this.nextToken();
    }
    eat(e) {
      return this.match(e) ? (this.next(), !0) : !1;
    }
    match(e) {
      return this.state.type === e;
    }
    createLookaheadState(e) {
      return {
        pos: e.pos,
        value: null,
        type: e.type,
        start: e.start,
        end: e.end,
        context: [this.curContext()],
        inType: e.inType,
        startLoc: e.startLoc,
        lastTokEndLoc: e.lastTokEndLoc,
        curLine: e.curLine,
        lineStart: e.lineStart,
        curPosition: e.curPosition
      };
    }
    lookahead() {
      let e = this.state;
      this.state = this.createLookaheadState(e), this.isLookahead = !0, this.nextToken(), this.isLookahead = !1;
      let s = this.state;
      return this.state = e, s;
    }
    nextTokenStart() {
      return this.nextTokenStartSince(this.state.pos);
    }
    nextTokenStartSince(e) {
      return rM.lastIndex = e, rM.test(this.input) ? rM.lastIndex : e;
    }
    lookaheadCharCode() {
      return this.input.charCodeAt(this.nextTokenStart());
    }
    nextTokenInLineStart() {
      return this.nextTokenInLineStartSince(this.state.pos);
    }
    nextTokenInLineStartSince(e) {
      return iM.lastIndex = e, iM.test(this.input) ? iM.lastIndex : e;
    }
    lookaheadInLineCharCode() {
      return this.input.charCodeAt(this.nextTokenInLineStart());
    }
    codePointAtPos(e) {
      let s = this.input.charCodeAt(e);
      if ((s & 64512) === 55296 && ++e < this.input.length) {
        let r = this.input.charCodeAt(e);
        (r & 64512) === 56320 && (s = 65536 + ((s & 1023) << 10) + (r & 1023));
      }
      return s;
    }
    setStrict(e) {
      this.state.strict = e, e && (this.state.strictErrors.forEach(([s, r]) => this.raise(s, r)), this.state.strictErrors.clear());
    }
    curContext() {
      return this.state.context[this.state.context.length - 1];
    }
    nextToken() {
      if (this.skipSpace(), this.state.start = this.state.pos, this.isLookahead || (this.state.startLoc = this.state.curPosition()), this.state.
      pos >= this.length) {
        this.finishToken(140);
        return;
      }
      this.getTokenFromCode(this.codePointAtPos(this.state.pos));
    }
    skipBlockComment(e) {
      let s;
      this.isLookahead || (s = this.state.curPosition());
      let r = this.state.pos, i = this.input.indexOf(e, r + 2);
      if (i === -1)
        throw this.raise(ee.UnterminatedComment, this.state.curPosition());
      for (this.state.pos = i + e.length, YE.lastIndex = r + 2; YE.test(this.input) && YE.lastIndex <= i; )
        ++this.state.curLine, this.state.lineStart = YE.lastIndex;
      if (this.isLookahead) return;
      let a = {
        type: "CommentBlock",
        value: this.input.slice(r + 2, i),
        start: this.sourceToOffsetPos(r),
        end: this.sourceToOffsetPos(i + e.length),
        loc: new Pm(s, this.state.curPosition())
      };
      return this.optionFlags & 128 && this.pushToken(a), a;
    }
    skipLineComment(e) {
      let s = this.state.pos, r;
      this.isLookahead || (r = this.state.curPosition());
      let i = this.input.charCodeAt(this.state.pos += e);
      if (this.state.pos < this.length)
        for (; !xm(i) && ++this.state.pos < this.length; )
          i = this.input.charCodeAt(this.state.pos);
      if (this.isLookahead) return;
      let a = this.state.pos, l = {
        type: "CommentLine",
        value: this.input.slice(s + e, a),
        start: this.sourceToOffsetPos(s),
        end: this.sourceToOffsetPos(a),
        loc: new Pm(r, this.state.curPosition())
      };
      return this.optionFlags & 128 && this.pushToken(l), l;
    }
    skipSpace() {
      let e = this.state.pos, s = this.optionFlags & 2048 ? [] : null;
      e: for (; this.state.pos < this.length; ) {
        let r = this.input.charCodeAt(this.state.pos);
        switch (r) {
          case 32:
          case 160:
          case 9:
            ++this.state.pos;
            break;
          case 13:
            this.input.charCodeAt(this.state.pos + 1) === 10 && ++this.state.pos;
          case 10:
          case 8232:
          case 8233:
            ++this.state.pos, ++this.state.curLine, this.state.lineStart = this.state.pos;
            break;
          case 47:
            switch (this.input.charCodeAt(this.state.pos + 1)) {
              case 42: {
                let i = this.skipBlockComment("*/");
                i !== void 0 && (this.addComment(i), s?.push(i));
                break;
              }
              case 47: {
                let i = this.skipLineComment(2);
                i !== void 0 && (this.addComment(i), s?.push(i));
                break;
              }
              default:
                break e;
            }
            break;
          default:
            if (A1t(r))
              ++this.state.pos;
            else if (r === 45 && !this.inModule && this.optionFlags & 4096) {
              let i = this.state.pos;
              if (this.input.charCodeAt(i + 1) === 45 && this.input.charCodeAt(i + 2) === 62 && (e === 0 || this.state.lineStart > e)) {
                let a = this.skipLineComment(3);
                a !== void 0 && (this.addComment(a), s?.push(a));
              } else
                break e;
            } else if (r === 60 && !this.inModule && this.optionFlags & 4096) {
              let i = this.state.pos;
              if (this.input.charCodeAt(i + 1) === 33 && this.input.charCodeAt(i + 2) === 45 && this.input.charCodeAt(i + 3) === 45) {
                let a = this.skipLineComment(4);
                a !== void 0 && (this.addComment(a), s?.push(a));
              } else
                break e;
            } else
              break e;
        }
      }
      if (s?.length > 0) {
        let r = this.state.pos, i = {
          start: this.sourceToOffsetPos(e),
          end: this.sourceToOffsetPos(r),
          comments: s,
          leadingNode: null,
          trailingNode: null,
          containingNode: null
        };
        this.state.commentStack.push(i);
      }
    }
    finishToken(e, s) {
      this.state.end = this.state.pos, this.state.endLoc = this.state.curPosition();
      let r = this.state.type;
      this.state.type = e, this.state.value = s, this.isLookahead || this.updateContext(r);
    }
    replaceToken(e) {
      this.state.type = e, this.updateContext();
    }
    readToken_numberSign() {
      if (this.state.pos === 0 && this.readToken_interpreter())
        return;
      let e = this.state.pos + 1, s = this.codePointAtPos(e);
      if (s >= 48 && s <= 57)
        throw this.raise(ee.UnexpectedDigitAfterHash, this.state.curPosition());
      if (s === 123 || s === 91 && this.hasPlugin("recordAndTuple")) {
        if (this.expectPlugin("recordAndTuple"), this.getPluginOption("recordAndTuple", "syntaxType") === "bar")
          throw this.raise(s === 123 ? ee.RecordExpressionHashIncorrectStartSyntaxType : ee.TupleExpressionHashIncorrectStartSyntaxType, this.
          state.curPosition());
        this.state.pos += 2, s === 123 ? this.finishToken(7) : this.finishToken(1);
      } else _u(s) ? (++this.state.pos, this.finishToken(139, this.readWord1(s))) : s === 92 ? (++this.state.pos, this.finishToken(139, this.
      readWord1())) : this.finishOp(27, 1);
    }
    readToken_dot() {
      let e = this.input.charCodeAt(this.state.pos + 1);
      if (e >= 48 && e <= 57) {
        this.readNumber(!0);
        return;
      }
      e === 46 && this.input.charCodeAt(this.state.pos + 2) === 46 ? (this.state.pos += 3, this.finishToken(21)) : (++this.state.pos, this.finishToken(
      16));
    }
    readToken_slash() {
      this.input.charCodeAt(this.state.pos + 1) === 61 ? this.finishOp(31, 2) : this.finishOp(56, 1);
    }
    readToken_interpreter() {
      if (this.state.pos !== 0 || this.length < 2) return !1;
      let e = this.input.charCodeAt(this.state.pos + 1);
      if (e !== 33) return !1;
      let s = this.state.pos;
      for (this.state.pos += 1; !xm(e) && ++this.state.pos < this.length; )
        e = this.input.charCodeAt(this.state.pos);
      let r = this.input.slice(s + 2, this.state.pos);
      return this.finishToken(28, r), !0;
    }
    readToken_mult_modulo(e) {
      let s = e === 42 ? 55 : 54, r = 1, i = this.input.charCodeAt(this.state.pos + 1);
      e === 42 && i === 42 && (r++, i = this.input.charCodeAt(this.state.pos + 2), s = 57), i === 61 && !this.state.inType && (r++, s = e ===
      37 ? 33 : 30), this.finishOp(s, r);
    }
    readToken_pipe_amp(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === e) {
        this.input.charCodeAt(this.state.pos + 2) === 61 ? this.finishOp(30, 3) : this.finishOp(e === 124 ? 41 : 42, 2);
        return;
      }
      if (e === 124) {
        if (s === 62) {
          this.finishOp(39, 2);
          return;
        }
        if (this.hasPlugin("recordAndTuple") && s === 125) {
          if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
            throw this.raise(ee.RecordExpressionBarIncorrectEndSyntaxType, this.state.curPosition());
          this.state.pos += 2, this.finishToken(9);
          return;
        }
        if (this.hasPlugin("recordAndTuple") && s === 93) {
          if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
            throw this.raise(ee.TupleExpressionBarIncorrectEndSyntaxType, this.state.curPosition());
          this.state.pos += 2, this.finishToken(4);
          return;
        }
      }
      if (s === 61) {
        this.finishOp(30, 2);
        return;
      }
      this.finishOp(e === 124 ? 43 : 45, 1);
    }
    readToken_caret() {
      let e = this.input.charCodeAt(this.state.pos + 1);
      e === 61 && !this.state.inType ? this.finishOp(32, 2) : e === 94 && this.hasPlugin(["pipelineOperator", {
        proposal: "hack",
        topicToken: "^^"
      }]) ? (this.finishOp(37, 2), this.input.codePointAt(this.state.pos) === 94 && this.unexpected()) : this.finishOp(44, 1);
    }
    readToken_atSign() {
      this.input.charCodeAt(this.state.pos + 1) === 64 && this.hasPlugin(["pipelineOperator", {
        proposal: "hack",
        topicToken: "@@"
      }]) ? this.finishOp(38, 2) : this.finishOp(26, 1);
    }
    readToken_plus_min(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === e) {
        this.finishOp(34, 2);
        return;
      }
      s === 61 ? this.finishOp(30, 2) : this.finishOp(53, 1);
    }
    readToken_lt() {
      let {
        pos: e
      } = this.state, s = this.input.charCodeAt(e + 1);
      if (s === 60) {
        if (this.input.charCodeAt(e + 2) === 61) {
          this.finishOp(30, 3);
          return;
        }
        this.finishOp(51, 2);
        return;
      }
      if (s === 61) {
        this.finishOp(49, 2);
        return;
      }
      this.finishOp(47, 1);
    }
    readToken_gt() {
      let {
        pos: e
      } = this.state, s = this.input.charCodeAt(e + 1);
      if (s === 62) {
        let r = this.input.charCodeAt(e + 2) === 62 ? 3 : 2;
        if (this.input.charCodeAt(e + r) === 61) {
          this.finishOp(30, r + 1);
          return;
        }
        this.finishOp(52, r);
        return;
      }
      if (s === 61) {
        this.finishOp(49, 2);
        return;
      }
      this.finishOp(48, 1);
    }
    readToken_eq_excl(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === 61) {
        this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2);
        return;
      }
      if (e === 61 && s === 62) {
        this.state.pos += 2, this.finishToken(19);
        return;
      }
      this.finishOp(e === 61 ? 29 : 35, 1);
    }
    readToken_question() {
      let e = this.input.charCodeAt(this.state.pos + 1), s = this.input.charCodeAt(this.state.pos + 2);
      e === 63 ? s === 61 ? this.finishOp(30, 3) : this.finishOp(40, 2) : e === 46 && !(s >= 48 && s <= 57) ? (this.state.pos += 2, this.finishToken(
      18)) : (++this.state.pos, this.finishToken(17));
    }
    getTokenFromCode(e) {
      switch (e) {
        case 46:
          this.readToken_dot();
          return;
        case 40:
          ++this.state.pos, this.finishToken(10);
          return;
        case 41:
          ++this.state.pos, this.finishToken(11);
          return;
        case 59:
          ++this.state.pos, this.finishToken(13);
          return;
        case 44:
          ++this.state.pos, this.finishToken(12);
          return;
        case 91:
          if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
            if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
              throw this.raise(ee.TupleExpressionBarIncorrectStartSyntaxType, this.state.curPosition());
            this.state.pos += 2, this.finishToken(2);
          } else
            ++this.state.pos, this.finishToken(0);
          return;
        case 93:
          ++this.state.pos, this.finishToken(3);
          return;
        case 123:
          if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
            if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
              throw this.raise(ee.RecordExpressionBarIncorrectStartSyntaxType, this.state.curPosition());
            this.state.pos += 2, this.finishToken(6);
          } else
            ++this.state.pos, this.finishToken(5);
          return;
        case 125:
          ++this.state.pos, this.finishToken(8);
          return;
        case 58:
          this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58 ? this.finishOp(15, 2) : (++this.state.pos, this.
          finishToken(14));
          return;
        case 63:
          this.readToken_question();
          return;
        case 96:
          this.readTemplateToken();
          return;
        case 48: {
          let s = this.input.charCodeAt(this.state.pos + 1);
          if (s === 120 || s === 88) {
            this.readRadixNumber(16);
            return;
          }
          if (s === 111 || s === 79) {
            this.readRadixNumber(8);
            return;
          }
          if (s === 98 || s === 66) {
            this.readRadixNumber(2);
            return;
          }
        }
        case 49:
        case 50:
        case 51:
        case 52:
        case 53:
        case 54:
        case 55:
        case 56:
        case 57:
          this.readNumber(!1);
          return;
        case 34:
        case 39:
          this.readString(e);
          return;
        case 47:
          this.readToken_slash();
          return;
        case 37:
        case 42:
          this.readToken_mult_modulo(e);
          return;
        case 124:
        case 38:
          this.readToken_pipe_amp(e);
          return;
        case 94:
          this.readToken_caret();
          return;
        case 43:
        case 45:
          this.readToken_plus_min(e);
          return;
        case 60:
          this.readToken_lt();
          return;
        case 62:
          this.readToken_gt();
          return;
        case 61:
        case 33:
          this.readToken_eq_excl(e);
          return;
        case 126:
          this.finishOp(36, 1);
          return;
        case 64:
          this.readToken_atSign();
          return;
        case 35:
          this.readToken_numberSign();
          return;
        case 92:
          this.readWord();
          return;
        default:
          if (_u(e)) {
            this.readWord(e);
            return;
          }
      }
      throw this.raise(ee.InvalidOrUnexpectedToken, this.state.curPosition(), {
        unexpected: String.fromCodePoint(e)
      });
    }
    finishOp(e, s) {
      let r = this.input.slice(this.state.pos, this.state.pos + s);
      this.state.pos += s, this.finishToken(e, r);
    }
    readRegexp() {
      let e = this.state.startLoc, s = this.state.start + 1, r, i, {
        pos: a
      } = this.state;
      for (; ; ++a) {
        if (a >= this.length)
          throw this.raise(ee.UnterminatedRegExp, Dn(e, 1));
        let c = this.input.charCodeAt(a);
        if (xm(c))
          throw this.raise(ee.UnterminatedRegExp, Dn(e, 1));
        if (r)
          r = !1;
        else {
          if (c === 91)
            i = !0;
          else if (c === 93 && i)
            i = !1;
          else if (c === 47 && !i)
            break;
          r = c === 92;
        }
      }
      let o = this.input.slice(s, a);
      ++a;
      let l = "", u = /* @__PURE__ */ n(() => Dn(e, a + 2 - s), "nextPos");
      for (; a < this.length; ) {
        let c = this.codePointAtPos(a), p = String.fromCharCode(c);
        if (I1t.has(c))
          c === 118 ? l.includes("u") && this.raise(ee.IncompatibleRegExpUVFlags, u()) : c === 117 && l.includes("v") && this.raise(ee.IncompatibleRegExpUVFlags,
          u()), l.includes(p) && this.raise(ee.DuplicateRegExpFlags, u());
        else if (bm(c) || c === 92)
          this.raise(ee.MalformedRegExpFlags, u());
        else
          break;
        ++a, l += p;
      }
      this.state.pos = a, this.finishToken(138, {
        pattern: o,
        flags: l
      });
    }
    readInt(e, s, r = !1, i = !0) {
      let {
        n: a,
        pos: o
      } = qre(this.input, this.state.pos, this.state.lineStart, this.state.curLine, e, s, r, i, this.errorHandlers_readInt, !1);
      return this.state.pos = o, a;
    }
    readRadixNumber(e) {
      let s = this.state.pos, r = this.state.curPosition(), i = !1;
      this.state.pos += 2;
      let a = this.readInt(e);
      a == null && this.raise(ee.InvalidDigit, Dn(r, 2), {
        radix: e
      });
      let o = this.input.charCodeAt(this.state.pos);
      if (o === 110)
        ++this.state.pos, i = !0;
      else if (o === 109)
        throw this.raise(ee.InvalidDecimal, r);
      if (_u(this.codePointAtPos(this.state.pos)))
        throw this.raise(ee.NumberIdentifier, this.state.curPosition());
      if (i) {
        let l = this.input.slice(s, this.state.pos).replace(/[_n]/g, "");
        this.finishToken(136, l);
        return;
      }
      this.finishToken(135, a);
    }
    readNumber(e) {
      let s = this.state.pos, r = this.state.curPosition(), i = !1, a = !1, o = !1, l = !1;
      !e && this.readInt(10) === null && this.raise(ee.InvalidNumber, this.state.curPosition());
      let u = this.state.pos - s >= 2 && this.input.charCodeAt(s) === 48;
      if (u) {
        let d = this.input.slice(s, this.state.pos);
        if (this.recordStrictModeErrors(ee.StrictOctalLiteral, r), !this.state.strict) {
          let m = d.indexOf("_");
          m > 0 && this.raise(ee.ZeroDigitNumericSeparator, Dn(r, m));
        }
        l = u && !/[89]/.test(d);
      }
      let c = this.input.charCodeAt(this.state.pos);
      if (c === 46 && !l && (++this.state.pos, this.readInt(10), i = !0, c = this.input.charCodeAt(this.state.pos)), (c === 69 || c === 101) &&
      !l && (c = this.input.charCodeAt(++this.state.pos), (c === 43 || c === 45) && ++this.state.pos, this.readInt(10) === null && this.raise(
      ee.InvalidOrMissingExponent, r), i = !0, o = !0, c = this.input.charCodeAt(this.state.pos)), c === 110 && ((i || u) && this.raise(ee.InvalidBigIntLiteral,
      r), ++this.state.pos, a = !0), c === 109) {
        this.expectPlugin("decimal", this.state.curPosition()), (o || u) && this.raise(ee.InvalidDecimal, r), ++this.state.pos;
        var p = !0;
      }
      if (_u(this.codePointAtPos(this.state.pos)))
        throw this.raise(ee.NumberIdentifier, this.state.curPosition());
      let h = this.input.slice(s, this.state.pos).replace(/[_mn]/g, "");
      if (a) {
        this.finishToken(136, h);
        return;
      }
      if (p) {
        this.finishToken(137, h);
        return;
      }
      let f = l ? parseInt(h, 8) : parseFloat(h);
      this.finishToken(135, f);
    }
    readCodePoint(e) {
      let {
        code: s,
        pos: r
      } = Ure(this.input, this.state.pos, this.state.lineStart, this.state.curLine, e, this.errorHandlers_readCodePoint);
      return this.state.pos = r, s;
    }
    readString(e) {
      let {
        str: s,
        pos: r,
        curLine: i,
        lineStart: a
      } = Are(e === 34 ? "double" : "single", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_string);
      this.state.pos = r + 1, this.state.lineStart = a, this.state.curLine = i, this.finishToken(134, s);
    }
    readTemplateContinuation() {
      this.match(8) || this.unexpected(null, 8), this.state.pos--, this.readTemplateToken();
    }
    readTemplateToken() {
      let e = this.input[this.state.pos], {
        str: s,
        firstInvalidLoc: r,
        pos: i,
        curLine: a,
        lineStart: o
      } = Are("template", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_template);
      this.state.pos = i + 1, this.state.lineStart = o, this.state.curLine = a, r && (this.state.firstInvalidTemplateEscapePos = new yl(r.curLine,
      r.pos - r.lineStart, this.sourceToOffsetPos(r.pos))), this.input.codePointAt(i) === 96 ? this.finishToken(24, r ? null : e + s + "`") :
      (this.state.pos++, this.finishToken(25, r ? null : e + s + "${"));
    }
    recordStrictModeErrors(e, s) {
      let r = s.index;
      this.state.strict && !this.state.strictErrors.has(r) ? this.raise(e, s) : this.state.strictErrors.set(r, [e, s]);
    }
    readWord1(e) {
      this.state.containsEsc = !1;
      let s = "", r = this.state.pos, i = this.state.pos;
      for (e !== void 0 && (this.state.pos += e <= 65535 ? 1 : 2); this.state.pos < this.length; ) {
        let a = this.codePointAtPos(this.state.pos);
        if (bm(a))
          this.state.pos += a <= 65535 ? 1 : 2;
        else if (a === 92) {
          this.state.containsEsc = !0, s += this.input.slice(i, this.state.pos);
          let o = this.state.curPosition(), l = this.state.pos === r ? _u : bm;
          if (this.input.charCodeAt(++this.state.pos) !== 117) {
            this.raise(ee.MissingUnicodeEscape, this.state.curPosition()), i = this.state.pos - 1;
            continue;
          }
          ++this.state.pos;
          let u = this.readCodePoint(!0);
          u !== null && (l(u) || this.raise(ee.EscapedCharNotAnIdentifier, o), s += String.fromCodePoint(u)), i = this.state.pos;
        } else
          break;
      }
      return s + this.input.slice(i, this.state.pos);
    }
    readWord(e) {
      let s = this.readWord1(e), r = wM.get(s);
      r !== void 0 ? this.finishToken(r, yp(r)) : this.finishToken(132, s);
    }
    checkKeywordEscapes() {
      let {
        type: e
      } = this.state;
      _M(e) && this.state.containsEsc && this.raise(ee.InvalidEscapedReservedWord, this.state.startLoc, {
        reservedWord: yp(e)
      });
    }
    raise(e, s, r = {}) {
      let i = s instanceof yl ? s : s.loc.start, a = e(i, r);
      if (!(this.optionFlags & 1024)) throw a;
      return this.isLookahead || this.state.errors.push(a), a;
    }
    raiseOverwrite(e, s, r = {}) {
      let i = s instanceof yl ? s : s.loc.start, a = i.index, o = this.state.errors;
      for (let l = o.length - 1; l >= 0; l--) {
        let u = o[l];
        if (u.loc.index === a)
          return o[l] = e(i, r);
        if (u.loc.index < a) break;
      }
      return this.raise(e, s, r);
    }
    updateContext(e) {
    }
    unexpected(e, s) {
      throw this.raise(ee.UnexpectedToken, e ?? this.state.startLoc, {
        expected: s ? yp(s) : null
      });
    }
    expectPlugin(e, s) {
      if (this.hasPlugin(e))
        return !0;
      throw this.raise(ee.MissingPlugin, s ?? this.state.startLoc, {
        missingPlugin: [e]
      });
    }
    expectOnePlugin(e) {
      if (!e.some((s) => this.hasPlugin(s)))
        throw this.raise(ee.MissingOneOfPlugins, this.state.startLoc, {
          missingPlugin: e
        });
    }
    errorBuilder(e) {
      return (s, r, i) => {
        this.raise(e, O0(s, r, i));
      };
    }
  }, yM = class {
    static {
      n(this, "ClassScope");
    }
    constructor() {
      this.privateNames = /* @__PURE__ */ new Set(), this.loneAccessors = /* @__PURE__ */ new Map(), this.undefinedPrivateNames = /* @__PURE__ */ new Map();
    }
  }, gM = class {
    static {
      n(this, "ClassScopeHandler");
    }
    constructor(e) {
      this.parser = void 0, this.stack = [], this.undefinedPrivateNames = /* @__PURE__ */ new Map(), this.parser = e;
    }
    current() {
      return this.stack[this.stack.length - 1];
    }
    enter() {
      this.stack.push(new yM());
    }
    exit() {
      let e = this.stack.pop(), s = this.current();
      for (let [r, i] of Array.from(e.undefinedPrivateNames))
        s ? s.undefinedPrivateNames.has(r) || s.undefinedPrivateNames.set(r, i) : this.parser.raise(ee.InvalidPrivateFieldResolution, i, {
          identifierName: r
        });
    }
    declarePrivateName(e, s, r) {
      let {
        privateNames: i,
        loneAccessors: a,
        undefinedPrivateNames: o
      } = this.current(), l = i.has(e);
      if (s & 3) {
        let u = l && a.get(e);
        if (u) {
          let c = u & 4, p = s & 4, h = u & 3, f = s & 3;
          l = h === f || c !== p, l || a.delete(e);
        } else l || a.set(e, s);
      }
      l && this.parser.raise(ee.PrivateNameRedeclaration, r, {
        identifierName: e
      }), i.add(e), o.delete(e);
    }
    usePrivateName(e, s) {
      let r;
      for (r of this.stack)
        if (r.privateNames.has(e)) return;
      r ? r.undefinedPrivateNames.set(e, s) : this.parser.raise(ee.InvalidPrivateFieldResolution, s, {
        identifierName: e
      });
    }
  }, Em = class {
    static {
      n(this, "ExpressionScope");
    }
    constructor(e = 0) {
      this.type = e;
    }
    canBeArrowParameterDeclaration() {
      return this.type === 2 || this.type === 1;
    }
    isCertainlyParameterDeclaration() {
      return this.type === 3;
    }
  }, tA = class extends Em {
    static {
      n(this, "ArrowHeadParsingScope");
    }
    constructor(e) {
      super(e), this.declarationErrors = /* @__PURE__ */ new Map();
    }
    recordDeclarationError(e, s) {
      let r = s.index;
      this.declarationErrors.set(r, [e, s]);
    }
    clearDeclarationError(e) {
      this.declarationErrors.delete(e);
    }
    iterateErrors(e) {
      this.declarationErrors.forEach(e);
    }
  }, TM = class {
    static {
      n(this, "ExpressionScopeHandler");
    }
    constructor(e) {
      this.parser = void 0, this.stack = [new Em()], this.parser = e;
    }
    enter(e) {
      this.stack.push(e);
    }
    exit() {
      this.stack.pop();
    }
    recordParameterInitializerError(e, s) {
      let r = s.loc.start, {
        stack: i
      } = this, a = i.length - 1, o = i[a];
      for (; !o.isCertainlyParameterDeclaration(); ) {
        if (o.canBeArrowParameterDeclaration())
          o.recordDeclarationError(e, r);
        else
          return;
        o = i[--a];
      }
      this.parser.raise(e, r);
    }
    recordArrowParameterBindingError(e, s) {
      let {
        stack: r
      } = this, i = r[r.length - 1], a = s.loc.start;
      if (i.isCertainlyParameterDeclaration())
        this.parser.raise(e, a);
      else if (i.canBeArrowParameterDeclaration())
        i.recordDeclarationError(e, a);
      else
        return;
    }
    recordAsyncArrowParametersError(e) {
      let {
        stack: s
      } = this, r = s.length - 1, i = s[r];
      for (; i.canBeArrowParameterDeclaration(); )
        i.type === 2 && i.recordDeclarationError(ee.AwaitBindingIdentifier, e), i = s[--r];
    }
    validateAsPattern() {
      let {
        stack: e
      } = this, s = e[e.length - 1];
      s.canBeArrowParameterDeclaration() && s.iterateErrors(([r, i]) => {
        this.parser.raise(r, i);
        let a = e.length - 2, o = e[a];
        for (; o.canBeArrowParameterDeclaration(); )
          o.clearDeclarationError(i.index), o = e[--a];
      });
    }
  };
  function N1t() {
    return new Em(3);
  }
  n(N1t, "newParameterDeclarationScope");
  function k1t() {
    return new tA(1);
  }
  n(k1t, "newArrowHeadScope");
  function D1t() {
    return new tA(2);
  }
  n(D1t, "newAsyncArrowScope");
  function Kre() {
    return new Em();
  }
  n(Kre, "newExpressionScope");
  var bM = class {
    static {
      n(this, "ProductionParameterHandler");
    }
    constructor() {
      this.stacks = [];
    }
    enter(e) {
      this.stacks.push(e);
    }
    exit() {
      this.stacks.pop();
    }
    currentFlags() {
      return this.stacks[this.stacks.length - 1];
    }
    get hasAwait() {
      return (this.currentFlags() & 2) > 0;
    }
    get hasYield() {
      return (this.currentFlags() & 1) > 0;
    }
    get hasReturn() {
      return (this.currentFlags() & 4) > 0;
    }
    get hasIn() {
      return (this.currentFlags() & 8) > 0;
    }
  };
  function QE(t, e) {
    return (t ? 2 : 0) | (e ? 1 : 0);
  }
  n(QE, "functionFlags");
  var xM = class extends mM {
    static {
      n(this, "UtilParser");
    }
    addExtra(e, s, r, i = !0) {
      if (!e) return;
      let {
        extra: a
      } = e;
      a == null && (a = {}, e.extra = a), i ? a[s] = r : Object.defineProperty(a, s, {
        enumerable: i,
        value: r
      });
    }
    isContextual(e) {
      return this.state.type === e && !this.state.containsEsc;
    }
    isUnparsedContextual(e, s) {
      let r = e + s.length;
      if (this.input.slice(e, r) === s) {
        let i = this.input.charCodeAt(r);
        return !(bm(i) || (i & 64512) === 55296);
      }
      return !1;
    }
    isLookaheadContextual(e) {
      let s = this.nextTokenStart();
      return this.isUnparsedContextual(s, e);
    }
    eatContextual(e) {
      return this.isContextual(e) ? (this.next(), !0) : !1;
    }
    expectContextual(e, s) {
      if (!this.eatContextual(e)) {
        if (s != null)
          throw this.raise(s, this.state.startLoc);
        this.unexpected(null, e);
      }
    }
    canInsertSemicolon() {
      return this.match(140) || this.match(8) || this.hasPrecedingLineBreak();
    }
    hasPrecedingLineBreak() {
      return Pre(this.input, this.offsetToSourcePos(this.state.lastTokEndLoc.index), this.state.start);
    }
    hasFollowingLineBreak() {
      return Pre(this.input, this.state.end, this.nextTokenStart());
    }
    isLineTerminator() {
      return this.eat(13) || this.canInsertSemicolon();
    }
    semicolon(e = !0) {
      (e ? this.isLineTerminator() : this.eat(13)) || this.raise(ee.MissingSemicolon, this.state.lastTokEndLoc);
    }
    expect(e, s) {
      this.eat(e) || this.unexpected(s, e);
    }
    tryParse(e, s = this.state.clone()) {
      let r = {
        node: null
      };
      try {
        let i = e((a = null) => {
          throw r.node = a, r;
        });
        if (this.state.errors.length > s.errors.length) {
          let a = this.state;
          return this.state = s, this.state.tokensLength = a.tokensLength, {
            node: i,
            error: a.errors[s.errors.length],
            thrown: !1,
            aborted: !1,
            failState: a
          };
        }
        return {
          node: i,
          error: null,
          thrown: !1,
          aborted: !1,
          failState: null
        };
      } catch (i) {
        let a = this.state;
        if (this.state = s, i instanceof SyntaxError)
          return {
            node: null,
            error: i,
            thrown: !0,
            aborted: !1,
            failState: a
          };
        if (i === r)
          return {
            node: r.node,
            error: null,
            thrown: !1,
            aborted: !0,
            failState: a
          };
        throw i;
      }
    }
    checkExpressionErrors(e, s) {
      if (!e) return !1;
      let {
        shorthandAssignLoc: r,
        doubleProtoLoc: i,
        privateKeyLoc: a,
        optionalParametersLoc: o
      } = e, l = !!r || !!i || !!o || !!a;
      if (!s)
        return l;
      r != null && this.raise(ee.InvalidCoverInitializedName, r), i != null && this.raise(ee.DuplicateProto, i), a != null && this.raise(ee.
      UnexpectedPrivateField, a), o != null && this.unexpected(o);
    }
    isLiteralPropertyName() {
      return Ore(this.state.type);
    }
    isPrivateName(e) {
      return e.type === "PrivateName";
    }
    getPrivateNameSV(e) {
      return e.id.name;
    }
    hasPropertyAsPrivateName(e) {
      return (e.type === "MemberExpression" || e.type === "OptionalMemberExpression") && this.isPrivateName(e.property);
    }
    isObjectProperty(e) {
      return e.type === "ObjectProperty";
    }
    isObjectMethod(e) {
      return e.type === "ObjectMethod";
    }
    initializeScopes(e = this.options.sourceType === "module") {
      let s = this.state.labels;
      this.state.labels = [];
      let r = this.exportedIdentifiers;
      this.exportedIdentifiers = /* @__PURE__ */ new Set();
      let i = this.inModule;
      this.inModule = e;
      let a = this.scope, o = this.getScopeHandler();
      this.scope = new o(this, e);
      let l = this.prodParam;
      this.prodParam = new bM();
      let u = this.classScope;
      this.classScope = new gM(this);
      let c = this.expressionScope;
      return this.expressionScope = new TM(this), () => {
        this.state.labels = s, this.exportedIdentifiers = r, this.inModule = i, this.scope = a, this.prodParam = l, this.classScope = u, this.
        expressionScope = c;
      };
    }
    enterInitialScopes() {
      let e = 0;
      this.inModule && (e |= 2), this.scope.enter(1), this.prodParam.enter(e);
    }
    checkDestructuringPrivate(e) {
      let {
        privateKeyLoc: s
      } = e;
      s !== null && this.expectPlugin("destructuringPrivate", s);
    }
  }, Sm = class {
    static {
      n(this, "ExpressionErrors");
    }
    constructor() {
      this.shorthandAssignLoc = null, this.doubleProtoLoc = null, this.privateKeyLoc = null, this.optionalParametersLoc = null;
    }
  }, Am = class {
    static {
      n(this, "Node");
    }
    constructor(e, s, r) {
      this.type = "", this.start = s, this.end = 0, this.loc = new Pm(r), e?.optionFlags & 64 && (this.range = [s, 0]), e != null && e.filename &&
      (this.loc.filename = e.filename);
    }
  }, MM = Am.prototype;
  MM.__clone = function() {
    let t = new Am(void 0, this.start, this.loc.start), e = Object.keys(this);
    for (let s = 0, r = e.length; s < r; s++) {
      let i = e[s];
      i !== "leadingComments" && i !== "trailingComments" && i !== "innerComments" && (t[i] = this[i]);
    }
    return t;
  };
  function O1t(t) {
    return Bu(t);
  }
  n(O1t, "clonePlaceholder");
  function Bu(t) {
    let {
      type: e,
      start: s,
      end: r,
      loc: i,
      range: a,
      extra: o,
      name: l
    } = t, u = Object.create(MM);
    return u.type = e, u.start = s, u.end = r, u.loc = i, u.range = a, u.extra = o, u.name = l, e === "Placeholder" && (u.expectedNode = t.expectedNode),
    u;
  }
  n(Bu, "cloneIdentifier");
  function _1t(t) {
    let {
      type: e,
      start: s,
      end: r,
      loc: i,
      range: a,
      extra: o
    } = t;
    if (e === "Placeholder")
      return O1t(t);
    let l = Object.create(MM);
    return l.type = e, l.start = s, l.end = r, l.loc = i, l.range = a, t.raw !== void 0 ? l.raw = t.raw : l.extra = o, l.value = t.value, l;
  }
  n(_1t, "cloneStringLiteral");
  var SM = class extends xM {
    static {
      n(this, "NodeUtils");
    }
    startNode() {
      let e = this.state.startLoc;
      return new Am(this, e.index, e);
    }
    startNodeAt(e) {
      return new Am(this, e.index, e);
    }
    startNodeAtNode(e) {
      return this.startNodeAt(e.loc.start);
    }
    finishNode(e, s) {
      return this.finishNodeAt(e, s, this.state.lastTokEndLoc);
    }
    finishNodeAt(e, s, r) {
      return e.type = s, e.end = r.index, e.loc.end = r, this.optionFlags & 64 && (e.range[1] = r.index), this.optionFlags & 2048 && this.processComment(
      e), e;
    }
    resetStartLocation(e, s) {
      e.start = s.index, e.loc.start = s, this.optionFlags & 64 && (e.range[0] = s.index);
    }
    resetEndLocation(e, s = this.state.lastTokEndLoc) {
      e.end = s.index, e.loc.end = s, this.optionFlags & 64 && (e.range[1] = s.index);
    }
    resetStartLocationFromNode(e, s) {
      this.resetStartLocation(e, s.loc.start);
    }
  }, L1t = /* @__PURE__ */ new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "sta\
tic", "string", "true", "typeof", "void"]), Bt = Lu`flow`({
    AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",
    AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since \
they are either an ES module or they are a CommonJS module.",
    AssignReservedType: /* @__PURE__ */ n(({
      reservedType: t
    }) => `Cannot overwrite reserved type ${t}.`, "AssignReservedType"),
    DeclareClassElement: "The `declare` modifier can only appear on class fields.",
    DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.",
    DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.",
    EnumBooleanMemberNotInitialized: /* @__PURE__ */ n(({
      memberName: t,
      enumName: e
    }) => `Boolean enum members need to be initialized. Use either \`${t} = true,\` or \`${t} = false,\` in enum \`${e}\`.`, "EnumBooleanMem\
berNotInitialized"),
    EnumDuplicateMemberName: /* @__PURE__ */ n(({
      memberName: t,
      enumName: e
    }) => `Enum member names need to be unique, but the name \`${t}\` has already been used before in enum \`${e}\`.`, "EnumDuplicateMemberN\
ame"),
    EnumInconsistentMemberValues: /* @__PURE__ */ n(({
      enumName: t
    }) => `Enum \`${t}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, num\
bers, or strings) for all member initializers.`, "EnumInconsistentMemberValues"),
    EnumInvalidExplicitType: /* @__PURE__ */ n(({
      invalidEnumType: t,
      enumName: e
    }) => `Enum type \`${t}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${e}\`.`, "EnumInvalidEx\
plicitType"),
    EnumInvalidExplicitTypeUnknownSupplied: /* @__PURE__ */ n(({
      enumName: t
    }) => `Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${t}\`.`, "EnumInvalidEx\
plicitTypeUnknownSupplied"),
    EnumInvalidMemberInitializerPrimaryType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e,
      explicitType: s
    }) => `Enum \`${t}\` has type \`${s}\`, so the initializer of \`${e}\` needs to be a ${s} literal.`, "EnumInvalidMemberInitializerPrimar\
yType"),
    EnumInvalidMemberInitializerSymbolType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `Symbol enum members cannot be initialized. Use \`${e},\` in enum \`${t}\`.`, "EnumInvalidMemberInitializerSymbolType"),
    EnumInvalidMemberInitializerUnknownType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `The enum member initializer for \`${e}\` needs to be a literal (either a boolean, number, or string) in enum \`${t}\`.`, "EnumInv\
alidMemberInitializerUnknownType"),
    EnumInvalidMemberName: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e,
      suggestion: s
    }) => `Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${e}\`, consider using \`${s}\`, in enum \`${t}\
\`.`, "EnumInvalidMemberName"),
    EnumNumberMemberNotInitialized: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `Number enum members need to be initialized, e.g. \`${e} = 1\` in enum \`${t}\`.`, "EnumNumberMemberNotInitialized"),
    EnumStringMemberInconsistentlyInitialized: /* @__PURE__ */ n(({
      enumName: t
    }) => `String enum members need to consistently either all use initializers, or use no initializers, in enum \`${t}\`.`, "EnumStringMemb\
erInconsistentlyInitialized"),
    GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.",
    ImportReflectionHasImportType: "An `import module` declaration can not use `type` or `typeof` keyword.",
    ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements.\
 It cannot be used with `import type` or `import typeof` statements.",
    InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.",
    InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.",
    InexactVariance: "Explicit inexact syntax cannot have variance.",
    InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.",
    MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",
    NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.",
    NestedFlowComment: "Cannot have a flow comment inside another flow comment.",
    PatternIsOptional: Object.assign({
      message: "A binding pattern parameter cannot be optional in an implementation signature."
    }, {
      reasonCode: "OptionalBindingPattern"
    }),
    SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.",
    SpreadVariance: "Spread properties cannot have variance.",
    ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.",
    ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",
    ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.",
    ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.",
    ThisParamNoDefault: "The `this` parameter may not have a default value.",
    TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`\
.",
    TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.",
    UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.",
    UnexpectedReservedType: /* @__PURE__ */ n(({
      reservedType: t
    }) => `Unexpected reserved type ${t}.`, "UnexpectedReservedType"),
    UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.",
    UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.",
    UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.",
    UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".',
    UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.",
    UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}\
`, use `async <T>() => {}`.",
    UnsupportedDeclareExportKind: /* @__PURE__ */ n(({
      unsupportedExportKind: t,
      suggestion: e
    }) => `\`declare export ${t}\` is not supported. Use \`${e}\` instead.`, "UnsupportedDeclareExportKind"),
    UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.",
    UnterminatedFlowComment: "Unterminated flow-comment."
  });
  function B1t(t) {
    return t.type === "DeclareExportAllDeclaration" || t.type === "DeclareExportDeclaration" && (!t.declaration || t.declaration.type !== "T\
ypeAlias" && t.declaration.type !== "InterfaceDeclaration");
  }
  n(B1t, "isEsModuleType");
  function vre(t) {
    return t.importKind === "type" || t.importKind === "typeof";
  }
  n(vre, "hasTypeImportKind");
  var M1t = {
    const: "declare export var",
    let: "declare export var",
    type: "export type",
    interface: "export interface"
  };
  function F1t(t, e) {
    let s = [], r = [];
    for (let i = 0; i < t.length; i++)
      (e(t[i], i, t) ? s : r).push(t[i]);
    return [s, r];
  }
  n(F1t, "partition");
  var j1t = /\*?\s*@((?:no)?flow)\b/, R1t = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "FlowParserMixin");
    }
    constructor(...s) {
      super(...s), this.flowPragma = void 0;
    }
    getScopeHandler() {
      return cM;
    }
    shouldParseTypes() {
      return this.getPluginOption("flow", "all") || this.flowPragma === "flow";
    }
    finishToken(s, r) {
      s !== 134 && s !== 13 && s !== 28 && this.flowPragma === void 0 && (this.flowPragma = null), super.finishToken(s, r);
    }
    addComment(s) {
      if (this.flowPragma === void 0) {
        let r = j1t.exec(s.value);
        if (r) if (r[1] === "flow")
          this.flowPragma = "flow";
        else if (r[1] === "noflow")
          this.flowPragma = "noflow";
        else
          throw new Error("Unexpected flow pragma");
      }
      super.addComment(s);
    }
    flowParseTypeInitialiser(s) {
      let r = this.state.inType;
      this.state.inType = !0, this.expect(s || 14);
      let i = this.flowParseType();
      return this.state.inType = r, i;
    }
    flowParsePredicate() {
      let s = this.startNode(), r = this.state.startLoc;
      return this.next(), this.expectContextual(110), this.state.lastTokStartLoc.index > r.index + 1 && this.raise(Bt.UnexpectedSpaceBetweenModuloChecks,
      r), this.eat(10) ? (s.value = super.parseExpression(), this.expect(11), this.finishNode(s, "DeclaredPredicate")) : this.finishNode(s, "\
InferredPredicate");
    }
    flowParseTypeAndPredicateInitialiser() {
      let s = this.state.inType;
      this.state.inType = !0, this.expect(14);
      let r = null, i = null;
      return this.match(54) ? (this.state.inType = s, i = this.flowParsePredicate()) : (r = this.flowParseType(), this.state.inType = s, this.
      match(54) && (i = this.flowParsePredicate())), [r, i];
    }
    flowParseDeclareClass(s) {
      return this.next(), this.flowParseInterfaceish(s, !0), this.finishNode(s, "DeclareClass");
    }
    flowParseDeclareFunction(s) {
      this.next();
      let r = s.id = this.parseIdentifier(), i = this.startNode(), a = this.startNode();
      this.match(47) ? i.typeParameters = this.flowParseTypeParameterDeclaration() : i.typeParameters = null, this.expect(10);
      let o = this.flowParseFunctionTypeParams();
      return i.params = o.params, i.rest = o.rest, i.this = o._this, this.expect(11), [i.returnType, s.predicate] = this.flowParseTypeAndPredicateInitialiser(),
      a.typeAnnotation = this.finishNode(i, "FunctionTypeAnnotation"), r.typeAnnotation = this.finishNode(a, "TypeAnnotation"), this.resetEndLocation(
      r), this.semicolon(), this.scope.declareName(s.id.name, 2048, s.id.loc.start), this.finishNode(s, "DeclareFunction");
    }
    flowParseDeclare(s, r) {
      if (this.match(80))
        return this.flowParseDeclareClass(s);
      if (this.match(68))
        return this.flowParseDeclareFunction(s);
      if (this.match(74))
        return this.flowParseDeclareVariable(s);
      if (this.eatContextual(127))
        return this.match(16) ? this.flowParseDeclareModuleExports(s) : (r && this.raise(Bt.NestedDeclareModule, this.state.lastTokStartLoc),
        this.flowParseDeclareModule(s));
      if (this.isContextual(130))
        return this.flowParseDeclareTypeAlias(s);
      if (this.isContextual(131))
        return this.flowParseDeclareOpaqueType(s);
      if (this.isContextual(129))
        return this.flowParseDeclareInterface(s);
      if (this.match(82))
        return this.flowParseDeclareExportDeclaration(s, r);
      this.unexpected();
    }
    flowParseDeclareVariable(s) {
      return this.next(), s.id = this.flowParseTypeAnnotatableIdentifier(!0), this.scope.declareName(s.id.name, 5, s.id.loc.start), this.semicolon(),
      this.finishNode(s, "DeclareVariable");
    }
    flowParseDeclareModule(s) {
      this.scope.enter(0), this.match(134) ? s.id = super.parseExprAtom() : s.id = this.parseIdentifier();
      let r = s.body = this.startNode(), i = r.body = [];
      for (this.expect(5); !this.match(8); ) {
        let l = this.startNode();
        this.match(83) ? (this.next(), !this.isContextual(130) && !this.match(87) && this.raise(Bt.InvalidNonTypeImportInDeclareModule, this.
        state.lastTokStartLoc), super.parseImport(l)) : (this.expectContextual(125, Bt.UnsupportedStatementInDeclareModule), l = this.flowParseDeclare(
        l, !0)), i.push(l);
      }
      this.scope.exit(), this.expect(8), this.finishNode(r, "BlockStatement");
      let a = null, o = !1;
      return i.forEach((l) => {
        B1t(l) ? (a === "CommonJS" && this.raise(Bt.AmbiguousDeclareModuleKind, l), a = "ES") : l.type === "DeclareModuleExports" && (o && this.
        raise(Bt.DuplicateDeclareModuleExports, l), a === "ES" && this.raise(Bt.AmbiguousDeclareModuleKind, l), a = "CommonJS", o = !0);
      }), s.kind = a || "CommonJS", this.finishNode(s, "DeclareModule");
    }
    flowParseDeclareExportDeclaration(s, r) {
      if (this.expect(82), this.eat(65))
        return this.match(68) || this.match(80) ? s.declaration = this.flowParseDeclare(this.startNode()) : (s.declaration = this.flowParseType(),
        this.semicolon()), s.default = !0, this.finishNode(s, "DeclareExportDeclaration");
      if (this.match(75) || this.isLet() || (this.isContextual(130) || this.isContextual(129)) && !r) {
        let i = this.state.value;
        throw this.raise(Bt.UnsupportedDeclareExportKind, this.state.startLoc, {
          unsupportedExportKind: i,
          suggestion: M1t[i]
        });
      }
      if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(131))
        return s.declaration = this.flowParseDeclare(this.startNode()), s.default = !1, this.finishNode(s, "DeclareExportDeclaration");
      if (this.match(55) || this.match(5) || this.isContextual(129) || this.isContextual(130) || this.isContextual(131))
        return s = this.parseExport(s, null), s.type === "ExportNamedDeclaration" && (s.type = "ExportDeclaration", s.default = !1, delete s.
        exportKind), s.type = "Declare" + s.type, s;
      this.unexpected();
    }
    flowParseDeclareModuleExports(s) {
      return this.next(), this.expectContextual(111), s.typeAnnotation = this.flowParseTypeAnnotation(), this.semicolon(), this.finishNode(s,
      "DeclareModuleExports");
    }
    flowParseDeclareTypeAlias(s) {
      this.next();
      let r = this.flowParseTypeAlias(s);
      return r.type = "DeclareTypeAlias", r;
    }
    flowParseDeclareOpaqueType(s) {
      this.next();
      let r = this.flowParseOpaqueType(s, !0);
      return r.type = "DeclareOpaqueType", r;
    }
    flowParseDeclareInterface(s) {
      return this.next(), this.flowParseInterfaceish(s, !1), this.finishNode(s, "DeclareInterface");
    }
    flowParseInterfaceish(s, r) {
      if (s.id = this.flowParseRestrictedIdentifier(!r, !0), this.scope.declareName(s.id.name, r ? 17 : 8201, s.id.loc.start), this.match(47) ?
      s.typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.extends = [], this.eat(81))
        do
          s.extends.push(this.flowParseInterfaceExtends());
        while (!r && this.eat(12));
      if (r) {
        if (s.implements = [], s.mixins = [], this.eatContextual(117))
          do
            s.mixins.push(this.flowParseInterfaceExtends());
          while (this.eat(12));
        if (this.eatContextual(113))
          do
            s.implements.push(this.flowParseInterfaceExtends());
          while (this.eat(12));
      }
      s.body = this.flowParseObjectType({
        allowStatic: r,
        allowExact: !1,
        allowSpread: !1,
        allowProto: r,
        allowInexact: !1
      });
    }
    flowParseInterfaceExtends() {
      let s = this.startNode();
      return s.id = this.flowParseQualifiedTypeIdentifier(), this.match(47) ? s.typeParameters = this.flowParseTypeParameterInstantiation() :
      s.typeParameters = null, this.finishNode(s, "InterfaceExtends");
    }
    flowParseInterface(s) {
      return this.flowParseInterfaceish(s, !1), this.finishNode(s, "InterfaceDeclaration");
    }
    checkNotUnderscore(s) {
      s === "_" && this.raise(Bt.UnexpectedReservedUnderscore, this.state.startLoc);
    }
    checkReservedType(s, r, i) {
      L1t.has(s) && this.raise(i ? Bt.AssignReservedType : Bt.UnexpectedReservedType, r, {
        reservedType: s
      });
    }
    flowParseRestrictedIdentifier(s, r) {
      return this.checkReservedType(this.state.value, this.state.startLoc, r), this.parseIdentifier(s);
    }
    flowParseTypeAlias(s) {
      return s.id = this.flowParseRestrictedIdentifier(!1, !0), this.scope.declareName(s.id.name, 8201, s.id.loc.start), this.match(47) ? s.
      typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.right = this.flowParseTypeInitialiser(29), this.
      semicolon(), this.finishNode(s, "TypeAlias");
    }
    flowParseOpaqueType(s, r) {
      return this.expectContextual(130), s.id = this.flowParseRestrictedIdentifier(!0, !0), this.scope.declareName(s.id.name, 8201, s.id.loc.
      start), this.match(47) ? s.typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.supertype = null, this.
      match(14) && (s.supertype = this.flowParseTypeInitialiser(14)), s.impltype = null, r || (s.impltype = this.flowParseTypeInitialiser(29)),
      this.semicolon(), this.finishNode(s, "OpaqueType");
    }
    flowParseTypeParameter(s = !1) {
      let r = this.state.startLoc, i = this.startNode(), a = this.flowParseVariance(), o = this.flowParseTypeAnnotatableIdentifier();
      return i.name = o.name, i.variance = a, i.bound = o.typeAnnotation, this.match(29) ? (this.eat(29), i.default = this.flowParseType()) :
      s && this.raise(Bt.MissingTypeParamDefault, r), this.finishNode(i, "TypeParameter");
    }
    flowParseTypeParameterDeclaration() {
      let s = this.state.inType, r = this.startNode();
      r.params = [], this.state.inType = !0, this.match(47) || this.match(143) ? this.next() : this.unexpected();
      let i = !1;
      do {
        let a = this.flowParseTypeParameter(i);
        r.params.push(a), a.default && (i = !0), this.match(48) || this.expect(12);
      } while (!this.match(48));
      return this.expect(48), this.state.inType = s, this.finishNode(r, "TypeParameterDeclaration");
    }
    flowInTopLevelContext(s) {
      if (this.curContext() !== Zs.brace) {
        let r = this.state.context;
        this.state.context = [r[0]];
        try {
          return s();
        } finally {
          this.state.context = r;
        }
      } else
        return s();
    }
    flowParseTypeParameterInstantiationInExpression() {
      if (this.reScan_lt() === 47)
        return this.flowParseTypeParameterInstantiation();
    }
    flowParseTypeParameterInstantiation() {
      let s = this.startNode(), r = this.state.inType;
      return this.state.inType = !0, s.params = [], this.flowInTopLevelContext(() => {
        this.expect(47);
        let i = this.state.noAnonFunctionType;
        for (this.state.noAnonFunctionType = !1; !this.match(48); )
          s.params.push(this.flowParseType()), this.match(48) || this.expect(12);
        this.state.noAnonFunctionType = i;
      }), this.state.inType = r, !this.state.inType && this.curContext() === Zs.brace && this.reScan_lt_gt(), this.expect(48), this.finishNode(
      s, "TypeParameterInstantiation");
    }
    flowParseTypeParameterInstantiationCallOrNew() {
      if (this.reScan_lt() !== 47) return;
      let s = this.startNode(), r = this.state.inType;
      for (s.params = [], this.state.inType = !0, this.expect(47); !this.match(48); )
        s.params.push(this.flowParseTypeOrImplicitInstantiation()), this.match(48) || this.expect(12);
      return this.expect(48), this.state.inType = r, this.finishNode(s, "TypeParameterInstantiation");
    }
    flowParseInterfaceType() {
      let s = this.startNode();
      if (this.expectContextual(129), s.extends = [], this.eat(81))
        do
          s.extends.push(this.flowParseInterfaceExtends());
        while (this.eat(12));
      return s.body = this.flowParseObjectType({
        allowStatic: !1,
        allowExact: !1,
        allowSpread: !1,
        allowProto: !1,
        allowInexact: !1
      }), this.finishNode(s, "InterfaceTypeAnnotation");
    }
    flowParseObjectPropertyKey() {
      return this.match(135) || this.match(134) ? super.parseExprAtom() : this.parseIdentifier(!0);
    }
    flowParseObjectTypeIndexer(s, r, i) {
      return s.static = r, this.lookahead().type === 14 ? (s.id = this.flowParseObjectPropertyKey(), s.key = this.flowParseTypeInitialiser()) :
      (s.id = null, s.key = this.flowParseType()), this.expect(3), s.value = this.flowParseTypeInitialiser(), s.variance = i, this.finishNode(
      s, "ObjectTypeIndexer");
    }
    flowParseObjectTypeInternalSlot(s, r) {
      return s.static = r, s.id = this.flowParseObjectPropertyKey(), this.expect(3), this.expect(3), this.match(47) || this.match(10) ? (s.method =
      !0, s.optional = !1, s.value = this.flowParseObjectTypeMethodish(this.startNodeAt(s.loc.start))) : (s.method = !1, this.eat(17) && (s.
      optional = !0), s.value = this.flowParseTypeInitialiser()), this.finishNode(s, "ObjectTypeInternalSlot");
    }
    flowParseObjectTypeMethodish(s) {
      for (s.params = [], s.rest = null, s.typeParameters = null, s.this = null, this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration()),
      this.expect(10), this.match(78) && (s.this = this.flowParseFunctionTypeParam(!0), s.this.name = null, this.match(11) || this.expect(12)); !this.
      match(11) && !this.match(21); )
        s.params.push(this.flowParseFunctionTypeParam(!1)), this.match(11) || this.expect(12);
      return this.eat(21) && (s.rest = this.flowParseFunctionTypeParam(!1)), this.expect(11), s.returnType = this.flowParseTypeInitialiser(),
      this.finishNode(s, "FunctionTypeAnnotation");
    }
    flowParseObjectTypeCallProperty(s, r) {
      let i = this.startNode();
      return s.static = r, s.value = this.flowParseObjectTypeMethodish(i), this.finishNode(s, "ObjectTypeCallProperty");
    }
    flowParseObjectType({
      allowStatic: s,
      allowExact: r,
      allowSpread: i,
      allowProto: a,
      allowInexact: o
    }) {
      let l = this.state.inType;
      this.state.inType = !0;
      let u = this.startNode();
      u.callProperties = [], u.properties = [], u.indexers = [], u.internalSlots = [];
      let c, p, h = !1;
      for (r && this.match(6) ? (this.expect(6), c = 9, p = !0) : (this.expect(5), c = 8, p = !1), u.exact = p; !this.match(c); ) {
        let d = !1, m = null, y = null, T = this.startNode();
        if (a && this.isContextual(118)) {
          let E = this.lookahead();
          E.type !== 14 && E.type !== 17 && (this.next(), m = this.state.startLoc, s = !1);
        }
        if (s && this.isContextual(106)) {
          let E = this.lookahead();
          E.type !== 14 && E.type !== 17 && (this.next(), d = !0);
        }
        let b = this.flowParseVariance();
        if (this.eat(0))
          m != null && this.unexpected(m), this.eat(0) ? (b && this.unexpected(b.loc.start), u.internalSlots.push(this.flowParseObjectTypeInternalSlot(
          T, d))) : u.indexers.push(this.flowParseObjectTypeIndexer(T, d, b));
        else if (this.match(10) || this.match(47))
          m != null && this.unexpected(m), b && this.unexpected(b.loc.start), u.callProperties.push(this.flowParseObjectTypeCallProperty(T, d));
        else {
          let E = "init";
          if (this.isContextual(99) || this.isContextual(104)) {
            let W = this.lookahead();
            Ore(W.type) && (E = this.state.value, this.next());
          }
          let V = this.flowParseObjectTypeProperty(T, d, m, b, E, i, o ?? !p);
          V === null ? (h = !0, y = this.state.lastTokStartLoc) : u.properties.push(V);
        }
        this.flowObjectTypeSemicolon(), y && !this.match(8) && !this.match(9) && this.raise(Bt.UnexpectedExplicitInexactInObject, y);
      }
      this.expect(c), i && (u.inexact = h);
      let f = this.finishNode(u, "ObjectTypeAnnotation");
      return this.state.inType = l, f;
    }
    flowParseObjectTypeProperty(s, r, i, a, o, l, u) {
      if (this.eat(21))
        return this.match(12) || this.match(13) || this.match(8) || this.match(9) ? (l ? u || this.raise(Bt.InexactInsideExact, this.state.lastTokStartLoc) :
        this.raise(Bt.InexactInsideNonObject, this.state.lastTokStartLoc), a && this.raise(Bt.InexactVariance, a), null) : (l || this.raise(
        Bt.UnexpectedSpreadType, this.state.lastTokStartLoc), i != null && this.unexpected(i), a && this.raise(Bt.SpreadVariance, a), s.argument =
        this.flowParseType(), this.finishNode(s, "ObjectTypeSpreadProperty"));
      {
        s.key = this.flowParseObjectPropertyKey(), s.static = r, s.proto = i != null, s.kind = o;
        let c = !1;
        return this.match(47) || this.match(10) ? (s.method = !0, i != null && this.unexpected(i), a && this.unexpected(a.loc.start), s.value =
        this.flowParseObjectTypeMethodish(this.startNodeAt(s.loc.start)), (o === "get" || o === "set") && this.flowCheckGetterSetterParams(s),
        !l && s.key.name === "constructor" && s.value.this && this.raise(Bt.ThisParamBannedInConstructor, s.value.this)) : (o !== "init" && this.
        unexpected(), s.method = !1, this.eat(17) && (c = !0), s.value = this.flowParseTypeInitialiser(), s.variance = a), s.optional = c, this.
        finishNode(s, "ObjectTypeProperty");
      }
    }
    flowCheckGetterSetterParams(s) {
      let r = s.kind === "get" ? 0 : 1, i = s.value.params.length + (s.value.rest ? 1 : 0);
      s.value.this && this.raise(s.kind === "get" ? Bt.GetterMayNotHaveThisParam : Bt.SetterMayNotHaveThisParam, s.value.this), i !== r && this.
      raise(s.kind === "get" ? ee.BadGetterArity : ee.BadSetterArity, s), s.kind === "set" && s.value.rest && this.raise(ee.BadSetterRestParameter,
      s);
    }
    flowObjectTypeSemicolon() {
      !this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9) && this.unexpected();
    }
    flowParseQualifiedTypeIdentifier(s, r) {
      var i;
      (i = s) != null || (s = this.state.startLoc);
      let a = r || this.flowParseRestrictedIdentifier(!0);
      for (; this.eat(16); ) {
        let o = this.startNodeAt(s);
        o.qualification = a, o.id = this.flowParseRestrictedIdentifier(!0), a = this.finishNode(o, "QualifiedTypeIdentifier");
      }
      return a;
    }
    flowParseGenericType(s, r) {
      let i = this.startNodeAt(s);
      return i.typeParameters = null, i.id = this.flowParseQualifiedTypeIdentifier(s, r), this.match(47) && (i.typeParameters = this.flowParseTypeParameterInstantiation()),
      this.finishNode(i, "GenericTypeAnnotation");
    }
    flowParseTypeofType() {
      let s = this.startNode();
      return this.expect(87), s.argument = this.flowParsePrimaryType(), this.finishNode(s, "TypeofTypeAnnotation");
    }
    flowParseTupleType() {
      let s = this.startNode();
      for (s.types = [], this.expect(0); this.state.pos < this.length && !this.match(3) && (s.types.push(this.flowParseType()), !this.match(
      3)); )
        this.expect(12);
      return this.expect(3), this.finishNode(s, "TupleTypeAnnotation");
    }
    flowParseFunctionTypeParam(s) {
      let r = null, i = !1, a = null, o = this.startNode(), l = this.lookahead(), u = this.state.type === 78;
      return l.type === 14 || l.type === 17 ? (u && !s && this.raise(Bt.ThisParamMustBeFirst, o), r = this.parseIdentifier(u), this.eat(17) &&
      (i = !0, u && this.raise(Bt.ThisParamMayNotBeOptional, o)), a = this.flowParseTypeInitialiser()) : a = this.flowParseType(), o.name = r,
      o.optional = i, o.typeAnnotation = a, this.finishNode(o, "FunctionTypeParam");
    }
    reinterpretTypeAsFunctionTypeParam(s) {
      let r = this.startNodeAt(s.loc.start);
      return r.name = null, r.optional = !1, r.typeAnnotation = s, this.finishNode(r, "FunctionTypeParam");
    }
    flowParseFunctionTypeParams(s = []) {
      let r = null, i = null;
      for (this.match(78) && (i = this.flowParseFunctionTypeParam(!0), i.name = null, this.match(11) || this.expect(12)); !this.match(11) &&
      !this.match(21); )
        s.push(this.flowParseFunctionTypeParam(!1)), this.match(11) || this.expect(12);
      return this.eat(21) && (r = this.flowParseFunctionTypeParam(!1)), {
        params: s,
        rest: r,
        _this: i
      };
    }
    flowIdentToTypeAnnotation(s, r, i) {
      switch (i.name) {
        case "any":
          return this.finishNode(r, "AnyTypeAnnotation");
        case "bool":
        case "boolean":
          return this.finishNode(r, "BooleanTypeAnnotation");
        case "mixed":
          return this.finishNode(r, "MixedTypeAnnotation");
        case "empty":
          return this.finishNode(r, "EmptyTypeAnnotation");
        case "number":
          return this.finishNode(r, "NumberTypeAnnotation");
        case "string":
          return this.finishNode(r, "StringTypeAnnotation");
        case "symbol":
          return this.finishNode(r, "SymbolTypeAnnotation");
        default:
          return this.checkNotUnderscore(i.name), this.flowParseGenericType(s, i);
      }
    }
    flowParsePrimaryType() {
      let s = this.state.startLoc, r = this.startNode(), i, a, o = !1, l = this.state.noAnonFunctionType;
      switch (this.state.type) {
        case 5:
          return this.flowParseObjectType({
            allowStatic: !1,
            allowExact: !1,
            allowSpread: !0,
            allowProto: !1,
            allowInexact: !0
          });
        case 6:
          return this.flowParseObjectType({
            allowStatic: !1,
            allowExact: !0,
            allowSpread: !0,
            allowProto: !1,
            allowInexact: !1
          });
        case 0:
          return this.state.noAnonFunctionType = !1, a = this.flowParseTupleType(), this.state.noAnonFunctionType = l, a;
        case 47: {
          let u = this.startNode();
          return u.typeParameters = this.flowParseTypeParameterDeclaration(), this.expect(10), i = this.flowParseFunctionTypeParams(), u.params =
          i.params, u.rest = i.rest, u.this = i._this, this.expect(11), this.expect(19), u.returnType = this.flowParseType(), this.finishNode(
          u, "FunctionTypeAnnotation");
        }
        case 10: {
          let u = this.startNode();
          if (this.next(), !this.match(11) && !this.match(21))
            if (er(this.state.type) || this.match(78)) {
              let c = this.lookahead().type;
              o = c !== 17 && c !== 14;
            } else
              o = !0;
          if (o) {
            if (this.state.noAnonFunctionType = !1, a = this.flowParseType(), this.state.noAnonFunctionType = l, this.state.noAnonFunctionType ||
            !(this.match(12) || this.match(11) && this.lookahead().type === 19))
              return this.expect(11), a;
            this.eat(12);
          }
          return a ? i = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(a)]) : i = this.flowParseFunctionTypeParams(),
          u.params = i.params, u.rest = i.rest, u.this = i._this, this.expect(11), this.expect(19), u.returnType = this.flowParseType(), u.typeParameters =
          null, this.finishNode(u, "FunctionTypeAnnotation");
        }
        case 134:
          return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation");
        case 85:
        case 86:
          return r.value = this.match(85), this.next(), this.finishNode(r, "BooleanLiteralTypeAnnotation");
        case 53:
          if (this.state.value === "-") {
            if (this.next(), this.match(135))
              return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", r);
            if (this.match(136))
              return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", r);
            throw this.raise(Bt.UnexpectedSubtractionOperand, this.state.startLoc);
          }
          this.unexpected();
          return;
        case 135:
          return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation");
        case 136:
          return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation");
        case 88:
          return this.next(), this.finishNode(r, "VoidTypeAnnotation");
        case 84:
          return this.next(), this.finishNode(r, "NullLiteralTypeAnnotation");
        case 78:
          return this.next(), this.finishNode(r, "ThisTypeAnnotation");
        case 55:
          return this.next(), this.finishNode(r, "ExistsTypeAnnotation");
        case 87:
          return this.flowParseTypeofType();
        default:
          if (_M(this.state.type)) {
            let u = yp(this.state.type);
            return this.next(), super.createIdentifier(r, u);
          } else if (er(this.state.type))
            return this.isContextual(129) ? this.flowParseInterfaceType() : this.flowIdentToTypeAnnotation(s, r, this.parseIdentifier());
      }
      this.unexpected();
    }
    flowParsePostfixType() {
      let s = this.state.startLoc, r = this.flowParsePrimaryType(), i = !1;
      for (; (this.match(0) || this.match(18)) && !this.canInsertSemicolon(); ) {
        let a = this.startNodeAt(s), o = this.eat(18);
        i = i || o, this.expect(0), !o && this.match(3) ? (a.elementType = r, this.next(), r = this.finishNode(a, "ArrayTypeAnnotation")) : (a.
        objectType = r, a.indexType = this.flowParseType(), this.expect(3), i ? (a.optional = o, r = this.finishNode(a, "OptionalIndexedAcce\
ssType")) : r = this.finishNode(a, "IndexedAccessType"));
      }
      return r;
    }
    flowParsePrefixType() {
      let s = this.startNode();
      return this.eat(17) ? (s.typeAnnotation = this.flowParsePrefixType(), this.finishNode(s, "NullableTypeAnnotation")) : this.flowParsePostfixType();
    }
    flowParseAnonFunctionWithoutParens() {
      let s = this.flowParsePrefixType();
      if (!this.state.noAnonFunctionType && this.eat(19)) {
        let r = this.startNodeAt(s.loc.start);
        return r.params = [this.reinterpretTypeAsFunctionTypeParam(s)], r.rest = null, r.this = null, r.returnType = this.flowParseType(), r.
        typeParameters = null, this.finishNode(r, "FunctionTypeAnnotation");
      }
      return s;
    }
    flowParseIntersectionType() {
      let s = this.startNode();
      this.eat(45);
      let r = this.flowParseAnonFunctionWithoutParens();
      for (s.types = [r]; this.eat(45); )
        s.types.push(this.flowParseAnonFunctionWithoutParens());
      return s.types.length === 1 ? r : this.finishNode(s, "IntersectionTypeAnnotation");
    }
    flowParseUnionType() {
      let s = this.startNode();
      this.eat(43);
      let r = this.flowParseIntersectionType();
      for (s.types = [r]; this.eat(43); )
        s.types.push(this.flowParseIntersectionType());
      return s.types.length === 1 ? r : this.finishNode(s, "UnionTypeAnnotation");
    }
    flowParseType() {
      let s = this.state.inType;
      this.state.inType = !0;
      let r = this.flowParseUnionType();
      return this.state.inType = s, r;
    }
    flowParseTypeOrImplicitInstantiation() {
      if (this.state.type === 132 && this.state.value === "_") {
        let s = this.state.startLoc, r = this.parseIdentifier();
        return this.flowParseGenericType(s, r);
      } else
        return this.flowParseType();
    }
    flowParseTypeAnnotation() {
      let s = this.startNode();
      return s.typeAnnotation = this.flowParseTypeInitialiser(), this.finishNode(s, "TypeAnnotation");
    }
    flowParseTypeAnnotatableIdentifier(s) {
      let r = s ? this.parseIdentifier() : this.flowParseRestrictedIdentifier();
      return this.match(14) && (r.typeAnnotation = this.flowParseTypeAnnotation(), this.resetEndLocation(r)), r;
    }
    typeCastToParameter(s) {
      return s.expression.typeAnnotation = s.typeAnnotation, this.resetEndLocation(s.expression, s.typeAnnotation.loc.end), s.expression;
    }
    flowParseVariance() {
      let s = null;
      return this.match(53) ? (s = this.startNode(), this.state.value === "+" ? s.kind = "plus" : s.kind = "minus", this.next(), this.finishNode(
      s, "Variance")) : s;
    }
    parseFunctionBody(s, r, i = !1) {
      if (r) {
        this.forwardNoArrowParamsConversionAt(s, () => super.parseFunctionBody(s, !0, i));
        return;
      }
      super.parseFunctionBody(s, !1, i);
    }
    parseFunctionBodyAndFinish(s, r, i = !1) {
      if (this.match(14)) {
        let a = this.startNode();
        [a.typeAnnotation, s.predicate] = this.flowParseTypeAndPredicateInitialiser(), s.returnType = a.typeAnnotation ? this.finishNode(a, "\
TypeAnnotation") : null;
      }
      return super.parseFunctionBodyAndFinish(s, r, i);
    }
    parseStatementLike(s) {
      if (this.state.strict && this.isContextual(129)) {
        let i = this.lookahead();
        if (Do(i.type)) {
          let a = this.startNode();
          return this.next(), this.flowParseInterface(a);
        }
      } else if (this.isContextual(126)) {
        let i = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(i);
      }
      let r = super.parseStatementLike(s);
      return this.flowPragma === void 0 && !this.isValidDirective(r) && (this.flowPragma = null), r;
    }
    parseExpressionStatement(s, r, i) {
      if (r.type === "Identifier") {
        if (r.name === "declare") {
          if (this.match(80) || er(this.state.type) || this.match(68) || this.match(74) || this.match(82))
            return this.flowParseDeclare(s);
        } else if (er(this.state.type)) {
          if (r.name === "interface")
            return this.flowParseInterface(s);
          if (r.name === "type")
            return this.flowParseTypeAlias(s);
          if (r.name === "opaque")
            return this.flowParseOpaqueType(s, !1);
        }
      }
      return super.parseExpressionStatement(s, r, i);
    }
    shouldParseExportDeclaration() {
      let {
        type: s
      } = this.state;
      return s === 126 || Sre(s) ? !this.state.containsEsc : super.shouldParseExportDeclaration();
    }
    isExportDefaultSpecifier() {
      let {
        type: s
      } = this.state;
      return s === 126 || Sre(s) ? this.state.containsEsc : super.isExportDefaultSpecifier();
    }
    parseExportDefaultExpression() {
      if (this.isContextual(126)) {
        let s = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(s);
      }
      return super.parseExportDefaultExpression();
    }
    parseConditional(s, r, i) {
      if (!this.match(17)) return s;
      if (this.state.maybeInArrowParameters) {
        let f = this.lookaheadCharCode();
        if (f === 44 || f === 61 || f === 58 || f === 41)
          return this.setOptionalParametersError(i), s;
      }
      this.expect(17);
      let a = this.state.clone(), o = this.state.noArrowAt, l = this.startNodeAt(r), {
        consequent: u,
        failed: c
      } = this.tryParseConditionalConsequent(), [p, h] = this.getArrowLikeExpressions(u);
      if (c || h.length > 0) {
        let f = [...o];
        if (h.length > 0) {
          this.state = a, this.state.noArrowAt = f;
          for (let d = 0; d < h.length; d++)
            f.push(h[d].start);
          ({
            consequent: u,
            failed: c
          } = this.tryParseConditionalConsequent()), [p, h] = this.getArrowLikeExpressions(u);
        }
        c && p.length > 1 && this.raise(Bt.AmbiguousConditionalArrow, a.startLoc), c && p.length === 1 && (this.state = a, f.push(p[0].start),
        this.state.noArrowAt = f, {
          consequent: u,
          failed: c
        } = this.tryParseConditionalConsequent());
      }
      return this.getArrowLikeExpressions(u, !0), this.state.noArrowAt = o, this.expect(14), l.test = s, l.consequent = u, l.alternate = this.
      forwardNoArrowParamsConversionAt(l, () => this.parseMaybeAssign(void 0, void 0)), this.finishNode(l, "ConditionalExpression");
    }
    tryParseConditionalConsequent() {
      this.state.noArrowParamsConversionAt.push(this.state.start);
      let s = this.parseMaybeAssignAllowIn(), r = !this.match(14);
      return this.state.noArrowParamsConversionAt.pop(), {
        consequent: s,
        failed: r
      };
    }
    getArrowLikeExpressions(s, r) {
      let i = [s], a = [];
      for (; i.length !== 0; ) {
        let o = i.pop();
        o.type === "ArrowFunctionExpression" && o.body.type !== "BlockStatement" ? (o.typeParameters || !o.returnType ? this.finishArrowValidation(
        o) : a.push(o), i.push(o.body)) : o.type === "ConditionalExpression" && (i.push(o.consequent), i.push(o.alternate));
      }
      return r ? (a.forEach((o) => this.finishArrowValidation(o)), [a, []]) : F1t(a, (o) => o.params.every((l) => this.isAssignable(l, !0)));
    }
    finishArrowValidation(s) {
      var r;
      this.toAssignableList(s.params, (r = s.extra) == null ? void 0 : r.trailingCommaLoc, !1), this.scope.enter(6), super.checkParams(s, !1,
      !0), this.scope.exit();
    }
    forwardNoArrowParamsConversionAt(s, r) {
      let i;
      return this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)) ? (this.state.noArrowParamsConversionAt.push(this.
      state.start), i = r(), this.state.noArrowParamsConversionAt.pop()) : i = r(), i;
    }
    parseParenItem(s, r) {
      let i = super.parseParenItem(s, r);
      if (this.eat(17) && (i.optional = !0, this.resetEndLocation(s)), this.match(14)) {
        let a = this.startNodeAt(r);
        return a.expression = i, a.typeAnnotation = this.flowParseTypeAnnotation(), this.finishNode(a, "TypeCastExpression");
      }
      return i;
    }
    assertModuleNodeAllowed(s) {
      s.type === "ImportDeclaration" && (s.importKind === "type" || s.importKind === "typeof") || s.type === "ExportNamedDeclaration" && s.exportKind ===
      "type" || s.type === "ExportAllDeclaration" && s.exportKind === "type" || super.assertModuleNodeAllowed(s);
    }
    parseExportDeclaration(s) {
      if (this.isContextual(130)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.match(5) ? (s.specifiers = this.parseExportSpecifiers(!0), super.parseExportFrom(s), null) : this.flowParseTypeAlias(
        r);
      } else if (this.isContextual(131)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.flowParseOpaqueType(r, !1);
      } else if (this.isContextual(129)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.flowParseInterface(r);
      } else if (this.isContextual(126)) {
        s.exportKind = "value";
        let r = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(r);
      } else
        return super.parseExportDeclaration(s);
    }
    eatExportStar(s) {
      return super.eatExportStar(s) ? !0 : this.isContextual(130) && this.lookahead().type === 55 ? (s.exportKind = "type", this.next(), this.
      next(), !0) : !1;
    }
    maybeParseExportNamespaceSpecifier(s) {
      let {
        startLoc: r
      } = this.state, i = super.maybeParseExportNamespaceSpecifier(s);
      return i && s.exportKind === "type" && this.unexpected(r), i;
    }
    parseClassId(s, r, i) {
      super.parseClassId(s, r, i), this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration());
    }
    parseClassMember(s, r, i) {
      let {
        startLoc: a
      } = this.state;
      if (this.isContextual(125)) {
        if (super.parseClassMemberFromModifier(s, r))
          return;
        r.declare = !0;
      }
      super.parseClassMember(s, r, i), r.declare && (r.type !== "ClassProperty" && r.type !== "ClassPrivateProperty" && r.type !== "Property\
Definition" ? this.raise(Bt.DeclareClassElement, a) : r.value && this.raise(Bt.DeclareClassFieldInitializer, r.value));
    }
    isIterator(s) {
      return s === "iterator" || s === "asyncIterator";
    }
    readIterator() {
      let s = super.readWord1(), r = "@@" + s;
      (!this.isIterator(s) || !this.state.inType) && this.raise(ee.InvalidIdentifier, this.state.curPosition(), {
        identifierName: r
      }), this.finishToken(132, r);
    }
    getTokenFromCode(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      s === 123 && r === 124 ? this.finishOp(6, 2) : this.state.inType && (s === 62 || s === 60) ? this.finishOp(s === 62 ? 48 : 47, 1) : this.
      state.inType && s === 63 ? r === 46 ? this.finishOp(18, 2) : this.finishOp(17, 1) : b1t(s, r, this.input.charCodeAt(this.state.pos + 2)) ?
      (this.state.pos += 2, this.readIterator()) : super.getTokenFromCode(s);
    }
    isAssignable(s, r) {
      return s.type === "TypeCastExpression" ? this.isAssignable(s.expression, r) : super.isAssignable(s, r);
    }
    toAssignable(s, r = !1) {
      !r && s.type === "AssignmentExpression" && s.left.type === "TypeCastExpression" && (s.left = this.typeCastToParameter(s.left)), super.
      toAssignable(s, r);
    }
    toAssignableList(s, r, i) {
      for (let a = 0; a < s.length; a++) {
        let o = s[a];
        o?.type === "TypeCastExpression" && (s[a] = this.typeCastToParameter(o));
      }
      super.toAssignableList(s, r, i);
    }
    toReferencedList(s, r) {
      for (let a = 0; a < s.length; a++) {
        var i;
        let o = s[a];
        o && o.type === "TypeCastExpression" && !((i = o.extra) != null && i.parenthesized) && (s.length > 1 || !r) && this.raise(Bt.TypeCastInPattern,
        o.typeAnnotation);
      }
      return s;
    }
    parseArrayLike(s, r, i, a) {
      let o = super.parseArrayLike(s, r, i, a);
      return r && !this.state.maybeInArrowParameters && this.toReferencedList(o.elements), o;
    }
    isValidLVal(s, r, i) {
      return s === "TypeCastExpression" || super.isValidLVal(s, r, i);
    }
    parseClassProperty(s) {
      return this.match(14) && (s.typeAnnotation = this.flowParseTypeAnnotation()), super.parseClassProperty(s);
    }
    parseClassPrivateProperty(s) {
      return this.match(14) && (s.typeAnnotation = this.flowParseTypeAnnotation()), super.parseClassPrivateProperty(s);
    }
    isClassMethod() {
      return this.match(47) || super.isClassMethod();
    }
    isClassProperty() {
      return this.match(14) || super.isClassProperty();
    }
    isNonstaticConstructor(s) {
      return !this.match(14) && super.isNonstaticConstructor(s);
    }
    pushClassMethod(s, r, i, a, o, l) {
      if (r.variance && this.unexpected(r.variance.loc.start), delete r.variance, this.match(47) && (r.typeParameters = this.flowParseTypeParameterDeclaration()),
      super.pushClassMethod(s, r, i, a, o, l), r.params && o) {
        let u = r.params;
        u.length > 0 && this.isThisParam(u[0]) && this.raise(Bt.ThisParamBannedInConstructor, r);
      } else if (r.type === "MethodDefinition" && o && r.value.params) {
        let u = r.value.params;
        u.length > 0 && this.isThisParam(u[0]) && this.raise(Bt.ThisParamBannedInConstructor, r);
      }
    }
    pushClassPrivateMethod(s, r, i, a) {
      r.variance && this.unexpected(r.variance.loc.start), delete r.variance, this.match(47) && (r.typeParameters = this.flowParseTypeParameterDeclaration()),
      super.pushClassPrivateMethod(s, r, i, a);
    }
    parseClassSuper(s) {
      if (super.parseClassSuper(s), s.superClass && (this.match(47) || this.match(51)) && (s.superTypeParameters = this.flowParseTypeParameterInstantiationInExpression()),
      this.isContextual(113)) {
        this.next();
        let r = s.implements = [];
        do {
          let i = this.startNode();
          i.id = this.flowParseRestrictedIdentifier(!0), this.match(47) ? i.typeParameters = this.flowParseTypeParameterInstantiation() : i.
          typeParameters = null, r.push(this.finishNode(i, "ClassImplements"));
        } while (this.eat(12));
      }
    }
    checkGetterSetterParams(s) {
      super.checkGetterSetterParams(s);
      let r = this.getObjectOrClassMethodParams(s);
      if (r.length > 0) {
        let i = r[0];
        this.isThisParam(i) && s.kind === "get" ? this.raise(Bt.GetterMayNotHaveThisParam, i) : this.isThisParam(i) && this.raise(Bt.SetterMayNotHaveThisParam,
        i);
      }
    }
    parsePropertyNamePrefixOperator(s) {
      s.variance = this.flowParseVariance();
    }
    parseObjPropValue(s, r, i, a, o, l, u) {
      s.variance && this.unexpected(s.variance.loc.start), delete s.variance;
      let c;
      this.match(47) && !l && (c = this.flowParseTypeParameterDeclaration(), this.match(10) || this.unexpected());
      let p = super.parseObjPropValue(s, r, i, a, o, l, u);
      return c && ((p.value || p).typeParameters = c), p;
    }
    parseFunctionParamType(s) {
      return this.eat(17) && (s.type !== "Identifier" && this.raise(Bt.PatternIsOptional, s), this.isThisParam(s) && this.raise(Bt.ThisParamMayNotBeOptional,
      s), s.optional = !0), this.match(14) ? s.typeAnnotation = this.flowParseTypeAnnotation() : this.isThisParam(s) && this.raise(Bt.ThisParamAnnotationRequired,
      s), this.match(29) && this.isThisParam(s) && this.raise(Bt.ThisParamNoDefault, s), this.resetEndLocation(s), s;
    }
    parseMaybeDefault(s, r) {
      let i = super.parseMaybeDefault(s, r);
      return i.type === "AssignmentPattern" && i.typeAnnotation && i.right.start < i.typeAnnotation.start && this.raise(Bt.TypeBeforeInitializer,
      i.typeAnnotation), i;
    }
    checkImportReflection(s) {
      super.checkImportReflection(s), s.module && s.importKind !== "value" && this.raise(Bt.ImportReflectionHasImportType, s.specifiers[0].loc.
      start);
    }
    parseImportSpecifierLocal(s, r, i) {
      r.local = vre(s) ? this.flowParseRestrictedIdentifier(!0, !0) : this.parseIdentifier(), s.specifiers.push(this.finishImportSpecifier(r,
      i));
    }
    isPotentialImportPhase(s) {
      if (super.isPotentialImportPhase(s)) return !0;
      if (this.isContextual(130)) {
        if (!s) return !0;
        let r = this.lookaheadCharCode();
        return r === 123 || r === 42;
      }
      return !s && this.isContextual(87);
    }
    applyImportPhase(s, r, i, a) {
      if (super.applyImportPhase(s, r, i, a), r) {
        if (!i && this.match(65))
          return;
        s.exportKind = i === "type" ? i : "value";
      } else
        i === "type" && this.match(55) && this.unexpected(), s.importKind = i === "type" || i === "typeof" ? i : "value";
    }
    parseImportSpecifier(s, r, i, a, o) {
      let l = s.imported, u = null;
      l.type === "Identifier" && (l.name === "type" ? u = "type" : l.name === "typeof" && (u = "typeof"));
      let c = !1;
      if (this.isContextual(93) && !this.isLookaheadContextual("as")) {
        let h = this.parseIdentifier(!0);
        u !== null && !Do(this.state.type) ? (s.imported = h, s.importKind = u, s.local = Bu(h)) : (s.imported = l, s.importKind = null, s.local =
        this.parseIdentifier());
      } else {
        if (u !== null && Do(this.state.type))
          s.imported = this.parseIdentifier(!0), s.importKind = u;
        else {
          if (r)
            throw this.raise(ee.ImportBindingIsString, s, {
              importName: l.value
            });
          s.imported = l, s.importKind = null;
        }
        this.eatContextual(93) ? s.local = this.parseIdentifier() : (c = !0, s.local = Bu(s.imported));
      }
      let p = vre(s);
      return i && p && this.raise(Bt.ImportTypeShorthandOnlyInPureImport, s), (i || p) && this.checkReservedType(s.local.name, s.local.loc.start,
      !0), c && !i && !p && this.checkReservedWord(s.local.name, s.loc.start, !0, !0), this.finishImportSpecifier(s, "ImportSpecifier");
    }
    parseBindingAtom() {
      switch (this.state.type) {
        case 78:
          return this.parseIdentifier(!0);
        default:
          return super.parseBindingAtom();
      }
    }
    parseFunctionParams(s, r) {
      let i = s.kind;
      i !== "get" && i !== "set" && this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration()), super.parseFunctionParams(
      s, r);
    }
    parseVarId(s, r) {
      super.parseVarId(s, r), this.match(14) && (s.id.typeAnnotation = this.flowParseTypeAnnotation(), this.resetEndLocation(s.id));
    }
    parseAsyncArrowFromCallExpression(s, r) {
      if (this.match(14)) {
        let i = this.state.noAnonFunctionType;
        this.state.noAnonFunctionType = !0, s.returnType = this.flowParseTypeAnnotation(), this.state.noAnonFunctionType = i;
      }
      return super.parseAsyncArrowFromCallExpression(s, r);
    }
    shouldParseAsyncArrow() {
      return this.match(14) || super.shouldParseAsyncArrow();
    }
    parseMaybeAssign(s, r) {
      var i;
      let a = null, o;
      if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) {
        if (a = this.state.clone(), o = this.tryParse(() => super.parseMaybeAssign(s, r), a), !o.error) return o.node;
        let {
          context: c
        } = this.state, p = c[c.length - 1];
        (p === Zs.j_oTag || p === Zs.j_expr) && c.pop();
      }
      if ((i = o) != null && i.error || this.match(47)) {
        var l, u;
        a = a || this.state.clone();
        let c, p = this.tryParse((f) => {
          var d;
          c = this.flowParseTypeParameterDeclaration();
          let m = this.forwardNoArrowParamsConversionAt(c, () => {
            let T = super.parseMaybeAssign(s, r);
            return this.resetStartLocationFromNode(T, c), T;
          });
          (d = m.extra) != null && d.parenthesized && f();
          let y = this.maybeUnwrapTypeCastExpression(m);
          return y.type !== "ArrowFunctionExpression" && f(), y.typeParameters = c, this.resetStartLocationFromNode(y, c), m;
        }, a), h = null;
        if (p.node && this.maybeUnwrapTypeCastExpression(p.node).type === "ArrowFunctionExpression") {
          if (!p.error && !p.aborted)
            return p.node.async && this.raise(Bt.UnexpectedTypeParameterBeforeAsyncArrowFunction, c), p.node;
          h = p.node;
        }
        if ((l = o) != null && l.node)
          return this.state = o.failState, o.node;
        if (h)
          return this.state = p.failState, h;
        throw (u = o) != null && u.thrown ? o.error : p.thrown ? p.error : this.raise(Bt.UnexpectedTokenAfterTypeParameter, c);
      }
      return super.parseMaybeAssign(s, r);
    }
    parseArrow(s) {
      if (this.match(14)) {
        let r = this.tryParse(() => {
          let i = this.state.noAnonFunctionType;
          this.state.noAnonFunctionType = !0;
          let a = this.startNode();
          return [a.typeAnnotation, s.predicate] = this.flowParseTypeAndPredicateInitialiser(), this.state.noAnonFunctionType = i, this.canInsertSemicolon() &&
          this.unexpected(), this.match(19) || this.unexpected(), a;
        });
        if (r.thrown) return null;
        r.error && (this.state = r.failState), s.returnType = r.node.typeAnnotation ? this.finishNode(r.node, "TypeAnnotation") : null;
      }
      return super.parseArrow(s);
    }
    shouldParseArrow(s) {
      return this.match(14) || super.shouldParseArrow(s);
    }
    setArrowFunctionParameters(s, r) {
      this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)) ? s.params = r : super.setArrowFunctionParameters(s, r);
    }
    checkParams(s, r, i, a = !0) {
      if (!(i && this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)))) {
        for (let o = 0; o < s.params.length; o++)
          this.isThisParam(s.params[o]) && o > 0 && this.raise(Bt.ThisParamMustBeFirst, s.params[o]);
        super.checkParams(s, r, i, a);
      }
    }
    parseParenAndDistinguishExpression(s) {
      return super.parseParenAndDistinguishExpression(s && !this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start)));
    }
    parseSubscripts(s, r, i) {
      if (s.type === "Identifier" && s.name === "async" && this.state.noArrowAt.includes(r.index)) {
        this.next();
        let a = this.startNodeAt(r);
        a.callee = s, a.arguments = super.parseCallExpressionArguments(11), s = this.finishNode(a, "CallExpression");
      } else if (s.type === "Identifier" && s.name === "async" && this.match(47)) {
        let a = this.state.clone(), o = this.tryParse((u) => this.parseAsyncArrowWithTypeParameters(r) || u(), a);
        if (!o.error && !o.aborted) return o.node;
        let l = this.tryParse(() => super.parseSubscripts(s, r, i), a);
        if (l.node && !l.error) return l.node;
        if (o.node)
          return this.state = o.failState, o.node;
        if (l.node)
          return this.state = l.failState, l.node;
        throw o.error || l.error;
      }
      return super.parseSubscripts(s, r, i);
    }
    parseSubscript(s, r, i, a) {
      if (this.match(18) && this.isLookaheadToken_lt()) {
        if (a.optionalChainMember = !0, i)
          return a.stop = !0, s;
        this.next();
        let o = this.startNodeAt(r);
        return o.callee = s, o.typeArguments = this.flowParseTypeParameterInstantiationInExpression(), this.expect(10), o.arguments = this.parseCallExpressionArguments(
        11), o.optional = !0, this.finishCallExpression(o, !0);
      } else if (!i && this.shouldParseTypes() && (this.match(47) || this.match(51))) {
        let o = this.startNodeAt(r);
        o.callee = s;
        let l = this.tryParse(() => (o.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(), this.expect(10), o.arguments = super.
        parseCallExpressionArguments(11), a.optionalChainMember && (o.optional = !1), this.finishCallExpression(o, a.optionalChainMember)));
        if (l.node)
          return l.error && (this.state = l.failState), l.node;
      }
      return super.parseSubscript(s, r, i, a);
    }
    parseNewCallee(s) {
      super.parseNewCallee(s);
      let r = null;
      this.shouldParseTypes() && this.match(47) && (r = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node), s.typeArguments =
      r;
    }
    parseAsyncArrowWithTypeParameters(s) {
      let r = this.startNodeAt(s);
      if (this.parseFunctionParams(r, !1), !!this.parseArrow(r))
        return super.parseArrowExpression(r, void 0, !0);
    }
    readToken_mult_modulo(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      if (s === 42 && r === 47 && this.state.hasFlowComment) {
        this.state.hasFlowComment = !1, this.state.pos += 2, this.nextToken();
        return;
      }
      super.readToken_mult_modulo(s);
    }
    readToken_pipe_amp(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      if (s === 124 && r === 125) {
        this.finishOp(9, 2);
        return;
      }
      super.readToken_pipe_amp(s);
    }
    parseTopLevel(s, r) {
      let i = super.parseTopLevel(s, r);
      return this.state.hasFlowComment && this.raise(Bt.UnterminatedFlowComment, this.state.curPosition()), i;
    }
    skipBlockComment() {
      if (this.hasPlugin("flowComments") && this.skipFlowComment()) {
        if (this.state.hasFlowComment)
          throw this.raise(Bt.NestedFlowComment, this.state.startLoc);
        this.hasFlowCommentCompletion();
        let s = this.skipFlowComment();
        s && (this.state.pos += s, this.state.hasFlowComment = !0);
        return;
      }
      return super.skipBlockComment(this.state.hasFlowComment ? "*-/" : "*/");
    }
    skipFlowComment() {
      let {
        pos: s
      } = this.state, r = 2;
      for (; [32, 9].includes(this.input.charCodeAt(s + r)); )
        r++;
      let i = this.input.charCodeAt(r + s), a = this.input.charCodeAt(r + s + 1);
      return i === 58 && a === 58 ? r + 2 : this.input.slice(r + s, r + s + 12) === "flow-include" ? r + 12 : i === 58 && a !== 58 ? r : !1;
    }
    hasFlowCommentCompletion() {
      if (this.input.indexOf("*/", this.state.pos) === -1)
        throw this.raise(ee.UnterminatedComment, this.state.curPosition());
    }
    flowEnumErrorBooleanMemberNotInitialized(s, {
      enumName: r,
      memberName: i
    }) {
      this.raise(Bt.EnumBooleanMemberNotInitialized, s, {
        memberName: i,
        enumName: r
      });
    }
    flowEnumErrorInvalidMemberInitializer(s, r) {
      return this.raise(r.explicitType ? r.explicitType === "symbol" ? Bt.EnumInvalidMemberInitializerSymbolType : Bt.EnumInvalidMemberInitializerPrimaryType :
      Bt.EnumInvalidMemberInitializerUnknownType, s, r);
    }
    flowEnumErrorNumberMemberNotInitialized(s, r) {
      this.raise(Bt.EnumNumberMemberNotInitialized, s, r);
    }
    flowEnumErrorStringMemberInconsistentlyInitialized(s, r) {
      this.raise(Bt.EnumStringMemberInconsistentlyInitialized, s, r);
    }
    flowEnumMemberInit() {
      let s = this.state.startLoc, r = /* @__PURE__ */ n(() => this.match(12) || this.match(8), "endOfInit");
      switch (this.state.type) {
        case 135: {
          let i = this.parseNumericLiteral(this.state.value);
          return r() ? {
            type: "number",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        case 134: {
          let i = this.parseStringLiteral(this.state.value);
          return r() ? {
            type: "string",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        case 85:
        case 86: {
          let i = this.parseBooleanLiteral(this.match(85));
          return r() ? {
            type: "boolean",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        default:
          return {
            type: "invalid",
            loc: s
          };
      }
    }
    flowEnumMemberRaw() {
      let s = this.state.startLoc, r = this.parseIdentifier(!0), i = this.eat(29) ? this.flowEnumMemberInit() : {
        type: "none",
        loc: s
      };
      return {
        id: r,
        init: i
      };
    }
    flowEnumCheckExplicitTypeMismatch(s, r, i) {
      let {
        explicitType: a
      } = r;
      a !== null && a !== i && this.flowEnumErrorInvalidMemberInitializer(s, r);
    }
    flowEnumMembers({
      enumName: s,
      explicitType: r
    }) {
      let i = /* @__PURE__ */ new Set(), a = {
        booleanMembers: [],
        numberMembers: [],
        stringMembers: [],
        defaultedMembers: []
      }, o = !1;
      for (; !this.match(8); ) {
        if (this.eat(21)) {
          o = !0;
          break;
        }
        let l = this.startNode(), {
          id: u,
          init: c
        } = this.flowEnumMemberRaw(), p = u.name;
        if (p === "")
          continue;
        /^[a-z]/.test(p) && this.raise(Bt.EnumInvalidMemberName, u, {
          memberName: p,
          suggestion: p[0].toUpperCase() + p.slice(1),
          enumName: s
        }), i.has(p) && this.raise(Bt.EnumDuplicateMemberName, u, {
          memberName: p,
          enumName: s
        }), i.add(p);
        let h = {
          enumName: s,
          explicitType: r,
          memberName: p
        };
        switch (l.id = u, c.type) {
          case "boolean": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "boolean"), l.init = c.value, a.booleanMembers.push(this.finishNode(l, "EnumBoo\
leanMember"));
            break;
          }
          case "number": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "number"), l.init = c.value, a.numberMembers.push(this.finishNode(l, "EnumNumbe\
rMember"));
            break;
          }
          case "string": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "string"), l.init = c.value, a.stringMembers.push(this.finishNode(l, "EnumStrin\
gMember"));
            break;
          }
          case "invalid":
            throw this.flowEnumErrorInvalidMemberInitializer(c.loc, h);
          case "none":
            switch (r) {
              case "boolean":
                this.flowEnumErrorBooleanMemberNotInitialized(c.loc, h);
                break;
              case "number":
                this.flowEnumErrorNumberMemberNotInitialized(c.loc, h);
                break;
              default:
                a.defaultedMembers.push(this.finishNode(l, "EnumDefaultedMember"));
            }
        }
        this.match(8) || this.expect(12);
      }
      return {
        members: a,
        hasUnknownMembers: o
      };
    }
    flowEnumStringMembers(s, r, {
      enumName: i
    }) {
      if (s.length === 0)
        return r;
      if (r.length === 0)
        return s;
      if (r.length > s.length) {
        for (let a of s)
          this.flowEnumErrorStringMemberInconsistentlyInitialized(a, {
            enumName: i
          });
        return r;
      } else {
        for (let a of r)
          this.flowEnumErrorStringMemberInconsistentlyInitialized(a, {
            enumName: i
          });
        return s;
      }
    }
    flowEnumParseExplicitType({
      enumName: s
    }) {
      if (!this.eatContextual(102)) return null;
      if (!er(this.state.type))
        throw this.raise(Bt.EnumInvalidExplicitTypeUnknownSupplied, this.state.startLoc, {
          enumName: s
        });
      let {
        value: r
      } = this.state;
      return this.next(), r !== "boolean" && r !== "number" && r !== "string" && r !== "symbol" && this.raise(Bt.EnumInvalidExplicitType, this.
      state.startLoc, {
        enumName: s,
        invalidEnumType: r
      }), r;
    }
    flowEnumBody(s, r) {
      let i = r.name, a = r.loc.start, o = this.flowEnumParseExplicitType({
        enumName: i
      });
      this.expect(5);
      let {
        members: l,
        hasUnknownMembers: u
      } = this.flowEnumMembers({
        enumName: i,
        explicitType: o
      });
      switch (s.hasUnknownMembers = u, o) {
        case "boolean":
          return s.explicitType = !0, s.members = l.booleanMembers, this.expect(8), this.finishNode(s, "EnumBooleanBody");
        case "number":
          return s.explicitType = !0, s.members = l.numberMembers, this.expect(8), this.finishNode(s, "EnumNumberBody");
        case "string":
          return s.explicitType = !0, s.members = this.flowEnumStringMembers(l.stringMembers, l.defaultedMembers, {
            enumName: i
          }), this.expect(8), this.finishNode(s, "EnumStringBody");
        case "symbol":
          return s.members = l.defaultedMembers, this.expect(8), this.finishNode(s, "EnumSymbolBody");
        default: {
          let c = /* @__PURE__ */ n(() => (s.members = [], this.expect(8), this.finishNode(s, "EnumStringBody")), "empty");
          s.explicitType = !1;
          let p = l.booleanMembers.length, h = l.numberMembers.length, f = l.stringMembers.length, d = l.defaultedMembers.length;
          if (!p && !h && !f && !d)
            return c();
          if (!p && !h)
            return s.members = this.flowEnumStringMembers(l.stringMembers, l.defaultedMembers, {
              enumName: i
            }), this.expect(8), this.finishNode(s, "EnumStringBody");
          if (!h && !f && p >= d) {
            for (let m of l.defaultedMembers)
              this.flowEnumErrorBooleanMemberNotInitialized(m.loc.start, {
                enumName: i,
                memberName: m.id.name
              });
            return s.members = l.booleanMembers, this.expect(8), this.finishNode(s, "EnumBooleanBody");
          } else if (!p && !f && h >= d) {
            for (let m of l.defaultedMembers)
              this.flowEnumErrorNumberMemberNotInitialized(m.loc.start, {
                enumName: i,
                memberName: m.id.name
              });
            return s.members = l.numberMembers, this.expect(8), this.finishNode(s, "EnumNumberBody");
          } else
            return this.raise(Bt.EnumInconsistentMemberValues, a, {
              enumName: i
            }), c();
        }
      }
    }
    flowParseEnumDeclaration(s) {
      let r = this.parseIdentifier();
      return s.id = r, s.body = this.flowEnumBody(this.startNode(), r), this.finishNode(s, "EnumDeclaration");
    }
    jsxParseOpeningElementAfterName(s) {
      return this.shouldParseTypes() && (this.match(47) || this.match(51)) && (s.typeArguments = this.flowParseTypeParameterInstantiationInExpression()),
      super.jsxParseOpeningElementAfterName(s);
    }
    isLookaheadToken_lt() {
      let s = this.nextTokenStart();
      if (this.input.charCodeAt(s) === 60) {
        let r = this.input.charCodeAt(s + 1);
        return r !== 60 && r !== 61;
      }
      return !1;
    }
    reScan_lt_gt() {
      let {
        type: s
      } = this.state;
      s === 47 ? (this.state.pos -= 1, this.readToken_lt()) : s === 48 && (this.state.pos -= 1, this.readToken_gt());
    }
    reScan_lt() {
      let {
        type: s
      } = this.state;
      return s === 51 ? (this.state.pos -= 2, this.finishOp(47, 1), 47) : s;
    }
    maybeUnwrapTypeCastExpression(s) {
      return s.type === "TypeCastExpression" ? s.expression : s;
    }
  }, "flow"), q1t = {
    __proto__: null,
    quot: '"',
    amp: "&",
    apos: "'",
    lt: "<",
    gt: ">",
    nbsp: "\xA0",
    iexcl: "\xA1",
    cent: "\xA2",
    pound: "\xA3",
    curren: "\xA4",
    yen: "\xA5",
    brvbar: "\xA6",
    sect: "\xA7",
    uml: "\xA8",
    copy: "\xA9",
    ordf: "\xAA",
    laquo: "\xAB",
    not: "\xAC",
    shy: "\xAD",
    reg: "\xAE",
    macr: "\xAF",
    deg: "\xB0",
    plusmn: "\xB1",
    sup2: "\xB2",
    sup3: "\xB3",
    acute: "\xB4",
    micro: "\xB5",
    para: "\xB6",
    middot: "\xB7",
    cedil: "\xB8",
    sup1: "\xB9",
    ordm: "\xBA",
    raquo: "\xBB",
    frac14: "\xBC",
    frac12: "\xBD",
    frac34: "\xBE",
    iquest: "\xBF",
    Agrave: "\xC0",
    Aacute: "\xC1",
    Acirc: "\xC2",
    Atilde: "\xC3",
    Auml: "\xC4",
    Aring: "\xC5",
    AElig: "\xC6",
    Ccedil: "\xC7",
    Egrave: "\xC8",
    Eacute: "\xC9",
    Ecirc: "\xCA",
    Euml: "\xCB",
    Igrave: "\xCC",
    Iacute: "\xCD",
    Icirc: "\xCE",
    Iuml: "\xCF",
    ETH: "\xD0",
    Ntilde: "\xD1",
    Ograve: "\xD2",
    Oacute: "\xD3",
    Ocirc: "\xD4",
    Otilde: "\xD5",
    Ouml: "\xD6",
    times: "\xD7",
    Oslash: "\xD8",
    Ugrave: "\xD9",
    Uacute: "\xDA",
    Ucirc: "\xDB",
    Uuml: "\xDC",
    Yacute: "\xDD",
    THORN: "\xDE",
    szlig: "\xDF",
    agrave: "\xE0",
    aacute: "\xE1",
    acirc: "\xE2",
    atilde: "\xE3",
    auml: "\xE4",
    aring: "\xE5",
    aelig: "\xE6",
    ccedil: "\xE7",
    egrave: "\xE8",
    eacute: "\xE9",
    ecirc: "\xEA",
    euml: "\xEB",
    igrave: "\xEC",
    iacute: "\xED",
    icirc: "\xEE",
    iuml: "\xEF",
    eth: "\xF0",
    ntilde: "\xF1",
    ograve: "\xF2",
    oacute: "\xF3",
    ocirc: "\xF4",
    otilde: "\xF5",
    ouml: "\xF6",
    divide: "\xF7",
    oslash: "\xF8",
    ugrave: "\xF9",
    uacute: "\xFA",
    ucirc: "\xFB",
    uuml: "\xFC",
    yacute: "\xFD",
    thorn: "\xFE",
    yuml: "\xFF",
    OElig: "\u0152",
    oelig: "\u0153",
    Scaron: "\u0160",
    scaron: "\u0161",
    Yuml: "\u0178",
    fnof: "\u0192",
    circ: "\u02C6",
    tilde: "\u02DC",
    Alpha: "\u0391",
    Beta: "\u0392",
    Gamma: "\u0393",
    Delta: "\u0394",
    Epsilon: "\u0395",
    Zeta: "\u0396",
    Eta: "\u0397",
    Theta: "\u0398",
    Iota: "\u0399",
    Kappa: "\u039A",
    Lambda: "\u039B",
    Mu: "\u039C",
    Nu: "\u039D",
    Xi: "\u039E",
    Omicron: "\u039F",
    Pi: "\u03A0",
    Rho: "\u03A1",
    Sigma: "\u03A3",
    Tau: "\u03A4",
    Upsilon: "\u03A5",
    Phi: "\u03A6",
    Chi: "\u03A7",
    Psi: "\u03A8",
    Omega: "\u03A9",
    alpha: "\u03B1",
    beta: "\u03B2",
    gamma: "\u03B3",
    delta: "\u03B4",
    epsilon: "\u03B5",
    zeta: "\u03B6",
    eta: "\u03B7",
    theta: "\u03B8",
    iota: "\u03B9",
    kappa: "\u03BA",
    lambda: "\u03BB",
    mu: "\u03BC",
    nu: "\u03BD",
    xi: "\u03BE",
    omicron: "\u03BF",
    pi: "\u03C0",
    rho: "\u03C1",
    sigmaf: "\u03C2",
    sigma: "\u03C3",
    tau: "\u03C4",
    upsilon: "\u03C5",
    phi: "\u03C6",
    chi: "\u03C7",
    psi: "\u03C8",
    omega: "\u03C9",
    thetasym: "\u03D1",
    upsih: "\u03D2",
    piv: "\u03D6",
    ensp: "\u2002",
    emsp: "\u2003",
    thinsp: "\u2009",
    zwnj: "\u200C",
    zwj: "\u200D",
    lrm: "\u200E",
    rlm: "\u200F",
    ndash: "\u2013",
    mdash: "\u2014",
    lsquo: "\u2018",
    rsquo: "\u2019",
    sbquo: "\u201A",
    ldquo: "\u201C",
    rdquo: "\u201D",
    bdquo: "\u201E",
    dagger: "\u2020",
    Dagger: "\u2021",
    bull: "\u2022",
    hellip: "\u2026",
    permil: "\u2030",
    prime: "\u2032",
    Prime: "\u2033",
    lsaquo: "\u2039",
    rsaquo: "\u203A",
    oline: "\u203E",
    frasl: "\u2044",
    euro: "\u20AC",
    image: "\u2111",
    weierp: "\u2118",
    real: "\u211C",
    trade: "\u2122",
    alefsym: "\u2135",
    larr: "\u2190",
    uarr: "\u2191",
    rarr: "\u2192",
    darr: "\u2193",
    harr: "\u2194",
    crarr: "\u21B5",
    lArr: "\u21D0",
    uArr: "\u21D1",
    rArr: "\u21D2",
    dArr: "\u21D3",
    hArr: "\u21D4",
    forall: "\u2200",
    part: "\u2202",
    exist: "\u2203",
    empty: "\u2205",
    nabla: "\u2207",
    isin: "\u2208",
    notin: "\u2209",
    ni: "\u220B",
    prod: "\u220F",
    sum: "\u2211",
    minus: "\u2212",
    lowast: "\u2217",
    radic: "\u221A",
    prop: "\u221D",
    infin: "\u221E",
    ang: "\u2220",
    and: "\u2227",
    or: "\u2228",
    cap: "\u2229",
    cup: "\u222A",
    int: "\u222B",
    there4: "\u2234",
    sim: "\u223C",
    cong: "\u2245",
    asymp: "\u2248",
    ne: "\u2260",
    equiv: "\u2261",
    le: "\u2264",
    ge: "\u2265",
    sub: "\u2282",
    sup: "\u2283",
    nsub: "\u2284",
    sube: "\u2286",
    supe: "\u2287",
    oplus: "\u2295",
    otimes: "\u2297",
    perp: "\u22A5",
    sdot: "\u22C5",
    lceil: "\u2308",
    rceil: "\u2309",
    lfloor: "\u230A",
    rfloor: "\u230B",
    lang: "\u2329",
    rang: "\u232A",
    loz: "\u25CA",
    spades: "\u2660",
    clubs: "\u2663",
    hearts: "\u2665",
    diams: "\u2666"
  }, sf = Lu`jsx`({
    AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.",
    MissingClosingTagElement: /* @__PURE__ */ n(({
      openingTagName: t
    }) => `Expected corresponding JSX closing tag for <${t}>.`, "MissingClosingTagElement"),
    MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.",
    UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",
    UnexpectedToken: /* @__PURE__ */ n(({
      unexpected: t,
      HTMLEntity: e
    }) => `Unexpected token \`${t}\`. Did you mean \`${e}\` or \`{'${t}'}\`?`, "UnexpectedToken"),
    UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.",
    UnterminatedJsxContent: "Unterminated JSX contents.",
    UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"
  });
  function mp(t) {
    return t ? t.type === "JSXOpeningFragment" || t.type === "JSXClosingFragment" : !1;
  }
  n(mp, "isFragment");
  function Tm(t) {
    if (t.type === "JSXIdentifier")
      return t.name;
    if (t.type === "JSXNamespacedName")
      return t.namespace.name + ":" + t.name.name;
    if (t.type === "JSXMemberExpression")
      return Tm(t.object) + "." + Tm(t.property);
    throw new Error("Node had unexpected type: " + t.type);
  }
  n(Tm, "getQualifiedJSXName");
  var U1t = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "JSXParserMixin");
    }
    jsxReadToken() {
      let s = "", r = this.state.pos;
      for (; ; ) {
        if (this.state.pos >= this.length)
          throw this.raise(sf.UnterminatedJsxContent, this.state.startLoc);
        let i = this.input.charCodeAt(this.state.pos);
        switch (i) {
          case 60:
          case 123:
            if (this.state.pos === this.state.start) {
              i === 60 && this.state.canStartJSXElement ? (++this.state.pos, this.finishToken(143)) : super.getTokenFromCode(i);
              return;
            }
            s += this.input.slice(r, this.state.pos), this.finishToken(142, s);
            return;
          case 38:
            s += this.input.slice(r, this.state.pos), s += this.jsxReadEntity(), r = this.state.pos;
            break;
          case 62:
          case 125:
          default:
            xm(i) ? (s += this.input.slice(r, this.state.pos), s += this.jsxReadNewLine(!0), r = this.state.pos) : ++this.state.pos;
        }
      }
    }
    jsxReadNewLine(s) {
      let r = this.input.charCodeAt(this.state.pos), i;
      return ++this.state.pos, r === 13 && this.input.charCodeAt(this.state.pos) === 10 ? (++this.state.pos, i = s ? `
` : `\r
`) : i = String.fromCharCode(r), ++this.state.curLine, this.state.lineStart = this.state.pos, i;
    }
    jsxReadString(s) {
      let r = "", i = ++this.state.pos;
      for (; ; ) {
        if (this.state.pos >= this.length)
          throw this.raise(ee.UnterminatedString, this.state.startLoc);
        let a = this.input.charCodeAt(this.state.pos);
        if (a === s) break;
        a === 38 ? (r += this.input.slice(i, this.state.pos), r += this.jsxReadEntity(), i = this.state.pos) : xm(a) ? (r += this.input.slice(
        i, this.state.pos), r += this.jsxReadNewLine(!1), i = this.state.pos) : ++this.state.pos;
      }
      r += this.input.slice(i, this.state.pos++), this.finishToken(134, r);
    }
    jsxReadEntity() {
      let s = ++this.state.pos;
      if (this.codePointAtPos(this.state.pos) === 35) {
        ++this.state.pos;
        let r = 10;
        this.codePointAtPos(this.state.pos) === 120 && (r = 16, ++this.state.pos);
        let i = this.readInt(r, void 0, !1, "bail");
        if (i !== null && this.codePointAtPos(this.state.pos) === 59)
          return ++this.state.pos, String.fromCodePoint(i);
      } else {
        let r = 0, i = !1;
        for (; r++ < 10 && this.state.pos < this.length && !(i = this.codePointAtPos(this.state.pos) === 59); )
          ++this.state.pos;
        if (i) {
          let a = this.input.slice(s, this.state.pos), o = q1t[a];
          if (++this.state.pos, o)
            return o;
        }
      }
      return this.state.pos = s, "&";
    }
    jsxReadWord() {
      let s, r = this.state.pos;
      do
        s = this.input.charCodeAt(++this.state.pos);
      while (bm(s) || s === 45);
      this.finishToken(141, this.input.slice(r, this.state.pos));
    }
    jsxParseIdentifier() {
      let s = this.startNode();
      return this.match(141) ? s.name = this.state.value : _M(this.state.type) ? s.name = yp(this.state.type) : this.unexpected(), this.next(),
      this.finishNode(s, "JSXIdentifier");
    }
    jsxParseNamespacedName() {
      let s = this.state.startLoc, r = this.jsxParseIdentifier();
      if (!this.eat(14)) return r;
      let i = this.startNodeAt(s);
      return i.namespace = r, i.name = this.jsxParseIdentifier(), this.finishNode(i, "JSXNamespacedName");
    }
    jsxParseElementName() {
      let s = this.state.startLoc, r = this.jsxParseNamespacedName();
      if (r.type === "JSXNamespacedName")
        return r;
      for (; this.eat(16); ) {
        let i = this.startNodeAt(s);
        i.object = r, i.property = this.jsxParseIdentifier(), r = this.finishNode(i, "JSXMemberExpression");
      }
      return r;
    }
    jsxParseAttributeValue() {
      let s;
      switch (this.state.type) {
        case 5:
          return s = this.startNode(), this.setContext(Zs.brace), this.next(), s = this.jsxParseExpressionContainer(s, Zs.j_oTag), s.expression.
          type === "JSXEmptyExpression" && this.raise(sf.AttributeIsEmpty, s), s;
        case 143:
        case 134:
          return this.parseExprAtom();
        default:
          throw this.raise(sf.UnsupportedJsxValue, this.state.startLoc);
      }
    }
    jsxParseEmptyExpression() {
      let s = this.startNodeAt(this.state.lastTokEndLoc);
      return this.finishNodeAt(s, "JSXEmptyExpression", this.state.startLoc);
    }
    jsxParseSpreadChild(s) {
      return this.next(), s.expression = this.parseExpression(), this.setContext(Zs.j_expr), this.state.canStartJSXElement = !0, this.expect(
      8), this.finishNode(s, "JSXSpreadChild");
    }
    jsxParseExpressionContainer(s, r) {
      if (this.match(8))
        s.expression = this.jsxParseEmptyExpression();
      else {
        let i = this.parseExpression();
        s.expression = i;
      }
      return this.setContext(r), this.state.canStartJSXElement = !0, this.expect(8), this.finishNode(s, "JSXExpressionContainer");
    }
    jsxParseAttribute() {
      let s = this.startNode();
      return this.match(5) ? (this.setContext(Zs.brace), this.next(), this.expect(21), s.argument = this.parseMaybeAssignAllowIn(), this.setContext(
      Zs.j_oTag), this.state.canStartJSXElement = !0, this.expect(8), this.finishNode(s, "JSXSpreadAttribute")) : (s.name = this.jsxParseNamespacedName(),
      s.value = this.eat(29) ? this.jsxParseAttributeValue() : null, this.finishNode(s, "JSXAttribute"));
    }
    jsxParseOpeningElementAt(s) {
      let r = this.startNodeAt(s);
      return this.eat(144) ? this.finishNode(r, "JSXOpeningFragment") : (r.name = this.jsxParseElementName(), this.jsxParseOpeningElementAfterName(
      r));
    }
    jsxParseOpeningElementAfterName(s) {
      let r = [];
      for (; !this.match(56) && !this.match(144); )
        r.push(this.jsxParseAttribute());
      return s.attributes = r, s.selfClosing = this.eat(56), this.expect(144), this.finishNode(s, "JSXOpeningElement");
    }
    jsxParseClosingElementAt(s) {
      let r = this.startNodeAt(s);
      return this.eat(144) ? this.finishNode(r, "JSXClosingFragment") : (r.name = this.jsxParseElementName(), this.expect(144), this.finishNode(
      r, "JSXClosingElement"));
    }
    jsxParseElementAt(s) {
      let r = this.startNodeAt(s), i = [], a = this.jsxParseOpeningElementAt(s), o = null;
      if (!a.selfClosing) {
        e: for (; ; )
          switch (this.state.type) {
            case 143:
              if (s = this.state.startLoc, this.next(), this.eat(56)) {
                o = this.jsxParseClosingElementAt(s);
                break e;
              }
              i.push(this.jsxParseElementAt(s));
              break;
            case 142:
              i.push(this.parseLiteral(this.state.value, "JSXText"));
              break;
            case 5: {
              let l = this.startNode();
              this.setContext(Zs.brace), this.next(), this.match(21) ? i.push(this.jsxParseSpreadChild(l)) : i.push(this.jsxParseExpressionContainer(
              l, Zs.j_expr));
              break;
            }
            default:
              this.unexpected();
          }
        mp(a) && !mp(o) && o !== null ? this.raise(sf.MissingClosingTagFragment, o) : !mp(a) && mp(o) ? this.raise(sf.MissingClosingTagElement,
        o, {
          openingTagName: Tm(a.name)
        }) : !mp(a) && !mp(o) && Tm(o.name) !== Tm(a.name) && this.raise(sf.MissingClosingTagElement, o, {
          openingTagName: Tm(a.name)
        });
      }
      if (mp(a) ? (r.openingFragment = a, r.closingFragment = o) : (r.openingElement = a, r.closingElement = o), r.children = i, this.match(
      47))
        throw this.raise(sf.UnwrappedAdjacentJSXElements, this.state.startLoc);
      return mp(a) ? this.finishNode(r, "JSXFragment") : this.finishNode(r, "JSXElement");
    }
    jsxParseElement() {
      let s = this.state.startLoc;
      return this.next(), this.jsxParseElementAt(s);
    }
    setContext(s) {
      let {
        context: r
      } = this.state;
      r[r.length - 1] = s;
    }
    parseExprAtom(s) {
      return this.match(143) ? this.jsxParseElement() : this.match(47) && this.input.charCodeAt(this.state.pos) !== 33 ? (this.replaceToken(
      143), this.jsxParseElement()) : super.parseExprAtom(s);
    }
    skipSpace() {
      this.curContext().preserveSpace || super.skipSpace();
    }
    getTokenFromCode(s) {
      let r = this.curContext();
      if (r === Zs.j_expr) {
        this.jsxReadToken();
        return;
      }
      if (r === Zs.j_oTag || r === Zs.j_cTag) {
        if (_u(s)) {
          this.jsxReadWord();
          return;
        }
        if (s === 62) {
          ++this.state.pos, this.finishToken(144);
          return;
        }
        if ((s === 34 || s === 39) && r === Zs.j_oTag) {
          this.jsxReadString(s);
          return;
        }
      }
      if (s === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) {
        ++this.state.pos, this.finishToken(143);
        return;
      }
      super.getTokenFromCode(s);
    }
    updateContext(s) {
      let {
        context: r,
        type: i
      } = this.state;
      if (i === 56 && s === 143)
        r.splice(-2, 2, Zs.j_cTag), this.state.canStartJSXElement = !1;
      else if (i === 143)
        r.push(Zs.j_oTag);
      else if (i === 144) {
        let a = r[r.length - 1];
        a === Zs.j_oTag && s === 56 || a === Zs.j_cTag ? (r.pop(), this.state.canStartJSXElement = r[r.length - 1] === Zs.j_expr) : (this.setContext(
        Zs.j_expr), this.state.canStartJSXElement = !0);
      } else
        this.state.canStartJSXElement = r1t(i);
    }
  }, "jsx"), PM = class extends B0 {
    static {
      n(this, "TypeScriptScope");
    }
    constructor(...e) {
      super(...e), this.tsNames = /* @__PURE__ */ new Map();
    }
  }, EM = class extends M0 {
    static {
      n(this, "TypeScriptScopeHandler");
    }
    constructor(...e) {
      super(...e), this.importsStack = [];
    }
    createScope(e) {
      return this.importsStack.push(/* @__PURE__ */ new Set()), new PM(e);
    }
    enter(e) {
      e === 256 && this.importsStack.push(/* @__PURE__ */ new Set()), super.enter(e);
    }
    exit() {
      let e = super.exit();
      return e === 256 && this.importsStack.pop(), e;
    }
    hasImport(e, s) {
      let r = this.importsStack.length;
      if (this.importsStack[r - 1].has(e))
        return !0;
      if (!s && r > 1) {
        for (let i = 0; i < r - 1; i++)
          if (this.importsStack[i].has(e)) return !0;
      }
      return !1;
    }
    declareName(e, s, r) {
      if (s & 4096) {
        this.hasImport(e, !0) && this.parser.raise(ee.VarRedeclaration, r, {
          identifierName: e
        }), this.importsStack[this.importsStack.length - 1].add(e);
        return;
      }
      let i = this.currentScope(), a = i.tsNames.get(e) || 0;
      if (s & 1024) {
        this.maybeExportDefined(i, e), i.tsNames.set(e, a | 16);
        return;
      }
      super.declareName(e, s, r), s & 2 && (s & 1 || (this.checkRedeclarationInScope(i, e, s, r), this.maybeExportDefined(i, e)), a = a | 1),
      s & 256 && (a = a | 2), s & 512 && (a = a | 4), s & 128 && (a = a | 8), a && i.tsNames.set(e, a);
    }
    isRedeclaredInScope(e, s, r) {
      let i = e.tsNames.get(s);
      if ((i & 2) > 0) {
        if (r & 256) {
          let a = !!(r & 512), o = (i & 4) > 0;
          return a !== o;
        }
        return !0;
      }
      return r & 128 && (i & 8) > 0 ? e.names.get(s) & 2 ? !!(r & 1) : !1 : r & 2 && (i & 1) > 0 ? !0 : super.isRedeclaredInScope(e, s, r);
    }
    checkLocalExport(e) {
      let {
        name: s
      } = e;
      if (this.hasImport(s)) return;
      let r = this.scopeStack.length;
      for (let i = r - 1; i >= 0; i--) {
        let o = this.scopeStack[i].tsNames.get(s);
        if ((o & 1) > 0 || (o & 16) > 0)
          return;
      }
      super.checkLocalExport(e);
    }
  }, Vre = /* @__PURE__ */ n((t) => t.type === "ParenthesizedExpression" ? Vre(t.expression) : t, "unwrapParenthesizedExpression"), AM = class extends SM {
    static {
      n(this, "LValParser");
    }
    toAssignable(e, s = !1) {
      var r, i;
      let a;
      switch ((e.type === "ParenthesizedExpression" || (r = e.extra) != null && r.parenthesized) && (a = Vre(e), s ? a.type === "Identifier" ?
      this.expressionScope.recordArrowParameterBindingError(ee.InvalidParenthesizedAssignment, e) : a.type !== "MemberExpression" && !this.isOptionalMemberExpression(
      a) && this.raise(ee.InvalidParenthesizedAssignment, e) : this.raise(ee.InvalidParenthesizedAssignment, e)), e.type) {
        case "Identifier":
        case "ObjectPattern":
        case "ArrayPattern":
        case "AssignmentPattern":
        case "RestElement":
          break;
        case "ObjectExpression":
          e.type = "ObjectPattern";
          for (let l = 0, u = e.properties.length, c = u - 1; l < u; l++) {
            var o;
            let p = e.properties[l], h = l === c;
            this.toAssignableObjectExpressionProp(p, h, s), h && p.type === "RestElement" && (o = e.extra) != null && o.trailingCommaLoc && this.
            raise(ee.RestTrailingComma, e.extra.trailingCommaLoc);
          }
          break;
        case "ObjectProperty": {
          let {
            key: l,
            value: u
          } = e;
          this.isPrivateName(l) && this.classScope.usePrivateName(this.getPrivateNameSV(l), l.loc.start), this.toAssignable(u, s);
          break;
        }
        case "SpreadElement":
          throw new Error("Internal @babel/parser error (this is a bug, please report it). SpreadElement should be converted by .toAssignabl\
e's caller.");
        case "ArrayExpression":
          e.type = "ArrayPattern", this.toAssignableList(e.elements, (i = e.extra) == null ? void 0 : i.trailingCommaLoc, s);
          break;
        case "AssignmentExpression":
          e.operator !== "=" && this.raise(ee.MissingEqInAssignment, e.left.loc.end), e.type = "AssignmentPattern", delete e.operator, this.
          toAssignable(e.left, s);
          break;
        case "ParenthesizedExpression":
          this.toAssignable(a, s);
          break;
      }
    }
    toAssignableObjectExpressionProp(e, s, r) {
      if (e.type === "ObjectMethod")
        this.raise(e.kind === "get" || e.kind === "set" ? ee.PatternHasAccessor : ee.PatternHasMethod, e.key);
      else if (e.type === "SpreadElement") {
        e.type = "RestElement";
        let i = e.argument;
        this.checkToRestConversion(i, !1), this.toAssignable(i, r), s || this.raise(ee.RestTrailingComma, e);
      } else
        this.toAssignable(e, r);
    }
    toAssignableList(e, s, r) {
      let i = e.length - 1;
      for (let a = 0; a <= i; a++) {
        let o = e[a];
        if (o) {
          if (o.type === "SpreadElement") {
            o.type = "RestElement";
            let l = o.argument;
            this.checkToRestConversion(l, !0), this.toAssignable(l, r);
          } else
            this.toAssignable(o, r);
          o.type === "RestElement" && (a < i ? this.raise(ee.RestTrailingComma, o) : s && this.raise(ee.RestTrailingComma, s));
        }
      }
    }
    isAssignable(e, s) {
      switch (e.type) {
        case "Identifier":
        case "ObjectPattern":
        case "ArrayPattern":
        case "AssignmentPattern":
        case "RestElement":
          return !0;
        case "ObjectExpression": {
          let r = e.properties.length - 1;
          return e.properties.every((i, a) => i.type !== "ObjectMethod" && (a === r || i.type !== "SpreadElement") && this.isAssignable(i));
        }
        case "ObjectProperty":
          return this.isAssignable(e.value);
        case "SpreadElement":
          return this.isAssignable(e.argument);
        case "ArrayExpression":
          return e.elements.every((r) => r === null || this.isAssignable(r));
        case "AssignmentExpression":
          return e.operator === "=";
        case "ParenthesizedExpression":
          return this.isAssignable(e.expression);
        case "MemberExpression":
        case "OptionalMemberExpression":
          return !s;
        default:
          return !1;
      }
    }
    toReferencedList(e, s) {
      return e;
    }
    toReferencedListDeep(e, s) {
      this.toReferencedList(e, s);
      for (let r of e)
        r?.type === "ArrayExpression" && this.toReferencedListDeep(r.elements);
    }
    parseSpread(e) {
      let s = this.startNode();
      return this.next(), s.argument = this.parseMaybeAssignAllowIn(e, void 0), this.finishNode(s, "SpreadElement");
    }
    parseRestBinding() {
      let e = this.startNode();
      return this.next(), e.argument = this.parseBindingAtom(), this.finishNode(e, "RestElement");
    }
    parseBindingAtom() {
      switch (this.state.type) {
        case 0: {
          let e = this.startNode();
          return this.next(), e.elements = this.parseBindingList(3, 93, 1), this.finishNode(e, "ArrayPattern");
        }
        case 5:
          return this.parseObjectLike(8, !0);
      }
      return this.parseIdentifier();
    }
    parseBindingList(e, s, r) {
      let i = r & 1, a = [], o = !0;
      for (; !this.eat(e); )
        if (o ? o = !1 : this.expect(12), i && this.match(12))
          a.push(null);
        else {
          if (this.eat(e))
            break;
          if (this.match(21)) {
            let l = this.parseRestBinding();
            if ((this.hasPlugin("flow") || r & 2) && (l = this.parseFunctionParamType(l)), a.push(l), !this.checkCommaAfterRest(s)) {
              this.expect(e);
              break;
            }
          } else {
            let l = [];
            for (this.match(26) && this.hasPlugin("decorators") && this.raise(ee.UnsupportedParameterDecorator, this.state.startLoc); this.match(
            26); )
              l.push(this.parseDecorator());
            a.push(this.parseAssignableListItem(r, l));
          }
        }
      return a;
    }
    parseBindingRestProperty(e) {
      return this.next(), e.argument = this.parseIdentifier(), this.checkCommaAfterRest(125), this.finishNode(e, "RestElement");
    }
    parseBindingProperty() {
      let {
        type: e,
        startLoc: s
      } = this.state;
      if (e === 21)
        return this.parseBindingRestProperty(this.startNode());
      let r = this.startNode();
      return e === 139 ? (this.expectPlugin("destructuringPrivate", s), this.classScope.usePrivateName(this.state.value, s), r.key = this.parsePrivateName()) :
      this.parsePropertyName(r), r.method = !1, this.parseObjPropValue(r, s, !1, !1, !0, !1);
    }
    parseAssignableListItem(e, s) {
      let r = this.parseMaybeDefault();
      (this.hasPlugin("flow") || e & 2) && this.parseFunctionParamType(r);
      let i = this.parseMaybeDefault(r.loc.start, r);
      return s.length && (r.decorators = s), i;
    }
    parseFunctionParamType(e) {
      return e;
    }
    parseMaybeDefault(e, s) {
      var r, i;
      if ((r = e) != null || (e = this.state.startLoc), s = (i = s) != null ? i : this.parseBindingAtom(), !this.eat(29)) return s;
      let a = this.startNodeAt(e);
      return a.left = s, a.right = this.parseMaybeAssignAllowIn(), this.finishNode(a, "AssignmentPattern");
    }
    isValidLVal(e, s, r) {
      switch (e) {
        case "AssignmentPattern":
          return "left";
        case "RestElement":
          return "argument";
        case "ObjectProperty":
          return "value";
        case "ParenthesizedExpression":
          return "expression";
        case "ArrayPattern":
          return "elements";
        case "ObjectPattern":
          return "properties";
      }
      return !1;
    }
    isOptionalMemberExpression(e) {
      return e.type === "OptionalMemberExpression";
    }
    checkLVal(e, s, r = 64, i = !1, a = !1, o = !1) {
      var l;
      let u = e.type;
      if (this.isObjectMethod(e)) return;
      let c = this.isOptionalMemberExpression(e);
      if (c || u === "MemberExpression") {
        c && (this.expectPlugin("optionalChainingAssign", e.loc.start), s.type !== "AssignmentExpression" && this.raise(ee.InvalidLhsOptionalChaining,
        e, {
          ancestor: s
        })), r !== 64 && this.raise(ee.InvalidPropertyBindingPattern, e);
        return;
      }
      if (u === "Identifier") {
        this.checkIdentifier(e, r, a);
        let {
          name: y
        } = e;
        i && (i.has(y) ? this.raise(ee.ParamDupe, e) : i.add(y));
        return;
      }
      let p = this.isValidLVal(u, !(o || (l = e.extra) != null && l.parenthesized) && s.type === "AssignmentExpression", r);
      if (p === !0) return;
      if (p === !1) {
        let y = r === 64 ? ee.InvalidLhs : ee.InvalidLhsBinding;
        this.raise(y, e, {
          ancestor: s
        });
        return;
      }
      let h, f;
      typeof p == "string" ? (h = p, f = u === "ParenthesizedExpression") : [h, f] = p;
      let d = u === "ArrayPattern" || u === "ObjectPattern" ? {
        type: u
      } : s, m = e[h];
      if (Array.isArray(m))
        for (let y of m)
          y && this.checkLVal(y, d, r, i, a, f);
      else m && this.checkLVal(m, d, r, i, a, f);
    }
    checkIdentifier(e, s, r = !1) {
      this.state.strict && (r ? jre(e.name, this.inModule) : Fre(e.name)) && (s === 64 ? this.raise(ee.StrictEvalArguments, e, {
        referenceName: e.name
      }) : this.raise(ee.StrictEvalArgumentsBinding, e, {
        bindingName: e.name
      })), s & 8192 && e.name === "let" && this.raise(ee.LetInLexicalBinding, e), s & 64 || this.declareNameFromIdentifier(e, s);
    }
    declareNameFromIdentifier(e, s) {
      this.scope.declareName(e.name, s, e.loc.start);
    }
    checkToRestConversion(e, s) {
      switch (e.type) {
        case "ParenthesizedExpression":
          this.checkToRestConversion(e.expression, s);
          break;
        case "Identifier":
        case "MemberExpression":
          break;
        case "ArrayExpression":
        case "ObjectExpression":
          if (s) break;
        default:
          this.raise(ee.InvalidRestAssignmentPattern, e);
      }
    }
    checkCommaAfterRest(e) {
      return this.match(12) ? (this.raise(this.lookaheadCharCode() === e ? ee.RestTrailingComma : ee.ElementAfterRest, this.state.startLoc),
      !0) : !1;
    }
  };
  function K1t(t) {
    if (t == null)
      throw new Error(`Unexpected ${t} value.`);
    return t;
  }
  n(K1t, "nonNull");
  function Cre(t) {
    if (!t)
      throw new Error("Assert fail");
  }
  n(Cre, "assert");
  var ft = Lu`typescript`({
    AbstractMethodHasImplementation: /* @__PURE__ */ n(({
      methodName: t
    }) => `Method '${t}' cannot have an implementation because it is marked abstract.`, "AbstractMethodHasImplementation"),
    AbstractPropertyHasInitializer: /* @__PURE__ */ n(({
      propertyName: t
    }) => `Property '${t}' cannot have an initializer because it is marked abstract.`, "AbstractPropertyHasInitializer"),
    AccessorCannotBeOptional: "An 'accessor' property cannot be declared optional.",
    AccessorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.",
    AccessorCannotHaveTypeParameters: "An accessor cannot have type parameters.",
    ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.",
    ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.",
    ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "A 'const' initializer in an ambient context must be a string or num\
eric literal or literal enum reference.",
    ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.",
    DeclareAccessor: /* @__PURE__ */ n(({
      kind: t
    }) => `'declare' is not allowed in ${t}ters.`, "DeclareAccessor"),
    DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.",
    DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.",
    DuplicateAccessibilityModifier: /* @__PURE__ */ n(({
      modifier: t
    }) => "Accessibility modifier already seen.", "DuplicateAccessibilityModifier"),
    DuplicateModifier: /* @__PURE__ */ n(({
      modifier: t
    }) => `Duplicate modifier: '${t}'.`, "DuplicateModifier"),
    EmptyHeritageClauseType: /* @__PURE__ */ n(({
      token: t
    }) => `'${t}' list cannot be empty.`, "EmptyHeritageClauseType"),
    EmptyTypeArguments: "Type argument list cannot be empty.",
    EmptyTypeParameters: "Type parameter list cannot be empty.",
    ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.",
    ImportAliasHasImportType: "An import alias can not use 'import type'.",
    ImportReflectionHasImportType: "An `import module` declaration can not use `type` modifier",
    IncompatibleModifiers: /* @__PURE__ */ n(({
      modifiers: t
    }) => `'${t[0]}' modifier cannot be used with '${t[1]}' modifier.`, "IncompatibleModifiers"),
    IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.",
    IndexSignatureHasAccessibility: /* @__PURE__ */ n(({
      modifier: t
    }) => `Index signatures cannot have an accessibility modifier ('${t}').`, "IndexSignatureHasAccessibility"),
    IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.",
    IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.",
    IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.",
    InitializerNotAllowedInAmbientContext: "Initializers are not allowed in ambient contexts.",
    InvalidModifierOnTypeMember: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier cannot appear on a type member.`, "InvalidModifierOnTypeMember"),
    InvalidModifierOnTypeParameter: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier cannot appear on a type parameter.`, "InvalidModifierOnTypeParameter"),
    InvalidModifierOnTypeParameterPositions: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier can only appear on a type parameter of a class, interface or type alias.`, "InvalidModifierOnTypeParameterPositio\
ns"),
    InvalidModifiersOrder: /* @__PURE__ */ n(({
      orderedModifiers: t
    }) => `'${t[0]}' modifier must precede '${t[1]}' modifier.`, "InvalidModifiersOrder"),
    InvalidPropertyAccessAfterInstantiationExpression: "Invalid property access after an instantiation expression. You can either wrap the i\
nstantiation expression in parentheses, or delete the type arguments.",
    InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.",
    MissingInterfaceName: "'interface' declarations must be followed by an identifier.",
    NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.",
    NonClassMethodPropertyHasAbstractModifer: "'abstract' modifier can only appear on a class, method, or property declaration.",
    OptionalTypeBeforeRequired: "A required element cannot follow an optional element.",
    OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.",
    PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.",
    PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.",
    PrivateElementHasAccessibility: /* @__PURE__ */ n(({
      modifier: t
    }) => `Private elements cannot have an accessibility modifier ('${t}').`, "PrivateElementHasAccessibility"),
    ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.",
    ReservedArrowTypeParam: "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",
    ReservedTypeAssertion: "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",
    SetAccessorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.",
    SetAccessorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.",
    SetAccessorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.",
    SingleTypeParameterWithoutTrailingComma: /* @__PURE__ */ n(({
      typeParameterName: t
    }) => `Single type parameter ${t} should have a trailing comma. Example usage: <${t},>.`, "SingleTypeParameterWithoutTrailingComma"),
    StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.",
    TupleOptionalAfterType: "A labeled tuple optional element must be declared using a question mark after the name and before the colon (`n\
ame?: type`), rather than after the type (`name: type?`).",
    TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number =\
 25`.",
    TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.",
    TypeModifierIsUsedInTypeExports: "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statemen\
t.",
    TypeModifierIsUsedInTypeImports: "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statemen\
t.",
    UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.",
    UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.",
    UnexpectedTypeAnnotation: "Did not expect a type annotation here.",
    UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.",
    UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.",
    UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.",
    UnsupportedSignatureParameterKind: /* @__PURE__ */ n(({
      type: t
    }) => `Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${t}.`, "UnsupportedSignatureParameterKind")
  });
  function V1t(t) {
    switch (t) {
      case "any":
        return "TSAnyKeyword";
      case "boolean":
        return "TSBooleanKeyword";
      case "bigint":
        return "TSBigIntKeyword";
      case "never":
        return "TSNeverKeyword";
      case "number":
        return "TSNumberKeyword";
      case "object":
        return "TSObjectKeyword";
      case "string":
        return "TSStringKeyword";
      case "symbol":
        return "TSSymbolKeyword";
      case "undefined":
        return "TSUndefinedKeyword";
      case "unknown":
        return "TSUnknownKeyword";
      default:
        return;
    }
  }
  n(V1t, "keywordTypeFromName");
  function wre(t) {
    return t === "private" || t === "public" || t === "protected";
  }
  n(wre, "tsIsAccessModifier");
  function W1t(t) {
    return t === "in" || t === "out";
  }
  n(W1t, "tsIsVarianceAnnotations");
  var $1t = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "TypeScriptParserMixin");
    }
    constructor(...s) {
      super(...s), this.tsParseInOutModifiers = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["in", "out"],
        disallowedModifiers: ["const", "public", "private", "protected", "readonly", "declare", "abstract", "override"],
        errorTemplate: ft.InvalidModifierOnTypeParameter
      }), this.tsParseConstModifier = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["const"],
        disallowedModifiers: ["in", "out"],
        errorTemplate: ft.InvalidModifierOnTypeParameterPositions
      }), this.tsParseInOutConstModifiers = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["in", "out", "const"],
        disallowedModifiers: ["public", "private", "protected", "readonly", "declare", "abstract", "override"],
        errorTemplate: ft.InvalidModifierOnTypeParameter
      });
    }
    getScopeHandler() {
      return EM;
    }
    tsIsIdentifier() {
      return er(this.state.type);
    }
    tsTokenCanFollowModifier() {
      return this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(139) || this.isLiteralPropertyName();
    }
    tsNextTokenOnSameLineAndCanFollowModifier() {
      return this.next(), this.hasPrecedingLineBreak() ? !1 : this.tsTokenCanFollowModifier();
    }
    tsNextTokenCanFollowModifier() {
      return this.match(106) ? (this.next(), this.tsTokenCanFollowModifier()) : this.tsNextTokenOnSameLineAndCanFollowModifier();
    }
    tsParseModifier(s, r) {
      if (!er(this.state.type) && this.state.type !== 58 && this.state.type !== 75)
        return;
      let i = this.state.value;
      if (s.includes(i)) {
        if (r && this.tsIsStartOfStaticBlocks())
          return;
        if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))
          return i;
      }
    }
    tsParseModifiers({
      allowedModifiers: s,
      disallowedModifiers: r,
      stopOnStartOfClassStaticBlock: i,
      errorTemplate: a = ft.InvalidModifierOnTypeMember
    }, o) {
      let l = /* @__PURE__ */ n((c, p, h, f) => {
        p === h && o[f] && this.raise(ft.InvalidModifiersOrder, c, {
          orderedModifiers: [h, f]
        });
      }, "enforceOrder"), u = /* @__PURE__ */ n((c, p, h, f) => {
        (o[h] && p === f || o[f] && p === h) && this.raise(ft.IncompatibleModifiers, c, {
          modifiers: [h, f]
        });
      }, "incompatible");
      for (; ; ) {
        let {
          startLoc: c
        } = this.state, p = this.tsParseModifier(s.concat(r ?? []), i);
        if (!p) break;
        wre(p) ? o.accessibility ? this.raise(ft.DuplicateAccessibilityModifier, c, {
          modifier: p
        }) : (l(c, p, p, "override"), l(c, p, p, "static"), l(c, p, p, "readonly"), o.accessibility = p) : W1t(p) ? (o[p] && this.raise(ft.DuplicateModifier,
        c, {
          modifier: p
        }), o[p] = !0, l(c, p, "in", "out")) : (hasOwnProperty.call(o, p) ? this.raise(ft.DuplicateModifier, c, {
          modifier: p
        }) : (l(c, p, "static", "readonly"), l(c, p, "static", "override"), l(c, p, "override", "readonly"), l(c, p, "abstract", "override"),
        u(c, p, "declare", "override"), u(c, p, "static", "abstract")), o[p] = !0), r != null && r.includes(p) && this.raise(a, c, {
          modifier: p
        });
      }
    }
    tsIsListTerminator(s) {
      switch (s) {
        case "EnumMembers":
        case "TypeMembers":
          return this.match(8);
        case "HeritageClauseElement":
          return this.match(5);
        case "TupleElementTypes":
          return this.match(3);
        case "TypeParametersOrArguments":
          return this.match(48);
      }
    }
    tsParseList(s, r) {
      let i = [];
      for (; !this.tsIsListTerminator(s); )
        i.push(r());
      return i;
    }
    tsParseDelimitedList(s, r, i) {
      return K1t(this.tsParseDelimitedListWorker(s, r, !0, i));
    }
    tsParseDelimitedListWorker(s, r, i, a) {
      let o = [], l = -1;
      for (; !this.tsIsListTerminator(s); ) {
        l = -1;
        let u = r();
        if (u == null)
          return;
        if (o.push(u), this.eat(12)) {
          l = this.state.lastTokStartLoc.index;
          continue;
        }
        if (this.tsIsListTerminator(s))
          break;
        i && this.expect(12);
        return;
      }
      return a && (a.value = l), o;
    }
    tsParseBracketedList(s, r, i, a, o) {
      a || (i ? this.expect(0) : this.expect(47));
      let l = this.tsParseDelimitedList(s, r, o);
      return i ? this.expect(3) : this.expect(48), l;
    }
    tsParseImportType() {
      let s = this.startNode();
      return this.expect(83), this.expect(10), this.match(134) ? s.argument = this.parseStringLiteral(this.state.value) : (this.raise(ft.UnsupportedImportTypeArgument,
      this.state.startLoc), s.argument = super.parseExprAtom()), this.eat(12) && !this.match(11) ? (s.options = super.parseMaybeAssignAllowIn(),
      this.eat(12)) : s.options = null, this.expect(11), this.eat(16) && (s.qualifier = this.tsParseEntityName(3)), this.match(47) && (s.typeParameters =
      this.tsParseTypeArguments()), this.finishNode(s, "TSImportType");
    }
    tsParseEntityName(s) {
      let r;
      if (s & 1 && this.match(78))
        if (s & 2)
          r = this.parseIdentifier(!0);
        else {
          let i = this.startNode();
          this.next(), r = this.finishNode(i, "ThisExpression");
        }
      else
        r = this.parseIdentifier(!!(s & 1));
      for (; this.eat(16); ) {
        let i = this.startNodeAtNode(r);
        i.left = r, i.right = this.parseIdentifier(!!(s & 1)), r = this.finishNode(i, "TSQualifiedName");
      }
      return r;
    }
    tsParseTypeReference() {
      let s = this.startNode();
      return s.typeName = this.tsParseEntityName(1), !this.hasPrecedingLineBreak() && this.match(47) && (s.typeParameters = this.tsParseTypeArguments()),
      this.finishNode(s, "TSTypeReference");
    }
    tsParseThisTypePredicate(s) {
      this.next();
      let r = this.startNodeAtNode(s);
      return r.parameterName = s, r.typeAnnotation = this.tsParseTypeAnnotation(!1), r.asserts = !1, this.finishNode(r, "TSTypePredicate");
    }
    tsParseThisTypeNode() {
      let s = this.startNode();
      return this.next(), this.finishNode(s, "TSThisType");
    }
    tsParseTypeQuery() {
      let s = this.startNode();
      return this.expect(87), this.match(83) ? s.exprName = this.tsParseImportType() : s.exprName = this.tsParseEntityName(3), !this.hasPrecedingLineBreak() &&
      this.match(47) && (s.typeParameters = this.tsParseTypeArguments()), this.finishNode(s, "TSTypeQuery");
    }
    tsParseTypeParameter(s) {
      let r = this.startNode();
      return s(r), r.name = this.tsParseTypeParameterName(), r.constraint = this.tsEatThenParseType(81), r.default = this.tsEatThenParseType(
      29), this.finishNode(r, "TSTypeParameter");
    }
    tsTryParseTypeParameters(s) {
      if (this.match(47))
        return this.tsParseTypeParameters(s);
    }
    tsParseTypeParameters(s) {
      let r = this.startNode();
      this.match(47) || this.match(143) ? this.next() : this.unexpected();
      let i = {
        value: -1
      };
      return r.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this, s), !1, !0, i), r.params.
      length === 0 && this.raise(ft.EmptyTypeParameters, r), i.value !== -1 && this.addExtra(r, "trailingComma", i.value), this.finishNode(r,
      "TSTypeParameterDeclaration");
    }
    tsFillSignature(s, r) {
      let i = s === 19, a = "parameters", o = "typeAnnotation";
      r.typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier), this.expect(10), r[a] = this.tsParseBindingListForSignature(),
      i ? r[o] = this.tsParseTypeOrTypePredicateAnnotation(s) : this.match(s) && (r[o] = this.tsParseTypeOrTypePredicateAnnotation(s));
    }
    tsParseBindingListForSignature() {
      let s = super.parseBindingList(11, 41, 2);
      for (let r of s) {
        let {
          type: i
        } = r;
        (i === "AssignmentPattern" || i === "TSParameterProperty") && this.raise(ft.UnsupportedSignatureParameterKind, r, {
          type: i
        });
      }
      return s;
    }
    tsParseTypeMemberSemicolon() {
      !this.eat(12) && !this.isLineTerminator() && this.expect(13);
    }
    tsParseSignatureMember(s, r) {
      return this.tsFillSignature(14, r), this.tsParseTypeMemberSemicolon(), this.finishNode(r, s);
    }
    tsIsUnambiguouslyIndexSignature() {
      return this.next(), er(this.state.type) ? (this.next(), this.match(14)) : !1;
    }
    tsTryParseIndexSignature(s) {
      if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))))
        return;
      this.expect(0);
      let r = this.parseIdentifier();
      r.typeAnnotation = this.tsParseTypeAnnotation(), this.resetEndLocation(r), this.expect(3), s.parameters = [r];
      let i = this.tsTryParseTypeAnnotation();
      return i && (s.typeAnnotation = i), this.tsParseTypeMemberSemicolon(), this.finishNode(s, "TSIndexSignature");
    }
    tsParsePropertyOrMethodSignature(s, r) {
      this.eat(17) && (s.optional = !0);
      let i = s;
      if (this.match(10) || this.match(47)) {
        r && this.raise(ft.ReadonlyForMethodSignature, s);
        let a = i;
        a.kind && this.match(47) && this.raise(ft.AccessorCannotHaveTypeParameters, this.state.curPosition()), this.tsFillSignature(14, a), this.
        tsParseTypeMemberSemicolon();
        let o = "parameters", l = "typeAnnotation";
        if (a.kind === "get")
          a[o].length > 0 && (this.raise(ee.BadGetterArity, this.state.curPosition()), this.isThisParam(a[o][0]) && this.raise(ft.AccessorCannotDeclareThisParameter,
          this.state.curPosition()));
        else if (a.kind === "set") {
          if (a[o].length !== 1)
            this.raise(ee.BadSetterArity, this.state.curPosition());
          else {
            let u = a[o][0];
            this.isThisParam(u) && this.raise(ft.AccessorCannotDeclareThisParameter, this.state.curPosition()), u.type === "Identifier" && u.
            optional && this.raise(ft.SetAccessorCannotHaveOptionalParameter, this.state.curPosition()), u.type === "RestElement" && this.raise(
            ft.SetAccessorCannotHaveRestParameter, this.state.curPosition());
          }
          a[l] && this.raise(ft.SetAccessorCannotHaveReturnType, a[l]);
        } else
          a.kind = "method";
        return this.finishNode(a, "TSMethodSignature");
      } else {
        let a = i;
        r && (a.readonly = !0);
        let o = this.tsTryParseTypeAnnotation();
        return o && (a.typeAnnotation = o), this.tsParseTypeMemberSemicolon(), this.finishNode(a, "TSPropertySignature");
      }
    }
    tsParseTypeMember() {
      let s = this.startNode();
      if (this.match(10) || this.match(47))
        return this.tsParseSignatureMember("TSCallSignatureDeclaration", s);
      if (this.match(77)) {
        let i = this.startNode();
        return this.next(), this.match(10) || this.match(47) ? this.tsParseSignatureMember("TSConstructSignatureDeclaration", s) : (s.key = this.
        createIdentifier(i, "new"), this.tsParsePropertyOrMethodSignature(s, !1));
      }
      this.tsParseModifiers({
        allowedModifiers: ["readonly"],
        disallowedModifiers: ["declare", "abstract", "private", "protected", "public", "static", "override"]
      }, s);
      let r = this.tsTryParseIndexSignature(s);
      return r || (super.parsePropertyName(s), !s.computed && s.key.type === "Identifier" && (s.key.name === "get" || s.key.name === "set") &&
      this.tsTokenCanFollowModifier() && (s.kind = s.key.name, super.parsePropertyName(s)), this.tsParsePropertyOrMethodSignature(s, !!s.readonly));
    }
    tsParseTypeLiteral() {
      let s = this.startNode();
      return s.members = this.tsParseObjectTypeMembers(), this.finishNode(s, "TSTypeLiteral");
    }
    tsParseObjectTypeMembers() {
      this.expect(5);
      let s = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this));
      return this.expect(8), s;
    }
    tsIsStartOfMappedType() {
      return this.next(), this.eat(53) ? this.isContextual(122) : (this.isContextual(122) && this.next(), !this.match(0) || (this.next(), !this.
      tsIsIdentifier()) ? !1 : (this.next(), this.match(58)));
    }
    tsParseMappedType() {
      let s = this.startNode();
      this.expect(5), this.match(53) ? (s.readonly = this.state.value, this.next(), this.expectContextual(122)) : this.eatContextual(122) &&
      (s.readonly = !0), this.expect(0);
      {
        let r = this.startNode();
        r.name = this.tsParseTypeParameterName(), r.constraint = this.tsExpectThenParseType(58), s.typeParameter = this.finishNode(r, "TSTyp\
eParameter");
      }
      return s.nameType = this.eatContextual(93) ? this.tsParseType() : null, this.expect(3), this.match(53) ? (s.optional = this.state.value,
      this.next(), this.expect(17)) : this.eat(17) && (s.optional = !0), s.typeAnnotation = this.tsTryParseType(), this.semicolon(), this.expect(
      8), this.finishNode(s, "TSMappedType");
    }
    tsParseTupleType() {
      let s = this.startNode();
      s.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), !0, !1);
      let r = !1;
      return s.elementTypes.forEach((i) => {
        let {
          type: a
        } = i;
        r && a !== "TSRestType" && a !== "TSOptionalType" && !(a === "TSNamedTupleMember" && i.optional) && this.raise(ft.OptionalTypeBeforeRequired,
        i), r || (r = a === "TSNamedTupleMember" && i.optional || a === "TSOptionalType");
      }), this.finishNode(s, "TSTupleType");
    }
    tsParseTupleElementType() {
      let s = this.state.startLoc, r = this.eat(21), {
        startLoc: i
      } = this.state, a, o, l, u, p = Do(this.state.type) ? this.lookaheadCharCode() : null;
      if (p === 58)
        a = !0, l = !1, o = this.parseIdentifier(!0), this.expect(14), u = this.tsParseType();
      else if (p === 63) {
        l = !0;
        let h = this.state.value, f = this.tsParseNonArrayType();
        this.lookaheadCharCode() === 58 ? (a = !0, o = this.createIdentifier(this.startNodeAt(i), h), this.expect(17), this.expect(14), u = this.
        tsParseType()) : (a = !1, u = f, this.expect(17));
      } else
        u = this.tsParseType(), l = this.eat(17), a = this.eat(14);
      if (a) {
        let h;
        o ? (h = this.startNodeAt(i), h.optional = l, h.label = o, h.elementType = u, this.eat(17) && (h.optional = !0, this.raise(ft.TupleOptionalAfterType,
        this.state.lastTokStartLoc))) : (h = this.startNodeAt(i), h.optional = l, this.raise(ft.InvalidTupleMemberLabel, u), h.label = u, h.
        elementType = this.tsParseType()), u = this.finishNode(h, "TSNamedTupleMember");
      } else if (l) {
        let h = this.startNodeAt(i);
        h.typeAnnotation = u, u = this.finishNode(h, "TSOptionalType");
      }
      if (r) {
        let h = this.startNodeAt(s);
        h.typeAnnotation = u, u = this.finishNode(h, "TSRestType");
      }
      return u;
    }
    tsParseParenthesizedType() {
      let s = this.startNode();
      return this.expect(10), s.typeAnnotation = this.tsParseType(), this.expect(11), this.finishNode(s, "TSParenthesizedType");
    }
    tsParseFunctionOrConstructorType(s, r) {
      let i = this.startNode();
      return s === "TSConstructorType" && (i.abstract = !!r, r && this.next(), this.next()), this.tsInAllowConditionalTypesContext(() => this.
      tsFillSignature(19, i)), this.finishNode(i, s);
    }
    tsParseLiteralTypeNode() {
      let s = this.startNode();
      switch (this.state.type) {
        case 135:
        case 136:
        case 134:
        case 85:
        case 86:
          s.literal = super.parseExprAtom();
          break;
        default:
          this.unexpected();
      }
      return this.finishNode(s, "TSLiteralType");
    }
    tsParseTemplateLiteralType() {
      {
        let s = this.startNode();
        return s.literal = super.parseTemplate(!1), this.finishNode(s, "TSLiteralType");
      }
    }
    parseTemplateSubstitution() {
      return this.state.inType ? this.tsParseType() : super.parseTemplateSubstitution();
    }
    tsParseThisTypeOrThisTypePredicate() {
      let s = this.tsParseThisTypeNode();
      return this.isContextual(116) && !this.hasPrecedingLineBreak() ? this.tsParseThisTypePredicate(s) : s;
    }
    tsParseNonArrayType() {
      switch (this.state.type) {
        case 134:
        case 135:
        case 136:
        case 85:
        case 86:
          return this.tsParseLiteralTypeNode();
        case 53:
          if (this.state.value === "-") {
            let s = this.startNode(), r = this.lookahead();
            return r.type !== 135 && r.type !== 136 && this.unexpected(), s.literal = this.parseMaybeUnary(), this.finishNode(s, "TSLiteralT\
ype");
          }
          break;
        case 78:
          return this.tsParseThisTypeOrThisTypePredicate();
        case 87:
          return this.tsParseTypeQuery();
        case 83:
          return this.tsParseImportType();
        case 5:
          return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral();
        case 0:
          return this.tsParseTupleType();
        case 10:
          return this.tsParseParenthesizedType();
        case 25:
        case 24:
          return this.tsParseTemplateLiteralType();
        default: {
          let {
            type: s
          } = this.state;
          if (er(s) || s === 88 || s === 84) {
            let r = s === 88 ? "TSVoidKeyword" : s === 84 ? "TSNullKeyword" : V1t(this.state.value);
            if (r !== void 0 && this.lookaheadCharCode() !== 46) {
              let i = this.startNode();
              return this.next(), this.finishNode(i, r);
            }
            return this.tsParseTypeReference();
          }
        }
      }
      this.unexpected();
    }
    tsParseArrayTypeOrHigher() {
      let {
        startLoc: s
      } = this.state, r = this.tsParseNonArrayType();
      for (; !this.hasPrecedingLineBreak() && this.eat(0); )
        if (this.match(3)) {
          let i = this.startNodeAt(s);
          i.elementType = r, this.expect(3), r = this.finishNode(i, "TSArrayType");
        } else {
          let i = this.startNodeAt(s);
          i.objectType = r, i.indexType = this.tsParseType(), this.expect(3), r = this.finishNode(i, "TSIndexedAccessType");
        }
      return r;
    }
    tsParseTypeOperator() {
      let s = this.startNode(), r = this.state.value;
      return this.next(), s.operator = r, s.typeAnnotation = this.tsParseTypeOperatorOrHigher(), r === "readonly" && this.tsCheckTypeAnnotationForReadOnly(
      s), this.finishNode(s, "TSTypeOperator");
    }
    tsCheckTypeAnnotationForReadOnly(s) {
      switch (s.typeAnnotation.type) {
        case "TSTupleType":
        case "TSArrayType":
          return;
        default:
          this.raise(ft.UnexpectedReadonly, s);
      }
    }
    tsParseInferType() {
      let s = this.startNode();
      this.expectContextual(115);
      let r = this.startNode();
      return r.name = this.tsParseTypeParameterName(), r.constraint = this.tsTryParse(() => this.tsParseConstraintForInferType()), s.typeParameter =
      this.finishNode(r, "TSTypeParameter"), this.finishNode(s, "TSInferType");
    }
    tsParseConstraintForInferType() {
      if (this.eat(81)) {
        let s = this.tsInDisallowConditionalTypesContext(() => this.tsParseType());
        if (this.state.inDisallowConditionalTypesContext || !this.match(17))
          return s;
      }
    }
    tsParseTypeOperatorOrHigher() {
      return u1t(this.state.type) && !this.state.containsEsc ? this.tsParseTypeOperator() : this.isContextual(115) ? this.tsParseInferType() :
      this.tsInAllowConditionalTypesContext(() => this.tsParseArrayTypeOrHigher());
    }
    tsParseUnionOrIntersectionType(s, r, i) {
      let a = this.startNode(), o = this.eat(i), l = [];
      do
        l.push(r());
      while (this.eat(i));
      return l.length === 1 && !o ? l[0] : (a.types = l, this.finishNode(a, s));
    }
    tsParseIntersectionTypeOrHigher() {
      return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), 45);
    }
    tsParseUnionTypeOrHigher() {
      return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), 43);
    }
    tsIsStartOfFunctionType() {
      return this.match(47) ? !0 : this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this));
    }
    tsSkipParameterStart() {
      if (er(this.state.type) || this.match(78))
        return this.next(), !0;
      if (this.match(5)) {
        let {
          errors: s
        } = this.state, r = s.length;
        try {
          return this.parseObjectLike(8, !0), s.length === r;
        } catch {
          return !1;
        }
      }
      if (this.match(0)) {
        this.next();
        let {
          errors: s
        } = this.state, r = s.length;
        try {
          return super.parseBindingList(3, 93, 1), s.length === r;
        } catch {
          return !1;
        }
      }
      return !1;
    }
    tsIsUnambiguouslyStartOfFunctionType() {
      return this.next(), !!(this.match(11) || this.match(21) || this.tsSkipParameterStart() && (this.match(14) || this.match(12) || this.match(
      17) || this.match(29) || this.match(11) && (this.next(), this.match(19))));
    }
    tsParseTypeOrTypePredicateAnnotation(s) {
      return this.tsInType(() => {
        let r = this.startNode();
        this.expect(s);
        let i = this.startNode(), a = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));
        if (a && this.match(78)) {
          let u = this.tsParseThisTypeOrThisTypePredicate();
          return u.type === "TSThisType" ? (i.parameterName = u, i.asserts = !0, i.typeAnnotation = null, u = this.finishNode(i, "TSTypePred\
icate")) : (this.resetStartLocationFromNode(u, i), u.asserts = !0), r.typeAnnotation = u, this.finishNode(r, "TSTypeAnnotation");
        }
        let o = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));
        if (!o)
          return a ? (i.parameterName = this.parseIdentifier(), i.asserts = a, i.typeAnnotation = null, r.typeAnnotation = this.finishNode(i,
          "TSTypePredicate"), this.finishNode(r, "TSTypeAnnotation")) : this.tsParseTypeAnnotation(!1, r);
        let l = this.tsParseTypeAnnotation(!1);
        return i.parameterName = o, i.typeAnnotation = l, i.asserts = a, r.typeAnnotation = this.finishNode(i, "TSTypePredicate"), this.finishNode(
        r, "TSTypeAnnotation");
      });
    }
    tsTryParseTypeOrTypePredicateAnnotation() {
      if (this.match(14))
        return this.tsParseTypeOrTypePredicateAnnotation(14);
    }
    tsTryParseTypeAnnotation() {
      if (this.match(14))
        return this.tsParseTypeAnnotation();
    }
    tsTryParseType() {
      return this.tsEatThenParseType(14);
    }
    tsParseTypePredicatePrefix() {
      let s = this.parseIdentifier();
      if (this.isContextual(116) && !this.hasPrecedingLineBreak())
        return this.next(), s;
    }
    tsParseTypePredicateAsserts() {
      if (this.state.type !== 109)
        return !1;
      let s = this.state.containsEsc;
      return this.next(), !er(this.state.type) && !this.match(78) ? !1 : (s && this.raise(ee.InvalidEscapedReservedWord, this.state.lastTokStartLoc,
      {
        reservedWord: "asserts"
      }), !0);
    }
    tsParseTypeAnnotation(s = !0, r = this.startNode()) {
      return this.tsInType(() => {
        s && this.expect(14), r.typeAnnotation = this.tsParseType();
      }), this.finishNode(r, "TSTypeAnnotation");
    }
    tsParseType() {
      Cre(this.state.inType);
      let s = this.tsParseNonConditionalType();
      if (this.state.inDisallowConditionalTypesContext || this.hasPrecedingLineBreak() || !this.eat(81))
        return s;
      let r = this.startNodeAtNode(s);
      return r.checkType = s, r.extendsType = this.tsInDisallowConditionalTypesContext(() => this.tsParseNonConditionalType()), this.expect(
      17), r.trueType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()), this.expect(14), r.falseType = this.tsInAllowConditionalTypesContext(
      () => this.tsParseType()), this.finishNode(r, "TSConditionalType");
    }
    isAbstractConstructorSignature() {
      return this.isContextual(124) && this.lookahead().type === 77;
    }
    tsParseNonConditionalType() {
      return this.tsIsStartOfFunctionType() ? this.tsParseFunctionOrConstructorType("TSFunctionType") : this.match(77) ? this.tsParseFunctionOrConstructorType(
      "TSConstructorType") : this.isAbstractConstructorSignature() ? this.tsParseFunctionOrConstructorType("TSConstructorType", !0) : this.tsParseUnionTypeOrHigher();
    }
    tsParseTypeAssertion() {
      this.getPluginOption("typescript", "disallowAmbiguousJSXLike") && this.raise(ft.ReservedTypeAssertion, this.state.startLoc);
      let s = this.startNode();
      return s.typeAnnotation = this.tsInType(() => (this.next(), this.match(75) ? this.tsParseTypeReference() : this.tsParseType())), this.
      expect(48), s.expression = this.parseMaybeUnary(), this.finishNode(s, "TSTypeAssertion");
    }
    tsParseHeritageClause(s) {
      let r = this.state.startLoc, i = this.tsParseDelimitedList("HeritageClauseElement", () => {
        let a = this.startNode();
        return a.expression = this.tsParseEntityName(3), this.match(47) && (a.typeParameters = this.tsParseTypeArguments()), this.finishNode(
        a, "TSExpressionWithTypeArguments");
      });
      return i.length || this.raise(ft.EmptyHeritageClauseType, r, {
        token: s
      }), i;
    }
    tsParseInterfaceDeclaration(s, r = {}) {
      if (this.hasFollowingLineBreak()) return null;
      this.expectContextual(129), r.declare && (s.declare = !0), er(this.state.type) ? (s.id = this.parseIdentifier(), this.checkIdentifier(
      s.id, 130)) : (s.id = null, this.raise(ft.MissingInterfaceName, this.state.startLoc)), s.typeParameters = this.tsTryParseTypeParameters(
      this.tsParseInOutConstModifiers), this.eat(81) && (s.extends = this.tsParseHeritageClause("extends"));
      let i = this.startNode();
      return i.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this)), s.body = this.finishNode(i, "TSInterfaceBody"), this.finishNode(
      s, "TSInterfaceDeclaration");
    }
    tsParseTypeAliasDeclaration(s) {
      return s.id = this.parseIdentifier(), this.checkIdentifier(s.id, 2), s.typeAnnotation = this.tsInType(() => {
        if (s.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers), this.expect(29), this.isContextual(114) && this.lookahead().
        type !== 16) {
          let r = this.startNode();
          return this.next(), this.finishNode(r, "TSIntrinsicKeyword");
        }
        return this.tsParseType();
      }), this.semicolon(), this.finishNode(s, "TSTypeAliasDeclaration");
    }
    tsInTopLevelContext(s) {
      if (this.curContext() !== Zs.brace) {
        let r = this.state.context;
        this.state.context = [r[0]];
        try {
          return s();
        } finally {
          this.state.context = r;
        }
      } else
        return s();
    }
    tsInType(s) {
      let r = this.state.inType;
      this.state.inType = !0;
      try {
        return s();
      } finally {
        this.state.inType = r;
      }
    }
    tsInDisallowConditionalTypesContext(s) {
      let r = this.state.inDisallowConditionalTypesContext;
      this.state.inDisallowConditionalTypesContext = !0;
      try {
        return s();
      } finally {
        this.state.inDisallowConditionalTypesContext = r;
      }
    }
    tsInAllowConditionalTypesContext(s) {
      let r = this.state.inDisallowConditionalTypesContext;
      this.state.inDisallowConditionalTypesContext = !1;
      try {
        return s();
      } finally {
        this.state.inDisallowConditionalTypesContext = r;
      }
    }
    tsEatThenParseType(s) {
      if (this.match(s))
        return this.tsNextThenParseType();
    }
    tsExpectThenParseType(s) {
      return this.tsInType(() => (this.expect(s), this.tsParseType()));
    }
    tsNextThenParseType() {
      return this.tsInType(() => (this.next(), this.tsParseType()));
    }
    tsParseEnumMember() {
      let s = this.startNode();
      return s.id = this.match(134) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(!0), this.eat(29) && (s.initializer =
      super.parseMaybeAssignAllowIn()), this.finishNode(s, "TSEnumMember");
    }
    tsParseEnumDeclaration(s, r = {}) {
      return r.const && (s.const = !0), r.declare && (s.declare = !0), this.expectContextual(126), s.id = this.parseIdentifier(), this.checkIdentifier(
      s.id, s.const ? 8971 : 8459), this.expect(5), s.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)),
      this.expect(8), this.finishNode(s, "TSEnumDeclaration");
    }
    tsParseEnumBody() {
      let s = this.startNode();
      return this.expect(5), s.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)), this.expect(8), this.finishNode(
      s, "TSEnumBody");
    }
    tsParseModuleBlock() {
      let s = this.startNode();
      return this.scope.enter(0), this.expect(5), super.parseBlockOrModuleBlockBody(s.body = [], void 0, !0, 8), this.scope.exit(), this.finishNode(
      s, "TSModuleBlock");
    }
    tsParseModuleOrNamespaceDeclaration(s, r = !1) {
      if (s.id = this.parseIdentifier(), r || this.checkIdentifier(s.id, 1024), this.eat(16)) {
        let i = this.startNode();
        this.tsParseModuleOrNamespaceDeclaration(i, !0), s.body = i;
      } else
        this.scope.enter(256), this.prodParam.enter(0), s.body = this.tsParseModuleBlock(), this.prodParam.exit(), this.scope.exit();
      return this.finishNode(s, "TSModuleDeclaration");
    }
    tsParseAmbientExternalModuleDeclaration(s) {
      return this.isContextual(112) ? (s.kind = "global", s.global = !0, s.id = this.parseIdentifier()) : this.match(134) ? (s.kind = "modul\
e", s.id = super.parseStringLiteral(this.state.value)) : this.unexpected(), this.match(5) ? (this.scope.enter(256), this.prodParam.enter(0),
      s.body = this.tsParseModuleBlock(), this.prodParam.exit(), this.scope.exit()) : this.semicolon(), this.finishNode(s, "TSModuleDeclarat\
ion");
    }
    tsParseImportEqualsDeclaration(s, r, i) {
      s.isExport = i || !1, s.id = r || this.parseIdentifier(), this.checkIdentifier(s.id, 4096), this.expect(29);
      let a = this.tsParseModuleReference();
      return s.importKind === "type" && a.type !== "TSExternalModuleReference" && this.raise(ft.ImportAliasHasImportType, a), s.moduleReference =
      a, this.semicolon(), this.finishNode(s, "TSImportEqualsDeclaration");
    }
    tsIsExternalModuleReference() {
      return this.isContextual(119) && this.lookaheadCharCode() === 40;
    }
    tsParseModuleReference() {
      return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(0);
    }
    tsParseExternalModuleReference() {
      let s = this.startNode();
      return this.expectContextual(119), this.expect(10), this.match(134) || this.unexpected(), s.expression = super.parseExprAtom(), this.expect(
      11), this.sawUnambiguousESM = !0, this.finishNode(s, "TSExternalModuleReference");
    }
    tsLookAhead(s) {
      let r = this.state.clone(), i = s();
      return this.state = r, i;
    }
    tsTryParseAndCatch(s) {
      let r = this.tryParse((i) => s() || i());
      if (!(r.aborted || !r.node))
        return r.error && (this.state = r.failState), r.node;
    }
    tsTryParse(s) {
      let r = this.state.clone(), i = s();
      if (i !== void 0 && i !== !1)
        return i;
      this.state = r;
    }
    tsTryParseDeclare(s) {
      if (this.isLineTerminator())
        return;
      let r = this.state.type, i;
      return this.isContextual(100) && (r = 74, i = "let"), this.tsInAmbientContext(() => {
        switch (r) {
          case 68:
            return s.declare = !0, super.parseFunctionStatement(s, !1, !1);
          case 80:
            return s.declare = !0, this.parseClass(s, !0, !1);
          case 126:
            return this.tsParseEnumDeclaration(s, {
              declare: !0
            });
          case 112:
            return this.tsParseAmbientExternalModuleDeclaration(s);
          case 75:
          case 74:
            return !this.match(75) || !this.isLookaheadContextual("enum") ? (s.declare = !0, this.parseVarStatement(s, i || this.state.value,
            !0)) : (this.expect(75), this.tsParseEnumDeclaration(s, {
              const: !0,
              declare: !0
            }));
          case 129: {
            let a = this.tsParseInterfaceDeclaration(s, {
              declare: !0
            });
            if (a) return a;
          }
          default:
            if (er(r))
              return this.tsParseDeclaration(s, this.state.value, !0, null);
        }
      });
    }
    tsTryParseExportDeclaration() {
      return this.tsParseDeclaration(this.startNode(), this.state.value, !0, null);
    }
    tsParseExpressionStatement(s, r, i) {
      switch (r.name) {
        case "declare": {
          let a = this.tsTryParseDeclare(s);
          return a && (a.declare = !0), a;
        }
        case "global":
          if (this.match(5)) {
            this.scope.enter(256), this.prodParam.enter(0);
            let a = s;
            return a.kind = "global", s.global = !0, a.id = r, a.body = this.tsParseModuleBlock(), this.scope.exit(), this.prodParam.exit(),
            this.finishNode(a, "TSModuleDeclaration");
          }
          break;
        default:
          return this.tsParseDeclaration(s, r.name, !1, i);
      }
    }
    tsParseDeclaration(s, r, i, a) {
      switch (r) {
        case "abstract":
          if (this.tsCheckLineTerminator(i) && (this.match(80) || er(this.state.type)))
            return this.tsParseAbstractDeclaration(s, a);
          break;
        case "module":
          if (this.tsCheckLineTerminator(i)) {
            if (this.match(134))
              return this.tsParseAmbientExternalModuleDeclaration(s);
            if (er(this.state.type))
              return s.kind = "module", this.tsParseModuleOrNamespaceDeclaration(s);
          }
          break;
        case "namespace":
          if (this.tsCheckLineTerminator(i) && er(this.state.type))
            return s.kind = "namespace", this.tsParseModuleOrNamespaceDeclaration(s);
          break;
        case "type":
          if (this.tsCheckLineTerminator(i) && er(this.state.type))
            return this.tsParseTypeAliasDeclaration(s);
          break;
      }
    }
    tsCheckLineTerminator(s) {
      return s ? this.hasFollowingLineBreak() ? !1 : (this.next(), !0) : !this.isLineTerminator();
    }
    tsTryParseGenericAsyncArrowFunction(s) {
      if (!this.match(47)) return;
      let r = this.state.maybeInArrowParameters;
      this.state.maybeInArrowParameters = !0;
      let i = this.tsTryParseAndCatch(() => {
        let a = this.startNodeAt(s);
        return a.typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier), super.parseFunctionParams(a), a.returnType = this.tsTryParseTypeOrTypePredicateAnnotation(),
        this.expect(19), a;
      });
      if (this.state.maybeInArrowParameters = r, !!i)
        return super.parseArrowExpression(i, null, !0);
    }
    tsParseTypeArgumentsInExpression() {
      if (this.reScan_lt() === 47)
        return this.tsParseTypeArguments();
    }
    tsParseTypeArguments() {
      let s = this.startNode();
      return s.params = this.tsInType(() => this.tsInTopLevelContext(() => (this.expect(47), this.tsParseDelimitedList("TypeParametersOrArgu\
ments", this.tsParseType.bind(this))))), s.params.length === 0 ? this.raise(ft.EmptyTypeArguments, s) : !this.state.inType && this.curContext() ===
      Zs.brace && this.reScan_lt_gt(), this.expect(48), this.finishNode(s, "TSTypeParameterInstantiation");
    }
    tsIsDeclarationStart() {
      return c1t(this.state.type);
    }
    isExportDefaultSpecifier() {
      return this.tsIsDeclarationStart() ? !1 : super.isExportDefaultSpecifier();
    }
    parseAssignableListItem(s, r) {
      let i = this.state.startLoc, a = {};
      this.tsParseModifiers({
        allowedModifiers: ["public", "private", "protected", "override", "readonly"]
      }, a);
      let o = a.accessibility, l = a.override, u = a.readonly;
      !(s & 4) && (o || u || l) && this.raise(ft.UnexpectedParameterModifier, i);
      let c = this.parseMaybeDefault();
      s & 2 && this.parseFunctionParamType(c);
      let p = this.parseMaybeDefault(c.loc.start, c);
      if (o || u || l) {
        let h = this.startNodeAt(i);
        return r.length && (h.decorators = r), o && (h.accessibility = o), u && (h.readonly = u), l && (h.override = l), p.type !== "Identif\
ier" && p.type !== "AssignmentPattern" && this.raise(ft.UnsupportedParameterPropertyKind, h), h.parameter = p, this.finishNode(h, "TSParamet\
erProperty");
      }
      return r.length && (c.decorators = r), p;
    }
    isSimpleParameter(s) {
      return s.type === "TSParameterProperty" && super.isSimpleParameter(s.parameter) || super.isSimpleParameter(s);
    }
    tsDisallowOptionalPattern(s) {
      for (let r of s.params)
        r.type !== "Identifier" && r.optional && !this.state.isAmbientContext && this.raise(ft.PatternIsOptional, r);
    }
    setArrowFunctionParameters(s, r, i) {
      super.setArrowFunctionParameters(s, r, i), this.tsDisallowOptionalPattern(s);
    }
    parseFunctionBodyAndFinish(s, r, i = !1) {
      this.match(14) && (s.returnType = this.tsParseTypeOrTypePredicateAnnotation(14));
      let a = r === "FunctionDeclaration" ? "TSDeclareFunction" : r === "ClassMethod" || r === "ClassPrivateMethod" ? "TSDeclareMethod" : void 0;
      return a && !this.match(5) && this.isLineTerminator() ? this.finishNode(s, a) : a === "TSDeclareFunction" && this.state.isAmbientContext &&
      (this.raise(ft.DeclareFunctionHasImplementation, s), s.declare) ? super.parseFunctionBodyAndFinish(s, a, i) : (this.tsDisallowOptionalPattern(
      s), super.parseFunctionBodyAndFinish(s, r, i));
    }
    registerFunctionStatementId(s) {
      !s.body && s.id ? this.checkIdentifier(s.id, 1024) : super.registerFunctionStatementId(s);
    }
    tsCheckForInvalidTypeCasts(s) {
      s.forEach((r) => {
        r?.type === "TSTypeCastExpression" && this.raise(ft.UnexpectedTypeAnnotation, r.typeAnnotation);
      });
    }
    toReferencedList(s, r) {
      return this.tsCheckForInvalidTypeCasts(s), s;
    }
    parseArrayLike(s, r, i, a) {
      let o = super.parseArrayLike(s, r, i, a);
      return o.type === "ArrayExpression" && this.tsCheckForInvalidTypeCasts(o.elements), o;
    }
    parseSubscript(s, r, i, a) {
      if (!this.hasPrecedingLineBreak() && this.match(35)) {
        this.state.canStartJSXElement = !1, this.next();
        let l = this.startNodeAt(r);
        return l.expression = s, this.finishNode(l, "TSNonNullExpression");
      }
      let o = !1;
      if (this.match(18) && this.lookaheadCharCode() === 60) {
        if (i)
          return a.stop = !0, s;
        a.optionalChainMember = o = !0, this.next();
      }
      if (this.match(47) || this.match(51)) {
        let l, u = this.tsTryParseAndCatch(() => {
          if (!i && this.atPossibleAsyncArrow(s)) {
            let f = this.tsTryParseGenericAsyncArrowFunction(r);
            if (f)
              return f;
          }
          let c = this.tsParseTypeArgumentsInExpression();
          if (!c) return;
          if (o && !this.match(10)) {
            l = this.state.curPosition();
            return;
          }
          if (eA(this.state.type)) {
            let f = super.parseTaggedTemplateExpression(s, r, a);
            return f.typeParameters = c, f;
          }
          if (!i && this.eat(10)) {
            let f = this.startNodeAt(r);
            return f.callee = s, f.arguments = this.parseCallExpressionArguments(11), this.tsCheckForInvalidTypeCasts(f.arguments), f.typeParameters =
            c, a.optionalChainMember && (f.optional = o), this.finishCallExpression(f, a.optionalChainMember);
          }
          let p = this.state.type;
          if (p === 48 || p === 52 || p !== 10 && oM(p) && !this.hasPrecedingLineBreak())
            return;
          let h = this.startNodeAt(r);
          return h.expression = s, h.typeParameters = c, this.finishNode(h, "TSInstantiationExpression");
        });
        if (l && this.unexpected(l, 10), u)
          return u.type === "TSInstantiationExpression" && (this.match(16) || this.match(18) && this.lookaheadCharCode() !== 40) && this.raise(
          ft.InvalidPropertyAccessAfterInstantiationExpression, this.state.startLoc), u;
      }
      return super.parseSubscript(s, r, i, a);
    }
    parseNewCallee(s) {
      var r;
      super.parseNewCallee(s);
      let {
        callee: i
      } = s;
      i.type === "TSInstantiationExpression" && !((r = i.extra) != null && r.parenthesized) && (s.typeParameters = i.typeParameters, s.callee =
      i.expression);
    }
    parseExprOp(s, r, i) {
      let a;
      if (GE(58) > i && !this.hasPrecedingLineBreak() && (this.isContextual(93) || (a = this.isContextual(120)))) {
        let o = this.startNodeAt(r);
        return o.expression = s, o.typeAnnotation = this.tsInType(() => (this.next(), this.match(75) ? (a && this.raise(ee.UnexpectedKeyword,
        this.state.startLoc, {
          keyword: "const"
        }), this.tsParseTypeReference()) : this.tsParseType())), this.finishNode(o, a ? "TSSatisfiesExpression" : "TSAsExpression"), this.reScan_lt_gt(),
        this.parseExprOp(o, r, i);
      }
      return super.parseExprOp(s, r, i);
    }
    checkReservedWord(s, r, i, a) {
      this.state.isAmbientContext || super.checkReservedWord(s, r, i, a);
    }
    checkImportReflection(s) {
      super.checkImportReflection(s), s.module && s.importKind !== "value" && this.raise(ft.ImportReflectionHasImportType, s.specifiers[0].loc.
      start);
    }
    checkDuplicateExports() {
    }
    isPotentialImportPhase(s) {
      if (super.isPotentialImportPhase(s)) return !0;
      if (this.isContextual(130)) {
        let r = this.lookaheadCharCode();
        return s ? r === 123 || r === 42 : r !== 61;
      }
      return !s && this.isContextual(87);
    }
    applyImportPhase(s, r, i, a) {
      super.applyImportPhase(s, r, i, a), r ? s.exportKind = i === "type" ? "type" : "value" : s.importKind = i === "type" || i === "typeof" ?
      i : "value";
    }
    parseImport(s) {
      if (this.match(134))
        return s.importKind = "value", super.parseImport(s);
      let r;
      if (er(this.state.type) && this.lookaheadCharCode() === 61)
        return s.importKind = "value", this.tsParseImportEqualsDeclaration(s);
      if (this.isContextual(130)) {
        let i = this.parseMaybeImportPhase(s, !1);
        if (this.lookaheadCharCode() === 61)
          return this.tsParseImportEqualsDeclaration(s, i);
        r = super.parseImportSpecifiersAndAfter(s, i);
      } else
        r = super.parseImport(s);
      return r.importKind === "type" && r.specifiers.length > 1 && r.specifiers[0].type === "ImportDefaultSpecifier" && this.raise(ft.TypeImportCannotSpecifyDefaultAndNamed,
      r), r;
    }
    parseExport(s, r) {
      if (this.match(83)) {
        let i = s;
        this.next();
        let a = null;
        return this.isContextual(130) && this.isPotentialImportPhase(!1) ? a = this.parseMaybeImportPhase(i, !1) : i.importKind = "value", this.
        tsParseImportEqualsDeclaration(i, a, !0);
      } else if (this.eat(29)) {
        let i = s;
        return i.expression = super.parseExpression(), this.semicolon(), this.sawUnambiguousESM = !0, this.finishNode(i, "TSExportAssignment");
      } else if (this.eatContextual(93)) {
        let i = s;
        return this.expectContextual(128), i.id = this.parseIdentifier(), this.semicolon(), this.finishNode(i, "TSNamespaceExportDeclaration");
      } else
        return super.parseExport(s, r);
    }
    isAbstractClass() {
      return this.isContextual(124) && this.lookahead().type === 80;
    }
    parseExportDefaultExpression() {
      if (this.isAbstractClass()) {
        let s = this.startNode();
        return this.next(), s.abstract = !0, this.parseClass(s, !0, !0);
      }
      if (this.match(129)) {
        let s = this.tsParseInterfaceDeclaration(this.startNode());
        if (s) return s;
      }
      return super.parseExportDefaultExpression();
    }
    parseVarStatement(s, r, i = !1) {
      let {
        isAmbientContext: a
      } = this.state, o = super.parseVarStatement(s, r, i || a);
      if (!a) return o;
      for (let {
        id: l,
        init: u
      } of o.declarations)
        u && (r !== "const" || l.typeAnnotation ? this.raise(ft.InitializerNotAllowedInAmbientContext, u) : J1t(u, this.hasPlugin("estree")) ||
        this.raise(ft.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference, u));
      return o;
    }
    parseStatementContent(s, r) {
      if (this.match(75) && this.isLookaheadContextual("enum")) {
        let i = this.startNode();
        return this.expect(75), this.tsParseEnumDeclaration(i, {
          const: !0
        });
      }
      if (this.isContextual(126))
        return this.tsParseEnumDeclaration(this.startNode());
      if (this.isContextual(129)) {
        let i = this.tsParseInterfaceDeclaration(this.startNode());
        if (i) return i;
      }
      return super.parseStatementContent(s, r);
    }
    parseAccessModifier() {
      return this.tsParseModifier(["public", "protected", "private"]);
    }
    tsHasSomeModifiers(s, r) {
      return r.some((i) => wre(i) ? s.accessibility === i : !!s[i]);
    }
    tsIsStartOfStaticBlocks() {
      return this.isContextual(106) && this.lookaheadCharCode() === 123;
    }
    parseClassMember(s, r, i) {
      let a = ["declare", "private", "public", "protected", "override", "abstract", "readonly", "static"];
      this.tsParseModifiers({
        allowedModifiers: a,
        disallowedModifiers: ["in", "out"],
        stopOnStartOfClassStaticBlock: !0,
        errorTemplate: ft.InvalidModifierOnTypeParameterPositions
      }, r);
      let o = /* @__PURE__ */ n(() => {
        this.tsIsStartOfStaticBlocks() ? (this.next(), this.next(), this.tsHasSomeModifiers(r, a) && this.raise(ft.StaticBlockCannotHaveModifier,
        this.state.curPosition()), super.parseClassStaticBlock(s, r)) : this.parseClassMemberWithIsStatic(s, r, i, !!r.static);
      }, "callParseClassMemberWithIsStatic");
      r.declare ? this.tsInAmbientContext(o) : o();
    }
    parseClassMemberWithIsStatic(s, r, i, a) {
      let o = this.tsTryParseIndexSignature(r);
      if (o) {
        s.body.push(o), r.abstract && this.raise(ft.IndexSignatureHasAbstract, r), r.accessibility && this.raise(ft.IndexSignatureHasAccessibility,
        r, {
          modifier: r.accessibility
        }), r.declare && this.raise(ft.IndexSignatureHasDeclare, r), r.override && this.raise(ft.IndexSignatureHasOverride, r);
        return;
      }
      !this.state.inAbstractClass && r.abstract && this.raise(ft.NonAbstractClassHasAbstractMethod, r), r.override && (i.hadSuperClass || this.
      raise(ft.OverrideNotInSubClass, r)), super.parseClassMemberWithIsStatic(s, r, i, a);
    }
    parsePostMemberNameModifiers(s) {
      this.eat(17) && (s.optional = !0), s.readonly && this.match(10) && this.raise(ft.ClassMethodHasReadonly, s), s.declare && this.match(10) &&
      this.raise(ft.ClassMethodHasDeclare, s);
    }
    parseExpressionStatement(s, r, i) {
      return (r.type === "Identifier" ? this.tsParseExpressionStatement(s, r, i) : void 0) || super.parseExpressionStatement(s, r, i);
    }
    shouldParseExportDeclaration() {
      return this.tsIsDeclarationStart() ? !0 : super.shouldParseExportDeclaration();
    }
    parseConditional(s, r, i) {
      if (!this.state.maybeInArrowParameters || !this.match(17))
        return super.parseConditional(s, r, i);
      let a = this.tryParse(() => super.parseConditional(s, r));
      return a.node ? (a.error && (this.state = a.failState), a.node) : (a.error && super.setOptionalParametersError(i, a.error), s);
    }
    parseParenItem(s, r) {
      let i = super.parseParenItem(s, r);
      if (this.eat(17) && (i.optional = !0, this.resetEndLocation(s)), this.match(14)) {
        let a = this.startNodeAt(r);
        return a.expression = s, a.typeAnnotation = this.tsParseTypeAnnotation(), this.finishNode(a, "TSTypeCastExpression");
      }
      return s;
    }
    parseExportDeclaration(s) {
      if (!this.state.isAmbientContext && this.isContextual(125))
        return this.tsInAmbientContext(() => this.parseExportDeclaration(s));
      let r = this.state.startLoc, i = this.eatContextual(125);
      if (i && (this.isContextual(125) || !this.shouldParseExportDeclaration()))
        throw this.raise(ft.ExpectedAmbientAfterExportDeclare, this.state.startLoc);
      let o = er(this.state.type) && this.tsTryParseExportDeclaration() || super.parseExportDeclaration(s);
      return o ? ((o.type === "TSInterfaceDeclaration" || o.type === "TSTypeAliasDeclaration" || i) && (s.exportKind = "type"), i && o.type !==
      "TSImportEqualsDeclaration" && (this.resetStartLocation(o, r), o.declare = !0), o) : null;
    }
    parseClassId(s, r, i, a) {
      if ((!r || i) && this.isContextual(113))
        return;
      super.parseClassId(s, r, i, s.declare ? 1024 : 8331);
      let o = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);
      o && (s.typeParameters = o);
    }
    parseClassPropertyAnnotation(s) {
      s.optional || (this.eat(35) ? s.definite = !0 : this.eat(17) && (s.optional = !0));
      let r = this.tsTryParseTypeAnnotation();
      r && (s.typeAnnotation = r);
    }
    parseClassProperty(s) {
      if (this.parseClassPropertyAnnotation(s), this.state.isAmbientContext && !(s.readonly && !s.typeAnnotation) && this.match(29) && this.
      raise(ft.DeclareClassFieldHasInitializer, this.state.startLoc), s.abstract && this.match(29)) {
        let {
          key: r
        } = s;
        this.raise(ft.AbstractPropertyHasInitializer, this.state.startLoc, {
          propertyName: r.type === "Identifier" && !s.computed ? r.name : `[${this.input.slice(this.offsetToSourcePos(r.start), this.offsetToSourcePos(
          r.end))}]`
        });
      }
      return super.parseClassProperty(s);
    }
    parseClassPrivateProperty(s) {
      return s.abstract && this.raise(ft.PrivateElementHasAbstract, s), s.accessibility && this.raise(ft.PrivateElementHasAccessibility, s, {
        modifier: s.accessibility
      }), this.parseClassPropertyAnnotation(s), super.parseClassPrivateProperty(s);
    }
    parseClassAccessorProperty(s) {
      return this.parseClassPropertyAnnotation(s), s.optional && this.raise(ft.AccessorCannotBeOptional, s), super.parseClassAccessorProperty(
      s);
    }
    pushClassMethod(s, r, i, a, o, l) {
      let u = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      u && o && this.raise(ft.ConstructorHasTypeParameters, u);
      let {
        declare: c = !1,
        kind: p
      } = r;
      c && (p === "get" || p === "set") && this.raise(ft.DeclareAccessor, r, {
        kind: p
      }), u && (r.typeParameters = u), super.pushClassMethod(s, r, i, a, o, l);
    }
    pushClassPrivateMethod(s, r, i, a) {
      let o = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      o && (r.typeParameters = o), super.pushClassPrivateMethod(s, r, i, a);
    }
    declareClassPrivateMethodInScope(s, r) {
      s.type !== "TSDeclareMethod" && (s.type === "MethodDefinition" && !hasOwnProperty.call(s.value, "body") || super.declareClassPrivateMethodInScope(
      s, r));
    }
    parseClassSuper(s) {
      super.parseClassSuper(s), s.superClass && (this.match(47) || this.match(51)) && (s.superTypeParameters = this.tsParseTypeArgumentsInExpression()),
      this.eatContextual(113) && (s.implements = this.tsParseHeritageClause("implements"));
    }
    parseObjPropValue(s, r, i, a, o, l, u) {
      let c = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      return c && (s.typeParameters = c), super.parseObjPropValue(s, r, i, a, o, l, u);
    }
    parseFunctionParams(s, r) {
      let i = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      i && (s.typeParameters = i), super.parseFunctionParams(s, r);
    }
    parseVarId(s, r) {
      super.parseVarId(s, r), s.id.type === "Identifier" && !this.hasPrecedingLineBreak() && this.eat(35) && (s.definite = !0);
      let i = this.tsTryParseTypeAnnotation();
      i && (s.id.typeAnnotation = i, this.resetEndLocation(s.id));
    }
    parseAsyncArrowFromCallExpression(s, r) {
      return this.match(14) && (s.returnType = this.tsParseTypeAnnotation()), super.parseAsyncArrowFromCallExpression(s, r);
    }
    parseMaybeAssign(s, r) {
      var i, a, o, l, u;
      let c, p, h;
      if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) {
        if (c = this.state.clone(), p = this.tryParse(() => super.parseMaybeAssign(s, r), c), !p.error) return p.node;
        let {
          context: m
        } = this.state, y = m[m.length - 1];
        (y === Zs.j_oTag || y === Zs.j_expr) && m.pop();
      }
      if (!((i = p) != null && i.error) && !this.match(47))
        return super.parseMaybeAssign(s, r);
      (!c || c === this.state) && (c = this.state.clone());
      let f, d = this.tryParse((m) => {
        var y, T;
        f = this.tsParseTypeParameters(this.tsParseConstModifier);
        let b = super.parseMaybeAssign(s, r);
        return (b.type !== "ArrowFunctionExpression" || (y = b.extra) != null && y.parenthesized) && m(), ((T = f) == null ? void 0 : T.params.
        length) !== 0 && this.resetStartLocationFromNode(b, f), b.typeParameters = f, b;
      }, c);
      if (!d.error && !d.aborted)
        return f && this.reportReservedArrowTypeParam(f), d.node;
      if (!p && (Cre(!this.hasPlugin("jsx")), h = this.tryParse(() => super.parseMaybeAssign(s, r), c), !h.error))
        return h.node;
      if ((a = p) != null && a.node)
        return this.state = p.failState, p.node;
      if (d.node)
        return this.state = d.failState, f && this.reportReservedArrowTypeParam(f), d.node;
      if ((o = h) != null && o.node)
        return this.state = h.failState, h.node;
      throw ((l = p) == null ? void 0 : l.error) || d.error || ((u = h) == null ? void 0 : u.error);
    }
    reportReservedArrowTypeParam(s) {
      var r;
      s.params.length === 1 && !s.params[0].constraint && !((r = s.extra) != null && r.trailingComma) && this.getPluginOption("typescript", "\
disallowAmbiguousJSXLike") && this.raise(ft.ReservedArrowTypeParam, s);
    }
    parseMaybeUnary(s, r) {
      return !this.hasPlugin("jsx") && this.match(47) ? this.tsParseTypeAssertion() : super.parseMaybeUnary(s, r);
    }
    parseArrow(s) {
      if (this.match(14)) {
        let r = this.tryParse((i) => {
          let a = this.tsParseTypeOrTypePredicateAnnotation(14);
          return (this.canInsertSemicolon() || !this.match(19)) && i(), a;
        });
        if (r.aborted) return;
        r.thrown || (r.error && (this.state = r.failState), s.returnType = r.node);
      }
      return super.parseArrow(s);
    }
    parseFunctionParamType(s) {
      this.eat(17) && (s.optional = !0);
      let r = this.tsTryParseTypeAnnotation();
      return r && (s.typeAnnotation = r), this.resetEndLocation(s), s;
    }
    isAssignable(s, r) {
      switch (s.type) {
        case "TSTypeCastExpression":
          return this.isAssignable(s.expression, r);
        case "TSParameterProperty":
          return !0;
        default:
          return super.isAssignable(s, r);
      }
    }
    toAssignable(s, r = !1) {
      switch (s.type) {
        case "ParenthesizedExpression":
          this.toAssignableParenthesizedExpression(s, r);
          break;
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSNonNullExpression":
        case "TSTypeAssertion":
          r ? this.expressionScope.recordArrowParameterBindingError(ft.UnexpectedTypeCastInParameter, s) : this.raise(ft.UnexpectedTypeCastInParameter,
          s), this.toAssignable(s.expression, r);
          break;
        case "AssignmentExpression":
          !r && s.left.type === "TSTypeCastExpression" && (s.left = this.typeCastToParameter(s.left));
        default:
          super.toAssignable(s, r);
      }
    }
    toAssignableParenthesizedExpression(s, r) {
      switch (s.expression.type) {
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSNonNullExpression":
        case "TSTypeAssertion":
        case "ParenthesizedExpression":
          this.toAssignable(s.expression, r);
          break;
        default:
          super.toAssignable(s, r);
      }
    }
    checkToRestConversion(s, r) {
      switch (s.type) {
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSTypeAssertion":
        case "TSNonNullExpression":
          this.checkToRestConversion(s.expression, !1);
          break;
        default:
          super.checkToRestConversion(s, r);
      }
    }
    isValidLVal(s, r, i) {
      switch (s) {
        case "TSTypeCastExpression":
          return !0;
        case "TSParameterProperty":
          return "parameter";
        case "TSNonNullExpression":
        case "TSInstantiationExpression":
          return "expression";
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSTypeAssertion":
          return (i !== 64 || !r) && ["expression", !0];
        default:
          return super.isValidLVal(s, r, i);
      }
    }
    parseBindingAtom() {
      return this.state.type === 78 ? this.parseIdentifier(!0) : super.parseBindingAtom();
    }
    parseMaybeDecoratorArguments(s, r) {
      if (this.match(47) || this.match(51)) {
        let i = this.tsParseTypeArgumentsInExpression();
        if (this.match(10)) {
          let a = super.parseMaybeDecoratorArguments(s, r);
          return a.typeParameters = i, a;
        }
        this.unexpected(null, 10);
      }
      return super.parseMaybeDecoratorArguments(s, r);
    }
    checkCommaAfterRest(s) {
      return this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === s ? (this.next(), !1) : super.checkCommaAfterRest(
      s);
    }
    isClassMethod() {
      return this.match(47) || super.isClassMethod();
    }
    isClassProperty() {
      return this.match(35) || this.match(14) || super.isClassProperty();
    }
    parseMaybeDefault(s, r) {
      let i = super.parseMaybeDefault(s, r);
      return i.type === "AssignmentPattern" && i.typeAnnotation && i.right.start < i.typeAnnotation.start && this.raise(ft.TypeAnnotationAfterAssign,
      i.typeAnnotation), i;
    }
    getTokenFromCode(s) {
      if (this.state.inType) {
        if (s === 62) {
          this.finishOp(48, 1);
          return;
        }
        if (s === 60) {
          this.finishOp(47, 1);
          return;
        }
      }
      super.getTokenFromCode(s);
    }
    reScan_lt_gt() {
      let {
        type: s
      } = this.state;
      s === 47 ? (this.state.pos -= 1, this.readToken_lt()) : s === 48 && (this.state.pos -= 1, this.readToken_gt());
    }
    reScan_lt() {
      let {
        type: s
      } = this.state;
      return s === 51 ? (this.state.pos -= 2, this.finishOp(47, 1), 47) : s;
    }
    toAssignableList(s, r, i) {
      for (let a = 0; a < s.length; a++) {
        let o = s[a];
        o?.type === "TSTypeCastExpression" && (s[a] = this.typeCastToParameter(o));
      }
      super.toAssignableList(s, r, i);
    }
    typeCastToParameter(s) {
      return s.expression.typeAnnotation = s.typeAnnotation, this.resetEndLocation(s.expression, s.typeAnnotation.loc.end), s.expression;
    }
    shouldParseArrow(s) {
      return this.match(14) ? s.every((r) => this.isAssignable(r, !0)) : super.shouldParseArrow(s);
    }
    shouldParseAsyncArrow() {
      return this.match(14) || super.shouldParseAsyncArrow();
    }
    canHaveLeadingDecorator() {
      return super.canHaveLeadingDecorator() || this.isAbstractClass();
    }
    jsxParseOpeningElementAfterName(s) {
      if (this.match(47) || this.match(51)) {
        let r = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression());
        r && (s.typeParameters = r);
      }
      return super.jsxParseOpeningElementAfterName(s);
    }
    getGetterSetterExpectedParamCount(s) {
      let r = super.getGetterSetterExpectedParamCount(s), a = this.getObjectOrClassMethodParams(s)[0];
      return a && this.isThisParam(a) ? r + 1 : r;
    }
    parseCatchClauseParam() {
      let s = super.parseCatchClauseParam(), r = this.tsTryParseTypeAnnotation();
      return r && (s.typeAnnotation = r, this.resetEndLocation(s)), s;
    }
    tsInAmbientContext(s) {
      let {
        isAmbientContext: r,
        strict: i
      } = this.state;
      this.state.isAmbientContext = !0, this.state.strict = !1;
      try {
        return s();
      } finally {
        this.state.isAmbientContext = r, this.state.strict = i;
      }
    }
    parseClass(s, r, i) {
      let a = this.state.inAbstractClass;
      this.state.inAbstractClass = !!s.abstract;
      try {
        return super.parseClass(s, r, i);
      } finally {
        this.state.inAbstractClass = a;
      }
    }
    tsParseAbstractDeclaration(s, r) {
      if (this.match(80))
        return s.abstract = !0, this.maybeTakeDecorators(r, this.parseClass(s, !0, !1));
      if (this.isContextual(129)) {
        if (!this.hasFollowingLineBreak())
          return s.abstract = !0, this.raise(ft.NonClassMethodPropertyHasAbstractModifer, s), this.tsParseInterfaceDeclaration(s);
      } else
        this.unexpected(null, 80);
    }
    parseMethod(s, r, i, a, o, l, u) {
      let c = super.parseMethod(s, r, i, a, o, l, u);
      if (c.abstract && (this.hasPlugin("estree") ? c.value : c).body) {
        let {
          key: f
        } = c;
        this.raise(ft.AbstractMethodHasImplementation, c, {
          methodName: f.type === "Identifier" && !c.computed ? f.name : `[${this.input.slice(this.offsetToSourcePos(f.start), this.offsetToSourcePos(
          f.end))}]`
        });
      }
      return c;
    }
    tsParseTypeParameterName() {
      return this.parseIdentifier().name;
    }
    shouldParseAsAmbientContext() {
      return !!this.getPluginOption("typescript", "dts");
    }
    parse() {
      return this.shouldParseAsAmbientContext() && (this.state.isAmbientContext = !0), super.parse();
    }
    getExpression() {
      return this.shouldParseAsAmbientContext() && (this.state.isAmbientContext = !0), super.getExpression();
    }
    parseExportSpecifier(s, r, i, a) {
      return !r && a ? (this.parseTypeOnlyImportExportSpecifier(s, !1, i), this.finishNode(s, "ExportSpecifier")) : (s.exportKind = "value",
      super.parseExportSpecifier(s, r, i, a));
    }
    parseImportSpecifier(s, r, i, a, o) {
      return !r && a ? (this.parseTypeOnlyImportExportSpecifier(s, !0, i), this.finishNode(s, "ImportSpecifier")) : (s.importKind = "value",
      super.parseImportSpecifier(s, r, i, a, i ? 4098 : 4096));
    }
    parseTypeOnlyImportExportSpecifier(s, r, i) {
      let a = r ? "imported" : "local", o = r ? "local" : "exported", l = s[a], u, c = !1, p = !0, h = l.loc.start;
      if (this.isContextual(93)) {
        let d = this.parseIdentifier();
        if (this.isContextual(93)) {
          let m = this.parseIdentifier();
          Do(this.state.type) ? (c = !0, l = d, u = r ? this.parseIdentifier() : this.parseModuleExportName(), p = !1) : (u = m, p = !1);
        } else Do(this.state.type) ? (p = !1, u = r ? this.parseIdentifier() : this.parseModuleExportName()) : (c = !0, l = d);
      } else Do(this.state.type) && (c = !0, r ? (l = this.parseIdentifier(!0), this.isContextual(93) || this.checkReservedWord(l.name, l.loc.
      start, !0, !0)) : l = this.parseModuleExportName());
      c && i && this.raise(r ? ft.TypeModifierIsUsedInTypeImports : ft.TypeModifierIsUsedInTypeExports, h), s[a] = l, s[o] = u;
      let f = r ? "importKind" : "exportKind";
      s[f] = c ? "type" : "value", p && this.eatContextual(93) && (s[o] = r ? this.parseIdentifier() : this.parseModuleExportName()), s[o] ||
      (s[o] = Bu(s[a])), r && this.checkIdentifier(s[o], c ? 4098 : 4096);
    }
  }, "typescript");
  function H1t(t) {
    if (t.type !== "MemberExpression") return !1;
    let {
      computed: e,
      property: s
    } = t;
    return e && s.type !== "StringLiteral" && (s.type !== "TemplateLiteral" || s.expressions.length > 0) ? !1 : $re(t.object);
  }
  n(H1t, "isPossiblyLiteralEnum");
  function J1t(t, e) {
    var s;
    let {
      type: r
    } = t;
    if ((s = t.extra) != null && s.parenthesized)
      return !1;
    if (e) {
      if (r === "Literal") {
        let {
          value: i
        } = t;
        if (typeof i == "string" || typeof i == "boolean")
          return !0;
      }
    } else if (r === "StringLiteral" || r === "BooleanLiteral")
      return !0;
    return !!(Wre(t, e) || Y1t(t, e) || r === "TemplateLiteral" && t.expressions.length === 0 || H1t(t));
  }
  n(J1t, "isValidAmbientConstInitializer");
  function Wre(t, e) {
    return e ? t.type === "Literal" && (typeof t.value == "number" || "bigint" in t) : t.type === "NumericLiteral" || t.type === "BigIntLite\
ral";
  }
  n(Wre, "isNumber");
  function Y1t(t, e) {
    if (t.type === "UnaryExpression") {
      let {
        operator: s,
        argument: r
      } = t;
      if (s === "-" && Wre(r, e))
        return !0;
    }
    return !1;
  }
  n(Y1t, "isNegativeNumber");
  function $re(t) {
    return t.type === "Identifier" ? !0 : t.type !== "MemberExpression" || t.computed ? !1 : $re(t.object);
  }
  n($re, "isUncomputedMemberExpressionChain");
  var Ire = Lu`placeholders`({
    ClassNameIsRequired: "A class name is required.",
    UnexpectedSpace: "Unexpected space in placeholder."
  }), X1t = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "PlaceholdersParserMixin");
    }
    parsePlaceholder(s) {
      if (this.match(133)) {
        let r = this.startNode();
        return this.next(), this.assertNoSpace(), r.name = super.parseIdentifier(!0), this.assertNoSpace(), this.expect(133), this.finishPlaceholder(
        r, s);
      }
    }
    finishPlaceholder(s, r) {
      let i = s;
      return (!i.expectedNode || !i.type) && (i = this.finishNode(i, "Placeholder")), i.expectedNode = r, i;
    }
    getTokenFromCode(s) {
      s === 37 && this.input.charCodeAt(this.state.pos + 1) === 37 ? this.finishOp(133, 2) : super.getTokenFromCode(s);
    }
    parseExprAtom(s) {
      return this.parsePlaceholder("Expression") || super.parseExprAtom(s);
    }
    parseIdentifier(s) {
      return this.parsePlaceholder("Identifier") || super.parseIdentifier(s);
    }
    checkReservedWord(s, r, i, a) {
      s !== void 0 && super.checkReservedWord(s, r, i, a);
    }
    parseBindingAtom() {
      return this.parsePlaceholder("Pattern") || super.parseBindingAtom();
    }
    isValidLVal(s, r, i) {
      return s === "Placeholder" || super.isValidLVal(s, r, i);
    }
    toAssignable(s, r) {
      s && s.type === "Placeholder" && s.expectedNode === "Expression" ? s.expectedNode = "Pattern" : super.toAssignable(s, r);
    }
    chStartsBindingIdentifier(s, r) {
      return !!(super.chStartsBindingIdentifier(s, r) || this.lookahead().type === 133);
    }
    verifyBreakContinue(s, r) {
      s.label && s.label.type === "Placeholder" || super.verifyBreakContinue(s, r);
    }
    parseExpressionStatement(s, r) {
      var i;
      if (r.type !== "Placeholder" || (i = r.extra) != null && i.parenthesized)
        return super.parseExpressionStatement(s, r);
      if (this.match(14)) {
        let o = s;
        return o.label = this.finishPlaceholder(r, "Identifier"), this.next(), o.body = super.parseStatementOrSloppyAnnexBFunctionDeclaration(),
        this.finishNode(o, "LabeledStatement");
      }
      this.semicolon();
      let a = s;
      return a.name = r.name, this.finishPlaceholder(a, "Statement");
    }
    parseBlock(s, r, i) {
      return this.parsePlaceholder("BlockStatement") || super.parseBlock(s, r, i);
    }
    parseFunctionId(s) {
      return this.parsePlaceholder("Identifier") || super.parseFunctionId(s);
    }
    parseClass(s, r, i) {
      let a = r ? "ClassDeclaration" : "ClassExpression";
      this.next();
      let o = this.state.strict, l = this.parsePlaceholder("Identifier");
      if (l)
        if (this.match(81) || this.match(133) || this.match(5))
          s.id = l;
        else {
          if (i || !r)
            return s.id = null, s.body = this.finishPlaceholder(l, "ClassBody"), this.finishNode(s, a);
          throw this.raise(Ire.ClassNameIsRequired, this.state.startLoc);
        }
      else
        this.parseClassId(s, r, i);
      return super.parseClassSuper(s), s.body = this.parsePlaceholder("ClassBody") || super.parseClassBody(!!s.superClass, o), this.finishNode(
      s, a);
    }
    parseExport(s, r) {
      let i = this.parsePlaceholder("Identifier");
      if (!i) return super.parseExport(s, r);
      let a = s;
      if (!this.isContextual(98) && !this.match(12))
        return a.specifiers = [], a.source = null, a.declaration = this.finishPlaceholder(i, "Declaration"), this.finishNode(a, "ExportNamed\
Declaration");
      this.expectPlugin("exportDefaultFrom");
      let o = this.startNode();
      return o.exported = i, a.specifiers = [this.finishNode(o, "ExportDefaultSpecifier")], super.parseExport(a, r);
    }
    isExportDefaultSpecifier() {
      if (this.match(65)) {
        let s = this.nextTokenStart();
        if (this.isUnparsedContextual(s, "from") && this.input.startsWith(yp(133), this.nextTokenStartSince(s + 4)))
          return !0;
      }
      return super.isExportDefaultSpecifier();
    }
    maybeParseExportDefaultSpecifier(s, r) {
      var i;
      return (i = s.specifiers) != null && i.length ? !0 : super.maybeParseExportDefaultSpecifier(s, r);
    }
    checkExport(s) {
      let {
        specifiers: r
      } = s;
      r != null && r.length && (s.specifiers = r.filter((i) => i.exported.type === "Placeholder")), super.checkExport(s), s.specifiers = r;
    }
    parseImport(s) {
      let r = this.parsePlaceholder("Identifier");
      if (!r) return super.parseImport(s);
      if (s.specifiers = [], !this.isContextual(98) && !this.match(12))
        return s.source = this.finishPlaceholder(r, "StringLiteral"), this.semicolon(), this.finishNode(s, "ImportDeclaration");
      let i = this.startNodeAtNode(r);
      return i.local = r, s.specifiers.push(this.finishNode(i, "ImportDefaultSpecifier")), this.eat(12) && (this.maybeParseStarImportSpecifier(
      s) || this.parseNamedImportSpecifiers(s)), this.expectContextual(98), s.source = this.parseImportSource(), this.semicolon(), this.finishNode(
      s, "ImportDeclaration");
    }
    parseImportSource() {
      return this.parsePlaceholder("StringLiteral") || super.parseImportSource();
    }
    assertNoSpace() {
      this.state.start > this.offsetToSourcePos(this.state.lastTokEndLoc.index) && this.raise(Ire.UnexpectedSpace, this.state.lastTokEndLoc);
    }
  }, "placeholders"), z1t = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "V8IntrinsicMixin");
    }
    parseV8Intrinsic() {
      if (this.match(54)) {
        let s = this.state.startLoc, r = this.startNode();
        if (this.next(), er(this.state.type)) {
          let i = this.parseIdentifierName(), a = this.createIdentifier(r, i);
          if (a.type = "V8IntrinsicIdentifier", this.match(10))
            return a;
        }
        this.unexpected(s);
      }
    }
    parseExprAtom(s) {
      return this.parseV8Intrinsic() || super.parseExprAtom(s);
    }
  }, "v8intrinsic"), Nre = ["minimal", "fsharp", "hack", "smart"], kre = ["^^", "@@", "^", "%", "#"];
  function G1t(t) {
    if (t.has("decorators")) {
      if (t.has("decorators-legacy"))
        throw new Error("Cannot use the decorators and decorators-legacy plugin together");
      let s = t.get("decorators").decoratorsBeforeExport;
      if (s != null && typeof s != "boolean")
        throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");
      let r = t.get("decorators").allowCallParenthesized;
      if (r != null && typeof r != "boolean")
        throw new Error("'allowCallParenthesized' must be a boolean.");
    }
    if (t.has("flow") && t.has("typescript"))
      throw new Error("Cannot combine flow and typescript plugins.");
    if (t.has("placeholders") && t.has("v8intrinsic"))
      throw new Error("Cannot combine placeholders and v8intrinsic plugins.");
    if (t.has("pipelineOperator")) {
      var e;
      let s = t.get("pipelineOperator").proposal;
      if (!Nre.includes(s)) {
        let i = Nre.map((a) => `"${a}"`).join(", ");
        throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${i}.`);
      }
      let r = ((e = t.get("recordAndTuple")) == null ? void 0 : e.syntaxType) === "hash";
      if (s === "hack") {
        if (t.has("placeholders"))
          throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");
        if (t.has("v8intrinsic"))
          throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");
        let i = t.get("pipelineOperator").topicToken;
        if (!kre.includes(i)) {
          let a = kre.map((o) => `"${o}"`).join(", ");
          throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${a}\
.`);
        }
        if (i === "#" && r)
          throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "hack", topicToken: "#" }]\` and \`${JSON.stringify(["\
recordAndTuple", t.get("recordAndTuple")])}\`.`);
      } else if (s === "smart" && r)
        throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "smart" }]\` and \`${JSON.stringify(["recordAndTuple", t.
        get("recordAndTuple")])}\`.`);
    }
    if (t.has("moduleAttributes")) {
      if (t.has("deprecatedImportAssert") || t.has("importAssertions"))
        throw new Error("Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins.");
      if (t.get("moduleAttributes").version !== "may-2020")
        throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the on\
ly supported value is 'may-2020'.");
    }
    if (t.has("importAssertions") && t.has("deprecatedImportAssert"))
      throw new Error("Cannot combine importAssertions and deprecatedImportAssert plugins.");
    if (!t.has("deprecatedImportAssert") && t.has("importAttributes") && t.get("importAttributes").deprecatedAssertSyntax && t.set("deprecat\
edImportAssert", {}), t.has("recordAndTuple")) {
      let s = t.get("recordAndTuple").syntaxType;
      if (s != null) {
        let r = ["hash", "bar"];
        if (!r.includes(s))
          throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: " + r.map((i) => `'${i}'`).join(", "));
      }
    }
    if (t.has("asyncDoExpressions") && !t.has("doExpressions")) {
      let s = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");
      throw s.missingPlugins = "doExpressions", s;
    }
    if (t.has("optionalChainingAssign") && t.get("optionalChainingAssign").version !== "2023-07")
      throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, th\
e only supported value is '2023-07'.");
  }
  n(G1t, "validatePlugins");
  var Hre = {
    estree: ZAt,
    jsx: U1t,
    flow: R1t,
    typescript: $1t,
    v8intrinsic: z1t,
    placeholders: X1t
  }, Q1t = Object.keys(Hre), vM = class extends AM {
    static {
      n(this, "ExpressionParser");
    }
    checkProto(e, s, r, i) {
      if (e.type === "SpreadElement" || this.isObjectMethod(e) || e.computed || e.shorthand)
        return;
      let a = e.key;
      if ((a.type === "Identifier" ? a.name : a.value) === "__proto__") {
        if (s) {
          this.raise(ee.RecordNoProto, a);
          return;
        }
        r.used && (i ? i.doubleProtoLoc === null && (i.doubleProtoLoc = a.loc.start) : this.raise(ee.DuplicateProto, a)), r.used = !0;
      }
    }
    shouldExitDescending(e, s) {
      return e.type === "ArrowFunctionExpression" && this.offsetToSourcePos(e.start) === s;
    }
    getExpression() {
      this.enterInitialScopes(), this.nextToken();
      let e = this.parseExpression();
      return this.match(140) || this.unexpected(), this.finalizeRemainingComments(), e.comments = this.comments, e.errors = this.state.errors,
      this.optionFlags & 128 && (e.tokens = this.tokens), e;
    }
    parseExpression(e, s) {
      return e ? this.disallowInAnd(() => this.parseExpressionBase(s)) : this.allowInAnd(() => this.parseExpressionBase(s));
    }
    parseExpressionBase(e) {
      let s = this.state.startLoc, r = this.parseMaybeAssign(e);
      if (this.match(12)) {
        let i = this.startNodeAt(s);
        for (i.expressions = [r]; this.eat(12); )
          i.expressions.push(this.parseMaybeAssign(e));
        return this.toReferencedList(i.expressions), this.finishNode(i, "SequenceExpression");
      }
      return r;
    }
    parseMaybeAssignDisallowIn(e, s) {
      return this.disallowInAnd(() => this.parseMaybeAssign(e, s));
    }
    parseMaybeAssignAllowIn(e, s) {
      return this.allowInAnd(() => this.parseMaybeAssign(e, s));
    }
    setOptionalParametersError(e, s) {
      var r;
      e.optionalParametersLoc = (r = s?.loc) != null ? r : this.state.startLoc;
    }
    parseMaybeAssign(e, s) {
      let r = this.state.startLoc;
      if (this.isContextual(108) && this.prodParam.hasYield) {
        let l = this.parseYield();
        return s && (l = s.call(this, l, r)), l;
      }
      let i;
      e ? i = !1 : (e = new Sm(), i = !0);
      let {
        type: a
      } = this.state;
      (a === 10 || er(a)) && (this.state.potentialArrowAt = this.state.start);
      let o = this.parseMaybeConditional(e);
      if (s && (o = s.call(this, o, r)), i1t(this.state.type)) {
        let l = this.startNodeAt(r), u = this.state.value;
        if (l.operator = u, this.match(29)) {
          this.toAssignable(o, !0), l.left = o;
          let c = r.index;
          e.doubleProtoLoc != null && e.doubleProtoLoc.index >= c && (e.doubleProtoLoc = null), e.shorthandAssignLoc != null && e.shorthandAssignLoc.
          index >= c && (e.shorthandAssignLoc = null), e.privateKeyLoc != null && e.privateKeyLoc.index >= c && (this.checkDestructuringPrivate(
          e), e.privateKeyLoc = null);
        } else
          l.left = o;
        return this.next(), l.right = this.parseMaybeAssign(), this.checkLVal(o, this.finishNode(l, "AssignmentExpression")), l;
      } else i && this.checkExpressionErrors(e, !0);
      return o;
    }
    parseMaybeConditional(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseExprOps(e);
      return this.shouldExitDescending(i, r) ? i : this.parseConditional(i, s, e);
    }
    parseConditional(e, s, r) {
      if (this.eat(17)) {
        let i = this.startNodeAt(s);
        return i.test = e, i.consequent = this.parseMaybeAssignAllowIn(), this.expect(14), i.alternate = this.parseMaybeAssign(), this.finishNode(
        i, "ConditionalExpression");
      }
      return e;
    }
    parseMaybeUnaryOrPrivate(e) {
      return this.match(139) ? this.parsePrivateName() : this.parseMaybeUnary(e);
    }
    parseExprOps(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseMaybeUnaryOrPrivate(e);
      return this.shouldExitDescending(i, r) ? i : this.parseExprOp(i, s, -1);
    }
    parseExprOp(e, s, r) {
      if (this.isPrivateName(e)) {
        let a = this.getPrivateNameSV(e);
        (r >= GE(58) || !this.prodParam.hasIn || !this.match(58)) && this.raise(ee.PrivateInExpectedIn, e, {
          identifierName: a
        }), this.classScope.usePrivateName(a, e.loc.start);
      }
      let i = this.state.type;
      if (a1t(i) && (this.prodParam.hasIn || !this.match(58))) {
        let a = GE(i);
        if (a > r) {
          if (i === 39) {
            if (this.expectPlugin("pipelineOperator"), this.state.inFSharpPipelineDirectBody)
              return e;
            this.checkPipelineAtInfixOperator(e, s);
          }
          let o = this.startNodeAt(s);
          o.left = e, o.operator = this.state.value;
          let l = i === 41 || i === 42, u = i === 40;
          if (u && (a = GE(42)), this.next(), i === 39 && this.hasPlugin(["pipelineOperator", {
            proposal: "minimal"
          }]) && this.state.type === 96 && this.prodParam.hasAwait)
            throw this.raise(ee.UnexpectedAwaitAfterPipelineBody, this.state.startLoc);
          o.right = this.parseExprOpRightExpr(i, a);
          let c = this.finishNode(o, l || u ? "LogicalExpression" : "BinaryExpression"), p = this.state.type;
          if (u && (p === 41 || p === 42) || l && p === 40)
            throw this.raise(ee.MixingCoalesceWithLogical, this.state.startLoc);
          return this.parseExprOp(c, s, r);
        }
      }
      return e;
    }
    parseExprOpRightExpr(e, s) {
      let r = this.state.startLoc;
      switch (e) {
        case 39:
          switch (this.getPluginOption("pipelineOperator", "proposal")) {
            case "hack":
              return this.withTopicBindingContext(() => this.parseHackPipeBody());
            case "fsharp":
              return this.withSoloAwaitPermittingContext(() => this.parseFSharpPipelineBody(s));
          }
          if (this.getPluginOption("pipelineOperator", "proposal") === "smart")
            return this.withTopicBindingContext(() => {
              if (this.prodParam.hasYield && this.isContextual(108))
                throw this.raise(ee.PipeBodyIsTighter, this.state.startLoc);
              return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(e, s), r);
            });
        default:
          return this.parseExprOpBaseRightExpr(e, s);
      }
    }
    parseExprOpBaseRightExpr(e, s) {
      let r = this.state.startLoc;
      return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), r, p1t(e) ? s - 1 : s);
    }
    parseHackPipeBody() {
      var e;
      let {
        startLoc: s
      } = this.state, r = this.parseMaybeAssign();
      return HAt.has(r.type) && !((e = r.extra) != null && e.parenthesized) && this.raise(ee.PipeUnparenthesizedBody, s, {
        type: r.type
      }), this.topicReferenceWasUsedInCurrentContext() || this.raise(ee.PipeTopicUnused, s), r;
    }
    checkExponentialAfterUnary(e) {
      this.match(57) && this.raise(ee.UnexpectedTokenUnaryExponentiation, e.argument);
    }
    parseMaybeUnary(e, s) {
      let r = this.state.startLoc, i = this.isContextual(96);
      if (i && this.recordAwaitIfAllowed()) {
        this.next();
        let u = this.parseAwait(r);
        return s || this.checkExponentialAfterUnary(u), u;
      }
      let a = this.match(34), o = this.startNode();
      if (l1t(this.state.type)) {
        o.operator = this.state.value, o.prefix = !0, this.match(72) && this.expectPlugin("throwExpressions");
        let u = this.match(89);
        if (this.next(), o.argument = this.parseMaybeUnary(null, !0), this.checkExpressionErrors(e, !0), this.state.strict && u) {
          let c = o.argument;
          c.type === "Identifier" ? this.raise(ee.StrictDelete, o) : this.hasPropertyAsPrivateName(c) && this.raise(ee.DeletePrivateField, o);
        }
        if (!a)
          return s || this.checkExponentialAfterUnary(o), this.finishNode(o, "UnaryExpression");
      }
      let l = this.parseUpdate(o, a, e);
      if (i) {
        let {
          type: u
        } = this.state;
        if ((this.hasPlugin("v8intrinsic") ? oM(u) : oM(u) && !this.match(54)) && !this.isAmbiguousAwait())
          return this.raiseOverwrite(ee.AwaitNotInAsyncContext, r), this.parseAwait(r);
      }
      return l;
    }
    parseUpdate(e, s, r) {
      if (s) {
        let o = e;
        return this.checkLVal(o.argument, this.finishNode(o, "UpdateExpression")), e;
      }
      let i = this.state.startLoc, a = this.parseExprSubscripts(r);
      if (this.checkExpressionErrors(r, !1)) return a;
      for (; o1t(this.state.type) && !this.canInsertSemicolon(); ) {
        let o = this.startNodeAt(i);
        o.operator = this.state.value, o.prefix = !1, o.argument = a, this.next(), this.checkLVal(a, a = this.finishNode(o, "UpdateExpressio\
n"));
      }
      return a;
    }
    parseExprSubscripts(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseExprAtom(e);
      return this.shouldExitDescending(i, r) ? i : this.parseSubscripts(i, s);
    }
    parseSubscripts(e, s, r) {
      let i = {
        optionalChainMember: !1,
        maybeAsyncArrow: this.atPossibleAsyncArrow(e),
        stop: !1
      };
      do
        e = this.parseSubscript(e, s, r, i), i.maybeAsyncArrow = !1;
      while (!i.stop);
      return e;
    }
    parseSubscript(e, s, r, i) {
      let {
        type: a
      } = this.state;
      if (!r && a === 15)
        return this.parseBind(e, s, r, i);
      if (eA(a))
        return this.parseTaggedTemplateExpression(e, s, i);
      let o = !1;
      if (a === 18) {
        if (r && (this.raise(ee.OptionalChainingNoNew, this.state.startLoc), this.lookaheadCharCode() === 40))
          return i.stop = !0, e;
        i.optionalChainMember = o = !0, this.next();
      }
      if (!r && this.match(10))
        return this.parseCoverCallAndAsyncArrowHead(e, s, i, o);
      {
        let l = this.eat(0);
        return l || o || this.eat(16) ? this.parseMember(e, s, i, l, o) : (i.stop = !0, e);
      }
    }
    parseMember(e, s, r, i, a) {
      let o = this.startNodeAt(s);
      return o.object = e, o.computed = i, i ? (o.property = this.parseExpression(), this.expect(3)) : this.match(139) ? (e.type === "Super" &&
      this.raise(ee.SuperPrivateField, s), this.classScope.usePrivateName(this.state.value, this.state.startLoc), o.property = this.parsePrivateName()) :
      o.property = this.parseIdentifier(!0), r.optionalChainMember ? (o.optional = a, this.finishNode(o, "OptionalMemberExpression")) : this.
      finishNode(o, "MemberExpression");
    }
    parseBind(e, s, r, i) {
      let a = this.startNodeAt(s);
      return a.object = e, this.next(), a.callee = this.parseNoCallExpr(), i.stop = !0, this.parseSubscripts(this.finishNode(a, "BindExpress\
ion"), s, r);
    }
    parseCoverCallAndAsyncArrowHead(e, s, r, i) {
      let a = this.state.maybeInArrowParameters, o = null;
      this.state.maybeInArrowParameters = !0, this.next();
      let l = this.startNodeAt(s);
      l.callee = e;
      let {
        maybeAsyncArrow: u,
        optionalChainMember: c
      } = r;
      u && (this.expressionScope.enter(D1t()), o = new Sm()), c && (l.optional = i), i ? l.arguments = this.parseCallExpressionArguments(11) :
      l.arguments = this.parseCallExpressionArguments(11, e.type !== "Super", l, o);
      let p = this.finishCallExpression(l, c);
      return u && this.shouldParseAsyncArrow() && !i ? (r.stop = !0, this.checkDestructuringPrivate(o), this.expressionScope.validateAsPattern(),
      this.expressionScope.exit(), p = this.parseAsyncArrowFromCallExpression(this.startNodeAt(s), p)) : (u && (this.checkExpressionErrors(o,
      !0), this.expressionScope.exit()), this.toReferencedArguments(p)), this.state.maybeInArrowParameters = a, p;
    }
    toReferencedArguments(e, s) {
      this.toReferencedListDeep(e.arguments, s);
    }
    parseTaggedTemplateExpression(e, s, r) {
      let i = this.startNodeAt(s);
      return i.tag = e, i.quasi = this.parseTemplate(!0), r.optionalChainMember && this.raise(ee.OptionalChainingNoTemplate, s), this.finishNode(
      i, "TaggedTemplateExpression");
    }
    atPossibleAsyncArrow(e) {
      return e.type === "Identifier" && e.name === "async" && this.state.lastTokEndLoc.index === e.end && !this.canInsertSemicolon() && e.end -
      e.start === 5 && this.offsetToSourcePos(e.start) === this.state.potentialArrowAt;
    }
    finishCallExpression(e, s) {
      if (e.callee.type === "Import")
        if (e.arguments.length === 0 || e.arguments.length > 2)
          this.raise(ee.ImportCallArity, e);
        else
          for (let r of e.arguments)
            r.type === "SpreadElement" && this.raise(ee.ImportCallSpreadArgument, r);
      return this.finishNode(e, s ? "OptionalCallExpression" : "CallExpression");
    }
    parseCallExpressionArguments(e, s, r, i) {
      let a = [], o = !0, l = this.state.inFSharpPipelineDirectBody;
      for (this.state.inFSharpPipelineDirectBody = !1; !this.eat(e); ) {
        if (o)
          o = !1;
        else if (this.expect(12), this.match(e)) {
          r && this.addTrailingCommaExtraToNode(r), this.next();
          break;
        }
        a.push(this.parseExprListItem(!1, i, s));
      }
      return this.state.inFSharpPipelineDirectBody = l, a;
    }
    shouldParseAsyncArrow() {
      return this.match(19) && !this.canInsertSemicolon();
    }
    parseAsyncArrowFromCallExpression(e, s) {
      var r;
      return this.resetPreviousNodeTrailingComments(s), this.expect(19), this.parseArrowExpression(e, s.arguments, !0, (r = s.extra) == null ?
      void 0 : r.trailingCommaLoc), s.innerComments && F0(e, s.innerComments), s.callee.trailingComments && F0(e, s.callee.trailingComments),
      e;
    }
    parseNoCallExpr() {
      let e = this.state.startLoc;
      return this.parseSubscripts(this.parseExprAtom(), e, !0);
    }
    parseExprAtom(e) {
      let s, r = null, {
        type: i
      } = this.state;
      switch (i) {
        case 79:
          return this.parseSuper();
        case 83:
          return s = this.startNode(), this.next(), this.match(16) ? this.parseImportMetaProperty(s) : this.match(10) ? this.optionFlags & 256 ?
          this.parseImportCall(s) : this.finishNode(s, "Import") : (this.raise(ee.UnsupportedImport, this.state.lastTokStartLoc), this.finishNode(
          s, "Import"));
        case 78:
          return s = this.startNode(), this.next(), this.finishNode(s, "ThisExpression");
        case 90:
          return this.parseDo(this.startNode(), !1);
        case 56:
        case 31:
          return this.readRegexp(), this.parseRegExpLiteral(this.state.value);
        case 135:
          return this.parseNumericLiteral(this.state.value);
        case 136:
          return this.parseBigIntLiteral(this.state.value);
        case 134:
          return this.parseStringLiteral(this.state.value);
        case 84:
          return this.parseNullLiteral();
        case 85:
          return this.parseBooleanLiteral(!0);
        case 86:
          return this.parseBooleanLiteral(!1);
        case 10: {
          let a = this.state.potentialArrowAt === this.state.start;
          return this.parseParenAndDistinguishExpression(a);
        }
        case 2:
        case 1:
          return this.parseArrayLike(this.state.type === 2 ? 4 : 3, !1, !0);
        case 0:
          return this.parseArrayLike(3, !0, !1, e);
        case 6:
        case 7:
          return this.parseObjectLike(this.state.type === 6 ? 9 : 8, !1, !0);
        case 5:
          return this.parseObjectLike(8, !1, !1, e);
        case 68:
          return this.parseFunctionOrFunctionSent();
        case 26:
          r = this.parseDecorators();
        case 80:
          return this.parseClass(this.maybeTakeDecorators(r, this.startNode()), !1);
        case 77:
          return this.parseNewOrNewTarget();
        case 25:
        case 24:
          return this.parseTemplate(!1);
        case 15: {
          s = this.startNode(), this.next(), s.object = null;
          let a = s.callee = this.parseNoCallExpr();
          if (a.type === "MemberExpression")
            return this.finishNode(s, "BindExpression");
          throw this.raise(ee.UnsupportedBind, a);
        }
        case 139:
          return this.raise(ee.PrivateInExpectedIn, this.state.startLoc, {
            identifierName: this.state.value
          }), this.parsePrivateName();
        case 33:
          return this.parseTopicReferenceThenEqualsSign(54, "%");
        case 32:
          return this.parseTopicReferenceThenEqualsSign(44, "^");
        case 37:
        case 38:
          return this.parseTopicReference("hack");
        case 44:
        case 54:
        case 27: {
          let a = this.getPluginOption("pipelineOperator", "proposal");
          if (a)
            return this.parseTopicReference(a);
          this.unexpected();
          break;
        }
        case 47: {
          let a = this.input.codePointAt(this.nextTokenStart());
          _u(a) || a === 62 ? this.expectOnePlugin(["jsx", "flow", "typescript"]) : this.unexpected();
          break;
        }
        default:
          if (i === 137)
            return this.parseDecimalLiteral(this.state.value);
          if (er(i)) {
            if (this.isContextual(127) && this.lookaheadInLineCharCode() === 123)
              return this.parseModuleExpression();
            let a = this.state.potentialArrowAt === this.state.start, o = this.state.containsEsc, l = this.parseIdentifier();
            if (!o && l.name === "async" && !this.canInsertSemicolon()) {
              let {
                type: u
              } = this.state;
              if (u === 68)
                return this.resetPreviousNodeTrailingComments(l), this.next(), this.parseAsyncFunctionExpression(this.startNodeAtNode(l));
              if (er(u))
                return this.lookaheadCharCode() === 61 ? this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(l)) : l;
              if (u === 90)
                return this.resetPreviousNodeTrailingComments(l), this.parseDo(this.startNodeAtNode(l), !0);
            }
            return a && this.match(19) && !this.canInsertSemicolon() ? (this.next(), this.parseArrowExpression(this.startNodeAtNode(l), [l],
            !1)) : l;
          } else
            this.unexpected();
      }
    }
    parseTopicReferenceThenEqualsSign(e, s) {
      let r = this.getPluginOption("pipelineOperator", "proposal");
      if (r)
        return this.state.type = e, this.state.value = s, this.state.pos--, this.state.end--, this.state.endLoc = Dn(this.state.endLoc, -1),
        this.parseTopicReference(r);
      this.unexpected();
    }
    parseTopicReference(e) {
      let s = this.startNode(), r = this.state.startLoc, i = this.state.type;
      return this.next(), this.finishTopicReference(s, r, e, i);
    }
    finishTopicReference(e, s, r, i) {
      if (this.testTopicReferenceConfiguration(r, s, i))
        return r === "hack" ? (this.topicReferenceIsAllowedInCurrentContext() || this.raise(ee.PipeTopicUnbound, s), this.registerTopicReference(),
        this.finishNode(e, "TopicReference")) : (this.topicReferenceIsAllowedInCurrentContext() || this.raise(ee.PrimaryTopicNotAllowed, s),
        this.registerTopicReference(), this.finishNode(e, "PipelinePrimaryTopicReference"));
      throw this.raise(ee.PipeTopicUnconfiguredToken, s, {
        token: yp(i)
      });
    }
    testTopicReferenceConfiguration(e, s, r) {
      switch (e) {
        case "hack":
          return this.hasPlugin(["pipelineOperator", {
            topicToken: yp(r)
          }]);
        case "smart":
          return r === 27;
        default:
          throw this.raise(ee.PipeTopicRequiresHackPipes, s);
      }
    }
    parseAsyncArrowUnaryFunction(e) {
      this.prodParam.enter(QE(!0, this.prodParam.hasYield));
      let s = [this.parseIdentifier()];
      return this.prodParam.exit(), this.hasPrecedingLineBreak() && this.raise(ee.LineTerminatorBeforeArrow, this.state.curPosition()), this.
      expect(19), this.parseArrowExpression(e, s, !0);
    }
    parseDo(e, s) {
      this.expectPlugin("doExpressions"), s && this.expectPlugin("asyncDoExpressions"), e.async = s, this.next();
      let r = this.state.labels;
      return this.state.labels = [], s ? (this.prodParam.enter(2), e.body = this.parseBlock(), this.prodParam.exit()) : e.body = this.parseBlock(),
      this.state.labels = r, this.finishNode(e, "DoExpression");
    }
    parseSuper() {
      let e = this.startNode();
      return this.next(), this.match(10) && !this.scope.allowDirectSuper && !(this.optionFlags & 16) ? this.raise(ee.SuperNotAllowed, e) : !this.
      scope.allowSuper && !(this.optionFlags & 16) && this.raise(ee.UnexpectedSuper, e), !this.match(10) && !this.match(0) && !this.match(16) &&
      this.raise(ee.UnsupportedSuper, e), this.finishNode(e, "Super");
    }
    parsePrivateName() {
      let e = this.startNode(), s = this.startNodeAt(Dn(this.state.startLoc, 1)), r = this.state.value;
      return this.next(), e.id = this.createIdentifier(s, r), this.finishNode(e, "PrivateName");
    }
    parseFunctionOrFunctionSent() {
      let e = this.startNode();
      if (this.next(), this.prodParam.hasYield && this.match(16)) {
        let s = this.createIdentifier(this.startNodeAtNode(e), "function");
        return this.next(), this.match(103) ? this.expectPlugin("functionSent") : this.hasPlugin("functionSent") || this.unexpected(), this.
        parseMetaProperty(e, s, "sent");
      }
      return this.parseFunction(e);
    }
    parseMetaProperty(e, s, r) {
      e.meta = s;
      let i = this.state.containsEsc;
      return e.property = this.parseIdentifier(!0), (e.property.name !== r || i) && this.raise(ee.UnsupportedMetaProperty, e.property, {
        target: s.name,
        onlyValidPropertyName: r
      }), this.finishNode(e, "MetaProperty");
    }
    parseImportMetaProperty(e) {
      let s = this.createIdentifier(this.startNodeAtNode(e), "import");
      if (this.next(), this.isContextual(101))
        this.inModule || this.raise(ee.ImportMetaOutsideModule, s), this.sawUnambiguousESM = !0;
      else if (this.isContextual(105) || this.isContextual(97)) {
        let r = this.isContextual(105);
        if (this.expectPlugin(r ? "sourcePhaseImports" : "deferredImportEvaluation"), !(this.optionFlags & 256))
          throw this.raise(ee.DynamicImportPhaseRequiresImportExpressions, this.state.startLoc, {
            phase: this.state.value
          });
        return this.next(), e.phase = r ? "source" : "defer", this.parseImportCall(e);
      }
      return this.parseMetaProperty(e, s, "meta");
    }
    parseLiteralAtNode(e, s, r) {
      return this.addExtra(r, "rawValue", e), this.addExtra(r, "raw", this.input.slice(this.offsetToSourcePos(r.start), this.state.end)), r.
      value = e, this.next(), this.finishNode(r, s);
    }
    parseLiteral(e, s) {
      let r = this.startNode();
      return this.parseLiteralAtNode(e, s, r);
    }
    parseStringLiteral(e) {
      return this.parseLiteral(e, "StringLiteral");
    }
    parseNumericLiteral(e) {
      return this.parseLiteral(e, "NumericLiteral");
    }
    parseBigIntLiteral(e) {
      return this.parseLiteral(e, "BigIntLiteral");
    }
    parseDecimalLiteral(e) {
      return this.parseLiteral(e, "DecimalLiteral");
    }
    parseRegExpLiteral(e) {
      let s = this.startNode();
      return this.addExtra(s, "raw", this.input.slice(this.offsetToSourcePos(s.start), this.state.end)), s.pattern = e.pattern, s.flags = e.
      flags, this.next(), this.finishNode(s, "RegExpLiteral");
    }
    parseBooleanLiteral(e) {
      let s = this.startNode();
      return s.value = e, this.next(), this.finishNode(s, "BooleanLiteral");
    }
    parseNullLiteral() {
      let e = this.startNode();
      return this.next(), this.finishNode(e, "NullLiteral");
    }
    parseParenAndDistinguishExpression(e) {
      let s = this.state.startLoc, r;
      this.next(), this.expressionScope.enter(k1t());
      let i = this.state.maybeInArrowParameters, a = this.state.inFSharpPipelineDirectBody;
      this.state.maybeInArrowParameters = !0, this.state.inFSharpPipelineDirectBody = !1;
      let o = this.state.startLoc, l = [], u = new Sm(), c = !0, p, h;
      for (; !this.match(11); ) {
        if (c)
          c = !1;
        else if (this.expect(12, u.optionalParametersLoc === null ? null : u.optionalParametersLoc), this.match(11)) {
          h = this.state.startLoc;
          break;
        }
        if (this.match(21)) {
          let m = this.state.startLoc;
          if (p = this.state.startLoc, l.push(this.parseParenItem(this.parseRestBinding(), m)), !this.checkCommaAfterRest(41))
            break;
        } else
          l.push(this.parseMaybeAssignAllowIn(u, this.parseParenItem));
      }
      let f = this.state.lastTokEndLoc;
      this.expect(11), this.state.maybeInArrowParameters = i, this.state.inFSharpPipelineDirectBody = a;
      let d = this.startNodeAt(s);
      return e && this.shouldParseArrow(l) && (d = this.parseArrow(d)) ? (this.checkDestructuringPrivate(u), this.expressionScope.validateAsPattern(),
      this.expressionScope.exit(), this.parseArrowExpression(d, l, !1), d) : (this.expressionScope.exit(), l.length || this.unexpected(this.
      state.lastTokStartLoc), h && this.unexpected(h), p && this.unexpected(p), this.checkExpressionErrors(u, !0), this.toReferencedListDeep(
      l, !0), l.length > 1 ? (r = this.startNodeAt(o), r.expressions = l, this.finishNode(r, "SequenceExpression"), this.resetEndLocation(r,
      f)) : r = l[0], this.wrapParenthesis(s, r));
    }
    wrapParenthesis(e, s) {
      if (!(this.optionFlags & 512))
        return this.addExtra(s, "parenthesized", !0), this.addExtra(s, "parenStart", e.index), this.takeSurroundingComments(s, e.index, this.
        state.lastTokEndLoc.index), s;
      let r = this.startNodeAt(e);
      return r.expression = s, this.finishNode(r, "ParenthesizedExpression");
    }
    shouldParseArrow(e) {
      return !this.canInsertSemicolon();
    }
    parseArrow(e) {
      if (this.eat(19))
        return e;
    }
    parseParenItem(e, s) {
      return e;
    }
    parseNewOrNewTarget() {
      let e = this.startNode();
      if (this.next(), this.match(16)) {
        let s = this.createIdentifier(this.startNodeAtNode(e), "new");
        this.next();
        let r = this.parseMetaProperty(e, s, "target");
        return !this.scope.inNonArrowFunction && !this.scope.inClass && !(this.optionFlags & 4) && this.raise(ee.UnexpectedNewTarget, r), r;
      }
      return this.parseNew(e);
    }
    parseNew(e) {
      if (this.parseNewCallee(e), this.eat(10)) {
        let s = this.parseExprList(11);
        this.toReferencedList(s), e.arguments = s;
      } else
        e.arguments = [];
      return this.finishNode(e, "NewExpression");
    }
    parseNewCallee(e) {
      let s = this.match(83), r = this.parseNoCallExpr();
      e.callee = r, s && (r.type === "Import" || r.type === "ImportExpression") && this.raise(ee.ImportCallNotNewExpression, r);
    }
    parseTemplateElement(e) {
      let {
        start: s,
        startLoc: r,
        end: i,
        value: a
      } = this.state, o = s + 1, l = this.startNodeAt(Dn(r, 1));
      a === null && (e || this.raise(ee.InvalidEscapeSequenceTemplate, Dn(this.state.firstInvalidTemplateEscapePos, 1)));
      let u = this.match(24), c = u ? -1 : -2, p = i + c;
      l.value = {
        raw: this.input.slice(o, p).replace(/\r\n?/g, `
`),
        cooked: a === null ? null : a.slice(1, c)
      }, l.tail = u, this.next();
      let h = this.finishNode(l, "TemplateElement");
      return this.resetEndLocation(h, Dn(this.state.lastTokEndLoc, c)), h;
    }
    parseTemplate(e) {
      let s = this.startNode(), r = this.parseTemplateElement(e), i = [r], a = [];
      for (; !r.tail; )
        a.push(this.parseTemplateSubstitution()), this.readTemplateContinuation(), i.push(r = this.parseTemplateElement(e));
      return s.expressions = a, s.quasis = i, this.finishNode(s, "TemplateLiteral");
    }
    parseTemplateSubstitution() {
      return this.parseExpression();
    }
    parseObjectLike(e, s, r, i) {
      r && this.expectPlugin("recordAndTuple");
      let a = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !1;
      let o = /* @__PURE__ */ Object.create(null), l = !0, u = this.startNode();
      for (u.properties = [], this.next(); !this.match(e); ) {
        if (l)
          l = !1;
        else if (this.expect(12), this.match(e)) {
          this.addTrailingCommaExtraToNode(u);
          break;
        }
        let p;
        s ? p = this.parseBindingProperty() : (p = this.parsePropertyDefinition(i), this.checkProto(p, r, o, i)), r && !this.isObjectProperty(
        p) && p.type !== "SpreadElement" && this.raise(ee.InvalidRecordProperty, p), p.shorthand && this.addExtra(p, "shorthand", !0), u.properties.
        push(p);
      }
      this.next(), this.state.inFSharpPipelineDirectBody = a;
      let c = "ObjectExpression";
      return s ? c = "ObjectPattern" : r && (c = "RecordExpression"), this.finishNode(u, c);
    }
    addTrailingCommaExtraToNode(e) {
      this.addExtra(e, "trailingComma", this.state.lastTokStartLoc.index), this.addExtra(e, "trailingCommaLoc", this.state.lastTokStartLoc, !1);
    }
    maybeAsyncOrAccessorProp(e) {
      return !e.computed && e.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(0) || this.match(55));
    }
    parsePropertyDefinition(e) {
      let s = [];
      if (this.match(26))
        for (this.hasPlugin("decorators") && this.raise(ee.UnsupportedPropertyDecorator, this.state.startLoc); this.match(26); )
          s.push(this.parseDecorator());
      let r = this.startNode(), i = !1, a = !1, o;
      if (this.match(21))
        return s.length && this.unexpected(), this.parseSpread();
      s.length && (r.decorators = s, s = []), r.method = !1, e && (o = this.state.startLoc);
      let l = this.eat(55);
      this.parsePropertyNamePrefixOperator(r);
      let u = this.state.containsEsc;
      if (this.parsePropertyName(r, e), !l && !u && this.maybeAsyncOrAccessorProp(r)) {
        let {
          key: c
        } = r, p = c.name;
        p === "async" && !this.hasPrecedingLineBreak() && (i = !0, this.resetPreviousNodeTrailingComments(c), l = this.eat(55), this.parsePropertyName(
        r)), (p === "get" || p === "set") && (a = !0, this.resetPreviousNodeTrailingComments(c), r.kind = p, this.match(55) && (l = !0, this.
        raise(ee.AccessorIsGenerator, this.state.curPosition(), {
          kind: p
        }), this.next()), this.parsePropertyName(r));
      }
      return this.parseObjPropValue(r, o, l, i, !1, a, e);
    }
    getGetterSetterExpectedParamCount(e) {
      return e.kind === "get" ? 0 : 1;
    }
    getObjectOrClassMethodParams(e) {
      return e.params;
    }
    checkGetterSetterParams(e) {
      var s;
      let r = this.getGetterSetterExpectedParamCount(e), i = this.getObjectOrClassMethodParams(e);
      i.length !== r && this.raise(e.kind === "get" ? ee.BadGetterArity : ee.BadSetterArity, e), e.kind === "set" && ((s = i[i.length - 1]) ==
      null ? void 0 : s.type) === "RestElement" && this.raise(ee.BadSetterRestParameter, e);
    }
    parseObjectMethod(e, s, r, i, a) {
      if (a) {
        let o = this.parseMethod(e, s, !1, !1, !1, "ObjectMethod");
        return this.checkGetterSetterParams(o), o;
      }
      if (r || s || this.match(10))
        return i && this.unexpected(), e.kind = "method", e.method = !0, this.parseMethod(e, s, r, !1, !1, "ObjectMethod");
    }
    parseObjectProperty(e, s, r, i) {
      if (e.shorthand = !1, this.eat(14))
        return e.value = r ? this.parseMaybeDefault(this.state.startLoc) : this.parseMaybeAssignAllowIn(i), this.finishNode(e, "ObjectProper\
ty");
      if (!e.computed && e.key.type === "Identifier") {
        if (this.checkReservedWord(e.key.name, e.key.loc.start, !0, !1), r)
          e.value = this.parseMaybeDefault(s, Bu(e.key));
        else if (this.match(29)) {
          let a = this.state.startLoc;
          i != null ? i.shorthandAssignLoc === null && (i.shorthandAssignLoc = a) : this.raise(ee.InvalidCoverInitializedName, a), e.value =
          this.parseMaybeDefault(s, Bu(e.key));
        } else
          e.value = Bu(e.key);
        return e.shorthand = !0, this.finishNode(e, "ObjectProperty");
      }
    }
    parseObjPropValue(e, s, r, i, a, o, l) {
      let u = this.parseObjectMethod(e, r, i, a, o) || this.parseObjectProperty(e, s, a, l);
      return u || this.unexpected(), u;
    }
    parsePropertyName(e, s) {
      if (this.eat(0))
        e.computed = !0, e.key = this.parseMaybeAssignAllowIn(), this.expect(3);
      else {
        let {
          type: r,
          value: i
        } = this.state, a;
        if (Do(r))
          a = this.parseIdentifier(!0);
        else
          switch (r) {
            case 135:
              a = this.parseNumericLiteral(i);
              break;
            case 134:
              a = this.parseStringLiteral(i);
              break;
            case 136:
              a = this.parseBigIntLiteral(i);
              break;
            case 139: {
              let o = this.state.startLoc;
              s != null ? s.privateKeyLoc === null && (s.privateKeyLoc = o) : this.raise(ee.UnexpectedPrivateField, o), a = this.parsePrivateName();
              break;
            }
            default:
              if (r === 137) {
                a = this.parseDecimalLiteral(i);
                break;
              }
              this.unexpected();
          }
        e.key = a, r !== 139 && (e.computed = !1);
      }
    }
    initFunction(e, s) {
      e.id = null, e.generator = !1, e.async = s;
    }
    parseMethod(e, s, r, i, a, o, l = !1) {
      this.initFunction(e, r), e.generator = s, this.scope.enter(18 | (l ? 64 : 0) | (a ? 32 : 0)), this.prodParam.enter(QE(r, e.generator)),
      this.parseFunctionParams(e, i);
      let u = this.parseFunctionBodyAndFinish(e, o, !0);
      return this.prodParam.exit(), this.scope.exit(), u;
    }
    parseArrayLike(e, s, r, i) {
      r && this.expectPlugin("recordAndTuple");
      let a = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !1;
      let o = this.startNode();
      return this.next(), o.elements = this.parseExprList(e, !r, i, o), this.state.inFSharpPipelineDirectBody = a, this.finishNode(o, r ? "T\
upleExpression" : "ArrayExpression");
    }
    parseArrowExpression(e, s, r, i) {
      this.scope.enter(6);
      let a = QE(r, !1);
      !this.match(5) && this.prodParam.hasIn && (a |= 8), this.prodParam.enter(a), this.initFunction(e, r);
      let o = this.state.maybeInArrowParameters;
      return s && (this.state.maybeInArrowParameters = !0, this.setArrowFunctionParameters(e, s, i)), this.state.maybeInArrowParameters = !1,
      this.parseFunctionBody(e, !0), this.prodParam.exit(), this.scope.exit(), this.state.maybeInArrowParameters = o, this.finishNode(e, "Ar\
rowFunctionExpression");
    }
    setArrowFunctionParameters(e, s, r) {
      this.toAssignableList(s, r, !1), e.params = s;
    }
    parseFunctionBodyAndFinish(e, s, r = !1) {
      return this.parseFunctionBody(e, !1, r), this.finishNode(e, s);
    }
    parseFunctionBody(e, s, r = !1) {
      let i = s && !this.match(5);
      if (this.expressionScope.enter(Kre()), i)
        e.body = this.parseMaybeAssign(), this.checkParams(e, !1, s, !1);
      else {
        let a = this.state.strict, o = this.state.labels;
        this.state.labels = [], this.prodParam.enter(this.prodParam.currentFlags() | 4), e.body = this.parseBlock(!0, !1, (l) => {
          let u = !this.isSimpleParamList(e.params);
          l && u && this.raise(ee.IllegalLanguageModeDirective, (e.kind === "method" || e.kind === "constructor") && e.key ? e.key.loc.end :
          e);
          let c = !a && this.state.strict;
          this.checkParams(e, !this.state.strict && !s && !r && !u, s, c), this.state.strict && e.id && this.checkIdentifier(e.id, 65, c);
        }), this.prodParam.exit(), this.state.labels = o;
      }
      this.expressionScope.exit();
    }
    isSimpleParameter(e) {
      return e.type === "Identifier";
    }
    isSimpleParamList(e) {
      for (let s = 0, r = e.length; s < r; s++)
        if (!this.isSimpleParameter(e[s])) return !1;
      return !0;
    }
    checkParams(e, s, r, i = !0) {
      let a = !s && /* @__PURE__ */ new Set(), o = {
        type: "FormalParameters"
      };
      for (let l of e.params)
        this.checkLVal(l, o, 5, a, i);
    }
    parseExprList(e, s, r, i) {
      let a = [], o = !0;
      for (; !this.eat(e); ) {
        if (o)
          o = !1;
        else if (this.expect(12), this.match(e)) {
          i && this.addTrailingCommaExtraToNode(i), this.next();
          break;
        }
        a.push(this.parseExprListItem(s, r));
      }
      return a;
    }
    parseExprListItem(e, s, r) {
      let i;
      if (this.match(12))
        e || this.raise(ee.UnexpectedToken, this.state.curPosition(), {
          unexpected: ","
        }), i = null;
      else if (this.match(21)) {
        let a = this.state.startLoc;
        i = this.parseParenItem(this.parseSpread(s), a);
      } else if (this.match(17)) {
        this.expectPlugin("partialApplication"), r || this.raise(ee.UnexpectedArgumentPlaceholder, this.state.startLoc);
        let a = this.startNode();
        this.next(), i = this.finishNode(a, "ArgumentPlaceholder");
      } else
        i = this.parseMaybeAssignAllowIn(s, this.parseParenItem);
      return i;
    }
    parseIdentifier(e) {
      let s = this.startNode(), r = this.parseIdentifierName(e);
      return this.createIdentifier(s, r);
    }
    createIdentifier(e, s) {
      return e.name = s, e.loc.identifierName = s, this.finishNode(e, "Identifier");
    }
    parseIdentifierName(e) {
      let s, {
        startLoc: r,
        type: i
      } = this.state;
      Do(i) ? s = this.state.value : this.unexpected();
      let a = s1t(i);
      return e ? a && this.replaceToken(132) : this.checkReservedWord(s, r, a, !1), this.next(), s;
    }
    checkReservedWord(e, s, r, i) {
      if (e.length > 10 || !S1t(e))
        return;
      if (r && T1t(e)) {
        this.raise(ee.UnexpectedKeyword, s, {
          keyword: e
        });
        return;
      }
      if ((this.state.strict ? i ? jre : Mre : Bre)(e, this.inModule)) {
        this.raise(ee.UnexpectedReservedWord, s, {
          reservedWord: e
        });
        return;
      } else if (e === "yield") {
        if (this.prodParam.hasYield) {
          this.raise(ee.YieldBindingIdentifier, s);
          return;
        }
      } else if (e === "await") {
        if (this.prodParam.hasAwait) {
          this.raise(ee.AwaitBindingIdentifier, s);
          return;
        }
        if (this.scope.inStaticBlock) {
          this.raise(ee.AwaitBindingIdentifierInStaticBlock, s);
          return;
        }
        this.expressionScope.recordAsyncArrowParametersError(s);
      } else if (e === "arguments" && this.scope.inClassAndNotInNonArrowFunction) {
        this.raise(ee.ArgumentsInClass, s);
        return;
      }
    }
    recordAwaitIfAllowed() {
      let e = this.prodParam.hasAwait || this.optionFlags & 1 && !this.scope.inFunction;
      return e && !this.scope.inFunction && (this.state.hasTopLevelAwait = !0), e;
    }
    parseAwait(e) {
      let s = this.startNodeAt(e);
      return this.expressionScope.recordParameterInitializerError(ee.AwaitExpressionFormalParameter, s), this.eat(55) && this.raise(ee.ObsoleteAwaitStar,
      s), !this.scope.inFunction && !(this.optionFlags & 1) && (this.isAmbiguousAwait() ? this.ambiguousScriptDifferentAst = !0 : this.sawUnambiguousESM =
      !0), this.state.soloAwait || (s.argument = this.parseMaybeUnary(null, !0)), this.finishNode(s, "AwaitExpression");
    }
    isAmbiguousAwait() {
      if (this.hasPrecedingLineBreak()) return !0;
      let {
        type: e
      } = this.state;
      return e === 53 || e === 10 || e === 0 || eA(e) || e === 102 && !this.state.containsEsc || e === 138 || e === 56 || this.hasPlugin("v8\
intrinsic") && e === 54;
    }
    parseYield() {
      let e = this.startNode();
      this.expressionScope.recordParameterInitializerError(ee.YieldInParameter, e), this.next();
      let s = !1, r = null;
      if (!this.hasPrecedingLineBreak())
        switch (s = this.eat(55), this.state.type) {
          case 13:
          case 140:
          case 8:
          case 11:
          case 3:
          case 9:
          case 14:
          case 12:
            if (!s) break;
          default:
            r = this.parseMaybeAssign();
        }
      return e.delegate = s, e.argument = r, this.finishNode(e, "YieldExpression");
    }
    parseImportCall(e) {
      if (this.next(), e.source = this.parseMaybeAssignAllowIn(), e.options = null, this.eat(12) && !this.match(11) && (e.options = this.parseMaybeAssignAllowIn(),
      this.eat(12) && !this.match(11))) {
        do
          this.parseMaybeAssignAllowIn();
        while (this.eat(12) && !this.match(11));
        this.raise(ee.ImportCallArity, e);
      }
      return this.expect(11), this.finishNode(e, "ImportExpression");
    }
    checkPipelineAtInfixOperator(e, s) {
      this.hasPlugin(["pipelineOperator", {
        proposal: "smart"
      }]) && e.type === "SequenceExpression" && this.raise(ee.PipelineHeadSequenceExpression, s);
    }
    parseSmartPipelineBodyInStyle(e, s) {
      if (this.isSimpleReference(e)) {
        let r = this.startNodeAt(s);
        return r.callee = e, this.finishNode(r, "PipelineBareFunction");
      } else {
        let r = this.startNodeAt(s);
        return this.checkSmartPipeTopicBodyEarlyErrors(s), r.expression = e, this.finishNode(r, "PipelineTopicExpression");
      }
    }
    isSimpleReference(e) {
      switch (e.type) {
        case "MemberExpression":
          return !e.computed && this.isSimpleReference(e.object);
        case "Identifier":
          return !0;
        default:
          return !1;
      }
    }
    checkSmartPipeTopicBodyEarlyErrors(e) {
      if (this.match(19))
        throw this.raise(ee.PipelineBodyNoArrow, this.state.startLoc);
      this.topicReferenceWasUsedInCurrentContext() || this.raise(ee.PipelineTopicUnused, e);
    }
    withTopicBindingContext(e) {
      let s = this.state.topicContext;
      this.state.topicContext = {
        maxNumOfResolvableTopics: 1,
        maxTopicIndex: null
      };
      try {
        return e();
      } finally {
        this.state.topicContext = s;
      }
    }
    withSmartMixTopicForbiddingContext(e) {
      if (this.hasPlugin(["pipelineOperator", {
        proposal: "smart"
      }])) {
        let s = this.state.topicContext;
        this.state.topicContext = {
          maxNumOfResolvableTopics: 0,
          maxTopicIndex: null
        };
        try {
          return e();
        } finally {
          this.state.topicContext = s;
        }
      } else
        return e();
    }
    withSoloAwaitPermittingContext(e) {
      let s = this.state.soloAwait;
      this.state.soloAwait = !0;
      try {
        return e();
      } finally {
        this.state.soloAwait = s;
      }
    }
    allowInAnd(e) {
      let s = this.prodParam.currentFlags();
      if (8 & ~s) {
        this.prodParam.enter(s | 8);
        try {
          return e();
        } finally {
          this.prodParam.exit();
        }
      }
      return e();
    }
    disallowInAnd(e) {
      let s = this.prodParam.currentFlags();
      if (8 & s) {
        this.prodParam.enter(s & -9);
        try {
          return e();
        } finally {
          this.prodParam.exit();
        }
      }
      return e();
    }
    registerTopicReference() {
      this.state.topicContext.maxTopicIndex = 0;
    }
    topicReferenceIsAllowedInCurrentContext() {
      return this.state.topicContext.maxNumOfResolvableTopics >= 1;
    }
    topicReferenceWasUsedInCurrentContext() {
      return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0;
    }
    parseFSharpPipelineBody(e) {
      let s = this.state.startLoc;
      this.state.potentialArrowAt = this.state.start;
      let r = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !0;
      let i = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), s, e);
      return this.state.inFSharpPipelineDirectBody = r, i;
    }
    parseModuleExpression() {
      this.expectPlugin("moduleBlocks");
      let e = this.startNode();
      this.next(), this.match(5) || this.unexpected(null, 5);
      let s = this.startNodeAt(this.state.endLoc);
      this.next();
      let r = this.initializeScopes(!0);
      this.enterInitialScopes();
      try {
        e.body = this.parseProgram(s, 8, "module");
      } finally {
        r();
      }
      return this.finishNode(e, "ModuleExpression");
    }
    parsePropertyNamePrefixOperator(e) {
    }
  }, nM = {
    kind: 1
  }, Z1t = {
    kind: 2
  }, evt = /[\uD800-\uDFFF]/u, aM = /in(?:stanceof)?/y;
  function tvt(t, e, s) {
    for (let r = 0; r < t.length; r++) {
      let i = t[r], {
        type: a
      } = i;
      if (typeof a == "number") {
        {
          if (a === 139) {
            let {
              loc: o,
              start: l,
              value: u,
              end: c
            } = i, p = l + 1, h = Dn(o.start, 1);
            t.splice(r, 1, new ml({
              type: Du(27),
              value: "#",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            }), new ml({
              type: Du(132),
              value: u,
              start: p,
              end: c,
              startLoc: h,
              endLoc: o.end
            })), r++;
            continue;
          }
          if (eA(a)) {
            let {
              loc: o,
              start: l,
              value: u,
              end: c
            } = i, p = l + 1, h = Dn(o.start, 1), f;
            e.charCodeAt(l - s) === 96 ? f = new ml({
              type: Du(22),
              value: "`",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            }) : f = new ml({
              type: Du(8),
              value: "}",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            });
            let d, m, y, T;
            a === 24 ? (m = c - 1, y = Dn(o.end, -1), d = u === null ? null : u.slice(1, -1), T = new ml({
              type: Du(22),
              value: "`",
              start: m,
              end: c,
              startLoc: y,
              endLoc: o.end
            })) : (m = c - 2, y = Dn(o.end, -2), d = u === null ? null : u.slice(1, -2), T = new ml({
              type: Du(23),
              value: "${",
              start: m,
              end: c,
              startLoc: y,
              endLoc: o.end
            })), t.splice(r, 1, f, new ml({
              type: Du(20),
              value: d,
              start: p,
              end: m,
              startLoc: h,
              endLoc: y
            }), T), r += 2;
            continue;
          }
        }
        i.type = Du(a);
      }
    }
    return t;
  }
  n(tvt, "babel7CompatTokens");
  var CM = class extends vM {
    static {
      n(this, "StatementParser");
    }
    parseTopLevel(e, s) {
      return e.program = this.parseProgram(s), e.comments = this.comments, this.optionFlags & 128 && (e.tokens = tvt(this.tokens, this.input,
      this.startIndex)), this.finishNode(e, "File");
    }
    parseProgram(e, s = 140, r = this.options.sourceType) {
      if (e.sourceType = r, e.interpreter = this.parseInterpreterDirective(), this.parseBlockBody(e, !0, !0, s), this.inModule) {
        if (!(this.optionFlags & 32) && this.scope.undefinedExports.size > 0)
          for (let [a, o] of Array.from(this.scope.undefinedExports))
            this.raise(ee.ModuleExportUndefined, o, {
              localName: a
            });
        this.addExtra(e, "topLevelAwait", this.state.hasTopLevelAwait);
      }
      let i;
      return s === 140 ? i = this.finishNode(e, "Program") : i = this.finishNodeAt(e, "Program", Dn(this.state.startLoc, -1)), i;
    }
    stmtToDirective(e) {
      let s = e;
      s.type = "Directive", s.value = s.expression, delete s.expression;
      let r = s.value, i = r.value, a = this.input.slice(this.offsetToSourcePos(r.start), this.offsetToSourcePos(r.end)), o = r.value = a.slice(
      1, -1);
      return this.addExtra(r, "raw", a), this.addExtra(r, "rawValue", o), this.addExtra(r, "expressionValue", i), r.type = "DirectiveLiteral",
      s;
    }
    parseInterpreterDirective() {
      if (!this.match(28))
        return null;
      let e = this.startNode();
      return e.value = this.state.value, this.next(), this.finishNode(e, "InterpreterDirective");
    }
    isLet() {
      return this.isContextual(100) ? this.hasFollowingBindingAtom() : !1;
    }
    chStartsBindingIdentifier(e, s) {
      if (_u(e)) {
        if (aM.lastIndex = s, aM.test(this.input)) {
          let r = this.codePointAtPos(aM.lastIndex);
          if (!bm(r) && r !== 92)
            return !1;
        }
        return !0;
      } else return e === 92;
    }
    chStartsBindingPattern(e) {
      return e === 91 || e === 123;
    }
    hasFollowingBindingAtom() {
      let e = this.nextTokenStart(), s = this.codePointAtPos(e);
      return this.chStartsBindingPattern(s) || this.chStartsBindingIdentifier(s, e);
    }
    hasInLineFollowingBindingIdentifierOrBrace() {
      let e = this.nextTokenInLineStart(), s = this.codePointAtPos(e);
      return s === 123 || this.chStartsBindingIdentifier(s, e);
    }
    startsUsingForOf() {
      let {
        type: e,
        containsEsc: s
      } = this.lookahead();
      if (e === 102 && !s)
        return !1;
      if (er(e) && !this.hasFollowingLineBreak())
        return this.expectPlugin("explicitResourceManagement"), !0;
    }
    startsAwaitUsing() {
      let e = this.nextTokenInLineStart();
      if (this.isUnparsedContextual(e, "using")) {
        e = this.nextTokenInLineStartSince(e + 5);
        let s = this.codePointAtPos(e);
        if (this.chStartsBindingIdentifier(s, e))
          return this.expectPlugin("explicitResourceManagement"), !0;
      }
      return !1;
    }
    parseModuleItem() {
      return this.parseStatementLike(15);
    }
    parseStatementListItem() {
      return this.parseStatementLike(6 | (!this.options.annexB || this.state.strict ? 0 : 8));
    }
    parseStatementOrSloppyAnnexBFunctionDeclaration(e = !1) {
      let s = 0;
      return this.options.annexB && !this.state.strict && (s |= 4, e && (s |= 8)), this.parseStatementLike(s);
    }
    parseStatement() {
      return this.parseStatementLike(0);
    }
    parseStatementLike(e) {
      let s = null;
      return this.match(26) && (s = this.parseDecorators(!0)), this.parseStatementContent(e, s);
    }
    parseStatementContent(e, s) {
      let r = this.state.type, i = this.startNode(), a = !!(e & 2), o = !!(e & 4), l = e & 1;
      switch (r) {
        case 60:
          return this.parseBreakContinueStatement(i, !0);
        case 63:
          return this.parseBreakContinueStatement(i, !1);
        case 64:
          return this.parseDebuggerStatement(i);
        case 90:
          return this.parseDoWhileStatement(i);
        case 91:
          return this.parseForStatement(i);
        case 68:
          if (this.lookaheadCharCode() === 46) break;
          return o || this.raise(this.state.strict ? ee.StrictFunction : this.options.annexB ? ee.SloppyFunctionAnnexB : ee.SloppyFunction, this.
          state.startLoc), this.parseFunctionStatement(i, !1, !a && o);
        case 80:
          return a || this.unexpected(), this.parseClass(this.maybeTakeDecorators(s, i), !0);
        case 69:
          return this.parseIfStatement(i);
        case 70:
          return this.parseReturnStatement(i);
        case 71:
          return this.parseSwitchStatement(i);
        case 72:
          return this.parseThrowStatement(i);
        case 73:
          return this.parseTryStatement(i);
        case 96:
          if (!this.state.containsEsc && this.startsAwaitUsing())
            return this.recordAwaitIfAllowed() ? a || this.raise(ee.UnexpectedLexicalDeclaration, i) : this.raise(ee.AwaitUsingNotInAsyncContext,
            i), this.next(), this.parseVarStatement(i, "await using");
          break;
        case 107:
          if (this.state.containsEsc || !this.hasInLineFollowingBindingIdentifierOrBrace())
            break;
          return this.expectPlugin("explicitResourceManagement"), !this.scope.inModule && this.scope.inTopLevel ? this.raise(ee.UnexpectedUsingDeclaration,
          this.state.startLoc) : a || this.raise(ee.UnexpectedLexicalDeclaration, this.state.startLoc), this.parseVarStatement(i, "using");
        case 100: {
          if (this.state.containsEsc)
            break;
          let p = this.nextTokenStart(), h = this.codePointAtPos(p);
          if (h !== 91 && (!a && this.hasFollowingLineBreak() || !this.chStartsBindingIdentifier(h, p) && h !== 123))
            break;
        }
        case 75:
          a || this.raise(ee.UnexpectedLexicalDeclaration, this.state.startLoc);
        case 74: {
          let p = this.state.value;
          return this.parseVarStatement(i, p);
        }
        case 92:
          return this.parseWhileStatement(i);
        case 76:
          return this.parseWithStatement(i);
        case 5:
          return this.parseBlock();
        case 13:
          return this.parseEmptyStatement(i);
        case 83: {
          let p = this.lookaheadCharCode();
          if (p === 40 || p === 46)
            break;
        }
        case 82: {
          !(this.optionFlags & 8) && !l && this.raise(ee.UnexpectedImportExport, this.state.startLoc), this.next();
          let p;
          return r === 83 ? (p = this.parseImport(i), p.type === "ImportDeclaration" && (!p.importKind || p.importKind === "value") && (this.
          sawUnambiguousESM = !0)) : (p = this.parseExport(i, s), (p.type === "ExportNamedDeclaration" && (!p.exportKind || p.exportKind ===
          "value") || p.type === "ExportAllDeclaration" && (!p.exportKind || p.exportKind === "value") || p.type === "ExportDefaultDeclarati\
on") && (this.sawUnambiguousESM = !0)), this.assertModuleNodeAllowed(p), p;
        }
        default:
          if (this.isAsyncFunction())
            return a || this.raise(ee.AsyncFunctionInSingleStatementContext, this.state.startLoc), this.next(), this.parseFunctionStatement(
            i, !0, !a && o);
      }
      let u = this.state.value, c = this.parseExpression();
      return er(r) && c.type === "Identifier" && this.eat(14) ? this.parseLabeledStatement(i, u, c, e) : this.parseExpressionStatement(i, c,
      s);
    }
    assertModuleNodeAllowed(e) {
      !(this.optionFlags & 8) && !this.inModule && this.raise(ee.ImportOutsideModule, e);
    }
    decoratorsEnabledBeforeExport() {
      return this.hasPlugin("decorators-legacy") ? !0 : this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBefore\
Export") !== !1;
    }
    maybeTakeDecorators(e, s, r) {
      if (e) {
        var i;
        (i = s.decorators) != null && i.length ? (typeof this.getPluginOption("decorators", "decoratorsBeforeExport") != "boolean" && this.raise(
        ee.DecoratorsBeforeAfterExport, s.decorators[0]), s.decorators.unshift(...e)) : s.decorators = e, this.resetStartLocationFromNode(s,
        e[0]), r && this.resetStartLocationFromNode(r, s);
      }
      return s;
    }
    canHaveLeadingDecorator() {
      return this.match(80);
    }
    parseDecorators(e) {
      let s = [];
      do
        s.push(this.parseDecorator());
      while (this.match(26));
      if (this.match(82))
        e || this.unexpected(), this.decoratorsEnabledBeforeExport() || this.raise(ee.DecoratorExportClass, this.state.startLoc);
      else if (!this.canHaveLeadingDecorator())
        throw this.raise(ee.UnexpectedLeadingDecorator, this.state.startLoc);
      return s;
    }
    parseDecorator() {
      this.expectOnePlugin(["decorators", "decorators-legacy"]);
      let e = this.startNode();
      if (this.next(), this.hasPlugin("decorators")) {
        let s = this.state.startLoc, r;
        if (this.match(10)) {
          let i = this.state.startLoc;
          this.next(), r = this.parseExpression(), this.expect(11), r = this.wrapParenthesis(i, r);
          let a = this.state.startLoc;
          e.expression = this.parseMaybeDecoratorArguments(r, i), this.getPluginOption("decorators", "allowCallParenthesized") === !1 && e.expression !==
          r && this.raise(ee.DecoratorArgumentsOutsideParentheses, a);
        } else {
          for (r = this.parseIdentifier(!1); this.eat(16); ) {
            let i = this.startNodeAt(s);
            i.object = r, this.match(139) ? (this.classScope.usePrivateName(this.state.value, this.state.startLoc), i.property = this.parsePrivateName()) :
            i.property = this.parseIdentifier(!0), i.computed = !1, r = this.finishNode(i, "MemberExpression");
          }
          e.expression = this.parseMaybeDecoratorArguments(r, s);
        }
      } else
        e.expression = this.parseExprSubscripts();
      return this.finishNode(e, "Decorator");
    }
    parseMaybeDecoratorArguments(e, s) {
      if (this.eat(10)) {
        let r = this.startNodeAt(s);
        return r.callee = e, r.arguments = this.parseCallExpressionArguments(11), this.toReferencedList(r.arguments), this.finishNode(r, "Ca\
llExpression");
      }
      return e;
    }
    parseBreakContinueStatement(e, s) {
      return this.next(), this.isLineTerminator() ? e.label = null : (e.label = this.parseIdentifier(), this.semicolon()), this.verifyBreakContinue(
      e, s), this.finishNode(e, s ? "BreakStatement" : "ContinueStatement");
    }
    verifyBreakContinue(e, s) {
      let r;
      for (r = 0; r < this.state.labels.length; ++r) {
        let i = this.state.labels[r];
        if ((e.label == null || i.name === e.label.name) && (i.kind != null && (s || i.kind === 1) || e.label && s))
          break;
      }
      if (r === this.state.labels.length) {
        let i = s ? "BreakStatement" : "ContinueStatement";
        this.raise(ee.IllegalBreakContinue, e, {
          type: i
        });
      }
    }
    parseDebuggerStatement(e) {
      return this.next(), this.semicolon(), this.finishNode(e, "DebuggerStatement");
    }
    parseHeaderExpression() {
      this.expect(10);
      let e = this.parseExpression();
      return this.expect(11), e;
    }
    parseDoWhileStatement(e) {
      return this.next(), this.state.labels.push(nM), e.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.state.
      labels.pop(), this.expect(92), e.test = this.parseHeaderExpression(), this.eat(13), this.finishNode(e, "DoWhileStatement");
    }
    parseForStatement(e) {
      this.next(), this.state.labels.push(nM);
      let s = null;
      if (this.isContextual(96) && this.recordAwaitIfAllowed() && (s = this.state.startLoc, this.next()), this.scope.enter(0), this.expect(10),
      this.match(13))
        return s !== null && this.unexpected(s), this.parseFor(e, null);
      let r = this.isContextual(100);
      {
        let u = this.isContextual(96) && this.startsAwaitUsing(), c = u || this.isContextual(107) && this.startsUsingForOf(), p = r && this.
        hasFollowingBindingAtom() || c;
        if (this.match(74) || this.match(75) || p) {
          let h = this.startNode(), f;
          u ? (f = "await using", this.recordAwaitIfAllowed() || this.raise(ee.AwaitUsingNotInAsyncContext, this.state.startLoc), this.next()) :
          f = this.state.value, this.next(), this.parseVar(h, !0, f);
          let d = this.finishNode(h, "VariableDeclaration"), m = this.match(58);
          return m && c && this.raise(ee.ForInUsing, d), (m || this.isContextual(102)) && d.declarations.length === 1 ? this.parseForIn(e, d,
          s) : (s !== null && this.unexpected(s), this.parseFor(e, d));
        }
      }
      let i = this.isContextual(95), a = new Sm(), o = this.parseExpression(!0, a), l = this.isContextual(102);
      if (l && (r && this.raise(ee.ForOfLet, o), s === null && i && o.type === "Identifier" && this.raise(ee.ForOfAsync, o)), l || this.match(
      58)) {
        this.checkDestructuringPrivate(a), this.toAssignable(o, !0);
        let u = l ? "ForOfStatement" : "ForInStatement";
        return this.checkLVal(o, {
          type: u
        }), this.parseForIn(e, o, s);
      } else
        this.checkExpressionErrors(a, !0);
      return s !== null && this.unexpected(s), this.parseFor(e, o);
    }
    parseFunctionStatement(e, s, r) {
      return this.next(), this.parseFunction(e, 1 | (r ? 2 : 0) | (s ? 8 : 0));
    }
    parseIfStatement(e) {
      return this.next(), e.test = this.parseHeaderExpression(), e.consequent = this.parseStatementOrSloppyAnnexBFunctionDeclaration(), e.alternate =
      this.eat(66) ? this.parseStatementOrSloppyAnnexBFunctionDeclaration() : null, this.finishNode(e, "IfStatement");
    }
    parseReturnStatement(e) {
      return !this.prodParam.hasReturn && !(this.optionFlags & 2) && this.raise(ee.IllegalReturn, this.state.startLoc), this.next(), this.isLineTerminator() ?
      e.argument = null : (e.argument = this.parseExpression(), this.semicolon()), this.finishNode(e, "ReturnStatement");
    }
    parseSwitchStatement(e) {
      this.next(), e.discriminant = this.parseHeaderExpression();
      let s = e.cases = [];
      this.expect(5), this.state.labels.push(Z1t), this.scope.enter(0);
      let r;
      for (let i; !this.match(8); )
        if (this.match(61) || this.match(65)) {
          let a = this.match(61);
          r && this.finishNode(r, "SwitchCase"), s.push(r = this.startNode()), r.consequent = [], this.next(), a ? r.test = this.parseExpression() :
          (i && this.raise(ee.MultipleDefaultsInSwitch, this.state.lastTokStartLoc), i = !0, r.test = null), this.expect(14);
        } else
          r ? r.consequent.push(this.parseStatementListItem()) : this.unexpected();
      return this.scope.exit(), r && this.finishNode(r, "SwitchCase"), this.next(), this.state.labels.pop(), this.finishNode(e, "SwitchState\
ment");
    }
    parseThrowStatement(e) {
      return this.next(), this.hasPrecedingLineBreak() && this.raise(ee.NewlineAfterThrow, this.state.lastTokEndLoc), e.argument = this.parseExpression(),
      this.semicolon(), this.finishNode(e, "ThrowStatement");
    }
    parseCatchClauseParam() {
      let e = this.parseBindingAtom();
      return this.scope.enter(this.options.annexB && e.type === "Identifier" ? 8 : 0), this.checkLVal(e, {
        type: "CatchClause"
      }, 9), e;
    }
    parseTryStatement(e) {
      if (this.next(), e.block = this.parseBlock(), e.handler = null, this.match(62)) {
        let s = this.startNode();
        this.next(), this.match(10) ? (this.expect(10), s.param = this.parseCatchClauseParam(), this.expect(11)) : (s.param = null, this.scope.
        enter(0)), s.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(!1, !1)), this.scope.exit(), e.handler = this.finishNode(
        s, "CatchClause");
      }
      return e.finalizer = this.eat(67) ? this.parseBlock() : null, !e.handler && !e.finalizer && this.raise(ee.NoCatchOrFinally, e), this.finishNode(
      e, "TryStatement");
    }
    parseVarStatement(e, s, r = !1) {
      return this.next(), this.parseVar(e, !1, s, r), this.semicolon(), this.finishNode(e, "VariableDeclaration");
    }
    parseWhileStatement(e) {
      return this.next(), e.test = this.parseHeaderExpression(), this.state.labels.push(nM), e.body = this.withSmartMixTopicForbiddingContext(
      () => this.parseStatement()), this.state.labels.pop(), this.finishNode(e, "WhileStatement");
    }
    parseWithStatement(e) {
      return this.state.strict && this.raise(ee.StrictWith, this.state.startLoc), this.next(), e.object = this.parseHeaderExpression(), e.body =
      this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.finishNode(e, "WithStatement");
    }
    parseEmptyStatement(e) {
      return this.next(), this.finishNode(e, "EmptyStatement");
    }
    parseLabeledStatement(e, s, r, i) {
      for (let o of this.state.labels)
        o.name === s && this.raise(ee.LabelRedeclaration, r, {
          labelName: s
        });
      let a = n1t(this.state.type) ? 1 : this.match(71) ? 2 : null;
      for (let o = this.state.labels.length - 1; o >= 0; o--) {
        let l = this.state.labels[o];
        if (l.statementStart === e.start)
          l.statementStart = this.sourceToOffsetPos(this.state.start), l.kind = a;
        else
          break;
      }
      return this.state.labels.push({
        name: s,
        kind: a,
        statementStart: this.sourceToOffsetPos(this.state.start)
      }), e.body = i & 8 ? this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0) : this.parseStatement(), this.state.labels.pop(), e.label =
      r, this.finishNode(e, "LabeledStatement");
    }
    parseExpressionStatement(e, s, r) {
      return e.expression = s, this.semicolon(), this.finishNode(e, "ExpressionStatement");
    }
    parseBlock(e = !1, s = !0, r) {
      let i = this.startNode();
      return e && this.state.strictErrors.clear(), this.expect(5), s && this.scope.enter(0), this.parseBlockBody(i, e, !1, 8, r), s && this.
      scope.exit(), this.finishNode(i, "BlockStatement");
    }
    isValidDirective(e) {
      return e.type === "ExpressionStatement" && e.expression.type === "StringLiteral" && !e.expression.extra.parenthesized;
    }
    parseBlockBody(e, s, r, i, a) {
      let o = e.body = [], l = e.directives = [];
      this.parseBlockOrModuleBlockBody(o, s ? l : void 0, r, i, a);
    }
    parseBlockOrModuleBlockBody(e, s, r, i, a) {
      let o = this.state.strict, l = !1, u = !1;
      for (; !this.match(i); ) {
        let c = r ? this.parseModuleItem() : this.parseStatementListItem();
        if (s && !u) {
          if (this.isValidDirective(c)) {
            let p = this.stmtToDirective(c);
            s.push(p), !l && p.value.value === "use strict" && (l = !0, this.setStrict(!0));
            continue;
          }
          u = !0, this.state.strictErrors.clear();
        }
        e.push(c);
      }
      a?.call(this, l), o || this.setStrict(!1), this.next();
    }
    parseFor(e, s) {
      return e.init = s, this.semicolon(!1), e.test = this.match(13) ? null : this.parseExpression(), this.semicolon(!1), e.update = this.match(
      11) ? null : this.parseExpression(), this.expect(11), e.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.
      scope.exit(), this.state.labels.pop(), this.finishNode(e, "ForStatement");
    }
    parseForIn(e, s, r) {
      let i = this.match(58);
      return this.next(), i ? r !== null && this.unexpected(r) : e.await = r !== null, s.type === "VariableDeclaration" && s.declarations[0].
      init != null && (!i || !this.options.annexB || this.state.strict || s.kind !== "var" || s.declarations[0].id.type !== "Identifier") &&
      this.raise(ee.ForInOfLoopInitializer, s, {
        type: i ? "ForInStatement" : "ForOfStatement"
      }), s.type === "AssignmentPattern" && this.raise(ee.InvalidLhs, s, {
        ancestor: {
          type: "ForStatement"
        }
      }), e.left = s, e.right = i ? this.parseExpression() : this.parseMaybeAssignAllowIn(), this.expect(11), e.body = this.withSmartMixTopicForbiddingContext(
      () => this.parseStatement()), this.scope.exit(), this.state.labels.pop(), this.finishNode(e, i ? "ForInStatement" : "ForOfStatement");
    }
    parseVar(e, s, r, i = !1) {
      let a = e.declarations = [];
      for (e.kind = r; ; ) {
        let o = this.startNode();
        if (this.parseVarId(o, r), o.init = this.eat(29) ? s ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn() : null, o.
        init === null && !i && (o.id.type !== "Identifier" && !(s && (this.match(58) || this.isContextual(102))) ? this.raise(ee.DeclarationMissingInitializer,
        this.state.lastTokEndLoc, {
          kind: "destructuring"
        }) : (r === "const" || r === "using" || r === "await using") && !(this.match(58) || this.isContextual(102)) && this.raise(ee.DeclarationMissingInitializer,
        this.state.lastTokEndLoc, {
          kind: r
        })), a.push(this.finishNode(o, "VariableDeclarator")), !this.eat(12)) break;
      }
      return e;
    }
    parseVarId(e, s) {
      let r = this.parseBindingAtom();
      (s === "using" || s === "await using") && (r.type === "ArrayPattern" || r.type === "ObjectPattern") && this.raise(ee.UsingDeclarationHasBindingPattern,
      r.loc.start), this.checkLVal(r, {
        type: "VariableDeclarator"
      }, s === "var" ? 5 : 8201), e.id = r;
    }
    parseAsyncFunctionExpression(e) {
      return this.parseFunction(e, 8);
    }
    parseFunction(e, s = 0) {
      let r = s & 2, i = !!(s & 1), a = i && !(s & 4), o = !!(s & 8);
      this.initFunction(e, o), this.match(55) && (r && this.raise(ee.GeneratorInSingleStatementContext, this.state.startLoc), this.next(), e.
      generator = !0), i && (e.id = this.parseFunctionId(a));
      let l = this.state.maybeInArrowParameters;
      return this.state.maybeInArrowParameters = !1, this.scope.enter(2), this.prodParam.enter(QE(o, e.generator)), i || (e.id = this.parseFunctionId()),
      this.parseFunctionParams(e, !1), this.withSmartMixTopicForbiddingContext(() => {
        this.parseFunctionBodyAndFinish(e, i ? "FunctionDeclaration" : "FunctionExpression");
      }), this.prodParam.exit(), this.scope.exit(), i && !r && this.registerFunctionStatementId(e), this.state.maybeInArrowParameters = l, e;
    }
    parseFunctionId(e) {
      return e || er(this.state.type) ? this.parseIdentifier() : null;
    }
    parseFunctionParams(e, s) {
      this.expect(10), this.expressionScope.enter(N1t()), e.params = this.parseBindingList(11, 41, 2 | (s ? 4 : 0)), this.expressionScope.exit();
    }
    registerFunctionStatementId(e) {
      e.id && this.scope.declareName(e.id.name, !this.options.annexB || this.state.strict || e.generator || e.async ? this.scope.treatFunctionsAsVar ?
      5 : 8201 : 17, e.id.loc.start);
    }
    parseClass(e, s, r) {
      this.next();
      let i = this.state.strict;
      return this.state.strict = !0, this.parseClassId(e, s, r), this.parseClassSuper(e), e.body = this.parseClassBody(!!e.superClass, i), this.
      finishNode(e, s ? "ClassDeclaration" : "ClassExpression");
    }
    isClassProperty() {
      return this.match(29) || this.match(13) || this.match(8);
    }
    isClassMethod() {
      return this.match(10);
    }
    nameIsConstructor(e) {
      return e.type === "Identifier" && e.name === "constructor" || e.type === "StringLiteral" && e.value === "constructor";
    }
    isNonstaticConstructor(e) {
      return !e.computed && !e.static && this.nameIsConstructor(e.key);
    }
    parseClassBody(e, s) {
      this.classScope.enter();
      let r = {
        hadConstructor: !1,
        hadSuperClass: e
      }, i = [], a = this.startNode();
      if (a.body = [], this.expect(5), this.withSmartMixTopicForbiddingContext(() => {
        for (; !this.match(8); ) {
          if (this.eat(13)) {
            if (i.length > 0)
              throw this.raise(ee.DecoratorSemicolon, this.state.lastTokEndLoc);
            continue;
          }
          if (this.match(26)) {
            i.push(this.parseDecorator());
            continue;
          }
          let o = this.startNode();
          i.length && (o.decorators = i, this.resetStartLocationFromNode(o, i[0]), i = []), this.parseClassMember(a, o, r), o.kind === "cons\
tructor" && o.decorators && o.decorators.length > 0 && this.raise(ee.DecoratorConstructor, o);
        }
      }), this.state.strict = s, this.next(), i.length)
        throw this.raise(ee.TrailingDecorator, this.state.startLoc);
      return this.classScope.exit(), this.finishNode(a, "ClassBody");
    }
    parseClassMemberFromModifier(e, s) {
      let r = this.parseIdentifier(!0);
      if (this.isClassMethod()) {
        let i = s;
        return i.kind = "method", i.computed = !1, i.key = r, i.static = !1, this.pushClassMethod(e, i, !1, !1, !1, !1), !0;
      } else if (this.isClassProperty()) {
        let i = s;
        return i.computed = !1, i.key = r, i.static = !1, e.body.push(this.parseClassProperty(i)), !0;
      }
      return this.resetPreviousNodeTrailingComments(r), !1;
    }
    parseClassMember(e, s, r) {
      let i = this.isContextual(106);
      if (i) {
        if (this.parseClassMemberFromModifier(e, s))
          return;
        if (this.eat(5)) {
          this.parseClassStaticBlock(e, s);
          return;
        }
      }
      this.parseClassMemberWithIsStatic(e, s, r, i);
    }
    parseClassMemberWithIsStatic(e, s, r, i) {
      let a = s, o = s, l = s, u = s, c = s, p = a, h = a;
      if (s.static = i, this.parsePropertyNamePrefixOperator(s), this.eat(55)) {
        p.kind = "method";
        let b = this.match(139);
        if (this.parseClassElementName(p), b) {
          this.pushClassPrivateMethod(e, o, !0, !1);
          return;
        }
        this.isNonstaticConstructor(a) && this.raise(ee.ConstructorIsGenerator, a.key), this.pushClassMethod(e, a, !0, !1, !1, !1);
        return;
      }
      let f = !this.state.containsEsc && er(this.state.type), d = this.parseClassElementName(s), m = f ? d.name : null, y = this.isPrivateName(
      d), T = this.state.startLoc;
      if (this.parsePostMemberNameModifiers(h), this.isClassMethod()) {
        if (p.kind = "method", y) {
          this.pushClassPrivateMethod(e, o, !1, !1);
          return;
        }
        let b = this.isNonstaticConstructor(a), E = !1;
        b && (a.kind = "constructor", r.hadConstructor && !this.hasPlugin("typescript") && this.raise(ee.DuplicateConstructor, d), b && this.
        hasPlugin("typescript") && s.override && this.raise(ee.OverrideOnConstructor, d), r.hadConstructor = !0, E = r.hadSuperClass), this.
        pushClassMethod(e, a, !1, !1, b, E);
      } else if (this.isClassProperty())
        y ? this.pushClassPrivateProperty(e, u) : this.pushClassProperty(e, l);
      else if (m === "async" && !this.isLineTerminator()) {
        this.resetPreviousNodeTrailingComments(d);
        let b = this.eat(55);
        h.optional && this.unexpected(T), p.kind = "method";
        let E = this.match(139);
        this.parseClassElementName(p), this.parsePostMemberNameModifiers(h), E ? this.pushClassPrivateMethod(e, o, b, !0) : (this.isNonstaticConstructor(
        a) && this.raise(ee.ConstructorIsAsync, a.key), this.pushClassMethod(e, a, b, !0, !1, !1));
      } else if ((m === "get" || m === "set") && !(this.match(55) && this.isLineTerminator())) {
        this.resetPreviousNodeTrailingComments(d), p.kind = m;
        let b = this.match(139);
        this.parseClassElementName(a), b ? this.pushClassPrivateMethod(e, o, !1, !1) : (this.isNonstaticConstructor(a) && this.raise(ee.ConstructorIsAccessor,
        a.key), this.pushClassMethod(e, a, !1, !1, !1, !1)), this.checkGetterSetterParams(a);
      } else if (m === "accessor" && !this.isLineTerminator()) {
        this.expectPlugin("decoratorAutoAccessors"), this.resetPreviousNodeTrailingComments(d);
        let b = this.match(139);
        this.parseClassElementName(l), this.pushClassAccessorProperty(e, c, b);
      } else this.isLineTerminator() ? y ? this.pushClassPrivateProperty(e, u) : this.pushClassProperty(e, l) : this.unexpected();
    }
    parseClassElementName(e) {
      let {
        type: s,
        value: r
      } = this.state;
      if ((s === 132 || s === 134) && e.static && r === "prototype" && this.raise(ee.StaticPrototype, this.state.startLoc), s === 139) {
        r === "constructor" && this.raise(ee.ConstructorClassPrivateField, this.state.startLoc);
        let i = this.parsePrivateName();
        return e.key = i, i;
      }
      return this.parsePropertyName(e), e.key;
    }
    parseClassStaticBlock(e, s) {
      var r;
      this.scope.enter(208);
      let i = this.state.labels;
      this.state.labels = [], this.prodParam.enter(0);
      let a = s.body = [];
      this.parseBlockOrModuleBlockBody(a, void 0, !1, 8), this.prodParam.exit(), this.scope.exit(), this.state.labels = i, e.body.push(this.
      finishNode(s, "StaticBlock")), (r = s.decorators) != null && r.length && this.raise(ee.DecoratorStaticBlock, s);
    }
    pushClassProperty(e, s) {
      !s.computed && this.nameIsConstructor(s.key) && this.raise(ee.ConstructorClassField, s.key), e.body.push(this.parseClassProperty(s));
    }
    pushClassPrivateProperty(e, s) {
      let r = this.parseClassPrivateProperty(s);
      e.body.push(r), this.classScope.declarePrivateName(this.getPrivateNameSV(r.key), 0, r.key.loc.start);
    }
    pushClassAccessorProperty(e, s, r) {
      !r && !s.computed && this.nameIsConstructor(s.key) && this.raise(ee.ConstructorClassField, s.key);
      let i = this.parseClassAccessorProperty(s);
      e.body.push(i), r && this.classScope.declarePrivateName(this.getPrivateNameSV(i.key), 0, i.key.loc.start);
    }
    pushClassMethod(e, s, r, i, a, o) {
      e.body.push(this.parseMethod(s, r, i, a, o, "ClassMethod", !0));
    }
    pushClassPrivateMethod(e, s, r, i) {
      let a = this.parseMethod(s, r, i, !1, !1, "ClassPrivateMethod", !0);
      e.body.push(a);
      let o = a.kind === "get" ? a.static ? 6 : 2 : a.kind === "set" ? a.static ? 5 : 1 : 0;
      this.declareClassPrivateMethodInScope(a, o);
    }
    declareClassPrivateMethodInScope(e, s) {
      this.classScope.declarePrivateName(this.getPrivateNameSV(e.key), s, e.key.loc.start);
    }
    parsePostMemberNameModifiers(e) {
    }
    parseClassPrivateProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassPrivateProperty");
    }
    parseClassProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassProperty");
    }
    parseClassAccessorProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassAccessorProperty");
    }
    parseInitializer(e) {
      this.scope.enter(80), this.expressionScope.enter(Kre()), this.prodParam.enter(0), e.value = this.eat(29) ? this.parseMaybeAssignAllowIn() :
      null, this.expressionScope.exit(), this.prodParam.exit(), this.scope.exit();
    }
    parseClassId(e, s, r, i = 8331) {
      if (er(this.state.type))
        e.id = this.parseIdentifier(), s && this.declareNameFromIdentifier(e.id, i);
      else if (r || !s)
        e.id = null;
      else
        throw this.raise(ee.MissingClassName, this.state.startLoc);
    }
    parseClassSuper(e) {
      e.superClass = this.eat(81) ? this.parseExprSubscripts() : null;
    }
    parseExport(e, s) {
      let r = this.parseMaybeImportPhase(e, !0), i = this.maybeParseExportDefaultSpecifier(e, r), a = !i || this.eat(12), o = a && this.eatExportStar(
      e), l = o && this.maybeParseExportNamespaceSpecifier(e), u = a && (!l || this.eat(12)), c = i || o;
      if (o && !l) {
        if (i && this.unexpected(), s)
          throw this.raise(ee.UnsupportedDecoratorExport, e);
        return this.parseExportFrom(e, !0), this.finishNode(e, "ExportAllDeclaration");
      }
      let p = this.maybeParseExportNamedSpecifiers(e);
      i && a && !o && !p && this.unexpected(null, 5), l && u && this.unexpected(null, 98);
      let h;
      if (c || p) {
        if (h = !1, s)
          throw this.raise(ee.UnsupportedDecoratorExport, e);
        this.parseExportFrom(e, c);
      } else
        h = this.maybeParseExportDeclaration(e);
      if (c || p || h) {
        var f;
        let d = e;
        if (this.checkExport(d, !0, !1, !!d.source), ((f = d.declaration) == null ? void 0 : f.type) === "ClassDeclaration")
          this.maybeTakeDecorators(s, d.declaration, d);
        else if (s)
          throw this.raise(ee.UnsupportedDecoratorExport, e);
        return this.finishNode(d, "ExportNamedDeclaration");
      }
      if (this.eat(65)) {
        let d = e, m = this.parseExportDefaultExpression();
        if (d.declaration = m, m.type === "ClassDeclaration")
          this.maybeTakeDecorators(s, m, d);
        else if (s)
          throw this.raise(ee.UnsupportedDecoratorExport, e);
        return this.checkExport(d, !0, !0), this.finishNode(d, "ExportDefaultDeclaration");
      }
      this.unexpected(null, 5);
    }
    eatExportStar(e) {
      return this.eat(55);
    }
    maybeParseExportDefaultSpecifier(e, s) {
      if (s || this.isExportDefaultSpecifier()) {
        this.expectPlugin("exportDefaultFrom", s?.loc.start);
        let r = s || this.parseIdentifier(!0), i = this.startNodeAtNode(r);
        return i.exported = r, e.specifiers = [this.finishNode(i, "ExportDefaultSpecifier")], !0;
      }
      return !1;
    }
    maybeParseExportNamespaceSpecifier(e) {
      if (this.isContextual(93)) {
        var s, r;
        (r = (s = e).specifiers) != null || (s.specifiers = []);
        let i = this.startNodeAt(this.state.lastTokStartLoc);
        return this.next(), i.exported = this.parseModuleExportName(), e.specifiers.push(this.finishNode(i, "ExportNamespaceSpecifier")), !0;
      }
      return !1;
    }
    maybeParseExportNamedSpecifiers(e) {
      if (this.match(5)) {
        let s = e;
        s.specifiers || (s.specifiers = []);
        let r = s.exportKind === "type";
        return s.specifiers.push(...this.parseExportSpecifiers(r)), s.source = null, s.declaration = null, this.hasPlugin("importAssertions") &&
        (s.assertions = []), !0;
      }
      return !1;
    }
    maybeParseExportDeclaration(e) {
      return this.shouldParseExportDeclaration() ? (e.specifiers = [], e.source = null, this.hasPlugin("importAssertions") && (e.assertions =
      []), e.declaration = this.parseExportDeclaration(e), !0) : !1;
    }
    isAsyncFunction() {
      if (!this.isContextual(95)) return !1;
      let e = this.nextTokenInLineStart();
      return this.isUnparsedContextual(e, "function");
    }
    parseExportDefaultExpression() {
      let e = this.startNode();
      if (this.match(68))
        return this.next(), this.parseFunction(e, 5);
      if (this.isAsyncFunction())
        return this.next(), this.next(), this.parseFunction(e, 13);
      if (this.match(80))
        return this.parseClass(e, !0, !0);
      if (this.match(26))
        return this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") === !0 && this.raise(ee.DecoratorBeforeExport,
        this.state.startLoc), this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1), this.startNode()), !0, !0);
      if (this.match(75) || this.match(74) || this.isLet())
        throw this.raise(ee.UnsupportedDefaultExport, this.state.startLoc);
      let s = this.parseMaybeAssignAllowIn();
      return this.semicolon(), s;
    }
    parseExportDeclaration(e) {
      return this.match(80) ? this.parseClass(this.startNode(), !0, !1) : this.parseStatementListItem();
    }
    isExportDefaultSpecifier() {
      let {
        type: e
      } = this.state;
      if (er(e)) {
        if (e === 95 && !this.state.containsEsc || e === 100)
          return !1;
        if ((e === 130 || e === 129) && !this.state.containsEsc) {
          let {
            type: i
          } = this.lookahead();
          if (er(i) && i !== 98 || i === 5)
            return this.expectOnePlugin(["flow", "typescript"]), !1;
        }
      } else if (!this.match(65))
        return !1;
      let s = this.nextTokenStart(), r = this.isUnparsedContextual(s, "from");
      if (this.input.charCodeAt(s) === 44 || er(this.state.type) && r)
        return !0;
      if (this.match(65) && r) {
        let i = this.input.charCodeAt(this.nextTokenStartSince(s + 4));
        return i === 34 || i === 39;
      }
      return !1;
    }
    parseExportFrom(e, s) {
      this.eatContextual(98) ? (e.source = this.parseImportSource(), this.checkExport(e), this.maybeParseImportAttributes(e), this.checkJSONModuleImport(
      e)) : s && this.unexpected(), this.semicolon();
    }
    shouldParseExportDeclaration() {
      let {
        type: e
      } = this.state;
      return e === 26 && (this.expectOnePlugin(["decorators", "decorators-legacy"]), this.hasPlugin("decorators")) ? (this.getPluginOption("\
decorators", "decoratorsBeforeExport") === !0 && this.raise(ee.DecoratorBeforeExport, this.state.startLoc), !0) : this.isContextual(107) ? (this.
      raise(ee.UsingDeclarationExport, this.state.startLoc), !0) : this.isContextual(96) && this.startsAwaitUsing() ? (this.raise(ee.UsingDeclarationExport,
      this.state.startLoc), !0) : e === 74 || e === 75 || e === 68 || e === 80 || this.isLet() || this.isAsyncFunction();
    }
    checkExport(e, s, r, i) {
      if (s) {
        var a;
        if (r) {
          if (this.checkDuplicateExports(e, "default"), this.hasPlugin("exportDefaultFrom")) {
            var o;
            let l = e.declaration;
            l.type === "Identifier" && l.name === "from" && l.end - l.start === 4 && !((o = l.extra) != null && o.parenthesized) && this.raise(
            ee.ExportDefaultFromAsIdentifier, l);
          }
        } else if ((a = e.specifiers) != null && a.length)
          for (let l of e.specifiers) {
            let {
              exported: u
            } = l, c = u.type === "Identifier" ? u.name : u.value;
            if (this.checkDuplicateExports(l, c), !i && l.local) {
              let {
                local: p
              } = l;
              p.type !== "Identifier" ? this.raise(ee.ExportBindingIsString, l, {
                localName: p.value,
                exportName: c
              }) : (this.checkReservedWord(p.name, p.loc.start, !0, !1), this.scope.checkLocalExport(p));
            }
          }
        else if (e.declaration) {
          let l = e.declaration;
          if (l.type === "FunctionDeclaration" || l.type === "ClassDeclaration") {
            let {
              id: u
            } = l;
            if (!u) throw new Error("Assertion failure");
            this.checkDuplicateExports(e, u.name);
          } else if (l.type === "VariableDeclaration")
            for (let u of l.declarations)
              this.checkDeclaration(u.id);
        }
      }
    }
    checkDeclaration(e) {
      if (e.type === "Identifier")
        this.checkDuplicateExports(e, e.name);
      else if (e.type === "ObjectPattern")
        for (let s of e.properties)
          this.checkDeclaration(s);
      else if (e.type === "ArrayPattern")
        for (let s of e.elements)
          s && this.checkDeclaration(s);
      else e.type === "ObjectProperty" ? this.checkDeclaration(e.value) : e.type === "RestElement" ? this.checkDeclaration(e.argument) : e.type ===
      "AssignmentPattern" && this.checkDeclaration(e.left);
    }
    checkDuplicateExports(e, s) {
      this.exportedIdentifiers.has(s) && (s === "default" ? this.raise(ee.DuplicateDefaultExport, e) : this.raise(ee.DuplicateExport, e, {
        exportName: s
      })), this.exportedIdentifiers.add(s);
    }
    parseExportSpecifiers(e) {
      let s = [], r = !0;
      for (this.expect(5); !this.eat(8); ) {
        if (r)
          r = !1;
        else if (this.expect(12), this.eat(8)) break;
        let i = this.isContextual(130), a = this.match(134), o = this.startNode();
        o.local = this.parseModuleExportName(), s.push(this.parseExportSpecifier(o, a, e, i));
      }
      return s;
    }
    parseExportSpecifier(e, s, r, i) {
      return this.eatContextual(93) ? e.exported = this.parseModuleExportName() : s ? e.exported = _1t(e.local) : e.exported || (e.exported =
      Bu(e.local)), this.finishNode(e, "ExportSpecifier");
    }
    parseModuleExportName() {
      if (this.match(134)) {
        let e = this.parseStringLiteral(this.state.value), s = evt.exec(e.value);
        return s && this.raise(ee.ModuleExportNameHasLoneSurrogate, e, {
          surrogateCharCode: s[0].charCodeAt(0)
        }), e;
      }
      return this.parseIdentifier(!0);
    }
    isJSONModuleImport(e) {
      return e.assertions != null ? e.assertions.some(({
        key: s,
        value: r
      }) => r.value === "json" && (s.type === "Identifier" ? s.name === "type" : s.value === "type")) : !1;
    }
    checkImportReflection(e) {
      let {
        specifiers: s
      } = e, r = s.length === 1 ? s[0].type : null;
      if (e.phase === "source")
        r !== "ImportDefaultSpecifier" && this.raise(ee.SourcePhaseImportRequiresDefault, s[0].loc.start);
      else if (e.phase === "defer")
        r !== "ImportNamespaceSpecifier" && this.raise(ee.DeferImportRequiresNamespace, s[0].loc.start);
      else if (e.module) {
        var i;
        r !== "ImportDefaultSpecifier" && this.raise(ee.ImportReflectionNotBinding, s[0].loc.start), ((i = e.assertions) == null ? void 0 : i.
        length) > 0 && this.raise(ee.ImportReflectionHasAssertion, s[0].loc.start);
      }
    }
    checkJSONModuleImport(e) {
      if (this.isJSONModuleImport(e) && e.type !== "ExportAllDeclaration") {
        let {
          specifiers: s
        } = e;
        if (s != null) {
          let r = s.find((i) => {
            let a;
            if (i.type === "ExportSpecifier" ? a = i.local : i.type === "ImportSpecifier" && (a = i.imported), a !== void 0)
              return a.type === "Identifier" ? a.name !== "default" : a.value !== "default";
          });
          r !== void 0 && this.raise(ee.ImportJSONBindingNotDefault, r.loc.start);
        }
      }
    }
    isPotentialImportPhase(e) {
      return e ? !1 : this.isContextual(105) || this.isContextual(97) || this.isContextual(127);
    }
    applyImportPhase(e, s, r, i) {
      s || (r === "module" ? (this.expectPlugin("importReflection", i), e.module = !0) : this.hasPlugin("importReflection") && (e.module = !1),
      r === "source" ? (this.expectPlugin("sourcePhaseImports", i), e.phase = "source") : r === "defer" ? (this.expectPlugin("deferredImport\
Evaluation", i), e.phase = "defer") : this.hasPlugin("sourcePhaseImports") && (e.phase = null));
    }
    parseMaybeImportPhase(e, s) {
      if (!this.isPotentialImportPhase(s))
        return this.applyImportPhase(e, s, null), null;
      let r = this.parseIdentifier(!0), {
        type: i
      } = this.state;
      return (Do(i) ? i !== 98 || this.lookaheadCharCode() === 102 : i !== 12) ? (this.resetPreviousIdentifierLeadingComments(r), this.applyImportPhase(
      e, s, r.name, r.loc.start), null) : (this.applyImportPhase(e, s, null), r);
    }
    isPrecedingIdImportPhase(e) {
      let {
        type: s
      } = this.state;
      return er(s) ? s !== 98 || this.lookaheadCharCode() === 102 : s !== 12;
    }
    parseImport(e) {
      return this.match(134) ? this.parseImportSourceAndAttributes(e) : this.parseImportSpecifiersAndAfter(e, this.parseMaybeImportPhase(e, !1));
    }
    parseImportSpecifiersAndAfter(e, s) {
      e.specifiers = [];
      let i = !this.maybeParseDefaultImportSpecifier(e, s) || this.eat(12), a = i && this.maybeParseStarImportSpecifier(e);
      return i && !a && this.parseNamedImportSpecifiers(e), this.expectContextual(98), this.parseImportSourceAndAttributes(e);
    }
    parseImportSourceAndAttributes(e) {
      var s;
      return (s = e.specifiers) != null || (e.specifiers = []), e.source = this.parseImportSource(), this.maybeParseImportAttributes(e), this.
      checkImportReflection(e), this.checkJSONModuleImport(e), this.semicolon(), this.finishNode(e, "ImportDeclaration");
    }
    parseImportSource() {
      return this.match(134) || this.unexpected(), this.parseExprAtom();
    }
    parseImportSpecifierLocal(e, s, r) {
      s.local = this.parseIdentifier(), e.specifiers.push(this.finishImportSpecifier(s, r));
    }
    finishImportSpecifier(e, s, r = 8201) {
      return this.checkLVal(e.local, {
        type: s
      }, r), this.finishNode(e, s);
    }
    parseImportAttributes() {
      this.expect(5);
      let e = [], s = /* @__PURE__ */ new Set();
      do {
        if (this.match(8))
          break;
        let r = this.startNode(), i = this.state.value;
        if (s.has(i) && this.raise(ee.ModuleAttributesWithDuplicateKeys, this.state.startLoc, {
          key: i
        }), s.add(i), this.match(134) ? r.key = this.parseStringLiteral(i) : r.key = this.parseIdentifier(!0), this.expect(14), !this.match(
        134))
          throw this.raise(ee.ModuleAttributeInvalidValue, this.state.startLoc);
        r.value = this.parseStringLiteral(this.state.value), e.push(this.finishNode(r, "ImportAttribute"));
      } while (this.eat(12));
      return this.expect(8), e;
    }
    parseModuleAttributes() {
      let e = [], s = /* @__PURE__ */ new Set();
      do {
        let r = this.startNode();
        if (r.key = this.parseIdentifier(!0), r.key.name !== "type" && this.raise(ee.ModuleAttributeDifferentFromType, r.key), s.has(r.key.name) &&
        this.raise(ee.ModuleAttributesWithDuplicateKeys, r.key, {
          key: r.key.name
        }), s.add(r.key.name), this.expect(14), !this.match(134))
          throw this.raise(ee.ModuleAttributeInvalidValue, this.state.startLoc);
        r.value = this.parseStringLiteral(this.state.value), e.push(this.finishNode(r, "ImportAttribute"));
      } while (this.eat(12));
      return e;
    }
    maybeParseImportAttributes(e) {
      let s;
      var r = !1;
      if (this.match(76)) {
        if (this.hasPrecedingLineBreak() && this.lookaheadCharCode() === 40)
          return;
        this.next(), this.hasPlugin("moduleAttributes") ? s = this.parseModuleAttributes() : s = this.parseImportAttributes(), r = !0;
      } else this.isContextual(94) && !this.hasPrecedingLineBreak() ? (!this.hasPlugin("deprecatedImportAssert") && !this.hasPlugin("importA\
ssertions") && this.raise(ee.ImportAttributesUseAssert, this.state.startLoc), this.hasPlugin("importAssertions") || this.addExtra(e, "deprec\
atedAssertSyntax", !0), this.next(), s = this.parseImportAttributes()) : s = [];
      !r && this.hasPlugin("importAssertions") ? e.assertions = s : e.attributes = s;
    }
    maybeParseDefaultImportSpecifier(e, s) {
      if (s) {
        let r = this.startNodeAtNode(s);
        return r.local = s, e.specifiers.push(this.finishImportSpecifier(r, "ImportDefaultSpecifier")), !0;
      } else if (Do(this.state.type))
        return this.parseImportSpecifierLocal(e, this.startNode(), "ImportDefaultSpecifier"), !0;
      return !1;
    }
    maybeParseStarImportSpecifier(e) {
      if (this.match(55)) {
        let s = this.startNode();
        return this.next(), this.expectContextual(93), this.parseImportSpecifierLocal(e, s, "ImportNamespaceSpecifier"), !0;
      }
      return !1;
    }
    parseNamedImportSpecifiers(e) {
      let s = !0;
      for (this.expect(5); !this.eat(8); ) {
        if (s)
          s = !1;
        else {
          if (this.eat(14))
            throw this.raise(ee.DestructureNamedImport, this.state.startLoc);
          if (this.expect(12), this.eat(8)) break;
        }
        let r = this.startNode(), i = this.match(134), a = this.isContextual(130);
        r.imported = this.parseModuleExportName();
        let o = this.parseImportSpecifier(r, i, e.importKind === "type" || e.importKind === "typeof", a, void 0);
        e.specifiers.push(o);
      }
    }
    parseImportSpecifier(e, s, r, i, a) {
      if (this.eatContextual(93))
        e.local = this.parseIdentifier();
      else {
        let {
          imported: o
        } = e;
        if (s)
          throw this.raise(ee.ImportBindingIsString, e, {
            importName: o.value
          });
        this.checkReservedWord(o.name, e.loc.start, !0, !0), e.local || (e.local = Bu(o));
      }
      return this.finishImportSpecifier(e, "ImportSpecifier", a);
    }
    isThisParam(e) {
      return e.type === "Identifier" && e.name === "this";
    }
  }, sA = class extends CM {
    static {
      n(this, "Parser");
    }
    constructor(e, s, r) {
      e = GAt(e), super(e, s), this.options = e, this.initializeScopes(), this.plugins = r, this.filename = e.sourceFilename, this.startIndex =
      e.startIndex;
      let i = 0;
      e.allowAwaitOutsideFunction && (i |= 1), e.allowReturnOutsideFunction && (i |= 2), e.allowImportExportEverywhere && (i |= 8), e.allowSuperOutsideMethod &&
      (i |= 16), e.allowUndeclaredExports && (i |= 32), e.allowNewTargetOutsideFunction && (i |= 4), e.ranges && (i |= 64), e.tokens && (i |=
      128), e.createImportExpressions && (i |= 256), e.createParenthesizedExpressions && (i |= 512), e.errorRecovery && (i |= 1024), e.attachComment &&
      (i |= 2048), e.annexB && (i |= 4096), this.optionFlags = i;
    }
    getScopeHandler() {
      return M0;
    }
    parse() {
      this.enterInitialScopes();
      let e = this.startNode(), s = this.startNode();
      return this.nextToken(), e.errors = null, this.parseTopLevel(e, s), e.errors = this.state.errors, e.comments.length = this.state.commentsLen,
      e;
    }
  };
  function svt(t, e) {
    var s;
    if (((s = e) == null ? void 0 : s.sourceType) === "unambiguous") {
      e = Object.assign({}, e);
      try {
        e.sourceType = "module";
        let r = _0(e, t), i = r.parse();
        if (r.sawUnambiguousESM)
          return i;
        if (r.ambiguousScriptDifferentAst)
          try {
            return e.sourceType = "script", _0(e, t).parse();
          } catch {
          }
        else
          i.program.sourceType = "script";
        return i;
      } catch (r) {
        try {
          return e.sourceType = "script", _0(e, t).parse();
        } catch {
        }
        throw r;
      }
    } else
      return _0(e, t).parse();
  }
  n(svt, "parse");
  function rvt(t, e) {
    let s = _0(e, t);
    return s.options.strictMode && (s.state.strict = !0), s.getExpression();
  }
  n(rvt, "parseExpression");
  function ivt(t) {
    let e = {};
    for (let s of Object.keys(t))
      e[s] = Du(t[s]);
    return e;
  }
  n(ivt, "generateExportedTokenTypes");
  var nvt = ivt(t1t);
  function _0(t, e) {
    let s = sA, r = /* @__PURE__ */ new Map();
    if (t != null && t.plugins) {
      for (let i of t.plugins) {
        let a, o;
        typeof i == "string" ? a = i : [a, o] = i, r.has(a) || r.set(a, o || {});
      }
      G1t(r), s = avt(r);
    }
    return new s(t, e, r);
  }
  n(_0, "getParser");
  var Dre = /* @__PURE__ */ new Map();
  function avt(t) {
    let e = [];
    for (let i of Q1t)
      t.has(i) && e.push(i);
    let s = e.join("|"), r = Dre.get(s);
    if (!r) {
      r = sA;
      for (let i of e)
        r = Hre[i](r);
      Dre.set(s, r);
    }
    return r;
  }
  n(avt, "getParserClass");
  j0.parse = svt;
  j0.parseExpression = rvt;
  j0.tokTypes = nvt;
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/replacement.js
var YB = g((gp) => {
  "use strict";
  Object.defineProperty(gp, "__esModule", {
    value: !0
  });
  gp._replaceWith = tie;
  gp.replaceExpressionWithStatements = Lvt;
  gp.replaceInline = Bvt;
  gp.replaceWith = _vt;
  gp.replaceWithMultiple = Dvt;
  gp.replaceWithSourceString = Ovt;
  var ovt = Hl(), jM = v0(), lvt = fp(), Qre = Xh(), RM = $E(), uvt = Jre(), cvt = fe(), vm = dl(), {
    FUNCTION_TYPES: Yre,
    arrowFunctionExpression: pvt,
    assignmentExpression: Zre,
    awaitExpression: hvt,
    blockStatement: fvt,
    buildUndefinedNode: FM,
    callExpression: dvt,
    cloneNode: qM,
    conditionalExpression: mvt,
    expressionStatement: yvt,
    getBindingIdentifiers: gvt,
    identifier: Tvt,
    inheritLeadingComments: bvt,
    inheritTrailingComments: xvt,
    inheritsComments: Svt,
    isBlockStatement: Pvt,
    isEmptyStatement: Xre,
    isExpression: eie,
    isExpressionStatement: Evt,
    isIfStatement: Avt,
    isProgram: vvt,
    isStatement: Cvt,
    isVariableDeclaration: wvt,
    removeComments: Ivt,
    returnStatement: zre,
    sequenceExpression: Nvt,
    validate: Gre,
    yieldExpression: kvt
  } = cvt;
  function Dvt(t) {
    var e;
    vm.resync.call(this), t = RM._verifyNodeList.call(this, t), bvt(t[0], this.node), xvt(t[t.length - 1], this.node), (e = (0, Qre.getCachedPaths)(
    this.hub, this.parent)) == null || e.delete(this.node), this.node = this.container[this.key] = null;
    let s = this.insertAfter(t);
    return this.node ? this.requeue() : this.remove(), s;
  }
  n(Dvt, "replaceWithMultiple");
  function Ovt(t) {
    vm.resync.call(this);
    let e;
    try {
      t = `(${t})`, e = (0, uvt.parse)(t);
    } catch (r) {
      let i = r.loc;
      throw i && (r.message += ` - make sure this is an expression.
` + (0, ovt.codeFrameColumns)(t, {
        start: {
          line: i.line,
          column: i.column + 1
        }
      }), r.code = "BABEL_REPLACE_SOURCE_ERROR"), r;
    }
    let s = e.program.body[0].expression;
    return jM.default.removeProperties(s), this.replaceWith(s);
  }
  n(Ovt, "replaceWithSourceString");
  function _vt(t) {
    if (vm.resync.call(this), this.removed)
      throw new Error("You can't replace this node, we've already removed it");
    let e = t instanceof lvt.default ? t.node : t;
    if (!e)
      throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");
    if (this.node === e)
      return [this];
    if (this.isProgram() && !vvt(e))
      throw new Error("You can only replace a Program root node with another Program node");
    if (Array.isArray(e))
      throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");
    if (typeof e == "string")
      throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");
    let s = "";
    if (this.isNodeType("Statement") && eie(e) && !this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(
    e) && !this.parentPath.isExportDefaultDeclaration() && (e = yvt(e), s = "expression"), this.isNodeType("Expression") && Cvt(e) && !this.
    canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(e))
      return this.replaceExpressionWithStatements([e]);
    let r = this.node;
    return r && (Svt(e, r), Ivt(r)), tie.call(this, e), this.type = e.type, vm.setScope.call(this), this.requeue(), [s ? this.get(s) : this];
  }
  n(_vt, "replaceWith");
  function tie(t) {
    var e;
    if (!this.container)
      throw new ReferenceError("Container is falsy");
    this.inList ? Gre(this.parent, this.key, [t]) : Gre(this.parent, this.key, t), this.debug(`Replace with ${t?.type}`), (e = (0, Qre.getCachedPaths)(
    this.hub, this.parent)) == null || e.set(t, this).delete(this.node), this.node = this.container[this.key] = t;
  }
  n(tie, "_replaceWith");
  function Lvt(t) {
    vm.resync.call(this);
    let e = [], s = rA(t, e);
    if (s) {
      for (let f of e) this.scope.push({
        id: f
      });
      return this.replaceWith(s)[0].get("expressions");
    }
    let r = this.getFunctionParent(), i = r?.node.async, a = r?.node.generator, o = pvt([], fvt(t));
    this.replaceWith(dvt(o, []));
    let l = this.get("callee");
    l.get("body").scope.hoistVariables((f) => this.scope.push({
      id: f
    }));
    let u = l.getCompletionRecords();
    for (let f of u) {
      if (!f.isExpressionStatement()) continue;
      let d = f.findParent((m) => m.isLoop());
      if (d) {
        let m = d.getData("expressionReplacementReturnUid");
        m ? m = Tvt(m.name) : (m = l.scope.generateDeclaredUidIdentifier("ret"), l.get("body").pushContainer("body", zre(qM(m))), d.setData(
        "expressionReplacementReturnUid", m)), f.get("expression").replaceWith(Zre("=", qM(m), f.node.expression));
      } else
        f.replaceWith(zre(f.node.expression));
    }
    l.arrowFunctionToExpression();
    let c = l, p = i && jM.default.hasType(this.get("callee.body").node, "AwaitExpression", Yre), h = a && jM.default.hasType(this.get("call\
ee.body").node, "YieldExpression", Yre);
    return p && (c.set("async", !0), h || this.replaceWith(hvt(this.node))), h && (c.set("generator", !0), this.replaceWith(kvt(this.node, !0))),
    c.get("body.body");
  }
  n(Lvt, "replaceExpressionWithStatements");
  function rA(t, e) {
    let s = [], r = !0;
    for (let i of t)
      if (Xre(i) || (r = !1), eie(i))
        s.push(i);
      else if (Evt(i))
        s.push(i.expression);
      else if (wvt(i)) {
        if (i.kind !== "var") return;
        for (let a of i.declarations) {
          let o = gvt(a);
          for (let l of Object.keys(o))
            e.push(qM(o[l]));
          a.init && s.push(Zre("=", a.id, a.init));
        }
        r = !0;
      } else if (Avt(i)) {
        let a = i.consequent ? rA([i.consequent], e) : FM(), o = i.alternate ? rA([i.alternate], e) : FM();
        if (!a || !o) return;
        s.push(mvt(i.test, a, o));
      } else if (Pvt(i)) {
        let a = rA(i.body, e);
        if (!a) return;
        s.push(a);
      } else if (Xre(i))
        t.indexOf(i) === 0 && (r = !0);
      else
        return;
    return r && s.push(FM()), s.length === 1 ? s[0] : Nvt(s);
  }
  n(rA, "gatherSequenceExpressions");
  function Bvt(t) {
    if (vm.resync.call(this), Array.isArray(t))
      if (Array.isArray(this.container)) {
        t = RM._verifyNodeList.call(this, t);
        let e = RM._containerInsertAfter.call(this, t);
        return this.remove(), e;
      } else
        return this.replaceWithMultiple(t);
    else
      return this.replaceWith(t);
  }
  n(Bvt, "replaceInline");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/evaluation.js
var nie = g((iA) => {
  "use strict";
  Object.defineProperty(iA, "__esModule", {
    value: !0
  });
  iA.evaluate = Vvt;
  iA.evaluateTruthy = Uvt;
  var Mvt = ["Number", "String", "Math"], Fvt = ["isFinite", "isNaN", "parseFloat", "parseInt", "decodeURI", "decodeURIComponent", "encodeUR\
I", "encodeURIComponent", null, null], jvt = ["random"];
  function sie(t) {
    return Mvt.includes(t);
  }
  n(sie, "isValidObjectCallee");
  function Rvt(t) {
    return Fvt.includes(t);
  }
  n(Rvt, "isValidIdentifierCallee");
  function qvt(t) {
    return jvt.includes(t);
  }
  n(qvt, "isInvalidMethod");
  function Uvt() {
    let t = this.evaluate();
    if (t.confident) return !!t.value;
  }
  n(Uvt, "evaluateTruthy");
  function Mu(t, e) {
    e.confident && (e.deoptPath = t, e.confident = !1);
  }
  n(Mu, "deopt");
  var rie = /* @__PURE__ */ new Map([["undefined", void 0], ["Infinity", 1 / 0], ["NaN", NaN]]);
  function On(t, e) {
    let {
      node: s
    } = t, {
      seen: r
    } = e;
    if (r.has(s)) {
      let i = r.get(s);
      if (i.resolved)
        return i.value;
      Mu(t, e);
      return;
    } else {
      let i = {
        resolved: !1
      };
      r.set(s, i);
      let a = Kvt(t, e);
      return e.confident && (i.resolved = !0, i.value = a), a;
    }
  }
  n(On, "evaluateCached");
  function Kvt(t, e) {
    if (e.confident) {
      if (t.isSequenceExpression()) {
        let s = t.get("expressions");
        return On(s[s.length - 1], e);
      }
      if (t.isStringLiteral() || t.isNumericLiteral() || t.isBooleanLiteral())
        return t.node.value;
      if (t.isNullLiteral())
        return null;
      if (t.isTemplateLiteral())
        return iie(t, t.node.quasis, e);
      if (t.isTaggedTemplateExpression() && t.get("tag").isMemberExpression()) {
        let s = t.get("tag.object"), {
          node: {
            name: r
          }
        } = s, i = t.get("tag.property");
        if (s.isIdentifier() && r === "String" && !t.scope.getBinding(r) && i.isIdentifier() && i.node.name === "raw")
          return iie(t, t.node.quasi.quasis, e, !0);
      }
      if (t.isConditionalExpression()) {
        let s = On(t.get("test"), e);
        return e.confident ? On(s ? t.get("consequent") : t.get("alternate"), e) : void 0;
      }
      if (t.isExpressionWrapper())
        return On(t.get("expression"), e);
      if (t.isMemberExpression() && !t.parentPath.isCallExpression({
        callee: t.node
      })) {
        let s = t.get("property"), r = t.get("object");
        if (r.isLiteral()) {
          let i = r.node.value, a = typeof i, o = null;
          if (t.node.computed) {
            if (o = On(s, e), !e.confident) return;
          } else s.isIdentifier() && (o = s.node.name);
          if ((a === "number" || a === "string") && o != null && (typeof o == "number" || typeof o == "string"))
            return i[o];
        }
      }
      if (t.isReferencedIdentifier()) {
        let s = t.scope.getBinding(t.node.name);
        if (s) {
          if (s.constantViolations.length > 0 || t.node.start < s.path.node.end) {
            Mu(s.path, e);
            return;
          }
          if (s.hasValue)
            return s.value;
        }
        let r = t.node.name;
        if (rie.has(r)) {
          if (!s)
            return rie.get(r);
          Mu(s.path, e);
          return;
        }
        let i = t.resolve();
        if (i === t) {
          Mu(t, e);
          return;
        } else
          return On(i, e);
      }
      if (t.isUnaryExpression({
        prefix: !0
      })) {
        if (t.node.operator === "void")
          return;
        let s = t.get("argument");
        if (t.node.operator === "typeof" && (s.isFunction() || s.isClass()))
          return "function";
        let r = On(s, e);
        if (!e.confident) return;
        switch (t.node.operator) {
          case "!":
            return !r;
          case "+":
            return +r;
          case "-":
            return -r;
          case "~":
            return ~r;
          case "typeof":
            return typeof r;
        }
      }
      if (t.isArrayExpression()) {
        let s = [], r = t.get("elements");
        for (let i of r) {
          let a = i.evaluate();
          if (a.confident)
            s.push(a.value);
          else {
            Mu(a.deopt, e);
            return;
          }
        }
        return s;
      }
      if (t.isObjectExpression()) {
        let s = {}, r = t.get("properties");
        for (let i of r) {
          if (i.isObjectMethod() || i.isSpreadElement()) {
            Mu(i, e);
            return;
          }
          let a = i.get("key"), o;
          if (i.node.computed) {
            if (o = a.evaluate(), !o.confident) {
              Mu(o.deopt, e);
              return;
            }
            o = o.value;
          } else a.isIdentifier() ? o = a.node.name : o = a.node.value;
          let u = i.get("value").evaluate();
          if (!u.confident) {
            Mu(u.deopt, e);
            return;
          }
          u = u.value, s[o] = u;
        }
        return s;
      }
      if (t.isLogicalExpression()) {
        let s = e.confident, r = On(t.get("left"), e), i = e.confident;
        e.confident = s;
        let a = On(t.get("right"), e), o = e.confident;
        switch (t.node.operator) {
          case "||":
            return e.confident = i && (!!r || o), e.confident ? r || a : void 0;
          case "&&":
            return e.confident = i && (!r || o), e.confident ? r && a : void 0;
          case "??":
            return e.confident = i && (r != null || o), e.confident ? r ?? a : void 0;
        }
      }
      if (t.isBinaryExpression()) {
        let s = On(t.get("left"), e);
        if (!e.confident) return;
        let r = On(t.get("right"), e);
        if (!e.confident) return;
        switch (t.node.operator) {
          case "-":
            return s - r;
          case "+":
            return s + r;
          case "/":
            return s / r;
          case "*":
            return s * r;
          case "%":
            return s % r;
          case "**":
            return Math.pow(s, r);
          case "<":
            return s < r;
          case ">":
            return s > r;
          case "<=":
            return s <= r;
          case ">=":
            return s >= r;
          case "==":
            return s == r;
          case "!=":
            return s != r;
          case "===":
            return s === r;
          case "!==":
            return s !== r;
          case "|":
            return s | r;
          case "&":
            return s & r;
          case "^":
            return s ^ r;
          case "<<":
            return s << r;
          case ">>":
            return s >> r;
          case ">>>":
            return s >>> r;
        }
      }
      if (t.isCallExpression()) {
        let s = t.get("callee"), r, i;
        if (s.isIdentifier() && !t.scope.getBinding(s.node.name) && (sie(s.node.name) || Rvt(s.node.name)) && (i = global[s.node.name]), s.isMemberExpression()) {
          let a = s.get("object"), o = s.get("property");
          if (a.isIdentifier() && o.isIdentifier() && sie(a.node.name) && !qvt(o.node.name)) {
            r = global[a.node.name];
            let l = o.node.name;
            hasOwnProperty.call(r, l) && (i = r[l]);
          }
          if (a.isLiteral() && o.isIdentifier()) {
            let l = typeof a.node.value;
            (l === "string" || l === "number") && (r = a.node.value, i = r[o.node.name]);
          }
        }
        if (i) {
          let a = t.get("arguments").map((o) => On(o, e));
          return e.confident ? i.apply(r, a) : void 0;
        }
      }
      Mu(t, e);
    }
  }
  n(Kvt, "_evaluate");
  function iie(t, e, s, r = !1) {
    let i = "", a = 0, o = t.isTemplateLiteral() ? t.get("expressions") : t.get("quasi.expressions");
    for (let l of e) {
      if (!s.confident) break;
      i += r ? l.value.raw : l.value.cooked;
      let u = o[a++];
      u && (i += String(On(u, s)));
    }
    if (s.confident)
      return i;
  }
  n(iie, "evaluateQuasis");
  function Vvt() {
    let t = {
      confident: !0,
      deoptPath: null,
      seen: /* @__PURE__ */ new Map()
    }, e = On(this, t);
    return t.confident || (e = void 0), {
      confident: t.confident,
      deopt: t.deoptPath,
      value: e
    };
  }
  n(Vvt, "evaluate");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/conversion.js
var fie = g((Fu) => {
  "use strict";
  Object.defineProperty(Fu, "__esModule", {
    value: !0
  });
  Fu.arrowFunctionToExpression = bCt;
  Fu.ensureBlock = yCt;
  Fu.ensureFunctionName = DCt;
  Fu.splitExportDeclaration = NCt;
  Fu.toComputedKey = mCt;
  Fu.unwrapFunctionEnvironment = gCt;
  var Wvt = fe(), $vt = Jl(), VM = A0(), Hvt = dl(), {
    arrowFunctionExpression: WM,
    assignmentExpression: nf,
    binaryExpression: UM,
    blockStatement: Jvt,
    callExpression: Cm,
    conditionalExpression: Yvt,
    expressionStatement: lie,
    identifier: mr,
    isIdentifier: Xvt,
    jsxIdentifier: zvt,
    logicalExpression: Gvt,
    LOGICAL_OPERATORS: Qvt,
    memberExpression: Oo,
    metaProperty: Zvt,
    numericLiteral: eCt,
    objectExpression: tCt,
    restElement: sCt,
    returnStatement: rCt,
    sequenceExpression: iCt,
    spreadElement: nCt,
    stringLiteral: uie,
    super: KM,
    thisExpression: R0,
    toExpression: cie,
    unaryExpression: aCt,
    toBindingIdentifierName: oCt,
    isFunction: lCt,
    isAssignmentPattern: uCt,
    isRestElement: cCt,
    getFunctionName: pCt,
    cloneNode: af,
    variableDeclaration: hCt,
    variableDeclarator: fCt,
    exportNamedDeclaration: aie,
    exportSpecifier: oie,
    inherits: dCt
  } = Wvt;
  function mCt() {
    let t;
    if (this.isMemberExpression())
      t = this.node.property;
    else if (this.isProperty() || this.isMethod())
      t = this.node.key;
    else
      throw new ReferenceError("todo");
    return this.node.computed || Xvt(t) && (t = uie(t.name)), t;
  }
  n(mCt, "toComputedKey");
  function yCt() {
    let t = this.get("body"), e = t.node;
    if (Array.isArray(t))
      throw new Error("Can't convert array path to a block statement");
    if (!e)
      throw new Error("Can't convert node without a body");
    if (t.isBlockStatement())
      return e;
    let s = [], r = "body", i, a;
    t.isStatement() ? (a = "body", i = 0, s.push(t.node)) : (r += ".body.0", this.isFunction() ? (i = "argument", s.push(rCt(t.node))) : (i =
    "expression", s.push(lie(t.node)))), this.node.body = Jvt(s);
    let o = this.get(r);
    return Hvt.setup.call(t, o, a ? o.node[a] : o.node, a, i), this.node;
  }
  n(yCt, "ensureBlock");
  Fu.arrowFunctionToShadowed = function() {
    this.isArrowFunctionExpression() && this.arrowFunctionToExpression();
  };
  function gCt() {
    if (!this.isArrowFunctionExpression() && !this.isFunctionExpression() && !this.isFunctionDeclaration())
      throw this.buildCodeFrameError("Can only unwrap the environment of a function.");
    pie(this);
  }
  n(gCt, "unwrapFunctionEnvironment");
  function TCt(t, e) {
    t.node.type = e;
  }
  n(TCt, "setType");
  function bCt({
    allowInsertArrow: t = !0,
    allowInsertArrowWithRest: e = t,
    noNewArrows: s = !((r) => (r = arguments[0]) == null ? void 0 : r.specCompliant)()
  } = {}) {
    if (!this.isArrowFunctionExpression())
      throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");
    let r = this;
    if (!s) {
      var i;
      r = (i = r.ensureFunctionName(!1)) != null ? i : r;
    }
    let {
      thisBinding: a,
      fnPath: o
    } = pie(r, s, t, e);
    if (o.ensureBlock(), TCt(o, "FunctionExpression"), !s) {
      let l = a ? null : o.scope.generateUidIdentifier("arrowCheckId");
      return l && o.parentPath.scope.push({
        id: l,
        init: tCt([])
      }), o.get("body").unshiftContainer("body", lie(Cm(this.hub.addHelper("newArrowCheck"), [R0(), mr(l ? l.name : a)]))), o.replaceWith(Cm(
      Oo(o.node, mr("bind")), [l ? mr(l.name) : R0()])), o.get("callee.object");
    }
    return o;
  }
  n(bCt, "arrowFunctionToExpression");
  var xCt = (0, VM.environmentVisitor)({
    CallExpression(t, {
      allSuperCalls: e
    }) {
      t.get("callee").isSuper() && e.push(t);
    }
  });
  function pie(t, e = !0, s = !0, r = !0) {
    let i, a = t.findParent((d) => {
      if (d.isArrowFunctionExpression()) {
        var m;
        return (m = i) != null || (i = d), !1;
      }
      return d.isFunction() || d.isProgram() || d.isClassProperty({
        static: !1
      }) || d.isClassPrivateProperty({
        static: !1
      });
    }), o = a.isClassMethod({
      kind: "constructor"
    });
    if (a.isClassProperty() || a.isClassPrivateProperty())
      if (i)
        a = i;
      else if (s)
        t.replaceWith(Cm(WM([], cie(t.node)), [])), a = t.get("callee"), t = a.get("body");
      else
        throw t.buildCodeFrameError("Unable to transform arrow inside class property");
    let {
      thisPaths: l,
      argumentsPaths: u,
      newTargetPaths: c,
      superProps: p,
      superCalls: h
    } = ICt(t);
    if (o && h.length > 0) {
      if (!s)
        throw h[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super()` in an a\
rrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");
      if (!r)
        throw h[0].buildCodeFrameError("When using '@babel/plugin-transform-parameters', it's not possible to compile `super()` in an arrow \
function with default or rest parameters without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration\
.");
      let d = [];
      a.traverse(xCt, {
        allSuperCalls: d
      });
      let m = vCt(a);
      d.forEach((y) => {
        let T = mr(m);
        T.loc = y.node.callee.loc, y.get("callee").replaceWith(T);
      });
    }
    if (u.length > 0) {
      let d = q0(a, "arguments", () => {
        let m = /* @__PURE__ */ n(() => mr("arguments"), "args");
        return a.scope.path.isProgram() ? Yvt(UM("===", aCt("typeof", m()), uie("undefined")), a.scope.buildUndefinedNode(), m()) : m();
      });
      u.forEach((m) => {
        let y = mr(d);
        y.loc = m.node.loc, m.replaceWith(y);
      });
    }
    if (c.length > 0) {
      let d = q0(a, "newtarget", () => Zvt(mr("new"), mr("target")));
      c.forEach((m) => {
        let y = mr(d);
        y.loc = m.node.loc, m.replaceWith(y);
      });
    }
    if (p.length > 0) {
      if (!s)
        throw p[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super.prop` in a\
n arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");
      p.reduce((m, y) => m.concat(PCt(y)), []).forEach((m) => {
        let y = m.node.computed ? "" : m.get("property").node.name, T = m.parentPath, b = T.isAssignmentExpression({
          left: m.node
        }), E = T.isCallExpression({
          callee: m.node
        }), V = T.isTaggedTemplateExpression({
          tag: m.node
        }), W = CCt(a, b, y), oe = [];
        if (m.node.computed && oe.push(m.get("property").node), b) {
          let ye = T.node.right;
          oe.push(ye);
        }
        let de = Cm(mr(W), oe);
        E ? (T.unshiftContainer("arguments", R0()), m.replaceWith(Oo(de, mr("call"))), l.push(T.get("arguments.0"))) : b ? T.replaceWith(de) :
        V ? (m.replaceWith(Cm(Oo(de, mr("bind"), !1), [R0()])), l.push(m.get("arguments.0"))) : m.replaceWith(de);
      });
    }
    let f;
    return (l.length > 0 || !e) && (f = ACt(a, o), (e || o && hie(a)) && (l.forEach((d) => {
      let m = d.isJSX() ? zvt(f) : mr(f);
      m.loc = d.node.loc, d.replaceWith(m);
    }), e || (f = null))), {
      thisBinding: f,
      fnPath: t
    };
  }
  n(pie, "hoistFunctionEnvironment");
  function SCt(t) {
    return Qvt.includes(t);
  }
  n(SCt, "isLogicalOp");
  function PCt(t) {
    if (t.parentPath.isAssignmentExpression() && t.parentPath.node.operator !== "=") {
      let s = t.parentPath, r = s.node.operator.slice(0, -1), i = s.node.right, a = SCt(r);
      if (t.node.computed) {
        let o = t.scope.generateDeclaredUidIdentifier("tmp"), l = t.node.object, u = t.node.property;
        s.get("left").replaceWith(Oo(l, nf("=", o, u), !0)), s.get("right").replaceWith(e(a ? "=" : r, Oo(l, mr(o.name), !0), i));
      } else {
        let o = t.node.object, l = t.node.property;
        s.get("left").replaceWith(Oo(o, l)), s.get("right").replaceWith(e(a ? "=" : r, Oo(o, mr(l.name)), i));
      }
      return a ? s.replaceWith(Gvt(r, s.node.left, s.node.right)) : s.node.operator = "=", [s.get("left"), s.get("right").get("left")];
    } else if (t.parentPath.isUpdateExpression()) {
      let s = t.parentPath, r = t.scope.generateDeclaredUidIdentifier("tmp"), i = t.node.computed ? t.scope.generateDeclaredUidIdentifier("p\
rop") : null, a = [nf("=", r, Oo(t.node.object, i ? nf("=", i, t.node.property) : t.node.property, t.node.computed)), nf("=", Oo(t.node.object,
      i ? mr(i.name) : t.node.property, t.node.computed), UM(t.parentPath.node.operator[0], mr(r.name), eCt(1)))];
      t.parentPath.node.prefix || a.push(mr(r.name)), s.replaceWith(iCt(a));
      let o = s.get("expressions.0.right"), l = s.get("expressions.1.left");
      return [o, l];
    }
    return [t];
    function e(s, r, i) {
      return s === "=" ? nf("=", r, i) : UM(s, r, i);
    }
  }
  n(PCt, "standardizeSuperProperty");
  function hie(t) {
    return t.isClassMethod() && !!t.parentPath.parentPath.node.superClass;
  }
  n(hie, "hasSuperClass");
  var ECt = (0, VM.environmentVisitor)({
    CallExpression(t, {
      supers: e,
      thisBinding: s
    }) {
      t.get("callee").isSuper() && (e.has(t.node) || (e.add(t.node), t.replaceWithMultiple([t.node, nf("=", mr(s), mr("this"))])));
    }
  });
  function ACt(t, e) {
    return q0(t, "this", (s) => {
      if (!e || !hie(t)) return R0();
      t.traverse(ECt, {
        supers: /* @__PURE__ */ new WeakSet(),
        thisBinding: s
      });
    });
  }
  n(ACt, "getThisBinding");
  function vCt(t) {
    return q0(t, "supercall", () => {
      let e = t.scope.generateUidIdentifier("args");
      return WM([sCt(e)], Cm(KM(), [nCt(mr(e.name))]));
    });
  }
  n(vCt, "getSuperBinding");
  function CCt(t, e, s) {
    return q0(t, `superprop_${e ? "set" : "get"}:${s || ""}`, () => {
      let i = [], a;
      if (s)
        a = Oo(KM(), mr(s));
      else {
        let o = t.scope.generateUidIdentifier("prop");
        i.unshift(o), a = Oo(KM(), mr(o.name), !0);
      }
      if (e) {
        let o = t.scope.generateUidIdentifier("value");
        i.push(o), a = nf("=", a, mr(o.name));
      }
      return WM(i, a);
    });
  }
  n(CCt, "getSuperPropBinding");
  function q0(t, e, s) {
    let r = "binding:" + e, i = t.getData(r);
    if (!i) {
      let a = t.scope.generateUidIdentifier(e);
      i = a.name, t.setData(r, i), t.scope.push({
        id: a,
        init: s(i)
      });
    }
    return i;
  }
  n(q0, "getBinding");
  var wCt = (0, VM.environmentVisitor)({
    ThisExpression(t, {
      thisPaths: e
    }) {
      e.push(t);
    },
    JSXIdentifier(t, {
      thisPaths: e
    }) {
      t.node.name === "this" && (!t.parentPath.isJSXMemberExpression({
        object: t.node
      }) && !t.parentPath.isJSXOpeningElement({
        name: t.node
      }) || e.push(t));
    },
    CallExpression(t, {
      superCalls: e
    }) {
      t.get("callee").isSuper() && e.push(t);
    },
    MemberExpression(t, {
      superProps: e
    }) {
      t.get("object").isSuper() && e.push(t);
    },
    Identifier(t, {
      argumentsPaths: e
    }) {
      if (!t.isReferencedIdentifier({
        name: "arguments"
      })) return;
      let s = t.scope;
      do {
        if (s.hasOwnBinding("arguments")) {
          s.rename("arguments");
          return;
        }
        if (s.path.isFunction() && !s.path.isArrowFunctionExpression())
          break;
      } while (s = s.parent);
      e.push(t);
    },
    MetaProperty(t, {
      newTargetPaths: e
    }) {
      t.get("meta").isIdentifier({
        name: "new"
      }) && t.get("property").isIdentifier({
        name: "target"
      }) && e.push(t);
    }
  });
  function ICt(t) {
    let e = [], s = [], r = [], i = [], a = [];
    return t.traverse(wCt, {
      thisPaths: e,
      argumentsPaths: s,
      newTargetPaths: r,
      superProps: i,
      superCalls: a
    }), {
      thisPaths: e,
      argumentsPaths: s,
      newTargetPaths: r,
      superProps: i,
      superCalls: a
    };
  }
  n(ICt, "getScopeInformation");
  function NCt() {
    if (!this.isExportDeclaration() || this.isExportAllDeclaration())
      throw new Error("Only default and named export declarations can be split.");
    if (this.isExportNamedDeclaration() && this.get("specifiers").length > 0)
      throw new Error("It doesn't make sense to split exported specifiers.");
    let t = this.get("declaration");
    if (this.isExportDefaultDeclaration()) {
      let i = t.isFunctionDeclaration() || t.isClassDeclaration(), a = t.isFunctionExpression() || t.isClassExpression(), o = t.isScope() ? t.
      scope.parent : t.scope, l = t.node.id, u = !1;
      l ? a && o.hasBinding(l.name) && (u = !0, l = o.generateUidIdentifier(l.name)) : (u = !0, l = o.generateUidIdentifier("default"), (i ||
      a) && (t.node.id = af(l)));
      let c = i ? t.node : hCt("var", [fCt(af(l), t.node)]), p = aie(null, [oie(af(l), mr("default"))]);
      return this.insertAfter(p), this.replaceWith(c), u && o.registerDeclaration(this), this;
    } else if (this.get("specifiers").length > 0)
      throw new Error("It doesn't make sense to split exported specifiers.");
    let e = t.getOuterBindingIdentifiers(), s = Object.keys(e).map((i) => oie(mr(i), mr(i))), r = aie(null, s);
    return this.insertAfter(r), this.replaceWith(t.node), this;
  }
  n(NCt, "splitExportDeclaration");
  var kCt = {
    "ReferencedIdentifier|BindingIdentifier"(t, e) {
      t.node.name === e.name && (e.needsRename = !0, t.stop());
    },
    Scope(t, e) {
      t.scope.hasOwnBinding(e.name) && t.skip();
    }
  };
  function DCt(t) {
    if (this.node.id) return this;
    let e = pCt(this.node, this.parent);
    if (e == null) return this;
    let {
      name: s
    } = e;
    if (!t && /[\uD800-\uDFFF]/.test(s) || s.startsWith("get ") || s.startsWith("set "))
      return null;
    s = oCt(s.replace(/[/ ]/g, "_"));
    let r = mr(s);
    dCt(r, e.originalNode);
    let i = {
      needsRename: !1,
      name: s
    }, {
      scope: a
    } = this, o = a.getOwnBinding(s);
    if (o ? o.kind === "param" && (i.needsRename = !0) : (a.parent.hasBinding(s) || a.hasGlobal(s)) && this.traverse(kCt, i), !i.needsRename)
      return this.node.id = r, a.getProgramParent().references[r.name] = !0, this;
    if (a.hasBinding(r.name) && !a.hasGlobal(r.name))
      return a.rename(r.name), this.node.id = r, a.getProgramParent().references[r.name] = !0, this;
    if (!lCt(this.node)) return null;
    let l = a.generateUidIdentifier(r.name), u = [];
    for (let p = 0, h = OCt(this.node); p < h; p++)
      u.push(a.generateUidIdentifier("x"));
    let c = $vt.default.expression.ast`
    (function (${l}) {
      function ${r}(${u}) {
        return ${af(l)}.apply(this, arguments);
      }

      ${af(r)}.toString = function () {
        return ${af(l)}.toString();
      }

      return ${af(r)};
    })(${cie(this.node)})
  `;
    return this.replaceWith(c)[0].get("arguments.0");
  }
  n(DCt, "ensureFunctionName");
  function OCt(t) {
    let e = t.params.findIndex((s) => uCt(s) || cCt(s));
    return e === -1 ? t.params.length : e;
  }
  n(OCt, "getFunctionArity");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/introspection.js
var bie = g((li) => {
  "use strict";
  Object.defineProperty(li, "__esModule", {
    value: !0
  });
  li._guessExecutionStatusRelativeTo = ZCt;
  li._resolve = Tie;
  li.canHaveVariableDeclarationOrExpression = $Ct;
  li.canSwapBetweenExpressionAndStatement = HCt;
  li.getSource = zCt;
  li.isCompletionRecord = JCt;
  li.isConstantExpression = rwt;
  li.isInStrictMode = iwt;
  li.isNodeType = WCt;
  li.isStatementOrBlock = YCt;
  li.isStatic = VCt;
  li.matchesPattern = KCt;
  li.referencesImport = XCt;
  li.resolve = swt;
  li.willIMaybeExecuteBefore = GCt;
  var _Ct = fe(), {
    STATEMENT_OR_BLOCK_KEYS: LCt,
    VISITOR_KEYS: BCt,
    isBlockStatement: gie,
    isExpression: MCt,
    isIdentifier: FCt,
    isLiteral: jCt,
    isStringLiteral: RCt,
    isType: qCt,
    matchesPattern: UCt
  } = _Ct;
  function KCt(t, e) {
    return UCt(this.node, t, e);
  }
  n(KCt, "matchesPattern");
  li.has = /* @__PURE__ */ n(function(e) {
    var s;
    let r = (s = this.node) == null ? void 0 : s[e];
    return r && Array.isArray(r) ? !!r.length : !!r;
  }, "has");
  function VCt() {
    return this.scope.isStatic(this.node);
  }
  n(VCt, "isStatic");
  li.is = li.has, li.isnt = /* @__PURE__ */ n(function(e) {
    return !this.has(e);
  }, "isnt"), li.equals = /* @__PURE__ */ n(function(e, s) {
    return this.node[e] === s;
  }, "equals");
  function WCt(t) {
    return qCt(this.type, t);
  }
  n(WCt, "isNodeType");
  function $Ct() {
    return (this.key === "init" || this.key === "left") && this.parentPath.isFor();
  }
  n($Ct, "canHaveVariableDeclarationOrExpression");
  function HCt(t) {
    return this.key !== "body" || !this.parentPath.isArrowFunctionExpression() ? !1 : this.isExpression() ? gie(t) : this.isBlockStatement() ?
    MCt(t) : !1;
  }
  n(HCt, "canSwapBetweenExpressionAndStatement");
  function JCt(t) {
    let e = this, s = !0;
    do {
      let {
        type: r,
        container: i
      } = e;
      if (!s && (e.isFunction() || r === "StaticBlock"))
        return !!t;
      if (s = !1, Array.isArray(i) && e.key !== i.length - 1)
        return !1;
    } while ((e = e.parentPath) && !e.isProgram() && !e.isDoExpression());
    return !0;
  }
  n(JCt, "isCompletionRecord");
  function YCt() {
    return this.parentPath.isLabeledStatement() || gie(this.container) ? !1 : LCt.includes(this.key);
  }
  n(YCt, "isStatementOrBlock");
  function XCt(t, e) {
    if (!this.isReferencedIdentifier()) {
      if (this.isJSXMemberExpression() && this.node.property.name === e || (this.isMemberExpression() || this.isOptionalMemberExpression()) &&
      (this.node.computed ? RCt(this.node.property, {
        value: e
      }) : this.node.property.name === e)) {
        let a = this.get("object");
        return a.isReferencedIdentifier() && a.referencesImport(t, "*");
      }
      return !1;
    }
    let s = this.scope.getBinding(this.node.name);
    if (!s || s.kind !== "module") return !1;
    let r = s.path, i = r.parentPath;
    if (!i.isImportDeclaration()) return !1;
    if (i.node.source.value === t) {
      if (!e) return !0;
    } else
      return !1;
    return !!(r.isImportDefaultSpecifier() && e === "default" || r.isImportNamespaceSpecifier() && e === "*" || r.isImportSpecifier() && FCt(
    r.node.imported, {
      name: e
    }));
  }
  n(XCt, "referencesImport");
  function zCt() {
    let t = this.node;
    if (t.end) {
      let e = this.hub.getCode();
      if (e) return e.slice(t.start, t.end);
    }
    return "";
  }
  n(zCt, "getSource");
  function GCt(t) {
    return this._guessExecutionStatusRelativeTo(t) !== "after";
  }
  n(GCt, "willIMaybeExecuteBefore");
  function die(t) {
    return t.isProgram() ? t : (t.parentPath.scope.getFunctionParent() || t.parentPath.scope.getProgramParent()).path;
  }
  n(die, "getOuterFunction");
  function QCt(t, e) {
    switch (t) {
      case "LogicalExpression":
        return e === "right";
      case "ConditionalExpression":
      case "IfStatement":
        return e === "consequent" || e === "alternate";
      case "WhileStatement":
      case "DoWhileStatement":
      case "ForInStatement":
      case "ForOfStatement":
        return e === "body";
      case "ForStatement":
        return e === "body" || e === "update";
      case "SwitchStatement":
        return e === "cases";
      case "TryStatement":
        return e === "handler";
      case "AssignmentPattern":
        return e === "right";
      case "OptionalMemberExpression":
        return e === "property";
      case "OptionalCallExpression":
        return e === "arguments";
      default:
        return !1;
    }
  }
  n(QCt, "isExecutionUncertain");
  function mie(t, e) {
    for (let s = 0; s < e; s++) {
      let r = t[s];
      if (QCt(r.parent.type, r.parentKey))
        return !0;
    }
    return !1;
  }
  n(mie, "isExecutionUncertainInList");
  var yie = Symbol();
  function ZCt(t) {
    return $M(this, t, /* @__PURE__ */ new Map());
  }
  n(ZCt, "_guessExecutionStatusRelativeTo");
  function $M(t, e, s) {
    let r = {
      this: die(t),
      target: die(e)
    };
    if (r.target.node !== r.this.node)
      return twt(t, r.target, s);
    let i = {
      target: e.getAncestry(),
      this: t.getAncestry()
    };
    if (i.target.includes(t)) return "after";
    if (i.this.includes(e)) return "before";
    let a, o = {
      target: 0,
      this: 0
    };
    for (; !a && o.this < i.this.length; ) {
      let p = i.this[o.this];
      o.target = i.target.indexOf(p), o.target >= 0 ? a = p : o.this++;
    }
    if (!a)
      throw new Error("Internal Babel error - The two compared nodes don't appear to belong to the same program.");
    if (mie(i.this, o.this - 1) || mie(i.target, o.target - 1))
      return "unknown";
    let l = {
      this: i.this[o.this - 1],
      target: i.target[o.target - 1]
    };
    if (l.target.listKey && l.this.listKey && l.target.container === l.this.container)
      return l.target.key > l.this.key ? "before" : "after";
    let u = BCt[a.type], c = {
      this: u.indexOf(l.this.parentKey),
      target: u.indexOf(l.target.parentKey)
    };
    return c.target > c.this ? "before" : "after";
  }
  n($M, "_guessExecutionStatusRelativeToCached");
  function ewt(t, e, s) {
    if (e.isFunctionDeclaration()) {
      if (e.parentPath.isExportDeclaration())
        return "unknown";
    } else return $M(t, e, s) === "before" ? "before" : "unknown";
    let r = e.scope.getBinding(e.node.id.name);
    if (!r.references) return "before";
    let i = r.referencePaths, a;
    for (let o of i) {
      if (!!o.find((c) => c.node === e.node)) continue;
      if (o.key !== "callee" || !o.parentPath.isCallExpression())
        return "unknown";
      let u = $M(t, o, s);
      if (a && a !== u)
        return "unknown";
      a = u;
    }
    return a;
  }
  n(ewt, "_guessExecutionStatusRelativeToDifferentFunctionsInternal");
  function twt(t, e, s) {
    let r = s.get(t.node), i;
    if (!r)
      s.set(t.node, r = /* @__PURE__ */ new Map());
    else if (i = r.get(e.node))
      return i === yie ? "unknown" : i;
    r.set(e.node, yie);
    let a = ewt(t, e, s);
    return r.set(e.node, a), a;
  }
  n(twt, "_guessExecutionStatusRelativeToDifferentFunctionsCached");
  function swt(t, e) {
    return Tie.call(this, t, e) || this;
  }
  n(swt, "resolve");
  function Tie(t, e) {
    var s;
    if (!((s = e) != null && s.includes(this)))
      if (e = e || [], e.push(this), this.isVariableDeclarator()) {
        if (this.get("id").isIdentifier())
          return this.get("init").resolve(t, e);
      } else if (this.isReferencedIdentifier()) {
        let r = this.scope.getBinding(this.node.name);
        if (!r || !r.constant || r.kind === "module") return;
        if (r.path !== this) {
          let i = r.path.resolve(t, e);
          return this.find((a) => a.node === i.node) ? void 0 : i;
        }
      } else {
        if (this.isTypeCastExpression())
          return this.get("expression").resolve(t, e);
        if (t && this.isMemberExpression()) {
          let r = this.toComputedKey();
          if (!jCt(r)) return;
          let i = r.value, a = this.get("object").resolve(t, e);
          if (a.isObjectExpression()) {
            let o = a.get("properties");
            for (let l of o) {
              if (!l.isProperty()) continue;
              let u = l.get("key"), c = l.isnt("computed") && u.isIdentifier({
                name: i
              });
              if (c = c || u.isLiteral({
                value: i
              }), c) return l.get("value").resolve(t, e);
            }
          } else if (a.isArrayExpression() && !isNaN(+i)) {
            let l = a.get("elements")[i];
            if (l) return l.resolve(t, e);
          }
        }
      }
  }
  n(Tie, "_resolve");
  function rwt() {
    if (this.isIdentifier()) {
      let t = this.scope.getBinding(this.node.name);
      return t ? t.constant : !1;
    }
    if (this.isLiteral())
      return this.isRegExpLiteral() ? !1 : this.isTemplateLiteral() ? this.get("expressions").every((t) => t.isConstantExpression()) : !0;
    if (this.isUnaryExpression())
      return this.node.operator !== "void" ? !1 : this.get("argument").isConstantExpression();
    if (this.isBinaryExpression()) {
      let {
        operator: t
      } = this.node;
      return t !== "in" && t !== "instanceof" && this.get("left").isConstantExpression() && this.get("right").isConstantExpression();
    }
    return this.isMemberExpression() ? !this.node.computed && this.get("object").isIdentifier({
      name: "Symbol"
    }) && !this.scope.hasBinding("Symbol", {
      noGlobals: !0
    }) : this.isCallExpression() ? this.node.arguments.length === 1 && this.get("callee").matchesPattern("Symbol.for") && !this.scope.hasBinding(
    "Symbol", {
      noGlobals: !0
    }) && this.get("arguments")[0].isStringLiteral() : !1;
  }
  n(rwt, "isConstantExpression");
  function iwt() {
    return !!(this.isProgram() ? this : this.parentPath).find((s) => {
      if (s.isProgram({
        sourceType: "module"
      }) || s.isClass()) return !0;
      if (s.isArrowFunctionExpression() && !s.get("body").isBlockStatement())
        return !1;
      let r;
      if (s.isFunction())
        r = s.node.body;
      else if (s.isProgram())
        r = s.node;
      else
        return !1;
      for (let i of r.directives)
        if (i.value.value === "use strict")
          return !0;
    });
  }
  n(iwt, "isInStrictMode");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/family.js
var Aie = g((Ji) => {
  "use strict";
  Object.defineProperty(Ji, "__esModule", {
    value: !0
  });
  Ji._getKey = Pie;
  Ji._getPattern = Eie;
  Ji.get = Swt;
  Ji.getAllNextSiblings = bwt;
  Ji.getAllPrevSiblings = xwt;
  Ji.getAssignmentIdentifiers = Pwt;
  Ji.getBindingIdentifierPaths = vwt;
  Ji.getBindingIdentifiers = Ewt;
  Ji.getCompletionRecords = mwt;
  Ji.getNextSibling = Twt;
  Ji.getOpposite = hwt;
  Ji.getOuterBindingIdentifierPaths = Cwt;
  Ji.getOuterBindingIdentifiers = Awt;
  Ji.getPrevSibling = gwt;
  Ji.getSibling = ywt;
  var JM = fp(), nwt = fe(), {
    getAssignmentIdentifiers: awt,
    getBindingIdentifiers: Sie,
    getOuterBindingIdentifiers: owt,
    numericLiteral: lwt,
    unaryExpression: uwt
  } = nwt, YM = 0, U0 = 1;
  function cwt(t) {
    return {
      type: YM,
      path: t
    };
  }
  n(cwt, "NormalCompletion");
  function pwt(t) {
    return {
      type: U0,
      path: t
    };
  }
  n(pwt, "BreakCompletion");
  function hwt() {
    return this.key === "left" ? this.getSibling("right") : this.key === "right" ? this.getSibling("left") : null;
  }
  n(hwt, "getOpposite");
  function wm(t, e, s) {
    return t && e.push(...Im(t, s)), e;
  }
  n(wm, "addCompletionRecords");
  function fwt(t, e, s) {
    let r = [];
    for (let i = 0; i < t.length; i++) {
      let a = t[i], o = Im(a, s), l = [], u = [];
      for (let c of o)
        c.type === YM && l.push(c), c.type === U0 && u.push(c);
      l.length && (r = l), e.push(...u);
    }
    return e.push(...r), e;
  }
  n(fwt, "completionRecordForSwitch");
  function dwt(t) {
    t.forEach((e) => {
      e.type = U0;
    });
  }
  n(dwt, "normalCompletionToBreak");
  function HM(t, e) {
    t.forEach((s) => {
      s.path.isBreakStatement({
        label: null
      }) && (e ? s.path.replaceWith(uwt("void", lwt(0))) : s.path.remove());
    });
  }
  n(HM, "replaceBreakStatementInBreakCompletion");
  function xie(t, e) {
    let s = [];
    if (e.canHaveBreak) {
      let r = [];
      for (let i = 0; i < t.length; i++) {
        let a = t[i], o = Object.assign({}, e, {
          inCaseClause: !1
        });
        a.isBlockStatement() && (e.inCaseClause || e.shouldPopulateBreak) ? o.shouldPopulateBreak = !0 : o.shouldPopulateBreak = !1;
        let l = Im(a, o);
        if (l.length > 0 && l.every((u) => u.type === U0)) {
          r.length > 0 && l.every((u) => u.path.isBreakStatement({
            label: null
          })) ? (dwt(r), s.push(...r), r.some((u) => u.path.isDeclaration()) && (s.push(...l), HM(l, !0)), HM(l, !1)) : (s.push(...l), e.shouldPopulateBreak ||
          HM(l, !0));
          break;
        }
        if (i === t.length - 1)
          s.push(...l);
        else {
          r = [];
          for (let u = 0; u < l.length; u++) {
            let c = l[u];
            c.type === U0 && s.push(c), c.type === YM && r.push(c);
          }
        }
      }
    } else if (t.length)
      for (let r = t.length - 1; r >= 0; r--) {
        let i = Im(t[r], e);
        if (i.length > 1 || i.length === 1 && !i[0].path.isVariableDeclaration()) {
          s.push(...i);
          break;
        }
      }
    return s;
  }
  n(xie, "getStatementListCompletion");
  function Im(t, e) {
    let s = [];
    if (t.isIfStatement())
      s = wm(t.get("consequent"), s, e), s = wm(t.get("alternate"), s, e);
    else {
      if (t.isDoExpression() || t.isFor() || t.isWhile() || t.isLabeledStatement())
        return wm(t.get("body"), s, e);
      if (t.isProgram() || t.isBlockStatement())
        return xie(t.get("body"), e);
      if (t.isFunction())
        return Im(t.get("body"), e);
      if (t.isTryStatement())
        s = wm(t.get("block"), s, e), s = wm(t.get("handler"), s, e);
      else {
        if (t.isCatchClause())
          return wm(t.get("body"), s, e);
        if (t.isSwitchStatement())
          return fwt(t.get("cases"), s, e);
        if (t.isSwitchCase())
          return xie(t.get("consequent"), {
            canHaveBreak: !0,
            shouldPopulateBreak: !1,
            inCaseClause: !0
          });
        t.isBreakStatement() ? s.push(pwt(t)) : s.push(cwt(t));
      }
    }
    return s;
  }
  n(Im, "_getCompletionRecords");
  function mwt() {
    return Im(this, {
      canHaveBreak: !1,
      shouldPopulateBreak: !1,
      inCaseClause: !1
    }).map((e) => e.path);
  }
  n(mwt, "getCompletionRecords");
  function ywt(t) {
    return JM.default.get({
      parentPath: this.parentPath,
      parent: this.parent,
      container: this.container,
      listKey: this.listKey,
      key: t
    }).setContext(this.context);
  }
  n(ywt, "getSibling");
  function gwt() {
    return this.getSibling(this.key - 1);
  }
  n(gwt, "getPrevSibling");
  function Twt() {
    return this.getSibling(this.key + 1);
  }
  n(Twt, "getNextSibling");
  function bwt() {
    let t = this.key, e = this.getSibling(++t), s = [];
    for (; e.node; )
      s.push(e), e = this.getSibling(++t);
    return s;
  }
  n(bwt, "getAllNextSiblings");
  function xwt() {
    let t = this.key, e = this.getSibling(--t), s = [];
    for (; e.node; )
      s.push(e), e = this.getSibling(--t);
    return s;
  }
  n(xwt, "getAllPrevSiblings");
  function Swt(t, e = !0) {
    e === !0 && (e = this.context);
    let s = t.split(".");
    return s.length === 1 ? Pie.call(this, t, e) : Eie.call(this, s, e);
  }
  n(Swt, "get");
  function Pie(t, e) {
    let s = this.node, r = s[t];
    return Array.isArray(r) ? r.map((i, a) => JM.default.get({
      listKey: t,
      parentPath: this,
      parent: s,
      container: r,
      key: a
    }).setContext(e)) : JM.default.get({
      parentPath: this,
      parent: s,
      container: s,
      key: t
    }).setContext(e);
  }
  n(Pie, "_getKey");
  function Eie(t, e) {
    let s = this;
    for (let r of t)
      r === "." ? s = s.parentPath : Array.isArray(s) ? s = s[r] : s = s.get(r, e);
    return s;
  }
  n(Eie, "_getPattern");
  function Pwt() {
    return awt(this.node);
  }
  n(Pwt, "getAssignmentIdentifiers");
  function Ewt(t) {
    return Sie(this.node, t);
  }
  n(Ewt, "getBindingIdentifiers");
  function Awt(t) {
    return owt(this.node, t);
  }
  n(Awt, "getOuterBindingIdentifiers");
  function vwt(t = !1, e = !1) {
    let r = [this], i = /* @__PURE__ */ Object.create(null);
    for (; r.length; ) {
      let a = r.shift();
      if (!a || !a.node) continue;
      let o = Sie.keys[a.node.type];
      if (a.isIdentifier()) {
        t ? (i[a.node.name] = i[a.node.name] || []).push(a) : i[a.node.name] = a;
        continue;
      }
      if (a.isExportDeclaration()) {
        let l = a.get("declaration");
        l.isDeclaration() && r.push(l);
        continue;
      }
      if (e) {
        if (a.isFunctionDeclaration()) {
          r.push(a.get("id"));
          continue;
        }
        if (a.isFunctionExpression())
          continue;
      }
      if (o)
        for (let l = 0; l < o.length; l++) {
          let u = o[l], c = a.get(u);
          Array.isArray(c) ? r.push(...c) : c.node && r.push(c);
        }
    }
    return i;
  }
  n(vwt, "getBindingIdentifierPaths");
  function Cwt(t = !1) {
    return this.getBindingIdentifierPaths(t, !0);
  }
  n(Cwt, "getOuterBindingIdentifierPaths");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/comments.js
var Cie = g((K0) => {
  "use strict";
  Object.defineProperty(K0, "__esModule", {
    value: !0
  });
  K0.addComment = Dwt;
  K0.addComments = Owt;
  K0.shareCommentsWithSiblings = kwt;
  var wwt = fe(), {
    addComment: Iwt,
    addComments: Nwt
  } = wwt;
  function kwt() {
    if (typeof this.key == "string") return;
    let t = this.node;
    if (!t) return;
    let e = t.trailingComments, s = t.leadingComments;
    if (!e && !s) return;
    let r = this.getSibling(this.key - 1), i = this.getSibling(this.key + 1), a = !!r.node, o = !!i.node;
    a && (s && r.addComments("trailing", vie(s, r.node.trailingComments)), e && !o && r.addComments("trailing", e)), o && (e && i.addComments(
    "leading", vie(e, i.node.leadingComments)), s && !a && i.addComments("leading", s));
  }
  n(kwt, "shareCommentsWithSiblings");
  function vie(t, e) {
    if (!(e != null && e.length)) return t;
    let s = new Set(e);
    return t.filter((r) => !s.has(r));
  }
  n(vie, "removeIfExisting");
  function Dwt(t, e, s) {
    Iwt(this.node, t, e, s);
  }
  n(Dwt, "addComment");
  function Owt(t, e) {
    Nwt(this.node, t, e);
  }
  n(Owt, "addComments");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/index.js
var fp = g((bl) => {
  "use strict";
  Object.defineProperty(bl, "__esModule", {
    value: !0
  });
  bl.default = bl.SHOULD_STOP = bl.SHOULD_SKIP = bl.REMOVED = void 0;
  var _wt = iB(), Lwt = yo(), Bwt = v0(), Mwt = fB(), Nie = fe(), nA = Nie, Fwt = Xh(), jwt = Bse(), gl = Mse(), Nm = sre(), km = YB(), wie = nie(),
  of = fie(), Si = bie(), kie = dl(), ui = kie, Dm = WE(), Tl = $E(), _n = Aie(), XM = Cie(), Rwt = aB(), {
    validate: qwt
  } = Nie, Iie = Lwt("babel"), QJs = bl.REMOVED = 1, ZJs = bl.SHOULD_STOP = 2, eYs = bl.SHOULD_SKIP = 4, ju = bl.default = class Die {
    static {
      n(this, "NodePath");
    }
    constructor(e, s) {
      this.contexts = [], this.state = null, this.opts = null, this._traverseFlags = 0, this.skipKeys = null, this.parentPath = null, this.container =
      null, this.listKey = null, this.key = null, this.node = null, this.type = null, this.parent = s, this.hub = e, this.data = null, this.
      context = null, this.scope = null;
    }
    get removed() {
      return (this._traverseFlags & 1) > 0;
    }
    set removed(e) {
      e ? this._traverseFlags |= 1 : this._traverseFlags &= -2;
    }
    get shouldStop() {
      return (this._traverseFlags & 2) > 0;
    }
    set shouldStop(e) {
      e ? this._traverseFlags |= 2 : this._traverseFlags &= -3;
    }
    get shouldSkip() {
      return (this._traverseFlags & 4) > 0;
    }
    set shouldSkip(e) {
      e ? this._traverseFlags |= 4 : this._traverseFlags &= -5;
    }
    static get({
      hub: e,
      parentPath: s,
      parent: r,
      container: i,
      listKey: a,
      key: o
    }) {
      if (!e && s && (e = s.hub), !r)
        throw new Error("To get a node path the parent needs to exist");
      let l = i[o], u = Fwt.getOrCreateCachedPaths(e, r), c = u.get(l);
      return c || (c = new Die(e, r), l && u.set(l, c)), kie.setup.call(c, s, i, a, o), c;
    }
    getScope(e) {
      return this.isScope() ? new Mwt.default(this) : e;
    }
    setData(e, s) {
      return this.data == null && (this.data = /* @__PURE__ */ Object.create(null)), this.data[e] = s;
    }
    getData(e, s) {
      this.data == null && (this.data = /* @__PURE__ */ Object.create(null));
      let r = this.data[e];
      return r === void 0 && s !== void 0 && (r = this.data[e] = s), r;
    }
    hasNode() {
      return this.node != null;
    }
    buildCodeFrameError(e, s = SyntaxError) {
      return this.hub.buildError(this.node, e, s);
    }
    traverse(e, s) {
      (0, Bwt.default)(this.node, e, this.scope, s, this);
    }
    set(e, s) {
      qwt(this.node, e, s), this.node[e] = s;
    }
    getPathLocation() {
      let e = [], s = this;
      do {
        let r = s.key;
        s.inList && (r = `${s.listKey}[${r}]`), e.unshift(r);
      } while (s = s.parentPath);
      return e.join(".");
    }
    debug(e) {
      Iie.enabled && Iie(`${this.getPathLocation()} ${this.type}: ${e}`);
    }
    toString() {
      return (0, jwt.default)(this.node).code;
    }
    get inList() {
      return !!this.listKey;
    }
    set inList(e) {
      e || (this.listKey = null);
    }
    get parentKey() {
      return this.listKey || this.key;
    }
  }, Uwt = {
    findParent: gl.findParent,
    find: gl.find,
    getFunctionParent: gl.getFunctionParent,
    getStatementParent: gl.getStatementParent,
    getEarliestCommonAncestorFrom: gl.getEarliestCommonAncestorFrom,
    getDeepestCommonAncestorFrom: gl.getDeepestCommonAncestorFrom,
    getAncestry: gl.getAncestry,
    isAncestor: gl.isAncestor,
    isDescendant: gl.isDescendant,
    inType: gl.inType,
    getTypeAnnotation: Nm.getTypeAnnotation,
    isBaseType: Nm.isBaseType,
    couldBeBaseType: Nm.couldBeBaseType,
    baseTypeStrictlyMatches: Nm.baseTypeStrictlyMatches,
    isGenericType: Nm.isGenericType,
    replaceWithMultiple: km.replaceWithMultiple,
    replaceWithSourceString: km.replaceWithSourceString,
    replaceWith: km.replaceWith,
    replaceExpressionWithStatements: km.replaceExpressionWithStatements,
    replaceInline: km.replaceInline,
    evaluateTruthy: wie.evaluateTruthy,
    evaluate: wie.evaluate,
    toComputedKey: of.toComputedKey,
    ensureBlock: of.ensureBlock,
    unwrapFunctionEnvironment: of.unwrapFunctionEnvironment,
    arrowFunctionToExpression: of.arrowFunctionToExpression,
    splitExportDeclaration: of.splitExportDeclaration,
    ensureFunctionName: of.ensureFunctionName,
    matchesPattern: Si.matchesPattern,
    isStatic: Si.isStatic,
    isNodeType: Si.isNodeType,
    canHaveVariableDeclarationOrExpression: Si.canHaveVariableDeclarationOrExpression,
    canSwapBetweenExpressionAndStatement: Si.canSwapBetweenExpressionAndStatement,
    isCompletionRecord: Si.isCompletionRecord,
    isStatementOrBlock: Si.isStatementOrBlock,
    referencesImport: Si.referencesImport,
    getSource: Si.getSource,
    willIMaybeExecuteBefore: Si.willIMaybeExecuteBefore,
    _guessExecutionStatusRelativeTo: Si._guessExecutionStatusRelativeTo,
    resolve: Si.resolve,
    isConstantExpression: Si.isConstantExpression,
    isInStrictMode: Si.isInStrictMode,
    isDenylisted: ui.isDenylisted,
    visit: ui.visit,
    skip: ui.skip,
    skipKey: ui.skipKey,
    stop: ui.stop,
    setContext: ui.setContext,
    requeue: ui.requeue,
    requeueComputedKeyAndDecorators: ui.requeueComputedKeyAndDecorators,
    remove: Dm.remove,
    insertBefore: Tl.insertBefore,
    insertAfter: Tl.insertAfter,
    unshiftContainer: Tl.unshiftContainer,
    pushContainer: Tl.pushContainer,
    getOpposite: _n.getOpposite,
    getCompletionRecords: _n.getCompletionRecords,
    getSibling: _n.getSibling,
    getPrevSibling: _n.getPrevSibling,
    getNextSibling: _n.getNextSibling,
    getAllNextSiblings: _n.getAllNextSiblings,
    getAllPrevSiblings: _n.getAllPrevSiblings,
    get: _n.get,
    getAssignmentIdentifiers: _n.getAssignmentIdentifiers,
    getBindingIdentifiers: _n.getBindingIdentifiers,
    getOuterBindingIdentifiers: _n.getOuterBindingIdentifiers,
    getBindingIdentifierPaths: _n.getBindingIdentifierPaths,
    getOuterBindingIdentifierPaths: _n.getOuterBindingIdentifierPaths,
    shareCommentsWithSiblings: XM.shareCommentsWithSiblings,
    addComment: XM.addComment,
    addComments: XM.addComments
  };
  Object.assign(ju.prototype, Uwt);
  ju.prototype.arrowFunctionToShadowed = of.arrowFunctionToShadowed, Object.assign(ju.prototype, {
    has: Si.has,
    is: Si.is,
    isnt: Si.isnt,
    equals: Si.equals,
    hoist: Tl.hoist,
    updateSiblingKeys: Tl.updateSiblingKeys,
    call: ui.call,
    isBlacklisted: ui.isBlacklisted,
    setScope: ui.setScope,
    resync: ui.resync,
    popContext: ui.popContext,
    pushContext: ui.pushContext,
    setup: ui.setup,
    setKey: ui.setKey
  });
  ju.prototype._guessExecutionStatusRelativeToDifferentFunctions = Si._guessExecutionStatusRelativeTo, ju.prototype._guessExecutionStatusRelativeToDifferentFunctions =
  Si._guessExecutionStatusRelativeTo, Object.assign(ju.prototype, {
    _getTypeAnnotation: Nm._getTypeAnnotation,
    _replaceWith: km._replaceWith,
    _resolve: Si._resolve,
    _call: ui._call,
    _resyncParent: ui._resyncParent,
    _resyncKey: ui._resyncKey,
    _resyncList: ui._resyncList,
    _resyncRemoved: ui._resyncRemoved,
    _getQueueContexts: ui._getQueueContexts,
    _removeFromScope: Dm._removeFromScope,
    _callRemovalHooks: Dm._callRemovalHooks,
    _remove: Dm._remove,
    _markRemoved: Dm._markRemoved,
    _assertUnremoved: Dm._assertUnremoved,
    _containerInsert: Tl._containerInsert,
    _containerInsertBefore: Tl._containerInsertBefore,
    _containerInsertAfter: Tl._containerInsertAfter,
    _verifyNodeList: Tl._verifyNodeList,
    _getKey: _n._getKey,
    _getPattern: _n._getPattern
  });
  for (let t of nA.TYPES) {
    let e = `is${t}`, s = nA[e];
    ju.prototype[e] = function(r) {
      return s(this.node, r);
    }, ju.prototype[`assert${t}`] = function(r) {
      if (!s(this.node, r))
        throw new TypeError(`Expected node path of type ${t}`);
    };
  }
  Object.assign(ju.prototype, Rwt);
  for (let t of Object.keys(_wt))
    t[0] !== "_" && (nA.TYPES.includes(t) || nA.TYPES.push(t));
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/context.js
var Oie = g((aA) => {
  "use strict";
  Object.defineProperty(aA, "__esModule", {
    value: !0
  });
  aA.default = void 0;
  var Kwt = fp(), Vwt = fe(), zM = dl(), {
    VISITOR_KEYS: Wwt
  } = Vwt, GM = class {
    static {
      n(this, "TraversalContext");
    }
    constructor(e, s, r, i) {
      this.queue = null, this.priorityQueue = null, this.parentPath = i, this.scope = e, this.state = r, this.opts = s;
    }
    shouldVisit(e) {
      let s = this.opts;
      if (s.enter || s.exit || s[e.type]) return !0;
      let r = Wwt[e.type];
      if (!(r != null && r.length)) return !1;
      for (let i of r)
        if (e[i])
          return !0;
      return !1;
    }
    create(e, s, r, i) {
      return Kwt.default.get({
        parentPath: this.parentPath,
        parent: e,
        container: s,
        key: r,
        listKey: i
      });
    }
    maybeQueue(e, s) {
      this.queue && (s ? this.queue.push(e) : this.priorityQueue.push(e));
    }
    visitMultiple(e, s, r) {
      if (e.length === 0) return !1;
      let i = [];
      for (let a = 0; a < e.length; a++) {
        let o = e[a];
        o && this.shouldVisit(o) && i.push(this.create(s, e, a, r));
      }
      return this.visitQueue(i);
    }
    visitSingle(e, s) {
      return this.shouldVisit(e[s]) ? this.visitQueue([this.create(e, e, s)]) : !1;
    }
    visitQueue(e) {
      this.queue = e, this.priorityQueue = [];
      let s = /* @__PURE__ */ new WeakSet(), r = !1, i = 0;
      for (; i < e.length; ) {
        let a = e[i];
        if (i++, zM.resync.call(a), (a.contexts.length === 0 || a.contexts[a.contexts.length - 1] !== this) && zM.pushContext.call(a, this),
        a.key === null) continue;
        let {
          node: o
        } = a;
        if (!s.has(o)) {
          if (o && s.add(o), a.visit()) {
            r = !0;
            break;
          }
          if (this.priorityQueue.length && (r = this.visitQueue(this.priorityQueue), this.priorityQueue = [], this.queue = e, r))
            break;
        }
      }
      for (let a = 0; a < i; a++)
        zM.popContext.call(e[a]);
      return this.queue = null, r;
    }
    visit(e, s) {
      let r = e[s];
      return r ? Array.isArray(r) ? this.visitMultiple(r, e, s) : this.visitSingle(e, s) : !1;
    }
  };
  aA.default = GM;
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/traverse-node.js
var SE = g((QM) => {
  "use strict";
  Object.defineProperty(QM, "__esModule", {
    value: !0
  });
  QM.traverseNode = Ywt;
  var $wt = Oie(), Hwt = fe(), {
    VISITOR_KEYS: Jwt
  } = Hwt;
  function Ywt(t, e, s, r, i, a, o) {
    let l = Jwt[t.type];
    if (!l) return !1;
    let u = new $wt.default(s, e, r, i);
    if (o)
      return a != null && a[i.parentKey] ? !1 : u.visitQueue([i]);
    for (let c of l)
      if (!(a != null && a[c]) && u.visit(t, c))
        return !0;
    return !1;
  }
  n(Ywt, "traverseNode");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/path/context.js
var dl = g((Ur) => {
  "use strict";
  Object.defineProperty(Ur, "__esModule", {
    value: !0
  });
  Ur._call = eF;
  Ur._getQueueContexts = cIt;
  Ur._resyncKey = jie;
  Ur._resyncList = Rie;
  Ur._resyncParent = Fie;
  Ur._resyncRemoved = iIt;
  Ur.call = ZM;
  Ur.isDenylisted = Bie;
  Ur.popContext = nIt;
  Ur.pushContext = aIt;
  Ur.requeue = lIt;
  Ur.requeueComputedKeyAndDecorators = uIt;
  Ur.resync = rIt;
  Ur.setContext = sIt;
  Ur.setKey = oA;
  Ur.setScope = Mie;
  Ur.setup = oIt;
  Ur.skip = Zwt;
  Ur.skipKey = eIt;
  Ur.stop = tIt;
  Ur.visit = Qwt;
  var Xwt = SE(), _ie = fp(), zwt = WE(), Gwt = fe();
  function ZM(t) {
    let e = this.opts;
    if (this.debug(t), this.node && eF.call(this, e[t]))
      return !0;
    if (this.node) {
      var s;
      return eF.call(this, (s = e[this.node.type]) == null ? void 0 : s[t]);
    }
    return !1;
  }
  n(ZM, "call");
  function eF(t) {
    if (!t) return !1;
    for (let e of t) {
      if (!e) continue;
      let s = this.node;
      if (!s) return !0;
      let r = e.call(this.state, this, this.state);
      if (r && typeof r == "object" && typeof r.then == "function")
        throw new Error("You appear to be using a plugin with an async traversal visitor, which your current version of Babel does not suppo\
rt. If you're using a published plugin, you may need to upgrade your @babel/core version.");
      if (r)
        throw new Error(`Unexpected return value from visitor method ${e}`);
      if (this.node !== s || this._traverseFlags > 0) return !0;
    }
    return !1;
  }
  n(eF, "_call");
  function Bie() {
    var t;
    let e = (t = this.opts.denylist) != null ? t : this.opts.blacklist;
    return e?.includes(this.node.type);
  }
  n(Bie, "isDenylisted");
  Ur.isBlacklisted = Bie;
  function Lie(t, e) {
    t.context !== e && (t.context = e, t.state = e.state, t.opts = e.opts);
  }
  n(Lie, "restoreContext");
  function Qwt() {
    var t, e;
    if (!this.node || this.isDenylisted() || (t = (e = this.opts).shouldSkip) != null && t.call(e, this))
      return !1;
    let s = this.context;
    return this.shouldSkip || ZM.call(this, "enter") ? (this.debug("Skip..."), this.shouldStop) : (Lie(this, s), this.debug("Recursing into.\
.."), this.shouldStop = (0, Xwt.traverseNode)(this.node, this.opts, this.scope, this.state, this, this.skipKeys), Lie(this, s), ZM.call(this,
    "exit"), this.shouldStop);
  }
  n(Qwt, "visit");
  function Zwt() {
    this.shouldSkip = !0;
  }
  n(Zwt, "skip");
  function eIt(t) {
    this.skipKeys == null && (this.skipKeys = {}), this.skipKeys[t] = !0;
  }
  n(eIt, "skipKey");
  function tIt() {
    this._traverseFlags |= _ie.SHOULD_SKIP | _ie.SHOULD_STOP;
  }
  n(tIt, "stop");
  function Mie() {
    var t, e;
    if ((t = this.opts) != null && t.noScope) return;
    let s = this.parentPath;
    ((this.key === "key" || this.listKey === "decorators") && s.isMethod() || this.key === "discriminant" && s.isSwitchStatement()) && (s = s.
    parentPath);
    let r;
    for (; s && !r; ) {
      var i;
      if ((i = s.opts) != null && i.noScope) return;
      r = s.scope, s = s.parentPath;
    }
    this.scope = this.getScope(r), (e = this.scope) == null || e.init();
  }
  n(Mie, "setScope");
  function sIt(t) {
    return this.skipKeys != null && (this.skipKeys = {}), this._traverseFlags = 0, t && (this.context = t, this.state = t.state, this.opts =
    t.opts), Mie.call(this), this;
  }
  n(sIt, "setContext");
  function rIt() {
    this.removed || (Fie.call(this), Rie.call(this), jie.call(this));
  }
  n(rIt, "resync");
  function Fie() {
    this.parentPath && (this.parent = this.parentPath.node);
  }
  n(Fie, "_resyncParent");
  function jie() {
    if (this.container && this.node !== this.container[this.key]) {
      if (Array.isArray(this.container)) {
        for (let t = 0; t < this.container.length; t++)
          if (this.container[t] === this.node) {
            oA.call(this, t);
            return;
          }
      } else
        for (let t of Object.keys(this.container))
          if (this.container[t] === this.node) {
            oA.call(this, t);
            return;
          }
      this.key = null;
    }
  }
  n(jie, "_resyncKey");
  function Rie() {
    if (!this.parent || !this.inList) return;
    let t = this.parent[this.listKey];
    this.container !== t && (this.container = t || null);
  }
  n(Rie, "_resyncList");
  function iIt() {
    (this.key == null || !this.container || this.container[this.key] !== this.node) && zwt._markRemoved.call(this);
  }
  n(iIt, "_resyncRemoved");
  function nIt() {
    this.contexts.pop(), this.contexts.length > 0 ? this.setContext(this.contexts[this.contexts.length - 1]) : this.setContext(void 0);
  }
  n(nIt, "popContext");
  function aIt(t) {
    this.contexts.push(t), this.setContext(t);
  }
  n(aIt, "pushContext");
  function oIt(t, e, s, r) {
    this.listKey = s, this.container = e, this.parentPath = t || this.parentPath, oA.call(this, r);
  }
  n(oIt, "setup");
  function oA(t) {
    var e;
    this.key = t, this.node = this.container[this.key], this.type = (e = this.node) == null ? void 0 : e.type;
  }
  n(oA, "setKey");
  function lIt(t = this) {
    if (t.removed) return;
    let e = this.contexts;
    for (let s of e)
      s.maybeQueue(t);
  }
  n(lIt, "requeue");
  function uIt() {
    let {
      context: t,
      node: e
    } = this;
    if (!Gwt.isPrivate(e) && e.computed && t.maybeQueue(this.get("key")), e.decorators)
      for (let s of this.get("decorators"))
        t.maybeQueue(s);
  }
  n(uIt, "requeueComputedKeyAndDecorators");
  function cIt() {
    let t = this, e = this.contexts;
    for (; !e.length && (t = t.parentPath, !!t); )
      e = t.contexts;
    return e;
  }
  n(cIt, "_getQueueContexts");
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/hub.js
var qie = g((lA) => {
  "use strict";
  Object.defineProperty(lA, "__esModule", {
    value: !0
  });
  lA.default = void 0;
  var tF = class {
    static {
      n(this, "Hub");
    }
    getCode() {
    }
    getScope() {
    }
    addHelper() {
      throw new Error("Helpers are not supported by the default hub.");
    }
    buildError(e, s, r = TypeError) {
      return new r(s);
    }
  };
  lA.default = tF;
});

// ../node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/lib/index.js
var v0 = g((Ru) => {
  "use strict";
  Object.defineProperty(Ru, "__esModule", {
    value: !0
  });
  Object.defineProperty(Ru, "Hub", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return mIt.default;
    }, "get")
  });
  Object.defineProperty(Ru, "NodePath", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return fIt.default;
    }, "get")
  });
  Object.defineProperty(Ru, "Scope", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return dIt.default;
    }, "get")
  });
  Ru.visitors = Ru.default = void 0;
  dl();
  var V0 = A0();
  Ru.visitors = V0;
  var pIt = fe(), hIt = Xh(), Uie = SE(), fIt = fp(), dIt = fB(), mIt = qie(), {
    VISITOR_KEYS: yIt,
    removeProperties: gIt,
    traverseFast: Kie
  } = pIt;
  function $a(t, e = {}, s, r, i, a) {
    if (t) {
      if (!e.noScope && !s && t.type !== "Program" && t.type !== "File")
        throw new Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${t.
        type} node without passing scope and parentPath.`);
      if (!i && a)
        throw new Error("visitSelf can only be used when providing a NodePath.");
      yIt[t.type] && (V0.explode(e), (0, Uie.traverseNode)(t, e, s, r, i, null, a));
    }
  }
  n($a, "traverse");
  var pYs = Ru.default = $a;
  $a.visitors = V0;
  $a.verify = V0.verify;
  $a.explode = V0.explode;
  $a.cheap = function(t, e) {
    Kie(t, e);
  };
  $a.node = function(t, e, s, r, i, a) {
    (0, Uie.traverseNode)(t, e, s, r, i, a);
  };
  $a.clearNode = function(t, e) {
    gIt(t, e);
  };
  $a.removeProperties = function(t, e) {
    return Kie(t, $a.clearNode, e), t;
  };
  function TIt(t, e) {
    t.node.type === e.type && (e.has = !0, t.stop());
  }
  n(TIt, "hasDenylistedType");
  $a.hasType = function(t, e, s) {
    if (s != null && s.includes(t.type)) return !1;
    if (t.type === e) return !0;
    let r = {
      has: !1,
      type: e
    };
    return $a(t, {
      noScope: !0,
      denylist: s,
      enter: TIt
    }, null, r), r.has;
  };
  $a.cache = hIt;
});

// ../node_modules/@babel/helper-replace-supers/lib/index.js
var cA = g((_m) => {
  "use strict";
  Object.defineProperty(_m, "__esModule", {
    value: !0
  });
  _m.default = void 0;
  var bIt = tB(), uA = rB(), nn = ni(), rF = v0(), {
    assignmentExpression: xIt,
    callExpression: qu,
    cloneNode: Yi,
    identifier: Om,
    memberExpression: lf,
    sequenceExpression: uf,
    stringLiteral: Wie,
    thisExpression: an
  } = nn.types;
  _m.environmentVisitor = rF.visitors.environmentVisitor({}), _m.skipAllButComputedKey = /* @__PURE__ */ n(function(e) {
    e.skip(), e.node.computed && e.context.maybeQueue(e.get("key"));
  }, "skipAllButComputedKey");
  var Vie = rF.visitors.environmentVisitor({
    Super(t, e) {
      let {
        node: s,
        parentPath: r
      } = t;
      r.isMemberExpression({
        object: s
      }) && e.handle(r);
    }
  }), SIt = rF.visitors.environmentVisitor({
    Scopable(t, {
      refName: e
    }) {
      let s = t.scope.getOwnBinding(e);
      s && s.identifier.name === e && t.scope.rename(e);
    }
  }), $ie = {
    memoise(t, e) {
      let {
        scope: s,
        node: r
      } = t, {
        computed: i,
        property: a
      } = r;
      if (!i)
        return;
      let o = s.maybeGenerateMemoised(a);
      o && this.memoiser.set(a, o, e);
    },
    prop(t) {
      let {
        computed: e,
        property: s
      } = t.node;
      return this.memoiser.has(s) ? Yi(this.memoiser.get(s)) : e ? Yi(s) : Wie(s.name);
    },
    _getPrototypeOfExpression() {
      let t = Yi(this.getObjectRef()), e = this.isStatic || this.isPrivateMethod ? t : lf(t, Om("prototype"));
      return qu(this.file.addHelper("getPrototypeOf"), [e]);
    },
    get(t) {
      let e = Yi(this.getObjectRef());
      return qu(this.file.addHelper("superPropGet"), [this.isDerivedConstructor ? uf([an(), e]) : e, this.prop(t), an(), ...this.isStatic ||
      this.isPrivateMethod ? [] : [nn.types.numericLiteral(1)]]);
    },
    _call(t, e, s) {
      let r = Yi(this.getObjectRef()), i;
      e.length === 1 && nn.types.isSpreadElement(e[0]) && (nn.types.isIdentifier(e[0].argument) || nn.types.isArrayExpression(e[0].argument)) ?
      i = e[0].argument : i = nn.types.arrayExpression(e);
      let a = nn.types.callExpression(this.file.addHelper("superPropGet"), [this.isDerivedConstructor ? uf([an(), r]) : r, this.prop(t), an(),
      nn.types.numericLiteral(2 | (this.isStatic || this.isPrivateMethod ? 0 : 1))]);
      return s ? nn.types.optionalCallExpression(a, [i], !0) : qu(a, [i]);
    },
    set(t, e) {
      let s = Yi(this.getObjectRef());
      return qu(this.file.addHelper("superPropSet"), [this.isDerivedConstructor ? uf([an(), s]) : s, this.prop(t), e, an(), nn.types.numericLiteral(
      t.isInStrictMode() ? 1 : 0), ...this.isStatic || this.isPrivateMethod ? [] : [nn.types.numericLiteral(1)]]);
    },
    destructureSet(t) {
      throw t.buildCodeFrameError("Destructuring to a super field is not supported yet.");
    },
    call(t, e) {
      return this._call(t, e, !1);
    },
    optionalCall(t, e) {
      return this._call(t, e, !0);
    },
    delete(t) {
      return t.node.computed ? uf([qu(this.file.addHelper("toPropertyKey"), [Yi(t.node.property)]), nn.template.expression.ast`
          function () { throw new ReferenceError("'delete super[expr]' is invalid"); }()
        `]) : nn.template.expression.ast`
        function () { throw new ReferenceError("'delete super.prop' is invalid"); }()
      `;
    }
  }, PIt = {
    memoise(t, e) {
      let {
        scope: s,
        node: r
      } = t, {
        computed: i,
        property: a
      } = r;
      if (!i)
        return;
      let o = s.maybeGenerateMemoised(a);
      o && this.memoiser.set(a, o, e);
    },
    prop(t) {
      let {
        computed: e,
        property: s
      } = t.node;
      return this.memoiser.has(s) ? Yi(this.memoiser.get(s)) : e ? Yi(s) : Wie(s.name);
    },
    _getPrototypeOfExpression() {
      let t = Yi(this.getObjectRef()), e = this.isStatic || this.isPrivateMethod ? t : lf(t, Om("prototype"));
      return qu(this.file.addHelper("getPrototypeOf"), [e]);
    },
    get(t) {
      return this._get(t);
    },
    _get(t) {
      let e = this._getPrototypeOfExpression();
      return qu(this.file.addHelper("get"), [this.isDerivedConstructor ? uf([an(), e]) : e, this.prop(t), an()]);
    },
    set(t, e) {
      let s = this._getPrototypeOfExpression();
      return qu(this.file.addHelper("set"), [this.isDerivedConstructor ? uf([an(), s]) : s, this.prop(t), e, an(), nn.types.booleanLiteral(t.
      isInStrictMode())]);
    },
    destructureSet(t) {
      throw t.buildCodeFrameError("Destructuring to a super field is not supported yet.");
    },
    call(t, e) {
      return (0, uA.default)(this._get(t), an(), e, !1);
    },
    optionalCall(t, e) {
      return (0, uA.default)(this._get(t), Yi(an()), e, !0);
    },
    delete(t) {
      return t.node.computed ? uf([qu(this.file.addHelper("toPropertyKey"), [Yi(t.node.property)]), nn.template.expression.ast`
          function () { throw new ReferenceError("'delete super[expr]' is invalid"); }()
        `]) : nn.template.expression.ast`
        function () { throw new ReferenceError("'delete super.prop' is invalid"); }()
      `;
    }
  }, EIt = Object.assign({}, $ie, {
    prop(t) {
      let {
        property: e
      } = t.node;
      return this.memoiser.has(e) ? Yi(this.memoiser.get(e)) : Yi(e);
    },
    get(t) {
      let {
        isStatic: e,
        getSuperRef: s
      } = this, {
        computed: r
      } = t.node, i = this.prop(t), a;
      if (e) {
        var o;
        a = (o = s()) != null ? o : lf(Om("Function"), Om("prototype"));
      } else {
        var l;
        a = lf((l = s()) != null ? l : Om("Object"), Om("prototype"));
      }
      return lf(a, i, r);
    },
    set(t, e) {
      let {
        computed: s
      } = t.node, r = this.prop(t);
      return xIt("=", lf(an(), r, s), e);
    },
    destructureSet(t) {
      let {
        computed: e
      } = t.node, s = this.prop(t);
      return lf(an(), s, e);
    },
    call(t, e) {
      return (0, uA.default)(this.get(t), an(), e, !1);
    },
    optionalCall(t, e) {
      return (0, uA.default)(this.get(t), an(), e, !0);
    }
  }), sF = class {
    static {
      n(this, "ReplaceSupers");
    }
    constructor(e) {
      var s;
      let r = e.methodPath;
      this.methodPath = r, this.isDerivedConstructor = r.isClassMethod({
        kind: "constructor"
      }) && !!e.superRef, this.isStatic = r.isObjectMethod() || r.node.static || (r.isStaticBlock == null ? void 0 : r.isStaticBlock()), this.
      isPrivateMethod = r.isPrivate() && r.isMethod(), this.file = e.file, this.constantSuper = (s = e.constantSuper) != null ? s : e.isLoose,
      this.opts = e;
    }
    getObjectRef() {
      return Yi(this.opts.objectRef || this.opts.getObjectRef());
    }
    getSuperRef() {
      if (this.opts.superRef) return Yi(this.opts.superRef);
      if (this.opts.getSuperRef)
        return Yi(this.opts.getSuperRef());
    }
    replace() {
      let {
        methodPath: e
      } = this;
      this.opts.refToPreserve && e.traverse(SIt, {
        refName: this.opts.refToPreserve.name
      });
      let s = this.constantSuper ? EIt : this.file.availableHelper("superPropSet") ? $ie : PIt;
      Vie.shouldSkip = (r) => {
        if (r.parentPath === e && (r.parentKey === "decorators" || r.parentKey === "key"))
          return !0;
      }, (0, bIt.default)(e, Vie, Object.assign({
        file: this.file,
        scope: this.methodPath.scope,
        isDerivedConstructor: this.isDerivedConstructor,
        isStatic: this.isStatic,
        isPrivateMethod: this.isPrivateMethod,
        getObjectRef: this.getObjectRef.bind(this),
        getSuperRef: this.getSuperRef.bind(this),
        boundGet: s.get
      }, s));
    }
  };
  _m.default = sF;
});

// ../node_modules/@babel/helper-skip-transparent-expression-wrappers/lib/index.js
var nF = g((W0) => {
  "use strict";
  Object.defineProperty(W0, "__esModule", {
    value: !0
  });
  W0.isTransparentExprWrapper = iF;
  W0.skipTransparentExprWrapperNodes = OIt;
  W0.skipTransparentExprWrappers = DIt;
  var AIt = fe(), {
    isParenthesizedExpression: vIt,
    isTSAsExpression: CIt,
    isTSNonNullExpression: wIt,
    isTSSatisfiesExpression: IIt,
    isTSTypeAssertion: NIt,
    isTypeCastExpression: kIt
  } = AIt;
  function iF(t) {
    return CIt(t) || IIt(t) || NIt(t) || wIt(t) || kIt(t) || vIt(t);
  }
  n(iF, "isTransparentExprWrapper");
  function DIt(t) {
    for (; iF(t.node); )
      t = t.get("expression");
    return t;
  }
  n(DIt, "skipTransparentExprWrappers");
  function OIt(t) {
    for (; iF(t); )
      t = t.expression;
    return t;
  }
  n(OIt, "skipTransparentExprWrapperNodes");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/lib/virtual-types.js
var aF = g((Ts) => {
  "use strict";
  Object.defineProperty(Ts, "__esModule", {
    value: !0
  });
  Ts.Var = Ts.User = Ts.Statement = Ts.SpreadProperty = Ts.Scope = Ts.RestProperty = Ts.ReferencedMemberExpression = Ts.ReferencedIdentifier =
  Ts.Referenced = Ts.Pure = Ts.NumericLiteralTypeAnnotation = Ts.Generated = Ts.ForAwaitStatement = Ts.Flow = Ts.Expression = Ts.ExistentialTypeParam =
  Ts.BlockScoped = Ts.BindingIdentifier = void 0;
  var TYs = Ts.ReferencedIdentifier = ["Identifier", "JSXIdentifier"], bYs = Ts.ReferencedMemberExpression = ["MemberExpression"], xYs = Ts.
  BindingIdentifier = ["Identifier"], SYs = Ts.Statement = ["Statement"], PYs = Ts.Expression = ["Expression"], EYs = Ts.Scope = ["Scopable",
  "Pattern"], AYs = Ts.Referenced = null, vYs = Ts.BlockScoped = null, CYs = Ts.Var = ["VariableDeclaration"], wYs = Ts.User = null, IYs = Ts.
  Generated = null, NYs = Ts.Pure = null, kYs = Ts.Flow = ["Flow", "ImportDeclaration", "ExportDeclaration", "ImportSpecifier"], DYs = Ts.RestProperty =
  ["RestElement"], OYs = Ts.SpreadProperty = ["RestElement"], _Ys = Ts.ExistentialTypeParam = ["ExistsTypeAnnotation"], LYs = Ts.NumericLiteralTypeAnnotation =
  ["NumberLiteralTypeAnnotation"], BYs = Ts.ForAwaitStatement = ["ForOfStatement"];
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js
var lF = g((Ii) => {
  "use strict";
  Object.defineProperty(Ii, "__esModule", {
    value: !0
  });
  Ii.isBindingIdentifier = tNt;
  Ii.isBlockScoped = aNt;
  Ii.isExpression = rNt;
  Ii.isFlow = pNt;
  Ii.isForAwaitStatement = dNt;
  Ii.isGenerated = uNt;
  Ii.isPure = cNt;
  Ii.isReferenced = nNt;
  Ii.isReferencedIdentifier = ZIt;
  Ii.isReferencedMemberExpression = eNt;
  Ii.isRestProperty = hNt;
  Ii.isScope = iNt;
  Ii.isSpreadProperty = fNt;
  Ii.isStatement = sNt;
  Ii.isUser = lNt;
  Ii.isVar = oNt;
  var _It = fe(), {
    isBinding: LIt,
    isBlockScoped: BIt,
    isExportDeclaration: MIt,
    isExpression: FIt,
    isFlow: jIt,
    isForStatement: RIt,
    isForXStatement: qIt,
    isIdentifier: Hie,
    isImportDeclaration: UIt,
    isImportSpecifier: KIt,
    isJSXIdentifier: VIt,
    isJSXMemberExpression: WIt,
    isMemberExpression: $It,
    isRestElement: Jie,
    isReferenced: oF,
    isScope: HIt,
    isStatement: JIt,
    isVar: YIt,
    isVariableDeclaration: XIt,
    react: zIt,
    isForOfStatement: GIt
  } = _It, {
    isCompatTag: QIt
  } = zIt;
  function ZIt(t) {
    let {
      node: e,
      parent: s
    } = this;
    if (!Hie(e, t) && !WIt(s, t))
      if (VIt(e, t)) {
        if (QIt(e.name)) return !1;
      } else
        return !1;
    return oF(e, s, this.parentPath.parent);
  }
  n(ZIt, "isReferencedIdentifier");
  function eNt() {
    let {
      node: t,
      parent: e
    } = this;
    return $It(t) && oF(t, e);
  }
  n(eNt, "isReferencedMemberExpression");
  function tNt() {
    let {
      node: t,
      parent: e
    } = this, s = this.parentPath.parent;
    return Hie(t) && LIt(t, e, s);
  }
  n(tNt, "isBindingIdentifier");
  function sNt() {
    let {
      node: t,
      parent: e
    } = this;
    return JIt(t) ? !(XIt(t) && (qIt(e, {
      left: t
    }) || RIt(e, {
      init: t
    }))) : !1;
  }
  n(sNt, "isStatement");
  function rNt() {
    return this.isIdentifier() ? this.isReferencedIdentifier() : FIt(this.node);
  }
  n(rNt, "isExpression");
  function iNt() {
    return HIt(this.node, this.parent);
  }
  n(iNt, "isScope");
  function nNt() {
    return oF(this.node, this.parent);
  }
  n(nNt, "isReferenced");
  function aNt() {
    return BIt(this.node);
  }
  n(aNt, "isBlockScoped");
  function oNt() {
    return YIt(this.node);
  }
  n(oNt, "isVar");
  function lNt() {
    return this.node && !!this.node.loc;
  }
  n(lNt, "isUser");
  function uNt() {
    return !this.isUser();
  }
  n(uNt, "isGenerated");
  function cNt(t) {
    return this.scope.isPure(this.node, t);
  }
  n(cNt, "isPure");
  function pNt() {
    let {
      node: t
    } = this;
    return jIt(t) ? !0 : UIt(t) ? t.importKind === "type" || t.importKind === "typeof" : MIt(t) ? t.exportKind === "type" : KIt(t) ? t.importKind ===
    "type" || t.importKind === "typeof" : !1;
  }
  n(pNt, "isFlow");
  function hNt() {
    var t;
    return Jie(this.node) && ((t = this.parentPath) == null ? void 0 : t.isObjectPattern());
  }
  n(hNt, "isRestProperty");
  function fNt() {
    var t;
    return Jie(this.node) && ((t = this.parentPath) == null ? void 0 : t.isObjectExpression());
  }
  n(fNt, "isSpreadProperty");
  function dNt() {
    return GIt(this.node, {
      await: !0
    });
  }
  n(dNt, "isForAwaitStatement");
  Ii.isExistentialTypeParam = /* @__PURE__ */ n(function() {
    throw new Error("`path.isExistentialTypeParam` has been renamed to `path.isExistsTypeAnnotation()` in Babel 7.");
  }, "isExistentialTypeParam"), Ii.isNumericLiteralTypeAnnotation = /* @__PURE__ */ n(function() {
    throw new Error("`path.isNumericLiteralTypeAnnotation()` has been renamed to `path.isNumberLiteralTypeAnnotation()` in Babel 7.");
  }, "isNumericLiteralTypeAnnotation");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/visitors.js
var H0 = g((pf) => {
  "use strict";
  Object.defineProperty(pf, "__esModule", {
    value: !0
  });
  pf.environmentVisitor = PNt;
  pf.explode = ine;
  pf.isExplodedVisitor = rne;
  pf.merge = ane;
  pf.verify = nne;
  var sne = aF(), mNt = lF(), yNt = fe(), Yie = xl(), {
    DEPRECATED_KEYS: Xie,
    DEPRECATED_ALIASES: zie,
    FLIPPED_ALIAS_KEYS: Gie,
    TYPES: gNt,
    __internal__deprecationWarning: Qie
  } = yNt;
  function TNt(t) {
    return t in sne;
  }
  n(TNt, "isVirtualType");
  function rne(t) {
    return t?._exploded;
  }
  n(rne, "isExplodedVisitor");
  function ine(t) {
    if (rne(t)) return t;
    t._exploded = !0;
    for (let e of Object.keys(t)) {
      if (cf(e)) continue;
      let s = e.split("|");
      if (s.length === 1) continue;
      let r = t[e];
      delete t[e];
      for (let i of s)
        t[i] = r;
    }
    nne(t), delete t.__esModule, bNt(t), tne(t);
    for (let e of Object.keys(t)) {
      if (cf(e) || !TNt(e)) continue;
      let s = t[e];
      for (let i of Object.keys(s))
        s[i] = xNt(e, s[i]);
      delete t[e];
      let r = sne[e];
      if (r !== null)
        for (let i of r)
          t[i] ? $0(t[i], s) : t[i] = s;
      else
        $0(t, s);
    }
    for (let e of Object.keys(t)) {
      if (cf(e)) continue;
      let s = Gie[e];
      if (e in Xie) {
        let i = Xie[e];
        Qie(e, i, "Visitor "), s = [i];
      } else if (e in zie) {
        let i = zie[e];
        Qie(e, i, "Visitor "), s = Gie[i];
      }
      if (!s) continue;
      let r = t[e];
      delete t[e];
      for (let i of s) {
        let a = t[i];
        a ? $0(a, r) : t[i] = Object.assign({}, r);
      }
    }
    for (let e of Object.keys(t))
      cf(e) || tne(t[e]);
    return t;
  }
  n(ine, "explode$1");
  function nne(t) {
    if (!t._verified) {
      if (typeof t == "function")
        throw new Error("You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Functi\
on }`?");
      for (let e of Object.keys(t)) {
        if ((e === "enter" || e === "exit") && Zie(e, t[e]), cf(e)) continue;
        if (!gNt.includes(e))
          throw new Error(`You gave us a visitor for the node type ${e} but it's not a valid type in @babel/traverse 7.26.9`);
        let s = t[e];
        if (typeof s == "object")
          for (let r of Object.keys(s))
            if (r === "enter" || r === "exit")
              Zie(`${e}.${r}`, s[r]);
            else
              throw new Error(`You passed \`traverse()\` a visitor object with the property ${e} that has the invalid property ${r}`);
      }
      t._verified = !0;
    }
  }
  n(nne, "verify$1");
  function Zie(t, e) {
    let s = [].concat(e);
    for (let r of s)
      if (typeof r != "function")
        throw new TypeError(`Non-function found defined in ${t} with type ${typeof r}`);
  }
  n(Zie, "validateVisitorMethods");
  function ane(t, e = [], s) {
    let r = {
      _verified: !0,
      _exploded: !0
    };
    Object.defineProperty(r, "_exploded", {
      enumerable: !1
    }), Object.defineProperty(r, "_verified", {
      enumerable: !1
    });
    for (let i = 0; i < t.length; i++) {
      let a = ine(t[i]), o = e[i], l = a;
      (o || s) && (l = ene(l, o, s)), $0(r, l);
      for (let u of Object.keys(a)) {
        if (cf(u)) continue;
        let c = a[u];
        (o || s) && (c = ene(c, o, s));
        let p = r[u] || (r[u] = {});
        $0(p, c);
      }
    }
    return r;
  }
  n(ane, "merge");
  function ene(t, e, s) {
    let r = {};
    for (let i of ["enter", "exit"]) {
      let a = t[i];
      Array.isArray(a) && (a = a.map(function(o) {
        let l = o;
        return e && (l = /* @__PURE__ */ n(function(u) {
          o.call(e, u, e);
        }, "newFn")), s && (l = s(e?.key, i, l)), l !== o && (l.toString = () => o.toString()), l;
      }), r[i] = a);
    }
    return r;
  }
  n(ene, "wrapWithStateOrWrapper");
  function bNt(t) {
    for (let e of Object.keys(t)) {
      if (cf(e)) continue;
      let s = t[e];
      typeof s == "function" && (t[e] = {
        enter: s
      });
    }
  }
  n(bNt, "ensureEntranceObjects");
  function tne(t) {
    t.enter && !Array.isArray(t.enter) && (t.enter = [t.enter]), t.exit && !Array.isArray(t.exit) && (t.exit = [t.exit]);
  }
  n(tne, "ensureCallbackArrays");
  function xNt(t, e) {
    let s = `is${t}`, r = mNt[s], i = /* @__PURE__ */ n(function(a) {
      if (r.call(a))
        return e.apply(this, arguments);
    }, "newFn");
    return i.toString = () => e.toString(), i;
  }
  n(xNt, "wrapCheck");
  function cf(t) {
    return t[0] === "_" || t === "enter" || t === "exit" || t === "shouldSkip" || t === "denylist" || t === "noScope" || t === "skipKeys" ||
    t === "blacklist";
  }
  n(cf, "shouldIgnoreKey");
  function $0(t, e) {
    for (let s of ["enter", "exit"])
      e[s] && (t[s] = [].concat(t[s] || [], e[s]));
  }
  n($0, "mergePair");
  var SNt = {
    FunctionParent(t) {
      t.isArrowFunctionExpression() || (t.skip(), t.isMethod() && (t.requeueComputedKeyAndDecorators ? t.requeueComputedKeyAndDecorators() :
      Yie.requeueComputedKeyAndDecorators.call(t)));
    },
    Property(t) {
      t.isObjectProperty() || (t.skip(), t.requeueComputedKeyAndDecorators ? t.requeueComputedKeyAndDecorators() : Yie.requeueComputedKeyAndDecorators.
      call(t));
    }
  };
  function PNt(t) {
    return ane([SNt, t]);
  }
  n(PNt, "environmentVisitor");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/scope/lib/renamer.js
var one = g((hA) => {
  "use strict";
  Object.defineProperty(hA, "__esModule", {
    value: !0
  });
  hA.default = void 0;
  var pA = fe(), ENt = pA, ANt = fA(), vNt = H0(), CNt = xl(), {
    getAssignmentIdentifiers: wNt
  } = ENt, INt = {
    ReferencedIdentifier({
      node: t
    }, e) {
      t.name === e.oldName && (t.name = e.newName);
    },
    Scope(t, e) {
      t.scope.bindingIdentifierEquals(e.oldName, e.binding.identifier) || (t.skip(), t.isMethod() && (t.requeueComputedKeyAndDecorators ? t.
      requeueComputedKeyAndDecorators() : CNt.requeueComputedKeyAndDecorators.call(t)));
    },
    ObjectProperty({
      node: t,
      scope: e
    }, s) {
      let {
        name: r
      } = t.key;
      if (t.shorthand && (r === s.oldName || r === s.newName) && e.getBindingIdentifier(r) === s.binding.identifier) {
        t.shorthand = !1;
        {
          var i;
          (i = t.extra) != null && i.shorthand && (t.extra.shorthand = !1);
        }
      }
    },
    "AssignmentExpression|Declaration|VariableDeclarator"(t, e) {
      if (t.isVariableDeclaration()) return;
      let s = t.isAssignmentExpression() ? wNt(t.node) : t.getOuterBindingIdentifiers();
      for (let r in s)
        r === e.oldName && (s[r].name = e.newName);
    }
  }, uF = class {
    static {
      n(this, "Renamer");
    }
    constructor(e, s, r) {
      this.newName = r, this.oldName = s, this.binding = e;
    }
    maybeConvertFromExportDeclaration(e) {
      let s = e.parentPath;
      if (s.isExportDeclaration()) {
        if (s.isExportDefaultDeclaration()) {
          let {
            declaration: r
          } = s.node;
          if (pA.isDeclaration(r) && !r.id)
            return;
        }
        s.isExportAllDeclaration() || s.splitExportDeclaration();
      }
    }
    maybeConvertFromClassFunctionDeclaration(e) {
      return e;
    }
    maybeConvertFromClassFunctionExpression(e) {
      return e;
    }
    rename() {
      let {
        binding: e,
        oldName: s,
        newName: r
      } = this, {
        scope: i,
        path: a
      } = e, o = a.find((c) => c.isDeclaration() || c.isFunctionExpression() || c.isClassExpression());
      o && o.getOuterBindingIdentifiers()[s] === e.identifier && this.maybeConvertFromExportDeclaration(o);
      let l = arguments[0] || i.block, u = {
        discriminant: !0
      };
      pA.isMethod(l) && (l.computed && (u.key = !0), pA.isObjectMethod(l) || (u.decorators = !0)), (0, ANt.traverseNode)(l, (0, vNt.explode)(
      INt), i, this, i.path, u), arguments[0] || (i.removeOwnBinding(s), i.bindings[r] = e, this.binding.identifier.name = r), o && (this.maybeConvertFromClassFunctionDeclaration(
      a), this.maybeConvertFromClassFunctionExpression(a));
    }
  };
  hA.default = uF;
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/scope/binding.js
var lne = g((dA) => {
  "use strict";
  Object.defineProperty(dA, "__esModule", {
    value: !0
  });
  dA.default = void 0;
  var cF = class {
    static {
      n(this, "Binding");
    }
    constructor({
      identifier: e,
      scope: s,
      path: r,
      kind: i
    }) {
      this.identifier = void 0, this.scope = void 0, this.path = void 0, this.kind = void 0, this.constantViolations = [], this.constant = !0,
      this.referencePaths = [], this.referenced = !1, this.references = 0, this.identifier = e, this.scope = s, this.path = r, this.kind = i,
      (i === "var" || i === "hoisted") && NNt(r) && this.reassign(r), this.clearValue();
    }
    deoptValue() {
      this.clearValue(), this.hasDeoptedValue = !0;
    }
    setValue(e) {
      this.hasDeoptedValue || (this.hasValue = !0, this.value = e);
    }
    clearValue() {
      this.hasDeoptedValue = !1, this.hasValue = !1, this.value = null;
    }
    reassign(e) {
      this.constant = !1, !this.constantViolations.includes(e) && this.constantViolations.push(e);
    }
    reference(e) {
      this.referencePaths.includes(e) || (this.referenced = !0, this.references++, this.referencePaths.push(e));
    }
    dereference() {
      this.references--, this.referenced = !!this.references;
    }
  };
  dA.default = cF;
  function NNt(t) {
    for (let {
      parentPath: e,
      key: s
    } = t; e; {
      parentPath: e,
      key: s
    } = e) {
      if (e.isFunctionParent()) return !1;
      if (e.isWhile() || e.isForXStatement() || e.isForStatement() && s === "body")
        return !0;
    }
    return !1;
  }
  n(NNt, "isDeclaredInLoop");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/cache.js
var hf = g((fa) => {
  "use strict";
  Object.defineProperty(fa, "__esModule", {
    value: !0
  });
  fa.clear = DNt;
  fa.clearPath = une;
  fa.clearScope = cne;
  fa.getCachedPaths = ONt;
  fa.getOrCreateCachedPaths = _Nt;
  fa.scope = fa.path = void 0;
  var mA = fa.path = /* @__PURE__ */ new WeakMap(), kNt = fa.scope = /* @__PURE__ */ new WeakMap();
  function DNt() {
    une(), cne();
  }
  n(DNt, "clear");
  function une() {
    fa.path = mA = /* @__PURE__ */ new WeakMap();
  }
  n(une, "clearPath");
  function cne() {
    fa.scope = kNt = /* @__PURE__ */ new WeakMap();
  }
  n(cne, "clearScope");
  var pF = Object.freeze({});
  function ONt(t, e) {
    var s, r;
    return t = null, (s = mA.get((r = t) != null ? r : pF)) == null ? void 0 : s.get(e);
  }
  n(ONt, "getCachedPaths");
  function _Nt(t, e) {
    var s, r;
    t = null;
    let i = mA.get((s = t) != null ? s : pF);
    i || mA.set((r = t) != null ? r : pF, i = /* @__PURE__ */ new WeakMap());
    let a = i.get(e);
    return a || i.set(e, a = /* @__PURE__ */ new Map()), a;
  }
  n(_Nt, "getOrCreateCachedPaths");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/scope/index.js
var mF = g((gA) => {
  "use strict";
  Object.defineProperty(gA, "__esModule", {
    value: !0
  });
  gA.default = void 0;
  var LNt = one(), BNt = Lo(), MNt = lne(), FNt = dd(), bne = fe(), xne = bne, pne = hf(), jNt = H0(), {
    NOT_LOCAL_BINDING: hne,
    assignmentExpression: RNt,
    callExpression: fne,
    cloneNode: dne,
    getBindingIdentifiers: Sne,
    identifier: df,
    isArrayExpression: Pne,
    isBinary: qNt,
    isCallExpression: mne,
    isClass: UNt,
    isClassBody: KNt,
    isClassDeclaration: VNt,
    isExportAllDeclaration: Ene,
    isExportDefaultDeclaration: WNt,
    isExportNamedDeclaration: hF,
    isFunctionDeclaration: $Nt,
    isIdentifier: ff,
    isImportDeclaration: fF,
    isLiteral: HNt,
    isMemberExpression: JNt,
    isMethod: YNt,
    isModuleSpecifier: XNt,
    isNullLiteral: zNt,
    isObjectExpression: GNt,
    isProperty: QNt,
    isPureish: ZNt,
    isRegExpLiteral: ekt,
    isSuper: tkt,
    isTaggedTemplateExpression: skt,
    isTemplateLiteral: Ane,
    isThisExpression: yne,
    isUnaryExpression: rkt,
    isVariableDeclaration: ikt,
    expressionStatement: nkt,
    matchesPattern: gne,
    memberExpression: dF,
    numericLiteral: akt,
    toIdentifier: okt,
    variableDeclaration: lkt,
    variableDeclarator: ukt,
    isRecordExpression: ckt,
    isTupleExpression: pkt,
    isObjectProperty: hkt,
    isTopicReference: Tne,
    isMetaProperty: fkt,
    isPrivateName: dkt,
    isExportDeclaration: mkt,
    buildUndefinedNode: ykt,
    sequenceExpression: gkt
  } = bne;
  function Ir(t, e) {
    switch (t?.type) {
      default:
        if (fF(t) || mkt(t)) {
          var s;
          if ((Ene(t) || hF(t) || fF(t)) && t.source)
            Ir(t.source, e);
          else if ((hF(t) || fF(t)) && (s = t.specifiers) != null && s.length)
            for (let r of t.specifiers) Ir(r, e);
          else (WNt(t) || hF(t)) && t.declaration && Ir(t.declaration, e);
        } else XNt(t) ? Ir(t.local, e) : HNt(t) && !zNt(t) && !ekt(t) && !Ane(t) && e.push(t.value);
        break;
      case "MemberExpression":
      case "OptionalMemberExpression":
      case "JSXMemberExpression":
        Ir(t.object, e), Ir(t.property, e);
        break;
      case "Identifier":
      case "JSXIdentifier":
        e.push(t.name);
        break;
      case "CallExpression":
      case "OptionalCallExpression":
      case "NewExpression":
        Ir(t.callee, e);
        break;
      case "ObjectExpression":
      case "ObjectPattern":
        for (let r of t.properties)
          Ir(r, e);
        break;
      case "SpreadElement":
      case "RestElement":
        Ir(t.argument, e);
        break;
      case "ObjectProperty":
      case "ObjectMethod":
      case "ClassProperty":
      case "ClassMethod":
      case "ClassPrivateProperty":
      case "ClassPrivateMethod":
        Ir(t.key, e);
        break;
      case "ThisExpression":
        e.push("this");
        break;
      case "Super":
        e.push("super");
        break;
      case "Import":
        e.push("import");
        break;
      case "DoExpression":
        e.push("do");
        break;
      case "YieldExpression":
        e.push("yield"), Ir(t.argument, e);
        break;
      case "AwaitExpression":
        e.push("await"), Ir(t.argument, e);
        break;
      case "AssignmentExpression":
        Ir(t.left, e);
        break;
      case "VariableDeclarator":
        Ir(t.id, e);
        break;
      case "FunctionExpression":
      case "FunctionDeclaration":
      case "ClassExpression":
      case "ClassDeclaration":
        Ir(t.id, e);
        break;
      case "PrivateName":
        Ir(t.id, e);
        break;
      case "ParenthesizedExpression":
        Ir(t.expression, e);
        break;
      case "UnaryExpression":
      case "UpdateExpression":
        Ir(t.argument, e);
        break;
      case "MetaProperty":
        Ir(t.meta, e), Ir(t.property, e);
        break;
      case "JSXElement":
        Ir(t.openingElement, e);
        break;
      case "JSXOpeningElement":
        Ir(t.name, e);
        break;
      case "JSXFragment":
        Ir(t.openingFragment, e);
        break;
      case "JSXOpeningFragment":
        e.push("Fragment");
        break;
      case "JSXNamespacedName":
        Ir(t.namespace, e), Ir(t.name, e);
        break;
    }
  }
  n(Ir, "gatherNodeParts");
  var yA = {
    ForStatement(t) {
      let e = t.get("init");
      if (e.isVar()) {
        let {
          scope: s
        } = t;
        (s.getFunctionParent() || s.getProgramParent()).registerBinding("var", e);
      }
    },
    Declaration(t) {
      if (t.isBlockScoped() || t.isImportDeclaration() || t.isExportDeclaration()) return;
      (t.scope.getFunctionParent() || t.scope.getProgramParent()).registerDeclaration(t);
    },
    ImportDeclaration(t) {
      t.scope.getBlockParent().registerDeclaration(t);
    },
    TSImportEqualsDeclaration(t) {
      t.scope.getBlockParent().registerDeclaration(t);
    },
    ReferencedIdentifier(t, e) {
      xne.isTSQualifiedName(t.parent) && t.parent.right === t.node || t.parentPath.isTSImportEqualsDeclaration() || e.references.push(t);
    },
    ForXStatement(t, e) {
      let s = t.get("left");
      if (s.isPattern() || s.isIdentifier())
        e.constantViolations.push(t);
      else if (s.isVar()) {
        let {
          scope: r
        } = t;
        (r.getFunctionParent() || r.getProgramParent()).registerBinding("var", s);
      }
    },
    ExportDeclaration: {
      exit(t) {
        let {
          node: e,
          scope: s
        } = t;
        if (Ene(e)) return;
        let r = e.declaration;
        if (VNt(r) || $Nt(r)) {
          let i = r.id;
          if (!i) return;
          let a = s.getBinding(i.name);
          a?.reference(t);
        } else if (ikt(r))
          for (let i of r.declarations)
            for (let a of Object.keys(Sne(i))) {
              let o = s.getBinding(a);
              o?.reference(t);
            }
      }
    },
    LabeledStatement(t) {
      t.scope.getBlockParent().registerDeclaration(t);
    },
    AssignmentExpression(t, e) {
      e.assignments.push(t);
    },
    UpdateExpression(t, e) {
      e.constantViolations.push(t);
    },
    UnaryExpression(t, e) {
      t.node.operator === "delete" && e.constantViolations.push(t);
    },
    BlockScoped(t) {
      let e = t.scope;
      if (e.path === t && (e = e.parent), e.getBlockParent().registerDeclaration(t), t.isClassDeclaration() && t.node.id) {
        let i = t.node.id.name;
        t.scope.bindings[i] = t.scope.parent.getBinding(i);
      }
    },
    CatchClause(t) {
      t.scope.registerBinding("let", t);
    },
    Function(t) {
      let e = t.get("params");
      for (let s of e)
        t.scope.registerBinding("param", s);
      t.isFunctionExpression() && t.node.id && !t.node.id[hne] && t.scope.registerBinding("local", t.get("id"), t);
    },
    ClassExpression(t) {
      t.node.id && !t.node.id[hne] && t.scope.registerBinding("local", t.get("id"), t);
    },
    TSTypeAnnotation(t) {
      t.skip();
    }
  }, Tkt = 0, _o = class t {
    static {
      n(this, "Scope");
    }
    constructor(e) {
      this.uid = void 0, this.path = void 0, this.block = void 0, this.inited = void 0, this.labels = void 0, this.bindings = void 0, this.references =
      void 0, this.globals = void 0, this.uids = void 0, this.data = void 0, this.crawling = void 0;
      let {
        node: s
      } = e, r = pne.scope.get(s);
      if (r?.path === e)
        return r;
      pne.scope.set(s, this), this.uid = Tkt++, this.block = s, this.path = e, this.labels = /* @__PURE__ */ new Map(), this.inited = !1;
    }
    get parent() {
      var e;
      let s, r = this.path;
      do {
        var i;
        let a = r.key === "key" || r.listKey === "decorators";
        r = r.parentPath, a && r.isMethod() && (r = r.parentPath), (i = r) != null && i.isScope() && (s = r);
      } while (r && !s);
      return (e = s) == null ? void 0 : e.scope;
    }
    generateDeclaredUidIdentifier(e) {
      let s = this.generateUidIdentifier(e);
      return this.push({
        id: s
      }), dne(s);
    }
    generateUidIdentifier(e) {
      return df(this.generateUid(e));
    }
    generateUid(e = "temp") {
      e = okt(e).replace(/^_+/, "").replace(/\d+$/g, "");
      let s, r = 1;
      do
        s = `_${e}`, r > 1 && (s += r), r++;
      while (this.hasLabel(s) || this.hasBinding(s) || this.hasGlobal(s) || this.hasReference(s));
      let i = this.getProgramParent();
      return i.references[s] = !0, i.uids[s] = !0, s;
    }
    generateUidBasedOnNode(e, s) {
      let r = [];
      Ir(e, r);
      let i = r.join("$");
      return i = i.replace(/^_/, "") || s || "ref", this.generateUid(i.slice(0, 20));
    }
    generateUidIdentifierBasedOnNode(e, s) {
      return df(this.generateUidBasedOnNode(e, s));
    }
    isStatic(e) {
      if (yne(e) || tkt(e) || Tne(e))
        return !0;
      if (ff(e)) {
        let s = this.getBinding(e.name);
        return s ? s.constant : this.hasBinding(e.name);
      }
      return !1;
    }
    maybeGenerateMemoised(e, s) {
      if (this.isStatic(e))
        return null;
      {
        let r = this.generateUidIdentifierBasedOnNode(e);
        return s ? r : (this.push({
          id: r
        }), dne(r));
      }
    }
    checkBlockScopedCollisions(e, s, r, i) {
      if (s === "param" || e.kind === "local") return;
      if (s === "let" || e.kind === "let" || e.kind === "const" || e.kind === "module" || e.kind === "param" && s === "const")
        throw this.path.hub.buildError(i, `Duplicate declaration "${r}"`, TypeError);
    }
    rename(e, s) {
      let r = this.getBinding(e);
      r && (s || (s = this.generateUidIdentifier(e).name), new LNt.default(r, e, s).rename(arguments[2]));
    }
    dump() {
      let e = "-".repeat(60);
      console.log(e);
      let s = this;
      do {
        console.log("#", s.block.type);
        for (let r of Object.keys(s.bindings)) {
          let i = s.bindings[r];
          console.log(" -", r, {
            constant: i.constant,
            references: i.references,
            violations: i.constantViolations.length,
            kind: i.kind
          });
        }
      } while (s = s.parent);
      console.log(e);
    }
    hasLabel(e) {
      return !!this.getLabel(e);
    }
    getLabel(e) {
      return this.labels.get(e);
    }
    registerLabel(e) {
      this.labels.set(e.node.label.name, e);
    }
    registerDeclaration(e) {
      if (e.isLabeledStatement())
        this.registerLabel(e);
      else if (e.isFunctionDeclaration())
        this.registerBinding("hoisted", e.get("id"), e);
      else if (e.isVariableDeclaration()) {
        let s = e.get("declarations"), {
          kind: r
        } = e.node;
        for (let i of s)
          this.registerBinding(r === "using" || r === "await using" ? "const" : r, i);
      } else if (e.isClassDeclaration()) {
        if (e.node.declare) return;
        this.registerBinding("let", e);
      } else if (e.isImportDeclaration()) {
        let s = e.node.importKind === "type" || e.node.importKind === "typeof", r = e.get("specifiers");
        for (let i of r) {
          let a = s || i.isImportSpecifier() && (i.node.importKind === "type" || i.node.importKind === "typeof");
          this.registerBinding(a ? "unknown" : "module", i);
        }
      } else if (e.isExportDeclaration()) {
        let s = e.get("declaration");
        (s.isClassDeclaration() || s.isFunctionDeclaration() || s.isVariableDeclaration()) && this.registerDeclaration(s);
      } else
        this.registerBinding("unknown", e);
    }
    buildUndefinedNode() {
      return ykt();
    }
    registerConstantViolation(e) {
      let s = e.getAssignmentIdentifiers();
      for (let i of Object.keys(s)) {
        var r;
        (r = this.getBinding(i)) == null || r.reassign(e);
      }
    }
    registerBinding(e, s, r = s) {
      if (!e) throw new ReferenceError("no `kind`");
      if (s.isVariableDeclaration()) {
        let o = s.get("declarations");
        for (let l of o)
          this.registerBinding(e, l);
        return;
      }
      let i = this.getProgramParent(), a = s.getOuterBindingIdentifiers(!0);
      for (let o of Object.keys(a)) {
        i.references[o] = !0;
        for (let l of a[o]) {
          let u = this.getOwnBinding(o);
          if (u) {
            if (u.identifier === l) continue;
            this.checkBlockScopedCollisions(u, e, o, l);
          }
          u ? u.reassign(r) : this.bindings[o] = new MNt.default({
            identifier: l,
            scope: this,
            path: r,
            kind: e
          });
        }
      }
    }
    addGlobal(e) {
      this.globals[e.name] = e;
    }
    hasUid(e) {
      let s = this;
      do
        if (s.uids[e]) return !0;
      while (s = s.parent);
      return !1;
    }
    hasGlobal(e) {
      let s = this;
      do
        if (s.globals[e]) return !0;
      while (s = s.parent);
      return !1;
    }
    hasReference(e) {
      return !!this.getProgramParent().references[e];
    }
    isPure(e, s) {
      if (ff(e)) {
        let o = this.getBinding(e.name);
        return o ? s ? o.constant : !0 : !1;
      } else {
        if (yne(e) || fkt(e) || Tne(e) || dkt(e))
          return !0;
        if (UNt(e)) {
          var r;
          return e.superClass && !this.isPure(e.superClass, s) || ((r = e.decorators) == null ? void 0 : r.length) > 0 ? !1 : this.isPure(e.
          body, s);
        } else if (KNt(e)) {
          for (let o of e.body)
            if (!this.isPure(o, s)) return !1;
          return !0;
        } else {
          if (qNt(e))
            return this.isPure(e.left, s) && this.isPure(e.right, s);
          if (Pne(e) || pkt(e)) {
            for (let o of e.elements)
              if (o !== null && !this.isPure(o, s)) return !1;
            return !0;
          } else if (GNt(e) || ckt(e)) {
            for (let o of e.properties)
              if (!this.isPure(o, s)) return !1;
            return !0;
          } else if (YNt(e)) {
            var i;
            return !(e.computed && !this.isPure(e.key, s) || ((i = e.decorators) == null ? void 0 : i.length) > 0);
          } else if (QNt(e)) {
            var a;
            return !(e.computed && !this.isPure(e.key, s) || ((a = e.decorators) == null ? void 0 : a.length) > 0 || (hkt(e) || e.static) &&
            e.value !== null && !this.isPure(e.value, s));
          } else {
            if (rkt(e))
              return this.isPure(e.argument, s);
            if (Ane(e)) {
              for (let o of e.expressions)
                if (!this.isPure(o, s)) return !1;
              return !0;
            } else return skt(e) ? gne(e.tag, "String.raw") && !this.hasBinding("String", {
              noGlobals: !0
            }) && this.isPure(e.quasi, s) : JNt(e) ? !e.computed && ff(e.object) && e.object.name === "Symbol" && ff(e.property) && e.property.
            name !== "for" && !this.hasBinding("Symbol", {
              noGlobals: !0
            }) : mne(e) ? gne(e.callee, "Symbol.for") && !this.hasBinding("Symbol", {
              noGlobals: !0
            }) && e.arguments.length === 1 && xne.isStringLiteral(e.arguments[0]) : ZNt(e);
          }
        }
      }
    }
    setData(e, s) {
      return this.data[e] = s;
    }
    getData(e) {
      let s = this;
      do {
        let r = s.data[e];
        if (r != null) return r;
      } while (s = s.parent);
    }
    removeData(e) {
      let s = this;
      do
        s.data[e] != null && (s.data[e] = null);
      while (s = s.parent);
    }
    init() {
      this.inited || (this.inited = !0, this.crawl());
    }
    crawl() {
      let e = this.path;
      this.references = /* @__PURE__ */ Object.create(null), this.bindings = /* @__PURE__ */ Object.create(null), this.globals = /* @__PURE__ */ Object.
      create(null), this.uids = /* @__PURE__ */ Object.create(null), this.data = /* @__PURE__ */ Object.create(null);
      let s = this;
      do {
        if (s.crawling) return;
        if (s.path.isProgram())
          break;
      } while (s = s.parent);
      let r = s, i = {
        references: [],
        constantViolations: [],
        assignments: []
      };
      if (this.crawling = !0, e.type !== "Program" && (0, jNt.isExplodedVisitor)(yA)) {
        for (let o of yA.enter)
          o.call(i, e, i);
        let a = yA[e.type];
        if (a)
          for (let o of a.enter)
            o.call(i, e, i);
      }
      e.traverse(yA, i), this.crawling = !1;
      for (let a of i.assignments) {
        let o = a.getAssignmentIdentifiers();
        for (let l of Object.keys(o))
          a.scope.getBinding(l) || r.addGlobal(o[l]);
        a.scope.registerConstantViolation(a);
      }
      for (let a of i.references) {
        let o = a.scope.getBinding(a.node.name);
        o ? o.reference(a) : r.addGlobal(a.node);
      }
      for (let a of i.constantViolations)
        a.scope.registerConstantViolation(a);
    }
    push(e) {
      let s = this.path;
      s.isPattern() ? s = this.getPatternParent().path : !s.isBlockStatement() && !s.isProgram() && (s = this.getBlockParent().path), s.isSwitchStatement() &&
      (s = (this.getFunctionParent() || this.getProgramParent()).path);
      let {
        init: r,
        unique: i,
        kind: a = "var",
        id: o
      } = e;
      if (!r && !i && (a === "var" || a === "let") && s.isFunction() && !s.node.name && mne(s.parent, {
        callee: s.node
      }) && s.parent.arguments.length <= s.node.params.length && ff(o)) {
        s.pushContainer("params", o), s.scope.registerBinding("param", s.get("params")[s.node.params.length - 1]);
        return;
      }
      (s.isLoop() || s.isCatchClause() || s.isFunction()) && (s.ensureBlock(), s = s.get("body"));
      let l = e._blockHoist == null ? 2 : e._blockHoist, u = `declaration:${a}:${l}`, c = !i && s.getData(u);
      if (!c) {
        let f = lkt(a, []);
        f._blockHoist = l, [c] = s.unshiftContainer("body", [f]), i || s.setData(u, c);
      }
      let p = ukt(o, r), h = c.node.declarations.push(p);
      s.scope.registerBinding(a, c.get("declarations")[h - 1]);
    }
    getProgramParent() {
      let e = this;
      do
        if (e.path.isProgram())
          return e;
      while (e = e.parent);
      throw new Error("Couldn't find a Program");
    }
    getFunctionParent() {
      let e = this;
      do
        if (e.path.isFunctionParent())
          return e;
      while (e = e.parent);
      return null;
    }
    getBlockParent() {
      let e = this;
      do
        if (e.path.isBlockParent())
          return e;
      while (e = e.parent);
      throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");
    }
    getPatternParent() {
      let e = this;
      do
        if (!e.path.isPattern())
          return e.getBlockParent();
      while (e = e.parent.parent);
      throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");
    }
    getAllBindings() {
      let e = /* @__PURE__ */ Object.create(null), s = this;
      do {
        for (let r of Object.keys(s.bindings))
          r in e || (e[r] = s.bindings[r]);
        s = s.parent;
      } while (s);
      return e;
    }
    bindingIdentifierEquals(e, s) {
      return this.getBindingIdentifier(e) === s;
    }
    getBinding(e) {
      let s = this, r;
      do {
        let a = s.getOwnBinding(e);
        if (a) {
          var i;
          if (!((i = r) != null && i.isPattern() && a.kind !== "param" && a.kind !== "local"))
            return a;
        } else if (!a && e === "arguments" && s.path.isFunction() && !s.path.isArrowFunctionExpression())
          break;
        r = s.path;
      } while (s = s.parent);
    }
    getOwnBinding(e) {
      return this.bindings[e];
    }
    getBindingIdentifier(e) {
      var s;
      return (s = this.getBinding(e)) == null ? void 0 : s.identifier;
    }
    getOwnBindingIdentifier(e) {
      let s = this.bindings[e];
      return s?.identifier;
    }
    hasOwnBinding(e) {
      return !!this.getOwnBinding(e);
    }
    hasBinding(e, s) {
      if (!e) return !1;
      let r = this;
      do
        if (r.hasOwnBinding(e))
          return !0;
      while (r = r.parent);
      let i, a;
      return typeof s == "object" ? (i = s.noGlobals, a = s.noUids) : typeof s == "boolean" && (i = s), !!(!a && this.hasUid(e) || !i && t.globals.
      includes(e) || !i && t.contextVariables.includes(e));
    }
    parentHasBinding(e, s) {
      var r;
      return (r = this.parent) == null ? void 0 : r.hasBinding(e, s);
    }
    moveBindingTo(e, s) {
      let r = this.getBinding(e);
      r && (r.scope.removeOwnBinding(e), r.scope = s, s.bindings[e] = r);
    }
    removeOwnBinding(e) {
      delete this.bindings[e];
    }
    removeBinding(e) {
      var s;
      (s = this.getBinding(e)) == null || s.scope.removeOwnBinding(e);
      let r = this;
      do
        r.uids[e] && (r.uids[e] = !1);
      while (r = r.parent);
    }
    hoistVariables(e = (s) => this.push({
      id: s
    })) {
      this.crawl();
      let s = /* @__PURE__ */ new Set();
      for (let i of Object.keys(this.bindings)) {
        let a = this.bindings[i];
        if (!a) continue;
        let {
          path: o
        } = a;
        if (!o.isVariableDeclarator()) continue;
        let {
          parent: l,
          parentPath: u
        } = o;
        if (l.kind !== "var" || s.has(l)) continue;
        s.add(o.parent);
        let c, p = [];
        for (let h of l.declarations) {
          var r;
          (r = c) != null || (c = h.id), h.init && p.push(RNt("=", h.id, h.init));
          let f = Object.keys(Sne(h, !1, !0, !0));
          for (let d of f)
            e(df(d), h.init != null);
        }
        if (u.parentPath.isFor({
          left: l
        }))
          u.replaceWith(c);
        else if (p.length === 0)
          u.remove();
        else {
          let h = p.length === 1 ? p[0] : gkt(p);
          u.parentPath.isForStatement({
            init: l
          }) ? u.replaceWith(h) : u.replaceWith(nkt(h));
        }
      }
    }
  };
  gA.default = _o;
  _o.globals = Object.keys(FNt.builtin);
  _o.contextVariables = ["arguments", "undefined", "Infinity", "NaN"];
  _o.prototype._renameFromMap = /* @__PURE__ */ n(function(e, s, r, i) {
    e[s] && (e[r] = i, e[s] = null);
  }, "_renameFromMap"), _o.prototype.traverse = function(t, e, s) {
    (0, BNt.default)(t, e, this, s, this.path);
  }, _o.prototype._generateUid = /* @__PURE__ */ n(function(e, s) {
    let r = e;
    return s > 1 && (r += s), `_${r}`;
  }, "_generateUid"), _o.prototype.toArray = /* @__PURE__ */ n(function(e, s, r) {
    if (ff(e)) {
      let o = this.getBinding(e.name);
      if (o != null && o.constant && o.path.isGenericType("Array"))
        return e;
    }
    if (Pne(e))
      return e;
    if (ff(e, {
      name: "arguments"
    }))
      return fne(dF(dF(dF(df("Array"), df("prototype")), df("slice")), df("call")), [e]);
    let i, a = [e];
    return s === !0 ? i = "toConsumableArray" : typeof s == "number" ? (a.push(akt(s)), i = "slicedToArray") : i = "toArray", r && (a.unshift(
    this.path.hub.addHelper(i)), i = "maybeArrayLike"), fne(this.path.hub.addHelper(i), a);
  }, "toArray"), _o.prototype.getAllBindingsOfKind = /* @__PURE__ */ n(function(...e) {
    let s = /* @__PURE__ */ Object.create(null);
    for (let r of e) {
      let i = this;
      do {
        for (let a of Object.keys(i.bindings)) {
          let o = i.bindings[a];
          o.kind === r && (s[a] = o);
        }
        i = i.parent;
      } while (i);
    }
    return s;
  }, "getAllBindingsOfKind"), Object.defineProperties(_o.prototype, {
    parentBlock: {
      configurable: !0,
      enumerable: !0,
      get() {
        return this.path.parent;
      }
    },
    hub: {
      configurable: !0,
      enumerable: !0,
      get() {
        return this.path.hub;
      }
    }
  });
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/source-map.js
var vne = g((TA) => {
  "use strict";
  Object.defineProperty(TA, "__esModule", {
    value: !0
  });
  TA.default = void 0;
  var Tp = hh(), yF = Dc(), gF = class {
    static {
      n(this, "SourceMap");
    }
    constructor(e, s) {
      var r;
      this._map = void 0, this._rawMappings = void 0, this._sourceFileName = void 0, this._lastGenLine = 0, this._lastSourceLine = 0, this._lastSourceColumn =
      0, this._inputMap = void 0;
      let i = this._map = new Tp.GenMapping({
        sourceRoot: e.sourceRoot
      });
      if (this._sourceFileName = (r = e.sourceFileName) == null ? void 0 : r.replace(/\\/g, "/"), this._rawMappings = void 0, e.inputSourceMap) {
        this._inputMap = new yF.TraceMap(e.inputSourceMap);
        let o = this._inputMap.resolvedSources;
        if (o.length)
          for (let l = 0; l < o.length; l++) {
            var a;
            (0, Tp.setSourceContent)(i, o[l], (a = this._inputMap.sourcesContent) == null ? void 0 : a[l]);
          }
      }
      if (typeof s == "string" && !e.inputSourceMap)
        (0, Tp.setSourceContent)(i, this._sourceFileName, s);
      else if (typeof s == "object")
        for (let o of Object.keys(s))
          (0, Tp.setSourceContent)(i, o.replace(/\\/g, "/"), s[o]);
    }
    get() {
      return (0, Tp.toEncodedMap)(this._map);
    }
    getDecoded() {
      return (0, Tp.toDecodedMap)(this._map);
    }
    getRawMappings() {
      return this._rawMappings || (this._rawMappings = (0, Tp.allMappings)(this._map));
    }
    mark(e, s, r, i, a, o) {
      var l;
      this._rawMappings = void 0;
      let u;
      if (s != null)
        if (this._inputMap) {
          if (u = (0, yF.originalPositionFor)(this._inputMap, {
            line: s,
            column: r
          }), !u.name && a) {
            let c = (0, yF.originalPositionFor)(this._inputMap, a);
            c.name && (i = c.name);
          }
        } else
          u = {
            source: o?.replace(/\\/g, "/") || this._sourceFileName,
            line: s,
            column: r
          };
      (0, Tp.maybeAddMapping)(this._map, {
        name: i,
        generated: e,
        source: (l = u) == null ? void 0 : l.source,
        original: u
      });
    }
  };
  TA.default = gF;
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/buffer.js
var Cne = g((bA) => {
  "use strict";
  Object.defineProperty(bA, "__esModule", {
    value: !0
  });
  bA.default = void 0;
  var TF = class {
    static {
      n(this, "Buffer");
    }
    constructor(e, s) {
      this._map = null, this._buf = "", this._str = "", this._appendCount = 0, this._last = 0, this._queue = [], this._queueCursor = 0, this.
      _canMarkIdName = !0, this._indentChar = "", this._fastIndentations = [], this._position = {
        line: 1,
        column: 0
      }, this._sourcePosition = {
        identifierName: void 0,
        identifierNamePos: void 0,
        line: void 0,
        column: void 0,
        filename: void 0
      }, this._map = e, this._indentChar = s;
      for (let r = 0; r < 64; r++)
        this._fastIndentations.push(s.repeat(r));
      this._allocQueue();
    }
    _allocQueue() {
      let e = this._queue;
      for (let s = 0; s < 16; s++)
        e.push({
          char: 0,
          repeat: 1,
          line: void 0,
          column: void 0,
          identifierName: void 0,
          identifierNamePos: void 0,
          filename: ""
        });
    }
    _pushQueue(e, s, r, i, a) {
      let o = this._queueCursor;
      o === this._queue.length && this._allocQueue();
      let l = this._queue[o];
      l.char = e, l.repeat = s, l.line = r, l.column = i, l.filename = a, this._queueCursor++;
    }
    _popQueue() {
      if (this._queueCursor === 0)
        throw new Error("Cannot pop from empty queue");
      return this._queue[--this._queueCursor];
    }
    get() {
      this._flush();
      let e = this._map, s = {
        code: (this._buf + this._str).trimRight(),
        decodedMap: e?.getDecoded(),
        get __mergedMap() {
          return this.map;
        },
        get map() {
          let r = e ? e.get() : null;
          return s.map = r, r;
        },
        set map(r) {
          Object.defineProperty(s, "map", {
            value: r,
            writable: !0
          });
        },
        get rawMappings() {
          let r = e?.getRawMappings();
          return s.rawMappings = r, r;
        },
        set rawMappings(r) {
          Object.defineProperty(s, "rawMappings", {
            value: r,
            writable: !0
          });
        }
      };
      return s;
    }
    append(e, s) {
      this._flush(), this._append(e, this._sourcePosition, s);
    }
    appendChar(e) {
      this._flush(), this._appendChar(e, 1, this._sourcePosition);
    }
    queue(e) {
      if (e === 10)
        for (; this._queueCursor !== 0; ) {
          let r = this._queue[this._queueCursor - 1].char;
          if (r !== 32 && r !== 9)
            break;
          this._queueCursor--;
        }
      let s = this._sourcePosition;
      this._pushQueue(e, 1, s.line, s.column, s.filename);
    }
    queueIndentation(e) {
      e !== 0 && this._pushQueue(-1, e, void 0, void 0, void 0);
    }
    _flush() {
      let e = this._queueCursor, s = this._queue;
      for (let r = 0; r < e; r++) {
        let i = s[r];
        this._appendChar(i.char, i.repeat, i);
      }
      this._queueCursor = 0;
    }
    _appendChar(e, s, r) {
      if (this._last = e, e === -1) {
        let i = this._fastIndentations[s];
        i !== void 0 ? this._str += i : this._str += s > 1 ? this._indentChar.repeat(s) : this._indentChar;
      } else
        this._str += s > 1 ? String.fromCharCode(e).repeat(s) : String.fromCharCode(e);
      e !== 10 ? (this._mark(r.line, r.column, r.identifierName, r.identifierNamePos, r.filename), this._position.column += s) : (this._position.
      line++, this._position.column = 0), this._canMarkIdName && (r.identifierName = void 0, r.identifierNamePos = void 0);
    }
    _append(e, s, r) {
      let i = e.length, a = this._position;
      if (this._last = e.charCodeAt(i - 1), ++this._appendCount > 4096 ? (+this._str, this._buf += this._str, this._str = e, this._appendCount =
      0) : this._str += e, !r && !this._map) {
        a.column += i;
        return;
      }
      let {
        column: o,
        identifierName: l,
        identifierNamePos: u,
        filename: c
      } = s, p = s.line;
      (l != null || u != null) && this._canMarkIdName && (s.identifierName = void 0, s.identifierNamePos = void 0);
      let h = e.indexOf(`
`), f = 0;
      for (h !== 0 && this._mark(p, o, l, u, c); h !== -1; )
        a.line++, a.column = 0, f = h + 1, f < i && p !== void 0 && this._mark(++p, 0, null, null, c), h = e.indexOf(`
`, f);
      a.column += i - f;
    }
    _mark(e, s, r, i, a) {
      var o;
      (o = this._map) == null || o.mark(this._position, e, s, r, i, a);
    }
    removeTrailingNewline() {
      let e = this._queueCursor;
      e !== 0 && this._queue[e - 1].char === 10 && this._queueCursor--;
    }
    removeLastSemicolon() {
      let e = this._queueCursor;
      e !== 0 && this._queue[e - 1].char === 59 && this._queueCursor--;
    }
    getLastChar() {
      let e = this._queueCursor;
      return e !== 0 ? this._queue[e - 1].char : this._last;
    }
    getNewlineCount() {
      let e = this._queueCursor, s = 0;
      if (e === 0) return this._last === 10 ? 1 : 0;
      for (let r = e - 1; r >= 0 && this._queue[r].char === 10; r--)
        s++;
      return s === e && this._last === 10 ? s + 1 : s;
    }
    endsWithCharAndNewline() {
      let e = this._queue, s = this._queueCursor;
      if (s !== 0)
        return e[s - 1].char !== 10 ? void 0 : s > 1 ? e[s - 2].char : this._last;
    }
    hasContent() {
      return this._queueCursor !== 0 || !!this._last;
    }
    exactSource(e, s) {
      if (!this._map) {
        s();
        return;
      }
      this.source("start", e);
      let r = e.identifierName, i = this._sourcePosition;
      r && (this._canMarkIdName = !1, i.identifierName = r), s(), r && (this._canMarkIdName = !0, i.identifierName = void 0, i.identifierNamePos =
      void 0), this.source("end", e);
    }
    source(e, s) {
      this._map && this._normalizePosition(e, s, 0);
    }
    sourceWithOffset(e, s, r) {
      this._map && this._normalizePosition(e, s, r);
    }
    _normalizePosition(e, s, r) {
      let i = s[e], a = this._sourcePosition;
      i && (a.line = i.line, a.column = Math.max(i.column + r, 0), a.filename = s.filename);
    }
    getCurrentColumn() {
      let e = this._queue, s = this._queueCursor, r = -1, i = 0;
      for (let a = 0; a < s; a++) {
        let o = e[a];
        o.char === 10 && (r = i), i += o.repeat;
      }
      return r === -1 ? this._position.column + i : i - 1 - r;
    }
    getCurrentLine() {
      let e = 0, s = this._queue;
      for (let r = 0; r < this._queueCursor; r++)
        s[r].char === 10 && e++;
      return this._position.line + e;
    }
  };
  bA.default = TF;
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/node/whitespace.js
var Dne = g((SA) => {
  "use strict";
  Object.defineProperty(SA, "__esModule", {
    value: !0
  });
  SA.nodes = void 0;
  var bkt = fe(), {
    FLIPPED_ALIAS_KEYS: xkt,
    isArrayExpression: Skt,
    isAssignmentExpression: Ine,
    isBinary: Nne,
    isBlockStatement: Pkt,
    isCallExpression: kne,
    isFunction: J0,
    isIdentifier: xA,
    isLiteral: Ekt,
    isMemberExpression: bF,
    isObjectExpression: Akt,
    isOptionalCallExpression: vkt,
    isOptionalMemberExpression: Ckt,
    isStringLiteral: wkt
  } = bkt;
  function Lm(t, e) {
    return t && (bF(t) || Ckt(t) ? (Lm(t.object, e), t.computed && Lm(t.property, e)) : Nne(t) || Ine(t) ? (Lm(t.left, e), Lm(t.right, e)) :
    kne(t) || vkt(t) ? (e.hasCall = !0, Lm(t.callee, e)) : J0(t) ? e.hasFunction = !0 : xA(t) && (e.hasHelper = e.hasHelper || t.callee && Uu(
    t.callee))), e;
  }
  n(Lm, "crawlInternal");
  function wne(t) {
    return Lm(t, {
      hasCall: !1,
      hasFunction: !1,
      hasHelper: !1
    });
  }
  n(wne, "crawl");
  function Uu(t) {
    return t ? bF(t) ? Uu(t.object) || Uu(t.property) : xA(t) ? t.name === "require" || t.name.charCodeAt(0) === 95 : kne(t) ? Uu(t.callee) :
    Nne(t) || Ine(t) ? xA(t.left) && Uu(t.left) || Uu(t.right) : !1 : !1;
  }
  n(Uu, "isHelper");
  function Ikt(t) {
    return Ekt(t) || Akt(t) || Skt(t) || xA(t) || bF(t);
  }
  n(Ikt, "isType");
  var mf = SA.nodes = {
    AssignmentExpression(t) {
      let e = wne(t.right);
      if (e.hasCall && e.hasHelper || e.hasFunction)
        return e.hasFunction ? 3 : 2;
    },
    SwitchCase(t, e) {
      return (t.consequent.length || e.cases[0] === t ? 1 : 0) | (!t.consequent.length && e.cases[e.cases.length - 1] === t ? 2 : 0);
    },
    LogicalExpression(t) {
      if (J0(t.left) || J0(t.right))
        return 2;
    },
    Literal(t) {
      if (wkt(t) && t.value === "use strict")
        return 2;
    },
    CallExpression(t) {
      if (J0(t.callee) || Uu(t))
        return 3;
    },
    OptionalCallExpression(t) {
      if (J0(t.callee))
        return 3;
    },
    VariableDeclaration(t) {
      for (let e = 0; e < t.declarations.length; e++) {
        let s = t.declarations[e], r = Uu(s.id) && !Ikt(s.init);
        if (!r && s.init) {
          let i = wne(s.init);
          r = Uu(s.init) && i.hasCall || i.hasFunction;
        }
        if (r)
          return 3;
      }
    },
    IfStatement(t) {
      if (Pkt(t.consequent))
        return 3;
    }
  };
  mf.ObjectProperty = mf.ObjectTypeProperty = mf.ObjectMethod = function(t, e) {
    if (e.properties[0] === t)
      return 1;
  };
  mf.ObjectTypeCallProperty = function(t, e) {
    var s;
    if (e.callProperties[0] === t && !((s = e.properties) != null && s.length))
      return 1;
  };
  mf.ObjectTypeIndexer = function(t, e) {
    var s, r;
    if (e.indexers[0] === t && !((s = e.properties) != null && s.length) && !((r = e.callProperties) != null && r.length))
      return 1;
  };
  mf.ObjectTypeInternalSlot = function(t, e) {
    var s, r, i;
    if (e.internalSlots[0] === t && !((s = e.properties) != null && s.length) && !((r = e.callProperties) != null && r.length) && !((i = e.indexers) !=
    null && i.length))
      return 1;
  };
  [["Function", !0], ["Class", !0], ["Loop", !0], ["LabeledStatement", !0], ["SwitchStatement", !0], ["TryStatement", !0]].forEach(function([
  t, e]) {
    [t].concat(xkt[t] || []).forEach(function(s) {
      let r = e ? 3 : 0;
      mf[s] = () => r;
    });
  });
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/node/parentheses.js
var Rne = g((Cs) => {
  "use strict";
  Object.defineProperty(Cs, "__esModule", {
    value: !0
  });
  Cs.AssignmentExpression = aDt;
  Cs.Binary = Mne;
  Cs.BinaryExpression = eDt;
  Cs.ClassExpression = rDt;
  Cs.ArrowFunctionExpression = Cs.ConditionalExpression = jne;
  Cs.DoExpression = Vkt;
  Cs.FunctionExpression = iDt;
  Cs.FunctionTypeAnnotation = qkt;
  Cs.Identifier = lDt;
  Cs.LogicalExpression = oDt;
  Cs.NullableTypeAnnotation = Rkt;
  Cs.ObjectExpression = Kkt;
  Cs.OptionalIndexedAccessType = $kt;
  Cs.OptionalCallExpression = Cs.OptionalMemberExpression = nDt;
  Cs.SequenceExpression = tDt;
  Cs.TSSatisfiesExpression = Cs.TSAsExpression = Hkt;
  Cs.TSConditionalType = Jkt;
  Cs.TSConstructorType = Cs.TSFunctionType = Zkt;
  Cs.TSInferType = zkt;
  Cs.TSInstantiationExpression = Qkt;
  Cs.TSIntersectionType = Xkt;
  Cs.UnaryLike = Cs.TSTypeAssertion = Fne;
  Cs.TSTypeOperator = Gkt;
  Cs.TSUnionType = Ykt;
  Cs.IntersectionTypeAnnotation = Cs.UnionTypeAnnotation = Wkt;
  Cs.UpdateExpression = Ukt;
  Cs.AwaitExpression = Cs.YieldExpression = sDt;
  var Nkt = fe(), Ha = bp(), {
    isArrayTypeAnnotation: kkt,
    isBinaryExpression: Dkt,
    isCallExpression: Okt,
    isForOfStatement: _kt,
    isIndexedAccessType: Lkt,
    isMemberExpression: Lne,
    isObjectPattern: Bkt,
    isOptionalMemberExpression: Mkt,
    isYieldExpression: Fkt,
    isStatement: jkt
  } = Nkt, One = /* @__PURE__ */ new Map([["||", 0], ["??", 0], ["|>", 0], ["&&", 1], ["|", 2], ["^", 3], ["&", 4], ["==", 5], ["===", 5], [
  "!=", 5], ["!==", 5], ["<", 6], [">", 6], ["<=", 6], [">=", 6], ["in", 6], ["instanceof", 6], [">>", 7], ["<<", 7], [">>>", 7], ["+", 8], [
  "-", 8], ["*", 9], ["/", 9], ["%", 9], ["**", 10]]);
  function _ne(t, e) {
    if (e === "BinaryExpression" || e === "LogicalExpression")
      return One.get(t.operator);
    if (e === "TSAsExpression" || e === "TSSatisfiesExpression")
      return One.get("in");
  }
  n(_ne, "getBinaryPrecedence");
  function xF(t) {
    return t === "TSAsExpression" || t === "TSSatisfiesExpression" || t === "TSTypeAssertion";
  }
  n(xF, "isTSTypeExpression");
  var PA = /* @__PURE__ */ n((t, e) => {
    let s = e.type;
    return (s === "ClassDeclaration" || s === "ClassExpression") && e.superClass === t;
  }, "isClassExtendsClause"), EA = /* @__PURE__ */ n((t, e) => {
    let s = e.type;
    return (s === "MemberExpression" || s === "OptionalMemberExpression") && e.object === t || (s === "CallExpression" || s === "OptionalCal\
lExpression" || s === "NewExpression") && e.callee === t || s === "TaggedTemplateExpression" && e.tag === t || s === "TSNonNullExpression";
  }, "hasPostfixPart");
  function Rkt(t, e) {
    return kkt(e);
  }
  n(Rkt, "NullableTypeAnnotation");
  function qkt(t, e, s) {
    let r = e.type;
    return r === "UnionTypeAnnotation" || r === "IntersectionTypeAnnotation" || r === "ArrayTypeAnnotation" || !!(s & Ha.TokenContext.arrowFlowReturnType);
  }
  n(qkt, "FunctionTypeAnnotation");
  function Ukt(t, e) {
    return EA(t, e) || PA(t, e);
  }
  n(Ukt, "UpdateExpression");
  function Bne(t) {
    return !!(t & (Ha.TokenContext.expressionStatement | Ha.TokenContext.arrowBody));
  }
  n(Bne, "needsParenBeforeExpressionBrace");
  function Kkt(t, e, s) {
    return Bne(s);
  }
  n(Kkt, "ObjectExpression");
  function Vkt(t, e, s) {
    return !t.async && !!(s & Ha.TokenContext.expressionStatement);
  }
  n(Vkt, "DoExpression");
  function Mne(t, e) {
    let s = e.type;
    if (t.type === "BinaryExpression" && t.operator === "**" && s === "BinaryExpression" && e.operator === "**")
      return e.left === t;
    if (PA(t, e) || EA(t, e) || s === "UnaryExpression" || s === "SpreadElement" || s === "AwaitExpression")
      return !0;
    let r = _ne(e, s);
    if (r != null) {
      let i = _ne(t, t.type);
      if (r === i && s === "BinaryExpression" && e.right === t || r > i)
        return !0;
    }
  }
  n(Mne, "Binary");
  function Wkt(t, e) {
    let s = e.type;
    return s === "ArrayTypeAnnotation" || s === "NullableTypeAnnotation" || s === "IntersectionTypeAnnotation" || s === "UnionTypeAnnotation";
  }
  n(Wkt, "UnionTypeAnnotation");
  function $kt(t, e) {
    return Lkt(e) && e.objectType === t;
  }
  n($kt, "OptionalIndexedAccessType");
  function Hkt(t, e) {
    return (e.type === "AssignmentExpression" || e.type === "AssignmentPattern") && e.left === t || e.type === "BinaryExpression" && (e.operator ===
    "|" || e.operator === "&") && t === e.left ? !0 : Mne(t, e);
  }
  n(Hkt, "TSAsExpression");
  function Jkt(t, e) {
    let s = e.type;
    return s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType" || s === "TSTypeOperator" || s ===
    "TSTypeParameter" || (s === "TSIntersectionType" || s === "TSUnionType") && e.types[0] === t || s === "TSConditionalType" && (e.checkType ===
    t || e.extendsType === t);
  }
  n(Jkt, "TSConditionalType");
  function Ykt(t, e) {
    let s = e.type;
    return s === "TSIntersectionType" || s === "TSTypeOperator" || s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t ||
    s === "TSOptionalType";
  }
  n(Ykt, "TSUnionType");
  function Xkt(t, e) {
    let s = e.type;
    return s === "TSTypeOperator" || s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType";
  }
  n(Xkt, "TSIntersectionType");
  function zkt(t, e) {
    let s = e.type;
    return !!(s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType" || t.typeParameter.constraint &&
    (s === "TSIntersectionType" || s === "TSUnionType") && e.types[0] === t);
  }
  n(zkt, "TSInferType");
  function Gkt(t, e) {
    let s = e.type;
    return s === "TSArrayType" || s === "TSIndexedAccessType" && e.objectType === t || s === "TSOptionalType";
  }
  n(Gkt, "TSTypeOperator");
  function Qkt(t, e) {
    let s = e.type;
    return (s === "CallExpression" || s === "OptionalCallExpression" || s === "NewExpression" || s === "TSInstantiationExpression") && !!e.typeParameters;
  }
  n(Qkt, "TSInstantiationExpression");
  function Zkt(t, e) {
    let s = e.type;
    return s === "TSIntersectionType" || s === "TSUnionType" || s === "TSTypeOperator" || s === "TSOptionalType" || s === "TSArrayType" || s ===
    "TSIndexedAccessType" && e.objectType === t || s === "TSConditionalType" && (e.checkType === t || e.extendsType === t);
  }
  n(Zkt, "TSFunctionType");
  function eDt(t, e, s, r) {
    return t.operator === "in" && r;
  }
  n(eDt, "BinaryExpression");
  function tDt(t, e) {
    let s = e.type;
    return s === "SequenceExpression" || s === "ParenthesizedExpression" || s === "MemberExpression" && e.property === t || s === "OptionalM\
emberExpression" && e.property === t || s === "TemplateLiteral" ? !1 : s === "ClassDeclaration" ? !0 : s === "ForOfStatement" ? e.right === t :
    s === "ExportDefaultDeclaration" ? !0 : !jkt(e);
  }
  n(tDt, "SequenceExpression");
  function sDt(t, e) {
    let s = e.type;
    return s === "BinaryExpression" || s === "LogicalExpression" || s === "UnaryExpression" || s === "SpreadElement" || EA(t, e) || s === "A\
waitExpression" && Fkt(t) || s === "ConditionalExpression" && t === e.test || PA(t, e) || xF(s);
  }
  n(sDt, "YieldExpression");
  function rDt(t, e, s) {
    return !!(s & (Ha.TokenContext.expressionStatement | Ha.TokenContext.exportDefault));
  }
  n(rDt, "ClassExpression");
  function Fne(t, e) {
    return EA(t, e) || Dkt(e) && e.operator === "**" && e.left === t || PA(t, e);
  }
  n(Fne, "UnaryLike");
  function iDt(t, e, s) {
    return !!(s & (Ha.TokenContext.expressionStatement | Ha.TokenContext.exportDefault));
  }
  n(iDt, "FunctionExpression");
  function jne(t, e) {
    let s = e.type;
    return s === "UnaryExpression" || s === "SpreadElement" || s === "BinaryExpression" || s === "LogicalExpression" || s === "ConditionalEx\
pression" && e.test === t || s === "AwaitExpression" || xF(s) ? !0 : Fne(t, e);
  }
  n(jne, "ConditionalExpression");
  function nDt(t, e) {
    return Okt(e) && e.callee === t || Lne(e) && e.object === t;
  }
  n(nDt, "OptionalMemberExpression");
  function aDt(t, e, s) {
    return Bne(s) && Bkt(t.left) ? !0 : jne(t, e);
  }
  n(aDt, "AssignmentExpression");
  function oDt(t, e) {
    let s = e.type;
    if (xF(s)) return !0;
    if (s !== "LogicalExpression") return !1;
    switch (t.operator) {
      case "||":
        return e.operator === "??" || e.operator === "&&";
      case "&&":
        return e.operator === "??";
      case "??":
        return e.operator !== "??";
    }
  }
  n(oDt, "LogicalExpression");
  function lDt(t, e, s, r, i) {
    var a;
    let o = e.type;
    if ((a = t.extra) != null && a.parenthesized && o === "AssignmentExpression" && e.left === t) {
      let l = e.right.type;
      if ((l === "FunctionExpression" || l === "ClassExpression") && e.right.id == null)
        return !0;
    }
    return i && i(t) !== t.name ? !1 : t.name === "let" ? (Lne(e, {
      object: t,
      computed: !0
    }) || Mkt(e, {
      object: t,
      computed: !0,
      optional: !1
    })) && s & (Ha.TokenContext.expressionStatement | Ha.TokenContext.forHead | Ha.TokenContext.forInHead) ? !0 : !!(s & Ha.TokenContext.forOfHead) :
    t.name === "async" && _kt(e, {
      left: t,
      await: !1
    });
  }
  n(lDt, "Identifier");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/node/index.js
var bp = g((Ku) => {
  "use strict";
  Object.defineProperty(Ku, "__esModule", {
    value: !0
  });
  Ku.TokenContext = void 0;
  Ku.isLastChild = ADt;
  Ku.needsParens = EDt;
  Ku.needsWhitespace = PF;
  Ku.needsWhitespaceAfter = PDt;
  Ku.needsWhitespaceBefore = SDt;
  var uDt = Dne(), cDt = Rne(), pDt = fe(), {
    FLIPPED_ALIAS_KEYS: hDt,
    VISITOR_KEYS: fDt,
    isCallExpression: qne,
    isDecorator: dDt,
    isExpressionStatement: mDt,
    isMemberExpression: yDt,
    isNewExpression: gDt,
    isParenthesizedExpression: TDt
  } = pDt, rXs = Ku.TokenContext = {
    expressionStatement: 1,
    arrowBody: 2,
    exportDefault: 4,
    forHead: 8,
    forInHead: 16,
    forOfHead: 32,
    arrowFlowReturnType: 64
  };
  function Une(t) {
    let e = /* @__PURE__ */ new Map();
    function s(r, i) {
      let a = e.get(r);
      e.set(r, a ? function(o, l, u, c, p) {
        var h;
        return (h = a(o, l, u, c, p)) != null ? h : i(o, l, u, c, p);
      } : i);
    }
    n(s, "add");
    for (let r of Object.keys(t)) {
      let i = hDt[r];
      if (i)
        for (let a of i)
          s(a, t[r]);
      else
        s(r, t[r]);
    }
    return e;
  }
  n(Une, "expandAliases");
  var bDt = Une(cDt), xDt = Une(uDt.nodes);
  function Kne(t) {
    return qne(t) ? !0 : yDt(t) && Kne(t.object);
  }
  n(Kne, "isOrHasCallExpression");
  function PF(t, e, s) {
    var r;
    if (!t) return !1;
    mDt(t) && (t = t.expression);
    let i = (r = xDt.get(t.type)) == null ? void 0 : r(t, e);
    return typeof i == "number" ? (i & s) !== 0 : !1;
  }
  n(PF, "needsWhitespace");
  function SDt(t, e) {
    return PF(t, e, 1);
  }
  n(SDt, "needsWhitespaceBefore");
  function PDt(t, e) {
    return PF(t, e, 2);
  }
  n(PDt, "needsWhitespaceAfter");
  function EDt(t, e, s, r, i) {
    var a;
    return e ? gDt(e) && e.callee === t && Kne(t) ? !0 : dDt(e) ? !SF(t) && !(qne(t) && SF(t.callee)) && !TDt(t) : (a = bDt.get(t.type)) == null ?
    void 0 : a(t, e, s, r, i) : !1;
  }
  n(EDt, "needsParens");
  function SF(t) {
    switch (t.type) {
      case "Identifier":
        return !0;
      case "MemberExpression":
        return !t.computed && t.property.type === "Identifier" && SF(t.object);
      default:
        return !1;
    }
  }
  n(SF, "isDecoratorMemberExpression");
  function ADt(t, e) {
    let s = fDt[t.type];
    for (let r = s.length - 1; r >= 0; r--) {
      let i = t[s[r]];
      if (i === e)
        return !0;
      if (Array.isArray(i)) {
        let a = i.length - 1;
        for (; a >= 0 && i[a] === null; ) a--;
        return a >= 0 && i[a] === e;
      } else if (i)
        return !1;
    }
    return !1;
  }
  n(ADt, "isLastChild");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/token-map.js
var Vne = g((AA) => {
  "use strict";
  Object.defineProperty(AA, "__esModule", {
    value: !0
  });
  AA.TokenMap = void 0;
  var vDt = fe(), {
    traverseFast: CDt,
    VISITOR_KEYS: wDt
  } = vDt, EF = class {
    static {
      n(this, "TokenMap");
    }
    constructor(e, s, r) {
      this._tokens = void 0, this._source = void 0, this._nodesToTokenIndexes = /* @__PURE__ */ new Map(), this._nodesOccurrencesCountCache =
      /* @__PURE__ */ new Map(), this._tokensCache = /* @__PURE__ */ new Map(), this._tokens = s, this._source = r, CDt(e, (i) => {
        let a = this._getTokensIndexesOfNode(i);
        a.length > 0 && this._nodesToTokenIndexes.set(i, a);
      }), this._tokensCache = null;
    }
    has(e) {
      return this._nodesToTokenIndexes.has(e);
    }
    getIndexes(e) {
      return this._nodesToTokenIndexes.get(e);
    }
    find(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (r)
        for (let i = 0; i < r.length; i++) {
          let a = r[i], o = this._tokens[a];
          if (s(o, a)) return o;
        }
      return null;
    }
    findLastIndex(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (r)
        for (let i = r.length - 1; i >= 0; i--) {
          let a = r[i], o = this._tokens[a];
          if (s(o, a)) return a;
        }
      return -1;
    }
    findMatching(e, s, r = 0) {
      let i = this._nodesToTokenIndexes.get(e);
      if (i) {
        let a = 0, o = r;
        if (o > 1) {
          let l = this._nodesOccurrencesCountCache.get(e);
          l && l.test === s && l.count < o && (a = l.i + 1, r -= l.count + 1);
        }
        for (; a < i.length; a++) {
          let l = this._tokens[i[a]];
          if (this.matchesOriginal(l, s)) {
            if (r === 0)
              return o > 0 && this._nodesOccurrencesCountCache.set(e, {
                test: s,
                count: o,
                i: a
              }), l;
            r--;
          }
        }
      }
      return null;
    }
    matchesOriginal(e, s) {
      return e.end - e.start !== s.length ? !1 : e.value != null ? e.value === s : this._source.startsWith(s, e.start);
    }
    startMatches(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (!r) return !1;
      let i = this._tokens[r[0]];
      return i.start !== e.start ? !1 : this.matchesOriginal(i, s);
    }
    endMatches(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (!r) return !1;
      let i = this._tokens[r[r.length - 1]];
      return i.end !== e.end ? !1 : this.matchesOriginal(i, s);
    }
    _getTokensIndexesOfNode(e) {
      if (e.start == null || e.end == null) return [];
      let {
        first: s,
        last: r
      } = this._findTokensOfNode(e, 0, this._tokens.length - 1), i = s, a = IDt(e);
      (e.type === "ExportNamedDeclaration" || e.type === "ExportDefaultDeclaration") && e.declaration && e.declaration.type === "ClassDeclar\
ation" && a.next();
      let o = [];
      for (let l of a) {
        if (l == null || l.start == null || l.end == null) continue;
        let u = this._findTokensOfNode(l, i, r), c = u.first;
        for (let p = i; p < c; p++) o.push(p);
        i = u.last + 1;
      }
      for (let l = i; l <= r; l++) o.push(l);
      return o;
    }
    _findTokensOfNode(e, s, r) {
      let i = this._tokensCache.get(e);
      if (i) return i;
      let a = this._findFirstTokenOfNode(e.start, s, r), o = this._findLastTokenOfNode(e.end, a, r);
      return this._tokensCache.set(e, {
        first: a,
        last: o
      }), {
        first: a,
        last: o
      };
    }
    _findFirstTokenOfNode(e, s, r) {
      for (; s <= r; ) {
        let i = r + s >> 1;
        if (e < this._tokens[i].start)
          r = i - 1;
        else if (e > this._tokens[i].start)
          s = i + 1;
        else
          return i;
      }
      return s;
    }
    _findLastTokenOfNode(e, s, r) {
      for (; s <= r; ) {
        let i = r + s >> 1;
        if (e < this._tokens[i].end)
          r = i - 1;
        else if (e > this._tokens[i].end)
          s = i + 1;
        else
          return i;
      }
      return r;
    }
  };
  AA.TokenMap = EF;
  function* IDt(t) {
    if (t.type === "TemplateLiteral") {
      yield t.quasis[0];
      for (let s = 1; s < t.quasis.length; s++)
        yield t.expressions[s - 1], yield t.quasis[s];
      return;
    }
    let e = wDt[t.type];
    for (let s of e) {
      let r = t[s];
      r && (Array.isArray(r) ? yield* r : yield r);
    }
  }
  n(IDt, "childrenIterator");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/generators/template-literals.js
var Wne = g((Bm) => {
  "use strict";
  Object.defineProperty(Bm, "__esModule", {
    value: !0
  });
  Bm.TaggedTemplateExpression = NDt;
  Bm.TemplateElement = kDt;
  Bm.TemplateLiteral = ODt;
  Bm._printTemplate = DDt;
  function NDt(t) {
    this.print(t.tag), this.print(t.typeParameters), this.print(t.quasi);
  }
  n(NDt, "TaggedTemplateExpression");
  function kDt() {
    throw new Error("TemplateElement printing is handled in TemplateLiteral");
  }
  n(kDt, "TemplateElement");
  function DDt(t, e) {
    let s = t.quasis, r = "`";
    for (let i = 0; i < s.length - 1; i++)
      if (r += s[i].value.raw, this.token(r + "${", !0), this.print(e[i]), r = "}", this.tokenMap) {
        let a = this.tokenMap.findMatching(t, "}", i);
        a && this._catchUpTo(a.loc.start);
      }
    r += s[s.length - 1].value.raw, this.token(r + "`", !0);
  }
  n(DDt, "_printTemplate");
  function ODt(t) {
    this._printTemplate(t, t.expressions);
  }
  n(ODt, "TemplateLiteral");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/generators/expressions.js
var Hne = g((pr) => {
  "use strict";
  Object.defineProperty(pr, "__esModule", {
    value: !0
  });
  pr.LogicalExpression = pr.BinaryExpression = pr.AssignmentExpression = iOt;
  pr.AssignmentPattern = rOt;
  pr.AwaitExpression = ZDt;
  pr.BindExpression = nOt;
  pr.CallExpression = GDt;
  pr.ConditionalExpression = KDt;
  pr.Decorator = YDt;
  pr.DoExpression = RDt;
  pr.EmptyStatement = tOt;
  pr.ExpressionStatement = sOt;
  pr.Import = QDt;
  pr.MemberExpression = aOt;
  pr.MetaProperty = oOt;
  pr.ModuleExpression = cOt;
  pr.NewExpression = VDt;
  pr.OptionalCallExpression = zDt;
  pr.OptionalMemberExpression = XDt;
  pr.ParenthesizedExpression = qDt;
  pr.PrivateName = lOt;
  pr.SequenceExpression = WDt;
  pr.Super = HDt;
  pr.ThisExpression = $Dt;
  pr.UnaryExpression = jDt;
  pr.UpdateExpression = UDt;
  pr.V8IntrinsicIdentifier = uOt;
  pr.YieldExpression = eOt;
  pr._shouldPrintDecoratorsBeforeExport = JDt;
  var _Dt = fe(), LDt = bp(), {
    isCallExpression: BDt,
    isLiteral: $ne,
    isMemberExpression: AF,
    isNewExpression: MDt,
    isPattern: FDt
  } = _Dt;
  function jDt(t) {
    let {
      operator: e
    } = t;
    e === "void" || e === "delete" || e === "typeof" || e === "throw" ? (this.word(e), this.space()) : this.token(e), this.print(t.argument);
  }
  n(jDt, "UnaryExpression");
  function RDt(t) {
    t.async && (this.word("async", !0), this.space()), this.word("do"), this.space(), this.print(t.body);
  }
  n(RDt, "DoExpression");
  function qDt(t) {
    this.tokenChar(40);
    let e = this.enterDelimited();
    this.print(t.expression), e(), this.rightParens(t);
  }
  n(qDt, "ParenthesizedExpression");
  function UDt(t) {
    t.prefix ? (this.token(t.operator), this.print(t.argument)) : (this.print(t.argument, !0), this.token(t.operator));
  }
  n(UDt, "UpdateExpression");
  function KDt(t) {
    this.print(t.test), this.space(), this.tokenChar(63), this.space(), this.print(t.consequent), this.space(), this.tokenChar(58), this.space(),
    this.print(t.alternate);
  }
  n(KDt, "ConditionalExpression");
  function VDt(t, e) {
    if (this.word("new"), this.space(), this.print(t.callee), this.format.minified && t.arguments.length === 0 && !t.optional && !BDt(e, {
      callee: t
    }) && !AF(e) && !MDt(e) || (this.print(t.typeArguments), this.print(t.typeParameters), t.optional && this.token("?."), t.arguments.length ===
    0 && this.tokenMap && !this.tokenMap.endMatches(t, ")")))
      return;
    this.tokenChar(40);
    let s = this.enterDelimited();
    this.printList(t.arguments, this.shouldPrintTrailingComma(")")), s(), this.rightParens(t);
  }
  n(VDt, "NewExpression");
  function WDt(t) {
    this.printList(t.expressions);
  }
  n(WDt, "SequenceExpression");
  function $Dt() {
    this.word("this");
  }
  n($Dt, "ThisExpression");
  function HDt() {
    this.word("super");
  }
  n(HDt, "Super");
  function JDt(t) {
    return typeof this.format.decoratorsBeforeExport == "boolean" ? this.format.decoratorsBeforeExport : typeof t.start == "number" && t.start ===
    t.declaration.start;
  }
  n(JDt, "_shouldPrintDecoratorsBeforeExport");
  function YDt(t) {
    this.tokenChar(64), this.print(t.expression), this.newline();
  }
  n(YDt, "Decorator");
  function XDt(t) {
    let {
      computed: e
    } = t, {
      optional: s,
      property: r
    } = t;
    if (this.print(t.object), !e && AF(r))
      throw new TypeError("Got a MemberExpression for MemberExpression property");
    $ne(r) && typeof r.value == "number" && (e = !0), s && this.token("?."), e ? (this.tokenChar(91), this.print(r), this.tokenChar(93)) : (s ||
    this.tokenChar(46), this.print(r));
  }
  n(XDt, "OptionalMemberExpression");
  function zDt(t) {
    this.print(t.callee), this.print(t.typeParameters), t.optional && this.token("?."), this.print(t.typeArguments), this.tokenChar(40);
    let e = this.enterDelimited();
    this.printList(t.arguments), e(), this.rightParens(t);
  }
  n(zDt, "OptionalCallExpression");
  function GDt(t) {
    this.print(t.callee), this.print(t.typeArguments), this.print(t.typeParameters), this.tokenChar(40);
    let e = this.enterDelimited();
    this.printList(t.arguments, this.shouldPrintTrailingComma(")")), e(), this.rightParens(t);
  }
  n(GDt, "CallExpression");
  function QDt() {
    this.word("import");
  }
  n(QDt, "Import");
  function ZDt(t) {
    this.word("await"), t.argument && (this.space(), this.printTerminatorless(t.argument));
  }
  n(ZDt, "AwaitExpression");
  function eOt(t) {
    this.word("yield", !0), t.delegate ? (this.tokenChar(42), t.argument && (this.space(), this.print(t.argument))) : t.argument && (this.space(),
    this.printTerminatorless(t.argument));
  }
  n(eOt, "YieldExpression");
  function tOt() {
    this.semicolon(!0);
  }
  n(tOt, "EmptyStatement");
  function sOt(t) {
    this.tokenContext |= LDt.TokenContext.expressionStatement, this.print(t.expression), this.semicolon();
  }
  n(sOt, "ExpressionStatement");
  function rOt(t) {
    this.print(t.left), (t.left.type === "Identifier" || FDt(t.left)) && (t.left.optional && this.tokenChar(63), this.print(t.left.typeAnnotation)),
    this.space(), this.tokenChar(61), this.space(), this.print(t.right);
  }
  n(rOt, "AssignmentPattern");
  function iOt(t) {
    this.print(t.left), this.space(), t.operator === "in" || t.operator === "instanceof" ? this.word(t.operator) : (this.token(t.operator), this.
    _endsWithDiv = t.operator === "/"), this.space(), this.print(t.right);
  }
  n(iOt, "AssignmentExpression");
  function nOt(t) {
    this.print(t.object), this.token("::"), this.print(t.callee);
  }
  n(nOt, "BindExpression");
  function aOt(t) {
    if (this.print(t.object), !t.computed && AF(t.property))
      throw new TypeError("Got a MemberExpression for MemberExpression property");
    let e = t.computed;
    if ($ne(t.property) && typeof t.property.value == "number" && (e = !0), e) {
      let s = this.enterDelimited();
      this.tokenChar(91), this.print(t.property), this.tokenChar(93), s();
    } else
      this.tokenChar(46), this.print(t.property);
  }
  n(aOt, "MemberExpression");
  function oOt(t) {
    this.print(t.meta), this.tokenChar(46), this.print(t.property);
  }
  n(oOt, "MetaProperty");
  function lOt(t) {
    this.tokenChar(35), this.print(t.id);
  }
  n(lOt, "PrivateName");
  function uOt(t) {
    this.tokenChar(37), this.word(t.name);
  }
  n(uOt, "V8IntrinsicIdentifier");
  function cOt(t) {
    this.word("module", !0), this.space(), this.tokenChar(123), this.indent();
    let {
      body: e
    } = t;
    (e.body.length || e.directives.length) && this.newline(), this.print(e), this.dedent(), this.rightBrace(t);
  }
  n(cOt, "ModuleExpression");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/generators/statements.js
var zne = g((zr) => {
  "use strict";
  Object.defineProperty(zr, "__esModule", {
    value: !0
  });
  zr.BreakStatement = xOt;
  zr.CatchClause = COt;
  zr.ContinueStatement = SOt;
  zr.DebuggerStatement = NOt;
  zr.DoWhileStatement = bOt;
  zr.ForOfStatement = zr.ForInStatement = void 0;
  zr.ForStatement = gOt;
  zr.IfStatement = yOt;
  zr.LabeledStatement = AOt;
  zr.ReturnStatement = POt;
  zr.SwitchCase = IOt;
  zr.SwitchStatement = wOt;
  zr.ThrowStatement = EOt;
  zr.TryStatement = vOt;
  zr.VariableDeclaration = kOt;
  zr.VariableDeclarator = DOt;
  zr.WhileStatement = TOt;
  zr.WithStatement = mOt;
  var pOt = fe(), vF = bp(), {
    isFor: Jne,
    isForStatement: hOt,
    isIfStatement: fOt,
    isStatement: dOt
  } = pOt;
  function mOt(t) {
    this.word("with"), this.space(), this.tokenChar(40), this.print(t.object), this.tokenChar(41), this.printBlock(t);
  }
  n(mOt, "WithStatement");
  function yOt(t) {
    this.word("if"), this.space(), this.tokenChar(40), this.print(t.test), this.tokenChar(41), this.space();
    let e = t.alternate && fOt(Yne(t.consequent));
    e && (this.tokenChar(123), this.newline(), this.indent()), this.printAndIndentOnComments(t.consequent), e && (this.dedent(), this.newline(),
    this.tokenChar(125)), t.alternate && (this.endsWith(125) && this.space(), this.word("else"), this.space(), this.printAndIndentOnComments(
    t.alternate));
  }
  n(yOt, "IfStatement");
  function Yne(t) {
    let {
      body: e
    } = t;
    return dOt(e) === !1 ? t : Yne(e);
  }
  n(Yne, "getLastStatement");
  function gOt(t) {
    this.word("for"), this.space(), this.tokenChar(40);
    {
      let e = this.enterForStatementInit();
      this.tokenContext |= vF.TokenContext.forHead, this.print(t.init), e();
    }
    this.tokenChar(59), t.test && (this.space(), this.print(t.test)), this.token(";", !1, 1), t.update && (this.space(), this.print(t.update)),
    this.tokenChar(41), this.printBlock(t);
  }
  n(gOt, "ForStatement");
  function TOt(t) {
    this.word("while"), this.space(), this.tokenChar(40), this.print(t.test), this.tokenChar(41), this.printBlock(t);
  }
  n(TOt, "WhileStatement");
  function Xne(t) {
    this.word("for"), this.space();
    let e = t.type === "ForOfStatement";
    e && t.await && (this.word("await"), this.space()), this.noIndentInnerCommentsHere(), this.tokenChar(40);
    {
      let s = e ? null : this.enterForStatementInit();
      this.tokenContext |= e ? vF.TokenContext.forOfHead : vF.TokenContext.forInHead, this.print(t.left), s?.();
    }
    this.space(), this.word(e ? "of" : "in"), this.space(), this.print(t.right), this.tokenChar(41), this.printBlock(t);
  }
  n(Xne, "ForXStatement");
  var hXs = zr.ForInStatement = Xne, fXs = zr.ForOfStatement = Xne;
  function bOt(t) {
    this.word("do"), this.space(), this.print(t.body), this.space(), this.word("while"), this.space(), this.tokenChar(40), this.print(t.test),
    this.tokenChar(41), this.semicolon();
  }
  n(bOt, "DoWhileStatement");
  function vA(t, e) {
    e && (t.space(), t.printTerminatorless(e)), t.semicolon();
  }
  n(vA, "printStatementAfterKeyword");
  function xOt(t) {
    this.word("break"), vA(this, t.label);
  }
  n(xOt, "BreakStatement");
  function SOt(t) {
    this.word("continue"), vA(this, t.label);
  }
  n(SOt, "ContinueStatement");
  function POt(t) {
    this.word("return"), vA(this, t.argument);
  }
  n(POt, "ReturnStatement");
  function EOt(t) {
    this.word("throw"), vA(this, t.argument);
  }
  n(EOt, "ThrowStatement");
  function AOt(t) {
    this.print(t.label), this.tokenChar(58), this.space(), this.print(t.body);
  }
  n(AOt, "LabeledStatement");
  function vOt(t) {
    this.word("try"), this.space(), this.print(t.block), this.space(), t.handlers ? this.print(t.handlers[0]) : this.print(t.handler), t.finalizer &&
    (this.space(), this.word("finally"), this.space(), this.print(t.finalizer));
  }
  n(vOt, "TryStatement");
  function COt(t) {
    this.word("catch"), this.space(), t.param && (this.tokenChar(40), this.print(t.param), this.print(t.param.typeAnnotation), this.tokenChar(
    41), this.space()), this.print(t.body);
  }
  n(COt, "CatchClause");
  function wOt(t) {
    this.word("switch"), this.space(), this.tokenChar(40), this.print(t.discriminant), this.tokenChar(41), this.space(), this.tokenChar(123),
    this.printSequence(t.cases, !0, void 0, /* @__PURE__ */ n(function(s, r) {
      if (!s && t.cases[t.cases.length - 1] === r) return -1;
    }, "addNewlines")), this.rightBrace(t);
  }
  n(wOt, "SwitchStatement");
  function IOt(t) {
    t.test ? (this.word("case"), this.space(), this.print(t.test), this.tokenChar(58)) : (this.word("default"), this.tokenChar(58)), t.consequent.
    length && (this.newline(), this.printSequence(t.consequent, !0));
  }
  n(IOt, "SwitchCase");
  function NOt() {
    this.word("debugger"), this.semicolon();
  }
  n(NOt, "DebuggerStatement");
  function kOt(t, e) {
    t.declare && (this.word("declare"), this.space());
    let {
      kind: s
    } = t;
    s === "await using" ? (this.word("await"), this.space(), this.word("using", !0)) : this.word(s, s === "using"), this.space();
    let r = !1;
    if (!Jne(e))
      for (let i of t.declarations)
        i.init && (r = !0);
    if (this.printList(t.declarations, void 0, void 0, t.declarations.length > 1, r ? function(i) {
      this.token(",", !1, i), this.newline();
    } : void 0), Jne(e)) {
      if (hOt(e)) {
        if (e.init === t) return;
      } else if (e.left === t) return;
    }
    this.semicolon();
  }
  n(kOt, "VariableDeclaration");
  function DOt(t) {
    this.print(t.id), t.definite && this.tokenChar(33), this.print(t.id.typeAnnotation), t.init && (this.space(), this.tokenChar(61), this.space(),
    this.print(t.init));
  }
  n(DOt, "VariableDeclarator");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/generators/classes.js
var Gne = g((Ja) => {
  "use strict";
  Object.defineProperty(Ja, "__esModule", {
    value: !0
  });
  Ja.ClassAccessorProperty = ROt;
  Ja.ClassBody = MOt;
  Ja.ClassExpression = Ja.ClassDeclaration = BOt;
  Ja.ClassMethod = UOt;
  Ja.ClassPrivateMethod = KOt;
  Ja.ClassPrivateProperty = qOt;
  Ja.ClassProperty = jOt;
  Ja.StaticBlock = WOt;
  Ja._classMethodHead = VOt;
  var OOt = fe(), {
    isExportDefaultDeclaration: _Ot,
    isExportNamedDeclaration: LOt
  } = OOt;
  function BOt(t, e) {
    (!(_Ot(e) || LOt(e)) || !this._shouldPrintDecoratorsBeforeExport(e)) && this.printJoin(t.decorators), t.declare && (this.word("declare"),
    this.space()), t.abstract && (this.word("abstract"), this.space()), this.word("class"), t.id && (this.space(), this.print(t.id)), this.print(
    t.typeParameters), t.superClass && (this.space(), this.word("extends"), this.space(), this.print(t.superClass), this.print(t.superTypeParameters)),
    t.implements && (this.space(), this.word("implements"), this.space(), this.printList(t.implements)), this.space(), this.print(t.body);
  }
  n(BOt, "ClassDeclaration");
  function MOt(t) {
    if (this.tokenChar(123), t.body.length === 0)
      this.tokenChar(125);
    else {
      this.newline();
      let e = FOt(this, t);
      e?.(-1);
      let s = this.enterDelimited();
      this.printJoin(t.body, !0, !0, e, !0), s(), this.endsWith(10) || this.newline(), this.rightBrace(t);
    }
  }
  n(MOt, "ClassBody");
  function FOt(t, e) {
    if (!t.tokenMap || e.start == null || e.end == null)
      return null;
    let s = t.tokenMap.getIndexes(e);
    if (!s) return null;
    let r = 1, i = 0, a = 0, o = /* @__PURE__ */ n(() => {
      for (; a < e.body.length && e.body[a].start == null; )
        a++;
    }, "advanceNextLocIndex");
    return o(), (l) => {
      a <= l && (a = l + 1, o());
      let u = a === e.body.length ? e.end : e.body[a].start, c;
      for (; r < s.length && t.tokenMap.matchesOriginal(c = t._tokens[s[r]], ";") && c.start < u; )
        t.token(";", void 0, i++), r++;
    };
  }
  n(FOt, "classBodyEmptySemicolonsPrinter");
  function jOt(t) {
    if (this.printJoin(t.decorators), !t.static && !this.format.preserveFormat) {
      var e;
      let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
      s && this.catchUp(s);
    }
    this.tsPrintClassMemberModifiers(t), t.computed ? (this.tokenChar(91), this.print(t.key), this.tokenChar(93)) : (this._variance(t), this.
    print(t.key)), t.optional && this.tokenChar(63), t.definite && this.tokenChar(33), this.print(t.typeAnnotation), t.value && (this.space(),
    this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(jOt, "ClassProperty");
  function ROt(t) {
    var e;
    this.printJoin(t.decorators);
    let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
    s && this.catchUp(s), this.tsPrintClassMemberModifiers(t), this.word("accessor", !0), this.space(), t.computed ? (this.tokenChar(91), this.
    print(t.key), this.tokenChar(93)) : (this._variance(t), this.print(t.key)), t.optional && this.tokenChar(63), t.definite && this.tokenChar(
    33), this.print(t.typeAnnotation), t.value && (this.space(), this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(ROt, "ClassAccessorProperty");
  function qOt(t) {
    this.printJoin(t.decorators), this.tsPrintClassMemberModifiers(t), this.print(t.key), t.optional && this.tokenChar(63), t.definite && this.
    tokenChar(33), this.print(t.typeAnnotation), t.value && (this.space(), this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(qOt, "ClassPrivateProperty");
  function UOt(t) {
    this._classMethodHead(t), this.space(), this.print(t.body);
  }
  n(UOt, "ClassMethod");
  function KOt(t) {
    this._classMethodHead(t), this.space(), this.print(t.body);
  }
  n(KOt, "ClassPrivateMethod");
  function VOt(t) {
    if (this.printJoin(t.decorators), !this.format.preserveFormat) {
      var e;
      let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
      s && this.catchUp(s);
    }
    this.tsPrintClassMemberModifiers(t), this._methodHead(t);
  }
  n(VOt, "_classMethodHead");
  function WOt(t) {
    this.word("static"), this.space(), this.tokenChar(123), t.body.length === 0 ? this.tokenChar(125) : (this.newline(), this.printSequence(
    t.body, !0), this.rightBrace(t));
  }
  n(WOt, "StaticBlock");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/generators/methods.js
var Qne = g((Ya) => {
  "use strict";
  Object.defineProperty(Ya, "__esModule", {
    value: !0
  });
  Ya.ArrowFunctionExpression = t2t;
  Ya.FunctionDeclaration = Ya.FunctionExpression = e2t;
  Ya._functionHead = ZOt;
  Ya._methodHead = GOt;
  Ya._param = zOt;
  Ya._parameters = XOt;
  Ya._params = YOt;
  Ya._predicate = QOt;
  Ya._shouldPrintArrowParamsParens = s2t;
  var $Ot = fe(), HOt = bp(), {
    isIdentifier: JOt
  } = $Ot;
  function YOt(t, e, s) {
    this.print(t.typeParameters);
    let r = r2t.call(this, e, s);
    r && this.sourceIdentifierName(r.name, r.pos), this.tokenChar(40), this._parameters(t.params, ")");
    let i = t.type === "ArrowFunctionExpression";
    this.print(t.returnType, i), this._noLineTerminator = i;
  }
  n(YOt, "_params");
  function XOt(t, e) {
    let s = this.enterDelimited(), r = this.shouldPrintTrailingComma(e), i = t.length;
    for (let a = 0; a < i; a++)
      this._param(t[a]), (r || a < i - 1) && (this.token(",", null, a), this.space());
    this.token(e), s();
  }
  n(XOt, "_parameters");
  function zOt(t) {
    this.printJoin(t.decorators), this.print(t), t.optional && this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(zOt, "_param");
  function GOt(t) {
    let e = t.kind, s = t.key;
    (e === "get" || e === "set") && (this.word(e), this.space()), t.async && (this.word("async", !0), this.space()), (e === "method" || e ===
    "init") && t.generator && this.tokenChar(42), t.computed ? (this.tokenChar(91), this.print(s), this.tokenChar(93)) : this.print(s), t.optional &&
    this.tokenChar(63), this._params(t, t.computed && t.key.type !== "StringLiteral" ? void 0 : t.key, void 0);
  }
  n(GOt, "_methodHead");
  function QOt(t, e) {
    t.predicate && (t.returnType || this.tokenChar(58), this.space(), this.print(t.predicate, e));
  }
  n(QOt, "_predicate");
  function ZOt(t, e) {
    t.async && (this.word("async"), this.format.preserveFormat || (this._endsWithInnerRaw = !1), this.space()), this.word("function"), t.generator &&
    (this.format.preserveFormat || (this._endsWithInnerRaw = !1), this.tokenChar(42)), this.space(), t.id && this.print(t.id), this._params(
    t, t.id, e), t.type !== "TSDeclareFunction" && this._predicate(t);
  }
  n(ZOt, "_functionHead");
  function e2t(t, e) {
    this._functionHead(t, e), this.space(), this.print(t.body);
  }
  n(e2t, "FunctionExpression");
  function t2t(t, e) {
    t.async && (this.word("async", !0), this.space()), this._shouldPrintArrowParamsParens(t) ? this._params(t, void 0, e) : this.print(t.params[0],
    !0), this._predicate(t, !0), this.space(), this.printInnerComments(), this.token("=>"), this.space(), this.tokenContext |= HOt.TokenContext.
    arrowBody, this.print(t.body);
  }
  n(t2t, "ArrowFunctionExpression");
  function s2t(t) {
    var e, s;
    if (t.params.length !== 1 || t.typeParameters || t.returnType || t.predicate)
      return !0;
    let r = t.params[0];
    if (!JOt(r) || r.typeAnnotation || r.optional || (e = r.leadingComments) != null && e.length || (s = r.trailingComments) != null && s.length)
      return !0;
    if (this.tokenMap) {
      if (t.loc == null || this.tokenMap.findMatching(t, "(") !== null) return !0;
      let i = this.tokenMap.findMatching(t, "=>");
      return i?.loc == null ? !0 : i.loc.start.line !== t.loc.start.line;
    }
    return !!this.format.retainLines;
  }
  n(s2t, "_shouldPrintArrowParamsParens");
  function r2t(t, e) {
    let s = t;
    if (!s && e) {
      let u = e.type;
      u === "VariableDeclarator" ? s = e.id : u === "AssignmentExpression" || u === "AssignmentPattern" ? s = e.left : u === "ObjectProperty" ||
      u === "ClassProperty" ? (!e.computed || e.key.type === "StringLiteral") && (s = e.key) : (u === "ClassPrivateProperty" || u === "Class\
AccessorProperty") && (s = e.key);
    }
    if (!s) return;
    let r;
    if (s.type === "Identifier") {
      var i, a;
      r = {
        pos: (i = s.loc) == null ? void 0 : i.start,
        name: ((a = s.loc) == null ? void 0 : a.identifierName) || s.name
      };
    } else if (s.type === "PrivateName") {
      var o;
      r = {
        pos: (o = s.loc) == null ? void 0 : o.start,
        name: "#" + s.id.name
      };
    } else if (s.type === "StringLiteral") {
      var l;
      r = {
        pos: (l = s.loc) == null ? void 0 : l.start,
        name: s.value
      };
    }
    return r;
  }
  n(r2t, "_getFuncIdName");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/generators/modules.js
var CF = g((Ln) => {
  "use strict";
  Object.defineProperty(Ln, "__esModule", {
    value: !0
  });
  Ln.ExportAllDeclaration = g2t;
  Ln.ExportDefaultDeclaration = b2t;
  Ln.ExportDefaultSpecifier = f2t;
  Ln.ExportNamedDeclaration = T2t;
  Ln.ExportNamespaceSpecifier = m2t;
  Ln.ExportSpecifier = d2t;
  Ln.ImportAttribute = S2t;
  Ln.ImportDeclaration = x2t;
  Ln.ImportDefaultSpecifier = h2t;
  Ln.ImportExpression = E2t;
  Ln.ImportNamespaceSpecifier = P2t;
  Ln.ImportSpecifier = p2t;
  Ln._printAttributes = y2t;
  var i2t = fe(), n2t = bp(), {
    isClassDeclaration: a2t,
    isExportDefaultSpecifier: o2t,
    isExportNamespaceSpecifier: l2t,
    isImportDefaultSpecifier: u2t,
    isImportNamespaceSpecifier: c2t,
    isStatement: eae
  } = i2t;
  function p2t(t) {
    (t.importKind === "type" || t.importKind === "typeof") && (this.word(t.importKind), this.space()), this.print(t.imported), t.local && t.
    local.name !== t.imported.name && (this.space(), this.word("as"), this.space(), this.print(t.local));
  }
  n(p2t, "ImportSpecifier");
  function h2t(t) {
    this.print(t.local);
  }
  n(h2t, "ImportDefaultSpecifier");
  function f2t(t) {
    this.print(t.exported);
  }
  n(f2t, "ExportDefaultSpecifier");
  function d2t(t) {
    t.exportKind === "type" && (this.word("type"), this.space()), this.print(t.local), t.exported && t.local.name !== t.exported.name && (this.
    space(), this.word("as"), this.space(), this.print(t.exported));
  }
  n(d2t, "ExportSpecifier");
  function m2t(t) {
    this.tokenChar(42), this.space(), this.word("as"), this.space(), this.print(t.exported);
  }
  n(m2t, "ExportNamespaceSpecifier");
  var Zne = !1;
  function y2t(t, e) {
    let {
      importAttributesKeyword: s
    } = this.format, {
      attributes: r,
      assertions: i
    } = t;
    r && !s && !Zne && (Zne = !0, console.warn('You are using import attributes, without specifying the desired output syntax.\nPlease specif\
y the "importAttributesKeyword" generator option, whose value can be one of:\n - "with"        : `import { a } from "b" with { type: "json" }\
;`\n - "assert"      : `import { a } from "b" assert { type: "json" };`\n - "with-legacy" : `import { a } from "b" with type: "json";`\n'));
    let a = s === "assert" || !s && i;
    if (this.word(a ? "assert" : "with"), this.space(), !a && s !== "with") {
      this.printList(r || i);
      return;
    }
    let o = e ? 1 : 0;
    this.token("{", null, o), this.space(), this.printList(r || i, this.shouldPrintTrailingComma("}")), this.space(), this.token("}", null, o);
  }
  n(y2t, "_printAttributes");
  function g2t(t) {
    var e, s;
    this.word("export"), this.space(), t.exportKind === "type" && (this.word("type"), this.space()), this.tokenChar(42), this.space(), this.
    word("from"), this.space(), (e = t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.print(t.source, !0),
    this.space(), this._printAttributes(t, !1)) : this.print(t.source), this.semicolon();
  }
  n(g2t, "ExportAllDeclaration");
  function tae(t, e) {
    a2t(e.declaration) && t._shouldPrintDecoratorsBeforeExport(e) && t.printJoin(e.declaration.decorators);
  }
  n(tae, "maybePrintDecoratorsBeforeExport");
  function T2t(t) {
    if (tae(this, t), this.word("export"), this.space(), t.declaration) {
      let r = t.declaration;
      this.print(r), eae(r) || this.semicolon();
    } else {
      t.exportKind === "type" && (this.word("type"), this.space());
      let r = t.specifiers.slice(0), i = !1;
      for (; ; ) {
        let o = r[0];
        if (o2t(o) || l2t(o))
          i = !0, this.print(r.shift()), r.length && (this.tokenChar(44), this.space());
        else
          break;
      }
      let a = !1;
      if ((r.length || !r.length && !i) && (a = !0, this.tokenChar(123), r.length && (this.space(), this.printList(r, this.shouldPrintTrailingComma(
      "}")), this.space()), this.tokenChar(125)), t.source) {
        var e, s;
        this.space(), this.word("from"), this.space(), (e = t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.
        print(t.source, !0), this.space(), this._printAttributes(t, a)) : this.print(t.source);
      }
      this.semicolon();
    }
  }
  n(T2t, "ExportNamedDeclaration");
  function b2t(t) {
    tae(this, t), this.word("export"), this.noIndentInnerCommentsHere(), this.space(), this.word("default"), this.space(), this.tokenContext |=
    n2t.TokenContext.exportDefault;
    let e = t.declaration;
    this.print(e), eae(e) || this.semicolon();
  }
  n(b2t, "ExportDefaultDeclaration");
  function x2t(t) {
    var e, s;
    this.word("import"), this.space();
    let r = t.importKind === "type" || t.importKind === "typeof";
    r ? (this.noIndentInnerCommentsHere(), this.word(t.importKind), this.space()) : t.module ? (this.noIndentInnerCommentsHere(), this.word(
    "module"), this.space()) : t.phase && (this.noIndentInnerCommentsHere(), this.word(t.phase), this.space());
    let i = t.specifiers.slice(0), a = !!i.length;
    for (; a; ) {
      let l = i[0];
      if (u2t(l) || c2t(l))
        this.print(i.shift()), i.length && (this.tokenChar(44), this.space());
      else
        break;
    }
    let o = !1;
    i.length ? (o = !0, this.tokenChar(123), this.space(), this.printList(i, this.shouldPrintTrailingComma("}")), this.space(), this.tokenChar(
    125)) : r && !a && (o = !0, this.tokenChar(123), this.tokenChar(125)), (a || r) && (this.space(), this.word("from"), this.space()), (e =
    t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.print(t.source, !0), this.space(), this._printAttributes(
    t, o)) : this.print(t.source), this.semicolon();
  }
  n(x2t, "ImportDeclaration");
  function S2t(t) {
    this.print(t.key), this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(S2t, "ImportAttribute");
  function P2t(t) {
    this.tokenChar(42), this.space(), this.word("as"), this.space(), this.print(t.local);
  }
  n(P2t, "ImportNamespaceSpecifier");
  function E2t(t) {
    this.word("import"), t.phase && (this.tokenChar(46), this.word(t.phase)), this.tokenChar(40), this.print(t.source), t.options != null &&
    (this.tokenChar(44), this.space(), this.print(t.options)), this.tokenChar(41);
  }
  n(E2t, "ImportExpression");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/generators/types.js
var IF = g((Br) => {
  "use strict";
  Object.defineProperty(Br, "__esModule", {
    value: !0
  });
  Br.ArgumentPlaceholder = I2t;
  Br.ArrayPattern = Br.ArrayExpression = _2t;
  Br.BigIntLiteral = U2t;
  Br.BooleanLiteral = F2t;
  Br.Identifier = w2t;
  Br.NullLiteral = j2t;
  Br.NumericLiteral = R2t;
  Br.ObjectPattern = Br.ObjectExpression = k2t;
  Br.ObjectMethod = D2t;
  Br.ObjectProperty = O2t;
  Br.PipelineBareFunction = W2t;
  Br.PipelinePrimaryTopicReference = $2t;
  Br.PipelineTopicExpression = V2t;
  Br.RecordExpression = L2t;
  Br.RegExpLiteral = M2t;
  Br.SpreadElement = Br.RestElement = N2t;
  Br.StringLiteral = q2t;
  Br.TopicReference = K2t;
  Br.TupleExpression = B2t;
  Br._getRawIdentifier = C2t;
  var A2t = fe(), iae = gd(), {
    isAssignmentPattern: v2t,
    isIdentifier: wF
  } = A2t, sae = null, CA = "";
  function C2t(t) {
    if (t === sae) return CA;
    sae = t;
    let {
      name: e
    } = t, s = this.tokenMap.find(t, (r) => r.value === e);
    return s ? (CA = this._originalCode.slice(s.start, s.end), CA) : CA = t.name;
  }
  n(C2t, "_getRawIdentifier");
  function w2t(t) {
    var e;
    this.sourceIdentifierName(((e = t.loc) == null ? void 0 : e.identifierName) || t.name), this.word(this.tokenMap ? this._getRawIdentifier(
    t) : t.name);
  }
  n(w2t, "Identifier");
  function I2t() {
    this.tokenChar(63);
  }
  n(I2t, "ArgumentPlaceholder");
  function N2t(t) {
    this.token("..."), this.print(t.argument);
  }
  n(N2t, "RestElement");
  function k2t(t) {
    let e = t.properties;
    if (this.tokenChar(123), e.length) {
      let s = this.enterDelimited();
      this.space(), this.printList(e, this.shouldPrintTrailingComma("}"), !0, !0), this.space(), s();
    }
    this.sourceWithOffset("end", t.loc, -1), this.tokenChar(125);
  }
  n(k2t, "ObjectExpression");
  function D2t(t) {
    this.printJoin(t.decorators), this._methodHead(t), this.space(), this.print(t.body);
  }
  n(D2t, "ObjectMethod");
  function O2t(t) {
    if (this.printJoin(t.decorators), t.computed)
      this.tokenChar(91), this.print(t.key), this.tokenChar(93);
    else {
      if (v2t(t.value) && wF(t.key) && t.key.name === t.value.left.name) {
        this.print(t.value);
        return;
      }
      if (this.print(t.key), t.shorthand && wF(t.key) && wF(t.value) && t.key.name === t.value.name)
        return;
    }
    this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(O2t, "ObjectProperty");
  function _2t(t) {
    let e = t.elements, s = e.length;
    this.tokenChar(91);
    let r = this.enterDelimited();
    for (let i = 0; i < e.length; i++) {
      let a = e[i];
      a ? (i > 0 && this.space(), this.print(a), (i < s - 1 || this.shouldPrintTrailingComma("]")) && this.token(",", !1, i)) : this.token("\
,", !1, i);
    }
    r(), this.tokenChar(93);
  }
  n(_2t, "ArrayExpression");
  function L2t(t) {
    let e = t.properties, s, r;
    if (this.format.recordAndTupleSyntaxType === "bar")
      s = "{|", r = "|}";
    else {
      if (this.format.recordAndTupleSyntaxType !== "hash" && this.format.recordAndTupleSyntaxType != null)
        throw new Error(`The "recordAndTupleSyntaxType" generator option must be "bar" or "hash" (${JSON.stringify(this.format.recordAndTupleSyntaxType)}\
 received).`);
      s = "#{", r = "}";
    }
    this.token(s), e.length && (this.space(), this.printList(e, this.shouldPrintTrailingComma(r), !0, !0), this.space()), this.token(r);
  }
  n(L2t, "RecordExpression");
  function B2t(t) {
    let e = t.elements, s = e.length, r, i;
    if (this.format.recordAndTupleSyntaxType === "bar")
      r = "[|", i = "|]";
    else if (this.format.recordAndTupleSyntaxType === "hash")
      r = "#[", i = "]";
    else
      throw new Error(`${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`);
    this.token(r);
    for (let a = 0; a < e.length; a++) {
      let o = e[a];
      o && (a > 0 && this.space(), this.print(o), (a < s - 1 || this.shouldPrintTrailingComma(i)) && this.token(",", !1, a));
    }
    this.token(i);
  }
  n(B2t, "TupleExpression");
  function M2t(t) {
    this.word(`/${t.pattern}/${t.flags}`);
  }
  n(M2t, "RegExpLiteral");
  function F2t(t) {
    this.word(t.value ? "true" : "false");
  }
  n(F2t, "BooleanLiteral");
  function j2t() {
    this.word("null");
  }
  n(j2t, "NullLiteral");
  function R2t(t) {
    let e = this.getPossibleRaw(t), s = this.format.jsescOption, r = t.value, i = r + "";
    s.numbers ? this.number(iae(r, s), r) : e == null ? this.number(i, r) : this.format.minified ? this.number(e.length < i.length ? e : i, r) :
    this.number(e, r);
  }
  n(R2t, "NumericLiteral");
  function q2t(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.token(e);
      return;
    }
    let s = iae(t.value, this.format.jsescOption);
    this.token(s);
  }
  n(q2t, "StringLiteral");
  function U2t(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.word(e);
      return;
    }
    this.word(t.value + "n");
  }
  n(U2t, "BigIntLiteral");
  var rae = /* @__PURE__ */ new Set(["^^", "@@", "^", "%", "#"]);
  function K2t() {
    let {
      topicToken: t
    } = this.format;
    if (rae.has(t))
      this.token(t);
    else {
      let e = JSON.stringify(t), s = Array.from(rae, (r) => JSON.stringify(r));
      throw new Error(`The "topicToken" generator option must be one of ${s.join(", ")} (${e} received instead).`);
    }
  }
  n(K2t, "TopicReference");
  function V2t(t) {
    this.print(t.expression);
  }
  n(V2t, "PipelineTopicExpression");
  function W2t(t) {
    this.print(t.callee);
  }
  n(W2t, "PipelineBareFunction");
  function $2t() {
    this.tokenChar(35);
  }
  n($2t, "PipelinePrimaryTopicReference");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/generators/flow.js
var aae = g((nt) => {
  "use strict";
  Object.defineProperty(nt, "__esModule", {
    value: !0
  });
  nt.AnyTypeAnnotation = z2t;
  nt.ArrayTypeAnnotation = G2t;
  nt.BooleanLiteralTypeAnnotation = Z2t;
  nt.BooleanTypeAnnotation = Q2t;
  nt.DeclareClass = t_t;
  nt.DeclareExportAllDeclaration = h_t;
  nt.DeclareExportDeclaration = p_t;
  nt.DeclareFunction = s_t;
  nt.DeclareInterface = n_t;
  nt.DeclareModule = a_t;
  nt.DeclareModuleExports = o_t;
  nt.DeclareOpaqueType = u_t;
  nt.DeclareTypeAlias = l_t;
  nt.DeclareVariable = c_t;
  nt.DeclaredPredicate = i_t;
  nt.EmptyTypeAnnotation = L_t;
  nt.EnumBooleanBody = d_t;
  nt.EnumBooleanMember = b_t;
  nt.EnumDeclaration = f_t;
  nt.EnumDefaultedMember = T_t;
  nt.EnumNumberBody = m_t;
  nt.EnumNumberMember = x_t;
  nt.EnumStringBody = y_t;
  nt.EnumStringMember = S_t;
  nt.EnumSymbolBody = g_t;
  nt.ExistsTypeAnnotation = E_t;
  nt.FunctionTypeAnnotation = A_t;
  nt.FunctionTypeParam = v_t;
  nt.IndexedAccessType = nLt;
  nt.InferredPredicate = r_t;
  nt.InterfaceDeclaration = N_t;
  nt.GenericTypeAnnotation = nt.ClassImplements = nt.InterfaceExtends = C_t;
  nt.InterfaceTypeAnnotation = D_t;
  nt.IntersectionTypeAnnotation = O_t;
  nt.MixedTypeAnnotation = __t;
  nt.NullLiteralTypeAnnotation = e_t;
  nt.NullableTypeAnnotation = B_t;
  Object.defineProperty(nt, "NumberLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return nae.NumericLiteral;
    }, "get")
  });
  nt.NumberTypeAnnotation = M_t;
  nt.ObjectTypeAnnotation = H_t;
  nt.ObjectTypeCallProperty = Y_t;
  nt.ObjectTypeIndexer = X_t;
  nt.ObjectTypeInternalSlot = J_t;
  nt.ObjectTypeProperty = z_t;
  nt.ObjectTypeSpreadProperty = G_t;
  nt.OpaqueType = $_t;
  nt.OptionalIndexedAccessType = aLt;
  nt.QualifiedTypeIdentifier = Q_t;
  Object.defineProperty(nt, "StringLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return nae.StringLiteral;
    }, "get")
  });
  nt.StringTypeAnnotation = F_t;
  nt.SymbolTypeAnnotation = Z_t;
  nt.ThisTypeAnnotation = j_t;
  nt.TupleTypeAnnotation = R_t;
  nt.TypeAlias = U_t;
  nt.TypeAnnotation = K_t;
  nt.TypeCastExpression = sLt;
  nt.TypeParameter = W_t;
  nt.TypeParameterDeclaration = nt.TypeParameterInstantiation = V_t;
  nt.TypeofTypeAnnotation = q_t;
  nt.UnionTypeAnnotation = tLt;
  nt.Variance = rLt;
  nt.VoidTypeAnnotation = iLt;
  nt._interfaceish = w_t;
  nt._variance = I_t;
  var H2t = fe(), J2t = CF(), Y2t = bp(), nae = IF(), {
    isDeclareExportDeclaration: wA,
    isStatement: X2t
  } = H2t;
  function z2t() {
    this.word("any");
  }
  n(z2t, "AnyTypeAnnotation");
  function G2t(t) {
    this.print(t.elementType, !0), this.tokenChar(91), this.tokenChar(93);
  }
  n(G2t, "ArrayTypeAnnotation");
  function Q2t() {
    this.word("boolean");
  }
  n(Q2t, "BooleanTypeAnnotation");
  function Z2t(t) {
    this.word(t.value ? "true" : "false");
  }
  n(Z2t, "BooleanLiteralTypeAnnotation");
  function e_t() {
    this.word("null");
  }
  n(e_t, "NullLiteralTypeAnnotation");
  function t_t(t, e) {
    wA(e) || (this.word("declare"), this.space()), this.word("class"), this.space(), this._interfaceish(t);
  }
  n(t_t, "DeclareClass");
  function s_t(t, e) {
    wA(e) || (this.word("declare"), this.space()), this.word("function"), this.space(), this.print(t.id), this.print(t.id.typeAnnotation.typeAnnotation),
    t.predicate && (this.space(), this.print(t.predicate)), this.semicolon();
  }
  n(s_t, "DeclareFunction");
  function r_t() {
    this.tokenChar(37), this.word("checks");
  }
  n(r_t, "InferredPredicate");
  function i_t(t) {
    this.tokenChar(37), this.word("checks"), this.tokenChar(40), this.print(t.value), this.tokenChar(41);
  }
  n(i_t, "DeclaredPredicate");
  function n_t(t) {
    this.word("declare"), this.space(), this.InterfaceDeclaration(t);
  }
  n(n_t, "DeclareInterface");
  function a_t(t) {
    this.word("declare"), this.space(), this.word("module"), this.space(), this.print(t.id), this.space(), this.print(t.body);
  }
  n(a_t, "DeclareModule");
  function o_t(t) {
    this.word("declare"), this.space(), this.word("module"), this.tokenChar(46), this.word("exports"), this.print(t.typeAnnotation);
  }
  n(o_t, "DeclareModuleExports");
  function l_t(t) {
    this.word("declare"), this.space(), this.TypeAlias(t);
  }
  n(l_t, "DeclareTypeAlias");
  function u_t(t, e) {
    wA(e) || (this.word("declare"), this.space()), this.OpaqueType(t);
  }
  n(u_t, "DeclareOpaqueType");
  function c_t(t, e) {
    wA(e) || (this.word("declare"), this.space()), this.word("var"), this.space(), this.print(t.id), this.print(t.id.typeAnnotation), this.semicolon();
  }
  n(c_t, "DeclareVariable");
  function p_t(t) {
    this.word("declare"), this.space(), this.word("export"), this.space(), t.default && (this.word("default"), this.space()), P_t.call(this,
    t);
  }
  n(p_t, "DeclareExportDeclaration");
  function h_t(t) {
    this.word("declare"), this.space(), J2t.ExportAllDeclaration.call(this, t);
  }
  n(h_t, "DeclareExportAllDeclaration");
  function f_t(t) {
    let {
      id: e,
      body: s
    } = t;
    this.word("enum"), this.space(), this.print(e), this.print(s);
  }
  n(f_t, "EnumDeclaration");
  function IA(t, e, s) {
    s && (t.space(), t.word("of"), t.space(), t.word(e)), t.space();
  }
  n(IA, "enumExplicitType");
  function NA(t, e) {
    let {
      members: s
    } = e;
    t.token("{"), t.indent(), t.newline();
    for (let r of s)
      t.print(r), t.newline();
    e.hasUnknownMembers && (t.token("..."), t.newline()), t.dedent(), t.token("}");
  }
  n(NA, "enumBody");
  function d_t(t) {
    let {
      explicitType: e
    } = t;
    IA(this, "boolean", e), NA(this, t);
  }
  n(d_t, "EnumBooleanBody");
  function m_t(t) {
    let {
      explicitType: e
    } = t;
    IA(this, "number", e), NA(this, t);
  }
  n(m_t, "EnumNumberBody");
  function y_t(t) {
    let {
      explicitType: e
    } = t;
    IA(this, "string", e), NA(this, t);
  }
  n(y_t, "EnumStringBody");
  function g_t(t) {
    IA(this, "symbol", !0), NA(this, t);
  }
  n(g_t, "EnumSymbolBody");
  function T_t(t) {
    let {
      id: e
    } = t;
    this.print(e), this.tokenChar(44);
  }
  n(T_t, "EnumDefaultedMember");
  function NF(t, e) {
    t.print(e.id), t.space(), t.token("="), t.space(), t.print(e.init), t.token(",");
  }
  n(NF, "enumInitializedMember");
  function b_t(t) {
    NF(this, t);
  }
  n(b_t, "EnumBooleanMember");
  function x_t(t) {
    NF(this, t);
  }
  n(x_t, "EnumNumberMember");
  function S_t(t) {
    NF(this, t);
  }
  n(S_t, "EnumStringMember");
  function P_t(t) {
    if (t.declaration) {
      let e = t.declaration;
      this.print(e), X2t(e) || this.semicolon();
    } else
      this.tokenChar(123), t.specifiers.length && (this.space(), this.printList(t.specifiers), this.space()), this.tokenChar(125), t.source &&
      (this.space(), this.word("from"), this.space(), this.print(t.source)), this.semicolon();
  }
  n(P_t, "FlowExportDeclaration");
  function E_t() {
    this.tokenChar(42);
  }
  n(E_t, "ExistsTypeAnnotation");
  function A_t(t, e) {
    this.print(t.typeParameters), this.tokenChar(40), t.this && (this.word("this"), this.tokenChar(58), this.space(), this.print(t.this.typeAnnotation),
    (t.params.length || t.rest) && (this.tokenChar(44), this.space())), this.printList(t.params), t.rest && (t.params.length && (this.tokenChar(
    44), this.space()), this.token("..."), this.print(t.rest)), this.tokenChar(41);
    let s = e?.type;
    s != null && (s === "ObjectTypeCallProperty" || s === "ObjectTypeInternalSlot" || s === "DeclareFunction" || s === "ObjectTypeProperty" &&
    e.method) ? this.tokenChar(58) : (this.space(), this.token("=>")), this.space(), this.print(t.returnType);
  }
  n(A_t, "FunctionTypeAnnotation");
  function v_t(t) {
    this.print(t.name), t.optional && this.tokenChar(63), t.name && (this.tokenChar(58), this.space()), this.print(t.typeAnnotation);
  }
  n(v_t, "FunctionTypeParam");
  function C_t(t) {
    this.print(t.id), this.print(t.typeParameters, !0);
  }
  n(C_t, "InterfaceExtends");
  function w_t(t) {
    var e;
    if (this.print(t.id), this.print(t.typeParameters), (e = t.extends) != null && e.length && (this.space(), this.word("extends"), this.space(),
    this.printList(t.extends)), t.type === "DeclareClass") {
      var s, r;
      (s = t.mixins) != null && s.length && (this.space(), this.word("mixins"), this.space(), this.printList(t.mixins)), (r = t.implements) !=
      null && r.length && (this.space(), this.word("implements"), this.space(), this.printList(t.implements));
    }
    this.space(), this.print(t.body);
  }
  n(w_t, "_interfaceish");
  function I_t(t) {
    var e;
    let s = (e = t.variance) == null ? void 0 : e.kind;
    s != null && (s === "plus" ? this.tokenChar(43) : s === "minus" && this.tokenChar(45));
  }
  n(I_t, "_variance");
  function N_t(t) {
    this.word("interface"), this.space(), this._interfaceish(t);
  }
  n(N_t, "InterfaceDeclaration");
  function k_t(t) {
    this.space(), this.token("&", !1, t), this.space();
  }
  n(k_t, "andSeparator");
  function D_t(t) {
    var e;
    this.word("interface"), (e = t.extends) != null && e.length && (this.space(), this.word("extends"), this.space(), this.printList(t.extends)),
    this.space(), this.print(t.body);
  }
  n(D_t, "InterfaceTypeAnnotation");
  function O_t(t) {
    this.printJoin(t.types, void 0, void 0, k_t);
  }
  n(O_t, "IntersectionTypeAnnotation");
  function __t() {
    this.word("mixed");
  }
  n(__t, "MixedTypeAnnotation");
  function L_t() {
    this.word("empty");
  }
  n(L_t, "EmptyTypeAnnotation");
  function B_t(t) {
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(B_t, "NullableTypeAnnotation");
  function M_t() {
    this.word("number");
  }
  n(M_t, "NumberTypeAnnotation");
  function F_t() {
    this.word("string");
  }
  n(F_t, "StringTypeAnnotation");
  function j_t() {
    this.word("this");
  }
  n(j_t, "ThisTypeAnnotation");
  function R_t(t) {
    this.tokenChar(91), this.printList(t.types), this.tokenChar(93);
  }
  n(R_t, "TupleTypeAnnotation");
  function q_t(t) {
    this.word("typeof"), this.space(), this.print(t.argument);
  }
  n(q_t, "TypeofTypeAnnotation");
  function U_t(t) {
    this.word("type"), this.space(), this.print(t.id), this.print(t.typeParameters), this.space(), this.tokenChar(61), this.space(), this.print(
    t.right), this.semicolon();
  }
  n(U_t, "TypeAlias");
  function K_t(t, e) {
    this.tokenChar(58), this.space(), e.type === "ArrowFunctionExpression" ? this.tokenContext |= Y2t.TokenContext.arrowFlowReturnType : t.optional &&
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(K_t, "TypeAnnotation");
  function V_t(t) {
    this.tokenChar(60), this.printList(t.params), this.tokenChar(62);
  }
  n(V_t, "TypeParameterInstantiation");
  function W_t(t) {
    this._variance(t), this.word(t.name), t.bound && this.print(t.bound), t.default && (this.space(), this.tokenChar(61), this.space(), this.
    print(t.default));
  }
  n(W_t, "TypeParameter");
  function $_t(t) {
    this.word("opaque"), this.space(), this.word("type"), this.space(), this.print(t.id), this.print(t.typeParameters), t.supertype && (this.
    tokenChar(58), this.space(), this.print(t.supertype)), t.impltype && (this.space(), this.tokenChar(61), this.space(), this.print(t.impltype)),
    this.semicolon();
  }
  n($_t, "OpaqueType");
  function H_t(t) {
    t.exact ? this.token("{|") : this.tokenChar(123);
    let e = [...t.properties, ...t.callProperties || [], ...t.indexers || [], ...t.internalSlots || []];
    e.length && (this.newline(), this.space(), this.printJoin(e, !0, !0, void 0, void 0, /* @__PURE__ */ n(function(r) {
      if (r && !e[0]) return 1;
    }, "addNewlines"), () => {
      (e.length !== 1 || t.inexact) && (this.tokenChar(44), this.space());
    }), this.space()), t.inexact && (this.indent(), this.token("..."), e.length && this.newline(), this.dedent()), t.exact ? this.token("|}") :
    this.tokenChar(125);
  }
  n(H_t, "ObjectTypeAnnotation");
  function J_t(t) {
    t.static && (this.word("static"), this.space()), this.tokenChar(91), this.tokenChar(91), this.print(t.id), this.tokenChar(93), this.tokenChar(
    93), t.optional && this.tokenChar(63), t.method || (this.tokenChar(58), this.space()), this.print(t.value);
  }
  n(J_t, "ObjectTypeInternalSlot");
  function Y_t(t) {
    t.static && (this.word("static"), this.space()), this.print(t.value);
  }
  n(Y_t, "ObjectTypeCallProperty");
  function X_t(t) {
    t.static && (this.word("static"), this.space()), this._variance(t), this.tokenChar(91), t.id && (this.print(t.id), this.tokenChar(58), this.
    space()), this.print(t.key), this.tokenChar(93), this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(X_t, "ObjectTypeIndexer");
  function z_t(t) {
    t.proto && (this.word("proto"), this.space()), t.static && (this.word("static"), this.space()), (t.kind === "get" || t.kind === "set") &&
    (this.word(t.kind), this.space()), this._variance(t), this.print(t.key), t.optional && this.tokenChar(63), t.method || (this.tokenChar(58),
    this.space()), this.print(t.value);
  }
  n(z_t, "ObjectTypeProperty");
  function G_t(t) {
    this.token("..."), this.print(t.argument);
  }
  n(G_t, "ObjectTypeSpreadProperty");
  function Q_t(t) {
    this.print(t.qualification), this.tokenChar(46), this.print(t.id);
  }
  n(Q_t, "QualifiedTypeIdentifier");
  function Z_t() {
    this.word("symbol");
  }
  n(Z_t, "SymbolTypeAnnotation");
  function eLt(t) {
    this.space(), this.token("|", !1, t), this.space();
  }
  n(eLt, "orSeparator");
  function tLt(t) {
    this.printJoin(t.types, void 0, void 0, eLt);
  }
  n(tLt, "UnionTypeAnnotation");
  function sLt(t) {
    this.tokenChar(40), this.print(t.expression), this.print(t.typeAnnotation), this.tokenChar(41);
  }
  n(sLt, "TypeCastExpression");
  function rLt(t) {
    t.kind === "plus" ? this.tokenChar(43) : this.tokenChar(45);
  }
  n(rLt, "Variance");
  function iLt() {
    this.word("void");
  }
  n(iLt, "VoidTypeAnnotation");
  function nLt(t) {
    this.print(t.objectType, !0), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(nLt, "IndexedAccessType");
  function aLt(t) {
    this.print(t.objectType), t.optional && this.token("?."), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(aLt, "OptionalIndexedAccessType");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/generators/base.js
var oae = g((Vu) => {
  "use strict";
  Object.defineProperty(Vu, "__esModule", {
    value: !0
  });
  Vu.BlockStatement = uLt;
  Vu.Directive = cLt;
  Vu.DirectiveLiteral = fLt;
  Vu.File = oLt;
  Vu.InterpreterDirective = dLt;
  Vu.Placeholder = mLt;
  Vu.Program = lLt;
  function oLt(t) {
    t.program && this.print(t.program.interpreter), this.print(t.program);
  }
  n(oLt, "File");
  function lLt(t) {
    var e;
    this.noIndentInnerCommentsHere(), this.printInnerComments();
    let s = (e = t.directives) == null ? void 0 : e.length;
    if (s) {
      var r;
      let i = t.body.length ? 2 : 1;
      this.printSequence(t.directives, void 0, i), (r = t.directives[s - 1].trailingComments) != null && r.length || this.newline(i);
    }
    this.printSequence(t.body);
  }
  n(lLt, "Program");
  function uLt(t) {
    var e;
    this.tokenChar(123);
    let s = this.enterDelimited(), r = (e = t.directives) == null ? void 0 : e.length;
    if (r) {
      var i;
      let a = t.body.length ? 2 : 1;
      this.printSequence(t.directives, !0, a), (i = t.directives[r - 1].trailingComments) != null && i.length || this.newline(a);
    }
    this.printSequence(t.body, !0), s(), this.rightBrace(t);
  }
  n(uLt, "BlockStatement");
  function cLt(t) {
    this.print(t.value), this.semicolon();
  }
  n(cLt, "Directive");
  var pLt = /(?:^|[^\\])(?:\\\\)*'/, hLt = /(?:^|[^\\])(?:\\\\)*"/;
  function fLt(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.token(e);
      return;
    }
    let {
      value: s
    } = t;
    if (!hLt.test(s))
      this.token(`"${s}"`);
    else if (!pLt.test(s))
      this.token(`'${s}'`);
    else
      throw new Error("Malformed AST: it is not possible to print a directive containing both unescaped single and double quotes.");
  }
  n(fLt, "DirectiveLiteral");
  function dLt(t) {
    this.token(`#!${t.value}`), this.newline(1, !0);
  }
  n(dLt, "InterpreterDirective");
  function mLt(t) {
    this.token("%%"), this.print(t.name), this.token("%%"), t.expectedNode === "Statement" && this.semicolon();
  }
  n(mLt, "Placeholder");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/generators/jsx.js
var lae = g((Xi) => {
  "use strict";
  Object.defineProperty(Xi, "__esModule", {
    value: !0
  });
  Xi.JSXAttribute = yLt;
  Xi.JSXClosingElement = wLt;
  Xi.JSXClosingFragment = DLt;
  Xi.JSXElement = ALt;
  Xi.JSXEmptyExpression = ILt;
  Xi.JSXExpressionContainer = SLt;
  Xi.JSXFragment = NLt;
  Xi.JSXIdentifier = gLt;
  Xi.JSXMemberExpression = bLt;
  Xi.JSXNamespacedName = TLt;
  Xi.JSXOpeningElement = CLt;
  Xi.JSXOpeningFragment = kLt;
  Xi.JSXSpreadAttribute = xLt;
  Xi.JSXSpreadChild = PLt;
  Xi.JSXText = ELt;
  function yLt(t) {
    this.print(t.name), t.value && (this.tokenChar(61), this.print(t.value));
  }
  n(yLt, "JSXAttribute");
  function gLt(t) {
    this.word(t.name);
  }
  n(gLt, "JSXIdentifier");
  function TLt(t) {
    this.print(t.namespace), this.tokenChar(58), this.print(t.name);
  }
  n(TLt, "JSXNamespacedName");
  function bLt(t) {
    this.print(t.object), this.tokenChar(46), this.print(t.property);
  }
  n(bLt, "JSXMemberExpression");
  function xLt(t) {
    this.tokenChar(123), this.token("..."), this.print(t.argument), this.rightBrace(t);
  }
  n(xLt, "JSXSpreadAttribute");
  function SLt(t) {
    this.tokenChar(123), this.print(t.expression), this.rightBrace(t);
  }
  n(SLt, "JSXExpressionContainer");
  function PLt(t) {
    this.tokenChar(123), this.token("..."), this.print(t.expression), this.rightBrace(t);
  }
  n(PLt, "JSXSpreadChild");
  function ELt(t) {
    let e = this.getPossibleRaw(t);
    e !== void 0 ? this.token(e, !0) : this.token(t.value, !0);
  }
  n(ELt, "JSXText");
  function ALt(t) {
    let e = t.openingElement;
    if (this.print(e), !e.selfClosing) {
      this.indent();
      for (let s of t.children)
        this.print(s);
      this.dedent(), this.print(t.closingElement);
    }
  }
  n(ALt, "JSXElement");
  function vLt() {
    this.space();
  }
  n(vLt, "spaceSeparator");
  function CLt(t) {
    this.tokenChar(60), this.print(t.name), t.typeArguments && this.print(t.typeArguments), this.print(t.typeParameters), t.attributes.length >
    0 && (this.space(), this.printJoin(t.attributes, void 0, void 0, vLt)), t.selfClosing && (this.space(), this.tokenChar(47)), this.tokenChar(
    62);
  }
  n(CLt, "JSXOpeningElement");
  function wLt(t) {
    this.tokenChar(60), this.tokenChar(47), this.print(t.name), this.tokenChar(62);
  }
  n(wLt, "JSXClosingElement");
  function ILt() {
    this.printInnerComments();
  }
  n(ILt, "JSXEmptyExpression");
  function NLt(t) {
    this.print(t.openingFragment), this.indent();
    for (let e of t.children)
      this.print(e);
    this.dedent(), this.print(t.closingFragment);
  }
  n(NLt, "JSXFragment");
  function kLt() {
    this.tokenChar(60), this.tokenChar(62);
  }
  n(kLt, "JSXOpeningFragment");
  function DLt() {
    this.token("</"), this.tokenChar(62);
  }
  n(DLt, "JSXClosingFragment");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/generators/typescript.js
var fae = g((ze) => {
  "use strict";
  Object.defineProperty(ze, "__esModule", {
    value: !0
  });
  ze.TSAnyKeyword = $Lt;
  ze.TSArrayType = hBt;
  ze.TSSatisfiesExpression = ze.TSAsExpression = DBt;
  ze.TSBigIntKeyword = HLt;
  ze.TSBooleanKeyword = zLt;
  ze.TSCallSignatureDeclaration = RLt;
  ze.TSInterfaceHeritage = ze.TSClassImplements = wBt;
  ze.TSConditionalType = bBt;
  ze.TSConstructSignatureDeclaration = qLt;
  ze.TSConstructorType = aBt;
  ze.TSDeclareFunction = MLt;
  ze.TSDeclareMethod = FLt;
  ze.TSEnumBody = hae;
  ze.TSEnumDeclaration = LBt;
  ze.TSEnumMember = BBt;
  ze.TSExportAssignment = KBt;
  ze.TSExternalModuleReference = qBt;
  ze.TSFunctionType = nBt;
  ze.TSImportEqualsDeclaration = RBt;
  ze.TSImportType = jBt;
  ze.TSIndexSignature = WLt;
  ze.TSIndexedAccessType = EBt;
  ze.TSInferType = xBt;
  ze.TSInstantiationExpression = _Bt;
  ze.TSInterfaceBody = NBt;
  ze.TSInterfaceDeclaration = IBt;
  ze.TSIntersectionType = TBt;
  ze.TSIntrinsicKeyword = rBt;
  ze.TSLiteralType = CBt;
  ze.TSMappedType = ABt;
  ze.TSMethodSignature = VLt;
  ze.TSModuleBlock = FBt;
  ze.TSModuleDeclaration = MBt;
  ze.TSNamedTupleMember = yBt;
  ze.TSNamespaceExportDeclaration = VBt;
  ze.TSNeverKeyword = sBt;
  ze.TSNonNullExpression = UBt;
  ze.TSNullKeyword = tBt;
  ze.TSNumberKeyword = YLt;
  ze.TSObjectKeyword = XLt;
  ze.TSOptionalType = dBt;
  ze.TSParameterProperty = BLt;
  ze.TSParenthesizedType = SBt;
  ze.TSPropertySignature = ULt;
  ze.TSQualifiedName = jLt;
  ze.TSRestType = mBt;
  ze.TSStringKeyword = GLt;
  ze.TSSymbolKeyword = QLt;
  ze.TSTemplateLiteralType = vBt;
  ze.TSThisType = iBt;
  ze.TSTupleType = fBt;
  ze.TSTypeAliasDeclaration = kBt;
  ze.TSTypeAnnotation = OLt;
  ze.TSTypeAssertion = OBt;
  ze.TSTypeLiteral = pBt;
  ze.TSTypeOperator = PBt;
  ze.TSTypeParameter = LLt;
  ze.TSTypeParameterDeclaration = ze.TSTypeParameterInstantiation = _Lt;
  ze.TSTypePredicate = uBt;
  ze.TSTypeQuery = cBt;
  ze.TSTypeReference = lBt;
  ze.TSUndefinedKeyword = eBt;
  ze.TSUnionType = gBt;
  ze.TSUnknownKeyword = JLt;
  ze.TSVoidKeyword = ZLt;
  ze.tsPrintClassMemberModifiers = $Bt;
  ze.tsPrintFunctionOrConstructorType = oBt;
  ze.tsPrintPropertyOrMethodName = KLt;
  ze.tsPrintSignatureDeclarationBase = WBt;
  function OLt(t, e) {
    this.token((e.type === "TSFunctionType" || e.type === "TSConstructorType") && e.typeAnnotation === t ? "=>" : ":"), this.space(), t.optional &&
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(OLt, "TSTypeAnnotation");
  function _Lt(t, e) {
    this.tokenChar(60);
    let s = e.type === "ArrowFunctionExpression" && t.params.length === 1;
    this.tokenMap && t.start != null && t.end != null && (s && (s = !!this.tokenMap.find(t, (r) => this.tokenMap.matchesOriginal(r, ","))), s ||
    (s = this.shouldPrintTrailingComma(">"))), this.printList(t.params, s), this.tokenChar(62);
  }
  n(_Lt, "TSTypeParameterInstantiation");
  function LLt(t) {
    t.in && (this.word("in"), this.space()), t.out && (this.word("out"), this.space()), this.word(t.name), t.constraint && (this.space(), this.
    word("extends"), this.space(), this.print(t.constraint)), t.default && (this.space(), this.tokenChar(61), this.space(), this.print(t.default));
  }
  n(LLt, "TSTypeParameter");
  function BLt(t) {
    t.accessibility && (this.word(t.accessibility), this.space()), t.readonly && (this.word("readonly"), this.space()), this._param(t.parameter);
  }
  n(BLt, "TSParameterProperty");
  function MLt(t, e) {
    t.declare && (this.word("declare"), this.space()), this._functionHead(t, e), this.semicolon();
  }
  n(MLt, "TSDeclareFunction");
  function FLt(t) {
    this._classMethodHead(t), this.semicolon();
  }
  n(FLt, "TSDeclareMethod");
  function jLt(t) {
    this.print(t.left), this.tokenChar(46), this.print(t.right);
  }
  n(jLt, "TSQualifiedName");
  function RLt(t) {
    this.tsPrintSignatureDeclarationBase(t), Y0(this, t);
  }
  n(RLt, "TSCallSignatureDeclaration");
  function Y0(t, e) {
    if (!t.tokenMap || !e.start || !e.end) {
      t.semicolon();
      return;
    }
    t.tokenMap.endMatches(e, ",") ? t.token(",") : t.tokenMap.endMatches(e, ";") && t.semicolon();
  }
  n(Y0, "maybePrintTrailingCommaOrSemicolon");
  function qLt(t) {
    this.word("new"), this.space(), this.tsPrintSignatureDeclarationBase(t), Y0(this, t);
  }
  n(qLt, "TSConstructSignatureDeclaration");
  function ULt(t) {
    let {
      readonly: e
    } = t;
    e && (this.word("readonly"), this.space()), this.tsPrintPropertyOrMethodName(t), this.print(t.typeAnnotation), Y0(this, t);
  }
  n(ULt, "TSPropertySignature");
  function KLt(t) {
    t.computed && this.tokenChar(91), this.print(t.key), t.computed && this.tokenChar(93), t.optional && this.tokenChar(63);
  }
  n(KLt, "tsPrintPropertyOrMethodName");
  function VLt(t) {
    let {
      kind: e
    } = t;
    (e === "set" || e === "get") && (this.word(e), this.space()), this.tsPrintPropertyOrMethodName(t), this.tsPrintSignatureDeclarationBase(
    t), Y0(this, t);
  }
  n(VLt, "TSMethodSignature");
  function WLt(t) {
    let {
      readonly: e,
      static: s
    } = t;
    s && (this.word("static"), this.space()), e && (this.word("readonly"), this.space()), this.tokenChar(91), this._parameters(t.parameters,
    "]"), this.print(t.typeAnnotation), Y0(this, t);
  }
  n(WLt, "TSIndexSignature");
  function $Lt() {
    this.word("any");
  }
  n($Lt, "TSAnyKeyword");
  function HLt() {
    this.word("bigint");
  }
  n(HLt, "TSBigIntKeyword");
  function JLt() {
    this.word("unknown");
  }
  n(JLt, "TSUnknownKeyword");
  function YLt() {
    this.word("number");
  }
  n(YLt, "TSNumberKeyword");
  function XLt() {
    this.word("object");
  }
  n(XLt, "TSObjectKeyword");
  function zLt() {
    this.word("boolean");
  }
  n(zLt, "TSBooleanKeyword");
  function GLt() {
    this.word("string");
  }
  n(GLt, "TSStringKeyword");
  function QLt() {
    this.word("symbol");
  }
  n(QLt, "TSSymbolKeyword");
  function ZLt() {
    this.word("void");
  }
  n(ZLt, "TSVoidKeyword");
  function eBt() {
    this.word("undefined");
  }
  n(eBt, "TSUndefinedKeyword");
  function tBt() {
    this.word("null");
  }
  n(tBt, "TSNullKeyword");
  function sBt() {
    this.word("never");
  }
  n(sBt, "TSNeverKeyword");
  function rBt() {
    this.word("intrinsic");
  }
  n(rBt, "TSIntrinsicKeyword");
  function iBt() {
    this.word("this");
  }
  n(iBt, "TSThisType");
  function nBt(t) {
    this.tsPrintFunctionOrConstructorType(t);
  }
  n(nBt, "TSFunctionType");
  function aBt(t) {
    t.abstract && (this.word("abstract"), this.space()), this.word("new"), this.space(), this.tsPrintFunctionOrConstructorType(t);
  }
  n(aBt, "TSConstructorType");
  function oBt(t) {
    let {
      typeParameters: e
    } = t, s = t.parameters;
    this.print(e), this.tokenChar(40), this._parameters(s, ")"), this.space();
    let r = t.typeAnnotation;
    this.print(r);
  }
  n(oBt, "tsPrintFunctionOrConstructorType");
  function lBt(t) {
    let e = t.typeParameters;
    this.print(t.typeName, !!e), this.print(e);
  }
  n(lBt, "TSTypeReference");
  function uBt(t) {
    t.asserts && (this.word("asserts"), this.space()), this.print(t.parameterName), t.typeAnnotation && (this.space(), this.word("is"), this.
    space(), this.print(t.typeAnnotation.typeAnnotation));
  }
  n(uBt, "TSTypePredicate");
  function cBt(t) {
    this.word("typeof"), this.space(), this.print(t.exprName);
    let e = t.typeParameters;
    e && this.print(e);
  }
  n(cBt, "TSTypeQuery");
  function pBt(t) {
    kA(this, t, () => this.printJoin(t.members, !0, !0));
  }
  n(pBt, "TSTypeLiteral");
  function hBt(t) {
    this.print(t.elementType, !0), this.tokenChar(91), this.tokenChar(93);
  }
  n(hBt, "TSArrayType");
  function fBt(t) {
    this.tokenChar(91), this.printList(t.elementTypes, this.shouldPrintTrailingComma("]")), this.tokenChar(93);
  }
  n(fBt, "TSTupleType");
  function dBt(t) {
    this.print(t.typeAnnotation), this.tokenChar(63);
  }
  n(dBt, "TSOptionalType");
  function mBt(t) {
    this.token("..."), this.print(t.typeAnnotation);
  }
  n(mBt, "TSRestType");
  function yBt(t) {
    this.print(t.label), t.optional && this.tokenChar(63), this.tokenChar(58), this.space(), this.print(t.elementType);
  }
  n(yBt, "TSNamedTupleMember");
  function gBt(t) {
    pae(this, t, "|");
  }
  n(gBt, "TSUnionType");
  function TBt(t) {
    pae(this, t, "&");
  }
  n(TBt, "TSIntersectionType");
  function pae(t, e, s) {
    var r;
    let i = 0;
    (r = t.tokenMap) != null && r.startMatches(e, s) && (i = 1, t.token(s)), t.printJoin(e.types, void 0, void 0, function(a) {
      this.space(), this.token(s, null, a + i), this.space();
    });
  }
  n(pae, "tsPrintUnionOrIntersectionType");
  function bBt(t) {
    this.print(t.checkType), this.space(), this.word("extends"), this.space(), this.print(t.extendsType), this.space(), this.tokenChar(63), this.
    space(), this.print(t.trueType), this.space(), this.tokenChar(58), this.space(), this.print(t.falseType);
  }
  n(bBt, "TSConditionalType");
  function xBt(t) {
    this.word("infer"), this.print(t.typeParameter);
  }
  n(xBt, "TSInferType");
  function SBt(t) {
    this.tokenChar(40), this.print(t.typeAnnotation), this.tokenChar(41);
  }
  n(SBt, "TSParenthesizedType");
  function PBt(t) {
    this.word(t.operator), this.space(), this.print(t.typeAnnotation);
  }
  n(PBt, "TSTypeOperator");
  function EBt(t) {
    this.print(t.objectType, !0), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(EBt, "TSIndexedAccessType");
  function ABt(t) {
    let {
      nameType: e,
      optional: s,
      readonly: r,
      typeAnnotation: i
    } = t;
    this.tokenChar(123);
    let a = this.enterDelimited();
    this.space(), r && (uae(this, r), this.word("readonly"), this.space()), this.tokenChar(91), this.word(t.typeParameter.name), this.space(),
    this.word("in"), this.space(), this.print(t.typeParameter.constraint), e && (this.space(), this.word("as"), this.space(), this.print(e)),
    this.tokenChar(93), s && (uae(this, s), this.tokenChar(63)), i && (this.tokenChar(58), this.space(), this.print(i)), this.space(), a(), this.
    tokenChar(125);
  }
  n(ABt, "TSMappedType");
  function uae(t, e) {
    e !== !0 && t.token(e);
  }
  n(uae, "tokenIfPlusMinus");
  function vBt(t) {
    this._printTemplate(t, t.types);
  }
  n(vBt, "TSTemplateLiteralType");
  function CBt(t) {
    this.print(t.literal);
  }
  n(CBt, "TSLiteralType");
  function wBt(t) {
    this.print(t.expression), this.print(t.typeArguments);
  }
  n(wBt, "TSClassImplements");
  function IBt(t) {
    let {
      declare: e,
      id: s,
      typeParameters: r,
      extends: i,
      body: a
    } = t;
    e && (this.word("declare"), this.space()), this.word("interface"), this.space(), this.print(s), this.print(r), i != null && i.length && (this.
    space(), this.word("extends"), this.space(), this.printList(i)), this.space(), this.print(a);
  }
  n(IBt, "TSInterfaceDeclaration");
  function NBt(t) {
    kA(this, t, () => this.printJoin(t.body, !0, !0));
  }
  n(NBt, "TSInterfaceBody");
  function kBt(t) {
    let {
      declare: e,
      id: s,
      typeParameters: r,
      typeAnnotation: i
    } = t;
    e && (this.word("declare"), this.space()), this.word("type"), this.space(), this.print(s), this.print(r), this.space(), this.tokenChar(61),
    this.space(), this.print(i), this.semicolon();
  }
  n(kBt, "TSTypeAliasDeclaration");
  function DBt(t) {
    let {
      type: e,
      expression: s,
      typeAnnotation: r
    } = t;
    this.print(s, !0), this.space(), this.word(e === "TSAsExpression" ? "as" : "satisfies"), this.space(), this.print(r);
  }
  n(DBt, "TSTypeExpression");
  function OBt(t) {
    let {
      typeAnnotation: e,
      expression: s
    } = t;
    this.tokenChar(60), this.print(e), this.tokenChar(62), this.space(), this.print(s);
  }
  n(OBt, "TSTypeAssertion");
  function _Bt(t) {
    this.print(t.expression), this.print(t.typeParameters);
  }
  n(_Bt, "TSInstantiationExpression");
  function LBt(t) {
    let {
      declare: e,
      const: s,
      id: r
    } = t;
    e && (this.word("declare"), this.space()), s && (this.word("const"), this.space()), this.word("enum"), this.space(), this.print(r), this.
    space(), hae.call(this, t);
  }
  n(LBt, "TSEnumDeclaration");
  function hae(t) {
    kA(this, t, () => {
      var e;
      return this.printList(t.members, (e = this.shouldPrintTrailingComma("}")) != null ? e : !0, !0, !0);
    });
  }
  n(hae, "TSEnumBody");
  function BBt(t) {
    let {
      id: e,
      initializer: s
    } = t;
    this.print(e), s && (this.space(), this.tokenChar(61), this.space(), this.print(s));
  }
  n(BBt, "TSEnumMember");
  function MBt(t) {
    let {
      declare: e,
      id: s,
      kind: r
    } = t;
    e && (this.word("declare"), this.space());
    {
      if (t.global || (this.word(r ?? (s.type === "Identifier" ? "namespace" : "module")), this.space()), this.print(s), !t.body) {
        this.semicolon();
        return;
      }
      let i = t.body;
      for (; i.type === "TSModuleDeclaration"; )
        this.tokenChar(46), this.print(i.id), i = i.body;
      this.space(), this.print(i);
    }
  }
  n(MBt, "TSModuleDeclaration");
  function FBt(t) {
    kA(this, t, () => this.printSequence(t.body, !0));
  }
  n(FBt, "TSModuleBlock");
  function jBt(t) {
    let {
      argument: e,
      qualifier: s,
      options: r
    } = t;
    this.word("import"), this.tokenChar(40), this.print(e), r && (this.tokenChar(44), this.print(r)), this.tokenChar(41), s && (this.tokenChar(
    46), this.print(s));
    let i = t.typeParameters;
    i && this.print(i);
  }
  n(jBt, "TSImportType");
  function RBt(t) {
    let {
      id: e,
      moduleReference: s
    } = t;
    t.isExport && (this.word("export"), this.space()), this.word("import"), this.space(), this.print(e), this.space(), this.tokenChar(61), this.
    space(), this.print(s), this.semicolon();
  }
  n(RBt, "TSImportEqualsDeclaration");
  function qBt(t) {
    this.token("require("), this.print(t.expression), this.tokenChar(41);
  }
  n(qBt, "TSExternalModuleReference");
  function UBt(t) {
    this.print(t.expression), this.tokenChar(33);
  }
  n(UBt, "TSNonNullExpression");
  function KBt(t) {
    this.word("export"), this.space(), this.tokenChar(61), this.space(), this.print(t.expression), this.semicolon();
  }
  n(KBt, "TSExportAssignment");
  function VBt(t) {
    this.word("export"), this.space(), this.word("as"), this.space(), this.word("namespace"), this.space(), this.print(t.id), this.semicolon();
  }
  n(VBt, "TSNamespaceExportDeclaration");
  function WBt(t) {
    let {
      typeParameters: e
    } = t, s = t.parameters;
    this.print(e), this.tokenChar(40), this._parameters(s, ")");
    let r = t.typeAnnotation;
    this.print(r);
  }
  n(WBt, "tsPrintSignatureDeclarationBase");
  function $Bt(t) {
    let e = t.type === "ClassPrivateProperty", s = t.type === "ClassAccessorProperty" || t.type === "ClassProperty";
    cae(this, t, [s && t.declare && "declare", !e && t.accessibility]), t.static && (this.word("static"), this.space()), cae(this, t, [!e &&
    t.override && "override", !e && t.abstract && "abstract", (s || e) && t.readonly && "readonly"]);
  }
  n($Bt, "tsPrintClassMemberModifiers");
  function kA(t, e, s) {
    t.token("{");
    let r = t.enterDelimited();
    s(), r(), t.rightBrace(e);
  }
  n(kA, "printBraced");
  function cae(t, e, s) {
    var r;
    let i = /* @__PURE__ */ new Set();
    for (let a of s)
      a && i.add(a);
    (r = t.tokenMap) == null || r.find(e, (a) => {
      if (i.has(a.value))
        return t.token(a.value), t.space(), i.delete(a.value), i.size === 0;
    });
    for (let a of i)
      t.word(a), t.space();
  }
  n(cae, "printModifiersList");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/generators/index.js
var dae = g((Ls) => {
  "use strict";
  Object.defineProperty(Ls, "__esModule", {
    value: !0
  });
  var kF = Wne();
  Object.keys(kF).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ls && Ls[t] === kF[t] || Object.defineProperty(Ls, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return kF[t];
      }, "get")
    });
  });
  var DF = Hne();
  Object.keys(DF).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ls && Ls[t] === DF[t] || Object.defineProperty(Ls, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return DF[t];
      }, "get")
    });
  });
  var OF = zne();
  Object.keys(OF).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ls && Ls[t] === OF[t] || Object.defineProperty(Ls, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return OF[t];
      }, "get")
    });
  });
  var _F = Gne();
  Object.keys(_F).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ls && Ls[t] === _F[t] || Object.defineProperty(Ls, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return _F[t];
      }, "get")
    });
  });
  var LF = Qne();
  Object.keys(LF).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ls && Ls[t] === LF[t] || Object.defineProperty(Ls, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return LF[t];
      }, "get")
    });
  });
  var BF = CF();
  Object.keys(BF).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ls && Ls[t] === BF[t] || Object.defineProperty(Ls, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return BF[t];
      }, "get")
    });
  });
  var MF = IF();
  Object.keys(MF).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ls && Ls[t] === MF[t] || Object.defineProperty(Ls, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return MF[t];
      }, "get")
    });
  });
  var FF = aae();
  Object.keys(FF).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ls && Ls[t] === FF[t] || Object.defineProperty(Ls, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return FF[t];
      }, "get")
    });
  });
  var jF = oae();
  Object.keys(jF).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ls && Ls[t] === jF[t] || Object.defineProperty(Ls, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return jF[t];
      }, "get")
    });
  });
  var RF = lae();
  Object.keys(RF).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ls && Ls[t] === RF[t] || Object.defineProperty(Ls, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return RF[t];
      }, "get")
    });
  });
  var qF = fae();
  Object.keys(qF).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ls && Ls[t] === qF[t] || Object.defineProperty(Ls, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return qF[t];
      }, "get")
    });
  });
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/generators/deprecated.js
var mae = g((UF) => {
  "use strict";
  Object.defineProperty(UF, "__esModule", {
    value: !0
  });
  UF.addDeprecatedGenerators = HBt;
  function HBt(t) {
    {
      let e = {
        Noop() {
        },
        TSExpressionWithTypeArguments(s) {
          this.print(s.expression), this.print(s.typeParameters);
        },
        DecimalLiteral(s) {
          let r = this.getPossibleRaw(s);
          if (!this.format.minified && r !== void 0) {
            this.word(r);
            return;
          }
          this.word(s.value + "m");
        }
      };
      Object.assign(t.prototype, e);
    }
  }
  n(HBt, "addDeprecatedGenerators");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/printer.js
var bae = g((DA) => {
  "use strict";
  Object.defineProperty(DA, "__esModule", {
    value: !0
  });
  DA.default = void 0;
  var JBt = Cne(), gae = bp(), YBt = fe(), XBt = Vne(), zBt = dae(), GBt = mae(), {
    isExpression: QBt,
    isFunction: ZBt,
    isStatement: eMt,
    isClassBody: tMt,
    isTSInterfaceBody: sMt,
    isTSEnumMember: rMt
  } = YBt, iMt = /e/i, nMt = /\.0+$/, Tae = /[\n\r\u2028\u2029]/, aMt = /[\n\r\u2028\u2029]|\*\//;
  function yae(t) {
    return t.type === "CommentLine" || Tae.test(t.value);
  }
  n(yae, "commentIsNewline");
  var {
    needsParens: oMt
  } = gae, X0 = class {
    static {
      n(this, "Printer");
    }
    constructor(e, s, r, i) {
      this.inForStatementInit = !1, this.tokenContext = 0, this._tokens = null, this._originalCode = null, this._currentNode = null, this._indent =
      0, this._indentRepeat = 0, this._insideAux = !1, this._noLineTerminator = !1, this._noLineTerminatorAfterNode = null, this._printAuxAfterOnNextUserNode =
      !1, this._printedComments = /* @__PURE__ */ new Set(), this._endsWithInteger = !1, this._endsWithWord = !1, this._endsWithDiv = !1, this.
      _lastCommentLine = 0, this._endsWithInnerRaw = !1, this._indentInnerComments = !0, this.tokenMap = null, this._boundGetRawIdentifier =
      this._getRawIdentifier.bind(this), this._printSemicolonBeforeNextNode = -1, this._printSemicolonBeforeNextToken = -1, this.format = e,
      this._tokens = r, this._originalCode = i, this._indentRepeat = e.indent.style.length, this._inputMap = s?._inputMap, this._buf = new JBt.
      default(s, e.indent.style[0]);
    }
    enterForStatementInit() {
      return this.inForStatementInit ? () => {
      } : (this.inForStatementInit = !0, () => {
        this.inForStatementInit = !1;
      });
    }
    enterDelimited() {
      let e = this.inForStatementInit, s = this._noLineTerminatorAfterNode;
      return e === !1 && s === null ? () => {
      } : (this.inForStatementInit = !1, this._noLineTerminatorAfterNode = null, () => {
        this.inForStatementInit = e, this._noLineTerminatorAfterNode = s;
      });
    }
    generate(e) {
      return this.format.preserveFormat && (this.tokenMap = new XBt.TokenMap(e, this._tokens, this._originalCode)), this.print(e), this._maybeAddAuxComment(),
      this._buf.get();
    }
    indent() {
      let {
        format: e
      } = this;
      e.preserveFormat || e.compact || e.concise || this._indent++;
    }
    dedent() {
      let {
        format: e
      } = this;
      e.preserveFormat || e.compact || e.concise || this._indent--;
    }
    semicolon(e = !1) {
      if (this._maybeAddAuxComment(), e) {
        this._appendChar(59), this._noLineTerminator = !1;
        return;
      }
      if (this.tokenMap) {
        let s = this._currentNode;
        if (s.start != null && s.end != null) {
          if (!this.tokenMap.endMatches(s, ";")) {
            this._printSemicolonBeforeNextNode = this._buf.getCurrentLine();
            return;
          }
          let r = this.tokenMap.getIndexes(this._currentNode);
          this._catchUpTo(this._tokens[r[r.length - 1]].loc.start);
        }
      }
      this._queue(59), this._noLineTerminator = !1;
    }
    rightBrace(e) {
      this.format.minified && this._buf.removeLastSemicolon(), this.sourceWithOffset("end", e.loc, -1), this.tokenChar(125);
    }
    rightParens(e) {
      this.sourceWithOffset("end", e.loc, -1), this.tokenChar(41);
    }
    space(e = !1) {
      let {
        format: s
      } = this;
      if (!(s.compact || s.preserveFormat)) {
        if (e)
          this._space();
        else if (this._buf.hasContent()) {
          let r = this.getLastChar();
          r !== 32 && r !== 10 && this._space();
        }
      }
    }
    word(e, s = !1) {
      this.tokenContext = 0, this._maybePrintInnerComments(e), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(e), (this.
      _endsWithWord || this._endsWithDiv && e.charCodeAt(0) === 47) && this._space(), this._append(e, !1), this._endsWithWord = !0, this._noLineTerminator =
      s;
    }
    number(e, s) {
      function r(i) {
        if (i.length > 2 && i.charCodeAt(0) === 48) {
          let a = i.charCodeAt(1);
          return a === 98 || a === 111 || a === 120;
        }
        return !1;
      }
      n(r, "isNonDecimalLiteral"), this.word(e), this._endsWithInteger = Number.isInteger(s) && !r(e) && !iMt.test(e) && !nMt.test(e) && e.charCodeAt(
      e.length - 1) !== 46;
    }
    token(e, s = !1, r = 0) {
      this.tokenContext = 0, this._maybePrintInnerComments(e, r), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(e,
      r);
      let i = this.getLastChar(), a = e.charCodeAt(0);
      (i === 33 && (e === "--" || a === 61) || a === 43 && i === 43 || a === 45 && i === 45 || a === 46 && this._endsWithInteger) && this._space(),
      this._append(e, s), this._noLineTerminator = !1;
    }
    tokenChar(e) {
      this.tokenContext = 0;
      let s = String.fromCharCode(e);
      this._maybePrintInnerComments(s), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(s);
      let r = this.getLastChar();
      (e === 43 && r === 43 || e === 45 && r === 45 || e === 46 && this._endsWithInteger) && this._space(), this._appendChar(e), this._noLineTerminator =
      !1;
    }
    newline(e = 1, s) {
      if (!(e <= 0)) {
        if (!s) {
          if (this.format.retainLines || this.format.compact) return;
          if (this.format.concise) {
            this.space();
            return;
          }
        }
        e > 2 && (e = 2), e -= this._buf.getNewlineCount();
        for (let r = 0; r < e; r++)
          this._newline();
      }
    }
    endsWith(e) {
      return this.getLastChar() === e;
    }
    getLastChar() {
      return this._buf.getLastChar();
    }
    endsWithCharAndNewline() {
      return this._buf.endsWithCharAndNewline();
    }
    removeTrailingNewline() {
      this._buf.removeTrailingNewline();
    }
    exactSource(e, s) {
      if (!e) {
        s();
        return;
      }
      this._catchUp("start", e), this._buf.exactSource(e, s);
    }
    source(e, s) {
      s && (this._catchUp(e, s), this._buf.source(e, s));
    }
    sourceWithOffset(e, s, r) {
      !s || this.format.preserveFormat || (this._catchUp(e, s), this._buf.sourceWithOffset(e, s, r));
    }
    sourceIdentifierName(e, s) {
      if (!this._buf._canMarkIdName) return;
      let r = this._buf._sourcePosition;
      r.identifierNamePos = s, r.identifierName = e;
    }
    _space() {
      this._queue(32);
    }
    _newline() {
      this._queue(10);
    }
    _catchUpToCurrentToken(e, s = 0) {
      let r = this.tokenMap.findMatching(this._currentNode, e, s);
      r && this._catchUpTo(r.loc.start), this._printSemicolonBeforeNextToken !== -1 && this._printSemicolonBeforeNextToken === this._buf.getCurrentLine() &&
      (this._buf.appendChar(59), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1), this._printSemicolonBeforeNextToken =
      -1, this._printSemicolonBeforeNextNode = -1;
    }
    _append(e, s) {
      this._maybeIndent(e.charCodeAt(0)), this._buf.append(e, s), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1;
    }
    _appendChar(e) {
      this._maybeIndent(e), this._buf.appendChar(e), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1;
    }
    _queue(e) {
      this._maybeIndent(e), this._buf.queue(e), this._endsWithWord = !1, this._endsWithInteger = !1;
    }
    _maybeIndent(e) {
      this._indent && e !== 10 && this.endsWith(10) && this._buf.queueIndentation(this._getIndent());
    }
    _shouldIndent(e) {
      if (this._indent && e !== 10 && this.endsWith(10))
        return !0;
    }
    catchUp(e) {
      if (!this.format.retainLines) return;
      let s = e - this._buf.getCurrentLine();
      for (let r = 0; r < s; r++)
        this._newline();
    }
    _catchUp(e, s) {
      let {
        format: r
      } = this;
      if (!r.preserveFormat) {
        r.retainLines && s != null && s[e] && this.catchUp(s[e].line);
        return;
      }
      let i = s?.[e];
      i != null && this._catchUpTo(i);
    }
    _catchUpTo({
      line: e,
      column: s,
      index: r
    }) {
      let i = e - this._buf.getCurrentLine();
      if (i > 0 && this._noLineTerminator)
        return;
      for (let o = 0; o < i; o++)
        this._newline();
      let a = i > 0 ? s : s - this._buf.getCurrentColumn();
      if (a > 0) {
        let o = this._originalCode ? this._originalCode.slice(r - a, r).replace(/[^\t\x0B\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/gu,
        " ") : " ".repeat(a);
        this._append(o, !1);
      }
    }
    _getIndent() {
      return this._indentRepeat * this._indent;
    }
    printTerminatorless(e) {
      this._noLineTerminator = !0, this.print(e);
    }
    print(e, s, r) {
      var i, a, o;
      if (!e) return;
      this._endsWithInnerRaw = !1;
      let l = e.type, u = this.format, c = u.concise;
      e._compact && (u.concise = !0);
      let p = this[l];
      if (p === void 0)
        throw new ReferenceError(`unknown node of type ${JSON.stringify(l)} with constructor ${JSON.stringify(e.constructor.name)}`);
      let h = this._currentNode;
      this._currentNode = e, this.tokenMap && (this._printSemicolonBeforeNextToken = this._printSemicolonBeforeNextNode);
      let f = this._insideAux;
      this._insideAux = e.loc == null, this._maybeAddAuxComment(this._insideAux && !f);
      let d = (i = e.extra) == null ? void 0 : i.parenthesized, m = d && u.preserveFormat || d && u.retainFunctionParens && l === "FunctionE\
xpression" || oMt(e, h, this.tokenContext, this.inForStatementInit, u.preserveFormat ? this._boundGetRawIdentifier : void 0);
      if (!m && d && (a = e.leadingComments) != null && a.length && e.leadingComments[0].type === "CommentBlock")
        switch (h?.type) {
          case "ExpressionStatement":
          case "VariableDeclarator":
          case "AssignmentExpression":
          case "ReturnStatement":
            break;
          case "CallExpression":
          case "OptionalCallExpression":
          case "NewExpression":
            if (h.callee !== e) break;
          default:
            m = !0;
        }
      let y = !1;
      !m && this._noLineTerminator && ((o = e.leadingComments) != null && o.some(yae) || this.format.retainLines && e.loc && e.loc.start.line >
      this._buf.getCurrentLine()) && (m = !0, y = !0);
      let T, b;
      if (!m && (s || (s = h && this._noLineTerminatorAfterNode === h && gae.isLastChild(h, e)), s)) {
        var E;
        (E = e.trailingComments) != null && E.some(yae) ? QBt(e) && (m = !0) : (T = this._noLineTerminatorAfterNode, this._noLineTerminatorAfterNode =
        e);
      }
      m && (this.tokenChar(40), y && this.indent(), this._endsWithInnerRaw = !1, this.inForStatementInit && (b = !0, this.inForStatementInit =
      !1), T = this._noLineTerminatorAfterNode, this._noLineTerminatorAfterNode = null), this._lastCommentLine = 0, this._printLeadingComments(
      e, h);
      let V = l === "Program" || l === "File" ? null : e.loc;
      this.exactSource(V, p.bind(this, e, h)), m ? (this._printTrailingComments(e, h), y && (this.dedent(), this.newline()), this.tokenChar(
      41), this._noLineTerminator = s, b && (this.inForStatementInit = !0)) : s && !this._noLineTerminator ? (this._noLineTerminator = !0, this.
      _printTrailingComments(e, h)) : this._printTrailingComments(e, h, r), this._currentNode = h, u.concise = c, this._insideAux = f, T !==
      void 0 && (this._noLineTerminatorAfterNode = T), this._endsWithInnerRaw = !1;
    }
    _maybeAddAuxComment(e) {
      e && this._printAuxBeforeComment(), this._insideAux || this._printAuxAfterComment();
    }
    _printAuxBeforeComment() {
      if (this._printAuxAfterOnNextUserNode) return;
      this._printAuxAfterOnNextUserNode = !0;
      let e = this.format.auxiliaryCommentBefore;
      e && this._printComment({
        type: "CommentBlock",
        value: e
      }, 0);
    }
    _printAuxAfterComment() {
      if (!this._printAuxAfterOnNextUserNode) return;
      this._printAuxAfterOnNextUserNode = !1;
      let e = this.format.auxiliaryCommentAfter;
      e && this._printComment({
        type: "CommentBlock",
        value: e
      }, 0);
    }
    getPossibleRaw(e) {
      let s = e.extra;
      if (s?.raw != null && s.rawValue != null && e.value === s.rawValue)
        return s.raw;
    }
    printJoin(e, s, r, i, a, o, l, u) {
      if (!(e != null && e.length)) return;
      if (r == null && this.format.retainLines) {
        var c;
        let y = (c = e[0].loc) == null ? void 0 : c.start.line;
        y != null && y !== this._buf.getCurrentLine() && (r = !0);
      }
      r && this.indent();
      let p = {
        addNewlines: o,
        nextNodeStartLine: 0
      }, h = i?.bind(this), f = e.length;
      for (let y = 0; y < f; y++) {
        let T = e[y];
        if (T && (s && this._printNewline(y === 0, p), this.print(T, void 0, u || 0), l?.(T, y), h != null && (y < f - 1 ? h(y, !1) : a && h(
        y, !0)), s)) {
          var d;
          if ((d = T.trailingComments) != null && d.length || (this._lastCommentLine = 0), y + 1 === f)
            this.newline(1);
          else {
            var m;
            let b = e[y + 1];
            p.nextNodeStartLine = ((m = b.loc) == null ? void 0 : m.start.line) || 0, this._printNewline(!0, p);
          }
        }
      }
      r && this.dedent();
    }
    printAndIndentOnComments(e) {
      let s = e.leadingComments && e.leadingComments.length > 0;
      s && this.indent(), this.print(e), s && this.dedent();
    }
    printBlock(e) {
      let s = e.body;
      s.type !== "EmptyStatement" && this.space(), this.print(s);
    }
    _printTrailingComments(e, s, r) {
      let {
        innerComments: i,
        trailingComments: a
      } = e;
      i != null && i.length && this._printComments(2, i, e, s, r), a != null && a.length && this._printComments(2, a, e, s, r);
    }
    _printLeadingComments(e, s) {
      let r = e.leadingComments;
      r != null && r.length && this._printComments(0, r, e, s);
    }
    _maybePrintInnerComments(e, s) {
      if (this._endsWithInnerRaw) {
        var r;
        this.printInnerComments((r = this.tokenMap) == null ? void 0 : r.findMatching(this._currentNode, e, s));
      }
      this._endsWithInnerRaw = !0, this._indentInnerComments = !0;
    }
    printInnerComments(e) {
      let s = this._currentNode, r = s.innerComments;
      if (!(r != null && r.length)) return;
      let i = this.endsWith(32), a = this._indentInnerComments, o = this._printedComments.size;
      a && this.indent(), this._printComments(1, r, s, void 0, void 0, e), i && o !== this._printedComments.size && this.space(), a && this.
      dedent();
    }
    noIndentInnerCommentsHere() {
      this._indentInnerComments = !1;
    }
    printSequence(e, s, r, i) {
      this.printJoin(e, !0, s ?? !1, void 0, void 0, i, void 0, r);
    }
    printList(e, s, r, i, a, o) {
      this.printJoin(e, r, i, a ?? lMt, s, void 0, o);
    }
    shouldPrintTrailingComma(e) {
      if (!this.tokenMap) return null;
      let s = this.tokenMap.findLastIndex(this._currentNode, (r) => this.tokenMap.matchesOriginal(r, e));
      return s <= 0 ? null : this.tokenMap.matchesOriginal(this._tokens[s - 1], ",");
    }
    _printNewline(e, s) {
      let r = this.format;
      if (r.retainLines || r.compact) return;
      if (r.concise) {
        this.space();
        return;
      }
      if (!e)
        return;
      let i = s.nextNodeStartLine, a = this._lastCommentLine;
      if (i > 0 && a > 0) {
        let o = i - a;
        if (o >= 0) {
          this.newline(o || 1);
          return;
        }
      }
      this._buf.hasContent() && this.newline(1);
    }
    _shouldPrintComment(e, s) {
      if (e.ignore || this._printedComments.has(e)) return 0;
      if (this._noLineTerminator && aMt.test(e.value))
        return 2;
      if (s && this.tokenMap) {
        let r = this.tokenMap.find(this._currentNode, (i) => i.value === e.value);
        if (r && r.start > s.start)
          return 2;
      }
      return this._printedComments.add(e), this.format.shouldPrintComment(e.value) ? 1 : 0;
    }
    _printComment(e, s) {
      let r = this._noLineTerminator, i = e.type === "CommentBlock", a = i && s !== 1 && !this._noLineTerminator;
      a && this._buf.hasContent() && s !== 2 && this.newline(1);
      let o = this.getLastChar();
      o !== 91 && o !== 123 && o !== 40 && this.space();
      let l;
      if (i) {
        if (l = `/*${e.value}*/`, this.format.indent.adjustMultilineComment) {
          var u;
          let c = (u = e.loc) == null ? void 0 : u.start.column;
          if (c) {
            let p = new RegExp("\\n\\s{1," + c + "}", "g");
            l = l.replace(p, `
`);
          }
          if (this.format.concise)
            l = l.replace(/\n(?!$)/g, `
`);
          else {
            let p = this.format.retainLines ? 0 : this._buf.getCurrentColumn();
            (this._shouldIndent(47) || this.format.retainLines) && (p += this._getIndent()), l = l.replace(/\n(?!$)/g, `
${" ".repeat(p)}`);
          }
        }
      } else r ? l = `/*${e.value}*/` : l = `//${e.value}`;
      if (this._endsWithDiv && this._space(), this.tokenMap) {
        let {
          _printSemicolonBeforeNextToken: c,
          _printSemicolonBeforeNextNode: p
        } = this;
        this._printSemicolonBeforeNextToken = -1, this._printSemicolonBeforeNextNode = -1, this.source("start", e.loc), this._append(l, i), this.
        _printSemicolonBeforeNextNode = p, this._printSemicolonBeforeNextToken = c;
      } else
        this.source("start", e.loc), this._append(l, i);
      !i && !r && this.newline(1, !0), a && s !== 3 && this.newline(1);
    }
    _printComments(e, s, r, i, a = 0, o) {
      let l = r.loc, u = s.length, c = !!l, p = c ? l.start.line : 0, h = c ? l.end.line : 0, f = 0, d = 0, m = this._noLineTerminator ? function() {
      } : this.newline.bind(this);
      for (let y = 0; y < u; y++) {
        let T = s[y], b = this._shouldPrintComment(T, o);
        if (b === 2) {
          c = !1;
          break;
        }
        if (c && T.loc && b === 1) {
          let E = T.loc.start.line, V = T.loc.end.line;
          if (e === 0) {
            let W = 0;
            y === 0 ? this._buf.hasContent() && (T.type === "CommentLine" || E !== V) && (W = d = 1) : W = E - f, f = V, m(W), this._printComment(
            T, 1), y + 1 === u && (m(Math.max(p - f, d)), f = p);
          } else if (e === 1) {
            let W = E - (y === 0 ? p : f);
            f = V, m(W), this._printComment(T, 1), y + 1 === u && (m(Math.min(1, h - f)), f = h);
          } else {
            let W = E - (y === 0 ? h - a : f);
            f = V, m(W), this._printComment(T, 1);
          }
        } else {
          if (c = !1, b !== 1)
            continue;
          if (u === 1) {
            let E = T.loc ? T.loc.start.line === T.loc.end.line : !Tae.test(T.value), V = E && !eMt(r) && !tMt(i) && !sMt(i) && !rMt(r);
            e === 0 ? this._printComment(T, V && r.type !== "ObjectExpression" || E && ZBt(i, {
              body: r
            }) ? 1 : 0) : V && e === 2 ? this._printComment(T, 1) : this._printComment(T, 0);
          } else e === 1 && !(r.type === "ObjectExpression" && r.properties.length > 1) && r.type !== "ClassBody" && r.type !== "TSInterface\
Body" ? this._printComment(T, y === 0 ? 2 : y === u - 1 ? 3 : 0) : this._printComment(T, 0);
        }
      }
      e === 2 && c && f && (this._lastCommentLine = f);
    }
  };
  Object.assign(X0.prototype, zBt);
  (0, GBt.addDeprecatedGenerators)(X0);
  var MXs = DA.default = X0;
  function lMt(t, e) {
    this.token(",", !1, t), e || this.space();
  }
  n(lMt, "commaSeparator");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator/lib/index.js
var Eae = g((OA) => {
  "use strict";
  Object.defineProperty(OA, "__esModule", {
    value: !0
  });
  OA.default = uMt;
  var xae = vne(), Sae = bae();
  function Pae(t, e, s) {
    if (e.experimental_preserveFormat) {
      if (typeof t != "string")
        throw new Error("`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string");
      if (!e.retainLines)
        throw new Error("`experimental_preserveFormat` requires `retainLines` to be set to `true`");
      if (e.compact && e.compact !== "auto")
        throw new Error("`experimental_preserveFormat` is not compatible with the `compact` option");
      if (e.minified)
        throw new Error("`experimental_preserveFormat` is not compatible with the `minified` option");
      if (e.jsescOption)
        throw new Error("`experimental_preserveFormat` is not compatible with the `jsescOption` option");
      if (!Array.isArray(s.tokens))
        throw new Error("`experimental_preserveFormat` requires the AST to have attatched the token of the input code. Make sure to enable t\
he `tokens: true` parser option.");
    }
    let r = {
      auxiliaryCommentBefore: e.auxiliaryCommentBefore,
      auxiliaryCommentAfter: e.auxiliaryCommentAfter,
      shouldPrintComment: e.shouldPrintComment,
      preserveFormat: e.experimental_preserveFormat,
      retainLines: e.retainLines,
      retainFunctionParens: e.retainFunctionParens,
      comments: e.comments == null || e.comments,
      compact: e.compact,
      minified: e.minified,
      concise: e.concise,
      indent: {
        adjustMultilineComment: !0,
        style: "  "
      },
      jsescOption: Object.assign({
        quotes: "double",
        wrap: !0,
        minimal: !1
      }, e.jsescOption),
      topicToken: e.topicToken,
      importAttributesKeyword: e.importAttributesKeyword
    };
    {
      var i;
      r.decoratorsBeforeExport = e.decoratorsBeforeExport, r.jsescOption.json = e.jsonCompatibleStrings, r.recordAndTupleSyntaxType = (i = e.
      recordAndTupleSyntaxType) != null ? i : "hash";
    }
    r.minified ? (r.compact = !0, r.shouldPrintComment = r.shouldPrintComment || (() => r.comments)) : r.shouldPrintComment = r.shouldPrintComment ||
    ((u) => r.comments || u.includes("@license") || u.includes("@preserve")), r.compact === "auto" && (r.compact = typeof t == "string" && t.
    length > 5e5, r.compact && console.error(`[BABEL] Note: The code generator has deoptimised the styling of ${e.filename} as it exceeds th\
e max of 500KB.`)), (r.compact || r.preserveFormat) && (r.indent.adjustMultilineComment = !1);
    let {
      auxiliaryCommentBefore: a,
      auxiliaryCommentAfter: o,
      shouldPrintComment: l
    } = r;
    return a && !l(a) && (r.auxiliaryCommentBefore = void 0), o && !l(o) && (r.auxiliaryCommentAfter = void 0), r;
  }
  n(Pae, "normalizeOptions");
  OA.CodeGenerator = class {
    static {
      n(this, "CodeGenerator");
    }
    constructor(e, s = {}, r) {
      this._ast = void 0, this._format = void 0, this._map = void 0, this._ast = e, this._format = Pae(r, s, e), this._map = s.sourceMaps ? new xae.
      default(s, r) : null;
    }
    generate() {
      return new Sae.default(this._format, this._map).generate(this._ast);
    }
  };
  function uMt(t, e = {}, s) {
    let r = Pae(s, e, t), i = e.sourceMaps ? new xae.default(e, s) : null;
    return new Sae.default(r, i, t.tokens, typeof s == "string" ? s : null).generate(t);
  }
  n(uMt, "generate");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/ancestry.js
var Aae = g((Xa) => {
  "use strict";
  Object.defineProperty(Xa, "__esModule", {
    value: !0
  });
  Xa.find = fMt;
  Xa.findParent = hMt;
  Xa.getAncestry = TMt;
  Xa.getDeepestCommonAncestorFrom = gMt;
  Xa.getEarliestCommonAncestorFrom = yMt;
  Xa.getFunctionParent = dMt;
  Xa.getStatementParent = mMt;
  Xa.inType = SMt;
  Xa.isAncestor = bMt;
  Xa.isDescendant = xMt;
  var cMt = fe(), {
    VISITOR_KEYS: pMt
  } = cMt;
  function hMt(t) {
    let e = this;
    for (; e = e.parentPath; )
      if (t(e)) return e;
    return null;
  }
  n(hMt, "findParent");
  function fMt(t) {
    let e = this;
    do
      if (t(e)) return e;
    while (e = e.parentPath);
    return null;
  }
  n(fMt, "find");
  function dMt() {
    return this.findParent((t) => t.isFunction());
  }
  n(dMt, "getFunctionParent");
  function mMt() {
    let t = this;
    do {
      if (!t.parentPath || Array.isArray(t.container) && t.isStatement())
        break;
      t = t.parentPath;
    } while (t);
    if (t && (t.isProgram() || t.isFile()))
      throw new Error("File/Program node, we can't possibly find a statement parent to this");
    return t;
  }
  n(mMt, "getStatementParent");
  function yMt(t) {
    return this.getDeepestCommonAncestorFrom(t, function(e, s, r) {
      let i, a = pMt[e.type];
      for (let o of r) {
        let l = o[s + 1];
        if (!i) {
          i = l;
          continue;
        }
        if (l.listKey && i.listKey === l.listKey && l.key < i.key) {
          i = l;
          continue;
        }
        let u = a.indexOf(i.parentKey), c = a.indexOf(l.parentKey);
        u > c && (i = l);
      }
      return i;
    });
  }
  n(yMt, "getEarliestCommonAncestorFrom");
  function gMt(t, e) {
    if (!t.length)
      return this;
    if (t.length === 1)
      return t[0];
    let s = 1 / 0, r, i, a = t.map((l) => {
      let u = [];
      do
        u.unshift(l);
      while ((l = l.parentPath) && l !== this);
      return u.length < s && (s = u.length), u;
    }), o = a[0];
    e: for (let l = 0; l < s; l++) {
      let u = o[l];
      for (let c of a)
        if (c[l] !== u)
          break e;
      r = l, i = u;
    }
    if (i)
      return e ? e(i, r, a) : i;
    throw new Error("Couldn't find intersection");
  }
  n(gMt, "getDeepestCommonAncestorFrom");
  function TMt() {
    let t = this, e = [];
    do
      e.push(t);
    while (t = t.parentPath);
    return e;
  }
  n(TMt, "getAncestry");
  function bMt(t) {
    return t.isDescendant(this);
  }
  n(bMt, "isAncestor");
  function xMt(t) {
    return !!this.findParent((e) => e === t);
  }
  n(xMt, "isDescendant");
  function SMt(...t) {
    let e = this;
    for (; e; ) {
      for (let s of t)
        if (e.node.type === s) return !0;
      e = e.parentPath;
    }
    return !1;
  }
  n(SMt, "inType");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/inference/util.js
var VF = g((KF) => {
  "use strict";
  Object.defineProperty(KF, "__esModule", {
    value: !0
  });
  KF.createUnionType = CMt;
  var PMt = fe(), {
    createFlowUnionType: vae,
    createTSUnionType: Cae,
    createUnionTypeAnnotation: EMt,
    isFlowType: AMt,
    isTSType: vMt
  } = PMt;
  function CMt(t) {
    {
      if (t.every((e) => AMt(e)))
        return vae ? vae(t) : EMt(t);
      if (t.every((e) => vMt(e)) && Cae)
        return Cae(t);
    }
  }
  n(CMt, "createUnionType");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js
var Dae = g((WF) => {
  "use strict";
  Object.defineProperty(WF, "__esModule", {
    value: !0
  });
  WF.default = DMt;
  var wMt = fe(), Iae = VF(), {
    BOOLEAN_NUMBER_BINARY_OPERATORS: IMt,
    createTypeAnnotationBasedOnTypeof: NMt,
    numberTypeAnnotation: Nae,
    voidTypeAnnotation: kMt
  } = wMt;
  function DMt(t) {
    if (!this.isReferenced()) return;
    let e = this.scope.getBinding(t.name);
    if (e)
      return e.identifier.typeAnnotation ? e.identifier.typeAnnotation : OMt(e, this, t.name);
    if (t.name === "undefined")
      return kMt();
    if (t.name === "NaN" || t.name === "Infinity")
      return Nae();
    t.name;
  }
  n(DMt, "_default");
  function OMt(t, e, s) {
    let r = [], i = [], a = wae(t, e, i), o = kae(t, e, s);
    if (o) {
      let l = wae(t, o.ifStatement);
      a = a.filter((u) => !l.includes(u)), r.push(o.typeAnnotation);
    }
    if (a.length) {
      a.push(...i);
      for (let l of a)
        r.push(l.getTypeAnnotation());
    }
    if (r.length)
      return (0, Iae.createUnionType)(r);
  }
  n(OMt, "getTypeAnnotationBindingConstantViolations");
  function wae(t, e, s) {
    let r = t.constantViolations.slice();
    return r.unshift(t.path), r.filter((i) => {
      i = i.resolve();
      let a = i._guessExecutionStatusRelativeTo(e);
      return s && a === "unknown" && s.push(i), a === "before";
    });
  }
  n(wae, "getConstantViolationsBefore");
  function _Mt(t, e) {
    let s = e.node.operator, r = e.get("right").resolve(), i = e.get("left").resolve(), a;
    if (i.isIdentifier({
      name: t
    }) ? a = r : r.isIdentifier({
      name: t
    }) && (a = i), a)
      return s === "===" ? a.getTypeAnnotation() : IMt.includes(s) ? Nae() : void 0;
    if (s !== "===" && s !== "==") return;
    let o, l;
    if (i.isUnaryExpression({
      operator: "typeof"
    }) ? (o = i, l = r) : r.isUnaryExpression({
      operator: "typeof"
    }) && (o = r, l = i), !o || !o.get("argument").isIdentifier({
      name: t
    }) || (l = l.resolve(), !l.isLiteral())) return;
    let u = l.node.value;
    if (typeof u == "string")
      return NMt(u);
  }
  n(_Mt, "inferAnnotationFromBinaryExpression");
  function LMt(t, e, s) {
    let r;
    for (; r = e.parentPath; ) {
      if (r.isIfStatement() || r.isConditionalExpression())
        return e.key === "test" ? void 0 : r;
      if (r.isFunction() && r.parentPath.scope.getBinding(s) !== t)
        return;
      e = r;
    }
  }
  n(LMt, "getParentConditionalPath");
  function kae(t, e, s) {
    let r = LMt(t, e, s);
    if (!r) return;
    let a = [r.get("test")], o = [];
    for (let l = 0; l < a.length; l++) {
      let u = a[l];
      if (u.isLogicalExpression())
        u.node.operator === "&&" && (a.push(u.get("left")), a.push(u.get("right")));
      else if (u.isBinaryExpression()) {
        let c = _Mt(s, u);
        c && o.push(c);
      }
    }
    return o.length ? {
      typeAnnotation: (0, Iae.createUnionType)(o),
      ifStatement: r
    } : kae(t, r, s);
  }
  n(kae, "getConditionalAnnotation");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/inference/inferers.js
var Rae = g((tr) => {
  "use strict";
  Object.defineProperty(tr, "__esModule", {
    value: !0
  });
  tr.ArrayExpression = Mae;
  tr.AssignmentExpression = rFt;
  tr.BinaryExpression = QMt;
  tr.BooleanLiteral = oFt;
  tr.CallExpression = yFt;
  tr.ConditionalExpression = eFt;
  tr.ClassDeclaration = tr.ClassExpression = tr.FunctionDeclaration = tr.ArrowFunctionExpression = tr.FunctionExpression = pFt;
  Object.defineProperty(tr, "Identifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return MMt.default;
    }, "get")
  });
  tr.LogicalExpression = ZMt;
  tr.NewExpression = XMt;
  tr.NullLiteral = lFt;
  tr.NumericLiteral = aFt;
  tr.ObjectExpression = cFt;
  tr.ParenthesizedExpression = sFt;
  tr.RegExpLiteral = uFt;
  tr.RestElement = Fae;
  tr.SequenceExpression = tFt;
  tr.StringLiteral = nFt;
  tr.TSAsExpression = Bae;
  tr.TSNonNullExpression = YMt;
  tr.TaggedTemplateExpression = gFt;
  tr.TemplateLiteral = zMt;
  tr.TypeCastExpression = Lae;
  tr.UnaryExpression = GMt;
  tr.UpdateExpression = iFt;
  tr.VariableDeclarator = JMt;
  var BMt = fe(), MMt = Dae(), _ae = VF(), {
    BOOLEAN_BINARY_OPERATORS: FMt,
    BOOLEAN_UNARY_OPERATORS: jMt,
    NUMBER_BINARY_OPERATORS: RMt,
    NUMBER_UNARY_OPERATORS: qMt,
    STRING_UNARY_OPERATORS: UMt,
    anyTypeAnnotation: Oae,
    arrayTypeAnnotation: $F,
    booleanTypeAnnotation: HF,
    buildMatchMemberExpression: _A,
    genericTypeAnnotation: xp,
    identifier: yf,
    nullLiteralTypeAnnotation: KMt,
    numberTypeAnnotation: Mm,
    stringTypeAnnotation: gf,
    tupleTypeAnnotation: VMt,
    unionTypeAnnotation: WMt,
    voidTypeAnnotation: $Mt,
    isIdentifier: HMt
  } = BMt;
  function JMt() {
    if (this.get("id").isIdentifier())
      return this.get("init").getTypeAnnotation();
  }
  n(JMt, "VariableDeclarator");
  function Lae(t) {
    return t.typeAnnotation;
  }
  n(Lae, "TypeCastExpression");
  Lae.validParent = !0;
  function Bae(t) {
    return t.typeAnnotation;
  }
  n(Bae, "TSAsExpression");
  Bae.validParent = !0;
  function YMt() {
    return this.get("expression").getTypeAnnotation();
  }
  n(YMt, "TSNonNullExpression");
  function XMt(t) {
    if (t.callee.type === "Identifier")
      return xp(t.callee);
  }
  n(XMt, "NewExpression");
  function zMt() {
    return gf();
  }
  n(zMt, "TemplateLiteral");
  function GMt(t) {
    let e = t.operator;
    if (e === "void")
      return $Mt();
    if (qMt.includes(e))
      return Mm();
    if (UMt.includes(e))
      return gf();
    if (jMt.includes(e))
      return HF();
  }
  n(GMt, "UnaryExpression");
  function QMt(t) {
    let e = t.operator;
    if (RMt.includes(e))
      return Mm();
    if (FMt.includes(e))
      return HF();
    if (e === "+") {
      let s = this.get("right"), r = this.get("left");
      return r.isBaseType("number") && s.isBaseType("number") ? Mm() : r.isBaseType("string") || s.isBaseType("string") ? gf() : WMt([gf(), Mm()]);
    }
  }
  n(QMt, "BinaryExpression");
  function ZMt() {
    let t = [this.get("left").getTypeAnnotation(), this.get("right").getTypeAnnotation()];
    return (0, _ae.createUnionType)(t);
  }
  n(ZMt, "LogicalExpression");
  function eFt() {
    let t = [this.get("consequent").getTypeAnnotation(), this.get("alternate").getTypeAnnotation()];
    return (0, _ae.createUnionType)(t);
  }
  n(eFt, "ConditionalExpression");
  function tFt() {
    return this.get("expressions").pop().getTypeAnnotation();
  }
  n(tFt, "SequenceExpression");
  function sFt() {
    return this.get("expression").getTypeAnnotation();
  }
  n(sFt, "ParenthesizedExpression");
  function rFt() {
    return this.get("right").getTypeAnnotation();
  }
  n(rFt, "AssignmentExpression");
  function iFt(t) {
    let e = t.operator;
    if (e === "++" || e === "--")
      return Mm();
  }
  n(iFt, "UpdateExpression");
  function nFt() {
    return gf();
  }
  n(nFt, "StringLiteral");
  function aFt() {
    return Mm();
  }
  n(aFt, "NumericLiteral");
  function oFt() {
    return HF();
  }
  n(oFt, "BooleanLiteral");
  function lFt() {
    return KMt();
  }
  n(lFt, "NullLiteral");
  function uFt() {
    return xp(yf("RegExp"));
  }
  n(uFt, "RegExpLiteral");
  function cFt() {
    return xp(yf("Object"));
  }
  n(cFt, "ObjectExpression");
  function Mae() {
    return xp(yf("Array"));
  }
  n(Mae, "ArrayExpression");
  function Fae() {
    return Mae();
  }
  n(Fae, "RestElement");
  Fae.validParent = !0;
  function pFt() {
    return xp(yf("Function"));
  }
  n(pFt, "Func");
  var hFt = _A("Array.from"), fFt = _A("Object.keys"), dFt = _A("Object.values"), mFt = _A("Object.entries");
  function yFt() {
    let {
      callee: t
    } = this.node;
    return fFt(t) ? $F(gf()) : hFt(t) || dFt(t) || HMt(t, {
      name: "Array"
    }) ? $F(Oae()) : mFt(t) ? $F(VMt([gf(), Oae()])) : jae(this.get("callee"));
  }
  n(yFt, "CallExpression");
  function gFt() {
    return jae(this.get("tag"));
  }
  n(gFt, "TaggedTemplateExpression");
  function jae(t) {
    if (t = t.resolve(), t.isFunction()) {
      let {
        node: e
      } = t;
      if (e.async)
        return e.generator ? xp(yf("AsyncIterator")) : xp(yf("Promise"));
      if (e.generator)
        return xp(yf("Iterator"));
      if (t.node.returnType)
        return t.node.returnType;
    }
  }
  n(jae, "resolveCall");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/inference/index.js
var Wae = g((Sp) => {
  "use strict";
  Object.defineProperty(Sp, "__esModule", {
    value: !0
  });
  Sp._getTypeAnnotation = Vae;
  Sp.baseTypeStrictlyMatches = RFt;
  Sp.couldBeBaseType = jFt;
  Sp.getTypeAnnotation = MFt;
  Sp.isBaseType = FFt;
  Sp.isGenericType = qFt;
  var qae = Rae(), TFt = fe(), {
    anyTypeAnnotation: Kae,
    isAnyTypeAnnotation: LA,
    isArrayTypeAnnotation: bFt,
    isBooleanTypeAnnotation: xFt,
    isEmptyTypeAnnotation: SFt,
    isFlowBaseAnnotation: PFt,
    isGenericTypeAnnotation: EFt,
    isIdentifier: Uae,
    isMixedTypeAnnotation: AFt,
    isNumberTypeAnnotation: vFt,
    isStringTypeAnnotation: CFt,
    isTSArrayType: wFt,
    isTSTypeAnnotation: IFt,
    isTSTypeReference: NFt,
    isTupleTypeAnnotation: kFt,
    isTypeAnnotation: DFt,
    isUnionTypeAnnotation: OFt,
    isVoidTypeAnnotation: _Ft,
    stringTypeAnnotation: LFt,
    voidTypeAnnotation: BFt
  } = TFt;
  function MFt() {
    let t = this.getData("typeAnnotation");
    return t != null || (t = Vae.call(this) || Kae(), (DFt(t) || IFt(t)) && (t = t.typeAnnotation), this.setData("typeAnnotation", t)), t;
  }
  n(MFt, "getTypeAnnotation");
  var JF = /* @__PURE__ */ new WeakSet();
  function Vae() {
    let t = this.node;
    if (!t)
      if (this.key === "init" && this.parentPath.isVariableDeclarator()) {
        let s = this.parentPath.parentPath, r = s.parentPath;
        return s.key === "left" && r.isForInStatement() ? LFt() : s.key === "left" && r.isForOfStatement() ? Kae() : BFt();
      } else
        return;
    if (t.typeAnnotation)
      return t.typeAnnotation;
    if (!JF.has(t)) {
      JF.add(t);
      try {
        var e;
        let s = qae[t.type];
        if (s)
          return s.call(this, t);
        if (s = qae[this.parentPath.type], (e = s) != null && e.validParent)
          return this.parentPath.getTypeAnnotation();
      } finally {
        JF.delete(t);
      }
    }
  }
  n(Vae, "_getTypeAnnotation");
  function FFt(t, e) {
    return YF(t, this.getTypeAnnotation(), e);
  }
  n(FFt, "isBaseType");
  function YF(t, e, s) {
    if (t === "string")
      return CFt(e);
    if (t === "number")
      return vFt(e);
    if (t === "boolean")
      return xFt(e);
    if (t === "any")
      return LA(e);
    if (t === "mixed")
      return AFt(e);
    if (t === "empty")
      return SFt(e);
    if (t === "void")
      return _Ft(e);
    if (s)
      return !1;
    throw new Error(`Unknown base type ${t}`);
  }
  n(YF, "_isBaseType");
  function jFt(t) {
    let e = this.getTypeAnnotation();
    if (LA(e)) return !0;
    if (OFt(e)) {
      for (let s of e.types)
        if (LA(s) || YF(t, s, !0))
          return !0;
      return !1;
    } else
      return YF(t, e, !0);
  }
  n(jFt, "couldBeBaseType");
  function RFt(t) {
    let e = this.getTypeAnnotation(), s = t.getTypeAnnotation();
    return !LA(e) && PFt(e) ? s.type === e.type : !1;
  }
  n(RFt, "baseTypeStrictlyMatches");
  function qFt(t) {
    let e = this.getTypeAnnotation();
    return t === "Array" && (wFt(e) || bFt(e) || kFt(e)) ? !0 : EFt(e) && Uae(e.id, {
      name: t
    }) || NFt(e) && Uae(e.typeName, {
      name: t
    });
  }
  n(qFt, "isGenericType");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/lib/removal-hooks.js
var $ae = g((BA) => {
  "use strict";
  Object.defineProperty(BA, "__esModule", {
    value: !0
  });
  BA.hooks = void 0;
  var QXs = BA.hooks = [function(t, e) {
    if (t.key === "test" && (e.isWhile() || e.isSwitchCase()) || t.key === "declaration" && e.isExportDeclaration() || t.key === "body" && e.
    isLabeledStatement() || t.listKey === "declarations" && e.isVariableDeclaration() && e.node.declarations.length === 1 || t.key === "expr\
ession" && e.isExpressionStatement())
      return e.remove(), !0;
  }, function(t, e) {
    if (e.isSequenceExpression() && e.node.expressions.length === 1)
      return e.replaceWith(e.node.expressions[0]), !0;
  }, function(t, e) {
    if (e.isBinary())
      return t.key === "left" ? e.replaceWith(e.node.right) : e.replaceWith(e.node.left), !0;
  }, function(t, e) {
    if (e.isIfStatement() && t.key === "consequent" || t.key === "body" && (e.isLoop() || e.isArrowFunctionExpression()))
      return t.replaceWith({
        type: "BlockStatement",
        body: []
      }), !0;
  }];
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/removal.js
var MA = g((Pp) => {
  "use strict";
  Object.defineProperty(Pp, "__esModule", {
    value: !0
  });
  Pp._assertUnremoved = zae;
  Pp._callRemovalHooks = Yae;
  Pp._markRemoved = XF;
  Pp._remove = Xae;
  Pp._removeFromScope = Jae;
  Pp.remove = YFt;
  var UFt = $ae(), KFt = hf(), VFt = zF(), Hae = Ep(), WFt = fe(), $Ft = FA(), HFt = xl(), {
    getBindingIdentifiers: JFt
  } = WFt;
  function YFt() {
    var t;
    if (zae.call(this), HFt.resync.call(this), Yae.call(this)) {
      XF.call(this);
      return;
    }
    (t = this.opts) != null && t.noScope || Jae.call(this), this.shareCommentsWithSiblings(), Xae.call(this), XF.call(this);
  }
  n(YFt, "remove");
  function Jae() {
    let t = JFt(this.node, !1, !1, !0);
    Object.keys(t).forEach((e) => this.scope.removeBinding(e));
  }
  n(Jae, "_removeFromScope");
  function Yae() {
    if (this.parentPath) {
      for (let t of UFt.hooks)
        if (t(this, this.parentPath)) return !0;
    }
  }
  n(Yae, "_callRemovalHooks");
  function Xae() {
    Array.isArray(this.container) ? (this.container.splice(this.key, 1), $Ft.updateSiblingKeys.call(this, this.key, -1)) : VFt._replaceWith.
    call(this, null);
  }
  n(Xae, "_remove");
  function XF() {
    this._traverseFlags |= Hae.SHOULD_SKIP | Hae.REMOVED, this.parent && (0, KFt.getCachedPaths)(this.hub, this.parent).delete(this.node), this.
    node = null;
  }
  n(XF, "_markRemoved");
  function zae() {
    if (this.removed)
      throw this.buildCodeFrameError("NodePath has been removed so is read-only.");
  }
  n(zae, "_assertUnremoved");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/lib/hoister.js
var Qae = g((jA) => {
  "use strict";
  Object.defineProperty(jA, "__esModule", {
    value: !0
  });
  jA.default = void 0;
  var Gae = fe(), XFt = Gae, {
    react: zFt
  } = Gae, {
    cloneNode: GFt,
    jsxExpressionContainer: QFt,
    variableDeclaration: ZFt,
    variableDeclarator: e3t
  } = XFt, t3t = {
    ReferencedIdentifier(t, e) {
      if (t.isJSXIdentifier() && zFt.isCompatTag(t.node.name) && !t.parentPath.isJSXMemberExpression())
        return;
      if (t.node.name === "this") {
        let r = t.scope;
        do
          if (r.path.isFunction() && !r.path.isArrowFunctionExpression())
            break;
        while (r = r.parent);
        r && e.breakOnScopePaths.push(r.path);
      }
      let s = t.scope.getBinding(t.node.name);
      if (s) {
        for (let r of s.constantViolations)
          if (r.scope !== s.path.scope) {
            e.mutableBinding = !0, t.stop();
            return;
          }
        s === e.scope.getBinding(t.node.name) && (e.bindings[t.node.name] = s);
      }
    }
  }, GF = class {
    static {
      n(this, "PathHoister");
    }
    constructor(e, s) {
      this.breakOnScopePaths = void 0, this.bindings = void 0, this.mutableBinding = void 0, this.scopes = void 0, this.scope = void 0, this.
      path = void 0, this.attachAfter = void 0, this.breakOnScopePaths = [], this.bindings = {}, this.mutableBinding = !1, this.scopes = [],
      this.scope = s, this.path = e, this.attachAfter = !1;
    }
    isCompatibleScope(e) {
      for (let s of Object.keys(this.bindings)) {
        let r = this.bindings[s];
        if (!e.bindingIdentifierEquals(s, r.identifier))
          return !1;
      }
      return !0;
    }
    getCompatibleScopes() {
      let e = this.path.scope;
      do {
        if (this.isCompatibleScope(e))
          this.scopes.push(e);
        else
          break;
        if (this.breakOnScopePaths.includes(e.path))
          break;
      } while (e = e.parent);
    }
    getAttachmentPath() {
      let e = this._getAttachmentPath();
      if (!e) return;
      let s = e.scope;
      if (s.path === e && (s = e.scope.parent), s.path.isProgram() || s.path.isFunction())
        for (let r of Object.keys(this.bindings)) {
          if (!s.hasOwnBinding(r)) continue;
          let i = this.bindings[r];
          if (i.kind === "param" || i.path.parentKey === "params")
            continue;
          if (this.getAttachmentParentForPath(i.path).key >= e.key) {
            this.attachAfter = !0, e = i.path;
            for (let o of i.constantViolations)
              this.getAttachmentParentForPath(o).key > e.key && (e = o);
          }
        }
      return e;
    }
    _getAttachmentPath() {
      let s = this.scopes.pop();
      if (s) {
        if (s.path.isFunction())
          if (this.hasOwnParamBindings(s)) {
            if (this.scope === s) return;
            let r = s.path.get("body").get("body");
            for (let i = 0; i < r.length; i++)
              if (!r[i].node._blockHoist)
                return r[i];
          } else
            return this.getNextScopeAttachmentParent();
        else if (s.path.isProgram())
          return this.getNextScopeAttachmentParent();
      }
    }
    getNextScopeAttachmentParent() {
      let e = this.scopes.pop();
      if (e) return this.getAttachmentParentForPath(e.path);
    }
    getAttachmentParentForPath(e) {
      do
        if (!e.parentPath || Array.isArray(e.container) && e.isStatement())
          return e;
      while (e = e.parentPath);
    }
    hasOwnParamBindings(e) {
      for (let s of Object.keys(this.bindings)) {
        if (!e.hasOwnBinding(s)) continue;
        let r = this.bindings[s];
        if (r.kind === "param" && r.constant) return !0;
      }
      return !1;
    }
    run() {
      if (this.path.traverse(t3t, this), this.mutableBinding) return;
      this.getCompatibleScopes();
      let e = this.getAttachmentPath();
      if (!e || e.getFunctionParent() === this.path.getFunctionParent()) return;
      let s = e.scope.generateUidIdentifier("ref"), r = e3t(s, this.path.node), i = this.attachAfter ? "insertAfter" : "insertBefore", [a] = e[i](
      [e.isVariableDeclarator() ? r : ZFt("var", [r])]), o = this.path.parentPath;
      return o.isJSXElement() && this.path.container === o.node.children && (s = QFt(s)), this.path.replaceWith(GFt(s)), e.isVariableDeclarator() ?
      a.get("init") : a.get("declarations.0.init");
    }
  };
  jA.default = GF;
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/modification.js
var FA = g((za) => {
  "use strict";
  Object.defineProperty(za, "__esModule", {
    value: !0
  });
  za._containerInsert = s3;
  za._containerInsertAfter = toe;
  za._containerInsertBefore = r3;
  za._verifyNodeList = z0;
  za.insertAfter = T3t;
  za.insertBefore = y3t;
  za.pushContainer = x3t;
  za.unshiftContainer = b3t;
  za.updateSiblingKeys = ioe;
  var s3t = hf(), t3 = Ep(), QF = xl(), RA = MA(), r3t = fe(), i3t = Qae(), {
    arrowFunctionExpression: n3t,
    assertExpression: a3t,
    assignmentExpression: o3t,
    blockStatement: Zae,
    callExpression: l3t,
    cloneNode: ZF,
    expressionStatement: e3,
    isAssignmentExpression: u3t,
    isCallExpression: c3t,
    isExportNamedDeclaration: eoe,
    isExpression: p3t,
    isIdentifier: h3t,
    isSequenceExpression: f3t,
    isSuper: d3t,
    thisExpression: m3t
  } = r3t;
  function y3t(t) {
    RA._assertUnremoved.call(this);
    let e = z0.call(this, t), {
      parentPath: s,
      parent: r
    } = this;
    if (s.isExpressionStatement() || s.isLabeledStatement() || eoe(r) || s.isExportDefaultDeclaration() && this.isDeclaration())
      return s.insertBefore(e);
    if (this.isNodeType("Expression") && !this.isJSXElement() || s.isForStatement() && this.key === "init")
      return this.node && e.push(this.node), this.replaceExpressionWithStatements(e);
    if (Array.isArray(this.container))
      return r3.call(this, e);
    if (this.isStatementOrBlock()) {
      let i = this.node, a = i && (!this.isExpressionStatement() || i.expression != null);
      return this.replaceWith(Zae(a ? [i] : [])), this.unshiftContainer("body", e);
    } else
      throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?");
  }
  n(y3t, "insertBefore");
  function s3(t, e) {
    ioe.call(this, t, e.length);
    let s = [];
    this.container.splice(t, 0, ...e);
    for (let a = 0; a < e.length; a++) {
      var r;
      let o = t + a, l = this.getSibling(o);
      s.push(l), (r = this.context) != null && r.queue && QF.pushContext.call(l, this.context);
    }
    let i = QF._getQueueContexts.call(this);
    for (let a of s) {
      QF.setScope.call(a), a.debug("Inserted.");
      for (let o of i)
        o.maybeQueue(a, !0);
    }
    return s;
  }
  n(s3, "_containerInsert");
  function r3(t) {
    return s3.call(this, this.key, t);
  }
  n(r3, "_containerInsertBefore");
  function toe(t) {
    return s3.call(this, this.key + 1, t);
  }
  n(toe, "_containerInsertAfter");
  var soe = /* @__PURE__ */ n((t) => t[t.length - 1], "last");
  function roe(t) {
    return f3t(t.parent) && (soe(t.parent.expressions) !== t.node || roe(t.parentPath));
  }
  n(roe, "isHiddenInSequenceExpression");
  function g3t(t, e) {
    if (!u3t(t) || !h3t(t.left))
      return !1;
    let s = e.getBlockParent();
    return s.hasOwnBinding(t.left.name) && s.getOwnBinding(t.left.name).constantViolations.length <= 1;
  }
  n(g3t, "isAlmostConstantAssignment");
  function T3t(t) {
    if (RA._assertUnremoved.call(this), this.isSequenceExpression())
      return soe(this.get("expressions")).insertAfter(t);
    let e = z0.call(this, t), {
      parentPath: s,
      parent: r
    } = this;
    if (s.isExpressionStatement() || s.isLabeledStatement() || eoe(r) || s.isExportDefaultDeclaration() && this.isDeclaration())
      return s.insertAfter(e.map((i) => p3t(i) ? e3(i) : i));
    if (this.isNodeType("Expression") && !this.isJSXElement() && !s.isJSXElement() || s.isForStatement() && this.key === "init") {
      let i = this;
      if (i.node) {
        let a = i.node, {
          scope: o
        } = this;
        if (o.path.isPattern())
          return a3t(a), i.replaceWith(l3t(n3t([], a), [])), i.get("callee.body").insertAfter(e), [i];
        if (roe(i))
          e.unshift(a);
        else if (c3t(a) && d3t(a.callee))
          e.unshift(a), e.push(m3t());
        else if (g3t(a, o))
          e.unshift(a), e.push(ZF(a.left));
        else if (o.isPure(a, !0))
          e.push(a);
        else {
          s.isMethod({
            computed: !0,
            key: a
          }) && (o = o.parent);
          let l = o.generateDeclaredUidIdentifier();
          e.unshift(e3(o3t("=", ZF(l), a))), e.push(e3(ZF(l)));
        }
      }
      return this.replaceExpressionWithStatements(e);
    } else {
      if (Array.isArray(this.container))
        return toe.call(this, e);
      if (this.isStatementOrBlock()) {
        let i = this.node, a = i && (!this.isExpressionStatement() || i.expression != null);
        return this.replaceWith(Zae(a ? [i] : [])), this.pushContainer("body", e);
      } else
        throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?");
    }
  }
  n(T3t, "insertAfter");
  function ioe(t, e) {
    if (!this.parent) return;
    let s = (0, s3t.getCachedPaths)(this.hub, this.parent) || [];
    for (let [, r] of s)
      typeof r.key == "number" && r.container === this.container && r.key >= t && (r.key += e);
  }
  n(ioe, "updateSiblingKeys");
  function z0(t) {
    if (!t)
      return [];
    Array.isArray(t) || (t = [t]);
    for (let e = 0; e < t.length; e++) {
      let s = t[e], r;
      if (s ? typeof s != "object" ? r = "contains a non-object node" : s.type ? s instanceof t3.default && (r = "has a NodePath when it exp\
ected a raw object") : r = "without a type" : r = "has falsy node", r) {
        let i = Array.isArray(s) ? "array" : typeof s;
        throw new Error(`Node list ${r} with the index of ${e} and type of ${i}`);
      }
    }
    return t;
  }
  n(z0, "_verifyNodeList");
  function b3t(t, e) {
    RA._assertUnremoved.call(this), e = z0.call(this, e);
    let s = t3.default.get({
      parentPath: this,
      parent: this.node,
      container: this.node[t],
      listKey: t,
      key: 0
    }).setContext(this.context);
    return r3.call(s, e);
  }
  n(b3t, "unshiftContainer");
  function x3t(t, e) {
    RA._assertUnremoved.call(this);
    let s = z0.call(this, e), r = this.node[t];
    return t3.default.get({
      parentPath: this,
      parent: this.node,
      container: r,
      listKey: t,
      key: r.length
    }).setContext(this.context).replaceWithMultiple(s);
  }
  n(x3t, "pushContainer");
  za.hoist = /* @__PURE__ */ n(function(e = this.scope) {
    return new i3t.default(this, e).run();
  }, "hoist");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/parser/lib/index.js
var Boe = g((nT) => {
  "use strict";
  Object.defineProperty(nT, "__esModule", {
    value: !0
  });
  function S3t(t, e) {
    if (t == null) return {};
    var s = {};
    for (var r in t) if ({}.hasOwnProperty.call(t, r)) {
      if (e.includes(r)) continue;
      s[r] = t[r];
    }
    return s;
  }
  n(S3t, "_objectWithoutPropertiesLoose");
  var Pl = class {
    static {
      n(this, "Position");
    }
    constructor(e, s, r) {
      this.line = void 0, this.column = void 0, this.index = void 0, this.line = e, this.column = s, this.index = r;
    }
  }, Um = class {
    static {
      n(this, "SourceLocation");
    }
    constructor(e, s) {
      this.start = void 0, this.end = void 0, this.filename = void 0, this.identifierName = void 0, this.start = e, this.end = s;
    }
  };
  function Mn(t, e) {
    let {
      line: s,
      column: r,
      index: i
    } = t;
    return new Pl(s, r + e, i + e);
  }
  n(Mn, "createPositionWithColumnOffset");
  var noe = "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED", P3t = {
    ImportMetaOutsideModule: {
      message: `import.meta may appear only with 'sourceType: "module"'`,
      code: noe
    },
    ImportOutsideModule: {
      message: `'import' and 'export' may appear only with 'sourceType: "module"'`,
      code: noe
    }
  }, aoe = {
    ArrayPattern: "array destructuring pattern",
    AssignmentExpression: "assignment expression",
    AssignmentPattern: "assignment expression",
    ArrowFunctionExpression: "arrow function expression",
    ConditionalExpression: "conditional expression",
    CatchClause: "catch clause",
    ForOfStatement: "for-of statement",
    ForInStatement: "for-in statement",
    ForStatement: "for-loop",
    FormalParameters: "function parameter list",
    Identifier: "identifier",
    ImportSpecifier: "import specifier",
    ImportDefaultSpecifier: "import default specifier",
    ImportNamespaceSpecifier: "import namespace specifier",
    ObjectPattern: "object destructuring pattern",
    ParenthesizedExpression: "parenthesized expression",
    RestElement: "rest element",
    UpdateExpression: {
      true: "prefix operation",
      false: "postfix operation"
    },
    VariableDeclarator: "variable declaration",
    YieldExpression: "yield expression"
  }, KA = /* @__PURE__ */ n((t) => t.type === "UpdateExpression" ? aoe.UpdateExpression[`${t.prefix}`] : aoe[t.type], "toNodeDescription"), E3t = {
    AccessorIsGenerator: /* @__PURE__ */ n(({
      kind: t
    }) => `A ${t}ter cannot be a generator.`, "AccessorIsGenerator"),
    ArgumentsInClass: "'arguments' is only allowed in functions and class methods.",
    AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.",
    AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.",
    AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.",
    AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.",
    AwaitUsingNotInAsyncContext: "'await using' is only allowed within async functions and at the top levels of modules.",
    AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.",
    AwaitNotInAsyncFunction: "'await' is only allowed within async functions.",
    BadGetterArity: "A 'get' accessor must not have any formal parameters.",
    BadSetterArity: "A 'set' accessor must have exactly one formal parameter.",
    BadSetterRestParameter: "A 'set' accessor function argument must not be a rest parameter.",
    ConstructorClassField: "Classes may not have a field named 'constructor'.",
    ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.",
    ConstructorIsAccessor: "Class constructor may not be an accessor.",
    ConstructorIsAsync: "Constructor can't be an async function.",
    ConstructorIsGenerator: "Constructor can't be a generator.",
    DeclarationMissingInitializer: /* @__PURE__ */ n(({
      kind: t
    }) => `Missing initializer in ${t} declaration.`, "DeclarationMissingInitializer"),
    DecoratorArgumentsOutsideParentheses: "Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(deco\
rator)(args)'.",
    DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use\
 the 'export @decorator class {}' syntax.",
    DecoratorsBeforeAfterExport: "Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the s\
ame time.",
    DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",
    DecoratorExportClass: "Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use \
the '@decorator export class {}' syntax.",
    DecoratorSemicolon: "Decorators must not be followed by a semicolon.",
    DecoratorStaticBlock: "Decorators can't be used with a static block.",
    DeferImportRequiresNamespace: 'Only `import defer * as x from "./module"` is valid.',
    DeletePrivateField: "Deleting a private field is not allowed.",
    DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.",
    DuplicateConstructor: "Duplicate constructor in the same class.",
    DuplicateDefaultExport: "Only one default export allowed per module.",
    DuplicateExport: /* @__PURE__ */ n(({
      exportName: t
    }) => `\`${t}\` has already been exported. Exported identifiers must be unique.`, "DuplicateExport"),
    DuplicateProto: "Redefinition of __proto__ property.",
    DuplicateRegExpFlags: "Duplicate regular expression flag.",
    DynamicImportPhaseRequiresImportExpressions: /* @__PURE__ */ n(({
      phase: t
    }) => `'import.${t}(...)' can only be parsed when using the 'createImportExpressions' option.`, "DynamicImportPhaseRequiresImportExpress\
ions"),
    ElementAfterRest: "Rest element must be last element.",
    EscapedCharNotAnIdentifier: "Invalid Unicode escape.",
    ExportBindingIsString: /* @__PURE__ */ n(({
      localName: t,
      exportName: e
    }) => `A string literal cannot be used as an exported binding without \`from\`.
- Did you mean \`export { '${t}' as '${e}' } from 'some-module'\`?`, "ExportBindingIsString"),
    ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.",
    ForInOfLoopInitializer: /* @__PURE__ */ n(({
      type: t
    }) => `'${t === "ForInStatement" ? "for-in" : "for-of"}' loop variable declaration may not have an initializer.`, "ForInOfLoopInitialize\
r"),
    ForInUsing: "For-in loop may not start with 'using' declaration.",
    ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.",
    ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.",
    GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.",
    IllegalBreakContinue: /* @__PURE__ */ n(({
      type: t
    }) => `Unsyntactic ${t === "BreakStatement" ? "break" : "continue"}.`, "IllegalBreakContinue"),
    IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.",
    IllegalReturn: "'return' outside of function.",
    ImportAttributesUseAssert: "The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You \
can enable the `deprecatedImportAssert` parser plugin to suppress this error.",
    ImportBindingIsString: /* @__PURE__ */ n(({
      importName: t
    }) => `A string literal cannot be used as an imported binding.
- Did you mean \`import { "${t}" as foo }\`?`, "ImportBindingIsString"),
    ImportCallArity: "`import()` requires exactly one or two arguments.",
    ImportCallNotNewExpression: "Cannot use new with import(...).",
    ImportCallSpreadArgument: "`...` is not allowed in `import()`.",
    ImportJSONBindingNotDefault: "A JSON module can only be imported with `default`.",
    ImportReflectionHasAssertion: "`import module x` cannot have assertions.",
    ImportReflectionNotBinding: 'Only `import module x from "./module"` is valid.',
    IncompatibleRegExpUVFlags: "The 'u' and 'v' regular expression flags cannot be enabled at the same time.",
    InvalidBigIntLiteral: "Invalid BigIntLiteral.",
    InvalidCodePoint: "Code point out of bounds.",
    InvalidCoverInitializedName: "Invalid shorthand property initializer.",
    InvalidDecimal: "Invalid decimal.",
    InvalidDigit: /* @__PURE__ */ n(({
      radix: t
    }) => `Expected number in radix ${t}.`, "InvalidDigit"),
    InvalidEscapeSequence: "Bad character escape sequence.",
    InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.",
    InvalidEscapedReservedWord: /* @__PURE__ */ n(({
      reservedWord: t
    }) => `Escape sequence in keyword ${t}.`, "InvalidEscapedReservedWord"),
    InvalidIdentifier: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Invalid identifier ${t}.`, "InvalidIdentifier"),
    InvalidLhs: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Invalid left-hand side in ${KA(t)}.`, "InvalidLhs"),
    InvalidLhsBinding: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Binding invalid left-hand side in ${KA(t)}.`, "InvalidLhsBinding"),
    InvalidLhsOptionalChaining: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Invalid optional chaining in the left-hand side of ${KA(t)}.`, "InvalidLhsOptionalChaining"),
    InvalidNumber: "Invalid number.",
    InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.",
    InvalidOrUnexpectedToken: /* @__PURE__ */ n(({
      unexpected: t
    }) => `Unexpected character '${t}'.`, "InvalidOrUnexpectedToken"),
    InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.",
    InvalidPrivateFieldResolution: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Private name #${t} is not defined.`, "InvalidPrivateFieldResolution"),
    InvalidPropertyBindingPattern: "Binding member expression.",
    InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.",
    InvalidRestAssignmentPattern: "Invalid rest operator's argument.",
    LabelRedeclaration: /* @__PURE__ */ n(({
      labelName: t
    }) => `Label '${t}' is already declared.`, "LabelRedeclaration"),
    LetInLexicalBinding: "'let' is disallowed as a lexically bound name.",
    LineTerminatorBeforeArrow: "No line break is allowed before '=>'.",
    MalformedRegExpFlags: "Invalid regular expression flag.",
    MissingClassName: "A class name is required.",
    MissingEqInAssignment: "Only '=' operator can be used for specifying default value.",
    MissingSemicolon: "Missing semicolon.",
    MissingPlugin: /* @__PURE__ */ n(({
      missingPlugin: t
    }) => `This experimental syntax requires enabling the parser plugin: ${t.map((e) => JSON.stringify(e)).join(", ")}.`, "MissingPlugin"),
    MissingOneOfPlugins: /* @__PURE__ */ n(({
      missingPlugin: t
    }) => `This experimental syntax requires enabling one of the following parser plugin(s): ${t.map((e) => JSON.stringify(e)).join(", ")}.`,
    "MissingOneOfPlugins"),
    MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.",
    MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.",
    ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.",
    ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.",
    ModuleAttributesWithDuplicateKeys: /* @__PURE__ */ n(({
      key: t
    }) => `Duplicate key "${t}" is not allowed in module attributes.`, "ModuleAttributesWithDuplicateKeys"),
    ModuleExportNameHasLoneSurrogate: /* @__PURE__ */ n(({
      surrogateCharCode: t
    }) => `An export name cannot include a lone surrogate, found '\\u${t.toString(16)}'.`, "ModuleExportNameHasLoneSurrogate"),
    ModuleExportUndefined: /* @__PURE__ */ n(({
      localName: t
    }) => `Export '${t}' is not defined.`, "ModuleExportUndefined"),
    MultipleDefaultsInSwitch: "Multiple default clauses.",
    NewlineAfterThrow: "Illegal newline after throw.",
    NoCatchOrFinally: "Missing catch or finally clause.",
    NumberIdentifier: "Identifier directly after number.",
    NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",
    ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.",
    OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.",
    OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.",
    OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.",
    ParamDupe: "Argument name clash.",
    PatternHasAccessor: "Object pattern can't contain getter or setter.",
    PatternHasMethod: "Object pattern can't contain methods.",
    PrivateInExpectedIn: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Private names are only allowed in property accesses (\`obj.#${t}\`) or in \`in\` expressions (\`#${t} in obj\`).`, "PrivateInExpe\
ctedIn"),
    PrivateNameRedeclaration: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Duplicate private name #${t}.`, "PrivateNameRedeclaration"),
    RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 're\
cordAndTuple' plugin is set to 'bar'.",
    RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the\
 'recordAndTuple' plugin is set to 'bar'.",
    RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of th\
e 'recordAndTuple' plugin is set to 'hash'.",
    RecordNoProto: "'__proto__' is not allowed in Record expressions.",
    RestTrailingComma: "Unexpected trailing comma after rest element.",
    SloppyFunction: "In non-strict mode code, functions can only be declared at top level or inside a block.",
    SloppyFunctionAnnexB: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if sta\
tement.",
    SourcePhaseImportRequiresDefault: 'Only `import source x from "./module"` is valid.',
    StaticPrototype: "Classes may not have static property named prototype.",
    SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or n\
ot extending another class?",
    SuperPrivateField: "Private fields can't be accessed on super.",
    TrailingDecorator: "Decorators must be attached to a class element.",
    TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'reco\
rdAndTuple' plugin is set to 'bar'.",
    TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the '\
recordAndTuple' plugin is set to 'bar'.",
    TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the \
'recordAndTuple' plugin is set to 'hash'.",
    UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.",
    UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',
    UnexpectedDigitAfterHash: "Unexpected digit after hash token.",
    UnexpectedImportExport: "'import' and 'export' may only appear at the top level.",
    UnexpectedKeyword: /* @__PURE__ */ n(({
      keyword: t
    }) => `Unexpected keyword '${t}'.`, "UnexpectedKeyword"),
    UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.",
    UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.",
    UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.",
    UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.",
    UnexpectedPrivateField: "Unexpected private name.",
    UnexpectedReservedWord: /* @__PURE__ */ n(({
      reservedWord: t
    }) => `Unexpected reserved word '${t}'.`, "UnexpectedReservedWord"),
    UnexpectedSuper: "'super' is only allowed in object methods and classes.",
    UnexpectedToken: /* @__PURE__ */ n(({
      expected: t,
      unexpected: e
    }) => `Unexpected token${e ? ` '${e}'.` : ""}${t ? `, expected "${t}"` : ""}`, "UnexpectedToken"),
    UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",
    UnexpectedUsingDeclaration: "Using declaration cannot appear in the top level when source type is `script`.",
    UnsupportedBind: "Binding should be performed on object property.",
    UnsupportedDecoratorExport: "A decorated export must export a class declaration.",
    UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.",
    UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.",
    UnsupportedMetaProperty: /* @__PURE__ */ n(({
      target: t,
      onlyValidPropertyName: e
    }) => `The only valid meta property for ${t} is ${t}.${e}.`, "UnsupportedMetaProperty"),
    UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.",
    UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.",
    UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",
    UnterminatedComment: "Unterminated comment.",
    UnterminatedRegExp: "Unterminated regular expression.",
    UnterminatedString: "Unterminated string constant.",
    UnterminatedTemplate: "Unterminated template.",
    UsingDeclarationExport: "Using declaration cannot be exported.",
    UsingDeclarationHasBindingPattern: "Using declaration cannot have destructuring patterns.",
    VarRedeclaration: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Identifier '${t}' has already been declared.`, "VarRedeclaration"),
    YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.",
    YieldInParameter: "Yield expression is not allowed in formal parameters.",
    ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0."
  }, A3t = {
    StrictDelete: "Deleting local variable in strict mode.",
    StrictEvalArguments: /* @__PURE__ */ n(({
      referenceName: t
    }) => `Assigning to '${t}' in strict mode.`, "StrictEvalArguments"),
    StrictEvalArgumentsBinding: /* @__PURE__ */ n(({
      bindingName: t
    }) => `Binding '${t}' in strict mode.`, "StrictEvalArgumentsBinding"),
    StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.",
    StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.",
    StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.",
    StrictWith: "'with' in strict mode."
  }, v3t = /* @__PURE__ */ new Set(["ArrowFunctionExpression", "AssignmentExpression", "ConditionalExpression", "YieldExpression"]), C3t = Object.
  assign({
    PipeBodyIsTighter: "Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due \
to its loose operator precedence.",
    PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" opt\
ion.',
    PipeTopicUnbound: "Topic reference is unbound; it must be inside a pipe body.",
    PipeTopicUnconfiguredToken: /* @__PURE__ */ n(({
      token: t
    }) => `Invalid topic token ${t}. In order to use ${t} as a topic reference, the pipelineOperator plugin must be configured with { "propo\
sal": "hack", "topicToken": "${t}" }.`, "PipeTopicUnconfiguredToken"),
    PipeTopicUnused: "Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",
    PipeUnparenthesizedBody: /* @__PURE__ */ n(({
      type: t
    }) => `Hack-style pipe body cannot be an unparenthesized ${KA({
      type: t
    })}; please wrap it in parentheses.`, "PipeUnparenthesizedBody")
  }, {
    PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',
    PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.",
    PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.",
    PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.",
    PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.",
    PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "sma\
rt" option.'
  }), w3t = ["message"];
  function ooe(t, e, s) {
    Object.defineProperty(t, e, {
      enumerable: !1,
      configurable: !0,
      value: s
    });
  }
  n(ooe, "defineHidden");
  function I3t({
    toMessage: t,
    code: e,
    reasonCode: s,
    syntaxPlugin: r
  }) {
    let i = s === "MissingPlugin" || s === "MissingOneOfPlugins";
    {
      let a = {
        AccessorCannotDeclareThisParameter: "AccesorCannotDeclareThisParameter",
        AccessorCannotHaveTypeParameters: "AccesorCannotHaveTypeParameters",
        ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumRefer\
ence",
        SetAccessorCannotHaveOptionalParameter: "SetAccesorCannotHaveOptionalParameter",
        SetAccessorCannotHaveRestParameter: "SetAccesorCannotHaveRestParameter",
        SetAccessorCannotHaveReturnType: "SetAccesorCannotHaveReturnType"
      };
      a[s] && (s = a[s]);
    }
    return /* @__PURE__ */ n(function a(o, l) {
      let u = new SyntaxError();
      return u.code = e, u.reasonCode = s, u.loc = o, u.pos = o.index, u.syntaxPlugin = r, i && (u.missingPlugin = l.missingPlugin), ooe(u, "\
clone", /* @__PURE__ */ n(function(p = {}) {
        var h;
        let {
          line: f,
          column: d,
          index: m
        } = (h = p.loc) != null ? h : o;
        return a(new Pl(f, d, m), Object.assign({}, l, p.details));
      }, "clone")), ooe(u, "details", l), Object.defineProperty(u, "message", {
        configurable: !0,
        get() {
          let c = `${t(l)} (${o.line}:${o.column})`;
          return this.message = c, c;
        },
        set(c) {
          Object.defineProperty(this, "message", {
            value: c,
            writable: !0
          });
        }
      }), u;
    }, "constructor");
  }
  n(I3t, "toParseErrorConstructor");
  function Ju(t, e) {
    if (Array.isArray(t))
      return (r) => Ju(r, t[0]);
    let s = {};
    for (let r of Object.keys(t)) {
      let i = t[r], a = typeof i == "string" ? {
        message: /* @__PURE__ */ n(() => i, "message")
      } : typeof i == "function" ? {
        message: i
      } : i, {
        message: o
      } = a, l = S3t(a, w3t), u = typeof o == "string" ? () => o : o;
      s[r] = I3t(Object.assign({
        code: "BABEL_PARSER_SYNTAX_ERROR",
        reasonCode: r,
        toMessage: u
      }, e ? {
        syntaxPlugin: e
      } : {}, l));
    }
    return s;
  }
  n(Ju, "ParseErrorEnum");
  var te = Object.assign({}, Ju(P3t), Ju(E3t), Ju(A3t), Ju`pipelineOperator`(C3t));
  function N3t() {
    return {
      sourceType: "script",
      sourceFilename: void 0,
      startIndex: 0,
      startColumn: 0,
      startLine: 1,
      allowAwaitOutsideFunction: !1,
      allowReturnOutsideFunction: !1,
      allowNewTargetOutsideFunction: !1,
      allowImportExportEverywhere: !1,
      allowSuperOutsideMethod: !1,
      allowUndeclaredExports: !1,
      plugins: [],
      strictMode: null,
      ranges: !1,
      tokens: !1,
      createImportExpressions: !1,
      createParenthesizedExpressions: !1,
      errorRecovery: !1,
      attachComment: !0,
      annexB: !0
    };
  }
  n(N3t, "createDefaultOptions");
  function k3t(t) {
    let e = N3t();
    if (t == null)
      return e;
    if (t.annexB != null && t.annexB !== !1)
      throw new Error("The `annexB` option can only be set to `false`.");
    for (let s of Object.keys(e))
      t[s] != null && (e[s] = t[s]);
    if (e.startLine === 1)
      t.startIndex == null && e.startColumn > 0 ? e.startIndex = e.startColumn : t.startColumn == null && e.startIndex > 0 && (e.startColumn =
      e.startIndex);
    else if ((t.startColumn == null || t.startIndex == null) && t.startIndex != null)
      throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");
    return e;
  }
  n(k3t, "getOptions");
  var {
    defineProperty: D3t
  } = Object, loe = /* @__PURE__ */ n((t, e) => {
    t && D3t(t, e, {
      enumerable: !1,
      value: t[e]
    });
  }, "toUnenumerable");
  function G0(t) {
    return loe(t.loc.start, "index"), loe(t.loc.end, "index"), t;
  }
  n(G0, "toESTreeLocation");
  var O3t = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "ESTreeParserMixin");
    }
    parse() {
      let s = G0(super.parse());
      return this.optionFlags & 128 && (s.tokens = s.tokens.map(G0)), s;
    }
    parseRegExpLiteral({
      pattern: s,
      flags: r
    }) {
      let i = null;
      try {
        i = new RegExp(s, r);
      } catch {
      }
      let a = this.estreeParseLiteral(i);
      return a.regex = {
        pattern: s,
        flags: r
      }, a;
    }
    parseBigIntLiteral(s) {
      let r;
      try {
        r = BigInt(s);
      } catch {
        r = null;
      }
      let i = this.estreeParseLiteral(r);
      return i.bigint = String(i.value || s), i;
    }
    parseDecimalLiteral(s) {
      let i = this.estreeParseLiteral(null);
      return i.decimal = String(i.value || s), i;
    }
    estreeParseLiteral(s) {
      return this.parseLiteral(s, "Literal");
    }
    parseStringLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    parseNumericLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    parseNullLiteral() {
      return this.estreeParseLiteral(null);
    }
    parseBooleanLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    directiveToStmt(s) {
      let r = s.value;
      delete s.value, r.type = "Literal", r.raw = r.extra.raw, r.value = r.extra.expressionValue;
      let i = s;
      return i.type = "ExpressionStatement", i.expression = r, i.directive = r.extra.rawValue, delete r.extra, i;
    }
    initFunction(s, r) {
      super.initFunction(s, r), s.expression = !1;
    }
    checkDeclaration(s) {
      s != null && this.isObjectProperty(s) ? this.checkDeclaration(s.value) : super.checkDeclaration(s);
    }
    getObjectOrClassMethodParams(s) {
      return s.value.params;
    }
    isValidDirective(s) {
      var r;
      return s.type === "ExpressionStatement" && s.expression.type === "Literal" && typeof s.expression.value == "string" && !((r = s.expression.
      extra) != null && r.parenthesized);
    }
    parseBlockBody(s, r, i, a, o) {
      super.parseBlockBody(s, r, i, a, o);
      let l = s.directives.map((u) => this.directiveToStmt(u));
      s.body = l.concat(s.body), delete s.directives;
    }
    parsePrivateName() {
      let s = super.parsePrivateName();
      return this.getPluginOption("estree", "classFeatures") ? this.convertPrivateNameToPrivateIdentifier(s) : s;
    }
    convertPrivateNameToPrivateIdentifier(s) {
      let r = super.getPrivateNameSV(s);
      return s = s, delete s.id, s.name = r, s.type = "PrivateIdentifier", s;
    }
    isPrivateName(s) {
      return this.getPluginOption("estree", "classFeatures") ? s.type === "PrivateIdentifier" : super.isPrivateName(s);
    }
    getPrivateNameSV(s) {
      return this.getPluginOption("estree", "classFeatures") ? s.name : super.getPrivateNameSV(s);
    }
    parseLiteral(s, r) {
      let i = super.parseLiteral(s, r);
      return i.raw = i.extra.raw, delete i.extra, i;
    }
    parseFunctionBody(s, r, i = !1) {
      super.parseFunctionBody(s, r, i), s.expression = s.body.type !== "BlockStatement";
    }
    parseMethod(s, r, i, a, o, l, u = !1) {
      let c = this.startNode();
      c.kind = s.kind, c = super.parseMethod(c, r, i, a, o, l, u), c.type = "FunctionExpression", delete c.kind, s.value = c;
      let {
        typeParameters: p
      } = s;
      return p && (delete s.typeParameters, c.typeParameters = p, this.resetStartLocationFromNode(c, p)), l === "ClassPrivateMethod" && (s.computed =
      !1), this.finishNode(s, "MethodDefinition");
    }
    nameIsConstructor(s) {
      return s.type === "Literal" ? s.value === "constructor" : super.nameIsConstructor(s);
    }
    parseClassProperty(...s) {
      let r = super.parseClassProperty(...s);
      return this.getPluginOption("estree", "classFeatures") && (r.type = "PropertyDefinition"), r;
    }
    parseClassPrivateProperty(...s) {
      let r = super.parseClassPrivateProperty(...s);
      return this.getPluginOption("estree", "classFeatures") && (r.type = "PropertyDefinition", r.computed = !1), r;
    }
    parseObjectMethod(s, r, i, a, o) {
      let l = super.parseObjectMethod(s, r, i, a, o);
      return l && (l.type = "Property", l.kind === "method" && (l.kind = "init"), l.shorthand = !1), l;
    }
    parseObjectProperty(s, r, i, a) {
      let o = super.parseObjectProperty(s, r, i, a);
      return o && (o.kind = "init", o.type = "Property"), o;
    }
    isValidLVal(s, r, i) {
      return s === "Property" ? "value" : super.isValidLVal(s, r, i);
    }
    isAssignable(s, r) {
      return s != null && this.isObjectProperty(s) ? this.isAssignable(s.value, r) : super.isAssignable(s, r);
    }
    toAssignable(s, r = !1) {
      if (s != null && this.isObjectProperty(s)) {
        let {
          key: i,
          value: a
        } = s;
        this.isPrivateName(i) && this.classScope.usePrivateName(this.getPrivateNameSV(i), i.loc.start), this.toAssignable(a, r);
      } else
        super.toAssignable(s, r);
    }
    toAssignableObjectExpressionProp(s, r, i) {
      s.type === "Property" && (s.kind === "get" || s.kind === "set") ? this.raise(te.PatternHasAccessor, s.key) : s.type === "Property" && s.
      method ? this.raise(te.PatternHasMethod, s.key) : super.toAssignableObjectExpressionProp(s, r, i);
    }
    finishCallExpression(s, r) {
      let i = super.finishCallExpression(s, r);
      if (i.callee.type === "Import") {
        var a, o;
        i.type = "ImportExpression", i.source = i.arguments[0], i.options = (a = i.arguments[1]) != null ? a : null, i.attributes = (o = i.arguments[1]) !=
        null ? o : null, delete i.arguments, delete i.callee;
      }
      return i;
    }
    toReferencedArguments(s) {
      s.type !== "ImportExpression" && super.toReferencedArguments(s);
    }
    parseExport(s, r) {
      let i = this.state.lastTokStartLoc, a = super.parseExport(s, r);
      switch (a.type) {
        case "ExportAllDeclaration":
          a.exported = null;
          break;
        case "ExportNamedDeclaration":
          a.specifiers.length === 1 && a.specifiers[0].type === "ExportNamespaceSpecifier" && (a.type = "ExportAllDeclaration", a.exported =
          a.specifiers[0].exported, delete a.specifiers);
        case "ExportDefaultDeclaration":
          {
            var o;
            let {
              declaration: l
            } = a;
            l?.type === "ClassDeclaration" && ((o = l.decorators) == null ? void 0 : o.length) > 0 && l.start === a.start && this.resetStartLocation(
            a, i);
          }
          break;
      }
      return a;
    }
    parseSubscript(s, r, i, a) {
      let o = super.parseSubscript(s, r, i, a);
      if (a.optionalChainMember) {
        if ((o.type === "OptionalMemberExpression" || o.type === "OptionalCallExpression") && (o.type = o.type.substring(8)), a.stop) {
          let l = this.startNodeAtNode(o);
          return l.expression = o, this.finishNode(l, "ChainExpression");
        }
      } else (o.type === "MemberExpression" || o.type === "CallExpression") && (o.optional = !1);
      return o;
    }
    isOptionalMemberExpression(s) {
      return s.type === "ChainExpression" ? s.expression.type === "MemberExpression" : super.isOptionalMemberExpression(s);
    }
    hasPropertyAsPrivateName(s) {
      return s.type === "ChainExpression" && (s = s.expression), super.hasPropertyAsPrivateName(s);
    }
    isObjectProperty(s) {
      return s.type === "Property" && s.kind === "init" && !s.method;
    }
    isObjectMethod(s) {
      return s.type === "Property" && (s.method || s.kind === "get" || s.kind === "set");
    }
    finishNodeAt(s, r, i) {
      return G0(super.finishNodeAt(s, r, i));
    }
    resetStartLocation(s, r) {
      super.resetStartLocation(s, r), G0(s);
    }
    resetEndLocation(s, r = this.state.lastTokEndLoc) {
      super.resetEndLocation(s, r), G0(s);
    }
  }, "estree"), xf = class {
    static {
      n(this, "TokContext");
    }
    constructor(e, s) {
      this.token = void 0, this.preserveSpace = void 0, this.token = e, this.preserveSpace = !!s;
    }
  }, sr = {
    brace: new xf("{"),
    j_oTag: new xf("<tag"),
    j_cTag: new xf("</tag"),
    j_expr: new xf("<tag>...</tag>", !0)
  };
  sr.template = new xf("`", !0);
  var ps = !0, We = !0, i3 = !0, Q0 = !0, Ap = !0, _3t = !0, $A = class {
    static {
      n(this, "ExportedTokenType");
    }
    constructor(e, s = {}) {
      this.label = void 0, this.keyword = void 0, this.beforeExpr = void 0, this.startsExpr = void 0, this.rightAssociative = void 0, this.isLoop =
      void 0, this.isAssign = void 0, this.prefix = void 0, this.postfix = void 0, this.binop = void 0, this.label = e, this.keyword = s.keyword,
      this.beforeExpr = !!s.beforeExpr, this.startsExpr = !!s.startsExpr, this.rightAssociative = !!s.rightAssociative, this.isLoop = !!s.isLoop,
      this.isAssign = !!s.isAssign, this.prefix = !!s.prefix, this.postfix = !!s.postfix, this.binop = s.binop != null ? s.binop : null, this.
      updateContext = null;
    }
  }, N3 = /* @__PURE__ */ new Map();
  function Bs(t, e = {}) {
    e.keyword = t;
    let s = It(t, e);
    return N3.set(t, s), s;
  }
  n(Bs, "createKeyword");
  function Bn(t, e) {
    return It(t, {
      beforeExpr: ps,
      binop: e
    });
  }
  n(Bn, "createBinop");
  var tT = -1, $u = [], k3 = [], D3 = [], O3 = [], _3 = [], L3 = [];
  function It(t, e = {}) {
    var s, r, i, a;
    return ++tT, k3.push(t), D3.push((s = e.binop) != null ? s : -1), O3.push((r = e.beforeExpr) != null ? r : !1), _3.push((i = e.startsExpr) !=
    null ? i : !1), L3.push((a = e.prefix) != null ? a : !1), $u.push(new $A(t, e)), tT;
  }
  n(It, "createToken");
  function cs(t, e = {}) {
    var s, r, i, a;
    return ++tT, N3.set(t, tT), k3.push(t), D3.push((s = e.binop) != null ? s : -1), O3.push((r = e.beforeExpr) != null ? r : !1), _3.push((i =
    e.startsExpr) != null ? i : !1), L3.push((a = e.prefix) != null ? a : !1), $u.push(new $A("name", e)), tT;
  }
  n(cs, "createKeywordLike");
  var L3t = {
    bracketL: It("[", {
      beforeExpr: ps,
      startsExpr: We
    }),
    bracketHashL: It("#[", {
      beforeExpr: ps,
      startsExpr: We
    }),
    bracketBarL: It("[|", {
      beforeExpr: ps,
      startsExpr: We
    }),
    bracketR: It("]"),
    bracketBarR: It("|]"),
    braceL: It("{", {
      beforeExpr: ps,
      startsExpr: We
    }),
    braceBarL: It("{|", {
      beforeExpr: ps,
      startsExpr: We
    }),
    braceHashL: It("#{", {
      beforeExpr: ps,
      startsExpr: We
    }),
    braceR: It("}"),
    braceBarR: It("|}"),
    parenL: It("(", {
      beforeExpr: ps,
      startsExpr: We
    }),
    parenR: It(")"),
    comma: It(",", {
      beforeExpr: ps
    }),
    semi: It(";", {
      beforeExpr: ps
    }),
    colon: It(":", {
      beforeExpr: ps
    }),
    doubleColon: It("::", {
      beforeExpr: ps
    }),
    dot: It("."),
    question: It("?", {
      beforeExpr: ps
    }),
    questionDot: It("?."),
    arrow: It("=>", {
      beforeExpr: ps
    }),
    template: It("template"),
    ellipsis: It("...", {
      beforeExpr: ps
    }),
    backQuote: It("`", {
      startsExpr: We
    }),
    dollarBraceL: It("${", {
      beforeExpr: ps,
      startsExpr: We
    }),
    templateTail: It("...`", {
      startsExpr: We
    }),
    templateNonTail: It("...${", {
      beforeExpr: ps,
      startsExpr: We
    }),
    at: It("@"),
    hash: It("#", {
      startsExpr: We
    }),
    interpreterDirective: It("#!..."),
    eq: It("=", {
      beforeExpr: ps,
      isAssign: Q0
    }),
    assign: It("_=", {
      beforeExpr: ps,
      isAssign: Q0
    }),
    slashAssign: It("_=", {
      beforeExpr: ps,
      isAssign: Q0
    }),
    xorAssign: It("_=", {
      beforeExpr: ps,
      isAssign: Q0
    }),
    moduloAssign: It("_=", {
      beforeExpr: ps,
      isAssign: Q0
    }),
    incDec: It("++/--", {
      prefix: Ap,
      postfix: _3t,
      startsExpr: We
    }),
    bang: It("!", {
      beforeExpr: ps,
      prefix: Ap,
      startsExpr: We
    }),
    tilde: It("~", {
      beforeExpr: ps,
      prefix: Ap,
      startsExpr: We
    }),
    doubleCaret: It("^^", {
      startsExpr: We
    }),
    doubleAt: It("@@", {
      startsExpr: We
    }),
    pipeline: Bn("|>", 0),
    nullishCoalescing: Bn("??", 1),
    logicalOR: Bn("||", 1),
    logicalAND: Bn("&&", 2),
    bitwiseOR: Bn("|", 3),
    bitwiseXOR: Bn("^", 4),
    bitwiseAND: Bn("&", 5),
    equality: Bn("==/!=/===/!==", 6),
    lt: Bn("</>/<=/>=", 7),
    gt: Bn("</>/<=/>=", 7),
    relational: Bn("</>/<=/>=", 7),
    bitShift: Bn("<</>>/>>>", 8),
    bitShiftL: Bn("<</>>/>>>", 8),
    bitShiftR: Bn("<</>>/>>>", 8),
    plusMin: It("+/-", {
      beforeExpr: ps,
      binop: 9,
      prefix: Ap,
      startsExpr: We
    }),
    modulo: It("%", {
      binop: 10,
      startsExpr: We
    }),
    star: It("*", {
      binop: 10
    }),
    slash: Bn("/", 10),
    exponent: It("**", {
      beforeExpr: ps,
      binop: 11,
      rightAssociative: !0
    }),
    _in: Bs("in", {
      beforeExpr: ps,
      binop: 7
    }),
    _instanceof: Bs("instanceof", {
      beforeExpr: ps,
      binop: 7
    }),
    _break: Bs("break"),
    _case: Bs("case", {
      beforeExpr: ps
    }),
    _catch: Bs("catch"),
    _continue: Bs("continue"),
    _debugger: Bs("debugger"),
    _default: Bs("default", {
      beforeExpr: ps
    }),
    _else: Bs("else", {
      beforeExpr: ps
    }),
    _finally: Bs("finally"),
    _function: Bs("function", {
      startsExpr: We
    }),
    _if: Bs("if"),
    _return: Bs("return", {
      beforeExpr: ps
    }),
    _switch: Bs("switch"),
    _throw: Bs("throw", {
      beforeExpr: ps,
      prefix: Ap,
      startsExpr: We
    }),
    _try: Bs("try"),
    _var: Bs("var"),
    _const: Bs("const"),
    _with: Bs("with"),
    _new: Bs("new", {
      beforeExpr: ps,
      startsExpr: We
    }),
    _this: Bs("this", {
      startsExpr: We
    }),
    _super: Bs("super", {
      startsExpr: We
    }),
    _class: Bs("class", {
      startsExpr: We
    }),
    _extends: Bs("extends", {
      beforeExpr: ps
    }),
    _export: Bs("export"),
    _import: Bs("import", {
      startsExpr: We
    }),
    _null: Bs("null", {
      startsExpr: We
    }),
    _true: Bs("true", {
      startsExpr: We
    }),
    _false: Bs("false", {
      startsExpr: We
    }),
    _typeof: Bs("typeof", {
      beforeExpr: ps,
      prefix: Ap,
      startsExpr: We
    }),
    _void: Bs("void", {
      beforeExpr: ps,
      prefix: Ap,
      startsExpr: We
    }),
    _delete: Bs("delete", {
      beforeExpr: ps,
      prefix: Ap,
      startsExpr: We
    }),
    _do: Bs("do", {
      isLoop: i3,
      beforeExpr: ps
    }),
    _for: Bs("for", {
      isLoop: i3
    }),
    _while: Bs("while", {
      isLoop: i3
    }),
    _as: cs("as", {
      startsExpr: We
    }),
    _assert: cs("assert", {
      startsExpr: We
    }),
    _async: cs("async", {
      startsExpr: We
    }),
    _await: cs("await", {
      startsExpr: We
    }),
    _defer: cs("defer", {
      startsExpr: We
    }),
    _from: cs("from", {
      startsExpr: We
    }),
    _get: cs("get", {
      startsExpr: We
    }),
    _let: cs("let", {
      startsExpr: We
    }),
    _meta: cs("meta", {
      startsExpr: We
    }),
    _of: cs("of", {
      startsExpr: We
    }),
    _sent: cs("sent", {
      startsExpr: We
    }),
    _set: cs("set", {
      startsExpr: We
    }),
    _source: cs("source", {
      startsExpr: We
    }),
    _static: cs("static", {
      startsExpr: We
    }),
    _using: cs("using", {
      startsExpr: We
    }),
    _yield: cs("yield", {
      startsExpr: We
    }),
    _asserts: cs("asserts", {
      startsExpr: We
    }),
    _checks: cs("checks", {
      startsExpr: We
    }),
    _exports: cs("exports", {
      startsExpr: We
    }),
    _global: cs("global", {
      startsExpr: We
    }),
    _implements: cs("implements", {
      startsExpr: We
    }),
    _intrinsic: cs("intrinsic", {
      startsExpr: We
    }),
    _infer: cs("infer", {
      startsExpr: We
    }),
    _is: cs("is", {
      startsExpr: We
    }),
    _mixins: cs("mixins", {
      startsExpr: We
    }),
    _proto: cs("proto", {
      startsExpr: We
    }),
    _require: cs("require", {
      startsExpr: We
    }),
    _satisfies: cs("satisfies", {
      startsExpr: We
    }),
    _keyof: cs("keyof", {
      startsExpr: We
    }),
    _readonly: cs("readonly", {
      startsExpr: We
    }),
    _unique: cs("unique", {
      startsExpr: We
    }),
    _abstract: cs("abstract", {
      startsExpr: We
    }),
    _declare: cs("declare", {
      startsExpr: We
    }),
    _enum: cs("enum", {
      startsExpr: We
    }),
    _module: cs("module", {
      startsExpr: We
    }),
    _namespace: cs("namespace", {
      startsExpr: We
    }),
    _interface: cs("interface", {
      startsExpr: We
    }),
    _type: cs("type", {
      startsExpr: We
    }),
    _opaque: cs("opaque", {
      startsExpr: We
    }),
    name: It("name", {
      startsExpr: We
    }),
    placeholder: It("%%", {
      startsExpr: !0
    }),
    string: It("string", {
      startsExpr: We
    }),
    num: It("num", {
      startsExpr: We
    }),
    bigint: It("bigint", {
      startsExpr: We
    }),
    decimal: It("decimal", {
      startsExpr: We
    }),
    regexp: It("regexp", {
      startsExpr: We
    }),
    privateName: It("#name", {
      startsExpr: We
    }),
    eof: It("eof"),
    jsxName: It("jsxName"),
    jsxText: It("jsxText", {
      beforeExpr: !0
    }),
    jsxTagStart: It("jsxTagStart", {
      startsExpr: !0
    }),
    jsxTagEnd: It("jsxTagEnd")
  };
  function rr(t) {
    return t >= 93 && t <= 133;
  }
  n(rr, "tokenIsIdentifier");
  function B3t(t) {
    return t <= 92;
  }
  n(B3t, "tokenKeywordOrIdentifierIsKeyword");
  function Bo(t) {
    return t >= 58 && t <= 133;
  }
  n(Bo, "tokenIsKeywordOrIdentifier");
  function xoe(t) {
    return t >= 58 && t <= 137;
  }
  n(xoe, "tokenIsLiteralPropertyName");
  function M3t(t) {
    return O3[t];
  }
  n(M3t, "tokenComesBeforeExpression");
  function u3(t) {
    return _3[t];
  }
  n(u3, "tokenCanStartExpression");
  function F3t(t) {
    return t >= 29 && t <= 33;
  }
  n(F3t, "tokenIsAssignment");
  function uoe(t) {
    return t >= 129 && t <= 131;
  }
  n(uoe, "tokenIsFlowInterfaceOrTypeOrOpaque");
  function j3t(t) {
    return t >= 90 && t <= 92;
  }
  n(j3t, "tokenIsLoop");
  function B3(t) {
    return t >= 58 && t <= 92;
  }
  n(B3, "tokenIsKeyword");
  function R3t(t) {
    return t >= 39 && t <= 59;
  }
  n(R3t, "tokenIsOperator");
  function q3t(t) {
    return t === 34;
  }
  n(q3t, "tokenIsPostfix");
  function U3t(t) {
    return L3[t];
  }
  n(U3t, "tokenIsPrefix");
  function K3t(t) {
    return t >= 121 && t <= 123;
  }
  n(K3t, "tokenIsTSTypeOperator");
  function V3t(t) {
    return t >= 124 && t <= 130;
  }
  n(V3t, "tokenIsTSDeclarationStart");
  function Cp(t) {
    return k3[t];
  }
  n(Cp, "tokenLabelName");
  function VA(t) {
    return D3[t];
  }
  n(VA, "tokenOperatorPrecedence");
  function W3t(t) {
    return t === 57;
  }
  n(W3t, "tokenIsRightAssociative");
  function HA(t) {
    return t >= 24 && t <= 25;
  }
  n(HA, "tokenIsTemplate");
  function Wu(t) {
    return $u[t];
  }
  n(Wu, "getExportedToken");
  $u[8].updateContext = (t) => {
    t.pop();
  }, $u[5].updateContext = $u[7].updateContext = $u[23].updateContext = (t) => {
    t.push(sr.brace);
  }, $u[22].updateContext = (t) => {
    t[t.length - 1] === sr.template ? t.pop() : t.push(sr.template);
  }, $u[143].updateContext = (t) => {
    t.push(sr.j_expr, sr.j_oTag);
  };
  var M3 = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993\
-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\
\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\
\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\
\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\
\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01\
-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",
  Soe = "\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE\
-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\
\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\
\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\
\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65", $3t = new RegExp("[" + M3 + "]"), H3t = new RegExp("[" + M3 + Soe + "]");
  M3 = Soe = null;
  var Poe = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43,
  157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70,
  5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36,
  7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43,
  17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1,
  64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2,
  0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3,
  7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50,
  29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16,
  1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67,
  12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991,
  84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30,
  2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3,
  0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2,
  2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153,
  7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191], J3t = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5,
  0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13,
  2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4,
  68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58,
  14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54,
  7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350,
  0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543,
  4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6,
  10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
  function c3(t, e) {
    let s = 65536;
    for (let r = 0, i = e.length; r < i; r += 2) {
      if (s += e[r], s > t) return !1;
      if (s += e[r + 1], s >= t) return !0;
    }
    return !1;
  }
  n(c3, "isInAstralSet");
  function Hu(t) {
    return t < 65 ? t === 36 : t <= 90 ? !0 : t < 97 ? t === 95 : t <= 122 ? !0 : t <= 65535 ? t >= 170 && $3t.test(String.fromCharCode(t)) :
    c3(t, Poe);
  }
  n(Hu, "isIdentifierStart");
  function jm(t) {
    return t < 48 ? t === 36 : t < 58 ? !0 : t < 65 ? !1 : t <= 90 ? !0 : t < 97 ? t === 95 : t <= 122 ? !0 : t <= 65535 ? t >= 170 && H3t.test(
    String.fromCharCode(t)) : c3(t, Poe) || c3(t, J3t);
  }
  n(jm, "isIdentifierChar");
  var F3 = {
    keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "swit\
ch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false",
    "in", "instanceof", "typeof", "void", "delete"],
    strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
    strictBind: ["eval", "arguments"]
  }, Y3t = new Set(F3.keyword), X3t = new Set(F3.strict), z3t = new Set(F3.strictBind);
  function Eoe(t, e) {
    return e && t === "await" || t === "enum";
  }
  n(Eoe, "isReservedWord");
  function Aoe(t, e) {
    return Eoe(t, e) || X3t.has(t);
  }
  n(Aoe, "isStrictReservedWord");
  function voe(t) {
    return z3t.has(t);
  }
  n(voe, "isStrictBindOnlyReservedWord");
  function Coe(t, e) {
    return Aoe(t, e) || voe(t);
  }
  n(Coe, "isStrictBindReservedWord");
  function G3t(t) {
    return Y3t.has(t);
  }
  n(G3t, "isKeyword");
  function Q3t(t, e, s) {
    return t === 64 && e === 64 && Hu(s);
  }
  n(Q3t, "isIteratorStart");
  var Z3t = /* @__PURE__ */ new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function",
  "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import",
  "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protecte\
d", "public", "static", "yield", "eval", "arguments", "enum", "await"]);
  function e4t(t) {
    return Z3t.has(t);
  }
  n(e4t, "canBeReservedWord");
  var sT = class {
    static {
      n(this, "Scope");
    }
    constructor(e) {
      this.flags = 0, this.names = /* @__PURE__ */ new Map(), this.firstLexicalName = "", this.flags = e;
    }
  }, rT = class {
    static {
      n(this, "ScopeHandler");
    }
    constructor(e, s) {
      this.parser = void 0, this.scopeStack = [], this.inModule = void 0, this.undefinedExports = /* @__PURE__ */ new Map(), this.parser = e,
      this.inModule = s;
    }
    get inTopLevel() {
      return (this.currentScope().flags & 1) > 0;
    }
    get inFunction() {
      return (this.currentVarScopeFlags() & 2) > 0;
    }
    get allowSuper() {
      return (this.currentThisScopeFlags() & 16) > 0;
    }
    get allowDirectSuper() {
      return (this.currentThisScopeFlags() & 32) > 0;
    }
    get inClass() {
      return (this.currentThisScopeFlags() & 64) > 0;
    }
    get inClassAndNotInNonArrowFunction() {
      let e = this.currentThisScopeFlags();
      return (e & 64) > 0 && (e & 2) === 0;
    }
    get inStaticBlock() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 128)
          return !0;
        if (s & 451)
          return !1;
      }
    }
    get inNonArrowFunction() {
      return (this.currentThisScopeFlags() & 2) > 0;
    }
    get treatFunctionsAsVar() {
      return this.treatFunctionsAsVarInScope(this.currentScope());
    }
    createScope(e) {
      return new sT(e);
    }
    enter(e) {
      this.scopeStack.push(this.createScope(e));
    }
    exit() {
      return this.scopeStack.pop().flags;
    }
    treatFunctionsAsVarInScope(e) {
      return !!(e.flags & 130 || !this.parser.inModule && e.flags & 1);
    }
    declareName(e, s, r) {
      let i = this.currentScope();
      if (s & 8 || s & 16) {
        this.checkRedeclarationInScope(i, e, s, r);
        let a = i.names.get(e) || 0;
        s & 16 ? a = a | 4 : (i.firstLexicalName || (i.firstLexicalName = e), a = a | 2), i.names.set(e, a), s & 8 && this.maybeExportDefined(
        i, e);
      } else if (s & 4)
        for (let a = this.scopeStack.length - 1; a >= 0 && (i = this.scopeStack[a], this.checkRedeclarationInScope(i, e, s, r), i.names.set(
        e, (i.names.get(e) || 0) | 1), this.maybeExportDefined(i, e), !(i.flags & 387)); --a)
          ;
      this.parser.inModule && i.flags & 1 && this.undefinedExports.delete(e);
    }
    maybeExportDefined(e, s) {
      this.parser.inModule && e.flags & 1 && this.undefinedExports.delete(s);
    }
    checkRedeclarationInScope(e, s, r, i) {
      this.isRedeclaredInScope(e, s, r) && this.parser.raise(te.VarRedeclaration, i, {
        identifierName: s
      });
    }
    isRedeclaredInScope(e, s, r) {
      if (!(r & 1)) return !1;
      if (r & 8)
        return e.names.has(s);
      let i = e.names.get(s);
      return r & 16 ? (i & 2) > 0 || !this.treatFunctionsAsVarInScope(e) && (i & 1) > 0 : (i & 2) > 0 && !(e.flags & 8 && e.firstLexicalName ===
      s) || !this.treatFunctionsAsVarInScope(e) && (i & 4) > 0;
    }
    checkLocalExport(e) {
      let {
        name: s
      } = e;
      this.scopeStack[0].names.has(s) || this.undefinedExports.set(s, e.loc.start);
    }
    currentScope() {
      return this.scopeStack[this.scopeStack.length - 1];
    }
    currentVarScopeFlags() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 387)
          return s;
      }
    }
    currentThisScopeFlags() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 451 && !(s & 4))
          return s;
      }
    }
  }, p3 = class extends sT {
    static {
      n(this, "FlowScope");
    }
    constructor(...e) {
      super(...e), this.declareFunctions = /* @__PURE__ */ new Set();
    }
  }, h3 = class extends rT {
    static {
      n(this, "FlowScopeHandler");
    }
    createScope(e) {
      return new p3(e);
    }
    declareName(e, s, r) {
      let i = this.currentScope();
      if (s & 2048) {
        this.checkRedeclarationInScope(i, e, s, r), this.maybeExportDefined(i, e), i.declareFunctions.add(e);
        return;
      }
      super.declareName(e, s, r);
    }
    isRedeclaredInScope(e, s, r) {
      if (super.isRedeclaredInScope(e, s, r)) return !0;
      if (r & 2048 && !e.declareFunctions.has(s)) {
        let i = e.names.get(s);
        return (i & 4) > 0 || (i & 2) > 0;
      }
      return !1;
    }
    checkLocalExport(e) {
      this.scopeStack[0].declareFunctions.has(e.name) || super.checkLocalExport(e);
    }
  }, f3 = class {
    static {
      n(this, "BaseParser");
    }
    constructor() {
      this.sawUnambiguousESM = !1, this.ambiguousScriptDifferentAst = !1;
    }
    sourceToOffsetPos(e) {
      return e + this.startIndex;
    }
    offsetToSourcePos(e) {
      return e - this.startIndex;
    }
    hasPlugin(e) {
      if (typeof e == "string")
        return this.plugins.has(e);
      {
        let [s, r] = e;
        if (!this.hasPlugin(s))
          return !1;
        let i = this.plugins.get(s);
        for (let a of Object.keys(r))
          if (i?.[a] !== r[a])
            return !1;
        return !0;
      }
    }
    getPluginOption(e, s) {
      var r;
      return (r = this.plugins.get(e)) == null ? void 0 : r[s];
    }
  };
  function woe(t, e) {
    t.trailingComments === void 0 ? t.trailingComments = e : t.trailingComments.unshift(...e);
  }
  n(woe, "setTrailingComments");
  function t4t(t, e) {
    t.leadingComments === void 0 ? t.leadingComments = e : t.leadingComments.unshift(...e);
  }
  n(t4t, "setLeadingComments");
  function iT(t, e) {
    t.innerComments === void 0 ? t.innerComments = e : t.innerComments.unshift(...e);
  }
  n(iT, "setInnerComments");
  function Tf(t, e, s) {
    let r = null, i = e.length;
    for (; r === null && i > 0; )
      r = e[--i];
    r === null || r.start > s.start ? iT(t, s.comments) : woe(r, s.comments);
  }
  n(Tf, "adjustInnerComments");
  var d3 = class extends f3 {
    static {
      n(this, "CommentsParser");
    }
    addComment(e) {
      this.filename && (e.loc.filename = this.filename);
      let {
        commentsLen: s
      } = this.state;
      this.comments.length !== s && (this.comments.length = s), this.comments.push(e), this.state.commentsLen++;
    }
    processComment(e) {
      let {
        commentStack: s
      } = this.state, r = s.length;
      if (r === 0) return;
      let i = r - 1, a = s[i];
      a.start === e.end && (a.leadingNode = e, i--);
      let {
        start: o
      } = e;
      for (; i >= 0; i--) {
        let l = s[i], u = l.end;
        if (u > o)
          l.containingNode = e, this.finalizeComment(l), s.splice(i, 1);
        else {
          u === o && (l.trailingNode = e);
          break;
        }
      }
    }
    finalizeComment(e) {
      let {
        comments: s
      } = e;
      if (e.leadingNode !== null || e.trailingNode !== null)
        e.leadingNode !== null && woe(e.leadingNode, s), e.trailingNode !== null && t4t(e.trailingNode, s);
      else {
        let {
          containingNode: r,
          start: i
        } = e;
        if (this.input.charCodeAt(this.offsetToSourcePos(i) - 1) === 44)
          switch (r.type) {
            case "ObjectExpression":
            case "ObjectPattern":
            case "RecordExpression":
              Tf(r, r.properties, e);
              break;
            case "CallExpression":
            case "OptionalCallExpression":
              Tf(r, r.arguments, e);
              break;
            case "FunctionDeclaration":
            case "FunctionExpression":
            case "ArrowFunctionExpression":
            case "ObjectMethod":
            case "ClassMethod":
            case "ClassPrivateMethod":
              Tf(r, r.params, e);
              break;
            case "ArrayExpression":
            case "ArrayPattern":
            case "TupleExpression":
              Tf(r, r.elements, e);
              break;
            case "ExportNamedDeclaration":
            case "ImportDeclaration":
              Tf(r, r.specifiers, e);
              break;
            case "TSEnumDeclaration":
              Tf(r, r.members, e);
              break;
            case "TSEnumBody":
              Tf(r, r.members, e);
              break;
            default:
              iT(r, s);
          }
        else
          iT(r, s);
      }
    }
    finalizeRemainingComments() {
      let {
        commentStack: e
      } = this.state;
      for (let s = e.length - 1; s >= 0; s--)
        this.finalizeComment(e[s]);
      this.state.commentStack = [];
    }
    resetPreviousNodeTrailingComments(e) {
      let {
        commentStack: s
      } = this.state, {
        length: r
      } = s;
      if (r === 0) return;
      let i = s[r - 1];
      i.leadingNode === e && (i.leadingNode = null);
    }
    resetPreviousIdentifierLeadingComments(e) {
      let {
        commentStack: s
      } = this.state, {
        length: r
      } = s;
      r !== 0 && (s[r - 1].trailingNode === e ? s[r - 1].trailingNode = null : r >= 2 && s[r - 2].trailingNode === e && (s[r - 2].trailingNode =
      null));
    }
    takeSurroundingComments(e, s, r) {
      let {
        commentStack: i
      } = this.state, a = i.length;
      if (a === 0) return;
      let o = a - 1;
      for (; o >= 0; o--) {
        let l = i[o], u = l.end;
        if (l.start === r)
          l.leadingNode = e;
        else if (u === s)
          l.trailingNode = e;
        else if (u < s)
          break;
      }
    }
  }, s4t = /\r\n|[\r\n\u2028\u2029]/, qA = new RegExp(s4t.source, "g");
  function Rm(t) {
    switch (t) {
      case 10:
      case 13:
      case 8232:
      case 8233:
        return !0;
      default:
        return !1;
    }
  }
  n(Rm, "isNewLine");
  function coe(t, e, s) {
    for (let r = e; r < s; r++)
      if (Rm(t.charCodeAt(r)))
        return !0;
    return !1;
  }
  n(coe, "hasNewLine");
  var n3 = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g, a3 = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g;
  function r4t(t) {
    switch (t) {
      case 9:
      case 11:
      case 12:
      case 32:
      case 160:
      case 5760:
      case 8192:
      case 8193:
      case 8194:
      case 8195:
      case 8196:
      case 8197:
      case 8198:
      case 8199:
      case 8200:
      case 8201:
      case 8202:
      case 8239:
      case 8287:
      case 12288:
      case 65279:
        return !0;
      default:
        return !1;
    }
  }
  n(r4t, "isWhitespace");
  var m3 = class t {
    static {
      n(this, "State");
    }
    constructor() {
      this.flags = 1024, this.startIndex = void 0, this.curLine = void 0, this.lineStart = void 0, this.startLoc = void 0, this.endLoc = void 0,
      this.errors = [], this.potentialArrowAt = -1, this.noArrowAt = [], this.noArrowParamsConversionAt = [], this.topicContext = {
        maxNumOfResolvableTopics: 0,
        maxTopicIndex: null
      }, this.labels = [], this.commentsLen = 0, this.commentStack = [], this.pos = 0, this.type = 140, this.value = null, this.start = 0, this.
      end = 0, this.lastTokEndLoc = null, this.lastTokStartLoc = null, this.context = [sr.brace], this.firstInvalidTemplateEscapePos = null,
      this.strictErrors = /* @__PURE__ */ new Map(), this.tokensLength = 0;
    }
    get strict() {
      return (this.flags & 1) > 0;
    }
    set strict(e) {
      e ? this.flags |= 1 : this.flags &= -2;
    }
    init({
      strictMode: e,
      sourceType: s,
      startIndex: r,
      startLine: i,
      startColumn: a
    }) {
      this.strict = e === !1 ? !1 : e === !0 ? !0 : s === "module", this.startIndex = r, this.curLine = i, this.lineStart = -a, this.startLoc =
      this.endLoc = new Pl(i, a, r);
    }
    get maybeInArrowParameters() {
      return (this.flags & 2) > 0;
    }
    set maybeInArrowParameters(e) {
      e ? this.flags |= 2 : this.flags &= -3;
    }
    get inType() {
      return (this.flags & 4) > 0;
    }
    set inType(e) {
      e ? this.flags |= 4 : this.flags &= -5;
    }
    get noAnonFunctionType() {
      return (this.flags & 8) > 0;
    }
    set noAnonFunctionType(e) {
      e ? this.flags |= 8 : this.flags &= -9;
    }
    get hasFlowComment() {
      return (this.flags & 16) > 0;
    }
    set hasFlowComment(e) {
      e ? this.flags |= 16 : this.flags &= -17;
    }
    get isAmbientContext() {
      return (this.flags & 32) > 0;
    }
    set isAmbientContext(e) {
      e ? this.flags |= 32 : this.flags &= -33;
    }
    get inAbstractClass() {
      return (this.flags & 64) > 0;
    }
    set inAbstractClass(e) {
      e ? this.flags |= 64 : this.flags &= -65;
    }
    get inDisallowConditionalTypesContext() {
      return (this.flags & 128) > 0;
    }
    set inDisallowConditionalTypesContext(e) {
      e ? this.flags |= 128 : this.flags &= -129;
    }
    get soloAwait() {
      return (this.flags & 256) > 0;
    }
    set soloAwait(e) {
      e ? this.flags |= 256 : this.flags &= -257;
    }
    get inFSharpPipelineDirectBody() {
      return (this.flags & 512) > 0;
    }
    set inFSharpPipelineDirectBody(e) {
      e ? this.flags |= 512 : this.flags &= -513;
    }
    get canStartJSXElement() {
      return (this.flags & 1024) > 0;
    }
    set canStartJSXElement(e) {
      e ? this.flags |= 1024 : this.flags &= -1025;
    }
    get containsEsc() {
      return (this.flags & 2048) > 0;
    }
    set containsEsc(e) {
      e ? this.flags |= 2048 : this.flags &= -2049;
    }
    get hasTopLevelAwait() {
      return (this.flags & 4096) > 0;
    }
    set hasTopLevelAwait(e) {
      e ? this.flags |= 4096 : this.flags &= -4097;
    }
    curPosition() {
      return new Pl(this.curLine, this.pos - this.lineStart, this.pos + this.startIndex);
    }
    clone() {
      let e = new t();
      return e.flags = this.flags, e.startIndex = this.startIndex, e.curLine = this.curLine, e.lineStart = this.lineStart, e.startLoc = this.
      startLoc, e.endLoc = this.endLoc, e.errors = this.errors.slice(), e.potentialArrowAt = this.potentialArrowAt, e.noArrowAt = this.noArrowAt.
      slice(), e.noArrowParamsConversionAt = this.noArrowParamsConversionAt.slice(), e.topicContext = this.topicContext, e.labels = this.labels.
      slice(), e.commentsLen = this.commentsLen, e.commentStack = this.commentStack.slice(), e.pos = this.pos, e.type = this.type, e.value =
      this.value, e.start = this.start, e.end = this.end, e.lastTokEndLoc = this.lastTokEndLoc, e.lastTokStartLoc = this.lastTokStartLoc, e.
      context = this.context.slice(), e.firstInvalidTemplateEscapePos = this.firstInvalidTemplateEscapePos, e.strictErrors = this.strictErrors,
      e.tokensLength = this.tokensLength, e;
    }
  }, i4t = /* @__PURE__ */ n(function(e) {
    return e >= 48 && e <= 57;
  }, "isDigit"), poe = {
    decBinOct: /* @__PURE__ */ new Set([46, 66, 69, 79, 95, 98, 101, 111]),
    hex: /* @__PURE__ */ new Set([46, 88, 95, 120])
  }, UA = {
    bin: /* @__PURE__ */ n((t) => t === 48 || t === 49, "bin"),
    oct: /* @__PURE__ */ n((t) => t >= 48 && t <= 55, "oct"),
    dec: /* @__PURE__ */ n((t) => t >= 48 && t <= 57, "dec"),
    hex: /* @__PURE__ */ n((t) => t >= 48 && t <= 57 || t >= 65 && t <= 70 || t >= 97 && t <= 102, "hex")
  };
  function hoe(t, e, s, r, i, a) {
    let o = s, l = r, u = i, c = "", p = null, h = s, {
      length: f
    } = e;
    for (; ; ) {
      if (s >= f) {
        a.unterminated(o, l, u), c += e.slice(h, s);
        break;
      }
      let d = e.charCodeAt(s);
      if (n4t(t, d, e, s)) {
        c += e.slice(h, s);
        break;
      }
      if (d === 92) {
        c += e.slice(h, s);
        let m = a4t(e, s, r, i, t === "template", a);
        m.ch === null && !p ? p = {
          pos: s,
          lineStart: r,
          curLine: i
        } : c += m.ch, {
          pos: s,
          lineStart: r,
          curLine: i
        } = m, h = s;
      } else d === 8232 || d === 8233 ? (++s, ++i, r = s) : d === 10 || d === 13 ? t === "template" ? (c += e.slice(h, s) + `
`, ++s, d === 13 && e.charCodeAt(s) === 10 && ++s, ++i, h = r = s) : a.unterminated(o, l, u) : ++s;
    }
    return {
      pos: s,
      str: c,
      firstInvalidLoc: p,
      lineStart: r,
      curLine: i,
      containsInvalid: !!p
    };
  }
  n(hoe, "readStringContents");
  function n4t(t, e, s, r) {
    return t === "template" ? e === 96 || e === 36 && s.charCodeAt(r + 1) === 123 : e === (t === "double" ? 34 : 39);
  }
  n(n4t, "isStringEnd");
  function a4t(t, e, s, r, i, a) {
    let o = !i;
    e++;
    let l = /* @__PURE__ */ n((c) => ({
      pos: e,
      ch: c,
      lineStart: s,
      curLine: r
    }), "res"), u = t.charCodeAt(e++);
    switch (u) {
      case 110:
        return l(`
`);
      case 114:
        return l("\r");
      case 120: {
        let c;
        return {
          code: c,
          pos: e
        } = y3(t, e, s, r, 2, !1, o, a), l(c === null ? null : String.fromCharCode(c));
      }
      case 117: {
        let c;
        return {
          code: c,
          pos: e
        } = Noe(t, e, s, r, o, a), l(c === null ? null : String.fromCodePoint(c));
      }
      case 116:
        return l("	");
      case 98:
        return l("\b");
      case 118:
        return l("\v");
      case 102:
        return l("\f");
      case 13:
        t.charCodeAt(e) === 10 && ++e;
      case 10:
        s = e, ++r;
      case 8232:
      case 8233:
        return l("");
      case 56:
      case 57:
        if (i)
          return l(null);
        a.strictNumericEscape(e - 1, s, r);
      default:
        if (u >= 48 && u <= 55) {
          let c = e - 1, h = /^[0-7]+/.exec(t.slice(c, e + 2))[0], f = parseInt(h, 8);
          f > 255 && (h = h.slice(0, -1), f = parseInt(h, 8)), e += h.length - 1;
          let d = t.charCodeAt(e);
          if (h !== "0" || d === 56 || d === 57) {
            if (i)
              return l(null);
            a.strictNumericEscape(c, s, r);
          }
          return l(String.fromCharCode(f));
        }
        return l(String.fromCharCode(u));
    }
  }
  n(a4t, "readEscapedChar");
  function y3(t, e, s, r, i, a, o, l) {
    let u = e, c;
    return {
      n: c,
      pos: e
    } = Ioe(t, e, s, r, 16, i, a, !1, l, !o), c === null && (o ? l.invalidEscapeSequence(u, s, r) : e = u - 1), {
      code: c,
      pos: e
    };
  }
  n(y3, "readHexChar");
  function Ioe(t, e, s, r, i, a, o, l, u, c) {
    let p = e, h = i === 16 ? poe.hex : poe.decBinOct, f = i === 16 ? UA.hex : i === 10 ? UA.dec : i === 8 ? UA.oct : UA.bin, d = !1, m = 0;
    for (let y = 0, T = a ?? 1 / 0; y < T; ++y) {
      let b = t.charCodeAt(e), E;
      if (b === 95 && l !== "bail") {
        let V = t.charCodeAt(e - 1), W = t.charCodeAt(e + 1);
        if (l) {
          if (Number.isNaN(W) || !f(W) || h.has(V) || h.has(W)) {
            if (c) return {
              n: null,
              pos: e
            };
            u.unexpectedNumericSeparator(e, s, r);
          }
        } else {
          if (c) return {
            n: null,
            pos: e
          };
          u.numericSeparatorInEscapeSequence(e, s, r);
        }
        ++e;
        continue;
      }
      if (b >= 97 ? E = b - 97 + 10 : b >= 65 ? E = b - 65 + 10 : i4t(b) ? E = b - 48 : E = 1 / 0, E >= i) {
        if (E <= 9 && c)
          return {
            n: null,
            pos: e
          };
        if (E <= 9 && u.invalidDigit(e, s, r, i))
          E = 0;
        else if (o)
          E = 0, d = !0;
        else
          break;
      }
      ++e, m = m * i + E;
    }
    return e === p || a != null && e - p !== a || d ? {
      n: null,
      pos: e
    } : {
      n: m,
      pos: e
    };
  }
  n(Ioe, "readInt");
  function Noe(t, e, s, r, i, a) {
    let o = t.charCodeAt(e), l;
    if (o === 123) {
      if (++e, {
        code: l,
        pos: e
      } = y3(t, e, s, r, t.indexOf("}", e) - e, !0, i, a), ++e, l !== null && l > 1114111)
        if (i)
          a.invalidCodePoint(e, s, r);
        else
          return {
            code: null,
            pos: e
          };
    } else
      ({
        code: l,
        pos: e
      } = y3(t, e, s, r, 4, !1, i, a));
    return {
      code: l,
      pos: e
    };
  }
  n(Noe, "readCodePoint");
  function Z0(t, e, s) {
    return new Pl(s, t - e, t);
  }
  n(Z0, "buildPosition");
  var o4t = /* @__PURE__ */ new Set([103, 109, 115, 105, 121, 117, 100, 118]), Sl = class {
    static {
      n(this, "Token");
    }
    constructor(e) {
      let s = e.startIndex || 0;
      this.type = e.type, this.value = e.value, this.start = s + e.start, this.end = s + e.end, this.loc = new Um(e.startLoc, e.endLoc);
    }
  }, g3 = class extends d3 {
    static {
      n(this, "Tokenizer");
    }
    constructor(e, s) {
      super(), this.isLookahead = void 0, this.tokens = [], this.errorHandlers_readInt = {
        invalidDigit: /* @__PURE__ */ n((r, i, a, o) => this.optionFlags & 1024 ? (this.raise(te.InvalidDigit, Z0(r, i, a), {
          radix: o
        }), !0) : !1, "invalidDigit"),
        numericSeparatorInEscapeSequence: this.errorBuilder(te.NumericSeparatorInEscapeSequence),
        unexpectedNumericSeparator: this.errorBuilder(te.UnexpectedNumericSeparator)
      }, this.errorHandlers_readCodePoint = Object.assign({}, this.errorHandlers_readInt, {
        invalidEscapeSequence: this.errorBuilder(te.InvalidEscapeSequence),
        invalidCodePoint: this.errorBuilder(te.InvalidCodePoint)
      }), this.errorHandlers_readStringContents_string = Object.assign({}, this.errorHandlers_readCodePoint, {
        strictNumericEscape: /* @__PURE__ */ n((r, i, a) => {
          this.recordStrictModeErrors(te.StrictNumericEscape, Z0(r, i, a));
        }, "strictNumericEscape"),
        unterminated: /* @__PURE__ */ n((r, i, a) => {
          throw this.raise(te.UnterminatedString, Z0(r - 1, i, a));
        }, "unterminated")
      }), this.errorHandlers_readStringContents_template = Object.assign({}, this.errorHandlers_readCodePoint, {
        strictNumericEscape: this.errorBuilder(te.StrictNumericEscape),
        unterminated: /* @__PURE__ */ n((r, i, a) => {
          throw this.raise(te.UnterminatedTemplate, Z0(r, i, a));
        }, "unterminated")
      }), this.state = new m3(), this.state.init(e), this.input = s, this.length = s.length, this.comments = [], this.isLookahead = !1;
    }
    pushToken(e) {
      this.tokens.length = this.state.tokensLength, this.tokens.push(e), ++this.state.tokensLength;
    }
    next() {
      this.checkKeywordEscapes(), this.optionFlags & 128 && this.pushToken(new Sl(this.state)), this.state.lastTokEndLoc = this.state.endLoc,
      this.state.lastTokStartLoc = this.state.startLoc, this.nextToken();
    }
    eat(e) {
      return this.match(e) ? (this.next(), !0) : !1;
    }
    match(e) {
      return this.state.type === e;
    }
    createLookaheadState(e) {
      return {
        pos: e.pos,
        value: null,
        type: e.type,
        start: e.start,
        end: e.end,
        context: [this.curContext()],
        inType: e.inType,
        startLoc: e.startLoc,
        lastTokEndLoc: e.lastTokEndLoc,
        curLine: e.curLine,
        lineStart: e.lineStart,
        curPosition: e.curPosition
      };
    }
    lookahead() {
      let e = this.state;
      this.state = this.createLookaheadState(e), this.isLookahead = !0, this.nextToken(), this.isLookahead = !1;
      let s = this.state;
      return this.state = e, s;
    }
    nextTokenStart() {
      return this.nextTokenStartSince(this.state.pos);
    }
    nextTokenStartSince(e) {
      return n3.lastIndex = e, n3.test(this.input) ? n3.lastIndex : e;
    }
    lookaheadCharCode() {
      return this.input.charCodeAt(this.nextTokenStart());
    }
    nextTokenInLineStart() {
      return this.nextTokenInLineStartSince(this.state.pos);
    }
    nextTokenInLineStartSince(e) {
      return a3.lastIndex = e, a3.test(this.input) ? a3.lastIndex : e;
    }
    lookaheadInLineCharCode() {
      return this.input.charCodeAt(this.nextTokenInLineStart());
    }
    codePointAtPos(e) {
      let s = this.input.charCodeAt(e);
      if ((s & 64512) === 55296 && ++e < this.input.length) {
        let r = this.input.charCodeAt(e);
        (r & 64512) === 56320 && (s = 65536 + ((s & 1023) << 10) + (r & 1023));
      }
      return s;
    }
    setStrict(e) {
      this.state.strict = e, e && (this.state.strictErrors.forEach(([s, r]) => this.raise(s, r)), this.state.strictErrors.clear());
    }
    curContext() {
      return this.state.context[this.state.context.length - 1];
    }
    nextToken() {
      if (this.skipSpace(), this.state.start = this.state.pos, this.isLookahead || (this.state.startLoc = this.state.curPosition()), this.state.
      pos >= this.length) {
        this.finishToken(140);
        return;
      }
      this.getTokenFromCode(this.codePointAtPos(this.state.pos));
    }
    skipBlockComment(e) {
      let s;
      this.isLookahead || (s = this.state.curPosition());
      let r = this.state.pos, i = this.input.indexOf(e, r + 2);
      if (i === -1)
        throw this.raise(te.UnterminatedComment, this.state.curPosition());
      for (this.state.pos = i + e.length, qA.lastIndex = r + 2; qA.test(this.input) && qA.lastIndex <= i; )
        ++this.state.curLine, this.state.lineStart = qA.lastIndex;
      if (this.isLookahead) return;
      let a = {
        type: "CommentBlock",
        value: this.input.slice(r + 2, i),
        start: this.sourceToOffsetPos(r),
        end: this.sourceToOffsetPos(i + e.length),
        loc: new Um(s, this.state.curPosition())
      };
      return this.optionFlags & 128 && this.pushToken(a), a;
    }
    skipLineComment(e) {
      let s = this.state.pos, r;
      this.isLookahead || (r = this.state.curPosition());
      let i = this.input.charCodeAt(this.state.pos += e);
      if (this.state.pos < this.length)
        for (; !Rm(i) && ++this.state.pos < this.length; )
          i = this.input.charCodeAt(this.state.pos);
      if (this.isLookahead) return;
      let a = this.state.pos, l = {
        type: "CommentLine",
        value: this.input.slice(s + e, a),
        start: this.sourceToOffsetPos(s),
        end: this.sourceToOffsetPos(a),
        loc: new Um(r, this.state.curPosition())
      };
      return this.optionFlags & 128 && this.pushToken(l), l;
    }
    skipSpace() {
      let e = this.state.pos, s = this.optionFlags & 2048 ? [] : null;
      e: for (; this.state.pos < this.length; ) {
        let r = this.input.charCodeAt(this.state.pos);
        switch (r) {
          case 32:
          case 160:
          case 9:
            ++this.state.pos;
            break;
          case 13:
            this.input.charCodeAt(this.state.pos + 1) === 10 && ++this.state.pos;
          case 10:
          case 8232:
          case 8233:
            ++this.state.pos, ++this.state.curLine, this.state.lineStart = this.state.pos;
            break;
          case 47:
            switch (this.input.charCodeAt(this.state.pos + 1)) {
              case 42: {
                let i = this.skipBlockComment("*/");
                i !== void 0 && (this.addComment(i), s?.push(i));
                break;
              }
              case 47: {
                let i = this.skipLineComment(2);
                i !== void 0 && (this.addComment(i), s?.push(i));
                break;
              }
              default:
                break e;
            }
            break;
          default:
            if (r4t(r))
              ++this.state.pos;
            else if (r === 45 && !this.inModule && this.optionFlags & 4096) {
              let i = this.state.pos;
              if (this.input.charCodeAt(i + 1) === 45 && this.input.charCodeAt(i + 2) === 62 && (e === 0 || this.state.lineStart > e)) {
                let a = this.skipLineComment(3);
                a !== void 0 && (this.addComment(a), s?.push(a));
              } else
                break e;
            } else if (r === 60 && !this.inModule && this.optionFlags & 4096) {
              let i = this.state.pos;
              if (this.input.charCodeAt(i + 1) === 33 && this.input.charCodeAt(i + 2) === 45 && this.input.charCodeAt(i + 3) === 45) {
                let a = this.skipLineComment(4);
                a !== void 0 && (this.addComment(a), s?.push(a));
              } else
                break e;
            } else
              break e;
        }
      }
      if (s?.length > 0) {
        let r = this.state.pos, i = {
          start: this.sourceToOffsetPos(e),
          end: this.sourceToOffsetPos(r),
          comments: s,
          leadingNode: null,
          trailingNode: null,
          containingNode: null
        };
        this.state.commentStack.push(i);
      }
    }
    finishToken(e, s) {
      this.state.end = this.state.pos, this.state.endLoc = this.state.curPosition();
      let r = this.state.type;
      this.state.type = e, this.state.value = s, this.isLookahead || this.updateContext(r);
    }
    replaceToken(e) {
      this.state.type = e, this.updateContext();
    }
    readToken_numberSign() {
      if (this.state.pos === 0 && this.readToken_interpreter())
        return;
      let e = this.state.pos + 1, s = this.codePointAtPos(e);
      if (s >= 48 && s <= 57)
        throw this.raise(te.UnexpectedDigitAfterHash, this.state.curPosition());
      if (s === 123 || s === 91 && this.hasPlugin("recordAndTuple")) {
        if (this.expectPlugin("recordAndTuple"), this.getPluginOption("recordAndTuple", "syntaxType") === "bar")
          throw this.raise(s === 123 ? te.RecordExpressionHashIncorrectStartSyntaxType : te.TupleExpressionHashIncorrectStartSyntaxType, this.
          state.curPosition());
        this.state.pos += 2, s === 123 ? this.finishToken(7) : this.finishToken(1);
      } else Hu(s) ? (++this.state.pos, this.finishToken(139, this.readWord1(s))) : s === 92 ? (++this.state.pos, this.finishToken(139, this.
      readWord1())) : this.finishOp(27, 1);
    }
    readToken_dot() {
      let e = this.input.charCodeAt(this.state.pos + 1);
      if (e >= 48 && e <= 57) {
        this.readNumber(!0);
        return;
      }
      e === 46 && this.input.charCodeAt(this.state.pos + 2) === 46 ? (this.state.pos += 3, this.finishToken(21)) : (++this.state.pos, this.finishToken(
      16));
    }
    readToken_slash() {
      this.input.charCodeAt(this.state.pos + 1) === 61 ? this.finishOp(31, 2) : this.finishOp(56, 1);
    }
    readToken_interpreter() {
      if (this.state.pos !== 0 || this.length < 2) return !1;
      let e = this.input.charCodeAt(this.state.pos + 1);
      if (e !== 33) return !1;
      let s = this.state.pos;
      for (this.state.pos += 1; !Rm(e) && ++this.state.pos < this.length; )
        e = this.input.charCodeAt(this.state.pos);
      let r = this.input.slice(s + 2, this.state.pos);
      return this.finishToken(28, r), !0;
    }
    readToken_mult_modulo(e) {
      let s = e === 42 ? 55 : 54, r = 1, i = this.input.charCodeAt(this.state.pos + 1);
      e === 42 && i === 42 && (r++, i = this.input.charCodeAt(this.state.pos + 2), s = 57), i === 61 && !this.state.inType && (r++, s = e ===
      37 ? 33 : 30), this.finishOp(s, r);
    }
    readToken_pipe_amp(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === e) {
        this.input.charCodeAt(this.state.pos + 2) === 61 ? this.finishOp(30, 3) : this.finishOp(e === 124 ? 41 : 42, 2);
        return;
      }
      if (e === 124) {
        if (s === 62) {
          this.finishOp(39, 2);
          return;
        }
        if (this.hasPlugin("recordAndTuple") && s === 125) {
          if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
            throw this.raise(te.RecordExpressionBarIncorrectEndSyntaxType, this.state.curPosition());
          this.state.pos += 2, this.finishToken(9);
          return;
        }
        if (this.hasPlugin("recordAndTuple") && s === 93) {
          if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
            throw this.raise(te.TupleExpressionBarIncorrectEndSyntaxType, this.state.curPosition());
          this.state.pos += 2, this.finishToken(4);
          return;
        }
      }
      if (s === 61) {
        this.finishOp(30, 2);
        return;
      }
      this.finishOp(e === 124 ? 43 : 45, 1);
    }
    readToken_caret() {
      let e = this.input.charCodeAt(this.state.pos + 1);
      e === 61 && !this.state.inType ? this.finishOp(32, 2) : e === 94 && this.hasPlugin(["pipelineOperator", {
        proposal: "hack",
        topicToken: "^^"
      }]) ? (this.finishOp(37, 2), this.input.codePointAt(this.state.pos) === 94 && this.unexpected()) : this.finishOp(44, 1);
    }
    readToken_atSign() {
      this.input.charCodeAt(this.state.pos + 1) === 64 && this.hasPlugin(["pipelineOperator", {
        proposal: "hack",
        topicToken: "@@"
      }]) ? this.finishOp(38, 2) : this.finishOp(26, 1);
    }
    readToken_plus_min(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === e) {
        this.finishOp(34, 2);
        return;
      }
      s === 61 ? this.finishOp(30, 2) : this.finishOp(53, 1);
    }
    readToken_lt() {
      let {
        pos: e
      } = this.state, s = this.input.charCodeAt(e + 1);
      if (s === 60) {
        if (this.input.charCodeAt(e + 2) === 61) {
          this.finishOp(30, 3);
          return;
        }
        this.finishOp(51, 2);
        return;
      }
      if (s === 61) {
        this.finishOp(49, 2);
        return;
      }
      this.finishOp(47, 1);
    }
    readToken_gt() {
      let {
        pos: e
      } = this.state, s = this.input.charCodeAt(e + 1);
      if (s === 62) {
        let r = this.input.charCodeAt(e + 2) === 62 ? 3 : 2;
        if (this.input.charCodeAt(e + r) === 61) {
          this.finishOp(30, r + 1);
          return;
        }
        this.finishOp(52, r);
        return;
      }
      if (s === 61) {
        this.finishOp(49, 2);
        return;
      }
      this.finishOp(48, 1);
    }
    readToken_eq_excl(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === 61) {
        this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2);
        return;
      }
      if (e === 61 && s === 62) {
        this.state.pos += 2, this.finishToken(19);
        return;
      }
      this.finishOp(e === 61 ? 29 : 35, 1);
    }
    readToken_question() {
      let e = this.input.charCodeAt(this.state.pos + 1), s = this.input.charCodeAt(this.state.pos + 2);
      e === 63 ? s === 61 ? this.finishOp(30, 3) : this.finishOp(40, 2) : e === 46 && !(s >= 48 && s <= 57) ? (this.state.pos += 2, this.finishToken(
      18)) : (++this.state.pos, this.finishToken(17));
    }
    getTokenFromCode(e) {
      switch (e) {
        case 46:
          this.readToken_dot();
          return;
        case 40:
          ++this.state.pos, this.finishToken(10);
          return;
        case 41:
          ++this.state.pos, this.finishToken(11);
          return;
        case 59:
          ++this.state.pos, this.finishToken(13);
          return;
        case 44:
          ++this.state.pos, this.finishToken(12);
          return;
        case 91:
          if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
            if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
              throw this.raise(te.TupleExpressionBarIncorrectStartSyntaxType, this.state.curPosition());
            this.state.pos += 2, this.finishToken(2);
          } else
            ++this.state.pos, this.finishToken(0);
          return;
        case 93:
          ++this.state.pos, this.finishToken(3);
          return;
        case 123:
          if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
            if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
              throw this.raise(te.RecordExpressionBarIncorrectStartSyntaxType, this.state.curPosition());
            this.state.pos += 2, this.finishToken(6);
          } else
            ++this.state.pos, this.finishToken(5);
          return;
        case 125:
          ++this.state.pos, this.finishToken(8);
          return;
        case 58:
          this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58 ? this.finishOp(15, 2) : (++this.state.pos, this.
          finishToken(14));
          return;
        case 63:
          this.readToken_question();
          return;
        case 96:
          this.readTemplateToken();
          return;
        case 48: {
          let s = this.input.charCodeAt(this.state.pos + 1);
          if (s === 120 || s === 88) {
            this.readRadixNumber(16);
            return;
          }
          if (s === 111 || s === 79) {
            this.readRadixNumber(8);
            return;
          }
          if (s === 98 || s === 66) {
            this.readRadixNumber(2);
            return;
          }
        }
        case 49:
        case 50:
        case 51:
        case 52:
        case 53:
        case 54:
        case 55:
        case 56:
        case 57:
          this.readNumber(!1);
          return;
        case 34:
        case 39:
          this.readString(e);
          return;
        case 47:
          this.readToken_slash();
          return;
        case 37:
        case 42:
          this.readToken_mult_modulo(e);
          return;
        case 124:
        case 38:
          this.readToken_pipe_amp(e);
          return;
        case 94:
          this.readToken_caret();
          return;
        case 43:
        case 45:
          this.readToken_plus_min(e);
          return;
        case 60:
          this.readToken_lt();
          return;
        case 62:
          this.readToken_gt();
          return;
        case 61:
        case 33:
          this.readToken_eq_excl(e);
          return;
        case 126:
          this.finishOp(36, 1);
          return;
        case 64:
          this.readToken_atSign();
          return;
        case 35:
          this.readToken_numberSign();
          return;
        case 92:
          this.readWord();
          return;
        default:
          if (Hu(e)) {
            this.readWord(e);
            return;
          }
      }
      throw this.raise(te.InvalidOrUnexpectedToken, this.state.curPosition(), {
        unexpected: String.fromCodePoint(e)
      });
    }
    finishOp(e, s) {
      let r = this.input.slice(this.state.pos, this.state.pos + s);
      this.state.pos += s, this.finishToken(e, r);
    }
    readRegexp() {
      let e = this.state.startLoc, s = this.state.start + 1, r, i, {
        pos: a
      } = this.state;
      for (; ; ++a) {
        if (a >= this.length)
          throw this.raise(te.UnterminatedRegExp, Mn(e, 1));
        let c = this.input.charCodeAt(a);
        if (Rm(c))
          throw this.raise(te.UnterminatedRegExp, Mn(e, 1));
        if (r)
          r = !1;
        else {
          if (c === 91)
            i = !0;
          else if (c === 93 && i)
            i = !1;
          else if (c === 47 && !i)
            break;
          r = c === 92;
        }
      }
      let o = this.input.slice(s, a);
      ++a;
      let l = "", u = /* @__PURE__ */ n(() => Mn(e, a + 2 - s), "nextPos");
      for (; a < this.length; ) {
        let c = this.codePointAtPos(a), p = String.fromCharCode(c);
        if (o4t.has(c))
          c === 118 ? l.includes("u") && this.raise(te.IncompatibleRegExpUVFlags, u()) : c === 117 && l.includes("v") && this.raise(te.IncompatibleRegExpUVFlags,
          u()), l.includes(p) && this.raise(te.DuplicateRegExpFlags, u());
        else if (jm(c) || c === 92)
          this.raise(te.MalformedRegExpFlags, u());
        else
          break;
        ++a, l += p;
      }
      this.state.pos = a, this.finishToken(138, {
        pattern: o,
        flags: l
      });
    }
    readInt(e, s, r = !1, i = !0) {
      let {
        n: a,
        pos: o
      } = Ioe(this.input, this.state.pos, this.state.lineStart, this.state.curLine, e, s, r, i, this.errorHandlers_readInt, !1);
      return this.state.pos = o, a;
    }
    readRadixNumber(e) {
      let s = this.state.pos, r = this.state.curPosition(), i = !1;
      this.state.pos += 2;
      let a = this.readInt(e);
      a == null && this.raise(te.InvalidDigit, Mn(r, 2), {
        radix: e
      });
      let o = this.input.charCodeAt(this.state.pos);
      if (o === 110)
        ++this.state.pos, i = !0;
      else if (o === 109)
        throw this.raise(te.InvalidDecimal, r);
      if (Hu(this.codePointAtPos(this.state.pos)))
        throw this.raise(te.NumberIdentifier, this.state.curPosition());
      if (i) {
        let l = this.input.slice(s, this.state.pos).replace(/[_n]/g, "");
        this.finishToken(136, l);
        return;
      }
      this.finishToken(135, a);
    }
    readNumber(e) {
      let s = this.state.pos, r = this.state.curPosition(), i = !1, a = !1, o = !1, l = !1;
      !e && this.readInt(10) === null && this.raise(te.InvalidNumber, this.state.curPosition());
      let u = this.state.pos - s >= 2 && this.input.charCodeAt(s) === 48;
      if (u) {
        let d = this.input.slice(s, this.state.pos);
        if (this.recordStrictModeErrors(te.StrictOctalLiteral, r), !this.state.strict) {
          let m = d.indexOf("_");
          m > 0 && this.raise(te.ZeroDigitNumericSeparator, Mn(r, m));
        }
        l = u && !/[89]/.test(d);
      }
      let c = this.input.charCodeAt(this.state.pos);
      if (c === 46 && !l && (++this.state.pos, this.readInt(10), i = !0, c = this.input.charCodeAt(this.state.pos)), (c === 69 || c === 101) &&
      !l && (c = this.input.charCodeAt(++this.state.pos), (c === 43 || c === 45) && ++this.state.pos, this.readInt(10) === null && this.raise(
      te.InvalidOrMissingExponent, r), i = !0, o = !0, c = this.input.charCodeAt(this.state.pos)), c === 110 && ((i || u) && this.raise(te.InvalidBigIntLiteral,
      r), ++this.state.pos, a = !0), c === 109) {
        this.expectPlugin("decimal", this.state.curPosition()), (o || u) && this.raise(te.InvalidDecimal, r), ++this.state.pos;
        var p = !0;
      }
      if (Hu(this.codePointAtPos(this.state.pos)))
        throw this.raise(te.NumberIdentifier, this.state.curPosition());
      let h = this.input.slice(s, this.state.pos).replace(/[_mn]/g, "");
      if (a) {
        this.finishToken(136, h);
        return;
      }
      if (p) {
        this.finishToken(137, h);
        return;
      }
      let f = l ? parseInt(h, 8) : parseFloat(h);
      this.finishToken(135, f);
    }
    readCodePoint(e) {
      let {
        code: s,
        pos: r
      } = Noe(this.input, this.state.pos, this.state.lineStart, this.state.curLine, e, this.errorHandlers_readCodePoint);
      return this.state.pos = r, s;
    }
    readString(e) {
      let {
        str: s,
        pos: r,
        curLine: i,
        lineStart: a
      } = hoe(e === 34 ? "double" : "single", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_string);
      this.state.pos = r + 1, this.state.lineStart = a, this.state.curLine = i, this.finishToken(134, s);
    }
    readTemplateContinuation() {
      this.match(8) || this.unexpected(null, 8), this.state.pos--, this.readTemplateToken();
    }
    readTemplateToken() {
      let e = this.input[this.state.pos], {
        str: s,
        firstInvalidLoc: r,
        pos: i,
        curLine: a,
        lineStart: o
      } = hoe("template", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_template);
      this.state.pos = i + 1, this.state.lineStart = o, this.state.curLine = a, r && (this.state.firstInvalidTemplateEscapePos = new Pl(r.curLine,
      r.pos - r.lineStart, this.sourceToOffsetPos(r.pos))), this.input.codePointAt(i) === 96 ? this.finishToken(24, r ? null : e + s + "`") :
      (this.state.pos++, this.finishToken(25, r ? null : e + s + "${"));
    }
    recordStrictModeErrors(e, s) {
      let r = s.index;
      this.state.strict && !this.state.strictErrors.has(r) ? this.raise(e, s) : this.state.strictErrors.set(r, [e, s]);
    }
    readWord1(e) {
      this.state.containsEsc = !1;
      let s = "", r = this.state.pos, i = this.state.pos;
      for (e !== void 0 && (this.state.pos += e <= 65535 ? 1 : 2); this.state.pos < this.length; ) {
        let a = this.codePointAtPos(this.state.pos);
        if (jm(a))
          this.state.pos += a <= 65535 ? 1 : 2;
        else if (a === 92) {
          this.state.containsEsc = !0, s += this.input.slice(i, this.state.pos);
          let o = this.state.curPosition(), l = this.state.pos === r ? Hu : jm;
          if (this.input.charCodeAt(++this.state.pos) !== 117) {
            this.raise(te.MissingUnicodeEscape, this.state.curPosition()), i = this.state.pos - 1;
            continue;
          }
          ++this.state.pos;
          let u = this.readCodePoint(!0);
          u !== null && (l(u) || this.raise(te.EscapedCharNotAnIdentifier, o), s += String.fromCodePoint(u)), i = this.state.pos;
        } else
          break;
      }
      return s + this.input.slice(i, this.state.pos);
    }
    readWord(e) {
      let s = this.readWord1(e), r = N3.get(s);
      r !== void 0 ? this.finishToken(r, Cp(r)) : this.finishToken(132, s);
    }
    checkKeywordEscapes() {
      let {
        type: e
      } = this.state;
      B3(e) && this.state.containsEsc && this.raise(te.InvalidEscapedReservedWord, this.state.startLoc, {
        reservedWord: Cp(e)
      });
    }
    raise(e, s, r = {}) {
      let i = s instanceof Pl ? s : s.loc.start, a = e(i, r);
      if (!(this.optionFlags & 1024)) throw a;
      return this.isLookahead || this.state.errors.push(a), a;
    }
    raiseOverwrite(e, s, r = {}) {
      let i = s instanceof Pl ? s : s.loc.start, a = i.index, o = this.state.errors;
      for (let l = o.length - 1; l >= 0; l--) {
        let u = o[l];
        if (u.loc.index === a)
          return o[l] = e(i, r);
        if (u.loc.index < a) break;
      }
      return this.raise(e, s, r);
    }
    updateContext(e) {
    }
    unexpected(e, s) {
      throw this.raise(te.UnexpectedToken, e ?? this.state.startLoc, {
        expected: s ? Cp(s) : null
      });
    }
    expectPlugin(e, s) {
      if (this.hasPlugin(e))
        return !0;
      throw this.raise(te.MissingPlugin, s ?? this.state.startLoc, {
        missingPlugin: [e]
      });
    }
    expectOnePlugin(e) {
      if (!e.some((s) => this.hasPlugin(s)))
        throw this.raise(te.MissingOneOfPlugins, this.state.startLoc, {
          missingPlugin: e
        });
    }
    errorBuilder(e) {
      return (s, r, i) => {
        this.raise(e, Z0(s, r, i));
      };
    }
  }, T3 = class {
    static {
      n(this, "ClassScope");
    }
    constructor() {
      this.privateNames = /* @__PURE__ */ new Set(), this.loneAccessors = /* @__PURE__ */ new Map(), this.undefinedPrivateNames = /* @__PURE__ */ new Map();
    }
  }, b3 = class {
    static {
      n(this, "ClassScopeHandler");
    }
    constructor(e) {
      this.parser = void 0, this.stack = [], this.undefinedPrivateNames = /* @__PURE__ */ new Map(), this.parser = e;
    }
    current() {
      return this.stack[this.stack.length - 1];
    }
    enter() {
      this.stack.push(new T3());
    }
    exit() {
      let e = this.stack.pop(), s = this.current();
      for (let [r, i] of Array.from(e.undefinedPrivateNames))
        s ? s.undefinedPrivateNames.has(r) || s.undefinedPrivateNames.set(r, i) : this.parser.raise(te.InvalidPrivateFieldResolution, i, {
          identifierName: r
        });
    }
    declarePrivateName(e, s, r) {
      let {
        privateNames: i,
        loneAccessors: a,
        undefinedPrivateNames: o
      } = this.current(), l = i.has(e);
      if (s & 3) {
        let u = l && a.get(e);
        if (u) {
          let c = u & 4, p = s & 4, h = u & 3, f = s & 3;
          l = h === f || c !== p, l || a.delete(e);
        } else l || a.set(e, s);
      }
      l && this.parser.raise(te.PrivateNameRedeclaration, r, {
        identifierName: e
      }), i.add(e), o.delete(e);
    }
    usePrivateName(e, s) {
      let r;
      for (r of this.stack)
        if (r.privateNames.has(e)) return;
      r ? r.undefinedPrivateNames.set(e, s) : this.parser.raise(te.InvalidPrivateFieldResolution, s, {
        identifierName: e
      });
    }
  }, Km = class {
    static {
      n(this, "ExpressionScope");
    }
    constructor(e = 0) {
      this.type = e;
    }
    canBeArrowParameterDeclaration() {
      return this.type === 2 || this.type === 1;
    }
    isCertainlyParameterDeclaration() {
      return this.type === 3;
    }
  }, JA = class extends Km {
    static {
      n(this, "ArrowHeadParsingScope");
    }
    constructor(e) {
      super(e), this.declarationErrors = /* @__PURE__ */ new Map();
    }
    recordDeclarationError(e, s) {
      let r = s.index;
      this.declarationErrors.set(r, [e, s]);
    }
    clearDeclarationError(e) {
      this.declarationErrors.delete(e);
    }
    iterateErrors(e) {
      this.declarationErrors.forEach(e);
    }
  }, x3 = class {
    static {
      n(this, "ExpressionScopeHandler");
    }
    constructor(e) {
      this.parser = void 0, this.stack = [new Km()], this.parser = e;
    }
    enter(e) {
      this.stack.push(e);
    }
    exit() {
      this.stack.pop();
    }
    recordParameterInitializerError(e, s) {
      let r = s.loc.start, {
        stack: i
      } = this, a = i.length - 1, o = i[a];
      for (; !o.isCertainlyParameterDeclaration(); ) {
        if (o.canBeArrowParameterDeclaration())
          o.recordDeclarationError(e, r);
        else
          return;
        o = i[--a];
      }
      this.parser.raise(e, r);
    }
    recordArrowParameterBindingError(e, s) {
      let {
        stack: r
      } = this, i = r[r.length - 1], a = s.loc.start;
      if (i.isCertainlyParameterDeclaration())
        this.parser.raise(e, a);
      else if (i.canBeArrowParameterDeclaration())
        i.recordDeclarationError(e, a);
      else
        return;
    }
    recordAsyncArrowParametersError(e) {
      let {
        stack: s
      } = this, r = s.length - 1, i = s[r];
      for (; i.canBeArrowParameterDeclaration(); )
        i.type === 2 && i.recordDeclarationError(te.AwaitBindingIdentifier, e), i = s[--r];
    }
    validateAsPattern() {
      let {
        stack: e
      } = this, s = e[e.length - 1];
      s.canBeArrowParameterDeclaration() && s.iterateErrors(([r, i]) => {
        this.parser.raise(r, i);
        let a = e.length - 2, o = e[a];
        for (; o.canBeArrowParameterDeclaration(); )
          o.clearDeclarationError(i.index), o = e[--a];
      });
    }
  };
  function l4t() {
    return new Km(3);
  }
  n(l4t, "newParameterDeclarationScope");
  function u4t() {
    return new JA(1);
  }
  n(u4t, "newArrowHeadScope");
  function c4t() {
    return new JA(2);
  }
  n(c4t, "newAsyncArrowScope");
  function koe() {
    return new Km();
  }
  n(koe, "newExpressionScope");
  var S3 = class {
    static {
      n(this, "ProductionParameterHandler");
    }
    constructor() {
      this.stacks = [];
    }
    enter(e) {
      this.stacks.push(e);
    }
    exit() {
      this.stacks.pop();
    }
    currentFlags() {
      return this.stacks[this.stacks.length - 1];
    }
    get hasAwait() {
      return (this.currentFlags() & 2) > 0;
    }
    get hasYield() {
      return (this.currentFlags() & 1) > 0;
    }
    get hasReturn() {
      return (this.currentFlags() & 4) > 0;
    }
    get hasIn() {
      return (this.currentFlags() & 8) > 0;
    }
  };
  function WA(t, e) {
    return (t ? 2 : 0) | (e ? 1 : 0);
  }
  n(WA, "functionFlags");
  var P3 = class extends g3 {
    static {
      n(this, "UtilParser");
    }
    addExtra(e, s, r, i = !0) {
      if (!e) return;
      let {
        extra: a
      } = e;
      a == null && (a = {}, e.extra = a), i ? a[s] = r : Object.defineProperty(a, s, {
        enumerable: i,
        value: r
      });
    }
    isContextual(e) {
      return this.state.type === e && !this.state.containsEsc;
    }
    isUnparsedContextual(e, s) {
      let r = e + s.length;
      if (this.input.slice(e, r) === s) {
        let i = this.input.charCodeAt(r);
        return !(jm(i) || (i & 64512) === 55296);
      }
      return !1;
    }
    isLookaheadContextual(e) {
      let s = this.nextTokenStart();
      return this.isUnparsedContextual(s, e);
    }
    eatContextual(e) {
      return this.isContextual(e) ? (this.next(), !0) : !1;
    }
    expectContextual(e, s) {
      if (!this.eatContextual(e)) {
        if (s != null)
          throw this.raise(s, this.state.startLoc);
        this.unexpected(null, e);
      }
    }
    canInsertSemicolon() {
      return this.match(140) || this.match(8) || this.hasPrecedingLineBreak();
    }
    hasPrecedingLineBreak() {
      return coe(this.input, this.offsetToSourcePos(this.state.lastTokEndLoc.index), this.state.start);
    }
    hasFollowingLineBreak() {
      return coe(this.input, this.state.end, this.nextTokenStart());
    }
    isLineTerminator() {
      return this.eat(13) || this.canInsertSemicolon();
    }
    semicolon(e = !0) {
      (e ? this.isLineTerminator() : this.eat(13)) || this.raise(te.MissingSemicolon, this.state.lastTokEndLoc);
    }
    expect(e, s) {
      this.eat(e) || this.unexpected(s, e);
    }
    tryParse(e, s = this.state.clone()) {
      let r = {
        node: null
      };
      try {
        let i = e((a = null) => {
          throw r.node = a, r;
        });
        if (this.state.errors.length > s.errors.length) {
          let a = this.state;
          return this.state = s, this.state.tokensLength = a.tokensLength, {
            node: i,
            error: a.errors[s.errors.length],
            thrown: !1,
            aborted: !1,
            failState: a
          };
        }
        return {
          node: i,
          error: null,
          thrown: !1,
          aborted: !1,
          failState: null
        };
      } catch (i) {
        let a = this.state;
        if (this.state = s, i instanceof SyntaxError)
          return {
            node: null,
            error: i,
            thrown: !0,
            aborted: !1,
            failState: a
          };
        if (i === r)
          return {
            node: r.node,
            error: null,
            thrown: !1,
            aborted: !0,
            failState: a
          };
        throw i;
      }
    }
    checkExpressionErrors(e, s) {
      if (!e) return !1;
      let {
        shorthandAssignLoc: r,
        doubleProtoLoc: i,
        privateKeyLoc: a,
        optionalParametersLoc: o
      } = e, l = !!r || !!i || !!o || !!a;
      if (!s)
        return l;
      r != null && this.raise(te.InvalidCoverInitializedName, r), i != null && this.raise(te.DuplicateProto, i), a != null && this.raise(te.
      UnexpectedPrivateField, a), o != null && this.unexpected(o);
    }
    isLiteralPropertyName() {
      return xoe(this.state.type);
    }
    isPrivateName(e) {
      return e.type === "PrivateName";
    }
    getPrivateNameSV(e) {
      return e.id.name;
    }
    hasPropertyAsPrivateName(e) {
      return (e.type === "MemberExpression" || e.type === "OptionalMemberExpression") && this.isPrivateName(e.property);
    }
    isObjectProperty(e) {
      return e.type === "ObjectProperty";
    }
    isObjectMethod(e) {
      return e.type === "ObjectMethod";
    }
    initializeScopes(e = this.options.sourceType === "module") {
      let s = this.state.labels;
      this.state.labels = [];
      let r = this.exportedIdentifiers;
      this.exportedIdentifiers = /* @__PURE__ */ new Set();
      let i = this.inModule;
      this.inModule = e;
      let a = this.scope, o = this.getScopeHandler();
      this.scope = new o(this, e);
      let l = this.prodParam;
      this.prodParam = new S3();
      let u = this.classScope;
      this.classScope = new b3(this);
      let c = this.expressionScope;
      return this.expressionScope = new x3(this), () => {
        this.state.labels = s, this.exportedIdentifiers = r, this.inModule = i, this.scope = a, this.prodParam = l, this.classScope = u, this.
        expressionScope = c;
      };
    }
    enterInitialScopes() {
      let e = 0;
      this.inModule && (e |= 2), this.scope.enter(1), this.prodParam.enter(e);
    }
    checkDestructuringPrivate(e) {
      let {
        privateKeyLoc: s
      } = e;
      s !== null && this.expectPlugin("destructuringPrivate", s);
    }
  }, qm = class {
    static {
      n(this, "ExpressionErrors");
    }
    constructor() {
      this.shorthandAssignLoc = null, this.doubleProtoLoc = null, this.privateKeyLoc = null, this.optionalParametersLoc = null;
    }
  }, Vm = class {
    static {
      n(this, "Node");
    }
    constructor(e, s, r) {
      this.type = "", this.start = s, this.end = 0, this.loc = new Um(r), e?.optionFlags & 64 && (this.range = [s, 0]), e != null && e.filename &&
      (this.loc.filename = e.filename);
    }
  }, j3 = Vm.prototype;
  j3.__clone = function() {
    let t = new Vm(void 0, this.start, this.loc.start), e = Object.keys(this);
    for (let s = 0, r = e.length; s < r; s++) {
      let i = e[s];
      i !== "leadingComments" && i !== "trailingComments" && i !== "innerComments" && (t[i] = this[i]);
    }
    return t;
  };
  function p4t(t) {
    return Yu(t);
  }
  n(p4t, "clonePlaceholder");
  function Yu(t) {
    let {
      type: e,
      start: s,
      end: r,
      loc: i,
      range: a,
      extra: o,
      name: l
    } = t, u = Object.create(j3);
    return u.type = e, u.start = s, u.end = r, u.loc = i, u.range = a, u.extra = o, u.name = l, e === "Placeholder" && (u.expectedNode = t.expectedNode),
    u;
  }
  n(Yu, "cloneIdentifier");
  function h4t(t) {
    let {
      type: e,
      start: s,
      end: r,
      loc: i,
      range: a,
      extra: o
    } = t;
    if (e === "Placeholder")
      return p4t(t);
    let l = Object.create(j3);
    return l.type = e, l.start = s, l.end = r, l.loc = i, l.range = a, t.raw !== void 0 ? l.raw = t.raw : l.extra = o, l.value = t.value, l;
  }
  n(h4t, "cloneStringLiteral");
  var E3 = class extends P3 {
    static {
      n(this, "NodeUtils");
    }
    startNode() {
      let e = this.state.startLoc;
      return new Vm(this, e.index, e);
    }
    startNodeAt(e) {
      return new Vm(this, e.index, e);
    }
    startNodeAtNode(e) {
      return this.startNodeAt(e.loc.start);
    }
    finishNode(e, s) {
      return this.finishNodeAt(e, s, this.state.lastTokEndLoc);
    }
    finishNodeAt(e, s, r) {
      return e.type = s, e.end = r.index, e.loc.end = r, this.optionFlags & 64 && (e.range[1] = r.index), this.optionFlags & 2048 && this.processComment(
      e), e;
    }
    resetStartLocation(e, s) {
      e.start = s.index, e.loc.start = s, this.optionFlags & 64 && (e.range[0] = s.index);
    }
    resetEndLocation(e, s = this.state.lastTokEndLoc) {
      e.end = s.index, e.loc.end = s, this.optionFlags & 64 && (e.range[1] = s.index);
    }
    resetStartLocationFromNode(e, s) {
      this.resetStartLocation(e, s.loc.start);
    }
  }, f4t = /* @__PURE__ */ new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "sta\
tic", "string", "true", "typeof", "void"]), Mt = Ju`flow`({
    AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",
    AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since \
they are either an ES module or they are a CommonJS module.",
    AssignReservedType: /* @__PURE__ */ n(({
      reservedType: t
    }) => `Cannot overwrite reserved type ${t}.`, "AssignReservedType"),
    DeclareClassElement: "The `declare` modifier can only appear on class fields.",
    DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.",
    DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.",
    EnumBooleanMemberNotInitialized: /* @__PURE__ */ n(({
      memberName: t,
      enumName: e
    }) => `Boolean enum members need to be initialized. Use either \`${t} = true,\` or \`${t} = false,\` in enum \`${e}\`.`, "EnumBooleanMem\
berNotInitialized"),
    EnumDuplicateMemberName: /* @__PURE__ */ n(({
      memberName: t,
      enumName: e
    }) => `Enum member names need to be unique, but the name \`${t}\` has already been used before in enum \`${e}\`.`, "EnumDuplicateMemberN\
ame"),
    EnumInconsistentMemberValues: /* @__PURE__ */ n(({
      enumName: t
    }) => `Enum \`${t}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, num\
bers, or strings) for all member initializers.`, "EnumInconsistentMemberValues"),
    EnumInvalidExplicitType: /* @__PURE__ */ n(({
      invalidEnumType: t,
      enumName: e
    }) => `Enum type \`${t}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${e}\`.`, "EnumInvalidEx\
plicitType"),
    EnumInvalidExplicitTypeUnknownSupplied: /* @__PURE__ */ n(({
      enumName: t
    }) => `Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${t}\`.`, "EnumInvalidEx\
plicitTypeUnknownSupplied"),
    EnumInvalidMemberInitializerPrimaryType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e,
      explicitType: s
    }) => `Enum \`${t}\` has type \`${s}\`, so the initializer of \`${e}\` needs to be a ${s} literal.`, "EnumInvalidMemberInitializerPrimar\
yType"),
    EnumInvalidMemberInitializerSymbolType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `Symbol enum members cannot be initialized. Use \`${e},\` in enum \`${t}\`.`, "EnumInvalidMemberInitializerSymbolType"),
    EnumInvalidMemberInitializerUnknownType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `The enum member initializer for \`${e}\` needs to be a literal (either a boolean, number, or string) in enum \`${t}\`.`, "EnumInv\
alidMemberInitializerUnknownType"),
    EnumInvalidMemberName: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e,
      suggestion: s
    }) => `Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${e}\`, consider using \`${s}\`, in enum \`${t}\
\`.`, "EnumInvalidMemberName"),
    EnumNumberMemberNotInitialized: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `Number enum members need to be initialized, e.g. \`${e} = 1\` in enum \`${t}\`.`, "EnumNumberMemberNotInitialized"),
    EnumStringMemberInconsistentlyInitialized: /* @__PURE__ */ n(({
      enumName: t
    }) => `String enum members need to consistently either all use initializers, or use no initializers, in enum \`${t}\`.`, "EnumStringMemb\
erInconsistentlyInitialized"),
    GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.",
    ImportReflectionHasImportType: "An `import module` declaration can not use `type` or `typeof` keyword.",
    ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements.\
 It cannot be used with `import type` or `import typeof` statements.",
    InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.",
    InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.",
    InexactVariance: "Explicit inexact syntax cannot have variance.",
    InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.",
    MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",
    NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.",
    NestedFlowComment: "Cannot have a flow comment inside another flow comment.",
    PatternIsOptional: Object.assign({
      message: "A binding pattern parameter cannot be optional in an implementation signature."
    }, {
      reasonCode: "OptionalBindingPattern"
    }),
    SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.",
    SpreadVariance: "Spread properties cannot have variance.",
    ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.",
    ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",
    ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.",
    ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.",
    ThisParamNoDefault: "The `this` parameter may not have a default value.",
    TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`\
.",
    TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.",
    UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.",
    UnexpectedReservedType: /* @__PURE__ */ n(({
      reservedType: t
    }) => `Unexpected reserved type ${t}.`, "UnexpectedReservedType"),
    UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.",
    UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.",
    UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.",
    UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".',
    UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.",
    UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}\
`, use `async <T>() => {}`.",
    UnsupportedDeclareExportKind: /* @__PURE__ */ n(({
      unsupportedExportKind: t,
      suggestion: e
    }) => `\`declare export ${t}\` is not supported. Use \`${e}\` instead.`, "UnsupportedDeclareExportKind"),
    UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.",
    UnterminatedFlowComment: "Unterminated flow-comment."
  });
  function d4t(t) {
    return t.type === "DeclareExportAllDeclaration" || t.type === "DeclareExportDeclaration" && (!t.declaration || t.declaration.type !== "T\
ypeAlias" && t.declaration.type !== "InterfaceDeclaration");
  }
  n(d4t, "isEsModuleType");
  function foe(t) {
    return t.importKind === "type" || t.importKind === "typeof";
  }
  n(foe, "hasTypeImportKind");
  var m4t = {
    const: "declare export var",
    let: "declare export var",
    type: "export type",
    interface: "export interface"
  };
  function y4t(t, e) {
    let s = [], r = [];
    for (let i = 0; i < t.length; i++)
      (e(t[i], i, t) ? s : r).push(t[i]);
    return [s, r];
  }
  n(y4t, "partition");
  var g4t = /\*?\s*@((?:no)?flow)\b/, T4t = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "FlowParserMixin");
    }
    constructor(...s) {
      super(...s), this.flowPragma = void 0;
    }
    getScopeHandler() {
      return h3;
    }
    shouldParseTypes() {
      return this.getPluginOption("flow", "all") || this.flowPragma === "flow";
    }
    finishToken(s, r) {
      s !== 134 && s !== 13 && s !== 28 && this.flowPragma === void 0 && (this.flowPragma = null), super.finishToken(s, r);
    }
    addComment(s) {
      if (this.flowPragma === void 0) {
        let r = g4t.exec(s.value);
        if (r) if (r[1] === "flow")
          this.flowPragma = "flow";
        else if (r[1] === "noflow")
          this.flowPragma = "noflow";
        else
          throw new Error("Unexpected flow pragma");
      }
      super.addComment(s);
    }
    flowParseTypeInitialiser(s) {
      let r = this.state.inType;
      this.state.inType = !0, this.expect(s || 14);
      let i = this.flowParseType();
      return this.state.inType = r, i;
    }
    flowParsePredicate() {
      let s = this.startNode(), r = this.state.startLoc;
      return this.next(), this.expectContextual(110), this.state.lastTokStartLoc.index > r.index + 1 && this.raise(Mt.UnexpectedSpaceBetweenModuloChecks,
      r), this.eat(10) ? (s.value = super.parseExpression(), this.expect(11), this.finishNode(s, "DeclaredPredicate")) : this.finishNode(s, "\
InferredPredicate");
    }
    flowParseTypeAndPredicateInitialiser() {
      let s = this.state.inType;
      this.state.inType = !0, this.expect(14);
      let r = null, i = null;
      return this.match(54) ? (this.state.inType = s, i = this.flowParsePredicate()) : (r = this.flowParseType(), this.state.inType = s, this.
      match(54) && (i = this.flowParsePredicate())), [r, i];
    }
    flowParseDeclareClass(s) {
      return this.next(), this.flowParseInterfaceish(s, !0), this.finishNode(s, "DeclareClass");
    }
    flowParseDeclareFunction(s) {
      this.next();
      let r = s.id = this.parseIdentifier(), i = this.startNode(), a = this.startNode();
      this.match(47) ? i.typeParameters = this.flowParseTypeParameterDeclaration() : i.typeParameters = null, this.expect(10);
      let o = this.flowParseFunctionTypeParams();
      return i.params = o.params, i.rest = o.rest, i.this = o._this, this.expect(11), [i.returnType, s.predicate] = this.flowParseTypeAndPredicateInitialiser(),
      a.typeAnnotation = this.finishNode(i, "FunctionTypeAnnotation"), r.typeAnnotation = this.finishNode(a, "TypeAnnotation"), this.resetEndLocation(
      r), this.semicolon(), this.scope.declareName(s.id.name, 2048, s.id.loc.start), this.finishNode(s, "DeclareFunction");
    }
    flowParseDeclare(s, r) {
      if (this.match(80))
        return this.flowParseDeclareClass(s);
      if (this.match(68))
        return this.flowParseDeclareFunction(s);
      if (this.match(74))
        return this.flowParseDeclareVariable(s);
      if (this.eatContextual(127))
        return this.match(16) ? this.flowParseDeclareModuleExports(s) : (r && this.raise(Mt.NestedDeclareModule, this.state.lastTokStartLoc),
        this.flowParseDeclareModule(s));
      if (this.isContextual(130))
        return this.flowParseDeclareTypeAlias(s);
      if (this.isContextual(131))
        return this.flowParseDeclareOpaqueType(s);
      if (this.isContextual(129))
        return this.flowParseDeclareInterface(s);
      if (this.match(82))
        return this.flowParseDeclareExportDeclaration(s, r);
      this.unexpected();
    }
    flowParseDeclareVariable(s) {
      return this.next(), s.id = this.flowParseTypeAnnotatableIdentifier(!0), this.scope.declareName(s.id.name, 5, s.id.loc.start), this.semicolon(),
      this.finishNode(s, "DeclareVariable");
    }
    flowParseDeclareModule(s) {
      this.scope.enter(0), this.match(134) ? s.id = super.parseExprAtom() : s.id = this.parseIdentifier();
      let r = s.body = this.startNode(), i = r.body = [];
      for (this.expect(5); !this.match(8); ) {
        let l = this.startNode();
        this.match(83) ? (this.next(), !this.isContextual(130) && !this.match(87) && this.raise(Mt.InvalidNonTypeImportInDeclareModule, this.
        state.lastTokStartLoc), super.parseImport(l)) : (this.expectContextual(125, Mt.UnsupportedStatementInDeclareModule), l = this.flowParseDeclare(
        l, !0)), i.push(l);
      }
      this.scope.exit(), this.expect(8), this.finishNode(r, "BlockStatement");
      let a = null, o = !1;
      return i.forEach((l) => {
        d4t(l) ? (a === "CommonJS" && this.raise(Mt.AmbiguousDeclareModuleKind, l), a = "ES") : l.type === "DeclareModuleExports" && (o && this.
        raise(Mt.DuplicateDeclareModuleExports, l), a === "ES" && this.raise(Mt.AmbiguousDeclareModuleKind, l), a = "CommonJS", o = !0);
      }), s.kind = a || "CommonJS", this.finishNode(s, "DeclareModule");
    }
    flowParseDeclareExportDeclaration(s, r) {
      if (this.expect(82), this.eat(65))
        return this.match(68) || this.match(80) ? s.declaration = this.flowParseDeclare(this.startNode()) : (s.declaration = this.flowParseType(),
        this.semicolon()), s.default = !0, this.finishNode(s, "DeclareExportDeclaration");
      if (this.match(75) || this.isLet() || (this.isContextual(130) || this.isContextual(129)) && !r) {
        let i = this.state.value;
        throw this.raise(Mt.UnsupportedDeclareExportKind, this.state.startLoc, {
          unsupportedExportKind: i,
          suggestion: m4t[i]
        });
      }
      if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(131))
        return s.declaration = this.flowParseDeclare(this.startNode()), s.default = !1, this.finishNode(s, "DeclareExportDeclaration");
      if (this.match(55) || this.match(5) || this.isContextual(129) || this.isContextual(130) || this.isContextual(131))
        return s = this.parseExport(s, null), s.type === "ExportNamedDeclaration" && (s.type = "ExportDeclaration", s.default = !1, delete s.
        exportKind), s.type = "Declare" + s.type, s;
      this.unexpected();
    }
    flowParseDeclareModuleExports(s) {
      return this.next(), this.expectContextual(111), s.typeAnnotation = this.flowParseTypeAnnotation(), this.semicolon(), this.finishNode(s,
      "DeclareModuleExports");
    }
    flowParseDeclareTypeAlias(s) {
      this.next();
      let r = this.flowParseTypeAlias(s);
      return r.type = "DeclareTypeAlias", r;
    }
    flowParseDeclareOpaqueType(s) {
      this.next();
      let r = this.flowParseOpaqueType(s, !0);
      return r.type = "DeclareOpaqueType", r;
    }
    flowParseDeclareInterface(s) {
      return this.next(), this.flowParseInterfaceish(s, !1), this.finishNode(s, "DeclareInterface");
    }
    flowParseInterfaceish(s, r) {
      if (s.id = this.flowParseRestrictedIdentifier(!r, !0), this.scope.declareName(s.id.name, r ? 17 : 8201, s.id.loc.start), this.match(47) ?
      s.typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.extends = [], this.eat(81))
        do
          s.extends.push(this.flowParseInterfaceExtends());
        while (!r && this.eat(12));
      if (r) {
        if (s.implements = [], s.mixins = [], this.eatContextual(117))
          do
            s.mixins.push(this.flowParseInterfaceExtends());
          while (this.eat(12));
        if (this.eatContextual(113))
          do
            s.implements.push(this.flowParseInterfaceExtends());
          while (this.eat(12));
      }
      s.body = this.flowParseObjectType({
        allowStatic: r,
        allowExact: !1,
        allowSpread: !1,
        allowProto: r,
        allowInexact: !1
      });
    }
    flowParseInterfaceExtends() {
      let s = this.startNode();
      return s.id = this.flowParseQualifiedTypeIdentifier(), this.match(47) ? s.typeParameters = this.flowParseTypeParameterInstantiation() :
      s.typeParameters = null, this.finishNode(s, "InterfaceExtends");
    }
    flowParseInterface(s) {
      return this.flowParseInterfaceish(s, !1), this.finishNode(s, "InterfaceDeclaration");
    }
    checkNotUnderscore(s) {
      s === "_" && this.raise(Mt.UnexpectedReservedUnderscore, this.state.startLoc);
    }
    checkReservedType(s, r, i) {
      f4t.has(s) && this.raise(i ? Mt.AssignReservedType : Mt.UnexpectedReservedType, r, {
        reservedType: s
      });
    }
    flowParseRestrictedIdentifier(s, r) {
      return this.checkReservedType(this.state.value, this.state.startLoc, r), this.parseIdentifier(s);
    }
    flowParseTypeAlias(s) {
      return s.id = this.flowParseRestrictedIdentifier(!1, !0), this.scope.declareName(s.id.name, 8201, s.id.loc.start), this.match(47) ? s.
      typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.right = this.flowParseTypeInitialiser(29), this.
      semicolon(), this.finishNode(s, "TypeAlias");
    }
    flowParseOpaqueType(s, r) {
      return this.expectContextual(130), s.id = this.flowParseRestrictedIdentifier(!0, !0), this.scope.declareName(s.id.name, 8201, s.id.loc.
      start), this.match(47) ? s.typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.supertype = null, this.
      match(14) && (s.supertype = this.flowParseTypeInitialiser(14)), s.impltype = null, r || (s.impltype = this.flowParseTypeInitialiser(29)),
      this.semicolon(), this.finishNode(s, "OpaqueType");
    }
    flowParseTypeParameter(s = !1) {
      let r = this.state.startLoc, i = this.startNode(), a = this.flowParseVariance(), o = this.flowParseTypeAnnotatableIdentifier();
      return i.name = o.name, i.variance = a, i.bound = o.typeAnnotation, this.match(29) ? (this.eat(29), i.default = this.flowParseType()) :
      s && this.raise(Mt.MissingTypeParamDefault, r), this.finishNode(i, "TypeParameter");
    }
    flowParseTypeParameterDeclaration() {
      let s = this.state.inType, r = this.startNode();
      r.params = [], this.state.inType = !0, this.match(47) || this.match(143) ? this.next() : this.unexpected();
      let i = !1;
      do {
        let a = this.flowParseTypeParameter(i);
        r.params.push(a), a.default && (i = !0), this.match(48) || this.expect(12);
      } while (!this.match(48));
      return this.expect(48), this.state.inType = s, this.finishNode(r, "TypeParameterDeclaration");
    }
    flowInTopLevelContext(s) {
      if (this.curContext() !== sr.brace) {
        let r = this.state.context;
        this.state.context = [r[0]];
        try {
          return s();
        } finally {
          this.state.context = r;
        }
      } else
        return s();
    }
    flowParseTypeParameterInstantiationInExpression() {
      if (this.reScan_lt() === 47)
        return this.flowParseTypeParameterInstantiation();
    }
    flowParseTypeParameterInstantiation() {
      let s = this.startNode(), r = this.state.inType;
      return this.state.inType = !0, s.params = [], this.flowInTopLevelContext(() => {
        this.expect(47);
        let i = this.state.noAnonFunctionType;
        for (this.state.noAnonFunctionType = !1; !this.match(48); )
          s.params.push(this.flowParseType()), this.match(48) || this.expect(12);
        this.state.noAnonFunctionType = i;
      }), this.state.inType = r, !this.state.inType && this.curContext() === sr.brace && this.reScan_lt_gt(), this.expect(48), this.finishNode(
      s, "TypeParameterInstantiation");
    }
    flowParseTypeParameterInstantiationCallOrNew() {
      if (this.reScan_lt() !== 47) return;
      let s = this.startNode(), r = this.state.inType;
      for (s.params = [], this.state.inType = !0, this.expect(47); !this.match(48); )
        s.params.push(this.flowParseTypeOrImplicitInstantiation()), this.match(48) || this.expect(12);
      return this.expect(48), this.state.inType = r, this.finishNode(s, "TypeParameterInstantiation");
    }
    flowParseInterfaceType() {
      let s = this.startNode();
      if (this.expectContextual(129), s.extends = [], this.eat(81))
        do
          s.extends.push(this.flowParseInterfaceExtends());
        while (this.eat(12));
      return s.body = this.flowParseObjectType({
        allowStatic: !1,
        allowExact: !1,
        allowSpread: !1,
        allowProto: !1,
        allowInexact: !1
      }), this.finishNode(s, "InterfaceTypeAnnotation");
    }
    flowParseObjectPropertyKey() {
      return this.match(135) || this.match(134) ? super.parseExprAtom() : this.parseIdentifier(!0);
    }
    flowParseObjectTypeIndexer(s, r, i) {
      return s.static = r, this.lookahead().type === 14 ? (s.id = this.flowParseObjectPropertyKey(), s.key = this.flowParseTypeInitialiser()) :
      (s.id = null, s.key = this.flowParseType()), this.expect(3), s.value = this.flowParseTypeInitialiser(), s.variance = i, this.finishNode(
      s, "ObjectTypeIndexer");
    }
    flowParseObjectTypeInternalSlot(s, r) {
      return s.static = r, s.id = this.flowParseObjectPropertyKey(), this.expect(3), this.expect(3), this.match(47) || this.match(10) ? (s.method =
      !0, s.optional = !1, s.value = this.flowParseObjectTypeMethodish(this.startNodeAt(s.loc.start))) : (s.method = !1, this.eat(17) && (s.
      optional = !0), s.value = this.flowParseTypeInitialiser()), this.finishNode(s, "ObjectTypeInternalSlot");
    }
    flowParseObjectTypeMethodish(s) {
      for (s.params = [], s.rest = null, s.typeParameters = null, s.this = null, this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration()),
      this.expect(10), this.match(78) && (s.this = this.flowParseFunctionTypeParam(!0), s.this.name = null, this.match(11) || this.expect(12)); !this.
      match(11) && !this.match(21); )
        s.params.push(this.flowParseFunctionTypeParam(!1)), this.match(11) || this.expect(12);
      return this.eat(21) && (s.rest = this.flowParseFunctionTypeParam(!1)), this.expect(11), s.returnType = this.flowParseTypeInitialiser(),
      this.finishNode(s, "FunctionTypeAnnotation");
    }
    flowParseObjectTypeCallProperty(s, r) {
      let i = this.startNode();
      return s.static = r, s.value = this.flowParseObjectTypeMethodish(i), this.finishNode(s, "ObjectTypeCallProperty");
    }
    flowParseObjectType({
      allowStatic: s,
      allowExact: r,
      allowSpread: i,
      allowProto: a,
      allowInexact: o
    }) {
      let l = this.state.inType;
      this.state.inType = !0;
      let u = this.startNode();
      u.callProperties = [], u.properties = [], u.indexers = [], u.internalSlots = [];
      let c, p, h = !1;
      for (r && this.match(6) ? (this.expect(6), c = 9, p = !0) : (this.expect(5), c = 8, p = !1), u.exact = p; !this.match(c); ) {
        let d = !1, m = null, y = null, T = this.startNode();
        if (a && this.isContextual(118)) {
          let E = this.lookahead();
          E.type !== 14 && E.type !== 17 && (this.next(), m = this.state.startLoc, s = !1);
        }
        if (s && this.isContextual(106)) {
          let E = this.lookahead();
          E.type !== 14 && E.type !== 17 && (this.next(), d = !0);
        }
        let b = this.flowParseVariance();
        if (this.eat(0))
          m != null && this.unexpected(m), this.eat(0) ? (b && this.unexpected(b.loc.start), u.internalSlots.push(this.flowParseObjectTypeInternalSlot(
          T, d))) : u.indexers.push(this.flowParseObjectTypeIndexer(T, d, b));
        else if (this.match(10) || this.match(47))
          m != null && this.unexpected(m), b && this.unexpected(b.loc.start), u.callProperties.push(this.flowParseObjectTypeCallProperty(T, d));
        else {
          let E = "init";
          if (this.isContextual(99) || this.isContextual(104)) {
            let W = this.lookahead();
            xoe(W.type) && (E = this.state.value, this.next());
          }
          let V = this.flowParseObjectTypeProperty(T, d, m, b, E, i, o ?? !p);
          V === null ? (h = !0, y = this.state.lastTokStartLoc) : u.properties.push(V);
        }
        this.flowObjectTypeSemicolon(), y && !this.match(8) && !this.match(9) && this.raise(Mt.UnexpectedExplicitInexactInObject, y);
      }
      this.expect(c), i && (u.inexact = h);
      let f = this.finishNode(u, "ObjectTypeAnnotation");
      return this.state.inType = l, f;
    }
    flowParseObjectTypeProperty(s, r, i, a, o, l, u) {
      if (this.eat(21))
        return this.match(12) || this.match(13) || this.match(8) || this.match(9) ? (l ? u || this.raise(Mt.InexactInsideExact, this.state.lastTokStartLoc) :
        this.raise(Mt.InexactInsideNonObject, this.state.lastTokStartLoc), a && this.raise(Mt.InexactVariance, a), null) : (l || this.raise(
        Mt.UnexpectedSpreadType, this.state.lastTokStartLoc), i != null && this.unexpected(i), a && this.raise(Mt.SpreadVariance, a), s.argument =
        this.flowParseType(), this.finishNode(s, "ObjectTypeSpreadProperty"));
      {
        s.key = this.flowParseObjectPropertyKey(), s.static = r, s.proto = i != null, s.kind = o;
        let c = !1;
        return this.match(47) || this.match(10) ? (s.method = !0, i != null && this.unexpected(i), a && this.unexpected(a.loc.start), s.value =
        this.flowParseObjectTypeMethodish(this.startNodeAt(s.loc.start)), (o === "get" || o === "set") && this.flowCheckGetterSetterParams(s),
        !l && s.key.name === "constructor" && s.value.this && this.raise(Mt.ThisParamBannedInConstructor, s.value.this)) : (o !== "init" && this.
        unexpected(), s.method = !1, this.eat(17) && (c = !0), s.value = this.flowParseTypeInitialiser(), s.variance = a), s.optional = c, this.
        finishNode(s, "ObjectTypeProperty");
      }
    }
    flowCheckGetterSetterParams(s) {
      let r = s.kind === "get" ? 0 : 1, i = s.value.params.length + (s.value.rest ? 1 : 0);
      s.value.this && this.raise(s.kind === "get" ? Mt.GetterMayNotHaveThisParam : Mt.SetterMayNotHaveThisParam, s.value.this), i !== r && this.
      raise(s.kind === "get" ? te.BadGetterArity : te.BadSetterArity, s), s.kind === "set" && s.value.rest && this.raise(te.BadSetterRestParameter,
      s);
    }
    flowObjectTypeSemicolon() {
      !this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9) && this.unexpected();
    }
    flowParseQualifiedTypeIdentifier(s, r) {
      var i;
      (i = s) != null || (s = this.state.startLoc);
      let a = r || this.flowParseRestrictedIdentifier(!0);
      for (; this.eat(16); ) {
        let o = this.startNodeAt(s);
        o.qualification = a, o.id = this.flowParseRestrictedIdentifier(!0), a = this.finishNode(o, "QualifiedTypeIdentifier");
      }
      return a;
    }
    flowParseGenericType(s, r) {
      let i = this.startNodeAt(s);
      return i.typeParameters = null, i.id = this.flowParseQualifiedTypeIdentifier(s, r), this.match(47) && (i.typeParameters = this.flowParseTypeParameterInstantiation()),
      this.finishNode(i, "GenericTypeAnnotation");
    }
    flowParseTypeofType() {
      let s = this.startNode();
      return this.expect(87), s.argument = this.flowParsePrimaryType(), this.finishNode(s, "TypeofTypeAnnotation");
    }
    flowParseTupleType() {
      let s = this.startNode();
      for (s.types = [], this.expect(0); this.state.pos < this.length && !this.match(3) && (s.types.push(this.flowParseType()), !this.match(
      3)); )
        this.expect(12);
      return this.expect(3), this.finishNode(s, "TupleTypeAnnotation");
    }
    flowParseFunctionTypeParam(s) {
      let r = null, i = !1, a = null, o = this.startNode(), l = this.lookahead(), u = this.state.type === 78;
      return l.type === 14 || l.type === 17 ? (u && !s && this.raise(Mt.ThisParamMustBeFirst, o), r = this.parseIdentifier(u), this.eat(17) &&
      (i = !0, u && this.raise(Mt.ThisParamMayNotBeOptional, o)), a = this.flowParseTypeInitialiser()) : a = this.flowParseType(), o.name = r,
      o.optional = i, o.typeAnnotation = a, this.finishNode(o, "FunctionTypeParam");
    }
    reinterpretTypeAsFunctionTypeParam(s) {
      let r = this.startNodeAt(s.loc.start);
      return r.name = null, r.optional = !1, r.typeAnnotation = s, this.finishNode(r, "FunctionTypeParam");
    }
    flowParseFunctionTypeParams(s = []) {
      let r = null, i = null;
      for (this.match(78) && (i = this.flowParseFunctionTypeParam(!0), i.name = null, this.match(11) || this.expect(12)); !this.match(11) &&
      !this.match(21); )
        s.push(this.flowParseFunctionTypeParam(!1)), this.match(11) || this.expect(12);
      return this.eat(21) && (r = this.flowParseFunctionTypeParam(!1)), {
        params: s,
        rest: r,
        _this: i
      };
    }
    flowIdentToTypeAnnotation(s, r, i) {
      switch (i.name) {
        case "any":
          return this.finishNode(r, "AnyTypeAnnotation");
        case "bool":
        case "boolean":
          return this.finishNode(r, "BooleanTypeAnnotation");
        case "mixed":
          return this.finishNode(r, "MixedTypeAnnotation");
        case "empty":
          return this.finishNode(r, "EmptyTypeAnnotation");
        case "number":
          return this.finishNode(r, "NumberTypeAnnotation");
        case "string":
          return this.finishNode(r, "StringTypeAnnotation");
        case "symbol":
          return this.finishNode(r, "SymbolTypeAnnotation");
        default:
          return this.checkNotUnderscore(i.name), this.flowParseGenericType(s, i);
      }
    }
    flowParsePrimaryType() {
      let s = this.state.startLoc, r = this.startNode(), i, a, o = !1, l = this.state.noAnonFunctionType;
      switch (this.state.type) {
        case 5:
          return this.flowParseObjectType({
            allowStatic: !1,
            allowExact: !1,
            allowSpread: !0,
            allowProto: !1,
            allowInexact: !0
          });
        case 6:
          return this.flowParseObjectType({
            allowStatic: !1,
            allowExact: !0,
            allowSpread: !0,
            allowProto: !1,
            allowInexact: !1
          });
        case 0:
          return this.state.noAnonFunctionType = !1, a = this.flowParseTupleType(), this.state.noAnonFunctionType = l, a;
        case 47: {
          let u = this.startNode();
          return u.typeParameters = this.flowParseTypeParameterDeclaration(), this.expect(10), i = this.flowParseFunctionTypeParams(), u.params =
          i.params, u.rest = i.rest, u.this = i._this, this.expect(11), this.expect(19), u.returnType = this.flowParseType(), this.finishNode(
          u, "FunctionTypeAnnotation");
        }
        case 10: {
          let u = this.startNode();
          if (this.next(), !this.match(11) && !this.match(21))
            if (rr(this.state.type) || this.match(78)) {
              let c = this.lookahead().type;
              o = c !== 17 && c !== 14;
            } else
              o = !0;
          if (o) {
            if (this.state.noAnonFunctionType = !1, a = this.flowParseType(), this.state.noAnonFunctionType = l, this.state.noAnonFunctionType ||
            !(this.match(12) || this.match(11) && this.lookahead().type === 19))
              return this.expect(11), a;
            this.eat(12);
          }
          return a ? i = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(a)]) : i = this.flowParseFunctionTypeParams(),
          u.params = i.params, u.rest = i.rest, u.this = i._this, this.expect(11), this.expect(19), u.returnType = this.flowParseType(), u.typeParameters =
          null, this.finishNode(u, "FunctionTypeAnnotation");
        }
        case 134:
          return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation");
        case 85:
        case 86:
          return r.value = this.match(85), this.next(), this.finishNode(r, "BooleanLiteralTypeAnnotation");
        case 53:
          if (this.state.value === "-") {
            if (this.next(), this.match(135))
              return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", r);
            if (this.match(136))
              return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", r);
            throw this.raise(Mt.UnexpectedSubtractionOperand, this.state.startLoc);
          }
          this.unexpected();
          return;
        case 135:
          return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation");
        case 136:
          return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation");
        case 88:
          return this.next(), this.finishNode(r, "VoidTypeAnnotation");
        case 84:
          return this.next(), this.finishNode(r, "NullLiteralTypeAnnotation");
        case 78:
          return this.next(), this.finishNode(r, "ThisTypeAnnotation");
        case 55:
          return this.next(), this.finishNode(r, "ExistsTypeAnnotation");
        case 87:
          return this.flowParseTypeofType();
        default:
          if (B3(this.state.type)) {
            let u = Cp(this.state.type);
            return this.next(), super.createIdentifier(r, u);
          } else if (rr(this.state.type))
            return this.isContextual(129) ? this.flowParseInterfaceType() : this.flowIdentToTypeAnnotation(s, r, this.parseIdentifier());
      }
      this.unexpected();
    }
    flowParsePostfixType() {
      let s = this.state.startLoc, r = this.flowParsePrimaryType(), i = !1;
      for (; (this.match(0) || this.match(18)) && !this.canInsertSemicolon(); ) {
        let a = this.startNodeAt(s), o = this.eat(18);
        i = i || o, this.expect(0), !o && this.match(3) ? (a.elementType = r, this.next(), r = this.finishNode(a, "ArrayTypeAnnotation")) : (a.
        objectType = r, a.indexType = this.flowParseType(), this.expect(3), i ? (a.optional = o, r = this.finishNode(a, "OptionalIndexedAcce\
ssType")) : r = this.finishNode(a, "IndexedAccessType"));
      }
      return r;
    }
    flowParsePrefixType() {
      let s = this.startNode();
      return this.eat(17) ? (s.typeAnnotation = this.flowParsePrefixType(), this.finishNode(s, "NullableTypeAnnotation")) : this.flowParsePostfixType();
    }
    flowParseAnonFunctionWithoutParens() {
      let s = this.flowParsePrefixType();
      if (!this.state.noAnonFunctionType && this.eat(19)) {
        let r = this.startNodeAt(s.loc.start);
        return r.params = [this.reinterpretTypeAsFunctionTypeParam(s)], r.rest = null, r.this = null, r.returnType = this.flowParseType(), r.
        typeParameters = null, this.finishNode(r, "FunctionTypeAnnotation");
      }
      return s;
    }
    flowParseIntersectionType() {
      let s = this.startNode();
      this.eat(45);
      let r = this.flowParseAnonFunctionWithoutParens();
      for (s.types = [r]; this.eat(45); )
        s.types.push(this.flowParseAnonFunctionWithoutParens());
      return s.types.length === 1 ? r : this.finishNode(s, "IntersectionTypeAnnotation");
    }
    flowParseUnionType() {
      let s = this.startNode();
      this.eat(43);
      let r = this.flowParseIntersectionType();
      for (s.types = [r]; this.eat(43); )
        s.types.push(this.flowParseIntersectionType());
      return s.types.length === 1 ? r : this.finishNode(s, "UnionTypeAnnotation");
    }
    flowParseType() {
      let s = this.state.inType;
      this.state.inType = !0;
      let r = this.flowParseUnionType();
      return this.state.inType = s, r;
    }
    flowParseTypeOrImplicitInstantiation() {
      if (this.state.type === 132 && this.state.value === "_") {
        let s = this.state.startLoc, r = this.parseIdentifier();
        return this.flowParseGenericType(s, r);
      } else
        return this.flowParseType();
    }
    flowParseTypeAnnotation() {
      let s = this.startNode();
      return s.typeAnnotation = this.flowParseTypeInitialiser(), this.finishNode(s, "TypeAnnotation");
    }
    flowParseTypeAnnotatableIdentifier(s) {
      let r = s ? this.parseIdentifier() : this.flowParseRestrictedIdentifier();
      return this.match(14) && (r.typeAnnotation = this.flowParseTypeAnnotation(), this.resetEndLocation(r)), r;
    }
    typeCastToParameter(s) {
      return s.expression.typeAnnotation = s.typeAnnotation, this.resetEndLocation(s.expression, s.typeAnnotation.loc.end), s.expression;
    }
    flowParseVariance() {
      let s = null;
      return this.match(53) ? (s = this.startNode(), this.state.value === "+" ? s.kind = "plus" : s.kind = "minus", this.next(), this.finishNode(
      s, "Variance")) : s;
    }
    parseFunctionBody(s, r, i = !1) {
      if (r) {
        this.forwardNoArrowParamsConversionAt(s, () => super.parseFunctionBody(s, !0, i));
        return;
      }
      super.parseFunctionBody(s, !1, i);
    }
    parseFunctionBodyAndFinish(s, r, i = !1) {
      if (this.match(14)) {
        let a = this.startNode();
        [a.typeAnnotation, s.predicate] = this.flowParseTypeAndPredicateInitialiser(), s.returnType = a.typeAnnotation ? this.finishNode(a, "\
TypeAnnotation") : null;
      }
      return super.parseFunctionBodyAndFinish(s, r, i);
    }
    parseStatementLike(s) {
      if (this.state.strict && this.isContextual(129)) {
        let i = this.lookahead();
        if (Bo(i.type)) {
          let a = this.startNode();
          return this.next(), this.flowParseInterface(a);
        }
      } else if (this.isContextual(126)) {
        let i = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(i);
      }
      let r = super.parseStatementLike(s);
      return this.flowPragma === void 0 && !this.isValidDirective(r) && (this.flowPragma = null), r;
    }
    parseExpressionStatement(s, r, i) {
      if (r.type === "Identifier") {
        if (r.name === "declare") {
          if (this.match(80) || rr(this.state.type) || this.match(68) || this.match(74) || this.match(82))
            return this.flowParseDeclare(s);
        } else if (rr(this.state.type)) {
          if (r.name === "interface")
            return this.flowParseInterface(s);
          if (r.name === "type")
            return this.flowParseTypeAlias(s);
          if (r.name === "opaque")
            return this.flowParseOpaqueType(s, !1);
        }
      }
      return super.parseExpressionStatement(s, r, i);
    }
    shouldParseExportDeclaration() {
      let {
        type: s
      } = this.state;
      return s === 126 || uoe(s) ? !this.state.containsEsc : super.shouldParseExportDeclaration();
    }
    isExportDefaultSpecifier() {
      let {
        type: s
      } = this.state;
      return s === 126 || uoe(s) ? this.state.containsEsc : super.isExportDefaultSpecifier();
    }
    parseExportDefaultExpression() {
      if (this.isContextual(126)) {
        let s = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(s);
      }
      return super.parseExportDefaultExpression();
    }
    parseConditional(s, r, i) {
      if (!this.match(17)) return s;
      if (this.state.maybeInArrowParameters) {
        let f = this.lookaheadCharCode();
        if (f === 44 || f === 61 || f === 58 || f === 41)
          return this.setOptionalParametersError(i), s;
      }
      this.expect(17);
      let a = this.state.clone(), o = this.state.noArrowAt, l = this.startNodeAt(r), {
        consequent: u,
        failed: c
      } = this.tryParseConditionalConsequent(), [p, h] = this.getArrowLikeExpressions(u);
      if (c || h.length > 0) {
        let f = [...o];
        if (h.length > 0) {
          this.state = a, this.state.noArrowAt = f;
          for (let d = 0; d < h.length; d++)
            f.push(h[d].start);
          ({
            consequent: u,
            failed: c
          } = this.tryParseConditionalConsequent()), [p, h] = this.getArrowLikeExpressions(u);
        }
        c && p.length > 1 && this.raise(Mt.AmbiguousConditionalArrow, a.startLoc), c && p.length === 1 && (this.state = a, f.push(p[0].start),
        this.state.noArrowAt = f, {
          consequent: u,
          failed: c
        } = this.tryParseConditionalConsequent());
      }
      return this.getArrowLikeExpressions(u, !0), this.state.noArrowAt = o, this.expect(14), l.test = s, l.consequent = u, l.alternate = this.
      forwardNoArrowParamsConversionAt(l, () => this.parseMaybeAssign(void 0, void 0)), this.finishNode(l, "ConditionalExpression");
    }
    tryParseConditionalConsequent() {
      this.state.noArrowParamsConversionAt.push(this.state.start);
      let s = this.parseMaybeAssignAllowIn(), r = !this.match(14);
      return this.state.noArrowParamsConversionAt.pop(), {
        consequent: s,
        failed: r
      };
    }
    getArrowLikeExpressions(s, r) {
      let i = [s], a = [];
      for (; i.length !== 0; ) {
        let o = i.pop();
        o.type === "ArrowFunctionExpression" && o.body.type !== "BlockStatement" ? (o.typeParameters || !o.returnType ? this.finishArrowValidation(
        o) : a.push(o), i.push(o.body)) : o.type === "ConditionalExpression" && (i.push(o.consequent), i.push(o.alternate));
      }
      return r ? (a.forEach((o) => this.finishArrowValidation(o)), [a, []]) : y4t(a, (o) => o.params.every((l) => this.isAssignable(l, !0)));
    }
    finishArrowValidation(s) {
      var r;
      this.toAssignableList(s.params, (r = s.extra) == null ? void 0 : r.trailingCommaLoc, !1), this.scope.enter(6), super.checkParams(s, !1,
      !0), this.scope.exit();
    }
    forwardNoArrowParamsConversionAt(s, r) {
      let i;
      return this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)) ? (this.state.noArrowParamsConversionAt.push(this.
      state.start), i = r(), this.state.noArrowParamsConversionAt.pop()) : i = r(), i;
    }
    parseParenItem(s, r) {
      let i = super.parseParenItem(s, r);
      if (this.eat(17) && (i.optional = !0, this.resetEndLocation(s)), this.match(14)) {
        let a = this.startNodeAt(r);
        return a.expression = i, a.typeAnnotation = this.flowParseTypeAnnotation(), this.finishNode(a, "TypeCastExpression");
      }
      return i;
    }
    assertModuleNodeAllowed(s) {
      s.type === "ImportDeclaration" && (s.importKind === "type" || s.importKind === "typeof") || s.type === "ExportNamedDeclaration" && s.exportKind ===
      "type" || s.type === "ExportAllDeclaration" && s.exportKind === "type" || super.assertModuleNodeAllowed(s);
    }
    parseExportDeclaration(s) {
      if (this.isContextual(130)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.match(5) ? (s.specifiers = this.parseExportSpecifiers(!0), super.parseExportFrom(s), null) : this.flowParseTypeAlias(
        r);
      } else if (this.isContextual(131)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.flowParseOpaqueType(r, !1);
      } else if (this.isContextual(129)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.flowParseInterface(r);
      } else if (this.isContextual(126)) {
        s.exportKind = "value";
        let r = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(r);
      } else
        return super.parseExportDeclaration(s);
    }
    eatExportStar(s) {
      return super.eatExportStar(s) ? !0 : this.isContextual(130) && this.lookahead().type === 55 ? (s.exportKind = "type", this.next(), this.
      next(), !0) : !1;
    }
    maybeParseExportNamespaceSpecifier(s) {
      let {
        startLoc: r
      } = this.state, i = super.maybeParseExportNamespaceSpecifier(s);
      return i && s.exportKind === "type" && this.unexpected(r), i;
    }
    parseClassId(s, r, i) {
      super.parseClassId(s, r, i), this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration());
    }
    parseClassMember(s, r, i) {
      let {
        startLoc: a
      } = this.state;
      if (this.isContextual(125)) {
        if (super.parseClassMemberFromModifier(s, r))
          return;
        r.declare = !0;
      }
      super.parseClassMember(s, r, i), r.declare && (r.type !== "ClassProperty" && r.type !== "ClassPrivateProperty" && r.type !== "Property\
Definition" ? this.raise(Mt.DeclareClassElement, a) : r.value && this.raise(Mt.DeclareClassFieldInitializer, r.value));
    }
    isIterator(s) {
      return s === "iterator" || s === "asyncIterator";
    }
    readIterator() {
      let s = super.readWord1(), r = "@@" + s;
      (!this.isIterator(s) || !this.state.inType) && this.raise(te.InvalidIdentifier, this.state.curPosition(), {
        identifierName: r
      }), this.finishToken(132, r);
    }
    getTokenFromCode(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      s === 123 && r === 124 ? this.finishOp(6, 2) : this.state.inType && (s === 62 || s === 60) ? this.finishOp(s === 62 ? 48 : 47, 1) : this.
      state.inType && s === 63 ? r === 46 ? this.finishOp(18, 2) : this.finishOp(17, 1) : Q3t(s, r, this.input.charCodeAt(this.state.pos + 2)) ?
      (this.state.pos += 2, this.readIterator()) : super.getTokenFromCode(s);
    }
    isAssignable(s, r) {
      return s.type === "TypeCastExpression" ? this.isAssignable(s.expression, r) : super.isAssignable(s, r);
    }
    toAssignable(s, r = !1) {
      !r && s.type === "AssignmentExpression" && s.left.type === "TypeCastExpression" && (s.left = this.typeCastToParameter(s.left)), super.
      toAssignable(s, r);
    }
    toAssignableList(s, r, i) {
      for (let a = 0; a < s.length; a++) {
        let o = s[a];
        o?.type === "TypeCastExpression" && (s[a] = this.typeCastToParameter(o));
      }
      super.toAssignableList(s, r, i);
    }
    toReferencedList(s, r) {
      for (let a = 0; a < s.length; a++) {
        var i;
        let o = s[a];
        o && o.type === "TypeCastExpression" && !((i = o.extra) != null && i.parenthesized) && (s.length > 1 || !r) && this.raise(Mt.TypeCastInPattern,
        o.typeAnnotation);
      }
      return s;
    }
    parseArrayLike(s, r, i, a) {
      let o = super.parseArrayLike(s, r, i, a);
      return r && !this.state.maybeInArrowParameters && this.toReferencedList(o.elements), o;
    }
    isValidLVal(s, r, i) {
      return s === "TypeCastExpression" || super.isValidLVal(s, r, i);
    }
    parseClassProperty(s) {
      return this.match(14) && (s.typeAnnotation = this.flowParseTypeAnnotation()), super.parseClassProperty(s);
    }
    parseClassPrivateProperty(s) {
      return this.match(14) && (s.typeAnnotation = this.flowParseTypeAnnotation()), super.parseClassPrivateProperty(s);
    }
    isClassMethod() {
      return this.match(47) || super.isClassMethod();
    }
    isClassProperty() {
      return this.match(14) || super.isClassProperty();
    }
    isNonstaticConstructor(s) {
      return !this.match(14) && super.isNonstaticConstructor(s);
    }
    pushClassMethod(s, r, i, a, o, l) {
      if (r.variance && this.unexpected(r.variance.loc.start), delete r.variance, this.match(47) && (r.typeParameters = this.flowParseTypeParameterDeclaration()),
      super.pushClassMethod(s, r, i, a, o, l), r.params && o) {
        let u = r.params;
        u.length > 0 && this.isThisParam(u[0]) && this.raise(Mt.ThisParamBannedInConstructor, r);
      } else if (r.type === "MethodDefinition" && o && r.value.params) {
        let u = r.value.params;
        u.length > 0 && this.isThisParam(u[0]) && this.raise(Mt.ThisParamBannedInConstructor, r);
      }
    }
    pushClassPrivateMethod(s, r, i, a) {
      r.variance && this.unexpected(r.variance.loc.start), delete r.variance, this.match(47) && (r.typeParameters = this.flowParseTypeParameterDeclaration()),
      super.pushClassPrivateMethod(s, r, i, a);
    }
    parseClassSuper(s) {
      if (super.parseClassSuper(s), s.superClass && (this.match(47) || this.match(51)) && (s.superTypeParameters = this.flowParseTypeParameterInstantiationInExpression()),
      this.isContextual(113)) {
        this.next();
        let r = s.implements = [];
        do {
          let i = this.startNode();
          i.id = this.flowParseRestrictedIdentifier(!0), this.match(47) ? i.typeParameters = this.flowParseTypeParameterInstantiation() : i.
          typeParameters = null, r.push(this.finishNode(i, "ClassImplements"));
        } while (this.eat(12));
      }
    }
    checkGetterSetterParams(s) {
      super.checkGetterSetterParams(s);
      let r = this.getObjectOrClassMethodParams(s);
      if (r.length > 0) {
        let i = r[0];
        this.isThisParam(i) && s.kind === "get" ? this.raise(Mt.GetterMayNotHaveThisParam, i) : this.isThisParam(i) && this.raise(Mt.SetterMayNotHaveThisParam,
        i);
      }
    }
    parsePropertyNamePrefixOperator(s) {
      s.variance = this.flowParseVariance();
    }
    parseObjPropValue(s, r, i, a, o, l, u) {
      s.variance && this.unexpected(s.variance.loc.start), delete s.variance;
      let c;
      this.match(47) && !l && (c = this.flowParseTypeParameterDeclaration(), this.match(10) || this.unexpected());
      let p = super.parseObjPropValue(s, r, i, a, o, l, u);
      return c && ((p.value || p).typeParameters = c), p;
    }
    parseFunctionParamType(s) {
      return this.eat(17) && (s.type !== "Identifier" && this.raise(Mt.PatternIsOptional, s), this.isThisParam(s) && this.raise(Mt.ThisParamMayNotBeOptional,
      s), s.optional = !0), this.match(14) ? s.typeAnnotation = this.flowParseTypeAnnotation() : this.isThisParam(s) && this.raise(Mt.ThisParamAnnotationRequired,
      s), this.match(29) && this.isThisParam(s) && this.raise(Mt.ThisParamNoDefault, s), this.resetEndLocation(s), s;
    }
    parseMaybeDefault(s, r) {
      let i = super.parseMaybeDefault(s, r);
      return i.type === "AssignmentPattern" && i.typeAnnotation && i.right.start < i.typeAnnotation.start && this.raise(Mt.TypeBeforeInitializer,
      i.typeAnnotation), i;
    }
    checkImportReflection(s) {
      super.checkImportReflection(s), s.module && s.importKind !== "value" && this.raise(Mt.ImportReflectionHasImportType, s.specifiers[0].loc.
      start);
    }
    parseImportSpecifierLocal(s, r, i) {
      r.local = foe(s) ? this.flowParseRestrictedIdentifier(!0, !0) : this.parseIdentifier(), s.specifiers.push(this.finishImportSpecifier(r,
      i));
    }
    isPotentialImportPhase(s) {
      if (super.isPotentialImportPhase(s)) return !0;
      if (this.isContextual(130)) {
        if (!s) return !0;
        let r = this.lookaheadCharCode();
        return r === 123 || r === 42;
      }
      return !s && this.isContextual(87);
    }
    applyImportPhase(s, r, i, a) {
      if (super.applyImportPhase(s, r, i, a), r) {
        if (!i && this.match(65))
          return;
        s.exportKind = i === "type" ? i : "value";
      } else
        i === "type" && this.match(55) && this.unexpected(), s.importKind = i === "type" || i === "typeof" ? i : "value";
    }
    parseImportSpecifier(s, r, i, a, o) {
      let l = s.imported, u = null;
      l.type === "Identifier" && (l.name === "type" ? u = "type" : l.name === "typeof" && (u = "typeof"));
      let c = !1;
      if (this.isContextual(93) && !this.isLookaheadContextual("as")) {
        let h = this.parseIdentifier(!0);
        u !== null && !Bo(this.state.type) ? (s.imported = h, s.importKind = u, s.local = Yu(h)) : (s.imported = l, s.importKind = null, s.local =
        this.parseIdentifier());
      } else {
        if (u !== null && Bo(this.state.type))
          s.imported = this.parseIdentifier(!0), s.importKind = u;
        else {
          if (r)
            throw this.raise(te.ImportBindingIsString, s, {
              importName: l.value
            });
          s.imported = l, s.importKind = null;
        }
        this.eatContextual(93) ? s.local = this.parseIdentifier() : (c = !0, s.local = Yu(s.imported));
      }
      let p = foe(s);
      return i && p && this.raise(Mt.ImportTypeShorthandOnlyInPureImport, s), (i || p) && this.checkReservedType(s.local.name, s.local.loc.start,
      !0), c && !i && !p && this.checkReservedWord(s.local.name, s.loc.start, !0, !0), this.finishImportSpecifier(s, "ImportSpecifier");
    }
    parseBindingAtom() {
      switch (this.state.type) {
        case 78:
          return this.parseIdentifier(!0);
        default:
          return super.parseBindingAtom();
      }
    }
    parseFunctionParams(s, r) {
      let i = s.kind;
      i !== "get" && i !== "set" && this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration()), super.parseFunctionParams(
      s, r);
    }
    parseVarId(s, r) {
      super.parseVarId(s, r), this.match(14) && (s.id.typeAnnotation = this.flowParseTypeAnnotation(), this.resetEndLocation(s.id));
    }
    parseAsyncArrowFromCallExpression(s, r) {
      if (this.match(14)) {
        let i = this.state.noAnonFunctionType;
        this.state.noAnonFunctionType = !0, s.returnType = this.flowParseTypeAnnotation(), this.state.noAnonFunctionType = i;
      }
      return super.parseAsyncArrowFromCallExpression(s, r);
    }
    shouldParseAsyncArrow() {
      return this.match(14) || super.shouldParseAsyncArrow();
    }
    parseMaybeAssign(s, r) {
      var i;
      let a = null, o;
      if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) {
        if (a = this.state.clone(), o = this.tryParse(() => super.parseMaybeAssign(s, r), a), !o.error) return o.node;
        let {
          context: c
        } = this.state, p = c[c.length - 1];
        (p === sr.j_oTag || p === sr.j_expr) && c.pop();
      }
      if ((i = o) != null && i.error || this.match(47)) {
        var l, u;
        a = a || this.state.clone();
        let c, p = this.tryParse((f) => {
          var d;
          c = this.flowParseTypeParameterDeclaration();
          let m = this.forwardNoArrowParamsConversionAt(c, () => {
            let T = super.parseMaybeAssign(s, r);
            return this.resetStartLocationFromNode(T, c), T;
          });
          (d = m.extra) != null && d.parenthesized && f();
          let y = this.maybeUnwrapTypeCastExpression(m);
          return y.type !== "ArrowFunctionExpression" && f(), y.typeParameters = c, this.resetStartLocationFromNode(y, c), m;
        }, a), h = null;
        if (p.node && this.maybeUnwrapTypeCastExpression(p.node).type === "ArrowFunctionExpression") {
          if (!p.error && !p.aborted)
            return p.node.async && this.raise(Mt.UnexpectedTypeParameterBeforeAsyncArrowFunction, c), p.node;
          h = p.node;
        }
        if ((l = o) != null && l.node)
          return this.state = o.failState, o.node;
        if (h)
          return this.state = p.failState, h;
        throw (u = o) != null && u.thrown ? o.error : p.thrown ? p.error : this.raise(Mt.UnexpectedTokenAfterTypeParameter, c);
      }
      return super.parseMaybeAssign(s, r);
    }
    parseArrow(s) {
      if (this.match(14)) {
        let r = this.tryParse(() => {
          let i = this.state.noAnonFunctionType;
          this.state.noAnonFunctionType = !0;
          let a = this.startNode();
          return [a.typeAnnotation, s.predicate] = this.flowParseTypeAndPredicateInitialiser(), this.state.noAnonFunctionType = i, this.canInsertSemicolon() &&
          this.unexpected(), this.match(19) || this.unexpected(), a;
        });
        if (r.thrown) return null;
        r.error && (this.state = r.failState), s.returnType = r.node.typeAnnotation ? this.finishNode(r.node, "TypeAnnotation") : null;
      }
      return super.parseArrow(s);
    }
    shouldParseArrow(s) {
      return this.match(14) || super.shouldParseArrow(s);
    }
    setArrowFunctionParameters(s, r) {
      this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)) ? s.params = r : super.setArrowFunctionParameters(s, r);
    }
    checkParams(s, r, i, a = !0) {
      if (!(i && this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)))) {
        for (let o = 0; o < s.params.length; o++)
          this.isThisParam(s.params[o]) && o > 0 && this.raise(Mt.ThisParamMustBeFirst, s.params[o]);
        super.checkParams(s, r, i, a);
      }
    }
    parseParenAndDistinguishExpression(s) {
      return super.parseParenAndDistinguishExpression(s && !this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start)));
    }
    parseSubscripts(s, r, i) {
      if (s.type === "Identifier" && s.name === "async" && this.state.noArrowAt.includes(r.index)) {
        this.next();
        let a = this.startNodeAt(r);
        a.callee = s, a.arguments = super.parseCallExpressionArguments(11), s = this.finishNode(a, "CallExpression");
      } else if (s.type === "Identifier" && s.name === "async" && this.match(47)) {
        let a = this.state.clone(), o = this.tryParse((u) => this.parseAsyncArrowWithTypeParameters(r) || u(), a);
        if (!o.error && !o.aborted) return o.node;
        let l = this.tryParse(() => super.parseSubscripts(s, r, i), a);
        if (l.node && !l.error) return l.node;
        if (o.node)
          return this.state = o.failState, o.node;
        if (l.node)
          return this.state = l.failState, l.node;
        throw o.error || l.error;
      }
      return super.parseSubscripts(s, r, i);
    }
    parseSubscript(s, r, i, a) {
      if (this.match(18) && this.isLookaheadToken_lt()) {
        if (a.optionalChainMember = !0, i)
          return a.stop = !0, s;
        this.next();
        let o = this.startNodeAt(r);
        return o.callee = s, o.typeArguments = this.flowParseTypeParameterInstantiationInExpression(), this.expect(10), o.arguments = this.parseCallExpressionArguments(
        11), o.optional = !0, this.finishCallExpression(o, !0);
      } else if (!i && this.shouldParseTypes() && (this.match(47) || this.match(51))) {
        let o = this.startNodeAt(r);
        o.callee = s;
        let l = this.tryParse(() => (o.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(), this.expect(10), o.arguments = super.
        parseCallExpressionArguments(11), a.optionalChainMember && (o.optional = !1), this.finishCallExpression(o, a.optionalChainMember)));
        if (l.node)
          return l.error && (this.state = l.failState), l.node;
      }
      return super.parseSubscript(s, r, i, a);
    }
    parseNewCallee(s) {
      super.parseNewCallee(s);
      let r = null;
      this.shouldParseTypes() && this.match(47) && (r = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node), s.typeArguments =
      r;
    }
    parseAsyncArrowWithTypeParameters(s) {
      let r = this.startNodeAt(s);
      if (this.parseFunctionParams(r, !1), !!this.parseArrow(r))
        return super.parseArrowExpression(r, void 0, !0);
    }
    readToken_mult_modulo(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      if (s === 42 && r === 47 && this.state.hasFlowComment) {
        this.state.hasFlowComment = !1, this.state.pos += 2, this.nextToken();
        return;
      }
      super.readToken_mult_modulo(s);
    }
    readToken_pipe_amp(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      if (s === 124 && r === 125) {
        this.finishOp(9, 2);
        return;
      }
      super.readToken_pipe_amp(s);
    }
    parseTopLevel(s, r) {
      let i = super.parseTopLevel(s, r);
      return this.state.hasFlowComment && this.raise(Mt.UnterminatedFlowComment, this.state.curPosition()), i;
    }
    skipBlockComment() {
      if (this.hasPlugin("flowComments") && this.skipFlowComment()) {
        if (this.state.hasFlowComment)
          throw this.raise(Mt.NestedFlowComment, this.state.startLoc);
        this.hasFlowCommentCompletion();
        let s = this.skipFlowComment();
        s && (this.state.pos += s, this.state.hasFlowComment = !0);
        return;
      }
      return super.skipBlockComment(this.state.hasFlowComment ? "*-/" : "*/");
    }
    skipFlowComment() {
      let {
        pos: s
      } = this.state, r = 2;
      for (; [32, 9].includes(this.input.charCodeAt(s + r)); )
        r++;
      let i = this.input.charCodeAt(r + s), a = this.input.charCodeAt(r + s + 1);
      return i === 58 && a === 58 ? r + 2 : this.input.slice(r + s, r + s + 12) === "flow-include" ? r + 12 : i === 58 && a !== 58 ? r : !1;
    }
    hasFlowCommentCompletion() {
      if (this.input.indexOf("*/", this.state.pos) === -1)
        throw this.raise(te.UnterminatedComment, this.state.curPosition());
    }
    flowEnumErrorBooleanMemberNotInitialized(s, {
      enumName: r,
      memberName: i
    }) {
      this.raise(Mt.EnumBooleanMemberNotInitialized, s, {
        memberName: i,
        enumName: r
      });
    }
    flowEnumErrorInvalidMemberInitializer(s, r) {
      return this.raise(r.explicitType ? r.explicitType === "symbol" ? Mt.EnumInvalidMemberInitializerSymbolType : Mt.EnumInvalidMemberInitializerPrimaryType :
      Mt.EnumInvalidMemberInitializerUnknownType, s, r);
    }
    flowEnumErrorNumberMemberNotInitialized(s, r) {
      this.raise(Mt.EnumNumberMemberNotInitialized, s, r);
    }
    flowEnumErrorStringMemberInconsistentlyInitialized(s, r) {
      this.raise(Mt.EnumStringMemberInconsistentlyInitialized, s, r);
    }
    flowEnumMemberInit() {
      let s = this.state.startLoc, r = /* @__PURE__ */ n(() => this.match(12) || this.match(8), "endOfInit");
      switch (this.state.type) {
        case 135: {
          let i = this.parseNumericLiteral(this.state.value);
          return r() ? {
            type: "number",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        case 134: {
          let i = this.parseStringLiteral(this.state.value);
          return r() ? {
            type: "string",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        case 85:
        case 86: {
          let i = this.parseBooleanLiteral(this.match(85));
          return r() ? {
            type: "boolean",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        default:
          return {
            type: "invalid",
            loc: s
          };
      }
    }
    flowEnumMemberRaw() {
      let s = this.state.startLoc, r = this.parseIdentifier(!0), i = this.eat(29) ? this.flowEnumMemberInit() : {
        type: "none",
        loc: s
      };
      return {
        id: r,
        init: i
      };
    }
    flowEnumCheckExplicitTypeMismatch(s, r, i) {
      let {
        explicitType: a
      } = r;
      a !== null && a !== i && this.flowEnumErrorInvalidMemberInitializer(s, r);
    }
    flowEnumMembers({
      enumName: s,
      explicitType: r
    }) {
      let i = /* @__PURE__ */ new Set(), a = {
        booleanMembers: [],
        numberMembers: [],
        stringMembers: [],
        defaultedMembers: []
      }, o = !1;
      for (; !this.match(8); ) {
        if (this.eat(21)) {
          o = !0;
          break;
        }
        let l = this.startNode(), {
          id: u,
          init: c
        } = this.flowEnumMemberRaw(), p = u.name;
        if (p === "")
          continue;
        /^[a-z]/.test(p) && this.raise(Mt.EnumInvalidMemberName, u, {
          memberName: p,
          suggestion: p[0].toUpperCase() + p.slice(1),
          enumName: s
        }), i.has(p) && this.raise(Mt.EnumDuplicateMemberName, u, {
          memberName: p,
          enumName: s
        }), i.add(p);
        let h = {
          enumName: s,
          explicitType: r,
          memberName: p
        };
        switch (l.id = u, c.type) {
          case "boolean": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "boolean"), l.init = c.value, a.booleanMembers.push(this.finishNode(l, "EnumBoo\
leanMember"));
            break;
          }
          case "number": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "number"), l.init = c.value, a.numberMembers.push(this.finishNode(l, "EnumNumbe\
rMember"));
            break;
          }
          case "string": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "string"), l.init = c.value, a.stringMembers.push(this.finishNode(l, "EnumStrin\
gMember"));
            break;
          }
          case "invalid":
            throw this.flowEnumErrorInvalidMemberInitializer(c.loc, h);
          case "none":
            switch (r) {
              case "boolean":
                this.flowEnumErrorBooleanMemberNotInitialized(c.loc, h);
                break;
              case "number":
                this.flowEnumErrorNumberMemberNotInitialized(c.loc, h);
                break;
              default:
                a.defaultedMembers.push(this.finishNode(l, "EnumDefaultedMember"));
            }
        }
        this.match(8) || this.expect(12);
      }
      return {
        members: a,
        hasUnknownMembers: o
      };
    }
    flowEnumStringMembers(s, r, {
      enumName: i
    }) {
      if (s.length === 0)
        return r;
      if (r.length === 0)
        return s;
      if (r.length > s.length) {
        for (let a of s)
          this.flowEnumErrorStringMemberInconsistentlyInitialized(a, {
            enumName: i
          });
        return r;
      } else {
        for (let a of r)
          this.flowEnumErrorStringMemberInconsistentlyInitialized(a, {
            enumName: i
          });
        return s;
      }
    }
    flowEnumParseExplicitType({
      enumName: s
    }) {
      if (!this.eatContextual(102)) return null;
      if (!rr(this.state.type))
        throw this.raise(Mt.EnumInvalidExplicitTypeUnknownSupplied, this.state.startLoc, {
          enumName: s
        });
      let {
        value: r
      } = this.state;
      return this.next(), r !== "boolean" && r !== "number" && r !== "string" && r !== "symbol" && this.raise(Mt.EnumInvalidExplicitType, this.
      state.startLoc, {
        enumName: s,
        invalidEnumType: r
      }), r;
    }
    flowEnumBody(s, r) {
      let i = r.name, a = r.loc.start, o = this.flowEnumParseExplicitType({
        enumName: i
      });
      this.expect(5);
      let {
        members: l,
        hasUnknownMembers: u
      } = this.flowEnumMembers({
        enumName: i,
        explicitType: o
      });
      switch (s.hasUnknownMembers = u, o) {
        case "boolean":
          return s.explicitType = !0, s.members = l.booleanMembers, this.expect(8), this.finishNode(s, "EnumBooleanBody");
        case "number":
          return s.explicitType = !0, s.members = l.numberMembers, this.expect(8), this.finishNode(s, "EnumNumberBody");
        case "string":
          return s.explicitType = !0, s.members = this.flowEnumStringMembers(l.stringMembers, l.defaultedMembers, {
            enumName: i
          }), this.expect(8), this.finishNode(s, "EnumStringBody");
        case "symbol":
          return s.members = l.defaultedMembers, this.expect(8), this.finishNode(s, "EnumSymbolBody");
        default: {
          let c = /* @__PURE__ */ n(() => (s.members = [], this.expect(8), this.finishNode(s, "EnumStringBody")), "empty");
          s.explicitType = !1;
          let p = l.booleanMembers.length, h = l.numberMembers.length, f = l.stringMembers.length, d = l.defaultedMembers.length;
          if (!p && !h && !f && !d)
            return c();
          if (!p && !h)
            return s.members = this.flowEnumStringMembers(l.stringMembers, l.defaultedMembers, {
              enumName: i
            }), this.expect(8), this.finishNode(s, "EnumStringBody");
          if (!h && !f && p >= d) {
            for (let m of l.defaultedMembers)
              this.flowEnumErrorBooleanMemberNotInitialized(m.loc.start, {
                enumName: i,
                memberName: m.id.name
              });
            return s.members = l.booleanMembers, this.expect(8), this.finishNode(s, "EnumBooleanBody");
          } else if (!p && !f && h >= d) {
            for (let m of l.defaultedMembers)
              this.flowEnumErrorNumberMemberNotInitialized(m.loc.start, {
                enumName: i,
                memberName: m.id.name
              });
            return s.members = l.numberMembers, this.expect(8), this.finishNode(s, "EnumNumberBody");
          } else
            return this.raise(Mt.EnumInconsistentMemberValues, a, {
              enumName: i
            }), c();
        }
      }
    }
    flowParseEnumDeclaration(s) {
      let r = this.parseIdentifier();
      return s.id = r, s.body = this.flowEnumBody(this.startNode(), r), this.finishNode(s, "EnumDeclaration");
    }
    jsxParseOpeningElementAfterName(s) {
      return this.shouldParseTypes() && (this.match(47) || this.match(51)) && (s.typeArguments = this.flowParseTypeParameterInstantiationInExpression()),
      super.jsxParseOpeningElementAfterName(s);
    }
    isLookaheadToken_lt() {
      let s = this.nextTokenStart();
      if (this.input.charCodeAt(s) === 60) {
        let r = this.input.charCodeAt(s + 1);
        return r !== 60 && r !== 61;
      }
      return !1;
    }
    reScan_lt_gt() {
      let {
        type: s
      } = this.state;
      s === 47 ? (this.state.pos -= 1, this.readToken_lt()) : s === 48 && (this.state.pos -= 1, this.readToken_gt());
    }
    reScan_lt() {
      let {
        type: s
      } = this.state;
      return s === 51 ? (this.state.pos -= 2, this.finishOp(47, 1), 47) : s;
    }
    maybeUnwrapTypeCastExpression(s) {
      return s.type === "TypeCastExpression" ? s.expression : s;
    }
  }, "flow"), b4t = {
    __proto__: null,
    quot: '"',
    amp: "&",
    apos: "'",
    lt: "<",
    gt: ">",
    nbsp: "\xA0",
    iexcl: "\xA1",
    cent: "\xA2",
    pound: "\xA3",
    curren: "\xA4",
    yen: "\xA5",
    brvbar: "\xA6",
    sect: "\xA7",
    uml: "\xA8",
    copy: "\xA9",
    ordf: "\xAA",
    laquo: "\xAB",
    not: "\xAC",
    shy: "\xAD",
    reg: "\xAE",
    macr: "\xAF",
    deg: "\xB0",
    plusmn: "\xB1",
    sup2: "\xB2",
    sup3: "\xB3",
    acute: "\xB4",
    micro: "\xB5",
    para: "\xB6",
    middot: "\xB7",
    cedil: "\xB8",
    sup1: "\xB9",
    ordm: "\xBA",
    raquo: "\xBB",
    frac14: "\xBC",
    frac12: "\xBD",
    frac34: "\xBE",
    iquest: "\xBF",
    Agrave: "\xC0",
    Aacute: "\xC1",
    Acirc: "\xC2",
    Atilde: "\xC3",
    Auml: "\xC4",
    Aring: "\xC5",
    AElig: "\xC6",
    Ccedil: "\xC7",
    Egrave: "\xC8",
    Eacute: "\xC9",
    Ecirc: "\xCA",
    Euml: "\xCB",
    Igrave: "\xCC",
    Iacute: "\xCD",
    Icirc: "\xCE",
    Iuml: "\xCF",
    ETH: "\xD0",
    Ntilde: "\xD1",
    Ograve: "\xD2",
    Oacute: "\xD3",
    Ocirc: "\xD4",
    Otilde: "\xD5",
    Ouml: "\xD6",
    times: "\xD7",
    Oslash: "\xD8",
    Ugrave: "\xD9",
    Uacute: "\xDA",
    Ucirc: "\xDB",
    Uuml: "\xDC",
    Yacute: "\xDD",
    THORN: "\xDE",
    szlig: "\xDF",
    agrave: "\xE0",
    aacute: "\xE1",
    acirc: "\xE2",
    atilde: "\xE3",
    auml: "\xE4",
    aring: "\xE5",
    aelig: "\xE6",
    ccedil: "\xE7",
    egrave: "\xE8",
    eacute: "\xE9",
    ecirc: "\xEA",
    euml: "\xEB",
    igrave: "\xEC",
    iacute: "\xED",
    icirc: "\xEE",
    iuml: "\xEF",
    eth: "\xF0",
    ntilde: "\xF1",
    ograve: "\xF2",
    oacute: "\xF3",
    ocirc: "\xF4",
    otilde: "\xF5",
    ouml: "\xF6",
    divide: "\xF7",
    oslash: "\xF8",
    ugrave: "\xF9",
    uacute: "\xFA",
    ucirc: "\xFB",
    uuml: "\xFC",
    yacute: "\xFD",
    thorn: "\xFE",
    yuml: "\xFF",
    OElig: "\u0152",
    oelig: "\u0153",
    Scaron: "\u0160",
    scaron: "\u0161",
    Yuml: "\u0178",
    fnof: "\u0192",
    circ: "\u02C6",
    tilde: "\u02DC",
    Alpha: "\u0391",
    Beta: "\u0392",
    Gamma: "\u0393",
    Delta: "\u0394",
    Epsilon: "\u0395",
    Zeta: "\u0396",
    Eta: "\u0397",
    Theta: "\u0398",
    Iota: "\u0399",
    Kappa: "\u039A",
    Lambda: "\u039B",
    Mu: "\u039C",
    Nu: "\u039D",
    Xi: "\u039E",
    Omicron: "\u039F",
    Pi: "\u03A0",
    Rho: "\u03A1",
    Sigma: "\u03A3",
    Tau: "\u03A4",
    Upsilon: "\u03A5",
    Phi: "\u03A6",
    Chi: "\u03A7",
    Psi: "\u03A8",
    Omega: "\u03A9",
    alpha: "\u03B1",
    beta: "\u03B2",
    gamma: "\u03B3",
    delta: "\u03B4",
    epsilon: "\u03B5",
    zeta: "\u03B6",
    eta: "\u03B7",
    theta: "\u03B8",
    iota: "\u03B9",
    kappa: "\u03BA",
    lambda: "\u03BB",
    mu: "\u03BC",
    nu: "\u03BD",
    xi: "\u03BE",
    omicron: "\u03BF",
    pi: "\u03C0",
    rho: "\u03C1",
    sigmaf: "\u03C2",
    sigma: "\u03C3",
    tau: "\u03C4",
    upsilon: "\u03C5",
    phi: "\u03C6",
    chi: "\u03C7",
    psi: "\u03C8",
    omega: "\u03C9",
    thetasym: "\u03D1",
    upsih: "\u03D2",
    piv: "\u03D6",
    ensp: "\u2002",
    emsp: "\u2003",
    thinsp: "\u2009",
    zwnj: "\u200C",
    zwj: "\u200D",
    lrm: "\u200E",
    rlm: "\u200F",
    ndash: "\u2013",
    mdash: "\u2014",
    lsquo: "\u2018",
    rsquo: "\u2019",
    sbquo: "\u201A",
    ldquo: "\u201C",
    rdquo: "\u201D",
    bdquo: "\u201E",
    dagger: "\u2020",
    Dagger: "\u2021",
    bull: "\u2022",
    hellip: "\u2026",
    permil: "\u2030",
    prime: "\u2032",
    Prime: "\u2033",
    lsaquo: "\u2039",
    rsaquo: "\u203A",
    oline: "\u203E",
    frasl: "\u2044",
    euro: "\u20AC",
    image: "\u2111",
    weierp: "\u2118",
    real: "\u211C",
    trade: "\u2122",
    alefsym: "\u2135",
    larr: "\u2190",
    uarr: "\u2191",
    rarr: "\u2192",
    darr: "\u2193",
    harr: "\u2194",
    crarr: "\u21B5",
    lArr: "\u21D0",
    uArr: "\u21D1",
    rArr: "\u21D2",
    dArr: "\u21D3",
    hArr: "\u21D4",
    forall: "\u2200",
    part: "\u2202",
    exist: "\u2203",
    empty: "\u2205",
    nabla: "\u2207",
    isin: "\u2208",
    notin: "\u2209",
    ni: "\u220B",
    prod: "\u220F",
    sum: "\u2211",
    minus: "\u2212",
    lowast: "\u2217",
    radic: "\u221A",
    prop: "\u221D",
    infin: "\u221E",
    ang: "\u2220",
    and: "\u2227",
    or: "\u2228",
    cap: "\u2229",
    cup: "\u222A",
    int: "\u222B",
    there4: "\u2234",
    sim: "\u223C",
    cong: "\u2245",
    asymp: "\u2248",
    ne: "\u2260",
    equiv: "\u2261",
    le: "\u2264",
    ge: "\u2265",
    sub: "\u2282",
    sup: "\u2283",
    nsub: "\u2284",
    sube: "\u2286",
    supe: "\u2287",
    oplus: "\u2295",
    otimes: "\u2297",
    perp: "\u22A5",
    sdot: "\u22C5",
    lceil: "\u2308",
    rceil: "\u2309",
    lfloor: "\u230A",
    rfloor: "\u230B",
    lang: "\u2329",
    rang: "\u232A",
    loz: "\u25CA",
    spades: "\u2660",
    clubs: "\u2663",
    hearts: "\u2665",
    diams: "\u2666"
  }, bf = Ju`jsx`({
    AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.",
    MissingClosingTagElement: /* @__PURE__ */ n(({
      openingTagName: t
    }) => `Expected corresponding JSX closing tag for <${t}>.`, "MissingClosingTagElement"),
    MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.",
    UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",
    UnexpectedToken: /* @__PURE__ */ n(({
      unexpected: t,
      HTMLEntity: e
    }) => `Unexpected token \`${t}\`. Did you mean \`${e}\` or \`{'${t}'}\`?`, "UnexpectedToken"),
    UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.",
    UnterminatedJsxContent: "Unterminated JSX contents.",
    UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"
  });
  function vp(t) {
    return t ? t.type === "JSXOpeningFragment" || t.type === "JSXClosingFragment" : !1;
  }
  n(vp, "isFragment");
  function Fm(t) {
    if (t.type === "JSXIdentifier")
      return t.name;
    if (t.type === "JSXNamespacedName")
      return t.namespace.name + ":" + t.name.name;
    if (t.type === "JSXMemberExpression")
      return Fm(t.object) + "." + Fm(t.property);
    throw new Error("Node had unexpected type: " + t.type);
  }
  n(Fm, "getQualifiedJSXName");
  var x4t = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "JSXParserMixin");
    }
    jsxReadToken() {
      let s = "", r = this.state.pos;
      for (; ; ) {
        if (this.state.pos >= this.length)
          throw this.raise(bf.UnterminatedJsxContent, this.state.startLoc);
        let i = this.input.charCodeAt(this.state.pos);
        switch (i) {
          case 60:
          case 123:
            if (this.state.pos === this.state.start) {
              i === 60 && this.state.canStartJSXElement ? (++this.state.pos, this.finishToken(143)) : super.getTokenFromCode(i);
              return;
            }
            s += this.input.slice(r, this.state.pos), this.finishToken(142, s);
            return;
          case 38:
            s += this.input.slice(r, this.state.pos), s += this.jsxReadEntity(), r = this.state.pos;
            break;
          case 62:
          case 125:
          default:
            Rm(i) ? (s += this.input.slice(r, this.state.pos), s += this.jsxReadNewLine(!0), r = this.state.pos) : ++this.state.pos;
        }
      }
    }
    jsxReadNewLine(s) {
      let r = this.input.charCodeAt(this.state.pos), i;
      return ++this.state.pos, r === 13 && this.input.charCodeAt(this.state.pos) === 10 ? (++this.state.pos, i = s ? `
` : `\r
`) : i = String.fromCharCode(r), ++this.state.curLine, this.state.lineStart = this.state.pos, i;
    }
    jsxReadString(s) {
      let r = "", i = ++this.state.pos;
      for (; ; ) {
        if (this.state.pos >= this.length)
          throw this.raise(te.UnterminatedString, this.state.startLoc);
        let a = this.input.charCodeAt(this.state.pos);
        if (a === s) break;
        a === 38 ? (r += this.input.slice(i, this.state.pos), r += this.jsxReadEntity(), i = this.state.pos) : Rm(a) ? (r += this.input.slice(
        i, this.state.pos), r += this.jsxReadNewLine(!1), i = this.state.pos) : ++this.state.pos;
      }
      r += this.input.slice(i, this.state.pos++), this.finishToken(134, r);
    }
    jsxReadEntity() {
      let s = ++this.state.pos;
      if (this.codePointAtPos(this.state.pos) === 35) {
        ++this.state.pos;
        let r = 10;
        this.codePointAtPos(this.state.pos) === 120 && (r = 16, ++this.state.pos);
        let i = this.readInt(r, void 0, !1, "bail");
        if (i !== null && this.codePointAtPos(this.state.pos) === 59)
          return ++this.state.pos, String.fromCodePoint(i);
      } else {
        let r = 0, i = !1;
        for (; r++ < 10 && this.state.pos < this.length && !(i = this.codePointAtPos(this.state.pos) === 59); )
          ++this.state.pos;
        if (i) {
          let a = this.input.slice(s, this.state.pos), o = b4t[a];
          if (++this.state.pos, o)
            return o;
        }
      }
      return this.state.pos = s, "&";
    }
    jsxReadWord() {
      let s, r = this.state.pos;
      do
        s = this.input.charCodeAt(++this.state.pos);
      while (jm(s) || s === 45);
      this.finishToken(141, this.input.slice(r, this.state.pos));
    }
    jsxParseIdentifier() {
      let s = this.startNode();
      return this.match(141) ? s.name = this.state.value : B3(this.state.type) ? s.name = Cp(this.state.type) : this.unexpected(), this.next(),
      this.finishNode(s, "JSXIdentifier");
    }
    jsxParseNamespacedName() {
      let s = this.state.startLoc, r = this.jsxParseIdentifier();
      if (!this.eat(14)) return r;
      let i = this.startNodeAt(s);
      return i.namespace = r, i.name = this.jsxParseIdentifier(), this.finishNode(i, "JSXNamespacedName");
    }
    jsxParseElementName() {
      let s = this.state.startLoc, r = this.jsxParseNamespacedName();
      if (r.type === "JSXNamespacedName")
        return r;
      for (; this.eat(16); ) {
        let i = this.startNodeAt(s);
        i.object = r, i.property = this.jsxParseIdentifier(), r = this.finishNode(i, "JSXMemberExpression");
      }
      return r;
    }
    jsxParseAttributeValue() {
      let s;
      switch (this.state.type) {
        case 5:
          return s = this.startNode(), this.setContext(sr.brace), this.next(), s = this.jsxParseExpressionContainer(s, sr.j_oTag), s.expression.
          type === "JSXEmptyExpression" && this.raise(bf.AttributeIsEmpty, s), s;
        case 143:
        case 134:
          return this.parseExprAtom();
        default:
          throw this.raise(bf.UnsupportedJsxValue, this.state.startLoc);
      }
    }
    jsxParseEmptyExpression() {
      let s = this.startNodeAt(this.state.lastTokEndLoc);
      return this.finishNodeAt(s, "JSXEmptyExpression", this.state.startLoc);
    }
    jsxParseSpreadChild(s) {
      return this.next(), s.expression = this.parseExpression(), this.setContext(sr.j_expr), this.state.canStartJSXElement = !0, this.expect(
      8), this.finishNode(s, "JSXSpreadChild");
    }
    jsxParseExpressionContainer(s, r) {
      if (this.match(8))
        s.expression = this.jsxParseEmptyExpression();
      else {
        let i = this.parseExpression();
        s.expression = i;
      }
      return this.setContext(r), this.state.canStartJSXElement = !0, this.expect(8), this.finishNode(s, "JSXExpressionContainer");
    }
    jsxParseAttribute() {
      let s = this.startNode();
      return this.match(5) ? (this.setContext(sr.brace), this.next(), this.expect(21), s.argument = this.parseMaybeAssignAllowIn(), this.setContext(
      sr.j_oTag), this.state.canStartJSXElement = !0, this.expect(8), this.finishNode(s, "JSXSpreadAttribute")) : (s.name = this.jsxParseNamespacedName(),
      s.value = this.eat(29) ? this.jsxParseAttributeValue() : null, this.finishNode(s, "JSXAttribute"));
    }
    jsxParseOpeningElementAt(s) {
      let r = this.startNodeAt(s);
      return this.eat(144) ? this.finishNode(r, "JSXOpeningFragment") : (r.name = this.jsxParseElementName(), this.jsxParseOpeningElementAfterName(
      r));
    }
    jsxParseOpeningElementAfterName(s) {
      let r = [];
      for (; !this.match(56) && !this.match(144); )
        r.push(this.jsxParseAttribute());
      return s.attributes = r, s.selfClosing = this.eat(56), this.expect(144), this.finishNode(s, "JSXOpeningElement");
    }
    jsxParseClosingElementAt(s) {
      let r = this.startNodeAt(s);
      return this.eat(144) ? this.finishNode(r, "JSXClosingFragment") : (r.name = this.jsxParseElementName(), this.expect(144), this.finishNode(
      r, "JSXClosingElement"));
    }
    jsxParseElementAt(s) {
      let r = this.startNodeAt(s), i = [], a = this.jsxParseOpeningElementAt(s), o = null;
      if (!a.selfClosing) {
        e: for (; ; )
          switch (this.state.type) {
            case 143:
              if (s = this.state.startLoc, this.next(), this.eat(56)) {
                o = this.jsxParseClosingElementAt(s);
                break e;
              }
              i.push(this.jsxParseElementAt(s));
              break;
            case 142:
              i.push(this.parseLiteral(this.state.value, "JSXText"));
              break;
            case 5: {
              let l = this.startNode();
              this.setContext(sr.brace), this.next(), this.match(21) ? i.push(this.jsxParseSpreadChild(l)) : i.push(this.jsxParseExpressionContainer(
              l, sr.j_expr));
              break;
            }
            default:
              this.unexpected();
          }
        vp(a) && !vp(o) && o !== null ? this.raise(bf.MissingClosingTagFragment, o) : !vp(a) && vp(o) ? this.raise(bf.MissingClosingTagElement,
        o, {
          openingTagName: Fm(a.name)
        }) : !vp(a) && !vp(o) && Fm(o.name) !== Fm(a.name) && this.raise(bf.MissingClosingTagElement, o, {
          openingTagName: Fm(a.name)
        });
      }
      if (vp(a) ? (r.openingFragment = a, r.closingFragment = o) : (r.openingElement = a, r.closingElement = o), r.children = i, this.match(
      47))
        throw this.raise(bf.UnwrappedAdjacentJSXElements, this.state.startLoc);
      return vp(a) ? this.finishNode(r, "JSXFragment") : this.finishNode(r, "JSXElement");
    }
    jsxParseElement() {
      let s = this.state.startLoc;
      return this.next(), this.jsxParseElementAt(s);
    }
    setContext(s) {
      let {
        context: r
      } = this.state;
      r[r.length - 1] = s;
    }
    parseExprAtom(s) {
      return this.match(143) ? this.jsxParseElement() : this.match(47) && this.input.charCodeAt(this.state.pos) !== 33 ? (this.replaceToken(
      143), this.jsxParseElement()) : super.parseExprAtom(s);
    }
    skipSpace() {
      this.curContext().preserveSpace || super.skipSpace();
    }
    getTokenFromCode(s) {
      let r = this.curContext();
      if (r === sr.j_expr) {
        this.jsxReadToken();
        return;
      }
      if (r === sr.j_oTag || r === sr.j_cTag) {
        if (Hu(s)) {
          this.jsxReadWord();
          return;
        }
        if (s === 62) {
          ++this.state.pos, this.finishToken(144);
          return;
        }
        if ((s === 34 || s === 39) && r === sr.j_oTag) {
          this.jsxReadString(s);
          return;
        }
      }
      if (s === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) {
        ++this.state.pos, this.finishToken(143);
        return;
      }
      super.getTokenFromCode(s);
    }
    updateContext(s) {
      let {
        context: r,
        type: i
      } = this.state;
      if (i === 56 && s === 143)
        r.splice(-2, 2, sr.j_cTag), this.state.canStartJSXElement = !1;
      else if (i === 143)
        r.push(sr.j_oTag);
      else if (i === 144) {
        let a = r[r.length - 1];
        a === sr.j_oTag && s === 56 || a === sr.j_cTag ? (r.pop(), this.state.canStartJSXElement = r[r.length - 1] === sr.j_expr) : (this.setContext(
        sr.j_expr), this.state.canStartJSXElement = !0);
      } else
        this.state.canStartJSXElement = M3t(i);
    }
  }, "jsx"), A3 = class extends sT {
    static {
      n(this, "TypeScriptScope");
    }
    constructor(...e) {
      super(...e), this.tsNames = /* @__PURE__ */ new Map();
    }
  }, v3 = class extends rT {
    static {
      n(this, "TypeScriptScopeHandler");
    }
    constructor(...e) {
      super(...e), this.importsStack = [];
    }
    createScope(e) {
      return this.importsStack.push(/* @__PURE__ */ new Set()), new A3(e);
    }
    enter(e) {
      e === 256 && this.importsStack.push(/* @__PURE__ */ new Set()), super.enter(e);
    }
    exit() {
      let e = super.exit();
      return e === 256 && this.importsStack.pop(), e;
    }
    hasImport(e, s) {
      let r = this.importsStack.length;
      if (this.importsStack[r - 1].has(e))
        return !0;
      if (!s && r > 1) {
        for (let i = 0; i < r - 1; i++)
          if (this.importsStack[i].has(e)) return !0;
      }
      return !1;
    }
    declareName(e, s, r) {
      if (s & 4096) {
        this.hasImport(e, !0) && this.parser.raise(te.VarRedeclaration, r, {
          identifierName: e
        }), this.importsStack[this.importsStack.length - 1].add(e);
        return;
      }
      let i = this.currentScope(), a = i.tsNames.get(e) || 0;
      if (s & 1024) {
        this.maybeExportDefined(i, e), i.tsNames.set(e, a | 16);
        return;
      }
      super.declareName(e, s, r), s & 2 && (s & 1 || (this.checkRedeclarationInScope(i, e, s, r), this.maybeExportDefined(i, e)), a = a | 1),
      s & 256 && (a = a | 2), s & 512 && (a = a | 4), s & 128 && (a = a | 8), a && i.tsNames.set(e, a);
    }
    isRedeclaredInScope(e, s, r) {
      let i = e.tsNames.get(s);
      if ((i & 2) > 0) {
        if (r & 256) {
          let a = !!(r & 512), o = (i & 4) > 0;
          return a !== o;
        }
        return !0;
      }
      return r & 128 && (i & 8) > 0 ? e.names.get(s) & 2 ? !!(r & 1) : !1 : r & 2 && (i & 1) > 0 ? !0 : super.isRedeclaredInScope(e, s, r);
    }
    checkLocalExport(e) {
      let {
        name: s
      } = e;
      if (this.hasImport(s)) return;
      let r = this.scopeStack.length;
      for (let i = r - 1; i >= 0; i--) {
        let o = this.scopeStack[i].tsNames.get(s);
        if ((o & 1) > 0 || (o & 16) > 0)
          return;
      }
      super.checkLocalExport(e);
    }
  }, Doe = /* @__PURE__ */ n((t) => t.type === "ParenthesizedExpression" ? Doe(t.expression) : t, "unwrapParenthesizedExpression"), C3 = class extends E3 {
    static {
      n(this, "LValParser");
    }
    toAssignable(e, s = !1) {
      var r, i;
      let a;
      switch ((e.type === "ParenthesizedExpression" || (r = e.extra) != null && r.parenthesized) && (a = Doe(e), s ? a.type === "Identifier" ?
      this.expressionScope.recordArrowParameterBindingError(te.InvalidParenthesizedAssignment, e) : a.type !== "MemberExpression" && !this.isOptionalMemberExpression(
      a) && this.raise(te.InvalidParenthesizedAssignment, e) : this.raise(te.InvalidParenthesizedAssignment, e)), e.type) {
        case "Identifier":
        case "ObjectPattern":
        case "ArrayPattern":
        case "AssignmentPattern":
        case "RestElement":
          break;
        case "ObjectExpression":
          e.type = "ObjectPattern";
          for (let l = 0, u = e.properties.length, c = u - 1; l < u; l++) {
            var o;
            let p = e.properties[l], h = l === c;
            this.toAssignableObjectExpressionProp(p, h, s), h && p.type === "RestElement" && (o = e.extra) != null && o.trailingCommaLoc && this.
            raise(te.RestTrailingComma, e.extra.trailingCommaLoc);
          }
          break;
        case "ObjectProperty": {
          let {
            key: l,
            value: u
          } = e;
          this.isPrivateName(l) && this.classScope.usePrivateName(this.getPrivateNameSV(l), l.loc.start), this.toAssignable(u, s);
          break;
        }
        case "SpreadElement":
          throw new Error("Internal @babel/parser error (this is a bug, please report it). SpreadElement should be converted by .toAssignabl\
e's caller.");
        case "ArrayExpression":
          e.type = "ArrayPattern", this.toAssignableList(e.elements, (i = e.extra) == null ? void 0 : i.trailingCommaLoc, s);
          break;
        case "AssignmentExpression":
          e.operator !== "=" && this.raise(te.MissingEqInAssignment, e.left.loc.end), e.type = "AssignmentPattern", delete e.operator, this.
          toAssignable(e.left, s);
          break;
        case "ParenthesizedExpression":
          this.toAssignable(a, s);
          break;
      }
    }
    toAssignableObjectExpressionProp(e, s, r) {
      if (e.type === "ObjectMethod")
        this.raise(e.kind === "get" || e.kind === "set" ? te.PatternHasAccessor : te.PatternHasMethod, e.key);
      else if (e.type === "SpreadElement") {
        e.type = "RestElement";
        let i = e.argument;
        this.checkToRestConversion(i, !1), this.toAssignable(i, r), s || this.raise(te.RestTrailingComma, e);
      } else
        this.toAssignable(e, r);
    }
    toAssignableList(e, s, r) {
      let i = e.length - 1;
      for (let a = 0; a <= i; a++) {
        let o = e[a];
        if (o) {
          if (o.type === "SpreadElement") {
            o.type = "RestElement";
            let l = o.argument;
            this.checkToRestConversion(l, !0), this.toAssignable(l, r);
          } else
            this.toAssignable(o, r);
          o.type === "RestElement" && (a < i ? this.raise(te.RestTrailingComma, o) : s && this.raise(te.RestTrailingComma, s));
        }
      }
    }
    isAssignable(e, s) {
      switch (e.type) {
        case "Identifier":
        case "ObjectPattern":
        case "ArrayPattern":
        case "AssignmentPattern":
        case "RestElement":
          return !0;
        case "ObjectExpression": {
          let r = e.properties.length - 1;
          return e.properties.every((i, a) => i.type !== "ObjectMethod" && (a === r || i.type !== "SpreadElement") && this.isAssignable(i));
        }
        case "ObjectProperty":
          return this.isAssignable(e.value);
        case "SpreadElement":
          return this.isAssignable(e.argument);
        case "ArrayExpression":
          return e.elements.every((r) => r === null || this.isAssignable(r));
        case "AssignmentExpression":
          return e.operator === "=";
        case "ParenthesizedExpression":
          return this.isAssignable(e.expression);
        case "MemberExpression":
        case "OptionalMemberExpression":
          return !s;
        default:
          return !1;
      }
    }
    toReferencedList(e, s) {
      return e;
    }
    toReferencedListDeep(e, s) {
      this.toReferencedList(e, s);
      for (let r of e)
        r?.type === "ArrayExpression" && this.toReferencedListDeep(r.elements);
    }
    parseSpread(e) {
      let s = this.startNode();
      return this.next(), s.argument = this.parseMaybeAssignAllowIn(e, void 0), this.finishNode(s, "SpreadElement");
    }
    parseRestBinding() {
      let e = this.startNode();
      return this.next(), e.argument = this.parseBindingAtom(), this.finishNode(e, "RestElement");
    }
    parseBindingAtom() {
      switch (this.state.type) {
        case 0: {
          let e = this.startNode();
          return this.next(), e.elements = this.parseBindingList(3, 93, 1), this.finishNode(e, "ArrayPattern");
        }
        case 5:
          return this.parseObjectLike(8, !0);
      }
      return this.parseIdentifier();
    }
    parseBindingList(e, s, r) {
      let i = r & 1, a = [], o = !0;
      for (; !this.eat(e); )
        if (o ? o = !1 : this.expect(12), i && this.match(12))
          a.push(null);
        else {
          if (this.eat(e))
            break;
          if (this.match(21)) {
            let l = this.parseRestBinding();
            if ((this.hasPlugin("flow") || r & 2) && (l = this.parseFunctionParamType(l)), a.push(l), !this.checkCommaAfterRest(s)) {
              this.expect(e);
              break;
            }
          } else {
            let l = [];
            for (this.match(26) && this.hasPlugin("decorators") && this.raise(te.UnsupportedParameterDecorator, this.state.startLoc); this.match(
            26); )
              l.push(this.parseDecorator());
            a.push(this.parseAssignableListItem(r, l));
          }
        }
      return a;
    }
    parseBindingRestProperty(e) {
      return this.next(), e.argument = this.parseIdentifier(), this.checkCommaAfterRest(125), this.finishNode(e, "RestElement");
    }
    parseBindingProperty() {
      let {
        type: e,
        startLoc: s
      } = this.state;
      if (e === 21)
        return this.parseBindingRestProperty(this.startNode());
      let r = this.startNode();
      return e === 139 ? (this.expectPlugin("destructuringPrivate", s), this.classScope.usePrivateName(this.state.value, s), r.key = this.parsePrivateName()) :
      this.parsePropertyName(r), r.method = !1, this.parseObjPropValue(r, s, !1, !1, !0, !1);
    }
    parseAssignableListItem(e, s) {
      let r = this.parseMaybeDefault();
      (this.hasPlugin("flow") || e & 2) && this.parseFunctionParamType(r);
      let i = this.parseMaybeDefault(r.loc.start, r);
      return s.length && (r.decorators = s), i;
    }
    parseFunctionParamType(e) {
      return e;
    }
    parseMaybeDefault(e, s) {
      var r, i;
      if ((r = e) != null || (e = this.state.startLoc), s = (i = s) != null ? i : this.parseBindingAtom(), !this.eat(29)) return s;
      let a = this.startNodeAt(e);
      return a.left = s, a.right = this.parseMaybeAssignAllowIn(), this.finishNode(a, "AssignmentPattern");
    }
    isValidLVal(e, s, r) {
      switch (e) {
        case "AssignmentPattern":
          return "left";
        case "RestElement":
          return "argument";
        case "ObjectProperty":
          return "value";
        case "ParenthesizedExpression":
          return "expression";
        case "ArrayPattern":
          return "elements";
        case "ObjectPattern":
          return "properties";
      }
      return !1;
    }
    isOptionalMemberExpression(e) {
      return e.type === "OptionalMemberExpression";
    }
    checkLVal(e, s, r = 64, i = !1, a = !1, o = !1) {
      var l;
      let u = e.type;
      if (this.isObjectMethod(e)) return;
      let c = this.isOptionalMemberExpression(e);
      if (c || u === "MemberExpression") {
        c && (this.expectPlugin("optionalChainingAssign", e.loc.start), s.type !== "AssignmentExpression" && this.raise(te.InvalidLhsOptionalChaining,
        e, {
          ancestor: s
        })), r !== 64 && this.raise(te.InvalidPropertyBindingPattern, e);
        return;
      }
      if (u === "Identifier") {
        this.checkIdentifier(e, r, a);
        let {
          name: y
        } = e;
        i && (i.has(y) ? this.raise(te.ParamDupe, e) : i.add(y));
        return;
      }
      let p = this.isValidLVal(u, !(o || (l = e.extra) != null && l.parenthesized) && s.type === "AssignmentExpression", r);
      if (p === !0) return;
      if (p === !1) {
        let y = r === 64 ? te.InvalidLhs : te.InvalidLhsBinding;
        this.raise(y, e, {
          ancestor: s
        });
        return;
      }
      let h, f;
      typeof p == "string" ? (h = p, f = u === "ParenthesizedExpression") : [h, f] = p;
      let d = u === "ArrayPattern" || u === "ObjectPattern" ? {
        type: u
      } : s, m = e[h];
      if (Array.isArray(m))
        for (let y of m)
          y && this.checkLVal(y, d, r, i, a, f);
      else m && this.checkLVal(m, d, r, i, a, f);
    }
    checkIdentifier(e, s, r = !1) {
      this.state.strict && (r ? Coe(e.name, this.inModule) : voe(e.name)) && (s === 64 ? this.raise(te.StrictEvalArguments, e, {
        referenceName: e.name
      }) : this.raise(te.StrictEvalArgumentsBinding, e, {
        bindingName: e.name
      })), s & 8192 && e.name === "let" && this.raise(te.LetInLexicalBinding, e), s & 64 || this.declareNameFromIdentifier(e, s);
    }
    declareNameFromIdentifier(e, s) {
      this.scope.declareName(e.name, s, e.loc.start);
    }
    checkToRestConversion(e, s) {
      switch (e.type) {
        case "ParenthesizedExpression":
          this.checkToRestConversion(e.expression, s);
          break;
        case "Identifier":
        case "MemberExpression":
          break;
        case "ArrayExpression":
        case "ObjectExpression":
          if (s) break;
        default:
          this.raise(te.InvalidRestAssignmentPattern, e);
      }
    }
    checkCommaAfterRest(e) {
      return this.match(12) ? (this.raise(this.lookaheadCharCode() === e ? te.RestTrailingComma : te.ElementAfterRest, this.state.startLoc),
      !0) : !1;
    }
  };
  function S4t(t) {
    if (t == null)
      throw new Error(`Unexpected ${t} value.`);
    return t;
  }
  n(S4t, "nonNull");
  function doe(t) {
    if (!t)
      throw new Error("Assert fail");
  }
  n(doe, "assert");
  var dt = Ju`typescript`({
    AbstractMethodHasImplementation: /* @__PURE__ */ n(({
      methodName: t
    }) => `Method '${t}' cannot have an implementation because it is marked abstract.`, "AbstractMethodHasImplementation"),
    AbstractPropertyHasInitializer: /* @__PURE__ */ n(({
      propertyName: t
    }) => `Property '${t}' cannot have an initializer because it is marked abstract.`, "AbstractPropertyHasInitializer"),
    AccessorCannotBeOptional: "An 'accessor' property cannot be declared optional.",
    AccessorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.",
    AccessorCannotHaveTypeParameters: "An accessor cannot have type parameters.",
    ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.",
    ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.",
    ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "A 'const' initializer in an ambient context must be a string or num\
eric literal or literal enum reference.",
    ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.",
    DeclareAccessor: /* @__PURE__ */ n(({
      kind: t
    }) => `'declare' is not allowed in ${t}ters.`, "DeclareAccessor"),
    DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.",
    DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.",
    DuplicateAccessibilityModifier: /* @__PURE__ */ n(({
      modifier: t
    }) => "Accessibility modifier already seen.", "DuplicateAccessibilityModifier"),
    DuplicateModifier: /* @__PURE__ */ n(({
      modifier: t
    }) => `Duplicate modifier: '${t}'.`, "DuplicateModifier"),
    EmptyHeritageClauseType: /* @__PURE__ */ n(({
      token: t
    }) => `'${t}' list cannot be empty.`, "EmptyHeritageClauseType"),
    EmptyTypeArguments: "Type argument list cannot be empty.",
    EmptyTypeParameters: "Type parameter list cannot be empty.",
    ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.",
    ImportAliasHasImportType: "An import alias can not use 'import type'.",
    ImportReflectionHasImportType: "An `import module` declaration can not use `type` modifier",
    IncompatibleModifiers: /* @__PURE__ */ n(({
      modifiers: t
    }) => `'${t[0]}' modifier cannot be used with '${t[1]}' modifier.`, "IncompatibleModifiers"),
    IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.",
    IndexSignatureHasAccessibility: /* @__PURE__ */ n(({
      modifier: t
    }) => `Index signatures cannot have an accessibility modifier ('${t}').`, "IndexSignatureHasAccessibility"),
    IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.",
    IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.",
    IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.",
    InitializerNotAllowedInAmbientContext: "Initializers are not allowed in ambient contexts.",
    InvalidModifierOnTypeMember: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier cannot appear on a type member.`, "InvalidModifierOnTypeMember"),
    InvalidModifierOnTypeParameter: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier cannot appear on a type parameter.`, "InvalidModifierOnTypeParameter"),
    InvalidModifierOnTypeParameterPositions: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier can only appear on a type parameter of a class, interface or type alias.`, "InvalidModifierOnTypeParameterPositio\
ns"),
    InvalidModifiersOrder: /* @__PURE__ */ n(({
      orderedModifiers: t
    }) => `'${t[0]}' modifier must precede '${t[1]}' modifier.`, "InvalidModifiersOrder"),
    InvalidPropertyAccessAfterInstantiationExpression: "Invalid property access after an instantiation expression. You can either wrap the i\
nstantiation expression in parentheses, or delete the type arguments.",
    InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.",
    MissingInterfaceName: "'interface' declarations must be followed by an identifier.",
    NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.",
    NonClassMethodPropertyHasAbstractModifer: "'abstract' modifier can only appear on a class, method, or property declaration.",
    OptionalTypeBeforeRequired: "A required element cannot follow an optional element.",
    OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.",
    PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.",
    PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.",
    PrivateElementHasAccessibility: /* @__PURE__ */ n(({
      modifier: t
    }) => `Private elements cannot have an accessibility modifier ('${t}').`, "PrivateElementHasAccessibility"),
    ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.",
    ReservedArrowTypeParam: "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",
    ReservedTypeAssertion: "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",
    SetAccessorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.",
    SetAccessorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.",
    SetAccessorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.",
    SingleTypeParameterWithoutTrailingComma: /* @__PURE__ */ n(({
      typeParameterName: t
    }) => `Single type parameter ${t} should have a trailing comma. Example usage: <${t},>.`, "SingleTypeParameterWithoutTrailingComma"),
    StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.",
    TupleOptionalAfterType: "A labeled tuple optional element must be declared using a question mark after the name and before the colon (`n\
ame?: type`), rather than after the type (`name: type?`).",
    TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number =\
 25`.",
    TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.",
    TypeModifierIsUsedInTypeExports: "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statemen\
t.",
    TypeModifierIsUsedInTypeImports: "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statemen\
t.",
    UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.",
    UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.",
    UnexpectedTypeAnnotation: "Did not expect a type annotation here.",
    UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.",
    UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.",
    UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.",
    UnsupportedSignatureParameterKind: /* @__PURE__ */ n(({
      type: t
    }) => `Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${t}.`, "UnsupportedSignatureParameterKind")
  });
  function P4t(t) {
    switch (t) {
      case "any":
        return "TSAnyKeyword";
      case "boolean":
        return "TSBooleanKeyword";
      case "bigint":
        return "TSBigIntKeyword";
      case "never":
        return "TSNeverKeyword";
      case "number":
        return "TSNumberKeyword";
      case "object":
        return "TSObjectKeyword";
      case "string":
        return "TSStringKeyword";
      case "symbol":
        return "TSSymbolKeyword";
      case "undefined":
        return "TSUndefinedKeyword";
      case "unknown":
        return "TSUnknownKeyword";
      default:
        return;
    }
  }
  n(P4t, "keywordTypeFromName");
  function moe(t) {
    return t === "private" || t === "public" || t === "protected";
  }
  n(moe, "tsIsAccessModifier");
  function E4t(t) {
    return t === "in" || t === "out";
  }
  n(E4t, "tsIsVarianceAnnotations");
  var A4t = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "TypeScriptParserMixin");
    }
    constructor(...s) {
      super(...s), this.tsParseInOutModifiers = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["in", "out"],
        disallowedModifiers: ["const", "public", "private", "protected", "readonly", "declare", "abstract", "override"],
        errorTemplate: dt.InvalidModifierOnTypeParameter
      }), this.tsParseConstModifier = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["const"],
        disallowedModifiers: ["in", "out"],
        errorTemplate: dt.InvalidModifierOnTypeParameterPositions
      }), this.tsParseInOutConstModifiers = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["in", "out", "const"],
        disallowedModifiers: ["public", "private", "protected", "readonly", "declare", "abstract", "override"],
        errorTemplate: dt.InvalidModifierOnTypeParameter
      });
    }
    getScopeHandler() {
      return v3;
    }
    tsIsIdentifier() {
      return rr(this.state.type);
    }
    tsTokenCanFollowModifier() {
      return this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(139) || this.isLiteralPropertyName();
    }
    tsNextTokenOnSameLineAndCanFollowModifier() {
      return this.next(), this.hasPrecedingLineBreak() ? !1 : this.tsTokenCanFollowModifier();
    }
    tsNextTokenCanFollowModifier() {
      return this.match(106) ? (this.next(), this.tsTokenCanFollowModifier()) : this.tsNextTokenOnSameLineAndCanFollowModifier();
    }
    tsParseModifier(s, r) {
      if (!rr(this.state.type) && this.state.type !== 58 && this.state.type !== 75)
        return;
      let i = this.state.value;
      if (s.includes(i)) {
        if (r && this.tsIsStartOfStaticBlocks())
          return;
        if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))
          return i;
      }
    }
    tsParseModifiers({
      allowedModifiers: s,
      disallowedModifiers: r,
      stopOnStartOfClassStaticBlock: i,
      errorTemplate: a = dt.InvalidModifierOnTypeMember
    }, o) {
      let l = /* @__PURE__ */ n((c, p, h, f) => {
        p === h && o[f] && this.raise(dt.InvalidModifiersOrder, c, {
          orderedModifiers: [h, f]
        });
      }, "enforceOrder"), u = /* @__PURE__ */ n((c, p, h, f) => {
        (o[h] && p === f || o[f] && p === h) && this.raise(dt.IncompatibleModifiers, c, {
          modifiers: [h, f]
        });
      }, "incompatible");
      for (; ; ) {
        let {
          startLoc: c
        } = this.state, p = this.tsParseModifier(s.concat(r ?? []), i);
        if (!p) break;
        moe(p) ? o.accessibility ? this.raise(dt.DuplicateAccessibilityModifier, c, {
          modifier: p
        }) : (l(c, p, p, "override"), l(c, p, p, "static"), l(c, p, p, "readonly"), o.accessibility = p) : E4t(p) ? (o[p] && this.raise(dt.DuplicateModifier,
        c, {
          modifier: p
        }), o[p] = !0, l(c, p, "in", "out")) : (hasOwnProperty.call(o, p) ? this.raise(dt.DuplicateModifier, c, {
          modifier: p
        }) : (l(c, p, "static", "readonly"), l(c, p, "static", "override"), l(c, p, "override", "readonly"), l(c, p, "abstract", "override"),
        u(c, p, "declare", "override"), u(c, p, "static", "abstract")), o[p] = !0), r != null && r.includes(p) && this.raise(a, c, {
          modifier: p
        });
      }
    }
    tsIsListTerminator(s) {
      switch (s) {
        case "EnumMembers":
        case "TypeMembers":
          return this.match(8);
        case "HeritageClauseElement":
          return this.match(5);
        case "TupleElementTypes":
          return this.match(3);
        case "TypeParametersOrArguments":
          return this.match(48);
      }
    }
    tsParseList(s, r) {
      let i = [];
      for (; !this.tsIsListTerminator(s); )
        i.push(r());
      return i;
    }
    tsParseDelimitedList(s, r, i) {
      return S4t(this.tsParseDelimitedListWorker(s, r, !0, i));
    }
    tsParseDelimitedListWorker(s, r, i, a) {
      let o = [], l = -1;
      for (; !this.tsIsListTerminator(s); ) {
        l = -1;
        let u = r();
        if (u == null)
          return;
        if (o.push(u), this.eat(12)) {
          l = this.state.lastTokStartLoc.index;
          continue;
        }
        if (this.tsIsListTerminator(s))
          break;
        i && this.expect(12);
        return;
      }
      return a && (a.value = l), o;
    }
    tsParseBracketedList(s, r, i, a, o) {
      a || (i ? this.expect(0) : this.expect(47));
      let l = this.tsParseDelimitedList(s, r, o);
      return i ? this.expect(3) : this.expect(48), l;
    }
    tsParseImportType() {
      let s = this.startNode();
      return this.expect(83), this.expect(10), this.match(134) ? s.argument = this.parseStringLiteral(this.state.value) : (this.raise(dt.UnsupportedImportTypeArgument,
      this.state.startLoc), s.argument = super.parseExprAtom()), this.eat(12) && !this.match(11) ? (s.options = super.parseMaybeAssignAllowIn(),
      this.eat(12)) : s.options = null, this.expect(11), this.eat(16) && (s.qualifier = this.tsParseEntityName(3)), this.match(47) && (s.typeParameters =
      this.tsParseTypeArguments()), this.finishNode(s, "TSImportType");
    }
    tsParseEntityName(s) {
      let r;
      if (s & 1 && this.match(78))
        if (s & 2)
          r = this.parseIdentifier(!0);
        else {
          let i = this.startNode();
          this.next(), r = this.finishNode(i, "ThisExpression");
        }
      else
        r = this.parseIdentifier(!!(s & 1));
      for (; this.eat(16); ) {
        let i = this.startNodeAtNode(r);
        i.left = r, i.right = this.parseIdentifier(!!(s & 1)), r = this.finishNode(i, "TSQualifiedName");
      }
      return r;
    }
    tsParseTypeReference() {
      let s = this.startNode();
      return s.typeName = this.tsParseEntityName(1), !this.hasPrecedingLineBreak() && this.match(47) && (s.typeParameters = this.tsParseTypeArguments()),
      this.finishNode(s, "TSTypeReference");
    }
    tsParseThisTypePredicate(s) {
      this.next();
      let r = this.startNodeAtNode(s);
      return r.parameterName = s, r.typeAnnotation = this.tsParseTypeAnnotation(!1), r.asserts = !1, this.finishNode(r, "TSTypePredicate");
    }
    tsParseThisTypeNode() {
      let s = this.startNode();
      return this.next(), this.finishNode(s, "TSThisType");
    }
    tsParseTypeQuery() {
      let s = this.startNode();
      return this.expect(87), this.match(83) ? s.exprName = this.tsParseImportType() : s.exprName = this.tsParseEntityName(3), !this.hasPrecedingLineBreak() &&
      this.match(47) && (s.typeParameters = this.tsParseTypeArguments()), this.finishNode(s, "TSTypeQuery");
    }
    tsParseTypeParameter(s) {
      let r = this.startNode();
      return s(r), r.name = this.tsParseTypeParameterName(), r.constraint = this.tsEatThenParseType(81), r.default = this.tsEatThenParseType(
      29), this.finishNode(r, "TSTypeParameter");
    }
    tsTryParseTypeParameters(s) {
      if (this.match(47))
        return this.tsParseTypeParameters(s);
    }
    tsParseTypeParameters(s) {
      let r = this.startNode();
      this.match(47) || this.match(143) ? this.next() : this.unexpected();
      let i = {
        value: -1
      };
      return r.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this, s), !1, !0, i), r.params.
      length === 0 && this.raise(dt.EmptyTypeParameters, r), i.value !== -1 && this.addExtra(r, "trailingComma", i.value), this.finishNode(r,
      "TSTypeParameterDeclaration");
    }
    tsFillSignature(s, r) {
      let i = s === 19, a = "parameters", o = "typeAnnotation";
      r.typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier), this.expect(10), r[a] = this.tsParseBindingListForSignature(),
      i ? r[o] = this.tsParseTypeOrTypePredicateAnnotation(s) : this.match(s) && (r[o] = this.tsParseTypeOrTypePredicateAnnotation(s));
    }
    tsParseBindingListForSignature() {
      let s = super.parseBindingList(11, 41, 2);
      for (let r of s) {
        let {
          type: i
        } = r;
        (i === "AssignmentPattern" || i === "TSParameterProperty") && this.raise(dt.UnsupportedSignatureParameterKind, r, {
          type: i
        });
      }
      return s;
    }
    tsParseTypeMemberSemicolon() {
      !this.eat(12) && !this.isLineTerminator() && this.expect(13);
    }
    tsParseSignatureMember(s, r) {
      return this.tsFillSignature(14, r), this.tsParseTypeMemberSemicolon(), this.finishNode(r, s);
    }
    tsIsUnambiguouslyIndexSignature() {
      return this.next(), rr(this.state.type) ? (this.next(), this.match(14)) : !1;
    }
    tsTryParseIndexSignature(s) {
      if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))))
        return;
      this.expect(0);
      let r = this.parseIdentifier();
      r.typeAnnotation = this.tsParseTypeAnnotation(), this.resetEndLocation(r), this.expect(3), s.parameters = [r];
      let i = this.tsTryParseTypeAnnotation();
      return i && (s.typeAnnotation = i), this.tsParseTypeMemberSemicolon(), this.finishNode(s, "TSIndexSignature");
    }
    tsParsePropertyOrMethodSignature(s, r) {
      this.eat(17) && (s.optional = !0);
      let i = s;
      if (this.match(10) || this.match(47)) {
        r && this.raise(dt.ReadonlyForMethodSignature, s);
        let a = i;
        a.kind && this.match(47) && this.raise(dt.AccessorCannotHaveTypeParameters, this.state.curPosition()), this.tsFillSignature(14, a), this.
        tsParseTypeMemberSemicolon();
        let o = "parameters", l = "typeAnnotation";
        if (a.kind === "get")
          a[o].length > 0 && (this.raise(te.BadGetterArity, this.state.curPosition()), this.isThisParam(a[o][0]) && this.raise(dt.AccessorCannotDeclareThisParameter,
          this.state.curPosition()));
        else if (a.kind === "set") {
          if (a[o].length !== 1)
            this.raise(te.BadSetterArity, this.state.curPosition());
          else {
            let u = a[o][0];
            this.isThisParam(u) && this.raise(dt.AccessorCannotDeclareThisParameter, this.state.curPosition()), u.type === "Identifier" && u.
            optional && this.raise(dt.SetAccessorCannotHaveOptionalParameter, this.state.curPosition()), u.type === "RestElement" && this.raise(
            dt.SetAccessorCannotHaveRestParameter, this.state.curPosition());
          }
          a[l] && this.raise(dt.SetAccessorCannotHaveReturnType, a[l]);
        } else
          a.kind = "method";
        return this.finishNode(a, "TSMethodSignature");
      } else {
        let a = i;
        r && (a.readonly = !0);
        let o = this.tsTryParseTypeAnnotation();
        return o && (a.typeAnnotation = o), this.tsParseTypeMemberSemicolon(), this.finishNode(a, "TSPropertySignature");
      }
    }
    tsParseTypeMember() {
      let s = this.startNode();
      if (this.match(10) || this.match(47))
        return this.tsParseSignatureMember("TSCallSignatureDeclaration", s);
      if (this.match(77)) {
        let i = this.startNode();
        return this.next(), this.match(10) || this.match(47) ? this.tsParseSignatureMember("TSConstructSignatureDeclaration", s) : (s.key = this.
        createIdentifier(i, "new"), this.tsParsePropertyOrMethodSignature(s, !1));
      }
      this.tsParseModifiers({
        allowedModifiers: ["readonly"],
        disallowedModifiers: ["declare", "abstract", "private", "protected", "public", "static", "override"]
      }, s);
      let r = this.tsTryParseIndexSignature(s);
      return r || (super.parsePropertyName(s), !s.computed && s.key.type === "Identifier" && (s.key.name === "get" || s.key.name === "set") &&
      this.tsTokenCanFollowModifier() && (s.kind = s.key.name, super.parsePropertyName(s)), this.tsParsePropertyOrMethodSignature(s, !!s.readonly));
    }
    tsParseTypeLiteral() {
      let s = this.startNode();
      return s.members = this.tsParseObjectTypeMembers(), this.finishNode(s, "TSTypeLiteral");
    }
    tsParseObjectTypeMembers() {
      this.expect(5);
      let s = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this));
      return this.expect(8), s;
    }
    tsIsStartOfMappedType() {
      return this.next(), this.eat(53) ? this.isContextual(122) : (this.isContextual(122) && this.next(), !this.match(0) || (this.next(), !this.
      tsIsIdentifier()) ? !1 : (this.next(), this.match(58)));
    }
    tsParseMappedType() {
      let s = this.startNode();
      this.expect(5), this.match(53) ? (s.readonly = this.state.value, this.next(), this.expectContextual(122)) : this.eatContextual(122) &&
      (s.readonly = !0), this.expect(0);
      {
        let r = this.startNode();
        r.name = this.tsParseTypeParameterName(), r.constraint = this.tsExpectThenParseType(58), s.typeParameter = this.finishNode(r, "TSTyp\
eParameter");
      }
      return s.nameType = this.eatContextual(93) ? this.tsParseType() : null, this.expect(3), this.match(53) ? (s.optional = this.state.value,
      this.next(), this.expect(17)) : this.eat(17) && (s.optional = !0), s.typeAnnotation = this.tsTryParseType(), this.semicolon(), this.expect(
      8), this.finishNode(s, "TSMappedType");
    }
    tsParseTupleType() {
      let s = this.startNode();
      s.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), !0, !1);
      let r = !1;
      return s.elementTypes.forEach((i) => {
        let {
          type: a
        } = i;
        r && a !== "TSRestType" && a !== "TSOptionalType" && !(a === "TSNamedTupleMember" && i.optional) && this.raise(dt.OptionalTypeBeforeRequired,
        i), r || (r = a === "TSNamedTupleMember" && i.optional || a === "TSOptionalType");
      }), this.finishNode(s, "TSTupleType");
    }
    tsParseTupleElementType() {
      let s = this.state.startLoc, r = this.eat(21), {
        startLoc: i
      } = this.state, a, o, l, u, p = Bo(this.state.type) ? this.lookaheadCharCode() : null;
      if (p === 58)
        a = !0, l = !1, o = this.parseIdentifier(!0), this.expect(14), u = this.tsParseType();
      else if (p === 63) {
        l = !0;
        let h = this.state.value, f = this.tsParseNonArrayType();
        this.lookaheadCharCode() === 58 ? (a = !0, o = this.createIdentifier(this.startNodeAt(i), h), this.expect(17), this.expect(14), u = this.
        tsParseType()) : (a = !1, u = f, this.expect(17));
      } else
        u = this.tsParseType(), l = this.eat(17), a = this.eat(14);
      if (a) {
        let h;
        o ? (h = this.startNodeAt(i), h.optional = l, h.label = o, h.elementType = u, this.eat(17) && (h.optional = !0, this.raise(dt.TupleOptionalAfterType,
        this.state.lastTokStartLoc))) : (h = this.startNodeAt(i), h.optional = l, this.raise(dt.InvalidTupleMemberLabel, u), h.label = u, h.
        elementType = this.tsParseType()), u = this.finishNode(h, "TSNamedTupleMember");
      } else if (l) {
        let h = this.startNodeAt(i);
        h.typeAnnotation = u, u = this.finishNode(h, "TSOptionalType");
      }
      if (r) {
        let h = this.startNodeAt(s);
        h.typeAnnotation = u, u = this.finishNode(h, "TSRestType");
      }
      return u;
    }
    tsParseParenthesizedType() {
      let s = this.startNode();
      return this.expect(10), s.typeAnnotation = this.tsParseType(), this.expect(11), this.finishNode(s, "TSParenthesizedType");
    }
    tsParseFunctionOrConstructorType(s, r) {
      let i = this.startNode();
      return s === "TSConstructorType" && (i.abstract = !!r, r && this.next(), this.next()), this.tsInAllowConditionalTypesContext(() => this.
      tsFillSignature(19, i)), this.finishNode(i, s);
    }
    tsParseLiteralTypeNode() {
      let s = this.startNode();
      switch (this.state.type) {
        case 135:
        case 136:
        case 134:
        case 85:
        case 86:
          s.literal = super.parseExprAtom();
          break;
        default:
          this.unexpected();
      }
      return this.finishNode(s, "TSLiteralType");
    }
    tsParseTemplateLiteralType() {
      {
        let s = this.startNode();
        return s.literal = super.parseTemplate(!1), this.finishNode(s, "TSLiteralType");
      }
    }
    parseTemplateSubstitution() {
      return this.state.inType ? this.tsParseType() : super.parseTemplateSubstitution();
    }
    tsParseThisTypeOrThisTypePredicate() {
      let s = this.tsParseThisTypeNode();
      return this.isContextual(116) && !this.hasPrecedingLineBreak() ? this.tsParseThisTypePredicate(s) : s;
    }
    tsParseNonArrayType() {
      switch (this.state.type) {
        case 134:
        case 135:
        case 136:
        case 85:
        case 86:
          return this.tsParseLiteralTypeNode();
        case 53:
          if (this.state.value === "-") {
            let s = this.startNode(), r = this.lookahead();
            return r.type !== 135 && r.type !== 136 && this.unexpected(), s.literal = this.parseMaybeUnary(), this.finishNode(s, "TSLiteralT\
ype");
          }
          break;
        case 78:
          return this.tsParseThisTypeOrThisTypePredicate();
        case 87:
          return this.tsParseTypeQuery();
        case 83:
          return this.tsParseImportType();
        case 5:
          return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral();
        case 0:
          return this.tsParseTupleType();
        case 10:
          return this.tsParseParenthesizedType();
        case 25:
        case 24:
          return this.tsParseTemplateLiteralType();
        default: {
          let {
            type: s
          } = this.state;
          if (rr(s) || s === 88 || s === 84) {
            let r = s === 88 ? "TSVoidKeyword" : s === 84 ? "TSNullKeyword" : P4t(this.state.value);
            if (r !== void 0 && this.lookaheadCharCode() !== 46) {
              let i = this.startNode();
              return this.next(), this.finishNode(i, r);
            }
            return this.tsParseTypeReference();
          }
        }
      }
      this.unexpected();
    }
    tsParseArrayTypeOrHigher() {
      let {
        startLoc: s
      } = this.state, r = this.tsParseNonArrayType();
      for (; !this.hasPrecedingLineBreak() && this.eat(0); )
        if (this.match(3)) {
          let i = this.startNodeAt(s);
          i.elementType = r, this.expect(3), r = this.finishNode(i, "TSArrayType");
        } else {
          let i = this.startNodeAt(s);
          i.objectType = r, i.indexType = this.tsParseType(), this.expect(3), r = this.finishNode(i, "TSIndexedAccessType");
        }
      return r;
    }
    tsParseTypeOperator() {
      let s = this.startNode(), r = this.state.value;
      return this.next(), s.operator = r, s.typeAnnotation = this.tsParseTypeOperatorOrHigher(), r === "readonly" && this.tsCheckTypeAnnotationForReadOnly(
      s), this.finishNode(s, "TSTypeOperator");
    }
    tsCheckTypeAnnotationForReadOnly(s) {
      switch (s.typeAnnotation.type) {
        case "TSTupleType":
        case "TSArrayType":
          return;
        default:
          this.raise(dt.UnexpectedReadonly, s);
      }
    }
    tsParseInferType() {
      let s = this.startNode();
      this.expectContextual(115);
      let r = this.startNode();
      return r.name = this.tsParseTypeParameterName(), r.constraint = this.tsTryParse(() => this.tsParseConstraintForInferType()), s.typeParameter =
      this.finishNode(r, "TSTypeParameter"), this.finishNode(s, "TSInferType");
    }
    tsParseConstraintForInferType() {
      if (this.eat(81)) {
        let s = this.tsInDisallowConditionalTypesContext(() => this.tsParseType());
        if (this.state.inDisallowConditionalTypesContext || !this.match(17))
          return s;
      }
    }
    tsParseTypeOperatorOrHigher() {
      return K3t(this.state.type) && !this.state.containsEsc ? this.tsParseTypeOperator() : this.isContextual(115) ? this.tsParseInferType() :
      this.tsInAllowConditionalTypesContext(() => this.tsParseArrayTypeOrHigher());
    }
    tsParseUnionOrIntersectionType(s, r, i) {
      let a = this.startNode(), o = this.eat(i), l = [];
      do
        l.push(r());
      while (this.eat(i));
      return l.length === 1 && !o ? l[0] : (a.types = l, this.finishNode(a, s));
    }
    tsParseIntersectionTypeOrHigher() {
      return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), 45);
    }
    tsParseUnionTypeOrHigher() {
      return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), 43);
    }
    tsIsStartOfFunctionType() {
      return this.match(47) ? !0 : this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this));
    }
    tsSkipParameterStart() {
      if (rr(this.state.type) || this.match(78))
        return this.next(), !0;
      if (this.match(5)) {
        let {
          errors: s
        } = this.state, r = s.length;
        try {
          return this.parseObjectLike(8, !0), s.length === r;
        } catch {
          return !1;
        }
      }
      if (this.match(0)) {
        this.next();
        let {
          errors: s
        } = this.state, r = s.length;
        try {
          return super.parseBindingList(3, 93, 1), s.length === r;
        } catch {
          return !1;
        }
      }
      return !1;
    }
    tsIsUnambiguouslyStartOfFunctionType() {
      return this.next(), !!(this.match(11) || this.match(21) || this.tsSkipParameterStart() && (this.match(14) || this.match(12) || this.match(
      17) || this.match(29) || this.match(11) && (this.next(), this.match(19))));
    }
    tsParseTypeOrTypePredicateAnnotation(s) {
      return this.tsInType(() => {
        let r = this.startNode();
        this.expect(s);
        let i = this.startNode(), a = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));
        if (a && this.match(78)) {
          let u = this.tsParseThisTypeOrThisTypePredicate();
          return u.type === "TSThisType" ? (i.parameterName = u, i.asserts = !0, i.typeAnnotation = null, u = this.finishNode(i, "TSTypePred\
icate")) : (this.resetStartLocationFromNode(u, i), u.asserts = !0), r.typeAnnotation = u, this.finishNode(r, "TSTypeAnnotation");
        }
        let o = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));
        if (!o)
          return a ? (i.parameterName = this.parseIdentifier(), i.asserts = a, i.typeAnnotation = null, r.typeAnnotation = this.finishNode(i,
          "TSTypePredicate"), this.finishNode(r, "TSTypeAnnotation")) : this.tsParseTypeAnnotation(!1, r);
        let l = this.tsParseTypeAnnotation(!1);
        return i.parameterName = o, i.typeAnnotation = l, i.asserts = a, r.typeAnnotation = this.finishNode(i, "TSTypePredicate"), this.finishNode(
        r, "TSTypeAnnotation");
      });
    }
    tsTryParseTypeOrTypePredicateAnnotation() {
      if (this.match(14))
        return this.tsParseTypeOrTypePredicateAnnotation(14);
    }
    tsTryParseTypeAnnotation() {
      if (this.match(14))
        return this.tsParseTypeAnnotation();
    }
    tsTryParseType() {
      return this.tsEatThenParseType(14);
    }
    tsParseTypePredicatePrefix() {
      let s = this.parseIdentifier();
      if (this.isContextual(116) && !this.hasPrecedingLineBreak())
        return this.next(), s;
    }
    tsParseTypePredicateAsserts() {
      if (this.state.type !== 109)
        return !1;
      let s = this.state.containsEsc;
      return this.next(), !rr(this.state.type) && !this.match(78) ? !1 : (s && this.raise(te.InvalidEscapedReservedWord, this.state.lastTokStartLoc,
      {
        reservedWord: "asserts"
      }), !0);
    }
    tsParseTypeAnnotation(s = !0, r = this.startNode()) {
      return this.tsInType(() => {
        s && this.expect(14), r.typeAnnotation = this.tsParseType();
      }), this.finishNode(r, "TSTypeAnnotation");
    }
    tsParseType() {
      doe(this.state.inType);
      let s = this.tsParseNonConditionalType();
      if (this.state.inDisallowConditionalTypesContext || this.hasPrecedingLineBreak() || !this.eat(81))
        return s;
      let r = this.startNodeAtNode(s);
      return r.checkType = s, r.extendsType = this.tsInDisallowConditionalTypesContext(() => this.tsParseNonConditionalType()), this.expect(
      17), r.trueType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()), this.expect(14), r.falseType = this.tsInAllowConditionalTypesContext(
      () => this.tsParseType()), this.finishNode(r, "TSConditionalType");
    }
    isAbstractConstructorSignature() {
      return this.isContextual(124) && this.lookahead().type === 77;
    }
    tsParseNonConditionalType() {
      return this.tsIsStartOfFunctionType() ? this.tsParseFunctionOrConstructorType("TSFunctionType") : this.match(77) ? this.tsParseFunctionOrConstructorType(
      "TSConstructorType") : this.isAbstractConstructorSignature() ? this.tsParseFunctionOrConstructorType("TSConstructorType", !0) : this.tsParseUnionTypeOrHigher();
    }
    tsParseTypeAssertion() {
      this.getPluginOption("typescript", "disallowAmbiguousJSXLike") && this.raise(dt.ReservedTypeAssertion, this.state.startLoc);
      let s = this.startNode();
      return s.typeAnnotation = this.tsInType(() => (this.next(), this.match(75) ? this.tsParseTypeReference() : this.tsParseType())), this.
      expect(48), s.expression = this.parseMaybeUnary(), this.finishNode(s, "TSTypeAssertion");
    }
    tsParseHeritageClause(s) {
      let r = this.state.startLoc, i = this.tsParseDelimitedList("HeritageClauseElement", () => {
        let a = this.startNode();
        return a.expression = this.tsParseEntityName(3), this.match(47) && (a.typeParameters = this.tsParseTypeArguments()), this.finishNode(
        a, "TSExpressionWithTypeArguments");
      });
      return i.length || this.raise(dt.EmptyHeritageClauseType, r, {
        token: s
      }), i;
    }
    tsParseInterfaceDeclaration(s, r = {}) {
      if (this.hasFollowingLineBreak()) return null;
      this.expectContextual(129), r.declare && (s.declare = !0), rr(this.state.type) ? (s.id = this.parseIdentifier(), this.checkIdentifier(
      s.id, 130)) : (s.id = null, this.raise(dt.MissingInterfaceName, this.state.startLoc)), s.typeParameters = this.tsTryParseTypeParameters(
      this.tsParseInOutConstModifiers), this.eat(81) && (s.extends = this.tsParseHeritageClause("extends"));
      let i = this.startNode();
      return i.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this)), s.body = this.finishNode(i, "TSInterfaceBody"), this.finishNode(
      s, "TSInterfaceDeclaration");
    }
    tsParseTypeAliasDeclaration(s) {
      return s.id = this.parseIdentifier(), this.checkIdentifier(s.id, 2), s.typeAnnotation = this.tsInType(() => {
        if (s.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers), this.expect(29), this.isContextual(114) && this.lookahead().
        type !== 16) {
          let r = this.startNode();
          return this.next(), this.finishNode(r, "TSIntrinsicKeyword");
        }
        return this.tsParseType();
      }), this.semicolon(), this.finishNode(s, "TSTypeAliasDeclaration");
    }
    tsInTopLevelContext(s) {
      if (this.curContext() !== sr.brace) {
        let r = this.state.context;
        this.state.context = [r[0]];
        try {
          return s();
        } finally {
          this.state.context = r;
        }
      } else
        return s();
    }
    tsInType(s) {
      let r = this.state.inType;
      this.state.inType = !0;
      try {
        return s();
      } finally {
        this.state.inType = r;
      }
    }
    tsInDisallowConditionalTypesContext(s) {
      let r = this.state.inDisallowConditionalTypesContext;
      this.state.inDisallowConditionalTypesContext = !0;
      try {
        return s();
      } finally {
        this.state.inDisallowConditionalTypesContext = r;
      }
    }
    tsInAllowConditionalTypesContext(s) {
      let r = this.state.inDisallowConditionalTypesContext;
      this.state.inDisallowConditionalTypesContext = !1;
      try {
        return s();
      } finally {
        this.state.inDisallowConditionalTypesContext = r;
      }
    }
    tsEatThenParseType(s) {
      if (this.match(s))
        return this.tsNextThenParseType();
    }
    tsExpectThenParseType(s) {
      return this.tsInType(() => (this.expect(s), this.tsParseType()));
    }
    tsNextThenParseType() {
      return this.tsInType(() => (this.next(), this.tsParseType()));
    }
    tsParseEnumMember() {
      let s = this.startNode();
      return s.id = this.match(134) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(!0), this.eat(29) && (s.initializer =
      super.parseMaybeAssignAllowIn()), this.finishNode(s, "TSEnumMember");
    }
    tsParseEnumDeclaration(s, r = {}) {
      return r.const && (s.const = !0), r.declare && (s.declare = !0), this.expectContextual(126), s.id = this.parseIdentifier(), this.checkIdentifier(
      s.id, s.const ? 8971 : 8459), this.expect(5), s.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)),
      this.expect(8), this.finishNode(s, "TSEnumDeclaration");
    }
    tsParseEnumBody() {
      let s = this.startNode();
      return this.expect(5), s.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)), this.expect(8), this.finishNode(
      s, "TSEnumBody");
    }
    tsParseModuleBlock() {
      let s = this.startNode();
      return this.scope.enter(0), this.expect(5), super.parseBlockOrModuleBlockBody(s.body = [], void 0, !0, 8), this.scope.exit(), this.finishNode(
      s, "TSModuleBlock");
    }
    tsParseModuleOrNamespaceDeclaration(s, r = !1) {
      if (s.id = this.parseIdentifier(), r || this.checkIdentifier(s.id, 1024), this.eat(16)) {
        let i = this.startNode();
        this.tsParseModuleOrNamespaceDeclaration(i, !0), s.body = i;
      } else
        this.scope.enter(256), this.prodParam.enter(0), s.body = this.tsParseModuleBlock(), this.prodParam.exit(), this.scope.exit();
      return this.finishNode(s, "TSModuleDeclaration");
    }
    tsParseAmbientExternalModuleDeclaration(s) {
      return this.isContextual(112) ? (s.kind = "global", s.global = !0, s.id = this.parseIdentifier()) : this.match(134) ? (s.kind = "modul\
e", s.id = super.parseStringLiteral(this.state.value)) : this.unexpected(), this.match(5) ? (this.scope.enter(256), this.prodParam.enter(0),
      s.body = this.tsParseModuleBlock(), this.prodParam.exit(), this.scope.exit()) : this.semicolon(), this.finishNode(s, "TSModuleDeclarat\
ion");
    }
    tsParseImportEqualsDeclaration(s, r, i) {
      s.isExport = i || !1, s.id = r || this.parseIdentifier(), this.checkIdentifier(s.id, 4096), this.expect(29);
      let a = this.tsParseModuleReference();
      return s.importKind === "type" && a.type !== "TSExternalModuleReference" && this.raise(dt.ImportAliasHasImportType, a), s.moduleReference =
      a, this.semicolon(), this.finishNode(s, "TSImportEqualsDeclaration");
    }
    tsIsExternalModuleReference() {
      return this.isContextual(119) && this.lookaheadCharCode() === 40;
    }
    tsParseModuleReference() {
      return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(0);
    }
    tsParseExternalModuleReference() {
      let s = this.startNode();
      return this.expectContextual(119), this.expect(10), this.match(134) || this.unexpected(), s.expression = super.parseExprAtom(), this.expect(
      11), this.sawUnambiguousESM = !0, this.finishNode(s, "TSExternalModuleReference");
    }
    tsLookAhead(s) {
      let r = this.state.clone(), i = s();
      return this.state = r, i;
    }
    tsTryParseAndCatch(s) {
      let r = this.tryParse((i) => s() || i());
      if (!(r.aborted || !r.node))
        return r.error && (this.state = r.failState), r.node;
    }
    tsTryParse(s) {
      let r = this.state.clone(), i = s();
      if (i !== void 0 && i !== !1)
        return i;
      this.state = r;
    }
    tsTryParseDeclare(s) {
      if (this.isLineTerminator())
        return;
      let r = this.state.type, i;
      return this.isContextual(100) && (r = 74, i = "let"), this.tsInAmbientContext(() => {
        switch (r) {
          case 68:
            return s.declare = !0, super.parseFunctionStatement(s, !1, !1);
          case 80:
            return s.declare = !0, this.parseClass(s, !0, !1);
          case 126:
            return this.tsParseEnumDeclaration(s, {
              declare: !0
            });
          case 112:
            return this.tsParseAmbientExternalModuleDeclaration(s);
          case 75:
          case 74:
            return !this.match(75) || !this.isLookaheadContextual("enum") ? (s.declare = !0, this.parseVarStatement(s, i || this.state.value,
            !0)) : (this.expect(75), this.tsParseEnumDeclaration(s, {
              const: !0,
              declare: !0
            }));
          case 129: {
            let a = this.tsParseInterfaceDeclaration(s, {
              declare: !0
            });
            if (a) return a;
          }
          default:
            if (rr(r))
              return this.tsParseDeclaration(s, this.state.value, !0, null);
        }
      });
    }
    tsTryParseExportDeclaration() {
      return this.tsParseDeclaration(this.startNode(), this.state.value, !0, null);
    }
    tsParseExpressionStatement(s, r, i) {
      switch (r.name) {
        case "declare": {
          let a = this.tsTryParseDeclare(s);
          return a && (a.declare = !0), a;
        }
        case "global":
          if (this.match(5)) {
            this.scope.enter(256), this.prodParam.enter(0);
            let a = s;
            return a.kind = "global", s.global = !0, a.id = r, a.body = this.tsParseModuleBlock(), this.scope.exit(), this.prodParam.exit(),
            this.finishNode(a, "TSModuleDeclaration");
          }
          break;
        default:
          return this.tsParseDeclaration(s, r.name, !1, i);
      }
    }
    tsParseDeclaration(s, r, i, a) {
      switch (r) {
        case "abstract":
          if (this.tsCheckLineTerminator(i) && (this.match(80) || rr(this.state.type)))
            return this.tsParseAbstractDeclaration(s, a);
          break;
        case "module":
          if (this.tsCheckLineTerminator(i)) {
            if (this.match(134))
              return this.tsParseAmbientExternalModuleDeclaration(s);
            if (rr(this.state.type))
              return s.kind = "module", this.tsParseModuleOrNamespaceDeclaration(s);
          }
          break;
        case "namespace":
          if (this.tsCheckLineTerminator(i) && rr(this.state.type))
            return s.kind = "namespace", this.tsParseModuleOrNamespaceDeclaration(s);
          break;
        case "type":
          if (this.tsCheckLineTerminator(i) && rr(this.state.type))
            return this.tsParseTypeAliasDeclaration(s);
          break;
      }
    }
    tsCheckLineTerminator(s) {
      return s ? this.hasFollowingLineBreak() ? !1 : (this.next(), !0) : !this.isLineTerminator();
    }
    tsTryParseGenericAsyncArrowFunction(s) {
      if (!this.match(47)) return;
      let r = this.state.maybeInArrowParameters;
      this.state.maybeInArrowParameters = !0;
      let i = this.tsTryParseAndCatch(() => {
        let a = this.startNodeAt(s);
        return a.typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier), super.parseFunctionParams(a), a.returnType = this.tsTryParseTypeOrTypePredicateAnnotation(),
        this.expect(19), a;
      });
      if (this.state.maybeInArrowParameters = r, !!i)
        return super.parseArrowExpression(i, null, !0);
    }
    tsParseTypeArgumentsInExpression() {
      if (this.reScan_lt() === 47)
        return this.tsParseTypeArguments();
    }
    tsParseTypeArguments() {
      let s = this.startNode();
      return s.params = this.tsInType(() => this.tsInTopLevelContext(() => (this.expect(47), this.tsParseDelimitedList("TypeParametersOrArgu\
ments", this.tsParseType.bind(this))))), s.params.length === 0 ? this.raise(dt.EmptyTypeArguments, s) : !this.state.inType && this.curContext() ===
      sr.brace && this.reScan_lt_gt(), this.expect(48), this.finishNode(s, "TSTypeParameterInstantiation");
    }
    tsIsDeclarationStart() {
      return V3t(this.state.type);
    }
    isExportDefaultSpecifier() {
      return this.tsIsDeclarationStart() ? !1 : super.isExportDefaultSpecifier();
    }
    parseAssignableListItem(s, r) {
      let i = this.state.startLoc, a = {};
      this.tsParseModifiers({
        allowedModifiers: ["public", "private", "protected", "override", "readonly"]
      }, a);
      let o = a.accessibility, l = a.override, u = a.readonly;
      !(s & 4) && (o || u || l) && this.raise(dt.UnexpectedParameterModifier, i);
      let c = this.parseMaybeDefault();
      s & 2 && this.parseFunctionParamType(c);
      let p = this.parseMaybeDefault(c.loc.start, c);
      if (o || u || l) {
        let h = this.startNodeAt(i);
        return r.length && (h.decorators = r), o && (h.accessibility = o), u && (h.readonly = u), l && (h.override = l), p.type !== "Identif\
ier" && p.type !== "AssignmentPattern" && this.raise(dt.UnsupportedParameterPropertyKind, h), h.parameter = p, this.finishNode(h, "TSParamet\
erProperty");
      }
      return r.length && (c.decorators = r), p;
    }
    isSimpleParameter(s) {
      return s.type === "TSParameterProperty" && super.isSimpleParameter(s.parameter) || super.isSimpleParameter(s);
    }
    tsDisallowOptionalPattern(s) {
      for (let r of s.params)
        r.type !== "Identifier" && r.optional && !this.state.isAmbientContext && this.raise(dt.PatternIsOptional, r);
    }
    setArrowFunctionParameters(s, r, i) {
      super.setArrowFunctionParameters(s, r, i), this.tsDisallowOptionalPattern(s);
    }
    parseFunctionBodyAndFinish(s, r, i = !1) {
      this.match(14) && (s.returnType = this.tsParseTypeOrTypePredicateAnnotation(14));
      let a = r === "FunctionDeclaration" ? "TSDeclareFunction" : r === "ClassMethod" || r === "ClassPrivateMethod" ? "TSDeclareMethod" : void 0;
      return a && !this.match(5) && this.isLineTerminator() ? this.finishNode(s, a) : a === "TSDeclareFunction" && this.state.isAmbientContext &&
      (this.raise(dt.DeclareFunctionHasImplementation, s), s.declare) ? super.parseFunctionBodyAndFinish(s, a, i) : (this.tsDisallowOptionalPattern(
      s), super.parseFunctionBodyAndFinish(s, r, i));
    }
    registerFunctionStatementId(s) {
      !s.body && s.id ? this.checkIdentifier(s.id, 1024) : super.registerFunctionStatementId(s);
    }
    tsCheckForInvalidTypeCasts(s) {
      s.forEach((r) => {
        r?.type === "TSTypeCastExpression" && this.raise(dt.UnexpectedTypeAnnotation, r.typeAnnotation);
      });
    }
    toReferencedList(s, r) {
      return this.tsCheckForInvalidTypeCasts(s), s;
    }
    parseArrayLike(s, r, i, a) {
      let o = super.parseArrayLike(s, r, i, a);
      return o.type === "ArrayExpression" && this.tsCheckForInvalidTypeCasts(o.elements), o;
    }
    parseSubscript(s, r, i, a) {
      if (!this.hasPrecedingLineBreak() && this.match(35)) {
        this.state.canStartJSXElement = !1, this.next();
        let l = this.startNodeAt(r);
        return l.expression = s, this.finishNode(l, "TSNonNullExpression");
      }
      let o = !1;
      if (this.match(18) && this.lookaheadCharCode() === 60) {
        if (i)
          return a.stop = !0, s;
        a.optionalChainMember = o = !0, this.next();
      }
      if (this.match(47) || this.match(51)) {
        let l, u = this.tsTryParseAndCatch(() => {
          if (!i && this.atPossibleAsyncArrow(s)) {
            let f = this.tsTryParseGenericAsyncArrowFunction(r);
            if (f)
              return f;
          }
          let c = this.tsParseTypeArgumentsInExpression();
          if (!c) return;
          if (o && !this.match(10)) {
            l = this.state.curPosition();
            return;
          }
          if (HA(this.state.type)) {
            let f = super.parseTaggedTemplateExpression(s, r, a);
            return f.typeParameters = c, f;
          }
          if (!i && this.eat(10)) {
            let f = this.startNodeAt(r);
            return f.callee = s, f.arguments = this.parseCallExpressionArguments(11), this.tsCheckForInvalidTypeCasts(f.arguments), f.typeParameters =
            c, a.optionalChainMember && (f.optional = o), this.finishCallExpression(f, a.optionalChainMember);
          }
          let p = this.state.type;
          if (p === 48 || p === 52 || p !== 10 && u3(p) && !this.hasPrecedingLineBreak())
            return;
          let h = this.startNodeAt(r);
          return h.expression = s, h.typeParameters = c, this.finishNode(h, "TSInstantiationExpression");
        });
        if (l && this.unexpected(l, 10), u)
          return u.type === "TSInstantiationExpression" && (this.match(16) || this.match(18) && this.lookaheadCharCode() !== 40) && this.raise(
          dt.InvalidPropertyAccessAfterInstantiationExpression, this.state.startLoc), u;
      }
      return super.parseSubscript(s, r, i, a);
    }
    parseNewCallee(s) {
      var r;
      super.parseNewCallee(s);
      let {
        callee: i
      } = s;
      i.type === "TSInstantiationExpression" && !((r = i.extra) != null && r.parenthesized) && (s.typeParameters = i.typeParameters, s.callee =
      i.expression);
    }
    parseExprOp(s, r, i) {
      let a;
      if (VA(58) > i && !this.hasPrecedingLineBreak() && (this.isContextual(93) || (a = this.isContextual(120)))) {
        let o = this.startNodeAt(r);
        return o.expression = s, o.typeAnnotation = this.tsInType(() => (this.next(), this.match(75) ? (a && this.raise(te.UnexpectedKeyword,
        this.state.startLoc, {
          keyword: "const"
        }), this.tsParseTypeReference()) : this.tsParseType())), this.finishNode(o, a ? "TSSatisfiesExpression" : "TSAsExpression"), this.reScan_lt_gt(),
        this.parseExprOp(o, r, i);
      }
      return super.parseExprOp(s, r, i);
    }
    checkReservedWord(s, r, i, a) {
      this.state.isAmbientContext || super.checkReservedWord(s, r, i, a);
    }
    checkImportReflection(s) {
      super.checkImportReflection(s), s.module && s.importKind !== "value" && this.raise(dt.ImportReflectionHasImportType, s.specifiers[0].loc.
      start);
    }
    checkDuplicateExports() {
    }
    isPotentialImportPhase(s) {
      if (super.isPotentialImportPhase(s)) return !0;
      if (this.isContextual(130)) {
        let r = this.lookaheadCharCode();
        return s ? r === 123 || r === 42 : r !== 61;
      }
      return !s && this.isContextual(87);
    }
    applyImportPhase(s, r, i, a) {
      super.applyImportPhase(s, r, i, a), r ? s.exportKind = i === "type" ? "type" : "value" : s.importKind = i === "type" || i === "typeof" ?
      i : "value";
    }
    parseImport(s) {
      if (this.match(134))
        return s.importKind = "value", super.parseImport(s);
      let r;
      if (rr(this.state.type) && this.lookaheadCharCode() === 61)
        return s.importKind = "value", this.tsParseImportEqualsDeclaration(s);
      if (this.isContextual(130)) {
        let i = this.parseMaybeImportPhase(s, !1);
        if (this.lookaheadCharCode() === 61)
          return this.tsParseImportEqualsDeclaration(s, i);
        r = super.parseImportSpecifiersAndAfter(s, i);
      } else
        r = super.parseImport(s);
      return r.importKind === "type" && r.specifiers.length > 1 && r.specifiers[0].type === "ImportDefaultSpecifier" && this.raise(dt.TypeImportCannotSpecifyDefaultAndNamed,
      r), r;
    }
    parseExport(s, r) {
      if (this.match(83)) {
        let i = s;
        this.next();
        let a = null;
        return this.isContextual(130) && this.isPotentialImportPhase(!1) ? a = this.parseMaybeImportPhase(i, !1) : i.importKind = "value", this.
        tsParseImportEqualsDeclaration(i, a, !0);
      } else if (this.eat(29)) {
        let i = s;
        return i.expression = super.parseExpression(), this.semicolon(), this.sawUnambiguousESM = !0, this.finishNode(i, "TSExportAssignment");
      } else if (this.eatContextual(93)) {
        let i = s;
        return this.expectContextual(128), i.id = this.parseIdentifier(), this.semicolon(), this.finishNode(i, "TSNamespaceExportDeclaration");
      } else
        return super.parseExport(s, r);
    }
    isAbstractClass() {
      return this.isContextual(124) && this.lookahead().type === 80;
    }
    parseExportDefaultExpression() {
      if (this.isAbstractClass()) {
        let s = this.startNode();
        return this.next(), s.abstract = !0, this.parseClass(s, !0, !0);
      }
      if (this.match(129)) {
        let s = this.tsParseInterfaceDeclaration(this.startNode());
        if (s) return s;
      }
      return super.parseExportDefaultExpression();
    }
    parseVarStatement(s, r, i = !1) {
      let {
        isAmbientContext: a
      } = this.state, o = super.parseVarStatement(s, r, i || a);
      if (!a) return o;
      for (let {
        id: l,
        init: u
      } of o.declarations)
        u && (r !== "const" || l.typeAnnotation ? this.raise(dt.InitializerNotAllowedInAmbientContext, u) : C4t(u, this.hasPlugin("estree")) ||
        this.raise(dt.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference, u));
      return o;
    }
    parseStatementContent(s, r) {
      if (this.match(75) && this.isLookaheadContextual("enum")) {
        let i = this.startNode();
        return this.expect(75), this.tsParseEnumDeclaration(i, {
          const: !0
        });
      }
      if (this.isContextual(126))
        return this.tsParseEnumDeclaration(this.startNode());
      if (this.isContextual(129)) {
        let i = this.tsParseInterfaceDeclaration(this.startNode());
        if (i) return i;
      }
      return super.parseStatementContent(s, r);
    }
    parseAccessModifier() {
      return this.tsParseModifier(["public", "protected", "private"]);
    }
    tsHasSomeModifiers(s, r) {
      return r.some((i) => moe(i) ? s.accessibility === i : !!s[i]);
    }
    tsIsStartOfStaticBlocks() {
      return this.isContextual(106) && this.lookaheadCharCode() === 123;
    }
    parseClassMember(s, r, i) {
      let a = ["declare", "private", "public", "protected", "override", "abstract", "readonly", "static"];
      this.tsParseModifiers({
        allowedModifiers: a,
        disallowedModifiers: ["in", "out"],
        stopOnStartOfClassStaticBlock: !0,
        errorTemplate: dt.InvalidModifierOnTypeParameterPositions
      }, r);
      let o = /* @__PURE__ */ n(() => {
        this.tsIsStartOfStaticBlocks() ? (this.next(), this.next(), this.tsHasSomeModifiers(r, a) && this.raise(dt.StaticBlockCannotHaveModifier,
        this.state.curPosition()), super.parseClassStaticBlock(s, r)) : this.parseClassMemberWithIsStatic(s, r, i, !!r.static);
      }, "callParseClassMemberWithIsStatic");
      r.declare ? this.tsInAmbientContext(o) : o();
    }
    parseClassMemberWithIsStatic(s, r, i, a) {
      let o = this.tsTryParseIndexSignature(r);
      if (o) {
        s.body.push(o), r.abstract && this.raise(dt.IndexSignatureHasAbstract, r), r.accessibility && this.raise(dt.IndexSignatureHasAccessibility,
        r, {
          modifier: r.accessibility
        }), r.declare && this.raise(dt.IndexSignatureHasDeclare, r), r.override && this.raise(dt.IndexSignatureHasOverride, r);
        return;
      }
      !this.state.inAbstractClass && r.abstract && this.raise(dt.NonAbstractClassHasAbstractMethod, r), r.override && (i.hadSuperClass || this.
      raise(dt.OverrideNotInSubClass, r)), super.parseClassMemberWithIsStatic(s, r, i, a);
    }
    parsePostMemberNameModifiers(s) {
      this.eat(17) && (s.optional = !0), s.readonly && this.match(10) && this.raise(dt.ClassMethodHasReadonly, s), s.declare && this.match(10) &&
      this.raise(dt.ClassMethodHasDeclare, s);
    }
    parseExpressionStatement(s, r, i) {
      return (r.type === "Identifier" ? this.tsParseExpressionStatement(s, r, i) : void 0) || super.parseExpressionStatement(s, r, i);
    }
    shouldParseExportDeclaration() {
      return this.tsIsDeclarationStart() ? !0 : super.shouldParseExportDeclaration();
    }
    parseConditional(s, r, i) {
      if (!this.state.maybeInArrowParameters || !this.match(17))
        return super.parseConditional(s, r, i);
      let a = this.tryParse(() => super.parseConditional(s, r));
      return a.node ? (a.error && (this.state = a.failState), a.node) : (a.error && super.setOptionalParametersError(i, a.error), s);
    }
    parseParenItem(s, r) {
      let i = super.parseParenItem(s, r);
      if (this.eat(17) && (i.optional = !0, this.resetEndLocation(s)), this.match(14)) {
        let a = this.startNodeAt(r);
        return a.expression = s, a.typeAnnotation = this.tsParseTypeAnnotation(), this.finishNode(a, "TSTypeCastExpression");
      }
      return s;
    }
    parseExportDeclaration(s) {
      if (!this.state.isAmbientContext && this.isContextual(125))
        return this.tsInAmbientContext(() => this.parseExportDeclaration(s));
      let r = this.state.startLoc, i = this.eatContextual(125);
      if (i && (this.isContextual(125) || !this.shouldParseExportDeclaration()))
        throw this.raise(dt.ExpectedAmbientAfterExportDeclare, this.state.startLoc);
      let o = rr(this.state.type) && this.tsTryParseExportDeclaration() || super.parseExportDeclaration(s);
      return o ? ((o.type === "TSInterfaceDeclaration" || o.type === "TSTypeAliasDeclaration" || i) && (s.exportKind = "type"), i && o.type !==
      "TSImportEqualsDeclaration" && (this.resetStartLocation(o, r), o.declare = !0), o) : null;
    }
    parseClassId(s, r, i, a) {
      if ((!r || i) && this.isContextual(113))
        return;
      super.parseClassId(s, r, i, s.declare ? 1024 : 8331);
      let o = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);
      o && (s.typeParameters = o);
    }
    parseClassPropertyAnnotation(s) {
      s.optional || (this.eat(35) ? s.definite = !0 : this.eat(17) && (s.optional = !0));
      let r = this.tsTryParseTypeAnnotation();
      r && (s.typeAnnotation = r);
    }
    parseClassProperty(s) {
      if (this.parseClassPropertyAnnotation(s), this.state.isAmbientContext && !(s.readonly && !s.typeAnnotation) && this.match(29) && this.
      raise(dt.DeclareClassFieldHasInitializer, this.state.startLoc), s.abstract && this.match(29)) {
        let {
          key: r
        } = s;
        this.raise(dt.AbstractPropertyHasInitializer, this.state.startLoc, {
          propertyName: r.type === "Identifier" && !s.computed ? r.name : `[${this.input.slice(this.offsetToSourcePos(r.start), this.offsetToSourcePos(
          r.end))}]`
        });
      }
      return super.parseClassProperty(s);
    }
    parseClassPrivateProperty(s) {
      return s.abstract && this.raise(dt.PrivateElementHasAbstract, s), s.accessibility && this.raise(dt.PrivateElementHasAccessibility, s, {
        modifier: s.accessibility
      }), this.parseClassPropertyAnnotation(s), super.parseClassPrivateProperty(s);
    }
    parseClassAccessorProperty(s) {
      return this.parseClassPropertyAnnotation(s), s.optional && this.raise(dt.AccessorCannotBeOptional, s), super.parseClassAccessorProperty(
      s);
    }
    pushClassMethod(s, r, i, a, o, l) {
      let u = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      u && o && this.raise(dt.ConstructorHasTypeParameters, u);
      let {
        declare: c = !1,
        kind: p
      } = r;
      c && (p === "get" || p === "set") && this.raise(dt.DeclareAccessor, r, {
        kind: p
      }), u && (r.typeParameters = u), super.pushClassMethod(s, r, i, a, o, l);
    }
    pushClassPrivateMethod(s, r, i, a) {
      let o = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      o && (r.typeParameters = o), super.pushClassPrivateMethod(s, r, i, a);
    }
    declareClassPrivateMethodInScope(s, r) {
      s.type !== "TSDeclareMethod" && (s.type === "MethodDefinition" && !hasOwnProperty.call(s.value, "body") || super.declareClassPrivateMethodInScope(
      s, r));
    }
    parseClassSuper(s) {
      super.parseClassSuper(s), s.superClass && (this.match(47) || this.match(51)) && (s.superTypeParameters = this.tsParseTypeArgumentsInExpression()),
      this.eatContextual(113) && (s.implements = this.tsParseHeritageClause("implements"));
    }
    parseObjPropValue(s, r, i, a, o, l, u) {
      let c = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      return c && (s.typeParameters = c), super.parseObjPropValue(s, r, i, a, o, l, u);
    }
    parseFunctionParams(s, r) {
      let i = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      i && (s.typeParameters = i), super.parseFunctionParams(s, r);
    }
    parseVarId(s, r) {
      super.parseVarId(s, r), s.id.type === "Identifier" && !this.hasPrecedingLineBreak() && this.eat(35) && (s.definite = !0);
      let i = this.tsTryParseTypeAnnotation();
      i && (s.id.typeAnnotation = i, this.resetEndLocation(s.id));
    }
    parseAsyncArrowFromCallExpression(s, r) {
      return this.match(14) && (s.returnType = this.tsParseTypeAnnotation()), super.parseAsyncArrowFromCallExpression(s, r);
    }
    parseMaybeAssign(s, r) {
      var i, a, o, l, u;
      let c, p, h;
      if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) {
        if (c = this.state.clone(), p = this.tryParse(() => super.parseMaybeAssign(s, r), c), !p.error) return p.node;
        let {
          context: m
        } = this.state, y = m[m.length - 1];
        (y === sr.j_oTag || y === sr.j_expr) && m.pop();
      }
      if (!((i = p) != null && i.error) && !this.match(47))
        return super.parseMaybeAssign(s, r);
      (!c || c === this.state) && (c = this.state.clone());
      let f, d = this.tryParse((m) => {
        var y, T;
        f = this.tsParseTypeParameters(this.tsParseConstModifier);
        let b = super.parseMaybeAssign(s, r);
        return (b.type !== "ArrowFunctionExpression" || (y = b.extra) != null && y.parenthesized) && m(), ((T = f) == null ? void 0 : T.params.
        length) !== 0 && this.resetStartLocationFromNode(b, f), b.typeParameters = f, b;
      }, c);
      if (!d.error && !d.aborted)
        return f && this.reportReservedArrowTypeParam(f), d.node;
      if (!p && (doe(!this.hasPlugin("jsx")), h = this.tryParse(() => super.parseMaybeAssign(s, r), c), !h.error))
        return h.node;
      if ((a = p) != null && a.node)
        return this.state = p.failState, p.node;
      if (d.node)
        return this.state = d.failState, f && this.reportReservedArrowTypeParam(f), d.node;
      if ((o = h) != null && o.node)
        return this.state = h.failState, h.node;
      throw ((l = p) == null ? void 0 : l.error) || d.error || ((u = h) == null ? void 0 : u.error);
    }
    reportReservedArrowTypeParam(s) {
      var r;
      s.params.length === 1 && !s.params[0].constraint && !((r = s.extra) != null && r.trailingComma) && this.getPluginOption("typescript", "\
disallowAmbiguousJSXLike") && this.raise(dt.ReservedArrowTypeParam, s);
    }
    parseMaybeUnary(s, r) {
      return !this.hasPlugin("jsx") && this.match(47) ? this.tsParseTypeAssertion() : super.parseMaybeUnary(s, r);
    }
    parseArrow(s) {
      if (this.match(14)) {
        let r = this.tryParse((i) => {
          let a = this.tsParseTypeOrTypePredicateAnnotation(14);
          return (this.canInsertSemicolon() || !this.match(19)) && i(), a;
        });
        if (r.aborted) return;
        r.thrown || (r.error && (this.state = r.failState), s.returnType = r.node);
      }
      return super.parseArrow(s);
    }
    parseFunctionParamType(s) {
      this.eat(17) && (s.optional = !0);
      let r = this.tsTryParseTypeAnnotation();
      return r && (s.typeAnnotation = r), this.resetEndLocation(s), s;
    }
    isAssignable(s, r) {
      switch (s.type) {
        case "TSTypeCastExpression":
          return this.isAssignable(s.expression, r);
        case "TSParameterProperty":
          return !0;
        default:
          return super.isAssignable(s, r);
      }
    }
    toAssignable(s, r = !1) {
      switch (s.type) {
        case "ParenthesizedExpression":
          this.toAssignableParenthesizedExpression(s, r);
          break;
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSNonNullExpression":
        case "TSTypeAssertion":
          r ? this.expressionScope.recordArrowParameterBindingError(dt.UnexpectedTypeCastInParameter, s) : this.raise(dt.UnexpectedTypeCastInParameter,
          s), this.toAssignable(s.expression, r);
          break;
        case "AssignmentExpression":
          !r && s.left.type === "TSTypeCastExpression" && (s.left = this.typeCastToParameter(s.left));
        default:
          super.toAssignable(s, r);
      }
    }
    toAssignableParenthesizedExpression(s, r) {
      switch (s.expression.type) {
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSNonNullExpression":
        case "TSTypeAssertion":
        case "ParenthesizedExpression":
          this.toAssignable(s.expression, r);
          break;
        default:
          super.toAssignable(s, r);
      }
    }
    checkToRestConversion(s, r) {
      switch (s.type) {
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSTypeAssertion":
        case "TSNonNullExpression":
          this.checkToRestConversion(s.expression, !1);
          break;
        default:
          super.checkToRestConversion(s, r);
      }
    }
    isValidLVal(s, r, i) {
      switch (s) {
        case "TSTypeCastExpression":
          return !0;
        case "TSParameterProperty":
          return "parameter";
        case "TSNonNullExpression":
        case "TSInstantiationExpression":
          return "expression";
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSTypeAssertion":
          return (i !== 64 || !r) && ["expression", !0];
        default:
          return super.isValidLVal(s, r, i);
      }
    }
    parseBindingAtom() {
      return this.state.type === 78 ? this.parseIdentifier(!0) : super.parseBindingAtom();
    }
    parseMaybeDecoratorArguments(s, r) {
      if (this.match(47) || this.match(51)) {
        let i = this.tsParseTypeArgumentsInExpression();
        if (this.match(10)) {
          let a = super.parseMaybeDecoratorArguments(s, r);
          return a.typeParameters = i, a;
        }
        this.unexpected(null, 10);
      }
      return super.parseMaybeDecoratorArguments(s, r);
    }
    checkCommaAfterRest(s) {
      return this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === s ? (this.next(), !1) : super.checkCommaAfterRest(
      s);
    }
    isClassMethod() {
      return this.match(47) || super.isClassMethod();
    }
    isClassProperty() {
      return this.match(35) || this.match(14) || super.isClassProperty();
    }
    parseMaybeDefault(s, r) {
      let i = super.parseMaybeDefault(s, r);
      return i.type === "AssignmentPattern" && i.typeAnnotation && i.right.start < i.typeAnnotation.start && this.raise(dt.TypeAnnotationAfterAssign,
      i.typeAnnotation), i;
    }
    getTokenFromCode(s) {
      if (this.state.inType) {
        if (s === 62) {
          this.finishOp(48, 1);
          return;
        }
        if (s === 60) {
          this.finishOp(47, 1);
          return;
        }
      }
      super.getTokenFromCode(s);
    }
    reScan_lt_gt() {
      let {
        type: s
      } = this.state;
      s === 47 ? (this.state.pos -= 1, this.readToken_lt()) : s === 48 && (this.state.pos -= 1, this.readToken_gt());
    }
    reScan_lt() {
      let {
        type: s
      } = this.state;
      return s === 51 ? (this.state.pos -= 2, this.finishOp(47, 1), 47) : s;
    }
    toAssignableList(s, r, i) {
      for (let a = 0; a < s.length; a++) {
        let o = s[a];
        o?.type === "TSTypeCastExpression" && (s[a] = this.typeCastToParameter(o));
      }
      super.toAssignableList(s, r, i);
    }
    typeCastToParameter(s) {
      return s.expression.typeAnnotation = s.typeAnnotation, this.resetEndLocation(s.expression, s.typeAnnotation.loc.end), s.expression;
    }
    shouldParseArrow(s) {
      return this.match(14) ? s.every((r) => this.isAssignable(r, !0)) : super.shouldParseArrow(s);
    }
    shouldParseAsyncArrow() {
      return this.match(14) || super.shouldParseAsyncArrow();
    }
    canHaveLeadingDecorator() {
      return super.canHaveLeadingDecorator() || this.isAbstractClass();
    }
    jsxParseOpeningElementAfterName(s) {
      if (this.match(47) || this.match(51)) {
        let r = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression());
        r && (s.typeParameters = r);
      }
      return super.jsxParseOpeningElementAfterName(s);
    }
    getGetterSetterExpectedParamCount(s) {
      let r = super.getGetterSetterExpectedParamCount(s), a = this.getObjectOrClassMethodParams(s)[0];
      return a && this.isThisParam(a) ? r + 1 : r;
    }
    parseCatchClauseParam() {
      let s = super.parseCatchClauseParam(), r = this.tsTryParseTypeAnnotation();
      return r && (s.typeAnnotation = r, this.resetEndLocation(s)), s;
    }
    tsInAmbientContext(s) {
      let {
        isAmbientContext: r,
        strict: i
      } = this.state;
      this.state.isAmbientContext = !0, this.state.strict = !1;
      try {
        return s();
      } finally {
        this.state.isAmbientContext = r, this.state.strict = i;
      }
    }
    parseClass(s, r, i) {
      let a = this.state.inAbstractClass;
      this.state.inAbstractClass = !!s.abstract;
      try {
        return super.parseClass(s, r, i);
      } finally {
        this.state.inAbstractClass = a;
      }
    }
    tsParseAbstractDeclaration(s, r) {
      if (this.match(80))
        return s.abstract = !0, this.maybeTakeDecorators(r, this.parseClass(s, !0, !1));
      if (this.isContextual(129)) {
        if (!this.hasFollowingLineBreak())
          return s.abstract = !0, this.raise(dt.NonClassMethodPropertyHasAbstractModifer, s), this.tsParseInterfaceDeclaration(s);
      } else
        this.unexpected(null, 80);
    }
    parseMethod(s, r, i, a, o, l, u) {
      let c = super.parseMethod(s, r, i, a, o, l, u);
      if (c.abstract && (this.hasPlugin("estree") ? c.value : c).body) {
        let {
          key: f
        } = c;
        this.raise(dt.AbstractMethodHasImplementation, c, {
          methodName: f.type === "Identifier" && !c.computed ? f.name : `[${this.input.slice(this.offsetToSourcePos(f.start), this.offsetToSourcePos(
          f.end))}]`
        });
      }
      return c;
    }
    tsParseTypeParameterName() {
      return this.parseIdentifier().name;
    }
    shouldParseAsAmbientContext() {
      return !!this.getPluginOption("typescript", "dts");
    }
    parse() {
      return this.shouldParseAsAmbientContext() && (this.state.isAmbientContext = !0), super.parse();
    }
    getExpression() {
      return this.shouldParseAsAmbientContext() && (this.state.isAmbientContext = !0), super.getExpression();
    }
    parseExportSpecifier(s, r, i, a) {
      return !r && a ? (this.parseTypeOnlyImportExportSpecifier(s, !1, i), this.finishNode(s, "ExportSpecifier")) : (s.exportKind = "value",
      super.parseExportSpecifier(s, r, i, a));
    }
    parseImportSpecifier(s, r, i, a, o) {
      return !r && a ? (this.parseTypeOnlyImportExportSpecifier(s, !0, i), this.finishNode(s, "ImportSpecifier")) : (s.importKind = "value",
      super.parseImportSpecifier(s, r, i, a, i ? 4098 : 4096));
    }
    parseTypeOnlyImportExportSpecifier(s, r, i) {
      let a = r ? "imported" : "local", o = r ? "local" : "exported", l = s[a], u, c = !1, p = !0, h = l.loc.start;
      if (this.isContextual(93)) {
        let d = this.parseIdentifier();
        if (this.isContextual(93)) {
          let m = this.parseIdentifier();
          Bo(this.state.type) ? (c = !0, l = d, u = r ? this.parseIdentifier() : this.parseModuleExportName(), p = !1) : (u = m, p = !1);
        } else Bo(this.state.type) ? (p = !1, u = r ? this.parseIdentifier() : this.parseModuleExportName()) : (c = !0, l = d);
      } else Bo(this.state.type) && (c = !0, r ? (l = this.parseIdentifier(!0), this.isContextual(93) || this.checkReservedWord(l.name, l.loc.
      start, !0, !0)) : l = this.parseModuleExportName());
      c && i && this.raise(r ? dt.TypeModifierIsUsedInTypeImports : dt.TypeModifierIsUsedInTypeExports, h), s[a] = l, s[o] = u;
      let f = r ? "importKind" : "exportKind";
      s[f] = c ? "type" : "value", p && this.eatContextual(93) && (s[o] = r ? this.parseIdentifier() : this.parseModuleExportName()), s[o] ||
      (s[o] = Yu(s[a])), r && this.checkIdentifier(s[o], c ? 4098 : 4096);
    }
  }, "typescript");
  function v4t(t) {
    if (t.type !== "MemberExpression") return !1;
    let {
      computed: e,
      property: s
    } = t;
    return e && s.type !== "StringLiteral" && (s.type !== "TemplateLiteral" || s.expressions.length > 0) ? !1 : _oe(t.object);
  }
  n(v4t, "isPossiblyLiteralEnum");
  function C4t(t, e) {
    var s;
    let {
      type: r
    } = t;
    if ((s = t.extra) != null && s.parenthesized)
      return !1;
    if (e) {
      if (r === "Literal") {
        let {
          value: i
        } = t;
        if (typeof i == "string" || typeof i == "boolean")
          return !0;
      }
    } else if (r === "StringLiteral" || r === "BooleanLiteral")
      return !0;
    return !!(Ooe(t, e) || w4t(t, e) || r === "TemplateLiteral" && t.expressions.length === 0 || v4t(t));
  }
  n(C4t, "isValidAmbientConstInitializer");
  function Ooe(t, e) {
    return e ? t.type === "Literal" && (typeof t.value == "number" || "bigint" in t) : t.type === "NumericLiteral" || t.type === "BigIntLite\
ral";
  }
  n(Ooe, "isNumber");
  function w4t(t, e) {
    if (t.type === "UnaryExpression") {
      let {
        operator: s,
        argument: r
      } = t;
      if (s === "-" && Ooe(r, e))
        return !0;
    }
    return !1;
  }
  n(w4t, "isNegativeNumber");
  function _oe(t) {
    return t.type === "Identifier" ? !0 : t.type !== "MemberExpression" || t.computed ? !1 : _oe(t.object);
  }
  n(_oe, "isUncomputedMemberExpressionChain");
  var yoe = Ju`placeholders`({
    ClassNameIsRequired: "A class name is required.",
    UnexpectedSpace: "Unexpected space in placeholder."
  }), I4t = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "PlaceholdersParserMixin");
    }
    parsePlaceholder(s) {
      if (this.match(133)) {
        let r = this.startNode();
        return this.next(), this.assertNoSpace(), r.name = super.parseIdentifier(!0), this.assertNoSpace(), this.expect(133), this.finishPlaceholder(
        r, s);
      }
    }
    finishPlaceholder(s, r) {
      let i = s;
      return (!i.expectedNode || !i.type) && (i = this.finishNode(i, "Placeholder")), i.expectedNode = r, i;
    }
    getTokenFromCode(s) {
      s === 37 && this.input.charCodeAt(this.state.pos + 1) === 37 ? this.finishOp(133, 2) : super.getTokenFromCode(s);
    }
    parseExprAtom(s) {
      return this.parsePlaceholder("Expression") || super.parseExprAtom(s);
    }
    parseIdentifier(s) {
      return this.parsePlaceholder("Identifier") || super.parseIdentifier(s);
    }
    checkReservedWord(s, r, i, a) {
      s !== void 0 && super.checkReservedWord(s, r, i, a);
    }
    parseBindingAtom() {
      return this.parsePlaceholder("Pattern") || super.parseBindingAtom();
    }
    isValidLVal(s, r, i) {
      return s === "Placeholder" || super.isValidLVal(s, r, i);
    }
    toAssignable(s, r) {
      s && s.type === "Placeholder" && s.expectedNode === "Expression" ? s.expectedNode = "Pattern" : super.toAssignable(s, r);
    }
    chStartsBindingIdentifier(s, r) {
      return !!(super.chStartsBindingIdentifier(s, r) || this.lookahead().type === 133);
    }
    verifyBreakContinue(s, r) {
      s.label && s.label.type === "Placeholder" || super.verifyBreakContinue(s, r);
    }
    parseExpressionStatement(s, r) {
      var i;
      if (r.type !== "Placeholder" || (i = r.extra) != null && i.parenthesized)
        return super.parseExpressionStatement(s, r);
      if (this.match(14)) {
        let o = s;
        return o.label = this.finishPlaceholder(r, "Identifier"), this.next(), o.body = super.parseStatementOrSloppyAnnexBFunctionDeclaration(),
        this.finishNode(o, "LabeledStatement");
      }
      this.semicolon();
      let a = s;
      return a.name = r.name, this.finishPlaceholder(a, "Statement");
    }
    parseBlock(s, r, i) {
      return this.parsePlaceholder("BlockStatement") || super.parseBlock(s, r, i);
    }
    parseFunctionId(s) {
      return this.parsePlaceholder("Identifier") || super.parseFunctionId(s);
    }
    parseClass(s, r, i) {
      let a = r ? "ClassDeclaration" : "ClassExpression";
      this.next();
      let o = this.state.strict, l = this.parsePlaceholder("Identifier");
      if (l)
        if (this.match(81) || this.match(133) || this.match(5))
          s.id = l;
        else {
          if (i || !r)
            return s.id = null, s.body = this.finishPlaceholder(l, "ClassBody"), this.finishNode(s, a);
          throw this.raise(yoe.ClassNameIsRequired, this.state.startLoc);
        }
      else
        this.parseClassId(s, r, i);
      return super.parseClassSuper(s), s.body = this.parsePlaceholder("ClassBody") || super.parseClassBody(!!s.superClass, o), this.finishNode(
      s, a);
    }
    parseExport(s, r) {
      let i = this.parsePlaceholder("Identifier");
      if (!i) return super.parseExport(s, r);
      let a = s;
      if (!this.isContextual(98) && !this.match(12))
        return a.specifiers = [], a.source = null, a.declaration = this.finishPlaceholder(i, "Declaration"), this.finishNode(a, "ExportNamed\
Declaration");
      this.expectPlugin("exportDefaultFrom");
      let o = this.startNode();
      return o.exported = i, a.specifiers = [this.finishNode(o, "ExportDefaultSpecifier")], super.parseExport(a, r);
    }
    isExportDefaultSpecifier() {
      if (this.match(65)) {
        let s = this.nextTokenStart();
        if (this.isUnparsedContextual(s, "from") && this.input.startsWith(Cp(133), this.nextTokenStartSince(s + 4)))
          return !0;
      }
      return super.isExportDefaultSpecifier();
    }
    maybeParseExportDefaultSpecifier(s, r) {
      var i;
      return (i = s.specifiers) != null && i.length ? !0 : super.maybeParseExportDefaultSpecifier(s, r);
    }
    checkExport(s) {
      let {
        specifiers: r
      } = s;
      r != null && r.length && (s.specifiers = r.filter((i) => i.exported.type === "Placeholder")), super.checkExport(s), s.specifiers = r;
    }
    parseImport(s) {
      let r = this.parsePlaceholder("Identifier");
      if (!r) return super.parseImport(s);
      if (s.specifiers = [], !this.isContextual(98) && !this.match(12))
        return s.source = this.finishPlaceholder(r, "StringLiteral"), this.semicolon(), this.finishNode(s, "ImportDeclaration");
      let i = this.startNodeAtNode(r);
      return i.local = r, s.specifiers.push(this.finishNode(i, "ImportDefaultSpecifier")), this.eat(12) && (this.maybeParseStarImportSpecifier(
      s) || this.parseNamedImportSpecifiers(s)), this.expectContextual(98), s.source = this.parseImportSource(), this.semicolon(), this.finishNode(
      s, "ImportDeclaration");
    }
    parseImportSource() {
      return this.parsePlaceholder("StringLiteral") || super.parseImportSource();
    }
    assertNoSpace() {
      this.state.start > this.offsetToSourcePos(this.state.lastTokEndLoc.index) && this.raise(yoe.UnexpectedSpace, this.state.lastTokEndLoc);
    }
  }, "placeholders"), N4t = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "V8IntrinsicMixin");
    }
    parseV8Intrinsic() {
      if (this.match(54)) {
        let s = this.state.startLoc, r = this.startNode();
        if (this.next(), rr(this.state.type)) {
          let i = this.parseIdentifierName(), a = this.createIdentifier(r, i);
          if (a.type = "V8IntrinsicIdentifier", this.match(10))
            return a;
        }
        this.unexpected(s);
      }
    }
    parseExprAtom(s) {
      return this.parseV8Intrinsic() || super.parseExprAtom(s);
    }
  }, "v8intrinsic"), goe = ["minimal", "fsharp", "hack", "smart"], Toe = ["^^", "@@", "^", "%", "#"];
  function k4t(t) {
    if (t.has("decorators")) {
      if (t.has("decorators-legacy"))
        throw new Error("Cannot use the decorators and decorators-legacy plugin together");
      let s = t.get("decorators").decoratorsBeforeExport;
      if (s != null && typeof s != "boolean")
        throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");
      let r = t.get("decorators").allowCallParenthesized;
      if (r != null && typeof r != "boolean")
        throw new Error("'allowCallParenthesized' must be a boolean.");
    }
    if (t.has("flow") && t.has("typescript"))
      throw new Error("Cannot combine flow and typescript plugins.");
    if (t.has("placeholders") && t.has("v8intrinsic"))
      throw new Error("Cannot combine placeholders and v8intrinsic plugins.");
    if (t.has("pipelineOperator")) {
      var e;
      let s = t.get("pipelineOperator").proposal;
      if (!goe.includes(s)) {
        let i = goe.map((a) => `"${a}"`).join(", ");
        throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${i}.`);
      }
      let r = ((e = t.get("recordAndTuple")) == null ? void 0 : e.syntaxType) === "hash";
      if (s === "hack") {
        if (t.has("placeholders"))
          throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");
        if (t.has("v8intrinsic"))
          throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");
        let i = t.get("pipelineOperator").topicToken;
        if (!Toe.includes(i)) {
          let a = Toe.map((o) => `"${o}"`).join(", ");
          throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${a}\
.`);
        }
        if (i === "#" && r)
          throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "hack", topicToken: "#" }]\` and \`${JSON.stringify(["\
recordAndTuple", t.get("recordAndTuple")])}\`.`);
      } else if (s === "smart" && r)
        throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "smart" }]\` and \`${JSON.stringify(["recordAndTuple", t.
        get("recordAndTuple")])}\`.`);
    }
    if (t.has("moduleAttributes")) {
      if (t.has("deprecatedImportAssert") || t.has("importAssertions"))
        throw new Error("Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins.");
      if (t.get("moduleAttributes").version !== "may-2020")
        throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the on\
ly supported value is 'may-2020'.");
    }
    if (t.has("importAssertions") && t.has("deprecatedImportAssert"))
      throw new Error("Cannot combine importAssertions and deprecatedImportAssert plugins.");
    if (!t.has("deprecatedImportAssert") && t.has("importAttributes") && t.get("importAttributes").deprecatedAssertSyntax && t.set("deprecat\
edImportAssert", {}), t.has("recordAndTuple")) {
      let s = t.get("recordAndTuple").syntaxType;
      if (s != null) {
        let r = ["hash", "bar"];
        if (!r.includes(s))
          throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: " + r.map((i) => `'${i}'`).join(", "));
      }
    }
    if (t.has("asyncDoExpressions") && !t.has("doExpressions")) {
      let s = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");
      throw s.missingPlugins = "doExpressions", s;
    }
    if (t.has("optionalChainingAssign") && t.get("optionalChainingAssign").version !== "2023-07")
      throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, th\
e only supported value is '2023-07'.");
  }
  n(k4t, "validatePlugins");
  var Loe = {
    estree: O3t,
    jsx: x4t,
    flow: T4t,
    typescript: A4t,
    v8intrinsic: N4t,
    placeholders: I4t
  }, D4t = Object.keys(Loe), w3 = class extends C3 {
    static {
      n(this, "ExpressionParser");
    }
    checkProto(e, s, r, i) {
      if (e.type === "SpreadElement" || this.isObjectMethod(e) || e.computed || e.shorthand)
        return;
      let a = e.key;
      if ((a.type === "Identifier" ? a.name : a.value) === "__proto__") {
        if (s) {
          this.raise(te.RecordNoProto, a);
          return;
        }
        r.used && (i ? i.doubleProtoLoc === null && (i.doubleProtoLoc = a.loc.start) : this.raise(te.DuplicateProto, a)), r.used = !0;
      }
    }
    shouldExitDescending(e, s) {
      return e.type === "ArrowFunctionExpression" && this.offsetToSourcePos(e.start) === s;
    }
    getExpression() {
      this.enterInitialScopes(), this.nextToken();
      let e = this.parseExpression();
      return this.match(140) || this.unexpected(), this.finalizeRemainingComments(), e.comments = this.comments, e.errors = this.state.errors,
      this.optionFlags & 128 && (e.tokens = this.tokens), e;
    }
    parseExpression(e, s) {
      return e ? this.disallowInAnd(() => this.parseExpressionBase(s)) : this.allowInAnd(() => this.parseExpressionBase(s));
    }
    parseExpressionBase(e) {
      let s = this.state.startLoc, r = this.parseMaybeAssign(e);
      if (this.match(12)) {
        let i = this.startNodeAt(s);
        for (i.expressions = [r]; this.eat(12); )
          i.expressions.push(this.parseMaybeAssign(e));
        return this.toReferencedList(i.expressions), this.finishNode(i, "SequenceExpression");
      }
      return r;
    }
    parseMaybeAssignDisallowIn(e, s) {
      return this.disallowInAnd(() => this.parseMaybeAssign(e, s));
    }
    parseMaybeAssignAllowIn(e, s) {
      return this.allowInAnd(() => this.parseMaybeAssign(e, s));
    }
    setOptionalParametersError(e, s) {
      var r;
      e.optionalParametersLoc = (r = s?.loc) != null ? r : this.state.startLoc;
    }
    parseMaybeAssign(e, s) {
      let r = this.state.startLoc;
      if (this.isContextual(108) && this.prodParam.hasYield) {
        let l = this.parseYield();
        return s && (l = s.call(this, l, r)), l;
      }
      let i;
      e ? i = !1 : (e = new qm(), i = !0);
      let {
        type: a
      } = this.state;
      (a === 10 || rr(a)) && (this.state.potentialArrowAt = this.state.start);
      let o = this.parseMaybeConditional(e);
      if (s && (o = s.call(this, o, r)), F3t(this.state.type)) {
        let l = this.startNodeAt(r), u = this.state.value;
        if (l.operator = u, this.match(29)) {
          this.toAssignable(o, !0), l.left = o;
          let c = r.index;
          e.doubleProtoLoc != null && e.doubleProtoLoc.index >= c && (e.doubleProtoLoc = null), e.shorthandAssignLoc != null && e.shorthandAssignLoc.
          index >= c && (e.shorthandAssignLoc = null), e.privateKeyLoc != null && e.privateKeyLoc.index >= c && (this.checkDestructuringPrivate(
          e), e.privateKeyLoc = null);
        } else
          l.left = o;
        return this.next(), l.right = this.parseMaybeAssign(), this.checkLVal(o, this.finishNode(l, "AssignmentExpression")), l;
      } else i && this.checkExpressionErrors(e, !0);
      return o;
    }
    parseMaybeConditional(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseExprOps(e);
      return this.shouldExitDescending(i, r) ? i : this.parseConditional(i, s, e);
    }
    parseConditional(e, s, r) {
      if (this.eat(17)) {
        let i = this.startNodeAt(s);
        return i.test = e, i.consequent = this.parseMaybeAssignAllowIn(), this.expect(14), i.alternate = this.parseMaybeAssign(), this.finishNode(
        i, "ConditionalExpression");
      }
      return e;
    }
    parseMaybeUnaryOrPrivate(e) {
      return this.match(139) ? this.parsePrivateName() : this.parseMaybeUnary(e);
    }
    parseExprOps(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseMaybeUnaryOrPrivate(e);
      return this.shouldExitDescending(i, r) ? i : this.parseExprOp(i, s, -1);
    }
    parseExprOp(e, s, r) {
      if (this.isPrivateName(e)) {
        let a = this.getPrivateNameSV(e);
        (r >= VA(58) || !this.prodParam.hasIn || !this.match(58)) && this.raise(te.PrivateInExpectedIn, e, {
          identifierName: a
        }), this.classScope.usePrivateName(a, e.loc.start);
      }
      let i = this.state.type;
      if (R3t(i) && (this.prodParam.hasIn || !this.match(58))) {
        let a = VA(i);
        if (a > r) {
          if (i === 39) {
            if (this.expectPlugin("pipelineOperator"), this.state.inFSharpPipelineDirectBody)
              return e;
            this.checkPipelineAtInfixOperator(e, s);
          }
          let o = this.startNodeAt(s);
          o.left = e, o.operator = this.state.value;
          let l = i === 41 || i === 42, u = i === 40;
          if (u && (a = VA(42)), this.next(), i === 39 && this.hasPlugin(["pipelineOperator", {
            proposal: "minimal"
          }]) && this.state.type === 96 && this.prodParam.hasAwait)
            throw this.raise(te.UnexpectedAwaitAfterPipelineBody, this.state.startLoc);
          o.right = this.parseExprOpRightExpr(i, a);
          let c = this.finishNode(o, l || u ? "LogicalExpression" : "BinaryExpression"), p = this.state.type;
          if (u && (p === 41 || p === 42) || l && p === 40)
            throw this.raise(te.MixingCoalesceWithLogical, this.state.startLoc);
          return this.parseExprOp(c, s, r);
        }
      }
      return e;
    }
    parseExprOpRightExpr(e, s) {
      let r = this.state.startLoc;
      switch (e) {
        case 39:
          switch (this.getPluginOption("pipelineOperator", "proposal")) {
            case "hack":
              return this.withTopicBindingContext(() => this.parseHackPipeBody());
            case "fsharp":
              return this.withSoloAwaitPermittingContext(() => this.parseFSharpPipelineBody(s));
          }
          if (this.getPluginOption("pipelineOperator", "proposal") === "smart")
            return this.withTopicBindingContext(() => {
              if (this.prodParam.hasYield && this.isContextual(108))
                throw this.raise(te.PipeBodyIsTighter, this.state.startLoc);
              return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(e, s), r);
            });
        default:
          return this.parseExprOpBaseRightExpr(e, s);
      }
    }
    parseExprOpBaseRightExpr(e, s) {
      let r = this.state.startLoc;
      return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), r, W3t(e) ? s - 1 : s);
    }
    parseHackPipeBody() {
      var e;
      let {
        startLoc: s
      } = this.state, r = this.parseMaybeAssign();
      return v3t.has(r.type) && !((e = r.extra) != null && e.parenthesized) && this.raise(te.PipeUnparenthesizedBody, s, {
        type: r.type
      }), this.topicReferenceWasUsedInCurrentContext() || this.raise(te.PipeTopicUnused, s), r;
    }
    checkExponentialAfterUnary(e) {
      this.match(57) && this.raise(te.UnexpectedTokenUnaryExponentiation, e.argument);
    }
    parseMaybeUnary(e, s) {
      let r = this.state.startLoc, i = this.isContextual(96);
      if (i && this.recordAwaitIfAllowed()) {
        this.next();
        let u = this.parseAwait(r);
        return s || this.checkExponentialAfterUnary(u), u;
      }
      let a = this.match(34), o = this.startNode();
      if (U3t(this.state.type)) {
        o.operator = this.state.value, o.prefix = !0, this.match(72) && this.expectPlugin("throwExpressions");
        let u = this.match(89);
        if (this.next(), o.argument = this.parseMaybeUnary(null, !0), this.checkExpressionErrors(e, !0), this.state.strict && u) {
          let c = o.argument;
          c.type === "Identifier" ? this.raise(te.StrictDelete, o) : this.hasPropertyAsPrivateName(c) && this.raise(te.DeletePrivateField, o);
        }
        if (!a)
          return s || this.checkExponentialAfterUnary(o), this.finishNode(o, "UnaryExpression");
      }
      let l = this.parseUpdate(o, a, e);
      if (i) {
        let {
          type: u
        } = this.state;
        if ((this.hasPlugin("v8intrinsic") ? u3(u) : u3(u) && !this.match(54)) && !this.isAmbiguousAwait())
          return this.raiseOverwrite(te.AwaitNotInAsyncContext, r), this.parseAwait(r);
      }
      return l;
    }
    parseUpdate(e, s, r) {
      if (s) {
        let o = e;
        return this.checkLVal(o.argument, this.finishNode(o, "UpdateExpression")), e;
      }
      let i = this.state.startLoc, a = this.parseExprSubscripts(r);
      if (this.checkExpressionErrors(r, !1)) return a;
      for (; q3t(this.state.type) && !this.canInsertSemicolon(); ) {
        let o = this.startNodeAt(i);
        o.operator = this.state.value, o.prefix = !1, o.argument = a, this.next(), this.checkLVal(a, a = this.finishNode(o, "UpdateExpressio\
n"));
      }
      return a;
    }
    parseExprSubscripts(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseExprAtom(e);
      return this.shouldExitDescending(i, r) ? i : this.parseSubscripts(i, s);
    }
    parseSubscripts(e, s, r) {
      let i = {
        optionalChainMember: !1,
        maybeAsyncArrow: this.atPossibleAsyncArrow(e),
        stop: !1
      };
      do
        e = this.parseSubscript(e, s, r, i), i.maybeAsyncArrow = !1;
      while (!i.stop);
      return e;
    }
    parseSubscript(e, s, r, i) {
      let {
        type: a
      } = this.state;
      if (!r && a === 15)
        return this.parseBind(e, s, r, i);
      if (HA(a))
        return this.parseTaggedTemplateExpression(e, s, i);
      let o = !1;
      if (a === 18) {
        if (r && (this.raise(te.OptionalChainingNoNew, this.state.startLoc), this.lookaheadCharCode() === 40))
          return i.stop = !0, e;
        i.optionalChainMember = o = !0, this.next();
      }
      if (!r && this.match(10))
        return this.parseCoverCallAndAsyncArrowHead(e, s, i, o);
      {
        let l = this.eat(0);
        return l || o || this.eat(16) ? this.parseMember(e, s, i, l, o) : (i.stop = !0, e);
      }
    }
    parseMember(e, s, r, i, a) {
      let o = this.startNodeAt(s);
      return o.object = e, o.computed = i, i ? (o.property = this.parseExpression(), this.expect(3)) : this.match(139) ? (e.type === "Super" &&
      this.raise(te.SuperPrivateField, s), this.classScope.usePrivateName(this.state.value, this.state.startLoc), o.property = this.parsePrivateName()) :
      o.property = this.parseIdentifier(!0), r.optionalChainMember ? (o.optional = a, this.finishNode(o, "OptionalMemberExpression")) : this.
      finishNode(o, "MemberExpression");
    }
    parseBind(e, s, r, i) {
      let a = this.startNodeAt(s);
      return a.object = e, this.next(), a.callee = this.parseNoCallExpr(), i.stop = !0, this.parseSubscripts(this.finishNode(a, "BindExpress\
ion"), s, r);
    }
    parseCoverCallAndAsyncArrowHead(e, s, r, i) {
      let a = this.state.maybeInArrowParameters, o = null;
      this.state.maybeInArrowParameters = !0, this.next();
      let l = this.startNodeAt(s);
      l.callee = e;
      let {
        maybeAsyncArrow: u,
        optionalChainMember: c
      } = r;
      u && (this.expressionScope.enter(c4t()), o = new qm()), c && (l.optional = i), i ? l.arguments = this.parseCallExpressionArguments(11) :
      l.arguments = this.parseCallExpressionArguments(11, e.type !== "Super", l, o);
      let p = this.finishCallExpression(l, c);
      return u && this.shouldParseAsyncArrow() && !i ? (r.stop = !0, this.checkDestructuringPrivate(o), this.expressionScope.validateAsPattern(),
      this.expressionScope.exit(), p = this.parseAsyncArrowFromCallExpression(this.startNodeAt(s), p)) : (u && (this.checkExpressionErrors(o,
      !0), this.expressionScope.exit()), this.toReferencedArguments(p)), this.state.maybeInArrowParameters = a, p;
    }
    toReferencedArguments(e, s) {
      this.toReferencedListDeep(e.arguments, s);
    }
    parseTaggedTemplateExpression(e, s, r) {
      let i = this.startNodeAt(s);
      return i.tag = e, i.quasi = this.parseTemplate(!0), r.optionalChainMember && this.raise(te.OptionalChainingNoTemplate, s), this.finishNode(
      i, "TaggedTemplateExpression");
    }
    atPossibleAsyncArrow(e) {
      return e.type === "Identifier" && e.name === "async" && this.state.lastTokEndLoc.index === e.end && !this.canInsertSemicolon() && e.end -
      e.start === 5 && this.offsetToSourcePos(e.start) === this.state.potentialArrowAt;
    }
    finishCallExpression(e, s) {
      if (e.callee.type === "Import")
        if (e.arguments.length === 0 || e.arguments.length > 2)
          this.raise(te.ImportCallArity, e);
        else
          for (let r of e.arguments)
            r.type === "SpreadElement" && this.raise(te.ImportCallSpreadArgument, r);
      return this.finishNode(e, s ? "OptionalCallExpression" : "CallExpression");
    }
    parseCallExpressionArguments(e, s, r, i) {
      let a = [], o = !0, l = this.state.inFSharpPipelineDirectBody;
      for (this.state.inFSharpPipelineDirectBody = !1; !this.eat(e); ) {
        if (o)
          o = !1;
        else if (this.expect(12), this.match(e)) {
          r && this.addTrailingCommaExtraToNode(r), this.next();
          break;
        }
        a.push(this.parseExprListItem(!1, i, s));
      }
      return this.state.inFSharpPipelineDirectBody = l, a;
    }
    shouldParseAsyncArrow() {
      return this.match(19) && !this.canInsertSemicolon();
    }
    parseAsyncArrowFromCallExpression(e, s) {
      var r;
      return this.resetPreviousNodeTrailingComments(s), this.expect(19), this.parseArrowExpression(e, s.arguments, !0, (r = s.extra) == null ?
      void 0 : r.trailingCommaLoc), s.innerComments && iT(e, s.innerComments), s.callee.trailingComments && iT(e, s.callee.trailingComments),
      e;
    }
    parseNoCallExpr() {
      let e = this.state.startLoc;
      return this.parseSubscripts(this.parseExprAtom(), e, !0);
    }
    parseExprAtom(e) {
      let s, r = null, {
        type: i
      } = this.state;
      switch (i) {
        case 79:
          return this.parseSuper();
        case 83:
          return s = this.startNode(), this.next(), this.match(16) ? this.parseImportMetaProperty(s) : this.match(10) ? this.optionFlags & 256 ?
          this.parseImportCall(s) : this.finishNode(s, "Import") : (this.raise(te.UnsupportedImport, this.state.lastTokStartLoc), this.finishNode(
          s, "Import"));
        case 78:
          return s = this.startNode(), this.next(), this.finishNode(s, "ThisExpression");
        case 90:
          return this.parseDo(this.startNode(), !1);
        case 56:
        case 31:
          return this.readRegexp(), this.parseRegExpLiteral(this.state.value);
        case 135:
          return this.parseNumericLiteral(this.state.value);
        case 136:
          return this.parseBigIntLiteral(this.state.value);
        case 134:
          return this.parseStringLiteral(this.state.value);
        case 84:
          return this.parseNullLiteral();
        case 85:
          return this.parseBooleanLiteral(!0);
        case 86:
          return this.parseBooleanLiteral(!1);
        case 10: {
          let a = this.state.potentialArrowAt === this.state.start;
          return this.parseParenAndDistinguishExpression(a);
        }
        case 2:
        case 1:
          return this.parseArrayLike(this.state.type === 2 ? 4 : 3, !1, !0);
        case 0:
          return this.parseArrayLike(3, !0, !1, e);
        case 6:
        case 7:
          return this.parseObjectLike(this.state.type === 6 ? 9 : 8, !1, !0);
        case 5:
          return this.parseObjectLike(8, !1, !1, e);
        case 68:
          return this.parseFunctionOrFunctionSent();
        case 26:
          r = this.parseDecorators();
        case 80:
          return this.parseClass(this.maybeTakeDecorators(r, this.startNode()), !1);
        case 77:
          return this.parseNewOrNewTarget();
        case 25:
        case 24:
          return this.parseTemplate(!1);
        case 15: {
          s = this.startNode(), this.next(), s.object = null;
          let a = s.callee = this.parseNoCallExpr();
          if (a.type === "MemberExpression")
            return this.finishNode(s, "BindExpression");
          throw this.raise(te.UnsupportedBind, a);
        }
        case 139:
          return this.raise(te.PrivateInExpectedIn, this.state.startLoc, {
            identifierName: this.state.value
          }), this.parsePrivateName();
        case 33:
          return this.parseTopicReferenceThenEqualsSign(54, "%");
        case 32:
          return this.parseTopicReferenceThenEqualsSign(44, "^");
        case 37:
        case 38:
          return this.parseTopicReference("hack");
        case 44:
        case 54:
        case 27: {
          let a = this.getPluginOption("pipelineOperator", "proposal");
          if (a)
            return this.parseTopicReference(a);
          this.unexpected();
          break;
        }
        case 47: {
          let a = this.input.codePointAt(this.nextTokenStart());
          Hu(a) || a === 62 ? this.expectOnePlugin(["jsx", "flow", "typescript"]) : this.unexpected();
          break;
        }
        default:
          if (i === 137)
            return this.parseDecimalLiteral(this.state.value);
          if (rr(i)) {
            if (this.isContextual(127) && this.lookaheadInLineCharCode() === 123)
              return this.parseModuleExpression();
            let a = this.state.potentialArrowAt === this.state.start, o = this.state.containsEsc, l = this.parseIdentifier();
            if (!o && l.name === "async" && !this.canInsertSemicolon()) {
              let {
                type: u
              } = this.state;
              if (u === 68)
                return this.resetPreviousNodeTrailingComments(l), this.next(), this.parseAsyncFunctionExpression(this.startNodeAtNode(l));
              if (rr(u))
                return this.lookaheadCharCode() === 61 ? this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(l)) : l;
              if (u === 90)
                return this.resetPreviousNodeTrailingComments(l), this.parseDo(this.startNodeAtNode(l), !0);
            }
            return a && this.match(19) && !this.canInsertSemicolon() ? (this.next(), this.parseArrowExpression(this.startNodeAtNode(l), [l],
            !1)) : l;
          } else
            this.unexpected();
      }
    }
    parseTopicReferenceThenEqualsSign(e, s) {
      let r = this.getPluginOption("pipelineOperator", "proposal");
      if (r)
        return this.state.type = e, this.state.value = s, this.state.pos--, this.state.end--, this.state.endLoc = Mn(this.state.endLoc, -1),
        this.parseTopicReference(r);
      this.unexpected();
    }
    parseTopicReference(e) {
      let s = this.startNode(), r = this.state.startLoc, i = this.state.type;
      return this.next(), this.finishTopicReference(s, r, e, i);
    }
    finishTopicReference(e, s, r, i) {
      if (this.testTopicReferenceConfiguration(r, s, i))
        return r === "hack" ? (this.topicReferenceIsAllowedInCurrentContext() || this.raise(te.PipeTopicUnbound, s), this.registerTopicReference(),
        this.finishNode(e, "TopicReference")) : (this.topicReferenceIsAllowedInCurrentContext() || this.raise(te.PrimaryTopicNotAllowed, s),
        this.registerTopicReference(), this.finishNode(e, "PipelinePrimaryTopicReference"));
      throw this.raise(te.PipeTopicUnconfiguredToken, s, {
        token: Cp(i)
      });
    }
    testTopicReferenceConfiguration(e, s, r) {
      switch (e) {
        case "hack":
          return this.hasPlugin(["pipelineOperator", {
            topicToken: Cp(r)
          }]);
        case "smart":
          return r === 27;
        default:
          throw this.raise(te.PipeTopicRequiresHackPipes, s);
      }
    }
    parseAsyncArrowUnaryFunction(e) {
      this.prodParam.enter(WA(!0, this.prodParam.hasYield));
      let s = [this.parseIdentifier()];
      return this.prodParam.exit(), this.hasPrecedingLineBreak() && this.raise(te.LineTerminatorBeforeArrow, this.state.curPosition()), this.
      expect(19), this.parseArrowExpression(e, s, !0);
    }
    parseDo(e, s) {
      this.expectPlugin("doExpressions"), s && this.expectPlugin("asyncDoExpressions"), e.async = s, this.next();
      let r = this.state.labels;
      return this.state.labels = [], s ? (this.prodParam.enter(2), e.body = this.parseBlock(), this.prodParam.exit()) : e.body = this.parseBlock(),
      this.state.labels = r, this.finishNode(e, "DoExpression");
    }
    parseSuper() {
      let e = this.startNode();
      return this.next(), this.match(10) && !this.scope.allowDirectSuper && !(this.optionFlags & 16) ? this.raise(te.SuperNotAllowed, e) : !this.
      scope.allowSuper && !(this.optionFlags & 16) && this.raise(te.UnexpectedSuper, e), !this.match(10) && !this.match(0) && !this.match(16) &&
      this.raise(te.UnsupportedSuper, e), this.finishNode(e, "Super");
    }
    parsePrivateName() {
      let e = this.startNode(), s = this.startNodeAt(Mn(this.state.startLoc, 1)), r = this.state.value;
      return this.next(), e.id = this.createIdentifier(s, r), this.finishNode(e, "PrivateName");
    }
    parseFunctionOrFunctionSent() {
      let e = this.startNode();
      if (this.next(), this.prodParam.hasYield && this.match(16)) {
        let s = this.createIdentifier(this.startNodeAtNode(e), "function");
        return this.next(), this.match(103) ? this.expectPlugin("functionSent") : this.hasPlugin("functionSent") || this.unexpected(), this.
        parseMetaProperty(e, s, "sent");
      }
      return this.parseFunction(e);
    }
    parseMetaProperty(e, s, r) {
      e.meta = s;
      let i = this.state.containsEsc;
      return e.property = this.parseIdentifier(!0), (e.property.name !== r || i) && this.raise(te.UnsupportedMetaProperty, e.property, {
        target: s.name,
        onlyValidPropertyName: r
      }), this.finishNode(e, "MetaProperty");
    }
    parseImportMetaProperty(e) {
      let s = this.createIdentifier(this.startNodeAtNode(e), "import");
      if (this.next(), this.isContextual(101))
        this.inModule || this.raise(te.ImportMetaOutsideModule, s), this.sawUnambiguousESM = !0;
      else if (this.isContextual(105) || this.isContextual(97)) {
        let r = this.isContextual(105);
        if (this.expectPlugin(r ? "sourcePhaseImports" : "deferredImportEvaluation"), !(this.optionFlags & 256))
          throw this.raise(te.DynamicImportPhaseRequiresImportExpressions, this.state.startLoc, {
            phase: this.state.value
          });
        return this.next(), e.phase = r ? "source" : "defer", this.parseImportCall(e);
      }
      return this.parseMetaProperty(e, s, "meta");
    }
    parseLiteralAtNode(e, s, r) {
      return this.addExtra(r, "rawValue", e), this.addExtra(r, "raw", this.input.slice(this.offsetToSourcePos(r.start), this.state.end)), r.
      value = e, this.next(), this.finishNode(r, s);
    }
    parseLiteral(e, s) {
      let r = this.startNode();
      return this.parseLiteralAtNode(e, s, r);
    }
    parseStringLiteral(e) {
      return this.parseLiteral(e, "StringLiteral");
    }
    parseNumericLiteral(e) {
      return this.parseLiteral(e, "NumericLiteral");
    }
    parseBigIntLiteral(e) {
      return this.parseLiteral(e, "BigIntLiteral");
    }
    parseDecimalLiteral(e) {
      return this.parseLiteral(e, "DecimalLiteral");
    }
    parseRegExpLiteral(e) {
      let s = this.startNode();
      return this.addExtra(s, "raw", this.input.slice(this.offsetToSourcePos(s.start), this.state.end)), s.pattern = e.pattern, s.flags = e.
      flags, this.next(), this.finishNode(s, "RegExpLiteral");
    }
    parseBooleanLiteral(e) {
      let s = this.startNode();
      return s.value = e, this.next(), this.finishNode(s, "BooleanLiteral");
    }
    parseNullLiteral() {
      let e = this.startNode();
      return this.next(), this.finishNode(e, "NullLiteral");
    }
    parseParenAndDistinguishExpression(e) {
      let s = this.state.startLoc, r;
      this.next(), this.expressionScope.enter(u4t());
      let i = this.state.maybeInArrowParameters, a = this.state.inFSharpPipelineDirectBody;
      this.state.maybeInArrowParameters = !0, this.state.inFSharpPipelineDirectBody = !1;
      let o = this.state.startLoc, l = [], u = new qm(), c = !0, p, h;
      for (; !this.match(11); ) {
        if (c)
          c = !1;
        else if (this.expect(12, u.optionalParametersLoc === null ? null : u.optionalParametersLoc), this.match(11)) {
          h = this.state.startLoc;
          break;
        }
        if (this.match(21)) {
          let m = this.state.startLoc;
          if (p = this.state.startLoc, l.push(this.parseParenItem(this.parseRestBinding(), m)), !this.checkCommaAfterRest(41))
            break;
        } else
          l.push(this.parseMaybeAssignAllowIn(u, this.parseParenItem));
      }
      let f = this.state.lastTokEndLoc;
      this.expect(11), this.state.maybeInArrowParameters = i, this.state.inFSharpPipelineDirectBody = a;
      let d = this.startNodeAt(s);
      return e && this.shouldParseArrow(l) && (d = this.parseArrow(d)) ? (this.checkDestructuringPrivate(u), this.expressionScope.validateAsPattern(),
      this.expressionScope.exit(), this.parseArrowExpression(d, l, !1), d) : (this.expressionScope.exit(), l.length || this.unexpected(this.
      state.lastTokStartLoc), h && this.unexpected(h), p && this.unexpected(p), this.checkExpressionErrors(u, !0), this.toReferencedListDeep(
      l, !0), l.length > 1 ? (r = this.startNodeAt(o), r.expressions = l, this.finishNode(r, "SequenceExpression"), this.resetEndLocation(r,
      f)) : r = l[0], this.wrapParenthesis(s, r));
    }
    wrapParenthesis(e, s) {
      if (!(this.optionFlags & 512))
        return this.addExtra(s, "parenthesized", !0), this.addExtra(s, "parenStart", e.index), this.takeSurroundingComments(s, e.index, this.
        state.lastTokEndLoc.index), s;
      let r = this.startNodeAt(e);
      return r.expression = s, this.finishNode(r, "ParenthesizedExpression");
    }
    shouldParseArrow(e) {
      return !this.canInsertSemicolon();
    }
    parseArrow(e) {
      if (this.eat(19))
        return e;
    }
    parseParenItem(e, s) {
      return e;
    }
    parseNewOrNewTarget() {
      let e = this.startNode();
      if (this.next(), this.match(16)) {
        let s = this.createIdentifier(this.startNodeAtNode(e), "new");
        this.next();
        let r = this.parseMetaProperty(e, s, "target");
        return !this.scope.inNonArrowFunction && !this.scope.inClass && !(this.optionFlags & 4) && this.raise(te.UnexpectedNewTarget, r), r;
      }
      return this.parseNew(e);
    }
    parseNew(e) {
      if (this.parseNewCallee(e), this.eat(10)) {
        let s = this.parseExprList(11);
        this.toReferencedList(s), e.arguments = s;
      } else
        e.arguments = [];
      return this.finishNode(e, "NewExpression");
    }
    parseNewCallee(e) {
      let s = this.match(83), r = this.parseNoCallExpr();
      e.callee = r, s && (r.type === "Import" || r.type === "ImportExpression") && this.raise(te.ImportCallNotNewExpression, r);
    }
    parseTemplateElement(e) {
      let {
        start: s,
        startLoc: r,
        end: i,
        value: a
      } = this.state, o = s + 1, l = this.startNodeAt(Mn(r, 1));
      a === null && (e || this.raise(te.InvalidEscapeSequenceTemplate, Mn(this.state.firstInvalidTemplateEscapePos, 1)));
      let u = this.match(24), c = u ? -1 : -2, p = i + c;
      l.value = {
        raw: this.input.slice(o, p).replace(/\r\n?/g, `
`),
        cooked: a === null ? null : a.slice(1, c)
      }, l.tail = u, this.next();
      let h = this.finishNode(l, "TemplateElement");
      return this.resetEndLocation(h, Mn(this.state.lastTokEndLoc, c)), h;
    }
    parseTemplate(e) {
      let s = this.startNode(), r = this.parseTemplateElement(e), i = [r], a = [];
      for (; !r.tail; )
        a.push(this.parseTemplateSubstitution()), this.readTemplateContinuation(), i.push(r = this.parseTemplateElement(e));
      return s.expressions = a, s.quasis = i, this.finishNode(s, "TemplateLiteral");
    }
    parseTemplateSubstitution() {
      return this.parseExpression();
    }
    parseObjectLike(e, s, r, i) {
      r && this.expectPlugin("recordAndTuple");
      let a = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !1;
      let o = /* @__PURE__ */ Object.create(null), l = !0, u = this.startNode();
      for (u.properties = [], this.next(); !this.match(e); ) {
        if (l)
          l = !1;
        else if (this.expect(12), this.match(e)) {
          this.addTrailingCommaExtraToNode(u);
          break;
        }
        let p;
        s ? p = this.parseBindingProperty() : (p = this.parsePropertyDefinition(i), this.checkProto(p, r, o, i)), r && !this.isObjectProperty(
        p) && p.type !== "SpreadElement" && this.raise(te.InvalidRecordProperty, p), p.shorthand && this.addExtra(p, "shorthand", !0), u.properties.
        push(p);
      }
      this.next(), this.state.inFSharpPipelineDirectBody = a;
      let c = "ObjectExpression";
      return s ? c = "ObjectPattern" : r && (c = "RecordExpression"), this.finishNode(u, c);
    }
    addTrailingCommaExtraToNode(e) {
      this.addExtra(e, "trailingComma", this.state.lastTokStartLoc.index), this.addExtra(e, "trailingCommaLoc", this.state.lastTokStartLoc, !1);
    }
    maybeAsyncOrAccessorProp(e) {
      return !e.computed && e.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(0) || this.match(55));
    }
    parsePropertyDefinition(e) {
      let s = [];
      if (this.match(26))
        for (this.hasPlugin("decorators") && this.raise(te.UnsupportedPropertyDecorator, this.state.startLoc); this.match(26); )
          s.push(this.parseDecorator());
      let r = this.startNode(), i = !1, a = !1, o;
      if (this.match(21))
        return s.length && this.unexpected(), this.parseSpread();
      s.length && (r.decorators = s, s = []), r.method = !1, e && (o = this.state.startLoc);
      let l = this.eat(55);
      this.parsePropertyNamePrefixOperator(r);
      let u = this.state.containsEsc;
      if (this.parsePropertyName(r, e), !l && !u && this.maybeAsyncOrAccessorProp(r)) {
        let {
          key: c
        } = r, p = c.name;
        p === "async" && !this.hasPrecedingLineBreak() && (i = !0, this.resetPreviousNodeTrailingComments(c), l = this.eat(55), this.parsePropertyName(
        r)), (p === "get" || p === "set") && (a = !0, this.resetPreviousNodeTrailingComments(c), r.kind = p, this.match(55) && (l = !0, this.
        raise(te.AccessorIsGenerator, this.state.curPosition(), {
          kind: p
        }), this.next()), this.parsePropertyName(r));
      }
      return this.parseObjPropValue(r, o, l, i, !1, a, e);
    }
    getGetterSetterExpectedParamCount(e) {
      return e.kind === "get" ? 0 : 1;
    }
    getObjectOrClassMethodParams(e) {
      return e.params;
    }
    checkGetterSetterParams(e) {
      var s;
      let r = this.getGetterSetterExpectedParamCount(e), i = this.getObjectOrClassMethodParams(e);
      i.length !== r && this.raise(e.kind === "get" ? te.BadGetterArity : te.BadSetterArity, e), e.kind === "set" && ((s = i[i.length - 1]) ==
      null ? void 0 : s.type) === "RestElement" && this.raise(te.BadSetterRestParameter, e);
    }
    parseObjectMethod(e, s, r, i, a) {
      if (a) {
        let o = this.parseMethod(e, s, !1, !1, !1, "ObjectMethod");
        return this.checkGetterSetterParams(o), o;
      }
      if (r || s || this.match(10))
        return i && this.unexpected(), e.kind = "method", e.method = !0, this.parseMethod(e, s, r, !1, !1, "ObjectMethod");
    }
    parseObjectProperty(e, s, r, i) {
      if (e.shorthand = !1, this.eat(14))
        return e.value = r ? this.parseMaybeDefault(this.state.startLoc) : this.parseMaybeAssignAllowIn(i), this.finishNode(e, "ObjectProper\
ty");
      if (!e.computed && e.key.type === "Identifier") {
        if (this.checkReservedWord(e.key.name, e.key.loc.start, !0, !1), r)
          e.value = this.parseMaybeDefault(s, Yu(e.key));
        else if (this.match(29)) {
          let a = this.state.startLoc;
          i != null ? i.shorthandAssignLoc === null && (i.shorthandAssignLoc = a) : this.raise(te.InvalidCoverInitializedName, a), e.value =
          this.parseMaybeDefault(s, Yu(e.key));
        } else
          e.value = Yu(e.key);
        return e.shorthand = !0, this.finishNode(e, "ObjectProperty");
      }
    }
    parseObjPropValue(e, s, r, i, a, o, l) {
      let u = this.parseObjectMethod(e, r, i, a, o) || this.parseObjectProperty(e, s, a, l);
      return u || this.unexpected(), u;
    }
    parsePropertyName(e, s) {
      if (this.eat(0))
        e.computed = !0, e.key = this.parseMaybeAssignAllowIn(), this.expect(3);
      else {
        let {
          type: r,
          value: i
        } = this.state, a;
        if (Bo(r))
          a = this.parseIdentifier(!0);
        else
          switch (r) {
            case 135:
              a = this.parseNumericLiteral(i);
              break;
            case 134:
              a = this.parseStringLiteral(i);
              break;
            case 136:
              a = this.parseBigIntLiteral(i);
              break;
            case 139: {
              let o = this.state.startLoc;
              s != null ? s.privateKeyLoc === null && (s.privateKeyLoc = o) : this.raise(te.UnexpectedPrivateField, o), a = this.parsePrivateName();
              break;
            }
            default:
              if (r === 137) {
                a = this.parseDecimalLiteral(i);
                break;
              }
              this.unexpected();
          }
        e.key = a, r !== 139 && (e.computed = !1);
      }
    }
    initFunction(e, s) {
      e.id = null, e.generator = !1, e.async = s;
    }
    parseMethod(e, s, r, i, a, o, l = !1) {
      this.initFunction(e, r), e.generator = s, this.scope.enter(18 | (l ? 64 : 0) | (a ? 32 : 0)), this.prodParam.enter(WA(r, e.generator)),
      this.parseFunctionParams(e, i);
      let u = this.parseFunctionBodyAndFinish(e, o, !0);
      return this.prodParam.exit(), this.scope.exit(), u;
    }
    parseArrayLike(e, s, r, i) {
      r && this.expectPlugin("recordAndTuple");
      let a = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !1;
      let o = this.startNode();
      return this.next(), o.elements = this.parseExprList(e, !r, i, o), this.state.inFSharpPipelineDirectBody = a, this.finishNode(o, r ? "T\
upleExpression" : "ArrayExpression");
    }
    parseArrowExpression(e, s, r, i) {
      this.scope.enter(6);
      let a = WA(r, !1);
      !this.match(5) && this.prodParam.hasIn && (a |= 8), this.prodParam.enter(a), this.initFunction(e, r);
      let o = this.state.maybeInArrowParameters;
      return s && (this.state.maybeInArrowParameters = !0, this.setArrowFunctionParameters(e, s, i)), this.state.maybeInArrowParameters = !1,
      this.parseFunctionBody(e, !0), this.prodParam.exit(), this.scope.exit(), this.state.maybeInArrowParameters = o, this.finishNode(e, "Ar\
rowFunctionExpression");
    }
    setArrowFunctionParameters(e, s, r) {
      this.toAssignableList(s, r, !1), e.params = s;
    }
    parseFunctionBodyAndFinish(e, s, r = !1) {
      return this.parseFunctionBody(e, !1, r), this.finishNode(e, s);
    }
    parseFunctionBody(e, s, r = !1) {
      let i = s && !this.match(5);
      if (this.expressionScope.enter(koe()), i)
        e.body = this.parseMaybeAssign(), this.checkParams(e, !1, s, !1);
      else {
        let a = this.state.strict, o = this.state.labels;
        this.state.labels = [], this.prodParam.enter(this.prodParam.currentFlags() | 4), e.body = this.parseBlock(!0, !1, (l) => {
          let u = !this.isSimpleParamList(e.params);
          l && u && this.raise(te.IllegalLanguageModeDirective, (e.kind === "method" || e.kind === "constructor") && e.key ? e.key.loc.end :
          e);
          let c = !a && this.state.strict;
          this.checkParams(e, !this.state.strict && !s && !r && !u, s, c), this.state.strict && e.id && this.checkIdentifier(e.id, 65, c);
        }), this.prodParam.exit(), this.state.labels = o;
      }
      this.expressionScope.exit();
    }
    isSimpleParameter(e) {
      return e.type === "Identifier";
    }
    isSimpleParamList(e) {
      for (let s = 0, r = e.length; s < r; s++)
        if (!this.isSimpleParameter(e[s])) return !1;
      return !0;
    }
    checkParams(e, s, r, i = !0) {
      let a = !s && /* @__PURE__ */ new Set(), o = {
        type: "FormalParameters"
      };
      for (let l of e.params)
        this.checkLVal(l, o, 5, a, i);
    }
    parseExprList(e, s, r, i) {
      let a = [], o = !0;
      for (; !this.eat(e); ) {
        if (o)
          o = !1;
        else if (this.expect(12), this.match(e)) {
          i && this.addTrailingCommaExtraToNode(i), this.next();
          break;
        }
        a.push(this.parseExprListItem(s, r));
      }
      return a;
    }
    parseExprListItem(e, s, r) {
      let i;
      if (this.match(12))
        e || this.raise(te.UnexpectedToken, this.state.curPosition(), {
          unexpected: ","
        }), i = null;
      else if (this.match(21)) {
        let a = this.state.startLoc;
        i = this.parseParenItem(this.parseSpread(s), a);
      } else if (this.match(17)) {
        this.expectPlugin("partialApplication"), r || this.raise(te.UnexpectedArgumentPlaceholder, this.state.startLoc);
        let a = this.startNode();
        this.next(), i = this.finishNode(a, "ArgumentPlaceholder");
      } else
        i = this.parseMaybeAssignAllowIn(s, this.parseParenItem);
      return i;
    }
    parseIdentifier(e) {
      let s = this.startNode(), r = this.parseIdentifierName(e);
      return this.createIdentifier(s, r);
    }
    createIdentifier(e, s) {
      return e.name = s, e.loc.identifierName = s, this.finishNode(e, "Identifier");
    }
    parseIdentifierName(e) {
      let s, {
        startLoc: r,
        type: i
      } = this.state;
      Bo(i) ? s = this.state.value : this.unexpected();
      let a = B3t(i);
      return e ? a && this.replaceToken(132) : this.checkReservedWord(s, r, a, !1), this.next(), s;
    }
    checkReservedWord(e, s, r, i) {
      if (e.length > 10 || !e4t(e))
        return;
      if (r && G3t(e)) {
        this.raise(te.UnexpectedKeyword, s, {
          keyword: e
        });
        return;
      }
      if ((this.state.strict ? i ? Coe : Aoe : Eoe)(e, this.inModule)) {
        this.raise(te.UnexpectedReservedWord, s, {
          reservedWord: e
        });
        return;
      } else if (e === "yield") {
        if (this.prodParam.hasYield) {
          this.raise(te.YieldBindingIdentifier, s);
          return;
        }
      } else if (e === "await") {
        if (this.prodParam.hasAwait) {
          this.raise(te.AwaitBindingIdentifier, s);
          return;
        }
        if (this.scope.inStaticBlock) {
          this.raise(te.AwaitBindingIdentifierInStaticBlock, s);
          return;
        }
        this.expressionScope.recordAsyncArrowParametersError(s);
      } else if (e === "arguments" && this.scope.inClassAndNotInNonArrowFunction) {
        this.raise(te.ArgumentsInClass, s);
        return;
      }
    }
    recordAwaitIfAllowed() {
      let e = this.prodParam.hasAwait || this.optionFlags & 1 && !this.scope.inFunction;
      return e && !this.scope.inFunction && (this.state.hasTopLevelAwait = !0), e;
    }
    parseAwait(e) {
      let s = this.startNodeAt(e);
      return this.expressionScope.recordParameterInitializerError(te.AwaitExpressionFormalParameter, s), this.eat(55) && this.raise(te.ObsoleteAwaitStar,
      s), !this.scope.inFunction && !(this.optionFlags & 1) && (this.isAmbiguousAwait() ? this.ambiguousScriptDifferentAst = !0 : this.sawUnambiguousESM =
      !0), this.state.soloAwait || (s.argument = this.parseMaybeUnary(null, !0)), this.finishNode(s, "AwaitExpression");
    }
    isAmbiguousAwait() {
      if (this.hasPrecedingLineBreak()) return !0;
      let {
        type: e
      } = this.state;
      return e === 53 || e === 10 || e === 0 || HA(e) || e === 102 && !this.state.containsEsc || e === 138 || e === 56 || this.hasPlugin("v8\
intrinsic") && e === 54;
    }
    parseYield() {
      let e = this.startNode();
      this.expressionScope.recordParameterInitializerError(te.YieldInParameter, e), this.next();
      let s = !1, r = null;
      if (!this.hasPrecedingLineBreak())
        switch (s = this.eat(55), this.state.type) {
          case 13:
          case 140:
          case 8:
          case 11:
          case 3:
          case 9:
          case 14:
          case 12:
            if (!s) break;
          default:
            r = this.parseMaybeAssign();
        }
      return e.delegate = s, e.argument = r, this.finishNode(e, "YieldExpression");
    }
    parseImportCall(e) {
      if (this.next(), e.source = this.parseMaybeAssignAllowIn(), e.options = null, this.eat(12) && !this.match(11) && (e.options = this.parseMaybeAssignAllowIn(),
      this.eat(12) && !this.match(11))) {
        do
          this.parseMaybeAssignAllowIn();
        while (this.eat(12) && !this.match(11));
        this.raise(te.ImportCallArity, e);
      }
      return this.expect(11), this.finishNode(e, "ImportExpression");
    }
    checkPipelineAtInfixOperator(e, s) {
      this.hasPlugin(["pipelineOperator", {
        proposal: "smart"
      }]) && e.type === "SequenceExpression" && this.raise(te.PipelineHeadSequenceExpression, s);
    }
    parseSmartPipelineBodyInStyle(e, s) {
      if (this.isSimpleReference(e)) {
        let r = this.startNodeAt(s);
        return r.callee = e, this.finishNode(r, "PipelineBareFunction");
      } else {
        let r = this.startNodeAt(s);
        return this.checkSmartPipeTopicBodyEarlyErrors(s), r.expression = e, this.finishNode(r, "PipelineTopicExpression");
      }
    }
    isSimpleReference(e) {
      switch (e.type) {
        case "MemberExpression":
          return !e.computed && this.isSimpleReference(e.object);
        case "Identifier":
          return !0;
        default:
          return !1;
      }
    }
    checkSmartPipeTopicBodyEarlyErrors(e) {
      if (this.match(19))
        throw this.raise(te.PipelineBodyNoArrow, this.state.startLoc);
      this.topicReferenceWasUsedInCurrentContext() || this.raise(te.PipelineTopicUnused, e);
    }
    withTopicBindingContext(e) {
      let s = this.state.topicContext;
      this.state.topicContext = {
        maxNumOfResolvableTopics: 1,
        maxTopicIndex: null
      };
      try {
        return e();
      } finally {
        this.state.topicContext = s;
      }
    }
    withSmartMixTopicForbiddingContext(e) {
      if (this.hasPlugin(["pipelineOperator", {
        proposal: "smart"
      }])) {
        let s = this.state.topicContext;
        this.state.topicContext = {
          maxNumOfResolvableTopics: 0,
          maxTopicIndex: null
        };
        try {
          return e();
        } finally {
          this.state.topicContext = s;
        }
      } else
        return e();
    }
    withSoloAwaitPermittingContext(e) {
      let s = this.state.soloAwait;
      this.state.soloAwait = !0;
      try {
        return e();
      } finally {
        this.state.soloAwait = s;
      }
    }
    allowInAnd(e) {
      let s = this.prodParam.currentFlags();
      if (8 & ~s) {
        this.prodParam.enter(s | 8);
        try {
          return e();
        } finally {
          this.prodParam.exit();
        }
      }
      return e();
    }
    disallowInAnd(e) {
      let s = this.prodParam.currentFlags();
      if (8 & s) {
        this.prodParam.enter(s & -9);
        try {
          return e();
        } finally {
          this.prodParam.exit();
        }
      }
      return e();
    }
    registerTopicReference() {
      this.state.topicContext.maxTopicIndex = 0;
    }
    topicReferenceIsAllowedInCurrentContext() {
      return this.state.topicContext.maxNumOfResolvableTopics >= 1;
    }
    topicReferenceWasUsedInCurrentContext() {
      return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0;
    }
    parseFSharpPipelineBody(e) {
      let s = this.state.startLoc;
      this.state.potentialArrowAt = this.state.start;
      let r = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !0;
      let i = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), s, e);
      return this.state.inFSharpPipelineDirectBody = r, i;
    }
    parseModuleExpression() {
      this.expectPlugin("moduleBlocks");
      let e = this.startNode();
      this.next(), this.match(5) || this.unexpected(null, 5);
      let s = this.startNodeAt(this.state.endLoc);
      this.next();
      let r = this.initializeScopes(!0);
      this.enterInitialScopes();
      try {
        e.body = this.parseProgram(s, 8, "module");
      } finally {
        r();
      }
      return this.finishNode(e, "ModuleExpression");
    }
    parsePropertyNamePrefixOperator(e) {
    }
  }, o3 = {
    kind: 1
  }, O4t = {
    kind: 2
  }, _4t = /[\uD800-\uDFFF]/u, l3 = /in(?:stanceof)?/y;
  function L4t(t, e, s) {
    for (let r = 0; r < t.length; r++) {
      let i = t[r], {
        type: a
      } = i;
      if (typeof a == "number") {
        {
          if (a === 139) {
            let {
              loc: o,
              start: l,
              value: u,
              end: c
            } = i, p = l + 1, h = Mn(o.start, 1);
            t.splice(r, 1, new Sl({
              type: Wu(27),
              value: "#",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            }), new Sl({
              type: Wu(132),
              value: u,
              start: p,
              end: c,
              startLoc: h,
              endLoc: o.end
            })), r++;
            continue;
          }
          if (HA(a)) {
            let {
              loc: o,
              start: l,
              value: u,
              end: c
            } = i, p = l + 1, h = Mn(o.start, 1), f;
            e.charCodeAt(l - s) === 96 ? f = new Sl({
              type: Wu(22),
              value: "`",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            }) : f = new Sl({
              type: Wu(8),
              value: "}",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            });
            let d, m, y, T;
            a === 24 ? (m = c - 1, y = Mn(o.end, -1), d = u === null ? null : u.slice(1, -1), T = new Sl({
              type: Wu(22),
              value: "`",
              start: m,
              end: c,
              startLoc: y,
              endLoc: o.end
            })) : (m = c - 2, y = Mn(o.end, -2), d = u === null ? null : u.slice(1, -2), T = new Sl({
              type: Wu(23),
              value: "${",
              start: m,
              end: c,
              startLoc: y,
              endLoc: o.end
            })), t.splice(r, 1, f, new Sl({
              type: Wu(20),
              value: d,
              start: p,
              end: m,
              startLoc: h,
              endLoc: y
            }), T), r += 2;
            continue;
          }
        }
        i.type = Wu(a);
      }
    }
    return t;
  }
  n(L4t, "babel7CompatTokens");
  var I3 = class extends w3 {
    static {
      n(this, "StatementParser");
    }
    parseTopLevel(e, s) {
      return e.program = this.parseProgram(s), e.comments = this.comments, this.optionFlags & 128 && (e.tokens = L4t(this.tokens, this.input,
      this.startIndex)), this.finishNode(e, "File");
    }
    parseProgram(e, s = 140, r = this.options.sourceType) {
      if (e.sourceType = r, e.interpreter = this.parseInterpreterDirective(), this.parseBlockBody(e, !0, !0, s), this.inModule) {
        if (!(this.optionFlags & 32) && this.scope.undefinedExports.size > 0)
          for (let [a, o] of Array.from(this.scope.undefinedExports))
            this.raise(te.ModuleExportUndefined, o, {
              localName: a
            });
        this.addExtra(e, "topLevelAwait", this.state.hasTopLevelAwait);
      }
      let i;
      return s === 140 ? i = this.finishNode(e, "Program") : i = this.finishNodeAt(e, "Program", Mn(this.state.startLoc, -1)), i;
    }
    stmtToDirective(e) {
      let s = e;
      s.type = "Directive", s.value = s.expression, delete s.expression;
      let r = s.value, i = r.value, a = this.input.slice(this.offsetToSourcePos(r.start), this.offsetToSourcePos(r.end)), o = r.value = a.slice(
      1, -1);
      return this.addExtra(r, "raw", a), this.addExtra(r, "rawValue", o), this.addExtra(r, "expressionValue", i), r.type = "DirectiveLiteral",
      s;
    }
    parseInterpreterDirective() {
      if (!this.match(28))
        return null;
      let e = this.startNode();
      return e.value = this.state.value, this.next(), this.finishNode(e, "InterpreterDirective");
    }
    isLet() {
      return this.isContextual(100) ? this.hasFollowingBindingAtom() : !1;
    }
    chStartsBindingIdentifier(e, s) {
      if (Hu(e)) {
        if (l3.lastIndex = s, l3.test(this.input)) {
          let r = this.codePointAtPos(l3.lastIndex);
          if (!jm(r) && r !== 92)
            return !1;
        }
        return !0;
      } else return e === 92;
    }
    chStartsBindingPattern(e) {
      return e === 91 || e === 123;
    }
    hasFollowingBindingAtom() {
      let e = this.nextTokenStart(), s = this.codePointAtPos(e);
      return this.chStartsBindingPattern(s) || this.chStartsBindingIdentifier(s, e);
    }
    hasInLineFollowingBindingIdentifierOrBrace() {
      let e = this.nextTokenInLineStart(), s = this.codePointAtPos(e);
      return s === 123 || this.chStartsBindingIdentifier(s, e);
    }
    startsUsingForOf() {
      let {
        type: e,
        containsEsc: s
      } = this.lookahead();
      if (e === 102 && !s)
        return !1;
      if (rr(e) && !this.hasFollowingLineBreak())
        return this.expectPlugin("explicitResourceManagement"), !0;
    }
    startsAwaitUsing() {
      let e = this.nextTokenInLineStart();
      if (this.isUnparsedContextual(e, "using")) {
        e = this.nextTokenInLineStartSince(e + 5);
        let s = this.codePointAtPos(e);
        if (this.chStartsBindingIdentifier(s, e))
          return this.expectPlugin("explicitResourceManagement"), !0;
      }
      return !1;
    }
    parseModuleItem() {
      return this.parseStatementLike(15);
    }
    parseStatementListItem() {
      return this.parseStatementLike(6 | (!this.options.annexB || this.state.strict ? 0 : 8));
    }
    parseStatementOrSloppyAnnexBFunctionDeclaration(e = !1) {
      let s = 0;
      return this.options.annexB && !this.state.strict && (s |= 4, e && (s |= 8)), this.parseStatementLike(s);
    }
    parseStatement() {
      return this.parseStatementLike(0);
    }
    parseStatementLike(e) {
      let s = null;
      return this.match(26) && (s = this.parseDecorators(!0)), this.parseStatementContent(e, s);
    }
    parseStatementContent(e, s) {
      let r = this.state.type, i = this.startNode(), a = !!(e & 2), o = !!(e & 4), l = e & 1;
      switch (r) {
        case 60:
          return this.parseBreakContinueStatement(i, !0);
        case 63:
          return this.parseBreakContinueStatement(i, !1);
        case 64:
          return this.parseDebuggerStatement(i);
        case 90:
          return this.parseDoWhileStatement(i);
        case 91:
          return this.parseForStatement(i);
        case 68:
          if (this.lookaheadCharCode() === 46) break;
          return o || this.raise(this.state.strict ? te.StrictFunction : this.options.annexB ? te.SloppyFunctionAnnexB : te.SloppyFunction, this.
          state.startLoc), this.parseFunctionStatement(i, !1, !a && o);
        case 80:
          return a || this.unexpected(), this.parseClass(this.maybeTakeDecorators(s, i), !0);
        case 69:
          return this.parseIfStatement(i);
        case 70:
          return this.parseReturnStatement(i);
        case 71:
          return this.parseSwitchStatement(i);
        case 72:
          return this.parseThrowStatement(i);
        case 73:
          return this.parseTryStatement(i);
        case 96:
          if (!this.state.containsEsc && this.startsAwaitUsing())
            return this.recordAwaitIfAllowed() ? a || this.raise(te.UnexpectedLexicalDeclaration, i) : this.raise(te.AwaitUsingNotInAsyncContext,
            i), this.next(), this.parseVarStatement(i, "await using");
          break;
        case 107:
          if (this.state.containsEsc || !this.hasInLineFollowingBindingIdentifierOrBrace())
            break;
          return this.expectPlugin("explicitResourceManagement"), !this.scope.inModule && this.scope.inTopLevel ? this.raise(te.UnexpectedUsingDeclaration,
          this.state.startLoc) : a || this.raise(te.UnexpectedLexicalDeclaration, this.state.startLoc), this.parseVarStatement(i, "using");
        case 100: {
          if (this.state.containsEsc)
            break;
          let p = this.nextTokenStart(), h = this.codePointAtPos(p);
          if (h !== 91 && (!a && this.hasFollowingLineBreak() || !this.chStartsBindingIdentifier(h, p) && h !== 123))
            break;
        }
        case 75:
          a || this.raise(te.UnexpectedLexicalDeclaration, this.state.startLoc);
        case 74: {
          let p = this.state.value;
          return this.parseVarStatement(i, p);
        }
        case 92:
          return this.parseWhileStatement(i);
        case 76:
          return this.parseWithStatement(i);
        case 5:
          return this.parseBlock();
        case 13:
          return this.parseEmptyStatement(i);
        case 83: {
          let p = this.lookaheadCharCode();
          if (p === 40 || p === 46)
            break;
        }
        case 82: {
          !(this.optionFlags & 8) && !l && this.raise(te.UnexpectedImportExport, this.state.startLoc), this.next();
          let p;
          return r === 83 ? (p = this.parseImport(i), p.type === "ImportDeclaration" && (!p.importKind || p.importKind === "value") && (this.
          sawUnambiguousESM = !0)) : (p = this.parseExport(i, s), (p.type === "ExportNamedDeclaration" && (!p.exportKind || p.exportKind ===
          "value") || p.type === "ExportAllDeclaration" && (!p.exportKind || p.exportKind === "value") || p.type === "ExportDefaultDeclarati\
on") && (this.sawUnambiguousESM = !0)), this.assertModuleNodeAllowed(p), p;
        }
        default:
          if (this.isAsyncFunction())
            return a || this.raise(te.AsyncFunctionInSingleStatementContext, this.state.startLoc), this.next(), this.parseFunctionStatement(
            i, !0, !a && o);
      }
      let u = this.state.value, c = this.parseExpression();
      return rr(r) && c.type === "Identifier" && this.eat(14) ? this.parseLabeledStatement(i, u, c, e) : this.parseExpressionStatement(i, c,
      s);
    }
    assertModuleNodeAllowed(e) {
      !(this.optionFlags & 8) && !this.inModule && this.raise(te.ImportOutsideModule, e);
    }
    decoratorsEnabledBeforeExport() {
      return this.hasPlugin("decorators-legacy") ? !0 : this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBefore\
Export") !== !1;
    }
    maybeTakeDecorators(e, s, r) {
      if (e) {
        var i;
        (i = s.decorators) != null && i.length ? (typeof this.getPluginOption("decorators", "decoratorsBeforeExport") != "boolean" && this.raise(
        te.DecoratorsBeforeAfterExport, s.decorators[0]), s.decorators.unshift(...e)) : s.decorators = e, this.resetStartLocationFromNode(s,
        e[0]), r && this.resetStartLocationFromNode(r, s);
      }
      return s;
    }
    canHaveLeadingDecorator() {
      return this.match(80);
    }
    parseDecorators(e) {
      let s = [];
      do
        s.push(this.parseDecorator());
      while (this.match(26));
      if (this.match(82))
        e || this.unexpected(), this.decoratorsEnabledBeforeExport() || this.raise(te.DecoratorExportClass, this.state.startLoc);
      else if (!this.canHaveLeadingDecorator())
        throw this.raise(te.UnexpectedLeadingDecorator, this.state.startLoc);
      return s;
    }
    parseDecorator() {
      this.expectOnePlugin(["decorators", "decorators-legacy"]);
      let e = this.startNode();
      if (this.next(), this.hasPlugin("decorators")) {
        let s = this.state.startLoc, r;
        if (this.match(10)) {
          let i = this.state.startLoc;
          this.next(), r = this.parseExpression(), this.expect(11), r = this.wrapParenthesis(i, r);
          let a = this.state.startLoc;
          e.expression = this.parseMaybeDecoratorArguments(r, i), this.getPluginOption("decorators", "allowCallParenthesized") === !1 && e.expression !==
          r && this.raise(te.DecoratorArgumentsOutsideParentheses, a);
        } else {
          for (r = this.parseIdentifier(!1); this.eat(16); ) {
            let i = this.startNodeAt(s);
            i.object = r, this.match(139) ? (this.classScope.usePrivateName(this.state.value, this.state.startLoc), i.property = this.parsePrivateName()) :
            i.property = this.parseIdentifier(!0), i.computed = !1, r = this.finishNode(i, "MemberExpression");
          }
          e.expression = this.parseMaybeDecoratorArguments(r, s);
        }
      } else
        e.expression = this.parseExprSubscripts();
      return this.finishNode(e, "Decorator");
    }
    parseMaybeDecoratorArguments(e, s) {
      if (this.eat(10)) {
        let r = this.startNodeAt(s);
        return r.callee = e, r.arguments = this.parseCallExpressionArguments(11), this.toReferencedList(r.arguments), this.finishNode(r, "Ca\
llExpression");
      }
      return e;
    }
    parseBreakContinueStatement(e, s) {
      return this.next(), this.isLineTerminator() ? e.label = null : (e.label = this.parseIdentifier(), this.semicolon()), this.verifyBreakContinue(
      e, s), this.finishNode(e, s ? "BreakStatement" : "ContinueStatement");
    }
    verifyBreakContinue(e, s) {
      let r;
      for (r = 0; r < this.state.labels.length; ++r) {
        let i = this.state.labels[r];
        if ((e.label == null || i.name === e.label.name) && (i.kind != null && (s || i.kind === 1) || e.label && s))
          break;
      }
      if (r === this.state.labels.length) {
        let i = s ? "BreakStatement" : "ContinueStatement";
        this.raise(te.IllegalBreakContinue, e, {
          type: i
        });
      }
    }
    parseDebuggerStatement(e) {
      return this.next(), this.semicolon(), this.finishNode(e, "DebuggerStatement");
    }
    parseHeaderExpression() {
      this.expect(10);
      let e = this.parseExpression();
      return this.expect(11), e;
    }
    parseDoWhileStatement(e) {
      return this.next(), this.state.labels.push(o3), e.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.state.
      labels.pop(), this.expect(92), e.test = this.parseHeaderExpression(), this.eat(13), this.finishNode(e, "DoWhileStatement");
    }
    parseForStatement(e) {
      this.next(), this.state.labels.push(o3);
      let s = null;
      if (this.isContextual(96) && this.recordAwaitIfAllowed() && (s = this.state.startLoc, this.next()), this.scope.enter(0), this.expect(10),
      this.match(13))
        return s !== null && this.unexpected(s), this.parseFor(e, null);
      let r = this.isContextual(100);
      {
        let u = this.isContextual(96) && this.startsAwaitUsing(), c = u || this.isContextual(107) && this.startsUsingForOf(), p = r && this.
        hasFollowingBindingAtom() || c;
        if (this.match(74) || this.match(75) || p) {
          let h = this.startNode(), f;
          u ? (f = "await using", this.recordAwaitIfAllowed() || this.raise(te.AwaitUsingNotInAsyncContext, this.state.startLoc), this.next()) :
          f = this.state.value, this.next(), this.parseVar(h, !0, f);
          let d = this.finishNode(h, "VariableDeclaration"), m = this.match(58);
          return m && c && this.raise(te.ForInUsing, d), (m || this.isContextual(102)) && d.declarations.length === 1 ? this.parseForIn(e, d,
          s) : (s !== null && this.unexpected(s), this.parseFor(e, d));
        }
      }
      let i = this.isContextual(95), a = new qm(), o = this.parseExpression(!0, a), l = this.isContextual(102);
      if (l && (r && this.raise(te.ForOfLet, o), s === null && i && o.type === "Identifier" && this.raise(te.ForOfAsync, o)), l || this.match(
      58)) {
        this.checkDestructuringPrivate(a), this.toAssignable(o, !0);
        let u = l ? "ForOfStatement" : "ForInStatement";
        return this.checkLVal(o, {
          type: u
        }), this.parseForIn(e, o, s);
      } else
        this.checkExpressionErrors(a, !0);
      return s !== null && this.unexpected(s), this.parseFor(e, o);
    }
    parseFunctionStatement(e, s, r) {
      return this.next(), this.parseFunction(e, 1 | (r ? 2 : 0) | (s ? 8 : 0));
    }
    parseIfStatement(e) {
      return this.next(), e.test = this.parseHeaderExpression(), e.consequent = this.parseStatementOrSloppyAnnexBFunctionDeclaration(), e.alternate =
      this.eat(66) ? this.parseStatementOrSloppyAnnexBFunctionDeclaration() : null, this.finishNode(e, "IfStatement");
    }
    parseReturnStatement(e) {
      return !this.prodParam.hasReturn && !(this.optionFlags & 2) && this.raise(te.IllegalReturn, this.state.startLoc), this.next(), this.isLineTerminator() ?
      e.argument = null : (e.argument = this.parseExpression(), this.semicolon()), this.finishNode(e, "ReturnStatement");
    }
    parseSwitchStatement(e) {
      this.next(), e.discriminant = this.parseHeaderExpression();
      let s = e.cases = [];
      this.expect(5), this.state.labels.push(O4t), this.scope.enter(0);
      let r;
      for (let i; !this.match(8); )
        if (this.match(61) || this.match(65)) {
          let a = this.match(61);
          r && this.finishNode(r, "SwitchCase"), s.push(r = this.startNode()), r.consequent = [], this.next(), a ? r.test = this.parseExpression() :
          (i && this.raise(te.MultipleDefaultsInSwitch, this.state.lastTokStartLoc), i = !0, r.test = null), this.expect(14);
        } else
          r ? r.consequent.push(this.parseStatementListItem()) : this.unexpected();
      return this.scope.exit(), r && this.finishNode(r, "SwitchCase"), this.next(), this.state.labels.pop(), this.finishNode(e, "SwitchState\
ment");
    }
    parseThrowStatement(e) {
      return this.next(), this.hasPrecedingLineBreak() && this.raise(te.NewlineAfterThrow, this.state.lastTokEndLoc), e.argument = this.parseExpression(),
      this.semicolon(), this.finishNode(e, "ThrowStatement");
    }
    parseCatchClauseParam() {
      let e = this.parseBindingAtom();
      return this.scope.enter(this.options.annexB && e.type === "Identifier" ? 8 : 0), this.checkLVal(e, {
        type: "CatchClause"
      }, 9), e;
    }
    parseTryStatement(e) {
      if (this.next(), e.block = this.parseBlock(), e.handler = null, this.match(62)) {
        let s = this.startNode();
        this.next(), this.match(10) ? (this.expect(10), s.param = this.parseCatchClauseParam(), this.expect(11)) : (s.param = null, this.scope.
        enter(0)), s.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(!1, !1)), this.scope.exit(), e.handler = this.finishNode(
        s, "CatchClause");
      }
      return e.finalizer = this.eat(67) ? this.parseBlock() : null, !e.handler && !e.finalizer && this.raise(te.NoCatchOrFinally, e), this.finishNode(
      e, "TryStatement");
    }
    parseVarStatement(e, s, r = !1) {
      return this.next(), this.parseVar(e, !1, s, r), this.semicolon(), this.finishNode(e, "VariableDeclaration");
    }
    parseWhileStatement(e) {
      return this.next(), e.test = this.parseHeaderExpression(), this.state.labels.push(o3), e.body = this.withSmartMixTopicForbiddingContext(
      () => this.parseStatement()), this.state.labels.pop(), this.finishNode(e, "WhileStatement");
    }
    parseWithStatement(e) {
      return this.state.strict && this.raise(te.StrictWith, this.state.startLoc), this.next(), e.object = this.parseHeaderExpression(), e.body =
      this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.finishNode(e, "WithStatement");
    }
    parseEmptyStatement(e) {
      return this.next(), this.finishNode(e, "EmptyStatement");
    }
    parseLabeledStatement(e, s, r, i) {
      for (let o of this.state.labels)
        o.name === s && this.raise(te.LabelRedeclaration, r, {
          labelName: s
        });
      let a = j3t(this.state.type) ? 1 : this.match(71) ? 2 : null;
      for (let o = this.state.labels.length - 1; o >= 0; o--) {
        let l = this.state.labels[o];
        if (l.statementStart === e.start)
          l.statementStart = this.sourceToOffsetPos(this.state.start), l.kind = a;
        else
          break;
      }
      return this.state.labels.push({
        name: s,
        kind: a,
        statementStart: this.sourceToOffsetPos(this.state.start)
      }), e.body = i & 8 ? this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0) : this.parseStatement(), this.state.labels.pop(), e.label =
      r, this.finishNode(e, "LabeledStatement");
    }
    parseExpressionStatement(e, s, r) {
      return e.expression = s, this.semicolon(), this.finishNode(e, "ExpressionStatement");
    }
    parseBlock(e = !1, s = !0, r) {
      let i = this.startNode();
      return e && this.state.strictErrors.clear(), this.expect(5), s && this.scope.enter(0), this.parseBlockBody(i, e, !1, 8, r), s && this.
      scope.exit(), this.finishNode(i, "BlockStatement");
    }
    isValidDirective(e) {
      return e.type === "ExpressionStatement" && e.expression.type === "StringLiteral" && !e.expression.extra.parenthesized;
    }
    parseBlockBody(e, s, r, i, a) {
      let o = e.body = [], l = e.directives = [];
      this.parseBlockOrModuleBlockBody(o, s ? l : void 0, r, i, a);
    }
    parseBlockOrModuleBlockBody(e, s, r, i, a) {
      let o = this.state.strict, l = !1, u = !1;
      for (; !this.match(i); ) {
        let c = r ? this.parseModuleItem() : this.parseStatementListItem();
        if (s && !u) {
          if (this.isValidDirective(c)) {
            let p = this.stmtToDirective(c);
            s.push(p), !l && p.value.value === "use strict" && (l = !0, this.setStrict(!0));
            continue;
          }
          u = !0, this.state.strictErrors.clear();
        }
        e.push(c);
      }
      a?.call(this, l), o || this.setStrict(!1), this.next();
    }
    parseFor(e, s) {
      return e.init = s, this.semicolon(!1), e.test = this.match(13) ? null : this.parseExpression(), this.semicolon(!1), e.update = this.match(
      11) ? null : this.parseExpression(), this.expect(11), e.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.
      scope.exit(), this.state.labels.pop(), this.finishNode(e, "ForStatement");
    }
    parseForIn(e, s, r) {
      let i = this.match(58);
      return this.next(), i ? r !== null && this.unexpected(r) : e.await = r !== null, s.type === "VariableDeclaration" && s.declarations[0].
      init != null && (!i || !this.options.annexB || this.state.strict || s.kind !== "var" || s.declarations[0].id.type !== "Identifier") &&
      this.raise(te.ForInOfLoopInitializer, s, {
        type: i ? "ForInStatement" : "ForOfStatement"
      }), s.type === "AssignmentPattern" && this.raise(te.InvalidLhs, s, {
        ancestor: {
          type: "ForStatement"
        }
      }), e.left = s, e.right = i ? this.parseExpression() : this.parseMaybeAssignAllowIn(), this.expect(11), e.body = this.withSmartMixTopicForbiddingContext(
      () => this.parseStatement()), this.scope.exit(), this.state.labels.pop(), this.finishNode(e, i ? "ForInStatement" : "ForOfStatement");
    }
    parseVar(e, s, r, i = !1) {
      let a = e.declarations = [];
      for (e.kind = r; ; ) {
        let o = this.startNode();
        if (this.parseVarId(o, r), o.init = this.eat(29) ? s ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn() : null, o.
        init === null && !i && (o.id.type !== "Identifier" && !(s && (this.match(58) || this.isContextual(102))) ? this.raise(te.DeclarationMissingInitializer,
        this.state.lastTokEndLoc, {
          kind: "destructuring"
        }) : (r === "const" || r === "using" || r === "await using") && !(this.match(58) || this.isContextual(102)) && this.raise(te.DeclarationMissingInitializer,
        this.state.lastTokEndLoc, {
          kind: r
        })), a.push(this.finishNode(o, "VariableDeclarator")), !this.eat(12)) break;
      }
      return e;
    }
    parseVarId(e, s) {
      let r = this.parseBindingAtom();
      (s === "using" || s === "await using") && (r.type === "ArrayPattern" || r.type === "ObjectPattern") && this.raise(te.UsingDeclarationHasBindingPattern,
      r.loc.start), this.checkLVal(r, {
        type: "VariableDeclarator"
      }, s === "var" ? 5 : 8201), e.id = r;
    }
    parseAsyncFunctionExpression(e) {
      return this.parseFunction(e, 8);
    }
    parseFunction(e, s = 0) {
      let r = s & 2, i = !!(s & 1), a = i && !(s & 4), o = !!(s & 8);
      this.initFunction(e, o), this.match(55) && (r && this.raise(te.GeneratorInSingleStatementContext, this.state.startLoc), this.next(), e.
      generator = !0), i && (e.id = this.parseFunctionId(a));
      let l = this.state.maybeInArrowParameters;
      return this.state.maybeInArrowParameters = !1, this.scope.enter(2), this.prodParam.enter(WA(o, e.generator)), i || (e.id = this.parseFunctionId()),
      this.parseFunctionParams(e, !1), this.withSmartMixTopicForbiddingContext(() => {
        this.parseFunctionBodyAndFinish(e, i ? "FunctionDeclaration" : "FunctionExpression");
      }), this.prodParam.exit(), this.scope.exit(), i && !r && this.registerFunctionStatementId(e), this.state.maybeInArrowParameters = l, e;
    }
    parseFunctionId(e) {
      return e || rr(this.state.type) ? this.parseIdentifier() : null;
    }
    parseFunctionParams(e, s) {
      this.expect(10), this.expressionScope.enter(l4t()), e.params = this.parseBindingList(11, 41, 2 | (s ? 4 : 0)), this.expressionScope.exit();
    }
    registerFunctionStatementId(e) {
      e.id && this.scope.declareName(e.id.name, !this.options.annexB || this.state.strict || e.generator || e.async ? this.scope.treatFunctionsAsVar ?
      5 : 8201 : 17, e.id.loc.start);
    }
    parseClass(e, s, r) {
      this.next();
      let i = this.state.strict;
      return this.state.strict = !0, this.parseClassId(e, s, r), this.parseClassSuper(e), e.body = this.parseClassBody(!!e.superClass, i), this.
      finishNode(e, s ? "ClassDeclaration" : "ClassExpression");
    }
    isClassProperty() {
      return this.match(29) || this.match(13) || this.match(8);
    }
    isClassMethod() {
      return this.match(10);
    }
    nameIsConstructor(e) {
      return e.type === "Identifier" && e.name === "constructor" || e.type === "StringLiteral" && e.value === "constructor";
    }
    isNonstaticConstructor(e) {
      return !e.computed && !e.static && this.nameIsConstructor(e.key);
    }
    parseClassBody(e, s) {
      this.classScope.enter();
      let r = {
        hadConstructor: !1,
        hadSuperClass: e
      }, i = [], a = this.startNode();
      if (a.body = [], this.expect(5), this.withSmartMixTopicForbiddingContext(() => {
        for (; !this.match(8); ) {
          if (this.eat(13)) {
            if (i.length > 0)
              throw this.raise(te.DecoratorSemicolon, this.state.lastTokEndLoc);
            continue;
          }
          if (this.match(26)) {
            i.push(this.parseDecorator());
            continue;
          }
          let o = this.startNode();
          i.length && (o.decorators = i, this.resetStartLocationFromNode(o, i[0]), i = []), this.parseClassMember(a, o, r), o.kind === "cons\
tructor" && o.decorators && o.decorators.length > 0 && this.raise(te.DecoratorConstructor, o);
        }
      }), this.state.strict = s, this.next(), i.length)
        throw this.raise(te.TrailingDecorator, this.state.startLoc);
      return this.classScope.exit(), this.finishNode(a, "ClassBody");
    }
    parseClassMemberFromModifier(e, s) {
      let r = this.parseIdentifier(!0);
      if (this.isClassMethod()) {
        let i = s;
        return i.kind = "method", i.computed = !1, i.key = r, i.static = !1, this.pushClassMethod(e, i, !1, !1, !1, !1), !0;
      } else if (this.isClassProperty()) {
        let i = s;
        return i.computed = !1, i.key = r, i.static = !1, e.body.push(this.parseClassProperty(i)), !0;
      }
      return this.resetPreviousNodeTrailingComments(r), !1;
    }
    parseClassMember(e, s, r) {
      let i = this.isContextual(106);
      if (i) {
        if (this.parseClassMemberFromModifier(e, s))
          return;
        if (this.eat(5)) {
          this.parseClassStaticBlock(e, s);
          return;
        }
      }
      this.parseClassMemberWithIsStatic(e, s, r, i);
    }
    parseClassMemberWithIsStatic(e, s, r, i) {
      let a = s, o = s, l = s, u = s, c = s, p = a, h = a;
      if (s.static = i, this.parsePropertyNamePrefixOperator(s), this.eat(55)) {
        p.kind = "method";
        let b = this.match(139);
        if (this.parseClassElementName(p), b) {
          this.pushClassPrivateMethod(e, o, !0, !1);
          return;
        }
        this.isNonstaticConstructor(a) && this.raise(te.ConstructorIsGenerator, a.key), this.pushClassMethod(e, a, !0, !1, !1, !1);
        return;
      }
      let f = !this.state.containsEsc && rr(this.state.type), d = this.parseClassElementName(s), m = f ? d.name : null, y = this.isPrivateName(
      d), T = this.state.startLoc;
      if (this.parsePostMemberNameModifiers(h), this.isClassMethod()) {
        if (p.kind = "method", y) {
          this.pushClassPrivateMethod(e, o, !1, !1);
          return;
        }
        let b = this.isNonstaticConstructor(a), E = !1;
        b && (a.kind = "constructor", r.hadConstructor && !this.hasPlugin("typescript") && this.raise(te.DuplicateConstructor, d), b && this.
        hasPlugin("typescript") && s.override && this.raise(te.OverrideOnConstructor, d), r.hadConstructor = !0, E = r.hadSuperClass), this.
        pushClassMethod(e, a, !1, !1, b, E);
      } else if (this.isClassProperty())
        y ? this.pushClassPrivateProperty(e, u) : this.pushClassProperty(e, l);
      else if (m === "async" && !this.isLineTerminator()) {
        this.resetPreviousNodeTrailingComments(d);
        let b = this.eat(55);
        h.optional && this.unexpected(T), p.kind = "method";
        let E = this.match(139);
        this.parseClassElementName(p), this.parsePostMemberNameModifiers(h), E ? this.pushClassPrivateMethod(e, o, b, !0) : (this.isNonstaticConstructor(
        a) && this.raise(te.ConstructorIsAsync, a.key), this.pushClassMethod(e, a, b, !0, !1, !1));
      } else if ((m === "get" || m === "set") && !(this.match(55) && this.isLineTerminator())) {
        this.resetPreviousNodeTrailingComments(d), p.kind = m;
        let b = this.match(139);
        this.parseClassElementName(a), b ? this.pushClassPrivateMethod(e, o, !1, !1) : (this.isNonstaticConstructor(a) && this.raise(te.ConstructorIsAccessor,
        a.key), this.pushClassMethod(e, a, !1, !1, !1, !1)), this.checkGetterSetterParams(a);
      } else if (m === "accessor" && !this.isLineTerminator()) {
        this.expectPlugin("decoratorAutoAccessors"), this.resetPreviousNodeTrailingComments(d);
        let b = this.match(139);
        this.parseClassElementName(l), this.pushClassAccessorProperty(e, c, b);
      } else this.isLineTerminator() ? y ? this.pushClassPrivateProperty(e, u) : this.pushClassProperty(e, l) : this.unexpected();
    }
    parseClassElementName(e) {
      let {
        type: s,
        value: r
      } = this.state;
      if ((s === 132 || s === 134) && e.static && r === "prototype" && this.raise(te.StaticPrototype, this.state.startLoc), s === 139) {
        r === "constructor" && this.raise(te.ConstructorClassPrivateField, this.state.startLoc);
        let i = this.parsePrivateName();
        return e.key = i, i;
      }
      return this.parsePropertyName(e), e.key;
    }
    parseClassStaticBlock(e, s) {
      var r;
      this.scope.enter(208);
      let i = this.state.labels;
      this.state.labels = [], this.prodParam.enter(0);
      let a = s.body = [];
      this.parseBlockOrModuleBlockBody(a, void 0, !1, 8), this.prodParam.exit(), this.scope.exit(), this.state.labels = i, e.body.push(this.
      finishNode(s, "StaticBlock")), (r = s.decorators) != null && r.length && this.raise(te.DecoratorStaticBlock, s);
    }
    pushClassProperty(e, s) {
      !s.computed && this.nameIsConstructor(s.key) && this.raise(te.ConstructorClassField, s.key), e.body.push(this.parseClassProperty(s));
    }
    pushClassPrivateProperty(e, s) {
      let r = this.parseClassPrivateProperty(s);
      e.body.push(r), this.classScope.declarePrivateName(this.getPrivateNameSV(r.key), 0, r.key.loc.start);
    }
    pushClassAccessorProperty(e, s, r) {
      !r && !s.computed && this.nameIsConstructor(s.key) && this.raise(te.ConstructorClassField, s.key);
      let i = this.parseClassAccessorProperty(s);
      e.body.push(i), r && this.classScope.declarePrivateName(this.getPrivateNameSV(i.key), 0, i.key.loc.start);
    }
    pushClassMethod(e, s, r, i, a, o) {
      e.body.push(this.parseMethod(s, r, i, a, o, "ClassMethod", !0));
    }
    pushClassPrivateMethod(e, s, r, i) {
      let a = this.parseMethod(s, r, i, !1, !1, "ClassPrivateMethod", !0);
      e.body.push(a);
      let o = a.kind === "get" ? a.static ? 6 : 2 : a.kind === "set" ? a.static ? 5 : 1 : 0;
      this.declareClassPrivateMethodInScope(a, o);
    }
    declareClassPrivateMethodInScope(e, s) {
      this.classScope.declarePrivateName(this.getPrivateNameSV(e.key), s, e.key.loc.start);
    }
    parsePostMemberNameModifiers(e) {
    }
    parseClassPrivateProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassPrivateProperty");
    }
    parseClassProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassProperty");
    }
    parseClassAccessorProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassAccessorProperty");
    }
    parseInitializer(e) {
      this.scope.enter(80), this.expressionScope.enter(koe()), this.prodParam.enter(0), e.value = this.eat(29) ? this.parseMaybeAssignAllowIn() :
      null, this.expressionScope.exit(), this.prodParam.exit(), this.scope.exit();
    }
    parseClassId(e, s, r, i = 8331) {
      if (rr(this.state.type))
        e.id = this.parseIdentifier(), s && this.declareNameFromIdentifier(e.id, i);
      else if (r || !s)
        e.id = null;
      else
        throw this.raise(te.MissingClassName, this.state.startLoc);
    }
    parseClassSuper(e) {
      e.superClass = this.eat(81) ? this.parseExprSubscripts() : null;
    }
    parseExport(e, s) {
      let r = this.parseMaybeImportPhase(e, !0), i = this.maybeParseExportDefaultSpecifier(e, r), a = !i || this.eat(12), o = a && this.eatExportStar(
      e), l = o && this.maybeParseExportNamespaceSpecifier(e), u = a && (!l || this.eat(12)), c = i || o;
      if (o && !l) {
        if (i && this.unexpected(), s)
          throw this.raise(te.UnsupportedDecoratorExport, e);
        return this.parseExportFrom(e, !0), this.finishNode(e, "ExportAllDeclaration");
      }
      let p = this.maybeParseExportNamedSpecifiers(e);
      i && a && !o && !p && this.unexpected(null, 5), l && u && this.unexpected(null, 98);
      let h;
      if (c || p) {
        if (h = !1, s)
          throw this.raise(te.UnsupportedDecoratorExport, e);
        this.parseExportFrom(e, c);
      } else
        h = this.maybeParseExportDeclaration(e);
      if (c || p || h) {
        var f;
        let d = e;
        if (this.checkExport(d, !0, !1, !!d.source), ((f = d.declaration) == null ? void 0 : f.type) === "ClassDeclaration")
          this.maybeTakeDecorators(s, d.declaration, d);
        else if (s)
          throw this.raise(te.UnsupportedDecoratorExport, e);
        return this.finishNode(d, "ExportNamedDeclaration");
      }
      if (this.eat(65)) {
        let d = e, m = this.parseExportDefaultExpression();
        if (d.declaration = m, m.type === "ClassDeclaration")
          this.maybeTakeDecorators(s, m, d);
        else if (s)
          throw this.raise(te.UnsupportedDecoratorExport, e);
        return this.checkExport(d, !0, !0), this.finishNode(d, "ExportDefaultDeclaration");
      }
      this.unexpected(null, 5);
    }
    eatExportStar(e) {
      return this.eat(55);
    }
    maybeParseExportDefaultSpecifier(e, s) {
      if (s || this.isExportDefaultSpecifier()) {
        this.expectPlugin("exportDefaultFrom", s?.loc.start);
        let r = s || this.parseIdentifier(!0), i = this.startNodeAtNode(r);
        return i.exported = r, e.specifiers = [this.finishNode(i, "ExportDefaultSpecifier")], !0;
      }
      return !1;
    }
    maybeParseExportNamespaceSpecifier(e) {
      if (this.isContextual(93)) {
        var s, r;
        (r = (s = e).specifiers) != null || (s.specifiers = []);
        let i = this.startNodeAt(this.state.lastTokStartLoc);
        return this.next(), i.exported = this.parseModuleExportName(), e.specifiers.push(this.finishNode(i, "ExportNamespaceSpecifier")), !0;
      }
      return !1;
    }
    maybeParseExportNamedSpecifiers(e) {
      if (this.match(5)) {
        let s = e;
        s.specifiers || (s.specifiers = []);
        let r = s.exportKind === "type";
        return s.specifiers.push(...this.parseExportSpecifiers(r)), s.source = null, s.declaration = null, this.hasPlugin("importAssertions") &&
        (s.assertions = []), !0;
      }
      return !1;
    }
    maybeParseExportDeclaration(e) {
      return this.shouldParseExportDeclaration() ? (e.specifiers = [], e.source = null, this.hasPlugin("importAssertions") && (e.assertions =
      []), e.declaration = this.parseExportDeclaration(e), !0) : !1;
    }
    isAsyncFunction() {
      if (!this.isContextual(95)) return !1;
      let e = this.nextTokenInLineStart();
      return this.isUnparsedContextual(e, "function");
    }
    parseExportDefaultExpression() {
      let e = this.startNode();
      if (this.match(68))
        return this.next(), this.parseFunction(e, 5);
      if (this.isAsyncFunction())
        return this.next(), this.next(), this.parseFunction(e, 13);
      if (this.match(80))
        return this.parseClass(e, !0, !0);
      if (this.match(26))
        return this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") === !0 && this.raise(te.DecoratorBeforeExport,
        this.state.startLoc), this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1), this.startNode()), !0, !0);
      if (this.match(75) || this.match(74) || this.isLet())
        throw this.raise(te.UnsupportedDefaultExport, this.state.startLoc);
      let s = this.parseMaybeAssignAllowIn();
      return this.semicolon(), s;
    }
    parseExportDeclaration(e) {
      return this.match(80) ? this.parseClass(this.startNode(), !0, !1) : this.parseStatementListItem();
    }
    isExportDefaultSpecifier() {
      let {
        type: e
      } = this.state;
      if (rr(e)) {
        if (e === 95 && !this.state.containsEsc || e === 100)
          return !1;
        if ((e === 130 || e === 129) && !this.state.containsEsc) {
          let {
            type: i
          } = this.lookahead();
          if (rr(i) && i !== 98 || i === 5)
            return this.expectOnePlugin(["flow", "typescript"]), !1;
        }
      } else if (!this.match(65))
        return !1;
      let s = this.nextTokenStart(), r = this.isUnparsedContextual(s, "from");
      if (this.input.charCodeAt(s) === 44 || rr(this.state.type) && r)
        return !0;
      if (this.match(65) && r) {
        let i = this.input.charCodeAt(this.nextTokenStartSince(s + 4));
        return i === 34 || i === 39;
      }
      return !1;
    }
    parseExportFrom(e, s) {
      this.eatContextual(98) ? (e.source = this.parseImportSource(), this.checkExport(e), this.maybeParseImportAttributes(e), this.checkJSONModuleImport(
      e)) : s && this.unexpected(), this.semicolon();
    }
    shouldParseExportDeclaration() {
      let {
        type: e
      } = this.state;
      return e === 26 && (this.expectOnePlugin(["decorators", "decorators-legacy"]), this.hasPlugin("decorators")) ? (this.getPluginOption("\
decorators", "decoratorsBeforeExport") === !0 && this.raise(te.DecoratorBeforeExport, this.state.startLoc), !0) : this.isContextual(107) ? (this.
      raise(te.UsingDeclarationExport, this.state.startLoc), !0) : this.isContextual(96) && this.startsAwaitUsing() ? (this.raise(te.UsingDeclarationExport,
      this.state.startLoc), !0) : e === 74 || e === 75 || e === 68 || e === 80 || this.isLet() || this.isAsyncFunction();
    }
    checkExport(e, s, r, i) {
      if (s) {
        var a;
        if (r) {
          if (this.checkDuplicateExports(e, "default"), this.hasPlugin("exportDefaultFrom")) {
            var o;
            let l = e.declaration;
            l.type === "Identifier" && l.name === "from" && l.end - l.start === 4 && !((o = l.extra) != null && o.parenthesized) && this.raise(
            te.ExportDefaultFromAsIdentifier, l);
          }
        } else if ((a = e.specifiers) != null && a.length)
          for (let l of e.specifiers) {
            let {
              exported: u
            } = l, c = u.type === "Identifier" ? u.name : u.value;
            if (this.checkDuplicateExports(l, c), !i && l.local) {
              let {
                local: p
              } = l;
              p.type !== "Identifier" ? this.raise(te.ExportBindingIsString, l, {
                localName: p.value,
                exportName: c
              }) : (this.checkReservedWord(p.name, p.loc.start, !0, !1), this.scope.checkLocalExport(p));
            }
          }
        else if (e.declaration) {
          let l = e.declaration;
          if (l.type === "FunctionDeclaration" || l.type === "ClassDeclaration") {
            let {
              id: u
            } = l;
            if (!u) throw new Error("Assertion failure");
            this.checkDuplicateExports(e, u.name);
          } else if (l.type === "VariableDeclaration")
            for (let u of l.declarations)
              this.checkDeclaration(u.id);
        }
      }
    }
    checkDeclaration(e) {
      if (e.type === "Identifier")
        this.checkDuplicateExports(e, e.name);
      else if (e.type === "ObjectPattern")
        for (let s of e.properties)
          this.checkDeclaration(s);
      else if (e.type === "ArrayPattern")
        for (let s of e.elements)
          s && this.checkDeclaration(s);
      else e.type === "ObjectProperty" ? this.checkDeclaration(e.value) : e.type === "RestElement" ? this.checkDeclaration(e.argument) : e.type ===
      "AssignmentPattern" && this.checkDeclaration(e.left);
    }
    checkDuplicateExports(e, s) {
      this.exportedIdentifiers.has(s) && (s === "default" ? this.raise(te.DuplicateDefaultExport, e) : this.raise(te.DuplicateExport, e, {
        exportName: s
      })), this.exportedIdentifiers.add(s);
    }
    parseExportSpecifiers(e) {
      let s = [], r = !0;
      for (this.expect(5); !this.eat(8); ) {
        if (r)
          r = !1;
        else if (this.expect(12), this.eat(8)) break;
        let i = this.isContextual(130), a = this.match(134), o = this.startNode();
        o.local = this.parseModuleExportName(), s.push(this.parseExportSpecifier(o, a, e, i));
      }
      return s;
    }
    parseExportSpecifier(e, s, r, i) {
      return this.eatContextual(93) ? e.exported = this.parseModuleExportName() : s ? e.exported = h4t(e.local) : e.exported || (e.exported =
      Yu(e.local)), this.finishNode(e, "ExportSpecifier");
    }
    parseModuleExportName() {
      if (this.match(134)) {
        let e = this.parseStringLiteral(this.state.value), s = _4t.exec(e.value);
        return s && this.raise(te.ModuleExportNameHasLoneSurrogate, e, {
          surrogateCharCode: s[0].charCodeAt(0)
        }), e;
      }
      return this.parseIdentifier(!0);
    }
    isJSONModuleImport(e) {
      return e.assertions != null ? e.assertions.some(({
        key: s,
        value: r
      }) => r.value === "json" && (s.type === "Identifier" ? s.name === "type" : s.value === "type")) : !1;
    }
    checkImportReflection(e) {
      let {
        specifiers: s
      } = e, r = s.length === 1 ? s[0].type : null;
      if (e.phase === "source")
        r !== "ImportDefaultSpecifier" && this.raise(te.SourcePhaseImportRequiresDefault, s[0].loc.start);
      else if (e.phase === "defer")
        r !== "ImportNamespaceSpecifier" && this.raise(te.DeferImportRequiresNamespace, s[0].loc.start);
      else if (e.module) {
        var i;
        r !== "ImportDefaultSpecifier" && this.raise(te.ImportReflectionNotBinding, s[0].loc.start), ((i = e.assertions) == null ? void 0 : i.
        length) > 0 && this.raise(te.ImportReflectionHasAssertion, s[0].loc.start);
      }
    }
    checkJSONModuleImport(e) {
      if (this.isJSONModuleImport(e) && e.type !== "ExportAllDeclaration") {
        let {
          specifiers: s
        } = e;
        if (s != null) {
          let r = s.find((i) => {
            let a;
            if (i.type === "ExportSpecifier" ? a = i.local : i.type === "ImportSpecifier" && (a = i.imported), a !== void 0)
              return a.type === "Identifier" ? a.name !== "default" : a.value !== "default";
          });
          r !== void 0 && this.raise(te.ImportJSONBindingNotDefault, r.loc.start);
        }
      }
    }
    isPotentialImportPhase(e) {
      return e ? !1 : this.isContextual(105) || this.isContextual(97) || this.isContextual(127);
    }
    applyImportPhase(e, s, r, i) {
      s || (r === "module" ? (this.expectPlugin("importReflection", i), e.module = !0) : this.hasPlugin("importReflection") && (e.module = !1),
      r === "source" ? (this.expectPlugin("sourcePhaseImports", i), e.phase = "source") : r === "defer" ? (this.expectPlugin("deferredImport\
Evaluation", i), e.phase = "defer") : this.hasPlugin("sourcePhaseImports") && (e.phase = null));
    }
    parseMaybeImportPhase(e, s) {
      if (!this.isPotentialImportPhase(s))
        return this.applyImportPhase(e, s, null), null;
      let r = this.parseIdentifier(!0), {
        type: i
      } = this.state;
      return (Bo(i) ? i !== 98 || this.lookaheadCharCode() === 102 : i !== 12) ? (this.resetPreviousIdentifierLeadingComments(r), this.applyImportPhase(
      e, s, r.name, r.loc.start), null) : (this.applyImportPhase(e, s, null), r);
    }
    isPrecedingIdImportPhase(e) {
      let {
        type: s
      } = this.state;
      return rr(s) ? s !== 98 || this.lookaheadCharCode() === 102 : s !== 12;
    }
    parseImport(e) {
      return this.match(134) ? this.parseImportSourceAndAttributes(e) : this.parseImportSpecifiersAndAfter(e, this.parseMaybeImportPhase(e, !1));
    }
    parseImportSpecifiersAndAfter(e, s) {
      e.specifiers = [];
      let i = !this.maybeParseDefaultImportSpecifier(e, s) || this.eat(12), a = i && this.maybeParseStarImportSpecifier(e);
      return i && !a && this.parseNamedImportSpecifiers(e), this.expectContextual(98), this.parseImportSourceAndAttributes(e);
    }
    parseImportSourceAndAttributes(e) {
      var s;
      return (s = e.specifiers) != null || (e.specifiers = []), e.source = this.parseImportSource(), this.maybeParseImportAttributes(e), this.
      checkImportReflection(e), this.checkJSONModuleImport(e), this.semicolon(), this.finishNode(e, "ImportDeclaration");
    }
    parseImportSource() {
      return this.match(134) || this.unexpected(), this.parseExprAtom();
    }
    parseImportSpecifierLocal(e, s, r) {
      s.local = this.parseIdentifier(), e.specifiers.push(this.finishImportSpecifier(s, r));
    }
    finishImportSpecifier(e, s, r = 8201) {
      return this.checkLVal(e.local, {
        type: s
      }, r), this.finishNode(e, s);
    }
    parseImportAttributes() {
      this.expect(5);
      let e = [], s = /* @__PURE__ */ new Set();
      do {
        if (this.match(8))
          break;
        let r = this.startNode(), i = this.state.value;
        if (s.has(i) && this.raise(te.ModuleAttributesWithDuplicateKeys, this.state.startLoc, {
          key: i
        }), s.add(i), this.match(134) ? r.key = this.parseStringLiteral(i) : r.key = this.parseIdentifier(!0), this.expect(14), !this.match(
        134))
          throw this.raise(te.ModuleAttributeInvalidValue, this.state.startLoc);
        r.value = this.parseStringLiteral(this.state.value), e.push(this.finishNode(r, "ImportAttribute"));
      } while (this.eat(12));
      return this.expect(8), e;
    }
    parseModuleAttributes() {
      let e = [], s = /* @__PURE__ */ new Set();
      do {
        let r = this.startNode();
        if (r.key = this.parseIdentifier(!0), r.key.name !== "type" && this.raise(te.ModuleAttributeDifferentFromType, r.key), s.has(r.key.name) &&
        this.raise(te.ModuleAttributesWithDuplicateKeys, r.key, {
          key: r.key.name
        }), s.add(r.key.name), this.expect(14), !this.match(134))
          throw this.raise(te.ModuleAttributeInvalidValue, this.state.startLoc);
        r.value = this.parseStringLiteral(this.state.value), e.push(this.finishNode(r, "ImportAttribute"));
      } while (this.eat(12));
      return e;
    }
    maybeParseImportAttributes(e) {
      let s;
      var r = !1;
      if (this.match(76)) {
        if (this.hasPrecedingLineBreak() && this.lookaheadCharCode() === 40)
          return;
        this.next(), this.hasPlugin("moduleAttributes") ? s = this.parseModuleAttributes() : s = this.parseImportAttributes(), r = !0;
      } else this.isContextual(94) && !this.hasPrecedingLineBreak() ? (!this.hasPlugin("deprecatedImportAssert") && !this.hasPlugin("importA\
ssertions") && this.raise(te.ImportAttributesUseAssert, this.state.startLoc), this.hasPlugin("importAssertions") || this.addExtra(e, "deprec\
atedAssertSyntax", !0), this.next(), s = this.parseImportAttributes()) : s = [];
      !r && this.hasPlugin("importAssertions") ? e.assertions = s : e.attributes = s;
    }
    maybeParseDefaultImportSpecifier(e, s) {
      if (s) {
        let r = this.startNodeAtNode(s);
        return r.local = s, e.specifiers.push(this.finishImportSpecifier(r, "ImportDefaultSpecifier")), !0;
      } else if (Bo(this.state.type))
        return this.parseImportSpecifierLocal(e, this.startNode(), "ImportDefaultSpecifier"), !0;
      return !1;
    }
    maybeParseStarImportSpecifier(e) {
      if (this.match(55)) {
        let s = this.startNode();
        return this.next(), this.expectContextual(93), this.parseImportSpecifierLocal(e, s, "ImportNamespaceSpecifier"), !0;
      }
      return !1;
    }
    parseNamedImportSpecifiers(e) {
      let s = !0;
      for (this.expect(5); !this.eat(8); ) {
        if (s)
          s = !1;
        else {
          if (this.eat(14))
            throw this.raise(te.DestructureNamedImport, this.state.startLoc);
          if (this.expect(12), this.eat(8)) break;
        }
        let r = this.startNode(), i = this.match(134), a = this.isContextual(130);
        r.imported = this.parseModuleExportName();
        let o = this.parseImportSpecifier(r, i, e.importKind === "type" || e.importKind === "typeof", a, void 0);
        e.specifiers.push(o);
      }
    }
    parseImportSpecifier(e, s, r, i, a) {
      if (this.eatContextual(93))
        e.local = this.parseIdentifier();
      else {
        let {
          imported: o
        } = e;
        if (s)
          throw this.raise(te.ImportBindingIsString, e, {
            importName: o.value
          });
        this.checkReservedWord(o.name, e.loc.start, !0, !0), e.local || (e.local = Yu(o));
      }
      return this.finishImportSpecifier(e, "ImportSpecifier", a);
    }
    isThisParam(e) {
      return e.type === "Identifier" && e.name === "this";
    }
  }, YA = class extends I3 {
    static {
      n(this, "Parser");
    }
    constructor(e, s, r) {
      e = k3t(e), super(e, s), this.options = e, this.initializeScopes(), this.plugins = r, this.filename = e.sourceFilename, this.startIndex =
      e.startIndex;
      let i = 0;
      e.allowAwaitOutsideFunction && (i |= 1), e.allowReturnOutsideFunction && (i |= 2), e.allowImportExportEverywhere && (i |= 8), e.allowSuperOutsideMethod &&
      (i |= 16), e.allowUndeclaredExports && (i |= 32), e.allowNewTargetOutsideFunction && (i |= 4), e.ranges && (i |= 64), e.tokens && (i |=
      128), e.createImportExpressions && (i |= 256), e.createParenthesizedExpressions && (i |= 512), e.errorRecovery && (i |= 1024), e.attachComment &&
      (i |= 2048), e.annexB && (i |= 4096), this.optionFlags = i;
    }
    getScopeHandler() {
      return rT;
    }
    parse() {
      this.enterInitialScopes();
      let e = this.startNode(), s = this.startNode();
      return this.nextToken(), e.errors = null, this.parseTopLevel(e, s), e.errors = this.state.errors, e.comments.length = this.state.commentsLen,
      e;
    }
  };
  function B4t(t, e) {
    var s;
    if (((s = e) == null ? void 0 : s.sourceType) === "unambiguous") {
      e = Object.assign({}, e);
      try {
        e.sourceType = "module";
        let r = eT(e, t), i = r.parse();
        if (r.sawUnambiguousESM)
          return i;
        if (r.ambiguousScriptDifferentAst)
          try {
            return e.sourceType = "script", eT(e, t).parse();
          } catch {
          }
        else
          i.program.sourceType = "script";
        return i;
      } catch (r) {
        try {
          return e.sourceType = "script", eT(e, t).parse();
        } catch {
        }
        throw r;
      }
    } else
      return eT(e, t).parse();
  }
  n(B4t, "parse");
  function M4t(t, e) {
    let s = eT(e, t);
    return s.options.strictMode && (s.state.strict = !0), s.getExpression();
  }
  n(M4t, "parseExpression");
  function F4t(t) {
    let e = {};
    for (let s of Object.keys(t))
      e[s] = Wu(t[s]);
    return e;
  }
  n(F4t, "generateExportedTokenTypes");
  var j4t = F4t(L3t);
  function eT(t, e) {
    let s = YA, r = /* @__PURE__ */ new Map();
    if (t != null && t.plugins) {
      for (let i of t.plugins) {
        let a, o;
        typeof i == "string" ? a = i : [a, o] = i, r.has(a) || r.set(a, o || {});
      }
      k4t(r), s = R4t(r);
    }
    return new s(t, e, r);
  }
  n(eT, "getParser");
  var boe = /* @__PURE__ */ new Map();
  function R4t(t) {
    let e = [];
    for (let i of D4t)
      t.has(i) && e.push(i);
    let s = e.join("|"), r = boe.get(s);
    if (!r) {
      r = YA;
      for (let i of e)
        r = Loe[i](r);
      boe.set(s, r);
    }
    return r;
  }
  n(R4t, "getParserClass");
  nT.parse = B4t;
  nT.parseExpression = M4t;
  nT.tokTypes = j4t;
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/replacement.js
var zF = g((wp) => {
  "use strict";
  Object.defineProperty(wp, "__esModule", {
    value: !0
  });
  wp._replaceWith = Voe;
  wp.replaceExpressionWithStatements = fjt;
  wp.replaceInline = djt;
  wp.replaceWith = hjt;
  wp.replaceWithMultiple = cjt;
  wp.replaceWithSourceString = pjt;
  var q4t = Hl(), q3 = Lo(), U4t = Ep(), qoe = hf(), U3 = FA(), K4t = Boe(), V4t = fe(), Wm = xl(), {
    FUNCTION_TYPES: Moe,
    arrowFunctionExpression: W4t,
    assignmentExpression: Uoe,
    awaitExpression: $4t,
    blockStatement: H4t,
    buildUndefinedNode: R3,
    callExpression: J4t,
    cloneNode: K3,
    conditionalExpression: Y4t,
    expressionStatement: X4t,
    getBindingIdentifiers: z4t,
    identifier: G4t,
    inheritLeadingComments: Q4t,
    inheritTrailingComments: Z4t,
    inheritsComments: ejt,
    isBlockStatement: tjt,
    isEmptyStatement: Foe,
    isExpression: Koe,
    isExpressionStatement: sjt,
    isIfStatement: rjt,
    isProgram: ijt,
    isStatement: njt,
    isVariableDeclaration: ajt,
    removeComments: ojt,
    returnStatement: joe,
    sequenceExpression: ljt,
    validate: Roe,
    yieldExpression: ujt
  } = V4t;
  function cjt(t) {
    var e;
    Wm.resync.call(this), t = U3._verifyNodeList.call(this, t), Q4t(t[0], this.node), Z4t(t[t.length - 1], this.node), (e = (0, qoe.getCachedPaths)(
    this.hub, this.parent)) == null || e.delete(this.node), this.node = this.container[this.key] = null;
    let s = this.insertAfter(t);
    return this.node ? this.requeue() : this.remove(), s;
  }
  n(cjt, "replaceWithMultiple");
  function pjt(t) {
    Wm.resync.call(this);
    let e;
    try {
      t = `(${t})`, e = (0, K4t.parse)(t);
    } catch (r) {
      let i = r.loc;
      throw i && (r.message += ` - make sure this is an expression.
` + (0, q4t.codeFrameColumns)(t, {
        start: {
          line: i.line,
          column: i.column + 1
        }
      }), r.code = "BABEL_REPLACE_SOURCE_ERROR"), r;
    }
    let s = e.program.body[0].expression;
    return q3.default.removeProperties(s), this.replaceWith(s);
  }
  n(pjt, "replaceWithSourceString");
  function hjt(t) {
    if (Wm.resync.call(this), this.removed)
      throw new Error("You can't replace this node, we've already removed it");
    let e = t instanceof U4t.default ? t.node : t;
    if (!e)
      throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");
    if (this.node === e)
      return [this];
    if (this.isProgram() && !ijt(e))
      throw new Error("You can only replace a Program root node with another Program node");
    if (Array.isArray(e))
      throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");
    if (typeof e == "string")
      throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");
    let s = "";
    if (this.isNodeType("Statement") && Koe(e) && !this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(
    e) && !this.parentPath.isExportDefaultDeclaration() && (e = X4t(e), s = "expression"), this.isNodeType("Expression") && njt(e) && !this.
    canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(e))
      return this.replaceExpressionWithStatements([e]);
    let r = this.node;
    return r && (ejt(e, r), ojt(r)), Voe.call(this, e), this.type = e.type, Wm.setScope.call(this), this.requeue(), [s ? this.get(s) : this];
  }
  n(hjt, "replaceWith");
  function Voe(t) {
    var e;
    if (!this.container)
      throw new ReferenceError("Container is falsy");
    this.inList ? Roe(this.parent, this.key, [t]) : Roe(this.parent, this.key, t), this.debug(`Replace with ${t?.type}`), (e = (0, qoe.getCachedPaths)(
    this.hub, this.parent)) == null || e.set(t, this).delete(this.node), this.node = this.container[this.key] = t;
  }
  n(Voe, "_replaceWith");
  function fjt(t) {
    Wm.resync.call(this);
    let e = [], s = XA(t, e);
    if (s) {
      for (let f of e) this.scope.push({
        id: f
      });
      return this.replaceWith(s)[0].get("expressions");
    }
    let r = this.getFunctionParent(), i = r?.node.async, a = r?.node.generator, o = W4t([], H4t(t));
    this.replaceWith(J4t(o, []));
    let l = this.get("callee");
    l.get("body").scope.hoistVariables((f) => this.scope.push({
      id: f
    }));
    let u = l.getCompletionRecords();
    for (let f of u) {
      if (!f.isExpressionStatement()) continue;
      let d = f.findParent((m) => m.isLoop());
      if (d) {
        let m = d.getData("expressionReplacementReturnUid");
        m ? m = G4t(m.name) : (m = l.scope.generateDeclaredUidIdentifier("ret"), l.get("body").pushContainer("body", joe(K3(m))), d.setData(
        "expressionReplacementReturnUid", m)), f.get("expression").replaceWith(Uoe("=", K3(m), f.node.expression));
      } else
        f.replaceWith(joe(f.node.expression));
    }
    l.arrowFunctionToExpression();
    let c = l, p = i && q3.default.hasType(this.get("callee.body").node, "AwaitExpression", Moe), h = a && q3.default.hasType(this.get("call\
ee.body").node, "YieldExpression", Moe);
    return p && (c.set("async", !0), h || this.replaceWith($4t(this.node))), h && (c.set("generator", !0), this.replaceWith(ujt(this.node, !0))),
    c.get("body.body");
  }
  n(fjt, "replaceExpressionWithStatements");
  function XA(t, e) {
    let s = [], r = !0;
    for (let i of t)
      if (Foe(i) || (r = !1), Koe(i))
        s.push(i);
      else if (sjt(i))
        s.push(i.expression);
      else if (ajt(i)) {
        if (i.kind !== "var") return;
        for (let a of i.declarations) {
          let o = z4t(a);
          for (let l of Object.keys(o))
            e.push(K3(o[l]));
          a.init && s.push(Uoe("=", a.id, a.init));
        }
        r = !0;
      } else if (rjt(i)) {
        let a = i.consequent ? XA([i.consequent], e) : R3(), o = i.alternate ? XA([i.alternate], e) : R3();
        if (!a || !o) return;
        s.push(Y4t(i.test, a, o));
      } else if (tjt(i)) {
        let a = XA(i.body, e);
        if (!a) return;
        s.push(a);
      } else if (Foe(i))
        t.indexOf(i) === 0 && (r = !0);
      else
        return;
    return r && s.push(R3()), s.length === 1 ? s[0] : ljt(s);
  }
  n(XA, "gatherSequenceExpressions");
  function djt(t) {
    if (Wm.resync.call(this), Array.isArray(t))
      if (Array.isArray(this.container)) {
        t = U3._verifyNodeList.call(this, t);
        let e = U3._containerInsertAfter.call(this, t);
        return this.remove(), e;
      } else
        return this.replaceWithMultiple(t);
    else
      return this.replaceWith(t);
  }
  n(djt, "replaceInline");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/evaluation.js
var Joe = g((zA) => {
  "use strict";
  Object.defineProperty(zA, "__esModule", {
    value: !0
  });
  zA.evaluate = Pjt;
  zA.evaluateTruthy = xjt;
  var mjt = ["Number", "String", "Math"], yjt = ["isFinite", "isNaN", "parseFloat", "parseInt", "decodeURI", "decodeURIComponent", "encodeUR\
I", "encodeURIComponent", null, null], gjt = ["random"];
  function Woe(t) {
    return mjt.includes(t);
  }
  n(Woe, "isValidObjectCallee");
  function Tjt(t) {
    return yjt.includes(t);
  }
  n(Tjt, "isValidIdentifierCallee");
  function bjt(t) {
    return gjt.includes(t);
  }
  n(bjt, "isInvalidMethod");
  function xjt() {
    let t = this.evaluate();
    if (t.confident) return !!t.value;
  }
  n(xjt, "evaluateTruthy");
  function Xu(t, e) {
    e.confident && (e.deoptPath = t, e.confident = !1);
  }
  n(Xu, "deopt");
  var $oe = /* @__PURE__ */ new Map([["undefined", void 0], ["Infinity", 1 / 0], ["NaN", NaN]]);
  function Fn(t, e) {
    let {
      node: s
    } = t, {
      seen: r
    } = e;
    if (r.has(s)) {
      let i = r.get(s);
      if (i.resolved)
        return i.value;
      Xu(t, e);
      return;
    } else {
      let i = {
        resolved: !1
      };
      r.set(s, i);
      let a = Sjt(t, e);
      return e.confident && (i.resolved = !0, i.value = a), a;
    }
  }
  n(Fn, "evaluateCached");
  function Sjt(t, e) {
    if (e.confident) {
      if (t.isSequenceExpression()) {
        let s = t.get("expressions");
        return Fn(s[s.length - 1], e);
      }
      if (t.isStringLiteral() || t.isNumericLiteral() || t.isBooleanLiteral())
        return t.node.value;
      if (t.isNullLiteral())
        return null;
      if (t.isTemplateLiteral())
        return Hoe(t, t.node.quasis, e);
      if (t.isTaggedTemplateExpression() && t.get("tag").isMemberExpression()) {
        let s = t.get("tag.object"), {
          node: {
            name: r
          }
        } = s, i = t.get("tag.property");
        if (s.isIdentifier() && r === "String" && !t.scope.getBinding(r) && i.isIdentifier() && i.node.name === "raw")
          return Hoe(t, t.node.quasi.quasis, e, !0);
      }
      if (t.isConditionalExpression()) {
        let s = Fn(t.get("test"), e);
        return e.confident ? Fn(s ? t.get("consequent") : t.get("alternate"), e) : void 0;
      }
      if (t.isExpressionWrapper())
        return Fn(t.get("expression"), e);
      if (t.isMemberExpression() && !t.parentPath.isCallExpression({
        callee: t.node
      })) {
        let s = t.get("property"), r = t.get("object");
        if (r.isLiteral()) {
          let i = r.node.value, a = typeof i, o = null;
          if (t.node.computed) {
            if (o = Fn(s, e), !e.confident) return;
          } else s.isIdentifier() && (o = s.node.name);
          if ((a === "number" || a === "string") && o != null && (typeof o == "number" || typeof o == "string"))
            return i[o];
        }
      }
      if (t.isReferencedIdentifier()) {
        let s = t.scope.getBinding(t.node.name);
        if (s) {
          if (s.constantViolations.length > 0 || t.node.start < s.path.node.end) {
            Xu(s.path, e);
            return;
          }
          if (s.hasValue)
            return s.value;
        }
        let r = t.node.name;
        if ($oe.has(r)) {
          if (!s)
            return $oe.get(r);
          Xu(s.path, e);
          return;
        }
        let i = t.resolve();
        if (i === t) {
          Xu(t, e);
          return;
        } else
          return Fn(i, e);
      }
      if (t.isUnaryExpression({
        prefix: !0
      })) {
        if (t.node.operator === "void")
          return;
        let s = t.get("argument");
        if (t.node.operator === "typeof" && (s.isFunction() || s.isClass()))
          return "function";
        let r = Fn(s, e);
        if (!e.confident) return;
        switch (t.node.operator) {
          case "!":
            return !r;
          case "+":
            return +r;
          case "-":
            return -r;
          case "~":
            return ~r;
          case "typeof":
            return typeof r;
        }
      }
      if (t.isArrayExpression()) {
        let s = [], r = t.get("elements");
        for (let i of r) {
          let a = i.evaluate();
          if (a.confident)
            s.push(a.value);
          else {
            Xu(a.deopt, e);
            return;
          }
        }
        return s;
      }
      if (t.isObjectExpression()) {
        let s = {}, r = t.get("properties");
        for (let i of r) {
          if (i.isObjectMethod() || i.isSpreadElement()) {
            Xu(i, e);
            return;
          }
          let a = i.get("key"), o;
          if (i.node.computed) {
            if (o = a.evaluate(), !o.confident) {
              Xu(o.deopt, e);
              return;
            }
            o = o.value;
          } else a.isIdentifier() ? o = a.node.name : o = a.node.value;
          let u = i.get("value").evaluate();
          if (!u.confident) {
            Xu(u.deopt, e);
            return;
          }
          u = u.value, s[o] = u;
        }
        return s;
      }
      if (t.isLogicalExpression()) {
        let s = e.confident, r = Fn(t.get("left"), e), i = e.confident;
        e.confident = s;
        let a = Fn(t.get("right"), e), o = e.confident;
        switch (t.node.operator) {
          case "||":
            return e.confident = i && (!!r || o), e.confident ? r || a : void 0;
          case "&&":
            return e.confident = i && (!r || o), e.confident ? r && a : void 0;
          case "??":
            return e.confident = i && (r != null || o), e.confident ? r ?? a : void 0;
        }
      }
      if (t.isBinaryExpression()) {
        let s = Fn(t.get("left"), e);
        if (!e.confident) return;
        let r = Fn(t.get("right"), e);
        if (!e.confident) return;
        switch (t.node.operator) {
          case "-":
            return s - r;
          case "+":
            return s + r;
          case "/":
            return s / r;
          case "*":
            return s * r;
          case "%":
            return s % r;
          case "**":
            return Math.pow(s, r);
          case "<":
            return s < r;
          case ">":
            return s > r;
          case "<=":
            return s <= r;
          case ">=":
            return s >= r;
          case "==":
            return s == r;
          case "!=":
            return s != r;
          case "===":
            return s === r;
          case "!==":
            return s !== r;
          case "|":
            return s | r;
          case "&":
            return s & r;
          case "^":
            return s ^ r;
          case "<<":
            return s << r;
          case ">>":
            return s >> r;
          case ">>>":
            return s >>> r;
        }
      }
      if (t.isCallExpression()) {
        let s = t.get("callee"), r, i;
        if (s.isIdentifier() && !t.scope.getBinding(s.node.name) && (Woe(s.node.name) || Tjt(s.node.name)) && (i = global[s.node.name]), s.isMemberExpression()) {
          let a = s.get("object"), o = s.get("property");
          if (a.isIdentifier() && o.isIdentifier() && Woe(a.node.name) && !bjt(o.node.name)) {
            r = global[a.node.name];
            let l = o.node.name;
            hasOwnProperty.call(r, l) && (i = r[l]);
          }
          if (a.isLiteral() && o.isIdentifier()) {
            let l = typeof a.node.value;
            (l === "string" || l === "number") && (r = a.node.value, i = r[o.node.name]);
          }
        }
        if (i) {
          let a = t.get("arguments").map((o) => Fn(o, e));
          return e.confident ? i.apply(r, a) : void 0;
        }
      }
      Xu(t, e);
    }
  }
  n(Sjt, "_evaluate");
  function Hoe(t, e, s, r = !1) {
    let i = "", a = 0, o = t.isTemplateLiteral() ? t.get("expressions") : t.get("quasi.expressions");
    for (let l of e) {
      if (!s.confident) break;
      i += r ? l.value.raw : l.value.cooked;
      let u = o[a++];
      u && (i += String(Fn(u, s)));
    }
    if (s.confident)
      return i;
  }
  n(Hoe, "evaluateQuasis");
  function Pjt() {
    let t = {
      confident: !0,
      deoptPath: null,
      seen: /* @__PURE__ */ new Map()
    }, e = Fn(this, t);
    return t.confident || (e = void 0), {
      confident: t.confident,
      deopt: t.deoptPath,
      value: e
    };
  }
  n(Pjt, "evaluate");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/conversion.js
var tle = g((zu) => {
  "use strict";
  Object.defineProperty(zu, "__esModule", {
    value: !0
  });
  zu.arrowFunctionToExpression = Qjt;
  zu.ensureBlock = Xjt;
  zu.ensureFunctionName = c8t;
  zu.splitExportDeclaration = l8t;
  zu.toComputedKey = Yjt;
  zu.unwrapFunctionEnvironment = zjt;
  var Ejt = fe(), Ajt = Jl(), $3 = H0(), vjt = xl(), {
    arrowFunctionExpression: H3,
    assignmentExpression: Sf,
    binaryExpression: V3,
    blockStatement: Cjt,
    callExpression: $m,
    conditionalExpression: wjt,
    expressionStatement: zoe,
    identifier: yr,
    isIdentifier: Ijt,
    jsxIdentifier: Njt,
    logicalExpression: kjt,
    LOGICAL_OPERATORS: Djt,
    memberExpression: Mo,
    metaProperty: Ojt,
    numericLiteral: _jt,
    objectExpression: Ljt,
    restElement: Bjt,
    returnStatement: Mjt,
    sequenceExpression: Fjt,
    spreadElement: jjt,
    stringLiteral: Goe,
    super: W3,
    thisExpression: aT,
    toExpression: Qoe,
    unaryExpression: Rjt,
    toBindingIdentifierName: qjt,
    isFunction: Ujt,
    isAssignmentPattern: Kjt,
    isRestElement: Vjt,
    getFunctionName: Wjt,
    cloneNode: Pf,
    variableDeclaration: $jt,
    variableDeclarator: Hjt,
    exportNamedDeclaration: Yoe,
    exportSpecifier: Xoe,
    inherits: Jjt
  } = Ejt;
  function Yjt() {
    let t;
    if (this.isMemberExpression())
      t = this.node.property;
    else if (this.isProperty() || this.isMethod())
      t = this.node.key;
    else
      throw new ReferenceError("todo");
    return this.node.computed || Ijt(t) && (t = Goe(t.name)), t;
  }
  n(Yjt, "toComputedKey");
  function Xjt() {
    let t = this.get("body"), e = t.node;
    if (Array.isArray(t))
      throw new Error("Can't convert array path to a block statement");
    if (!e)
      throw new Error("Can't convert node without a body");
    if (t.isBlockStatement())
      return e;
    let s = [], r = "body", i, a;
    t.isStatement() ? (a = "body", i = 0, s.push(t.node)) : (r += ".body.0", this.isFunction() ? (i = "argument", s.push(Mjt(t.node))) : (i =
    "expression", s.push(zoe(t.node)))), this.node.body = Cjt(s);
    let o = this.get(r);
    return vjt.setup.call(t, o, a ? o.node[a] : o.node, a, i), this.node;
  }
  n(Xjt, "ensureBlock");
  zu.arrowFunctionToShadowed = function() {
    this.isArrowFunctionExpression() && this.arrowFunctionToExpression();
  };
  function zjt() {
    if (!this.isArrowFunctionExpression() && !this.isFunctionExpression() && !this.isFunctionDeclaration())
      throw this.buildCodeFrameError("Can only unwrap the environment of a function.");
    Zoe(this);
  }
  n(zjt, "unwrapFunctionEnvironment");
  function Gjt(t, e) {
    t.node.type = e;
  }
  n(Gjt, "setType");
  function Qjt({
    allowInsertArrow: t = !0,
    allowInsertArrowWithRest: e = t,
    noNewArrows: s = !((r) => (r = arguments[0]) == null ? void 0 : r.specCompliant)()
  } = {}) {
    if (!this.isArrowFunctionExpression())
      throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");
    let r = this;
    if (!s) {
      var i;
      r = (i = r.ensureFunctionName(!1)) != null ? i : r;
    }
    let {
      thisBinding: a,
      fnPath: o
    } = Zoe(r, s, t, e);
    if (o.ensureBlock(), Gjt(o, "FunctionExpression"), !s) {
      let l = a ? null : o.scope.generateUidIdentifier("arrowCheckId");
      return l && o.parentPath.scope.push({
        id: l,
        init: Ljt([])
      }), o.get("body").unshiftContainer("body", zoe($m(this.hub.addHelper("newArrowCheck"), [aT(), yr(l ? l.name : a)]))), o.replaceWith($m(
      Mo(o.node, yr("bind")), [l ? yr(l.name) : aT()])), o.get("callee.object");
    }
    return o;
  }
  n(Qjt, "arrowFunctionToExpression");
  var Zjt = (0, $3.environmentVisitor)({
    CallExpression(t, {
      allSuperCalls: e
    }) {
      t.get("callee").isSuper() && e.push(t);
    }
  });
  function Zoe(t, e = !0, s = !0, r = !0) {
    let i, a = t.findParent((d) => {
      if (d.isArrowFunctionExpression()) {
        var m;
        return (m = i) != null || (i = d), !1;
      }
      return d.isFunction() || d.isProgram() || d.isClassProperty({
        static: !1
      }) || d.isClassPrivateProperty({
        static: !1
      });
    }), o = a.isClassMethod({
      kind: "constructor"
    });
    if (a.isClassProperty() || a.isClassPrivateProperty())
      if (i)
        a = i;
      else if (s)
        t.replaceWith($m(H3([], Qoe(t.node)), [])), a = t.get("callee"), t = a.get("body");
      else
        throw t.buildCodeFrameError("Unable to transform arrow inside class property");
    let {
      thisPaths: l,
      argumentsPaths: u,
      newTargetPaths: c,
      superProps: p,
      superCalls: h
    } = o8t(t);
    if (o && h.length > 0) {
      if (!s)
        throw h[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super()` in an a\
rrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");
      if (!r)
        throw h[0].buildCodeFrameError("When using '@babel/plugin-transform-parameters', it's not possible to compile `super()` in an arrow \
function with default or rest parameters without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration\
.");
      let d = [];
      a.traverse(Zjt, {
        allSuperCalls: d
      });
      let m = i8t(a);
      d.forEach((y) => {
        let T = yr(m);
        T.loc = y.node.callee.loc, y.get("callee").replaceWith(T);
      });
    }
    if (u.length > 0) {
      let d = oT(a, "arguments", () => {
        let m = /* @__PURE__ */ n(() => yr("arguments"), "args");
        return a.scope.path.isProgram() ? wjt(V3("===", Rjt("typeof", m()), Goe("undefined")), a.scope.buildUndefinedNode(), m()) : m();
      });
      u.forEach((m) => {
        let y = yr(d);
        y.loc = m.node.loc, m.replaceWith(y);
      });
    }
    if (c.length > 0) {
      let d = oT(a, "newtarget", () => Ojt(yr("new"), yr("target")));
      c.forEach((m) => {
        let y = yr(d);
        y.loc = m.node.loc, m.replaceWith(y);
      });
    }
    if (p.length > 0) {
      if (!s)
        throw p[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super.prop` in a\
n arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");
      p.reduce((m, y) => m.concat(t8t(y)), []).forEach((m) => {
        let y = m.node.computed ? "" : m.get("property").node.name, T = m.parentPath, b = T.isAssignmentExpression({
          left: m.node
        }), E = T.isCallExpression({
          callee: m.node
        }), V = T.isTaggedTemplateExpression({
          tag: m.node
        }), W = n8t(a, b, y), oe = [];
        if (m.node.computed && oe.push(m.get("property").node), b) {
          let ye = T.node.right;
          oe.push(ye);
        }
        let de = $m(yr(W), oe);
        E ? (T.unshiftContainer("arguments", aT()), m.replaceWith(Mo(de, yr("call"))), l.push(T.get("arguments.0"))) : b ? T.replaceWith(de) :
        V ? (m.replaceWith($m(Mo(de, yr("bind"), !1), [aT()])), l.push(m.get("arguments.0"))) : m.replaceWith(de);
      });
    }
    let f;
    return (l.length > 0 || !e) && (f = r8t(a, o), (e || o && ele(a)) && (l.forEach((d) => {
      let m = d.isJSX() ? Njt(f) : yr(f);
      m.loc = d.node.loc, d.replaceWith(m);
    }), e || (f = null))), {
      thisBinding: f,
      fnPath: t
    };
  }
  n(Zoe, "hoistFunctionEnvironment");
  function e8t(t) {
    return Djt.includes(t);
  }
  n(e8t, "isLogicalOp");
  function t8t(t) {
    if (t.parentPath.isAssignmentExpression() && t.parentPath.node.operator !== "=") {
      let s = t.parentPath, r = s.node.operator.slice(0, -1), i = s.node.right, a = e8t(r);
      if (t.node.computed) {
        let o = t.scope.generateDeclaredUidIdentifier("tmp"), l = t.node.object, u = t.node.property;
        s.get("left").replaceWith(Mo(l, Sf("=", o, u), !0)), s.get("right").replaceWith(e(a ? "=" : r, Mo(l, yr(o.name), !0), i));
      } else {
        let o = t.node.object, l = t.node.property;
        s.get("left").replaceWith(Mo(o, l)), s.get("right").replaceWith(e(a ? "=" : r, Mo(o, yr(l.name)), i));
      }
      return a ? s.replaceWith(kjt(r, s.node.left, s.node.right)) : s.node.operator = "=", [s.get("left"), s.get("right").get("left")];
    } else if (t.parentPath.isUpdateExpression()) {
      let s = t.parentPath, r = t.scope.generateDeclaredUidIdentifier("tmp"), i = t.node.computed ? t.scope.generateDeclaredUidIdentifier("p\
rop") : null, a = [Sf("=", r, Mo(t.node.object, i ? Sf("=", i, t.node.property) : t.node.property, t.node.computed)), Sf("=", Mo(t.node.object,
      i ? yr(i.name) : t.node.property, t.node.computed), V3(t.parentPath.node.operator[0], yr(r.name), _jt(1)))];
      t.parentPath.node.prefix || a.push(yr(r.name)), s.replaceWith(Fjt(a));
      let o = s.get("expressions.0.right"), l = s.get("expressions.1.left");
      return [o, l];
    }
    return [t];
    function e(s, r, i) {
      return s === "=" ? Sf("=", r, i) : V3(s, r, i);
    }
  }
  n(t8t, "standardizeSuperProperty");
  function ele(t) {
    return t.isClassMethod() && !!t.parentPath.parentPath.node.superClass;
  }
  n(ele, "hasSuperClass");
  var s8t = (0, $3.environmentVisitor)({
    CallExpression(t, {
      supers: e,
      thisBinding: s
    }) {
      t.get("callee").isSuper() && (e.has(t.node) || (e.add(t.node), t.replaceWithMultiple([t.node, Sf("=", yr(s), yr("this"))])));
    }
  });
  function r8t(t, e) {
    return oT(t, "this", (s) => {
      if (!e || !ele(t)) return aT();
      t.traverse(s8t, {
        supers: /* @__PURE__ */ new WeakSet(),
        thisBinding: s
      });
    });
  }
  n(r8t, "getThisBinding");
  function i8t(t) {
    return oT(t, "supercall", () => {
      let e = t.scope.generateUidIdentifier("args");
      return H3([Bjt(e)], $m(W3(), [jjt(yr(e.name))]));
    });
  }
  n(i8t, "getSuperBinding");
  function n8t(t, e, s) {
    return oT(t, `superprop_${e ? "set" : "get"}:${s || ""}`, () => {
      let i = [], a;
      if (s)
        a = Mo(W3(), yr(s));
      else {
        let o = t.scope.generateUidIdentifier("prop");
        i.unshift(o), a = Mo(W3(), yr(o.name), !0);
      }
      if (e) {
        let o = t.scope.generateUidIdentifier("value");
        i.push(o), a = Sf("=", a, yr(o.name));
      }
      return H3(i, a);
    });
  }
  n(n8t, "getSuperPropBinding");
  function oT(t, e, s) {
    let r = "binding:" + e, i = t.getData(r);
    if (!i) {
      let a = t.scope.generateUidIdentifier(e);
      i = a.name, t.setData(r, i), t.scope.push({
        id: a,
        init: s(i)
      });
    }
    return i;
  }
  n(oT, "getBinding");
  var a8t = (0, $3.environmentVisitor)({
    ThisExpression(t, {
      thisPaths: e
    }) {
      e.push(t);
    },
    JSXIdentifier(t, {
      thisPaths: e
    }) {
      t.node.name === "this" && (!t.parentPath.isJSXMemberExpression({
        object: t.node
      }) && !t.parentPath.isJSXOpeningElement({
        name: t.node
      }) || e.push(t));
    },
    CallExpression(t, {
      superCalls: e
    }) {
      t.get("callee").isSuper() && e.push(t);
    },
    MemberExpression(t, {
      superProps: e
    }) {
      t.get("object").isSuper() && e.push(t);
    },
    Identifier(t, {
      argumentsPaths: e
    }) {
      if (!t.isReferencedIdentifier({
        name: "arguments"
      })) return;
      let s = t.scope;
      do {
        if (s.hasOwnBinding("arguments")) {
          s.rename("arguments");
          return;
        }
        if (s.path.isFunction() && !s.path.isArrowFunctionExpression())
          break;
      } while (s = s.parent);
      e.push(t);
    },
    MetaProperty(t, {
      newTargetPaths: e
    }) {
      t.get("meta").isIdentifier({
        name: "new"
      }) && t.get("property").isIdentifier({
        name: "target"
      }) && e.push(t);
    }
  });
  function o8t(t) {
    let e = [], s = [], r = [], i = [], a = [];
    return t.traverse(a8t, {
      thisPaths: e,
      argumentsPaths: s,
      newTargetPaths: r,
      superProps: i,
      superCalls: a
    }), {
      thisPaths: e,
      argumentsPaths: s,
      newTargetPaths: r,
      superProps: i,
      superCalls: a
    };
  }
  n(o8t, "getScopeInformation");
  function l8t() {
    if (!this.isExportDeclaration() || this.isExportAllDeclaration())
      throw new Error("Only default and named export declarations can be split.");
    if (this.isExportNamedDeclaration() && this.get("specifiers").length > 0)
      throw new Error("It doesn't make sense to split exported specifiers.");
    let t = this.get("declaration");
    if (this.isExportDefaultDeclaration()) {
      let i = t.isFunctionDeclaration() || t.isClassDeclaration(), a = t.isFunctionExpression() || t.isClassExpression(), o = t.isScope() ? t.
      scope.parent : t.scope, l = t.node.id, u = !1;
      l ? a && o.hasBinding(l.name) && (u = !0, l = o.generateUidIdentifier(l.name)) : (u = !0, l = o.generateUidIdentifier("default"), (i ||
      a) && (t.node.id = Pf(l)));
      let c = i ? t.node : $jt("var", [Hjt(Pf(l), t.node)]), p = Yoe(null, [Xoe(Pf(l), yr("default"))]);
      return this.insertAfter(p), this.replaceWith(c), u && o.registerDeclaration(this), this;
    } else if (this.get("specifiers").length > 0)
      throw new Error("It doesn't make sense to split exported specifiers.");
    let e = t.getOuterBindingIdentifiers(), s = Object.keys(e).map((i) => Xoe(yr(i), yr(i))), r = Yoe(null, s);
    return this.insertAfter(r), this.replaceWith(t.node), this;
  }
  n(l8t, "splitExportDeclaration");
  var u8t = {
    "ReferencedIdentifier|BindingIdentifier"(t, e) {
      t.node.name === e.name && (e.needsRename = !0, t.stop());
    },
    Scope(t, e) {
      t.scope.hasOwnBinding(e.name) && t.skip();
    }
  };
  function c8t(t) {
    if (this.node.id) return this;
    let e = Wjt(this.node, this.parent);
    if (e == null) return this;
    let {
      name: s
    } = e;
    if (!t && /[\uD800-\uDFFF]/.test(s) || s.startsWith("get ") || s.startsWith("set "))
      return null;
    s = qjt(s.replace(/[/ ]/g, "_"));
    let r = yr(s);
    Jjt(r, e.originalNode);
    let i = {
      needsRename: !1,
      name: s
    }, {
      scope: a
    } = this, o = a.getOwnBinding(s);
    if (o ? o.kind === "param" && (i.needsRename = !0) : (a.parent.hasBinding(s) || a.hasGlobal(s)) && this.traverse(u8t, i), !i.needsRename)
      return this.node.id = r, a.getProgramParent().references[r.name] = !0, this;
    if (a.hasBinding(r.name) && !a.hasGlobal(r.name))
      return a.rename(r.name), this.node.id = r, a.getProgramParent().references[r.name] = !0, this;
    if (!Ujt(this.node)) return null;
    let l = a.generateUidIdentifier(r.name), u = [];
    for (let p = 0, h = p8t(this.node); p < h; p++)
      u.push(a.generateUidIdentifier("x"));
    let c = Ajt.default.expression.ast`
    (function (${l}) {
      function ${r}(${u}) {
        return ${Pf(l)}.apply(this, arguments);
      }

      ${Pf(r)}.toString = function () {
        return ${Pf(l)}.toString();
      }

      return ${Pf(r)};
    })(${Qoe(this.node)})
  `;
    return this.replaceWith(c)[0].get("arguments.0");
  }
  n(c8t, "ensureFunctionName");
  function p8t(t) {
    let e = t.params.findIndex((s) => Kjt(s) || Vjt(s));
    return e === -1 ? t.params.length : e;
  }
  n(p8t, "getFunctionArity");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/introspection.js
var ole = g((ci) => {
  "use strict";
  Object.defineProperty(ci, "__esModule", {
    value: !0
  });
  ci._guessExecutionStatusRelativeTo = O8t;
  ci._resolve = ale;
  ci.canHaveVariableDeclarationOrExpression = A8t;
  ci.canSwapBetweenExpressionAndStatement = v8t;
  ci.getSource = N8t;
  ci.isCompletionRecord = C8t;
  ci.isConstantExpression = M8t;
  ci.isInStrictMode = F8t;
  ci.isNodeType = E8t;
  ci.isStatementOrBlock = w8t;
  ci.isStatic = P8t;
  ci.matchesPattern = S8t;
  ci.referencesImport = I8t;
  ci.resolve = B8t;
  ci.willIMaybeExecuteBefore = k8t;
  var h8t = fe(), {
    STATEMENT_OR_BLOCK_KEYS: f8t,
    VISITOR_KEYS: d8t,
    isBlockStatement: nle,
    isExpression: m8t,
    isIdentifier: y8t,
    isLiteral: g8t,
    isStringLiteral: T8t,
    isType: b8t,
    matchesPattern: x8t
  } = h8t;
  function S8t(t, e) {
    return x8t(this.node, t, e);
  }
  n(S8t, "matchesPattern");
  ci.has = /* @__PURE__ */ n(function(e) {
    var s;
    let r = (s = this.node) == null ? void 0 : s[e];
    return r && Array.isArray(r) ? !!r.length : !!r;
  }, "has");
  function P8t() {
    return this.scope.isStatic(this.node);
  }
  n(P8t, "isStatic");
  ci.is = ci.has, ci.isnt = /* @__PURE__ */ n(function(e) {
    return !this.has(e);
  }, "isnt"), ci.equals = /* @__PURE__ */ n(function(e, s) {
    return this.node[e] === s;
  }, "equals");
  function E8t(t) {
    return b8t(this.type, t);
  }
  n(E8t, "isNodeType");
  function A8t() {
    return (this.key === "init" || this.key === "left") && this.parentPath.isFor();
  }
  n(A8t, "canHaveVariableDeclarationOrExpression");
  function v8t(t) {
    return this.key !== "body" || !this.parentPath.isArrowFunctionExpression() ? !1 : this.isExpression() ? nle(t) : this.isBlockStatement() ?
    m8t(t) : !1;
  }
  n(v8t, "canSwapBetweenExpressionAndStatement");
  function C8t(t) {
    let e = this, s = !0;
    do {
      let {
        type: r,
        container: i
      } = e;
      if (!s && (e.isFunction() || r === "StaticBlock"))
        return !!t;
      if (s = !1, Array.isArray(i) && e.key !== i.length - 1)
        return !1;
    } while ((e = e.parentPath) && !e.isProgram() && !e.isDoExpression());
    return !0;
  }
  n(C8t, "isCompletionRecord");
  function w8t() {
    return this.parentPath.isLabeledStatement() || nle(this.container) ? !1 : f8t.includes(this.key);
  }
  n(w8t, "isStatementOrBlock");
  function I8t(t, e) {
    if (!this.isReferencedIdentifier()) {
      if (this.isJSXMemberExpression() && this.node.property.name === e || (this.isMemberExpression() || this.isOptionalMemberExpression()) &&
      (this.node.computed ? T8t(this.node.property, {
        value: e
      }) : this.node.property.name === e)) {
        let a = this.get("object");
        return a.isReferencedIdentifier() && a.referencesImport(t, "*");
      }
      return !1;
    }
    let s = this.scope.getBinding(this.node.name);
    if (!s || s.kind !== "module") return !1;
    let r = s.path, i = r.parentPath;
    if (!i.isImportDeclaration()) return !1;
    if (i.node.source.value === t) {
      if (!e) return !0;
    } else
      return !1;
    return !!(r.isImportDefaultSpecifier() && e === "default" || r.isImportNamespaceSpecifier() && e === "*" || r.isImportSpecifier() && y8t(
    r.node.imported, {
      name: e
    }));
  }
  n(I8t, "referencesImport");
  function N8t() {
    let t = this.node;
    if (t.end) {
      let e = this.hub.getCode();
      if (e) return e.slice(t.start, t.end);
    }
    return "";
  }
  n(N8t, "getSource");
  function k8t(t) {
    return this._guessExecutionStatusRelativeTo(t) !== "after";
  }
  n(k8t, "willIMaybeExecuteBefore");
  function sle(t) {
    return t.isProgram() ? t : (t.parentPath.scope.getFunctionParent() || t.parentPath.scope.getProgramParent()).path;
  }
  n(sle, "getOuterFunction");
  function D8t(t, e) {
    switch (t) {
      case "LogicalExpression":
        return e === "right";
      case "ConditionalExpression":
      case "IfStatement":
        return e === "consequent" || e === "alternate";
      case "WhileStatement":
      case "DoWhileStatement":
      case "ForInStatement":
      case "ForOfStatement":
        return e === "body";
      case "ForStatement":
        return e === "body" || e === "update";
      case "SwitchStatement":
        return e === "cases";
      case "TryStatement":
        return e === "handler";
      case "AssignmentPattern":
        return e === "right";
      case "OptionalMemberExpression":
        return e === "property";
      case "OptionalCallExpression":
        return e === "arguments";
      default:
        return !1;
    }
  }
  n(D8t, "isExecutionUncertain");
  function rle(t, e) {
    for (let s = 0; s < e; s++) {
      let r = t[s];
      if (D8t(r.parent.type, r.parentKey))
        return !0;
    }
    return !1;
  }
  n(rle, "isExecutionUncertainInList");
  var ile = Symbol();
  function O8t(t) {
    return J3(this, t, /* @__PURE__ */ new Map());
  }
  n(O8t, "_guessExecutionStatusRelativeTo");
  function J3(t, e, s) {
    let r = {
      this: sle(t),
      target: sle(e)
    };
    if (r.target.node !== r.this.node)
      return L8t(t, r.target, s);
    let i = {
      target: e.getAncestry(),
      this: t.getAncestry()
    };
    if (i.target.includes(t)) return "after";
    if (i.this.includes(e)) return "before";
    let a, o = {
      target: 0,
      this: 0
    };
    for (; !a && o.this < i.this.length; ) {
      let p = i.this[o.this];
      o.target = i.target.indexOf(p), o.target >= 0 ? a = p : o.this++;
    }
    if (!a)
      throw new Error("Internal Babel error - The two compared nodes don't appear to belong to the same program.");
    if (rle(i.this, o.this - 1) || rle(i.target, o.target - 1))
      return "unknown";
    let l = {
      this: i.this[o.this - 1],
      target: i.target[o.target - 1]
    };
    if (l.target.listKey && l.this.listKey && l.target.container === l.this.container)
      return l.target.key > l.this.key ? "before" : "after";
    let u = d8t[a.type], c = {
      this: u.indexOf(l.this.parentKey),
      target: u.indexOf(l.target.parentKey)
    };
    return c.target > c.this ? "before" : "after";
  }
  n(J3, "_guessExecutionStatusRelativeToCached");
  function _8t(t, e, s) {
    if (e.isFunctionDeclaration()) {
      if (e.parentPath.isExportDeclaration())
        return "unknown";
    } else return J3(t, e, s) === "before" ? "before" : "unknown";
    let r = e.scope.getBinding(e.node.id.name);
    if (!r.references) return "before";
    let i = r.referencePaths, a;
    for (let o of i) {
      if (!!o.find((c) => c.node === e.node)) continue;
      if (o.key !== "callee" || !o.parentPath.isCallExpression())
        return "unknown";
      let u = J3(t, o, s);
      if (a && a !== u)
        return "unknown";
      a = u;
    }
    return a;
  }
  n(_8t, "_guessExecutionStatusRelativeToDifferentFunctionsInternal");
  function L8t(t, e, s) {
    let r = s.get(t.node), i;
    if (!r)
      s.set(t.node, r = /* @__PURE__ */ new Map());
    else if (i = r.get(e.node))
      return i === ile ? "unknown" : i;
    r.set(e.node, ile);
    let a = _8t(t, e, s);
    return r.set(e.node, a), a;
  }
  n(L8t, "_guessExecutionStatusRelativeToDifferentFunctionsCached");
  function B8t(t, e) {
    return ale.call(this, t, e) || this;
  }
  n(B8t, "resolve");
  function ale(t, e) {
    var s;
    if (!((s = e) != null && s.includes(this)))
      if (e = e || [], e.push(this), this.isVariableDeclarator()) {
        if (this.get("id").isIdentifier())
          return this.get("init").resolve(t, e);
      } else if (this.isReferencedIdentifier()) {
        let r = this.scope.getBinding(this.node.name);
        if (!r || !r.constant || r.kind === "module") return;
        if (r.path !== this) {
          let i = r.path.resolve(t, e);
          return this.find((a) => a.node === i.node) ? void 0 : i;
        }
      } else {
        if (this.isTypeCastExpression())
          return this.get("expression").resolve(t, e);
        if (t && this.isMemberExpression()) {
          let r = this.toComputedKey();
          if (!g8t(r)) return;
          let i = r.value, a = this.get("object").resolve(t, e);
          if (a.isObjectExpression()) {
            let o = a.get("properties");
            for (let l of o) {
              if (!l.isProperty()) continue;
              let u = l.get("key"), c = l.isnt("computed") && u.isIdentifier({
                name: i
              });
              if (c = c || u.isLiteral({
                value: i
              }), c) return l.get("value").resolve(t, e);
            }
          } else if (a.isArrayExpression() && !isNaN(+i)) {
            let l = a.get("elements")[i];
            if (l) return l.resolve(t, e);
          }
        }
      }
  }
  n(ale, "_resolve");
  function M8t() {
    if (this.isIdentifier()) {
      let t = this.scope.getBinding(this.node.name);
      return t ? t.constant : !1;
    }
    if (this.isLiteral())
      return this.isRegExpLiteral() ? !1 : this.isTemplateLiteral() ? this.get("expressions").every((t) => t.isConstantExpression()) : !0;
    if (this.isUnaryExpression())
      return this.node.operator !== "void" ? !1 : this.get("argument").isConstantExpression();
    if (this.isBinaryExpression()) {
      let {
        operator: t
      } = this.node;
      return t !== "in" && t !== "instanceof" && this.get("left").isConstantExpression() && this.get("right").isConstantExpression();
    }
    return this.isMemberExpression() ? !this.node.computed && this.get("object").isIdentifier({
      name: "Symbol"
    }) && !this.scope.hasBinding("Symbol", {
      noGlobals: !0
    }) : this.isCallExpression() ? this.node.arguments.length === 1 && this.get("callee").matchesPattern("Symbol.for") && !this.scope.hasBinding(
    "Symbol", {
      noGlobals: !0
    }) && this.get("arguments")[0].isStringLiteral() : !1;
  }
  n(M8t, "isConstantExpression");
  function F8t() {
    return !!(this.isProgram() ? this : this.parentPath).find((s) => {
      if (s.isProgram({
        sourceType: "module"
      }) || s.isClass()) return !0;
      if (s.isArrowFunctionExpression() && !s.get("body").isBlockStatement())
        return !1;
      let r;
      if (s.isFunction())
        r = s.node.body;
      else if (s.isProgram())
        r = s.node;
      else
        return !1;
      for (let i of r.directives)
        if (i.value.value === "use strict")
          return !0;
    });
  }
  n(F8t, "isInStrictMode");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/family.js
var hle = g((zi) => {
  "use strict";
  Object.defineProperty(zi, "__esModule", {
    value: !0
  });
  zi._getKey = cle;
  zi._getPattern = ple;
  zi.get = e6t;
  zi.getAllNextSiblings = Q8t;
  zi.getAllPrevSiblings = Z8t;
  zi.getAssignmentIdentifiers = t6t;
  zi.getBindingIdentifierPaths = i6t;
  zi.getBindingIdentifiers = s6t;
  zi.getCompletionRecords = Y8t;
  zi.getNextSibling = G8t;
  zi.getOpposite = $8t;
  zi.getOuterBindingIdentifierPaths = n6t;
  zi.getOuterBindingIdentifiers = r6t;
  zi.getPrevSibling = z8t;
  zi.getSibling = X8t;
  var X3 = Ep(), j8t = fe(), {
    getAssignmentIdentifiers: R8t,
    getBindingIdentifiers: ule,
    getOuterBindingIdentifiers: q8t,
    numericLiteral: U8t,
    unaryExpression: K8t
  } = j8t, z3 = 0, lT = 1;
  function V8t(t) {
    return {
      type: z3,
      path: t
    };
  }
  n(V8t, "NormalCompletion");
  function W8t(t) {
    return {
      type: lT,
      path: t
    };
  }
  n(W8t, "BreakCompletion");
  function $8t() {
    return this.key === "left" ? this.getSibling("right") : this.key === "right" ? this.getSibling("left") : null;
  }
  n($8t, "getOpposite");
  function Hm(t, e, s) {
    return t && e.push(...Jm(t, s)), e;
  }
  n(Hm, "addCompletionRecords");
  function H8t(t, e, s) {
    let r = [];
    for (let i = 0; i < t.length; i++) {
      let a = t[i], o = Jm(a, s), l = [], u = [];
      for (let c of o)
        c.type === z3 && l.push(c), c.type === lT && u.push(c);
      l.length && (r = l), e.push(...u);
    }
    return e.push(...r), e;
  }
  n(H8t, "completionRecordForSwitch");
  function J8t(t) {
    t.forEach((e) => {
      e.type = lT;
    });
  }
  n(J8t, "normalCompletionToBreak");
  function Y3(t, e) {
    t.forEach((s) => {
      s.path.isBreakStatement({
        label: null
      }) && (e ? s.path.replaceWith(K8t("void", U8t(0))) : s.path.remove());
    });
  }
  n(Y3, "replaceBreakStatementInBreakCompletion");
  function lle(t, e) {
    let s = [];
    if (e.canHaveBreak) {
      let r = [];
      for (let i = 0; i < t.length; i++) {
        let a = t[i], o = Object.assign({}, e, {
          inCaseClause: !1
        });
        a.isBlockStatement() && (e.inCaseClause || e.shouldPopulateBreak) ? o.shouldPopulateBreak = !0 : o.shouldPopulateBreak = !1;
        let l = Jm(a, o);
        if (l.length > 0 && l.every((u) => u.type === lT)) {
          r.length > 0 && l.every((u) => u.path.isBreakStatement({
            label: null
          })) ? (J8t(r), s.push(...r), r.some((u) => u.path.isDeclaration()) && (s.push(...l), Y3(l, !0)), Y3(l, !1)) : (s.push(...l), e.shouldPopulateBreak ||
          Y3(l, !0));
          break;
        }
        if (i === t.length - 1)
          s.push(...l);
        else {
          r = [];
          for (let u = 0; u < l.length; u++) {
            let c = l[u];
            c.type === lT && s.push(c), c.type === z3 && r.push(c);
          }
        }
      }
    } else if (t.length)
      for (let r = t.length - 1; r >= 0; r--) {
        let i = Jm(t[r], e);
        if (i.length > 1 || i.length === 1 && !i[0].path.isVariableDeclaration()) {
          s.push(...i);
          break;
        }
      }
    return s;
  }
  n(lle, "getStatementListCompletion");
  function Jm(t, e) {
    let s = [];
    if (t.isIfStatement())
      s = Hm(t.get("consequent"), s, e), s = Hm(t.get("alternate"), s, e);
    else {
      if (t.isDoExpression() || t.isFor() || t.isWhile() || t.isLabeledStatement())
        return Hm(t.get("body"), s, e);
      if (t.isProgram() || t.isBlockStatement())
        return lle(t.get("body"), e);
      if (t.isFunction())
        return Jm(t.get("body"), e);
      if (t.isTryStatement())
        s = Hm(t.get("block"), s, e), s = Hm(t.get("handler"), s, e);
      else {
        if (t.isCatchClause())
          return Hm(t.get("body"), s, e);
        if (t.isSwitchStatement())
          return H8t(t.get("cases"), s, e);
        if (t.isSwitchCase())
          return lle(t.get("consequent"), {
            canHaveBreak: !0,
            shouldPopulateBreak: !1,
            inCaseClause: !0
          });
        t.isBreakStatement() ? s.push(W8t(t)) : s.push(V8t(t));
      }
    }
    return s;
  }
  n(Jm, "_getCompletionRecords");
  function Y8t() {
    return Jm(this, {
      canHaveBreak: !1,
      shouldPopulateBreak: !1,
      inCaseClause: !1
    }).map((e) => e.path);
  }
  n(Y8t, "getCompletionRecords");
  function X8t(t) {
    return X3.default.get({
      parentPath: this.parentPath,
      parent: this.parent,
      container: this.container,
      listKey: this.listKey,
      key: t
    }).setContext(this.context);
  }
  n(X8t, "getSibling");
  function z8t() {
    return this.getSibling(this.key - 1);
  }
  n(z8t, "getPrevSibling");
  function G8t() {
    return this.getSibling(this.key + 1);
  }
  n(G8t, "getNextSibling");
  function Q8t() {
    let t = this.key, e = this.getSibling(++t), s = [];
    for (; e.node; )
      s.push(e), e = this.getSibling(++t);
    return s;
  }
  n(Q8t, "getAllNextSiblings");
  function Z8t() {
    let t = this.key, e = this.getSibling(--t), s = [];
    for (; e.node; )
      s.push(e), e = this.getSibling(--t);
    return s;
  }
  n(Z8t, "getAllPrevSiblings");
  function e6t(t, e = !0) {
    e === !0 && (e = this.context);
    let s = t.split(".");
    return s.length === 1 ? cle.call(this, t, e) : ple.call(this, s, e);
  }
  n(e6t, "get");
  function cle(t, e) {
    let s = this.node, r = s[t];
    return Array.isArray(r) ? r.map((i, a) => X3.default.get({
      listKey: t,
      parentPath: this,
      parent: s,
      container: r,
      key: a
    }).setContext(e)) : X3.default.get({
      parentPath: this,
      parent: s,
      container: s,
      key: t
    }).setContext(e);
  }
  n(cle, "_getKey");
  function ple(t, e) {
    let s = this;
    for (let r of t)
      r === "." ? s = s.parentPath : Array.isArray(s) ? s = s[r] : s = s.get(r, e);
    return s;
  }
  n(ple, "_getPattern");
  function t6t() {
    return R8t(this.node);
  }
  n(t6t, "getAssignmentIdentifiers");
  function s6t(t) {
    return ule(this.node, t);
  }
  n(s6t, "getBindingIdentifiers");
  function r6t(t) {
    return q8t(this.node, t);
  }
  n(r6t, "getOuterBindingIdentifiers");
  function i6t(t = !1, e = !1) {
    let r = [this], i = /* @__PURE__ */ Object.create(null);
    for (; r.length; ) {
      let a = r.shift();
      if (!a || !a.node) continue;
      let o = ule.keys[a.node.type];
      if (a.isIdentifier()) {
        t ? (i[a.node.name] = i[a.node.name] || []).push(a) : i[a.node.name] = a;
        continue;
      }
      if (a.isExportDeclaration()) {
        let l = a.get("declaration");
        l.isDeclaration() && r.push(l);
        continue;
      }
      if (e) {
        if (a.isFunctionDeclaration()) {
          r.push(a.get("id"));
          continue;
        }
        if (a.isFunctionExpression())
          continue;
      }
      if (o)
        for (let l = 0; l < o.length; l++) {
          let u = o[l], c = a.get(u);
          Array.isArray(c) ? r.push(...c) : c.node && r.push(c);
        }
    }
    return i;
  }
  n(i6t, "getBindingIdentifierPaths");
  function n6t(t = !1) {
    return this.getBindingIdentifierPaths(t, !0);
  }
  n(n6t, "getOuterBindingIdentifierPaths");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/comments.js
var dle = g((uT) => {
  "use strict";
  Object.defineProperty(uT, "__esModule", {
    value: !0
  });
  uT.addComment = c6t;
  uT.addComments = p6t;
  uT.shareCommentsWithSiblings = u6t;
  var a6t = fe(), {
    addComment: o6t,
    addComments: l6t
  } = a6t;
  function u6t() {
    if (typeof this.key == "string") return;
    let t = this.node;
    if (!t) return;
    let e = t.trailingComments, s = t.leadingComments;
    if (!e && !s) return;
    let r = this.getSibling(this.key - 1), i = this.getSibling(this.key + 1), a = !!r.node, o = !!i.node;
    a && (s && r.addComments("trailing", fle(s, r.node.trailingComments)), e && !o && r.addComments("trailing", e)), o && (e && i.addComments(
    "leading", fle(e, i.node.leadingComments)), s && !a && i.addComments("leading", s));
  }
  n(u6t, "shareCommentsWithSiblings");
  function fle(t, e) {
    if (!(e != null && e.length)) return t;
    let s = new Set(e);
    return t.filter((r) => !s.has(r));
  }
  n(fle, "removeIfExisting");
  function c6t(t, e, s) {
    o6t(this.node, t, e, s);
  }
  n(c6t, "addComment");
  function p6t(t, e) {
    l6t(this.node, t, e);
  }
  n(p6t, "addComments");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/index.js
var Ep = g((vl) => {
  "use strict";
  Object.defineProperty(vl, "__esModule", {
    value: !0
  });
  vl.default = vl.SHOULD_STOP = vl.SHOULD_SKIP = vl.REMOVED = void 0;
  var h6t = aF(), f6t = yo(), d6t = Lo(), m6t = mF(), gle = fe(), GA = gle, y6t = hf(), g6t = Eae(), El = Aae(), Ym = Wae(), Xm = zF(), mle = Joe(),
  Ef = tle(), Pi = ole(), Tle = xl(), pi = Tle, zm = MA(), Al = FA(), jn = hle(), G3 = dle(), T6t = lF(), {
    validate: b6t
  } = gle, yle = f6t("babel"), Czs = vl.REMOVED = 1, wzs = vl.SHOULD_STOP = 2, Izs = vl.SHOULD_SKIP = 4, Gu = vl.default = class ble {
    static {
      n(this, "NodePath");
    }
    constructor(e, s) {
      this.contexts = [], this.state = null, this.opts = null, this._traverseFlags = 0, this.skipKeys = null, this.parentPath = null, this.container =
      null, this.listKey = null, this.key = null, this.node = null, this.type = null, this.parent = s, this.hub = e, this.data = null, this.
      context = null, this.scope = null;
    }
    get removed() {
      return (this._traverseFlags & 1) > 0;
    }
    set removed(e) {
      e ? this._traverseFlags |= 1 : this._traverseFlags &= -2;
    }
    get shouldStop() {
      return (this._traverseFlags & 2) > 0;
    }
    set shouldStop(e) {
      e ? this._traverseFlags |= 2 : this._traverseFlags &= -3;
    }
    get shouldSkip() {
      return (this._traverseFlags & 4) > 0;
    }
    set shouldSkip(e) {
      e ? this._traverseFlags |= 4 : this._traverseFlags &= -5;
    }
    static get({
      hub: e,
      parentPath: s,
      parent: r,
      container: i,
      listKey: a,
      key: o
    }) {
      if (!e && s && (e = s.hub), !r)
        throw new Error("To get a node path the parent needs to exist");
      let l = i[o], u = y6t.getOrCreateCachedPaths(e, r), c = u.get(l);
      return c || (c = new ble(e, r), l && u.set(l, c)), Tle.setup.call(c, s, i, a, o), c;
    }
    getScope(e) {
      return this.isScope() ? new m6t.default(this) : e;
    }
    setData(e, s) {
      return this.data == null && (this.data = /* @__PURE__ */ Object.create(null)), this.data[e] = s;
    }
    getData(e, s) {
      this.data == null && (this.data = /* @__PURE__ */ Object.create(null));
      let r = this.data[e];
      return r === void 0 && s !== void 0 && (r = this.data[e] = s), r;
    }
    hasNode() {
      return this.node != null;
    }
    buildCodeFrameError(e, s = SyntaxError) {
      return this.hub.buildError(this.node, e, s);
    }
    traverse(e, s) {
      (0, d6t.default)(this.node, e, this.scope, s, this);
    }
    set(e, s) {
      b6t(this.node, e, s), this.node[e] = s;
    }
    getPathLocation() {
      let e = [], s = this;
      do {
        let r = s.key;
        s.inList && (r = `${s.listKey}[${r}]`), e.unshift(r);
      } while (s = s.parentPath);
      return e.join(".");
    }
    debug(e) {
      yle.enabled && yle(`${this.getPathLocation()} ${this.type}: ${e}`);
    }
    toString() {
      return (0, g6t.default)(this.node).code;
    }
    get inList() {
      return !!this.listKey;
    }
    set inList(e) {
      e || (this.listKey = null);
    }
    get parentKey() {
      return this.listKey || this.key;
    }
  }, x6t = {
    findParent: El.findParent,
    find: El.find,
    getFunctionParent: El.getFunctionParent,
    getStatementParent: El.getStatementParent,
    getEarliestCommonAncestorFrom: El.getEarliestCommonAncestorFrom,
    getDeepestCommonAncestorFrom: El.getDeepestCommonAncestorFrom,
    getAncestry: El.getAncestry,
    isAncestor: El.isAncestor,
    isDescendant: El.isDescendant,
    inType: El.inType,
    getTypeAnnotation: Ym.getTypeAnnotation,
    isBaseType: Ym.isBaseType,
    couldBeBaseType: Ym.couldBeBaseType,
    baseTypeStrictlyMatches: Ym.baseTypeStrictlyMatches,
    isGenericType: Ym.isGenericType,
    replaceWithMultiple: Xm.replaceWithMultiple,
    replaceWithSourceString: Xm.replaceWithSourceString,
    replaceWith: Xm.replaceWith,
    replaceExpressionWithStatements: Xm.replaceExpressionWithStatements,
    replaceInline: Xm.replaceInline,
    evaluateTruthy: mle.evaluateTruthy,
    evaluate: mle.evaluate,
    toComputedKey: Ef.toComputedKey,
    ensureBlock: Ef.ensureBlock,
    unwrapFunctionEnvironment: Ef.unwrapFunctionEnvironment,
    arrowFunctionToExpression: Ef.arrowFunctionToExpression,
    splitExportDeclaration: Ef.splitExportDeclaration,
    ensureFunctionName: Ef.ensureFunctionName,
    matchesPattern: Pi.matchesPattern,
    isStatic: Pi.isStatic,
    isNodeType: Pi.isNodeType,
    canHaveVariableDeclarationOrExpression: Pi.canHaveVariableDeclarationOrExpression,
    canSwapBetweenExpressionAndStatement: Pi.canSwapBetweenExpressionAndStatement,
    isCompletionRecord: Pi.isCompletionRecord,
    isStatementOrBlock: Pi.isStatementOrBlock,
    referencesImport: Pi.referencesImport,
    getSource: Pi.getSource,
    willIMaybeExecuteBefore: Pi.willIMaybeExecuteBefore,
    _guessExecutionStatusRelativeTo: Pi._guessExecutionStatusRelativeTo,
    resolve: Pi.resolve,
    isConstantExpression: Pi.isConstantExpression,
    isInStrictMode: Pi.isInStrictMode,
    isDenylisted: pi.isDenylisted,
    visit: pi.visit,
    skip: pi.skip,
    skipKey: pi.skipKey,
    stop: pi.stop,
    setContext: pi.setContext,
    requeue: pi.requeue,
    requeueComputedKeyAndDecorators: pi.requeueComputedKeyAndDecorators,
    remove: zm.remove,
    insertBefore: Al.insertBefore,
    insertAfter: Al.insertAfter,
    unshiftContainer: Al.unshiftContainer,
    pushContainer: Al.pushContainer,
    getOpposite: jn.getOpposite,
    getCompletionRecords: jn.getCompletionRecords,
    getSibling: jn.getSibling,
    getPrevSibling: jn.getPrevSibling,
    getNextSibling: jn.getNextSibling,
    getAllNextSiblings: jn.getAllNextSiblings,
    getAllPrevSiblings: jn.getAllPrevSiblings,
    get: jn.get,
    getAssignmentIdentifiers: jn.getAssignmentIdentifiers,
    getBindingIdentifiers: jn.getBindingIdentifiers,
    getOuterBindingIdentifiers: jn.getOuterBindingIdentifiers,
    getBindingIdentifierPaths: jn.getBindingIdentifierPaths,
    getOuterBindingIdentifierPaths: jn.getOuterBindingIdentifierPaths,
    shareCommentsWithSiblings: G3.shareCommentsWithSiblings,
    addComment: G3.addComment,
    addComments: G3.addComments
  };
  Object.assign(Gu.prototype, x6t);
  Gu.prototype.arrowFunctionToShadowed = Ef.arrowFunctionToShadowed, Object.assign(Gu.prototype, {
    has: Pi.has,
    is: Pi.is,
    isnt: Pi.isnt,
    equals: Pi.equals,
    hoist: Al.hoist,
    updateSiblingKeys: Al.updateSiblingKeys,
    call: pi.call,
    isBlacklisted: pi.isBlacklisted,
    setScope: pi.setScope,
    resync: pi.resync,
    popContext: pi.popContext,
    pushContext: pi.pushContext,
    setup: pi.setup,
    setKey: pi.setKey
  });
  Gu.prototype._guessExecutionStatusRelativeToDifferentFunctions = Pi._guessExecutionStatusRelativeTo, Gu.prototype._guessExecutionStatusRelativeToDifferentFunctions =
  Pi._guessExecutionStatusRelativeTo, Object.assign(Gu.prototype, {
    _getTypeAnnotation: Ym._getTypeAnnotation,
    _replaceWith: Xm._replaceWith,
    _resolve: Pi._resolve,
    _call: pi._call,
    _resyncParent: pi._resyncParent,
    _resyncKey: pi._resyncKey,
    _resyncList: pi._resyncList,
    _resyncRemoved: pi._resyncRemoved,
    _getQueueContexts: pi._getQueueContexts,
    _removeFromScope: zm._removeFromScope,
    _callRemovalHooks: zm._callRemovalHooks,
    _remove: zm._remove,
    _markRemoved: zm._markRemoved,
    _assertUnremoved: zm._assertUnremoved,
    _containerInsert: Al._containerInsert,
    _containerInsertBefore: Al._containerInsertBefore,
    _containerInsertAfter: Al._containerInsertAfter,
    _verifyNodeList: Al._verifyNodeList,
    _getKey: jn._getKey,
    _getPattern: jn._getPattern
  });
  for (let t of GA.TYPES) {
    let e = `is${t}`, s = GA[e];
    Gu.prototype[e] = function(r) {
      return s(this.node, r);
    }, Gu.prototype[`assert${t}`] = function(r) {
      if (!s(this.node, r))
        throw new TypeError(`Expected node path of type ${t}`);
    };
  }
  Object.assign(Gu.prototype, T6t);
  for (let t of Object.keys(h6t))
    t[0] !== "_" && (GA.TYPES.includes(t) || GA.TYPES.push(t));
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/context.js
var xle = g((QA) => {
  "use strict";
  Object.defineProperty(QA, "__esModule", {
    value: !0
  });
  QA.default = void 0;
  var S6t = Ep(), P6t = fe(), Q3 = xl(), {
    VISITOR_KEYS: E6t
  } = P6t, Z3 = class {
    static {
      n(this, "TraversalContext");
    }
    constructor(e, s, r, i) {
      this.queue = null, this.priorityQueue = null, this.parentPath = i, this.scope = e, this.state = r, this.opts = s;
    }
    shouldVisit(e) {
      let s = this.opts;
      if (s.enter || s.exit || s[e.type]) return !0;
      let r = E6t[e.type];
      if (!(r != null && r.length)) return !1;
      for (let i of r)
        if (e[i])
          return !0;
      return !1;
    }
    create(e, s, r, i) {
      return S6t.default.get({
        parentPath: this.parentPath,
        parent: e,
        container: s,
        key: r,
        listKey: i
      });
    }
    maybeQueue(e, s) {
      this.queue && (s ? this.queue.push(e) : this.priorityQueue.push(e));
    }
    visitMultiple(e, s, r) {
      if (e.length === 0) return !1;
      let i = [];
      for (let a = 0; a < e.length; a++) {
        let o = e[a];
        o && this.shouldVisit(o) && i.push(this.create(s, e, a, r));
      }
      return this.visitQueue(i);
    }
    visitSingle(e, s) {
      return this.shouldVisit(e[s]) ? this.visitQueue([this.create(e, e, s)]) : !1;
    }
    visitQueue(e) {
      this.queue = e, this.priorityQueue = [];
      let s = /* @__PURE__ */ new WeakSet(), r = !1, i = 0;
      for (; i < e.length; ) {
        let a = e[i];
        if (i++, Q3.resync.call(a), (a.contexts.length === 0 || a.contexts[a.contexts.length - 1] !== this) && Q3.pushContext.call(a, this),
        a.key === null) continue;
        let {
          node: o
        } = a;
        if (!s.has(o)) {
          if (o && s.add(o), a.visit()) {
            r = !0;
            break;
          }
          if (this.priorityQueue.length && (r = this.visitQueue(this.priorityQueue), this.priorityQueue = [], this.queue = e, r))
            break;
        }
      }
      for (let a = 0; a < i; a++)
        Q3.popContext.call(e[a]);
      return this.queue = null, r;
    }
    visit(e, s) {
      let r = e[s];
      return r ? Array.isArray(r) ? this.visitMultiple(r, e, s) : this.visitSingle(e, s) : !1;
    }
  };
  QA.default = Z3;
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/traverse-node.js
var fA = g((e4) => {
  "use strict";
  Object.defineProperty(e4, "__esModule", {
    value: !0
  });
  e4.traverseNode = w6t;
  var A6t = xle(), v6t = fe(), {
    VISITOR_KEYS: C6t
  } = v6t;
  function w6t(t, e, s, r, i, a, o) {
    let l = C6t[t.type];
    if (!l) return !1;
    let u = new A6t.default(s, e, r, i);
    if (o)
      return a != null && a[i.parentKey] ? !1 : u.visitQueue([i]);
    for (let c of l)
      if (!(a != null && a[c]) && u.visit(t, c))
        return !0;
    return !1;
  }
  n(w6t, "traverseNode");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/path/context.js
var xl = g((Kr) => {
  "use strict";
  Object.defineProperty(Kr, "__esModule", {
    value: !0
  });
  Kr._call = s4;
  Kr._getQueueContexts = V6t;
  Kr._resyncKey = Cle;
  Kr._resyncList = wle;
  Kr._resyncParent = vle;
  Kr._resyncRemoved = F6t;
  Kr.call = t4;
  Kr.isDenylisted = Ele;
  Kr.popContext = j6t;
  Kr.pushContext = R6t;
  Kr.requeue = U6t;
  Kr.requeueComputedKeyAndDecorators = K6t;
  Kr.resync = M6t;
  Kr.setContext = B6t;
  Kr.setKey = ZA;
  Kr.setScope = Ale;
  Kr.setup = q6t;
  Kr.skip = O6t;
  Kr.skipKey = _6t;
  Kr.stop = L6t;
  Kr.visit = D6t;
  var I6t = fA(), Sle = Ep(), N6t = MA(), k6t = fe();
  function t4(t) {
    let e = this.opts;
    if (this.debug(t), this.node && s4.call(this, e[t]))
      return !0;
    if (this.node) {
      var s;
      return s4.call(this, (s = e[this.node.type]) == null ? void 0 : s[t]);
    }
    return !1;
  }
  n(t4, "call");
  function s4(t) {
    if (!t) return !1;
    for (let e of t) {
      if (!e) continue;
      let s = this.node;
      if (!s) return !0;
      let r = e.call(this.state, this, this.state);
      if (r && typeof r == "object" && typeof r.then == "function")
        throw new Error("You appear to be using a plugin with an async traversal visitor, which your current version of Babel does not suppo\
rt. If you're using a published plugin, you may need to upgrade your @babel/core version.");
      if (r)
        throw new Error(`Unexpected return value from visitor method ${e}`);
      if (this.node !== s || this._traverseFlags > 0) return !0;
    }
    return !1;
  }
  n(s4, "_call");
  function Ele() {
    var t;
    let e = (t = this.opts.denylist) != null ? t : this.opts.blacklist;
    return e?.includes(this.node.type);
  }
  n(Ele, "isDenylisted");
  Kr.isBlacklisted = Ele;
  function Ple(t, e) {
    t.context !== e && (t.context = e, t.state = e.state, t.opts = e.opts);
  }
  n(Ple, "restoreContext");
  function D6t() {
    var t, e;
    if (!this.node || this.isDenylisted() || (t = (e = this.opts).shouldSkip) != null && t.call(e, this))
      return !1;
    let s = this.context;
    return this.shouldSkip || t4.call(this, "enter") ? (this.debug("Skip..."), this.shouldStop) : (Ple(this, s), this.debug("Recursing into.\
.."), this.shouldStop = (0, I6t.traverseNode)(this.node, this.opts, this.scope, this.state, this, this.skipKeys), Ple(this, s), t4.call(this,
    "exit"), this.shouldStop);
  }
  n(D6t, "visit");
  function O6t() {
    this.shouldSkip = !0;
  }
  n(O6t, "skip");
  function _6t(t) {
    this.skipKeys == null && (this.skipKeys = {}), this.skipKeys[t] = !0;
  }
  n(_6t, "skipKey");
  function L6t() {
    this._traverseFlags |= Sle.SHOULD_SKIP | Sle.SHOULD_STOP;
  }
  n(L6t, "stop");
  function Ale() {
    var t, e;
    if ((t = this.opts) != null && t.noScope) return;
    let s = this.parentPath;
    ((this.key === "key" || this.listKey === "decorators") && s.isMethod() || this.key === "discriminant" && s.isSwitchStatement()) && (s = s.
    parentPath);
    let r;
    for (; s && !r; ) {
      var i;
      if ((i = s.opts) != null && i.noScope) return;
      r = s.scope, s = s.parentPath;
    }
    this.scope = this.getScope(r), (e = this.scope) == null || e.init();
  }
  n(Ale, "setScope");
  function B6t(t) {
    return this.skipKeys != null && (this.skipKeys = {}), this._traverseFlags = 0, t && (this.context = t, this.state = t.state, this.opts =
    t.opts), Ale.call(this), this;
  }
  n(B6t, "setContext");
  function M6t() {
    this.removed || (vle.call(this), wle.call(this), Cle.call(this));
  }
  n(M6t, "resync");
  function vle() {
    this.parentPath && (this.parent = this.parentPath.node);
  }
  n(vle, "_resyncParent");
  function Cle() {
    if (this.container && this.node !== this.container[this.key]) {
      if (Array.isArray(this.container)) {
        for (let t = 0; t < this.container.length; t++)
          if (this.container[t] === this.node) {
            ZA.call(this, t);
            return;
          }
      } else
        for (let t of Object.keys(this.container))
          if (this.container[t] === this.node) {
            ZA.call(this, t);
            return;
          }
      this.key = null;
    }
  }
  n(Cle, "_resyncKey");
  function wle() {
    if (!this.parent || !this.inList) return;
    let t = this.parent[this.listKey];
    this.container !== t && (this.container = t || null);
  }
  n(wle, "_resyncList");
  function F6t() {
    (this.key == null || !this.container || this.container[this.key] !== this.node) && N6t._markRemoved.call(this);
  }
  n(F6t, "_resyncRemoved");
  function j6t() {
    this.contexts.pop(), this.contexts.length > 0 ? this.setContext(this.contexts[this.contexts.length - 1]) : this.setContext(void 0);
  }
  n(j6t, "popContext");
  function R6t(t) {
    this.contexts.push(t), this.setContext(t);
  }
  n(R6t, "pushContext");
  function q6t(t, e, s, r) {
    this.listKey = s, this.container = e, this.parentPath = t || this.parentPath, ZA.call(this, r);
  }
  n(q6t, "setup");
  function ZA(t) {
    var e;
    this.key = t, this.node = this.container[this.key], this.type = (e = this.node) == null ? void 0 : e.type;
  }
  n(ZA, "setKey");
  function U6t(t = this) {
    if (t.removed) return;
    let e = this.contexts;
    for (let s of e)
      s.maybeQueue(t);
  }
  n(U6t, "requeue");
  function K6t() {
    let {
      context: t,
      node: e
    } = this;
    if (!k6t.isPrivate(e) && e.computed && t.maybeQueue(this.get("key")), e.decorators)
      for (let s of this.get("decorators"))
        t.maybeQueue(s);
  }
  n(K6t, "requeueComputedKeyAndDecorators");
  function V6t() {
    let t = this, e = this.contexts;
    for (; !e.length && (t = t.parentPath, !!t); )
      e = t.contexts;
    return e;
  }
  n(V6t, "_getQueueContexts");
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/hub.js
var Ile = g((e1) => {
  "use strict";
  Object.defineProperty(e1, "__esModule", {
    value: !0
  });
  e1.default = void 0;
  var r4 = class {
    static {
      n(this, "Hub");
    }
    getCode() {
    }
    getScope() {
    }
    addHelper() {
      throw new Error("Helpers are not supported by the default hub.");
    }
    buildError(e, s, r = TypeError) {
      return new r(s);
    }
  };
  e1.default = r4;
});

// ../node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse/lib/index.js
var Lo = g((Qu) => {
  "use strict";
  Object.defineProperty(Qu, "__esModule", {
    value: !0
  });
  Object.defineProperty(Qu, "Hub", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Y6t.default;
    }, "get")
  });
  Object.defineProperty(Qu, "NodePath", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return H6t.default;
    }, "get")
  });
  Object.defineProperty(Qu, "Scope", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return J6t.default;
    }, "get")
  });
  Qu.visitors = Qu.default = void 0;
  xl();
  var cT = H0();
  Qu.visitors = cT;
  var W6t = fe(), $6t = hf(), Nle = fA(), H6t = Ep(), J6t = mF(), Y6t = Ile(), {
    VISITOR_KEYS: X6t,
    removeProperties: z6t,
    traverseFast: kle
  } = W6t;
  function Ga(t, e = {}, s, r, i, a) {
    if (t) {
      if (!e.noScope && !s && t.type !== "Program" && t.type !== "File")
        throw new Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${t.
        type} node without passing scope and parentPath.`);
      if (!i && a)
        throw new Error("visitSelf can only be used when providing a NodePath.");
      X6t[t.type] && (cT.explode(e), (0, Nle.traverseNode)(t, e, s, r, i, null, a));
    }
  }
  n(Ga, "traverse");
  var Rzs = Qu.default = Ga;
  Ga.visitors = cT;
  Ga.verify = cT.verify;
  Ga.explode = cT.explode;
  Ga.cheap = function(t, e) {
    kle(t, e);
  };
  Ga.node = function(t, e, s, r, i, a) {
    (0, Nle.traverseNode)(t, e, s, r, i, a);
  };
  Ga.clearNode = function(t, e) {
    z6t(t, e);
  };
  Ga.removeProperties = function(t, e) {
    return kle(t, Ga.clearNode, e), t;
  };
  function G6t(t, e) {
    t.node.type === e.type && (e.has = !0, t.stop());
  }
  n(G6t, "hasDenylistedType");
  Ga.hasType = function(t, e, s) {
    if (s != null && s.includes(t.type)) return !1;
    if (t.type === e) return !0;
    let r = {
      has: !1,
      type: e
    };
    return Ga(t, {
      noScope: !0,
      denylist: s,
      enter: G6t
    }, null, r), r.has;
  };
  Ga.cache = $6t;
});

// ../node_modules/@babel/helper-annotate-as-pure/lib/index.js
var Dle = g((i4) => {
  "use strict";
  Object.defineProperty(i4, "__esModule", {
    value: !0
  });
  i4.default = sRt;
  var Q6t = fe(), {
    addComment: Z6t
  } = Q6t, eRt = "#__PURE__", tRt = /* @__PURE__ */ n(({
    leadingComments: t
  }) => !!t && t.some((e) => /[@#]__PURE__/.test(e.value)), "isPureAnnotated");
  function sRt(t) {
    let e = t.node || t;
    tRt(e) || Z6t(e, "leading", eRt);
  }
  n(sRt, "annotateAsPure");
});

// ../node_modules/@babel/helper-create-class-features-plugin/lib/typescript.js
var a4 = g((n4) => {
  "use strict";
  Object.defineProperty(n4, "__esModule", {
    value: !0
  });
  n4.assertFieldTransformed = rRt;
  function rRt(t) {
    if (t.node.declare)
      throw t.buildCodeFrameError(`TypeScript 'declare' fields must first be transformed by @babel/plugin-transform-typescript.
If you have already enabled that plugin (or '@babel/preset-typescript'), make sure that it runs before any plugin related to additional clas\
s features:
 - @babel/plugin-transform-class-properties
 - @babel/plugin-transform-private-methods
 - @babel/plugin-proposal-decorators`);
  }
  n(rRt, "assertFieldTransformed");
});

// ../node_modules/@babel/helper-create-class-features-plugin/lib/fields.js
var p4 = g((Ip) => {
  "use strict";
  Object.defineProperty(Ip, "__esModule", {
    value: !0
  });
  Ip.buildCheckInRHS = r1;
  Ip.buildFieldsInitNodes = wRt;
  Ip.buildPrivateNamesMap = uRt;
  Ip.buildPrivateNamesNodes = cRt;
  Ip.privateNameVisitorFactory = c4;
  Ip.transformPrivateNamesUsage = yRt;
  var ae = ni(), Fle = Lo(), iRt = cA(), nRt = tB(), Ole = rB(), aRt = Dle(), oRt = nF(), lRt = a4();
  on = /* @__PURE__ */ n((t) => t.availableHelper("classPrivateFieldGet2"), "newHelpers");
  var on;
  function uRt(t, e, s, r) {
    let i = /* @__PURE__ */ new Map(), a;
    for (let l of s)
      if (l.isPrivate()) {
        let {
          name: u
        } = l.node.key.id, c = i.get(u);
        if (!c) {
          let p = !l.isProperty(), h = l.node.static, f = !1, d;
          if (!e && on(r) && p && !h) {
            var o;
            f = !!a, (o = a) != null || (a = l.scope.generateUidIdentifier(`${t}_brand`)), d = a;
          } else
            d = l.scope.generateUidIdentifier(u);
          c = {
            id: d,
            static: h,
            method: p,
            initAdded: f
          }, i.set(u, c);
        }
        if (l.isClassPrivateMethod())
          if (l.node.kind === "get") {
            let {
              body: p
            } = l.node.body, h;
            p.length === 1 && ae.types.isReturnStatement(h = p[0]) && ae.types.isCallExpression(h = h.argument) && h.arguments.length === 1 &&
            ae.types.isThisExpression(h.arguments[0]) && ae.types.isIdentifier(h = h.callee) ? (c.getId = ae.types.cloneNode(h), c.getterDeclared =
            !0) : c.getId = l.scope.generateUidIdentifier(`get_${u}`);
          } else if (l.node.kind === "set") {
            let {
              params: p
            } = l.node, {
              body: h
            } = l.node.body, f;
            h.length === 1 && ae.types.isExpressionStatement(f = h[0]) && ae.types.isCallExpression(f = f.expression) && f.arguments.length ===
            2 && ae.types.isThisExpression(f.arguments[0]) && ae.types.isIdentifier(f.arguments[1], {
              name: p[0].name
            }) && ae.types.isIdentifier(f = f.callee) ? (c.setId = ae.types.cloneNode(f), c.setterDeclared = !0) : c.setId = l.scope.generateUidIdentifier(
            `set_${u}`);
          } else l.node.kind === "method" && (c.methodId = l.scope.generateUidIdentifier(u));
        i.set(u, c);
      }
    return i;
  }
  n(uRt, "buildPrivateNamesMap");
  function cRt(t, e, s, r) {
    let i = [], a = /* @__PURE__ */ new Set();
    for (let [o, l] of t) {
      let {
        static: u,
        method: c,
        getId: p,
        setId: h
      } = l, f = p || h, d = ae.types.cloneNode(l.id), m;
      if (e)
        m = ae.types.callExpression(r.addHelper("classPrivateFieldLooseKey"), [ae.types.stringLiteral(o)]);
      else if (s)
        m = ae.types.callExpression(ae.types.identifier("Symbol"), [ae.types.stringLiteral(o)]);
      else if (!u) {
        if (a.has(d.name)) continue;
        a.add(d.name), m = ae.types.newExpression(ae.types.identifier(c && (!f || on(r)) ? "WeakSet" : "WeakMap"), []);
      }
      m && (s || (0, aRt.default)(m), i.push(ae.template.statement.ast`var ${d} = ${m}`));
    }
    return i;
  }
  n(cRt, "buildPrivateNamesNodes");
  function c4(t) {
    let e = Fle.visitors.environmentVisitor(Object.assign({}, t)), s = Object.assign({}, t, {
      Class(r) {
        let {
          privateNamesMap: i
        } = this, a = r.get("body.body"), o = new Map(i), l = [];
        for (let u of a) {
          if (!u.isPrivate()) continue;
          let {
            name: c
          } = u.node.key.id;
          o.delete(c), l.push(c);
        }
        l.length && (r.get("body").traverse(e, Object.assign({}, this, {
          redeclared: l
        })), r.traverse(s, Object.assign({}, this, {
          privateNamesMap: o
        })), r.skipKey("body"));
      }
    });
    return s;
  }
  n(c4, "privateNameVisitorFactory");
  var pRt = c4({
    PrivateName(t, {
      noDocumentAll: e
    }) {
      let {
        privateNamesMap: s,
        redeclared: r
      } = this, {
        node: i,
        parentPath: a
      } = t;
      if (!a.isMemberExpression({
        property: i
      }) && !a.isOptionalMemberExpression({
        property: i
      }))
        return;
      let {
        name: o
      } = i.id;
      s.has(o) && (r != null && r.includes(o) || this.handle(a, e));
    }
  });
  function jle(t, e, s) {
    for (; (r = e) != null && r.hasBinding(t) && !e.bindingIdentifierEquals(t, s); ) {
      var r;
      e.rename(t), e = e.parent;
    }
  }
  n(jle, "unshadow");
  function r1(t, e, s) {
    return s || !(e.availableHelper != null && e.availableHelper("checkInRHS")) ? t : ae.types.callExpression(e.addHelper("checkInRHS"), [t]);
  }
  n(r1, "buildCheckInRHS");
  var hRt = c4({
    BinaryExpression(t, {
      file: e
    }) {
      let {
        operator: s,
        left: r,
        right: i
      } = t.node;
      if (s !== "in" || !ae.types.isPrivateName(r)) return;
      let {
        privateFieldsAsProperties: a,
        privateNamesMap: o,
        redeclared: l
      } = this, {
        name: u
      } = r.id;
      if (!o.has(u) || l != null && l.includes(u)) return;
      if (jle(this.classRef.name, t.scope, this.innerBinding), a) {
        let {
          id: h
        } = o.get(u);
        t.replaceWith(ae.template.expression.ast`
        Object.prototype.hasOwnProperty.call(${r1(i, e)}, ${ae.types.cloneNode(h)})
      `);
        return;
      }
      let {
        id: c,
        static: p
      } = o.get(u);
      if (p) {
        t.replaceWith(ae.template.expression.ast`${r1(i, e)} === ${ae.types.cloneNode(this.classRef)}`);
        return;
      }
      t.replaceWith(ae.template.expression.ast`${ae.types.cloneNode(c)}.has(${r1(i, e)})`);
    }
  });
  function t1(t, e) {
    return ae.types.callExpression(t.addHelper("readOnlyError"), [ae.types.stringLiteral(`#${e}`)]);
  }
  n(t1, "readOnlyError");
  function fRt(t, e) {
    return t.availableHelper("writeOnlyError") ? ae.types.callExpression(t.addHelper("writeOnlyError"), [ae.types.stringLiteral(`#${e}`)]) :
    (console.warn("@babel/helpers is outdated, update it to silence this warning."), ae.types.buildUndefinedNode());
  }
  n(fRt, "writeOnlyError");
  function o4(t, e) {
    return e ? t : ae.types.memberExpression(t, ae.types.identifier("_"));
  }
  n(o4, "buildStaticPrivateFieldAccess");
  function _le(t) {
    return function(e) {
      return ae.types.inherits(t.apply(this, arguments), e.node);
    };
  }
  n(_le, "autoInherits");
  var dRt = {
    memoise(t, e) {
      let {
        scope: s
      } = t, {
        object: r
      } = t.node, i = s.maybeGenerateMemoised(r);
      i && this.memoiser.set(r, i, e);
    },
    receiver(t) {
      let {
        object: e
      } = t.node;
      return this.memoiser.has(e) ? ae.types.cloneNode(this.memoiser.get(e)) : ae.types.cloneNode(e);
    },
    get: _le(function(t) {
      let {
        classRef: e,
        privateNamesMap: s,
        file: r,
        innerBinding: i,
        noUninitializedPrivateFieldAccess: a
      } = this, o = t.node.property, {
        name: l
      } = o.id, {
        id: u,
        static: c,
        method: p,
        methodId: h,
        getId: f,
        setId: d
      } = s.get(l), m = f || d, y = /* @__PURE__ */ n((T) => ae.types.inherits(ae.types.cloneNode(T), o), "cloneId");
      if (c) {
        if (jle(e.name, t.scope, i), !on(r)) {
          let E = p && !m ? "classStaticPrivateMethodGet" : "classStaticPrivateFieldSpecGet";
          return ae.types.callExpression(r.addHelper(E), [this.receiver(t), ae.types.cloneNode(e), y(u)]);
        }
        let T = this.receiver(t), b = ae.types.isIdentifier(T) && T.name === e.name;
        if (!p)
          return o4(b ? y(u) : ae.types.callExpression(r.addHelper("assertClassBrand"), [ae.types.cloneNode(e), T, y(u)]), a);
        if (f)
          return b ? ae.types.callExpression(y(f), [T]) : ae.types.callExpression(r.addHelper("classPrivateGetter"), [ae.types.cloneNode(e),
          T, y(f)]);
        if (d) {
          let E = ae.types.buildUndefinedNode();
          return b ? E : ae.types.sequenceExpression([ae.types.callExpression(r.addHelper("assertClassBrand"), [ae.types.cloneNode(e), T]), E]);
        }
        return b ? y(u) : ae.types.callExpression(r.addHelper("assertClassBrand"), [ae.types.cloneNode(e), T, y(u)]);
      }
      return p ? m ? f ? on(r) ? ae.types.callExpression(r.addHelper("classPrivateGetter"), [ae.types.cloneNode(u), this.receiver(t), y(f)]) :
      ae.types.callExpression(r.addHelper("classPrivateFieldGet"), [this.receiver(t), y(u)]) : ae.types.sequenceExpression([this.receiver(t),
      fRt(r, l)]) : on(r) ? ae.types.callExpression(r.addHelper("assertClassBrand"), [ae.types.cloneNode(u), this.receiver(t), y(h)]) : ae.types.
      callExpression(r.addHelper("classPrivateMethodGet"), [this.receiver(t), ae.types.cloneNode(u), y(h)]) : on(r) ? ae.types.callExpression(
      r.addHelper("classPrivateFieldGet2"), [y(u), this.receiver(t)]) : ae.types.callExpression(r.addHelper("classPrivateFieldGet"), [this.receiver(
      t), y(u)]);
    }),
    boundGet(t) {
      return this.memoise(t, 1), ae.types.callExpression(ae.types.memberExpression(this.get(t), ae.types.identifier("bind")), [this.receiver(
      t)]);
    },
    set: _le(function(t, e) {
      let {
        classRef: s,
        privateNamesMap: r,
        file: i,
        noUninitializedPrivateFieldAccess: a
      } = this, o = t.node.property, {
        name: l
      } = o.id, {
        id: u,
        static: c,
        method: p,
        setId: h,
        getId: f
      } = r.get(l), d = f || h, m = /* @__PURE__ */ n((y) => ae.types.inherits(ae.types.cloneNode(y), o), "cloneId");
      if (c) {
        if (!on(i)) {
          let b = p && !d ? "classStaticPrivateMethodSet" : "classStaticPrivateFieldSpecSet";
          return ae.types.callExpression(i.addHelper(b), [this.receiver(t), ae.types.cloneNode(s), m(u), e]);
        }
        let y = this.receiver(t), T = ae.types.isIdentifier(y) && y.name === s.name;
        if (p && !h) {
          let b = t1(i, l);
          return T ? ae.types.sequenceExpression([e, b]) : ae.types.sequenceExpression([e, ae.types.callExpression(i.addHelper("assertClassB\
rand"), [ae.types.cloneNode(s), y]), t1(i, l)]);
        }
        return h ? T ? ae.types.callExpression(ae.types.cloneNode(h), [y, e]) : ae.types.callExpression(i.addHelper("classPrivateSetter"), [
        ae.types.cloneNode(s), m(h), y, e]) : ae.types.assignmentExpression("=", o4(m(u), a), T ? e : ae.types.callExpression(i.addHelper("a\
ssertClassBrand"), [ae.types.cloneNode(s), y, e]));
      }
      return p ? h ? on(i) ? ae.types.callExpression(i.addHelper("classPrivateSetter"), [ae.types.cloneNode(u), m(h), this.receiver(t), e]) :
      ae.types.callExpression(i.addHelper("classPrivateFieldSet"), [this.receiver(t), m(u), e]) : ae.types.sequenceExpression([this.receiver(
      t), e, t1(i, l)]) : on(i) ? ae.types.callExpression(i.addHelper("classPrivateFieldSet2"), [m(u), this.receiver(t), e]) : ae.types.callExpression(
      i.addHelper("classPrivateFieldSet"), [this.receiver(t), m(u), e]);
    }),
    destructureSet(t) {
      let {
        classRef: e,
        privateNamesMap: s,
        file: r,
        noUninitializedPrivateFieldAccess: i
      } = this, a = t.node.property, {
        name: o
      } = a.id, {
        id: l,
        static: u,
        method: c,
        setId: p
      } = s.get(o), h = /* @__PURE__ */ n((y) => ae.types.inherits(ae.types.cloneNode(y), a), "cloneId");
      if (!on(r)) {
        if (u) {
          try {
            var f = r.addHelper("classStaticPrivateFieldDestructureSet");
          } catch {
            throw new Error("Babel can not transpile `[C.#p] = [0]` with @babel/helpers < 7.13.10, \nplease update @babel/helpers to the late\
st version.");
          }
          return ae.types.memberExpression(ae.types.callExpression(f, [this.receiver(t), ae.types.cloneNode(e), h(l)]), ae.types.identifier(
          "value"));
        }
        return ae.types.memberExpression(ae.types.callExpression(r.addHelper("classPrivateFieldDestructureSet"), [this.receiver(t), h(l)]), ae.
        types.identifier("value"));
      }
      if (c && !p)
        return ae.types.memberExpression(ae.types.sequenceExpression([t.node.object, t1(r, o)]), ae.types.identifier("_"));
      if (u && !c) {
        let y = this.get(t);
        if (!i || !ae.types.isCallExpression(y))
          return y;
        let T = y.arguments.pop();
        return y.arguments.push(ae.template.expression.ast`(_) => ${T} = _`), ae.types.memberExpression(ae.types.callExpression(r.addHelper(
        "toSetter"), [y]), ae.types.identifier("_"));
      }
      let d = this.set(t, ae.types.identifier("_"));
      if (!ae.types.isCallExpression(d) || !ae.types.isIdentifier(d.arguments[d.arguments.length - 1], {
        name: "_"
      }))
        throw t.buildCodeFrameError("Internal Babel error while compiling this code. This is a Babel bug. Please report it at https://github\
.com/babel/babel/issues.");
      let m;
      return ae.types.isMemberExpression(d.callee, {
        computed: !1
      }) && ae.types.isIdentifier(d.callee.property) && d.callee.property.name === "call" ? m = [d.callee.object, ae.types.arrayExpression(d.
      arguments.slice(1, -1)), d.arguments[0]] : m = [d.callee, ae.types.arrayExpression(d.arguments.slice(0, -1))], ae.types.memberExpression(
      ae.types.callExpression(r.addHelper("toSetter"), m), ae.types.identifier("_"));
    },
    call(t, e) {
      return this.memoise(t, 1), (0, Ole.default)(this.get(t), this.receiver(t), e, !1);
    },
    optionalCall(t, e) {
      return this.memoise(t, 1), (0, Ole.default)(this.get(t), this.receiver(t), e, !0);
    },
    delete() {
      throw new Error("Internal Babel error: deleting private elements is a parsing error.");
    }
  }, mRt = {
    get(t) {
      let {
        privateNamesMap: e,
        file: s
      } = this, {
        object: r
      } = t.node, {
        name: i
      } = t.node.property.id;
      return ae.template.expression`BASE(REF, PROP)[PROP]`({
        BASE: s.addHelper("classPrivateFieldLooseBase"),
        REF: ae.types.cloneNode(r),
        PROP: ae.types.cloneNode(e.get(i).id)
      });
    },
    set() {
      throw new Error("private name handler with loose = true don't need set()");
    },
    boundGet(t) {
      return ae.types.callExpression(ae.types.memberExpression(this.get(t), ae.types.identifier("bind")), [ae.types.cloneNode(t.node.object)]);
    },
    simpleSet(t) {
      return this.get(t);
    },
    destructureSet(t) {
      return this.get(t);
    },
    call(t, e) {
      return ae.types.callExpression(this.get(t), e);
    },
    optionalCall(t, e) {
      return ae.types.optionalCallExpression(this.get(t), e, !0);
    },
    delete() {
      throw new Error("Internal Babel error: deleting private elements is a parsing error.");
    }
  };
  function yRt(t, e, s, {
    privateFieldsAsProperties: r,
    noUninitializedPrivateFieldAccess: i,
    noDocumentAll: a,
    innerBinding: o
  }, l) {
    if (!s.size) return;
    let u = e.get("body"), c = r ? mRt : dRt;
    (0, nRt.default)(u, pRt, Object.assign({
      privateNamesMap: s,
      classRef: t,
      file: l
    }, c, {
      noDocumentAll: a,
      noUninitializedPrivateFieldAccess: i,
      innerBinding: o
    })), u.traverse(hRt, {
      privateNamesMap: s,
      classRef: t,
      file: l,
      privateFieldsAsProperties: r,
      innerBinding: o
    });
  }
  n(yRt, "transformPrivateNamesUsage");
  function Lle(t, e, s) {
    let {
      id: r
    } = s.get(e.node.key.id.name), i = e.node.value || e.scope.buildUndefinedNode();
    return Ri(ae.template.statement.ast`
      Object.defineProperty(${t}, ${ae.types.cloneNode(r)}, {
        // configurable is false by default
        // enumerable is false by default
        writable: true,
        value: ${i}
      });
    `, e);
  }
  n(Lle, "buildPrivateFieldInitLoose");
  function gRt(t, e, s, r) {
    let {
      id: i
    } = s.get(e.node.key.id.name), a = e.node.value || e.scope.buildUndefinedNode();
    if (!r.availableHelper("classPrivateFieldInitSpec"))
      return Ri(ae.template.statement.ast`${ae.types.cloneNode(i)}.set(${t}, {
          // configurable is always false for private elements
          // enumerable is always false for private elements
          writable: true,
          value: ${a},
        })`, e);
    let o = r.addHelper("classPrivateFieldInitSpec");
    return u4(Ri(ae.types.expressionStatement(ae.types.callExpression(o, [ae.types.thisExpression(), u4(ae.types.cloneNode(i), e.node.key), on(
    r) ? a : ae.template.expression.ast`{ writable: true, value: ${a} }`])), e), e.node);
  }
  n(gRt, "buildPrivateInstanceFieldInitSpec");
  function TRt(t, e, s) {
    let r = e.get(t.node.key.id.name), i = s ? t.node.value : ae.template.expression.ast`{
        _: ${t.node.value || ae.types.buildUndefinedNode()}
      }`;
    return Ri(ae.types.variableDeclaration("var", [ae.types.variableDeclarator(ae.types.cloneNode(r.id), i)]), t);
  }
  n(TRt, "buildPrivateStaticFieldInitSpec");
  l4 = /* @__PURE__ */ n(function(t, e) {
    let s = e.get(t.node.key.id.name), {
      id: r,
      getId: i,
      setId: a,
      initAdded: o
    } = s, l = i || a;
    if (!t.isProperty() && (o || !l)) return;
    if (l)
      return e.set(t.node.key.id.name, Object.assign({}, s, {
        initAdded: !0
      })), Ri(ae.template.statement.ast`
          var ${ae.types.cloneNode(r)} = {
            // configurable is false by default
            // enumerable is false by default
            // writable is false by default
            get: ${i ? i.name : t.scope.buildUndefinedNode()},
            set: ${a ? a.name : t.scope.buildUndefinedNode()}
          }
        `, t);
    let u = t.node.value || t.scope.buildUndefinedNode();
    return Ri(ae.template.statement.ast`
        var ${ae.types.cloneNode(r)} = {
          // configurable is false by default
          // enumerable is false by default
          writable: true,
          value: ${u}
        };
      `, t);
  }, "buildPrivateStaticFieldInitSpecOld");
  var l4;
  function bRt(t, e, s) {
    let r = s.get(e.node.key.id.name), {
      methodId: i,
      id: a,
      getId: o,
      setId: l,
      initAdded: u
    } = r;
    if (u) return;
    if (i)
      return Ri(ae.template.statement.ast`
        Object.defineProperty(${t}, ${a}, {
          // configurable is false by default
          // enumerable is false by default
          // writable is false by default
          value: ${i.name}
        });
      `, e);
    if (o || l)
      return s.set(e.node.key.id.name, Object.assign({}, r, {
        initAdded: !0
      })), Ri(ae.template.statement.ast`
        Object.defineProperty(${t}, ${a}, {
          // configurable is false by default
          // enumerable is false by default
          // writable is false by default
          get: ${o ? o.name : e.scope.buildUndefinedNode()},
          set: ${l ? l.name : e.scope.buildUndefinedNode()}
        });
      `, e);
  }
  n(bRt, "buildPrivateMethodInitLoose");
  function xRt(t, e, s, r) {
    let i = s.get(e.node.key.id.name);
    if (!i.initAdded)
      return !on(r) && (i.getId || i.setId) ? SRt(t, e, s, r) : PRt(t, e, s, r);
  }
  n(xRt, "buildPrivateInstanceMethodInitSpec");
  function SRt(t, e, s, r) {
    let i = s.get(e.node.key.id.name), {
      id: a,
      getId: o,
      setId: l
    } = i;
    if (s.set(e.node.key.id.name, Object.assign({}, i, {
      initAdded: !0
    })), !r.availableHelper("classPrivateFieldInitSpec"))
      return Ri(ae.template.statement.ast`
          ${a}.set(${t}, {
            get: ${o ? o.name : e.scope.buildUndefinedNode()},
            set: ${l ? l.name : e.scope.buildUndefinedNode()}
          });
        `, e);
    let u = r.addHelper("classPrivateFieldInitSpec");
    return u4(Ri(ae.template.statement.ast`${u}(
      ${ae.types.thisExpression()},
      ${ae.types.cloneNode(a)},
      {
        get: ${o ? o.name : e.scope.buildUndefinedNode()},
        set: ${l ? l.name : e.scope.buildUndefinedNode()}
      },
    )`, e), e.node);
  }
  n(SRt, "buildPrivateAccessorInitialization");
  function PRt(t, e, s, r) {
    let i = s.get(e.node.key.id.name), {
      id: a
    } = i;
    if (!r.availableHelper("classPrivateMethodInitSpec"))
      return Ri(ae.template.statement.ast`${a}.add(${t})`, e);
    let o = r.addHelper("classPrivateMethodInitSpec");
    return Ri(ae.template.statement.ast`${o}(
      ${ae.types.thisExpression()},
      ${ae.types.cloneNode(a)}
    )`, e);
  }
  n(PRt, "buildPrivateInstanceMethodInitialization");
  function Ble(t, e) {
    let {
      key: s,
      computed: r
    } = e.node, i = e.node.value || e.scope.buildUndefinedNode();
    return Ri(ae.types.expressionStatement(ae.types.assignmentExpression("=", ae.types.memberExpression(t, s, r || ae.types.isLiteral(s)), i)),
    e);
  }
  n(Ble, "buildPublicFieldInitLoose");
  function Mle(t, e, s) {
    let {
      key: r,
      computed: i
    } = e.node, a = e.node.value || e.scope.buildUndefinedNode();
    return Ri(ae.types.expressionStatement(ae.types.callExpression(s.addHelper("defineProperty"), [t, i || ae.types.isLiteral(r) ? r : ae.types.
    stringLiteral(r.name), a])), e);
  }
  n(Mle, "buildPublicFieldInitSpec");
  function ERt(t, e, s, r) {
    let i = r.get(e.node.key.id.name), {
      id: a,
      methodId: o,
      getId: l,
      setId: u,
      initAdded: c
    } = i;
    return c ? void 0 : l || u ? (r.set(e.node.key.id.name, Object.assign({}, i, {
      initAdded: !0
    })), Ri(ae.template.statement.ast`
        Object.defineProperty(${t}, ${a}, {
          // configurable is false by default
          // enumerable is false by default
          // writable is false by default
          get: ${l ? l.name : e.scope.buildUndefinedNode()},
          set: ${u ? u.name : e.scope.buildUndefinedNode()}
        })
      `, e)) : Ri(ae.template.statement.ast`
      Object.defineProperty(${t}, ${a}, {
        // configurable is false by default
        // enumerable is false by default
        // writable is false by default
        value: ${o.name}
      });
    `, e);
  }
  n(ERt, "buildPrivateStaticMethodInitLoose");
  function s1(t, e, s, r = !1) {
    let i = s.get(e.node.key.id.name), {
      id: a,
      methodId: o,
      getId: l,
      setId: u,
      getterDeclared: c,
      setterDeclared: p,
      static: h
    } = i, {
      params: f,
      body: d,
      generator: m,
      async: y
    } = e.node, T = l && f.length === 0, b = u && f.length > 0;
    if (T && c || b && p)
      return s.set(e.node.key.id.name, Object.assign({}, i, {
        initAdded: !0
      })), null;
    if (on(t) && (T || b) && !r) {
      let V = e.get("body").scope, W = V.generateUidIdentifier("this"), oe = {
        thisRef: W,
        argumentsPath: []
      };
      if (e.traverse(Rle, oe), oe.argumentsPath.length) {
        let de = V.generateUidIdentifier("arguments");
        V.push({
          id: de,
          init: ae.template.expression.ast`[].slice.call(arguments, 1)`
        });
        for (let ye of oe.argumentsPath)
          ye.replaceWith(ae.types.cloneNode(de));
      }
      f.unshift(ae.types.cloneNode(W));
    }
    let E = o;
    return T ? (s.set(e.node.key.id.name, Object.assign({}, i, {
      getterDeclared: !0,
      initAdded: !0
    })), E = l) : b ? (s.set(e.node.key.id.name, Object.assign({}, i, {
      setterDeclared: !0,
      initAdded: !0
    })), E = u) : h && !r && (E = a), Ri(ae.types.functionDeclaration(ae.types.cloneNode(E), f, d, m, y), e);
  }
  n(s1, "buildPrivateMethodDeclaration");
  var Rle = Fle.visitors.environmentVisitor({
    Identifier(t, e) {
      e.argumentsPath && t.node.name === "arguments" && e.argumentsPath.push(t);
    },
    UnaryExpression(t) {
      let {
        node: e
      } = t;
      if (e.operator === "delete") {
        let s = (0, oRt.skipTransparentExprWrapperNodes)(e.argument);
        ae.types.isThisExpression(s) && t.replaceWith(ae.types.booleanLiteral(!0));
      }
    },
    ThisExpression(t, e) {
      e.needsClassRef = !0, t.replaceWith(ae.types.cloneNode(e.thisRef));
    },
    MetaProperty(t) {
      let {
        node: e,
        scope: s
      } = t;
      e.meta.name === "new" && e.property.name === "target" && t.replaceWith(s.buildUndefinedNode());
    }
  }), ARt = {
    ReferencedIdentifier(t, e) {
      t.scope.bindingIdentifierEquals(t.node.name, e.innerBinding) && (e.needsClassRef = !0, t.node.name = e.thisRef.name);
    }
  };
  function vRt(t, e, s) {
    var r;
    let i = {
      thisRef: e,
      needsClassRef: !1,
      innerBinding: s
    };
    return t.isMethod() || t.traverse(Rle, i), s != null && (r = i.thisRef) != null && r.name && i.thisRef.name !== s.name && t.traverse(ARt,
    i), i.needsClassRef;
  }
  n(vRt, "replaceThisContext");
  function CRt({
    key: t,
    computed: e
  }) {
    return t.type === "Identifier" ? !e && (t.name === "name" || t.name === "length") : t.type === "StringLiteral" ? t.value === "name" || t.
    value === "length" : !1;
  }
  n(CRt, "isNameOrLength");
  function Ri(t, e) {
    return ae.types.inheritLeadingComments(t, e.node), ae.types.inheritInnerComments(t, e.node), t;
  }
  n(Ri, "inheritPropComments");
  function u4(t, e) {
    return t.start = e.start, t.end = e.end, t.loc = e.loc, t;
  }
  n(u4, "inheritLoc");
  function wRt(t, e, s, r, i, a, o, l, u, c) {
    var p, h;
    let f = 0, d, m = [], y = [], T = !1, b = [], E = null, V = ae.types.isIdentifier(e) ? () => e : () => {
      var oe;
      return (oe = d) != null || (d = s[0].scope.generateUidIdentifierBasedOnNode(e)), d;
    }, W = (p = t) != null ? p : s[0].scope.generateUidIdentifier(c?.name || "Class");
    (h = t) != null || (t = ae.types.cloneNode(c));
    for (let oe of s) {
      oe.isClassProperty() && lRt.assertFieldTransformed(oe);
      let de = !(ae.types.isStaticBlock != null && ae.types.isStaticBlock(oe.node)) && oe.node.static, ye = !de, Oe = oe.isPrivate(), be = !Oe,
      me = oe.isProperty(), he = !me, Pe = oe.isStaticBlock == null ? void 0 : oe.isStaticBlock();
      switch (de && (f |= 1), (de || he && Oe || Pe) && (new iRt.default({
        methodPath: oe,
        constantSuper: u,
        file: i,
        refToPreserve: c,
        getSuperRef: V,
        getObjectRef() {
          return f |= 2, de || Pe ? W : ae.types.memberExpression(W, ae.types.identifier("prototype"));
        }
      }).replace(), vRt(oe, W, c) && (f |= 2)), T = !1, !0) {
        case Pe: {
          let tt = oe.node.body;
          tt.length === 1 && ae.types.isExpressionStatement(tt[0]) ? m.push(Ri(tt[0], oe)) : m.push(ae.types.inheritsComments(ae.template.statement.
          ast`(() => { ${tt} })()`, oe.node));
          break;
        }
        case (de && Oe && me && o):
          m.push(Lle(ae.types.cloneNode(t), oe, r));
          break;
        case (de && Oe && me && !o):
          on(i) ? m.push(TRt(oe, r, l)) : m.push(l4(oe, r));
          break;
        case (de && be && me && a):
          if (!CRt(oe.node)) {
            m.push(Ble(ae.types.cloneNode(t), oe));
            break;
          }
        case (de && be && me && !a):
          m.push(Mle(ae.types.cloneNode(t), oe, i));
          break;
        case (ye && Oe && me && o):
          y.push(Lle(ae.types.thisExpression(), oe, r));
          break;
        case (ye && Oe && me && !o):
          y.push(gRt(ae.types.thisExpression(), oe, r, i));
          break;
        case (ye && Oe && he && o):
          y.unshift(bRt(ae.types.thisExpression(), oe, r)), b.push(s1(i, oe, r, o));
          break;
        case (ye && Oe && he && !o):
          y.unshift(xRt(ae.types.thisExpression(), oe, r, i)), b.push(s1(i, oe, r, o));
          break;
        case (de && Oe && he && !o):
          on(i) || m.unshift(l4(oe, r)), b.push(s1(i, oe, r, o));
          break;
        case (de && Oe && he && o):
          m.unshift(ERt(ae.types.cloneNode(t), oe, i, r)), b.push(s1(i, oe, r, o));
          break;
        case (ye && be && me && a):
          y.push(Ble(ae.types.thisExpression(), oe));
          break;
        case (ye && be && me && !a):
          T = !0, y.push(Mle(ae.types.thisExpression(), oe, i));
          break;
        default:
          throw new Error("Unreachable.");
      }
    }
    return f & 2 && c != null && (E = ae.types.expressionStatement(ae.types.assignmentExpression("=", ae.types.cloneNode(W), ae.types.cloneNode(
    c)))), {
      staticNodes: m.filter(Boolean),
      instanceNodes: y.filter(Boolean),
      lastInstanceNodeReturnsThis: T,
      pureStaticNodes: b.filter(Boolean),
      classBindingNode: E,
      wrapClass(oe) {
        for (let de of s)
          de.node.leadingComments = null, de.remove();
        return d && (oe.scope.push({
          id: ae.types.cloneNode(d)
        }), oe.set("superClass", ae.types.assignmentExpression("=", d, oe.node.superClass))), f !== 0 && (oe.isClassExpression() ? (oe.scope.
        push({
          id: t
        }), oe.replaceWith(ae.types.assignmentExpression("=", ae.types.cloneNode(t), oe.node))) : (c == null && (oe.node.id = t), E != null &&
        oe.scope.push({
          id: W
        }))), oe;
      }
    };
  }
  n(wRt, "buildFieldsInitNodes");
});

// ../node_modules/@babel/helper-create-class-features-plugin/lib/misc.js
var h4 = g((pT) => {
  "use strict";
  Object.defineProperty(pT, "__esModule", {
    value: !0
  });
  pT.extractComputedKeys = _Rt;
  pT.injectInitialization = ORt;
  pT.memoiseComputedKey = Ule;
  var hi = ni(), IRt = Lo(), NRt = IRt.visitors.environmentVisitor({
    Super(t) {
      let {
        node: e,
        parentPath: s
      } = t;
      s.isCallExpression({
        callee: e
      }) && this.push(s);
    }
  }), kRt = {
    "TSTypeAnnotation|TypeAnnotation"(t) {
      t.skip();
    },
    ReferencedIdentifier(t, {
      scope: e
    }) {
      e.hasOwnBinding(t.node.name) && (e.rename(t.node.name), t.skip());
    }
  };
  function qle(t, e) {
    if (e.classBinding && e.classBinding === t.scope.getBinding(t.node.name)) {
      let s = e.file.addHelper("classNameTDZError"), r = hi.types.callExpression(s, [hi.types.stringLiteral(t.node.name)]);
      t.replaceWith(hi.types.sequenceExpression([r, t.node])), t.skip();
    }
  }
  n(qle, "handleClassTDZ");
  var DRt = {
    ReferencedIdentifier: qle
  };
  function ORt(t, e, s, r, i) {
    if (!s.length) return;
    let a = !!t.node.superClass;
    if (!e) {
      let o = hi.types.classMethod("constructor", hi.types.identifier("constructor"), [], hi.types.blockStatement([]));
      a && (o.params = [hi.types.restElement(hi.types.identifier("args"))], o.body.body.push(hi.template.statement.ast`super(...args)`)), [e] =
      t.get("body").unshiftContainer("body", o);
    }
    if (r && r(kRt, {
      scope: e.scope
    }), a) {
      let o = [];
      e.traverse(NRt, o);
      let l = !0;
      for (let u of o)
        if (l ? l = !1 : s = s.map((c) => hi.types.cloneNode(c)), u.parentPath.isExpressionStatement())
          u.insertAfter(s);
        else {
          let c = [u.node, ...s.map((p) => hi.types.toExpression(p))];
          i || c.push(hi.types.thisExpression()), u.replaceWith(hi.types.sequenceExpression(c));
        }
    } else
      e.get("body").unshiftContainer("body", s);
  }
  n(ORt, "injectInitialization");
  function Ule(t, e, s) {
    if (hi.types.isIdentifier(t) && e.hasUid(t.name))
      return;
    if (hi.types.isAssignmentExpression(t, {
      operator: "="
    }) && hi.types.isIdentifier(t.left) && e.hasUid(t.left.name))
      return hi.types.cloneNode(t);
    {
      let a = hi.types.identifier(s);
      return e.push({
        id: a,
        kind: "let"
      }), hi.types.assignmentExpression("=", hi.types.cloneNode(a), t);
    }
  }
  n(Ule, "memoiseComputedKey");
  function _Rt(t, e, s) {
    let {
      scope: r
    } = t, i = [], a = {
      classBinding: t.node.id && r.getBinding(t.node.id.name),
      file: s
    };
    for (let o of e) {
      let l = o.get("key");
      l.isReferencedIdentifier() ? qle(l, a) : l.traverse(DRt, a);
      let u = o.node;
      if (!l.isConstantExpression()) {
        let c = Ule(l.node, r, r.generateUidBasedOnNode(l.node));
        c && (i.push(hi.types.expressionStatement(c)), u.key = hi.types.cloneNode(c.left));
      }
    }
    return i;
  }
  n(_Rt, "extractComputedKeys");
});

// ../node_modules/@babel/helper-create-class-features-plugin/lib/decorators.js
var sue = g((b4) => {
  "use strict";
  Object.defineProperty(b4, "__esModule", {
    value: !0
  });
  b4.default = h5t;
  var R = ni(), Kle = cA(), Np = nF(), Qle = p4(), i1 = h4();
  function Zle(t, e = t.length - 1) {
    if (e === -1) {
      t.unshift(65);
      return;
    }
    let s = t[e];
    s === 90 ? t[e] = 97 : s === 122 ? (t[e] = 65, Zle(t, e - 1)) : t[e] = s + 1;
  }
  n(Zle, "incrementId");
  function LRt(t) {
    let e = [], s = /* @__PURE__ */ new Set();
    return t.traverse({
      PrivateName(r) {
        s.add(r.node.id.name);
      }
    }), () => {
      let r;
      do
        Zle(e), r = String.fromCharCode(...e);
      while (s.has(r));
      return R.types.privateName(R.types.identifier(r));
    };
  }
  n(LRt, "createPrivateUidGeneratorForClass");
  function BRt(t) {
    let e;
    return () => (e || (e = LRt(t)), e());
  }
  n(BRt, "createLazyPrivateUidGeneratorForClass");
  function MRt(t, e) {
    let s = t.node.id, r = t.scope;
    if (t.type === "ClassDeclaration") {
      let i = s.name, a = r.generateUidIdentifierBasedOnNode(s), o = R.types.identifier(i);
      return r.rename(i, a.name), t.get("id").replaceWith(o), {
        id: R.types.cloneNode(a),
        path: t
      };
    } else {
      let i;
      s ? (e = s.name, i = da(r.parent, e), r.rename(e, i.name)) : i = da(r.parent, typeof e == "string" ? e : "decorated_class");
      let a = R.types.classExpression(typeof e == "string" ? R.types.identifier(e) : null, t.node.superClass, t.node.body), [o] = t.replaceWith(
      R.types.sequenceExpression([a, i]));
      return {
        id: R.types.cloneNode(i),
        path: o.get("expressions.0")
      };
    }
  }
  n(MRt, "replaceClassWithVar");
  function Vle(t, e, s) {
    return t.type === "PrivateName" ? R.types.classPrivateProperty(t, e, void 0, s) : R.types.classProperty(t, e, void 0, void 0, s);
  }
  n(Vle, "generateClassProperty");
  function f4(t, e) {
    t.node.id || (t.node.id = typeof e == "string" ? R.types.identifier(e) : t.scope.generateUidIdentifier("Class"));
  }
  n(f4, "assignIdForAnonymousClass");
  function Wle(t, e, s, r, i, a, o, l) {
    let u = (l === "2023-11" || l === "2023-05") && o ? t : R.types.thisExpression(), c = R.types.blockStatement([R.types.returnStatement(R.
    types.memberExpression(R.types.cloneNode(u), R.types.cloneNode(i)))]), p = R.types.blockStatement([R.types.expressionStatement(R.types.assignmentExpression(
    "=", R.types.memberExpression(R.types.cloneNode(u), R.types.cloneNode(i)), R.types.identifier("v")))]), h, f;
    s.type === "PrivateName" ? (h = R.types.classPrivateMethod("get", s, [], c, o), f = R.types.classPrivateMethod("set", r, [R.types.identifier(
    "v")], p, o)) : (h = R.types.classMethod("get", s, [], c, a, o), f = R.types.classMethod("set", r, [R.types.identifier("v")], p, a, o)),
    e.insertAfter(f), e.insertAfter(h);
  }
  n(Wle, "addProxyAccessorsFor");
  function $le(t, e) {
    return e !== "2023-11" && e !== "2023-05" && e !== "2023-01" ? [R.template.expression.ast`
        function () {
          return this.${R.types.cloneNode(t)};
        }
      `, R.template.expression.ast`
        function (value) {
          this.${R.types.cloneNode(t)} = value;
        }
      `] : [R.template.expression.ast`
      o => o.${R.types.cloneNode(t)}
    `, R.template.expression.ast`
      (o, v) => o.${R.types.cloneNode(t)} = v
    `];
  }
  n($le, "extractProxyAccessorsFor");
  function T4(t) {
    if (t = (0, Np.skipTransparentExprWrappers)(t), t.isSequenceExpression()) {
      let e = t.get("expressions");
      return T4(e[e.length - 1]);
    }
    return t;
  }
  n(T4, "getComputedKeyLastElement");
  function FRt(t) {
    let e = T4(t);
    if (e.isConstantExpression())
      return R.types.cloneNode(t.node);
    if (e.isIdentifier() && t.scope.hasUid(e.node.name))
      return R.types.cloneNode(t.node);
    if (e.isAssignmentExpression() && e.get("left").isIdentifier())
      return R.types.cloneNode(e.node.left);
    throw new Error(`Internal Error: the computed key ${t.toString()} has not yet been memoised.`);
  }
  n(FRt, "getComputedKeyMemoiser");
  function hT(t, e) {
    let s = e.get("key");
    s.isSequenceExpression() ? t.push(...s.node.expressions) : t.push(s.node), s.replaceWith(Dp(t));
  }
  n(hT, "prependExpressionsToComputedKey");
  function jRt(t, e) {
    let s = e.get("key"), r = T4(s);
    if (r.isConstantExpression())
      hT(t, e);
    else {
      let i = s.scope.parent, a = (0, i1.memoiseComputedKey)(r.node, i, i.generateUid("computedKey"));
      if (!a)
        hT(t, e);
      else {
        let o = [...t, R.types.cloneNode(a.left)], l = r.parentPath;
        l.isSequenceExpression() ? l.pushContainer("expressions", o) : r.replaceWith(Dp([R.types.cloneNode(a), ...o]));
      }
    }
  }
  n(jRt, "appendExpressionsToComputedKey");
  function d4(t, e) {
    let s = e.get("value");
    s.node ? t.push(s.node) : t.length > 0 && (t[t.length - 1] = R.types.unaryExpression("void", t[t.length - 1])), s.replaceWith(Dp(t));
  }
  n(d4, "prependExpressionsToFieldInitializer");
  function RRt(t, e) {
    e.unshiftContainer("body", R.types.expressionStatement(Dp(t)));
  }
  n(RRt, "prependExpressionsToStaticBlock");
  function qRt(t, e) {
    e.node.body.body.unshift(R.types.expressionStatement(Dp(t)));
  }
  n(qRt, "prependExpressionsToConstructor");
  function Hle(t, e) {
    return R.types.isCallExpression(t) && R.types.isIdentifier(t.callee, {
      name: e.name
    });
  }
  n(Hle, "isProtoInitCallExpression");
  function URt(t, e) {
    if (e) {
      if (t.length >= 2 && Hle(t[1], e)) {
        let s = R.types.callExpression(R.types.cloneNode(e), [t[0]]);
        t.splice(0, 2, s);
      }
      t.length >= 2 && R.types.isThisExpression(t[t.length - 1]) && Hle(t[t.length - 2], e) && t.splice(t.length - 1, 1);
    }
    return Dp(t);
  }
  n(URt, "optimizeSuperCallAndExpressions");
  function KRt(t, e, s) {
    e.traverse({
      CallExpression: {
        exit(r) {
          if (!r.get("callee").isSuper()) return;
          let i = [r.node, ...t.map((a) => R.types.cloneNode(a))];
          r.isCompletionRecord() && i.push(R.types.thisExpression()), r.replaceWith(URt(i, s)), r.skip();
        }
      },
      ClassMethod(r) {
        r.node.kind === "constructor" && r.skip();
      }
    });
  }
  n(KRt, "insertExpressionsAfterSuperCallAndOptimize");
  function Jle(t, e) {
    let s = [R.types.expressionStatement(Dp(t))];
    return e && s.unshift(R.types.expressionStatement(R.types.callExpression(R.types.super(), [R.types.spreadElement(R.types.identifier("arg\
s"))]))), R.types.classMethod("constructor", R.types.identifier("constructor"), e ? [R.types.restElement(R.types.identifier("args"))] : [], R.
    types.blockStatement(s));
  }
  n(Jle, "createConstructorFromExpressions");
  function Yle(t) {
    return R.types.staticBlock([R.types.expressionStatement(Dp(t))]);
  }
  n(Yle, "createStaticBlockFromExpressions");
  var Af = 0, kp = 1, VRt = 2, eue = 3, n1 = 4, WRt = 5, $Rt = 8, HRt = 16;
  function JRt(t) {
    switch (t.node.type) {
      case "ClassProperty":
      case "ClassPrivateProperty":
        return Af;
      case "ClassAccessorProperty":
        return kp;
      case "ClassMethod":
      case "ClassPrivateMethod":
        return t.node.kind === "get" ? eue : t.node.kind === "set" ? n1 : VRt;
    }
  }
  n(JRt, "getElementKind");
  function YRt(t) {
    return [...t.filter((e) => e.isStatic && e.kind >= kp && e.kind <= n1), ...t.filter((e) => !e.isStatic && e.kind >= kp && e.kind <= n1),
    ...t.filter((e) => e.isStatic && e.kind === Af), ...t.filter((e) => !e.isStatic && e.kind === Af)];
  }
  n(YRt, "toSortedDecoratorInfo");
  function Xle(t, e, s) {
    let r = t.length, i = e.some(Boolean), a = [];
    for (let o = 0; o < r; o++)
      (s === "2023-11" || s === "2023-05") && i && a.push(e[o] || R.types.unaryExpression("void", R.types.numericLiteral(0))), a.push(t[o].expression);
    return {
      haveThis: i,
      decs: a
    };
  }
  n(Xle, "generateDecorationList");
  function XRt(t, e) {
    return R.types.arrayExpression(t.map((s) => {
      let r = s.kind;
      return s.isStatic && (r += e === "2023-11" || e === "2023-05" ? $Rt : WRt), s.decoratorsHaveThis && (r += HRt), R.types.arrayExpression(
      [s.decoratorsArray, R.types.numericLiteral(r), s.name, ...s.privateMethods || []]);
    }));
  }
  n(XRt, "generateDecorationExprs");
  function zRt(t) {
    let e = [];
    for (let s of t) {
      let {
        locals: r
      } = s;
      Array.isArray(r) ? e.push(...r) : r !== void 0 && e.push(r);
    }
    return e;
  }
  n(zRt, "extractElementLocalAssignments");
  function GRt(t, e, s, r, i, a) {
    e.insertAfter(R.types.classPrivateMethod("get", R.types.cloneNode(s), [], R.types.blockStatement([R.types.returnStatement(R.types.callExpression(
    R.types.cloneNode(r), t === "2023-11" && a ? [] : [R.types.thisExpression()]))]), a)), e.insertAfter(R.types.classPrivateMethod("set", R.
    types.cloneNode(s), [R.types.identifier("v")], R.types.blockStatement([R.types.expressionStatement(R.types.callExpression(R.types.cloneNode(
    i), t === "2023-11" && a ? [R.types.identifier("v")] : [R.types.thisExpression(), R.types.identifier("v")]))]), a));
  }
  n(GRt, "addCallAccessorsFor");
  function QRt(t, e, s, r) {
    let i, a;
    t.node.kind === "set" ? (i = [R.types.identifier("v")], a = [R.types.expressionStatement(R.types.callExpression(s, [R.types.thisExpression(),
    R.types.identifier("v")]))]) : (i = [], a = [R.types.returnStatement(R.types.callExpression(s, [R.types.thisExpression()]))]), t.replaceWith(
    R.types.classPrivateMethod(t.node.kind, R.types.cloneNode(e), i, R.types.blockStatement(a), r));
  }
  n(QRt, "movePrivateAccessor");
  function zle(t) {
    let {
      type: e
    } = t;
    return e !== "TSDeclareMethod" && e !== "TSIndexSignature" && e !== "StaticBlock";
  }
  n(zle, "isClassDecoratableElementPath");
  function ZRt(t) {
    return R.types.callExpression(R.types.arrowFunctionExpression([], R.types.blockStatement(t.body)), []);
  }
  n(ZRt, "staticBlockToIIFE");
  function e5t(t) {
    return R.types.functionExpression(null, [], R.types.blockStatement(t.body));
  }
  n(e5t, "staticBlockToFunctionClosure");
  function t5t(t) {
    return R.types.functionExpression(null, [], R.types.blockStatement([R.types.returnStatement(t)]));
  }
  n(t5t, "fieldInitializerToClosure");
  function Dp(t) {
    return t.length === 0 ? R.types.unaryExpression("void", R.types.numericLiteral(0)) : t.length === 1 ? t[0] : R.types.sequenceExpression(
    t);
  }
  n(Dp, "maybeSequenceExpression");
  function Gle(t) {
    let {
      params: e,
      body: s,
      generator: r,
      async: i
    } = t;
    return R.types.functionExpression(void 0, e, s, r, i);
  }
  n(Gle, "createFunctionExpressionFromPrivateMethod");
  function tue(t, e) {
    return R.types.callExpression(t.addHelper("setFunctionName"), [R.types.thisExpression(), e]);
  }
  n(tue, "createSetFunctionNameCall");
  function g4(t, e) {
    return R.types.callExpression(t.addHelper("toPropertyKey"), [e]);
  }
  n(g4, "createToPropertyKeyCall");
  function m4(t) {
    return R.types.arrowFunctionExpression([R.types.identifier("_")], R.types.binaryExpression("in", R.types.cloneNode(t), R.types.identifier(
    "_")));
  }
  n(m4, "createPrivateBrandCheckClosure");
  function s5t(t) {
    try {
      return R.types.traverseFast(t, (e) => {
        if (R.types.isPrivateName(e))
          throw null;
      }), !1;
    } catch {
      return !0;
    }
  }
  n(s5t, "usesPrivateField");
  function r5t(t) {
    let {
      node: e
    } = t;
    e.computed = !0, R.types.isIdentifier(e.key) && (e.key = R.types.stringLiteral(e.key.name));
  }
  n(r5t, "convertToComputedKey");
  function y4(t, e) {
    let s = !1;
    if (e.length > 0) {
      let r = (0, Qle.privateNameVisitorFactory)({
        PrivateName(a, o) {
          o.privateNamesMap.has(a.node.id.name) && (s = !0, a.stop());
        }
      }), i = /* @__PURE__ */ new Map();
      for (let a of e)
        i.set(a, null);
      t.traverse(r, {
        privateNamesMap: i
      });
    }
    return s;
  }
  n(y4, "hasInstancePrivateAccess");
  function i5t(t, e) {
    let s = (0, Qle.privateNameVisitorFactory)({
      PrivateName(i, a) {
        if (!a.privateNamesMap.has(i.node.id.name)) return;
        let o = i.parentPath, l = o.parentPath;
        if (l.node.type === "AssignmentExpression" && l.node.left === o.node || l.node.type === "UpdateExpression" || l.node.type === "RestE\
lement" || l.node.type === "ArrayPattern" || l.node.type === "ObjectProperty" && l.node.value === o.node && l.parentPath.type === "ObjectPat\
tern" || l.node.type === "ForOfStatement" && l.node.left === o.node)
          throw i.buildCodeFrameError(`Decorated private methods are read-only, but "#${i.node.id.name}" is updated via this expression.`);
      }
    }), r = /* @__PURE__ */ new Map();
    for (let i of e)
      r.set(i, null);
    t.traverse(s, {
      privateNamesMap: r
    });
  }
  n(i5t, "checkPrivateMethodUpdateError");
  function n5t(t, e, s, r, i, a, o) {
    var l, u;
    let c = t.get("body.body"), p = t.node.decorators, h = !1, f = !1, d = !1, m = BRt(t), y = [], T = t.scope.parent, b = /* @__PURE__ */ n(
    (Ze, je, le) => {
      let ge = da(T, je);
      return le.push(R.types.assignmentExpression("=", ge, Ze)), R.types.cloneNode(ge);
    }, "memoiseExpression"), E, V, W = (l = t.node.id) == null ? void 0 : l.name, oe = typeof i == "object" ? i : void 0, de = /* @__PURE__ */ n(
    (Ze) => {
      try {
        return R.types.traverseFast(Ze, (je) => {
          if (R.types.isThisExpression(je) || R.types.isSuper(je) || R.types.isYieldExpression(je) || R.types.isAwaitExpression(je) || R.types.
          isIdentifier(je, {
            name: "arguments"
          }) || W && R.types.isIdentifier(je, {
            name: W
          }) || R.types.isMetaProperty(je) && je.meta.name !== "import")
            throw null;
        }), !1;
      } catch {
        return !0;
      }
    }, "usesFunctionContextOrYieldAwait"), ye = [];
    for (let Ze of c) {
      if (!zle(Ze))
        continue;
      let je = Ze.node;
      if (!je.static && R.types.isPrivateName(je.key) && ye.push(je.key.id.name), fT(je)) {
        switch (je.type) {
          case "ClassProperty":
            a.ClassProperty(Ze, e);
            break;
          case "ClassPrivateProperty":
            a.ClassPrivateProperty(Ze, e);
            break;
          case "ClassAccessorProperty":
            if (a.ClassAccessorProperty(Ze, e), o === "2023-11")
              break;
          default:
            if (je.static) {
              var Oe;
              (Oe = V) != null || (V = da(T, "initStatic"));
            } else {
              var be;
              (be = E) != null || (E = da(T, "initProto"));
            }
            break;
        }
        h = !0, d || (d = je.decorators.some(de));
      } else if (je.type === "ClassAccessorProperty") {
        a.ClassAccessorProperty(Ze, e);
        let {
          key: le,
          value: ge,
          static: Ae,
          computed: De
        } = je, ut = m(), et = Vle(ut, ge, Ae), qt = Ze.get("key"), [Yt] = Ze.replaceWith(et), Kt, Xt;
        De && !qt.isConstantExpression() ? (Kt = (0, i1.memoiseComputedKey)(g4(e, le), T, T.generateUid("computedKey")), Xt = R.types.cloneNode(
        Kt.left)) : (Kt = R.types.cloneNode(le), Xt = R.types.cloneNode(le)), f4(t, i), Wle(t.node.id, Yt, Kt, Xt, ut, De, Ae, o);
      }
      "computed" in Ze.node && Ze.node.computed && (f || (f = !T.isStatic(Ze.node.key)));
    }
    if (!p && !h) {
      !t.node.id && typeof i == "string" && (t.node.id = R.types.identifier(i)), oe && t.node.body.body.unshift(Yle([tue(e, oe)]));
      return;
    }
    let me = [], he, Pe = /* @__PURE__ */ new Set(), tt, ot, ke = null;
    function Ne(Ze) {
      let je = !1, le = !1, ge = [];
      for (let De of Ze) {
        let {
          expression: ut
        } = De, et;
        if ((o === "2023-11" || o === "2023-05") && R.types.isMemberExpression(ut))
          if (R.types.isSuper(ut.object))
            et = R.types.thisExpression();
          else if (T.isStatic(ut.object))
            et = R.types.cloneNode(ut.object);
          else {
            var Ae;
            (Ae = ke) != null || (ke = da(T, "obj")), et = R.types.assignmentExpression("=", R.types.cloneNode(ke), ut.object), ut.object = R.
            types.cloneNode(ke);
          }
        ge.push(et), je || (je = !T.isStatic(ut)), le || (le = de(De));
      }
      return {
        hasSideEffects: je,
        usesFnContext: le,
        decoratorsThis: ge
      };
    }
    n(Ne, "handleDecorators");
    let He = f || d || o !== "2023-11", Qe = !1, St = 0, kt = [], Vt, lt = [];
    if (p) {
      tt = da(T, "initClass"), Qe = t.isClassDeclaration(), {
        id: ot,
        path: t
      } = MRt(t, i), t.node.decorators = null;
      let Ze = p.some(s5t), {
        hasSideEffects: je,
        usesFnContext: le,
        decoratorsThis: ge
      } = Ne(p), {
        haveThis: Ae,
        decs: De
      } = Xle(p, ge, o);
      if (St = Ae ? 1 : 0, kt = De, (le || je && He || Ze) && (Vt = b(R.types.arrayExpression(kt), "classDecs", y)), !h)
        for (let ut of t.get("body.body")) {
          let {
            node: et
          } = ut;
          if ("computed" in et && et.computed)
            if (ut.isClassProperty({
              static: !0
            })) {
              if (!ut.get("key").isConstantExpression()) {
                let Yt = et.key, Kt = (0, i1.memoiseComputedKey)(Yt, T, T.generateUid("computedKey"));
                Kt != null && (et.key = R.types.cloneNode(Kt.left), lt.push(Kt));
              }
            } else lt.length > 0 && (hT(lt, ut), lt = []);
        }
    } else
      f4(t, i), ot = R.types.cloneNode(t.node.id);
    let Jt, Hr = !1, Sr = [], Et = [];
    if (h) {
      if (E) {
        let Ze = R.types.callExpression(R.types.cloneNode(E), [R.types.thisExpression()]);
        Sr.push(Ze);
      }
      for (let Ze of c) {
        if (!zle(Ze)) {
          Et.length > 0 && Ze.isStaticBlock() && (RRt(Et, Ze), Et = []);
          continue;
        }
        let {
          node: je
        } = Ze, le = je.decorators, ge = !!(le != null && le.length), Ae = "computed" in je && je.computed, De = "computedKey";
        je.key.type === "PrivateName" ? De = je.key.id.name : !Ae && je.key.type === "Identifier" && (De = je.key.name);
        let ut, et;
        if (ge) {
          let {
            hasSideEffects: js,
            usesFnContext: ds,
            decoratorsThis: Er
          } = Ne(le), {
            decs: Zr,
            haveThis: Oi
          } = Xle(le, Er, o);
          et = Oi, ut = Zr.length === 1 ? Zr[0] : R.types.arrayExpression(Zr), (ds || js && He) && (ut = b(ut, De + "Decs", lt));
        }
        if (Ae && !Ze.get("key").isConstantExpression()) {
          let js = je.key, ds = (0, i1.memoiseComputedKey)(ge ? g4(e, js) : js, T, T.generateUid("computedKey"));
          ds != null && (p && Ze.isClassProperty({
            static: !0
          }) ? (je.key = R.types.cloneNode(ds.left), lt.push(ds)) : je.key = ds);
        }
        let {
          key: qt,
          static: Yt
        } = je, Kt = qt.type === "PrivateName", Xt = JRt(Ze);
        Kt && !Yt && (ge && (Hr = !0), (R.types.isClassPrivateProperty(je) || !Jt) && (Jt = qt)), Ze.isClassMethod({
          kind: "constructor"
        }) && (he = Ze);
        let Ti;
        if (ge) {
          let js, ds;
          if (Ae ? ds = FRt(Ze.get("key")) : qt.type === "PrivateName" ? ds = R.types.stringLiteral(qt.id.name) : qt.type === "Identifier" ?
          ds = R.types.stringLiteral(qt.name) : ds = R.types.cloneNode(qt), Xt === kp) {
            let {
              value: Er
            } = Ze.node, Zr = o === "2023-11" && Yt ? [] : [R.types.thisExpression()];
            Er && Zr.push(R.types.cloneNode(Er));
            let Oi = m(), Ho = da(T, `init_${De}`), Sc = R.types.callExpression(R.types.cloneNode(Ho), Zr), Oy = Vle(Oi, Sc, Yt), [hn] = Ze.
            replaceWith(Oy);
            if (Kt) {
              js = $le(Oi, o);
              let Gf = da(T, `get_${De}`), _y = da(T, `set_${De}`);
              GRt(o, hn, qt, Gf, _y, Yt), Ti = [Ho, Gf, _y];
            } else
              f4(t, i), Wle(t.node.id, hn, R.types.cloneNode(qt), R.types.isAssignmentExpression(qt) ? R.types.cloneNode(qt.left) : R.types.
              cloneNode(qt), Oi, Ae, Yt, o), Ti = [Ho];
          } else if (Xt === Af) {
            let Er = da(T, `init_${De}`), Zr = Ze.get("value"), Oi = o === "2023-11" && Yt ? [] : [R.types.thisExpression()];
            Zr.node && Oi.push(Zr.node), Zr.replaceWith(R.types.callExpression(R.types.cloneNode(Er), Oi)), Ti = [Er], Kt && (js = $le(qt, o));
          } else if (Kt) {
            let Er = da(T, `call_${De}`);
            if (Ti = [Er], new Kle.default({
              constantSuper: s,
              methodPath: Ze,
              objectRef: ot,
              superRef: t.node.superClass,
              file: e.file,
              refToPreserve: ot
            }).replace(), js = [Gle(Ze.node)], Xt === eue || Xt === n1)
              QRt(Ze, R.types.cloneNode(qt), R.types.cloneNode(Er), Yt);
            else {
              let Oi = Ze.node;
              t.node.body.body.unshift(R.types.classPrivateProperty(qt, R.types.cloneNode(Er), [], Oi.static)), Pe.add(qt.id.name), Ze.remove();
            }
          }
          me.push({
            kind: Xt,
            decoratorsArray: ut,
            decoratorsHaveThis: et,
            name: ds,
            isStatic: Yt,
            privateMethods: js,
            locals: Ti
          }), Ze.node && (Ze.node.decorators = null);
        }
        if (Ae && lt.length > 0 && (p && Ze.isClassProperty({
          static: !0
        }) || (hT(lt, Xt === kp ? Ze.getNextSibling() : Ze), lt = [])), Sr.length > 0 && !Yt && (Xt === Af || Xt === kp) && (d4(Sr, Ze), Sr =
        []), Et.length > 0 && Yt && (Xt === Af || Xt === kp) && (d4(Et, Ze), Et = []), ge && o === "2023-11" && (Xt === Af || Xt === kp)) {
          let js = da(T, `init_extra_${De}`);
          Ti.push(js);
          let ds = R.types.callExpression(R.types.cloneNode(js), Yt ? [] : [R.types.thisExpression()]);
          Yt ? Et.push(ds) : Sr.push(ds);
        }
      }
    }
    if (lt.length > 0) {
      let Ze = t.get("body.body"), je;
      for (let le = Ze.length - 1; le >= 0; le--) {
        let ge = Ze[le], Ae = ge.node;
        if (Ae.computed) {
          if (p && R.types.isClassProperty(Ae, {
            static: !0
          }))
            continue;
          je = ge;
          break;
        }
      }
      je != null && (jRt(lt, je), lt = []);
    }
    if (Sr.length > 0) {
      let Ze = !!t.node.superClass;
      he ? Ze ? KRt(Sr, he, E) : qRt(Sr, he) : t.node.body.body.unshift(Jle(Sr, Ze)), Sr = [];
    }
    Et.length > 0 && (t.node.body.body.push(Yle(Et)), Et = []);
    let Pr = YRt(me), Qr = XRt(o === "2023-11" ? me : Pr, o), gi = zRt(Pr);
    E && gi.push(E), V && gi.push(V);
    let Di = [], Ai = !1, Zn = tt && R.types.callExpression(R.types.cloneNode(tt), []), Wo = t, jl = t.node, ho = [];
    if (p) {
      Di.push(ot, tt);
      let Ze = [];
      if (t.get("body.body").forEach((je) => {
        if (je.isStaticBlock()) {
          if (y4(je, ye)) {
            let le = b(e5t(je.node), "staticBlock", ho);
            Et.push(R.types.callExpression(R.types.memberExpression(le, R.types.identifier("call")), [R.types.thisExpression()]));
          } else
            Et.push(ZRt(je.node));
          je.remove();
          return;
        }
        if ((je.isClassProperty() || je.isClassPrivateProperty()) && je.node.static) {
          let le = je.get("value");
          if (y4(le, ye)) {
            let ge = b(t5t(le.node), "fieldValue", ho);
            le.replaceWith(R.types.callExpression(R.types.memberExpression(ge, R.types.identifier("call")), [R.types.thisExpression()]));
          }
          Et.length > 0 && (d4(Et, je), Et = []), je.node.static = !1, Ze.push(je.node), je.remove();
        } else if (je.isClassPrivateMethod({
          static: !0
        })) {
          if (y4(je, ye)) {
            new Kle.default({
              constantSuper: s,
              methodPath: je,
              objectRef: ot,
              superRef: t.node.superClass,
              file: e.file,
              refToPreserve: ot
            }).replace();
            let ge = b(Gle(je.node), je.get("key.id").node.name, ho);
            r ? (je.node.params = [R.types.restElement(R.types.identifier("arg"))], je.node.body = R.types.blockStatement([R.types.returnStatement(
            R.types.callExpression(R.types.memberExpression(ge, R.types.identifier("apply")), [R.types.thisExpression(), R.types.identifier(
            "arg")]))])) : (je.node.params = je.node.params.map((Ae, De) => R.types.isRestElement(Ae) ? R.types.restElement(R.types.identifier(
            "arg")) : R.types.identifier("_" + De)), je.node.body = R.types.blockStatement([R.types.returnStatement(R.types.callExpression(R.
            types.memberExpression(ge, R.types.identifier("apply")), [R.types.thisExpression(), R.types.identifier("arguments")]))]));
          }
          je.node.static = !1, Ze.push(je.node), je.remove();
        }
      }), Ze.length > 0 || Et.length > 0) {
        let je = R.template.expression.ast`
        class extends ${e.addHelper("identity")} {}
      `;
        je.body.body = [R.types.classProperty(R.types.toExpression(jl), void 0, void 0, void 0, !0, !0), ...Ze];
        let le = [], ge = R.types.newExpression(je, []);
        Et.length > 0 && le.push(...Et), Zn && (Ai = !0, le.push(Zn)), le.length > 0 ? (le.unshift(R.types.callExpression(R.types.super(), [
        R.types.cloneNode(ot)])), je.body.body.push(Jle(le, !1))) : ge.arguments.push(R.types.cloneNode(ot));
        let [Ae] = t.replaceWith(ge);
        Wo = Ae.get("callee").get("body").get("body.0.key");
      }
    }
    !Ai && Zn && t.node.body.body.push(R.types.staticBlock([R.types.expressionStatement(Zn)]));
    let {
      superClass: $o
    } = jl;
    if ($o && (o === "2023-11" || o === "2023-05")) {
      let Ze = t.scope.maybeGenerateMemoised($o);
      Ze && (jl.superClass = R.types.assignmentExpression("=", Ze, $o), $o = Ze);
    }
    let xc = R.types.staticBlock([]);
    jl.body.body.unshift(xc);
    let Rl = xc.body;
    if (lt.length > 0) {
      let Ze = Wo.get("body.body"), je;
      for (let le of Ze)
        if ((le.isClassProperty() || le.isClassMethod()) && le.node.kind !== "constructor") {
          je = le;
          break;
        }
      je != null ? (r5t(je), hT(lt, je)) : (jl.body.body.unshift(R.types.classProperty(R.types.sequenceExpression([...lt, R.types.stringLiteral(
      "_")]), void 0, void 0, void 0, !0, !0)), Rl.push(R.types.expressionStatement(R.types.unaryExpression("delete", R.types.memberExpression(
      R.types.thisExpression(), R.types.identifier("_")))))), lt = [];
    }
    if (Rl.push(R.types.expressionStatement(a5t(gi, Di, Qr, (u = Vt) != null ? u : R.types.arrayExpression(kt), R.types.numericLiteral(St), Hr ?
    Jt : null, oe, R.types.cloneNode($o), e, o))), V && Rl.push(R.types.expressionStatement(R.types.callExpression(R.types.cloneNode(V), [R.
    types.thisExpression()]))), ho.length > 0 && Rl.push(...ho.map((Ze) => R.types.expressionStatement(Ze))), t.insertBefore(y.map((Ze) => R.
    types.expressionStatement(Ze))), Qe)
      if (!T.getBinding(ot.name).constantViolations.length)
        t.insertBefore(R.types.variableDeclaration("let", [R.types.variableDeclarator(R.types.cloneNode(ot))]));
      else {
        let je = T.generateUidIdentifier("t" + ot.name), le = ot;
        t.replaceWithMultiple([R.types.variableDeclaration("let", [R.types.variableDeclarator(R.types.cloneNode(le)), R.types.variableDeclarator(
        je)]), R.types.blockStatement([R.types.variableDeclaration("let", [R.types.variableDeclarator(R.types.cloneNode(ot))]), t.node, R.types.
        expressionStatement(R.types.assignmentExpression("=", R.types.cloneNode(je), R.types.cloneNode(ot)))]), R.types.expressionStatement(
        R.types.assignmentExpression("=", R.types.cloneNode(le), R.types.cloneNode(je)))]);
      }
    return Pe.size > 0 && i5t(t, Pe), t.scope.crawl(), t;
  }
  n(n5t, "transformClass");
  function a5t(t, e, s, r, i, a, o, l, u, c) {
    let p, h, f = [o ? tue(u, o) : R.types.thisExpression(), r, s];
    {
      if (c !== "2023-11" && f.splice(1, 2, s, r), c === "2021-12" || c === "2022-03" && !u.availableHelper("applyDecs2203R"))
        return p = R.types.arrayPattern([...t, ...e]), h = R.types.callExpression(u.addHelper(c === "2021-12" ? "applyDecs" : "applyDecs2203"),
        f), R.types.assignmentExpression("=", p, h);
      c === "2022-03" ? h = R.types.callExpression(u.addHelper("applyDecs2203R"), f) : c === "2023-01" ? (a && f.push(m4(a)), h = R.types.callExpression(
      u.addHelper("applyDecs2301"), f)) : c === "2023-05" && ((a || l || i.value !== 0) && f.push(i), a ? f.push(m4(a)) : l && f.push(R.types.
      unaryExpression("void", R.types.numericLiteral(0))), l && f.push(l), h = R.types.callExpression(u.addHelper("applyDecs2305"), f));
    }
    return c === "2023-11" && ((a || l || i.value !== 0) && f.push(i), a ? f.push(m4(a)) : l && f.push(R.types.unaryExpression("void", R.types.
    numericLiteral(0))), l && f.push(l), h = R.types.callExpression(u.addHelper("applyDecs2311"), f)), t.length > 0 ? e.length > 0 ? p = R.types.
    objectPattern([R.types.objectProperty(R.types.identifier("e"), R.types.arrayPattern(t)), R.types.objectProperty(R.types.identifier("c"),
    R.types.arrayPattern(e))]) : (p = R.types.arrayPattern(t), h = R.types.memberExpression(h, R.types.identifier("e"), !1, !1)) : (p = R.types.
    arrayPattern(e), h = R.types.memberExpression(h, R.types.identifier("c"), !1, !1)), R.types.assignmentExpression("=", p, h);
  }
  n(a5t, "createLocalsAssignment");
  function o5t(t) {
    return t.type === "Identifier" ? t.name === "__proto__" : t.value === "__proto__";
  }
  n(o5t, "isProtoKey");
  function fT(t) {
    return t.decorators && t.decorators.length > 0;
  }
  n(fT, "isDecorated");
  function l5t(t) {
    switch (t.type) {
      case "ClassAccessorProperty":
        return !0;
      case "ClassMethod":
      case "ClassProperty":
      case "ClassPrivateMethod":
      case "ClassPrivateProperty":
        return fT(t);
      default:
        return !1;
    }
  }
  n(l5t, "shouldTransformElement");
  function u5t(t) {
    return fT(t) || t.body.body.some(l5t);
  }
  n(u5t, "shouldTransformClass");
  function c5t(t, e) {
    function s(r, i, a) {
      switch (i.type) {
        case "StringLiteral":
          return R.types.stringLiteral(i.value);
        case "NumericLiteral":
        case "BigIntLiteral": {
          let o = i.value + "";
          return r.get("key").replaceWith(R.types.stringLiteral(o)), R.types.stringLiteral(o);
        }
        default: {
          let o = r.scope.maybeGenerateMemoised(i);
          return r.get("key").replaceWith(R.types.assignmentExpression("=", o, g4(a, i))), R.types.cloneNode(o);
        }
      }
    }
    return n(s, "handleComputedProperty"), {
      VariableDeclarator(r, i) {
        let a = r.node.id;
        if (a.type === "Identifier") {
          let o = (0, Np.skipTransparentExprWrappers)(r.get("init"));
          if (t(o)) {
            let l = a.name;
            e(o, i, l);
          }
        }
      },
      AssignmentExpression(r, i) {
        let a = r.node.left;
        if (a.type === "Identifier") {
          let o = (0, Np.skipTransparentExprWrappers)(r.get("right"));
          if (t(o))
            switch (r.node.operator) {
              case "=":
              case "&&=":
              case "||=":
              case "??=":
                e(o, i, a.name);
            }
        }
      },
      AssignmentPattern(r, i) {
        let a = r.node.left;
        if (a.type === "Identifier") {
          let o = (0, Np.skipTransparentExprWrappers)(r.get("right"));
          if (t(o)) {
            let l = a.name;
            e(o, i, l);
          }
        }
      },
      ObjectExpression(r, i) {
        for (let a of r.get("properties")) {
          if (!a.isObjectProperty()) continue;
          let {
            node: o
          } = a, l = o.key, u = (0, Np.skipTransparentExprWrappers)(a.get("value"));
          if (t(u)) {
            if (o.computed) {
              let c = s(a, l, i);
              e(u, i, c);
            } else if (!o5t(l))
              if (l.type === "Identifier")
                e(u, i, l.name);
              else {
                let c = R.types.stringLiteral(l.value + "");
                e(u, i, c);
              }
          }
        }
      },
      ClassPrivateProperty(r, i) {
        let {
          node: a
        } = r, o = (0, Np.skipTransparentExprWrappers)(r.get("value"));
        if (t(o)) {
          let l = R.types.stringLiteral("#" + a.key.id.name);
          e(o, i, l);
        }
      },
      ClassAccessorProperty(r, i) {
        let {
          node: a
        } = r, o = a.key, l = (0, Np.skipTransparentExprWrappers)(r.get("value"));
        if (t(l))
          if (a.computed) {
            let u = s(r, o, i);
            e(l, i, u);
          } else if (o.type === "Identifier")
            e(l, i, o.name);
          else if (o.type === "PrivateName") {
            let u = R.types.stringLiteral("#" + o.id.name);
            e(l, i, u);
          } else {
            let u = R.types.stringLiteral(o.value + "");
            e(l, i, u);
          }
      },
      ClassProperty(r, i) {
        let {
          node: a
        } = r, o = a.key, l = (0, Np.skipTransparentExprWrappers)(r.get("value"));
        if (t(l))
          if (a.computed) {
            let u = s(r, o, i);
            e(l, i, u);
          } else if (o.type === "Identifier")
            e(l, i, o.name);
          else {
            let u = R.types.stringLiteral(o.value + "");
            e(l, i, u);
          }
      }
    };
  }
  n(c5t, "NamedEvaluationVisitoryFactory");
  function p5t(t) {
    return t.isClassExpression({
      id: null
    }) && u5t(t.node);
  }
  n(p5t, "isDecoratedAnonymousClassExpression");
  function da(t, e) {
    let s = t.generateUidIdentifier(e);
    return t.push({
      id: s,
      kind: "let"
    }), R.types.cloneNode(s);
  }
  n(da, "generateLetUidIdentifier");
  function h5t({
    assertVersion: t,
    assumption: e
  }, {
    loose: s
  }, r, i) {
    var a, o;
    t(r === "2023-11" || r === "2023-05" || r === "2023-01" ? "^7.21.0" : r === "2021-12" ? "^7.16.0" : "^7.19.0");
    let l = /* @__PURE__ */ new WeakSet(), u = (a = e("constantSuper")) != null ? a : s, c = (o = e("ignoreFunctionLength")) != null ? o : s,
    p = c5t(p5t, h);
    function h(f, d, m) {
      var y, T;
      if (l.has(f)) return;
      let {
        node: b
      } = f;
      (y = m) != null || (m = (T = b.id) == null ? void 0 : T.name);
      let E = n5t(f, d, u, c, m, p, r);
      if (E) {
        l.add(E);
        return;
      }
      l.add(f);
    }
    return n(h, "visitClass"), {
      name: "proposal-decorators",
      inherits: i,
      visitor: Object.assign({
        ExportDefaultDeclaration(f, d) {
          let {
            declaration: m
          } = f.node;
          if (m?.type === "ClassDeclaration" && fT(m)) {
            let T = !m.id;
            {
              var y;
              (y = f.splitExportDeclaration) != null || (f.splitExportDeclaration = Lo().NodePath.prototype.splitExportDeclaration);
            }
            let b = f.splitExportDeclaration();
            T && h(b, d, R.types.stringLiteral("default"));
          }
        },
        ExportNamedDeclaration(f) {
          let {
            declaration: d
          } = f.node;
          if (d?.type === "ClassDeclaration" && fT(d)) {
            {
              var m;
              (m = f.splitExportDeclaration) != null || (f.splitExportDeclaration = Lo().NodePath.prototype.splitExportDeclaration);
            }
            f.splitExportDeclaration();
          }
        },
        Class(f, d) {
          h(f, d, void 0);
        }
      }, p)
    };
  }
  n(h5t, "_default");
});

// ../node_modules/@babel/helper-create-class-features-plugin/lib/decorators-2018-09.js
var S4 = g((dT) => {
  "use strict";
  Object.defineProperty(dT, "__esModule", {
    value: !0
  });
  dT.buildDecoratedClass = b5t;
  dT.hasDecorators = d5t;
  dT.hasOwnDecorators = x4;
  var Ar = ni(), f5t = cA();
  function x4(t) {
    var e;
    return !!((e = t.decorators) != null && e.length);
  }
  n(x4, "hasOwnDecorators");
  function d5t(t) {
    return x4(t) || t.body.body.some(x4);
  }
  n(d5t, "hasDecorators");
  function Gm(t, e) {
    return e ? Ar.types.objectProperty(Ar.types.identifier(t), e) : null;
  }
  n(Gm, "prop");
  function m5t(t, e) {
    return Ar.types.objectMethod("method", Ar.types.identifier(t), [], Ar.types.blockStatement(e));
  }
  n(m5t, "method");
  function rue(t) {
    let e;
    return t.decorators && t.decorators.length > 0 && (e = Ar.types.arrayExpression(t.decorators.map((s) => s.expression))), t.decorators = void 0,
    e;
  }
  n(rue, "takeDecorators");
  function y5t(t) {
    return t.computed ? t.key : Ar.types.isIdentifier(t.key) ? Ar.types.stringLiteral(t.key.name) : Ar.types.stringLiteral(String(t.key.value));
  }
  n(y5t, "getKey");
  function g5t(t, e, s, r) {
    let i = r.isClassMethod();
    if (r.isPrivate())
      throw r.buildCodeFrameError(`Private ${i ? "methods" : "fields"} in decorated classes are not supported yet.`);
    if (r.node.type === "ClassAccessorProperty")
      throw r.buildCodeFrameError('Accessor properties are not supported in 2018-09 decorator transform, please specify { "version": "2021-1\
2" } instead.');
    if (r.node.type === "StaticBlock")
      throw r.buildCodeFrameError('Static blocks are not supported in 2018-09 decorator transform, please specify { "version": "2021-12" } i\
nstead.');
    let {
      node: a,
      scope: o
    } = r;
    r.isTSDeclareMethod() || new f5t.default({
      methodPath: r,
      objectRef: e,
      superRef: s,
      file: t,
      refToPreserve: e
    }).replace();
    let l = [Gm("kind", Ar.types.stringLiteral(Ar.types.isClassMethod(a) ? a.kind : "field")), Gm("decorators", rue(a)), Gm("static", a.static &&
    Ar.types.booleanLiteral(!0)), Gm("key", y5t(a))].filter(Boolean);
    if (i) {
      {
        var u;
        (u = r.ensureFunctionName) != null || (r.ensureFunctionName = Lo().NodePath.prototype.ensureFunctionName);
      }
      r.ensureFunctionName(!1), l.push(Gm("value", Ar.types.toExpression(r.node)));
    } else Ar.types.isClassProperty(a) && a.value ? l.push(m5t("value", Ar.template.statements.ast`return ${a.value}`)) : l.push(Gm("value",
    o.buildUndefinedNode()));
    return r.remove(), Ar.types.objectExpression(l);
  }
  n(g5t, "extractElementDescriptor");
  function T5t(t) {
    return t.addHelper("decorate");
  }
  n(T5t, "addDecorateHelper");
  function b5t(t, e, s, r) {
    let {
      node: i,
      scope: a
    } = e, o = a.generateUidIdentifier("initialize"), l = i.id && e.isDeclaration(), u = e.isInStrictMode(), {
      superClass: c
    } = i;
    i.type = "ClassDeclaration", i.id || (i.id = Ar.types.cloneNode(t));
    let p;
    c && (p = a.generateUidIdentifierBasedOnNode(i.superClass, "super"), i.superClass = p);
    let h = rue(i), f = Ar.types.arrayExpression(s.filter((T) => !T.node.abstract && T.node.type !== "TSIndexSignature").map((T) => g5t(r, i.
    id, p, T))), d = Ar.template.expression.ast`
    ${T5t(r)}(
      ${h || Ar.types.nullLiteral()},
      function (${o}, ${c ? Ar.types.cloneNode(p) : null}) {
        ${i}
        return { F: ${Ar.types.cloneNode(i.id)}, d: ${f} };
      },
      ${c}
    )
  `;
    u || d.arguments[1].body.directives.push(Ar.types.directive(Ar.types.directiveLiteral("use strict")));
    let m = d, y = "arguments.1.body.body.0";
    return l && (m = Ar.template.statement.ast`let ${t} = ${d}`, y = "declarations.0.init." + y), {
      instanceNodes: [Ar.template.statement.ast`
        ${Ar.types.cloneNode(o)}(this)
      `],
      wrapClass(T) {
        return T.replaceWith(m), T.get(y);
      }
    };
  }
  n(b5t, "buildDecoratedClass");
});

// ../node_modules/@babel/helper-create-class-features-plugin/lib/features.js
var oue = g((vf) => {
  "use strict";
  Object.defineProperty(vf, "__esModule", {
    value: !0
  });
  vf.FEATURES = void 0;
  vf.enableFeature = x5t;
  vf.isLoose = A4;
  vf.shouldTransform = S5t;
  var iue = S4(), Zu = vf.FEATURES = Object.freeze({
    fields: 2,
    privateMethods: 4,
    decorators: 8,
    privateIn: 16,
    staticBlocks: 32
  }), nue = /* @__PURE__ */ new Map([[Zu.fields, "@babel/plugin-transform-class-properties"], [Zu.privateMethods, "@babel/plugin-transform-p\
rivate-methods"], [Zu.privateIn, "@babel/plugin-transform-private-property-in-object"]]), P4 = "@babel/plugin-class-features/featuresKey", mT = "\
@babel/plugin-class-features/looseKey";
  Op = "@babel/plugin-class-features/looseLowPriorityKey/#__internal__@babel/preset-env__please-overwrite-loose-instead-of-throwing";
  var Op;
  E4 = /* @__PURE__ */ n(function(t, e) {
    return !!(t.get(Op) & e);
  }, "canIgnoreLoose");
  var E4;
  function x5t(t, e, s) {
    (!ec(t, e) || E4(t, e)) && (t.set(P4, t.get(P4) | e), s === "#__internal__@babel/preset-env__prefer-true-but-false-is-ok-if-it-prevents-\
an-error" ? (a1(t, e, !0), t.set(Op, t.get(Op) | e)) : s === "#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-\
error" ? (a1(t, e, !1), t.set(Op, t.get(Op) | e)) : a1(t, e, s));
    let r;
    for (let [a, o] of nue) {
      if (!ec(t, a) || E4(t, a)) continue;
      let l = A4(t, a);
      if (r === !l)
        throw new Error(`'loose' mode configuration must be the same for @babel/plugin-transform-class-properties, @babel/plugin-transform-p\
rivate-methods and @babel/plugin-transform-private-property-in-object (when they are enabled).

` + aue(t));
      r = l;
      var i = o;
    }
    if (r !== void 0)
      for (let [a, o] of nue)
        ec(t, a) && A4(t, a) !== r && (a1(t, a, r), console.warn(`Though the "loose" option was set to "${!r}" in your @babel/preset-env con\
fig, it will not be used for ${o} since the "loose" mode option was set to "${r}" for ${i}.
The "loose" option must be the same for @babel/plugin-transform-class-properties, @babel/plugin-transform-private-methods and @babel/plugin-\
transform-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
	["${o}", { "loose": ${r} }]
to the "plugins" section of your Babel config.

` + aue(t)));
  }
  n(x5t, "enableFeature");
  function aue(t) {
    let {
      filename: e
    } = t.opts;
    return (!e || e === "unknown") && (e = "[name of the input file]"), `If you already set the same 'loose' mode for these plugins in your \
config, it's possible that they are enabled multiple times with different options.
You can re-run Babel with the BABEL_SHOW_CONFIG_FOR environment variable to show the loaded configuration:
	npx cross-env BABEL_SHOW_CONFIG_FOR=${e} <your build command>
See https://babeljs.io/docs/configuration#print-effective-configs for more info.`;
  }
  n(aue, "getBabelShowConfigForHint");
  function ec(t, e) {
    return !!(t.get(P4) & e);
  }
  n(ec, "hasFeature");
  function A4(t, e) {
    return !!(t.get(mT) & e);
  }
  n(A4, "isLoose");
  function a1(t, e, s) {
    s ? t.set(mT, t.get(mT) | e) : t.set(mT, t.get(mT) & ~e), t.set(Op, t.get(Op) & ~e);
  }
  n(a1, "setLoose");
  function S5t(t, e) {
    let s = null, r = null, i = null, a = null, o = null;
    (0, iue.hasOwnDecorators)(t.node) && (s = t.get("decorators.0"));
    for (let l of t.get("body.body"))
      !s && (0, iue.hasOwnDecorators)(l.node) && (s = l.get("decorators.0")), !r && l.isClassProperty() && (r = l), !i && l.isClassPrivateProperty() &&
      (i = l), !a && l.isClassPrivateMethod != null && l.isClassPrivateMethod() && (a = l), !o && l.isStaticBlock != null && l.isStaticBlock() &&
      (o = l);
    if (s && i)
      throw i.buildCodeFrameError("Private fields in decorated classes are not supported yet.");
    if (s && a)
      throw a.buildCodeFrameError("Private methods in decorated classes are not supported yet.");
    if (s && !ec(e, Zu.decorators))
      throw t.buildCodeFrameError(`Decorators are not enabled.
If you are using ["@babel/plugin-proposal-decorators", { "version": "legacy" }], make sure it comes *before* "@babel/plugin-transform-class-\
properties" and enable loose mode, like so:
	["@babel/plugin-proposal-decorators", { "version": "legacy" }]
	["@babel/plugin-transform-class-properties", { "loose": true }]`);
    if (a && !ec(e, Zu.privateMethods))
      throw a.buildCodeFrameError("Class private methods are not enabled. Please add `@babel/plugin-transform-private-methods` to your confi\
guration.");
    if ((r || i) && !ec(e, Zu.fields) && !ec(e, Zu.privateMethods))
      throw t.buildCodeFrameError("Class fields are not enabled. Please add `@babel/plugin-transform-class-properties` to your configuration\
.");
    if (o && !ec(e, Zu.staticBlocks))
      throw t.buildCodeFrameError("Static class blocks are not enabled. Please add `@babel/plugin-transform-class-static-block` to your conf\
iguration.");
    return !!(s || a || o || (r || i) && ec(e, Zu.fields));
  }
  n(S5t, "shouldTransform");
});

// ../node_modules/@babel/helper-create-class-features-plugin/lib/index.js
var lue = g((wf) => {
  "use strict";
  Object.defineProperty(wf, "__esModule", {
    value: !0
  });
  Object.defineProperty(wf, "FEATURES", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Qm.FEATURES;
    }, "get")
  });
  Object.defineProperty(wf, "buildCheckInRHS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return yT.buildCheckInRHS;
    }, "get")
  });
  wf.createClassFeaturePlugin = v5t;
  Object.defineProperty(wf, "enableFeature", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Qm.enableFeature;
    }, "get")
  });
  Object.defineProperty(wf, "injectInitialization", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return w4.injectInitialization;
    }, "get")
  });
  var v4 = ni(), P5t = sue(), E5t = require("semver"), yT = p4(), C4 = S4(), w4 = h4(), Qm = oue(), A5t = a4(), Cf = "@babel/plugin-class-fe\
atures/version";
  function v5t({
    name: t,
    feature: e,
    loose: s,
    manipulateOptions: r,
    api: i,
    inherits: a,
    decoratorVersion: o
  }) {
    var l;
    if (e & Qm.FEATURES.decorators && (o === "2023-11" || o === "2023-05" || o === "2023-01" || o === "2022-03" || o === "2021-12"))
      return (0, P5t.default)(i, {
        loose: s
      }, o, a);
    {
      var u;
      (u = i) != null || (i = {
        assumption: /* @__PURE__ */ n(() => {
        }, "assumption")
      });
    }
    let c = i.assumption("setPublicClassFields"), p = i.assumption("privateFieldsAsSymbols"), h = i.assumption("privateFieldsAsProperties"),
    f = (l = i.assumption("noUninitializedPrivateFieldAccess")) != null ? l : !1, d = i.assumption("constantSuper"), m = i.assumption("noDoc\
umentAll");
    if (h && p)
      throw new Error('Cannot enable both the "privateFieldsAsProperties" and "privateFieldsAsSymbols" assumptions as the same time.');
    let y = h || p;
    if (s === !0) {
      let T = [];
      c !== void 0 && T.push('"setPublicClassFields"'), h !== void 0 && T.push('"privateFieldsAsProperties"'), p !== void 0 && T.push('"priv\
ateFieldsAsSymbols"'), T.length !== 0 && console.warn(`[${t}]: You are using the "loose: true" option and you are explicitly setting a value\
 for the ${T.join(" and ")} assumption${T.length > 1 ? "s" : ""}. The "loose" option can cause incompatibilities with the other class featur\
es plugins, so it's recommended that you replace it with the following top-level option:
	"assumptions": {
		"setPublicClassFields": true,
		"privateFieldsAsSymbols": true
	}`);
    }
    return {
      name: t,
      manipulateOptions: r,
      inherits: a,
      pre(T) {
        if ((0, Qm.enableFeature)(T, e, s), typeof T.get(Cf) == "number") {
          T.set(Cf, "7.25.9");
          return;
        }
        (!T.get(Cf) || E5t.lt(T.get(Cf), "7.25.9")) && T.set(Cf, "7.25.9");
      },
      visitor: {
        Class(T, {
          file: b
        }) {
          var E;
          if (b.get(Cf) !== "7.25.9" || !(0, Qm.shouldTransform)(T, b)) return;
          let V = T.isClassDeclaration();
          V && (0, A5t.assertFieldTransformed)(T);
          let W = (0, Qm.isLoose)(b, e), oe, de = (0, C4.hasDecorators)(T.node), ye = [], Oe = [], be = [], me = /* @__PURE__ */ new Set(), he = T.
          get("body");
          for (let Et of he.get("body")) {
            if ((Et.isClassProperty() || Et.isClassMethod()) && Et.node.computed && be.push(Et), Et.isPrivate()) {
              let {
                name: Pr
              } = Et.node.key.id, Qr = `get ${Pr}`, gi = `set ${Pr}`;
              if (Et.isClassPrivateMethod()) {
                if (Et.node.kind === "get") {
                  if (me.has(Qr) || me.has(Pr) && !me.has(gi))
                    throw Et.buildCodeFrameError("Duplicate private field");
                  me.add(Qr).add(Pr);
                } else if (Et.node.kind === "set") {
                  if (me.has(gi) || me.has(Pr) && !me.has(Qr))
                    throw Et.buildCodeFrameError("Duplicate private field");
                  me.add(gi).add(Pr);
                }
              } else {
                if (me.has(Pr) && !me.has(Qr) && !me.has(gi) || me.has(Pr) && (me.has(Qr) || me.has(gi)))
                  throw Et.buildCodeFrameError("Duplicate private field");
                me.add(Pr);
              }
            }
            Et.isClassMethod({
              kind: "constructor"
            }) ? oe = Et : (Oe.push(Et), (Et.isProperty() || Et.isPrivate() || Et.isStaticBlock != null && Et.isStaticBlock()) && ye.push(Et));
          }
          if (!ye.length && !de) return;
          let Pe = T.node.id, tt;
          if (!Pe || !V) {
            {
              var ot;
              (ot = T.ensureFunctionName) != null || (T.ensureFunctionName = Lo().NodePath.prototype.ensureFunctionName);
            }
            T.ensureFunctionName(!1), tt = T.scope.generateUidIdentifier(Pe?.name || "Class");
          }
          let ke = (E = tt) != null ? E : v4.types.cloneNode(Pe), Ne = (0, yT.buildPrivateNamesMap)(ke.name, y ?? W, ye, b), He = (0, yT.buildPrivateNamesNodes)(
          Ne, h ?? W, p ?? !1, b);
          (0, yT.transformPrivateNamesUsage)(ke, T, Ne, {
            privateFieldsAsProperties: y ?? W,
            noUninitializedPrivateFieldAccess: f,
            noDocumentAll: m,
            innerBinding: Pe
          }, b);
          let Qe, St, kt, Vt, lt, Jt, Hr;
          de ? (St = lt = Qe = [], {
            instanceNodes: kt,
            wrapClass: Hr
          } = (0, C4.buildDecoratedClass)(ke, T, Oe, b)) : (Qe = (0, w4.extractComputedKeys)(T, be, b), {
            staticNodes: St,
            pureStaticNodes: lt,
            instanceNodes: kt,
            lastInstanceNodeReturnsThis: Vt,
            classBindingNode: Jt,
            wrapClass: Hr
          } = (0, yT.buildFieldsInitNodes)(tt, T.node.superClass, ye, Ne, b, c ?? W, y ?? W, f, d ?? W, Pe)), kt.length > 0 && (0, w4.injectInitialization)(
          T, oe, kt, (Et, Pr) => {
            if (!de)
              for (let Qr of ye)
                v4.types.isStaticBlock != null && v4.types.isStaticBlock(Qr.node) || Qr.node.static || Qr.traverse(Et, Pr);
          }, Vt);
          let Sr = Hr(T);
          Sr.insertBefore([...He, ...Qe]), St.length > 0 && Sr.insertAfter(St), lt.length > 0 && Sr.find((Et) => Et.isStatement() || Et.isDeclaration()).
          insertAfter(lt), Jt != null && V && Sr.insertAfter(Jt);
        },
        ExportDefaultDeclaration(T, {
          file: b
        }) {
          {
            if (b.get(Cf) !== "7.25.9") return;
            let V = T.get("declaration");
            if (V.isClassDeclaration() && (0, C4.hasDecorators)(V.node))
              if (V.node.id) {
                {
                  var E;
                  (E = T.splitExportDeclaration) != null || (T.splitExportDeclaration = Lo().NodePath.prototype.splitExportDeclaration);
                }
                T.splitExportDeclaration();
              } else
                V.node.type = "ClassExpression";
          }
        }
      }
    };
  }
  n(v5t, "createClassFeaturePlugin");
});

// ../node_modules/@babel/plugin-transform-typescript/node_modules/@babel/helper-annotate-as-pure/lib/index.js
var uue = g((I4) => {
  "use strict";
  Object.defineProperty(I4, "__esModule", {
    value: !0
  });
  I4.default = k5t;
  var C5t = fe(), {
    addComment: w5t
  } = C5t, I5t = "#__PURE__", N5t = /* @__PURE__ */ n(({
    leadingComments: t
  }) => !!t && t.some((e) => /[@#]__PURE__/.test(e.value)), "isPureAnnotated");
  function k5t(t) {
    let e = t.node || t;
    N5t(e) || w5t(e, "leading", I5t);
  }
  n(k5t, "annotateAsPure");
});

// ../node_modules/@babel/plugin-transform-typescript/lib/enum.js
var k4 = g((o1) => {
  "use strict";
  Object.defineProperty(o1, "__esModule", {
    value: !0
  });
  o1.default = L5t;
  o1.translateEnumValues = pue;
  var Zm = ni(), D5t = require("assert"), O5t = uue(), N4 = /* @__PURE__ */ new WeakMap(), _5t = Zm.template.expression(`
    (function (ID) {
      ASSIGNMENTS;
      return ID;
    })(INIT)
  `);
  function L5t(t, e) {
    let {
      node: s,
      parentPath: r
    } = t;
    if (s.declare) {
      t.remove();
      return;
    }
    let i = s.id.name, {
      fill: a,
      data: o,
      isPure: l
    } = j5t(t, e, s.id);
    switch (r.type) {
      case "BlockStatement":
      case "ExportNamedDeclaration":
      case "Program": {
        let c = e.isProgram(t.parent), p = u(r), h = e.objectExpression([]);
        (p || c) && (h = e.logicalExpression("||", e.cloneNode(a.ID), h));
        let f = _5t(Object.assign({}, a, {
          INIT: h
        }));
        l && (0, O5t.default)(f), p ? (r.isExportDeclaration() ? r : t).replaceWith(e.expressionStatement(e.assignmentExpression("=", e.cloneNode(
        s.id), f))) : t.scope.registerDeclaration(t.replaceWith(e.variableDeclaration(c ? "var" : "let", [e.variableDeclarator(s.id, f)]))[0]),
        N4.set(t.scope.getBindingIdentifier(i), o);
        break;
      }
      default:
        throw new Error(`Unexpected enum parent '${t.parent.type}`);
    }
    function u(c) {
      return c.isExportDeclaration() ? u(c.parentPath) : c.getData(i) ? !0 : (c.setData(i, !0), !1);
    }
    n(u, "seen");
  }
  n(L5t, "transpileEnum");
  var B5t = (0, Zm.template)(`
  ENUM["NAME"] = VALUE;
`), M5t = (0, Zm.template)(`
  ENUM[ENUM["NAME"] = VALUE] = "NAME";
`), F5t = /* @__PURE__ */ n((t, e) => (t ? B5t : M5t)(e), "buildEnumMember");
  function j5t(t, e, s) {
    let {
      enumValues: r,
      data: i,
      isPure: a
    } = pue(t, e), o = r.map(([l, u]) => F5t(e.isStringLiteral(u), {
      ENUM: e.cloneNode(s),
      NAME: l,
      VALUE: u
    }));
    return {
      fill: {
        ID: e.cloneNode(s),
        ASSIGNMENTS: o
      },
      data: i,
      isPure: a
    };
  }
  n(j5t, "enumFill");
  function cue(t, e) {
    let {
      seen: s,
      path: r,
      t: i
    } = e, a = t.node.name;
    s.has(a) && !t.scope.hasOwnBinding(a) && (t.replaceWith(i.memberExpression(i.cloneNode(r.node.id), i.cloneNode(t.node))), t.skip());
  }
  n(cue, "ReferencedIdentifier");
  var R5t = {
    ReferencedIdentifier: cue
  };
  function pue(t, e) {
    var s;
    let r = t.scope.getBindingIdentifier(t.node.id.name), i = (s = N4.get(r)) != null ? s : /* @__PURE__ */ new Map(), a = -1, o, l = !0, u = t.
    get("members").map((c) => {
      let p = c.node, h = e.isIdentifier(p.id) ? p.id.name : p.id.value, f = c.get("initializer"), d = p.initializer, m;
      if (d)
        a = hue(f, i), a !== void 0 ? (i.set(h, a), D5t(typeof a == "number" || typeof a == "string"), a === 1 / 0 || Number.isNaN(a) ? m = e.
        identifier(String(a)) : a === -1 / 0 ? m = e.unaryExpression("-", e.identifier("Infinity")) : m = e.valueToNode(a)) : (l && (l = f.isPure()),
        f.isReferencedIdentifier() ? cue(f, {
          t: e,
          seen: i,
          path: t
        }) : f.traverse(R5t, {
          t: e,
          seen: i,
          path: t
        }), m = f.node, i.set(h, void 0));
      else if (typeof a == "number")
        a += 1, m = e.numericLiteral(a), i.set(h, a);
      else {
        if (typeof a == "string")
          throw t.buildCodeFrameError("Enum member must have initializer.");
        {
          let y = e.memberExpression(e.cloneNode(t.node.id), e.stringLiteral(o), !0);
          m = e.binaryExpression("+", e.numericLiteral(1), y), i.set(h, void 0);
        }
      }
      return o = h, [h, m];
    });
    return {
      isPure: l,
      data: i,
      enumValues: u
    };
  }
  n(pue, "translateEnumValues");
  function hue(t, e, s = /* @__PURE__ */ new Set()) {
    return r(t);
    function r(l) {
      let u = l.node;
      switch (u.type) {
        case "MemberExpression":
          return i(l, e, s);
        case "StringLiteral":
          return u.value;
        case "UnaryExpression":
          return a(l);
        case "BinaryExpression":
          return o(l);
        case "NumericLiteral":
          return u.value;
        case "ParenthesizedExpression":
          return r(l.get("expression"));
        case "Identifier":
          return i(l, e, s);
        case "TemplateLiteral": {
          if (u.quasis.length === 1)
            return u.quasis[0].value.cooked;
          let c = l.get("expressions"), p = u.quasis, h = "";
          for (let f = 0; f < p.length; f++)
            if (h += p[f].value.cooked, f + 1 < p.length) {
              let d = i(c[f], e, s);
              if (d === void 0) return;
              h += d;
            }
          return h;
        }
        default:
          return;
      }
    }
    function i(l, u, c) {
      if (l.isMemberExpression()) {
        let p = l.node, h = p.object, f = p.property;
        if (!Zm.types.isIdentifier(h) || (p.computed ? !Zm.types.isStringLiteral(f) : !Zm.types.isIdentifier(f)))
          return;
        let d = l.scope.getBindingIdentifier(h.name), m = N4.get(d);
        return m ? m.get(f.computed ? f.value : f.name) : void 0;
      } else if (l.isIdentifier()) {
        let p = l.node.name;
        if (["Infinity", "NaN"].includes(p))
          return Number(p);
        let h = u?.get(p);
        return h !== void 0 ? h : c.has(l.node) ? void 0 : (c.add(l.node), h = hue(l.resolve(), u, c), u?.set(p, h), h);
      }
    }
    function a(l) {
      let u = r(l.get("argument"));
      if (u !== void 0)
        switch (l.node.operator) {
          case "+":
            return u;
          case "-":
            return -u;
          case "~":
            return ~u;
          default:
            return;
        }
    }
    function o(l) {
      let u = r(l.get("left"));
      if (u === void 0)
        return;
      let c = r(l.get("right"));
      if (c !== void 0)
        switch (l.node.operator) {
          case "|":
            return u | c;
          case "&":
            return u & c;
          case ">>":
            return u >> c;
          case ">>>":
            return u >>> c;
          case "<<":
            return u << c;
          case "^":
            return u ^ c;
          case "*":
            return u * c;
          case "/":
            return u / c;
          case "+":
            return u + c;
          case "-":
            return u - c;
          case "%":
            return u % c;
          case "**":
            return Math.pow(u, c);
          default:
            return;
        }
    }
  }
  n(hue, "computeConstantValue");
});

// ../node_modules/@babel/plugin-transform-typescript/lib/const-enum.js
var fue = g((D4) => {
  "use strict";
  Object.defineProperty(D4, "__esModule", {
    value: !0
  });
  D4.default = U5t;
  var q5t = k4();
  function U5t(t, e) {
    let {
      name: s
    } = t.node.id, r = t.parentPath.isExportNamedDeclaration(), i = r;
    !i && e.isProgram(t.parent) && (i = t.parent.body.some((l) => e.isExportNamedDeclaration(l) && l.exportKind !== "type" && !l.source && l.
    specifiers.some((u) => e.isExportSpecifier(u) && u.exportKind !== "type" && u.local.name === s)));
    let {
      enumValues: a
    } = (0, q5t.translateEnumValues)(t, e);
    if (i) {
      let l = e.objectExpression(a.map(([u, c]) => e.objectProperty(e.isValidIdentifier(u) ? e.identifier(u) : e.stringLiteral(u), c)));
      t.scope.hasOwnBinding(s) ? (r ? t.parentPath : t).replaceWith(e.expressionStatement(e.callExpression(e.memberExpression(e.identifier("\
Object"), e.identifier("assign")), [t.node.id, l]))) : (t.replaceWith(e.variableDeclaration("var", [e.variableDeclarator(t.node.id, l)])), t.
      scope.registerDeclaration(t));
      return;
    }
    let o = new Map(a);
    t.scope.path.traverse({
      Scope(l) {
        l.scope.hasOwnBinding(s) && l.skip();
      },
      MemberExpression(l) {
        if (!e.isIdentifier(l.node.object, {
          name: s
        })) return;
        let u;
        if (l.node.computed)
          if (e.isStringLiteral(l.node.property))
            u = l.node.property.value;
          else
            return;
        else if (e.isIdentifier(l.node.property))
          u = l.node.property.name;
        else
          return;
        o.has(u) && l.replaceWith(e.cloneNode(o.get(u)));
      }
    }), t.remove();
  }
  n(U5t, "transpileConstEnum");
});

// ../node_modules/@babel/plugin-transform-typescript/lib/global-types.js
var O4 = g((ey) => {
  "use strict";
  Object.defineProperty(ey, "__esModule", {
    value: !0
  });
  ey.GLOBAL_TYPES = void 0;
  ey.isGlobalType = K5t;
  ey.registerGlobalType = V5t;
  var due = ey.GLOBAL_TYPES = /* @__PURE__ */ new WeakMap();
  function K5t({
    scope: t
  }, e) {
    return t.hasBinding(e) ? !1 : due.get(t).has(e) ? !0 : (console.warn(`The exported identifier "${e}" is not declared in Babel's scope tr\
acker
as a JavaScript value binding, and "@babel/plugin-transform-typescript"
never encountered it as a TypeScript type declaration.
It will be treated as a JavaScript value.

This problem is likely caused by another plugin injecting
"${e}" without registering it in the scope tracker. If you are the author
 of that plugin, please use "scope.registerDeclaration(declarationPath)".`), !1);
  }
  n(K5t, "isGlobalType");
  function V5t(t, e) {
    due.get(t).add(e);
  }
  n(V5t, "registerGlobalType");
});

// ../node_modules/@babel/plugin-transform-typescript/lib/namespace.js
var yue = g((M4) => {
  "use strict";
  Object.defineProperty(M4, "__esModule", {
    value: !0
  });
  M4.default = $5t;
  var qs = ni(), W5t = O4();
  function $5t(t, e) {
    if (t.node.declare || t.node.id.type === "StringLiteral") {
      t.remove();
      return;
    }
    if (!e)
      throw t.get("id").buildCodeFrameError("Namespace not marked type-only declare. Non-declarative namespaces are only supported experimen\
tally in Babel. To enable and review caveats see: https://babeljs.io/docs/en/babel-plugin-transform-typescript");
    let s = t.node.id.name, r = B4(t, qs.types.cloneNode(t.node, !0));
    if (r === null) {
      let i = t.findParent((a) => a.isProgram());
      (0, W5t.registerGlobalType)(i.scope, s), t.remove();
    } else t.scope.hasOwnBinding(s) ? t.replaceWith(r) : t.scope.registerDeclaration(t.replaceWithMultiple([_4(s), r])[0]);
  }
  n($5t, "transpileNamespace");
  function _4(t) {
    return qs.types.variableDeclaration("let", [qs.types.variableDeclarator(qs.types.identifier(t))]);
  }
  n(_4, "getDeclaration");
  function L4(t, e) {
    return qs.types.memberExpression(qs.types.identifier(t), qs.types.identifier(e));
  }
  n(L4, "getMemberExpression");
  function H5t(t, e, s) {
    if (t.kind !== "const")
      throw s.file.buildCodeFrameError(t, "Namespaces exporting non-const are not supported by Babel. Change to const or see: https://babelj\
s.io/docs/en/babel-plugin-transform-typescript");
    let {
      declarations: r
    } = t;
    if (r.every((o) => qs.types.isIdentifier(o.id))) {
      for (let o of r)
        o.init = qs.types.assignmentExpression("=", L4(e, o.id.name), o.init);
      return [t];
    }
    let i = qs.types.getBindingIdentifiers(t), a = [];
    for (let o in i)
      a.push(qs.types.assignmentExpression("=", L4(e, o), qs.types.cloneNode(i[o])));
    return [t, qs.types.expressionStatement(qs.types.sequenceExpression(a))];
  }
  n(H5t, "handleVariableDeclaration");
  function mue(t, e) {
    return t.hub.buildError(e, "Ambient modules cannot be nested in other modules or namespaces.", Error);
  }
  n(mue, "buildNestedAmbientModuleError");
  function B4(t, e, s) {
    let r = /* @__PURE__ */ new Set(), i = e.id;
    qs.types.assertIdentifier(i);
    let a = t.scope.generateUid(i.name), o = qs.types.isTSModuleBlock(e.body) ? e.body.body : [qs.types.exportNamedDeclaration(e.body)], l = !0;
    for (let c = 0; c < o.length; c++) {
      let p = o[c];
      switch (p.type) {
        case "TSModuleDeclaration": {
          if (!qs.types.isIdentifier(p.id))
            throw mue(t, p);
          let h = B4(t, p);
          if (h !== null) {
            l = !1;
            let f = p.id.name;
            r.has(f) ? o[c] = h : (r.add(f), o.splice(c++, 1, _4(f), h));
          }
          continue;
        }
        case "TSEnumDeclaration":
        case "FunctionDeclaration":
        case "ClassDeclaration":
          l = !1, r.add(p.id.name);
          continue;
        case "VariableDeclaration": {
          l = !1;
          for (let h in qs.types.getBindingIdentifiers(p))
            r.add(h);
          continue;
        }
        default:
          l && (l = qs.types.isTypeScript(p));
          continue;
        case "ExportNamedDeclaration":
      }
      if (!("declare" in p.declaration && p.declaration.declare))
        switch (p.declaration.type) {
          case "TSEnumDeclaration":
          case "FunctionDeclaration":
          case "ClassDeclaration": {
            l = !1;
            let h = p.declaration.id.name;
            r.add(h), o.splice(c++, 1, p.declaration, qs.types.expressionStatement(qs.types.assignmentExpression("=", L4(a, h), qs.types.identifier(
            h))));
            break;
          }
          case "VariableDeclaration": {
            l = !1;
            let h = H5t(p.declaration, a, t.hub);
            o.splice(c, h.length, ...h), c += h.length - 1;
            break;
          }
          case "TSModuleDeclaration": {
            if (!qs.types.isIdentifier(p.declaration.id))
              throw mue(t, p.declaration);
            let h = B4(t, p.declaration, qs.types.identifier(a));
            if (h !== null) {
              l = !1;
              let f = p.declaration.id.name;
              r.has(f) ? o[c] = h : (r.add(f), o.splice(c++, 1, _4(f), h));
            } else
              o.splice(c, 1), c--;
          }
        }
    }
    if (l) return null;
    let u = qs.types.objectExpression([]);
    if (s) {
      let c = qs.types.memberExpression(s, i);
      u = qs.template.expression.ast`
      ${qs.types.cloneNode(c)} ||
        (${qs.types.cloneNode(c)} = ${u})
    `;
    }
    return qs.template.statement.ast`
    (function (${qs.types.identifier(a)}) {
      ${o}
    })(${i} || (${qs.types.cloneNode(i)} = ${u}));
  `;
  }
  n(B4, "handleNested");
});

// ../node_modules/@babel/plugin-transform-typescript/lib/index.js
var bue = g((u1) => {
  "use strict";
  Object.defineProperty(u1, "__esModule", {
    value: !0
  });
  u1.default = void 0;
  var J5t = fm(), Y5t = Hee(), X5t = lue(), z5t = fue(), G5t = k4(), tc = O4(), Q5t = yue();
  function Z5t(t) {
    switch (t.parent.type) {
      case "TSTypeReference":
      case "TSExpressionWithTypeArguments":
      case "TSTypeQuery":
        return !0;
      case "TSQualifiedName":
        return t.parentPath.findParent((e) => e.type !== "TSQualifiedName").type !== "TSImportEqualsDeclaration";
      case "ExportSpecifier":
        return t.parent.exportKind === "type" || t.parentPath.parent.exportKind === "type";
      default:
        return !1;
    }
  }
  n(Z5t, "isInType");
  var Qa = /* @__PURE__ */ new WeakMap(), gue = /* @__PURE__ */ new WeakSet();
  function l1(t) {
    let e = t.getBindingIdentifiers();
    for (let s of Object.keys(e)) {
      let r = t.scope.getBinding(s);
      r && r.identifier === e[s] && r.scope.removeBinding(s);
    }
    t.opts.noScope = !0, t.remove(), t.opts.noScope = !1;
  }
  n(l1, "safeRemove");
  function Tue(t, e, s, r, i = "") {
    if (e.file.get("@babel/plugin-transform-modules-*") !== "commonjs")
      throw t.buildCodeFrameError(`\`${s}\` is only supported when compiling modules to CommonJS.
Please consider using \`${r}\`${i}, or add @babel/plugin-transform-modules-commonjs to your Babel config.`);
  }
  n(Tue, "assertCjsTransformEnabled");
  var dGs = u1.default = (0, J5t.declare)((t, e) => {
    let {
      types: s,
      template: r
    } = t;
    t.assertVersion(7);
    let i = /\*?\s*@jsx((?:Frag)?)\s+([^\s]+)/, {
      allowNamespaces: a = !0,
      jsxPragma: o = "React.createElement",
      jsxPragmaFrag: l = "React.Fragment",
      onlyRemoveTypeImports: u = !1,
      optimizeConstEnums: c = !1
    } = e;
    var {
      allowDeclareFields: p = !1
    } = e;
    let h = {
      field(y) {
        let {
          node: T
        } = y;
        if (!p && T.declare)
          throw y.buildCodeFrameError("The 'declare' modifier is only allowed when the 'allowDeclareFields' option of @babel/plugin-transfor\
m-typescript or @babel/preset-typescript is enabled.");
        if (T.declare) {
          if (T.value)
            throw y.buildCodeFrameError("Fields with the 'declare' modifier cannot be initialized here, but only in the constructor");
          T.decorators || y.remove();
        } else if (T.definite) {
          if (T.value)
            throw y.buildCodeFrameError("Definitely assigned fields cannot be initialized here, but only in the constructor");
          !p && !T.decorators && !s.isClassPrivateProperty(T) && y.remove();
        } else (T.abstract || !p && !T.value && !T.decorators && !s.isClassPrivateProperty(T)) && y.remove();
        T.accessibility && (T.accessibility = null), T.abstract && (T.abstract = null), T.readonly && (T.readonly = null), T.optional && (T.
        optional = null), T.typeAnnotation && (T.typeAnnotation = null), T.definite && (T.definite = null), T.declare && (T.declare = null),
        T.override && (T.override = null);
      },
      method({
        node: y
      }) {
        y.accessibility && (y.accessibility = null), y.abstract && (y.abstract = null), y.optional && (y.optional = null), y.override && (y.
        override = null);
      },
      constructor(y, T) {
        y.node.accessibility && (y.node.accessibility = null);
        let b = [], {
          scope: E
        } = y;
        for (let V of y.get("params")) {
          let W = V.node;
          if (W.type === "TSParameterProperty") {
            let oe = W.parameter;
            if (gue.has(oe)) continue;
            gue.add(oe);
            let de;
            if (s.isIdentifier(oe))
              de = oe;
            else if (s.isAssignmentPattern(oe) && s.isIdentifier(oe.left))
              de = oe.left;
            else
              throw V.buildCodeFrameError("Parameter properties can not be destructuring patterns.");
            b.push(r.statement.ast`
              this.${s.cloneNode(de)} = ${s.cloneNode(de)}
            `), V.replaceWith(V.get("parameter")), E.registerBinding("param", V);
          }
        }
        (0, X5t.injectInitialization)(T, y, b);
      }
    };
    return {
      name: "transform-typescript",
      inherits: Y5t.default,
      visitor: {
        Pattern: d,
        Identifier: d,
        RestElement: d,
        Program: {
          enter(y, T) {
            let {
              file: b
            } = T, E = null, V = null, W = y.scope;
            if (tc.GLOBAL_TYPES.has(W) || tc.GLOBAL_TYPES.set(W, /* @__PURE__ */ new Set()), b.ast.comments)
              for (let ye of b.ast.comments) {
                let Oe = i.exec(ye.value);
                Oe && (Oe[1] ? V = Oe[2] : E = Oe[2]);
              }
            let oe = E || o;
            oe && ([oe] = oe.split("."));
            let de = V || l;
            de && ([de] = de.split("."));
            for (let ye of y.get("body")) {
              if (ye.isImportDeclaration()) {
                if (Qa.has(T.file.ast.program) || Qa.set(T.file.ast.program, !0), ye.node.importKind === "type") {
                  for (let he of ye.node.specifiers)
                    (0, tc.registerGlobalType)(W, he.local.name);
                  ye.remove();
                  continue;
                }
                let Oe = /* @__PURE__ */ new Set(), be = ye.node.specifiers.length, me = /* @__PURE__ */ n(() => be > 0 && be === Oe.size, "\
isAllSpecifiersElided");
                for (let he of ye.node.specifiers)
                  if (he.type === "ImportSpecifier" && he.importKind === "type") {
                    (0, tc.registerGlobalType)(W, he.local.name);
                    let Pe = ye.scope.getBinding(he.local.name);
                    Pe && Oe.add(Pe.path);
                  }
                if (u)
                  Qa.set(y.node, !1);
                else {
                  if (ye.node.specifiers.length === 0) {
                    Qa.set(y.node, !1);
                    continue;
                  }
                  for (let he of ye.node.specifiers) {
                    let Pe = ye.scope.getBinding(he.local.name);
                    Pe && !Oe.has(Pe.path) && (m({
                      binding: Pe,
                      programPath: y,
                      pragmaImportName: oe,
                      pragmaFragImportName: de
                    }) ? Oe.add(Pe.path) : Qa.set(y.node, !1));
                  }
                }
                if (me() && !u)
                  ye.remove();
                else
                  for (let he of Oe)
                    he.remove();
                continue;
              }
              if (ye.isExportDeclaration() && (ye = ye.get("declaration")), ye.isVariableDeclaration({
                declare: !0
              }))
                for (let Oe of Object.keys(ye.getBindingIdentifiers()))
                  (0, tc.registerGlobalType)(W, Oe);
              else (ye.isTSTypeAliasDeclaration() || ye.isTSDeclareFunction() && ye.get("id").isIdentifier() || ye.isTSInterfaceDeclaration() ||
              ye.isClassDeclaration({
                declare: !0
              }) || ye.isTSEnumDeclaration({
                declare: !0
              }) || ye.isTSModuleDeclaration({
                declare: !0
              }) && ye.get("id").isIdentifier()) && (0, tc.registerGlobalType)(W, ye.node.id.name);
            }
          },
          exit(y) {
            y.node.sourceType === "module" && Qa.get(y.node) && y.pushContainer("body", s.exportNamedDeclaration());
          }
        },
        ExportNamedDeclaration(y, T) {
          if (Qa.has(T.file.ast.program) || Qa.set(T.file.ast.program, !0), y.node.exportKind === "type") {
            y.remove();
            return;
          }
          if (y.node.source && y.node.specifiers.length > 0 && y.node.specifiers.every((b) => b.type === "ExportSpecifier" && b.exportKind ===
          "type")) {
            y.remove();
            return;
          }
          if (!y.node.source && y.node.specifiers.length > 0 && y.node.specifiers.every((b) => s.isExportSpecifier(b) && (0, tc.isGlobalType)(
          y, b.local.name))) {
            y.remove();
            return;
          }
          if (s.isTSModuleDeclaration(y.node.declaration)) {
            let b = y.node.declaration, {
              id: E
            } = b;
            if (s.isIdentifier(E))
              if (y.scope.hasOwnBinding(E.name))
                y.replaceWith(b);
              else {
                let [V] = y.replaceWithMultiple([s.exportNamedDeclaration(s.variableDeclaration("let", [s.variableDeclarator(s.cloneNode(E))])),
                b]);
                y.scope.registerDeclaration(V);
              }
          }
          Qa.set(T.file.ast.program, !1);
        },
        ExportAllDeclaration(y) {
          y.node.exportKind === "type" && y.remove();
        },
        ExportSpecifier(y) {
          (!y.parent.source && (0, tc.isGlobalType)(y, y.node.local.name) || y.node.exportKind === "type") && y.remove();
        },
        ExportDefaultDeclaration(y, T) {
          if (Qa.has(T.file.ast.program) || Qa.set(T.file.ast.program, !0), s.isIdentifier(y.node.declaration) && (0, tc.isGlobalType)(y, y.
          node.declaration.name)) {
            y.remove();
            return;
          }
          Qa.set(T.file.ast.program, !1);
        },
        TSDeclareFunction(y) {
          l1(y);
        },
        TSDeclareMethod(y) {
          l1(y);
        },
        VariableDeclaration(y) {
          y.node.declare && l1(y);
        },
        VariableDeclarator({
          node: y
        }) {
          y.definite && (y.definite = null);
        },
        TSIndexSignature(y) {
          y.remove();
        },
        ClassDeclaration(y) {
          let {
            node: T
          } = y;
          T.declare && l1(y);
        },
        Class(y) {
          let {
            node: T
          } = y;
          T.typeParameters && (T.typeParameters = null), T.superTypeParameters && (T.superTypeParameters = null), T.implements && (T.implements =
          null), T.abstract && (T.abstract = null), y.get("body.body").forEach((b) => {
            b.isClassMethod() || b.isClassPrivateMethod() ? b.node.kind === "constructor" ? h.constructor(b, y) : h.method(b) : (b.isClassProperty() ||
            b.isClassPrivateProperty() || b.isClassAccessorProperty()) && h.field(b);
          });
        },
        Function(y) {
          let {
            node: T
          } = y;
          T.typeParameters && (T.typeParameters = null), T.returnType && (T.returnType = null);
          let b = T.params;
          b.length > 0 && s.isIdentifier(b[0], {
            name: "this"
          }) && b.shift();
        },
        TSModuleDeclaration(y) {
          (0, Q5t.default)(y, a);
        },
        TSInterfaceDeclaration(y) {
          y.remove();
        },
        TSTypeAliasDeclaration(y) {
          y.remove();
        },
        TSEnumDeclaration(y) {
          c && y.node.const ? (0, z5t.default)(y, s) : (0, G5t.default)(y, s);
        },
        TSImportEqualsDeclaration(y, T) {
          let {
            id: b,
            moduleReference: E
          } = y.node, V, W;
          s.isTSExternalModuleReference(E) ? (Tue(y, T, `import ${b.name} = require(...);`, `import ${b.name} from '...';`, " alongside Type\
script's --allowSyntheticDefaultImports option"), V = s.callExpression(s.identifier("require"), [E.expression]), W = "const") : (V = f(E), W =
          "var"), y.replaceWith(s.variableDeclaration(W, [s.variableDeclarator(b, V)])), y.scope.registerDeclaration(y);
        },
        TSExportAssignment(y, T) {
          Tue(y, T, "export = <value>;", "export default <value>;"), y.replaceWith(r.statement.ast`module.exports = ${y.node.expression}`);
        },
        TSTypeAssertion(y) {
          y.replaceWith(y.node.expression);
        },
        [`TSAsExpression${s.tsSatisfiesExpression ? "|TSSatisfiesExpression" : ""}`](y) {
          let {
            node: T
          } = y;
          do
            T = T.expression;
          while (s.isTSAsExpression(T) || s.isTSSatisfiesExpression != null && s.isTSSatisfiesExpression(T));
          y.replaceWith(T);
        },
        [t.types.tsInstantiationExpression ? "TSNonNullExpression|TSInstantiationExpression" : "TSNonNullExpression"](y) {
          y.replaceWith(y.node.expression);
        },
        CallExpression(y) {
          y.node.typeParameters = null;
        },
        OptionalCallExpression(y) {
          y.node.typeParameters = null;
        },
        NewExpression(y) {
          y.node.typeParameters = null;
        },
        JSXOpeningElement(y) {
          y.node.typeParameters = null;
        },
        TaggedTemplateExpression(y) {
          y.node.typeParameters = null;
        }
      }
    };
    function f(y) {
      return s.isTSQualifiedName(y) ? s.memberExpression(f(y.left), y.right) : y;
    }
    function d({
      node: y
    }) {
      y.typeAnnotation && (y.typeAnnotation = null), s.isIdentifier(y) && y.optional && (y.optional = null);
    }
    function m({
      binding: y,
      programPath: T,
      pragmaImportName: b,
      pragmaFragImportName: E
    }) {
      for (let W of y.referencePaths)
        if (!Z5t(W))
          return !1;
      if (y.identifier.name !== b && y.identifier.name !== E)
        return !0;
      let V = !1;
      return T.traverse({
        "JSXElement|JSXFragment"(W) {
          V = !0, W.stop();
        }
      }), !V;
    }
  });
});

// ../node_modules/@babel/plugin-syntax-jsx/lib/index.js
var xue = g((c1) => {
  "use strict";
  Object.defineProperty(c1, "__esModule", {
    value: !0
  });
  c1.default = void 0;
  var e9t = fm(), gGs = c1.default = (0, e9t.declare)((t) => (t.assertVersion(7), {
    name: "syntax-jsx",
    manipulateOptions(e, s) {
      s.plugins.some((r) => (Array.isArray(r) ? r[0] : r) === "typescript") || s.plugins.push("jsx");
    }
  }));
});

// ../node_modules/@babel/plugin-transform-modules-commonjs/lib/dynamic-import.js
var Eue = g((F4) => {
  "use strict";
  Object.defineProperty(F4, "__esModule", {
    value: !0
  });
  F4.transformDynamicImport = r9t;
  var Sue = ni(), t9t = Qg(), Pue = /* @__PURE__ */ n((t) => Sue.template.expression.ast`require(${t})`, "requireNoInterop"), s9t = /* @__PURE__ */ n(
  (t, e) => Sue.types.callExpression(e.addHelper("interopRequireWildcard"), [Pue(t)]), "requireInterop");
  function r9t(t, e, s) {
    let r = e ? Pue : s9t;
    t.replaceWith((0, t9t.buildDynamicImport)(t.node, !0, !1, (i) => r(i, s)));
  }
  n(r9t, "transformDynamicImport");
});

// ../node_modules/@babel/plugin-transform-modules-commonjs/lib/lazy.js
var vue = g((p1) => {
  "use strict";
  Object.defineProperty(p1, "__esModule", {
    value: !0
  });
  p1.lazyImportsHook = void 0;
  var Aue = ni(), i9t = Qg(), n9t = /* @__PURE__ */ n((t) => ({
    name: "@babel/plugin-transform-modules-commonjs/lazy",
    version: "7.26.3",
    getWrapperPayload(e, s) {
      if ((0, i9t.isSideEffectImport)(s) || s.reexportAll)
        return null;
      if (t === !0)
        return e.includes(".") ? null : "lazy/function";
      if (Array.isArray(t))
        return t.includes(e) ? "lazy/function" : null;
      if (typeof t == "function")
        return t(e) ? "lazy/function" : null;
    },
    buildRequireWrapper(e, s, r, i) {
      if (r === "lazy/function")
        return i ? Aue.template.statement.ast`
        function ${e}() {
          const data = ${s};
          ${e} = function(){ return data; };
          return data;
        }
      ` : !1;
    },
    wrapReference(e, s) {
      if (s === "lazy/function") return Aue.types.callExpression(e, []);
    }
  }), "lazyImportsHook");
  p1.lazyImportsHook = n9t;
});

// ../node_modules/@babel/plugin-transform-modules-commonjs/lib/hooks.js
var Cue = g((h1) => {
  "use strict";
  Object.defineProperty(h1, "__esModule", {
    value: !0
  });
  h1.defineCommonJSHook = a9t;
  h1.makeInvokers = o9t;
  var R4 = "@babel/plugin-transform-modules-commonjs/customWrapperPlugin";
  function a9t(t, e) {
    let s = t.get(R4);
    s || t.set(R4, s = []), s.push(e);
  }
  n(a9t, "defineCommonJSHook");
  function j4(t, e) {
    if (t)
      for (let s of t) {
        let r = e(s);
        if (r != null) return r;
      }
  }
  n(j4, "findMap");
  function o9t(t) {
    let e = t.get(R4);
    return {
      getWrapperPayload(...s) {
        return j4(e, (r) => r.getWrapperPayload == null ? void 0 : r.getWrapperPayload(...s));
      },
      wrapReference(...s) {
        return j4(e, (r) => r.wrapReference == null ? void 0 : r.wrapReference(...s));
      },
      buildRequireWrapper(...s) {
        return j4(e, (r) => r.buildRequireWrapper == null ? void 0 : r.buildRequireWrapper(...s));
      }
    };
  }
  n(o9t, "makeInvokers");
});

// ../node_modules/@babel/plugin-transform-modules-commonjs/lib/index.js
var wue = g((gT) => {
  "use strict";
  Object.defineProperty(gT, "__esModule", {
    value: !0
  });
  gT.default = void 0;
  Object.defineProperty(gT, "defineCommonJSHook", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return q4.defineCommonJSHook;
    }, "get")
  });
  var l9t = fm(), If = Qg(), Fo = ni(), u9t = Eue(), c9t = vue(), q4 = Cue(), vGs = gT.default = (0, l9t.declare)((t, e) => {
    var s, r, i;
    t.assertVersion(7);
    let {
      strictNamespace: a = !1,
      mjsStrictNamespace: o = a,
      allowTopLevelThis: l,
      strict: u,
      strictMode: c,
      noInterop: p,
      importInterop: h,
      lazy: f = !1,
      allowCommonJSExports: d = !0,
      loose: m = !1
    } = e, y = (s = t.assumption("constantReexports")) != null ? s : m, T = (r = t.assumption("enumerableModuleMeta")) != null ? r : m, b = (i =
    t.assumption("noIncompleteNsImportDetection")) != null ? i : !1;
    if (typeof f != "boolean" && typeof f != "function" && (!Array.isArray(f) || !f.every((W) => typeof W == "string")))
      throw new Error(".lazy must be a boolean, array of strings, or a function");
    if (typeof a != "boolean")
      throw new Error(".strictNamespace must be a boolean, or undefined");
    if (typeof o != "boolean")
      throw new Error(".mjsStrictNamespace must be a boolean, or undefined");
    let E = /* @__PURE__ */ n((W) => Fo.template.expression.ast`
    (function(){
      throw new Error(
        "The CommonJS '" + "${W}" + "' variable is not available in ES6 modules." +
        "Consider setting setting sourceType:script or sourceType:unambiguous in your " +
        "Babel config for this file.");
    })()
  `, "getAssertion"), V = {
      ReferencedIdentifier(W) {
        let oe = W.node.name;
        if (oe !== "module" && oe !== "exports") return;
        let de = W.scope.getBinding(oe);
        this.scope.getBinding(oe) !== de || W.parentPath.isObjectProperty({
          value: W.node
        }) && W.parentPath.parentPath.isObjectPattern() || W.parentPath.isAssignmentExpression({
          left: W.node
        }) || W.isAssignmentExpression({
          left: W.node
        }) || W.replaceWith(E(oe));
      },
      UpdateExpression(W) {
        let oe = W.get("argument");
        if (!oe.isIdentifier()) return;
        let de = oe.node.name;
        if (de !== "module" && de !== "exports") return;
        let ye = W.scope.getBinding(de);
        this.scope.getBinding(de) === ye && W.replaceWith(Fo.types.assignmentExpression(W.node.operator[0] + "=", oe.node, E(de)));
      },
      AssignmentExpression(W) {
        let oe = W.get("left");
        if (oe.isIdentifier()) {
          let de = oe.node.name;
          if (de !== "module" && de !== "exports") return;
          let ye = W.scope.getBinding(de);
          if (this.scope.getBinding(de) !== ye) return;
          let be = W.get("right");
          be.replaceWith(Fo.types.sequenceExpression([be.node, E(de)]));
        } else if (oe.isPattern()) {
          let de = oe.getOuterBindingIdentifiers(), ye = Object.keys(de).find((Oe) => Oe !== "module" && Oe !== "exports" ? !1 : this.scope.
          getBinding(Oe) === W.scope.getBinding(Oe));
          if (ye) {
            let Oe = W.get("right");
            Oe.replaceWith(Fo.types.sequenceExpression([Oe.node, E(ye)]));
          }
        }
      }
    };
    return {
      name: "transform-modules-commonjs",
      pre() {
        this.file.set("@babel/plugin-transform-modules-*", "commonjs"), f && (0, q4.defineCommonJSHook)(this.file, (0, c9t.lazyImportsHook)(
        f));
      },
      visitor: {
        ["CallExpression" + (t.types.importExpression ? "|ImportExpression" : "")](W) {
          if (!this.file.has("@babel/plugin-proposal-dynamic-import") || W.isCallExpression() && !Fo.types.isImport(W.node.callee)) return;
          let {
            scope: oe
          } = W;
          do
            oe.rename("require");
          while (oe = oe.parent);
          (0, u9t.transformDynamicImport)(W, p, this.file);
        },
        Program: {
          exit(W, oe) {
            if (!(0, If.isModule)(W)) return;
            W.scope.rename("exports"), W.scope.rename("module"), W.scope.rename("require"), W.scope.rename("__filename"), W.scope.rename("__\
dirname"), d || W.traverse(V, {
              scope: W.scope
            });
            let de = (0, If.getModuleName)(this.file.opts, e);
            de && (de = Fo.types.stringLiteral(de));
            let ye = (0, q4.makeInvokers)(this.file), {
              meta: Oe,
              headers: be
            } = (0, If.rewriteModuleStatementsAndPrepareHeader)(W, {
              exportName: "exports",
              constantReexports: y,
              enumerableModuleMeta: T,
              strict: u,
              strictMode: c,
              allowTopLevelThis: l,
              noInterop: p,
              importInterop: h,
              wrapReference: ye.wrapReference,
              getWrapperPayload: ye.getWrapperPayload,
              esNamespaceOnly: typeof oe.filename == "string" && /\.mjs$/.test(oe.filename) ? o : a,
              noIncompleteNsImportDetection: b,
              filename: this.file.opts.filename
            });
            for (let [he, Pe] of Oe.source) {
              let tt = Fo.types.callExpression(Fo.types.identifier("require"), [Fo.types.stringLiteral(he)]), ot;
              if ((0, If.isSideEffectImport)(Pe)) {
                if (f && Pe.wrap === "function")
                  throw new Error("Assertion failure");
                ot = Fo.types.expressionStatement(tt);
              } else {
                var me;
                let ke = (0, If.wrapInterop)(W, tt, Pe.interop) || tt;
                if (Pe.wrap) {
                  let Ne = ye.buildRequireWrapper(Pe.name, ke, Pe.wrap, Pe.referenced);
                  if (Ne === !1) continue;
                  ot = Ne;
                }
                (me = ot) != null || (ot = Fo.template.statement.ast`
                var ${Pe.name} = ${ke};
              `);
              }
              ot.loc = Pe.loc, be.push(ot), be.push(...(0, If.buildNamespaceInitStatements)(Oe, Pe, y, ye.wrapReference));
            }
            (0, If.ensureStatementsHoisted)(be), W.unshiftContainer("body", be), W.get("body").forEach((he) => {
              be.includes(he.node) && he.isVariableDeclaration() && he.scope.registerDeclaration(he);
            });
          }
        }
      }
    };
  });
});

// ../node_modules/@babel/preset-typescript/lib/index.js
var Due = g((U4) => {
  "use strict";
  Object.defineProperty(U4, "__esModule", { value: !0 });
  var Nue = fm(), p9t = bue();
  xue();
  var h9t = wue(), f9t = jP();
  function kue(t) {
    return t && t.__esModule ? t : { default: t };
  }
  n(kue, "_interopDefault");
  var Iue = /* @__PURE__ */ kue(p9t), d9t = /* @__PURE__ */ kue(h9t), sc = new f9t.OptionValidator("@babel/preset-typescript");
  function m9t(t = {}) {
    let {
      allowNamespaces: e = !0,
      jsxPragma: s,
      onlyRemoveTypeImports: r
    } = t, i = {
      ignoreExtensions: "ignoreExtensions",
      allowNamespaces: "allowNamespaces",
      disallowAmbiguousJSXLike: "disallowAmbiguousJSXLike",
      jsxPragma: "jsxPragma",
      jsxPragmaFrag: "jsxPragmaFrag",
      onlyRemoveTypeImports: "onlyRemoveTypeImports",
      optimizeConstEnums: "optimizeConstEnums",
      rewriteImportExtensions: "rewriteImportExtensions",
      allExtensions: "allExtensions",
      isTSX: "isTSX"
    }, a = sc.validateStringOption(i.jsxPragmaFrag, t.jsxPragmaFrag, "React.Fragment");
    {
      var o = sc.validateBooleanOption(i.allExtensions, t.allExtensions, !1), l = sc.validateBooleanOption(i.isTSX, t.isTSX, !1);
      l && sc.invariant(o, "isTSX:true requires allExtensions:true");
    }
    let u = sc.validateBooleanOption(i.ignoreExtensions, t.ignoreExtensions, !1), c = sc.validateBooleanOption(i.disallowAmbiguousJSXLike, t.
    disallowAmbiguousJSXLike, !1);
    c && sc.invariant(o, "disallowAmbiguousJSXLike:true requires allExtensions:true");
    let p = sc.validateBooleanOption(i.optimizeConstEnums, t.optimizeConstEnums, !1), h = sc.validateBooleanOption(i.rewriteImportExtensions,
    t.rewriteImportExtensions, !1), f = {
      ignoreExtensions: u,
      allowNamespaces: e,
      disallowAmbiguousJSXLike: c,
      jsxPragma: s,
      jsxPragmaFrag: a,
      onlyRemoveTypeImports: r,
      optimizeConstEnums: p,
      rewriteImportExtensions: h
    };
    return f.allExtensions = o, f.isTSX = l, f;
  }
  n(m9t, "normalizeOptions");
  var y9t = Nue.declare(function({
    types: t
  }) {
    return {
      name: "preset-typescript/plugin-rewrite-ts-imports",
      visitor: {
        "ImportDeclaration|ExportAllDeclaration|ExportNamedDeclaration"({
          node: e
        }) {
          let {
            source: s
          } = e;
          (t.isImportDeclaration(e) ? e.importKind : e.exportKind) === "value" && s && /[\\/]/.test(s.value) && (s.value = s.value.replace(/(\.[mc]?)ts$/,
          "$1js").replace(/\.tsx$/, ".js"));
        }
      }
    };
  }), g9t = Nue.declarePreset((t, e) => {
    t.assertVersion(7);
    let {
      allExtensions: s,
      ignoreExtensions: r,
      allowNamespaces: i,
      disallowAmbiguousJSXLike: a,
      isTSX: o,
      jsxPragma: l,
      jsxPragmaFrag: u,
      onlyRemoveTypeImports: c,
      optimizeConstEnums: p,
      rewriteImportExtensions: h
    } = m9t(e), f = /* @__PURE__ */ n((y) => ({
      allowDeclareFields: e.allowDeclareFields,
      allowNamespaces: i,
      disallowAmbiguousJSXLike: y,
      jsxPragma: l,
      jsxPragmaFrag: u,
      onlyRemoveTypeImports: c,
      optimizeConstEnums: p
    }), "pluginOptions"), d = /* @__PURE__ */ n((y, T) => [[Iue.default, Object.assign({
      isTSX: y
    }, f(T))]], "getPlugins");
    return {
      plugins: h ? [y9t] : [],
      overrides: s || r ? [{
        plugins: d(o, a)
      }] : [{
        test: /\.ts$/,
        plugins: d(!1, !1)
      }, {
        test: /\.mts$/,
        sourceType: "module",
        plugins: d(!1, !0)
      }, {
        test: /\.cts$/,
        sourceType: "unambiguous",
        plugins: [[d9t.default, {
          allowTopLevelThis: !0
        }], [Iue.default, f(!0)]]
      }, {
        test: /\.tsx$/,
        plugins: d(!0, !1)
      }]
    };
  });
  U4.default = g9t;
});

// ../node_modules/@babel/core/lib/config/files/module-types.js
var Y4 = g((bT) => {
  "use strict";
  Object.defineProperty(bT, "__esModule", {
    value: !0
  });
  bT.default = S9t;
  bT.supportsESM = void 0;
  var K4 = tp();
  function H4() {
    let t = require("path");
    return H4 = /* @__PURE__ */ n(function() {
      return t;
    }, "_path"), t;
  }
  n(H4, "_path");
  function Mue() {
    let t = require("url");
    return Mue = /* @__PURE__ */ n(function() {
      return t;
    }, "_url"), t;
  }
  n(Mue, "_url");
  require("module");
  function J4() {
    let t = require("semver");
    return J4 = /* @__PURE__ */ n(function() {
      return t;
    }, "_semver"), t;
  }
  n(J4, "_semver");
  function Fue() {
    let t = yo();
    return Fue = /* @__PURE__ */ n(function() {
      return t;
    }, "_debug"), t;
  }
  n(Fue, "_debug");
  var jue = bu(), TT = qh(), T9t = YL();
  function Oue(t, e, s, r, i, a, o) {
    try {
      var l = t[a](o), u = l.value;
    } catch (c) {
      return void s(c);
    }
    l.done ? e(u) : Promise.resolve(u).then(r, i);
  }
  n(Oue, "asyncGeneratorStep");
  function b9t(t) {
    return function() {
      var e = this, s = arguments;
      return new Promise(function(r, i) {
        var a = t.apply(e, s);
        function o(u) {
          Oue(a, r, i, o, l, "next", u);
        }
        n(o, "_next");
        function l(u) {
          Oue(a, r, i, o, l, "throw", u);
        }
        n(l, "_throw"), o(void 0);
      });
    };
  }
  n(b9t, "_asyncToGenerator");
  var x9t = Fue()("babel:config:loading:files:module-types");
  try {
    $4 = Vee();
  } catch {
  }
  var $4, kGs = bT.supportsESM = J4().satisfies(process.versions.node, "^12.17 || >=13.2"), V4 = /* @__PURE__ */ new Set();
  function f1(t) {
    if (V4.has(t))
      return x9t("Auto-ignoring usage of config %o.", t), {};
    let e;
    try {
      V4.add(t), e = (0, jue.endHiddenCallStack)(require)(t);
    } finally {
      V4.delete(t);
    }
    return e != null && (e.__esModule || e[Symbol.toStringTag] === "Module") ? e.default || (arguments[1] ? e : void 0) : e;
  }
  n(f1, "loadCjsDefault");
  var _ue = (0, jue.endHiddenCallStack)(function() {
    var t = b9t(function* (s) {
      let r = (0, Mue().pathToFileURL)(s).toString() + "?import";
      {
        if (!$4)
          throw new TT.default(`Internal error: Native ECMAScript modules aren't supported by this platform.
`, s);
        return yield $4(r);
      }
    });
    function e(s) {
      return t.apply(this, arguments);
    }
    return n(e, "loadMjsFromPath"), e;
  }()), Lue = {
    ".js": "unknown",
    ".mjs": "esm",
    ".cjs": "cjs",
    ".ts": "unknown",
    ".mts": "esm",
    ".cts": "cjs"
  }, Bue = /* @__PURE__ */ new Set();
  function* S9t(t, e, s, r) {
    var i;
    let a, o = H4().extname(t), l = o === ".ts" || o === ".cts" || o === ".mts", u = Lue[hasOwnProperty.call(Lue, o) ? o : ".js"];
    switch (`${e} ${u}`) {
      case "require cjs":
      case "auto cjs":
        return l ? W4(t, o, () => f1(t)) : f1(t, arguments[2]);
      case "auto unknown":
      case "require unknown":
      case "require esm":
        try {
          return l ? W4(t, o, () => f1(t)) : f1(t, arguments[2]);
        } catch (h) {
          if (h.code === "ERR_REQUIRE_ASYNC_MODULE" || h.code === "ERR_REQUIRE_CYCLE_MODULE" && Bue.has(t)) {
            var p;
            if (Bue.add(t), !((p = a) != null ? p : a = yield* (0, K4.isAsync)()))
              throw new TT.default(r, t);
          } else if (!(h.code === "ERR_REQUIRE_ESM" || u === "esm"))
            throw h;
        }
      case "auto esm":
        if ((i = a) != null ? i : a = yield* (0, K4.isAsync)()) {
          let h = l ? W4(t, o, () => _ue(t)) : _ue(t);
          return (yield* (0, K4.waitFor)(h)).default;
        }
        throw new TT.default(s, t);
      default:
        throw new Error("Internal Babel error: unreachable code.");
    }
  }
  n(S9t, "loadCodeDefault");
  function W4(t, e, s) {
    if (require.extensions[".ts"] || require.extensions[".cts"] || require.extensions[".mts"])
      return s();
    if (e !== ".cts")
      throw new TT.default(`You are using a ${e} config file, but Babel only supports transpiling .cts configs. Either:
- Use a .cts config file
- Update to Node.js 23.6.0, which has native TypeScript support
- Install ts-node to transpile ${e} files on the fly`, t);
    let r = {
      babelrc: !1,
      configFile: !1,
      sourceType: "unambiguous",
      sourceMaps: "inline",
      sourceFileName: H4().basename(t),
      presets: [[P9t(t), Object.assign({
        onlyRemoveTypeImports: !0,
        optimizeConstEnums: !0
      }, {
        allowDeclareFields: !0
      })]]
    }, i = /* @__PURE__ */ n(function(a, o) {
      if (i && o.endsWith(".cts"))
        try {
          return a._compile((0, T9t.transformFileSync)(o, Object.assign({}, r, {
            filename: o
          })).code, o);
        } catch (l) {
          let u = Wee();
          throw J4().lt(u.version, "7.21.4") && console.error("`.cts` configuration file failed to load, please try to update `@babel/preset\
-typescript`."), l;
        }
      return require.extensions[".js"](a, o);
    }, "handler");
    require.extensions[e] = i;
    try {
      return s();
    } finally {
      require.extensions[e] === i && delete require.extensions[e], i = void 0;
    }
  }
  n(W4, "ensureTsSupport");
  function P9t(t) {
    try {
      return Due();
    } catch (e) {
      if (e.code !== "MODULE_NOT_FOUND") throw e;
      let s = "You appear to be using a .cts file as Babel configuration, but the `@babel/preset-typescript` package was not found: please i\
nstall it!";
      throw process.versions.pnp && (s += `
If you are using Yarn Plug'n'Play, you may also need to add the following configuration to your .yarnrc.yml file:

packageExtensions:
	"@babel/core@*":
		peerDependencies:
			"@babel/preset-typescript": "*"
`), new TT.default(s, t);
    }
  }
  n(P9t, "getTSPreset");
});

// ../node_modules/@babel/core/lib/config/files/configuration.js
var Yue = g((rc) => {
  "use strict";
  Object.defineProperty(rc, "__esModule", {
    value: !0
  });
  rc.ROOT_CONFIG_FILENAMES = void 0;
  rc.findConfigUpwards = F9t;
  rc.findRelativeConfig = j9t;
  rc.findRootConfig = R9t;
  rc.loadConfig = q9t;
  rc.resolveShowConfigPath = U9t;
  function que() {
    let t = yo();
    return que = /* @__PURE__ */ n(function() {
      return t;
    }, "_debug"), t;
  }
  n(que, "_debug");
  function X4() {
    let t = require("fs");
    return X4 = /* @__PURE__ */ n(function() {
      return t;
    }, "_fs"), t;
  }
  n(X4, "_fs");
  function ma() {
    let t = require("path");
    return ma = /* @__PURE__ */ n(function() {
      return t;
    }, "_path"), t;
  }
  n(ma, "_path");
  function Uue() {
    let t = CG();
    return Uue = /* @__PURE__ */ n(function() {
      return t;
    }, "_json"), t;
  }
  n(Uue, "_json");
  function Kue() {
    let t = ca();
    return Kue = /* @__PURE__ */ n(function() {
      return t;
    }, "_gensync"), t;
  }
  n(Kue, "_gensync");
  var Vue = Rh(), E9t = u_(), Wue = G2(), A9t = Y4(), v9t = eL(), jo = qh(), C9t = dP();
  require("module");
  var w9t = bu(), I9t = tp(), z4 = que()("babel:config:loading:files:configuration"), $ue = rc.ROOT_CONFIG_FILENAMES = ["babel.config.js", "\
babel.config.cjs", "babel.config.mjs", "babel.config.json", "babel.config.cts"], N9t = [".babelrc", ".babelrc.js", ".babelrc.cjs", ".babelrc\
.mjs", ".babelrc.json", ".babelrc.cts"], k9t = ".babelignore", D9t = (0, Vue.makeWeakCache)(/* @__PURE__ */ n(function* (e, s) {
    return yield* [], {
      options: (0, w9t.endHiddenCallStack)(e)((0, E9t.makeConfigAPI)(s)),
      cacheNeedsConfiguration: !s.configured()
    };
  }, "runConfig"));
  function* O9t(t, e) {
    if (!X4().existsSync(t)) return null;
    let s = yield* (0, A9t.default)(t, (yield* (0, I9t.isAsync)()) ? "auto" : "require", "You appear to be using a native ECMAScript module \
configuration file, which is only supported when running Babel asynchronously or when using the Node.js `--experimental-require-module` flag\
.", "You appear to be using a configuration file that contains top-level await, which is only supported when running Babel asynchronously."),
    r = !1;
    if (typeof s == "function" && ({
      options: s,
      cacheNeedsConfiguration: r
    } = yield* D9t(s, e)), !s || typeof s != "object" || Array.isArray(s))
      throw new jo.default("Configuration should be an exported JavaScript object.", t);
    if (typeof s.then == "function")
      throw s.catch == null || s.catch(() => {
      }), new jo.default("You appear to be using an async configuration, which your current version of Babel does not support. We may add su\
pport for this in the future, but if you're on the most recent version of @babel/core and still seeing this error, then you'll need to synch\
ronously return your config.", t);
    return r && K9t(t), _9t(s, t);
  }
  n(O9t, "readConfigCode");
  var Rue = /* @__PURE__ */ new WeakMap();
  function _9t(t, e) {
    let s = Rue.get(t);
    s || Rue.set(t, s = /* @__PURE__ */ new Map());
    let r = s.get(e);
    return r || (r = {
      filepath: e,
      dirname: ma().dirname(e),
      options: t
    }, s.set(e, r)), r;
  }
  n(_9t, "buildConfigFileObject");
  var L9t = (0, Vue.makeWeakCacheSync)((t) => {
    let e = t.options.babel;
    if (e === void 0) return null;
    if (typeof e != "object" || Array.isArray(e) || e === null)
      throw new jo.default(".babel property must be an object", t.filepath);
    return {
      filepath: t.filepath,
      dirname: t.dirname,
      options: e
    };
  }), B9t = (0, Wue.makeStaticFileCache)((t, e) => {
    let s;
    try {
      s = Uue().parse(e);
    } catch (r) {
      throw new jo.default(`Error while parsing config - ${r.message}`, t);
    }
    if (!s) throw new jo.default("No config detected", t);
    if (typeof s != "object")
      throw new jo.default(`Config returned typeof ${typeof s}`, t);
    if (Array.isArray(s))
      throw new jo.default("Expected config object but found array", t);
    return delete s.$schema, {
      filepath: t,
      dirname: ma().dirname(t),
      options: s
    };
  }), M9t = (0, Wue.makeStaticFileCache)((t, e) => {
    let s = ma().dirname(t), r = e.split(`
`).map((i) => i.replace(/#.*$/, "").trim()).filter(Boolean);
    for (let i of r)
      if (i[0] === "!")
        throw new jo.default("Negation of file paths is not supported.", t);
    return {
      filepath: t,
      dirname: ma().dirname(t),
      ignore: r.map((i) => (0, v9t.default)(i, s))
    };
  });
  function F9t(t) {
    let e = t;
    for (; ; ) {
      for (let r of $ue)
        if (X4().existsSync(ma().join(e, r)))
          return e;
      let s = ma().dirname(e);
      if (e === s) break;
      e = s;
    }
    return null;
  }
  n(F9t, "findConfigUpwards");
  function* j9t(t, e, s) {
    let r = null, i = null, a = ma().dirname(t.filepath);
    for (let l of t.directories) {
      if (!r) {
        var o;
        r = yield* Hue(N9t, l, e, s, ((o = t.pkg) == null ? void 0 : o.dirname) === l ? L9t(t.pkg) : null);
      }
      if (!i) {
        let u = ma().join(l, k9t);
        i = yield* M9t(u), i && z4("Found ignore %o from %o.", i.filepath, a);
      }
    }
    return {
      config: r,
      ignore: i
    };
  }
  n(j9t, "findRelativeConfig");
  function R9t(t, e, s) {
    return Hue($ue, t, e, s);
  }
  n(R9t, "findRootConfig");
  function* Hue(t, e, s, r, i = null) {
    let o = (yield* Kue().all(t.map((l) => Jue(ma().join(e, l), s, r)))).reduce((l, u) => {
      if (u && l)
        throw new jo.default(`Multiple configuration files found. Please remove one:
 - ${ma().basename(l.filepath)}
 - ${u.filepath}
from ${e}`);
      return u || l;
    }, i);
    return o && z4("Found configuration %o from %o.", o.filepath, e), o;
  }
  n(Hue, "loadOneConfig");
  function* q9t(t, e, s, r) {
    let i = (((o, l) => (o = o.split("."), l = l.split("."), +o[0] > +l[0] || o[0] == l[0] && +o[1] >= +l[1]))(process.versions.node, "8.9") ?
    require.resolve : (o, {
      paths: [l]
    }, u = require("module")) => {
      let c = u._findPath(o, u._nodeModulePaths(l).concat(l));
      if (c) return c;
      throw c = new Error(`Cannot resolve module '${o}'`), c.code = "MODULE_NOT_FOUND", c;
    })(t, {
      paths: [e]
    }), a = yield* Jue(i, s, r);
    if (!a)
      throw new jo.default("Config file contains no configuration data", i);
    return z4("Loaded config %o from %o.", t, e), a;
  }
  n(q9t, "loadConfig");
  function Jue(t, e, s) {
    switch (ma().extname(t)) {
      case ".js":
      case ".cjs":
      case ".mjs":
      case ".ts":
      case ".cts":
      case ".mts":
        return O9t(t, {
          envName: e,
          caller: s
        });
      default:
        return B9t(t);
    }
  }
  n(Jue, "readConfig");
  function* U9t(t) {
    let e = process.env.BABEL_SHOW_CONFIG_FOR;
    if (e != null) {
      let s = ma().resolve(t, e);
      if (!(yield* C9t.stat(s)).isFile())
        throw new Error(`${s}: BABEL_SHOW_CONFIG_FOR must refer to a regular file, directories are not supported.`);
      return s;
    }
    return null;
  }
  n(U9t, "resolveShowConfigPath");
  function K9t(t) {
    throw new jo.default(`Caching was left unconfigured. Babel's plugins, presets, and .babelrc.js files can be configured
for various types of caching, using the first param of their handler functions:

module.exports = function(api) {
  // The API exposes the following:

  // Cache the returned value forever and don't call this function again.
  api.cache(true);

  // Don't cache at all. Not recommended because it will be very slow.
  api.cache(false);

  // Cached based on the value of some function. If this function returns a value different from
  // a previously-encountered value, the plugins will re-evaluate.
  var env = api.cache(() => process.env.NODE_ENV);

  // If testing for a specific env, we recommend specifics to avoid instantiating a plugin for
  // any possible NODE_ENV value that might come up during plugin execution.
  var isProd = api.cache(() => process.env.NODE_ENV === "production");

  // .cache(fn) will perform a linear search though instances to find the matching plugin based
  // based on previous instantiated plugins. If you want to recreate the plugin and discard the
  // previous instance whenever something changes, you may use:
  var isProd = api.cache.invalidate(() => process.env.NODE_ENV === "production");

  // Note, we also expose the following more-verbose versions of the above examples:
  api.cache.forever(); // api.cache(true)
  api.cache.never();   // api.cache(false)
  api.cache.using(fn); // api.cache(fn)

  // Return the value that will be cached.
  return { };
};`, t);
  }
  n(K9t, "throwConfigError");
});

// ../node_modules/@babel/core/lib/vendor/import-meta-resolve.js
var bce = g((b1) => {
  "use strict";
  Object.defineProperty(b1, "__esModule", {
    value: !0
  });
  b1.moduleResolve = Tce;
  b1.resolve = L7t;
  function Cl() {
    let t = require("assert");
    return Cl = /* @__PURE__ */ n(function() {
      return t;
    }, "_assert"), t;
  }
  n(Cl, "_assert");
  function ET() {
    let t = V9t(require("fs"), !0);
    return ET = /* @__PURE__ */ n(function() {
      return t;
    }, "_fs"), t;
  }
  n(ET, "_fs");
  function _p() {
    let t = require("process");
    return _p = /* @__PURE__ */ n(function() {
      return t;
    }, "_process"), t;
  }
  n(_p, "_process");
  function Pt() {
    let t = require("url");
    return Pt = /* @__PURE__ */ n(function() {
      return t;
    }, "_url"), t;
  }
  n(Pt, "_url");
  function y1() {
    let t = require("path");
    return y1 = /* @__PURE__ */ n(function() {
      return t;
    }, "_path"), t;
  }
  n(y1, "_path");
  function g1() {
    let t = require("module");
    return g1 = /* @__PURE__ */ n(function() {
      return t;
    }, "_module"), t;
  }
  n(g1, "_module");
  function oce() {
    let t = require("v8");
    return oce = /* @__PURE__ */ n(function() {
      return t;
    }, "_v"), t;
  }
  n(oce, "_v");
  function PT() {
    let t = require("util");
    return PT = /* @__PURE__ */ n(function() {
      return t;
    }, "_util"), t;
  }
  n(PT, "_util");
  function lce(t) {
    if (typeof WeakMap != "function") return null;
    var e = /* @__PURE__ */ new WeakMap(), s = /* @__PURE__ */ new WeakMap();
    return (lce = /* @__PURE__ */ n(function(r) {
      return r ? s : e;
    }, "_getRequireWildcardCache"))(t);
  }
  n(lce, "_getRequireWildcardCache");
  function V9t(t, e) {
    if (!e && t && t.__esModule) return t;
    if (t === null || typeof t != "object" && typeof t != "function") return { default: t };
    var s = lce(e);
    if (s && s.has(t)) return s.get(t);
    var r = { __proto__: null }, i = Object.defineProperty && Object.getOwnPropertyDescriptor;
    for (var a in t) if (a !== "default" && {}.hasOwnProperty.call(t, a)) {
      var o = i ? Object.getOwnPropertyDescriptor(t, a) : null;
      o && (o.get || o.set) ? Object.defineProperty(r, a, o) : r[a] = t[a];
    }
    return r.default = t, s && s.set(t, r), r;
  }
  n(V9t, "_interopRequireWildcard");
  var W9t = {}.hasOwnProperty, $9t = /^([A-Z][a-z\d]*)+$/, H9t = /* @__PURE__ */ new Set(["string", "function", "number", "object", "Functio\
n", "Object", "boolean", "bigint", "symbol"]), Gi = {};
  function G4(t, e = "and") {
    return t.length < 3 ? t.join(` ${e} `) : `${t.slice(0, -1).join(", ")}, ${e} ${t[t.length - 1]}`;
  }
  n(G4, "formatList");
  var uce = /* @__PURE__ */ new Map(), J9t = "__node_internal_", Xue;
  Gi.ERR_INVALID_ARG_TYPE = Za("ERR_INVALID_ARG_TYPE", (t, e, s) => {
    Cl()(typeof t == "string", "'name' must be a string"), Array.isArray(e) || (e = [e]);
    let r = "The ";
    if (t.endsWith(" argument"))
      r += `${t} `;
    else {
      let l = t.includes(".") ? "property" : "argument";
      r += `"${t}" ${l} `;
    }
    r += "must be ";
    let i = [], a = [], o = [];
    for (let l of e)
      Cl()(typeof l == "string", "All expected entries have to be of type string"), H9t.has(l) ? i.push(l.toLowerCase()) : $9t.exec(l) === null ?
      (Cl()(l !== "object", 'The value "object" should be written as "Object"'), o.push(l)) : a.push(l);
    if (a.length > 0) {
      let l = i.indexOf("object");
      l !== -1 && (i.slice(l, 1), a.push("Object"));
    }
    return i.length > 0 && (r += `${i.length > 1 ? "one of type" : "of type"} ${G4(i, "or")}`, (a.length > 0 || o.length > 0) && (r += " or ")),
    a.length > 0 && (r += `an instance of ${G4(a, "or")}`, o.length > 0 && (r += " or ")), o.length > 0 && (o.length > 1 ? r += `one of ${G4(
    o, "or")}` : (o[0].toLowerCase() !== o[0] && (r += "an "), r += `${o[0]}`)), r += `. Received ${Q9t(s)}`, r;
  }, TypeError);
  Gi.ERR_INVALID_MODULE_SPECIFIER = Za("ERR_INVALID_MODULE_SPECIFIER", (t, e, s = void 0) => `Invalid module "${t}" ${e}${s ? ` imported fro\
m ${s}` : ""}`, TypeError);
  Gi.ERR_INVALID_PACKAGE_CONFIG = Za("ERR_INVALID_PACKAGE_CONFIG", (t, e, s) => `Invalid package config ${t}${e ? ` while importing ${e}` : ""}${s ?
  `. ${s}` : ""}`, Error);
  Gi.ERR_INVALID_PACKAGE_TARGET = Za("ERR_INVALID_PACKAGE_TARGET", (t, e, s, r = !1, i = void 0) => {
    let a = typeof s == "string" && !r && s.length > 0 && !s.startsWith("./");
    return e === "." ? (Cl()(r === !1), `Invalid "exports" main target ${JSON.stringify(s)} defined in the package config ${t}package.json${i ?
    ` imported from ${i}` : ""}${a ? '; targets must start with "./"' : ""}`) : `Invalid "${r ? "imports" : "exports"}" target ${JSON.stringify(
    s)} defined for '${e}' in the package config ${t}package.json${i ? ` imported from ${i}` : ""}${a ? '; targets must start with "./"' : ""}`;
  }, Error);
  Gi.ERR_MODULE_NOT_FOUND = Za("ERR_MODULE_NOT_FOUND", (t, e, s = !1) => `Cannot find ${s ? "module" : "package"} '${t}' imported from ${e}`,
  Error);
  Gi.ERR_NETWORK_IMPORT_DISALLOWED = Za("ERR_NETWORK_IMPORT_DISALLOWED", "import of '%s' by %s is not supported: %s", Error);
  Gi.ERR_PACKAGE_IMPORT_NOT_DEFINED = Za("ERR_PACKAGE_IMPORT_NOT_DEFINED", (t, e, s) => `Package import specifier "${t}" is not defined${e ?
  ` in package ${e}package.json` : ""} imported from ${s}`, TypeError);
  Gi.ERR_PACKAGE_PATH_NOT_EXPORTED = Za("ERR_PACKAGE_PATH_NOT_EXPORTED", (t, e, s = void 0) => e === "." ? `No "exports" main defined in ${t}\
package.json${s ? ` imported from ${s}` : ""}` : `Package subpath '${e}' is not defined by "exports" in ${t}package.json${s ? ` imported fro\
m ${s}` : ""}`, Error);
  Gi.ERR_UNSUPPORTED_DIR_IMPORT = Za("ERR_UNSUPPORTED_DIR_IMPORT", "Directory import '%s' is not supported resolving ES modules imported fro\
m %s", Error);
  Gi.ERR_UNSUPPORTED_RESOLVE_REQUEST = Za("ERR_UNSUPPORTED_RESOLVE_REQUEST", 'Failed to resolve module specifier "%s" from "%s": Invalid rel\
ative URL or base scheme is not hierarchical.', TypeError);
  Gi.ERR_UNKNOWN_FILE_EXTENSION = Za("ERR_UNKNOWN_FILE_EXTENSION", (t, e) => `Unknown file extension "${t}" for ${e}`, TypeError);
  Gi.ERR_INVALID_ARG_VALUE = Za("ERR_INVALID_ARG_VALUE", (t, e, s = "is invalid") => {
    let r = (0, PT().inspect)(e);
    return r.length > 128 && (r = `${r.slice(0, 128)}...`), `The ${t.includes(".") ? "property" : "argument"} '${t}' ${s}. Received ${r}`;
  }, TypeError);
  function Za(t, e, s) {
    return uce.set(t, e), Y9t(s, t);
  }
  n(Za, "createError");
  function Y9t(t, e) {
    return s;
    function s(...r) {
      let i = Error.stackTraceLimit;
      tj() && (Error.stackTraceLimit = 0);
      let a = new t();
      tj() && (Error.stackTraceLimit = i);
      let o = G9t(e, r, a);
      return Object.defineProperties(a, {
        message: {
          value: o,
          enumerable: !1,
          writable: !0,
          configurable: !0
        },
        toString: {
          value() {
            return `${this.name} [${e}]: ${this.message}`;
          },
          enumerable: !1,
          writable: !0,
          configurable: !0
        }
      }), z9t(a), a.code = e, a;
    }
  }
  n(Y9t, "makeNodeErrorWithCode");
  function tj() {
    try {
      if (oce().startupSnapshot.isBuildingSnapshot())
        return !1;
    } catch {
    }
    let t = Object.getOwnPropertyDescriptor(Error, "stackTraceLimit");
    return t === void 0 ? Object.isExtensible(Error) : W9t.call(t, "writable") && t.writable !== void 0 ? t.writable : t.set !== void 0;
  }
  n(tj, "isErrorStackTraceLimitWritable");
  function X9t(t) {
    let e = J9t + t.name;
    return Object.defineProperty(t, "name", {
      value: e
    }), t;
  }
  n(X9t, "hideStackFrames");
  var z9t = X9t(function(t) {
    let e = tj();
    return e && (Xue = Error.stackTraceLimit, Error.stackTraceLimit = Number.POSITIVE_INFINITY), Error.captureStackTrace(t), e && (Error.stackTraceLimit =
    Xue), t;
  });
  function G9t(t, e, s) {
    let r = uce.get(t);
    if (Cl()(r !== void 0, "expected `message` to be found"), typeof r == "function")
      return Cl()(r.length <= e.length, `Code: ${t}; The provided arguments length (${e.length}) does not match the required ones (${r.length}\
).`), Reflect.apply(r, s, e);
    let i = /%[dfijoOs]/g, a = 0;
    for (; i.exec(r) !== null; ) a++;
    return Cl()(a === e.length, `Code: ${t}; The provided arguments length (${e.length}) does not match the required ones (${a}).`), e.length ===
    0 ? r : (e.unshift(r), Reflect.apply(PT().format, null, e));
  }
  n(G9t, "getMessage");
  function Q9t(t) {
    if (t == null)
      return String(t);
    if (typeof t == "function" && t.name)
      return `function ${t.name}`;
    if (typeof t == "object")
      return t.constructor && t.constructor.name ? `an instance of ${t.constructor.name}` : `${(0, PT().inspect)(t, {
        depth: -1
      })}`;
    let e = (0, PT().inspect)(t, {
      colors: !1
    });
    return e.length > 28 && (e = `${e.slice(0, 25)}...`), `type ${typeof t} (${e})`;
  }
  n(Q9t, "determineSpecificType");
  var xT = {}.hasOwnProperty, {
    ERR_INVALID_PACKAGE_CONFIG: Z9t
  } = Gi, zue = /* @__PURE__ */ new Map();
  function cce(t, {
    base: e,
    specifier: s
  }) {
    let r = zue.get(t);
    if (r)
      return r;
    let i;
    try {
      i = ET().default.readFileSync(y1().toNamespacedPath(t), "utf8");
    } catch (o) {
      let l = o;
      if (l.code !== "ENOENT")
        throw l;
    }
    let a = {
      exists: !1,
      pjsonPath: t,
      main: void 0,
      name: void 0,
      type: "none",
      exports: void 0,
      imports: void 0
    };
    if (i !== void 0) {
      let o;
      try {
        o = JSON.parse(i);
      } catch (l) {
        let u = l, c = new Z9t(t, (e ? `"${s}" from ` : "") + (0, Pt().fileURLToPath)(e || s), u.message);
        throw c.cause = u, c;
      }
      a.exists = !0, xT.call(o, "name") && typeof o.name == "string" && (a.name = o.name), xT.call(o, "main") && typeof o.main == "string" &&
      (a.main = o.main), xT.call(o, "exports") && (a.exports = o.exports), xT.call(o, "imports") && (a.imports = o.imports), xT.call(o, "typ\
e") && (o.type === "commonjs" || o.type === "module") && (a.type = o.type);
    }
    return zue.set(t, a), a;
  }
  n(cce, "read");
  function sj(t) {
    let e = new URL("package.json", t);
    for (; !e.pathname.endsWith("node_modules/package.json"); ) {
      let i = cce((0, Pt().fileURLToPath)(e), {
        specifier: t
      });
      if (i.exists)
        return i;
      let a = e;
      if (e = new URL("../package.json", e), e.pathname === a.pathname)
        break;
    }
    return {
      pjsonPath: (0, Pt().fileURLToPath)(e),
      exists: !1,
      type: "none"
    };
  }
  n(sj, "getPackageScopeConfig");
  function Gue(t) {
    return sj(t).type;
  }
  n(Gue, "getPackageType");
  var {
    ERR_UNKNOWN_FILE_EXTENSION: e7t
  } = Gi, t7t = {}.hasOwnProperty, s7t = {
    __proto__: null,
    ".cjs": "commonjs",
    ".js": "module",
    ".json": "json",
    ".mjs": "module"
  };
  function r7t(t) {
    return t && /\s*(text|application)\/javascript\s*(;\s*charset=utf-?8\s*)?/i.test(t) ? "module" : t === "application/json" ? "json" : null;
  }
  n(r7t, "mimeToFormat");
  var Que = {
    __proto__: null,
    "data:": i7t,
    "file:": a7t,
    "http:": Zue,
    "https:": Zue,
    "node:"() {
      return "builtin";
    }
  };
  function i7t(t) {
    let {
      1: e
    } = /^([^/]+\/[^;,]+)[^,]*?(;base64)?,/.exec(t.pathname) || [null, null, null];
    return r7t(e);
  }
  n(i7t, "getDataProtocolModuleFormat");
  function n7t(t) {
    let e = t.pathname, s = e.length;
    for (; s--; ) {
      let r = e.codePointAt(s);
      if (r === 47)
        return "";
      if (r === 46)
        return e.codePointAt(s - 1) === 47 ? "" : e.slice(s);
    }
    return "";
  }
  n(n7t, "extname");
  function a7t(t, e, s) {
    let r = n7t(t);
    if (r === ".js") {
      let o = Gue(t);
      return o !== "none" ? o : "commonjs";
    }
    if (r === "") {
      let o = Gue(t);
      return o === "none" || o === "commonjs" ? "commonjs" : "module";
    }
    let i = s7t[r];
    if (i) return i;
    if (s)
      return;
    let a = (0, Pt().fileURLToPath)(t);
    throw new e7t(r, a);
  }
  n(a7t, "getFileProtocolModuleFormat");
  function Zue() {
  }
  n(Zue, "getHttpProtocolModuleFormat");
  function pce(t, e) {
    let s = t.protocol;
    return t7t.call(Que, s) && Que[s](t, e, !0) || null;
  }
  n(pce, "defaultGetFormatWithoutErrors");
  var {
    ERR_INVALID_ARG_VALUE: o7t
  } = Gi, hce = Object.freeze(["node", "import"]), l7t = new Set(hce);
  function u7t() {
    return hce;
  }
  n(u7t, "getDefaultConditions");
  function c7t() {
    return l7t;
  }
  n(c7t, "getDefaultConditionsSet");
  function p7t(t) {
    if (t !== void 0 && t !== u7t()) {
      if (!Array.isArray(t))
        throw new o7t("conditions", t, "expected an array");
      return new Set(t);
    }
    return c7t();
  }
  n(p7t, "getConditionsSet");
  var d1 = RegExp.prototype[Symbol.replace], {
    ERR_NETWORK_IMPORT_DISALLOWED: Q4,
    ERR_INVALID_MODULE_SPECIFIER: T1,
    ERR_INVALID_PACKAGE_CONFIG: fce,
    ERR_INVALID_PACKAGE_TARGET: h7t,
    ERR_MODULE_NOT_FOUND: rj,
    ERR_PACKAGE_IMPORT_NOT_DEFINED: f7t,
    ERR_PACKAGE_PATH_NOT_EXPORTED: d7t,
    ERR_UNSUPPORTED_DIR_IMPORT: m7t,
    ERR_UNSUPPORTED_RESOLVE_REQUEST: ece
  } = Gi, dce = {}.hasOwnProperty, tce = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))?(\\|\/|$)/i,
  sce = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i,
  y7t = /^\.|%|\\/, m1 = /\*/g, g7t = /%2f|%5c/i, rce = /* @__PURE__ */ new Set(), T7t = /[/\\]{2}/;
  function ice(t, e, s, r, i, a, o) {
    if (_p().noDeprecation)
      return;
    let l = (0, Pt().fileURLToPath)(r), u = T7t.exec(o ? t : e) !== null;
    _p().emitWarning(`Use of deprecated ${u ? "double slash" : "leading or trailing slash matching"} resolving "${t}" for module request "${e}\
" ${e === s ? "" : `matched to "${s}" `}in the "${i ? "imports" : "exports"}" field module resolution of the package at ${l}${a ? ` imported\
 from ${(0, Pt().fileURLToPath)(a)}` : ""}.`, "DeprecationWarning", "DEP0166");
  }
  n(ice, "emitInvalidSegmentDeprecation");
  function nce(t, e, s, r) {
    if (_p().noDeprecation || pce(t, {
      parentURL: s.href
    }) !== "module") return;
    let a = (0, Pt().fileURLToPath)(t.href), o = (0, Pt().fileURLToPath)(new (Pt()).URL(".", e)), l = (0, Pt().fileURLToPath)(s);
    r ? y1().resolve(o, r) !== a && _p().emitWarning(`Package ${o} has a "main" field set to "${r}", excluding the full filename and extensi\
on to the resolved file at "${a.slice(o.length)}", imported from ${l}.
 Automatic extension resolution of the "main" field is deprecated for ES modules.`, "DeprecationWarning", "DEP0151") : _p().emitWarning(`No \
"main" or "exports" field defined in the package.json for ${o} resolving the main entry point "${a.slice(o.length)}", imported from ${l}.
Default "index" lookups for the main are deprecated for ES modules.`, "DeprecationWarning", "DEP0151");
  }
  n(nce, "emitLegacyIndexDeprecation");
  function mce(t) {
    try {
      return (0, ET().statSync)(t);
    } catch {
    }
  }
  n(mce, "tryStatSync");
  function Z4(t) {
    let e = (0, ET().statSync)(t, {
      throwIfNoEntry: !1
    }), s = e ? e.isFile() : void 0;
    return s ?? !1;
  }
  n(Z4, "fileExists");
  function b7t(t, e, s) {
    let r;
    if (e.main !== void 0) {
      if (r = new (Pt()).URL(e.main, t), Z4(r)) return r;
      let o = [`./${e.main}.js`, `./${e.main}.json`, `./${e.main}.node`, `./${e.main}/index.js`, `./${e.main}/index.json`, `./${e.main}/inde\
x.node`], l = -1;
      for (; ++l < o.length && (r = new (Pt()).URL(o[l], t), !Z4(r)); )
        r = void 0;
      if (r)
        return nce(r, t, s, e.main), r;
    }
    let i = ["./index.js", "./index.json", "./index.node"], a = -1;
    for (; ++a < i.length && (r = new (Pt()).URL(i[a], t), !Z4(r)); )
      r = void 0;
    if (r)
      return nce(r, t, s, e.main), r;
    throw new rj((0, Pt().fileURLToPath)(new (Pt()).URL(".", t)), (0, Pt().fileURLToPath)(s));
  }
  n(b7t, "legacyMainResolve");
  function x7t(t, e, s) {
    if (g7t.exec(t.pathname) !== null)
      throw new T1(t.pathname, 'must not include encoded "/" or "\\" characters', (0, Pt().fileURLToPath)(e));
    let r;
    try {
      r = (0, Pt().fileURLToPath)(t);
    } catch (a) {
      let o = a;
      throw Object.defineProperty(o, "input", {
        value: String(t)
      }), Object.defineProperty(o, "module", {
        value: String(e)
      }), o;
    }
    let i = mce(r.endsWith("/") ? r.slice(-1) : r);
    if (i && i.isDirectory()) {
      let a = new m7t(r, (0, Pt().fileURLToPath)(e));
      throw a.url = String(t), a;
    }
    if (!i || !i.isFile()) {
      let a = new rj(r || t.pathname, e && (0, Pt().fileURLToPath)(e), !0);
      throw a.url = String(t), a;
    }
    if (!s) {
      let a = (0, ET().realpathSync)(r), {
        search: o,
        hash: l
      } = t;
      t = (0, Pt().pathToFileURL)(a + (r.endsWith(y1().sep) ? "/" : "")), t.search = o, t.hash = l;
    }
    return t;
  }
  n(x7t, "finalizeResolution");
  function S7t(t, e, s) {
    return new f7t(t, e && (0, Pt().fileURLToPath)(new (Pt()).URL(".", e)), (0, Pt().fileURLToPath)(s));
  }
  n(S7t, "importNotDefined");
  function ej(t, e, s) {
    return new d7t((0, Pt().fileURLToPath)(new (Pt()).URL(".", e)), t, s && (0, Pt().fileURLToPath)(s));
  }
  n(ej, "exportsNotFound");
  function P7t(t, e, s, r, i) {
    let a = `request is not a valid match in pattern "${e}" for the "${r ? "imports" : "exports"}" resolution of ${(0, Pt().fileURLToPath)(s)}`;
    throw new T1(t, a, i && (0, Pt().fileURLToPath)(i));
  }
  n(P7t, "throwInvalidSubpath");
  function ST(t, e, s, r, i) {
    return e = typeof e == "object" && e !== null ? JSON.stringify(e, null, "") : `${e}`, new h7t((0, Pt().fileURLToPath)(new (Pt()).URL(".",
    s)), t, e, r, i && (0, Pt().fileURLToPath)(i));
  }
  n(ST, "invalidPackageTarget");
  function E7t(t, e, s, r, i, a, o, l, u) {
    if (e !== "" && !a && t[t.length - 1] !== "/") throw ST(s, t, r, o, i);
    if (!t.startsWith("./")) {
      if (o && !t.startsWith("../") && !t.startsWith("/")) {
        let f = !1;
        try {
          new (Pt()).URL(t), f = !0;
        } catch {
        }
        if (!f) {
          let d = a ? d1.call(m1, t, () => e) : t + e;
          return gce(d, r, u);
        }
      }
      throw ST(s, t, r, o, i);
    }
    if (tce.exec(t.slice(2)) !== null)
      if (sce.exec(t.slice(2)) === null) {
        if (!l) {
          let f = a ? s.replace("*", () => e) : s + e, d = a ? d1.call(m1, t, () => e) : t;
          ice(d, f, s, r, o, i, !0);
        }
      } else
        throw ST(s, t, r, o, i);
    let c = new (Pt()).URL(t, r), p = c.pathname, h = new (Pt()).URL(".", r).pathname;
    if (!p.startsWith(h)) throw ST(s, t, r, o, i);
    if (e === "") return c;
    if (tce.exec(e) !== null) {
      let f = a ? s.replace("*", () => e) : s + e;
      if (sce.exec(e) === null) {
        if (!l) {
          let d = a ? d1.call(m1, t, () => e) : t;
          ice(d, f, s, r, o, i, !1);
        }
      } else
        P7t(f, s, r, o, i);
    }
    return a ? new (Pt()).URL(d1.call(m1, c.href, () => e)) : new (Pt()).URL(e, c);
  }
  n(E7t, "resolvePackageTargetString");
  function A7t(t) {
    let e = Number(t);
    return `${e}` !== t ? !1 : e >= 0 && e < 4294967295;
  }
  n(A7t, "isArrayIndex");
  function ty(t, e, s, r, i, a, o, l, u) {
    if (typeof e == "string")
      return E7t(e, s, r, t, i, a, o, l, u);
    if (Array.isArray(e)) {
      let c = e;
      if (c.length === 0) return null;
      let p, h = -1;
      for (; ++h < c.length; ) {
        let f = c[h], d;
        try {
          d = ty(t, f, s, r, i, a, o, l, u);
        } catch (m) {
          let y = m;
          if (p = y, y.code === "ERR_INVALID_PACKAGE_TARGET") continue;
          throw m;
        }
        if (d !== void 0) {
          if (d === null) {
            p = null;
            continue;
          }
          return d;
        }
      }
      if (p == null)
        return null;
      throw p;
    }
    if (typeof e == "object" && e !== null) {
      let c = Object.getOwnPropertyNames(e), p = -1;
      for (; ++p < c.length; ) {
        let h = c[p];
        if (A7t(h))
          throw new fce((0, Pt().fileURLToPath)(t), i, '"exports" cannot contain numeric property keys.');
      }
      for (p = -1; ++p < c.length; ) {
        let h = c[p];
        if (h === "default" || u && u.has(h)) {
          let f = e[h], d = ty(t, f, s, r, i, a, o, l, u);
          if (d === void 0) continue;
          return d;
        }
      }
      return null;
    }
    if (e === null)
      return null;
    throw ST(r, e, t, o, i);
  }
  n(ty, "resolvePackageTarget");
  function v7t(t, e, s) {
    if (typeof t == "string" || Array.isArray(t)) return !0;
    if (typeof t != "object" || t === null) return !1;
    let r = Object.getOwnPropertyNames(t), i = !1, a = 0, o = -1;
    for (; ++o < r.length; ) {
      let l = r[o], u = l === "" || l[0] !== ".";
      if (a++ === 0)
        i = u;
      else if (i !== u)
        throw new fce((0, Pt().fileURLToPath)(e), s, `"exports" cannot contain some keys starting with '.' and some not. The exports object \
must either be an object of package subpath keys or an object of main entry condition name keys only.`);
    }
    return i;
  }
  n(v7t, "isConditionalExportsMainSugar");
  function C7t(t, e, s) {
    if (_p().noDeprecation)
      return;
    let r = (0, Pt().fileURLToPath)(e);
    rce.has(r + "|" + t) || (rce.add(r + "|" + t), _p().emitWarning(`Use of deprecated trailing slash pattern mapping "${t}" in the "exports\
" field module resolution of the package at ${r}${s ? ` imported from ${(0, Pt().fileURLToPath)(s)}` : ""}. Mapping specifiers ending in "/"\
 is no longer supported.`, "DeprecationWarning", "DEP0155"));
  }
  n(C7t, "emitTrailingSlashPatternDeprecation");
  function ace(t, e, s, r, i) {
    let a = s.exports;
    if (v7t(a, t, r) && (a = {
      ".": a
    }), dce.call(a, e) && !e.includes("*") && !e.endsWith("/")) {
      let p = a[e], h = ty(t, p, "", e, r, !1, !1, !1, i);
      if (h == null)
        throw ej(e, t, r);
      return h;
    }
    let o = "", l = "", u = Object.getOwnPropertyNames(a), c = -1;
    for (; ++c < u.length; ) {
      let p = u[c], h = p.indexOf("*");
      if (h !== -1 && e.startsWith(p.slice(0, h))) {
        e.endsWith("/") && C7t(e, t, r);
        let f = p.slice(h + 1);
        e.length >= p.length && e.endsWith(f) && yce(o, p) === 1 && p.lastIndexOf("*") === h && (o = p, l = e.slice(h, e.length - f.length));
      }
    }
    if (o) {
      let p = a[o], h = ty(t, p, l, o, r, !0, !1, e.endsWith("/"), i);
      if (h == null)
        throw ej(e, t, r);
      return h;
    }
    throw ej(e, t, r);
  }
  n(ace, "packageExportsResolve");
  function yce(t, e) {
    let s = t.indexOf("*"), r = e.indexOf("*"), i = s === -1 ? t.length : s + 1, a = r === -1 ? e.length : r + 1;
    return i > a ? -1 : a > i || s === -1 ? 1 : r === -1 || t.length > e.length ? -1 : e.length > t.length ? 1 : 0;
  }
  n(yce, "patternKeyCompare");
  function w7t(t, e, s) {
    if (t === "#" || t.startsWith("#/") || t.endsWith("/")) {
      let a = "is not a valid internal imports specifier name";
      throw new T1(t, a, (0, Pt().fileURLToPath)(e));
    }
    let r, i = sj(e);
    if (i.exists) {
      r = (0, Pt().pathToFileURL)(i.pjsonPath);
      let a = i.imports;
      if (a)
        if (dce.call(a, t) && !t.includes("*")) {
          let o = ty(r, a[t], "", t, e, !1, !0, !1, s);
          if (o != null)
            return o;
        } else {
          let o = "", l = "", u = Object.getOwnPropertyNames(a), c = -1;
          for (; ++c < u.length; ) {
            let p = u[c], h = p.indexOf("*");
            if (h !== -1 && t.startsWith(p.slice(0, -1))) {
              let f = p.slice(h + 1);
              t.length >= p.length && t.endsWith(f) && yce(o, p) === 1 && p.lastIndexOf("*") === h && (o = p, l = t.slice(h, t.length - f.length));
            }
          }
          if (o) {
            let p = a[o], h = ty(r, p, l, o, e, !0, !0, !1, s);
            if (h != null)
              return h;
          }
        }
    }
    throw S7t(t, r, e);
  }
  n(w7t, "packageImportsResolve");
  function I7t(t, e) {
    let s = t.indexOf("/"), r = !0, i = !1;
    t[0] === "@" && (i = !0, s === -1 || t.length === 0 ? r = !1 : s = t.indexOf("/", s + 1));
    let a = s === -1 ? t : t.slice(0, s);
    if (y7t.exec(a) !== null && (r = !1), !r)
      throw new T1(t, "is not a valid package name", (0, Pt().fileURLToPath)(e));
    let o = "." + (s === -1 ? "" : t.slice(s));
    return {
      packageName: a,
      packageSubpath: o,
      isScoped: i
    };
  }
  n(I7t, "parsePackageName");
  function gce(t, e, s) {
    if (g1().builtinModules.includes(t))
      return new (Pt()).URL("node:" + t);
    let {
      packageName: r,
      packageSubpath: i,
      isScoped: a
    } = I7t(t, e), o = sj(e);
    if (o.exists) {
      let p = (0, Pt().pathToFileURL)(o.pjsonPath);
      if (o.name === r && o.exports !== void 0 && o.exports !== null)
        return ace(p, i, o, e, s);
    }
    let l = new (Pt()).URL("./node_modules/" + r + "/package.json", e), u = (0, Pt().fileURLToPath)(l), c;
    do {
      let p = mce(u.slice(0, -13));
      if (!p || !p.isDirectory()) {
        c = u, l = new (Pt()).URL((a ? "../../../../node_modules/" : "../../../node_modules/") + r + "/package.json", l), u = (0, Pt().fileURLToPath)(
        l);
        continue;
      }
      let h = cce(u, {
        base: e,
        specifier: t
      });
      return h.exports !== void 0 && h.exports !== null ? ace(l, i, h, e, s) : i === "." ? b7t(l, h, e) : new (Pt()).URL(i, l);
    } while (u.length !== c.length);
    throw new rj(r, (0, Pt().fileURLToPath)(e), !1);
  }
  n(gce, "packageResolve");
  function N7t(t) {
    return t[0] === "." && (t.length === 1 || t[1] === "/" || t[1] === "." && (t.length === 2 || t[2] === "/"));
  }
  n(N7t, "isRelativeSpecifier");
  function ij(t) {
    return t === "" ? !1 : t[0] === "/" ? !0 : N7t(t);
  }
  n(ij, "shouldBeTreatedAsRelativeOrAbsolutePath");
  function Tce(t, e, s, r) {
    let i = e.protocol, o = i === "data:" || i === "http:" || i === "https:", l;
    if (ij(t))
      try {
        l = new (Pt()).URL(t, e);
      } catch (u) {
        let c = new ece(t, e);
        throw c.cause = u, c;
      }
    else if (i === "file:" && t[0] === "#")
      l = w7t(t, e, s);
    else
      try {
        l = new (Pt()).URL(t);
      } catch (u) {
        if (o && !g1().builtinModules.includes(t)) {
          let c = new ece(t, e);
          throw c.cause = u, c;
        }
        l = gce(t, e, s);
      }
    return Cl()(l !== void 0, "expected to be defined"), l.protocol !== "file:" ? l : x7t(l, e, r);
  }
  n(Tce, "moduleResolve");
  function k7t(t, e, s) {
    if (s) {
      let r = s.protocol;
      if (r === "http:" || r === "https:") {
        if (ij(t)) {
          let i = e?.protocol;
          if (i && i !== "https:" && i !== "http:")
            throw new Q4(t, s, "remote imports cannot import from a local location.");
          return {
            url: e?.href || ""
          };
        }
        throw g1().builtinModules.includes(t) ? new Q4(t, s, "remote imports cannot import from a local location.") : new Q4(t, s, "only rel\
ative and absolute specifiers are supported.");
      }
    }
  }
  n(k7t, "checkIfDisallowedImport");
  function D7t(t) {
    return !!(t && typeof t == "object" && "href" in t && typeof t.href == "string" && "protocol" in t && typeof t.protocol == "string" && t.
    href && t.protocol);
  }
  n(D7t, "isURL");
  function O7t(t) {
    if (t !== void 0 && typeof t != "string" && !D7t(t))
      throw new Gi.ERR_INVALID_ARG_TYPE("parentURL", ["string", "URL"], t);
  }
  n(O7t, "throwIfInvalidParentURL");
  function _7t(t, e = {}) {
    let {
      parentURL: s
    } = e;
    Cl()(s !== void 0, "expected `parentURL` to be defined"), O7t(s);
    let r;
    if (s)
      try {
        r = new (Pt()).URL(s);
      } catch {
      }
    let i, a;
    try {
      if (i = ij(t) ? new (Pt()).URL(t, r) : new (Pt()).URL(t), a = i.protocol, a === "data:")
        return {
          url: i.href,
          format: null
        };
    } catch {
    }
    let o = k7t(t, i, r);
    if (o) return o;
    if (a === void 0 && i && (a = i.protocol), a === "node:")
      return {
        url: t
      };
    if (i && i.protocol === "node:") return {
      url: t
    };
    let l = p7t(e.conditions), u = Tce(t, new (Pt()).URL(s), l, !1);
    return {
      url: u.href,
      format: pce(u, {
        parentURL: s
      })
    };
  }
  n(_7t, "defaultResolve");
  function L7t(t, e) {
    if (!e)
      throw new Error("Please pass `parent`: `import-meta-resolve` cannot ponyfill that");
    try {
      return _7t(t, {
        parentURL: e
      }).url;
    } catch (s) {
      let r = s;
      if ((r.code === "ERR_UNSUPPORTED_DIR_IMPORT" || r.code === "ERR_MODULE_NOT_FOUND") && typeof r.url == "string")
        return r.url;
      throw s;
    }
  }
  n(L7t, "resolve");
});

// ../node_modules/@babel/core/lib/config/files/plugins.js
var Ice = g((Lp) => {
  "use strict";
  Object.defineProperty(Lp, "__esModule", {
    value: !0
  });
  Lp.loadPlugin = H7t;
  Lp.loadPreset = J7t;
  Lp.resolvePreset = Lp.resolvePlugin = void 0;
  function Sce() {
    let t = yo();
    return Sce = /* @__PURE__ */ n(function() {
      return t;
    }, "_debug"), t;
  }
  n(Sce, "_debug");
  function oj() {
    let t = require("path");
    return oj = /* @__PURE__ */ n(function() {
      return t;
    }, "_path"), t;
  }
  n(oj, "_path");
  var lj = tp(), Pce = Y4();
  function aj() {
    let t = require("url");
    return aj = /* @__PURE__ */ n(function() {
      return t;
    }, "_url"), t;
  }
  n(aj, "_url");
  var B7t = bce();
  require("module");
  function Ece() {
    let t = require("fs");
    return Ece = /* @__PURE__ */ n(function() {
      return t;
    }, "_fs"), t;
  }
  n(Ece, "_fs");
  var Ace = Sce()("babel:config:loading:files:plugins"), M7t = /^module:/, F7t = /^(?!@|module:|[^/]+\/|babel-plugin-)/, j7t = /^(?!@|module:|[^/]+\/|babel-preset-)/,
  R7t = /^(@babel\/)(?!plugin-|[^/]+\/)/, q7t = /^(@babel\/)(?!preset-|[^/]+\/)/, U7t = /^(@(?!babel\/)[^/]+\/)(?![^/]*babel-plugin(?:-|\/|$)|[^/]+\/)/,
  K7t = /^(@(?!babel\/)[^/]+\/)(?![^/]*babel-preset(?:-|\/|$)|[^/]+\/)/, V7t = /^(@(?!babel$)[^/]+)$/, W7t = Lp.resolvePlugin = Cce.bind(null,
  "plugin"), $7t = Lp.resolvePreset = Cce.bind(null, "preset");
  function* H7t(t, e) {
    let {
      filepath: s,
      loader: r
    } = W7t(t, e, yield* (0, lj.isAsync)()), i = yield* wce("plugin", r, s);
    return Ace("Loaded plugin %o from %o.", t, e), {
      filepath: s,
      value: i
    };
  }
  n(H7t, "loadPlugin");
  function* J7t(t, e) {
    let {
      filepath: s,
      loader: r
    } = $7t(t, e, yield* (0, lj.isAsync)()), i = yield* wce("preset", r, s);
    return Ace("Loaded preset %o from %o.", t, e), {
      filepath: s,
      value: i
    };
  }
  n(J7t, "loadPreset");
  function nj(t, e) {
    if (oj().isAbsolute(e)) return e;
    let s = t === "preset";
    return e.replace(s ? j7t : F7t, `babel-${t}-`).replace(s ? q7t : R7t, `$1${t}-`).replace(s ? K7t : U7t, `$1babel-${t}-`).replace(V7t, `$\
1/babel-${t}`).replace(M7t, "");
  }
  n(nj, "standardizeName");
  function* vce(t, e) {
    let s = nj(t, e), {
      error: r,
      value: i
    } = yield s;
    if (!r) return i;
    if (r.code !== "MODULE_NOT_FOUND") throw r;
    s !== e && !(yield e).error && (r.message += `
- If you want to resolve "${e}", use "module:${e}"`), (yield nj(t, "@babel/" + e)).error || (r.message += `
- Did you mean "@babel/${e}"?`);
    let a = t === "preset" ? "plugin" : "preset";
    if ((yield nj(a, e)).error || (r.message += `
- Did you accidentally pass a ${a} as a ${t}?`), t === "plugin") {
      let o = s.replace("-proposal-", "-transform-");
      o !== s && !(yield o).error && (r.message += `
- Did you mean "${o}"?`);
    }
    throw r.message += `

Make sure that all the Babel plugins and presets you are using
are defined as dependencies or devDependencies in your package.json
file. It's possible that the missing plugin is loaded by a preset
you are using that forgot to add the plugin to its dependencies: you
can workaround this problem by explicitly adding the missing package
to your top-level package.json.
`, r;
  }
  n(vce, "resolveAlternativesHelper");
  function Y7t(t, e) {
    try {
      return e ? {
        error: null,
        value: (((s, r) => (s = s.split("."), r = r.split("."), +s[0] > +r[0] || s[0] == r[0] && +s[1] >= +r[1]))(process.versions.node, "8.\
9") ? require.resolve : (s, {
          paths: [r]
        }, i = require("module")) => {
          let a = i._findPath(s, i._nodeModulePaths(r).concat(r));
          if (a) return a;
          throw a = new Error(`Cannot resolve module '${s}'`), a.code = "MODULE_NOT_FOUND", a;
        })(t, {
          paths: [e]
        })
      } : {
        error: null,
        value: require.resolve(t)
      };
    } catch (s) {
      return {
        error: s,
        value: null
      };
    }
  }
  n(Y7t, "tryRequireResolve");
  function X7t(t, e) {
    try {
      return {
        error: null,
        value: (0, B7t.resolve)(t, e)
      };
    } catch (s) {
      return {
        error: s,
        value: null
      };
    }
  }
  n(X7t, "tryImportMetaResolve");
  function xce(t, e, s) {
    let r = vce(t, e), i = r.next();
    for (; !i.done; )
      i = r.next(Y7t(i.value, s));
    return {
      loader: "require",
      filepath: i.value
    };
  }
  n(xce, "resolveStandardizedNameForRequire");
  function z7t(t, e, s) {
    let r = (0, aj().pathToFileURL)(oj().join(s, "./babel-virtual-resolve-base.js")).href, i = vce(t, e), a = i.next();
    for (; !a.done; )
      a = i.next(X7t(a.value, r));
    return {
      loader: "auto",
      filepath: (0, aj().fileURLToPath)(a.value)
    };
  }
  n(z7t, "resolveStandardizedNameForImport");
  function Cce(t, e, s, r) {
    if (!Pce.supportsESM || !r)
      return xce(t, e, s);
    try {
      let i = z7t(t, e, s);
      if (!(0, Ece().existsSync)(i.filepath))
        throw Object.assign(new Error(`Could not resolve "${e}" in file ${s}.`), {
          type: "MODULE_NOT_FOUND"
        });
      return i;
    } catch (i) {
      try {
        return xce(t, e, s);
      } catch (a) {
        throw i.type === "MODULE_NOT_FOUND" ? i : a.type === "MODULE_NOT_FOUND" ? a : i;
      }
    }
  }
  n(Cce, "resolveStandardizedName");
  x1 = /* @__PURE__ */ new Set();
  var x1;
  function* wce(t, e, s) {
    if (!(yield* (0, lj.isAsync)()) && x1.has(s))
      throw new Error(`Reentrant ${t} detected trying to load "${s}". This module is not ignored and is trying to load itself while compilin\
g itself, leading to a dependency cycle. We recommend adding it to your "ignore" list in your babelrc, or to a .babelignore.`);
    try {
      return x1.add(s), yield* (0, Pce.default)(s, e, `You appear to be using a native ECMAScript module ${t}, which is only supported when \
running Babel asynchronously or when using the Node.js \`--experimental-require-module\` flag.`, `You appear to be using a ${t} that contain\
s top-level await, which is only supported when running Babel asynchronously.`, !0);
    } catch (r) {
      throw r.message = `[BABEL]: ${r.message} (While processing: ${s})`, r;
    } finally {
      x1.delete(s);
    }
  }
  n(wce, "requireModule");
});

// ../node_modules/@babel/core/lib/config/files/index.js
var f0 = g((ya) => {
  "use strict";
  Object.defineProperty(ya, "__esModule", {
    value: !0
  });
  Object.defineProperty(ya, "ROOT_CONFIG_FILENAMES", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return sy.ROOT_CONFIG_FILENAMES;
    }, "get")
  });
  Object.defineProperty(ya, "findConfigUpwards", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return sy.findConfigUpwards;
    }, "get")
  });
  Object.defineProperty(ya, "findPackageData", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return G7t.findPackageData;
    }, "get")
  });
  Object.defineProperty(ya, "findRelativeConfig", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return sy.findRelativeConfig;
    }, "get")
  });
  Object.defineProperty(ya, "findRootConfig", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return sy.findRootConfig;
    }, "get")
  });
  Object.defineProperty(ya, "loadConfig", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return sy.loadConfig;
    }, "get")
  });
  Object.defineProperty(ya, "loadPlugin", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return S1.loadPlugin;
    }, "get")
  });
  Object.defineProperty(ya, "loadPreset", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return S1.loadPreset;
    }, "get")
  });
  Object.defineProperty(ya, "resolvePlugin", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return S1.resolvePlugin;
    }, "get")
  });
  Object.defineProperty(ya, "resolvePreset", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return S1.resolvePreset;
    }, "get")
  });
  Object.defineProperty(ya, "resolveShowConfigPath", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return sy.resolveShowConfigPath;
    }, "get")
  });
  var G7t = mG(), sy = Yue(), S1 = Ice();
});

// ../node_modules/@babel/core/lib/transform.js
var kce = g((ry) => {
  "use strict";
  Object.defineProperty(ry, "__esModule", {
    value: !0
  });
  ry.transform = void 0;
  ry.transformAsync = tqt;
  ry.transformSync = eqt;
  function Nce() {
    let t = ca();
    return Nce = /* @__PURE__ */ n(function() {
      return t;
    }, "_gensync"), t;
  }
  n(Nce, "_gensync");
  var Q7t = hm(), Z7t = fE(), P1 = bu(), E1 = Nce()(/* @__PURE__ */ n(function* (e, s) {
    let r = yield* (0, Q7t.default)(s);
    return r === null ? null : yield* (0, Z7t.run)(r, e);
  }, "transform")), UGs = ry.transform = /* @__PURE__ */ n(function(e, s, r) {
    let i, a;
    if (typeof s == "function" ? (a = s, i = void 0) : (i = s, a = r), a === void 0)
      return (0, P1.beginHiddenCallStack)(E1.sync)(e, i);
    (0, P1.beginHiddenCallStack)(E1.errback)(e, i, a);
  }, "transform");
  function eqt(...t) {
    return (0, P1.beginHiddenCallStack)(E1.sync)(...t);
  }
  n(eqt, "transformSync");
  function tqt(...t) {
    return (0, P1.beginHiddenCallStack)(E1.async)(...t);
  }
  n(tqt, "transformAsync");
});

// ../node_modules/@babel/core/lib/transform-ast.js
var Oce = g((iy) => {
  "use strict";
  Object.defineProperty(iy, "__esModule", {
    value: !0
  });
  iy.transformFromAst = void 0;
  iy.transformFromAstAsync = nqt;
  iy.transformFromAstSync = iqt;
  function Dce() {
    let t = ca();
    return Dce = /* @__PURE__ */ n(function() {
      return t;
    }, "_gensync"), t;
  }
  n(Dce, "_gensync");
  var sqt = hm(), rqt = fE(), A1 = bu(), v1 = Dce()(function* (t, e, s) {
    let r = yield* (0, sqt.default)(s);
    if (r === null) return null;
    if (!t) throw new Error("No AST given");
    return yield* (0, rqt.run)(r, e, t);
  }), WGs = iy.transformFromAst = /* @__PURE__ */ n(function(e, s, r, i) {
    let a, o;
    if (typeof r == "function" ? (o = r, a = void 0) : (a = r, o = i), o === void 0)
      return (0, A1.beginHiddenCallStack)(v1.sync)(e, s, a);
    (0, A1.beginHiddenCallStack)(v1.errback)(e, s, a, o);
  }, "transformFromAst");
  function iqt(...t) {
    return (0, A1.beginHiddenCallStack)(v1.sync)(...t);
  }
  n(iqt, "transformFromAstSync");
  function nqt(...t) {
    return (0, A1.beginHiddenCallStack)(v1.async)(...t);
  }
  n(nqt, "transformFromAstAsync");
});

// ../node_modules/@babel/core/lib/parse.js
var Lce = g((ny) => {
  "use strict";
  Object.defineProperty(ny, "__esModule", {
    value: !0
  });
  ny.parse = void 0;
  ny.parseAsync = cqt;
  ny.parseSync = uqt;
  function _ce() {
    let t = ca();
    return _ce = /* @__PURE__ */ n(function() {
      return t;
    }, "_gensync"), t;
  }
  n(_ce, "_gensync");
  var aqt = hm(), oqt = OL(), lqt = wL(), C1 = bu(), w1 = _ce()(/* @__PURE__ */ n(function* (e, s) {
    let r = yield* (0, aqt.default)(s);
    return r === null ? null : yield* (0, oqt.default)(r.passes, (0, lqt.default)(r), e);
  }, "parse")), JGs = ny.parse = /* @__PURE__ */ n(function(e, s, r) {
    if (typeof s == "function" && (r = s, s = void 0), r === void 0)
      return (0, C1.beginHiddenCallStack)(w1.sync)(e, s);
    (0, C1.beginHiddenCallStack)(w1.errback)(e, s, r);
  }, "parse");
  function uqt(...t) {
    return (0, C1.beginHiddenCallStack)(w1.sync)(...t);
  }
  n(uqt, "parseSync");
  function cqt(...t) {
    return (0, C1.beginHiddenCallStack)(w1.async)(...t);
  }
  n(cqt, "parseAsync");
});

// ../node_modules/@babel/core/lib/index.js
var ni = g((es) => {
  "use strict";
  Object.defineProperty(es, "__esModule", {
    value: !0
  });
  es.DEFAULT_EXTENSIONS = void 0;
  Object.defineProperty(es, "File", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return pqt.default;
    }, "get")
  });
  Object.defineProperty(es, "buildExternalHelpers", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return hqt.default;
    }, "get")
  });
  Object.defineProperty(es, "createConfigItem", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return wl.createConfigItem;
    }, "get")
  });
  Object.defineProperty(es, "createConfigItemAsync", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return wl.createConfigItemAsync;
    }, "get")
  });
  Object.defineProperty(es, "createConfigItemSync", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return wl.createConfigItemSync;
    }, "get")
  });
  Object.defineProperty(es, "getEnv", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return fqt.getEnv;
    }, "get")
  });
  Object.defineProperty(es, "loadOptions", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return wl.loadOptions;
    }, "get")
  });
  Object.defineProperty(es, "loadOptionsAsync", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return wl.loadOptionsAsync;
    }, "get")
  });
  Object.defineProperty(es, "loadOptionsSync", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return wl.loadOptionsSync;
    }, "get")
  });
  Object.defineProperty(es, "loadPartialConfig", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return wl.loadPartialConfig;
    }, "get")
  });
  Object.defineProperty(es, "loadPartialConfigAsync", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return wl.loadPartialConfigAsync;
    }, "get")
  });
  Object.defineProperty(es, "loadPartialConfigSync", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return wl.loadPartialConfigSync;
    }, "get")
  });
  Object.defineProperty(es, "parse", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return hj.parse;
    }, "get")
  });
  Object.defineProperty(es, "parseAsync", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return hj.parseAsync;
    }, "get")
  });
  Object.defineProperty(es, "parseSync", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return hj.parseSync;
    }, "get")
  });
  es.resolvePreset = es.resolvePlugin = void 0;
  Object.defineProperty(es, "template", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Rce().default;
    }, "get")
  });
  Object.defineProperty(es, "tokTypes", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Fce().tokTypes;
    }, "get")
  });
  Object.defineProperty(es, "transform", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return uj.transform;
    }, "get")
  });
  Object.defineProperty(es, "transformAsync", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return uj.transformAsync;
    }, "get")
  });
  Object.defineProperty(es, "transformFile", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return cj.transformFile;
    }, "get")
  });
  Object.defineProperty(es, "transformFileAsync", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return cj.transformFileAsync;
    }, "get")
  });
  Object.defineProperty(es, "transformFileSync", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return cj.transformFileSync;
    }, "get")
  });
  Object.defineProperty(es, "transformFromAst", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return pj.transformFromAst;
    }, "get")
  });
  Object.defineProperty(es, "transformFromAstAsync", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return pj.transformFromAstAsync;
    }, "get")
  });
  Object.defineProperty(es, "transformFromAstSync", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return pj.transformFromAstSync;
    }, "get")
  });
  Object.defineProperty(es, "transformSync", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return uj.transformSync;
    }, "get")
  });
  Object.defineProperty(es, "traverse", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return jce().default;
    }, "get")
  });
  es.version = es.types = void 0;
  var pqt = M2(), hqt = Kz(), Bce = f0(), fqt = mL();
  function Mce() {
    let t = fe();
    return Mce = /* @__PURE__ */ n(function() {
      return t;
    }, "_types"), t;
  }
  n(Mce, "_types");
  Object.defineProperty(es, "types", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Mce();
    }, "get")
  });
  function Fce() {
    let t = Qx();
    return Fce = /* @__PURE__ */ n(function() {
      return t;
    }, "_parser"), t;
  }
  n(Fce, "_parser");
  function jce() {
    let t = Yl();
    return jce = /* @__PURE__ */ n(function() {
      return t;
    }, "_traverse"), t;
  }
  n(jce, "_traverse");
  function Rce() {
    let t = Jl();
    return Rce = /* @__PURE__ */ n(function() {
      return t;
    }, "_template"), t;
  }
  n(Rce, "_template");
  var wl = hm(), uj = kce(), cj = YL(), pj = Oce(), hj = Lce(), zGs = es.version = "7.26.9", dqt = /* @__PURE__ */ n((t, e) => Bce.resolvePlugin(
  t, e, !1).filepath, "resolvePlugin");
  es.resolvePlugin = dqt;
  var mqt = /* @__PURE__ */ n((t, e) => Bce.resolvePreset(t, e, !1).filepath, "resolvePreset");
  es.resolvePreset = mqt;
  var GGs = es.DEFAULT_EXTENSIONS = Object.freeze([".js", ".jsx", ".es6", ".es", ".mjs", ".cjs"]);
  es.OptionManager = class {
    static {
      n(this, "OptionManager");
    }
    init(e) {
      return (0, wl.loadOptionsSync)(e);
    }
  }, es.Plugin = /* @__PURE__ */ n(function(e) {
    throw new Error(`The (${e}) Babel 5 plugin is being run with an unsupported Babel version.`);
  }, "Plugin");
});

// ../node_modules/@babel/generator/lib/source-map.js
var qce = g((I1) => {
  "use strict";
  Object.defineProperty(I1, "__esModule", {
    value: !0
  });
  I1.default = void 0;
  var Bp = hh(), fj = Dc(), dj = class {
    static {
      n(this, "SourceMap");
    }
    constructor(e, s) {
      var r;
      this._map = void 0, this._rawMappings = void 0, this._sourceFileName = void 0, this._lastGenLine = 0, this._lastSourceLine = 0, this._lastSourceColumn =
      0, this._inputMap = void 0;
      let i = this._map = new Bp.GenMapping({
        sourceRoot: e.sourceRoot
      });
      if (this._sourceFileName = (r = e.sourceFileName) == null ? void 0 : r.replace(/\\/g, "/"), this._rawMappings = void 0, e.inputSourceMap) {
        this._inputMap = new fj.TraceMap(e.inputSourceMap);
        let o = this._inputMap.resolvedSources;
        if (o.length)
          for (let l = 0; l < o.length; l++) {
            var a;
            (0, Bp.setSourceContent)(i, o[l], (a = this._inputMap.sourcesContent) == null ? void 0 : a[l]);
          }
      }
      if (typeof s == "string" && !e.inputSourceMap)
        (0, Bp.setSourceContent)(i, this._sourceFileName, s);
      else if (typeof s == "object")
        for (let o of Object.keys(s))
          (0, Bp.setSourceContent)(i, o.replace(/\\/g, "/"), s[o]);
    }
    get() {
      return (0, Bp.toEncodedMap)(this._map);
    }
    getDecoded() {
      return (0, Bp.toDecodedMap)(this._map);
    }
    getRawMappings() {
      return this._rawMappings || (this._rawMappings = (0, Bp.allMappings)(this._map));
    }
    mark(e, s, r, i, a, o) {
      var l;
      this._rawMappings = void 0;
      let u;
      if (s != null)
        if (this._inputMap) {
          if (u = (0, fj.originalPositionFor)(this._inputMap, {
            line: s,
            column: r
          }), !u.name && a) {
            let c = (0, fj.originalPositionFor)(this._inputMap, a);
            c.name && (i = c.name);
          }
        } else
          u = {
            source: o?.replace(/\\/g, "/") || this._sourceFileName,
            line: s,
            column: r
          };
      (0, Bp.maybeAddMapping)(this._map, {
        name: i,
        generated: e,
        source: (l = u) == null ? void 0 : l.source,
        original: u
      });
    }
  };
  I1.default = dj;
});

// ../node_modules/@babel/generator/lib/buffer.js
var Uce = g((N1) => {
  "use strict";
  Object.defineProperty(N1, "__esModule", {
    value: !0
  });
  N1.default = void 0;
  var mj = class {
    static {
      n(this, "Buffer");
    }
    constructor(e, s) {
      this._map = null, this._buf = "", this._str = "", this._appendCount = 0, this._last = 0, this._queue = [], this._queueCursor = 0, this.
      _canMarkIdName = !0, this._indentChar = "", this._fastIndentations = [], this._position = {
        line: 1,
        column: 0
      }, this._sourcePosition = {
        identifierName: void 0,
        identifierNamePos: void 0,
        line: void 0,
        column: void 0,
        filename: void 0
      }, this._map = e, this._indentChar = s;
      for (let r = 0; r < 64; r++)
        this._fastIndentations.push(s.repeat(r));
      this._allocQueue();
    }
    _allocQueue() {
      let e = this._queue;
      for (let s = 0; s < 16; s++)
        e.push({
          char: 0,
          repeat: 1,
          line: void 0,
          column: void 0,
          identifierName: void 0,
          identifierNamePos: void 0,
          filename: ""
        });
    }
    _pushQueue(e, s, r, i, a) {
      let o = this._queueCursor;
      o === this._queue.length && this._allocQueue();
      let l = this._queue[o];
      l.char = e, l.repeat = s, l.line = r, l.column = i, l.filename = a, this._queueCursor++;
    }
    _popQueue() {
      if (this._queueCursor === 0)
        throw new Error("Cannot pop from empty queue");
      return this._queue[--this._queueCursor];
    }
    get() {
      this._flush();
      let e = this._map, s = {
        code: (this._buf + this._str).trimRight(),
        decodedMap: e?.getDecoded(),
        get __mergedMap() {
          return this.map;
        },
        get map() {
          let r = e ? e.get() : null;
          return s.map = r, r;
        },
        set map(r) {
          Object.defineProperty(s, "map", {
            value: r,
            writable: !0
          });
        },
        get rawMappings() {
          let r = e?.getRawMappings();
          return s.rawMappings = r, r;
        },
        set rawMappings(r) {
          Object.defineProperty(s, "rawMappings", {
            value: r,
            writable: !0
          });
        }
      };
      return s;
    }
    append(e, s) {
      this._flush(), this._append(e, this._sourcePosition, s);
    }
    appendChar(e) {
      this._flush(), this._appendChar(e, 1, this._sourcePosition);
    }
    queue(e) {
      if (e === 10)
        for (; this._queueCursor !== 0; ) {
          let r = this._queue[this._queueCursor - 1].char;
          if (r !== 32 && r !== 9)
            break;
          this._queueCursor--;
        }
      let s = this._sourcePosition;
      this._pushQueue(e, 1, s.line, s.column, s.filename);
    }
    queueIndentation(e) {
      e !== 0 && this._pushQueue(-1, e, void 0, void 0, void 0);
    }
    _flush() {
      let e = this._queueCursor, s = this._queue;
      for (let r = 0; r < e; r++) {
        let i = s[r];
        this._appendChar(i.char, i.repeat, i);
      }
      this._queueCursor = 0;
    }
    _appendChar(e, s, r) {
      if (this._last = e, e === -1) {
        let i = this._fastIndentations[s];
        i !== void 0 ? this._str += i : this._str += s > 1 ? this._indentChar.repeat(s) : this._indentChar;
      } else
        this._str += s > 1 ? String.fromCharCode(e).repeat(s) : String.fromCharCode(e);
      e !== 10 ? (this._mark(r.line, r.column, r.identifierName, r.identifierNamePos, r.filename), this._position.column += s) : (this._position.
      line++, this._position.column = 0), this._canMarkIdName && (r.identifierName = void 0, r.identifierNamePos = void 0);
    }
    _append(e, s, r) {
      let i = e.length, a = this._position;
      if (this._last = e.charCodeAt(i - 1), ++this._appendCount > 4096 ? (+this._str, this._buf += this._str, this._str = e, this._appendCount =
      0) : this._str += e, !r && !this._map) {
        a.column += i;
        return;
      }
      let {
        column: o,
        identifierName: l,
        identifierNamePos: u,
        filename: c
      } = s, p = s.line;
      (l != null || u != null) && this._canMarkIdName && (s.identifierName = void 0, s.identifierNamePos = void 0);
      let h = e.indexOf(`
`), f = 0;
      for (h !== 0 && this._mark(p, o, l, u, c); h !== -1; )
        a.line++, a.column = 0, f = h + 1, f < i && p !== void 0 && this._mark(++p, 0, null, null, c), h = e.indexOf(`
`, f);
      a.column += i - f;
    }
    _mark(e, s, r, i, a) {
      var o;
      (o = this._map) == null || o.mark(this._position, e, s, r, i, a);
    }
    removeTrailingNewline() {
      let e = this._queueCursor;
      e !== 0 && this._queue[e - 1].char === 10 && this._queueCursor--;
    }
    removeLastSemicolon() {
      let e = this._queueCursor;
      e !== 0 && this._queue[e - 1].char === 59 && this._queueCursor--;
    }
    getLastChar() {
      let e = this._queueCursor;
      return e !== 0 ? this._queue[e - 1].char : this._last;
    }
    getNewlineCount() {
      let e = this._queueCursor, s = 0;
      if (e === 0) return this._last === 10 ? 1 : 0;
      for (let r = e - 1; r >= 0 && this._queue[r].char === 10; r--)
        s++;
      return s === e && this._last === 10 ? s + 1 : s;
    }
    endsWithCharAndNewline() {
      let e = this._queue, s = this._queueCursor;
      if (s !== 0)
        return e[s - 1].char !== 10 ? void 0 : s > 1 ? e[s - 2].char : this._last;
    }
    hasContent() {
      return this._queueCursor !== 0 || !!this._last;
    }
    exactSource(e, s) {
      if (!this._map) {
        s();
        return;
      }
      this.source("start", e);
      let r = e.identifierName, i = this._sourcePosition;
      r && (this._canMarkIdName = !1, i.identifierName = r), s(), r && (this._canMarkIdName = !0, i.identifierName = void 0, i.identifierNamePos =
      void 0), this.source("end", e);
    }
    source(e, s) {
      this._map && this._normalizePosition(e, s, 0);
    }
    sourceWithOffset(e, s, r) {
      this._map && this._normalizePosition(e, s, r);
    }
    _normalizePosition(e, s, r) {
      let i = s[e], a = this._sourcePosition;
      i && (a.line = i.line, a.column = Math.max(i.column + r, 0), a.filename = s.filename);
    }
    getCurrentColumn() {
      let e = this._queue, s = this._queueCursor, r = -1, i = 0;
      for (let a = 0; a < s; a++) {
        let o = e[a];
        o.char === 10 && (r = i), i += o.repeat;
      }
      return r === -1 ? this._position.column + i : i - 1 - r;
    }
    getCurrentLine() {
      let e = 0, s = this._queue;
      for (let r = 0; r < this._queueCursor; r++)
        s[r].char === 10 && e++;
      return this._position.line + e;
    }
  };
  N1.default = mj;
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/utils/shallowEqual.js
var k1 = g((yj) => {
  "use strict";
  Object.defineProperty(yj, "__esModule", {
    value: !0
  });
  yj.default = yqt;
  function yqt(t, e) {
    let s = Object.keys(e);
    for (let r of s)
      if (t[r] !== e[r])
        return !1;
    return !0;
  }
  n(yqt, "shallowEqual");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/utils/deprecationWarning.js
var AT = g((gj) => {
  "use strict";
  Object.defineProperty(gj, "__esModule", {
    value: !0
  });
  gj.default = gqt;
  var Kce = /* @__PURE__ */ new Set();
  function gqt(t, e, s = "") {
    if (Kce.has(t)) return;
    Kce.add(t);
    let {
      internal: r,
      trace: i
    } = Tqt(1, 2);
    r || console.warn(`${s}\`${t}\` has been deprecated, please migrate to \`${e}\`
${i}`);
  }
  n(gqt, "deprecationWarning");
  function Tqt(t, e) {
    let {
      stackTraceLimit: s,
      prepareStackTrace: r
    } = Error, i;
    if (Error.stackTraceLimit = 1 + t + e, Error.prepareStackTrace = function(o, l) {
      i = l;
    }, new Error().stack, Error.stackTraceLimit = s, Error.prepareStackTrace = r, !i) return {
      internal: !1,
      trace: ""
    };
    let a = i.slice(1 + t, 1 + t + e);
    return {
      internal: /[\\/]@babel[\\/]/.test(a[1].getFileName()),
      trace: a.map((o) => `    at ${o}`).join(`
`)
    };
  }
  n(Tqt, "captureShortStackTrace");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/generated/index.js
var fi = g((N) => {
  "use strict";
  Object.defineProperty(N, "__esModule", {
    value: !0
  });
  N.isAccessor = _$t;
  N.isAnyTypeAnnotation = ZUt;
  N.isArgumentPlaceholder = IVt;
  N.isArrayExpression = bqt;
  N.isArrayPattern = gUt;
  N.isArrayTypeAnnotation = eKt;
  N.isArrowFunctionExpression = TUt;
  N.isAssignmentExpression = xqt;
  N.isAssignmentPattern = yUt;
  N.isAwaitExpression = UUt;
  N.isBigIntLiteral = VUt;
  N.isBinary = s$t;
  N.isBinaryExpression = Sqt;
  N.isBindExpression = NVt;
  N.isBlock = n$t;
  N.isBlockParent = i$t;
  N.isBlockStatement = vqt;
  N.isBooleanLiteral = Hqt;
  N.isBooleanLiteralTypeAnnotation = sKt;
  N.isBooleanTypeAnnotation = tKt;
  N.isBreakStatement = Cqt;
  N.isCallExpression = wqt;
  N.isCatchClause = Iqt;
  N.isClass = k$t;
  N.isClassAccessorProperty = YUt;
  N.isClassBody = bUt;
  N.isClassDeclaration = SUt;
  N.isClassExpression = xUt;
  N.isClassImplements = iKt;
  N.isClassMethod = _Ut;
  N.isClassPrivateMethod = zUt;
  N.isClassPrivateProperty = XUt;
  N.isClassProperty = JUt;
  N.isCompletionStatement = l$t;
  N.isConditional = u$t;
  N.isConditionalExpression = Nqt;
  N.isContinueStatement = kqt;
  N.isDebuggerStatement = Dqt;
  N.isDecimalLiteral = MVt;
  N.isDeclaration = T$t;
  N.isDeclareClass = nKt;
  N.isDeclareExportAllDeclaration = dKt;
  N.isDeclareExportDeclaration = fKt;
  N.isDeclareFunction = aKt;
  N.isDeclareInterface = oKt;
  N.isDeclareModule = lKt;
  N.isDeclareModuleExports = uKt;
  N.isDeclareOpaqueType = pKt;
  N.isDeclareTypeAlias = cKt;
  N.isDeclareVariable = hKt;
  N.isDeclaredPredicate = mKt;
  N.isDecorator = DVt;
  N.isDirective = Eqt;
  N.isDirectiveLiteral = Aqt;
  N.isDoExpression = OVt;
  N.isDoWhileStatement = Oqt;
  N.isEmptyStatement = _qt;
  N.isEmptyTypeAnnotation = CKt;
  N.isEnumBody = q$t;
  N.isEnumBooleanBody = eVt;
  N.isEnumBooleanMember = iVt;
  N.isEnumDeclaration = ZKt;
  N.isEnumDefaultedMember = oVt;
  N.isEnumMember = U$t;
  N.isEnumNumberBody = tVt;
  N.isEnumNumberMember = nVt;
  N.isEnumStringBody = sVt;
  N.isEnumStringMember = aVt;
  N.isEnumSymbolBody = rVt;
  N.isExistsTypeAnnotation = yKt;
  N.isExportAllDeclaration = PUt;
  N.isExportDeclaration = D$t;
  N.isExportDefaultDeclaration = EUt;
  N.isExportDefaultSpecifier = _Vt;
  N.isExportNamedDeclaration = AUt;
  N.isExportNamespaceSpecifier = WUt;
  N.isExportSpecifier = vUt;
  N.isExpression = t$t;
  N.isExpressionStatement = Lqt;
  N.isExpressionWrapper = h$t;
  N.isFile = Bqt;
  N.isFlow = B$t;
  N.isFlowBaseAnnotation = F$t;
  N.isFlowDeclaration = j$t;
  N.isFlowPredicate = R$t;
  N.isFlowType = M$t;
  N.isFor = f$t;
  N.isForInStatement = Mqt;
  N.isForOfStatement = CUt;
  N.isForStatement = Fqt;
  N.isForXStatement = d$t;
  N.isFunction = m$t;
  N.isFunctionDeclaration = jqt;
  N.isFunctionExpression = Rqt;
  N.isFunctionParent = y$t;
  N.isFunctionTypeAnnotation = gKt;
  N.isFunctionTypeParam = TKt;
  N.isGenericTypeAnnotation = bKt;
  N.isIdentifier = qqt;
  N.isIfStatement = Uqt;
  N.isImmutable = E$t;
  N.isImport = KUt;
  N.isImportAttribute = kVt;
  N.isImportDeclaration = wUt;
  N.isImportDefaultSpecifier = IUt;
  N.isImportExpression = DUt;
  N.isImportNamespaceSpecifier = NUt;
  N.isImportOrExportDeclaration = Vce;
  N.isImportSpecifier = kUt;
  N.isIndexedAccessType = lVt;
  N.isInferredPredicate = xKt;
  N.isInterfaceDeclaration = PKt;
  N.isInterfaceExtends = SKt;
  N.isInterfaceTypeAnnotation = EKt;
  N.isInterpreterDirective = Pqt;
  N.isIntersectionTypeAnnotation = AKt;
  N.isJSX = K$t;
  N.isJSXAttribute = cVt;
  N.isJSXClosingElement = pVt;
  N.isJSXClosingFragment = AVt;
  N.isJSXElement = hVt;
  N.isJSXEmptyExpression = fVt;
  N.isJSXExpressionContainer = dVt;
  N.isJSXFragment = PVt;
  N.isJSXIdentifier = yVt;
  N.isJSXMemberExpression = gVt;
  N.isJSXNamespacedName = TVt;
  N.isJSXOpeningElement = bVt;
  N.isJSXOpeningFragment = EVt;
  N.isJSXSpreadAttribute = xVt;
  N.isJSXSpreadChild = mVt;
  N.isJSXText = SVt;
  N.isLVal = x$t;
  N.isLabeledStatement = Kqt;
  N.isLiteral = P$t;
  N.isLogicalExpression = Yqt;
  N.isLoop = c$t;
  N.isMemberExpression = Xqt;
  N.isMetaProperty = OUt;
  N.isMethod = v$t;
  N.isMiscellaneous = V$t;
  N.isMixedTypeAnnotation = vKt;
  N.isModuleDeclaration = Q$t;
  N.isModuleExpression = FVt;
  N.isModuleSpecifier = O$t;
  N.isNewExpression = zqt;
  N.isNoop = vVt;
  N.isNullLiteral = $qt;
  N.isNullLiteralTypeAnnotation = rKt;
  N.isNullableTypeAnnotation = wKt;
  N.isNumberLiteral = Y$t;
  N.isNumberLiteralTypeAnnotation = IKt;
  N.isNumberTypeAnnotation = NKt;
  N.isNumericLiteral = Wqt;
  N.isObjectExpression = Qqt;
  N.isObjectMember = C$t;
  N.isObjectMethod = Zqt;
  N.isObjectPattern = LUt;
  N.isObjectProperty = eUt;
  N.isObjectTypeAnnotation = kKt;
  N.isObjectTypeCallProperty = OKt;
  N.isObjectTypeIndexer = _Kt;
  N.isObjectTypeInternalSlot = DKt;
  N.isObjectTypeProperty = LKt;
  N.isObjectTypeSpreadProperty = BKt;
  N.isOpaqueType = MKt;
  N.isOptionalCallExpression = HUt;
  N.isOptionalIndexedAccessType = uVt;
  N.isOptionalMemberExpression = $Ut;
  N.isParenthesizedExpression = iUt;
  N.isPattern = N$t;
  N.isPatternLike = b$t;
  N.isPipelineBareFunction = qVt;
  N.isPipelinePrimaryTopicReference = UVt;
  N.isPipelineTopicExpression = RVt;
  N.isPlaceholder = CVt;
  N.isPrivate = L$t;
  N.isPrivateName = GUt;
  N.isProgram = Gqt;
  N.isProperty = w$t;
  N.isPureish = g$t;
  N.isQualifiedTypeIdentifier = FKt;
  N.isRecordExpression = LVt;
  N.isRegExpLiteral = Jqt;
  N.isRegexLiteral = X$t;
  N.isRestElement = tUt;
  N.isRestProperty = z$t;
  N.isReturnStatement = sUt;
  N.isScopable = r$t;
  N.isSequenceExpression = rUt;
  N.isSpreadElement = BUt;
  N.isSpreadProperty = G$t;
  N.isStandardized = e$t;
  N.isStatement = a$t;
  N.isStaticBlock = QUt;
  N.isStringLiteral = Vqt;
  N.isStringLiteralTypeAnnotation = jKt;
  N.isStringTypeAnnotation = RKt;
  N.isSuper = MUt;
  N.isSwitchCase = nUt;
  N.isSwitchStatement = aUt;
  N.isSymbolTypeAnnotation = qKt;
  N.isTSAnyKeyword = GVt;
  N.isTSArrayType = gWt;
  N.isTSAsExpression = MWt;
  N.isTSBaseType = J$t;
  N.isTSBigIntKeyword = ZVt;
  N.isTSBooleanKeyword = QVt;
  N.isTSCallSignatureDeclaration = HVt;
  N.isTSConditionalType = AWt;
  N.isTSConstructSignatureDeclaration = JVt;
  N.isTSConstructorType = hWt;
  N.isTSDeclareFunction = VVt;
  N.isTSDeclareMethod = WVt;
  N.isTSEntityName = S$t;
  N.isTSEnumBody = RWt;
  N.isTSEnumDeclaration = qWt;
  N.isTSEnumMember = UWt;
  N.isTSExportAssignment = YWt;
  N.isTSExpressionWithTypeArguments = DWt;
  N.isTSExternalModuleReference = HWt;
  N.isTSFunctionType = pWt;
  N.isTSImportEqualsDeclaration = $Wt;
  N.isTSImportType = WWt;
  N.isTSIndexSignature = zVt;
  N.isTSIndexedAccessType = IWt;
  N.isTSInferType = vWt;
  N.isTSInstantiationExpression = BWt;
  N.isTSInterfaceBody = _Wt;
  N.isTSInterfaceDeclaration = OWt;
  N.isTSIntersectionType = EWt;
  N.isTSIntrinsicKeyword = eWt;
  N.isTSLiteralType = kWt;
  N.isTSMappedType = NWt;
  N.isTSMethodSignature = XVt;
  N.isTSModuleBlock = VWt;
  N.isTSModuleDeclaration = KWt;
  N.isTSNamedTupleMember = SWt;
  N.isTSNamespaceExportDeclaration = XWt;
  N.isTSNeverKeyword = tWt;
  N.isTSNonNullExpression = JWt;
  N.isTSNullKeyword = sWt;
  N.isTSNumberKeyword = rWt;
  N.isTSObjectKeyword = iWt;
  N.isTSOptionalType = bWt;
  N.isTSParameterProperty = KVt;
  N.isTSParenthesizedType = CWt;
  N.isTSPropertySignature = YVt;
  N.isTSQualifiedName = $Vt;
  N.isTSRestType = xWt;
  N.isTSSatisfiesExpression = FWt;
  N.isTSStringKeyword = nWt;
  N.isTSSymbolKeyword = aWt;
  N.isTSThisType = cWt;
  N.isTSTupleType = TWt;
  N.isTSType = H$t;
  N.isTSTypeAliasDeclaration = LWt;
  N.isTSTypeAnnotation = zWt;
  N.isTSTypeAssertion = jWt;
  N.isTSTypeElement = $$t;
  N.isTSTypeLiteral = yWt;
  N.isTSTypeOperator = wWt;
  N.isTSTypeParameter = ZWt;
  N.isTSTypeParameterDeclaration = QWt;
  N.isTSTypeParameterInstantiation = GWt;
  N.isTSTypePredicate = dWt;
  N.isTSTypeQuery = mWt;
  N.isTSTypeReference = fWt;
  N.isTSUndefinedKeyword = oWt;
  N.isTSUnionType = PWt;
  N.isTSUnknownKeyword = lWt;
  N.isTSVoidKeyword = uWt;
  N.isTaggedTemplateExpression = FUt;
  N.isTemplateElement = jUt;
  N.isTemplateLiteral = RUt;
  N.isTerminatorless = o$t;
  N.isThisExpression = oUt;
  N.isThisTypeAnnotation = UKt;
  N.isThrowStatement = lUt;
  N.isTopicReference = jVt;
  N.isTryStatement = uUt;
  N.isTupleExpression = BVt;
  N.isTupleTypeAnnotation = KKt;
  N.isTypeAlias = WKt;
  N.isTypeAnnotation = $Kt;
  N.isTypeCastExpression = HKt;
  N.isTypeParameter = JKt;
  N.isTypeParameterDeclaration = YKt;
  N.isTypeParameterInstantiation = XKt;
  N.isTypeScript = W$t;
  N.isTypeofTypeAnnotation = VKt;
  N.isUnaryExpression = cUt;
  N.isUnaryLike = I$t;
  N.isUnionTypeAnnotation = zKt;
  N.isUpdateExpression = pUt;
  N.isUserWhitespacable = A$t;
  N.isV8IntrinsicIdentifier = wVt;
  N.isVariableDeclaration = hUt;
  N.isVariableDeclarator = fUt;
  N.isVariance = GKt;
  N.isVoidTypeAnnotation = QKt;
  N.isWhile = p$t;
  N.isWhileStatement = dUt;
  N.isWithStatement = mUt;
  N.isYieldExpression = qUt;
  var F = k1(), vT = AT();
  function bqt(t, e) {
    return !t || t.type !== "ArrayExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(bqt, "isArrayExpression");
  function xqt(t, e) {
    return !t || t.type !== "AssignmentExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(xqt, "isAssignmentExpression");
  function Sqt(t, e) {
    return !t || t.type !== "BinaryExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Sqt, "isBinaryExpression");
  function Pqt(t, e) {
    return !t || t.type !== "InterpreterDirective" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Pqt, "isInterpreterDirective");
  function Eqt(t, e) {
    return !t || t.type !== "Directive" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Eqt, "isDirective");
  function Aqt(t, e) {
    return !t || t.type !== "DirectiveLiteral" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Aqt, "isDirectiveLiteral");
  function vqt(t, e) {
    return !t || t.type !== "BlockStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(vqt, "isBlockStatement");
  function Cqt(t, e) {
    return !t || t.type !== "BreakStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Cqt, "isBreakStatement");
  function wqt(t, e) {
    return !t || t.type !== "CallExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(wqt, "isCallExpression");
  function Iqt(t, e) {
    return !t || t.type !== "CatchClause" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Iqt, "isCatchClause");
  function Nqt(t, e) {
    return !t || t.type !== "ConditionalExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Nqt, "isConditionalExpression");
  function kqt(t, e) {
    return !t || t.type !== "ContinueStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(kqt, "isContinueStatement");
  function Dqt(t, e) {
    return !t || t.type !== "DebuggerStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Dqt, "isDebuggerStatement");
  function Oqt(t, e) {
    return !t || t.type !== "DoWhileStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Oqt, "isDoWhileStatement");
  function _qt(t, e) {
    return !t || t.type !== "EmptyStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(_qt, "isEmptyStatement");
  function Lqt(t, e) {
    return !t || t.type !== "ExpressionStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Lqt, "isExpressionStatement");
  function Bqt(t, e) {
    return !t || t.type !== "File" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Bqt, "isFile");
  function Mqt(t, e) {
    return !t || t.type !== "ForInStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Mqt, "isForInStatement");
  function Fqt(t, e) {
    return !t || t.type !== "ForStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Fqt, "isForStatement");
  function jqt(t, e) {
    return !t || t.type !== "FunctionDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(jqt, "isFunctionDeclaration");
  function Rqt(t, e) {
    return !t || t.type !== "FunctionExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Rqt, "isFunctionExpression");
  function qqt(t, e) {
    return !t || t.type !== "Identifier" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(qqt, "isIdentifier");
  function Uqt(t, e) {
    return !t || t.type !== "IfStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Uqt, "isIfStatement");
  function Kqt(t, e) {
    return !t || t.type !== "LabeledStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Kqt, "isLabeledStatement");
  function Vqt(t, e) {
    return !t || t.type !== "StringLiteral" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Vqt, "isStringLiteral");
  function Wqt(t, e) {
    return !t || t.type !== "NumericLiteral" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Wqt, "isNumericLiteral");
  function $qt(t, e) {
    return !t || t.type !== "NullLiteral" ? !1 : e == null || (0, F.default)(t, e);
  }
  n($qt, "isNullLiteral");
  function Hqt(t, e) {
    return !t || t.type !== "BooleanLiteral" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Hqt, "isBooleanLiteral");
  function Jqt(t, e) {
    return !t || t.type !== "RegExpLiteral" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Jqt, "isRegExpLiteral");
  function Yqt(t, e) {
    return !t || t.type !== "LogicalExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Yqt, "isLogicalExpression");
  function Xqt(t, e) {
    return !t || t.type !== "MemberExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Xqt, "isMemberExpression");
  function zqt(t, e) {
    return !t || t.type !== "NewExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(zqt, "isNewExpression");
  function Gqt(t, e) {
    return !t || t.type !== "Program" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Gqt, "isProgram");
  function Qqt(t, e) {
    return !t || t.type !== "ObjectExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Qqt, "isObjectExpression");
  function Zqt(t, e) {
    return !t || t.type !== "ObjectMethod" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Zqt, "isObjectMethod");
  function eUt(t, e) {
    return !t || t.type !== "ObjectProperty" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(eUt, "isObjectProperty");
  function tUt(t, e) {
    return !t || t.type !== "RestElement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(tUt, "isRestElement");
  function sUt(t, e) {
    return !t || t.type !== "ReturnStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(sUt, "isReturnStatement");
  function rUt(t, e) {
    return !t || t.type !== "SequenceExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(rUt, "isSequenceExpression");
  function iUt(t, e) {
    return !t || t.type !== "ParenthesizedExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(iUt, "isParenthesizedExpression");
  function nUt(t, e) {
    return !t || t.type !== "SwitchCase" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(nUt, "isSwitchCase");
  function aUt(t, e) {
    return !t || t.type !== "SwitchStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(aUt, "isSwitchStatement");
  function oUt(t, e) {
    return !t || t.type !== "ThisExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(oUt, "isThisExpression");
  function lUt(t, e) {
    return !t || t.type !== "ThrowStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(lUt, "isThrowStatement");
  function uUt(t, e) {
    return !t || t.type !== "TryStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(uUt, "isTryStatement");
  function cUt(t, e) {
    return !t || t.type !== "UnaryExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(cUt, "isUnaryExpression");
  function pUt(t, e) {
    return !t || t.type !== "UpdateExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(pUt, "isUpdateExpression");
  function hUt(t, e) {
    return !t || t.type !== "VariableDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(hUt, "isVariableDeclaration");
  function fUt(t, e) {
    return !t || t.type !== "VariableDeclarator" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(fUt, "isVariableDeclarator");
  function dUt(t, e) {
    return !t || t.type !== "WhileStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(dUt, "isWhileStatement");
  function mUt(t, e) {
    return !t || t.type !== "WithStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(mUt, "isWithStatement");
  function yUt(t, e) {
    return !t || t.type !== "AssignmentPattern" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(yUt, "isAssignmentPattern");
  function gUt(t, e) {
    return !t || t.type !== "ArrayPattern" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(gUt, "isArrayPattern");
  function TUt(t, e) {
    return !t || t.type !== "ArrowFunctionExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(TUt, "isArrowFunctionExpression");
  function bUt(t, e) {
    return !t || t.type !== "ClassBody" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(bUt, "isClassBody");
  function xUt(t, e) {
    return !t || t.type !== "ClassExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(xUt, "isClassExpression");
  function SUt(t, e) {
    return !t || t.type !== "ClassDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(SUt, "isClassDeclaration");
  function PUt(t, e) {
    return !t || t.type !== "ExportAllDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(PUt, "isExportAllDeclaration");
  function EUt(t, e) {
    return !t || t.type !== "ExportDefaultDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(EUt, "isExportDefaultDeclaration");
  function AUt(t, e) {
    return !t || t.type !== "ExportNamedDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(AUt, "isExportNamedDeclaration");
  function vUt(t, e) {
    return !t || t.type !== "ExportSpecifier" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(vUt, "isExportSpecifier");
  function CUt(t, e) {
    return !t || t.type !== "ForOfStatement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(CUt, "isForOfStatement");
  function wUt(t, e) {
    return !t || t.type !== "ImportDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(wUt, "isImportDeclaration");
  function IUt(t, e) {
    return !t || t.type !== "ImportDefaultSpecifier" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(IUt, "isImportDefaultSpecifier");
  function NUt(t, e) {
    return !t || t.type !== "ImportNamespaceSpecifier" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(NUt, "isImportNamespaceSpecifier");
  function kUt(t, e) {
    return !t || t.type !== "ImportSpecifier" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(kUt, "isImportSpecifier");
  function DUt(t, e) {
    return !t || t.type !== "ImportExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(DUt, "isImportExpression");
  function OUt(t, e) {
    return !t || t.type !== "MetaProperty" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(OUt, "isMetaProperty");
  function _Ut(t, e) {
    return !t || t.type !== "ClassMethod" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(_Ut, "isClassMethod");
  function LUt(t, e) {
    return !t || t.type !== "ObjectPattern" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(LUt, "isObjectPattern");
  function BUt(t, e) {
    return !t || t.type !== "SpreadElement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(BUt, "isSpreadElement");
  function MUt(t, e) {
    return !t || t.type !== "Super" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(MUt, "isSuper");
  function FUt(t, e) {
    return !t || t.type !== "TaggedTemplateExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(FUt, "isTaggedTemplateExpression");
  function jUt(t, e) {
    return !t || t.type !== "TemplateElement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(jUt, "isTemplateElement");
  function RUt(t, e) {
    return !t || t.type !== "TemplateLiteral" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(RUt, "isTemplateLiteral");
  function qUt(t, e) {
    return !t || t.type !== "YieldExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(qUt, "isYieldExpression");
  function UUt(t, e) {
    return !t || t.type !== "AwaitExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(UUt, "isAwaitExpression");
  function KUt(t, e) {
    return !t || t.type !== "Import" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(KUt, "isImport");
  function VUt(t, e) {
    return !t || t.type !== "BigIntLiteral" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(VUt, "isBigIntLiteral");
  function WUt(t, e) {
    return !t || t.type !== "ExportNamespaceSpecifier" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(WUt, "isExportNamespaceSpecifier");
  function $Ut(t, e) {
    return !t || t.type !== "OptionalMemberExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n($Ut, "isOptionalMemberExpression");
  function HUt(t, e) {
    return !t || t.type !== "OptionalCallExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(HUt, "isOptionalCallExpression");
  function JUt(t, e) {
    return !t || t.type !== "ClassProperty" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(JUt, "isClassProperty");
  function YUt(t, e) {
    return !t || t.type !== "ClassAccessorProperty" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(YUt, "isClassAccessorProperty");
  function XUt(t, e) {
    return !t || t.type !== "ClassPrivateProperty" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(XUt, "isClassPrivateProperty");
  function zUt(t, e) {
    return !t || t.type !== "ClassPrivateMethod" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(zUt, "isClassPrivateMethod");
  function GUt(t, e) {
    return !t || t.type !== "PrivateName" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(GUt, "isPrivateName");
  function QUt(t, e) {
    return !t || t.type !== "StaticBlock" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(QUt, "isStaticBlock");
  function ZUt(t, e) {
    return !t || t.type !== "AnyTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(ZUt, "isAnyTypeAnnotation");
  function eKt(t, e) {
    return !t || t.type !== "ArrayTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(eKt, "isArrayTypeAnnotation");
  function tKt(t, e) {
    return !t || t.type !== "BooleanTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(tKt, "isBooleanTypeAnnotation");
  function sKt(t, e) {
    return !t || t.type !== "BooleanLiteralTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(sKt, "isBooleanLiteralTypeAnnotation");
  function rKt(t, e) {
    return !t || t.type !== "NullLiteralTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(rKt, "isNullLiteralTypeAnnotation");
  function iKt(t, e) {
    return !t || t.type !== "ClassImplements" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(iKt, "isClassImplements");
  function nKt(t, e) {
    return !t || t.type !== "DeclareClass" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(nKt, "isDeclareClass");
  function aKt(t, e) {
    return !t || t.type !== "DeclareFunction" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(aKt, "isDeclareFunction");
  function oKt(t, e) {
    return !t || t.type !== "DeclareInterface" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(oKt, "isDeclareInterface");
  function lKt(t, e) {
    return !t || t.type !== "DeclareModule" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(lKt, "isDeclareModule");
  function uKt(t, e) {
    return !t || t.type !== "DeclareModuleExports" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(uKt, "isDeclareModuleExports");
  function cKt(t, e) {
    return !t || t.type !== "DeclareTypeAlias" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(cKt, "isDeclareTypeAlias");
  function pKt(t, e) {
    return !t || t.type !== "DeclareOpaqueType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(pKt, "isDeclareOpaqueType");
  function hKt(t, e) {
    return !t || t.type !== "DeclareVariable" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(hKt, "isDeclareVariable");
  function fKt(t, e) {
    return !t || t.type !== "DeclareExportDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(fKt, "isDeclareExportDeclaration");
  function dKt(t, e) {
    return !t || t.type !== "DeclareExportAllDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(dKt, "isDeclareExportAllDeclaration");
  function mKt(t, e) {
    return !t || t.type !== "DeclaredPredicate" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(mKt, "isDeclaredPredicate");
  function yKt(t, e) {
    return !t || t.type !== "ExistsTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(yKt, "isExistsTypeAnnotation");
  function gKt(t, e) {
    return !t || t.type !== "FunctionTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(gKt, "isFunctionTypeAnnotation");
  function TKt(t, e) {
    return !t || t.type !== "FunctionTypeParam" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(TKt, "isFunctionTypeParam");
  function bKt(t, e) {
    return !t || t.type !== "GenericTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(bKt, "isGenericTypeAnnotation");
  function xKt(t, e) {
    return !t || t.type !== "InferredPredicate" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(xKt, "isInferredPredicate");
  function SKt(t, e) {
    return !t || t.type !== "InterfaceExtends" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(SKt, "isInterfaceExtends");
  function PKt(t, e) {
    return !t || t.type !== "InterfaceDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(PKt, "isInterfaceDeclaration");
  function EKt(t, e) {
    return !t || t.type !== "InterfaceTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(EKt, "isInterfaceTypeAnnotation");
  function AKt(t, e) {
    return !t || t.type !== "IntersectionTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(AKt, "isIntersectionTypeAnnotation");
  function vKt(t, e) {
    return !t || t.type !== "MixedTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(vKt, "isMixedTypeAnnotation");
  function CKt(t, e) {
    return !t || t.type !== "EmptyTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(CKt, "isEmptyTypeAnnotation");
  function wKt(t, e) {
    return !t || t.type !== "NullableTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(wKt, "isNullableTypeAnnotation");
  function IKt(t, e) {
    return !t || t.type !== "NumberLiteralTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(IKt, "isNumberLiteralTypeAnnotation");
  function NKt(t, e) {
    return !t || t.type !== "NumberTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(NKt, "isNumberTypeAnnotation");
  function kKt(t, e) {
    return !t || t.type !== "ObjectTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(kKt, "isObjectTypeAnnotation");
  function DKt(t, e) {
    return !t || t.type !== "ObjectTypeInternalSlot" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(DKt, "isObjectTypeInternalSlot");
  function OKt(t, e) {
    return !t || t.type !== "ObjectTypeCallProperty" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(OKt, "isObjectTypeCallProperty");
  function _Kt(t, e) {
    return !t || t.type !== "ObjectTypeIndexer" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(_Kt, "isObjectTypeIndexer");
  function LKt(t, e) {
    return !t || t.type !== "ObjectTypeProperty" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(LKt, "isObjectTypeProperty");
  function BKt(t, e) {
    return !t || t.type !== "ObjectTypeSpreadProperty" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(BKt, "isObjectTypeSpreadProperty");
  function MKt(t, e) {
    return !t || t.type !== "OpaqueType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(MKt, "isOpaqueType");
  function FKt(t, e) {
    return !t || t.type !== "QualifiedTypeIdentifier" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(FKt, "isQualifiedTypeIdentifier");
  function jKt(t, e) {
    return !t || t.type !== "StringLiteralTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(jKt, "isStringLiteralTypeAnnotation");
  function RKt(t, e) {
    return !t || t.type !== "StringTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(RKt, "isStringTypeAnnotation");
  function qKt(t, e) {
    return !t || t.type !== "SymbolTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(qKt, "isSymbolTypeAnnotation");
  function UKt(t, e) {
    return !t || t.type !== "ThisTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(UKt, "isThisTypeAnnotation");
  function KKt(t, e) {
    return !t || t.type !== "TupleTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(KKt, "isTupleTypeAnnotation");
  function VKt(t, e) {
    return !t || t.type !== "TypeofTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(VKt, "isTypeofTypeAnnotation");
  function WKt(t, e) {
    return !t || t.type !== "TypeAlias" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(WKt, "isTypeAlias");
  function $Kt(t, e) {
    return !t || t.type !== "TypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n($Kt, "isTypeAnnotation");
  function HKt(t, e) {
    return !t || t.type !== "TypeCastExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(HKt, "isTypeCastExpression");
  function JKt(t, e) {
    return !t || t.type !== "TypeParameter" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(JKt, "isTypeParameter");
  function YKt(t, e) {
    return !t || t.type !== "TypeParameterDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(YKt, "isTypeParameterDeclaration");
  function XKt(t, e) {
    return !t || t.type !== "TypeParameterInstantiation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(XKt, "isTypeParameterInstantiation");
  function zKt(t, e) {
    return !t || t.type !== "UnionTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(zKt, "isUnionTypeAnnotation");
  function GKt(t, e) {
    return !t || t.type !== "Variance" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(GKt, "isVariance");
  function QKt(t, e) {
    return !t || t.type !== "VoidTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(QKt, "isVoidTypeAnnotation");
  function ZKt(t, e) {
    return !t || t.type !== "EnumDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(ZKt, "isEnumDeclaration");
  function eVt(t, e) {
    return !t || t.type !== "EnumBooleanBody" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(eVt, "isEnumBooleanBody");
  function tVt(t, e) {
    return !t || t.type !== "EnumNumberBody" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(tVt, "isEnumNumberBody");
  function sVt(t, e) {
    return !t || t.type !== "EnumStringBody" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(sVt, "isEnumStringBody");
  function rVt(t, e) {
    return !t || t.type !== "EnumSymbolBody" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(rVt, "isEnumSymbolBody");
  function iVt(t, e) {
    return !t || t.type !== "EnumBooleanMember" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(iVt, "isEnumBooleanMember");
  function nVt(t, e) {
    return !t || t.type !== "EnumNumberMember" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(nVt, "isEnumNumberMember");
  function aVt(t, e) {
    return !t || t.type !== "EnumStringMember" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(aVt, "isEnumStringMember");
  function oVt(t, e) {
    return !t || t.type !== "EnumDefaultedMember" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(oVt, "isEnumDefaultedMember");
  function lVt(t, e) {
    return !t || t.type !== "IndexedAccessType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(lVt, "isIndexedAccessType");
  function uVt(t, e) {
    return !t || t.type !== "OptionalIndexedAccessType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(uVt, "isOptionalIndexedAccessType");
  function cVt(t, e) {
    return !t || t.type !== "JSXAttribute" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(cVt, "isJSXAttribute");
  function pVt(t, e) {
    return !t || t.type !== "JSXClosingElement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(pVt, "isJSXClosingElement");
  function hVt(t, e) {
    return !t || t.type !== "JSXElement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(hVt, "isJSXElement");
  function fVt(t, e) {
    return !t || t.type !== "JSXEmptyExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(fVt, "isJSXEmptyExpression");
  function dVt(t, e) {
    return !t || t.type !== "JSXExpressionContainer" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(dVt, "isJSXExpressionContainer");
  function mVt(t, e) {
    return !t || t.type !== "JSXSpreadChild" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(mVt, "isJSXSpreadChild");
  function yVt(t, e) {
    return !t || t.type !== "JSXIdentifier" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(yVt, "isJSXIdentifier");
  function gVt(t, e) {
    return !t || t.type !== "JSXMemberExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(gVt, "isJSXMemberExpression");
  function TVt(t, e) {
    return !t || t.type !== "JSXNamespacedName" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(TVt, "isJSXNamespacedName");
  function bVt(t, e) {
    return !t || t.type !== "JSXOpeningElement" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(bVt, "isJSXOpeningElement");
  function xVt(t, e) {
    return !t || t.type !== "JSXSpreadAttribute" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(xVt, "isJSXSpreadAttribute");
  function SVt(t, e) {
    return !t || t.type !== "JSXText" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(SVt, "isJSXText");
  function PVt(t, e) {
    return !t || t.type !== "JSXFragment" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(PVt, "isJSXFragment");
  function EVt(t, e) {
    return !t || t.type !== "JSXOpeningFragment" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(EVt, "isJSXOpeningFragment");
  function AVt(t, e) {
    return !t || t.type !== "JSXClosingFragment" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(AVt, "isJSXClosingFragment");
  function vVt(t, e) {
    return !t || t.type !== "Noop" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(vVt, "isNoop");
  function CVt(t, e) {
    return !t || t.type !== "Placeholder" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(CVt, "isPlaceholder");
  function wVt(t, e) {
    return !t || t.type !== "V8IntrinsicIdentifier" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(wVt, "isV8IntrinsicIdentifier");
  function IVt(t, e) {
    return !t || t.type !== "ArgumentPlaceholder" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(IVt, "isArgumentPlaceholder");
  function NVt(t, e) {
    return !t || t.type !== "BindExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(NVt, "isBindExpression");
  function kVt(t, e) {
    return !t || t.type !== "ImportAttribute" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(kVt, "isImportAttribute");
  function DVt(t, e) {
    return !t || t.type !== "Decorator" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(DVt, "isDecorator");
  function OVt(t, e) {
    return !t || t.type !== "DoExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(OVt, "isDoExpression");
  function _Vt(t, e) {
    return !t || t.type !== "ExportDefaultSpecifier" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(_Vt, "isExportDefaultSpecifier");
  function LVt(t, e) {
    return !t || t.type !== "RecordExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(LVt, "isRecordExpression");
  function BVt(t, e) {
    return !t || t.type !== "TupleExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(BVt, "isTupleExpression");
  function MVt(t, e) {
    return !t || t.type !== "DecimalLiteral" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(MVt, "isDecimalLiteral");
  function FVt(t, e) {
    return !t || t.type !== "ModuleExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(FVt, "isModuleExpression");
  function jVt(t, e) {
    return !t || t.type !== "TopicReference" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(jVt, "isTopicReference");
  function RVt(t, e) {
    return !t || t.type !== "PipelineTopicExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(RVt, "isPipelineTopicExpression");
  function qVt(t, e) {
    return !t || t.type !== "PipelineBareFunction" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(qVt, "isPipelineBareFunction");
  function UVt(t, e) {
    return !t || t.type !== "PipelinePrimaryTopicReference" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(UVt, "isPipelinePrimaryTopicReference");
  function KVt(t, e) {
    return !t || t.type !== "TSParameterProperty" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(KVt, "isTSParameterProperty");
  function VVt(t, e) {
    return !t || t.type !== "TSDeclareFunction" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(VVt, "isTSDeclareFunction");
  function WVt(t, e) {
    return !t || t.type !== "TSDeclareMethod" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(WVt, "isTSDeclareMethod");
  function $Vt(t, e) {
    return !t || t.type !== "TSQualifiedName" ? !1 : e == null || (0, F.default)(t, e);
  }
  n($Vt, "isTSQualifiedName");
  function HVt(t, e) {
    return !t || t.type !== "TSCallSignatureDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(HVt, "isTSCallSignatureDeclaration");
  function JVt(t, e) {
    return !t || t.type !== "TSConstructSignatureDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(JVt, "isTSConstructSignatureDeclaration");
  function YVt(t, e) {
    return !t || t.type !== "TSPropertySignature" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(YVt, "isTSPropertySignature");
  function XVt(t, e) {
    return !t || t.type !== "TSMethodSignature" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(XVt, "isTSMethodSignature");
  function zVt(t, e) {
    return !t || t.type !== "TSIndexSignature" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(zVt, "isTSIndexSignature");
  function GVt(t, e) {
    return !t || t.type !== "TSAnyKeyword" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(GVt, "isTSAnyKeyword");
  function QVt(t, e) {
    return !t || t.type !== "TSBooleanKeyword" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(QVt, "isTSBooleanKeyword");
  function ZVt(t, e) {
    return !t || t.type !== "TSBigIntKeyword" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(ZVt, "isTSBigIntKeyword");
  function eWt(t, e) {
    return !t || t.type !== "TSIntrinsicKeyword" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(eWt, "isTSIntrinsicKeyword");
  function tWt(t, e) {
    return !t || t.type !== "TSNeverKeyword" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(tWt, "isTSNeverKeyword");
  function sWt(t, e) {
    return !t || t.type !== "TSNullKeyword" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(sWt, "isTSNullKeyword");
  function rWt(t, e) {
    return !t || t.type !== "TSNumberKeyword" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(rWt, "isTSNumberKeyword");
  function iWt(t, e) {
    return !t || t.type !== "TSObjectKeyword" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(iWt, "isTSObjectKeyword");
  function nWt(t, e) {
    return !t || t.type !== "TSStringKeyword" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(nWt, "isTSStringKeyword");
  function aWt(t, e) {
    return !t || t.type !== "TSSymbolKeyword" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(aWt, "isTSSymbolKeyword");
  function oWt(t, e) {
    return !t || t.type !== "TSUndefinedKeyword" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(oWt, "isTSUndefinedKeyword");
  function lWt(t, e) {
    return !t || t.type !== "TSUnknownKeyword" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(lWt, "isTSUnknownKeyword");
  function uWt(t, e) {
    return !t || t.type !== "TSVoidKeyword" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(uWt, "isTSVoidKeyword");
  function cWt(t, e) {
    return !t || t.type !== "TSThisType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(cWt, "isTSThisType");
  function pWt(t, e) {
    return !t || t.type !== "TSFunctionType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(pWt, "isTSFunctionType");
  function hWt(t, e) {
    return !t || t.type !== "TSConstructorType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(hWt, "isTSConstructorType");
  function fWt(t, e) {
    return !t || t.type !== "TSTypeReference" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(fWt, "isTSTypeReference");
  function dWt(t, e) {
    return !t || t.type !== "TSTypePredicate" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(dWt, "isTSTypePredicate");
  function mWt(t, e) {
    return !t || t.type !== "TSTypeQuery" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(mWt, "isTSTypeQuery");
  function yWt(t, e) {
    return !t || t.type !== "TSTypeLiteral" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(yWt, "isTSTypeLiteral");
  function gWt(t, e) {
    return !t || t.type !== "TSArrayType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(gWt, "isTSArrayType");
  function TWt(t, e) {
    return !t || t.type !== "TSTupleType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(TWt, "isTSTupleType");
  function bWt(t, e) {
    return !t || t.type !== "TSOptionalType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(bWt, "isTSOptionalType");
  function xWt(t, e) {
    return !t || t.type !== "TSRestType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(xWt, "isTSRestType");
  function SWt(t, e) {
    return !t || t.type !== "TSNamedTupleMember" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(SWt, "isTSNamedTupleMember");
  function PWt(t, e) {
    return !t || t.type !== "TSUnionType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(PWt, "isTSUnionType");
  function EWt(t, e) {
    return !t || t.type !== "TSIntersectionType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(EWt, "isTSIntersectionType");
  function AWt(t, e) {
    return !t || t.type !== "TSConditionalType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(AWt, "isTSConditionalType");
  function vWt(t, e) {
    return !t || t.type !== "TSInferType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(vWt, "isTSInferType");
  function CWt(t, e) {
    return !t || t.type !== "TSParenthesizedType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(CWt, "isTSParenthesizedType");
  function wWt(t, e) {
    return !t || t.type !== "TSTypeOperator" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(wWt, "isTSTypeOperator");
  function IWt(t, e) {
    return !t || t.type !== "TSIndexedAccessType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(IWt, "isTSIndexedAccessType");
  function NWt(t, e) {
    return !t || t.type !== "TSMappedType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(NWt, "isTSMappedType");
  function kWt(t, e) {
    return !t || t.type !== "TSLiteralType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(kWt, "isTSLiteralType");
  function DWt(t, e) {
    return !t || t.type !== "TSExpressionWithTypeArguments" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(DWt, "isTSExpressionWithTypeArguments");
  function OWt(t, e) {
    return !t || t.type !== "TSInterfaceDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(OWt, "isTSInterfaceDeclaration");
  function _Wt(t, e) {
    return !t || t.type !== "TSInterfaceBody" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(_Wt, "isTSInterfaceBody");
  function LWt(t, e) {
    return !t || t.type !== "TSTypeAliasDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(LWt, "isTSTypeAliasDeclaration");
  function BWt(t, e) {
    return !t || t.type !== "TSInstantiationExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(BWt, "isTSInstantiationExpression");
  function MWt(t, e) {
    return !t || t.type !== "TSAsExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(MWt, "isTSAsExpression");
  function FWt(t, e) {
    return !t || t.type !== "TSSatisfiesExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(FWt, "isTSSatisfiesExpression");
  function jWt(t, e) {
    return !t || t.type !== "TSTypeAssertion" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(jWt, "isTSTypeAssertion");
  function RWt(t, e) {
    return !t || t.type !== "TSEnumBody" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(RWt, "isTSEnumBody");
  function qWt(t, e) {
    return !t || t.type !== "TSEnumDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(qWt, "isTSEnumDeclaration");
  function UWt(t, e) {
    return !t || t.type !== "TSEnumMember" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(UWt, "isTSEnumMember");
  function KWt(t, e) {
    return !t || t.type !== "TSModuleDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(KWt, "isTSModuleDeclaration");
  function VWt(t, e) {
    return !t || t.type !== "TSModuleBlock" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(VWt, "isTSModuleBlock");
  function WWt(t, e) {
    return !t || t.type !== "TSImportType" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(WWt, "isTSImportType");
  function $Wt(t, e) {
    return !t || t.type !== "TSImportEqualsDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n($Wt, "isTSImportEqualsDeclaration");
  function HWt(t, e) {
    return !t || t.type !== "TSExternalModuleReference" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(HWt, "isTSExternalModuleReference");
  function JWt(t, e) {
    return !t || t.type !== "TSNonNullExpression" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(JWt, "isTSNonNullExpression");
  function YWt(t, e) {
    return !t || t.type !== "TSExportAssignment" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(YWt, "isTSExportAssignment");
  function XWt(t, e) {
    return !t || t.type !== "TSNamespaceExportDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(XWt, "isTSNamespaceExportDeclaration");
  function zWt(t, e) {
    return !t || t.type !== "TSTypeAnnotation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(zWt, "isTSTypeAnnotation");
  function GWt(t, e) {
    return !t || t.type !== "TSTypeParameterInstantiation" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(GWt, "isTSTypeParameterInstantiation");
  function QWt(t, e) {
    return !t || t.type !== "TSTypeParameterDeclaration" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(QWt, "isTSTypeParameterDeclaration");
  function ZWt(t, e) {
    return !t || t.type !== "TSTypeParameter" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(ZWt, "isTSTypeParameter");
  function e$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ArrayExpression":
      case "AssignmentExpression":
      case "BinaryExpression":
      case "InterpreterDirective":
      case "Directive":
      case "DirectiveLiteral":
      case "BlockStatement":
      case "BreakStatement":
      case "CallExpression":
      case "CatchClause":
      case "ConditionalExpression":
      case "ContinueStatement":
      case "DebuggerStatement":
      case "DoWhileStatement":
      case "EmptyStatement":
      case "ExpressionStatement":
      case "File":
      case "ForInStatement":
      case "ForStatement":
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "Identifier":
      case "IfStatement":
      case "LabeledStatement":
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "RegExpLiteral":
      case "LogicalExpression":
      case "MemberExpression":
      case "NewExpression":
      case "Program":
      case "ObjectExpression":
      case "ObjectMethod":
      case "ObjectProperty":
      case "RestElement":
      case "ReturnStatement":
      case "SequenceExpression":
      case "ParenthesizedExpression":
      case "SwitchCase":
      case "SwitchStatement":
      case "ThisExpression":
      case "ThrowStatement":
      case "TryStatement":
      case "UnaryExpression":
      case "UpdateExpression":
      case "VariableDeclaration":
      case "VariableDeclarator":
      case "WhileStatement":
      case "WithStatement":
      case "AssignmentPattern":
      case "ArrayPattern":
      case "ArrowFunctionExpression":
      case "ClassBody":
      case "ClassExpression":
      case "ClassDeclaration":
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
      case "ExportSpecifier":
      case "ForOfStatement":
      case "ImportDeclaration":
      case "ImportDefaultSpecifier":
      case "ImportNamespaceSpecifier":
      case "ImportSpecifier":
      case "ImportExpression":
      case "MetaProperty":
      case "ClassMethod":
      case "ObjectPattern":
      case "SpreadElement":
      case "Super":
      case "TaggedTemplateExpression":
      case "TemplateElement":
      case "TemplateLiteral":
      case "YieldExpression":
      case "AwaitExpression":
      case "Import":
      case "BigIntLiteral":
      case "ExportNamespaceSpecifier":
      case "OptionalMemberExpression":
      case "OptionalCallExpression":
      case "ClassProperty":
      case "ClassAccessorProperty":
      case "ClassPrivateProperty":
      case "ClassPrivateMethod":
      case "PrivateName":
      case "StaticBlock":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Identifier":
          case "StringLiteral":
          case "BlockStatement":
          case "ClassBody":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(e$t, "isStandardized");
  function t$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ArrayExpression":
      case "AssignmentExpression":
      case "BinaryExpression":
      case "CallExpression":
      case "ConditionalExpression":
      case "FunctionExpression":
      case "Identifier":
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "RegExpLiteral":
      case "LogicalExpression":
      case "MemberExpression":
      case "NewExpression":
      case "ObjectExpression":
      case "SequenceExpression":
      case "ParenthesizedExpression":
      case "ThisExpression":
      case "UnaryExpression":
      case "UpdateExpression":
      case "ArrowFunctionExpression":
      case "ClassExpression":
      case "ImportExpression":
      case "MetaProperty":
      case "Super":
      case "TaggedTemplateExpression":
      case "TemplateLiteral":
      case "YieldExpression":
      case "AwaitExpression":
      case "Import":
      case "BigIntLiteral":
      case "OptionalMemberExpression":
      case "OptionalCallExpression":
      case "TypeCastExpression":
      case "JSXElement":
      case "JSXFragment":
      case "BindExpression":
      case "DoExpression":
      case "RecordExpression":
      case "TupleExpression":
      case "DecimalLiteral":
      case "ModuleExpression":
      case "TopicReference":
      case "PipelineTopicExpression":
      case "PipelineBareFunction":
      case "PipelinePrimaryTopicReference":
      case "TSInstantiationExpression":
      case "TSAsExpression":
      case "TSSatisfiesExpression":
      case "TSTypeAssertion":
      case "TSNonNullExpression":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Expression":
          case "Identifier":
          case "StringLiteral":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(t$t, "isExpression");
  function s$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BinaryExpression":
      case "LogicalExpression":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(s$t, "isBinary");
  function r$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BlockStatement":
      case "CatchClause":
      case "DoWhileStatement":
      case "ForInStatement":
      case "ForStatement":
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "Program":
      case "ObjectMethod":
      case "SwitchStatement":
      case "WhileStatement":
      case "ArrowFunctionExpression":
      case "ClassExpression":
      case "ClassDeclaration":
      case "ForOfStatement":
      case "ClassMethod":
      case "ClassPrivateMethod":
      case "StaticBlock":
      case "TSModuleBlock":
        break;
      case "Placeholder":
        if (t.expectedNode === "BlockStatement") break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(r$t, "isScopable");
  function i$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BlockStatement":
      case "CatchClause":
      case "DoWhileStatement":
      case "ForInStatement":
      case "ForStatement":
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "Program":
      case "ObjectMethod":
      case "SwitchStatement":
      case "WhileStatement":
      case "ArrowFunctionExpression":
      case "ForOfStatement":
      case "ClassMethod":
      case "ClassPrivateMethod":
      case "StaticBlock":
      case "TSModuleBlock":
        break;
      case "Placeholder":
        if (t.expectedNode === "BlockStatement") break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(i$t, "isBlockParent");
  function n$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BlockStatement":
      case "Program":
      case "TSModuleBlock":
        break;
      case "Placeholder":
        if (t.expectedNode === "BlockStatement") break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(n$t, "isBlock");
  function a$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BlockStatement":
      case "BreakStatement":
      case "ContinueStatement":
      case "DebuggerStatement":
      case "DoWhileStatement":
      case "EmptyStatement":
      case "ExpressionStatement":
      case "ForInStatement":
      case "ForStatement":
      case "FunctionDeclaration":
      case "IfStatement":
      case "LabeledStatement":
      case "ReturnStatement":
      case "SwitchStatement":
      case "ThrowStatement":
      case "TryStatement":
      case "VariableDeclaration":
      case "WhileStatement":
      case "WithStatement":
      case "ClassDeclaration":
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
      case "ForOfStatement":
      case "ImportDeclaration":
      case "DeclareClass":
      case "DeclareFunction":
      case "DeclareInterface":
      case "DeclareModule":
      case "DeclareModuleExports":
      case "DeclareTypeAlias":
      case "DeclareOpaqueType":
      case "DeclareVariable":
      case "DeclareExportDeclaration":
      case "DeclareExportAllDeclaration":
      case "InterfaceDeclaration":
      case "OpaqueType":
      case "TypeAlias":
      case "EnumDeclaration":
      case "TSDeclareFunction":
      case "TSInterfaceDeclaration":
      case "TSTypeAliasDeclaration":
      case "TSEnumDeclaration":
      case "TSModuleDeclaration":
      case "TSImportEqualsDeclaration":
      case "TSExportAssignment":
      case "TSNamespaceExportDeclaration":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Statement":
          case "Declaration":
          case "BlockStatement":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(a$t, "isStatement");
  function o$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BreakStatement":
      case "ContinueStatement":
      case "ReturnStatement":
      case "ThrowStatement":
      case "YieldExpression":
      case "AwaitExpression":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(o$t, "isTerminatorless");
  function l$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BreakStatement":
      case "ContinueStatement":
      case "ReturnStatement":
      case "ThrowStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(l$t, "isCompletionStatement");
  function u$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ConditionalExpression":
      case "IfStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(u$t, "isConditional");
  function c$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "DoWhileStatement":
      case "ForInStatement":
      case "ForStatement":
      case "WhileStatement":
      case "ForOfStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(c$t, "isLoop");
  function p$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "DoWhileStatement":
      case "WhileStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(p$t, "isWhile");
  function h$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ExpressionStatement":
      case "ParenthesizedExpression":
      case "TypeCastExpression":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(h$t, "isExpressionWrapper");
  function f$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ForInStatement":
      case "ForStatement":
      case "ForOfStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(f$t, "isFor");
  function d$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ForInStatement":
      case "ForOfStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(d$t, "isForXStatement");
  function m$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "ObjectMethod":
      case "ArrowFunctionExpression":
      case "ClassMethod":
      case "ClassPrivateMethod":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(m$t, "isFunction");
  function y$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "ObjectMethod":
      case "ArrowFunctionExpression":
      case "ClassMethod":
      case "ClassPrivateMethod":
      case "StaticBlock":
      case "TSModuleBlock":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(y$t, "isFunctionParent");
  function g$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "RegExpLiteral":
      case "ArrowFunctionExpression":
      case "BigIntLiteral":
      case "DecimalLiteral":
        break;
      case "Placeholder":
        if (t.expectedNode === "StringLiteral") break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(g$t, "isPureish");
  function T$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "FunctionDeclaration":
      case "VariableDeclaration":
      case "ClassDeclaration":
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
      case "ImportDeclaration":
      case "DeclareClass":
      case "DeclareFunction":
      case "DeclareInterface":
      case "DeclareModule":
      case "DeclareModuleExports":
      case "DeclareTypeAlias":
      case "DeclareOpaqueType":
      case "DeclareVariable":
      case "DeclareExportDeclaration":
      case "DeclareExportAllDeclaration":
      case "InterfaceDeclaration":
      case "OpaqueType":
      case "TypeAlias":
      case "EnumDeclaration":
      case "TSDeclareFunction":
      case "TSInterfaceDeclaration":
      case "TSTypeAliasDeclaration":
      case "TSEnumDeclaration":
      case "TSModuleDeclaration":
        break;
      case "Placeholder":
        if (t.expectedNode === "Declaration") break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(T$t, "isDeclaration");
  function b$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "Identifier":
      case "RestElement":
      case "AssignmentPattern":
      case "ArrayPattern":
      case "ObjectPattern":
      case "TSAsExpression":
      case "TSSatisfiesExpression":
      case "TSTypeAssertion":
      case "TSNonNullExpression":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Pattern":
          case "Identifier":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(b$t, "isPatternLike");
  function x$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "Identifier":
      case "MemberExpression":
      case "RestElement":
      case "AssignmentPattern":
      case "ArrayPattern":
      case "ObjectPattern":
      case "TSParameterProperty":
      case "TSAsExpression":
      case "TSSatisfiesExpression":
      case "TSTypeAssertion":
      case "TSNonNullExpression":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Pattern":
          case "Identifier":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(x$t, "isLVal");
  function S$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "Identifier":
      case "TSQualifiedName":
        break;
      case "Placeholder":
        if (t.expectedNode === "Identifier") break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(S$t, "isTSEntityName");
  function P$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "RegExpLiteral":
      case "TemplateLiteral":
      case "BigIntLiteral":
      case "DecimalLiteral":
        break;
      case "Placeholder":
        if (t.expectedNode === "StringLiteral") break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(P$t, "isLiteral");
  function E$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "BigIntLiteral":
      case "JSXAttribute":
      case "JSXClosingElement":
      case "JSXElement":
      case "JSXExpressionContainer":
      case "JSXSpreadChild":
      case "JSXOpeningElement":
      case "JSXText":
      case "JSXFragment":
      case "JSXOpeningFragment":
      case "JSXClosingFragment":
      case "DecimalLiteral":
        break;
      case "Placeholder":
        if (t.expectedNode === "StringLiteral") break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(E$t, "isImmutable");
  function A$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ObjectMethod":
      case "ObjectProperty":
      case "ObjectTypeInternalSlot":
      case "ObjectTypeCallProperty":
      case "ObjectTypeIndexer":
      case "ObjectTypeProperty":
      case "ObjectTypeSpreadProperty":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(A$t, "isUserWhitespacable");
  function v$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ObjectMethod":
      case "ClassMethod":
      case "ClassPrivateMethod":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(v$t, "isMethod");
  function C$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ObjectMethod":
      case "ObjectProperty":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(C$t, "isObjectMember");
  function w$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ObjectProperty":
      case "ClassProperty":
      case "ClassAccessorProperty":
      case "ClassPrivateProperty":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(w$t, "isProperty");
  function I$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "UnaryExpression":
      case "SpreadElement":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(I$t, "isUnaryLike");
  function N$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "AssignmentPattern":
      case "ArrayPattern":
      case "ObjectPattern":
        break;
      case "Placeholder":
        if (t.expectedNode === "Pattern") break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(N$t, "isPattern");
  function k$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ClassExpression":
      case "ClassDeclaration":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(k$t, "isClass");
  function Vce(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
      case "ImportDeclaration":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(Vce, "isImportOrExportDeclaration");
  function D$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(D$t, "isExportDeclaration");
  function O$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ExportSpecifier":
      case "ImportDefaultSpecifier":
      case "ImportNamespaceSpecifier":
      case "ImportSpecifier":
      case "ExportNamespaceSpecifier":
      case "ExportDefaultSpecifier":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(O$t, "isModuleSpecifier");
  function _$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ClassAccessorProperty":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(_$t, "isAccessor");
  function L$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ClassPrivateProperty":
      case "ClassPrivateMethod":
      case "PrivateName":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(L$t, "isPrivate");
  function B$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "AnyTypeAnnotation":
      case "ArrayTypeAnnotation":
      case "BooleanTypeAnnotation":
      case "BooleanLiteralTypeAnnotation":
      case "NullLiteralTypeAnnotation":
      case "ClassImplements":
      case "DeclareClass":
      case "DeclareFunction":
      case "DeclareInterface":
      case "DeclareModule":
      case "DeclareModuleExports":
      case "DeclareTypeAlias":
      case "DeclareOpaqueType":
      case "DeclareVariable":
      case "DeclareExportDeclaration":
      case "DeclareExportAllDeclaration":
      case "DeclaredPredicate":
      case "ExistsTypeAnnotation":
      case "FunctionTypeAnnotation":
      case "FunctionTypeParam":
      case "GenericTypeAnnotation":
      case "InferredPredicate":
      case "InterfaceExtends":
      case "InterfaceDeclaration":
      case "InterfaceTypeAnnotation":
      case "IntersectionTypeAnnotation":
      case "MixedTypeAnnotation":
      case "EmptyTypeAnnotation":
      case "NullableTypeAnnotation":
      case "NumberLiteralTypeAnnotation":
      case "NumberTypeAnnotation":
      case "ObjectTypeAnnotation":
      case "ObjectTypeInternalSlot":
      case "ObjectTypeCallProperty":
      case "ObjectTypeIndexer":
      case "ObjectTypeProperty":
      case "ObjectTypeSpreadProperty":
      case "OpaqueType":
      case "QualifiedTypeIdentifier":
      case "StringLiteralTypeAnnotation":
      case "StringTypeAnnotation":
      case "SymbolTypeAnnotation":
      case "ThisTypeAnnotation":
      case "TupleTypeAnnotation":
      case "TypeofTypeAnnotation":
      case "TypeAlias":
      case "TypeAnnotation":
      case "TypeCastExpression":
      case "TypeParameter":
      case "TypeParameterDeclaration":
      case "TypeParameterInstantiation":
      case "UnionTypeAnnotation":
      case "Variance":
      case "VoidTypeAnnotation":
      case "EnumDeclaration":
      case "EnumBooleanBody":
      case "EnumNumberBody":
      case "EnumStringBody":
      case "EnumSymbolBody":
      case "EnumBooleanMember":
      case "EnumNumberMember":
      case "EnumStringMember":
      case "EnumDefaultedMember":
      case "IndexedAccessType":
      case "OptionalIndexedAccessType":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(B$t, "isFlow");
  function M$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "AnyTypeAnnotation":
      case "ArrayTypeAnnotation":
      case "BooleanTypeAnnotation":
      case "BooleanLiteralTypeAnnotation":
      case "NullLiteralTypeAnnotation":
      case "ExistsTypeAnnotation":
      case "FunctionTypeAnnotation":
      case "GenericTypeAnnotation":
      case "InterfaceTypeAnnotation":
      case "IntersectionTypeAnnotation":
      case "MixedTypeAnnotation":
      case "EmptyTypeAnnotation":
      case "NullableTypeAnnotation":
      case "NumberLiteralTypeAnnotation":
      case "NumberTypeAnnotation":
      case "ObjectTypeAnnotation":
      case "StringLiteralTypeAnnotation":
      case "StringTypeAnnotation":
      case "SymbolTypeAnnotation":
      case "ThisTypeAnnotation":
      case "TupleTypeAnnotation":
      case "TypeofTypeAnnotation":
      case "UnionTypeAnnotation":
      case "VoidTypeAnnotation":
      case "IndexedAccessType":
      case "OptionalIndexedAccessType":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(M$t, "isFlowType");
  function F$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "AnyTypeAnnotation":
      case "BooleanTypeAnnotation":
      case "NullLiteralTypeAnnotation":
      case "MixedTypeAnnotation":
      case "EmptyTypeAnnotation":
      case "NumberTypeAnnotation":
      case "StringTypeAnnotation":
      case "SymbolTypeAnnotation":
      case "ThisTypeAnnotation":
      case "VoidTypeAnnotation":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(F$t, "isFlowBaseAnnotation");
  function j$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "DeclareClass":
      case "DeclareFunction":
      case "DeclareInterface":
      case "DeclareModule":
      case "DeclareModuleExports":
      case "DeclareTypeAlias":
      case "DeclareOpaqueType":
      case "DeclareVariable":
      case "DeclareExportDeclaration":
      case "DeclareExportAllDeclaration":
      case "InterfaceDeclaration":
      case "OpaqueType":
      case "TypeAlias":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(j$t, "isFlowDeclaration");
  function R$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "DeclaredPredicate":
      case "InferredPredicate":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(R$t, "isFlowPredicate");
  function q$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "EnumBooleanBody":
      case "EnumNumberBody":
      case "EnumStringBody":
      case "EnumSymbolBody":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(q$t, "isEnumBody");
  function U$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "EnumBooleanMember":
      case "EnumNumberMember":
      case "EnumStringMember":
      case "EnumDefaultedMember":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(U$t, "isEnumMember");
  function K$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "JSXAttribute":
      case "JSXClosingElement":
      case "JSXElement":
      case "JSXEmptyExpression":
      case "JSXExpressionContainer":
      case "JSXSpreadChild":
      case "JSXIdentifier":
      case "JSXMemberExpression":
      case "JSXNamespacedName":
      case "JSXOpeningElement":
      case "JSXSpreadAttribute":
      case "JSXText":
      case "JSXFragment":
      case "JSXOpeningFragment":
      case "JSXClosingFragment":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(K$t, "isJSX");
  function V$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "Noop":
      case "Placeholder":
      case "V8IntrinsicIdentifier":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(V$t, "isMiscellaneous");
  function W$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "TSParameterProperty":
      case "TSDeclareFunction":
      case "TSDeclareMethod":
      case "TSQualifiedName":
      case "TSCallSignatureDeclaration":
      case "TSConstructSignatureDeclaration":
      case "TSPropertySignature":
      case "TSMethodSignature":
      case "TSIndexSignature":
      case "TSAnyKeyword":
      case "TSBooleanKeyword":
      case "TSBigIntKeyword":
      case "TSIntrinsicKeyword":
      case "TSNeverKeyword":
      case "TSNullKeyword":
      case "TSNumberKeyword":
      case "TSObjectKeyword":
      case "TSStringKeyword":
      case "TSSymbolKeyword":
      case "TSUndefinedKeyword":
      case "TSUnknownKeyword":
      case "TSVoidKeyword":
      case "TSThisType":
      case "TSFunctionType":
      case "TSConstructorType":
      case "TSTypeReference":
      case "TSTypePredicate":
      case "TSTypeQuery":
      case "TSTypeLiteral":
      case "TSArrayType":
      case "TSTupleType":
      case "TSOptionalType":
      case "TSRestType":
      case "TSNamedTupleMember":
      case "TSUnionType":
      case "TSIntersectionType":
      case "TSConditionalType":
      case "TSInferType":
      case "TSParenthesizedType":
      case "TSTypeOperator":
      case "TSIndexedAccessType":
      case "TSMappedType":
      case "TSLiteralType":
      case "TSExpressionWithTypeArguments":
      case "TSInterfaceDeclaration":
      case "TSInterfaceBody":
      case "TSTypeAliasDeclaration":
      case "TSInstantiationExpression":
      case "TSAsExpression":
      case "TSSatisfiesExpression":
      case "TSTypeAssertion":
      case "TSEnumBody":
      case "TSEnumDeclaration":
      case "TSEnumMember":
      case "TSModuleDeclaration":
      case "TSModuleBlock":
      case "TSImportType":
      case "TSImportEqualsDeclaration":
      case "TSExternalModuleReference":
      case "TSNonNullExpression":
      case "TSExportAssignment":
      case "TSNamespaceExportDeclaration":
      case "TSTypeAnnotation":
      case "TSTypeParameterInstantiation":
      case "TSTypeParameterDeclaration":
      case "TSTypeParameter":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(W$t, "isTypeScript");
  function $$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "TSCallSignatureDeclaration":
      case "TSConstructSignatureDeclaration":
      case "TSPropertySignature":
      case "TSMethodSignature":
      case "TSIndexSignature":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n($$t, "isTSTypeElement");
  function H$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "TSAnyKeyword":
      case "TSBooleanKeyword":
      case "TSBigIntKeyword":
      case "TSIntrinsicKeyword":
      case "TSNeverKeyword":
      case "TSNullKeyword":
      case "TSNumberKeyword":
      case "TSObjectKeyword":
      case "TSStringKeyword":
      case "TSSymbolKeyword":
      case "TSUndefinedKeyword":
      case "TSUnknownKeyword":
      case "TSVoidKeyword":
      case "TSThisType":
      case "TSFunctionType":
      case "TSConstructorType":
      case "TSTypeReference":
      case "TSTypePredicate":
      case "TSTypeQuery":
      case "TSTypeLiteral":
      case "TSArrayType":
      case "TSTupleType":
      case "TSOptionalType":
      case "TSRestType":
      case "TSUnionType":
      case "TSIntersectionType":
      case "TSConditionalType":
      case "TSInferType":
      case "TSParenthesizedType":
      case "TSTypeOperator":
      case "TSIndexedAccessType":
      case "TSMappedType":
      case "TSLiteralType":
      case "TSExpressionWithTypeArguments":
      case "TSImportType":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(H$t, "isTSType");
  function J$t(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "TSAnyKeyword":
      case "TSBooleanKeyword":
      case "TSBigIntKeyword":
      case "TSIntrinsicKeyword":
      case "TSNeverKeyword":
      case "TSNullKeyword":
      case "TSNumberKeyword":
      case "TSObjectKeyword":
      case "TSStringKeyword":
      case "TSSymbolKeyword":
      case "TSUndefinedKeyword":
      case "TSUnknownKeyword":
      case "TSVoidKeyword":
      case "TSThisType":
      case "TSLiteralType":
        break;
      default:
        return !1;
    }
    return e == null || (0, F.default)(t, e);
  }
  n(J$t, "isTSBaseType");
  function Y$t(t, e) {
    return (0, vT.default)("isNumberLiteral", "isNumericLiteral"), !t || t.type !== "NumberLiteral" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(Y$t, "isNumberLiteral");
  function X$t(t, e) {
    return (0, vT.default)("isRegexLiteral", "isRegExpLiteral"), !t || t.type !== "RegexLiteral" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(X$t, "isRegexLiteral");
  function z$t(t, e) {
    return (0, vT.default)("isRestProperty", "isRestElement"), !t || t.type !== "RestProperty" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(z$t, "isRestProperty");
  function G$t(t, e) {
    return (0, vT.default)("isSpreadProperty", "isSpreadElement"), !t || t.type !== "SpreadProperty" ? !1 : e == null || (0, F.default)(t, e);
  }
  n(G$t, "isSpreadProperty");
  function Q$t(t, e) {
    return (0, vT.default)("isModuleDeclaration", "isImportOrExportDeclaration"), Vce(t, e);
  }
  n(Q$t, "isModuleDeclaration");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/matchesPattern.js
var bj = g((Tj) => {
  "use strict";
  Object.defineProperty(Tj, "__esModule", {
    value: !0
  });
  Tj.default = Z$t;
  var CT = fi();
  function Z$t(t, e, s) {
    if (!(0, CT.isMemberExpression)(t)) return !1;
    let r = Array.isArray(e) ? e : e.split("."), i = [], a;
    for (a = t; (0, CT.isMemberExpression)(a); a = a.object)
      i.push(a.property);
    if (i.push(a), i.length < r.length || !s && i.length > r.length) return !1;
    for (let o = 0, l = i.length - 1; o < r.length; o++, l--) {
      let u = i[l], c;
      if ((0, CT.isIdentifier)(u))
        c = u.name;
      else if ((0, CT.isStringLiteral)(u))
        c = u.value;
      else if ((0, CT.isThisExpression)(u))
        c = "this";
      else
        return !1;
      if (r[o] !== c) return !1;
    }
    return !0;
  }
  n(Z$t, "matchesPattern");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js
var Sj = g((xj) => {
  "use strict";
  Object.defineProperty(xj, "__esModule", {
    value: !0
  });
  xj.default = tHt;
  var eHt = bj();
  function tHt(t, e) {
    let s = t.split(".");
    return (r) => (0, eHt.default)(r, s, e);
  }
  n(tHt, "buildMatchMemberExpression");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/react/isReactComponent.js
var Wce = g((D1) => {
  "use strict";
  Object.defineProperty(D1, "__esModule", {
    value: !0
  });
  D1.default = void 0;
  var sHt = Sj(), rHt = (0, sHt.default)("React.Component"), mQs = D1.default = rHt;
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/react/isCompatTag.js
var $ce = g((Pj) => {
  "use strict";
  Object.defineProperty(Pj, "__esModule", {
    value: !0
  });
  Pj.default = iHt;
  function iHt(t) {
    return !!t && /^[a-z]/.test(t);
  }
  n(iHt, "isCompatTag");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/isType.js
var O1 = g((Ej) => {
  "use strict";
  Object.defineProperty(Ej, "__esModule", {
    value: !0
  });
  Ej.default = nHt;
  var Hce = eo();
  function nHt(t, e) {
    if (t === e) return !0;
    if (t == null || Hce.ALIAS_KEYS[e]) return !1;
    let s = Hce.FLIPPED_ALIAS_KEYS[e];
    if (s) {
      if (s[0] === t) return !0;
      for (let r of s)
        if (t === r) return !0;
    }
    return !1;
  }
  n(nHt, "isType");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/isPlaceholderType.js
var vj = g((Aj) => {
  "use strict";
  Object.defineProperty(Aj, "__esModule", {
    value: !0
  });
  Aj.default = oHt;
  var aHt = eo();
  function oHt(t, e) {
    if (t === e) return !0;
    let s = aHt.PLACEHOLDERS_ALIAS[t];
    if (s) {
      for (let r of s)
        if (e === r) return !0;
    }
    return !1;
  }
  n(oHt, "isPlaceholderType");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/is.js
var ay = g((Cj) => {
  "use strict";
  Object.defineProperty(Cj, "__esModule", {
    value: !0
  });
  Cj.default = hHt;
  var lHt = k1(), uHt = O1(), cHt = vj(), pHt = eo();
  function hHt(t, e, s) {
    return e ? (0, uHt.default)(e.type, t) ? s === void 0 ? !0 : (0, lHt.default)(e, s) : !s && e.type === "Placeholder" && t in pHt.FLIPPED_ALIAS_KEYS ?
    (0, cHt.default)(e.expectedNode, t) : !1 : !1;
  }
  n(hHt, "is");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/isValidIdentifier.js
var oy = g((Ij) => {
  "use strict";
  Object.defineProperty(Ij, "__esModule", {
    value: !0
  });
  Ij.default = fHt;
  var wj = ba();
  function fHt(t, e = !0) {
    return typeof t != "string" || e && ((0, wj.isKeyword)(t) || (0, wj.isStrictReservedWord)(t, !0)) ? !1 : (0, wj.isIdentifierName)(t);
  }
  n(fHt, "isValidIdentifier");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/constants/index.js
var Mp = g((Qt) => {
  "use strict";
  Object.defineProperty(Qt, "__esModule", {
    value: !0
  });
  Qt.UPDATE_OPERATORS = Qt.UNARY_OPERATORS = Qt.STRING_UNARY_OPERATORS = Qt.STATEMENT_OR_BLOCK_KEYS = Qt.NUMBER_UNARY_OPERATORS = Qt.NUMBER_BINARY_OPERATORS =
  Qt.NOT_LOCAL_BINDING = Qt.LOGICAL_OPERATORS = Qt.INHERIT_KEYS = Qt.FOR_INIT_KEYS = Qt.FLATTENABLE_KEYS = Qt.EQUALITY_BINARY_OPERATORS = Qt.
  COMPARISON_BINARY_OPERATORS = Qt.COMMENT_KEYS = Qt.BOOLEAN_UNARY_OPERATORS = Qt.BOOLEAN_NUMBER_BINARY_OPERATORS = Qt.BOOLEAN_BINARY_OPERATORS =
  Qt.BLOCK_SCOPED_SYMBOL = Qt.BINARY_OPERATORS = Qt.ASSIGNMENT_OPERATORS = void 0;
  var wQs = Qt.STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"], IQs = Qt.FLATTENABLE_KEYS = ["body", "expressions"], NQs = Qt.
  FOR_INIT_KEYS = ["left", "init"], kQs = Qt.COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"], dHt = Qt.LOGICAL_OPERATORS =
  ["||", "&&", "??"], DQs = Qt.UPDATE_OPERATORS = ["++", "--"], mHt = Qt.BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="], yHt = Qt.
  EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="], gHt = Qt.COMPARISON_BINARY_OPERATORS = [...yHt, "in", "instanceof"], THt = Qt.BOOLEAN_BINARY_OPERATORS =
  [...gHt, ...mHt], Jce = Qt.NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"], OQs = Qt.BINARY_OPERATORS =
  ["+", ...Jce, ...THt, "|>"], _Qs = Qt.ASSIGNMENT_OPERATORS = ["=", "+=", ...Jce.map((t) => t + "="), ...dHt.map((t) => t + "=")], bHt = Qt.
  BOOLEAN_UNARY_OPERATORS = ["delete", "!"], xHt = Qt.NUMBER_UNARY_OPERATORS = ["+", "-", "~"], SHt = Qt.STRING_UNARY_OPERATORS = ["typeof"],
  LQs = Qt.UNARY_OPERATORS = ["void", "throw", ...bHt, ...xHt, ...SHt], BQs = Qt.INHERIT_KEYS = {
    optional: ["typeAnnotation", "typeParameters", "returnType"],
    force: ["start", "loc", "end"]
  }, MQs = Qt.BLOCK_SCOPED_SYMBOL = Symbol.for("var used to be block scoped"), FQs = Qt.NOT_LOCAL_BINDING = Symbol.for("should not be consid\
ered a local binding");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/definitions/utils.js
var Il = g((Us) => {
  "use strict";
  Object.defineProperty(Us, "__esModule", {
    value: !0
  });
  Us.VISITOR_KEYS = Us.NODE_PARENT_VALIDATIONS = Us.NODE_FIELDS = Us.FLIPPED_ALIAS_KEYS = Us.DEPRECATED_KEYS = Us.BUILDER_KEYS = Us.ALIAS_KEYS =
  void 0;
  Us.arrayOf = Xce;
  Us.arrayOfType = zce;
  Us.assertEach = Gce;
  Us.assertNodeOrValueType = _Ht;
  Us.assertNodeType = B1;
  Us.assertOneOf = OHt;
  Us.assertOptionalChainStart = BHt;
  Us.assertShape = LHt;
  Us.assertValueType = Oj;
  Us.chain = Qce;
  Us.default = Zce;
  Us.defineAliasedType = jHt;
  Us.validate = Dj;
  Us.validateArrayOfType = DHt;
  Us.validateOptional = NHt;
  Us.validateOptionalType = kHt;
  Us.validateType = IHt;
  var Yce = ay(), L1 = M1(), PHt = Us.VISITOR_KEYS = {}, EHt = Us.ALIAS_KEYS = {}, Nj = Us.FLIPPED_ALIAS_KEYS = {}, AHt = Us.NODE_FIELDS = {},
  vHt = Us.BUILDER_KEYS = {}, CHt = Us.DEPRECATED_KEYS = {}, wHt = Us.NODE_PARENT_VALIDATIONS = {};
  function _1(t) {
    return Array.isArray(t) ? "array" : t === null ? "null" : typeof t;
  }
  n(_1, "getType");
  function Dj(t) {
    return {
      validate: t
    };
  }
  n(Dj, "validate");
  function IHt(...t) {
    return Dj(B1(...t));
  }
  n(IHt, "validateType");
  function NHt(t) {
    return {
      validate: t,
      optional: !0
    };
  }
  n(NHt, "validateOptional");
  function kHt(...t) {
    return {
      validate: B1(...t),
      optional: !0
    };
  }
  n(kHt, "validateOptionalType");
  function Xce(t) {
    return Qce(Oj("array"), Gce(t));
  }
  n(Xce, "arrayOf");
  function zce(...t) {
    return Xce(B1(...t));
  }
  n(zce, "arrayOfType");
  function DHt(...t) {
    return Dj(zce(...t));
  }
  n(DHt, "validateArrayOfType");
  function Gce(t) {
    let e = process.env.BABEL_TYPES_8_BREAKING ? L1.validateChild : () => {
    };
    function s(r, i, a) {
      if (Array.isArray(a))
        for (let o = 0; o < a.length; o++) {
          let l = `${i}[${o}]`, u = a[o];
          t(r, l, u), e(r, l, u);
        }
    }
    return n(s, "validator"), s.each = t, s;
  }
  n(Gce, "assertEach");
  function OHt(...t) {
    function e(s, r, i) {
      if (!t.includes(i))
        throw new TypeError(`Property ${r} expected value to be one of ${JSON.stringify(t)} but got ${JSON.stringify(i)}`);
    }
    return n(e, "validate"), e.oneOf = t, e;
  }
  n(OHt, "assertOneOf");
  function B1(...t) {
    function e(s, r, i) {
      for (let a of t)
        if ((0, Yce.default)(a, i)) {
          (0, L1.validateChild)(s, r, i);
          return;
        }
      throw new TypeError(`Property ${r} of ${s.type} expected node to be of a type ${JSON.stringify(t)} but instead got ${JSON.stringify(i?.
      type)}`);
    }
    return n(e, "validate"), e.oneOfNodeTypes = t, e;
  }
  n(B1, "assertNodeType");
  function _Ht(...t) {
    function e(s, r, i) {
      for (let a of t)
        if (_1(i) === a || (0, Yce.default)(a, i)) {
          (0, L1.validateChild)(s, r, i);
          return;
        }
      throw new TypeError(`Property ${r} of ${s.type} expected node to be of a type ${JSON.stringify(t)} but instead got ${JSON.stringify(i?.
      type)}`);
    }
    return n(e, "validate"), e.oneOfNodeOrValueTypes = t, e;
  }
  n(_Ht, "assertNodeOrValueType");
  function Oj(t) {
    function e(s, r, i) {
      if (!(_1(i) === t))
        throw new TypeError(`Property ${r} expected type of ${t} but got ${_1(i)}`);
    }
    return n(e, "validate"), e.type = t, e;
  }
  n(Oj, "assertValueType");
  function LHt(t) {
    function e(s, r, i) {
      let a = [];
      for (let o of Object.keys(t))
        try {
          (0, L1.validateField)(s, o, i[o], t[o]);
        } catch (l) {
          if (l instanceof TypeError) {
            a.push(l.message);
            continue;
          }
          throw l;
        }
      if (a.length)
        throw new TypeError(`Property ${r} of ${s.type} expected to have the following:
${a.join(`
`)}`);
    }
    return n(e, "validate"), e.shapeOf = t, e;
  }
  n(LHt, "assertShape");
  function BHt() {
    function t(e) {
      var s;
      let r = e;
      for (; e; ) {
        let {
          type: i
        } = r;
        if (i === "OptionalCallExpression") {
          if (r.optional) return;
          r = r.callee;
          continue;
        }
        if (i === "OptionalMemberExpression") {
          if (r.optional) return;
          r = r.object;
          continue;
        }
        break;
      }
      throw new TypeError(`Non-optional ${e.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chai\
n from ${(s = r) == null ? void 0 : s.type}`);
    }
    return n(t, "validate"), t;
  }
  n(BHt, "assertOptionalChainStart");
  function Qce(...t) {
    function e(...s) {
      for (let r of t)
        r(...s);
    }
    if (n(e, "validate"), e.chainOf = t, t.length >= 2 && "type" in t[0] && t[0].type === "array" && !("each" in t[1]))
      throw new Error('An assertValueType("array") validator can only be followed by an assertEach(...) validator.');
    return e;
  }
  n(Qce, "chain");
  var MHt = /* @__PURE__ */ new Set(["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate"]), FHt = /* @__PURE__ */ new Set(
  ["default", "optional", "deprecated", "validate"]), kj = {};
  function jHt(...t) {
    return (e, s = {}) => {
      let r = s.aliases;
      if (!r) {
        var i, a;
        s.inherits && (r = (i = kj[s.inherits].aliases) == null ? void 0 : i.slice()), (a = r) != null || (r = []), s.aliases = r;
      }
      let o = t.filter((l) => !r.includes(l));
      r.unshift(...o), Zce(e, s);
    };
  }
  n(jHt, "defineAliasedType");
  function Zce(t, e = {}) {
    let s = e.inherits && kj[e.inherits] || {}, r = e.fields;
    if (!r && (r = {}, s.fields)) {
      let l = Object.getOwnPropertyNames(s.fields);
      for (let u of l) {
        let c = s.fields[u], p = c.default;
        if (Array.isArray(p) ? p.length > 0 : p && typeof p == "object")
          throw new Error("field defaults can only be primitives or empty arrays currently");
        r[u] = {
          default: Array.isArray(p) ? [] : p,
          optional: c.optional,
          deprecated: c.deprecated,
          validate: c.validate
        };
      }
    }
    let i = e.visitor || s.visitor || [], a = e.aliases || s.aliases || [], o = e.builder || s.builder || e.visitor || [];
    for (let l of Object.keys(e))
      if (!MHt.has(l))
        throw new Error(`Unknown type option "${l}" on ${t}`);
    e.deprecatedAlias && (CHt[e.deprecatedAlias] = t);
    for (let l of i.concat(o))
      r[l] = r[l] || {};
    for (let l of Object.keys(r)) {
      let u = r[l];
      u.default !== void 0 && !o.includes(l) && (u.optional = !0), u.default === void 0 ? u.default = null : !u.validate && u.default != null &&
      (u.validate = Oj(_1(u.default)));
      for (let c of Object.keys(u))
        if (!FHt.has(c))
          throw new Error(`Unknown field key "${c}" on ${t}.${l}`);
    }
    PHt[t] = e.visitor = i, vHt[t] = e.builder = o, AHt[t] = e.fields = r, EHt[t] = e.aliases = a, a.forEach((l) => {
      Nj[l] = Nj[l] || [], Nj[l].push(t);
    }), e.validate && (wHt[t] = e.validate), kj[t] = e;
  }
  n(Zce, "defineType");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/definitions/core.js
var IT = g((ln) => {
  "use strict";
  Object.defineProperty(ln, "__esModule", {
    value: !0
  });
  ln.patternLikeCommon = ln.importAttributes = ln.functionTypeAnnotationCommon = ln.functionDeclarationCommon = ln.functionCommon = ln.classMethodOrPropertyCommon =
  ln.classMethodOrDeclareMethodCommon = void 0;
  var Rn = ay(), RHt = oy(), epe = ba(), qHt = bb(), wT = Mp(), U = Il(), Me = (0, U.defineAliasedType)("Standardized");
  Me("ArrayExpression", {
    fields: {
      elements: {
        validate: (0, U.arrayOf)((0, U.assertNodeOrValueType)("null", "Expression", "SpreadElement")),
        default: process.env.BABEL_TYPES_8_BREAKING ? void 0 : []
      }
    },
    visitor: ["elements"],
    aliases: ["Expression"]
  });
  Me("AssignmentExpression", {
    fields: {
      operator: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? Object.assign(function() {
          let t = (0, U.assertOneOf)(...wT.ASSIGNMENT_OPERATORS), e = (0, U.assertOneOf)("=");
          return function(s, r, i) {
            ((0, Rn.default)("Pattern", s.left) ? e : t)(s, r, i);
          };
        }(), {
          type: "string"
        }) : (0, U.assertValueType)("string")
      },
      left: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.assertNodeType)("Identifier", "MemberExpression", "OptionalMemberExpression", "\
ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") : (0, U.assertNodeType)(
        "LVal", "OptionalMemberExpression")
      },
      right: {
        validate: (0, U.assertNodeType)("Expression")
      }
    },
    builder: ["operator", "left", "right"],
    visitor: ["left", "right"],
    aliases: ["Expression"]
  });
  Me("BinaryExpression", {
    builder: ["operator", "left", "right"],
    fields: {
      operator: {
        validate: (0, U.assertOneOf)(...wT.BINARY_OPERATORS)
      },
      left: {
        validate: function() {
          let t = (0, U.assertNodeType)("Expression"), e = (0, U.assertNodeType)("Expression", "PrivateName");
          return Object.assign(function(r, i, a) {
            (r.operator === "in" ? e : t)(r, i, a);
          }, {
            oneOfNodeTypes: ["Expression", "PrivateName"]
          });
        }()
      },
      right: {
        validate: (0, U.assertNodeType)("Expression")
      }
    },
    visitor: ["left", "right"],
    aliases: ["Binary", "Expression"]
  });
  Me("InterpreterDirective", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, U.assertValueType)("string")
      }
    }
  });
  Me("Directive", {
    visitor: ["value"],
    fields: {
      value: {
        validate: (0, U.assertNodeType)("DirectiveLiteral")
      }
    }
  });
  Me("DirectiveLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, U.assertValueType)("string")
      }
    }
  });
  Me("BlockStatement", {
    builder: ["body", "directives"],
    visitor: ["directives", "body"],
    fields: {
      directives: {
        validate: (0, U.arrayOfType)("Directive"),
        default: []
      },
      body: (0, U.validateArrayOfType)("Statement")
    },
    aliases: ["Scopable", "BlockParent", "Block", "Statement"]
  });
  Me("BreakStatement", {
    visitor: ["label"],
    fields: {
      label: {
        validate: (0, U.assertNodeType)("Identifier"),
        optional: !0
      }
    },
    aliases: ["Statement", "Terminatorless", "CompletionStatement"]
  });
  Me("CallExpression", {
    visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
    builder: ["callee", "arguments"],
    aliases: ["Expression"],
    fields: Object.assign({
      callee: {
        validate: (0, U.assertNodeType)("Expression", "Super", "V8IntrinsicIdentifier")
      },
      arguments: (0, U.validateArrayOfType)("Expression", "SpreadElement", "ArgumentPlaceholder"),
      typeArguments: {
        validate: (0, U.assertNodeType)("TypeParameterInstantiation"),
        optional: !0
      }
    }, {
      optional: {
        validate: (0, U.assertValueType)("boolean"),
        optional: !0
      },
      typeParameters: {
        validate: (0, U.assertNodeType)("TSTypeParameterInstantiation"),
        optional: !0
      }
    }, process.env.BABEL_TYPES_8_BREAKING ? {} : {
      optional: {
        validate: (0, U.assertValueType)("boolean"),
        optional: !0
      }
    })
  });
  Me("CatchClause", {
    visitor: ["param", "body"],
    fields: {
      param: {
        validate: (0, U.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"),
        optional: !0
      },
      body: {
        validate: (0, U.assertNodeType)("BlockStatement")
      }
    },
    aliases: ["Scopable", "BlockParent"]
  });
  Me("ConditionalExpression", {
    visitor: ["test", "consequent", "alternate"],
    fields: {
      test: {
        validate: (0, U.assertNodeType)("Expression")
      },
      consequent: {
        validate: (0, U.assertNodeType)("Expression")
      },
      alternate: {
        validate: (0, U.assertNodeType)("Expression")
      }
    },
    aliases: ["Expression", "Conditional"]
  });
  Me("ContinueStatement", {
    visitor: ["label"],
    fields: {
      label: {
        validate: (0, U.assertNodeType)("Identifier"),
        optional: !0
      }
    },
    aliases: ["Statement", "Terminatorless", "CompletionStatement"]
  });
  Me("DebuggerStatement", {
    aliases: ["Statement"]
  });
  Me("DoWhileStatement", {
    builder: ["test", "body"],
    visitor: ["body", "test"],
    fields: {
      test: {
        validate: (0, U.assertNodeType)("Expression")
      },
      body: {
        validate: (0, U.assertNodeType)("Statement")
      }
    },
    aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"]
  });
  Me("EmptyStatement", {
    aliases: ["Statement"]
  });
  Me("ExpressionStatement", {
    visitor: ["expression"],
    fields: {
      expression: {
        validate: (0, U.assertNodeType)("Expression")
      }
    },
    aliases: ["Statement", "ExpressionWrapper"]
  });
  Me("File", {
    builder: ["program", "comments", "tokens"],
    visitor: ["program"],
    fields: {
      program: {
        validate: (0, U.assertNodeType)("Program")
      },
      comments: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.assertEach)((0, U.assertNodeType)("CommentBlock", "CommentLine")) : Object.assign(
        () => {
        }, {
          each: {
            oneOfNodeTypes: ["CommentBlock", "CommentLine"]
          }
        }),
        optional: !0
      },
      tokens: {
        validate: (0, U.assertEach)(Object.assign(() => {
        }, {
          type: "any"
        })),
        optional: !0
      }
    }
  });
  Me("ForInStatement", {
    visitor: ["left", "right", "body"],
    aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
    fields: {
      left: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.assertNodeType)("VariableDeclaration", "Identifier", "MemberExpression", "Array\
Pattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") : (0, U.assertNodeType)("Var\
iableDeclaration", "LVal")
      },
      right: {
        validate: (0, U.assertNodeType)("Expression")
      },
      body: {
        validate: (0, U.assertNodeType)("Statement")
      }
    }
  });
  Me("ForStatement", {
    visitor: ["init", "test", "update", "body"],
    aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"],
    fields: {
      init: {
        validate: (0, U.assertNodeType)("VariableDeclaration", "Expression"),
        optional: !0
      },
      test: {
        validate: (0, U.assertNodeType)("Expression"),
        optional: !0
      },
      update: {
        validate: (0, U.assertNodeType)("Expression"),
        optional: !0
      },
      body: {
        validate: (0, U.assertNodeType)("Statement")
      }
    }
  });
  var ly = /* @__PURE__ */ n(() => ({
    params: (0, U.validateArrayOfType)("Identifier", "Pattern", "RestElement"),
    generator: {
      default: !1
    },
    async: {
      default: !1
    }
  }), "functionCommon");
  ln.functionCommon = ly;
  var Nf = /* @__PURE__ */ n(() => ({
    returnType: {
      validate: (0, U.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
      optional: !0
    },
    typeParameters: {
      validate: (0, U.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
      optional: !0
    }
  }), "functionTypeAnnotationCommon");
  ln.functionTypeAnnotationCommon = Nf;
  var tpe = /* @__PURE__ */ n(() => Object.assign({}, ly(), {
    declare: {
      validate: (0, U.assertValueType)("boolean"),
      optional: !0
    },
    id: {
      validate: (0, U.assertNodeType)("Identifier"),
      optional: !0
    }
  }), "functionDeclarationCommon");
  ln.functionDeclarationCommon = tpe;
  Me("FunctionDeclaration", {
    builder: ["id", "params", "body", "generator", "async"],
    visitor: ["id", "typeParameters", "params", "predicate", "returnType", "body"],
    fields: Object.assign({}, tpe(), Nf(), {
      body: {
        validate: (0, U.assertNodeType)("BlockStatement")
      },
      predicate: {
        validate: (0, U.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
        optional: !0
      }
    }),
    aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"],
    validate: process.env.BABEL_TYPES_8_BREAKING ? function() {
      let t = (0, U.assertNodeType)("Identifier");
      return function(e, s, r) {
        (0, Rn.default)("ExportDefaultDeclaration", e) || t(r, "id", r.id);
      };
    }() : void 0
  });
  Me("FunctionExpression", {
    inherits: "FunctionDeclaration",
    aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
    fields: Object.assign({}, ly(), Nf(), {
      id: {
        validate: (0, U.assertNodeType)("Identifier"),
        optional: !0
      },
      body: {
        validate: (0, U.assertNodeType)("BlockStatement")
      },
      predicate: {
        validate: (0, U.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
        optional: !0
      }
    })
  });
  var uy = /* @__PURE__ */ n(() => ({
    typeAnnotation: {
      validate: (0, U.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
      optional: !0
    },
    optional: {
      validate: (0, U.assertValueType)("boolean"),
      optional: !0
    },
    decorators: {
      validate: (0, U.arrayOfType)("Decorator"),
      optional: !0
    }
  }), "patternLikeCommon");
  ln.patternLikeCommon = uy;
  Me("Identifier", {
    builder: ["name"],
    visitor: ["typeAnnotation", "decorators"],
    aliases: ["Expression", "PatternLike", "LVal", "TSEntityName"],
    fields: Object.assign({}, uy(), {
      name: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.chain)((0, U.assertValueType)("string"), Object.assign(function(t, e, s) {
          if (!(0, RHt.default)(s, !1))
            throw new TypeError(`"${s}" is not a valid identifier name`);
        }, {
          type: "string"
        })) : (0, U.assertValueType)("string")
      }
    }),
    validate: process.env.BABEL_TYPES_8_BREAKING ? function(t, e, s) {
      let r = /\.(\w+)$/.exec(e);
      if (!r) return;
      let [, i] = r, a = {
        computed: !1
      };
      if (i === "property") {
        if ((0, Rn.default)("MemberExpression", t, a) || (0, Rn.default)("OptionalMemberExpression", t, a)) return;
      } else if (i === "key") {
        if ((0, Rn.default)("Property", t, a) || (0, Rn.default)("Method", t, a)) return;
      } else if (i === "exported") {
        if ((0, Rn.default)("ExportSpecifier", t)) return;
      } else if (i === "imported") {
        if ((0, Rn.default)("ImportSpecifier", t, {
          imported: s
        })) return;
      } else if (i === "meta" && (0, Rn.default)("MetaProperty", t, {
        meta: s
      }))
        return;
      if (((0, epe.isKeyword)(s.name) || (0, epe.isReservedWord)(s.name, !1)) && s.name !== "this")
        throw new TypeError(`"${s.name}" is not a valid identifier`);
    } : void 0
  });
  Me("IfStatement", {
    visitor: ["test", "consequent", "alternate"],
    aliases: ["Statement", "Conditional"],
    fields: {
      test: {
        validate: (0, U.assertNodeType)("Expression")
      },
      consequent: {
        validate: (0, U.assertNodeType)("Statement")
      },
      alternate: {
        optional: !0,
        validate: (0, U.assertNodeType)("Statement")
      }
    }
  });
  Me("LabeledStatement", {
    visitor: ["label", "body"],
    aliases: ["Statement"],
    fields: {
      label: {
        validate: (0, U.assertNodeType)("Identifier")
      },
      body: {
        validate: (0, U.assertNodeType)("Statement")
      }
    }
  });
  Me("StringLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, U.assertValueType)("string")
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Me("NumericLiteral", {
    builder: ["value"],
    deprecatedAlias: "NumberLiteral",
    fields: {
      value: {
        validate: (0, U.chain)((0, U.assertValueType)("number"), Object.assign(function(t, e, s) {
          if (1 / s < 0 || !Number.isFinite(s)) {
            let r = new Error(`NumericLiterals must be non-negative finite numbers. You can use t.valueToNode(${s}) instead.`);
          }
        }, {
          type: "number"
        }))
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Me("NullLiteral", {
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Me("BooleanLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, U.assertValueType)("boolean")
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Me("RegExpLiteral", {
    builder: ["pattern", "flags"],
    deprecatedAlias: "RegexLiteral",
    aliases: ["Expression", "Pureish", "Literal"],
    fields: {
      pattern: {
        validate: (0, U.assertValueType)("string")
      },
      flags: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.chain)((0, U.assertValueType)("string"), Object.assign(function(t, e, s) {
          let r = /[^gimsuy]/.exec(s);
          if (r)
            throw new TypeError(`"${r[0]}" is not a valid RegExp flag`);
        }, {
          type: "string"
        })) : (0, U.assertValueType)("string"),
        default: ""
      }
    }
  });
  Me("LogicalExpression", {
    builder: ["operator", "left", "right"],
    visitor: ["left", "right"],
    aliases: ["Binary", "Expression"],
    fields: {
      operator: {
        validate: (0, U.assertOneOf)(...wT.LOGICAL_OPERATORS)
      },
      left: {
        validate: (0, U.assertNodeType)("Expression")
      },
      right: {
        validate: (0, U.assertNodeType)("Expression")
      }
    }
  });
  Me("MemberExpression", {
    builder: ["object", "property", "computed", ...process.env.BABEL_TYPES_8_BREAKING ? [] : ["optional"]],
    visitor: ["object", "property"],
    aliases: ["Expression", "LVal"],
    fields: Object.assign({
      object: {
        validate: (0, U.assertNodeType)("Expression", "Super")
      },
      property: {
        validate: function() {
          let t = (0, U.assertNodeType)("Identifier", "PrivateName"), e = (0, U.assertNodeType)("Expression"), s = /* @__PURE__ */ n(function(r, i, a) {
            (r.computed ? e : t)(r, i, a);
          }, "validator");
          return s.oneOfNodeTypes = ["Expression", "Identifier", "PrivateName"], s;
        }()
      },
      computed: {
        default: !1
      }
    }, process.env.BABEL_TYPES_8_BREAKING ? {} : {
      optional: {
        validate: (0, U.assertValueType)("boolean"),
        optional: !0
      }
    })
  });
  Me("NewExpression", {
    inherits: "CallExpression"
  });
  Me("Program", {
    visitor: ["directives", "body"],
    builder: ["body", "directives", "sourceType", "interpreter"],
    fields: {
      sourceType: {
        validate: (0, U.assertOneOf)("script", "module"),
        default: "script"
      },
      interpreter: {
        validate: (0, U.assertNodeType)("InterpreterDirective"),
        default: null,
        optional: !0
      },
      directives: {
        validate: (0, U.arrayOfType)("Directive"),
        default: []
      },
      body: (0, U.validateArrayOfType)("Statement")
    },
    aliases: ["Scopable", "BlockParent", "Block"]
  });
  Me("ObjectExpression", {
    visitor: ["properties"],
    aliases: ["Expression"],
    fields: {
      properties: (0, U.validateArrayOfType)("ObjectMethod", "ObjectProperty", "SpreadElement")
    }
  });
  Me("ObjectMethod", {
    builder: ["kind", "key", "params", "body", "computed", "generator", "async"],
    visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"],
    fields: Object.assign({}, ly(), Nf(), {
      kind: Object.assign({
        validate: (0, U.assertOneOf)("method", "get", "set")
      }, process.env.BABEL_TYPES_8_BREAKING ? {} : {
        default: "method"
      }),
      computed: {
        default: !1
      },
      key: {
        validate: function() {
          let t = (0, U.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"), e = (0, U.assertNodeType)("Expres\
sion"), s = /* @__PURE__ */ n(function(r, i, a) {
            (r.computed ? e : t)(r, i, a);
          }, "validator");
          return s.oneOfNodeTypes = ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"], s;
        }()
      },
      decorators: {
        validate: (0, U.arrayOfType)("Decorator"),
        optional: !0
      },
      body: {
        validate: (0, U.assertNodeType)("BlockStatement")
      }
    }),
    aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"]
  });
  Me("ObjectProperty", {
    builder: ["key", "value", "computed", "shorthand", ...process.env.BABEL_TYPES_8_BREAKING ? [] : ["decorators"]],
    fields: {
      computed: {
        default: !1
      },
      key: {
        validate: function() {
          let t = (0, U.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"), e = (0, U.
          assertNodeType)("Expression");
          return Object.assign(function(r, i, a) {
            (r.computed ? e : t)(r, i, a);
          }, {
            oneOfNodeTypes: ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"]
          });
        }()
      },
      value: {
        validate: (0, U.assertNodeType)("Expression", "PatternLike")
      },
      shorthand: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.chain)((0, U.assertValueType)("boolean"), Object.assign(function(t, e, s) {
          if (s) {
            if (t.computed)
              throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true");
            if (!(0, Rn.default)("Identifier", t.key))
              throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier");
          }
        }, {
          type: "boolean"
        })) : (0, U.assertValueType)("boolean"),
        default: !1
      },
      decorators: {
        validate: (0, U.arrayOfType)("Decorator"),
        optional: !0
      }
    },
    visitor: ["key", "value", "decorators"],
    aliases: ["UserWhitespacable", "Property", "ObjectMember"],
    validate: process.env.BABEL_TYPES_8_BREAKING ? function() {
      let t = (0, U.assertNodeType)("Identifier", "Pattern", "TSAsExpression", "TSSatisfiesExpression", "TSNonNullExpression", "TSTypeAssert\
ion"), e = (0, U.assertNodeType)("Expression");
      return function(s, r, i) {
        ((0, Rn.default)("ObjectPattern", s) ? t : e)(i, "value", i.value);
      };
    }() : void 0
  });
  Me("RestElement", {
    visitor: ["argument", "typeAnnotation"],
    builder: ["argument"],
    aliases: ["LVal", "PatternLike"],
    deprecatedAlias: "RestProperty",
    fields: Object.assign({}, uy(), {
      argument: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "MemberExpressio\
n", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") : (0, U.assertNodeType)("LVal")
      }
    }),
    validate: process.env.BABEL_TYPES_8_BREAKING ? function(t, e) {
      let s = /(\w+)\[(\d+)\]/.exec(e);
      if (!s) throw new Error("Internal Babel error: malformed key.");
      let [, r, i] = s;
      if (t[r].length > +i + 1)
        throw new TypeError(`RestElement must be last element of ${r}`);
    } : void 0
  });
  Me("ReturnStatement", {
    visitor: ["argument"],
    aliases: ["Statement", "Terminatorless", "CompletionStatement"],
    fields: {
      argument: {
        validate: (0, U.assertNodeType)("Expression"),
        optional: !0
      }
    }
  });
  Me("SequenceExpression", {
    visitor: ["expressions"],
    fields: {
      expressions: (0, U.validateArrayOfType)("Expression")
    },
    aliases: ["Expression"]
  });
  Me("ParenthesizedExpression", {
    visitor: ["expression"],
    aliases: ["Expression", "ExpressionWrapper"],
    fields: {
      expression: {
        validate: (0, U.assertNodeType)("Expression")
      }
    }
  });
  Me("SwitchCase", {
    visitor: ["test", "consequent"],
    fields: {
      test: {
        validate: (0, U.assertNodeType)("Expression"),
        optional: !0
      },
      consequent: (0, U.validateArrayOfType)("Statement")
    }
  });
  Me("SwitchStatement", {
    visitor: ["discriminant", "cases"],
    aliases: ["Statement", "BlockParent", "Scopable"],
    fields: {
      discriminant: {
        validate: (0, U.assertNodeType)("Expression")
      },
      cases: (0, U.validateArrayOfType)("SwitchCase")
    }
  });
  Me("ThisExpression", {
    aliases: ["Expression"]
  });
  Me("ThrowStatement", {
    visitor: ["argument"],
    aliases: ["Statement", "Terminatorless", "CompletionStatement"],
    fields: {
      argument: {
        validate: (0, U.assertNodeType)("Expression")
      }
    }
  });
  Me("TryStatement", {
    visitor: ["block", "handler", "finalizer"],
    aliases: ["Statement"],
    fields: {
      block: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.chain)((0, U.assertNodeType)("BlockStatement"), Object.assign(function(t) {
          if (!t.handler && !t.finalizer)
            throw new TypeError("TryStatement expects either a handler or finalizer, or both");
        }, {
          oneOfNodeTypes: ["BlockStatement"]
        })) : (0, U.assertNodeType)("BlockStatement")
      },
      handler: {
        optional: !0,
        validate: (0, U.assertNodeType)("CatchClause")
      },
      finalizer: {
        optional: !0,
        validate: (0, U.assertNodeType)("BlockStatement")
      }
    }
  });
  Me("UnaryExpression", {
    builder: ["operator", "argument", "prefix"],
    fields: {
      prefix: {
        default: !0
      },
      argument: {
        validate: (0, U.assertNodeType)("Expression")
      },
      operator: {
        validate: (0, U.assertOneOf)(...wT.UNARY_OPERATORS)
      }
    },
    visitor: ["argument"],
    aliases: ["UnaryLike", "Expression"]
  });
  Me("UpdateExpression", {
    builder: ["operator", "argument", "prefix"],
    fields: {
      prefix: {
        default: !1
      },
      argument: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.assertNodeType)("Identifier", "MemberExpression") : (0, U.assertNodeType)("Expr\
ession")
      },
      operator: {
        validate: (0, U.assertOneOf)(...wT.UPDATE_OPERATORS)
      }
    },
    visitor: ["argument"],
    aliases: ["Expression"]
  });
  Me("VariableDeclaration", {
    builder: ["kind", "declarations"],
    visitor: ["declarations"],
    aliases: ["Statement", "Declaration"],
    fields: {
      declare: {
        validate: (0, U.assertValueType)("boolean"),
        optional: !0
      },
      kind: {
        validate: (0, U.assertOneOf)("var", "let", "const", "using", "await using")
      },
      declarations: (0, U.validateArrayOfType)("VariableDeclarator")
    },
    validate: process.env.BABEL_TYPES_8_BREAKING ? (() => {
      let t = (0, U.assertNodeType)("Identifier");
      return function(e, s, r) {
        if ((0, Rn.default)("ForXStatement", e, {
          left: r
        })) {
          if (r.declarations.length !== 1)
            throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${e.type}`);
        } else
          r.declarations.forEach((i) => {
            i.init || t(i, "id", i.id);
          });
      };
    })() : void 0
  });
  Me("VariableDeclarator", {
    visitor: ["id", "init"],
    fields: {
      id: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern") : (0, U.assertNodeType)(
        "LVal")
      },
      definite: {
        optional: !0,
        validate: (0, U.assertValueType)("boolean")
      },
      init: {
        optional: !0,
        validate: (0, U.assertNodeType)("Expression")
      }
    }
  });
  Me("WhileStatement", {
    visitor: ["test", "body"],
    aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"],
    fields: {
      test: {
        validate: (0, U.assertNodeType)("Expression")
      },
      body: {
        validate: (0, U.assertNodeType)("Statement")
      }
    }
  });
  Me("WithStatement", {
    visitor: ["object", "body"],
    aliases: ["Statement"],
    fields: {
      object: {
        validate: (0, U.assertNodeType)("Expression")
      },
      body: {
        validate: (0, U.assertNodeType)("Statement")
      }
    }
  });
  Me("AssignmentPattern", {
    visitor: ["left", "right", "decorators"],
    builder: ["left", "right"],
    aliases: ["Pattern", "PatternLike", "LVal"],
    fields: Object.assign({}, uy(), {
      left: {
        validate: (0, U.assertNodeType)("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExp\
ression", "TSTypeAssertion", "TSNonNullExpression")
      },
      right: {
        validate: (0, U.assertNodeType)("Expression")
      },
      decorators: {
        validate: (0, U.arrayOfType)("Decorator"),
        optional: !0
      }
    })
  });
  Me("ArrayPattern", {
    visitor: ["elements", "typeAnnotation"],
    builder: ["elements"],
    aliases: ["Pattern", "PatternLike", "LVal"],
    fields: Object.assign({}, uy(), {
      elements: {
        validate: (0, U.chain)((0, U.assertValueType)("array"), (0, U.assertEach)((0, U.assertNodeOrValueType)("null", "PatternLike", "LVal")))
      }
    })
  });
  Me("ArrowFunctionExpression", {
    builder: ["params", "body", "async"],
    visitor: ["typeParameters", "params", "predicate", "returnType", "body"],
    aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
    fields: Object.assign({}, ly(), Nf(), {
      expression: {
        validate: (0, U.assertValueType)("boolean")
      },
      body: {
        validate: (0, U.assertNodeType)("BlockStatement", "Expression")
      },
      predicate: {
        validate: (0, U.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
        optional: !0
      }
    })
  });
  Me("ClassBody", {
    visitor: ["body"],
    fields: {
      body: (0, U.validateArrayOfType)("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "ClassAccessorProperty",
      "TSDeclareMethod", "TSIndexSignature", "StaticBlock")
    }
  });
  Me("ClassExpression", {
    builder: ["id", "superClass", "body", "decorators"],
    visitor: ["decorators", "id", "typeParameters", "superClass", "superTypeParameters", "mixins", "implements", "body"],
    aliases: ["Scopable", "Class", "Expression"],
    fields: {
      id: {
        validate: (0, U.assertNodeType)("Identifier"),
        optional: !0
      },
      typeParameters: {
        validate: (0, U.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
        optional: !0
      },
      body: {
        validate: (0, U.assertNodeType)("ClassBody")
      },
      superClass: {
        optional: !0,
        validate: (0, U.assertNodeType)("Expression")
      },
      superTypeParameters: {
        validate: (0, U.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
        optional: !0
      },
      implements: {
        validate: (0, U.arrayOfType)("TSExpressionWithTypeArguments", "ClassImplements"),
        optional: !0
      },
      decorators: {
        validate: (0, U.arrayOfType)("Decorator"),
        optional: !0
      },
      mixins: {
        validate: (0, U.assertNodeType)("InterfaceExtends"),
        optional: !0
      }
    }
  });
  Me("ClassDeclaration", {
    inherits: "ClassExpression",
    aliases: ["Scopable", "Class", "Statement", "Declaration"],
    fields: {
      id: {
        validate: (0, U.assertNodeType)("Identifier"),
        optional: !0
      },
      typeParameters: {
        validate: (0, U.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
        optional: !0
      },
      body: {
        validate: (0, U.assertNodeType)("ClassBody")
      },
      superClass: {
        optional: !0,
        validate: (0, U.assertNodeType)("Expression")
      },
      superTypeParameters: {
        validate: (0, U.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
        optional: !0
      },
      implements: {
        validate: (0, U.arrayOfType)("TSExpressionWithTypeArguments", "ClassImplements"),
        optional: !0
      },
      decorators: {
        validate: (0, U.arrayOfType)("Decorator"),
        optional: !0
      },
      mixins: {
        validate: (0, U.assertNodeType)("InterfaceExtends"),
        optional: !0
      },
      declare: {
        validate: (0, U.assertValueType)("boolean"),
        optional: !0
      },
      abstract: {
        validate: (0, U.assertValueType)("boolean"),
        optional: !0
      }
    },
    validate: process.env.BABEL_TYPES_8_BREAKING ? function() {
      let t = (0, U.assertNodeType)("Identifier");
      return function(e, s, r) {
        (0, Rn.default)("ExportDefaultDeclaration", e) || t(r, "id", r.id);
      };
    }() : void 0
  });
  var _j = ln.importAttributes = {
    attributes: {
      optional: !0,
      validate: (0, U.arrayOfType)("ImportAttribute")
    },
    assertions: {
      deprecated: !0,
      optional: !0,
      validate: (0, U.arrayOfType)("ImportAttribute")
    }
  };
  Me("ExportAllDeclaration", {
    builder: ["source"],
    visitor: ["source", "attributes", "assertions"],
    aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
    fields: Object.assign({
      source: {
        validate: (0, U.assertNodeType)("StringLiteral")
      },
      exportKind: (0, U.validateOptional)((0, U.assertOneOf)("type", "value"))
    }, _j)
  });
  Me("ExportDefaultDeclaration", {
    visitor: ["declaration"],
    aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
    fields: {
      declaration: (0, U.validateType)("TSDeclareFunction", "FunctionDeclaration", "ClassDeclaration", "Expression"),
      exportKind: (0, U.validateOptional)((0, U.assertOneOf)("value"))
    }
  });
  Me("ExportNamedDeclaration", {
    builder: ["declaration", "specifiers", "source"],
    visitor: process.env ? ["declaration", "specifiers", "source", "attributes"] : ["declaration", "specifiers", "source", "attributes", "as\
sertions"],
    aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
    fields: Object.assign({
      declaration: {
        optional: !0,
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.chain)((0, U.assertNodeType)("Declaration"), Object.assign(function(t, e, s) {
          if (s && t.specifiers.length)
            throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration");
          if (s && t.source)
            throw new TypeError("Cannot export a declaration from a source");
        }, {
          oneOfNodeTypes: ["Declaration"]
        })) : (0, U.assertNodeType)("Declaration")
      }
    }, _j, {
      specifiers: {
        default: [],
        validate: (0, U.arrayOf)(function() {
          let t = (0, U.assertNodeType)("ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"), e = (0, U.assertNodeType)(
          "ExportSpecifier");
          return process.env.BABEL_TYPES_8_BREAKING ? Object.assign(function(s, r, i) {
            (s.source ? t : e)(s, r, i);
          }, {
            oneOfNodeTypes: ["ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"]
          }) : t;
        }())
      },
      source: {
        validate: (0, U.assertNodeType)("StringLiteral"),
        optional: !0
      },
      exportKind: (0, U.validateOptional)((0, U.assertOneOf)("type", "value"))
    })
  });
  Me("ExportSpecifier", {
    visitor: ["local", "exported"],
    aliases: ["ModuleSpecifier"],
    fields: {
      local: {
        validate: (0, U.assertNodeType)("Identifier")
      },
      exported: {
        validate: (0, U.assertNodeType)("Identifier", "StringLiteral")
      },
      exportKind: {
        validate: (0, U.assertOneOf)("type", "value"),
        optional: !0
      }
    }
  });
  Me("ForOfStatement", {
    visitor: ["left", "right", "body"],
    builder: ["left", "right", "body", "await"],
    aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
    fields: {
      left: {
        validate: function() {
          if (!process.env.BABEL_TYPES_8_BREAKING)
            return (0, U.assertNodeType)("VariableDeclaration", "LVal");
          let t = (0, U.assertNodeType)("VariableDeclaration"), e = (0, U.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "\
ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression");
          return Object.assign(function(s, r, i) {
            (0, Rn.default)("VariableDeclaration", i) ? t(s, r, i) : e(s, r, i);
          }, {
            oneOfNodeTypes: ["VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TS\
SatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression"]
          });
        }()
      },
      right: {
        validate: (0, U.assertNodeType)("Expression")
      },
      body: {
        validate: (0, U.assertNodeType)("Statement")
      },
      await: {
        default: !1
      }
    }
  });
  Me("ImportDeclaration", {
    builder: ["specifiers", "source"],
    visitor: ["specifiers", "source", "attributes", "assertions"],
    aliases: ["Statement", "Declaration", "ImportOrExportDeclaration"],
    fields: Object.assign({}, _j, {
      module: {
        optional: !0,
        validate: (0, U.assertValueType)("boolean")
      },
      phase: {
        default: null,
        validate: (0, U.assertOneOf)("source", "defer")
      },
      specifiers: (0, U.validateArrayOfType)("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier"),
      source: {
        validate: (0, U.assertNodeType)("StringLiteral")
      },
      importKind: {
        validate: (0, U.assertOneOf)("type", "typeof", "value"),
        optional: !0
      }
    })
  });
  Me("ImportDefaultSpecifier", {
    visitor: ["local"],
    aliases: ["ModuleSpecifier"],
    fields: {
      local: {
        validate: (0, U.assertNodeType)("Identifier")
      }
    }
  });
  Me("ImportNamespaceSpecifier", {
    visitor: ["local"],
    aliases: ["ModuleSpecifier"],
    fields: {
      local: {
        validate: (0, U.assertNodeType)("Identifier")
      }
    }
  });
  Me("ImportSpecifier", {
    visitor: ["imported", "local"],
    builder: ["local", "imported"],
    aliases: ["ModuleSpecifier"],
    fields: {
      local: {
        validate: (0, U.assertNodeType)("Identifier")
      },
      imported: {
        validate: (0, U.assertNodeType)("Identifier", "StringLiteral")
      },
      importKind: {
        validate: (0, U.assertOneOf)("type", "typeof", "value"),
        optional: !0
      }
    }
  });
  Me("ImportExpression", {
    visitor: ["source", "options"],
    aliases: ["Expression"],
    fields: {
      phase: {
        default: null,
        validate: (0, U.assertOneOf)("source", "defer")
      },
      source: {
        validate: (0, U.assertNodeType)("Expression")
      },
      options: {
        validate: (0, U.assertNodeType)("Expression"),
        optional: !0
      }
    }
  });
  Me("MetaProperty", {
    visitor: ["meta", "property"],
    aliases: ["Expression"],
    fields: {
      meta: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.chain)((0, U.assertNodeType)("Identifier"), Object.assign(function(t, e, s) {
          let r;
          switch (s.name) {
            case "function":
              r = "sent";
              break;
            case "new":
              r = "target";
              break;
            case "import":
              r = "meta";
              break;
          }
          if (!(0, Rn.default)("Identifier", t.property, {
            name: r
          }))
            throw new TypeError("Unrecognised MetaProperty");
        }, {
          oneOfNodeTypes: ["Identifier"]
        })) : (0, U.assertNodeType)("Identifier")
      },
      property: {
        validate: (0, U.assertNodeType)("Identifier")
      }
    }
  });
  var F1 = /* @__PURE__ */ n(() => ({
    abstract: {
      validate: (0, U.assertValueType)("boolean"),
      optional: !0
    },
    accessibility: {
      validate: (0, U.assertOneOf)("public", "private", "protected"),
      optional: !0
    },
    static: {
      default: !1
    },
    override: {
      default: !1
    },
    computed: {
      default: !1
    },
    optional: {
      validate: (0, U.assertValueType)("boolean"),
      optional: !0
    },
    key: {
      validate: (0, U.chain)(function() {
        let t = (0, U.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"), e = (0, U.assertNodeType)("Expressi\
on");
        return function(s, r, i) {
          (s.computed ? e : t)(s, r, i);
        };
      }(), (0, U.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression"))
    }
  }), "classMethodOrPropertyCommon");
  ln.classMethodOrPropertyCommon = F1;
  var Lj = /* @__PURE__ */ n(() => Object.assign({}, ly(), F1(), {
    params: (0, U.validateArrayOfType)("Identifier", "Pattern", "RestElement", "TSParameterProperty"),
    kind: {
      validate: (0, U.assertOneOf)("get", "set", "method", "constructor"),
      default: "method"
    },
    access: {
      validate: (0, U.chain)((0, U.assertValueType)("string"), (0, U.assertOneOf)("public", "private", "protected")),
      optional: !0
    },
    decorators: {
      validate: (0, U.arrayOfType)("Decorator"),
      optional: !0
    }
  }), "classMethodOrDeclareMethodCommon");
  ln.classMethodOrDeclareMethodCommon = Lj;
  Me("ClassMethod", {
    aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"],
    builder: ["kind", "key", "params", "body", "computed", "static", "generator", "async"],
    visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"],
    fields: Object.assign({}, Lj(), Nf(), {
      body: {
        validate: (0, U.assertNodeType)("BlockStatement")
      }
    })
  });
  Me("ObjectPattern", {
    visitor: ["properties", "typeAnnotation", "decorators"],
    builder: ["properties"],
    aliases: ["Pattern", "PatternLike", "LVal"],
    fields: Object.assign({}, uy(), {
      properties: (0, U.validateArrayOfType)("RestElement", "ObjectProperty")
    })
  });
  Me("SpreadElement", {
    visitor: ["argument"],
    aliases: ["UnaryLike"],
    deprecatedAlias: "SpreadProperty",
    fields: {
      argument: {
        validate: (0, U.assertNodeType)("Expression")
      }
    }
  });
  Me("Super", {
    aliases: ["Expression"]
  });
  Me("TaggedTemplateExpression", {
    visitor: ["tag", "typeParameters", "quasi"],
    builder: ["tag", "quasi"],
    aliases: ["Expression"],
    fields: {
      tag: {
        validate: (0, U.assertNodeType)("Expression")
      },
      quasi: {
        validate: (0, U.assertNodeType)("TemplateLiteral")
      },
      typeParameters: {
        validate: (0, U.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
        optional: !0
      }
    }
  });
  Me("TemplateElement", {
    builder: ["value", "tail"],
    fields: {
      value: {
        validate: (0, U.chain)((0, U.assertShape)({
          raw: {
            validate: (0, U.assertValueType)("string")
          },
          cooked: {
            validate: (0, U.assertValueType)("string"),
            optional: !0
          }
        }), /* @__PURE__ */ n(function(e) {
          let s = e.value.raw, r = !1, i = /* @__PURE__ */ n(() => {
            throw new Error("Internal @babel/types error.");
          }, "error"), {
            str: a,
            firstInvalidLoc: o
          } = (0, qHt.readStringContents)("template", s, 0, 0, 0, {
            unterminated() {
              r = !0;
            },
            strictNumericEscape: i,
            invalidEscapeSequence: i,
            numericSeparatorInEscapeSequence: i,
            unexpectedNumericSeparator: i,
            invalidDigit: i,
            invalidCodePoint: i
          });
          if (!r) throw new Error("Invalid raw");
          e.value.cooked = o ? null : a;
        }, "templateElementCookedValidator"))
      },
      tail: {
        default: !1
      }
    }
  });
  Me("TemplateLiteral", {
    visitor: ["quasis", "expressions"],
    aliases: ["Expression", "Literal"],
    fields: {
      quasis: (0, U.validateArrayOfType)("TemplateElement"),
      expressions: {
        validate: (0, U.chain)((0, U.assertValueType)("array"), (0, U.assertEach)((0, U.assertNodeType)("Expression", "TSType")), function(t, e, s) {
          if (t.quasis.length !== s.length + 1)
            throw new TypeError(`Number of ${t.type} quasis should be exactly one more than the number of expressions.
Expected ${s.length + 1} quasis but got ${t.quasis.length}`);
        })
      }
    }
  });
  Me("YieldExpression", {
    builder: ["argument", "delegate"],
    visitor: ["argument"],
    aliases: ["Expression", "Terminatorless"],
    fields: {
      delegate: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.chain)((0, U.assertValueType)("boolean"), Object.assign(function(t, e, s) {
          if (s && !t.argument)
            throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument");
        }, {
          type: "boolean"
        })) : (0, U.assertValueType)("boolean"),
        default: !1
      },
      argument: {
        optional: !0,
        validate: (0, U.assertNodeType)("Expression")
      }
    }
  });
  Me("AwaitExpression", {
    builder: ["argument"],
    visitor: ["argument"],
    aliases: ["Expression", "Terminatorless"],
    fields: {
      argument: {
        validate: (0, U.assertNodeType)("Expression")
      }
    }
  });
  Me("Import", {
    aliases: ["Expression"]
  });
  Me("BigIntLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, U.assertValueType)("string")
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Me("ExportNamespaceSpecifier", {
    visitor: ["exported"],
    aliases: ["ModuleSpecifier"],
    fields: {
      exported: {
        validate: (0, U.assertNodeType)("Identifier")
      }
    }
  });
  Me("OptionalMemberExpression", {
    builder: ["object", "property", "computed", "optional"],
    visitor: ["object", "property"],
    aliases: ["Expression"],
    fields: {
      object: {
        validate: (0, U.assertNodeType)("Expression")
      },
      property: {
        validate: function() {
          let t = (0, U.assertNodeType)("Identifier"), e = (0, U.assertNodeType)("Expression");
          return Object.assign(function(r, i, a) {
            (r.computed ? e : t)(r, i, a);
          }, {
            oneOfNodeTypes: ["Expression", "Identifier"]
          });
        }()
      },
      computed: {
        default: !1
      },
      optional: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.chain)((0, U.assertValueType)("boolean"), (0, U.assertOptionalChainStart)()) : (0, U.
        assertValueType)("boolean")
      }
    }
  });
  Me("OptionalCallExpression", {
    visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
    builder: ["callee", "arguments", "optional"],
    aliases: ["Expression"],
    fields: Object.assign({
      callee: {
        validate: (0, U.assertNodeType)("Expression")
      },
      arguments: (0, U.validateArrayOfType)("Expression", "SpreadElement", "ArgumentPlaceholder"),
      optional: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, U.chain)((0, U.assertValueType)("boolean"), (0, U.assertOptionalChainStart)()) : (0, U.
        assertValueType)("boolean")
      },
      typeArguments: {
        validate: (0, U.assertNodeType)("TypeParameterInstantiation"),
        optional: !0
      }
    }, {
      typeParameters: {
        validate: (0, U.assertNodeType)("TSTypeParameterInstantiation"),
        optional: !0
      }
    })
  });
  Me("ClassProperty", {
    visitor: ["decorators", "variance", "key", "typeAnnotation", "value"],
    builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"],
    aliases: ["Property"],
    fields: Object.assign({}, F1(), {
      value: {
        validate: (0, U.assertNodeType)("Expression"),
        optional: !0
      },
      definite: {
        validate: (0, U.assertValueType)("boolean"),
        optional: !0
      },
      typeAnnotation: {
        validate: (0, U.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
        optional: !0
      },
      decorators: {
        validate: (0, U.arrayOfType)("Decorator"),
        optional: !0
      },
      readonly: {
        validate: (0, U.assertValueType)("boolean"),
        optional: !0
      },
      declare: {
        validate: (0, U.assertValueType)("boolean"),
        optional: !0
      },
      variance: {
        validate: (0, U.assertNodeType)("Variance"),
        optional: !0
      }
    })
  });
  Me("ClassAccessorProperty", {
    visitor: ["decorators", "key", "typeAnnotation", "value"],
    builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"],
    aliases: ["Property", "Accessor"],
    fields: Object.assign({}, F1(), {
      key: {
        validate: (0, U.chain)(function() {
          let t = (0, U.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "PrivateName"), e = (0, U.assertNodeType)(
          "Expression");
          return function(s, r, i) {
            (s.computed ? e : t)(s, r, i);
          };
        }(), (0, U.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression", "PrivateName"))
      },
      value: {
        validate: (0, U.assertNodeType)("Expression"),
        optional: !0
      },
      definite: {
        validate: (0, U.assertValueType)("boolean"),
        optional: !0
      },
      typeAnnotation: {
        validate: (0, U.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
        optional: !0
      },
      decorators: {
        validate: (0, U.arrayOfType)("Decorator"),
        optional: !0
      },
      readonly: {
        validate: (0, U.assertValueType)("boolean"),
        optional: !0
      },
      declare: {
        validate: (0, U.assertValueType)("boolean"),
        optional: !0
      },
      variance: {
        validate: (0, U.assertNodeType)("Variance"),
        optional: !0
      }
    })
  });
  Me("ClassPrivateProperty", {
    visitor: ["decorators", "variance", "key", "typeAnnotation", "value"],
    builder: ["key", "value", "decorators", "static"],
    aliases: ["Property", "Private"],
    fields: {
      key: {
        validate: (0, U.assertNodeType)("PrivateName")
      },
      value: {
        validate: (0, U.assertNodeType)("Expression"),
        optional: !0
      },
      typeAnnotation: {
        validate: (0, U.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
        optional: !0
      },
      decorators: {
        validate: (0, U.arrayOfType)("Decorator"),
        optional: !0
      },
      static: {
        validate: (0, U.assertValueType)("boolean"),
        default: !1
      },
      readonly: {
        validate: (0, U.assertValueType)("boolean"),
        optional: !0
      },
      definite: {
        validate: (0, U.assertValueType)("boolean"),
        optional: !0
      },
      variance: {
        validate: (0, U.assertNodeType)("Variance"),
        optional: !0
      }
    }
  });
  Me("ClassPrivateMethod", {
    builder: ["kind", "key", "params", "body", "static"],
    visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"],
    aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"],
    fields: Object.assign({}, Lj(), Nf(), {
      kind: {
        validate: (0, U.assertOneOf)("get", "set", "method"),
        default: "method"
      },
      key: {
        validate: (0, U.assertNodeType)("PrivateName")
      },
      body: {
        validate: (0, U.assertNodeType)("BlockStatement")
      }
    })
  });
  Me("PrivateName", {
    visitor: ["id"],
    aliases: ["Private"],
    fields: {
      id: {
        validate: (0, U.assertNodeType)("Identifier")
      }
    }
  });
  Me("StaticBlock", {
    visitor: ["body"],
    fields: {
      body: (0, U.validateArrayOfType)("Statement")
    },
    aliases: ["Scopable", "BlockParent", "FunctionParent"]
  });
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/definitions/flow.js
var rpe = g(() => {
  "use strict";
  var spe = IT(), ce = Il(), Tt = (0, ce.defineAliasedType)("Flow"), Bj = /* @__PURE__ */ n((t) => {
    let e = t === "DeclareClass";
    Tt(t, {
      builder: ["id", "typeParameters", "extends", "body"],
      visitor: ["id", "typeParameters", "extends", ...e ? ["mixins", "implements"] : [], "body"],
      aliases: ["FlowDeclaration", "Statement", "Declaration"],
      fields: Object.assign({
        id: (0, ce.validateType)("Identifier"),
        typeParameters: (0, ce.validateOptionalType)("TypeParameterDeclaration"),
        extends: (0, ce.validateOptional)((0, ce.arrayOfType)("InterfaceExtends"))
      }, e ? {
        mixins: (0, ce.validateOptional)((0, ce.arrayOfType)("InterfaceExtends")),
        implements: (0, ce.validateOptional)((0, ce.arrayOfType)("ClassImplements"))
      } : {}, {
        body: (0, ce.validateType)("ObjectTypeAnnotation")
      })
    });
  }, "defineInterfaceishType");
  Tt("AnyTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  Tt("ArrayTypeAnnotation", {
    visitor: ["elementType"],
    aliases: ["FlowType"],
    fields: {
      elementType: (0, ce.validateType)("FlowType")
    }
  });
  Tt("BooleanTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  Tt("BooleanLiteralTypeAnnotation", {
    builder: ["value"],
    aliases: ["FlowType"],
    fields: {
      value: (0, ce.validate)((0, ce.assertValueType)("boolean"))
    }
  });
  Tt("NullLiteralTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  Tt("ClassImplements", {
    visitor: ["id", "typeParameters"],
    fields: {
      id: (0, ce.validateType)("Identifier"),
      typeParameters: (0, ce.validateOptionalType)("TypeParameterInstantiation")
    }
  });
  Bj("DeclareClass");
  Tt("DeclareFunction", {
    builder: ["id"],
    visitor: ["id", "predicate"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, ce.validateType)("Identifier"),
      predicate: (0, ce.validateOptionalType)("DeclaredPredicate")
    }
  });
  Bj("DeclareInterface");
  Tt("DeclareModule", {
    builder: ["id", "body", "kind"],
    visitor: ["id", "body"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, ce.validateType)("Identifier", "StringLiteral"),
      body: (0, ce.validateType)("BlockStatement"),
      kind: (0, ce.validateOptional)((0, ce.assertOneOf)("CommonJS", "ES"))
    }
  });
  Tt("DeclareModuleExports", {
    visitor: ["typeAnnotation"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      typeAnnotation: (0, ce.validateType)("TypeAnnotation")
    }
  });
  Tt("DeclareTypeAlias", {
    visitor: ["id", "typeParameters", "right"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, ce.validateType)("Identifier"),
      typeParameters: (0, ce.validateOptionalType)("TypeParameterDeclaration"),
      right: (0, ce.validateType)("FlowType")
    }
  });
  Tt("DeclareOpaqueType", {
    visitor: ["id", "typeParameters", "supertype"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, ce.validateType)("Identifier"),
      typeParameters: (0, ce.validateOptionalType)("TypeParameterDeclaration"),
      supertype: (0, ce.validateOptionalType)("FlowType"),
      impltype: (0, ce.validateOptionalType)("FlowType")
    }
  });
  Tt("DeclareVariable", {
    visitor: ["id"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, ce.validateType)("Identifier")
    }
  });
  Tt("DeclareExportDeclaration", {
    visitor: ["declaration", "specifiers", "source", "attributes"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: Object.assign({
      declaration: (0, ce.validateOptionalType)("Flow"),
      specifiers: (0, ce.validateOptional)((0, ce.arrayOfType)("ExportSpecifier", "ExportNamespaceSpecifier")),
      source: (0, ce.validateOptionalType)("StringLiteral"),
      default: (0, ce.validateOptional)((0, ce.assertValueType)("boolean"))
    }, spe.importAttributes)
  });
  Tt("DeclareExportAllDeclaration", {
    visitor: ["source", "attributes"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: Object.assign({
      source: (0, ce.validateType)("StringLiteral"),
      exportKind: (0, ce.validateOptional)((0, ce.assertOneOf)("type", "value"))
    }, spe.importAttributes)
  });
  Tt("DeclaredPredicate", {
    visitor: ["value"],
    aliases: ["FlowPredicate"],
    fields: {
      value: (0, ce.validateType)("Flow")
    }
  });
  Tt("ExistsTypeAnnotation", {
    aliases: ["FlowType"]
  });
  Tt("FunctionTypeAnnotation", {
    builder: ["typeParameters", "params", "rest", "returnType"],
    visitor: ["typeParameters", "this", "params", "rest", "returnType"],
    aliases: ["FlowType"],
    fields: {
      typeParameters: (0, ce.validateOptionalType)("TypeParameterDeclaration"),
      params: (0, ce.validateArrayOfType)("FunctionTypeParam"),
      rest: (0, ce.validateOptionalType)("FunctionTypeParam"),
      this: (0, ce.validateOptionalType)("FunctionTypeParam"),
      returnType: (0, ce.validateType)("FlowType")
    }
  });
  Tt("FunctionTypeParam", {
    visitor: ["name", "typeAnnotation"],
    fields: {
      name: (0, ce.validateOptionalType)("Identifier"),
      typeAnnotation: (0, ce.validateType)("FlowType"),
      optional: (0, ce.validateOptional)((0, ce.assertValueType)("boolean"))
    }
  });
  Tt("GenericTypeAnnotation", {
    visitor: ["id", "typeParameters"],
    aliases: ["FlowType"],
    fields: {
      id: (0, ce.validateType)("Identifier", "QualifiedTypeIdentifier"),
      typeParameters: (0, ce.validateOptionalType)("TypeParameterInstantiation")
    }
  });
  Tt("InferredPredicate", {
    aliases: ["FlowPredicate"]
  });
  Tt("InterfaceExtends", {
    visitor: ["id", "typeParameters"],
    fields: {
      id: (0, ce.validateType)("Identifier", "QualifiedTypeIdentifier"),
      typeParameters: (0, ce.validateOptionalType)("TypeParameterInstantiation")
    }
  });
  Bj("InterfaceDeclaration");
  Tt("InterfaceTypeAnnotation", {
    visitor: ["extends", "body"],
    aliases: ["FlowType"],
    fields: {
      extends: (0, ce.validateOptional)((0, ce.arrayOfType)("InterfaceExtends")),
      body: (0, ce.validateType)("ObjectTypeAnnotation")
    }
  });
  Tt("IntersectionTypeAnnotation", {
    visitor: ["types"],
    aliases: ["FlowType"],
    fields: {
      types: (0, ce.validate)((0, ce.arrayOfType)("FlowType"))
    }
  });
  Tt("MixedTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  Tt("EmptyTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  Tt("NullableTypeAnnotation", {
    visitor: ["typeAnnotation"],
    aliases: ["FlowType"],
    fields: {
      typeAnnotation: (0, ce.validateType)("FlowType")
    }
  });
  Tt("NumberLiteralTypeAnnotation", {
    builder: ["value"],
    aliases: ["FlowType"],
    fields: {
      value: (0, ce.validate)((0, ce.assertValueType)("number"))
    }
  });
  Tt("NumberTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  Tt("ObjectTypeAnnotation", {
    visitor: ["properties", "indexers", "callProperties", "internalSlots"],
    aliases: ["FlowType"],
    builder: ["properties", "indexers", "callProperties", "internalSlots", "exact"],
    fields: {
      properties: (0, ce.validate)((0, ce.arrayOfType)("ObjectTypeProperty", "ObjectTypeSpreadProperty")),
      indexers: {
        validate: (0, ce.arrayOfType)("ObjectTypeIndexer"),
        optional: !0,
        default: []
      },
      callProperties: {
        validate: (0, ce.arrayOfType)("ObjectTypeCallProperty"),
        optional: !0,
        default: []
      },
      internalSlots: {
        validate: (0, ce.arrayOfType)("ObjectTypeInternalSlot"),
        optional: !0,
        default: []
      },
      exact: {
        validate: (0, ce.assertValueType)("boolean"),
        default: !1
      },
      inexact: (0, ce.validateOptional)((0, ce.assertValueType)("boolean"))
    }
  });
  Tt("ObjectTypeInternalSlot", {
    visitor: ["id", "value"],
    builder: ["id", "value", "optional", "static", "method"],
    aliases: ["UserWhitespacable"],
    fields: {
      id: (0, ce.validateType)("Identifier"),
      value: (0, ce.validateType)("FlowType"),
      optional: (0, ce.validate)((0, ce.assertValueType)("boolean")),
      static: (0, ce.validate)((0, ce.assertValueType)("boolean")),
      method: (0, ce.validate)((0, ce.assertValueType)("boolean"))
    }
  });
  Tt("ObjectTypeCallProperty", {
    visitor: ["value"],
    aliases: ["UserWhitespacable"],
    fields: {
      value: (0, ce.validateType)("FlowType"),
      static: (0, ce.validate)((0, ce.assertValueType)("boolean"))
    }
  });
  Tt("ObjectTypeIndexer", {
    visitor: ["variance", "id", "key", "value"],
    builder: ["id", "key", "value", "variance"],
    aliases: ["UserWhitespacable"],
    fields: {
      id: (0, ce.validateOptionalType)("Identifier"),
      key: (0, ce.validateType)("FlowType"),
      value: (0, ce.validateType)("FlowType"),
      static: (0, ce.validate)((0, ce.assertValueType)("boolean")),
      variance: (0, ce.validateOptionalType)("Variance")
    }
  });
  Tt("ObjectTypeProperty", {
    visitor: ["key", "value", "variance"],
    aliases: ["UserWhitespacable"],
    fields: {
      key: (0, ce.validateType)("Identifier", "StringLiteral"),
      value: (0, ce.validateType)("FlowType"),
      kind: (0, ce.validate)((0, ce.assertOneOf)("init", "get", "set")),
      static: (0, ce.validate)((0, ce.assertValueType)("boolean")),
      proto: (0, ce.validate)((0, ce.assertValueType)("boolean")),
      optional: (0, ce.validate)((0, ce.assertValueType)("boolean")),
      variance: (0, ce.validateOptionalType)("Variance"),
      method: (0, ce.validate)((0, ce.assertValueType)("boolean"))
    }
  });
  Tt("ObjectTypeSpreadProperty", {
    visitor: ["argument"],
    aliases: ["UserWhitespacable"],
    fields: {
      argument: (0, ce.validateType)("FlowType")
    }
  });
  Tt("OpaqueType", {
    visitor: ["id", "typeParameters", "supertype", "impltype"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, ce.validateType)("Identifier"),
      typeParameters: (0, ce.validateOptionalType)("TypeParameterDeclaration"),
      supertype: (0, ce.validateOptionalType)("FlowType"),
      impltype: (0, ce.validateType)("FlowType")
    }
  });
  Tt("QualifiedTypeIdentifier", {
    visitor: ["qualification", "id"],
    builder: ["id", "qualification"],
    fields: {
      id: (0, ce.validateType)("Identifier"),
      qualification: (0, ce.validateType)("Identifier", "QualifiedTypeIdentifier")
    }
  });
  Tt("StringLiteralTypeAnnotation", {
    builder: ["value"],
    aliases: ["FlowType"],
    fields: {
      value: (0, ce.validate)((0, ce.assertValueType)("string"))
    }
  });
  Tt("StringTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  Tt("SymbolTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  Tt("ThisTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  Tt("TupleTypeAnnotation", {
    visitor: ["types"],
    aliases: ["FlowType"],
    fields: {
      types: (0, ce.validate)((0, ce.arrayOfType)("FlowType"))
    }
  });
  Tt("TypeofTypeAnnotation", {
    visitor: ["argument"],
    aliases: ["FlowType"],
    fields: {
      argument: (0, ce.validateType)("FlowType")
    }
  });
  Tt("TypeAlias", {
    visitor: ["id", "typeParameters", "right"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, ce.validateType)("Identifier"),
      typeParameters: (0, ce.validateOptionalType)("TypeParameterDeclaration"),
      right: (0, ce.validateType)("FlowType")
    }
  });
  Tt("TypeAnnotation", {
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: (0, ce.validateType)("FlowType")
    }
  });
  Tt("TypeCastExpression", {
    visitor: ["expression", "typeAnnotation"],
    aliases: ["ExpressionWrapper", "Expression"],
    fields: {
      expression: (0, ce.validateType)("Expression"),
      typeAnnotation: (0, ce.validateType)("TypeAnnotation")
    }
  });
  Tt("TypeParameter", {
    visitor: ["bound", "default", "variance"],
    fields: {
      name: (0, ce.validate)((0, ce.assertValueType)("string")),
      bound: (0, ce.validateOptionalType)("TypeAnnotation"),
      default: (0, ce.validateOptionalType)("FlowType"),
      variance: (0, ce.validateOptionalType)("Variance")
    }
  });
  Tt("TypeParameterDeclaration", {
    visitor: ["params"],
    fields: {
      params: (0, ce.validate)((0, ce.arrayOfType)("TypeParameter"))
    }
  });
  Tt("TypeParameterInstantiation", {
    visitor: ["params"],
    fields: {
      params: (0, ce.validate)((0, ce.arrayOfType)("FlowType"))
    }
  });
  Tt("UnionTypeAnnotation", {
    visitor: ["types"],
    aliases: ["FlowType"],
    fields: {
      types: (0, ce.validate)((0, ce.arrayOfType)("FlowType"))
    }
  });
  Tt("Variance", {
    builder: ["kind"],
    fields: {
      kind: (0, ce.validate)((0, ce.assertOneOf)("minus", "plus"))
    }
  });
  Tt("VoidTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  Tt("EnumDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "body"],
    fields: {
      id: (0, ce.validateType)("Identifier"),
      body: (0, ce.validateType)("EnumBooleanBody", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody")
    }
  });
  Tt("EnumBooleanBody", {
    aliases: ["EnumBody"],
    visitor: ["members"],
    fields: {
      explicitType: (0, ce.validate)((0, ce.assertValueType)("boolean")),
      members: (0, ce.validateArrayOfType)("EnumBooleanMember"),
      hasUnknownMembers: (0, ce.validate)((0, ce.assertValueType)("boolean"))
    }
  });
  Tt("EnumNumberBody", {
    aliases: ["EnumBody"],
    visitor: ["members"],
    fields: {
      explicitType: (0, ce.validate)((0, ce.assertValueType)("boolean")),
      members: (0, ce.validateArrayOfType)("EnumNumberMember"),
      hasUnknownMembers: (0, ce.validate)((0, ce.assertValueType)("boolean"))
    }
  });
  Tt("EnumStringBody", {
    aliases: ["EnumBody"],
    visitor: ["members"],
    fields: {
      explicitType: (0, ce.validate)((0, ce.assertValueType)("boolean")),
      members: (0, ce.validateArrayOfType)("EnumStringMember", "EnumDefaultedMember"),
      hasUnknownMembers: (0, ce.validate)((0, ce.assertValueType)("boolean"))
    }
  });
  Tt("EnumSymbolBody", {
    aliases: ["EnumBody"],
    visitor: ["members"],
    fields: {
      members: (0, ce.validateArrayOfType)("EnumDefaultedMember"),
      hasUnknownMembers: (0, ce.validate)((0, ce.assertValueType)("boolean"))
    }
  });
  Tt("EnumBooleanMember", {
    aliases: ["EnumMember"],
    builder: ["id"],
    visitor: ["id", "init"],
    fields: {
      id: (0, ce.validateType)("Identifier"),
      init: (0, ce.validateType)("BooleanLiteral")
    }
  });
  Tt("EnumNumberMember", {
    aliases: ["EnumMember"],
    visitor: ["id", "init"],
    fields: {
      id: (0, ce.validateType)("Identifier"),
      init: (0, ce.validateType)("NumericLiteral")
    }
  });
  Tt("EnumStringMember", {
    aliases: ["EnumMember"],
    visitor: ["id", "init"],
    fields: {
      id: (0, ce.validateType)("Identifier"),
      init: (0, ce.validateType)("StringLiteral")
    }
  });
  Tt("EnumDefaultedMember", {
    aliases: ["EnumMember"],
    visitor: ["id"],
    fields: {
      id: (0, ce.validateType)("Identifier")
    }
  });
  Tt("IndexedAccessType", {
    visitor: ["objectType", "indexType"],
    aliases: ["FlowType"],
    fields: {
      objectType: (0, ce.validateType)("FlowType"),
      indexType: (0, ce.validateType)("FlowType")
    }
  });
  Tt("OptionalIndexedAccessType", {
    visitor: ["objectType", "indexType"],
    aliases: ["FlowType"],
    fields: {
      objectType: (0, ce.validateType)("FlowType"),
      indexType: (0, ce.validateType)("FlowType"),
      optional: (0, ce.validate)((0, ce.assertValueType)("boolean"))
    }
  });
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/definitions/jsx.js
var ipe = g(() => {
  "use strict";
  var Vr = Il(), qn = (0, Vr.defineAliasedType)("JSX");
  qn("JSXAttribute", {
    visitor: ["name", "value"],
    aliases: ["Immutable"],
    fields: {
      name: {
        validate: (0, Vr.assertNodeType)("JSXIdentifier", "JSXNamespacedName")
      },
      value: {
        optional: !0,
        validate: (0, Vr.assertNodeType)("JSXElement", "JSXFragment", "StringLiteral", "JSXExpressionContainer")
      }
    }
  });
  qn("JSXClosingElement", {
    visitor: ["name"],
    aliases: ["Immutable"],
    fields: {
      name: {
        validate: (0, Vr.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName")
      }
    }
  });
  qn("JSXElement", {
    builder: ["openingElement", "closingElement", "children", "selfClosing"],
    visitor: ["openingElement", "children", "closingElement"],
    aliases: ["Immutable", "Expression"],
    fields: Object.assign({
      openingElement: {
        validate: (0, Vr.assertNodeType)("JSXOpeningElement")
      },
      closingElement: {
        optional: !0,
        validate: (0, Vr.assertNodeType)("JSXClosingElement")
      },
      children: (0, Vr.validateArrayOfType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment")
    }, {
      selfClosing: {
        validate: (0, Vr.assertValueType)("boolean"),
        optional: !0
      }
    })
  });
  qn("JSXEmptyExpression", {});
  qn("JSXExpressionContainer", {
    visitor: ["expression"],
    aliases: ["Immutable"],
    fields: {
      expression: {
        validate: (0, Vr.assertNodeType)("Expression", "JSXEmptyExpression")
      }
    }
  });
  qn("JSXSpreadChild", {
    visitor: ["expression"],
    aliases: ["Immutable"],
    fields: {
      expression: {
        validate: (0, Vr.assertNodeType)("Expression")
      }
    }
  });
  qn("JSXIdentifier", {
    builder: ["name"],
    fields: {
      name: {
        validate: (0, Vr.assertValueType)("string")
      }
    }
  });
  qn("JSXMemberExpression", {
    visitor: ["object", "property"],
    fields: {
      object: {
        validate: (0, Vr.assertNodeType)("JSXMemberExpression", "JSXIdentifier")
      },
      property: {
        validate: (0, Vr.assertNodeType)("JSXIdentifier")
      }
    }
  });
  qn("JSXNamespacedName", {
    visitor: ["namespace", "name"],
    fields: {
      namespace: {
        validate: (0, Vr.assertNodeType)("JSXIdentifier")
      },
      name: {
        validate: (0, Vr.assertNodeType)("JSXIdentifier")
      }
    }
  });
  qn("JSXOpeningElement", {
    builder: ["name", "attributes", "selfClosing"],
    visitor: ["name", "typeParameters", "typeArguments", "attributes"],
    aliases: ["Immutable"],
    fields: Object.assign({
      name: {
        validate: (0, Vr.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName")
      },
      selfClosing: {
        default: !1
      },
      attributes: (0, Vr.validateArrayOfType)("JSXAttribute", "JSXSpreadAttribute"),
      typeArguments: {
        validate: (0, Vr.assertNodeType)("TypeParameterInstantiation"),
        optional: !0
      }
    }, {
      typeParameters: {
        validate: (0, Vr.assertNodeType)("TSTypeParameterInstantiation"),
        optional: !0
      }
    })
  });
  qn("JSXSpreadAttribute", {
    visitor: ["argument"],
    fields: {
      argument: {
        validate: (0, Vr.assertNodeType)("Expression")
      }
    }
  });
  qn("JSXText", {
    aliases: ["Immutable"],
    builder: ["value"],
    fields: {
      value: {
        validate: (0, Vr.assertValueType)("string")
      }
    }
  });
  qn("JSXFragment", {
    builder: ["openingFragment", "closingFragment", "children"],
    visitor: ["openingFragment", "children", "closingFragment"],
    aliases: ["Immutable", "Expression"],
    fields: {
      openingFragment: {
        validate: (0, Vr.assertNodeType)("JSXOpeningFragment")
      },
      closingFragment: {
        validate: (0, Vr.assertNodeType)("JSXClosingFragment")
      },
      children: (0, Vr.validateArrayOfType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment")
    }
  });
  qn("JSXOpeningFragment", {
    aliases: ["Immutable"]
  });
  qn("JSXClosingFragment", {
    aliases: ["Immutable"]
  });
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/definitions/placeholders.js
var jj = g((Fp) => {
  "use strict";
  Object.defineProperty(Fp, "__esModule", {
    value: !0
  });
  Fp.PLACEHOLDERS_FLIPPED_ALIAS = Fp.PLACEHOLDERS_ALIAS = Fp.PLACEHOLDERS = void 0;
  var UHt = Il(), KHt = Fp.PLACEHOLDERS = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "Class\
Body", "Pattern"], Fj = Fp.PLACEHOLDERS_ALIAS = {
    Declaration: ["Statement"],
    Pattern: ["PatternLike", "LVal"]
  };
  for (let t of KHt) {
    let e = UHt.ALIAS_KEYS[t];
    e != null && e.length && (Fj[t] = e);
  }
  var Mj = Fp.PLACEHOLDERS_FLIPPED_ALIAS = {};
  Object.keys(Fj).forEach((t) => {
    Fj[t].forEach((e) => {
      hasOwnProperty.call(Mj, e) || (Mj[e] = []), Mj[e].push(t);
    });
  });
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/definitions/misc.js
var npe = g(() => {
  "use strict";
  var j1 = Il(), VHt = jj(), WHt = IT(), Rj = (0, j1.defineAliasedType)("Miscellaneous");
  Rj("Noop", {
    visitor: []
  });
  Rj("Placeholder", {
    visitor: [],
    builder: ["expectedNode", "name"],
    fields: Object.assign({
      name: {
        validate: (0, j1.assertNodeType)("Identifier")
      },
      expectedNode: {
        validate: (0, j1.assertOneOf)(...VHt.PLACEHOLDERS)
      }
    }, (0, WHt.patternLikeCommon)())
  });
  Rj("V8IntrinsicIdentifier", {
    builder: ["name"],
    fields: {
      name: {
        validate: (0, j1.assertValueType)("string")
      }
    }
  });
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/definitions/experimental.js
var ape = g(() => {
  "use strict";
  var br = Il();
  (0, br.default)("ArgumentPlaceholder", {});
  (0, br.default)("BindExpression", {
    visitor: ["object", "callee"],
    aliases: ["Expression"],
    fields: process.env.BABEL_TYPES_8_BREAKING ? {
      object: {
        validate: (0, br.assertNodeType)("Expression")
      },
      callee: {
        validate: (0, br.assertNodeType)("Expression")
      }
    } : {
      object: {
        validate: Object.assign(() => {
        }, {
          oneOfNodeTypes: ["Expression"]
        })
      },
      callee: {
        validate: Object.assign(() => {
        }, {
          oneOfNodeTypes: ["Expression"]
        })
      }
    }
  });
  (0, br.default)("ImportAttribute", {
    visitor: ["key", "value"],
    fields: {
      key: {
        validate: (0, br.assertNodeType)("Identifier", "StringLiteral")
      },
      value: {
        validate: (0, br.assertNodeType)("StringLiteral")
      }
    }
  });
  (0, br.default)("Decorator", {
    visitor: ["expression"],
    fields: {
      expression: {
        validate: (0, br.assertNodeType)("Expression")
      }
    }
  });
  (0, br.default)("DoExpression", {
    visitor: ["body"],
    builder: ["body", "async"],
    aliases: ["Expression"],
    fields: {
      body: {
        validate: (0, br.assertNodeType)("BlockStatement")
      },
      async: {
        validate: (0, br.assertValueType)("boolean"),
        default: !1
      }
    }
  });
  (0, br.default)("ExportDefaultSpecifier", {
    visitor: ["exported"],
    aliases: ["ModuleSpecifier"],
    fields: {
      exported: {
        validate: (0, br.assertNodeType)("Identifier")
      }
    }
  });
  (0, br.default)("RecordExpression", {
    visitor: ["properties"],
    aliases: ["Expression"],
    fields: {
      properties: (0, br.validateArrayOfType)("ObjectProperty", "SpreadElement")
    }
  });
  (0, br.default)("TupleExpression", {
    fields: {
      elements: {
        validate: (0, br.arrayOfType)("Expression", "SpreadElement"),
        default: []
      }
    },
    visitor: ["elements"],
    aliases: ["Expression"]
  });
  (0, br.default)("DecimalLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, br.assertValueType)("string")
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  (0, br.default)("ModuleExpression", {
    visitor: ["body"],
    fields: {
      body: {
        validate: (0, br.assertNodeType)("Program")
      }
    },
    aliases: ["Expression"]
  });
  (0, br.default)("TopicReference", {
    aliases: ["Expression"]
  });
  (0, br.default)("PipelineTopicExpression", {
    builder: ["expression"],
    visitor: ["expression"],
    fields: {
      expression: {
        validate: (0, br.assertNodeType)("Expression")
      }
    },
    aliases: ["Expression"]
  });
  (0, br.default)("PipelineBareFunction", {
    builder: ["callee"],
    visitor: ["callee"],
    fields: {
      callee: {
        validate: (0, br.assertNodeType)("Expression")
      }
    },
    aliases: ["Expression"]
  });
  (0, br.default)("PipelinePrimaryTopicReference", {
    aliases: ["Expression"]
  });
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/definitions/typescript.js
var dpe = g(() => {
  "use strict";
  var xe = Il(), ope = IT(), $Ht = ay(), jt = (0, xe.defineAliasedType)("TypeScript"), ia = (0, xe.assertValueType)("boolean"), lpe = /* @__PURE__ */ n(
  () => ({
    returnType: {
      validate: (0, xe.assertNodeType)("TSTypeAnnotation", "Noop"),
      optional: !0
    },
    typeParameters: {
      validate: (0, xe.assertNodeType)("TSTypeParameterDeclaration", "Noop"),
      optional: !0
    }
  }), "tSFunctionTypeAnnotationCommon");
  jt("TSParameterProperty", {
    aliases: ["LVal"],
    visitor: ["parameter"],
    fields: {
      accessibility: {
        validate: (0, xe.assertOneOf)("public", "private", "protected"),
        optional: !0
      },
      readonly: {
        validate: (0, xe.assertValueType)("boolean"),
        optional: !0
      },
      parameter: {
        validate: (0, xe.assertNodeType)("Identifier", "AssignmentPattern")
      },
      override: {
        validate: (0, xe.assertValueType)("boolean"),
        optional: !0
      },
      decorators: {
        validate: (0, xe.arrayOfType)("Decorator"),
        optional: !0
      }
    }
  });
  jt("TSDeclareFunction", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "typeParameters", "params", "returnType"],
    fields: Object.assign({}, (0, ope.functionDeclarationCommon)(), lpe())
  });
  jt("TSDeclareMethod", {
    visitor: ["decorators", "key", "typeParameters", "params", "returnType"],
    fields: Object.assign({}, (0, ope.classMethodOrDeclareMethodCommon)(), lpe())
  });
  jt("TSQualifiedName", {
    aliases: ["TSEntityName"],
    visitor: ["left", "right"],
    fields: {
      left: (0, xe.validateType)("TSEntityName"),
      right: (0, xe.validateType)("Identifier")
    }
  });
  var R1 = /* @__PURE__ */ n(() => ({
    typeParameters: (0, xe.validateOptionalType)("TSTypeParameterDeclaration"),
    parameters: (0, xe.validateArrayOfType)("ArrayPattern", "Identifier", "ObjectPattern", "RestElement"),
    typeAnnotation: (0, xe.validateOptionalType)("TSTypeAnnotation")
  }), "signatureDeclarationCommon"), upe = {
    aliases: ["TSTypeElement"],
    visitor: ["typeParameters", "parameters", "typeAnnotation"],
    fields: R1()
  };
  jt("TSCallSignatureDeclaration", upe);
  jt("TSConstructSignatureDeclaration", upe);
  var cpe = /* @__PURE__ */ n(() => ({
    key: (0, xe.validateType)("Expression"),
    computed: {
      default: !1
    },
    optional: (0, xe.validateOptional)(ia)
  }), "namedTypeElementCommon");
  jt("TSPropertySignature", {
    aliases: ["TSTypeElement"],
    visitor: ["key", "typeAnnotation"],
    fields: Object.assign({}, cpe(), {
      readonly: (0, xe.validateOptional)(ia),
      typeAnnotation: (0, xe.validateOptionalType)("TSTypeAnnotation"),
      kind: {
        validate: (0, xe.assertOneOf)("get", "set")
      }
    })
  });
  jt("TSMethodSignature", {
    aliases: ["TSTypeElement"],
    visitor: ["key", "typeParameters", "parameters", "typeAnnotation"],
    fields: Object.assign({}, R1(), cpe(), {
      kind: {
        validate: (0, xe.assertOneOf)("method", "get", "set")
      }
    })
  });
  jt("TSIndexSignature", {
    aliases: ["TSTypeElement"],
    visitor: ["parameters", "typeAnnotation"],
    fields: {
      readonly: (0, xe.validateOptional)(ia),
      static: (0, xe.validateOptional)(ia),
      parameters: (0, xe.validateArrayOfType)("Identifier"),
      typeAnnotation: (0, xe.validateOptionalType)("TSTypeAnnotation")
    }
  });
  var HHt = ["TSAnyKeyword", "TSBooleanKeyword", "TSBigIntKeyword", "TSIntrinsicKeyword", "TSNeverKeyword", "TSNullKeyword", "TSNumberKeywor\
d", "TSObjectKeyword", "TSStringKeyword", "TSSymbolKeyword", "TSUndefinedKeyword", "TSUnknownKeyword", "TSVoidKeyword"];
  for (let t of HHt)
    jt(t, {
      aliases: ["TSType", "TSBaseType"],
      visitor: [],
      fields: {}
    });
  jt("TSThisType", {
    aliases: ["TSType", "TSBaseType"],
    visitor: [],
    fields: {}
  });
  var ppe = {
    aliases: ["TSType"],
    visitor: ["typeParameters", "parameters", "typeAnnotation"]
  };
  jt("TSFunctionType", Object.assign({}, ppe, {
    fields: R1()
  }));
  jt("TSConstructorType", Object.assign({}, ppe, {
    fields: Object.assign({}, R1(), {
      abstract: (0, xe.validateOptional)(ia)
    })
  }));
  jt("TSTypeReference", {
    aliases: ["TSType"],
    visitor: ["typeName", "typeParameters"],
    fields: {
      typeName: (0, xe.validateType)("TSEntityName"),
      typeParameters: (0, xe.validateOptionalType)("TSTypeParameterInstantiation")
    }
  });
  jt("TSTypePredicate", {
    aliases: ["TSType"],
    visitor: ["parameterName", "typeAnnotation"],
    builder: ["parameterName", "typeAnnotation", "asserts"],
    fields: {
      parameterName: (0, xe.validateType)("Identifier", "TSThisType"),
      typeAnnotation: (0, xe.validateOptionalType)("TSTypeAnnotation"),
      asserts: (0, xe.validateOptional)(ia)
    }
  });
  jt("TSTypeQuery", {
    aliases: ["TSType"],
    visitor: ["exprName", "typeParameters"],
    fields: {
      exprName: (0, xe.validateType)("TSEntityName", "TSImportType"),
      typeParameters: (0, xe.validateOptionalType)("TSTypeParameterInstantiation")
    }
  });
  jt("TSTypeLiteral", {
    aliases: ["TSType"],
    visitor: ["members"],
    fields: {
      members: (0, xe.validateArrayOfType)("TSTypeElement")
    }
  });
  jt("TSArrayType", {
    aliases: ["TSType"],
    visitor: ["elementType"],
    fields: {
      elementType: (0, xe.validateType)("TSType")
    }
  });
  jt("TSTupleType", {
    aliases: ["TSType"],
    visitor: ["elementTypes"],
    fields: {
      elementTypes: (0, xe.validateArrayOfType)("TSType", "TSNamedTupleMember")
    }
  });
  jt("TSOptionalType", {
    aliases: ["TSType"],
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: (0, xe.validateType)("TSType")
    }
  });
  jt("TSRestType", {
    aliases: ["TSType"],
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: (0, xe.validateType)("TSType")
    }
  });
  jt("TSNamedTupleMember", {
    visitor: ["label", "elementType"],
    builder: ["label", "elementType", "optional"],
    fields: {
      label: (0, xe.validateType)("Identifier"),
      optional: {
        validate: ia,
        default: !1
      },
      elementType: (0, xe.validateType)("TSType")
    }
  });
  var hpe = {
    aliases: ["TSType"],
    visitor: ["types"],
    fields: {
      types: (0, xe.validateArrayOfType)("TSType")
    }
  };
  jt("TSUnionType", hpe);
  jt("TSIntersectionType", hpe);
  jt("TSConditionalType", {
    aliases: ["TSType"],
    visitor: ["checkType", "extendsType", "trueType", "falseType"],
    fields: {
      checkType: (0, xe.validateType)("TSType"),
      extendsType: (0, xe.validateType)("TSType"),
      trueType: (0, xe.validateType)("TSType"),
      falseType: (0, xe.validateType)("TSType")
    }
  });
  jt("TSInferType", {
    aliases: ["TSType"],
    visitor: ["typeParameter"],
    fields: {
      typeParameter: (0, xe.validateType)("TSTypeParameter")
    }
  });
  jt("TSParenthesizedType", {
    aliases: ["TSType"],
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: (0, xe.validateType)("TSType")
    }
  });
  jt("TSTypeOperator", {
    aliases: ["TSType"],
    visitor: ["typeAnnotation"],
    fields: {
      operator: (0, xe.validate)((0, xe.assertValueType)("string")),
      typeAnnotation: (0, xe.validateType)("TSType")
    }
  });
  jt("TSIndexedAccessType", {
    aliases: ["TSType"],
    visitor: ["objectType", "indexType"],
    fields: {
      objectType: (0, xe.validateType)("TSType"),
      indexType: (0, xe.validateType)("TSType")
    }
  });
  jt("TSMappedType", {
    aliases: ["TSType"],
    visitor: ["typeParameter", "nameType", "typeAnnotation"],
    builder: ["typeParameter", "typeAnnotation", "nameType"],
    fields: Object.assign({}, {
      typeParameter: (0, xe.validateType)("TSTypeParameter")
    }, {
      readonly: (0, xe.validateOptional)((0, xe.assertOneOf)(!0, !1, "+", "-")),
      optional: (0, xe.validateOptional)((0, xe.assertOneOf)(!0, !1, "+", "-")),
      typeAnnotation: (0, xe.validateOptionalType)("TSType"),
      nameType: (0, xe.validateOptionalType)("TSType")
    })
  });
  jt("TSLiteralType", {
    aliases: ["TSType", "TSBaseType"],
    visitor: ["literal"],
    fields: {
      literal: {
        validate: function() {
          let t = (0, xe.assertNodeType)("NumericLiteral", "BigIntLiteral"), e = (0, xe.assertOneOf)("-"), s = (0, xe.assertNodeType)("Numer\
icLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiteral");
          function r(i, a, o) {
            (0, $Ht.default)("UnaryExpression", o) ? (e(o, "operator", o.operator), t(o, "argument", o.argument)) : s(i, a, o);
          }
          return n(r, "validator"), r.oneOfNodeTypes = ["NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiter\
al", "UnaryExpression"], r;
        }()
      }
    }
  });
  jt("TSExpressionWithTypeArguments", {
    aliases: ["TSType"],
    visitor: ["expression", "typeParameters"],
    fields: {
      expression: (0, xe.validateType)("TSEntityName"),
      typeParameters: (0, xe.validateOptionalType)("TSTypeParameterInstantiation")
    }
  });
  jt("TSInterfaceDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "typeParameters", "extends", "body"],
    fields: {
      declare: (0, xe.validateOptional)(ia),
      id: (0, xe.validateType)("Identifier"),
      typeParameters: (0, xe.validateOptionalType)("TSTypeParameterDeclaration"),
      extends: (0, xe.validateOptional)((0, xe.arrayOfType)("TSExpressionWithTypeArguments")),
      body: (0, xe.validateType)("TSInterfaceBody")
    }
  });
  jt("TSInterfaceBody", {
    visitor: ["body"],
    fields: {
      body: (0, xe.validateArrayOfType)("TSTypeElement")
    }
  });
  jt("TSTypeAliasDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "typeParameters", "typeAnnotation"],
    fields: {
      declare: (0, xe.validateOptional)(ia),
      id: (0, xe.validateType)("Identifier"),
      typeParameters: (0, xe.validateOptionalType)("TSTypeParameterDeclaration"),
      typeAnnotation: (0, xe.validateType)("TSType")
    }
  });
  jt("TSInstantiationExpression", {
    aliases: ["Expression"],
    visitor: ["expression", "typeParameters"],
    fields: {
      expression: (0, xe.validateType)("Expression"),
      typeParameters: (0, xe.validateOptionalType)("TSTypeParameterInstantiation")
    }
  });
  var fpe = {
    aliases: ["Expression", "LVal", "PatternLike"],
    visitor: ["expression", "typeAnnotation"],
    fields: {
      expression: (0, xe.validateType)("Expression"),
      typeAnnotation: (0, xe.validateType)("TSType")
    }
  };
  jt("TSAsExpression", fpe);
  jt("TSSatisfiesExpression", fpe);
  jt("TSTypeAssertion", {
    aliases: ["Expression", "LVal", "PatternLike"],
    visitor: ["typeAnnotation", "expression"],
    fields: {
      typeAnnotation: (0, xe.validateType)("TSType"),
      expression: (0, xe.validateType)("Expression")
    }
  });
  jt("TSEnumBody", {
    visitor: ["members"],
    fields: {
      members: (0, xe.validateArrayOfType)("TSEnumMember")
    }
  });
  jt("TSEnumDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "members"],
    fields: {
      declare: (0, xe.validateOptional)(ia),
      const: (0, xe.validateOptional)(ia),
      id: (0, xe.validateType)("Identifier"),
      members: (0, xe.validateArrayOfType)("TSEnumMember"),
      initializer: (0, xe.validateOptionalType)("Expression"),
      body: (0, xe.validateOptionalType)("TSEnumBody")
    }
  });
  jt("TSEnumMember", {
    visitor: ["id", "initializer"],
    fields: {
      id: (0, xe.validateType)("Identifier", "StringLiteral"),
      initializer: (0, xe.validateOptionalType)("Expression")
    }
  });
  jt("TSModuleDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "body"],
    fields: Object.assign({
      kind: {
        validate: (0, xe.assertOneOf)("global", "module", "namespace")
      },
      declare: (0, xe.validateOptional)(ia)
    }, {
      global: (0, xe.validateOptional)(ia)
    }, {
      id: (0, xe.validateType)("Identifier", "StringLiteral"),
      body: (0, xe.validateType)("TSModuleBlock", "TSModuleDeclaration")
    })
  });
  jt("TSModuleBlock", {
    aliases: ["Scopable", "Block", "BlockParent", "FunctionParent"],
    visitor: ["body"],
    fields: {
      body: (0, xe.validateArrayOfType)("Statement")
    }
  });
  jt("TSImportType", {
    aliases: ["TSType"],
    builder: ["argument", "qualifier", "typeParameters"],
    visitor: ["argument", "options", "qualifier", "typeParameters"],
    fields: {
      argument: (0, xe.validateType)("StringLiteral"),
      qualifier: (0, xe.validateOptionalType)("TSEntityName"),
      typeParameters: (0, xe.validateOptionalType)("TSTypeParameterInstantiation"),
      options: {
        validate: (0, xe.assertNodeType)("Expression"),
        optional: !0
      }
    }
  });
  jt("TSImportEqualsDeclaration", {
    aliases: ["Statement"],
    visitor: ["id", "moduleReference"],
    fields: {
      isExport: (0, xe.validate)(ia),
      id: (0, xe.validateType)("Identifier"),
      moduleReference: (0, xe.validateType)("TSEntityName", "TSExternalModuleReference"),
      importKind: {
        validate: (0, xe.assertOneOf)("type", "value"),
        optional: !0
      }
    }
  });
  jt("TSExternalModuleReference", {
    visitor: ["expression"],
    fields: {
      expression: (0, xe.validateType)("StringLiteral")
    }
  });
  jt("TSNonNullExpression", {
    aliases: ["Expression", "LVal", "PatternLike"],
    visitor: ["expression"],
    fields: {
      expression: (0, xe.validateType)("Expression")
    }
  });
  jt("TSExportAssignment", {
    aliases: ["Statement"],
    visitor: ["expression"],
    fields: {
      expression: (0, xe.validateType)("Expression")
    }
  });
  jt("TSNamespaceExportDeclaration", {
    aliases: ["Statement"],
    visitor: ["id"],
    fields: {
      id: (0, xe.validateType)("Identifier")
    }
  });
  jt("TSTypeAnnotation", {
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: {
        validate: (0, xe.assertNodeType)("TSType")
      }
    }
  });
  jt("TSTypeParameterInstantiation", {
    visitor: ["params"],
    fields: {
      params: (0, xe.validateArrayOfType)("TSType")
    }
  });
  jt("TSTypeParameterDeclaration", {
    visitor: ["params"],
    fields: {
      params: (0, xe.validateArrayOfType)("TSTypeParameter")
    }
  });
  jt("TSTypeParameter", {
    builder: ["constraint", "default", "name"],
    visitor: ["constraint", "default"],
    fields: {
      name: {
        validate: (0, xe.assertValueType)("string")
      },
      in: {
        validate: (0, xe.assertValueType)("boolean"),
        optional: !0
      },
      out: {
        validate: (0, xe.assertValueType)("boolean"),
        optional: !0
      },
      const: {
        validate: (0, xe.assertValueType)("boolean"),
        optional: !0
      },
      constraint: {
        validate: (0, xe.assertNodeType)("TSType"),
        optional: !0
      },
      default: {
        validate: (0, xe.assertNodeType)("TSType"),
        optional: !0
      }
    }
  });
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/definitions/deprecated-aliases.js
var mpe = g((q1) => {
  "use strict";
  Object.defineProperty(q1, "__esModule", {
    value: !0
  });
  q1.DEPRECATED_ALIASES = void 0;
  var sZs = q1.DEPRECATED_ALIASES = {
    ModuleDeclaration: "ImportOrExportDeclaration"
  };
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/definitions/index.js
var eo = g((Un) => {
  "use strict";
  Object.defineProperty(Un, "__esModule", {
    value: !0
  });
  Object.defineProperty(Un, "ALIAS_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return to.ALIAS_KEYS;
    }, "get")
  });
  Object.defineProperty(Un, "BUILDER_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return to.BUILDER_KEYS;
    }, "get")
  });
  Object.defineProperty(Un, "DEPRECATED_ALIASES", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return qj.DEPRECATED_ALIASES;
    }, "get")
  });
  Object.defineProperty(Un, "DEPRECATED_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return to.DEPRECATED_KEYS;
    }, "get")
  });
  Object.defineProperty(Un, "FLIPPED_ALIAS_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return to.FLIPPED_ALIAS_KEYS;
    }, "get")
  });
  Object.defineProperty(Un, "NODE_FIELDS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return to.NODE_FIELDS;
    }, "get")
  });
  Object.defineProperty(Un, "NODE_PARENT_VALIDATIONS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return to.NODE_PARENT_VALIDATIONS;
    }, "get")
  });
  Object.defineProperty(Un, "PLACEHOLDERS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Uj.PLACEHOLDERS;
    }, "get")
  });
  Object.defineProperty(Un, "PLACEHOLDERS_ALIAS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Uj.PLACEHOLDERS_ALIAS;
    }, "get")
  });
  Object.defineProperty(Un, "PLACEHOLDERS_FLIPPED_ALIAS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Uj.PLACEHOLDERS_FLIPPED_ALIAS;
    }, "get")
  });
  Un.TYPES = void 0;
  Object.defineProperty(Un, "VISITOR_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return to.VISITOR_KEYS;
    }, "get")
  });
  IT();
  rpe();
  ipe();
  npe();
  ape();
  dpe();
  var to = Il(), Uj = jj(), qj = mpe();
  Object.keys(qj.DEPRECATED_ALIASES).forEach((t) => {
    to.FLIPPED_ALIAS_KEYS[t] = to.FLIPPED_ALIAS_KEYS[qj.DEPRECATED_ALIASES[t]];
  });
  var iZs = Un.TYPES = [].concat(Object.keys(to.VISITOR_KEYS), Object.keys(to.FLIPPED_ALIAS_KEYS), Object.keys(to.DEPRECATED_KEYS));
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/validate.js
var M1 = g((cy) => {
  "use strict";
  Object.defineProperty(cy, "__esModule", {
    value: !0
  });
  cy.default = JHt;
  cy.validateChild = gpe;
  cy.validateField = ype;
  cy.validateInternal = YHt;
  var NT = eo();
  function JHt(t, e, s) {
    if (!t) return;
    let r = NT.NODE_FIELDS[t.type];
    if (!r) return;
    let i = r[e];
    ype(t, e, s, i), gpe(t, e, s);
  }
  n(JHt, "validate");
  function YHt(t, e, s, r, i) {
    if (t != null && t.validate && !(t.optional && r == null) && (t.validate(e, s, r), i)) {
      var a;
      let o = r.type;
      if (o == null) return;
      (a = NT.NODE_PARENT_VALIDATIONS[o]) == null || a.call(NT.NODE_PARENT_VALIDATIONS, e, s, r);
    }
  }
  n(YHt, "validateInternal");
  function ype(t, e, s, r) {
    r != null && r.validate && (r.optional && s == null || r.validate(t, e, s));
  }
  n(ype, "validateField");
  function gpe(t, e, s) {
    var r;
    let i = s?.type;
    i != null && ((r = NT.NODE_PARENT_VALIDATIONS[i]) == null || r.call(NT.NODE_PARENT_VALIDATIONS, t, e, s));
  }
  n(gpe, "validateChild");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/builders/generated/index.js
var Kn = g((v) => {
  "use strict";
  Object.defineProperty(v, "__esModule", {
    value: !0
  });
  v.anyTypeAnnotation = wYt;
  v.argumentPlaceholder = szt;
  v.arrayExpression = GHt;
  v.arrayPattern = HJt;
  v.arrayTypeAnnotation = IYt;
  v.arrowFunctionExpression = JJt;
  v.assignmentExpression = QHt;
  v.assignmentPattern = $Jt;
  v.awaitExpression = mYt;
  v.bigIntLiteral = gYt;
  v.binaryExpression = ZHt;
  v.bindExpression = rzt;
  v.blockStatement = rJt;
  v.booleanLiteral = EJt;
  v.booleanLiteralTypeAnnotation = kYt;
  v.booleanTypeAnnotation = NYt;
  v.breakStatement = iJt;
  v.callExpression = nJt;
  v.catchClause = aJt;
  v.classAccessorProperty = PYt;
  v.classBody = YJt;
  v.classDeclaration = zJt;
  v.classExpression = XJt;
  v.classImplements = OYt;
  v.classMethod = lYt;
  v.classPrivateMethod = AYt;
  v.classPrivateProperty = EYt;
  v.classProperty = SYt;
  v.conditionalExpression = oJt;
  v.continueStatement = lJt;
  v.debuggerStatement = uJt;
  v.decimalLiteral = czt;
  v.declareClass = _Yt;
  v.declareExportAllDeclaration = KYt;
  v.declareExportDeclaration = UYt;
  v.declareFunction = LYt;
  v.declareInterface = BYt;
  v.declareModule = MYt;
  v.declareModuleExports = FYt;
  v.declareOpaqueType = RYt;
  v.declareTypeAlias = jYt;
  v.declareVariable = qYt;
  v.declaredPredicate = VYt;
  v.decorator = nzt;
  v.directive = tJt;
  v.directiveLiteral = sJt;
  v.doExpression = azt;
  v.doWhileStatement = cJt;
  v.emptyStatement = pJt;
  v.emptyTypeAnnotation = eXt;
  v.enumBooleanBody = IXt;
  v.enumBooleanMember = OXt;
  v.enumDeclaration = wXt;
  v.enumDefaultedMember = BXt;
  v.enumNumberBody = NXt;
  v.enumNumberMember = _Xt;
  v.enumStringBody = kXt;
  v.enumStringMember = LXt;
  v.enumSymbolBody = DXt;
  v.existsTypeAnnotation = WYt;
  v.exportAllDeclaration = GJt;
  v.exportDefaultDeclaration = QJt;
  v.exportDefaultSpecifier = ozt;
  v.exportNamedDeclaration = ZJt;
  v.exportNamespaceSpecifier = TYt;
  v.exportSpecifier = eYt;
  v.expressionStatement = hJt;
  v.file = fJt;
  v.forInStatement = dJt;
  v.forOfStatement = tYt;
  v.forStatement = mJt;
  v.functionDeclaration = yJt;
  v.functionExpression = gJt;
  v.functionTypeAnnotation = $Yt;
  v.functionTypeParam = HYt;
  v.genericTypeAnnotation = JYt;
  v.identifier = TJt;
  v.ifStatement = bJt;
  v.import = yYt;
  v.importAttribute = izt;
  v.importDeclaration = sYt;
  v.importDefaultSpecifier = rYt;
  v.importExpression = aYt;
  v.importNamespaceSpecifier = iYt;
  v.importSpecifier = nYt;
  v.indexedAccessType = MXt;
  v.inferredPredicate = YYt;
  v.interfaceDeclaration = zYt;
  v.interfaceExtends = XYt;
  v.interfaceTypeAnnotation = GYt;
  v.interpreterDirective = eJt;
  v.intersectionTypeAnnotation = QYt;
  v.jSXAttribute = v.jsxAttribute = jXt;
  v.jSXClosingElement = v.jsxClosingElement = RXt;
  v.jSXClosingFragment = v.jsxClosingFragment = QXt;
  v.jSXElement = v.jsxElement = qXt;
  v.jSXEmptyExpression = v.jsxEmptyExpression = UXt;
  v.jSXExpressionContainer = v.jsxExpressionContainer = KXt;
  v.jSXFragment = v.jsxFragment = zXt;
  v.jSXIdentifier = v.jsxIdentifier = WXt;
  v.jSXMemberExpression = v.jsxMemberExpression = $Xt;
  v.jSXNamespacedName = v.jsxNamespacedName = HXt;
  v.jSXOpeningElement = v.jsxOpeningElement = JXt;
  v.jSXOpeningFragment = v.jsxOpeningFragment = GXt;
  v.jSXSpreadAttribute = v.jsxSpreadAttribute = YXt;
  v.jSXSpreadChild = v.jsxSpreadChild = VXt;
  v.jSXText = v.jsxText = XXt;
  v.labeledStatement = xJt;
  v.logicalExpression = AJt;
  v.memberExpression = vJt;
  v.metaProperty = oYt;
  v.mixedTypeAnnotation = ZYt;
  v.moduleExpression = pzt;
  v.newExpression = CJt;
  v.noop = ZXt;
  v.nullLiteral = PJt;
  v.nullLiteralTypeAnnotation = DYt;
  v.nullableTypeAnnotation = tXt;
  v.numberLiteral = IGt;
  v.numberLiteralTypeAnnotation = sXt;
  v.numberTypeAnnotation = rXt;
  v.numericLiteral = Tpe;
  v.objectExpression = IJt;
  v.objectMethod = NJt;
  v.objectPattern = uYt;
  v.objectProperty = kJt;
  v.objectTypeAnnotation = iXt;
  v.objectTypeCallProperty = aXt;
  v.objectTypeIndexer = oXt;
  v.objectTypeInternalSlot = nXt;
  v.objectTypeProperty = lXt;
  v.objectTypeSpreadProperty = uXt;
  v.opaqueType = cXt;
  v.optionalCallExpression = xYt;
  v.optionalIndexedAccessType = FXt;
  v.optionalMemberExpression = bYt;
  v.parenthesizedExpression = _Jt;
  v.pipelineBareFunction = dzt;
  v.pipelinePrimaryTopicReference = mzt;
  v.pipelineTopicExpression = fzt;
  v.placeholder = ezt;
  v.privateName = vYt;
  v.program = wJt;
  v.qualifiedTypeIdentifier = pXt;
  v.recordExpression = lzt;
  v.regExpLiteral = bpe;
  v.regexLiteral = NGt;
  v.restElement = xpe;
  v.restProperty = kGt;
  v.returnStatement = DJt;
  v.sequenceExpression = OJt;
  v.spreadElement = Spe;
  v.spreadProperty = DGt;
  v.staticBlock = CYt;
  v.stringLiteral = SJt;
  v.stringLiteralTypeAnnotation = hXt;
  v.stringTypeAnnotation = fXt;
  v.super = cYt;
  v.switchCase = LJt;
  v.switchStatement = BJt;
  v.symbolTypeAnnotation = dXt;
  v.taggedTemplateExpression = pYt;
  v.templateElement = hYt;
  v.templateLiteral = fYt;
  v.thisExpression = MJt;
  v.thisTypeAnnotation = mXt;
  v.throwStatement = FJt;
  v.topicReference = hzt;
  v.tryStatement = jJt;
  v.tSAnyKeyword = v.tsAnyKeyword = vzt;
  v.tSArrayType = v.tsArrayType = $zt;
  v.tSAsExpression = v.tsAsExpression = cGt;
  v.tSBigIntKeyword = v.tsBigIntKeyword = wzt;
  v.tSBooleanKeyword = v.tsBooleanKeyword = Czt;
  v.tSCallSignatureDeclaration = v.tsCallSignatureDeclaration = xzt;
  v.tSConditionalType = v.tsConditionalType = Qzt;
  v.tSConstructSignatureDeclaration = v.tsConstructSignatureDeclaration = Szt;
  v.tSConstructorType = v.tsConstructorType = qzt;
  v.tSDeclareFunction = v.tsDeclareFunction = gzt;
  v.tSDeclareMethod = v.tsDeclareMethod = Tzt;
  v.tSEnumBody = v.tsEnumBody = fGt;
  v.tSEnumDeclaration = v.tsEnumDeclaration = dGt;
  v.tSEnumMember = v.tsEnumMember = mGt;
  v.tSExportAssignment = v.tsExportAssignment = PGt;
  v.tSExpressionWithTypeArguments = v.tsExpressionWithTypeArguments = nGt;
  v.tSExternalModuleReference = v.tsExternalModuleReference = xGt;
  v.tSFunctionType = v.tsFunctionType = Rzt;
  v.tSImportEqualsDeclaration = v.tsImportEqualsDeclaration = bGt;
  v.tSImportType = v.tsImportType = TGt;
  v.tSIndexSignature = v.tsIndexSignature = Azt;
  v.tSIndexedAccessType = v.tsIndexedAccessType = sGt;
  v.tSInferType = v.tsInferType = Zzt;
  v.tSInstantiationExpression = v.tsInstantiationExpression = uGt;
  v.tSInterfaceBody = v.tsInterfaceBody = oGt;
  v.tSInterfaceDeclaration = v.tsInterfaceDeclaration = aGt;
  v.tSIntersectionType = v.tsIntersectionType = Gzt;
  v.tSIntrinsicKeyword = v.tsIntrinsicKeyword = Izt;
  v.tSLiteralType = v.tsLiteralType = iGt;
  v.tSMappedType = v.tsMappedType = rGt;
  v.tSMethodSignature = v.tsMethodSignature = Ezt;
  v.tSModuleBlock = v.tsModuleBlock = gGt;
  v.tSModuleDeclaration = v.tsModuleDeclaration = yGt;
  v.tSNamedTupleMember = v.tsNamedTupleMember = Xzt;
  v.tSNamespaceExportDeclaration = v.tsNamespaceExportDeclaration = EGt;
  v.tSNeverKeyword = v.tsNeverKeyword = Nzt;
  v.tSNonNullExpression = v.tsNonNullExpression = SGt;
  v.tSNullKeyword = v.tsNullKeyword = kzt;
  v.tSNumberKeyword = v.tsNumberKeyword = Dzt;
  v.tSObjectKeyword = v.tsObjectKeyword = Ozt;
  v.tSOptionalType = v.tsOptionalType = Jzt;
  v.tSParameterProperty = v.tsParameterProperty = yzt;
  v.tSParenthesizedType = v.tsParenthesizedType = eGt;
  v.tSPropertySignature = v.tsPropertySignature = Pzt;
  v.tSQualifiedName = v.tsQualifiedName = bzt;
  v.tSRestType = v.tsRestType = Yzt;
  v.tSSatisfiesExpression = v.tsSatisfiesExpression = pGt;
  v.tSStringKeyword = v.tsStringKeyword = _zt;
  v.tSSymbolKeyword = v.tsSymbolKeyword = Lzt;
  v.tSThisType = v.tsThisType = jzt;
  v.tSTupleType = v.tsTupleType = Hzt;
  v.tSTypeAliasDeclaration = v.tsTypeAliasDeclaration = lGt;
  v.tSTypeAnnotation = v.tsTypeAnnotation = AGt;
  v.tSTypeAssertion = v.tsTypeAssertion = hGt;
  v.tSTypeLiteral = v.tsTypeLiteral = Wzt;
  v.tSTypeOperator = v.tsTypeOperator = tGt;
  v.tSTypeParameter = v.tsTypeParameter = wGt;
  v.tSTypeParameterDeclaration = v.tsTypeParameterDeclaration = CGt;
  v.tSTypeParameterInstantiation = v.tsTypeParameterInstantiation = vGt;
  v.tSTypePredicate = v.tsTypePredicate = Kzt;
  v.tSTypeQuery = v.tsTypeQuery = Vzt;
  v.tSTypeReference = v.tsTypeReference = Uzt;
  v.tSUndefinedKeyword = v.tsUndefinedKeyword = Bzt;
  v.tSUnionType = v.tsUnionType = zzt;
  v.tSUnknownKeyword = v.tsUnknownKeyword = Mzt;
  v.tSVoidKeyword = v.tsVoidKeyword = Fzt;
  v.tupleExpression = uzt;
  v.tupleTypeAnnotation = yXt;
  v.typeAlias = TXt;
  v.typeAnnotation = bXt;
  v.typeCastExpression = xXt;
  v.typeParameter = SXt;
  v.typeParameterDeclaration = PXt;
  v.typeParameterInstantiation = EXt;
  v.typeofTypeAnnotation = gXt;
  v.unaryExpression = RJt;
  v.unionTypeAnnotation = AXt;
  v.updateExpression = qJt;
  v.v8IntrinsicIdentifier = tzt;
  v.variableDeclaration = UJt;
  v.variableDeclarator = KJt;
  v.variance = vXt;
  v.voidTypeAnnotation = CXt;
  v.whileStatement = VJt;
  v.withStatement = WJt;
  v.yieldExpression = dYt;
  var XHt = M1(), U1 = AT(), zHt = Il(), {
    validateInternal: S
  } = XHt, {
    NODE_FIELDS: ie
  } = zHt;
  function GHt(t = []) {
    let e = {
      type: "ArrayExpression",
      elements: t
    }, s = ie.ArrayExpression;
    return S(s.elements, e, "elements", t, 1), e;
  }
  n(GHt, "arrayExpression");
  function QHt(t, e, s) {
    let r = {
      type: "AssignmentExpression",
      operator: t,
      left: e,
      right: s
    }, i = ie.AssignmentExpression;
    return S(i.operator, r, "operator", t), S(i.left, r, "left", e, 1), S(i.right, r, "right", s, 1), r;
  }
  n(QHt, "assignmentExpression");
  function ZHt(t, e, s) {
    let r = {
      type: "BinaryExpression",
      operator: t,
      left: e,
      right: s
    }, i = ie.BinaryExpression;
    return S(i.operator, r, "operator", t), S(i.left, r, "left", e, 1), S(i.right, r, "right", s, 1), r;
  }
  n(ZHt, "binaryExpression");
  function eJt(t) {
    let e = {
      type: "InterpreterDirective",
      value: t
    }, s = ie.InterpreterDirective;
    return S(s.value, e, "value", t), e;
  }
  n(eJt, "interpreterDirective");
  function tJt(t) {
    let e = {
      type: "Directive",
      value: t
    }, s = ie.Directive;
    return S(s.value, e, "value", t, 1), e;
  }
  n(tJt, "directive");
  function sJt(t) {
    let e = {
      type: "DirectiveLiteral",
      value: t
    }, s = ie.DirectiveLiteral;
    return S(s.value, e, "value", t), e;
  }
  n(sJt, "directiveLiteral");
  function rJt(t, e = []) {
    let s = {
      type: "BlockStatement",
      body: t,
      directives: e
    }, r = ie.BlockStatement;
    return S(r.body, s, "body", t, 1), S(r.directives, s, "directives", e, 1), s;
  }
  n(rJt, "blockStatement");
  function iJt(t = null) {
    let e = {
      type: "BreakStatement",
      label: t
    }, s = ie.BreakStatement;
    return S(s.label, e, "label", t, 1), e;
  }
  n(iJt, "breakStatement");
  function nJt(t, e) {
    let s = {
      type: "CallExpression",
      callee: t,
      arguments: e
    }, r = ie.CallExpression;
    return S(r.callee, s, "callee", t, 1), S(r.arguments, s, "arguments", e, 1), s;
  }
  n(nJt, "callExpression");
  function aJt(t = null, e) {
    let s = {
      type: "CatchClause",
      param: t,
      body: e
    }, r = ie.CatchClause;
    return S(r.param, s, "param", t, 1), S(r.body, s, "body", e, 1), s;
  }
  n(aJt, "catchClause");
  function oJt(t, e, s) {
    let r = {
      type: "ConditionalExpression",
      test: t,
      consequent: e,
      alternate: s
    }, i = ie.ConditionalExpression;
    return S(i.test, r, "test", t, 1), S(i.consequent, r, "consequent", e, 1), S(i.alternate, r, "alternate", s, 1), r;
  }
  n(oJt, "conditionalExpression");
  function lJt(t = null) {
    let e = {
      type: "ContinueStatement",
      label: t
    }, s = ie.ContinueStatement;
    return S(s.label, e, "label", t, 1), e;
  }
  n(lJt, "continueStatement");
  function uJt() {
    return {
      type: "DebuggerStatement"
    };
  }
  n(uJt, "debuggerStatement");
  function cJt(t, e) {
    let s = {
      type: "DoWhileStatement",
      test: t,
      body: e
    }, r = ie.DoWhileStatement;
    return S(r.test, s, "test", t, 1), S(r.body, s, "body", e, 1), s;
  }
  n(cJt, "doWhileStatement");
  function pJt() {
    return {
      type: "EmptyStatement"
    };
  }
  n(pJt, "emptyStatement");
  function hJt(t) {
    let e = {
      type: "ExpressionStatement",
      expression: t
    }, s = ie.ExpressionStatement;
    return S(s.expression, e, "expression", t, 1), e;
  }
  n(hJt, "expressionStatement");
  function fJt(t, e = null, s = null) {
    let r = {
      type: "File",
      program: t,
      comments: e,
      tokens: s
    }, i = ie.File;
    return S(i.program, r, "program", t, 1), S(i.comments, r, "comments", e, 1), S(i.tokens, r, "tokens", s), r;
  }
  n(fJt, "file");
  function dJt(t, e, s) {
    let r = {
      type: "ForInStatement",
      left: t,
      right: e,
      body: s
    }, i = ie.ForInStatement;
    return S(i.left, r, "left", t, 1), S(i.right, r, "right", e, 1), S(i.body, r, "body", s, 1), r;
  }
  n(dJt, "forInStatement");
  function mJt(t = null, e = null, s = null, r) {
    let i = {
      type: "ForStatement",
      init: t,
      test: e,
      update: s,
      body: r
    }, a = ie.ForStatement;
    return S(a.init, i, "init", t, 1), S(a.test, i, "test", e, 1), S(a.update, i, "update", s, 1), S(a.body, i, "body", r, 1), i;
  }
  n(mJt, "forStatement");
  function yJt(t = null, e, s, r = !1, i = !1) {
    let a = {
      type: "FunctionDeclaration",
      id: t,
      params: e,
      body: s,
      generator: r,
      async: i
    }, o = ie.FunctionDeclaration;
    return S(o.id, a, "id", t, 1), S(o.params, a, "params", e, 1), S(o.body, a, "body", s, 1), S(o.generator, a, "generator", r), S(o.async,
    a, "async", i), a;
  }
  n(yJt, "functionDeclaration");
  function gJt(t = null, e, s, r = !1, i = !1) {
    let a = {
      type: "FunctionExpression",
      id: t,
      params: e,
      body: s,
      generator: r,
      async: i
    }, o = ie.FunctionExpression;
    return S(o.id, a, "id", t, 1), S(o.params, a, "params", e, 1), S(o.body, a, "body", s, 1), S(o.generator, a, "generator", r), S(o.async,
    a, "async", i), a;
  }
  n(gJt, "functionExpression");
  function TJt(t) {
    let e = {
      type: "Identifier",
      name: t
    }, s = ie.Identifier;
    return S(s.name, e, "name", t), e;
  }
  n(TJt, "identifier");
  function bJt(t, e, s = null) {
    let r = {
      type: "IfStatement",
      test: t,
      consequent: e,
      alternate: s
    }, i = ie.IfStatement;
    return S(i.test, r, "test", t, 1), S(i.consequent, r, "consequent", e, 1), S(i.alternate, r, "alternate", s, 1), r;
  }
  n(bJt, "ifStatement");
  function xJt(t, e) {
    let s = {
      type: "LabeledStatement",
      label: t,
      body: e
    }, r = ie.LabeledStatement;
    return S(r.label, s, "label", t, 1), S(r.body, s, "body", e, 1), s;
  }
  n(xJt, "labeledStatement");
  function SJt(t) {
    let e = {
      type: "StringLiteral",
      value: t
    }, s = ie.StringLiteral;
    return S(s.value, e, "value", t), e;
  }
  n(SJt, "stringLiteral");
  function Tpe(t) {
    let e = {
      type: "NumericLiteral",
      value: t
    }, s = ie.NumericLiteral;
    return S(s.value, e, "value", t), e;
  }
  n(Tpe, "numericLiteral");
  function PJt() {
    return {
      type: "NullLiteral"
    };
  }
  n(PJt, "nullLiteral");
  function EJt(t) {
    let e = {
      type: "BooleanLiteral",
      value: t
    }, s = ie.BooleanLiteral;
    return S(s.value, e, "value", t), e;
  }
  n(EJt, "booleanLiteral");
  function bpe(t, e = "") {
    let s = {
      type: "RegExpLiteral",
      pattern: t,
      flags: e
    }, r = ie.RegExpLiteral;
    return S(r.pattern, s, "pattern", t), S(r.flags, s, "flags", e), s;
  }
  n(bpe, "regExpLiteral");
  function AJt(t, e, s) {
    let r = {
      type: "LogicalExpression",
      operator: t,
      left: e,
      right: s
    }, i = ie.LogicalExpression;
    return S(i.operator, r, "operator", t), S(i.left, r, "left", e, 1), S(i.right, r, "right", s, 1), r;
  }
  n(AJt, "logicalExpression");
  function vJt(t, e, s = !1, r = null) {
    let i = {
      type: "MemberExpression",
      object: t,
      property: e,
      computed: s,
      optional: r
    }, a = ie.MemberExpression;
    return S(a.object, i, "object", t, 1), S(a.property, i, "property", e, 1), S(a.computed, i, "computed", s), S(a.optional, i, "optional",
    r), i;
  }
  n(vJt, "memberExpression");
  function CJt(t, e) {
    let s = {
      type: "NewExpression",
      callee: t,
      arguments: e
    }, r = ie.NewExpression;
    return S(r.callee, s, "callee", t, 1), S(r.arguments, s, "arguments", e, 1), s;
  }
  n(CJt, "newExpression");
  function wJt(t, e = [], s = "script", r = null) {
    let i = {
      type: "Program",
      body: t,
      directives: e,
      sourceType: s,
      interpreter: r
    }, a = ie.Program;
    return S(a.body, i, "body", t, 1), S(a.directives, i, "directives", e, 1), S(a.sourceType, i, "sourceType", s), S(a.interpreter, i, "int\
erpreter", r, 1), i;
  }
  n(wJt, "program");
  function IJt(t) {
    let e = {
      type: "ObjectExpression",
      properties: t
    }, s = ie.ObjectExpression;
    return S(s.properties, e, "properties", t, 1), e;
  }
  n(IJt, "objectExpression");
  function NJt(t = "method", e, s, r, i = !1, a = !1, o = !1) {
    let l = {
      type: "ObjectMethod",
      kind: t,
      key: e,
      params: s,
      body: r,
      computed: i,
      generator: a,
      async: o
    }, u = ie.ObjectMethod;
    return S(u.kind, l, "kind", t), S(u.key, l, "key", e, 1), S(u.params, l, "params", s, 1), S(u.body, l, "body", r, 1), S(u.computed, l, "\
computed", i), S(u.generator, l, "generator", a), S(u.async, l, "async", o), l;
  }
  n(NJt, "objectMethod");
  function kJt(t, e, s = !1, r = !1, i = null) {
    let a = {
      type: "ObjectProperty",
      key: t,
      value: e,
      computed: s,
      shorthand: r,
      decorators: i
    }, o = ie.ObjectProperty;
    return S(o.key, a, "key", t, 1), S(o.value, a, "value", e, 1), S(o.computed, a, "computed", s), S(o.shorthand, a, "shorthand", r), S(o.decorators,
    a, "decorators", i, 1), a;
  }
  n(kJt, "objectProperty");
  function xpe(t) {
    let e = {
      type: "RestElement",
      argument: t
    }, s = ie.RestElement;
    return S(s.argument, e, "argument", t, 1), e;
  }
  n(xpe, "restElement");
  function DJt(t = null) {
    let e = {
      type: "ReturnStatement",
      argument: t
    }, s = ie.ReturnStatement;
    return S(s.argument, e, "argument", t, 1), e;
  }
  n(DJt, "returnStatement");
  function OJt(t) {
    let e = {
      type: "SequenceExpression",
      expressions: t
    }, s = ie.SequenceExpression;
    return S(s.expressions, e, "expressions", t, 1), e;
  }
  n(OJt, "sequenceExpression");
  function _Jt(t) {
    let e = {
      type: "ParenthesizedExpression",
      expression: t
    }, s = ie.ParenthesizedExpression;
    return S(s.expression, e, "expression", t, 1), e;
  }
  n(_Jt, "parenthesizedExpression");
  function LJt(t = null, e) {
    let s = {
      type: "SwitchCase",
      test: t,
      consequent: e
    }, r = ie.SwitchCase;
    return S(r.test, s, "test", t, 1), S(r.consequent, s, "consequent", e, 1), s;
  }
  n(LJt, "switchCase");
  function BJt(t, e) {
    let s = {
      type: "SwitchStatement",
      discriminant: t,
      cases: e
    }, r = ie.SwitchStatement;
    return S(r.discriminant, s, "discriminant", t, 1), S(r.cases, s, "cases", e, 1), s;
  }
  n(BJt, "switchStatement");
  function MJt() {
    return {
      type: "ThisExpression"
    };
  }
  n(MJt, "thisExpression");
  function FJt(t) {
    let e = {
      type: "ThrowStatement",
      argument: t
    }, s = ie.ThrowStatement;
    return S(s.argument, e, "argument", t, 1), e;
  }
  n(FJt, "throwStatement");
  function jJt(t, e = null, s = null) {
    let r = {
      type: "TryStatement",
      block: t,
      handler: e,
      finalizer: s
    }, i = ie.TryStatement;
    return S(i.block, r, "block", t, 1), S(i.handler, r, "handler", e, 1), S(i.finalizer, r, "finalizer", s, 1), r;
  }
  n(jJt, "tryStatement");
  function RJt(t, e, s = !0) {
    let r = {
      type: "UnaryExpression",
      operator: t,
      argument: e,
      prefix: s
    }, i = ie.UnaryExpression;
    return S(i.operator, r, "operator", t), S(i.argument, r, "argument", e, 1), S(i.prefix, r, "prefix", s), r;
  }
  n(RJt, "unaryExpression");
  function qJt(t, e, s = !1) {
    let r = {
      type: "UpdateExpression",
      operator: t,
      argument: e,
      prefix: s
    }, i = ie.UpdateExpression;
    return S(i.operator, r, "operator", t), S(i.argument, r, "argument", e, 1), S(i.prefix, r, "prefix", s), r;
  }
  n(qJt, "updateExpression");
  function UJt(t, e) {
    let s = {
      type: "VariableDeclaration",
      kind: t,
      declarations: e
    }, r = ie.VariableDeclaration;
    return S(r.kind, s, "kind", t), S(r.declarations, s, "declarations", e, 1), s;
  }
  n(UJt, "variableDeclaration");
  function KJt(t, e = null) {
    let s = {
      type: "VariableDeclarator",
      id: t,
      init: e
    }, r = ie.VariableDeclarator;
    return S(r.id, s, "id", t, 1), S(r.init, s, "init", e, 1), s;
  }
  n(KJt, "variableDeclarator");
  function VJt(t, e) {
    let s = {
      type: "WhileStatement",
      test: t,
      body: e
    }, r = ie.WhileStatement;
    return S(r.test, s, "test", t, 1), S(r.body, s, "body", e, 1), s;
  }
  n(VJt, "whileStatement");
  function WJt(t, e) {
    let s = {
      type: "WithStatement",
      object: t,
      body: e
    }, r = ie.WithStatement;
    return S(r.object, s, "object", t, 1), S(r.body, s, "body", e, 1), s;
  }
  n(WJt, "withStatement");
  function $Jt(t, e) {
    let s = {
      type: "AssignmentPattern",
      left: t,
      right: e
    }, r = ie.AssignmentPattern;
    return S(r.left, s, "left", t, 1), S(r.right, s, "right", e, 1), s;
  }
  n($Jt, "assignmentPattern");
  function HJt(t) {
    let e = {
      type: "ArrayPattern",
      elements: t
    }, s = ie.ArrayPattern;
    return S(s.elements, e, "elements", t, 1), e;
  }
  n(HJt, "arrayPattern");
  function JJt(t, e, s = !1) {
    let r = {
      type: "ArrowFunctionExpression",
      params: t,
      body: e,
      async: s,
      expression: null
    }, i = ie.ArrowFunctionExpression;
    return S(i.params, r, "params", t, 1), S(i.body, r, "body", e, 1), S(i.async, r, "async", s), r;
  }
  n(JJt, "arrowFunctionExpression");
  function YJt(t) {
    let e = {
      type: "ClassBody",
      body: t
    }, s = ie.ClassBody;
    return S(s.body, e, "body", t, 1), e;
  }
  n(YJt, "classBody");
  function XJt(t = null, e = null, s, r = null) {
    let i = {
      type: "ClassExpression",
      id: t,
      superClass: e,
      body: s,
      decorators: r
    }, a = ie.ClassExpression;
    return S(a.id, i, "id", t, 1), S(a.superClass, i, "superClass", e, 1), S(a.body, i, "body", s, 1), S(a.decorators, i, "decorators", r, 1),
    i;
  }
  n(XJt, "classExpression");
  function zJt(t = null, e = null, s, r = null) {
    let i = {
      type: "ClassDeclaration",
      id: t,
      superClass: e,
      body: s,
      decorators: r
    }, a = ie.ClassDeclaration;
    return S(a.id, i, "id", t, 1), S(a.superClass, i, "superClass", e, 1), S(a.body, i, "body", s, 1), S(a.decorators, i, "decorators", r, 1),
    i;
  }
  n(zJt, "classDeclaration");
  function GJt(t) {
    let e = {
      type: "ExportAllDeclaration",
      source: t
    }, s = ie.ExportAllDeclaration;
    return S(s.source, e, "source", t, 1), e;
  }
  n(GJt, "exportAllDeclaration");
  function QJt(t) {
    let e = {
      type: "ExportDefaultDeclaration",
      declaration: t
    }, s = ie.ExportDefaultDeclaration;
    return S(s.declaration, e, "declaration", t, 1), e;
  }
  n(QJt, "exportDefaultDeclaration");
  function ZJt(t = null, e = [], s = null) {
    let r = {
      type: "ExportNamedDeclaration",
      declaration: t,
      specifiers: e,
      source: s
    }, i = ie.ExportNamedDeclaration;
    return S(i.declaration, r, "declaration", t, 1), S(i.specifiers, r, "specifiers", e, 1), S(i.source, r, "source", s, 1), r;
  }
  n(ZJt, "exportNamedDeclaration");
  function eYt(t, e) {
    let s = {
      type: "ExportSpecifier",
      local: t,
      exported: e
    }, r = ie.ExportSpecifier;
    return S(r.local, s, "local", t, 1), S(r.exported, s, "exported", e, 1), s;
  }
  n(eYt, "exportSpecifier");
  function tYt(t, e, s, r = !1) {
    let i = {
      type: "ForOfStatement",
      left: t,
      right: e,
      body: s,
      await: r
    }, a = ie.ForOfStatement;
    return S(a.left, i, "left", t, 1), S(a.right, i, "right", e, 1), S(a.body, i, "body", s, 1), S(a.await, i, "await", r), i;
  }
  n(tYt, "forOfStatement");
  function sYt(t, e) {
    let s = {
      type: "ImportDeclaration",
      specifiers: t,
      source: e
    }, r = ie.ImportDeclaration;
    return S(r.specifiers, s, "specifiers", t, 1), S(r.source, s, "source", e, 1), s;
  }
  n(sYt, "importDeclaration");
  function rYt(t) {
    let e = {
      type: "ImportDefaultSpecifier",
      local: t
    }, s = ie.ImportDefaultSpecifier;
    return S(s.local, e, "local", t, 1), e;
  }
  n(rYt, "importDefaultSpecifier");
  function iYt(t) {
    let e = {
      type: "ImportNamespaceSpecifier",
      local: t
    }, s = ie.ImportNamespaceSpecifier;
    return S(s.local, e, "local", t, 1), e;
  }
  n(iYt, "importNamespaceSpecifier");
  function nYt(t, e) {
    let s = {
      type: "ImportSpecifier",
      local: t,
      imported: e
    }, r = ie.ImportSpecifier;
    return S(r.local, s, "local", t, 1), S(r.imported, s, "imported", e, 1), s;
  }
  n(nYt, "importSpecifier");
  function aYt(t, e = null) {
    let s = {
      type: "ImportExpression",
      source: t,
      options: e
    }, r = ie.ImportExpression;
    return S(r.source, s, "source", t, 1), S(r.options, s, "options", e, 1), s;
  }
  n(aYt, "importExpression");
  function oYt(t, e) {
    let s = {
      type: "MetaProperty",
      meta: t,
      property: e
    }, r = ie.MetaProperty;
    return S(r.meta, s, "meta", t, 1), S(r.property, s, "property", e, 1), s;
  }
  n(oYt, "metaProperty");
  function lYt(t = "method", e, s, r, i = !1, a = !1, o = !1, l = !1) {
    let u = {
      type: "ClassMethod",
      kind: t,
      key: e,
      params: s,
      body: r,
      computed: i,
      static: a,
      generator: o,
      async: l
    }, c = ie.ClassMethod;
    return S(c.kind, u, "kind", t), S(c.key, u, "key", e, 1), S(c.params, u, "params", s, 1), S(c.body, u, "body", r, 1), S(c.computed, u, "\
computed", i), S(c.static, u, "static", a), S(c.generator, u, "generator", o), S(c.async, u, "async", l), u;
  }
  n(lYt, "classMethod");
  function uYt(t) {
    let e = {
      type: "ObjectPattern",
      properties: t
    }, s = ie.ObjectPattern;
    return S(s.properties, e, "properties", t, 1), e;
  }
  n(uYt, "objectPattern");
  function Spe(t) {
    let e = {
      type: "SpreadElement",
      argument: t
    }, s = ie.SpreadElement;
    return S(s.argument, e, "argument", t, 1), e;
  }
  n(Spe, "spreadElement");
  function cYt() {
    return {
      type: "Super"
    };
  }
  n(cYt, "_super");
  function pYt(t, e) {
    let s = {
      type: "TaggedTemplateExpression",
      tag: t,
      quasi: e
    }, r = ie.TaggedTemplateExpression;
    return S(r.tag, s, "tag", t, 1), S(r.quasi, s, "quasi", e, 1), s;
  }
  n(pYt, "taggedTemplateExpression");
  function hYt(t, e = !1) {
    let s = {
      type: "TemplateElement",
      value: t,
      tail: e
    }, r = ie.TemplateElement;
    return S(r.value, s, "value", t), S(r.tail, s, "tail", e), s;
  }
  n(hYt, "templateElement");
  function fYt(t, e) {
    let s = {
      type: "TemplateLiteral",
      quasis: t,
      expressions: e
    }, r = ie.TemplateLiteral;
    return S(r.quasis, s, "quasis", t, 1), S(r.expressions, s, "expressions", e, 1), s;
  }
  n(fYt, "templateLiteral");
  function dYt(t = null, e = !1) {
    let s = {
      type: "YieldExpression",
      argument: t,
      delegate: e
    }, r = ie.YieldExpression;
    return S(r.argument, s, "argument", t, 1), S(r.delegate, s, "delegate", e), s;
  }
  n(dYt, "yieldExpression");
  function mYt(t) {
    let e = {
      type: "AwaitExpression",
      argument: t
    }, s = ie.AwaitExpression;
    return S(s.argument, e, "argument", t, 1), e;
  }
  n(mYt, "awaitExpression");
  function yYt() {
    return {
      type: "Import"
    };
  }
  n(yYt, "_import");
  function gYt(t) {
    let e = {
      type: "BigIntLiteral",
      value: t
    }, s = ie.BigIntLiteral;
    return S(s.value, e, "value", t), e;
  }
  n(gYt, "bigIntLiteral");
  function TYt(t) {
    let e = {
      type: "ExportNamespaceSpecifier",
      exported: t
    }, s = ie.ExportNamespaceSpecifier;
    return S(s.exported, e, "exported", t, 1), e;
  }
  n(TYt, "exportNamespaceSpecifier");
  function bYt(t, e, s = !1, r) {
    let i = {
      type: "OptionalMemberExpression",
      object: t,
      property: e,
      computed: s,
      optional: r
    }, a = ie.OptionalMemberExpression;
    return S(a.object, i, "object", t, 1), S(a.property, i, "property", e, 1), S(a.computed, i, "computed", s), S(a.optional, i, "optional",
    r), i;
  }
  n(bYt, "optionalMemberExpression");
  function xYt(t, e, s) {
    let r = {
      type: "OptionalCallExpression",
      callee: t,
      arguments: e,
      optional: s
    }, i = ie.OptionalCallExpression;
    return S(i.callee, r, "callee", t, 1), S(i.arguments, r, "arguments", e, 1), S(i.optional, r, "optional", s), r;
  }
  n(xYt, "optionalCallExpression");
  function SYt(t, e = null, s = null, r = null, i = !1, a = !1) {
    let o = {
      type: "ClassProperty",
      key: t,
      value: e,
      typeAnnotation: s,
      decorators: r,
      computed: i,
      static: a
    }, l = ie.ClassProperty;
    return S(l.key, o, "key", t, 1), S(l.value, o, "value", e, 1), S(l.typeAnnotation, o, "typeAnnotation", s, 1), S(l.decorators, o, "decor\
ators", r, 1), S(l.computed, o, "computed", i), S(l.static, o, "static", a), o;
  }
  n(SYt, "classProperty");
  function PYt(t, e = null, s = null, r = null, i = !1, a = !1) {
    let o = {
      type: "ClassAccessorProperty",
      key: t,
      value: e,
      typeAnnotation: s,
      decorators: r,
      computed: i,
      static: a
    }, l = ie.ClassAccessorProperty;
    return S(l.key, o, "key", t, 1), S(l.value, o, "value", e, 1), S(l.typeAnnotation, o, "typeAnnotation", s, 1), S(l.decorators, o, "decor\
ators", r, 1), S(l.computed, o, "computed", i), S(l.static, o, "static", a), o;
  }
  n(PYt, "classAccessorProperty");
  function EYt(t, e = null, s = null, r = !1) {
    let i = {
      type: "ClassPrivateProperty",
      key: t,
      value: e,
      decorators: s,
      static: r
    }, a = ie.ClassPrivateProperty;
    return S(a.key, i, "key", t, 1), S(a.value, i, "value", e, 1), S(a.decorators, i, "decorators", s, 1), S(a.static, i, "static", r), i;
  }
  n(EYt, "classPrivateProperty");
  function AYt(t = "method", e, s, r, i = !1) {
    let a = {
      type: "ClassPrivateMethod",
      kind: t,
      key: e,
      params: s,
      body: r,
      static: i
    }, o = ie.ClassPrivateMethod;
    return S(o.kind, a, "kind", t), S(o.key, a, "key", e, 1), S(o.params, a, "params", s, 1), S(o.body, a, "body", r, 1), S(o.static, a, "st\
atic", i), a;
  }
  n(AYt, "classPrivateMethod");
  function vYt(t) {
    let e = {
      type: "PrivateName",
      id: t
    }, s = ie.PrivateName;
    return S(s.id, e, "id", t, 1), e;
  }
  n(vYt, "privateName");
  function CYt(t) {
    let e = {
      type: "StaticBlock",
      body: t
    }, s = ie.StaticBlock;
    return S(s.body, e, "body", t, 1), e;
  }
  n(CYt, "staticBlock");
  function wYt() {
    return {
      type: "AnyTypeAnnotation"
    };
  }
  n(wYt, "anyTypeAnnotation");
  function IYt(t) {
    let e = {
      type: "ArrayTypeAnnotation",
      elementType: t
    }, s = ie.ArrayTypeAnnotation;
    return S(s.elementType, e, "elementType", t, 1), e;
  }
  n(IYt, "arrayTypeAnnotation");
  function NYt() {
    return {
      type: "BooleanTypeAnnotation"
    };
  }
  n(NYt, "booleanTypeAnnotation");
  function kYt(t) {
    let e = {
      type: "BooleanLiteralTypeAnnotation",
      value: t
    }, s = ie.BooleanLiteralTypeAnnotation;
    return S(s.value, e, "value", t), e;
  }
  n(kYt, "booleanLiteralTypeAnnotation");
  function DYt() {
    return {
      type: "NullLiteralTypeAnnotation"
    };
  }
  n(DYt, "nullLiteralTypeAnnotation");
  function OYt(t, e = null) {
    let s = {
      type: "ClassImplements",
      id: t,
      typeParameters: e
    }, r = ie.ClassImplements;
    return S(r.id, s, "id", t, 1), S(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(OYt, "classImplements");
  function _Yt(t, e = null, s = null, r) {
    let i = {
      type: "DeclareClass",
      id: t,
      typeParameters: e,
      extends: s,
      body: r
    }, a = ie.DeclareClass;
    return S(a.id, i, "id", t, 1), S(a.typeParameters, i, "typeParameters", e, 1), S(a.extends, i, "extends", s, 1), S(a.body, i, "body", r,
    1), i;
  }
  n(_Yt, "declareClass");
  function LYt(t) {
    let e = {
      type: "DeclareFunction",
      id: t
    }, s = ie.DeclareFunction;
    return S(s.id, e, "id", t, 1), e;
  }
  n(LYt, "declareFunction");
  function BYt(t, e = null, s = null, r) {
    let i = {
      type: "DeclareInterface",
      id: t,
      typeParameters: e,
      extends: s,
      body: r
    }, a = ie.DeclareInterface;
    return S(a.id, i, "id", t, 1), S(a.typeParameters, i, "typeParameters", e, 1), S(a.extends, i, "extends", s, 1), S(a.body, i, "body", r,
    1), i;
  }
  n(BYt, "declareInterface");
  function MYt(t, e, s = null) {
    let r = {
      type: "DeclareModule",
      id: t,
      body: e,
      kind: s
    }, i = ie.DeclareModule;
    return S(i.id, r, "id", t, 1), S(i.body, r, "body", e, 1), S(i.kind, r, "kind", s), r;
  }
  n(MYt, "declareModule");
  function FYt(t) {
    let e = {
      type: "DeclareModuleExports",
      typeAnnotation: t
    }, s = ie.DeclareModuleExports;
    return S(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(FYt, "declareModuleExports");
  function jYt(t, e = null, s) {
    let r = {
      type: "DeclareTypeAlias",
      id: t,
      typeParameters: e,
      right: s
    }, i = ie.DeclareTypeAlias;
    return S(i.id, r, "id", t, 1), S(i.typeParameters, r, "typeParameters", e, 1), S(i.right, r, "right", s, 1), r;
  }
  n(jYt, "declareTypeAlias");
  function RYt(t, e = null, s = null) {
    let r = {
      type: "DeclareOpaqueType",
      id: t,
      typeParameters: e,
      supertype: s
    }, i = ie.DeclareOpaqueType;
    return S(i.id, r, "id", t, 1), S(i.typeParameters, r, "typeParameters", e, 1), S(i.supertype, r, "supertype", s, 1), r;
  }
  n(RYt, "declareOpaqueType");
  function qYt(t) {
    let e = {
      type: "DeclareVariable",
      id: t
    }, s = ie.DeclareVariable;
    return S(s.id, e, "id", t, 1), e;
  }
  n(qYt, "declareVariable");
  function UYt(t = null, e = null, s = null, r = null) {
    let i = {
      type: "DeclareExportDeclaration",
      declaration: t,
      specifiers: e,
      source: s,
      attributes: r
    }, a = ie.DeclareExportDeclaration;
    return S(a.declaration, i, "declaration", t, 1), S(a.specifiers, i, "specifiers", e, 1), S(a.source, i, "source", s, 1), S(a.attributes,
    i, "attributes", r, 1), i;
  }
  n(UYt, "declareExportDeclaration");
  function KYt(t, e = null) {
    let s = {
      type: "DeclareExportAllDeclaration",
      source: t,
      attributes: e
    }, r = ie.DeclareExportAllDeclaration;
    return S(r.source, s, "source", t, 1), S(r.attributes, s, "attributes", e, 1), s;
  }
  n(KYt, "declareExportAllDeclaration");
  function VYt(t) {
    let e = {
      type: "DeclaredPredicate",
      value: t
    }, s = ie.DeclaredPredicate;
    return S(s.value, e, "value", t, 1), e;
  }
  n(VYt, "declaredPredicate");
  function WYt() {
    return {
      type: "ExistsTypeAnnotation"
    };
  }
  n(WYt, "existsTypeAnnotation");
  function $Yt(t = null, e, s = null, r) {
    let i = {
      type: "FunctionTypeAnnotation",
      typeParameters: t,
      params: e,
      rest: s,
      returnType: r
    }, a = ie.FunctionTypeAnnotation;
    return S(a.typeParameters, i, "typeParameters", t, 1), S(a.params, i, "params", e, 1), S(a.rest, i, "rest", s, 1), S(a.returnType, i, "r\
eturnType", r, 1), i;
  }
  n($Yt, "functionTypeAnnotation");
  function HYt(t = null, e) {
    let s = {
      type: "FunctionTypeParam",
      name: t,
      typeAnnotation: e
    }, r = ie.FunctionTypeParam;
    return S(r.name, s, "name", t, 1), S(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(HYt, "functionTypeParam");
  function JYt(t, e = null) {
    let s = {
      type: "GenericTypeAnnotation",
      id: t,
      typeParameters: e
    }, r = ie.GenericTypeAnnotation;
    return S(r.id, s, "id", t, 1), S(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(JYt, "genericTypeAnnotation");
  function YYt() {
    return {
      type: "InferredPredicate"
    };
  }
  n(YYt, "inferredPredicate");
  function XYt(t, e = null) {
    let s = {
      type: "InterfaceExtends",
      id: t,
      typeParameters: e
    }, r = ie.InterfaceExtends;
    return S(r.id, s, "id", t, 1), S(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(XYt, "interfaceExtends");
  function zYt(t, e = null, s = null, r) {
    let i = {
      type: "InterfaceDeclaration",
      id: t,
      typeParameters: e,
      extends: s,
      body: r
    }, a = ie.InterfaceDeclaration;
    return S(a.id, i, "id", t, 1), S(a.typeParameters, i, "typeParameters", e, 1), S(a.extends, i, "extends", s, 1), S(a.body, i, "body", r,
    1), i;
  }
  n(zYt, "interfaceDeclaration");
  function GYt(t = null, e) {
    let s = {
      type: "InterfaceTypeAnnotation",
      extends: t,
      body: e
    }, r = ie.InterfaceTypeAnnotation;
    return S(r.extends, s, "extends", t, 1), S(r.body, s, "body", e, 1), s;
  }
  n(GYt, "interfaceTypeAnnotation");
  function QYt(t) {
    let e = {
      type: "IntersectionTypeAnnotation",
      types: t
    }, s = ie.IntersectionTypeAnnotation;
    return S(s.types, e, "types", t, 1), e;
  }
  n(QYt, "intersectionTypeAnnotation");
  function ZYt() {
    return {
      type: "MixedTypeAnnotation"
    };
  }
  n(ZYt, "mixedTypeAnnotation");
  function eXt() {
    return {
      type: "EmptyTypeAnnotation"
    };
  }
  n(eXt, "emptyTypeAnnotation");
  function tXt(t) {
    let e = {
      type: "NullableTypeAnnotation",
      typeAnnotation: t
    }, s = ie.NullableTypeAnnotation;
    return S(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(tXt, "nullableTypeAnnotation");
  function sXt(t) {
    let e = {
      type: "NumberLiteralTypeAnnotation",
      value: t
    }, s = ie.NumberLiteralTypeAnnotation;
    return S(s.value, e, "value", t), e;
  }
  n(sXt, "numberLiteralTypeAnnotation");
  function rXt() {
    return {
      type: "NumberTypeAnnotation"
    };
  }
  n(rXt, "numberTypeAnnotation");
  function iXt(t, e = [], s = [], r = [], i = !1) {
    let a = {
      type: "ObjectTypeAnnotation",
      properties: t,
      indexers: e,
      callProperties: s,
      internalSlots: r,
      exact: i
    }, o = ie.ObjectTypeAnnotation;
    return S(o.properties, a, "properties", t, 1), S(o.indexers, a, "indexers", e, 1), S(o.callProperties, a, "callProperties", s, 1), S(o.internalSlots,
    a, "internalSlots", r, 1), S(o.exact, a, "exact", i), a;
  }
  n(iXt, "objectTypeAnnotation");
  function nXt(t, e, s, r, i) {
    let a = {
      type: "ObjectTypeInternalSlot",
      id: t,
      value: e,
      optional: s,
      static: r,
      method: i
    }, o = ie.ObjectTypeInternalSlot;
    return S(o.id, a, "id", t, 1), S(o.value, a, "value", e, 1), S(o.optional, a, "optional", s), S(o.static, a, "static", r), S(o.method, a,
    "method", i), a;
  }
  n(nXt, "objectTypeInternalSlot");
  function aXt(t) {
    let e = {
      type: "ObjectTypeCallProperty",
      value: t,
      static: null
    }, s = ie.ObjectTypeCallProperty;
    return S(s.value, e, "value", t, 1), e;
  }
  n(aXt, "objectTypeCallProperty");
  function oXt(t = null, e, s, r = null) {
    let i = {
      type: "ObjectTypeIndexer",
      id: t,
      key: e,
      value: s,
      variance: r,
      static: null
    }, a = ie.ObjectTypeIndexer;
    return S(a.id, i, "id", t, 1), S(a.key, i, "key", e, 1), S(a.value, i, "value", s, 1), S(a.variance, i, "variance", r, 1), i;
  }
  n(oXt, "objectTypeIndexer");
  function lXt(t, e, s = null) {
    let r = {
      type: "ObjectTypeProperty",
      key: t,
      value: e,
      variance: s,
      kind: null,
      method: null,
      optional: null,
      proto: null,
      static: null
    }, i = ie.ObjectTypeProperty;
    return S(i.key, r, "key", t, 1), S(i.value, r, "value", e, 1), S(i.variance, r, "variance", s, 1), r;
  }
  n(lXt, "objectTypeProperty");
  function uXt(t) {
    let e = {
      type: "ObjectTypeSpreadProperty",
      argument: t
    }, s = ie.ObjectTypeSpreadProperty;
    return S(s.argument, e, "argument", t, 1), e;
  }
  n(uXt, "objectTypeSpreadProperty");
  function cXt(t, e = null, s = null, r) {
    let i = {
      type: "OpaqueType",
      id: t,
      typeParameters: e,
      supertype: s,
      impltype: r
    }, a = ie.OpaqueType;
    return S(a.id, i, "id", t, 1), S(a.typeParameters, i, "typeParameters", e, 1), S(a.supertype, i, "supertype", s, 1), S(a.impltype, i, "i\
mpltype", r, 1), i;
  }
  n(cXt, "opaqueType");
  function pXt(t, e) {
    let s = {
      type: "QualifiedTypeIdentifier",
      id: t,
      qualification: e
    }, r = ie.QualifiedTypeIdentifier;
    return S(r.id, s, "id", t, 1), S(r.qualification, s, "qualification", e, 1), s;
  }
  n(pXt, "qualifiedTypeIdentifier");
  function hXt(t) {
    let e = {
      type: "StringLiteralTypeAnnotation",
      value: t
    }, s = ie.StringLiteralTypeAnnotation;
    return S(s.value, e, "value", t), e;
  }
  n(hXt, "stringLiteralTypeAnnotation");
  function fXt() {
    return {
      type: "StringTypeAnnotation"
    };
  }
  n(fXt, "stringTypeAnnotation");
  function dXt() {
    return {
      type: "SymbolTypeAnnotation"
    };
  }
  n(dXt, "symbolTypeAnnotation");
  function mXt() {
    return {
      type: "ThisTypeAnnotation"
    };
  }
  n(mXt, "thisTypeAnnotation");
  function yXt(t) {
    let e = {
      type: "TupleTypeAnnotation",
      types: t
    }, s = ie.TupleTypeAnnotation;
    return S(s.types, e, "types", t, 1), e;
  }
  n(yXt, "tupleTypeAnnotation");
  function gXt(t) {
    let e = {
      type: "TypeofTypeAnnotation",
      argument: t
    }, s = ie.TypeofTypeAnnotation;
    return S(s.argument, e, "argument", t, 1), e;
  }
  n(gXt, "typeofTypeAnnotation");
  function TXt(t, e = null, s) {
    let r = {
      type: "TypeAlias",
      id: t,
      typeParameters: e,
      right: s
    }, i = ie.TypeAlias;
    return S(i.id, r, "id", t, 1), S(i.typeParameters, r, "typeParameters", e, 1), S(i.right, r, "right", s, 1), r;
  }
  n(TXt, "typeAlias");
  function bXt(t) {
    let e = {
      type: "TypeAnnotation",
      typeAnnotation: t
    }, s = ie.TypeAnnotation;
    return S(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(bXt, "typeAnnotation");
  function xXt(t, e) {
    let s = {
      type: "TypeCastExpression",
      expression: t,
      typeAnnotation: e
    }, r = ie.TypeCastExpression;
    return S(r.expression, s, "expression", t, 1), S(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(xXt, "typeCastExpression");
  function SXt(t = null, e = null, s = null) {
    let r = {
      type: "TypeParameter",
      bound: t,
      default: e,
      variance: s,
      name: null
    }, i = ie.TypeParameter;
    return S(i.bound, r, "bound", t, 1), S(i.default, r, "default", e, 1), S(i.variance, r, "variance", s, 1), r;
  }
  n(SXt, "typeParameter");
  function PXt(t) {
    let e = {
      type: "TypeParameterDeclaration",
      params: t
    }, s = ie.TypeParameterDeclaration;
    return S(s.params, e, "params", t, 1), e;
  }
  n(PXt, "typeParameterDeclaration");
  function EXt(t) {
    let e = {
      type: "TypeParameterInstantiation",
      params: t
    }, s = ie.TypeParameterInstantiation;
    return S(s.params, e, "params", t, 1), e;
  }
  n(EXt, "typeParameterInstantiation");
  function AXt(t) {
    let e = {
      type: "UnionTypeAnnotation",
      types: t
    }, s = ie.UnionTypeAnnotation;
    return S(s.types, e, "types", t, 1), e;
  }
  n(AXt, "unionTypeAnnotation");
  function vXt(t) {
    let e = {
      type: "Variance",
      kind: t
    }, s = ie.Variance;
    return S(s.kind, e, "kind", t), e;
  }
  n(vXt, "variance");
  function CXt() {
    return {
      type: "VoidTypeAnnotation"
    };
  }
  n(CXt, "voidTypeAnnotation");
  function wXt(t, e) {
    let s = {
      type: "EnumDeclaration",
      id: t,
      body: e
    }, r = ie.EnumDeclaration;
    return S(r.id, s, "id", t, 1), S(r.body, s, "body", e, 1), s;
  }
  n(wXt, "enumDeclaration");
  function IXt(t) {
    let e = {
      type: "EnumBooleanBody",
      members: t,
      explicitType: null,
      hasUnknownMembers: null
    }, s = ie.EnumBooleanBody;
    return S(s.members, e, "members", t, 1), e;
  }
  n(IXt, "enumBooleanBody");
  function NXt(t) {
    let e = {
      type: "EnumNumberBody",
      members: t,
      explicitType: null,
      hasUnknownMembers: null
    }, s = ie.EnumNumberBody;
    return S(s.members, e, "members", t, 1), e;
  }
  n(NXt, "enumNumberBody");
  function kXt(t) {
    let e = {
      type: "EnumStringBody",
      members: t,
      explicitType: null,
      hasUnknownMembers: null
    }, s = ie.EnumStringBody;
    return S(s.members, e, "members", t, 1), e;
  }
  n(kXt, "enumStringBody");
  function DXt(t) {
    let e = {
      type: "EnumSymbolBody",
      members: t,
      hasUnknownMembers: null
    }, s = ie.EnumSymbolBody;
    return S(s.members, e, "members", t, 1), e;
  }
  n(DXt, "enumSymbolBody");
  function OXt(t) {
    let e = {
      type: "EnumBooleanMember",
      id: t,
      init: null
    }, s = ie.EnumBooleanMember;
    return S(s.id, e, "id", t, 1), e;
  }
  n(OXt, "enumBooleanMember");
  function _Xt(t, e) {
    let s = {
      type: "EnumNumberMember",
      id: t,
      init: e
    }, r = ie.EnumNumberMember;
    return S(r.id, s, "id", t, 1), S(r.init, s, "init", e, 1), s;
  }
  n(_Xt, "enumNumberMember");
  function LXt(t, e) {
    let s = {
      type: "EnumStringMember",
      id: t,
      init: e
    }, r = ie.EnumStringMember;
    return S(r.id, s, "id", t, 1), S(r.init, s, "init", e, 1), s;
  }
  n(LXt, "enumStringMember");
  function BXt(t) {
    let e = {
      type: "EnumDefaultedMember",
      id: t
    }, s = ie.EnumDefaultedMember;
    return S(s.id, e, "id", t, 1), e;
  }
  n(BXt, "enumDefaultedMember");
  function MXt(t, e) {
    let s = {
      type: "IndexedAccessType",
      objectType: t,
      indexType: e
    }, r = ie.IndexedAccessType;
    return S(r.objectType, s, "objectType", t, 1), S(r.indexType, s, "indexType", e, 1), s;
  }
  n(MXt, "indexedAccessType");
  function FXt(t, e) {
    let s = {
      type: "OptionalIndexedAccessType",
      objectType: t,
      indexType: e,
      optional: null
    }, r = ie.OptionalIndexedAccessType;
    return S(r.objectType, s, "objectType", t, 1), S(r.indexType, s, "indexType", e, 1), s;
  }
  n(FXt, "optionalIndexedAccessType");
  function jXt(t, e = null) {
    let s = {
      type: "JSXAttribute",
      name: t,
      value: e
    }, r = ie.JSXAttribute;
    return S(r.name, s, "name", t, 1), S(r.value, s, "value", e, 1), s;
  }
  n(jXt, "jsxAttribute");
  function RXt(t) {
    let e = {
      type: "JSXClosingElement",
      name: t
    }, s = ie.JSXClosingElement;
    return S(s.name, e, "name", t, 1), e;
  }
  n(RXt, "jsxClosingElement");
  function qXt(t, e = null, s, r = null) {
    let i = {
      type: "JSXElement",
      openingElement: t,
      closingElement: e,
      children: s,
      selfClosing: r
    }, a = ie.JSXElement;
    return S(a.openingElement, i, "openingElement", t, 1), S(a.closingElement, i, "closingElement", e, 1), S(a.children, i, "children", s, 1),
    S(a.selfClosing, i, "selfClosing", r), i;
  }
  n(qXt, "jsxElement");
  function UXt() {
    return {
      type: "JSXEmptyExpression"
    };
  }
  n(UXt, "jsxEmptyExpression");
  function KXt(t) {
    let e = {
      type: "JSXExpressionContainer",
      expression: t
    }, s = ie.JSXExpressionContainer;
    return S(s.expression, e, "expression", t, 1), e;
  }
  n(KXt, "jsxExpressionContainer");
  function VXt(t) {
    let e = {
      type: "JSXSpreadChild",
      expression: t
    }, s = ie.JSXSpreadChild;
    return S(s.expression, e, "expression", t, 1), e;
  }
  n(VXt, "jsxSpreadChild");
  function WXt(t) {
    let e = {
      type: "JSXIdentifier",
      name: t
    }, s = ie.JSXIdentifier;
    return S(s.name, e, "name", t), e;
  }
  n(WXt, "jsxIdentifier");
  function $Xt(t, e) {
    let s = {
      type: "JSXMemberExpression",
      object: t,
      property: e
    }, r = ie.JSXMemberExpression;
    return S(r.object, s, "object", t, 1), S(r.property, s, "property", e, 1), s;
  }
  n($Xt, "jsxMemberExpression");
  function HXt(t, e) {
    let s = {
      type: "JSXNamespacedName",
      namespace: t,
      name: e
    }, r = ie.JSXNamespacedName;
    return S(r.namespace, s, "namespace", t, 1), S(r.name, s, "name", e, 1), s;
  }
  n(HXt, "jsxNamespacedName");
  function JXt(t, e, s = !1) {
    let r = {
      type: "JSXOpeningElement",
      name: t,
      attributes: e,
      selfClosing: s
    }, i = ie.JSXOpeningElement;
    return S(i.name, r, "name", t, 1), S(i.attributes, r, "attributes", e, 1), S(i.selfClosing, r, "selfClosing", s), r;
  }
  n(JXt, "jsxOpeningElement");
  function YXt(t) {
    let e = {
      type: "JSXSpreadAttribute",
      argument: t
    }, s = ie.JSXSpreadAttribute;
    return S(s.argument, e, "argument", t, 1), e;
  }
  n(YXt, "jsxSpreadAttribute");
  function XXt(t) {
    let e = {
      type: "JSXText",
      value: t
    }, s = ie.JSXText;
    return S(s.value, e, "value", t), e;
  }
  n(XXt, "jsxText");
  function zXt(t, e, s) {
    let r = {
      type: "JSXFragment",
      openingFragment: t,
      closingFragment: e,
      children: s
    }, i = ie.JSXFragment;
    return S(i.openingFragment, r, "openingFragment", t, 1), S(i.closingFragment, r, "closingFragment", e, 1), S(i.children, r, "children", s,
    1), r;
  }
  n(zXt, "jsxFragment");
  function GXt() {
    return {
      type: "JSXOpeningFragment"
    };
  }
  n(GXt, "jsxOpeningFragment");
  function QXt() {
    return {
      type: "JSXClosingFragment"
    };
  }
  n(QXt, "jsxClosingFragment");
  function ZXt() {
    return {
      type: "Noop"
    };
  }
  n(ZXt, "noop");
  function ezt(t, e) {
    let s = {
      type: "Placeholder",
      expectedNode: t,
      name: e
    }, r = ie.Placeholder;
    return S(r.expectedNode, s, "expectedNode", t), S(r.name, s, "name", e, 1), s;
  }
  n(ezt, "placeholder");
  function tzt(t) {
    let e = {
      type: "V8IntrinsicIdentifier",
      name: t
    }, s = ie.V8IntrinsicIdentifier;
    return S(s.name, e, "name", t), e;
  }
  n(tzt, "v8IntrinsicIdentifier");
  function szt() {
    return {
      type: "ArgumentPlaceholder"
    };
  }
  n(szt, "argumentPlaceholder");
  function rzt(t, e) {
    let s = {
      type: "BindExpression",
      object: t,
      callee: e
    }, r = ie.BindExpression;
    return S(r.object, s, "object", t, 1), S(r.callee, s, "callee", e, 1), s;
  }
  n(rzt, "bindExpression");
  function izt(t, e) {
    let s = {
      type: "ImportAttribute",
      key: t,
      value: e
    }, r = ie.ImportAttribute;
    return S(r.key, s, "key", t, 1), S(r.value, s, "value", e, 1), s;
  }
  n(izt, "importAttribute");
  function nzt(t) {
    let e = {
      type: "Decorator",
      expression: t
    }, s = ie.Decorator;
    return S(s.expression, e, "expression", t, 1), e;
  }
  n(nzt, "decorator");
  function azt(t, e = !1) {
    let s = {
      type: "DoExpression",
      body: t,
      async: e
    }, r = ie.DoExpression;
    return S(r.body, s, "body", t, 1), S(r.async, s, "async", e), s;
  }
  n(azt, "doExpression");
  function ozt(t) {
    let e = {
      type: "ExportDefaultSpecifier",
      exported: t
    }, s = ie.ExportDefaultSpecifier;
    return S(s.exported, e, "exported", t, 1), e;
  }
  n(ozt, "exportDefaultSpecifier");
  function lzt(t) {
    let e = {
      type: "RecordExpression",
      properties: t
    }, s = ie.RecordExpression;
    return S(s.properties, e, "properties", t, 1), e;
  }
  n(lzt, "recordExpression");
  function uzt(t = []) {
    let e = {
      type: "TupleExpression",
      elements: t
    }, s = ie.TupleExpression;
    return S(s.elements, e, "elements", t, 1), e;
  }
  n(uzt, "tupleExpression");
  function czt(t) {
    let e = {
      type: "DecimalLiteral",
      value: t
    }, s = ie.DecimalLiteral;
    return S(s.value, e, "value", t), e;
  }
  n(czt, "decimalLiteral");
  function pzt(t) {
    let e = {
      type: "ModuleExpression",
      body: t
    }, s = ie.ModuleExpression;
    return S(s.body, e, "body", t, 1), e;
  }
  n(pzt, "moduleExpression");
  function hzt() {
    return {
      type: "TopicReference"
    };
  }
  n(hzt, "topicReference");
  function fzt(t) {
    let e = {
      type: "PipelineTopicExpression",
      expression: t
    }, s = ie.PipelineTopicExpression;
    return S(s.expression, e, "expression", t, 1), e;
  }
  n(fzt, "pipelineTopicExpression");
  function dzt(t) {
    let e = {
      type: "PipelineBareFunction",
      callee: t
    }, s = ie.PipelineBareFunction;
    return S(s.callee, e, "callee", t, 1), e;
  }
  n(dzt, "pipelineBareFunction");
  function mzt() {
    return {
      type: "PipelinePrimaryTopicReference"
    };
  }
  n(mzt, "pipelinePrimaryTopicReference");
  function yzt(t) {
    let e = {
      type: "TSParameterProperty",
      parameter: t
    }, s = ie.TSParameterProperty;
    return S(s.parameter, e, "parameter", t, 1), e;
  }
  n(yzt, "tsParameterProperty");
  function gzt(t = null, e = null, s, r = null) {
    let i = {
      type: "TSDeclareFunction",
      id: t,
      typeParameters: e,
      params: s,
      returnType: r
    }, a = ie.TSDeclareFunction;
    return S(a.id, i, "id", t, 1), S(a.typeParameters, i, "typeParameters", e, 1), S(a.params, i, "params", s, 1), S(a.returnType, i, "retur\
nType", r, 1), i;
  }
  n(gzt, "tsDeclareFunction");
  function Tzt(t = null, e, s = null, r, i = null) {
    let a = {
      type: "TSDeclareMethod",
      decorators: t,
      key: e,
      typeParameters: s,
      params: r,
      returnType: i
    }, o = ie.TSDeclareMethod;
    return S(o.decorators, a, "decorators", t, 1), S(o.key, a, "key", e, 1), S(o.typeParameters, a, "typeParameters", s, 1), S(o.params, a, "\
params", r, 1), S(o.returnType, a, "returnType", i, 1), a;
  }
  n(Tzt, "tsDeclareMethod");
  function bzt(t, e) {
    let s = {
      type: "TSQualifiedName",
      left: t,
      right: e
    }, r = ie.TSQualifiedName;
    return S(r.left, s, "left", t, 1), S(r.right, s, "right", e, 1), s;
  }
  n(bzt, "tsQualifiedName");
  function xzt(t = null, e, s = null) {
    let r = {
      type: "TSCallSignatureDeclaration",
      typeParameters: t,
      parameters: e,
      typeAnnotation: s
    }, i = ie.TSCallSignatureDeclaration;
    return S(i.typeParameters, r, "typeParameters", t, 1), S(i.parameters, r, "parameters", e, 1), S(i.typeAnnotation, r, "typeAnnotation", s,
    1), r;
  }
  n(xzt, "tsCallSignatureDeclaration");
  function Szt(t = null, e, s = null) {
    let r = {
      type: "TSConstructSignatureDeclaration",
      typeParameters: t,
      parameters: e,
      typeAnnotation: s
    }, i = ie.TSConstructSignatureDeclaration;
    return S(i.typeParameters, r, "typeParameters", t, 1), S(i.parameters, r, "parameters", e, 1), S(i.typeAnnotation, r, "typeAnnotation", s,
    1), r;
  }
  n(Szt, "tsConstructSignatureDeclaration");
  function Pzt(t, e = null) {
    let s = {
      type: "TSPropertySignature",
      key: t,
      typeAnnotation: e,
      kind: null
    }, r = ie.TSPropertySignature;
    return S(r.key, s, "key", t, 1), S(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(Pzt, "tsPropertySignature");
  function Ezt(t, e = null, s, r = null) {
    let i = {
      type: "TSMethodSignature",
      key: t,
      typeParameters: e,
      parameters: s,
      typeAnnotation: r,
      kind: null
    }, a = ie.TSMethodSignature;
    return S(a.key, i, "key", t, 1), S(a.typeParameters, i, "typeParameters", e, 1), S(a.parameters, i, "parameters", s, 1), S(a.typeAnnotation,
    i, "typeAnnotation", r, 1), i;
  }
  n(Ezt, "tsMethodSignature");
  function Azt(t, e = null) {
    let s = {
      type: "TSIndexSignature",
      parameters: t,
      typeAnnotation: e
    }, r = ie.TSIndexSignature;
    return S(r.parameters, s, "parameters", t, 1), S(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(Azt, "tsIndexSignature");
  function vzt() {
    return {
      type: "TSAnyKeyword"
    };
  }
  n(vzt, "tsAnyKeyword");
  function Czt() {
    return {
      type: "TSBooleanKeyword"
    };
  }
  n(Czt, "tsBooleanKeyword");
  function wzt() {
    return {
      type: "TSBigIntKeyword"
    };
  }
  n(wzt, "tsBigIntKeyword");
  function Izt() {
    return {
      type: "TSIntrinsicKeyword"
    };
  }
  n(Izt, "tsIntrinsicKeyword");
  function Nzt() {
    return {
      type: "TSNeverKeyword"
    };
  }
  n(Nzt, "tsNeverKeyword");
  function kzt() {
    return {
      type: "TSNullKeyword"
    };
  }
  n(kzt, "tsNullKeyword");
  function Dzt() {
    return {
      type: "TSNumberKeyword"
    };
  }
  n(Dzt, "tsNumberKeyword");
  function Ozt() {
    return {
      type: "TSObjectKeyword"
    };
  }
  n(Ozt, "tsObjectKeyword");
  function _zt() {
    return {
      type: "TSStringKeyword"
    };
  }
  n(_zt, "tsStringKeyword");
  function Lzt() {
    return {
      type: "TSSymbolKeyword"
    };
  }
  n(Lzt, "tsSymbolKeyword");
  function Bzt() {
    return {
      type: "TSUndefinedKeyword"
    };
  }
  n(Bzt, "tsUndefinedKeyword");
  function Mzt() {
    return {
      type: "TSUnknownKeyword"
    };
  }
  n(Mzt, "tsUnknownKeyword");
  function Fzt() {
    return {
      type: "TSVoidKeyword"
    };
  }
  n(Fzt, "tsVoidKeyword");
  function jzt() {
    return {
      type: "TSThisType"
    };
  }
  n(jzt, "tsThisType");
  function Rzt(t = null, e, s = null) {
    let r = {
      type: "TSFunctionType",
      typeParameters: t,
      parameters: e,
      typeAnnotation: s
    }, i = ie.TSFunctionType;
    return S(i.typeParameters, r, "typeParameters", t, 1), S(i.parameters, r, "parameters", e, 1), S(i.typeAnnotation, r, "typeAnnotation", s,
    1), r;
  }
  n(Rzt, "tsFunctionType");
  function qzt(t = null, e, s = null) {
    let r = {
      type: "TSConstructorType",
      typeParameters: t,
      parameters: e,
      typeAnnotation: s
    }, i = ie.TSConstructorType;
    return S(i.typeParameters, r, "typeParameters", t, 1), S(i.parameters, r, "parameters", e, 1), S(i.typeAnnotation, r, "typeAnnotation", s,
    1), r;
  }
  n(qzt, "tsConstructorType");
  function Uzt(t, e = null) {
    let s = {
      type: "TSTypeReference",
      typeName: t,
      typeParameters: e
    }, r = ie.TSTypeReference;
    return S(r.typeName, s, "typeName", t, 1), S(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(Uzt, "tsTypeReference");
  function Kzt(t, e = null, s = null) {
    let r = {
      type: "TSTypePredicate",
      parameterName: t,
      typeAnnotation: e,
      asserts: s
    }, i = ie.TSTypePredicate;
    return S(i.parameterName, r, "parameterName", t, 1), S(i.typeAnnotation, r, "typeAnnotation", e, 1), S(i.asserts, r, "asserts", s), r;
  }
  n(Kzt, "tsTypePredicate");
  function Vzt(t, e = null) {
    let s = {
      type: "TSTypeQuery",
      exprName: t,
      typeParameters: e
    }, r = ie.TSTypeQuery;
    return S(r.exprName, s, "exprName", t, 1), S(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(Vzt, "tsTypeQuery");
  function Wzt(t) {
    let e = {
      type: "TSTypeLiteral",
      members: t
    }, s = ie.TSTypeLiteral;
    return S(s.members, e, "members", t, 1), e;
  }
  n(Wzt, "tsTypeLiteral");
  function $zt(t) {
    let e = {
      type: "TSArrayType",
      elementType: t
    }, s = ie.TSArrayType;
    return S(s.elementType, e, "elementType", t, 1), e;
  }
  n($zt, "tsArrayType");
  function Hzt(t) {
    let e = {
      type: "TSTupleType",
      elementTypes: t
    }, s = ie.TSTupleType;
    return S(s.elementTypes, e, "elementTypes", t, 1), e;
  }
  n(Hzt, "tsTupleType");
  function Jzt(t) {
    let e = {
      type: "TSOptionalType",
      typeAnnotation: t
    }, s = ie.TSOptionalType;
    return S(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(Jzt, "tsOptionalType");
  function Yzt(t) {
    let e = {
      type: "TSRestType",
      typeAnnotation: t
    }, s = ie.TSRestType;
    return S(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(Yzt, "tsRestType");
  function Xzt(t, e, s = !1) {
    let r = {
      type: "TSNamedTupleMember",
      label: t,
      elementType: e,
      optional: s
    }, i = ie.TSNamedTupleMember;
    return S(i.label, r, "label", t, 1), S(i.elementType, r, "elementType", e, 1), S(i.optional, r, "optional", s), r;
  }
  n(Xzt, "tsNamedTupleMember");
  function zzt(t) {
    let e = {
      type: "TSUnionType",
      types: t
    }, s = ie.TSUnionType;
    return S(s.types, e, "types", t, 1), e;
  }
  n(zzt, "tsUnionType");
  function Gzt(t) {
    let e = {
      type: "TSIntersectionType",
      types: t
    }, s = ie.TSIntersectionType;
    return S(s.types, e, "types", t, 1), e;
  }
  n(Gzt, "tsIntersectionType");
  function Qzt(t, e, s, r) {
    let i = {
      type: "TSConditionalType",
      checkType: t,
      extendsType: e,
      trueType: s,
      falseType: r
    }, a = ie.TSConditionalType;
    return S(a.checkType, i, "checkType", t, 1), S(a.extendsType, i, "extendsType", e, 1), S(a.trueType, i, "trueType", s, 1), S(a.falseType,
    i, "falseType", r, 1), i;
  }
  n(Qzt, "tsConditionalType");
  function Zzt(t) {
    let e = {
      type: "TSInferType",
      typeParameter: t
    }, s = ie.TSInferType;
    return S(s.typeParameter, e, "typeParameter", t, 1), e;
  }
  n(Zzt, "tsInferType");
  function eGt(t) {
    let e = {
      type: "TSParenthesizedType",
      typeAnnotation: t
    }, s = ie.TSParenthesizedType;
    return S(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(eGt, "tsParenthesizedType");
  function tGt(t) {
    let e = {
      type: "TSTypeOperator",
      typeAnnotation: t,
      operator: null
    }, s = ie.TSTypeOperator;
    return S(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(tGt, "tsTypeOperator");
  function sGt(t, e) {
    let s = {
      type: "TSIndexedAccessType",
      objectType: t,
      indexType: e
    }, r = ie.TSIndexedAccessType;
    return S(r.objectType, s, "objectType", t, 1), S(r.indexType, s, "indexType", e, 1), s;
  }
  n(sGt, "tsIndexedAccessType");
  function rGt(t, e = null, s = null) {
    let r = {
      type: "TSMappedType",
      typeParameter: t,
      typeAnnotation: e,
      nameType: s
    }, i = ie.TSMappedType;
    return S(i.typeParameter, r, "typeParameter", t, 1), S(i.typeAnnotation, r, "typeAnnotation", e, 1), S(i.nameType, r, "nameType", s, 1),
    r;
  }
  n(rGt, "tsMappedType");
  function iGt(t) {
    let e = {
      type: "TSLiteralType",
      literal: t
    }, s = ie.TSLiteralType;
    return S(s.literal, e, "literal", t, 1), e;
  }
  n(iGt, "tsLiteralType");
  function nGt(t, e = null) {
    let s = {
      type: "TSExpressionWithTypeArguments",
      expression: t,
      typeParameters: e
    }, r = ie.TSExpressionWithTypeArguments;
    return S(r.expression, s, "expression", t, 1), S(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(nGt, "tsExpressionWithTypeArguments");
  function aGt(t, e = null, s = null, r) {
    let i = {
      type: "TSInterfaceDeclaration",
      id: t,
      typeParameters: e,
      extends: s,
      body: r
    }, a = ie.TSInterfaceDeclaration;
    return S(a.id, i, "id", t, 1), S(a.typeParameters, i, "typeParameters", e, 1), S(a.extends, i, "extends", s, 1), S(a.body, i, "body", r,
    1), i;
  }
  n(aGt, "tsInterfaceDeclaration");
  function oGt(t) {
    let e = {
      type: "TSInterfaceBody",
      body: t
    }, s = ie.TSInterfaceBody;
    return S(s.body, e, "body", t, 1), e;
  }
  n(oGt, "tsInterfaceBody");
  function lGt(t, e = null, s) {
    let r = {
      type: "TSTypeAliasDeclaration",
      id: t,
      typeParameters: e,
      typeAnnotation: s
    }, i = ie.TSTypeAliasDeclaration;
    return S(i.id, r, "id", t, 1), S(i.typeParameters, r, "typeParameters", e, 1), S(i.typeAnnotation, r, "typeAnnotation", s, 1), r;
  }
  n(lGt, "tsTypeAliasDeclaration");
  function uGt(t, e = null) {
    let s = {
      type: "TSInstantiationExpression",
      expression: t,
      typeParameters: e
    }, r = ie.TSInstantiationExpression;
    return S(r.expression, s, "expression", t, 1), S(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(uGt, "tsInstantiationExpression");
  function cGt(t, e) {
    let s = {
      type: "TSAsExpression",
      expression: t,
      typeAnnotation: e
    }, r = ie.TSAsExpression;
    return S(r.expression, s, "expression", t, 1), S(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(cGt, "tsAsExpression");
  function pGt(t, e) {
    let s = {
      type: "TSSatisfiesExpression",
      expression: t,
      typeAnnotation: e
    }, r = ie.TSSatisfiesExpression;
    return S(r.expression, s, "expression", t, 1), S(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(pGt, "tsSatisfiesExpression");
  function hGt(t, e) {
    let s = {
      type: "TSTypeAssertion",
      typeAnnotation: t,
      expression: e
    }, r = ie.TSTypeAssertion;
    return S(r.typeAnnotation, s, "typeAnnotation", t, 1), S(r.expression, s, "expression", e, 1), s;
  }
  n(hGt, "tsTypeAssertion");
  function fGt(t) {
    let e = {
      type: "TSEnumBody",
      members: t
    }, s = ie.TSEnumBody;
    return S(s.members, e, "members", t, 1), e;
  }
  n(fGt, "tsEnumBody");
  function dGt(t, e) {
    let s = {
      type: "TSEnumDeclaration",
      id: t,
      members: e
    }, r = ie.TSEnumDeclaration;
    return S(r.id, s, "id", t, 1), S(r.members, s, "members", e, 1), s;
  }
  n(dGt, "tsEnumDeclaration");
  function mGt(t, e = null) {
    let s = {
      type: "TSEnumMember",
      id: t,
      initializer: e
    }, r = ie.TSEnumMember;
    return S(r.id, s, "id", t, 1), S(r.initializer, s, "initializer", e, 1), s;
  }
  n(mGt, "tsEnumMember");
  function yGt(t, e) {
    let s = {
      type: "TSModuleDeclaration",
      id: t,
      body: e,
      kind: null
    }, r = ie.TSModuleDeclaration;
    return S(r.id, s, "id", t, 1), S(r.body, s, "body", e, 1), s;
  }
  n(yGt, "tsModuleDeclaration");
  function gGt(t) {
    let e = {
      type: "TSModuleBlock",
      body: t
    }, s = ie.TSModuleBlock;
    return S(s.body, e, "body", t, 1), e;
  }
  n(gGt, "tsModuleBlock");
  function TGt(t, e = null, s = null) {
    let r = {
      type: "TSImportType",
      argument: t,
      qualifier: e,
      typeParameters: s
    }, i = ie.TSImportType;
    return S(i.argument, r, "argument", t, 1), S(i.qualifier, r, "qualifier", e, 1), S(i.typeParameters, r, "typeParameters", s, 1), r;
  }
  n(TGt, "tsImportType");
  function bGt(t, e) {
    let s = {
      type: "TSImportEqualsDeclaration",
      id: t,
      moduleReference: e,
      isExport: null
    }, r = ie.TSImportEqualsDeclaration;
    return S(r.id, s, "id", t, 1), S(r.moduleReference, s, "moduleReference", e, 1), s;
  }
  n(bGt, "tsImportEqualsDeclaration");
  function xGt(t) {
    let e = {
      type: "TSExternalModuleReference",
      expression: t
    }, s = ie.TSExternalModuleReference;
    return S(s.expression, e, "expression", t, 1), e;
  }
  n(xGt, "tsExternalModuleReference");
  function SGt(t) {
    let e = {
      type: "TSNonNullExpression",
      expression: t
    }, s = ie.TSNonNullExpression;
    return S(s.expression, e, "expression", t, 1), e;
  }
  n(SGt, "tsNonNullExpression");
  function PGt(t) {
    let e = {
      type: "TSExportAssignment",
      expression: t
    }, s = ie.TSExportAssignment;
    return S(s.expression, e, "expression", t, 1), e;
  }
  n(PGt, "tsExportAssignment");
  function EGt(t) {
    let e = {
      type: "TSNamespaceExportDeclaration",
      id: t
    }, s = ie.TSNamespaceExportDeclaration;
    return S(s.id, e, "id", t, 1), e;
  }
  n(EGt, "tsNamespaceExportDeclaration");
  function AGt(t) {
    let e = {
      type: "TSTypeAnnotation",
      typeAnnotation: t
    }, s = ie.TSTypeAnnotation;
    return S(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(AGt, "tsTypeAnnotation");
  function vGt(t) {
    let e = {
      type: "TSTypeParameterInstantiation",
      params: t
    }, s = ie.TSTypeParameterInstantiation;
    return S(s.params, e, "params", t, 1), e;
  }
  n(vGt, "tsTypeParameterInstantiation");
  function CGt(t) {
    let e = {
      type: "TSTypeParameterDeclaration",
      params: t
    }, s = ie.TSTypeParameterDeclaration;
    return S(s.params, e, "params", t, 1), e;
  }
  n(CGt, "tsTypeParameterDeclaration");
  function wGt(t = null, e = null, s) {
    let r = {
      type: "TSTypeParameter",
      constraint: t,
      default: e,
      name: s
    }, i = ie.TSTypeParameter;
    return S(i.constraint, r, "constraint", t, 1), S(i.default, r, "default", e, 1), S(i.name, r, "name", s), r;
  }
  n(wGt, "tsTypeParameter");
  function IGt(t) {
    return (0, U1.default)("NumberLiteral", "NumericLiteral", "The node type "), Tpe(t);
  }
  n(IGt, "NumberLiteral");
  function NGt(t, e = "") {
    return (0, U1.default)("RegexLiteral", "RegExpLiteral", "The node type "), bpe(t, e);
  }
  n(NGt, "RegexLiteral");
  function kGt(t) {
    return (0, U1.default)("RestProperty", "RestElement", "The node type "), xpe(t);
  }
  n(kGt, "RestProperty");
  function DGt(t) {
    return (0, U1.default)("SpreadProperty", "SpreadElement", "The node type "), Spe(t);
  }
  n(DGt, "SpreadProperty");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js
var Ppe = g((Kj) => {
  "use strict";
  Object.defineProperty(Kj, "__esModule", {
    value: !0
  });
  Kj.default = LGt;
  var OGt = Kn(), _Gt = Vn();
  function LGt(t, e) {
    let s = t.value.split(/\r\n|\n|\r/), r = 0;
    for (let a = 0; a < s.length; a++)
      /[^ \t]/.exec(s[a]) && (r = a);
    let i = "";
    for (let a = 0; a < s.length; a++) {
      let o = s[a], l = a === 0, u = a === s.length - 1, c = a === r, p = o.replace(/\t/g, " ");
      l || (p = p.replace(/^ +/, "")), u || (p = p.replace(/ +$/, "")), p && (c || (p += " "), i += p);
    }
    i && e.push((0, _Gt.inherits)((0, OGt.stringLiteral)(i), t));
  }
  n(LGt, "cleanJSXElementLiteralChild");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/builders/react/buildChildren.js
var Epe = g((Wj) => {
  "use strict";
  Object.defineProperty(Wj, "__esModule", {
    value: !0
  });
  Wj.default = MGt;
  var Vj = fi(), BGt = Ppe();
  function MGt(t) {
    let e = [];
    for (let s = 0; s < t.children.length; s++) {
      let r = t.children[s];
      if ((0, Vj.isJSXText)(r)) {
        (0, BGt.default)(r, e);
        continue;
      }
      (0, Vj.isJSXExpressionContainer)(r) && (r = r.expression), !(0, Vj.isJSXEmptyExpression)(r) && e.push(r);
    }
    return e;
  }
  n(MGt, "buildChildren");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/isNode.js
var Hj = g(($j) => {
  "use strict";
  Object.defineProperty($j, "__esModule", {
    value: !0
  });
  $j.default = jGt;
  var FGt = eo();
  function jGt(t) {
    return !!(t && FGt.VISITOR_KEYS[t.type]);
  }
  n(jGt, "isNode");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/asserts/assertNode.js
var Ape = g((Jj) => {
  "use strict";
  Object.defineProperty(Jj, "__esModule", {
    value: !0
  });
  Jj.default = qGt;
  var RGt = Hj();
  function qGt(t) {
    if (!(0, RGt.default)(t)) {
      var e;
      let s = (e = t?.type) != null ? e : JSON.stringify(t);
      throw new TypeError(`Not a valid node of type "${s}"`);
    }
  }
  n(qGt, "assertNode");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/asserts/generated/index.js
var vpe = g((k) => {
  "use strict";
  Object.defineProperty(k, "__esModule", {
    value: !0
  });
  k.assertAccessor = rrs;
  k.assertAnyTypeAnnotation = PZt;
  k.assertArgumentPlaceholder = Ges;
  k.assertArrayExpression = KGt;
  k.assertArrayPattern = qQt;
  k.assertArrayTypeAnnotation = EZt;
  k.assertArrowFunctionExpression = UQt;
  k.assertAssignmentExpression = VGt;
  k.assertAssignmentPattern = RQt;
  k.assertAwaitExpression = cZt;
  k.assertBigIntLiteral = hZt;
  k.assertBinary = vss;
  k.assertBinaryExpression = WGt;
  k.assertBindExpression = Qes;
  k.assertBlock = Iss;
  k.assertBlockParent = wss;
  k.assertBlockStatement = YGt;
  k.assertBooleanLiteral = mQt;
  k.assertBooleanLiteralTypeAnnotation = vZt;
  k.assertBooleanTypeAnnotation = AZt;
  k.assertBreakStatement = XGt;
  k.assertCallExpression = zGt;
  k.assertCatchClause = GGt;
  k.assertClass = Zss;
  k.assertClassAccessorProperty = gZt;
  k.assertClassBody = KQt;
  k.assertClassDeclaration = WQt;
  k.assertClassExpression = VQt;
  k.assertClassImplements = wZt;
  k.assertClassMethod = sZt;
  k.assertClassPrivateMethod = bZt;
  k.assertClassPrivateProperty = TZt;
  k.assertClassProperty = yZt;
  k.assertCompletionStatement = Dss;
  k.assertConditional = Oss;
  k.assertConditionalExpression = QGt;
  k.assertContinueStatement = ZGt;
  k.assertDebuggerStatement = eQt;
  k.assertDecimalLiteral = nts;
  k.assertDeclaration = Uss;
  k.assertDeclareClass = IZt;
  k.assertDeclareExportAllDeclaration = FZt;
  k.assertDeclareExportDeclaration = MZt;
  k.assertDeclareFunction = NZt;
  k.assertDeclareInterface = kZt;
  k.assertDeclareModule = DZt;
  k.assertDeclareModuleExports = OZt;
  k.assertDeclareOpaqueType = LZt;
  k.assertDeclareTypeAlias = _Zt;
  k.assertDeclareVariable = BZt;
  k.assertDeclaredPredicate = jZt;
  k.assertDecorator = ets;
  k.assertDirective = HGt;
  k.assertDirectiveLiteral = JGt;
  k.assertDoExpression = tts;
  k.assertDoWhileStatement = tQt;
  k.assertEmptyStatement = sQt;
  k.assertEmptyTypeAnnotation = XZt;
  k.assertEnumBody = crs;
  k.assertEnumBooleanBody = Ees;
  k.assertEnumBooleanMember = wes;
  k.assertEnumDeclaration = Pes;
  k.assertEnumDefaultedMember = kes;
  k.assertEnumMember = prs;
  k.assertEnumNumberBody = Aes;
  k.assertEnumNumberMember = Ies;
  k.assertEnumStringBody = ves;
  k.assertEnumStringMember = Nes;
  k.assertEnumSymbolBody = Ces;
  k.assertExistsTypeAnnotation = RZt;
  k.assertExportAllDeclaration = $Qt;
  k.assertExportDeclaration = trs;
  k.assertExportDefaultDeclaration = HQt;
  k.assertExportDefaultSpecifier = sts;
  k.assertExportNamedDeclaration = JQt;
  k.assertExportNamespaceSpecifier = fZt;
  k.assertExportSpecifier = YQt;
  k.assertExpression = Ass;
  k.assertExpressionStatement = rQt;
  k.assertExpressionWrapper = Bss;
  k.assertFile = iQt;
  k.assertFlow = nrs;
  k.assertFlowBaseAnnotation = ors;
  k.assertFlowDeclaration = lrs;
  k.assertFlowPredicate = urs;
  k.assertFlowType = ars;
  k.assertFor = Mss;
  k.assertForInStatement = nQt;
  k.assertForOfStatement = XQt;
  k.assertForStatement = aQt;
  k.assertForXStatement = Fss;
  k.assertFunction = jss;
  k.assertFunctionDeclaration = oQt;
  k.assertFunctionExpression = lQt;
  k.assertFunctionParent = Rss;
  k.assertFunctionTypeAnnotation = qZt;
  k.assertFunctionTypeParam = UZt;
  k.assertGenericTypeAnnotation = KZt;
  k.assertIdentifier = uQt;
  k.assertIfStatement = cQt;
  k.assertImmutable = Hss;
  k.assertImport = pZt;
  k.assertImportAttribute = Zes;
  k.assertImportDeclaration = zQt;
  k.assertImportDefaultSpecifier = GQt;
  k.assertImportExpression = eZt;
  k.assertImportNamespaceSpecifier = QQt;
  k.assertImportOrExportDeclaration = ers;
  k.assertImportSpecifier = ZQt;
  k.assertIndexedAccessType = Des;
  k.assertInferredPredicate = VZt;
  k.assertInterfaceDeclaration = $Zt;
  k.assertInterfaceExtends = WZt;
  k.assertInterfaceTypeAnnotation = HZt;
  k.assertInterpreterDirective = $Gt;
  k.assertIntersectionTypeAnnotation = JZt;
  k.assertJSX = hrs;
  k.assertJSXAttribute = _es;
  k.assertJSXClosingElement = Les;
  k.assertJSXClosingFragment = Jes;
  k.assertJSXElement = Bes;
  k.assertJSXEmptyExpression = Mes;
  k.assertJSXExpressionContainer = Fes;
  k.assertJSXFragment = $es;
  k.assertJSXIdentifier = Res;
  k.assertJSXMemberExpression = qes;
  k.assertJSXNamespacedName = Ues;
  k.assertJSXOpeningElement = Kes;
  k.assertJSXOpeningFragment = Hes;
  k.assertJSXSpreadAttribute = Ves;
  k.assertJSXSpreadChild = jes;
  k.assertJSXText = Wes;
  k.assertLVal = Vss;
  k.assertLabeledStatement = pQt;
  k.assertLiteral = $ss;
  k.assertLogicalExpression = gQt;
  k.assertLoop = _ss;
  k.assertMemberExpression = TQt;
  k.assertMetaProperty = tZt;
  k.assertMethod = Yss;
  k.assertMiscellaneous = frs;
  k.assertMixedTypeAnnotation = YZt;
  k.assertModuleDeclaration = Prs;
  k.assertModuleExpression = ats;
  k.assertModuleSpecifier = srs;
  k.assertNewExpression = bQt;
  k.assertNoop = Yes;
  k.assertNullLiteral = dQt;
  k.assertNullLiteralTypeAnnotation = CZt;
  k.assertNullableTypeAnnotation = zZt;
  k.assertNumberLiteral = Trs;
  k.assertNumberLiteralTypeAnnotation = GZt;
  k.assertNumberTypeAnnotation = QZt;
  k.assertNumericLiteral = fQt;
  k.assertObjectExpression = SQt;
  k.assertObjectMember = Xss;
  k.assertObjectMethod = PQt;
  k.assertObjectPattern = rZt;
  k.assertObjectProperty = EQt;
  k.assertObjectTypeAnnotation = ZZt;
  k.assertObjectTypeCallProperty = tes;
  k.assertObjectTypeIndexer = ses;
  k.assertObjectTypeInternalSlot = ees;
  k.assertObjectTypeProperty = res;
  k.assertObjectTypeSpreadProperty = ies;
  k.assertOpaqueType = nes;
  k.assertOptionalCallExpression = mZt;
  k.assertOptionalIndexedAccessType = Oes;
  k.assertOptionalMemberExpression = dZt;
  k.assertParenthesizedExpression = wQt;
  k.assertPattern = Qss;
  k.assertPatternLike = Kss;
  k.assertPipelineBareFunction = uts;
  k.assertPipelinePrimaryTopicReference = cts;
  k.assertPipelineTopicExpression = lts;
  k.assertPlaceholder = Xes;
  k.assertPrivate = irs;
  k.assertPrivateName = xZt;
  k.assertProgram = xQt;
  k.assertProperty = zss;
  k.assertPureish = qss;
  k.assertQualifiedTypeIdentifier = aes;
  k.assertRecordExpression = rts;
  k.assertRegExpLiteral = yQt;
  k.assertRegexLiteral = brs;
  k.assertRestElement = AQt;
  k.assertRestProperty = xrs;
  k.assertReturnStatement = vQt;
  k.assertScopable = Css;
  k.assertSequenceExpression = CQt;
  k.assertSpreadElement = iZt;
  k.assertSpreadProperty = Srs;
  k.assertStandardized = Ess;
  k.assertStatement = Nss;
  k.assertStaticBlock = SZt;
  k.assertStringLiteral = hQt;
  k.assertStringLiteralTypeAnnotation = oes;
  k.assertStringTypeAnnotation = les;
  k.assertSuper = nZt;
  k.assertSwitchCase = IQt;
  k.assertSwitchStatement = NQt;
  k.assertSymbolTypeAnnotation = ues;
  k.assertTSAnyKeyword = xts;
  k.assertTSArrayType = qts;
  k.assertTSAsExpression = nss;
  k.assertTSBaseType = grs;
  k.assertTSBigIntKeyword = Pts;
  k.assertTSBooleanKeyword = Sts;
  k.assertTSCallSignatureDeclaration = mts;
  k.assertTSConditionalType = Jts;
  k.assertTSConstructSignatureDeclaration = yts;
  k.assertTSConstructorType = Bts;
  k.assertTSDeclareFunction = hts;
  k.assertTSDeclareMethod = fts;
  k.assertTSEntityName = Wss;
  k.assertTSEnumBody = lss;
  k.assertTSEnumDeclaration = uss;
  k.assertTSEnumMember = css;
  k.assertTSExportAssignment = gss;
  k.assertTSExpressionWithTypeArguments = ess;
  k.assertTSExternalModuleReference = mss;
  k.assertTSFunctionType = Lts;
  k.assertTSImportEqualsDeclaration = dss;
  k.assertTSImportType = fss;
  k.assertTSIndexSignature = bts;
  k.assertTSIndexedAccessType = Gts;
  k.assertTSInferType = Yts;
  k.assertTSInstantiationExpression = iss;
  k.assertTSInterfaceBody = sss;
  k.assertTSInterfaceDeclaration = tss;
  k.assertTSIntersectionType = Hts;
  k.assertTSIntrinsicKeyword = Ets;
  k.assertTSLiteralType = Zts;
  k.assertTSMappedType = Qts;
  k.assertTSMethodSignature = Tts;
  k.assertTSModuleBlock = hss;
  k.assertTSModuleDeclaration = pss;
  k.assertTSNamedTupleMember = Wts;
  k.assertTSNamespaceExportDeclaration = Tss;
  k.assertTSNeverKeyword = Ats;
  k.assertTSNonNullExpression = yss;
  k.assertTSNullKeyword = vts;
  k.assertTSNumberKeyword = Cts;
  k.assertTSObjectKeyword = wts;
  k.assertTSOptionalType = Kts;
  k.assertTSParameterProperty = pts;
  k.assertTSParenthesizedType = Xts;
  k.assertTSPropertySignature = gts;
  k.assertTSQualifiedName = dts;
  k.assertTSRestType = Vts;
  k.assertTSSatisfiesExpression = ass;
  k.assertTSStringKeyword = Its;
  k.assertTSSymbolKeyword = Nts;
  k.assertTSThisType = _ts;
  k.assertTSTupleType = Uts;
  k.assertTSType = yrs;
  k.assertTSTypeAliasDeclaration = rss;
  k.assertTSTypeAnnotation = bss;
  k.assertTSTypeAssertion = oss;
  k.assertTSTypeElement = mrs;
  k.assertTSTypeLiteral = Rts;
  k.assertTSTypeOperator = zts;
  k.assertTSTypeParameter = Pss;
  k.assertTSTypeParameterDeclaration = Sss;
  k.assertTSTypeParameterInstantiation = xss;
  k.assertTSTypePredicate = Fts;
  k.assertTSTypeQuery = jts;
  k.assertTSTypeReference = Mts;
  k.assertTSUndefinedKeyword = kts;
  k.assertTSUnionType = $ts;
  k.assertTSUnknownKeyword = Dts;
  k.assertTSVoidKeyword = Ots;
  k.assertTaggedTemplateExpression = aZt;
  k.assertTemplateElement = oZt;
  k.assertTemplateLiteral = lZt;
  k.assertTerminatorless = kss;
  k.assertThisExpression = kQt;
  k.assertThisTypeAnnotation = ces;
  k.assertThrowStatement = DQt;
  k.assertTopicReference = ots;
  k.assertTryStatement = OQt;
  k.assertTupleExpression = its;
  k.assertTupleTypeAnnotation = pes;
  k.assertTypeAlias = fes;
  k.assertTypeAnnotation = des;
  k.assertTypeCastExpression = mes;
  k.assertTypeParameter = yes;
  k.assertTypeParameterDeclaration = ges;
  k.assertTypeParameterInstantiation = Tes;
  k.assertTypeScript = drs;
  k.assertTypeofTypeAnnotation = hes;
  k.assertUnaryExpression = _Qt;
  k.assertUnaryLike = Gss;
  k.assertUnionTypeAnnotation = bes;
  k.assertUpdateExpression = LQt;
  k.assertUserWhitespacable = Jss;
  k.assertV8IntrinsicIdentifier = zes;
  k.assertVariableDeclaration = BQt;
  k.assertVariableDeclarator = MQt;
  k.assertVariance = xes;
  k.assertVoidTypeAnnotation = Ses;
  k.assertWhile = Lss;
  k.assertWhileStatement = FQt;
  k.assertWithStatement = jQt;
  k.assertYieldExpression = uZt;
  var UGt = ay(), kT = AT();
  function B(t, e, s) {
    if (!(0, UGt.default)(t, e, s))
      throw new Error(`Expected type "${t}" with option ${JSON.stringify(s)}, but instead got "${e.type}".`);
  }
  n(B, "assert");
  function KGt(t, e) {
    B("ArrayExpression", t, e);
  }
  n(KGt, "assertArrayExpression");
  function VGt(t, e) {
    B("AssignmentExpression", t, e);
  }
  n(VGt, "assertAssignmentExpression");
  function WGt(t, e) {
    B("BinaryExpression", t, e);
  }
  n(WGt, "assertBinaryExpression");
  function $Gt(t, e) {
    B("InterpreterDirective", t, e);
  }
  n($Gt, "assertInterpreterDirective");
  function HGt(t, e) {
    B("Directive", t, e);
  }
  n(HGt, "assertDirective");
  function JGt(t, e) {
    B("DirectiveLiteral", t, e);
  }
  n(JGt, "assertDirectiveLiteral");
  function YGt(t, e) {
    B("BlockStatement", t, e);
  }
  n(YGt, "assertBlockStatement");
  function XGt(t, e) {
    B("BreakStatement", t, e);
  }
  n(XGt, "assertBreakStatement");
  function zGt(t, e) {
    B("CallExpression", t, e);
  }
  n(zGt, "assertCallExpression");
  function GGt(t, e) {
    B("CatchClause", t, e);
  }
  n(GGt, "assertCatchClause");
  function QGt(t, e) {
    B("ConditionalExpression", t, e);
  }
  n(QGt, "assertConditionalExpression");
  function ZGt(t, e) {
    B("ContinueStatement", t, e);
  }
  n(ZGt, "assertContinueStatement");
  function eQt(t, e) {
    B("DebuggerStatement", t, e);
  }
  n(eQt, "assertDebuggerStatement");
  function tQt(t, e) {
    B("DoWhileStatement", t, e);
  }
  n(tQt, "assertDoWhileStatement");
  function sQt(t, e) {
    B("EmptyStatement", t, e);
  }
  n(sQt, "assertEmptyStatement");
  function rQt(t, e) {
    B("ExpressionStatement", t, e);
  }
  n(rQt, "assertExpressionStatement");
  function iQt(t, e) {
    B("File", t, e);
  }
  n(iQt, "assertFile");
  function nQt(t, e) {
    B("ForInStatement", t, e);
  }
  n(nQt, "assertForInStatement");
  function aQt(t, e) {
    B("ForStatement", t, e);
  }
  n(aQt, "assertForStatement");
  function oQt(t, e) {
    B("FunctionDeclaration", t, e);
  }
  n(oQt, "assertFunctionDeclaration");
  function lQt(t, e) {
    B("FunctionExpression", t, e);
  }
  n(lQt, "assertFunctionExpression");
  function uQt(t, e) {
    B("Identifier", t, e);
  }
  n(uQt, "assertIdentifier");
  function cQt(t, e) {
    B("IfStatement", t, e);
  }
  n(cQt, "assertIfStatement");
  function pQt(t, e) {
    B("LabeledStatement", t, e);
  }
  n(pQt, "assertLabeledStatement");
  function hQt(t, e) {
    B("StringLiteral", t, e);
  }
  n(hQt, "assertStringLiteral");
  function fQt(t, e) {
    B("NumericLiteral", t, e);
  }
  n(fQt, "assertNumericLiteral");
  function dQt(t, e) {
    B("NullLiteral", t, e);
  }
  n(dQt, "assertNullLiteral");
  function mQt(t, e) {
    B("BooleanLiteral", t, e);
  }
  n(mQt, "assertBooleanLiteral");
  function yQt(t, e) {
    B("RegExpLiteral", t, e);
  }
  n(yQt, "assertRegExpLiteral");
  function gQt(t, e) {
    B("LogicalExpression", t, e);
  }
  n(gQt, "assertLogicalExpression");
  function TQt(t, e) {
    B("MemberExpression", t, e);
  }
  n(TQt, "assertMemberExpression");
  function bQt(t, e) {
    B("NewExpression", t, e);
  }
  n(bQt, "assertNewExpression");
  function xQt(t, e) {
    B("Program", t, e);
  }
  n(xQt, "assertProgram");
  function SQt(t, e) {
    B("ObjectExpression", t, e);
  }
  n(SQt, "assertObjectExpression");
  function PQt(t, e) {
    B("ObjectMethod", t, e);
  }
  n(PQt, "assertObjectMethod");
  function EQt(t, e) {
    B("ObjectProperty", t, e);
  }
  n(EQt, "assertObjectProperty");
  function AQt(t, e) {
    B("RestElement", t, e);
  }
  n(AQt, "assertRestElement");
  function vQt(t, e) {
    B("ReturnStatement", t, e);
  }
  n(vQt, "assertReturnStatement");
  function CQt(t, e) {
    B("SequenceExpression", t, e);
  }
  n(CQt, "assertSequenceExpression");
  function wQt(t, e) {
    B("ParenthesizedExpression", t, e);
  }
  n(wQt, "assertParenthesizedExpression");
  function IQt(t, e) {
    B("SwitchCase", t, e);
  }
  n(IQt, "assertSwitchCase");
  function NQt(t, e) {
    B("SwitchStatement", t, e);
  }
  n(NQt, "assertSwitchStatement");
  function kQt(t, e) {
    B("ThisExpression", t, e);
  }
  n(kQt, "assertThisExpression");
  function DQt(t, e) {
    B("ThrowStatement", t, e);
  }
  n(DQt, "assertThrowStatement");
  function OQt(t, e) {
    B("TryStatement", t, e);
  }
  n(OQt, "assertTryStatement");
  function _Qt(t, e) {
    B("UnaryExpression", t, e);
  }
  n(_Qt, "assertUnaryExpression");
  function LQt(t, e) {
    B("UpdateExpression", t, e);
  }
  n(LQt, "assertUpdateExpression");
  function BQt(t, e) {
    B("VariableDeclaration", t, e);
  }
  n(BQt, "assertVariableDeclaration");
  function MQt(t, e) {
    B("VariableDeclarator", t, e);
  }
  n(MQt, "assertVariableDeclarator");
  function FQt(t, e) {
    B("WhileStatement", t, e);
  }
  n(FQt, "assertWhileStatement");
  function jQt(t, e) {
    B("WithStatement", t, e);
  }
  n(jQt, "assertWithStatement");
  function RQt(t, e) {
    B("AssignmentPattern", t, e);
  }
  n(RQt, "assertAssignmentPattern");
  function qQt(t, e) {
    B("ArrayPattern", t, e);
  }
  n(qQt, "assertArrayPattern");
  function UQt(t, e) {
    B("ArrowFunctionExpression", t, e);
  }
  n(UQt, "assertArrowFunctionExpression");
  function KQt(t, e) {
    B("ClassBody", t, e);
  }
  n(KQt, "assertClassBody");
  function VQt(t, e) {
    B("ClassExpression", t, e);
  }
  n(VQt, "assertClassExpression");
  function WQt(t, e) {
    B("ClassDeclaration", t, e);
  }
  n(WQt, "assertClassDeclaration");
  function $Qt(t, e) {
    B("ExportAllDeclaration", t, e);
  }
  n($Qt, "assertExportAllDeclaration");
  function HQt(t, e) {
    B("ExportDefaultDeclaration", t, e);
  }
  n(HQt, "assertExportDefaultDeclaration");
  function JQt(t, e) {
    B("ExportNamedDeclaration", t, e);
  }
  n(JQt, "assertExportNamedDeclaration");
  function YQt(t, e) {
    B("ExportSpecifier", t, e);
  }
  n(YQt, "assertExportSpecifier");
  function XQt(t, e) {
    B("ForOfStatement", t, e);
  }
  n(XQt, "assertForOfStatement");
  function zQt(t, e) {
    B("ImportDeclaration", t, e);
  }
  n(zQt, "assertImportDeclaration");
  function GQt(t, e) {
    B("ImportDefaultSpecifier", t, e);
  }
  n(GQt, "assertImportDefaultSpecifier");
  function QQt(t, e) {
    B("ImportNamespaceSpecifier", t, e);
  }
  n(QQt, "assertImportNamespaceSpecifier");
  function ZQt(t, e) {
    B("ImportSpecifier", t, e);
  }
  n(ZQt, "assertImportSpecifier");
  function eZt(t, e) {
    B("ImportExpression", t, e);
  }
  n(eZt, "assertImportExpression");
  function tZt(t, e) {
    B("MetaProperty", t, e);
  }
  n(tZt, "assertMetaProperty");
  function sZt(t, e) {
    B("ClassMethod", t, e);
  }
  n(sZt, "assertClassMethod");
  function rZt(t, e) {
    B("ObjectPattern", t, e);
  }
  n(rZt, "assertObjectPattern");
  function iZt(t, e) {
    B("SpreadElement", t, e);
  }
  n(iZt, "assertSpreadElement");
  function nZt(t, e) {
    B("Super", t, e);
  }
  n(nZt, "assertSuper");
  function aZt(t, e) {
    B("TaggedTemplateExpression", t, e);
  }
  n(aZt, "assertTaggedTemplateExpression");
  function oZt(t, e) {
    B("TemplateElement", t, e);
  }
  n(oZt, "assertTemplateElement");
  function lZt(t, e) {
    B("TemplateLiteral", t, e);
  }
  n(lZt, "assertTemplateLiteral");
  function uZt(t, e) {
    B("YieldExpression", t, e);
  }
  n(uZt, "assertYieldExpression");
  function cZt(t, e) {
    B("AwaitExpression", t, e);
  }
  n(cZt, "assertAwaitExpression");
  function pZt(t, e) {
    B("Import", t, e);
  }
  n(pZt, "assertImport");
  function hZt(t, e) {
    B("BigIntLiteral", t, e);
  }
  n(hZt, "assertBigIntLiteral");
  function fZt(t, e) {
    B("ExportNamespaceSpecifier", t, e);
  }
  n(fZt, "assertExportNamespaceSpecifier");
  function dZt(t, e) {
    B("OptionalMemberExpression", t, e);
  }
  n(dZt, "assertOptionalMemberExpression");
  function mZt(t, e) {
    B("OptionalCallExpression", t, e);
  }
  n(mZt, "assertOptionalCallExpression");
  function yZt(t, e) {
    B("ClassProperty", t, e);
  }
  n(yZt, "assertClassProperty");
  function gZt(t, e) {
    B("ClassAccessorProperty", t, e);
  }
  n(gZt, "assertClassAccessorProperty");
  function TZt(t, e) {
    B("ClassPrivateProperty", t, e);
  }
  n(TZt, "assertClassPrivateProperty");
  function bZt(t, e) {
    B("ClassPrivateMethod", t, e);
  }
  n(bZt, "assertClassPrivateMethod");
  function xZt(t, e) {
    B("PrivateName", t, e);
  }
  n(xZt, "assertPrivateName");
  function SZt(t, e) {
    B("StaticBlock", t, e);
  }
  n(SZt, "assertStaticBlock");
  function PZt(t, e) {
    B("AnyTypeAnnotation", t, e);
  }
  n(PZt, "assertAnyTypeAnnotation");
  function EZt(t, e) {
    B("ArrayTypeAnnotation", t, e);
  }
  n(EZt, "assertArrayTypeAnnotation");
  function AZt(t, e) {
    B("BooleanTypeAnnotation", t, e);
  }
  n(AZt, "assertBooleanTypeAnnotation");
  function vZt(t, e) {
    B("BooleanLiteralTypeAnnotation", t, e);
  }
  n(vZt, "assertBooleanLiteralTypeAnnotation");
  function CZt(t, e) {
    B("NullLiteralTypeAnnotation", t, e);
  }
  n(CZt, "assertNullLiteralTypeAnnotation");
  function wZt(t, e) {
    B("ClassImplements", t, e);
  }
  n(wZt, "assertClassImplements");
  function IZt(t, e) {
    B("DeclareClass", t, e);
  }
  n(IZt, "assertDeclareClass");
  function NZt(t, e) {
    B("DeclareFunction", t, e);
  }
  n(NZt, "assertDeclareFunction");
  function kZt(t, e) {
    B("DeclareInterface", t, e);
  }
  n(kZt, "assertDeclareInterface");
  function DZt(t, e) {
    B("DeclareModule", t, e);
  }
  n(DZt, "assertDeclareModule");
  function OZt(t, e) {
    B("DeclareModuleExports", t, e);
  }
  n(OZt, "assertDeclareModuleExports");
  function _Zt(t, e) {
    B("DeclareTypeAlias", t, e);
  }
  n(_Zt, "assertDeclareTypeAlias");
  function LZt(t, e) {
    B("DeclareOpaqueType", t, e);
  }
  n(LZt, "assertDeclareOpaqueType");
  function BZt(t, e) {
    B("DeclareVariable", t, e);
  }
  n(BZt, "assertDeclareVariable");
  function MZt(t, e) {
    B("DeclareExportDeclaration", t, e);
  }
  n(MZt, "assertDeclareExportDeclaration");
  function FZt(t, e) {
    B("DeclareExportAllDeclaration", t, e);
  }
  n(FZt, "assertDeclareExportAllDeclaration");
  function jZt(t, e) {
    B("DeclaredPredicate", t, e);
  }
  n(jZt, "assertDeclaredPredicate");
  function RZt(t, e) {
    B("ExistsTypeAnnotation", t, e);
  }
  n(RZt, "assertExistsTypeAnnotation");
  function qZt(t, e) {
    B("FunctionTypeAnnotation", t, e);
  }
  n(qZt, "assertFunctionTypeAnnotation");
  function UZt(t, e) {
    B("FunctionTypeParam", t, e);
  }
  n(UZt, "assertFunctionTypeParam");
  function KZt(t, e) {
    B("GenericTypeAnnotation", t, e);
  }
  n(KZt, "assertGenericTypeAnnotation");
  function VZt(t, e) {
    B("InferredPredicate", t, e);
  }
  n(VZt, "assertInferredPredicate");
  function WZt(t, e) {
    B("InterfaceExtends", t, e);
  }
  n(WZt, "assertInterfaceExtends");
  function $Zt(t, e) {
    B("InterfaceDeclaration", t, e);
  }
  n($Zt, "assertInterfaceDeclaration");
  function HZt(t, e) {
    B("InterfaceTypeAnnotation", t, e);
  }
  n(HZt, "assertInterfaceTypeAnnotation");
  function JZt(t, e) {
    B("IntersectionTypeAnnotation", t, e);
  }
  n(JZt, "assertIntersectionTypeAnnotation");
  function YZt(t, e) {
    B("MixedTypeAnnotation", t, e);
  }
  n(YZt, "assertMixedTypeAnnotation");
  function XZt(t, e) {
    B("EmptyTypeAnnotation", t, e);
  }
  n(XZt, "assertEmptyTypeAnnotation");
  function zZt(t, e) {
    B("NullableTypeAnnotation", t, e);
  }
  n(zZt, "assertNullableTypeAnnotation");
  function GZt(t, e) {
    B("NumberLiteralTypeAnnotation", t, e);
  }
  n(GZt, "assertNumberLiteralTypeAnnotation");
  function QZt(t, e) {
    B("NumberTypeAnnotation", t, e);
  }
  n(QZt, "assertNumberTypeAnnotation");
  function ZZt(t, e) {
    B("ObjectTypeAnnotation", t, e);
  }
  n(ZZt, "assertObjectTypeAnnotation");
  function ees(t, e) {
    B("ObjectTypeInternalSlot", t, e);
  }
  n(ees, "assertObjectTypeInternalSlot");
  function tes(t, e) {
    B("ObjectTypeCallProperty", t, e);
  }
  n(tes, "assertObjectTypeCallProperty");
  function ses(t, e) {
    B("ObjectTypeIndexer", t, e);
  }
  n(ses, "assertObjectTypeIndexer");
  function res(t, e) {
    B("ObjectTypeProperty", t, e);
  }
  n(res, "assertObjectTypeProperty");
  function ies(t, e) {
    B("ObjectTypeSpreadProperty", t, e);
  }
  n(ies, "assertObjectTypeSpreadProperty");
  function nes(t, e) {
    B("OpaqueType", t, e);
  }
  n(nes, "assertOpaqueType");
  function aes(t, e) {
    B("QualifiedTypeIdentifier", t, e);
  }
  n(aes, "assertQualifiedTypeIdentifier");
  function oes(t, e) {
    B("StringLiteralTypeAnnotation", t, e);
  }
  n(oes, "assertStringLiteralTypeAnnotation");
  function les(t, e) {
    B("StringTypeAnnotation", t, e);
  }
  n(les, "assertStringTypeAnnotation");
  function ues(t, e) {
    B("SymbolTypeAnnotation", t, e);
  }
  n(ues, "assertSymbolTypeAnnotation");
  function ces(t, e) {
    B("ThisTypeAnnotation", t, e);
  }
  n(ces, "assertThisTypeAnnotation");
  function pes(t, e) {
    B("TupleTypeAnnotation", t, e);
  }
  n(pes, "assertTupleTypeAnnotation");
  function hes(t, e) {
    B("TypeofTypeAnnotation", t, e);
  }
  n(hes, "assertTypeofTypeAnnotation");
  function fes(t, e) {
    B("TypeAlias", t, e);
  }
  n(fes, "assertTypeAlias");
  function des(t, e) {
    B("TypeAnnotation", t, e);
  }
  n(des, "assertTypeAnnotation");
  function mes(t, e) {
    B("TypeCastExpression", t, e);
  }
  n(mes, "assertTypeCastExpression");
  function yes(t, e) {
    B("TypeParameter", t, e);
  }
  n(yes, "assertTypeParameter");
  function ges(t, e) {
    B("TypeParameterDeclaration", t, e);
  }
  n(ges, "assertTypeParameterDeclaration");
  function Tes(t, e) {
    B("TypeParameterInstantiation", t, e);
  }
  n(Tes, "assertTypeParameterInstantiation");
  function bes(t, e) {
    B("UnionTypeAnnotation", t, e);
  }
  n(bes, "assertUnionTypeAnnotation");
  function xes(t, e) {
    B("Variance", t, e);
  }
  n(xes, "assertVariance");
  function Ses(t, e) {
    B("VoidTypeAnnotation", t, e);
  }
  n(Ses, "assertVoidTypeAnnotation");
  function Pes(t, e) {
    B("EnumDeclaration", t, e);
  }
  n(Pes, "assertEnumDeclaration");
  function Ees(t, e) {
    B("EnumBooleanBody", t, e);
  }
  n(Ees, "assertEnumBooleanBody");
  function Aes(t, e) {
    B("EnumNumberBody", t, e);
  }
  n(Aes, "assertEnumNumberBody");
  function ves(t, e) {
    B("EnumStringBody", t, e);
  }
  n(ves, "assertEnumStringBody");
  function Ces(t, e) {
    B("EnumSymbolBody", t, e);
  }
  n(Ces, "assertEnumSymbolBody");
  function wes(t, e) {
    B("EnumBooleanMember", t, e);
  }
  n(wes, "assertEnumBooleanMember");
  function Ies(t, e) {
    B("EnumNumberMember", t, e);
  }
  n(Ies, "assertEnumNumberMember");
  function Nes(t, e) {
    B("EnumStringMember", t, e);
  }
  n(Nes, "assertEnumStringMember");
  function kes(t, e) {
    B("EnumDefaultedMember", t, e);
  }
  n(kes, "assertEnumDefaultedMember");
  function Des(t, e) {
    B("IndexedAccessType", t, e);
  }
  n(Des, "assertIndexedAccessType");
  function Oes(t, e) {
    B("OptionalIndexedAccessType", t, e);
  }
  n(Oes, "assertOptionalIndexedAccessType");
  function _es(t, e) {
    B("JSXAttribute", t, e);
  }
  n(_es, "assertJSXAttribute");
  function Les(t, e) {
    B("JSXClosingElement", t, e);
  }
  n(Les, "assertJSXClosingElement");
  function Bes(t, e) {
    B("JSXElement", t, e);
  }
  n(Bes, "assertJSXElement");
  function Mes(t, e) {
    B("JSXEmptyExpression", t, e);
  }
  n(Mes, "assertJSXEmptyExpression");
  function Fes(t, e) {
    B("JSXExpressionContainer", t, e);
  }
  n(Fes, "assertJSXExpressionContainer");
  function jes(t, e) {
    B("JSXSpreadChild", t, e);
  }
  n(jes, "assertJSXSpreadChild");
  function Res(t, e) {
    B("JSXIdentifier", t, e);
  }
  n(Res, "assertJSXIdentifier");
  function qes(t, e) {
    B("JSXMemberExpression", t, e);
  }
  n(qes, "assertJSXMemberExpression");
  function Ues(t, e) {
    B("JSXNamespacedName", t, e);
  }
  n(Ues, "assertJSXNamespacedName");
  function Kes(t, e) {
    B("JSXOpeningElement", t, e);
  }
  n(Kes, "assertJSXOpeningElement");
  function Ves(t, e) {
    B("JSXSpreadAttribute", t, e);
  }
  n(Ves, "assertJSXSpreadAttribute");
  function Wes(t, e) {
    B("JSXText", t, e);
  }
  n(Wes, "assertJSXText");
  function $es(t, e) {
    B("JSXFragment", t, e);
  }
  n($es, "assertJSXFragment");
  function Hes(t, e) {
    B("JSXOpeningFragment", t, e);
  }
  n(Hes, "assertJSXOpeningFragment");
  function Jes(t, e) {
    B("JSXClosingFragment", t, e);
  }
  n(Jes, "assertJSXClosingFragment");
  function Yes(t, e) {
    B("Noop", t, e);
  }
  n(Yes, "assertNoop");
  function Xes(t, e) {
    B("Placeholder", t, e);
  }
  n(Xes, "assertPlaceholder");
  function zes(t, e) {
    B("V8IntrinsicIdentifier", t, e);
  }
  n(zes, "assertV8IntrinsicIdentifier");
  function Ges(t, e) {
    B("ArgumentPlaceholder", t, e);
  }
  n(Ges, "assertArgumentPlaceholder");
  function Qes(t, e) {
    B("BindExpression", t, e);
  }
  n(Qes, "assertBindExpression");
  function Zes(t, e) {
    B("ImportAttribute", t, e);
  }
  n(Zes, "assertImportAttribute");
  function ets(t, e) {
    B("Decorator", t, e);
  }
  n(ets, "assertDecorator");
  function tts(t, e) {
    B("DoExpression", t, e);
  }
  n(tts, "assertDoExpression");
  function sts(t, e) {
    B("ExportDefaultSpecifier", t, e);
  }
  n(sts, "assertExportDefaultSpecifier");
  function rts(t, e) {
    B("RecordExpression", t, e);
  }
  n(rts, "assertRecordExpression");
  function its(t, e) {
    B("TupleExpression", t, e);
  }
  n(its, "assertTupleExpression");
  function nts(t, e) {
    B("DecimalLiteral", t, e);
  }
  n(nts, "assertDecimalLiteral");
  function ats(t, e) {
    B("ModuleExpression", t, e);
  }
  n(ats, "assertModuleExpression");
  function ots(t, e) {
    B("TopicReference", t, e);
  }
  n(ots, "assertTopicReference");
  function lts(t, e) {
    B("PipelineTopicExpression", t, e);
  }
  n(lts, "assertPipelineTopicExpression");
  function uts(t, e) {
    B("PipelineBareFunction", t, e);
  }
  n(uts, "assertPipelineBareFunction");
  function cts(t, e) {
    B("PipelinePrimaryTopicReference", t, e);
  }
  n(cts, "assertPipelinePrimaryTopicReference");
  function pts(t, e) {
    B("TSParameterProperty", t, e);
  }
  n(pts, "assertTSParameterProperty");
  function hts(t, e) {
    B("TSDeclareFunction", t, e);
  }
  n(hts, "assertTSDeclareFunction");
  function fts(t, e) {
    B("TSDeclareMethod", t, e);
  }
  n(fts, "assertTSDeclareMethod");
  function dts(t, e) {
    B("TSQualifiedName", t, e);
  }
  n(dts, "assertTSQualifiedName");
  function mts(t, e) {
    B("TSCallSignatureDeclaration", t, e);
  }
  n(mts, "assertTSCallSignatureDeclaration");
  function yts(t, e) {
    B("TSConstructSignatureDeclaration", t, e);
  }
  n(yts, "assertTSConstructSignatureDeclaration");
  function gts(t, e) {
    B("TSPropertySignature", t, e);
  }
  n(gts, "assertTSPropertySignature");
  function Tts(t, e) {
    B("TSMethodSignature", t, e);
  }
  n(Tts, "assertTSMethodSignature");
  function bts(t, e) {
    B("TSIndexSignature", t, e);
  }
  n(bts, "assertTSIndexSignature");
  function xts(t, e) {
    B("TSAnyKeyword", t, e);
  }
  n(xts, "assertTSAnyKeyword");
  function Sts(t, e) {
    B("TSBooleanKeyword", t, e);
  }
  n(Sts, "assertTSBooleanKeyword");
  function Pts(t, e) {
    B("TSBigIntKeyword", t, e);
  }
  n(Pts, "assertTSBigIntKeyword");
  function Ets(t, e) {
    B("TSIntrinsicKeyword", t, e);
  }
  n(Ets, "assertTSIntrinsicKeyword");
  function Ats(t, e) {
    B("TSNeverKeyword", t, e);
  }
  n(Ats, "assertTSNeverKeyword");
  function vts(t, e) {
    B("TSNullKeyword", t, e);
  }
  n(vts, "assertTSNullKeyword");
  function Cts(t, e) {
    B("TSNumberKeyword", t, e);
  }
  n(Cts, "assertTSNumberKeyword");
  function wts(t, e) {
    B("TSObjectKeyword", t, e);
  }
  n(wts, "assertTSObjectKeyword");
  function Its(t, e) {
    B("TSStringKeyword", t, e);
  }
  n(Its, "assertTSStringKeyword");
  function Nts(t, e) {
    B("TSSymbolKeyword", t, e);
  }
  n(Nts, "assertTSSymbolKeyword");
  function kts(t, e) {
    B("TSUndefinedKeyword", t, e);
  }
  n(kts, "assertTSUndefinedKeyword");
  function Dts(t, e) {
    B("TSUnknownKeyword", t, e);
  }
  n(Dts, "assertTSUnknownKeyword");
  function Ots(t, e) {
    B("TSVoidKeyword", t, e);
  }
  n(Ots, "assertTSVoidKeyword");
  function _ts(t, e) {
    B("TSThisType", t, e);
  }
  n(_ts, "assertTSThisType");
  function Lts(t, e) {
    B("TSFunctionType", t, e);
  }
  n(Lts, "assertTSFunctionType");
  function Bts(t, e) {
    B("TSConstructorType", t, e);
  }
  n(Bts, "assertTSConstructorType");
  function Mts(t, e) {
    B("TSTypeReference", t, e);
  }
  n(Mts, "assertTSTypeReference");
  function Fts(t, e) {
    B("TSTypePredicate", t, e);
  }
  n(Fts, "assertTSTypePredicate");
  function jts(t, e) {
    B("TSTypeQuery", t, e);
  }
  n(jts, "assertTSTypeQuery");
  function Rts(t, e) {
    B("TSTypeLiteral", t, e);
  }
  n(Rts, "assertTSTypeLiteral");
  function qts(t, e) {
    B("TSArrayType", t, e);
  }
  n(qts, "assertTSArrayType");
  function Uts(t, e) {
    B("TSTupleType", t, e);
  }
  n(Uts, "assertTSTupleType");
  function Kts(t, e) {
    B("TSOptionalType", t, e);
  }
  n(Kts, "assertTSOptionalType");
  function Vts(t, e) {
    B("TSRestType", t, e);
  }
  n(Vts, "assertTSRestType");
  function Wts(t, e) {
    B("TSNamedTupleMember", t, e);
  }
  n(Wts, "assertTSNamedTupleMember");
  function $ts(t, e) {
    B("TSUnionType", t, e);
  }
  n($ts, "assertTSUnionType");
  function Hts(t, e) {
    B("TSIntersectionType", t, e);
  }
  n(Hts, "assertTSIntersectionType");
  function Jts(t, e) {
    B("TSConditionalType", t, e);
  }
  n(Jts, "assertTSConditionalType");
  function Yts(t, e) {
    B("TSInferType", t, e);
  }
  n(Yts, "assertTSInferType");
  function Xts(t, e) {
    B("TSParenthesizedType", t, e);
  }
  n(Xts, "assertTSParenthesizedType");
  function zts(t, e) {
    B("TSTypeOperator", t, e);
  }
  n(zts, "assertTSTypeOperator");
  function Gts(t, e) {
    B("TSIndexedAccessType", t, e);
  }
  n(Gts, "assertTSIndexedAccessType");
  function Qts(t, e) {
    B("TSMappedType", t, e);
  }
  n(Qts, "assertTSMappedType");
  function Zts(t, e) {
    B("TSLiteralType", t, e);
  }
  n(Zts, "assertTSLiteralType");
  function ess(t, e) {
    B("TSExpressionWithTypeArguments", t, e);
  }
  n(ess, "assertTSExpressionWithTypeArguments");
  function tss(t, e) {
    B("TSInterfaceDeclaration", t, e);
  }
  n(tss, "assertTSInterfaceDeclaration");
  function sss(t, e) {
    B("TSInterfaceBody", t, e);
  }
  n(sss, "assertTSInterfaceBody");
  function rss(t, e) {
    B("TSTypeAliasDeclaration", t, e);
  }
  n(rss, "assertTSTypeAliasDeclaration");
  function iss(t, e) {
    B("TSInstantiationExpression", t, e);
  }
  n(iss, "assertTSInstantiationExpression");
  function nss(t, e) {
    B("TSAsExpression", t, e);
  }
  n(nss, "assertTSAsExpression");
  function ass(t, e) {
    B("TSSatisfiesExpression", t, e);
  }
  n(ass, "assertTSSatisfiesExpression");
  function oss(t, e) {
    B("TSTypeAssertion", t, e);
  }
  n(oss, "assertTSTypeAssertion");
  function lss(t, e) {
    B("TSEnumBody", t, e);
  }
  n(lss, "assertTSEnumBody");
  function uss(t, e) {
    B("TSEnumDeclaration", t, e);
  }
  n(uss, "assertTSEnumDeclaration");
  function css(t, e) {
    B("TSEnumMember", t, e);
  }
  n(css, "assertTSEnumMember");
  function pss(t, e) {
    B("TSModuleDeclaration", t, e);
  }
  n(pss, "assertTSModuleDeclaration");
  function hss(t, e) {
    B("TSModuleBlock", t, e);
  }
  n(hss, "assertTSModuleBlock");
  function fss(t, e) {
    B("TSImportType", t, e);
  }
  n(fss, "assertTSImportType");
  function dss(t, e) {
    B("TSImportEqualsDeclaration", t, e);
  }
  n(dss, "assertTSImportEqualsDeclaration");
  function mss(t, e) {
    B("TSExternalModuleReference", t, e);
  }
  n(mss, "assertTSExternalModuleReference");
  function yss(t, e) {
    B("TSNonNullExpression", t, e);
  }
  n(yss, "assertTSNonNullExpression");
  function gss(t, e) {
    B("TSExportAssignment", t, e);
  }
  n(gss, "assertTSExportAssignment");
  function Tss(t, e) {
    B("TSNamespaceExportDeclaration", t, e);
  }
  n(Tss, "assertTSNamespaceExportDeclaration");
  function bss(t, e) {
    B("TSTypeAnnotation", t, e);
  }
  n(bss, "assertTSTypeAnnotation");
  function xss(t, e) {
    B("TSTypeParameterInstantiation", t, e);
  }
  n(xss, "assertTSTypeParameterInstantiation");
  function Sss(t, e) {
    B("TSTypeParameterDeclaration", t, e);
  }
  n(Sss, "assertTSTypeParameterDeclaration");
  function Pss(t, e) {
    B("TSTypeParameter", t, e);
  }
  n(Pss, "assertTSTypeParameter");
  function Ess(t, e) {
    B("Standardized", t, e);
  }
  n(Ess, "assertStandardized");
  function Ass(t, e) {
    B("Expression", t, e);
  }
  n(Ass, "assertExpression");
  function vss(t, e) {
    B("Binary", t, e);
  }
  n(vss, "assertBinary");
  function Css(t, e) {
    B("Scopable", t, e);
  }
  n(Css, "assertScopable");
  function wss(t, e) {
    B("BlockParent", t, e);
  }
  n(wss, "assertBlockParent");
  function Iss(t, e) {
    B("Block", t, e);
  }
  n(Iss, "assertBlock");
  function Nss(t, e) {
    B("Statement", t, e);
  }
  n(Nss, "assertStatement");
  function kss(t, e) {
    B("Terminatorless", t, e);
  }
  n(kss, "assertTerminatorless");
  function Dss(t, e) {
    B("CompletionStatement", t, e);
  }
  n(Dss, "assertCompletionStatement");
  function Oss(t, e) {
    B("Conditional", t, e);
  }
  n(Oss, "assertConditional");
  function _ss(t, e) {
    B("Loop", t, e);
  }
  n(_ss, "assertLoop");
  function Lss(t, e) {
    B("While", t, e);
  }
  n(Lss, "assertWhile");
  function Bss(t, e) {
    B("ExpressionWrapper", t, e);
  }
  n(Bss, "assertExpressionWrapper");
  function Mss(t, e) {
    B("For", t, e);
  }
  n(Mss, "assertFor");
  function Fss(t, e) {
    B("ForXStatement", t, e);
  }
  n(Fss, "assertForXStatement");
  function jss(t, e) {
    B("Function", t, e);
  }
  n(jss, "assertFunction");
  function Rss(t, e) {
    B("FunctionParent", t, e);
  }
  n(Rss, "assertFunctionParent");
  function qss(t, e) {
    B("Pureish", t, e);
  }
  n(qss, "assertPureish");
  function Uss(t, e) {
    B("Declaration", t, e);
  }
  n(Uss, "assertDeclaration");
  function Kss(t, e) {
    B("PatternLike", t, e);
  }
  n(Kss, "assertPatternLike");
  function Vss(t, e) {
    B("LVal", t, e);
  }
  n(Vss, "assertLVal");
  function Wss(t, e) {
    B("TSEntityName", t, e);
  }
  n(Wss, "assertTSEntityName");
  function $ss(t, e) {
    B("Literal", t, e);
  }
  n($ss, "assertLiteral");
  function Hss(t, e) {
    B("Immutable", t, e);
  }
  n(Hss, "assertImmutable");
  function Jss(t, e) {
    B("UserWhitespacable", t, e);
  }
  n(Jss, "assertUserWhitespacable");
  function Yss(t, e) {
    B("Method", t, e);
  }
  n(Yss, "assertMethod");
  function Xss(t, e) {
    B("ObjectMember", t, e);
  }
  n(Xss, "assertObjectMember");
  function zss(t, e) {
    B("Property", t, e);
  }
  n(zss, "assertProperty");
  function Gss(t, e) {
    B("UnaryLike", t, e);
  }
  n(Gss, "assertUnaryLike");
  function Qss(t, e) {
    B("Pattern", t, e);
  }
  n(Qss, "assertPattern");
  function Zss(t, e) {
    B("Class", t, e);
  }
  n(Zss, "assertClass");
  function ers(t, e) {
    B("ImportOrExportDeclaration", t, e);
  }
  n(ers, "assertImportOrExportDeclaration");
  function trs(t, e) {
    B("ExportDeclaration", t, e);
  }
  n(trs, "assertExportDeclaration");
  function srs(t, e) {
    B("ModuleSpecifier", t, e);
  }
  n(srs, "assertModuleSpecifier");
  function rrs(t, e) {
    B("Accessor", t, e);
  }
  n(rrs, "assertAccessor");
  function irs(t, e) {
    B("Private", t, e);
  }
  n(irs, "assertPrivate");
  function nrs(t, e) {
    B("Flow", t, e);
  }
  n(nrs, "assertFlow");
  function ars(t, e) {
    B("FlowType", t, e);
  }
  n(ars, "assertFlowType");
  function ors(t, e) {
    B("FlowBaseAnnotation", t, e);
  }
  n(ors, "assertFlowBaseAnnotation");
  function lrs(t, e) {
    B("FlowDeclaration", t, e);
  }
  n(lrs, "assertFlowDeclaration");
  function urs(t, e) {
    B("FlowPredicate", t, e);
  }
  n(urs, "assertFlowPredicate");
  function crs(t, e) {
    B("EnumBody", t, e);
  }
  n(crs, "assertEnumBody");
  function prs(t, e) {
    B("EnumMember", t, e);
  }
  n(prs, "assertEnumMember");
  function hrs(t, e) {
    B("JSX", t, e);
  }
  n(hrs, "assertJSX");
  function frs(t, e) {
    B("Miscellaneous", t, e);
  }
  n(frs, "assertMiscellaneous");
  function drs(t, e) {
    B("TypeScript", t, e);
  }
  n(drs, "assertTypeScript");
  function mrs(t, e) {
    B("TSTypeElement", t, e);
  }
  n(mrs, "assertTSTypeElement");
  function yrs(t, e) {
    B("TSType", t, e);
  }
  n(yrs, "assertTSType");
  function grs(t, e) {
    B("TSBaseType", t, e);
  }
  n(grs, "assertTSBaseType");
  function Trs(t, e) {
    (0, kT.default)("assertNumberLiteral", "assertNumericLiteral"), B("NumberLiteral", t, e);
  }
  n(Trs, "assertNumberLiteral");
  function brs(t, e) {
    (0, kT.default)("assertRegexLiteral", "assertRegExpLiteral"), B("RegexLiteral", t, e);
  }
  n(brs, "assertRegexLiteral");
  function xrs(t, e) {
    (0, kT.default)("assertRestProperty", "assertRestElement"), B("RestProperty", t, e);
  }
  n(xrs, "assertRestProperty");
  function Srs(t, e) {
    (0, kT.default)("assertSpreadProperty", "assertSpreadElement"), B("SpreadProperty", t, e);
  }
  n(Srs, "assertSpreadProperty");
  function Prs(t, e) {
    (0, kT.default)("assertModuleDeclaration", "assertImportOrExportDeclaration"), B("ModuleDeclaration", t, e);
  }
  n(Prs, "assertModuleDeclaration");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js
var Cpe = g((K1) => {
  "use strict";
  Object.defineProperty(K1, "__esModule", {
    value: !0
  });
  K1.default = void 0;
  var Ro = Kn(), SZs = K1.default = Ers;
  function Ers(t) {
    switch (t) {
      case "string":
        return (0, Ro.stringTypeAnnotation)();
      case "number":
        return (0, Ro.numberTypeAnnotation)();
      case "undefined":
        return (0, Ro.voidTypeAnnotation)();
      case "boolean":
        return (0, Ro.booleanTypeAnnotation)();
      case "function":
        return (0, Ro.genericTypeAnnotation)((0, Ro.identifier)("Function"));
      case "object":
        return (0, Ro.genericTypeAnnotation)((0, Ro.identifier)("Object"));
      case "symbol":
        return (0, Ro.genericTypeAnnotation)((0, Ro.identifier)("Symbol"));
      case "bigint":
        return (0, Ro.anyTypeAnnotation)();
    }
    throw new Error("Invalid typeof value: " + t);
  }
  n(Ers, "createTypeAnnotationBasedOnTypeof");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js
var Xj = g((Yj) => {
  "use strict";
  Object.defineProperty(Yj, "__esModule", {
    value: !0
  });
  Yj.default = Ipe;
  var DT = fi();
  function wpe(t) {
    return (0, DT.isIdentifier)(t) ? t.name : `${t.id.name}.${wpe(t.qualification)}`;
  }
  n(wpe, "getQualifiedName");
  function Ipe(t) {
    let e = Array.from(t), s = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set(), a = [];
    for (let o = 0; o < e.length; o++) {
      let l = e[o];
      if (l && !a.includes(l)) {
        if ((0, DT.isAnyTypeAnnotation)(l))
          return [l];
        if ((0, DT.isFlowBaseAnnotation)(l)) {
          r.set(l.type, l);
          continue;
        }
        if ((0, DT.isUnionTypeAnnotation)(l)) {
          i.has(l.types) || (e.push(...l.types), i.add(l.types));
          continue;
        }
        if ((0, DT.isGenericTypeAnnotation)(l)) {
          let u = wpe(l.id);
          if (s.has(u)) {
            let c = s.get(u);
            c.typeParameters ? l.typeParameters && (c.typeParameters.params.push(...l.typeParameters.params), c.typeParameters.params = Ipe(
            c.typeParameters.params)) : c = l.typeParameters;
          } else
            s.set(u, l);
          continue;
        }
        a.push(l);
      }
    }
    for (let [, o] of r)
      a.push(o);
    for (let [, o] of s)
      a.push(o);
    return a;
  }
  n(Ipe, "removeTypeDuplicates");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js
var Npe = g((zj) => {
  "use strict";
  Object.defineProperty(zj, "__esModule", {
    value: !0
  });
  zj.default = Crs;
  var Ars = Kn(), vrs = Xj();
  function Crs(t) {
    let e = (0, vrs.default)(t);
    return e.length === 1 ? e[0] : (0, Ars.unionTypeAnnotation)(e);
  }
  n(Crs, "createFlowUnionType");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js
var Ope = g((Gj) => {
  "use strict";
  Object.defineProperty(Gj, "__esModule", {
    value: !0
  });
  Gj.default = Dpe;
  var OT = fi();
  function kpe(t) {
    return (0, OT.isIdentifier)(t) ? t.name : `${t.right.name}.${kpe(t.left)}`;
  }
  n(kpe, "getQualifiedName");
  function Dpe(t) {
    let e = Array.from(t), s = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set(), a = [];
    for (let o = 0; o < e.length; o++) {
      let l = e[o];
      if (!l || a.includes(l))
        continue;
      if ((0, OT.isTSAnyKeyword)(l))
        return [l];
      if ((0, OT.isTSBaseType)(l)) {
        r.set(l.type, l);
        continue;
      }
      if ((0, OT.isTSUnionType)(l)) {
        i.has(l.types) || (e.push(...l.types), i.add(l.types));
        continue;
      }
      let u = "typeParameters";
      if ((0, OT.isTSTypeReference)(l) && l[u]) {
        let c = l[u], p = kpe(l.typeName);
        if (s.has(p)) {
          let h = s.get(p), f = h[u];
          f ? (f.params.push(...c.params), f.params = Dpe(f.params)) : h = c;
        } else
          s.set(p, l);
        continue;
      }
      a.push(l);
    }
    for (let [, o] of r)
      a.push(o);
    for (let [, o] of s)
      a.push(o);
    return a;
  }
  n(Dpe, "removeTypeDuplicates");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js
var _pe = g((Qj) => {
  "use strict";
  Object.defineProperty(Qj, "__esModule", {
    value: !0
  });
  Qj.default = krs;
  var wrs = Kn(), Irs = Ope(), Nrs = fi();
  function krs(t) {
    let e = t.map((r) => (0, Nrs.isTSTypeAnnotation)(r) ? r.typeAnnotation : r), s = (0, Irs.default)(e);
    return s.length === 1 ? s[0] : (0, wrs.tsUnionType)(s);
  }
  n(krs, "createTSUnionType");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/builders/generated/uppercase.js
var Lpe = g((H) => {
  "use strict";
  Object.defineProperty(H, "__esModule", {
    value: !0
  });
  Object.defineProperty(H, "AnyTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.anyTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "ArgumentPlaceholder", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.argumentPlaceholder;
    }, "get")
  });
  Object.defineProperty(H, "ArrayExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.arrayExpression;
    }, "get")
  });
  Object.defineProperty(H, "ArrayPattern", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.arrayPattern;
    }, "get")
  });
  Object.defineProperty(H, "ArrayTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.arrayTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "ArrowFunctionExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.arrowFunctionExpression;
    }, "get")
  });
  Object.defineProperty(H, "AssignmentExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.assignmentExpression;
    }, "get")
  });
  Object.defineProperty(H, "AssignmentPattern", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.assignmentPattern;
    }, "get")
  });
  Object.defineProperty(H, "AwaitExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.awaitExpression;
    }, "get")
  });
  Object.defineProperty(H, "BigIntLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.bigIntLiteral;
    }, "get")
  });
  Object.defineProperty(H, "BinaryExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.binaryExpression;
    }, "get")
  });
  Object.defineProperty(H, "BindExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.bindExpression;
    }, "get")
  });
  Object.defineProperty(H, "BlockStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.blockStatement;
    }, "get")
  });
  Object.defineProperty(H, "BooleanLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.booleanLiteral;
    }, "get")
  });
  Object.defineProperty(H, "BooleanLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.booleanLiteralTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "BooleanTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.booleanTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "BreakStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.breakStatement;
    }, "get")
  });
  Object.defineProperty(H, "CallExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.callExpression;
    }, "get")
  });
  Object.defineProperty(H, "CatchClause", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.catchClause;
    }, "get")
  });
  Object.defineProperty(H, "ClassAccessorProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.classAccessorProperty;
    }, "get")
  });
  Object.defineProperty(H, "ClassBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.classBody;
    }, "get")
  });
  Object.defineProperty(H, "ClassDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.classDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "ClassExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.classExpression;
    }, "get")
  });
  Object.defineProperty(H, "ClassImplements", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.classImplements;
    }, "get")
  });
  Object.defineProperty(H, "ClassMethod", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.classMethod;
    }, "get")
  });
  Object.defineProperty(H, "ClassPrivateMethod", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.classPrivateMethod;
    }, "get")
  });
  Object.defineProperty(H, "ClassPrivateProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.classPrivateProperty;
    }, "get")
  });
  Object.defineProperty(H, "ClassProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.classProperty;
    }, "get")
  });
  Object.defineProperty(H, "ConditionalExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.conditionalExpression;
    }, "get")
  });
  Object.defineProperty(H, "ContinueStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.continueStatement;
    }, "get")
  });
  Object.defineProperty(H, "DebuggerStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.debuggerStatement;
    }, "get")
  });
  Object.defineProperty(H, "DecimalLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.decimalLiteral;
    }, "get")
  });
  Object.defineProperty(H, "DeclareClass", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.declareClass;
    }, "get")
  });
  Object.defineProperty(H, "DeclareExportAllDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.declareExportAllDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "DeclareExportDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.declareExportDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "DeclareFunction", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.declareFunction;
    }, "get")
  });
  Object.defineProperty(H, "DeclareInterface", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.declareInterface;
    }, "get")
  });
  Object.defineProperty(H, "DeclareModule", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.declareModule;
    }, "get")
  });
  Object.defineProperty(H, "DeclareModuleExports", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.declareModuleExports;
    }, "get")
  });
  Object.defineProperty(H, "DeclareOpaqueType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.declareOpaqueType;
    }, "get")
  });
  Object.defineProperty(H, "DeclareTypeAlias", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.declareTypeAlias;
    }, "get")
  });
  Object.defineProperty(H, "DeclareVariable", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.declareVariable;
    }, "get")
  });
  Object.defineProperty(H, "DeclaredPredicate", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.declaredPredicate;
    }, "get")
  });
  Object.defineProperty(H, "Decorator", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.decorator;
    }, "get")
  });
  Object.defineProperty(H, "Directive", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.directive;
    }, "get")
  });
  Object.defineProperty(H, "DirectiveLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.directiveLiteral;
    }, "get")
  });
  Object.defineProperty(H, "DoExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.doExpression;
    }, "get")
  });
  Object.defineProperty(H, "DoWhileStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.doWhileStatement;
    }, "get")
  });
  Object.defineProperty(H, "EmptyStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.emptyStatement;
    }, "get")
  });
  Object.defineProperty(H, "EmptyTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.emptyTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "EnumBooleanBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.enumBooleanBody;
    }, "get")
  });
  Object.defineProperty(H, "EnumBooleanMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.enumBooleanMember;
    }, "get")
  });
  Object.defineProperty(H, "EnumDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.enumDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "EnumDefaultedMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.enumDefaultedMember;
    }, "get")
  });
  Object.defineProperty(H, "EnumNumberBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.enumNumberBody;
    }, "get")
  });
  Object.defineProperty(H, "EnumNumberMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.enumNumberMember;
    }, "get")
  });
  Object.defineProperty(H, "EnumStringBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.enumStringBody;
    }, "get")
  });
  Object.defineProperty(H, "EnumStringMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.enumStringMember;
    }, "get")
  });
  Object.defineProperty(H, "EnumSymbolBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.enumSymbolBody;
    }, "get")
  });
  Object.defineProperty(H, "ExistsTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.existsTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "ExportAllDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.exportAllDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "ExportDefaultDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.exportDefaultDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "ExportDefaultSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.exportDefaultSpecifier;
    }, "get")
  });
  Object.defineProperty(H, "ExportNamedDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.exportNamedDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "ExportNamespaceSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.exportNamespaceSpecifier;
    }, "get")
  });
  Object.defineProperty(H, "ExportSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.exportSpecifier;
    }, "get")
  });
  Object.defineProperty(H, "ExpressionStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.expressionStatement;
    }, "get")
  });
  Object.defineProperty(H, "File", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.file;
    }, "get")
  });
  Object.defineProperty(H, "ForInStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.forInStatement;
    }, "get")
  });
  Object.defineProperty(H, "ForOfStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.forOfStatement;
    }, "get")
  });
  Object.defineProperty(H, "ForStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.forStatement;
    }, "get")
  });
  Object.defineProperty(H, "FunctionDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.functionDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "FunctionExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.functionExpression;
    }, "get")
  });
  Object.defineProperty(H, "FunctionTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.functionTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "FunctionTypeParam", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.functionTypeParam;
    }, "get")
  });
  Object.defineProperty(H, "GenericTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.genericTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "Identifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.identifier;
    }, "get")
  });
  Object.defineProperty(H, "IfStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.ifStatement;
    }, "get")
  });
  Object.defineProperty(H, "Import", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.import;
    }, "get")
  });
  Object.defineProperty(H, "ImportAttribute", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.importAttribute;
    }, "get")
  });
  Object.defineProperty(H, "ImportDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.importDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "ImportDefaultSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.importDefaultSpecifier;
    }, "get")
  });
  Object.defineProperty(H, "ImportExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.importExpression;
    }, "get")
  });
  Object.defineProperty(H, "ImportNamespaceSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.importNamespaceSpecifier;
    }, "get")
  });
  Object.defineProperty(H, "ImportSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.importSpecifier;
    }, "get")
  });
  Object.defineProperty(H, "IndexedAccessType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.indexedAccessType;
    }, "get")
  });
  Object.defineProperty(H, "InferredPredicate", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.inferredPredicate;
    }, "get")
  });
  Object.defineProperty(H, "InterfaceDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.interfaceDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "InterfaceExtends", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.interfaceExtends;
    }, "get")
  });
  Object.defineProperty(H, "InterfaceTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.interfaceTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "InterpreterDirective", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.interpreterDirective;
    }, "get")
  });
  Object.defineProperty(H, "IntersectionTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.intersectionTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "JSXAttribute", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxAttribute;
    }, "get")
  });
  Object.defineProperty(H, "JSXClosingElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxClosingElement;
    }, "get")
  });
  Object.defineProperty(H, "JSXClosingFragment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxClosingFragment;
    }, "get")
  });
  Object.defineProperty(H, "JSXElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxElement;
    }, "get")
  });
  Object.defineProperty(H, "JSXEmptyExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxEmptyExpression;
    }, "get")
  });
  Object.defineProperty(H, "JSXExpressionContainer", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxExpressionContainer;
    }, "get")
  });
  Object.defineProperty(H, "JSXFragment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxFragment;
    }, "get")
  });
  Object.defineProperty(H, "JSXIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxIdentifier;
    }, "get")
  });
  Object.defineProperty(H, "JSXMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxMemberExpression;
    }, "get")
  });
  Object.defineProperty(H, "JSXNamespacedName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxNamespacedName;
    }, "get")
  });
  Object.defineProperty(H, "JSXOpeningElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxOpeningElement;
    }, "get")
  });
  Object.defineProperty(H, "JSXOpeningFragment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxOpeningFragment;
    }, "get")
  });
  Object.defineProperty(H, "JSXSpreadAttribute", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxSpreadAttribute;
    }, "get")
  });
  Object.defineProperty(H, "JSXSpreadChild", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxSpreadChild;
    }, "get")
  });
  Object.defineProperty(H, "JSXText", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.jsxText;
    }, "get")
  });
  Object.defineProperty(H, "LabeledStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.labeledStatement;
    }, "get")
  });
  Object.defineProperty(H, "LogicalExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.logicalExpression;
    }, "get")
  });
  Object.defineProperty(H, "MemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.memberExpression;
    }, "get")
  });
  Object.defineProperty(H, "MetaProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.metaProperty;
    }, "get")
  });
  Object.defineProperty(H, "MixedTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.mixedTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "ModuleExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.moduleExpression;
    }, "get")
  });
  Object.defineProperty(H, "NewExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.newExpression;
    }, "get")
  });
  Object.defineProperty(H, "Noop", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.noop;
    }, "get")
  });
  Object.defineProperty(H, "NullLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.nullLiteral;
    }, "get")
  });
  Object.defineProperty(H, "NullLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.nullLiteralTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "NullableTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.nullableTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "NumberLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.numberLiteral;
    }, "get")
  });
  Object.defineProperty(H, "NumberLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.numberLiteralTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "NumberTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.numberTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "NumericLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.numericLiteral;
    }, "get")
  });
  Object.defineProperty(H, "ObjectExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.objectExpression;
    }, "get")
  });
  Object.defineProperty(H, "ObjectMethod", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.objectMethod;
    }, "get")
  });
  Object.defineProperty(H, "ObjectPattern", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.objectPattern;
    }, "get")
  });
  Object.defineProperty(H, "ObjectProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.objectProperty;
    }, "get")
  });
  Object.defineProperty(H, "ObjectTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.objectTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "ObjectTypeCallProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.objectTypeCallProperty;
    }, "get")
  });
  Object.defineProperty(H, "ObjectTypeIndexer", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.objectTypeIndexer;
    }, "get")
  });
  Object.defineProperty(H, "ObjectTypeInternalSlot", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.objectTypeInternalSlot;
    }, "get")
  });
  Object.defineProperty(H, "ObjectTypeProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.objectTypeProperty;
    }, "get")
  });
  Object.defineProperty(H, "ObjectTypeSpreadProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.objectTypeSpreadProperty;
    }, "get")
  });
  Object.defineProperty(H, "OpaqueType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.opaqueType;
    }, "get")
  });
  Object.defineProperty(H, "OptionalCallExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.optionalCallExpression;
    }, "get")
  });
  Object.defineProperty(H, "OptionalIndexedAccessType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.optionalIndexedAccessType;
    }, "get")
  });
  Object.defineProperty(H, "OptionalMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.optionalMemberExpression;
    }, "get")
  });
  Object.defineProperty(H, "ParenthesizedExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.parenthesizedExpression;
    }, "get")
  });
  Object.defineProperty(H, "PipelineBareFunction", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.pipelineBareFunction;
    }, "get")
  });
  Object.defineProperty(H, "PipelinePrimaryTopicReference", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.pipelinePrimaryTopicReference;
    }, "get")
  });
  Object.defineProperty(H, "PipelineTopicExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.pipelineTopicExpression;
    }, "get")
  });
  Object.defineProperty(H, "Placeholder", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.placeholder;
    }, "get")
  });
  Object.defineProperty(H, "PrivateName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.privateName;
    }, "get")
  });
  Object.defineProperty(H, "Program", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.program;
    }, "get")
  });
  Object.defineProperty(H, "QualifiedTypeIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.qualifiedTypeIdentifier;
    }, "get")
  });
  Object.defineProperty(H, "RecordExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.recordExpression;
    }, "get")
  });
  Object.defineProperty(H, "RegExpLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.regExpLiteral;
    }, "get")
  });
  Object.defineProperty(H, "RegexLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.regexLiteral;
    }, "get")
  });
  Object.defineProperty(H, "RestElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.restElement;
    }, "get")
  });
  Object.defineProperty(H, "RestProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.restProperty;
    }, "get")
  });
  Object.defineProperty(H, "ReturnStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.returnStatement;
    }, "get")
  });
  Object.defineProperty(H, "SequenceExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.sequenceExpression;
    }, "get")
  });
  Object.defineProperty(H, "SpreadElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.spreadElement;
    }, "get")
  });
  Object.defineProperty(H, "SpreadProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.spreadProperty;
    }, "get")
  });
  Object.defineProperty(H, "StaticBlock", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.staticBlock;
    }, "get")
  });
  Object.defineProperty(H, "StringLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.stringLiteral;
    }, "get")
  });
  Object.defineProperty(H, "StringLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.stringLiteralTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "StringTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.stringTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "Super", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.super;
    }, "get")
  });
  Object.defineProperty(H, "SwitchCase", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.switchCase;
    }, "get")
  });
  Object.defineProperty(H, "SwitchStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.switchStatement;
    }, "get")
  });
  Object.defineProperty(H, "SymbolTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.symbolTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "TSAnyKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsAnyKeyword;
    }, "get")
  });
  Object.defineProperty(H, "TSArrayType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsArrayType;
    }, "get")
  });
  Object.defineProperty(H, "TSAsExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsAsExpression;
    }, "get")
  });
  Object.defineProperty(H, "TSBigIntKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsBigIntKeyword;
    }, "get")
  });
  Object.defineProperty(H, "TSBooleanKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsBooleanKeyword;
    }, "get")
  });
  Object.defineProperty(H, "TSCallSignatureDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsCallSignatureDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "TSConditionalType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsConditionalType;
    }, "get")
  });
  Object.defineProperty(H, "TSConstructSignatureDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsConstructSignatureDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "TSConstructorType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsConstructorType;
    }, "get")
  });
  Object.defineProperty(H, "TSDeclareFunction", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsDeclareFunction;
    }, "get")
  });
  Object.defineProperty(H, "TSDeclareMethod", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsDeclareMethod;
    }, "get")
  });
  Object.defineProperty(H, "TSEnumBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsEnumBody;
    }, "get")
  });
  Object.defineProperty(H, "TSEnumDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsEnumDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "TSEnumMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsEnumMember;
    }, "get")
  });
  Object.defineProperty(H, "TSExportAssignment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsExportAssignment;
    }, "get")
  });
  Object.defineProperty(H, "TSExpressionWithTypeArguments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsExpressionWithTypeArguments;
    }, "get")
  });
  Object.defineProperty(H, "TSExternalModuleReference", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsExternalModuleReference;
    }, "get")
  });
  Object.defineProperty(H, "TSFunctionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsFunctionType;
    }, "get")
  });
  Object.defineProperty(H, "TSImportEqualsDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsImportEqualsDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "TSImportType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsImportType;
    }, "get")
  });
  Object.defineProperty(H, "TSIndexSignature", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsIndexSignature;
    }, "get")
  });
  Object.defineProperty(H, "TSIndexedAccessType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsIndexedAccessType;
    }, "get")
  });
  Object.defineProperty(H, "TSInferType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsInferType;
    }, "get")
  });
  Object.defineProperty(H, "TSInstantiationExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsInstantiationExpression;
    }, "get")
  });
  Object.defineProperty(H, "TSInterfaceBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsInterfaceBody;
    }, "get")
  });
  Object.defineProperty(H, "TSInterfaceDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsInterfaceDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "TSIntersectionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsIntersectionType;
    }, "get")
  });
  Object.defineProperty(H, "TSIntrinsicKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsIntrinsicKeyword;
    }, "get")
  });
  Object.defineProperty(H, "TSLiteralType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsLiteralType;
    }, "get")
  });
  Object.defineProperty(H, "TSMappedType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsMappedType;
    }, "get")
  });
  Object.defineProperty(H, "TSMethodSignature", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsMethodSignature;
    }, "get")
  });
  Object.defineProperty(H, "TSModuleBlock", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsModuleBlock;
    }, "get")
  });
  Object.defineProperty(H, "TSModuleDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsModuleDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "TSNamedTupleMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsNamedTupleMember;
    }, "get")
  });
  Object.defineProperty(H, "TSNamespaceExportDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsNamespaceExportDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "TSNeverKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsNeverKeyword;
    }, "get")
  });
  Object.defineProperty(H, "TSNonNullExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsNonNullExpression;
    }, "get")
  });
  Object.defineProperty(H, "TSNullKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsNullKeyword;
    }, "get")
  });
  Object.defineProperty(H, "TSNumberKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsNumberKeyword;
    }, "get")
  });
  Object.defineProperty(H, "TSObjectKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsObjectKeyword;
    }, "get")
  });
  Object.defineProperty(H, "TSOptionalType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsOptionalType;
    }, "get")
  });
  Object.defineProperty(H, "TSParameterProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsParameterProperty;
    }, "get")
  });
  Object.defineProperty(H, "TSParenthesizedType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsParenthesizedType;
    }, "get")
  });
  Object.defineProperty(H, "TSPropertySignature", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsPropertySignature;
    }, "get")
  });
  Object.defineProperty(H, "TSQualifiedName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsQualifiedName;
    }, "get")
  });
  Object.defineProperty(H, "TSRestType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsRestType;
    }, "get")
  });
  Object.defineProperty(H, "TSSatisfiesExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsSatisfiesExpression;
    }, "get")
  });
  Object.defineProperty(H, "TSStringKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsStringKeyword;
    }, "get")
  });
  Object.defineProperty(H, "TSSymbolKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsSymbolKeyword;
    }, "get")
  });
  Object.defineProperty(H, "TSThisType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsThisType;
    }, "get")
  });
  Object.defineProperty(H, "TSTupleType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsTupleType;
    }, "get")
  });
  Object.defineProperty(H, "TSTypeAliasDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsTypeAliasDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "TSTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "TSTypeAssertion", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsTypeAssertion;
    }, "get")
  });
  Object.defineProperty(H, "TSTypeLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsTypeLiteral;
    }, "get")
  });
  Object.defineProperty(H, "TSTypeOperator", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsTypeOperator;
    }, "get")
  });
  Object.defineProperty(H, "TSTypeParameter", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsTypeParameter;
    }, "get")
  });
  Object.defineProperty(H, "TSTypeParameterDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsTypeParameterDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "TSTypeParameterInstantiation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsTypeParameterInstantiation;
    }, "get")
  });
  Object.defineProperty(H, "TSTypePredicate", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsTypePredicate;
    }, "get")
  });
  Object.defineProperty(H, "TSTypeQuery", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsTypeQuery;
    }, "get")
  });
  Object.defineProperty(H, "TSTypeReference", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsTypeReference;
    }, "get")
  });
  Object.defineProperty(H, "TSUndefinedKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsUndefinedKeyword;
    }, "get")
  });
  Object.defineProperty(H, "TSUnionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsUnionType;
    }, "get")
  });
  Object.defineProperty(H, "TSUnknownKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsUnknownKeyword;
    }, "get")
  });
  Object.defineProperty(H, "TSVoidKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tsVoidKeyword;
    }, "get")
  });
  Object.defineProperty(H, "TaggedTemplateExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.taggedTemplateExpression;
    }, "get")
  });
  Object.defineProperty(H, "TemplateElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.templateElement;
    }, "get")
  });
  Object.defineProperty(H, "TemplateLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.templateLiteral;
    }, "get")
  });
  Object.defineProperty(H, "ThisExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.thisExpression;
    }, "get")
  });
  Object.defineProperty(H, "ThisTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.thisTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "ThrowStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.throwStatement;
    }, "get")
  });
  Object.defineProperty(H, "TopicReference", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.topicReference;
    }, "get")
  });
  Object.defineProperty(H, "TryStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tryStatement;
    }, "get")
  });
  Object.defineProperty(H, "TupleExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tupleExpression;
    }, "get")
  });
  Object.defineProperty(H, "TupleTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.tupleTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "TypeAlias", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.typeAlias;
    }, "get")
  });
  Object.defineProperty(H, "TypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.typeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "TypeCastExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.typeCastExpression;
    }, "get")
  });
  Object.defineProperty(H, "TypeParameter", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.typeParameter;
    }, "get")
  });
  Object.defineProperty(H, "TypeParameterDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.typeParameterDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "TypeParameterInstantiation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.typeParameterInstantiation;
    }, "get")
  });
  Object.defineProperty(H, "TypeofTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.typeofTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "UnaryExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.unaryExpression;
    }, "get")
  });
  Object.defineProperty(H, "UnionTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.unionTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "UpdateExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.updateExpression;
    }, "get")
  });
  Object.defineProperty(H, "V8IntrinsicIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.v8IntrinsicIdentifier;
    }, "get")
  });
  Object.defineProperty(H, "VariableDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.variableDeclaration;
    }, "get")
  });
  Object.defineProperty(H, "VariableDeclarator", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.variableDeclarator;
    }, "get")
  });
  Object.defineProperty(H, "Variance", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.variance;
    }, "get")
  });
  Object.defineProperty(H, "VoidTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.voidTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(H, "WhileStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.whileStatement;
    }, "get")
  });
  Object.defineProperty(H, "WithStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.withStatement;
    }, "get")
  });
  Object.defineProperty(H, "YieldExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return X.yieldExpression;
    }, "get")
  });
  var X = Kn();
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/builders/productions.js
var e8 = g((Zj) => {
  "use strict";
  Object.defineProperty(Zj, "__esModule", {
    value: !0
  });
  Zj.buildUndefinedNode = Drs;
  var Bpe = Kn();
  function Drs() {
    return (0, Bpe.unaryExpression)("void", (0, Bpe.numericLiteral)(0), !0);
  }
  n(Drs, "buildUndefinedNode");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/clone/cloneNode.js
var jp = g((s8) => {
  "use strict";
  Object.defineProperty(s8, "__esModule", {
    value: !0
  });
  s8.default = Ors;
  var Mpe = eo(), Fpe = fi(), {
    hasOwn: Nl
  } = {
    hasOwn: Function.call.bind(Object.prototype.hasOwnProperty)
  };
  function jpe(t, e, s, r) {
    return t && typeof t.type == "string" ? Rpe(t, e, s, r) : t;
  }
  n(jpe, "cloneIfNode");
  function t8(t, e, s, r) {
    return Array.isArray(t) ? t.map((i) => jpe(i, e, s, r)) : jpe(t, e, s, r);
  }
  n(t8, "cloneIfNodeOrArray");
  function Ors(t, e = !0, s = !1) {
    return Rpe(t, e, s, /* @__PURE__ */ new Map());
  }
  n(Ors, "cloneNode");
  function Rpe(t, e = !0, s = !1, r) {
    if (!t) return t;
    let {
      type: i
    } = t, a = {
      type: t.type
    };
    if ((0, Fpe.isIdentifier)(t))
      a.name = t.name, Nl(t, "optional") && typeof t.optional == "boolean" && (a.optional = t.optional), Nl(t, "typeAnnotation") && (a.typeAnnotation =
      e ? t8(t.typeAnnotation, !0, s, r) : t.typeAnnotation), Nl(t, "decorators") && (a.decorators = e ? t8(t.decorators, !0, s, r) : t.decorators);
    else if (Nl(Mpe.NODE_FIELDS, i))
      for (let o of Object.keys(Mpe.NODE_FIELDS[i]))
        Nl(t, o) && (e ? a[o] = (0, Fpe.isFile)(t) && o === "comments" ? V1(t.comments, e, s, r) : t8(t[o], !0, s, r) : a[o] = t[o]);
    else
      throw new Error(`Unknown node type: "${i}"`);
    return Nl(t, "loc") && (s ? a.loc = null : a.loc = t.loc), Nl(t, "leadingComments") && (a.leadingComments = V1(t.leadingComments, e, s, r)),
    Nl(t, "innerComments") && (a.innerComments = V1(t.innerComments, e, s, r)), Nl(t, "trailingComments") && (a.trailingComments = V1(t.trailingComments,
    e, s, r)), Nl(t, "extra") && (a.extra = Object.assign({}, t.extra)), a;
  }
  n(Rpe, "cloneNodeInternal");
  function V1(t, e, s, r) {
    return !t || !e ? t : t.map((i) => {
      let a = r.get(i);
      if (a) return a;
      let {
        type: o,
        value: l,
        loc: u
      } = i, c = {
        type: o,
        value: l,
        loc: u
      };
      return s && (c.loc = null), r.set(i, c), c;
    });
  }
  n(V1, "maybeCloneComments");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/clone/clone.js
var qpe = g((r8) => {
  "use strict";
  Object.defineProperty(r8, "__esModule", {
    value: !0
  });
  r8.default = Lrs;
  var _rs = jp();
  function Lrs(t) {
    return (0, _rs.default)(t, !1);
  }
  n(Lrs, "clone");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/clone/cloneDeep.js
var Upe = g((i8) => {
  "use strict";
  Object.defineProperty(i8, "__esModule", {
    value: !0
  });
  i8.default = Mrs;
  var Brs = jp();
  function Mrs(t) {
    return (0, Brs.default)(t);
  }
  n(Mrs, "cloneDeep");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js
var Kpe = g((n8) => {
  "use strict";
  Object.defineProperty(n8, "__esModule", {
    value: !0
  });
  n8.default = jrs;
  var Frs = jp();
  function jrs(t) {
    return (0, Frs.default)(t, !0, !0);
  }
  n(jrs, "cloneDeepWithoutLoc");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js
var Vpe = g((a8) => {
  "use strict";
  Object.defineProperty(a8, "__esModule", {
    value: !0
  });
  a8.default = qrs;
  var Rrs = jp();
  function qrs(t) {
    return (0, Rrs.default)(t, !1, !0);
  }
  n(qrs, "cloneWithoutLoc");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/comments/addComments.js
var l8 = g((o8) => {
  "use strict";
  Object.defineProperty(o8, "__esModule", {
    value: !0
  });
  o8.default = Urs;
  function Urs(t, e, s) {
    if (!s || !t) return t;
    let r = `${e}Comments`;
    return t[r] ? e === "leading" ? t[r] = s.concat(t[r]) : t[r].push(...s) : t[r] = s, t;
  }
  n(Urs, "addComments");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/comments/addComment.js
var Wpe = g((u8) => {
  "use strict";
  Object.defineProperty(u8, "__esModule", {
    value: !0
  });
  u8.default = Vrs;
  var Krs = l8();
  function Vrs(t, e, s, r) {
    return (0, Krs.default)(t, e, [{
      type: r ? "CommentLine" : "CommentBlock",
      value: s
    }]);
  }
  n(Vrs, "addComment");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/utils/inherit.js
var W1 = g((c8) => {
  "use strict";
  Object.defineProperty(c8, "__esModule", {
    value: !0
  });
  c8.default = Wrs;
  function Wrs(t, e, s) {
    e && s && (e[t] = Array.from(new Set([].concat(e[t], s[t]).filter(Boolean))));
  }
  n(Wrs, "inherit");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/comments/inheritInnerComments.js
var h8 = g((p8) => {
  "use strict";
  Object.defineProperty(p8, "__esModule", {
    value: !0
  });
  p8.default = Hrs;
  var $rs = W1();
  function Hrs(t, e) {
    (0, $rs.default)("innerComments", t, e);
  }
  n(Hrs, "inheritInnerComments");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/comments/inheritLeadingComments.js
var d8 = g((f8) => {
  "use strict";
  Object.defineProperty(f8, "__esModule", {
    value: !0
  });
  f8.default = Yrs;
  var Jrs = W1();
  function Yrs(t, e) {
    (0, Jrs.default)("leadingComments", t, e);
  }
  n(Yrs, "inheritLeadingComments");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/comments/inheritTrailingComments.js
var y8 = g((m8) => {
  "use strict";
  Object.defineProperty(m8, "__esModule", {
    value: !0
  });
  m8.default = zrs;
  var Xrs = W1();
  function zrs(t, e) {
    (0, Xrs.default)("trailingComments", t, e);
  }
  n(zrs, "inheritTrailingComments");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/comments/inheritsComments.js
var T8 = g((g8) => {
  "use strict";
  Object.defineProperty(g8, "__esModule", {
    value: !0
  });
  g8.default = eis;
  var Grs = y8(), Qrs = d8(), Zrs = h8();
  function eis(t, e) {
    return (0, Grs.default)(t, e), (0, Qrs.default)(t, e), (0, Zrs.default)(t, e), t;
  }
  n(eis, "inheritsComments");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/comments/removeComments.js
var $pe = g((b8) => {
  "use strict";
  Object.defineProperty(b8, "__esModule", {
    value: !0
  });
  b8.default = sis;
  var tis = Mp();
  function sis(t) {
    return tis.COMMENT_KEYS.forEach((e) => {
      t[e] = null;
    }), t;
  }
  n(sis, "removeComments");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/constants/generated/index.js
var Hpe = g((we) => {
  "use strict";
  Object.defineProperty(we, "__esModule", {
    value: !0
  });
  we.WHILE_TYPES = we.USERWHITESPACABLE_TYPES = we.UNARYLIKE_TYPES = we.TYPESCRIPT_TYPES = we.TSTYPE_TYPES = we.TSTYPEELEMENT_TYPES = we.TSENTITYNAME_TYPES =
  we.TSBASETYPE_TYPES = we.TERMINATORLESS_TYPES = we.STATEMENT_TYPES = we.STANDARDIZED_TYPES = we.SCOPABLE_TYPES = we.PUREISH_TYPES = we.PROPERTY_TYPES =
  we.PRIVATE_TYPES = we.PATTERN_TYPES = we.PATTERNLIKE_TYPES = we.OBJECTMEMBER_TYPES = we.MODULESPECIFIER_TYPES = we.MODULEDECLARATION_TYPES =
  we.MISCELLANEOUS_TYPES = we.METHOD_TYPES = we.LVAL_TYPES = we.LOOP_TYPES = we.LITERAL_TYPES = we.JSX_TYPES = we.IMPORTOREXPORTDECLARATION_TYPES =
  we.IMMUTABLE_TYPES = we.FUNCTION_TYPES = we.FUNCTIONPARENT_TYPES = we.FOR_TYPES = we.FORXSTATEMENT_TYPES = we.FLOW_TYPES = we.FLOWTYPE_TYPES =
  we.FLOWPREDICATE_TYPES = we.FLOWDECLARATION_TYPES = we.FLOWBASEANNOTATION_TYPES = we.EXPRESSION_TYPES = we.EXPRESSIONWRAPPER_TYPES = we.EXPORTDECLARATION_TYPES =
  we.ENUMMEMBER_TYPES = we.ENUMBODY_TYPES = we.DECLARATION_TYPES = we.CONDITIONAL_TYPES = we.COMPLETIONSTATEMENT_TYPES = we.CLASS_TYPES = we.
  BLOCK_TYPES = we.BLOCKPARENT_TYPES = we.BINARY_TYPES = we.ACCESSOR_TYPES = void 0;
  var $t = eo(), ler = we.STANDARDIZED_TYPES = $t.FLIPPED_ALIAS_KEYS.Standardized, uer = we.EXPRESSION_TYPES = $t.FLIPPED_ALIAS_KEYS.Expression,
  cer = we.BINARY_TYPES = $t.FLIPPED_ALIAS_KEYS.Binary, per = we.SCOPABLE_TYPES = $t.FLIPPED_ALIAS_KEYS.Scopable, her = we.BLOCKPARENT_TYPES =
  $t.FLIPPED_ALIAS_KEYS.BlockParent, fer = we.BLOCK_TYPES = $t.FLIPPED_ALIAS_KEYS.Block, der = we.STATEMENT_TYPES = $t.FLIPPED_ALIAS_KEYS.Statement,
  mer = we.TERMINATORLESS_TYPES = $t.FLIPPED_ALIAS_KEYS.Terminatorless, yer = we.COMPLETIONSTATEMENT_TYPES = $t.FLIPPED_ALIAS_KEYS.CompletionStatement,
  ger = we.CONDITIONAL_TYPES = $t.FLIPPED_ALIAS_KEYS.Conditional, Ter = we.LOOP_TYPES = $t.FLIPPED_ALIAS_KEYS.Loop, ber = we.WHILE_TYPES = $t.
  FLIPPED_ALIAS_KEYS.While, xer = we.EXPRESSIONWRAPPER_TYPES = $t.FLIPPED_ALIAS_KEYS.ExpressionWrapper, Ser = we.FOR_TYPES = $t.FLIPPED_ALIAS_KEYS.
  For, Per = we.FORXSTATEMENT_TYPES = $t.FLIPPED_ALIAS_KEYS.ForXStatement, Eer = we.FUNCTION_TYPES = $t.FLIPPED_ALIAS_KEYS.Function, Aer = we.
  FUNCTIONPARENT_TYPES = $t.FLIPPED_ALIAS_KEYS.FunctionParent, ver = we.PUREISH_TYPES = $t.FLIPPED_ALIAS_KEYS.Pureish, Cer = we.DECLARATION_TYPES =
  $t.FLIPPED_ALIAS_KEYS.Declaration, wer = we.PATTERNLIKE_TYPES = $t.FLIPPED_ALIAS_KEYS.PatternLike, Ier = we.LVAL_TYPES = $t.FLIPPED_ALIAS_KEYS.
  LVal, Ner = we.TSENTITYNAME_TYPES = $t.FLIPPED_ALIAS_KEYS.TSEntityName, ker = we.LITERAL_TYPES = $t.FLIPPED_ALIAS_KEYS.Literal, Der = we.IMMUTABLE_TYPES =
  $t.FLIPPED_ALIAS_KEYS.Immutable, Oer = we.USERWHITESPACABLE_TYPES = $t.FLIPPED_ALIAS_KEYS.UserWhitespacable, _er = we.METHOD_TYPES = $t.FLIPPED_ALIAS_KEYS.
  Method, Ler = we.OBJECTMEMBER_TYPES = $t.FLIPPED_ALIAS_KEYS.ObjectMember, Ber = we.PROPERTY_TYPES = $t.FLIPPED_ALIAS_KEYS.Property, Mer = we.
  UNARYLIKE_TYPES = $t.FLIPPED_ALIAS_KEYS.UnaryLike, Fer = we.PATTERN_TYPES = $t.FLIPPED_ALIAS_KEYS.Pattern, jer = we.CLASS_TYPES = $t.FLIPPED_ALIAS_KEYS.
  Class, ris = we.IMPORTOREXPORTDECLARATION_TYPES = $t.FLIPPED_ALIAS_KEYS.ImportOrExportDeclaration, Rer = we.EXPORTDECLARATION_TYPES = $t.FLIPPED_ALIAS_KEYS.
  ExportDeclaration, qer = we.MODULESPECIFIER_TYPES = $t.FLIPPED_ALIAS_KEYS.ModuleSpecifier, Uer = we.ACCESSOR_TYPES = $t.FLIPPED_ALIAS_KEYS.
  Accessor, Ker = we.PRIVATE_TYPES = $t.FLIPPED_ALIAS_KEYS.Private, Ver = we.FLOW_TYPES = $t.FLIPPED_ALIAS_KEYS.Flow, Wer = we.FLOWTYPE_TYPES =
  $t.FLIPPED_ALIAS_KEYS.FlowType, $er = we.FLOWBASEANNOTATION_TYPES = $t.FLIPPED_ALIAS_KEYS.FlowBaseAnnotation, Her = we.FLOWDECLARATION_TYPES =
  $t.FLIPPED_ALIAS_KEYS.FlowDeclaration, Jer = we.FLOWPREDICATE_TYPES = $t.FLIPPED_ALIAS_KEYS.FlowPredicate, Yer = we.ENUMBODY_TYPES = $t.FLIPPED_ALIAS_KEYS.
  EnumBody, Xer = we.ENUMMEMBER_TYPES = $t.FLIPPED_ALIAS_KEYS.EnumMember, zer = we.JSX_TYPES = $t.FLIPPED_ALIAS_KEYS.JSX, Ger = we.MISCELLANEOUS_TYPES =
  $t.FLIPPED_ALIAS_KEYS.Miscellaneous, Qer = we.TYPESCRIPT_TYPES = $t.FLIPPED_ALIAS_KEYS.TypeScript, Zer = we.TSTYPEELEMENT_TYPES = $t.FLIPPED_ALIAS_KEYS.
  TSTypeElement, etr = we.TSTYPE_TYPES = $t.FLIPPED_ALIAS_KEYS.TSType, ttr = we.TSBASETYPE_TYPES = $t.FLIPPED_ALIAS_KEYS.TSBaseType, str = we.
  MODULEDECLARATION_TYPES = ris;
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/converters/toBlock.js
var P8 = g((S8) => {
  "use strict";
  Object.defineProperty(S8, "__esModule", {
    value: !0
  });
  S8.default = iis;
  var $1 = fi(), x8 = Kn();
  function iis(t, e) {
    if ((0, $1.isBlockStatement)(t))
      return t;
    let s = [];
    return (0, $1.isEmptyStatement)(t) ? s = [] : ((0, $1.isStatement)(t) || ((0, $1.isFunction)(e) ? t = (0, x8.returnStatement)(t) : t = (0, x8.
    expressionStatement)(t)), s = [t]), (0, x8.blockStatement)(s);
  }
  n(iis, "toBlock");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/converters/ensureBlock.js
var Jpe = g((E8) => {
  "use strict";
  Object.defineProperty(E8, "__esModule", {
    value: !0
  });
  E8.default = ais;
  var nis = P8();
  function ais(t, e = "body") {
    let s = (0, nis.default)(t[e], t);
    return t[e] = s, s;
  }
  n(ais, "ensureBlock");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/converters/toIdentifier.js
var v8 = g((A8) => {
  "use strict";
  Object.defineProperty(A8, "__esModule", {
    value: !0
  });
  A8.default = uis;
  var ois = oy(), lis = ba();
  function uis(t) {
    t = t + "";
    let e = "";
    for (let s of t)
      e += (0, lis.isIdentifierChar)(s.codePointAt(0)) ? s : "-";
    return e = e.replace(/^[-0-9]+/, ""), e = e.replace(/[-\s]+(.)?/g, function(s, r) {
      return r ? r.toUpperCase() : "";
    }), (0, ois.default)(e) || (e = `_${e}`), e || "_";
  }
  n(uis, "toIdentifier");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js
var Ype = g((C8) => {
  "use strict";
  Object.defineProperty(C8, "__esModule", {
    value: !0
  });
  C8.default = pis;
  var cis = v8();
  function pis(t) {
    return t = (0, cis.default)(t), (t === "eval" || t === "arguments") && (t = "_" + t), t;
  }
  n(pis, "toBindingIdentifierName");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/converters/toComputedKey.js
var Xpe = g((w8) => {
  "use strict";
  Object.defineProperty(w8, "__esModule", {
    value: !0
  });
  w8.default = dis;
  var his = fi(), fis = Kn();
  function dis(t, e = t.key || t.property) {
    return !t.computed && (0, his.isIdentifier)(e) && (e = (0, fis.stringLiteral)(e.name)), e;
  }
  n(dis, "toComputedKey");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/converters/toExpression.js
var zpe = g((H1) => {
  "use strict";
  Object.defineProperty(H1, "__esModule", {
    value: !0
  });
  H1.default = void 0;
  var _T = fi(), dtr = H1.default = mis;
  function mis(t) {
    if ((0, _T.isExpressionStatement)(t) && (t = t.expression), (0, _T.isExpression)(t))
      return t;
    if ((0, _T.isClass)(t) ? t.type = "ClassExpression" : (0, _T.isFunction)(t) && (t.type = "FunctionExpression"), !(0, _T.isExpression)(t))
      throw new Error(`cannot turn ${t.type} to an expression`);
    return t;
  }
  n(mis, "toExpression");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/traverse/traverseFast.js
var k8 = g((N8) => {
  "use strict";
  Object.defineProperty(N8, "__esModule", {
    value: !0
  });
  N8.default = I8;
  var yis = eo();
  function I8(t, e, s) {
    if (!t) return;
    let r = yis.VISITOR_KEYS[t.type];
    if (r) {
      s = s || {}, e(t, s);
      for (let i of r) {
        let a = t[i];
        if (Array.isArray(a))
          for (let o of a)
            I8(o, e, s);
        else
          I8(a, e, s);
      }
    }
  }
  n(I8, "traverseFast");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/modifications/removeProperties.js
var O8 = g((D8) => {
  "use strict";
  Object.defineProperty(D8, "__esModule", {
    value: !0
  });
  D8.default = bis;
  var gis = Mp(), Gpe = ["tokens", "start", "end", "loc", "raw", "rawValue"], Tis = [...gis.COMMENT_KEYS, "comments", ...Gpe];
  function bis(t, e = {}) {
    let s = e.preserveComments ? Gpe : Tis;
    for (let i of s)
      t[i] != null && (t[i] = void 0);
    for (let i of Object.keys(t))
      i[0] === "_" && t[i] != null && (t[i] = void 0);
    let r = Object.getOwnPropertySymbols(t);
    for (let i of r)
      t[i] = null;
  }
  n(bis, "removeProperties");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js
var L8 = g((_8) => {
  "use strict";
  Object.defineProperty(_8, "__esModule", {
    value: !0
  });
  _8.default = Pis;
  var xis = k8(), Sis = O8();
  function Pis(t, e) {
    return (0, xis.default)(t, Sis.default, e), t;
  }
  n(Pis, "removePropertiesDeep");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/converters/toKeyAlias.js
var Zpe = g((B8) => {
  "use strict";
  Object.defineProperty(B8, "__esModule", {
    value: !0
  });
  B8.default = kf;
  var Qpe = fi(), Eis = jp(), Ais = L8();
  function kf(t, e = t.key) {
    let s;
    return t.kind === "method" ? kf.increment() + "" : ((0, Qpe.isIdentifier)(e) ? s = e.name : (0, Qpe.isStringLiteral)(e) ? s = JSON.stringify(
    e.value) : s = JSON.stringify((0, Ais.default)((0, Eis.default)(e))), t.computed && (s = `[${s}]`), t.static && (s = `static:${s}`), s);
  }
  n(kf, "toKeyAlias");
  kf.uid = 0;
  kf.increment = function() {
    return kf.uid >= Number.MAX_SAFE_INTEGER ? kf.uid = 0 : kf.uid++;
  };
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/converters/toStatement.js
var ehe = g((Y1) => {
  "use strict";
  Object.defineProperty(Y1, "__esModule", {
    value: !0
  });
  Y1.default = void 0;
  var J1 = fi(), vis = Kn(), vtr = Y1.default = Cis;
  function Cis(t, e) {
    if ((0, J1.isStatement)(t))
      return t;
    let s = !1, r;
    if ((0, J1.isClass)(t))
      s = !0, r = "ClassDeclaration";
    else if ((0, J1.isFunction)(t))
      s = !0, r = "FunctionDeclaration";
    else if ((0, J1.isAssignmentExpression)(t))
      return (0, vis.expressionStatement)(t);
    if (s && !t.id && (r = !1), !r) {
      if (e)
        return !1;
      throw new Error(`cannot turn ${t.type} to a statement`);
    }
    return t.type = r, t;
  }
  n(Cis, "toStatement");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/converters/valueToNode.js
var the = g((X1) => {
  "use strict";
  Object.defineProperty(X1, "__esModule", {
    value: !0
  });
  X1.default = void 0;
  var wis = oy(), un = Kn(), Itr = X1.default = M8, Iis = Function.call.bind(Object.prototype.toString);
  function Nis(t) {
    return Iis(t) === "[object RegExp]";
  }
  n(Nis, "isRegExp");
  function kis(t) {
    if (typeof t != "object" || t === null || Object.prototype.toString.call(t) !== "[object Object]")
      return !1;
    let e = Object.getPrototypeOf(t);
    return e === null || Object.getPrototypeOf(e) === null;
  }
  n(kis, "isPlainObject");
  function M8(t) {
    if (t === void 0)
      return (0, un.identifier)("undefined");
    if (t === !0 || t === !1)
      return (0, un.booleanLiteral)(t);
    if (t === null)
      return (0, un.nullLiteral)();
    if (typeof t == "string")
      return (0, un.stringLiteral)(t);
    if (typeof t == "number") {
      let e;
      if (Number.isFinite(t))
        e = (0, un.numericLiteral)(Math.abs(t));
      else {
        let s;
        Number.isNaN(t) ? s = (0, un.numericLiteral)(0) : s = (0, un.numericLiteral)(1), e = (0, un.binaryExpression)("/", s, (0, un.numericLiteral)(
        0));
      }
      return (t < 0 || Object.is(t, -0)) && (e = (0, un.unaryExpression)("-", e)), e;
    }
    if (Nis(t)) {
      let e = t.source, s = /\/([a-z]*)$/.exec(t.toString())[1];
      return (0, un.regExpLiteral)(e, s);
    }
    if (Array.isArray(t))
      return (0, un.arrayExpression)(t.map(M8));
    if (kis(t)) {
      let e = [];
      for (let s of Object.keys(t)) {
        let r;
        (0, wis.default)(s) ? r = (0, un.identifier)(s) : r = (0, un.stringLiteral)(s), e.push((0, un.objectProperty)(r, M8(t[s])));
      }
      return (0, un.objectExpression)(e);
    }
    throw new Error("don't know how to turn this value into a node");
  }
  n(M8, "valueToNode");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js
var she = g((F8) => {
  "use strict";
  Object.defineProperty(F8, "__esModule", {
    value: !0
  });
  F8.default = Ois;
  var Dis = Kn();
  function Ois(t, e, s = !1) {
    return t.object = (0, Dis.memberExpression)(t.object, t.property, t.computed), t.property = e, t.computed = !!s, t;
  }
  n(Ois, "appendToMemberExpression");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/modifications/inherits.js
var ihe = g((j8) => {
  "use strict";
  Object.defineProperty(j8, "__esModule", {
    value: !0
  });
  j8.default = Lis;
  var rhe = Mp(), _is = T8();
  function Lis(t, e) {
    if (!t || !e) return t;
    for (let s of rhe.INHERIT_KEYS.optional)
      t[s] == null && (t[s] = e[s]);
    for (let s of Object.keys(e))
      s[0] === "_" && s !== "__clone" && (t[s] = e[s]);
    for (let s of rhe.INHERIT_KEYS.force)
      t[s] = e[s];
    return (0, _is.default)(t, e), t;
  }
  n(Lis, "inherits");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js
var nhe = g((R8) => {
  "use strict";
  Object.defineProperty(R8, "__esModule", {
    value: !0
  });
  R8.default = Fis;
  var Bis = Kn(), Mis = Vn();
  function Fis(t, e) {
    if ((0, Mis.isSuper)(t.object))
      throw new Error("Cannot prepend node to super property access (`super.foo`).");
    return t.object = (0, Bis.memberExpression)(e, t.object), t;
  }
  n(Fis, "prependToMemberExpression");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js
var ahe = g((q8) => {
  "use strict";
  Object.defineProperty(q8, "__esModule", {
    value: !0
  });
  q8.default = jis;
  function jis(t) {
    let e = [].concat(t), s = /* @__PURE__ */ Object.create(null);
    for (; e.length; ) {
      let r = e.pop();
      if (r)
        switch (r.type) {
          case "ArrayPattern":
            e.push(...r.elements);
            break;
          case "AssignmentExpression":
          case "AssignmentPattern":
          case "ForInStatement":
          case "ForOfStatement":
            e.push(r.left);
            break;
          case "ObjectPattern":
            e.push(...r.properties);
            break;
          case "ObjectProperty":
            e.push(r.value);
            break;
          case "RestElement":
          case "UpdateExpression":
            e.push(r.argument);
            break;
          case "UnaryExpression":
            r.operator === "delete" && e.push(r.argument);
            break;
          case "Identifier":
            s[r.name] = r;
            break;
          default:
            break;
        }
    }
    return s;
  }
  n(jis, "getAssignmentIdentifiers");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js
var LT = g((K8) => {
  "use strict";
  Object.defineProperty(K8, "__esModule", {
    value: !0
  });
  K8.default = U8;
  var ic = fi();
  function U8(t, e, s, r) {
    let i = [].concat(t), a = /* @__PURE__ */ Object.create(null);
    for (; i.length; ) {
      let o = i.shift();
      if (!o || r && ((0, ic.isAssignmentExpression)(o) || (0, ic.isUnaryExpression)(o) || (0, ic.isUpdateExpression)(o)))
        continue;
      if ((0, ic.isIdentifier)(o)) {
        e ? (a[o.name] = a[o.name] || []).push(o) : a[o.name] = o;
        continue;
      }
      if ((0, ic.isExportDeclaration)(o) && !(0, ic.isExportAllDeclaration)(o)) {
        (0, ic.isDeclaration)(o.declaration) && i.push(o.declaration);
        continue;
      }
      if (s) {
        if ((0, ic.isFunctionDeclaration)(o)) {
          i.push(o.id);
          continue;
        }
        if ((0, ic.isFunctionExpression)(o))
          continue;
      }
      let l = U8.keys[o.type];
      if (l)
        for (let u = 0; u < l.length; u++) {
          let c = l[u], p = o[c];
          p && (Array.isArray(p) ? i.push(...p) : i.push(p));
        }
    }
    return a;
  }
  n(U8, "getBindingIdentifiers");
  var Ris = {
    DeclareClass: ["id"],
    DeclareFunction: ["id"],
    DeclareModule: ["id"],
    DeclareVariable: ["id"],
    DeclareInterface: ["id"],
    DeclareTypeAlias: ["id"],
    DeclareOpaqueType: ["id"],
    InterfaceDeclaration: ["id"],
    TypeAlias: ["id"],
    OpaqueType: ["id"],
    CatchClause: ["param"],
    LabeledStatement: ["label"],
    UnaryExpression: ["argument"],
    AssignmentExpression: ["left"],
    ImportSpecifier: ["local"],
    ImportNamespaceSpecifier: ["local"],
    ImportDefaultSpecifier: ["local"],
    ImportDeclaration: ["specifiers"],
    ExportSpecifier: ["exported"],
    ExportNamespaceSpecifier: ["exported"],
    ExportDefaultSpecifier: ["exported"],
    FunctionDeclaration: ["id", "params"],
    FunctionExpression: ["id", "params"],
    ArrowFunctionExpression: ["params"],
    ObjectMethod: ["params"],
    ClassMethod: ["params"],
    ClassPrivateMethod: ["params"],
    ForInStatement: ["left"],
    ForOfStatement: ["left"],
    ClassDeclaration: ["id"],
    ClassExpression: ["id"],
    RestElement: ["argument"],
    UpdateExpression: ["argument"],
    ObjectProperty: ["value"],
    AssignmentPattern: ["left"],
    ArrayPattern: ["elements"],
    ObjectPattern: ["properties"],
    VariableDeclaration: ["declarations"],
    VariableDeclarator: ["id"]
  };
  U8.keys = Ris;
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js
var ohe = g((z1) => {
  "use strict";
  Object.defineProperty(z1, "__esModule", {
    value: !0
  });
  z1.default = void 0;
  var qis = LT(), Utr = z1.default = Uis;
  function Uis(t, e) {
    return (0, qis.default)(t, e, !0);
  }
  n(Uis, "getOuterBindingIdentifiers");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/retrievers/getFunctionName.js
var uhe = g((V8) => {
  "use strict";
  Object.defineProperty(V8, "__esModule", {
    value: !0
  });
  V8.default = Vis;
  var so = fi();
  function Kis(t) {
    return (0, so.isNullLiteral)(t) ? "null" : (0, so.isRegExpLiteral)(t) ? `/${t.pattern}/${t.flags}` : (0, so.isTemplateLiteral)(t) ? t.quasis.
    map((e) => e.value.raw).join("") : t.value !== void 0 ? String(t.value) : null;
  }
  n(Kis, "getNameFromLiteralId");
  function lhe(t) {
    if (!t.computed || (0, so.isLiteral)(t.key))
      return t.key;
  }
  n(lhe, "getObjectMemberKey");
  function Vis(t, e) {
    if ("id" in t && t.id)
      return {
        name: t.id.name,
        originalNode: t.id
      };
    let s = "", r;
    if ((0, so.isObjectProperty)(e, {
      value: t
    }) ? r = lhe(e) : (0, so.isObjectMethod)(t) || (0, so.isClassMethod)(t) ? (r = lhe(t), t.kind === "get" ? s = "get " : t.kind === "set" &&
    (s = "set ")) : (0, so.isVariableDeclarator)(e, {
      init: t
    }) ? r = e.id : (0, so.isAssignmentExpression)(e, {
      operator: "=",
      right: t
    }) && (r = e.left), !r) return null;
    let i = (0, so.isLiteral)(r) ? Kis(r) : (0, so.isIdentifier)(r) ? r.name : (0, so.isPrivateName)(r) ? r.id.name : null;
    return i == null ? null : {
      name: s + i,
      originalNode: r
    };
  }
  n(Vis, "getFunctionName");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/traverse/traverse.js
var che = g(($8) => {
  "use strict";
  Object.defineProperty($8, "__esModule", {
    value: !0
  });
  $8.default = $is;
  var Wis = eo();
  function $is(t, e, s) {
    typeof e == "function" && (e = {
      enter: e
    });
    let {
      enter: r,
      exit: i
    } = e;
    W8(t, r, i, s, []);
  }
  n($is, "traverse");
  function W8(t, e, s, r, i) {
    let a = Wis.VISITOR_KEYS[t.type];
    if (a) {
      e && e(t, i, r);
      for (let o of a) {
        let l = t[o];
        if (Array.isArray(l))
          for (let u = 0; u < l.length; u++) {
            let c = l[u];
            c && (i.push({
              node: t,
              key: o,
              index: u
            }), W8(c, e, s, r, i), i.pop());
          }
        else l && (i.push({
          node: t,
          key: o
        }), W8(l, e, s, r, i), i.pop());
      }
      s && s(t, i, r);
    }
  }
  n(W8, "traverseSimpleImpl");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/isBinding.js
var phe = g((H8) => {
  "use strict";
  Object.defineProperty(H8, "__esModule", {
    value: !0
  });
  H8.default = Jis;
  var His = LT();
  function Jis(t, e, s) {
    if (s && t.type === "Identifier" && e.type === "ObjectProperty" && s.type === "ObjectExpression")
      return !1;
    let r = His.default.keys[e.type];
    if (r)
      for (let i = 0; i < r.length; i++) {
        let a = r[i], o = e[a];
        if (Array.isArray(o)) {
          if (o.includes(t)) return !0;
        } else if (o === t) return !0;
      }
    return !1;
  }
  n(Jis, "isBinding");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/isLet.js
var Y8 = g((J8) => {
  "use strict";
  Object.defineProperty(J8, "__esModule", {
    value: !0
  });
  J8.default = zis;
  var Yis = fi(), Xis = Mp();
  function zis(t) {
    return (0, Yis.isVariableDeclaration)(t) && (t.kind !== "var" || t[Xis.BLOCK_SCOPED_SYMBOL]);
  }
  n(zis, "isLet");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/isBlockScoped.js
var fhe = g((X8) => {
  "use strict";
  Object.defineProperty(X8, "__esModule", {
    value: !0
  });
  X8.default = Qis;
  var hhe = fi(), Gis = Y8();
  function Qis(t) {
    return (0, hhe.isFunctionDeclaration)(t) || (0, hhe.isClassDeclaration)(t) || (0, Gis.default)(t);
  }
  n(Qis, "isBlockScoped");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/isImmutable.js
var dhe = g((z8) => {
  "use strict";
  Object.defineProperty(z8, "__esModule", {
    value: !0
  });
  z8.default = tns;
  var Zis = O1(), ens = fi();
  function tns(t) {
    return (0, Zis.default)(t.type, "Immutable") ? !0 : (0, ens.isIdentifier)(t) ? t.name === "undefined" : !1;
  }
  n(tns, "isImmutable");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/isNodesEquivalent.js
var yhe = g((Q8) => {
  "use strict";
  Object.defineProperty(Q8, "__esModule", {
    value: !0
  });
  Q8.default = G8;
  var mhe = eo();
  function G8(t, e) {
    if (typeof t != "object" || typeof e != "object" || t == null || e == null)
      return t === e;
    if (t.type !== e.type)
      return !1;
    let s = Object.keys(mhe.NODE_FIELDS[t.type] || t.type), r = mhe.VISITOR_KEYS[t.type];
    for (let i of s) {
      let a = t[i], o = e[i];
      if (typeof a != typeof o)
        return !1;
      if (!(a == null && o == null)) {
        if (a == null || o == null)
          return !1;
        if (Array.isArray(a)) {
          if (!Array.isArray(o) || a.length !== o.length)
            return !1;
          for (let l = 0; l < a.length; l++)
            if (!G8(a[l], o[l]))
              return !1;
          continue;
        }
        if (typeof a == "object" && !(r != null && r.includes(i))) {
          for (let l of Object.keys(a))
            if (a[l] !== o[l])
              return !1;
          continue;
        }
        if (!G8(a, o))
          return !1;
      }
    }
    return !0;
  }
  n(G8, "isNodesEquivalent");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/isReferenced.js
var ghe = g((Z8) => {
  "use strict";
  Object.defineProperty(Z8, "__esModule", {
    value: !0
  });
  Z8.default = sns;
  function sns(t, e, s) {
    switch (e.type) {
      case "MemberExpression":
      case "OptionalMemberExpression":
        return e.property === t ? !!e.computed : e.object === t;
      case "JSXMemberExpression":
        return e.object === t;
      case "VariableDeclarator":
        return e.init === t;
      case "ArrowFunctionExpression":
        return e.body === t;
      case "PrivateName":
        return !1;
      case "ClassMethod":
      case "ClassPrivateMethod":
      case "ObjectMethod":
        return e.key === t ? !!e.computed : !1;
      case "ObjectProperty":
        return e.key === t ? !!e.computed : !s || s.type !== "ObjectPattern";
      case "ClassProperty":
      case "ClassAccessorProperty":
        return e.key === t ? !!e.computed : !0;
      case "ClassPrivateProperty":
        return e.key !== t;
      case "ClassDeclaration":
      case "ClassExpression":
        return e.superClass === t;
      case "AssignmentExpression":
        return e.right === t;
      case "AssignmentPattern":
        return e.right === t;
      case "LabeledStatement":
        return !1;
      case "CatchClause":
        return !1;
      case "RestElement":
        return !1;
      case "BreakStatement":
      case "ContinueStatement":
        return !1;
      case "FunctionDeclaration":
      case "FunctionExpression":
        return !1;
      case "ExportNamespaceSpecifier":
      case "ExportDefaultSpecifier":
        return !1;
      case "ExportSpecifier":
        return s != null && s.source ? !1 : e.local === t;
      case "ImportDefaultSpecifier":
      case "ImportNamespaceSpecifier":
      case "ImportSpecifier":
        return !1;
      case "ImportAttribute":
        return !1;
      case "JSXAttribute":
        return !1;
      case "ObjectPattern":
      case "ArrayPattern":
        return !1;
      case "MetaProperty":
        return !1;
      case "ObjectTypeProperty":
        return e.key !== t;
      case "TSEnumMember":
        return e.id !== t;
      case "TSPropertySignature":
        return e.key === t ? !!e.computed : !0;
    }
    return !0;
  }
  n(sns, "isReferenced");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/isScope.js
var The = g((e6) => {
  "use strict";
  Object.defineProperty(e6, "__esModule", {
    value: !0
  });
  e6.default = rns;
  var Df = fi();
  function rns(t, e) {
    return (0, Df.isBlockStatement)(t) && ((0, Df.isFunction)(e) || (0, Df.isCatchClause)(e)) ? !1 : (0, Df.isPattern)(t) && ((0, Df.isFunction)(
    e) || (0, Df.isCatchClause)(e)) ? !0 : (0, Df.isScopable)(t);
  }
  n(rns, "isScope");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/isSpecifierDefault.js
var xhe = g((t6) => {
  "use strict";
  Object.defineProperty(t6, "__esModule", {
    value: !0
  });
  t6.default = ins;
  var bhe = fi();
  function ins(t) {
    return (0, bhe.isImportDefaultSpecifier)(t) || (0, bhe.isIdentifier)(t.imported || t.exported, {
      name: "default"
    });
  }
  n(ins, "isSpecifierDefault");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/isValidES3Identifier.js
var She = g((s6) => {
  "use strict";
  Object.defineProperty(s6, "__esModule", {
    value: !0
  });
  s6.default = ons;
  var nns = oy(), ans = /* @__PURE__ */ new Set(["abstract", "boolean", "byte", "char", "double", "enum", "final", "float", "goto", "impleme\
nts", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "synchronized", "throws", "trans\
ient", "volatile"]);
  function ons(t) {
    return (0, nns.default)(t) && !ans.has(t);
  }
  n(ons, "isValidES3Identifier");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/validators/isVar.js
var Phe = g((r6) => {
  "use strict";
  Object.defineProperty(r6, "__esModule", {
    value: !0
  });
  r6.default = cns;
  var lns = fi(), uns = Mp();
  function cns(t) {
    return (0, lns.isVariableDeclaration)(t, {
      kind: "var"
    }) && !t[uns.BLOCK_SCOPED_SYMBOL];
  }
  n(cns, "isVar");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js
var Ehe = g((a6) => {
  "use strict";
  Object.defineProperty(a6, "__esModule", {
    value: !0
  });
  a6.default = G1;
  var pns = LT(), Of = fi(), i6 = Kn(), n6 = e8(), hns = jp();
  function G1(t, e) {
    let s = [], r = !0;
    for (let i of t)
      if ((0, Of.isEmptyStatement)(i) || (r = !1), (0, Of.isExpression)(i))
        s.push(i);
      else if ((0, Of.isExpressionStatement)(i))
        s.push(i.expression);
      else if ((0, Of.isVariableDeclaration)(i)) {
        if (i.kind !== "var") return;
        for (let a of i.declarations) {
          let o = (0, pns.default)(a);
          for (let l of Object.keys(o))
            e.push({
              kind: i.kind,
              id: (0, hns.default)(o[l])
            });
          a.init && s.push((0, i6.assignmentExpression)("=", a.id, a.init));
        }
        r = !0;
      } else if ((0, Of.isIfStatement)(i)) {
        let a = i.consequent ? G1([i.consequent], e) : (0, n6.buildUndefinedNode)(), o = i.alternate ? G1([i.alternate], e) : (0, n6.buildUndefinedNode)();
        if (!a || !o) return;
        s.push((0, i6.conditionalExpression)(i.test, a, o));
      } else if ((0, Of.isBlockStatement)(i)) {
        let a = G1(i.body, e);
        if (!a) return;
        s.push(a);
      } else if ((0, Of.isEmptyStatement)(i))
        t.indexOf(i) === 0 && (r = !0);
      else
        return;
    return r && s.push((0, n6.buildUndefinedNode)()), s.length === 1 ? s[0] : (0, i6.sequenceExpression)(s);
  }
  n(G1, "gatherSequenceExpressions");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/converters/toSequenceExpression.js
var Ahe = g((o6) => {
  "use strict";
  Object.defineProperty(o6, "__esModule", {
    value: !0
  });
  o6.default = dns;
  var fns = Ehe();
  function dns(t, e) {
    if (!(t != null && t.length)) return;
    let s = [], r = (0, fns.default)(t, s);
    if (r) {
      for (let i of s)
        e.push(i);
      return r;
    }
  }
  n(dns, "toSequenceExpression");
});

// ../node_modules/@babel/generator/node_modules/@babel/types/lib/index.js
var Vn = g((_e) => {
  "use strict";
  Object.defineProperty(_e, "__esModule", {
    value: !0
  });
  var nc = {
    react: !0,
    assertNode: !0,
    createTypeAnnotationBasedOnTypeof: !0,
    createUnionTypeAnnotation: !0,
    createFlowUnionType: !0,
    createTSUnionType: !0,
    cloneNode: !0,
    clone: !0,
    cloneDeep: !0,
    cloneDeepWithoutLoc: !0,
    cloneWithoutLoc: !0,
    addComment: !0,
    addComments: !0,
    inheritInnerComments: !0,
    inheritLeadingComments: !0,
    inheritsComments: !0,
    inheritTrailingComments: !0,
    removeComments: !0,
    ensureBlock: !0,
    toBindingIdentifierName: !0,
    toBlock: !0,
    toComputedKey: !0,
    toExpression: !0,
    toIdentifier: !0,
    toKeyAlias: !0,
    toStatement: !0,
    valueToNode: !0,
    appendToMemberExpression: !0,
    inherits: !0,
    prependToMemberExpression: !0,
    removeProperties: !0,
    removePropertiesDeep: !0,
    removeTypeDuplicates: !0,
    getAssignmentIdentifiers: !0,
    getBindingIdentifiers: !0,
    getOuterBindingIdentifiers: !0,
    getFunctionName: !0,
    traverse: !0,
    traverseFast: !0,
    shallowEqual: !0,
    is: !0,
    isBinding: !0,
    isBlockScoped: !0,
    isImmutable: !0,
    isLet: !0,
    isNode: !0,
    isNodesEquivalent: !0,
    isPlaceholderType: !0,
    isReferenced: !0,
    isScope: !0,
    isSpecifierDefault: !0,
    isType: !0,
    isValidES3Identifier: !0,
    isValidIdentifier: !0,
    isVar: !0,
    matchesPattern: !0,
    validate: !0,
    buildMatchMemberExpression: !0,
    __internal__deprecationWarning: !0
  };
  Object.defineProperty(_e, "__internal__deprecationWarning", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Tas.default;
    }, "get")
  });
  Object.defineProperty(_e, "addComment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Cns.default;
    }, "get")
  });
  Object.defineProperty(_e, "addComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return wns.default;
    }, "get")
  });
  Object.defineProperty(_e, "appendToMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Kns.default;
    }, "get")
  });
  Object.defineProperty(_e, "assertNode", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Tns.default;
    }, "get")
  });
  Object.defineProperty(_e, "buildMatchMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return gas.default;
    }, "get")
  });
  Object.defineProperty(_e, "clone", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Pns.default;
    }, "get")
  });
  Object.defineProperty(_e, "cloneDeep", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Ens.default;
    }, "get")
  });
  Object.defineProperty(_e, "cloneDeepWithoutLoc", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Ans.default;
    }, "get")
  });
  Object.defineProperty(_e, "cloneNode", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Sns.default;
    }, "get")
  });
  Object.defineProperty(_e, "cloneWithoutLoc", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return vns.default;
    }, "get")
  });
  Object.defineProperty(_e, "createFlowUnionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return vhe.default;
    }, "get")
  });
  Object.defineProperty(_e, "createTSUnionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return xns.default;
    }, "get")
  });
  Object.defineProperty(_e, "createTypeAnnotationBasedOnTypeof", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return bns.default;
    }, "get")
  });
  Object.defineProperty(_e, "createUnionTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return vhe.default;
    }, "get")
  });
  Object.defineProperty(_e, "ensureBlock", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return _ns.default;
    }, "get")
  });
  Object.defineProperty(_e, "getAssignmentIdentifiers", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Yns.default;
    }, "get")
  });
  Object.defineProperty(_e, "getBindingIdentifiers", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Xns.default;
    }, "get")
  });
  Object.defineProperty(_e, "getFunctionName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Gns.default;
    }, "get")
  });
  Object.defineProperty(_e, "getOuterBindingIdentifiers", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return zns.default;
    }, "get")
  });
  Object.defineProperty(_e, "inheritInnerComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Ins.default;
    }, "get")
  });
  Object.defineProperty(_e, "inheritLeadingComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Nns.default;
    }, "get")
  });
  Object.defineProperty(_e, "inheritTrailingComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Dns.default;
    }, "get")
  });
  Object.defineProperty(_e, "inherits", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Vns.default;
    }, "get")
  });
  Object.defineProperty(_e, "inheritsComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return kns.default;
    }, "get")
  });
  Object.defineProperty(_e, "is", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return eas.default;
    }, "get")
  });
  Object.defineProperty(_e, "isBinding", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return tas.default;
    }, "get")
  });
  Object.defineProperty(_e, "isBlockScoped", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return sas.default;
    }, "get")
  });
  Object.defineProperty(_e, "isImmutable", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return ras.default;
    }, "get")
  });
  Object.defineProperty(_e, "isLet", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return ias.default;
    }, "get")
  });
  Object.defineProperty(_e, "isNode", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return nas.default;
    }, "get")
  });
  Object.defineProperty(_e, "isNodesEquivalent", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return aas.default;
    }, "get")
  });
  Object.defineProperty(_e, "isPlaceholderType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return oas.default;
    }, "get")
  });
  Object.defineProperty(_e, "isReferenced", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return las.default;
    }, "get")
  });
  Object.defineProperty(_e, "isScope", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return uas.default;
    }, "get")
  });
  Object.defineProperty(_e, "isSpecifierDefault", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return cas.default;
    }, "get")
  });
  Object.defineProperty(_e, "isType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return pas.default;
    }, "get")
  });
  Object.defineProperty(_e, "isValidES3Identifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return has.default;
    }, "get")
  });
  Object.defineProperty(_e, "isValidIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return fas.default;
    }, "get")
  });
  Object.defineProperty(_e, "isVar", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return das.default;
    }, "get")
  });
  Object.defineProperty(_e, "matchesPattern", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return mas.default;
    }, "get")
  });
  Object.defineProperty(_e, "prependToMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Wns.default;
    }, "get")
  });
  _e.react = void 0;
  Object.defineProperty(_e, "removeComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Ons.default;
    }, "get")
  });
  Object.defineProperty(_e, "removeProperties", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return $ns.default;
    }, "get")
  });
  Object.defineProperty(_e, "removePropertiesDeep", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Hns.default;
    }, "get")
  });
  Object.defineProperty(_e, "removeTypeDuplicates", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Jns.default;
    }, "get")
  });
  Object.defineProperty(_e, "shallowEqual", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Zns.default;
    }, "get")
  });
  Object.defineProperty(_e, "toBindingIdentifierName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Lns.default;
    }, "get")
  });
  Object.defineProperty(_e, "toBlock", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Bns.default;
    }, "get")
  });
  Object.defineProperty(_e, "toComputedKey", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Mns.default;
    }, "get")
  });
  Object.defineProperty(_e, "toExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Fns.default;
    }, "get")
  });
  Object.defineProperty(_e, "toIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return jns.default;
    }, "get")
  });
  Object.defineProperty(_e, "toKeyAlias", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Rns.default;
    }, "get")
  });
  Object.defineProperty(_e, "toStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return qns.default;
    }, "get")
  });
  Object.defineProperty(_e, "traverse", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Q1.default;
    }, "get")
  });
  Object.defineProperty(_e, "traverseFast", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Qns.default;
    }, "get")
  });
  Object.defineProperty(_e, "validate", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return yas.default;
    }, "get")
  });
  Object.defineProperty(_e, "valueToNode", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Uns.default;
    }, "get")
  });
  var mns = Wce(), yns = $ce(), gns = Epe(), Tns = Ape(), l6 = vpe();
  Object.keys(l6).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(nc, t) || t in _e && _e[t] === l6[t] || Object.defineProperty(
    _e, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return l6[t];
      }, "get")
    });
  });
  var bns = Cpe(), vhe = Npe(), xns = _pe(), u6 = Kn();
  Object.keys(u6).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(nc, t) || t in _e && _e[t] === u6[t] || Object.defineProperty(
    _e, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return u6[t];
      }, "get")
    });
  });
  var c6 = Lpe();
  Object.keys(c6).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(nc, t) || t in _e && _e[t] === c6[t] || Object.defineProperty(
    _e, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return c6[t];
      }, "get")
    });
  });
  var p6 = e8();
  Object.keys(p6).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(nc, t) || t in _e && _e[t] === p6[t] || Object.defineProperty(
    _e, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return p6[t];
      }, "get")
    });
  });
  var Sns = jp(), Pns = qpe(), Ens = Upe(), Ans = Kpe(), vns = Vpe(), Cns = Wpe(), wns = l8(), Ins = h8(), Nns = d8(), kns = T8(), Dns = y8(),
  Ons = $pe(), h6 = Hpe();
  Object.keys(h6).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(nc, t) || t in _e && _e[t] === h6[t] || Object.defineProperty(
    _e, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return h6[t];
      }, "get")
    });
  });
  var f6 = Mp();
  Object.keys(f6).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(nc, t) || t in _e && _e[t] === f6[t] || Object.defineProperty(
    _e, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return f6[t];
      }, "get")
    });
  });
  var _ns = Jpe(), Lns = Ype(), Bns = P8(), Mns = Xpe(), Fns = zpe(), jns = v8(), Rns = Zpe(), qns = ehe(), Uns = the(), d6 = eo();
  Object.keys(d6).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(nc, t) || t in _e && _e[t] === d6[t] || Object.defineProperty(
    _e, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return d6[t];
      }, "get")
    });
  });
  var Kns = she(), Vns = ihe(), Wns = nhe(), $ns = O8(), Hns = L8(), Jns = Xj(), Yns = ahe(), Xns = LT(), zns = ohe(), Gns = uhe(), Q1 = che();
  Object.keys(Q1).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(nc, t) || t in _e && _e[t] === Q1[t] || Object.defineProperty(
    _e, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return Q1[t];
      }, "get")
    });
  });
  var Qns = k8(), Zns = k1(), eas = ay(), tas = phe(), sas = fhe(), ras = dhe(), ias = Y8(), nas = Hj(), aas = yhe(), oas = vj(), las = ghe(),
  uas = The(), cas = xhe(), pas = O1(), has = She(), fas = oy(), das = Phe(), mas = bj(), yas = M1(), gas = Sj(), m6 = fi();
  Object.keys(m6).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(nc, t) || t in _e && _e[t] === m6[t] || Object.defineProperty(
    _e, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return m6[t];
      }, "get")
    });
  });
  var Tas = AT(), Tsr = _e.react = {
    isReactComponent: mns.default,
    isCompatTag: yns.default,
    buildChildren: gns.default
  };
  _e.toSequenceExpression = Ahe().default;
  process.env.BABEL_TYPES_8_BREAKING && console.warn("BABEL_TYPES_8_BREAKING is not supported anymore. Use the latest Babel 8.0.0 pre-releas\
e instead!");
});

// ../node_modules/@babel/generator/lib/node/whitespace.js
var khe = g((ev) => {
  "use strict";
  Object.defineProperty(ev, "__esModule", {
    value: !0
  });
  ev.nodes = void 0;
  var bas = Vn(), {
    FLIPPED_ALIAS_KEYS: xas,
    isArrayExpression: Sas,
    isAssignmentExpression: whe,
    isBinary: Ihe,
    isBlockStatement: Pas,
    isCallExpression: Nhe,
    isFunction: BT,
    isIdentifier: Z1,
    isLiteral: Eas,
    isMemberExpression: y6,
    isObjectExpression: Aas,
    isOptionalCallExpression: vas,
    isOptionalMemberExpression: Cas,
    isStringLiteral: was
  } = bas;
  function py(t, e) {
    return t && (y6(t) || Cas(t) ? (py(t.object, e), t.computed && py(t.property, e)) : Ihe(t) || whe(t) ? (py(t.left, e), py(t.right, e)) :
    Nhe(t) || vas(t) ? (e.hasCall = !0, py(t.callee, e)) : BT(t) ? e.hasFunction = !0 : Z1(t) && (e.hasHelper = e.hasHelper || t.callee && ac(
    t.callee))), e;
  }
  n(py, "crawlInternal");
  function Che(t) {
    return py(t, {
      hasCall: !1,
      hasFunction: !1,
      hasHelper: !1
    });
  }
  n(Che, "crawl");
  function ac(t) {
    return t ? y6(t) ? ac(t.object) || ac(t.property) : Z1(t) ? t.name === "require" || t.name.charCodeAt(0) === 95 : Nhe(t) ? ac(t.callee) :
    Ihe(t) || whe(t) ? Z1(t.left) && ac(t.left) || ac(t.right) : !1 : !1;
  }
  n(ac, "isHelper");
  function Ias(t) {
    return Eas(t) || Aas(t) || Sas(t) || Z1(t) || y6(t);
  }
  n(Ias, "isType");
  var _f = ev.nodes = {
    AssignmentExpression(t) {
      let e = Che(t.right);
      if (e.hasCall && e.hasHelper || e.hasFunction)
        return e.hasFunction ? 3 : 2;
    },
    SwitchCase(t, e) {
      return (t.consequent.length || e.cases[0] === t ? 1 : 0) | (!t.consequent.length && e.cases[e.cases.length - 1] === t ? 2 : 0);
    },
    LogicalExpression(t) {
      if (BT(t.left) || BT(t.right))
        return 2;
    },
    Literal(t) {
      if (was(t) && t.value === "use strict")
        return 2;
    },
    CallExpression(t) {
      if (BT(t.callee) || ac(t))
        return 3;
    },
    OptionalCallExpression(t) {
      if (BT(t.callee))
        return 3;
    },
    VariableDeclaration(t) {
      for (let e = 0; e < t.declarations.length; e++) {
        let s = t.declarations[e], r = ac(s.id) && !Ias(s.init);
        if (!r && s.init) {
          let i = Che(s.init);
          r = ac(s.init) && i.hasCall || i.hasFunction;
        }
        if (r)
          return 3;
      }
    },
    IfStatement(t) {
      if (Pas(t.consequent))
        return 3;
    }
  };
  _f.ObjectProperty = _f.ObjectTypeProperty = _f.ObjectMethod = function(t, e) {
    if (e.properties[0] === t)
      return 1;
  };
  _f.ObjectTypeCallProperty = function(t, e) {
    var s;
    if (e.callProperties[0] === t && !((s = e.properties) != null && s.length))
      return 1;
  };
  _f.ObjectTypeIndexer = function(t, e) {
    var s, r;
    if (e.indexers[0] === t && !((s = e.properties) != null && s.length) && !((r = e.callProperties) != null && r.length))
      return 1;
  };
  _f.ObjectTypeInternalSlot = function(t, e) {
    var s, r, i;
    if (e.internalSlots[0] === t && !((s = e.properties) != null && s.length) && !((r = e.callProperties) != null && r.length) && !((i = e.indexers) !=
    null && i.length))
      return 1;
  };
  [["Function", !0], ["Class", !0], ["Loop", !0], ["LabeledStatement", !0], ["SwitchStatement", !0], ["TryStatement", !0]].forEach(function([
  t, e]) {
    [t].concat(xas[t] || []).forEach(function(s) {
      let r = e ? 3 : 0;
      _f[s] = () => r;
    });
  });
});

// ../node_modules/@babel/generator/lib/node/parentheses.js
var jhe = g((ir) => {
  "use strict";
  Object.defineProperty(ir, "__esModule", {
    value: !0
  });
  ir.AssignmentExpression = sos;
  ir.Binary = Bhe;
  ir.BinaryExpression = zas;
  ir.ClassExpression = Zas;
  ir.ArrowFunctionExpression = ir.ConditionalExpression = Fhe;
  ir.DoExpression = Vas;
  ir.FunctionExpression = eos;
  ir.FunctionTypeAnnotation = qas;
  ir.Identifier = ios;
  ir.LogicalExpression = ros;
  ir.NullableTypeAnnotation = Ras;
  ir.ObjectExpression = Kas;
  ir.OptionalIndexedAccessType = $as;
  ir.OptionalCallExpression = ir.OptionalMemberExpression = tos;
  ir.SequenceExpression = Gas;
  ir.TSSatisfiesExpression = ir.TSAsExpression = Has;
  ir.TSInferType = Yas;
  ir.TSInstantiationExpression = Xas;
  ir.UnaryLike = ir.TSTypeAssertion = Mhe;
  ir.TSIntersectionType = ir.TSUnionType = Jas;
  ir.IntersectionTypeAnnotation = ir.UnionTypeAnnotation = Was;
  ir.UpdateExpression = Uas;
  ir.AwaitExpression = ir.YieldExpression = Qas;
  var Nas = Vn(), ro = Rp(), {
    isArrayTypeAnnotation: kas,
    isBinaryExpression: Das,
    isCallExpression: Oas,
    isForOfStatement: _as,
    isIndexedAccessType: Las,
    isMemberExpression: _he,
    isObjectPattern: Bas,
    isOptionalMemberExpression: Mas,
    isYieldExpression: Fas,
    isStatement: jas
  } = Nas, Dhe = /* @__PURE__ */ new Map([["||", 0], ["??", 0], ["|>", 0], ["&&", 1], ["|", 2], ["^", 3], ["&", 4], ["==", 5], ["===", 5], [
  "!=", 5], ["!==", 5], ["<", 6], [">", 6], ["<=", 6], [">=", 6], ["in", 6], ["instanceof", 6], [">>", 7], ["<<", 7], [">>>", 7], ["+", 8], [
  "-", 8], ["*", 9], ["/", 9], ["%", 9], ["**", 10]]);
  function Ohe(t, e) {
    if (e === "BinaryExpression" || e === "LogicalExpression")
      return Dhe.get(t.operator);
    if (e === "TSAsExpression" || e === "TSSatisfiesExpression")
      return Dhe.get("in");
  }
  n(Ohe, "getBinaryPrecedence");
  function g6(t) {
    return t === "TSAsExpression" || t === "TSSatisfiesExpression" || t === "TSTypeAssertion";
  }
  n(g6, "isTSTypeExpression");
  var tv = /* @__PURE__ */ n((t, e) => {
    let s = e.type;
    return (s === "ClassDeclaration" || s === "ClassExpression") && e.superClass === t;
  }, "isClassExtendsClause"), sv = /* @__PURE__ */ n((t, e) => {
    let s = e.type;
    return (s === "MemberExpression" || s === "OptionalMemberExpression") && e.object === t || (s === "CallExpression" || s === "OptionalCal\
lExpression" || s === "NewExpression") && e.callee === t || s === "TaggedTemplateExpression" && e.tag === t || s === "TSNonNullExpression";
  }, "hasPostfixPart");
  function Ras(t, e) {
    return kas(e);
  }
  n(Ras, "NullableTypeAnnotation");
  function qas(t, e, s) {
    let r = e.type;
    return r === "UnionTypeAnnotation" || r === "IntersectionTypeAnnotation" || r === "ArrayTypeAnnotation" || !!(s & ro.TokenContext.arrowFlowReturnType);
  }
  n(qas, "FunctionTypeAnnotation");
  function Uas(t, e) {
    return sv(t, e) || tv(t, e);
  }
  n(Uas, "UpdateExpression");
  function Lhe(t) {
    return !!(t & (ro.TokenContext.expressionStatement | ro.TokenContext.arrowBody));
  }
  n(Lhe, "needsParenBeforeExpressionBrace");
  function Kas(t, e, s) {
    return Lhe(s);
  }
  n(Kas, "ObjectExpression");
  function Vas(t, e, s) {
    return !t.async && !!(s & ro.TokenContext.expressionStatement);
  }
  n(Vas, "DoExpression");
  function Bhe(t, e) {
    let s = e.type;
    if (t.type === "BinaryExpression" && t.operator === "**" && s === "BinaryExpression" && e.operator === "**")
      return e.left === t;
    if (tv(t, e) || sv(t, e) || s === "UnaryExpression" || s === "SpreadElement" || s === "AwaitExpression")
      return !0;
    let r = Ohe(e, s);
    if (r != null) {
      let i = Ohe(t, t.type);
      if (r === i && s === "BinaryExpression" && e.right === t || r > i)
        return !0;
    }
  }
  n(Bhe, "Binary");
  function Was(t, e) {
    let s = e.type;
    return s === "ArrayTypeAnnotation" || s === "NullableTypeAnnotation" || s === "IntersectionTypeAnnotation" || s === "UnionTypeAnnotation";
  }
  n(Was, "UnionTypeAnnotation");
  function $as(t, e) {
    return Las(e) && e.objectType === t;
  }
  n($as, "OptionalIndexedAccessType");
  function Has(t, e) {
    return (e.type === "AssignmentExpression" || e.type === "AssignmentPattern") && e.left === t || e.type === "BinaryExpression" && (e.operator ===
    "|" || e.operator === "&") && t === e.left ? !0 : Bhe(t, e);
  }
  n(Has, "TSAsExpression");
  function Jas(t, e) {
    let s = e.type;
    return s === "TSArrayType" || s === "TSOptionalType" || s === "TSIntersectionType" || s === "TSRestType";
  }
  n(Jas, "TSUnionType");
  function Yas(t, e) {
    let s = e.type;
    return s === "TSArrayType" || s === "TSOptionalType";
  }
  n(Yas, "TSInferType");
  function Xas(t, e) {
    let s = e.type;
    return (s === "CallExpression" || s === "OptionalCallExpression" || s === "NewExpression" || s === "TSInstantiationExpression") && !!e.typeParameters;
  }
  n(Xas, "TSInstantiationExpression");
  function zas(t, e, s, r) {
    return t.operator === "in" && r;
  }
  n(zas, "BinaryExpression");
  function Gas(t, e) {
    let s = e.type;
    return s === "SequenceExpression" || s === "ParenthesizedExpression" || s === "MemberExpression" && e.property === t || s === "OptionalM\
emberExpression" && e.property === t || s === "TemplateLiteral" ? !1 : s === "ClassDeclaration" ? !0 : s === "ForOfStatement" ? e.right === t :
    s === "ExportDefaultDeclaration" ? !0 : !jas(e);
  }
  n(Gas, "SequenceExpression");
  function Qas(t, e) {
    let s = e.type;
    return s === "BinaryExpression" || s === "LogicalExpression" || s === "UnaryExpression" || s === "SpreadElement" || sv(t, e) || s === "A\
waitExpression" && Fas(t) || s === "ConditionalExpression" && t === e.test || tv(t, e) || g6(s);
  }
  n(Qas, "YieldExpression");
  function Zas(t, e, s) {
    return !!(s & (ro.TokenContext.expressionStatement | ro.TokenContext.exportDefault));
  }
  n(Zas, "ClassExpression");
  function Mhe(t, e) {
    return sv(t, e) || Das(e) && e.operator === "**" && e.left === t || tv(t, e);
  }
  n(Mhe, "UnaryLike");
  function eos(t, e, s) {
    return !!(s & (ro.TokenContext.expressionStatement | ro.TokenContext.exportDefault));
  }
  n(eos, "FunctionExpression");
  function Fhe(t, e) {
    let s = e.type;
    return s === "UnaryExpression" || s === "SpreadElement" || s === "BinaryExpression" || s === "LogicalExpression" || s === "ConditionalEx\
pression" && e.test === t || s === "AwaitExpression" || g6(s) ? !0 : Mhe(t, e);
  }
  n(Fhe, "ConditionalExpression");
  function tos(t, e) {
    return Oas(e) && e.callee === t || _he(e) && e.object === t;
  }
  n(tos, "OptionalMemberExpression");
  function sos(t, e, s) {
    return Lhe(s) && Bas(t.left) ? !0 : Fhe(t, e);
  }
  n(sos, "AssignmentExpression");
  function ros(t, e) {
    let s = e.type;
    if (g6(s)) return !0;
    if (s !== "LogicalExpression") return !1;
    switch (t.operator) {
      case "||":
        return e.operator === "??" || e.operator === "&&";
      case "&&":
        return e.operator === "??";
      case "??":
        return e.operator !== "??";
    }
  }
  n(ros, "LogicalExpression");
  function ios(t, e, s, r, i) {
    var a;
    let o = e.type;
    if ((a = t.extra) != null && a.parenthesized && o === "AssignmentExpression" && e.left === t) {
      let l = e.right.type;
      if ((l === "FunctionExpression" || l === "ClassExpression") && e.right.id == null)
        return !0;
    }
    return i && i(t) !== t.name ? !1 : t.name === "let" ? (_he(e, {
      object: t,
      computed: !0
    }) || Mas(e, {
      object: t,
      computed: !0,
      optional: !1
    })) && s & (ro.TokenContext.expressionStatement | ro.TokenContext.forHead | ro.TokenContext.forInHead) ? !0 : !!(s & ro.TokenContext.forOfHead) :
    t.name === "async" && _as(e, {
      left: t,
      await: !1
    });
  }
  n(ios, "Identifier");
});

// ../node_modules/@babel/generator/lib/node/index.js
var Rp = g((oc) => {
  "use strict";
  Object.defineProperty(oc, "__esModule", {
    value: !0
  });
  oc.TokenContext = void 0;
  oc.isLastChild = xos;
  oc.needsParens = bos;
  oc.needsWhitespace = b6;
  oc.needsWhitespaceAfter = Tos;
  oc.needsWhitespaceBefore = gos;
  var nos = khe(), aos = jhe(), oos = Vn(), {
    FLIPPED_ALIAS_KEYS: los,
    VISITOR_KEYS: uos,
    isCallExpression: Rhe,
    isDecorator: cos,
    isExpressionStatement: pos,
    isMemberExpression: hos,
    isNewExpression: fos,
    isParenthesizedExpression: dos
  } = oos, vsr = oc.TokenContext = {
    expressionStatement: 1,
    arrowBody: 2,
    exportDefault: 4,
    forHead: 8,
    forInHead: 16,
    forOfHead: 32,
    arrowFlowReturnType: 64
  };
  function qhe(t) {
    let e = /* @__PURE__ */ new Map();
    function s(r, i) {
      let a = e.get(r);
      e.set(r, a ? function(o, l, u, c, p) {
        var h;
        return (h = a(o, l, u, c, p)) != null ? h : i(o, l, u, c, p);
      } : i);
    }
    n(s, "add");
    for (let r of Object.keys(t)) {
      let i = los[r];
      if (i)
        for (let a of i)
          s(a, t[r]);
      else
        s(r, t[r]);
    }
    return e;
  }
  n(qhe, "expandAliases");
  var mos = qhe(aos), yos = qhe(nos.nodes);
  function Uhe(t) {
    return Rhe(t) ? !0 : hos(t) && Uhe(t.object);
  }
  n(Uhe, "isOrHasCallExpression");
  function b6(t, e, s) {
    var r;
    if (!t) return !1;
    pos(t) && (t = t.expression);
    let i = (r = yos.get(t.type)) == null ? void 0 : r(t, e);
    return typeof i == "number" ? (i & s) !== 0 : !1;
  }
  n(b6, "needsWhitespace");
  function gos(t, e) {
    return b6(t, e, 1);
  }
  n(gos, "needsWhitespaceBefore");
  function Tos(t, e) {
    return b6(t, e, 2);
  }
  n(Tos, "needsWhitespaceAfter");
  function bos(t, e, s, r, i) {
    var a;
    return e ? fos(e) && e.callee === t && Uhe(t) ? !0 : cos(e) ? !T6(t) && !(Rhe(t) && T6(t.callee)) && !dos(t) : (a = mos.get(t.type)) == null ?
    void 0 : a(t, e, s, r, i) : !1;
  }
  n(bos, "needsParens");
  function T6(t) {
    switch (t.type) {
      case "Identifier":
        return !0;
      case "MemberExpression":
        return !t.computed && t.property.type === "Identifier" && T6(t.object);
      default:
        return !1;
    }
  }
  n(T6, "isDecoratorMemberExpression");
  function xos(t, e) {
    let s = uos[t.type];
    for (let r = s.length - 1; r >= 0; r--) {
      let i = t[s[r]];
      if (i === e)
        return !0;
      if (Array.isArray(i)) {
        let a = i.length - 1;
        for (; a >= 0 && i[a] === null; ) a--;
        return a >= 0 && i[a] === e;
      } else if (i)
        return !1;
    }
    return !1;
  }
  n(xos, "isLastChild");
});

// ../node_modules/@babel/generator/lib/token-map.js
var Khe = g((rv) => {
  "use strict";
  Object.defineProperty(rv, "__esModule", {
    value: !0
  });
  rv.TokenMap = void 0;
  var Sos = Vn(), {
    traverseFast: Pos,
    VISITOR_KEYS: Eos
  } = Sos, x6 = class {
    static {
      n(this, "TokenMap");
    }
    constructor(e, s, r) {
      this._tokens = void 0, this._source = void 0, this._nodesToTokenIndexes = /* @__PURE__ */ new Map(), this._nodesOccurrencesCountCache =
      /* @__PURE__ */ new Map(), this._tokensCache = /* @__PURE__ */ new Map(), this._tokens = s, this._source = r, Pos(e, (i) => {
        let a = this._getTokensIndexesOfNode(i);
        a.length > 0 && this._nodesToTokenIndexes.set(i, a);
      }), this._tokensCache = null;
    }
    has(e) {
      return this._nodesToTokenIndexes.has(e);
    }
    getIndexes(e) {
      return this._nodesToTokenIndexes.get(e);
    }
    find(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (r)
        for (let i = 0; i < r.length; i++) {
          let a = r[i], o = this._tokens[a];
          if (s(o, a)) return o;
        }
      return null;
    }
    findLastIndex(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (r)
        for (let i = r.length - 1; i >= 0; i--) {
          let a = r[i], o = this._tokens[a];
          if (s(o, a)) return a;
        }
      return -1;
    }
    findMatching(e, s, r = 0) {
      let i = this._nodesToTokenIndexes.get(e);
      if (i) {
        let a = 0, o = r;
        if (o > 1) {
          let l = this._nodesOccurrencesCountCache.get(e);
          l && l.test === s && l.count < o && (a = l.i + 1, r -= l.count + 1);
        }
        for (; a < i.length; a++) {
          let l = this._tokens[i[a]];
          if (this.matchesOriginal(l, s)) {
            if (r === 0)
              return o > 0 && this._nodesOccurrencesCountCache.set(e, {
                test: s,
                count: o,
                i: a
              }), l;
            r--;
          }
        }
      }
      return null;
    }
    matchesOriginal(e, s) {
      return e.end - e.start !== s.length ? !1 : e.value != null ? e.value === s : this._source.startsWith(s, e.start);
    }
    startMatches(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (!r) return !1;
      let i = this._tokens[r[0]];
      return i.start !== e.start ? !1 : this.matchesOriginal(i, s);
    }
    endMatches(e, s) {
      let r = this._nodesToTokenIndexes.get(e);
      if (!r) return !1;
      let i = this._tokens[r[r.length - 1]];
      return i.end !== e.end ? !1 : this.matchesOriginal(i, s);
    }
    _getTokensIndexesOfNode(e) {
      if (e.start == null || e.end == null) return [];
      let {
        first: s,
        last: r
      } = this._findTokensOfNode(e, 0, this._tokens.length - 1), i = s, a = Aos(e);
      (e.type === "ExportNamedDeclaration" || e.type === "ExportDefaultDeclaration") && e.declaration && e.declaration.type === "ClassDeclar\
ation" && a.next();
      let o = [];
      for (let l of a) {
        if (l == null || l.start == null || l.end == null) continue;
        let u = this._findTokensOfNode(l, i, r), c = u.first;
        for (let p = i; p < c; p++) o.push(p);
        i = u.last + 1;
      }
      for (let l = i; l <= r; l++) o.push(l);
      return o;
    }
    _findTokensOfNode(e, s, r) {
      let i = this._tokensCache.get(e);
      if (i) return i;
      let a = this._findFirstTokenOfNode(e.start, s, r), o = this._findLastTokenOfNode(e.end, a, r);
      return this._tokensCache.set(e, {
        first: a,
        last: o
      }), {
        first: a,
        last: o
      };
    }
    _findFirstTokenOfNode(e, s, r) {
      for (; s <= r; ) {
        let i = r + s >> 1;
        if (e < this._tokens[i].start)
          r = i - 1;
        else if (e > this._tokens[i].start)
          s = i + 1;
        else
          return i;
      }
      return s;
    }
    _findLastTokenOfNode(e, s, r) {
      for (; s <= r; ) {
        let i = r + s >> 1;
        if (e < this._tokens[i].end)
          r = i - 1;
        else if (e > this._tokens[i].end)
          s = i + 1;
        else
          return i;
      }
      return r;
    }
  };
  rv.TokenMap = x6;
  function* Aos(t) {
    if (t.type === "TemplateLiteral") {
      yield t.quasis[0];
      for (let s = 1; s < t.quasis.length; s++)
        yield t.expressions[s - 1], yield t.quasis[s];
      return;
    }
    let e = Eos[t.type];
    for (let s of e) {
      let r = t[s];
      r && (Array.isArray(r) ? yield* r : yield r);
    }
  }
  n(Aos, "childrenIterator");
});

// ../node_modules/@babel/generator/lib/generators/template-literals.js
var Vhe = g((MT) => {
  "use strict";
  Object.defineProperty(MT, "__esModule", {
    value: !0
  });
  MT.TaggedTemplateExpression = vos;
  MT.TemplateElement = Cos;
  MT.TemplateLiteral = wos;
  function vos(t) {
    this.print(t.tag), this.print(t.typeParameters), this.print(t.quasi);
  }
  n(vos, "TaggedTemplateExpression");
  function Cos() {
    throw new Error("TemplateElement printing is handled in TemplateLiteral");
  }
  n(Cos, "TemplateElement");
  function wos(t) {
    let e = t.quasis, s = "`";
    for (let r = 0; r < e.length; r++)
      if (s += e[r].value.raw, r + 1 < e.length && (this.token(s + "${", !0), this.print(t.expressions[r]), s = "}", this.tokenMap)) {
        let i = this.tokenMap.findMatching(t, "}", r);
        i && this._catchUpTo(i.loc.start);
      }
    this.token(s + "`", !0);
  }
  n(wos, "TemplateLiteral");
});

// ../node_modules/@babel/generator/lib/generators/expressions.js
var $he = g((hr) => {
  "use strict";
  Object.defineProperty(hr, "__esModule", {
    value: !0
  });
  hr.LogicalExpression = hr.BinaryExpression = hr.AssignmentExpression = Zos;
  hr.AssignmentPattern = Qos;
  hr.AwaitExpression = Yos;
  hr.BindExpression = els;
  hr.CallExpression = Hos;
  hr.ConditionalExpression = Fos;
  hr.Decorator = Vos;
  hr.DoExpression = Los;
  hr.EmptyStatement = zos;
  hr.ExpressionStatement = Gos;
  hr.Import = Jos;
  hr.MemberExpression = tls;
  hr.MetaProperty = sls;
  hr.ModuleExpression = nls;
  hr.NewExpression = jos;
  hr.OptionalCallExpression = $os;
  hr.OptionalMemberExpression = Wos;
  hr.ParenthesizedExpression = Bos;
  hr.PrivateName = rls;
  hr.SequenceExpression = Ros;
  hr.Super = Uos;
  hr.ThisExpression = qos;
  hr.UnaryExpression = _os;
  hr.UpdateExpression = Mos;
  hr.V8IntrinsicIdentifier = ils;
  hr.YieldExpression = Xos;
  hr._shouldPrintDecoratorsBeforeExport = Kos;
  var Ios = Vn(), Nos = Rp(), {
    isCallExpression: kos,
    isLiteral: Whe,
    isMemberExpression: S6,
    isNewExpression: Dos,
    isPattern: Oos
  } = Ios;
  function _os(t) {
    let {
      operator: e
    } = t;
    e === "void" || e === "delete" || e === "typeof" || e === "throw" ? (this.word(e), this.space()) : this.token(e), this.print(t.argument);
  }
  n(_os, "UnaryExpression");
  function Los(t) {
    t.async && (this.word("async", !0), this.space()), this.word("do"), this.space(), this.print(t.body);
  }
  n(Los, "DoExpression");
  function Bos(t) {
    this.tokenChar(40);
    let e = this.enterDelimited();
    this.print(t.expression), e(), this.rightParens(t);
  }
  n(Bos, "ParenthesizedExpression");
  function Mos(t) {
    t.prefix ? (this.token(t.operator), this.print(t.argument)) : (this.print(t.argument, !0), this.token(t.operator));
  }
  n(Mos, "UpdateExpression");
  function Fos(t) {
    this.print(t.test), this.space(), this.tokenChar(63), this.space(), this.print(t.consequent), this.space(), this.tokenChar(58), this.space(),
    this.print(t.alternate);
  }
  n(Fos, "ConditionalExpression");
  function jos(t, e) {
    if (this.word("new"), this.space(), this.print(t.callee), this.format.minified && t.arguments.length === 0 && !t.optional && !kos(e, {
      callee: t
    }) && !S6(e) && !Dos(e) || (this.print(t.typeArguments), this.print(t.typeParameters), t.optional && this.token("?."), t.arguments.length ===
    0 && this.tokenMap && !this.tokenMap.endMatches(t, ")")))
      return;
    this.tokenChar(40);
    let s = this.enterDelimited();
    this.printList(t.arguments, this.shouldPrintTrailingComma(")")), s(), this.rightParens(t);
  }
  n(jos, "NewExpression");
  function Ros(t) {
    this.printList(t.expressions);
  }
  n(Ros, "SequenceExpression");
  function qos() {
    this.word("this");
  }
  n(qos, "ThisExpression");
  function Uos() {
    this.word("super");
  }
  n(Uos, "Super");
  function Kos(t) {
    return typeof this.format.decoratorsBeforeExport == "boolean" ? this.format.decoratorsBeforeExport : typeof t.start == "number" && t.start ===
    t.declaration.start;
  }
  n(Kos, "_shouldPrintDecoratorsBeforeExport");
  function Vos(t) {
    this.tokenChar(64), this.print(t.expression), this.newline();
  }
  n(Vos, "Decorator");
  function Wos(t) {
    let {
      computed: e
    } = t, {
      optional: s,
      property: r
    } = t;
    if (this.print(t.object), !e && S6(r))
      throw new TypeError("Got a MemberExpression for MemberExpression property");
    Whe(r) && typeof r.value == "number" && (e = !0), s && this.token("?."), e ? (this.tokenChar(91), this.print(r), this.tokenChar(93)) : (s ||
    this.tokenChar(46), this.print(r));
  }
  n(Wos, "OptionalMemberExpression");
  function $os(t) {
    this.print(t.callee), this.print(t.typeParameters), t.optional && this.token("?."), this.print(t.typeArguments), this.tokenChar(40);
    let e = this.enterDelimited();
    this.printList(t.arguments), e(), this.rightParens(t);
  }
  n($os, "OptionalCallExpression");
  function Hos(t) {
    this.print(t.callee), this.print(t.typeArguments), this.print(t.typeParameters), this.tokenChar(40);
    let e = this.enterDelimited();
    this.printList(t.arguments, this.shouldPrintTrailingComma(")")), e(), this.rightParens(t);
  }
  n(Hos, "CallExpression");
  function Jos() {
    this.word("import");
  }
  n(Jos, "Import");
  function Yos(t) {
    this.word("await"), t.argument && (this.space(), this.printTerminatorless(t.argument));
  }
  n(Yos, "AwaitExpression");
  function Xos(t) {
    this.word("yield", !0), t.delegate ? (this.tokenChar(42), t.argument && (this.space(), this.print(t.argument))) : t.argument && (this.space(),
    this.printTerminatorless(t.argument));
  }
  n(Xos, "YieldExpression");
  function zos() {
    this.semicolon(!0);
  }
  n(zos, "EmptyStatement");
  function Gos(t) {
    this.tokenContext |= Nos.TokenContext.expressionStatement, this.print(t.expression), this.semicolon();
  }
  n(Gos, "ExpressionStatement");
  function Qos(t) {
    this.print(t.left), (t.left.type === "Identifier" || Oos(t.left)) && (t.left.optional && this.tokenChar(63), this.print(t.left.typeAnnotation)),
    this.space(), this.tokenChar(61), this.space(), this.print(t.right);
  }
  n(Qos, "AssignmentPattern");
  function Zos(t) {
    this.print(t.left), this.space(), t.operator === "in" || t.operator === "instanceof" ? this.word(t.operator) : (this.token(t.operator), this.
    _endsWithDiv = t.operator === "/"), this.space(), this.print(t.right);
  }
  n(Zos, "AssignmentExpression");
  function els(t) {
    this.print(t.object), this.token("::"), this.print(t.callee);
  }
  n(els, "BindExpression");
  function tls(t) {
    if (this.print(t.object), !t.computed && S6(t.property))
      throw new TypeError("Got a MemberExpression for MemberExpression property");
    let e = t.computed;
    if (Whe(t.property) && typeof t.property.value == "number" && (e = !0), e) {
      let s = this.enterDelimited();
      this.tokenChar(91), this.print(t.property), this.tokenChar(93), s();
    } else
      this.tokenChar(46), this.print(t.property);
  }
  n(tls, "MemberExpression");
  function sls(t) {
    this.print(t.meta), this.tokenChar(46), this.print(t.property);
  }
  n(sls, "MetaProperty");
  function rls(t) {
    this.tokenChar(35), this.print(t.id);
  }
  n(rls, "PrivateName");
  function ils(t) {
    this.tokenChar(37), this.word(t.name);
  }
  n(ils, "V8IntrinsicIdentifier");
  function nls(t) {
    this.word("module", !0), this.space(), this.tokenChar(123), this.indent();
    let {
      body: e
    } = t;
    (e.body.length || e.directives.length) && this.newline(), this.print(e), this.dedent(), this.rightBrace(t);
  }
  n(nls, "ModuleExpression");
});

// ../node_modules/@babel/generator/lib/generators/statements.js
var Xhe = g((Gr) => {
  "use strict";
  Object.defineProperty(Gr, "__esModule", {
    value: !0
  });
  Gr.BreakStatement = mls;
  Gr.CatchClause = Sls;
  Gr.ContinueStatement = yls;
  Gr.DebuggerStatement = Als;
  Gr.DoWhileStatement = dls;
  Gr.ForOfStatement = Gr.ForInStatement = void 0;
  Gr.ForStatement = hls;
  Gr.IfStatement = pls;
  Gr.LabeledStatement = bls;
  Gr.ReturnStatement = gls;
  Gr.SwitchCase = Els;
  Gr.SwitchStatement = Pls;
  Gr.ThrowStatement = Tls;
  Gr.TryStatement = xls;
  Gr.VariableDeclaration = vls;
  Gr.VariableDeclarator = Cls;
  Gr.WhileStatement = fls;
  Gr.WithStatement = cls;
  var als = Vn(), P6 = Rp(), {
    isFor: Hhe,
    isForStatement: ols,
    isIfStatement: lls,
    isStatement: uls
  } = als;
  function cls(t) {
    this.word("with"), this.space(), this.tokenChar(40), this.print(t.object), this.tokenChar(41), this.printBlock(t);
  }
  n(cls, "WithStatement");
  function pls(t) {
    this.word("if"), this.space(), this.tokenChar(40), this.print(t.test), this.tokenChar(41), this.space();
    let e = t.alternate && lls(Jhe(t.consequent));
    e && (this.tokenChar(123), this.newline(), this.indent()), this.printAndIndentOnComments(t.consequent), e && (this.dedent(), this.newline(),
    this.tokenChar(125)), t.alternate && (this.endsWith(125) && this.space(), this.word("else"), this.space(), this.printAndIndentOnComments(
    t.alternate));
  }
  n(pls, "IfStatement");
  function Jhe(t) {
    let {
      body: e
    } = t;
    return uls(e) === !1 ? t : Jhe(e);
  }
  n(Jhe, "getLastStatement");
  function hls(t) {
    this.word("for"), this.space(), this.tokenChar(40);
    {
      let e = this.enterForStatementInit();
      this.tokenContext |= P6.TokenContext.forHead, this.print(t.init), e();
    }
    this.tokenChar(59), t.test && (this.space(), this.print(t.test)), this.token(";", !1, 1), t.update && (this.space(), this.print(t.update)),
    this.tokenChar(41), this.printBlock(t);
  }
  n(hls, "ForStatement");
  function fls(t) {
    this.word("while"), this.space(), this.tokenChar(40), this.print(t.test), this.tokenChar(41), this.printBlock(t);
  }
  n(fls, "WhileStatement");
  function Yhe(t) {
    this.word("for"), this.space();
    let e = t.type === "ForOfStatement";
    e && t.await && (this.word("await"), this.space()), this.noIndentInnerCommentsHere(), this.tokenChar(40);
    {
      let s = e ? null : this.enterForStatementInit();
      this.tokenContext |= e ? P6.TokenContext.forOfHead : P6.TokenContext.forInHead, this.print(t.left), s?.();
    }
    this.space(), this.word(e ? "of" : "in"), this.space(), this.print(t.right), this.tokenChar(41), this.printBlock(t);
  }
  n(Yhe, "ForXStatement");
  var Lsr = Gr.ForInStatement = Yhe, Bsr = Gr.ForOfStatement = Yhe;
  function dls(t) {
    this.word("do"), this.space(), this.print(t.body), this.space(), this.word("while"), this.space(), this.tokenChar(40), this.print(t.test),
    this.tokenChar(41), this.semicolon();
  }
  n(dls, "DoWhileStatement");
  function iv(t, e) {
    e && (t.space(), t.printTerminatorless(e)), t.semicolon();
  }
  n(iv, "printStatementAfterKeyword");
  function mls(t) {
    this.word("break"), iv(this, t.label);
  }
  n(mls, "BreakStatement");
  function yls(t) {
    this.word("continue"), iv(this, t.label);
  }
  n(yls, "ContinueStatement");
  function gls(t) {
    this.word("return"), iv(this, t.argument);
  }
  n(gls, "ReturnStatement");
  function Tls(t) {
    this.word("throw"), iv(this, t.argument);
  }
  n(Tls, "ThrowStatement");
  function bls(t) {
    this.print(t.label), this.tokenChar(58), this.space(), this.print(t.body);
  }
  n(bls, "LabeledStatement");
  function xls(t) {
    this.word("try"), this.space(), this.print(t.block), this.space(), t.handlers ? this.print(t.handlers[0]) : this.print(t.handler), t.finalizer &&
    (this.space(), this.word("finally"), this.space(), this.print(t.finalizer));
  }
  n(xls, "TryStatement");
  function Sls(t) {
    this.word("catch"), this.space(), t.param && (this.tokenChar(40), this.print(t.param), this.print(t.param.typeAnnotation), this.tokenChar(
    41), this.space()), this.print(t.body);
  }
  n(Sls, "CatchClause");
  function Pls(t) {
    this.word("switch"), this.space(), this.tokenChar(40), this.print(t.discriminant), this.tokenChar(41), this.space(), this.tokenChar(123),
    this.printSequence(t.cases, !0, void 0, /* @__PURE__ */ n(function(s, r) {
      if (!s && t.cases[t.cases.length - 1] === r) return -1;
    }, "addNewlines")), this.rightBrace(t);
  }
  n(Pls, "SwitchStatement");
  function Els(t) {
    t.test ? (this.word("case"), this.space(), this.print(t.test), this.tokenChar(58)) : (this.word("default"), this.tokenChar(58)), t.consequent.
    length && (this.newline(), this.printSequence(t.consequent, !0));
  }
  n(Els, "SwitchCase");
  function Als() {
    this.word("debugger"), this.semicolon();
  }
  n(Als, "DebuggerStatement");
  function vls(t, e) {
    t.declare && (this.word("declare"), this.space());
    let {
      kind: s
    } = t;
    s === "await using" ? (this.word("await"), this.space(), this.word("using", !0)) : this.word(s, s === "using"), this.space();
    let r = !1;
    if (!Hhe(e))
      for (let i of t.declarations)
        i.init && (r = !0);
    if (this.printList(t.declarations, void 0, void 0, t.declarations.length > 1, r ? function(i) {
      this.token(",", !1, i), this.newline();
    } : void 0), Hhe(e)) {
      if (ols(e)) {
        if (e.init === t) return;
      } else if (e.left === t) return;
    }
    this.semicolon();
  }
  n(vls, "VariableDeclaration");
  function Cls(t) {
    this.print(t.id), t.definite && this.tokenChar(33), this.print(t.id.typeAnnotation), t.init && (this.space(), this.tokenChar(61), this.space(),
    this.print(t.init));
  }
  n(Cls, "VariableDeclarator");
});

// ../node_modules/@babel/generator/lib/generators/classes.js
var zhe = g((io) => {
  "use strict";
  Object.defineProperty(io, "__esModule", {
    value: !0
  });
  io.ClassAccessorProperty = Lls;
  io.ClassBody = Dls;
  io.ClassExpression = io.ClassDeclaration = kls;
  io.ClassMethod = Mls;
  io.ClassPrivateMethod = Fls;
  io.ClassPrivateProperty = Bls;
  io.ClassProperty = _ls;
  io.StaticBlock = Rls;
  io._classMethodHead = jls;
  var wls = Vn(), {
    isExportDefaultDeclaration: Ils,
    isExportNamedDeclaration: Nls
  } = wls;
  function kls(t, e) {
    (!(Ils(e) || Nls(e)) || !this._shouldPrintDecoratorsBeforeExport(e)) && this.printJoin(t.decorators), t.declare && (this.word("declare"),
    this.space()), t.abstract && (this.word("abstract"), this.space()), this.word("class"), t.id && (this.space(), this.print(t.id)), this.print(
    t.typeParameters), t.superClass && (this.space(), this.word("extends"), this.space(), this.print(t.superClass), this.print(t.superTypeParameters)),
    t.implements && (this.space(), this.word("implements"), this.space(), this.printList(t.implements)), this.space(), this.print(t.body);
  }
  n(kls, "ClassDeclaration");
  function Dls(t) {
    if (this.tokenChar(123), t.body.length === 0)
      this.tokenChar(125);
    else {
      this.newline();
      let e = Ols(this, t);
      e?.(-1);
      let s = this.enterDelimited();
      this.printJoin(t.body, !0, !0, e, !0), s(), this.endsWith(10) || this.newline(), this.rightBrace(t);
    }
  }
  n(Dls, "ClassBody");
  function Ols(t, e) {
    if (!t.tokenMap || e.start == null || e.end == null)
      return null;
    let s = t.tokenMap.getIndexes(e);
    if (!s) return null;
    let r = 1, i = 0, a = 0, o = /* @__PURE__ */ n(() => {
      for (; a < e.body.length && e.body[a].start == null; )
        a++;
    }, "advanceNextLocIndex");
    return o(), (l) => {
      a <= l && (a = l + 1, o());
      let u = a === e.body.length ? e.end : e.body[a].start, c;
      for (; r < s.length && t.tokenMap.matchesOriginal(c = t._tokens[s[r]], ";") && c.start < u; )
        t.token(";", void 0, i++), r++;
    };
  }
  n(Ols, "classBodyEmptySemicolonsPrinter");
  function _ls(t) {
    if (this.printJoin(t.decorators), !t.static && !this.format.preserveFormat) {
      var e;
      let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
      s && this.catchUp(s);
    }
    this.tsPrintClassMemberModifiers(t), t.computed ? (this.tokenChar(91), this.print(t.key), this.tokenChar(93)) : (this._variance(t), this.
    print(t.key)), t.optional && this.tokenChar(63), t.definite && this.tokenChar(33), this.print(t.typeAnnotation), t.value && (this.space(),
    this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(_ls, "ClassProperty");
  function Lls(t) {
    var e;
    this.printJoin(t.decorators);
    let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
    s && this.catchUp(s), this.tsPrintClassMemberModifiers(t), this.word("accessor", !0), this.space(), t.computed ? (this.tokenChar(91), this.
    print(t.key), this.tokenChar(93)) : (this._variance(t), this.print(t.key)), t.optional && this.tokenChar(63), t.definite && this.tokenChar(
    33), this.print(t.typeAnnotation), t.value && (this.space(), this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(Lls, "ClassAccessorProperty");
  function Bls(t) {
    this.printJoin(t.decorators), t.static && (this.word("static"), this.space()), this.print(t.key), this.print(t.typeAnnotation), t.value &&
    (this.space(), this.tokenChar(61), this.space(), this.print(t.value)), this.semicolon();
  }
  n(Bls, "ClassPrivateProperty");
  function Mls(t) {
    this._classMethodHead(t), this.space(), this.print(t.body);
  }
  n(Mls, "ClassMethod");
  function Fls(t) {
    this._classMethodHead(t), this.space(), this.print(t.body);
  }
  n(Fls, "ClassPrivateMethod");
  function jls(t) {
    if (this.printJoin(t.decorators), !this.format.preserveFormat) {
      var e;
      let s = (e = t.key.loc) == null || (e = e.end) == null ? void 0 : e.line;
      s && this.catchUp(s);
    }
    this.tsPrintClassMemberModifiers(t), this._methodHead(t);
  }
  n(jls, "_classMethodHead");
  function Rls(t) {
    this.word("static"), this.space(), this.tokenChar(123), t.body.length === 0 ? this.tokenChar(125) : (this.newline(), this.printSequence(
    t.body, !0), this.rightBrace(t));
  }
  n(Rls, "StaticBlock");
});

// ../node_modules/@babel/generator/lib/generators/methods.js
var Ghe = g((no) => {
  "use strict";
  Object.defineProperty(no, "__esModule", {
    value: !0
  });
  no.ArrowFunctionExpression = zls;
  no.FunctionDeclaration = no.FunctionExpression = Xls;
  no._functionHead = Yls;
  no._methodHead = Hls;
  no._param = $ls;
  no._parameters = Wls;
  no._params = Vls;
  no._predicate = Jls;
  no._shouldPrintArrowParamsParens = Gls;
  var qls = Vn(), Uls = Rp(), {
    isIdentifier: Kls
  } = qls;
  function Vls(t, e, s) {
    this.print(t.typeParameters);
    let r = Qls.call(this, e, s);
    r && this.sourceIdentifierName(r.name, r.pos), this.tokenChar(40), this._parameters(t.params, ")");
    let i = t.type === "ArrowFunctionExpression";
    this.print(t.returnType, i), this._noLineTerminator = i;
  }
  n(Vls, "_params");
  function Wls(t, e) {
    let s = this.enterDelimited(), r = this.shouldPrintTrailingComma(e), i = t.length;
    for (let a = 0; a < i; a++)
      this._param(t[a]), (r || a < i - 1) && (this.token(",", null, a), this.space());
    this.token(e), s();
  }
  n(Wls, "_parameters");
  function $ls(t) {
    this.printJoin(t.decorators), this.print(t), t.optional && this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n($ls, "_param");
  function Hls(t) {
    let e = t.kind, s = t.key;
    (e === "get" || e === "set") && (this.word(e), this.space()), t.async && (this.word("async", !0), this.space()), (e === "method" || e ===
    "init") && t.generator && this.tokenChar(42), t.computed ? (this.tokenChar(91), this.print(s), this.tokenChar(93)) : this.print(s), t.optional &&
    this.tokenChar(63), this._params(t, t.computed && t.key.type !== "StringLiteral" ? void 0 : t.key, void 0);
  }
  n(Hls, "_methodHead");
  function Jls(t, e) {
    t.predicate && (t.returnType || this.tokenChar(58), this.space(), this.print(t.predicate, e));
  }
  n(Jls, "_predicate");
  function Yls(t, e) {
    t.async && (this.word("async"), this.format.preserveFormat || (this._endsWithInnerRaw = !1), this.space()), this.word("function"), t.generator &&
    (this.format.preserveFormat || (this._endsWithInnerRaw = !1), this.tokenChar(42)), this.space(), t.id && this.print(t.id), this._params(
    t, t.id, e), t.type !== "TSDeclareFunction" && this._predicate(t);
  }
  n(Yls, "_functionHead");
  function Xls(t, e) {
    this._functionHead(t, e), this.space(), this.print(t.body);
  }
  n(Xls, "FunctionExpression");
  function zls(t, e) {
    t.async && (this.word("async", !0), this.space()), this._shouldPrintArrowParamsParens(t) ? this._params(t, void 0, e) : this.print(t.params[0],
    !0), this._predicate(t, !0), this.space(), this.printInnerComments(), this.token("=>"), this.space(), this.tokenContext |= Uls.TokenContext.
    arrowBody, this.print(t.body);
  }
  n(zls, "ArrowFunctionExpression");
  function Gls(t) {
    var e, s;
    if (t.params.length !== 1 || t.typeParameters || t.returnType || t.predicate)
      return !0;
    let r = t.params[0];
    if (!Kls(r) || r.typeAnnotation || r.optional || (e = r.leadingComments) != null && e.length || (s = r.trailingComments) != null && s.length)
      return !0;
    if (this.tokenMap) {
      if (t.loc == null || this.tokenMap.findMatching(t, "(") !== null) return !0;
      let i = this.tokenMap.findMatching(t, "=>");
      return i?.loc == null ? !0 : i.loc.start.line !== t.loc.start.line;
    }
    return !!this.format.retainLines;
  }
  n(Gls, "_shouldPrintArrowParamsParens");
  function Qls(t, e) {
    let s = t;
    if (!s && e) {
      let u = e.type;
      u === "VariableDeclarator" ? s = e.id : u === "AssignmentExpression" || u === "AssignmentPattern" ? s = e.left : u === "ObjectProperty" ||
      u === "ClassProperty" ? (!e.computed || e.key.type === "StringLiteral") && (s = e.key) : (u === "ClassPrivateProperty" || u === "Class\
AccessorProperty") && (s = e.key);
    }
    if (!s) return;
    let r;
    if (s.type === "Identifier") {
      var i, a;
      r = {
        pos: (i = s.loc) == null ? void 0 : i.start,
        name: ((a = s.loc) == null ? void 0 : a.identifierName) || s.name
      };
    } else if (s.type === "PrivateName") {
      var o;
      r = {
        pos: (o = s.loc) == null ? void 0 : o.start,
        name: "#" + s.id.name
      };
    } else if (s.type === "StringLiteral") {
      var l;
      r = {
        pos: (l = s.loc) == null ? void 0 : l.start,
        name: s.value
      };
    }
    return r;
  }
  n(Qls, "_getFuncIdName");
});

// ../node_modules/@babel/generator/lib/generators/modules.js
var E6 = g((Wn) => {
  "use strict";
  Object.defineProperty(Wn, "__esModule", {
    value: !0
  });
  Wn.ExportAllDeclaration = hus;
  Wn.ExportDefaultDeclaration = dus;
  Wn.ExportDefaultSpecifier = lus;
  Wn.ExportNamedDeclaration = fus;
  Wn.ExportNamespaceSpecifier = cus;
  Wn.ExportSpecifier = uus;
  Wn.ImportAttribute = yus;
  Wn.ImportDeclaration = mus;
  Wn.ImportDefaultSpecifier = ous;
  Wn.ImportExpression = Tus;
  Wn.ImportNamespaceSpecifier = gus;
  Wn.ImportSpecifier = aus;
  Wn._printAttributes = pus;
  var Zls = Vn(), eus = Rp(), {
    isClassDeclaration: tus,
    isExportDefaultSpecifier: sus,
    isExportNamespaceSpecifier: rus,
    isImportDefaultSpecifier: ius,
    isImportNamespaceSpecifier: nus,
    isStatement: Zhe
  } = Zls;
  function aus(t) {
    (t.importKind === "type" || t.importKind === "typeof") && (this.word(t.importKind), this.space()), this.print(t.imported), t.local && t.
    local.name !== t.imported.name && (this.space(), this.word("as"), this.space(), this.print(t.local));
  }
  n(aus, "ImportSpecifier");
  function ous(t) {
    this.print(t.local);
  }
  n(ous, "ImportDefaultSpecifier");
  function lus(t) {
    this.print(t.exported);
  }
  n(lus, "ExportDefaultSpecifier");
  function uus(t) {
    t.exportKind === "type" && (this.word("type"), this.space()), this.print(t.local), t.exported && t.local.name !== t.exported.name && (this.
    space(), this.word("as"), this.space(), this.print(t.exported));
  }
  n(uus, "ExportSpecifier");
  function cus(t) {
    this.tokenChar(42), this.space(), this.word("as"), this.space(), this.print(t.exported);
  }
  n(cus, "ExportNamespaceSpecifier");
  var Qhe = !1;
  function pus(t, e) {
    let {
      importAttributesKeyword: s
    } = this.format, {
      attributes: r,
      assertions: i
    } = t;
    r && !s && !Qhe && (Qhe = !0, console.warn('You are using import attributes, without specifying the desired output syntax.\nPlease specif\
y the "importAttributesKeyword" generator option, whose value can be one of:\n - "with"        : `import { a } from "b" with { type: "json" }\
;`\n - "assert"      : `import { a } from "b" assert { type: "json" };`\n - "with-legacy" : `import { a } from "b" with type: "json";`\n'));
    let a = s === "assert" || !s && i;
    if (this.word(a ? "assert" : "with"), this.space(), !a && s !== "with") {
      this.printList(r || i);
      return;
    }
    let o = e ? 1 : 0;
    this.token("{", null, o), this.space(), this.printList(r || i, this.shouldPrintTrailingComma("}")), this.space(), this.token("}", null, o);
  }
  n(pus, "_printAttributes");
  function hus(t) {
    var e, s;
    this.word("export"), this.space(), t.exportKind === "type" && (this.word("type"), this.space()), this.tokenChar(42), this.space(), this.
    word("from"), this.space(), (e = t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.print(t.source, !0),
    this.space(), this._printAttributes(t, !1)) : this.print(t.source), this.semicolon();
  }
  n(hus, "ExportAllDeclaration");
  function efe(t, e) {
    tus(e.declaration) && t._shouldPrintDecoratorsBeforeExport(e) && t.printJoin(e.declaration.decorators);
  }
  n(efe, "maybePrintDecoratorsBeforeExport");
  function fus(t) {
    if (efe(this, t), this.word("export"), this.space(), t.declaration) {
      let r = t.declaration;
      this.print(r), Zhe(r) || this.semicolon();
    } else {
      t.exportKind === "type" && (this.word("type"), this.space());
      let r = t.specifiers.slice(0), i = !1;
      for (; ; ) {
        let o = r[0];
        if (sus(o) || rus(o))
          i = !0, this.print(r.shift()), r.length && (this.tokenChar(44), this.space());
        else
          break;
      }
      let a = !1;
      if ((r.length || !r.length && !i) && (a = !0, this.tokenChar(123), r.length && (this.space(), this.printList(r, this.shouldPrintTrailingComma(
      "}")), this.space()), this.tokenChar(125)), t.source) {
        var e, s;
        this.space(), this.word("from"), this.space(), (e = t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.
        print(t.source, !0), this.space(), this._printAttributes(t, a)) : this.print(t.source);
      }
      this.semicolon();
    }
  }
  n(fus, "ExportNamedDeclaration");
  function dus(t) {
    efe(this, t), this.word("export"), this.noIndentInnerCommentsHere(), this.space(), this.word("default"), this.space(), this.tokenContext |=
    eus.TokenContext.exportDefault;
    let e = t.declaration;
    this.print(e), Zhe(e) || this.semicolon();
  }
  n(dus, "ExportDefaultDeclaration");
  function mus(t) {
    var e, s;
    this.word("import"), this.space();
    let r = t.importKind === "type" || t.importKind === "typeof";
    r ? (this.noIndentInnerCommentsHere(), this.word(t.importKind), this.space()) : t.module ? (this.noIndentInnerCommentsHere(), this.word(
    "module"), this.space()) : t.phase && (this.noIndentInnerCommentsHere(), this.word(t.phase), this.space());
    let i = t.specifiers.slice(0), a = !!i.length;
    for (; a; ) {
      let l = i[0];
      if (ius(l) || nus(l))
        this.print(i.shift()), i.length && (this.tokenChar(44), this.space());
      else
        break;
    }
    let o = !1;
    i.length ? (o = !0, this.tokenChar(123), this.space(), this.printList(i, this.shouldPrintTrailingComma("}")), this.space(), this.tokenChar(
    125)) : r && !a && (o = !0, this.tokenChar(123), this.tokenChar(125)), (a || r) && (this.space(), this.word("from"), this.space()), (e =
    t.attributes) != null && e.length || (s = t.assertions) != null && s.length ? (this.print(t.source, !0), this.space(), this._printAttributes(
    t, o)) : this.print(t.source), this.semicolon();
  }
  n(mus, "ImportDeclaration");
  function yus(t) {
    this.print(t.key), this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(yus, "ImportAttribute");
  function gus(t) {
    this.tokenChar(42), this.space(), this.word("as"), this.space(), this.print(t.local);
  }
  n(gus, "ImportNamespaceSpecifier");
  function Tus(t) {
    this.word("import"), t.phase && (this.tokenChar(46), this.word(t.phase)), this.tokenChar(40), this.print(t.source), t.options != null &&
    (this.tokenChar(44), this.space(), this.print(t.options)), this.tokenChar(41);
  }
  n(Tus, "ImportExpression");
});

// ../node_modules/@babel/generator/lib/generators/types.js
var v6 = g((Mr) => {
  "use strict";
  Object.defineProperty(Mr, "__esModule", {
    value: !0
  });
  Mr.ArgumentPlaceholder = Eus;
  Mr.ArrayPattern = Mr.ArrayExpression = Ius;
  Mr.BigIntLiteral = Mus;
  Mr.BooleanLiteral = Ous;
  Mr.Identifier = Pus;
  Mr.NullLiteral = _us;
  Mr.NumericLiteral = Lus;
  Mr.ObjectPattern = Mr.ObjectExpression = vus;
  Mr.ObjectMethod = Cus;
  Mr.ObjectProperty = wus;
  Mr.PipelineBareFunction = Rus;
  Mr.PipelinePrimaryTopicReference = qus;
  Mr.PipelineTopicExpression = jus;
  Mr.RecordExpression = Nus;
  Mr.RegExpLiteral = Dus;
  Mr.SpreadElement = Mr.RestElement = Aus;
  Mr.StringLiteral = Bus;
  Mr.TopicReference = Fus;
  Mr.TupleExpression = kus;
  Mr._getRawIdentifier = Sus;
  var bus = Vn(), rfe = gd(), {
    isAssignmentPattern: xus,
    isIdentifier: A6
  } = bus, tfe = null, nv = "";
  function Sus(t) {
    if (t === tfe) return nv;
    tfe = t;
    let {
      name: e
    } = t, s = this.tokenMap.find(t, (r) => r.value === e);
    return s ? (nv = this._originalCode.slice(s.start, s.end), nv) : nv = t.name;
  }
  n(Sus, "_getRawIdentifier");
  function Pus(t) {
    var e;
    this.sourceIdentifierName(((e = t.loc) == null ? void 0 : e.identifierName) || t.name), this.word(this.tokenMap ? this._getRawIdentifier(
    t) : t.name);
  }
  n(Pus, "Identifier");
  function Eus() {
    this.tokenChar(63);
  }
  n(Eus, "ArgumentPlaceholder");
  function Aus(t) {
    this.token("..."), this.print(t.argument);
  }
  n(Aus, "RestElement");
  function vus(t) {
    let e = t.properties;
    if (this.tokenChar(123), e.length) {
      let s = this.enterDelimited();
      this.space(), this.printList(e, this.shouldPrintTrailingComma("}"), !0, !0), this.space(), s();
    }
    this.sourceWithOffset("end", t.loc, -1), this.tokenChar(125);
  }
  n(vus, "ObjectExpression");
  function Cus(t) {
    this.printJoin(t.decorators), this._methodHead(t), this.space(), this.print(t.body);
  }
  n(Cus, "ObjectMethod");
  function wus(t) {
    if (this.printJoin(t.decorators), t.computed)
      this.tokenChar(91), this.print(t.key), this.tokenChar(93);
    else {
      if (xus(t.value) && A6(t.key) && t.key.name === t.value.left.name) {
        this.print(t.value);
        return;
      }
      if (this.print(t.key), t.shorthand && A6(t.key) && A6(t.value) && t.key.name === t.value.name)
        return;
    }
    this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(wus, "ObjectProperty");
  function Ius(t) {
    let e = t.elements, s = e.length;
    this.tokenChar(91);
    let r = this.enterDelimited();
    for (let i = 0; i < e.length; i++) {
      let a = e[i];
      a ? (i > 0 && this.space(), this.print(a), (i < s - 1 || this.shouldPrintTrailingComma("]")) && this.token(",", !1, i)) : this.token("\
,", !1, i);
    }
    r(), this.tokenChar(93);
  }
  n(Ius, "ArrayExpression");
  function Nus(t) {
    let e = t.properties, s, r;
    if (this.format.recordAndTupleSyntaxType === "bar")
      s = "{|", r = "|}";
    else {
      if (this.format.recordAndTupleSyntaxType !== "hash" && this.format.recordAndTupleSyntaxType != null)
        throw new Error(`The "recordAndTupleSyntaxType" generator option must be "bar" or "hash" (${JSON.stringify(this.format.recordAndTupleSyntaxType)}\
 received).`);
      s = "#{", r = "}";
    }
    this.token(s), e.length && (this.space(), this.printList(e, this.shouldPrintTrailingComma(r), !0, !0), this.space()), this.token(r);
  }
  n(Nus, "RecordExpression");
  function kus(t) {
    let e = t.elements, s = e.length, r, i;
    if (this.format.recordAndTupleSyntaxType === "bar")
      r = "[|", i = "|]";
    else if (this.format.recordAndTupleSyntaxType === "hash")
      r = "#[", i = "]";
    else
      throw new Error(`${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`);
    this.token(r);
    for (let a = 0; a < e.length; a++) {
      let o = e[a];
      o && (a > 0 && this.space(), this.print(o), (a < s - 1 || this.shouldPrintTrailingComma(i)) && this.token(",", !1, a));
    }
    this.token(i);
  }
  n(kus, "TupleExpression");
  function Dus(t) {
    this.word(`/${t.pattern}/${t.flags}`);
  }
  n(Dus, "RegExpLiteral");
  function Ous(t) {
    this.word(t.value ? "true" : "false");
  }
  n(Ous, "BooleanLiteral");
  function _us() {
    this.word("null");
  }
  n(_us, "NullLiteral");
  function Lus(t) {
    let e = this.getPossibleRaw(t), s = this.format.jsescOption, r = t.value, i = r + "";
    s.numbers ? this.number(rfe(r, s), r) : e == null ? this.number(i, r) : this.format.minified ? this.number(e.length < i.length ? e : i, r) :
    this.number(e, r);
  }
  n(Lus, "NumericLiteral");
  function Bus(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.token(e);
      return;
    }
    let s = rfe(t.value, this.format.jsescOption);
    this.token(s);
  }
  n(Bus, "StringLiteral");
  function Mus(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.word(e);
      return;
    }
    this.word(t.value + "n");
  }
  n(Mus, "BigIntLiteral");
  var sfe = /* @__PURE__ */ new Set(["^^", "@@", "^", "%", "#"]);
  function Fus() {
    let {
      topicToken: t
    } = this.format;
    if (sfe.has(t))
      this.token(t);
    else {
      let e = JSON.stringify(t), s = Array.from(sfe, (r) => JSON.stringify(r));
      throw new Error(`The "topicToken" generator option must be one of ${s.join(", ")} (${e} received instead).`);
    }
  }
  n(Fus, "TopicReference");
  function jus(t) {
    this.print(t.expression);
  }
  n(jus, "PipelineTopicExpression");
  function Rus(t) {
    this.print(t.callee);
  }
  n(Rus, "PipelineBareFunction");
  function qus() {
    this.tokenChar(35);
  }
  n(qus, "PipelinePrimaryTopicReference");
});

// ../node_modules/@babel/generator/lib/generators/flow.js
var nfe = g((at) => {
  "use strict";
  Object.defineProperty(at, "__esModule", {
    value: !0
  });
  at.AnyTypeAnnotation = $us;
  at.ArrayTypeAnnotation = Hus;
  at.BooleanLiteralTypeAnnotation = Yus;
  at.BooleanTypeAnnotation = Jus;
  at.DeclareClass = zus;
  at.DeclareExportAllDeclaration = ocs;
  at.DeclareExportDeclaration = acs;
  at.DeclareFunction = Gus;
  at.DeclareInterface = ecs;
  at.DeclareModule = tcs;
  at.DeclareModuleExports = scs;
  at.DeclareOpaqueType = ics;
  at.DeclareTypeAlias = rcs;
  at.DeclareVariable = ncs;
  at.DeclaredPredicate = Zus;
  at.EmptyTypeAnnotation = Ncs;
  at.EnumBooleanBody = ucs;
  at.EnumBooleanMember = dcs;
  at.EnumDeclaration = lcs;
  at.EnumDefaultedMember = fcs;
  at.EnumNumberBody = ccs;
  at.EnumNumberMember = mcs;
  at.EnumStringBody = pcs;
  at.EnumStringMember = ycs;
  at.EnumSymbolBody = hcs;
  at.ExistsTypeAnnotation = Tcs;
  at.FunctionTypeAnnotation = bcs;
  at.FunctionTypeParam = xcs;
  at.IndexedAccessType = eps;
  at.InferredPredicate = Qus;
  at.InterfaceDeclaration = Acs;
  at.GenericTypeAnnotation = at.ClassImplements = at.InterfaceExtends = Scs;
  at.InterfaceTypeAnnotation = Ccs;
  at.IntersectionTypeAnnotation = wcs;
  at.MixedTypeAnnotation = Ics;
  at.NullLiteralTypeAnnotation = Xus;
  at.NullableTypeAnnotation = kcs;
  Object.defineProperty(at, "NumberLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return ife.NumericLiteral;
    }, "get")
  });
  at.NumberTypeAnnotation = Dcs;
  at.ObjectTypeAnnotation = Ucs;
  at.ObjectTypeCallProperty = Vcs;
  at.ObjectTypeIndexer = Wcs;
  at.ObjectTypeInternalSlot = Kcs;
  at.ObjectTypeProperty = $cs;
  at.ObjectTypeSpreadProperty = Hcs;
  at.OpaqueType = qcs;
  at.OptionalIndexedAccessType = tps;
  at.QualifiedTypeIdentifier = Jcs;
  Object.defineProperty(at, "StringLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return ife.StringLiteral;
    }, "get")
  });
  at.StringTypeAnnotation = Ocs;
  at.SymbolTypeAnnotation = Ycs;
  at.ThisTypeAnnotation = _cs;
  at.TupleTypeAnnotation = Lcs;
  at.TypeAlias = Mcs;
  at.TypeAnnotation = Fcs;
  at.TypeCastExpression = Gcs;
  at.TypeParameter = Rcs;
  at.TypeParameterDeclaration = at.TypeParameterInstantiation = jcs;
  at.TypeofTypeAnnotation = Bcs;
  at.UnionTypeAnnotation = zcs;
  at.Variance = Qcs;
  at.VoidTypeAnnotation = Zcs;
  at._interfaceish = Pcs;
  at._variance = Ecs;
  var Uus = Vn(), Kus = E6(), Vus = Rp(), ife = v6(), {
    isDeclareExportDeclaration: av,
    isStatement: Wus
  } = Uus;
  function $us() {
    this.word("any");
  }
  n($us, "AnyTypeAnnotation");
  function Hus(t) {
    this.print(t.elementType, !0), this.tokenChar(91), this.tokenChar(93);
  }
  n(Hus, "ArrayTypeAnnotation");
  function Jus() {
    this.word("boolean");
  }
  n(Jus, "BooleanTypeAnnotation");
  function Yus(t) {
    this.word(t.value ? "true" : "false");
  }
  n(Yus, "BooleanLiteralTypeAnnotation");
  function Xus() {
    this.word("null");
  }
  n(Xus, "NullLiteralTypeAnnotation");
  function zus(t, e) {
    av(e) || (this.word("declare"), this.space()), this.word("class"), this.space(), this._interfaceish(t);
  }
  n(zus, "DeclareClass");
  function Gus(t, e) {
    av(e) || (this.word("declare"), this.space()), this.word("function"), this.space(), this.print(t.id), this.print(t.id.typeAnnotation.typeAnnotation),
    t.predicate && (this.space(), this.print(t.predicate)), this.semicolon();
  }
  n(Gus, "DeclareFunction");
  function Qus() {
    this.tokenChar(37), this.word("checks");
  }
  n(Qus, "InferredPredicate");
  function Zus(t) {
    this.tokenChar(37), this.word("checks"), this.tokenChar(40), this.print(t.value), this.tokenChar(41);
  }
  n(Zus, "DeclaredPredicate");
  function ecs(t) {
    this.word("declare"), this.space(), this.InterfaceDeclaration(t);
  }
  n(ecs, "DeclareInterface");
  function tcs(t) {
    this.word("declare"), this.space(), this.word("module"), this.space(), this.print(t.id), this.space(), this.print(t.body);
  }
  n(tcs, "DeclareModule");
  function scs(t) {
    this.word("declare"), this.space(), this.word("module"), this.tokenChar(46), this.word("exports"), this.print(t.typeAnnotation);
  }
  n(scs, "DeclareModuleExports");
  function rcs(t) {
    this.word("declare"), this.space(), this.TypeAlias(t);
  }
  n(rcs, "DeclareTypeAlias");
  function ics(t, e) {
    av(e) || (this.word("declare"), this.space()), this.OpaqueType(t);
  }
  n(ics, "DeclareOpaqueType");
  function ncs(t, e) {
    av(e) || (this.word("declare"), this.space()), this.word("var"), this.space(), this.print(t.id), this.print(t.id.typeAnnotation), this.semicolon();
  }
  n(ncs, "DeclareVariable");
  function acs(t) {
    this.word("declare"), this.space(), this.word("export"), this.space(), t.default && (this.word("default"), this.space()), gcs.call(this,
    t);
  }
  n(acs, "DeclareExportDeclaration");
  function ocs(t) {
    this.word("declare"), this.space(), Kus.ExportAllDeclaration.call(this, t);
  }
  n(ocs, "DeclareExportAllDeclaration");
  function lcs(t) {
    let {
      id: e,
      body: s
    } = t;
    this.word("enum"), this.space(), this.print(e), this.print(s);
  }
  n(lcs, "EnumDeclaration");
  function ov(t, e, s) {
    s && (t.space(), t.word("of"), t.space(), t.word(e)), t.space();
  }
  n(ov, "enumExplicitType");
  function lv(t, e) {
    let {
      members: s
    } = e;
    t.token("{"), t.indent(), t.newline();
    for (let r of s)
      t.print(r), t.newline();
    e.hasUnknownMembers && (t.token("..."), t.newline()), t.dedent(), t.token("}");
  }
  n(lv, "enumBody");
  function ucs(t) {
    let {
      explicitType: e
    } = t;
    ov(this, "boolean", e), lv(this, t);
  }
  n(ucs, "EnumBooleanBody");
  function ccs(t) {
    let {
      explicitType: e
    } = t;
    ov(this, "number", e), lv(this, t);
  }
  n(ccs, "EnumNumberBody");
  function pcs(t) {
    let {
      explicitType: e
    } = t;
    ov(this, "string", e), lv(this, t);
  }
  n(pcs, "EnumStringBody");
  function hcs(t) {
    ov(this, "symbol", !0), lv(this, t);
  }
  n(hcs, "EnumSymbolBody");
  function fcs(t) {
    let {
      id: e
    } = t;
    this.print(e), this.tokenChar(44);
  }
  n(fcs, "EnumDefaultedMember");
  function C6(t, e) {
    t.print(e.id), t.space(), t.token("="), t.space(), t.print(e.init), t.token(",");
  }
  n(C6, "enumInitializedMember");
  function dcs(t) {
    C6(this, t);
  }
  n(dcs, "EnumBooleanMember");
  function mcs(t) {
    C6(this, t);
  }
  n(mcs, "EnumNumberMember");
  function ycs(t) {
    C6(this, t);
  }
  n(ycs, "EnumStringMember");
  function gcs(t) {
    if (t.declaration) {
      let e = t.declaration;
      this.print(e), Wus(e) || this.semicolon();
    } else
      this.tokenChar(123), t.specifiers.length && (this.space(), this.printList(t.specifiers), this.space()), this.tokenChar(125), t.source &&
      (this.space(), this.word("from"), this.space(), this.print(t.source)), this.semicolon();
  }
  n(gcs, "FlowExportDeclaration");
  function Tcs() {
    this.tokenChar(42);
  }
  n(Tcs, "ExistsTypeAnnotation");
  function bcs(t, e) {
    this.print(t.typeParameters), this.tokenChar(40), t.this && (this.word("this"), this.tokenChar(58), this.space(), this.print(t.this.typeAnnotation),
    (t.params.length || t.rest) && (this.tokenChar(44), this.space())), this.printList(t.params), t.rest && (t.params.length && (this.tokenChar(
    44), this.space()), this.token("..."), this.print(t.rest)), this.tokenChar(41);
    let s = e?.type;
    s != null && (s === "ObjectTypeCallProperty" || s === "ObjectTypeInternalSlot" || s === "DeclareFunction" || s === "ObjectTypeProperty" &&
    e.method) ? this.tokenChar(58) : (this.space(), this.token("=>")), this.space(), this.print(t.returnType);
  }
  n(bcs, "FunctionTypeAnnotation");
  function xcs(t) {
    this.print(t.name), t.optional && this.tokenChar(63), t.name && (this.tokenChar(58), this.space()), this.print(t.typeAnnotation);
  }
  n(xcs, "FunctionTypeParam");
  function Scs(t) {
    this.print(t.id), this.print(t.typeParameters, !0);
  }
  n(Scs, "InterfaceExtends");
  function Pcs(t) {
    var e;
    if (this.print(t.id), this.print(t.typeParameters), (e = t.extends) != null && e.length && (this.space(), this.word("extends"), this.space(),
    this.printList(t.extends)), t.type === "DeclareClass") {
      var s, r;
      (s = t.mixins) != null && s.length && (this.space(), this.word("mixins"), this.space(), this.printList(t.mixins)), (r = t.implements) !=
      null && r.length && (this.space(), this.word("implements"), this.space(), this.printList(t.implements));
    }
    this.space(), this.print(t.body);
  }
  n(Pcs, "_interfaceish");
  function Ecs(t) {
    var e;
    let s = (e = t.variance) == null ? void 0 : e.kind;
    s != null && (s === "plus" ? this.tokenChar(43) : s === "minus" && this.tokenChar(45));
  }
  n(Ecs, "_variance");
  function Acs(t) {
    this.word("interface"), this.space(), this._interfaceish(t);
  }
  n(Acs, "InterfaceDeclaration");
  function vcs(t) {
    this.space(), this.token("&", !1, t), this.space();
  }
  n(vcs, "andSeparator");
  function Ccs(t) {
    var e;
    this.word("interface"), (e = t.extends) != null && e.length && (this.space(), this.word("extends"), this.space(), this.printList(t.extends)),
    this.space(), this.print(t.body);
  }
  n(Ccs, "InterfaceTypeAnnotation");
  function wcs(t) {
    this.printJoin(t.types, void 0, void 0, vcs);
  }
  n(wcs, "IntersectionTypeAnnotation");
  function Ics() {
    this.word("mixed");
  }
  n(Ics, "MixedTypeAnnotation");
  function Ncs() {
    this.word("empty");
  }
  n(Ncs, "EmptyTypeAnnotation");
  function kcs(t) {
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(kcs, "NullableTypeAnnotation");
  function Dcs() {
    this.word("number");
  }
  n(Dcs, "NumberTypeAnnotation");
  function Ocs() {
    this.word("string");
  }
  n(Ocs, "StringTypeAnnotation");
  function _cs() {
    this.word("this");
  }
  n(_cs, "ThisTypeAnnotation");
  function Lcs(t) {
    this.tokenChar(91), this.printList(t.types), this.tokenChar(93);
  }
  n(Lcs, "TupleTypeAnnotation");
  function Bcs(t) {
    this.word("typeof"), this.space(), this.print(t.argument);
  }
  n(Bcs, "TypeofTypeAnnotation");
  function Mcs(t) {
    this.word("type"), this.space(), this.print(t.id), this.print(t.typeParameters), this.space(), this.tokenChar(61), this.space(), this.print(
    t.right), this.semicolon();
  }
  n(Mcs, "TypeAlias");
  function Fcs(t, e) {
    this.tokenChar(58), this.space(), e.type === "ArrowFunctionExpression" ? this.tokenContext |= Vus.TokenContext.arrowFlowReturnType : t.optional &&
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(Fcs, "TypeAnnotation");
  function jcs(t) {
    this.tokenChar(60), this.printList(t.params), this.tokenChar(62);
  }
  n(jcs, "TypeParameterInstantiation");
  function Rcs(t) {
    this._variance(t), this.word(t.name), t.bound && this.print(t.bound), t.default && (this.space(), this.tokenChar(61), this.space(), this.
    print(t.default));
  }
  n(Rcs, "TypeParameter");
  function qcs(t) {
    this.word("opaque"), this.space(), this.word("type"), this.space(), this.print(t.id), this.print(t.typeParameters), t.supertype && (this.
    tokenChar(58), this.space(), this.print(t.supertype)), t.impltype && (this.space(), this.tokenChar(61), this.space(), this.print(t.impltype)),
    this.semicolon();
  }
  n(qcs, "OpaqueType");
  function Ucs(t) {
    t.exact ? this.token("{|") : this.tokenChar(123);
    let e = [...t.properties, ...t.callProperties || [], ...t.indexers || [], ...t.internalSlots || []];
    e.length && (this.newline(), this.space(), this.printJoin(e, !0, !0, void 0, void 0, /* @__PURE__ */ n(function(r) {
      if (r && !e[0]) return 1;
    }, "addNewlines"), () => {
      (e.length !== 1 || t.inexact) && (this.tokenChar(44), this.space());
    }), this.space()), t.inexact && (this.indent(), this.token("..."), e.length && this.newline(), this.dedent()), t.exact ? this.token("|}") :
    this.tokenChar(125);
  }
  n(Ucs, "ObjectTypeAnnotation");
  function Kcs(t) {
    t.static && (this.word("static"), this.space()), this.tokenChar(91), this.tokenChar(91), this.print(t.id), this.tokenChar(93), this.tokenChar(
    93), t.optional && this.tokenChar(63), t.method || (this.tokenChar(58), this.space()), this.print(t.value);
  }
  n(Kcs, "ObjectTypeInternalSlot");
  function Vcs(t) {
    t.static && (this.word("static"), this.space()), this.print(t.value);
  }
  n(Vcs, "ObjectTypeCallProperty");
  function Wcs(t) {
    t.static && (this.word("static"), this.space()), this._variance(t), this.tokenChar(91), t.id && (this.print(t.id), this.tokenChar(58), this.
    space()), this.print(t.key), this.tokenChar(93), this.tokenChar(58), this.space(), this.print(t.value);
  }
  n(Wcs, "ObjectTypeIndexer");
  function $cs(t) {
    t.proto && (this.word("proto"), this.space()), t.static && (this.word("static"), this.space()), (t.kind === "get" || t.kind === "set") &&
    (this.word(t.kind), this.space()), this._variance(t), this.print(t.key), t.optional && this.tokenChar(63), t.method || (this.tokenChar(58),
    this.space()), this.print(t.value);
  }
  n($cs, "ObjectTypeProperty");
  function Hcs(t) {
    this.token("..."), this.print(t.argument);
  }
  n(Hcs, "ObjectTypeSpreadProperty");
  function Jcs(t) {
    this.print(t.qualification), this.tokenChar(46), this.print(t.id);
  }
  n(Jcs, "QualifiedTypeIdentifier");
  function Ycs() {
    this.word("symbol");
  }
  n(Ycs, "SymbolTypeAnnotation");
  function Xcs(t) {
    this.space(), this.token("|", !1, t), this.space();
  }
  n(Xcs, "orSeparator");
  function zcs(t) {
    this.printJoin(t.types, void 0, void 0, Xcs);
  }
  n(zcs, "UnionTypeAnnotation");
  function Gcs(t) {
    this.tokenChar(40), this.print(t.expression), this.print(t.typeAnnotation), this.tokenChar(41);
  }
  n(Gcs, "TypeCastExpression");
  function Qcs(t) {
    t.kind === "plus" ? this.tokenChar(43) : this.tokenChar(45);
  }
  n(Qcs, "Variance");
  function Zcs() {
    this.word("void");
  }
  n(Zcs, "VoidTypeAnnotation");
  function eps(t) {
    this.print(t.objectType, !0), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(eps, "IndexedAccessType");
  function tps(t) {
    this.print(t.objectType), t.optional && this.token("?."), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(tps, "OptionalIndexedAccessType");
});

// ../node_modules/@babel/generator/lib/generators/base.js
var afe = g((lc) => {
  "use strict";
  Object.defineProperty(lc, "__esModule", {
    value: !0
  });
  lc.BlockStatement = ips;
  lc.Directive = nps;
  lc.DirectiveLiteral = lps;
  lc.File = sps;
  lc.InterpreterDirective = ups;
  lc.Placeholder = cps;
  lc.Program = rps;
  function sps(t) {
    t.program && this.print(t.program.interpreter), this.print(t.program);
  }
  n(sps, "File");
  function rps(t) {
    var e;
    this.noIndentInnerCommentsHere(), this.printInnerComments();
    let s = (e = t.directives) == null ? void 0 : e.length;
    if (s) {
      var r;
      let i = t.body.length ? 2 : 1;
      this.printSequence(t.directives, void 0, i), (r = t.directives[s - 1].trailingComments) != null && r.length || this.newline(i);
    }
    this.printSequence(t.body);
  }
  n(rps, "Program");
  function ips(t) {
    var e;
    this.tokenChar(123);
    let s = this.enterDelimited(), r = (e = t.directives) == null ? void 0 : e.length;
    if (r) {
      var i;
      let a = t.body.length ? 2 : 1;
      this.printSequence(t.directives, !0, a), (i = t.directives[r - 1].trailingComments) != null && i.length || this.newline(a);
    }
    this.printSequence(t.body, !0), s(), this.rightBrace(t);
  }
  n(ips, "BlockStatement");
  function nps(t) {
    this.print(t.value), this.semicolon();
  }
  n(nps, "Directive");
  var aps = /(?:^|[^\\])(?:\\\\)*'/, ops = /(?:^|[^\\])(?:\\\\)*"/;
  function lps(t) {
    let e = this.getPossibleRaw(t);
    if (!this.format.minified && e !== void 0) {
      this.token(e);
      return;
    }
    let {
      value: s
    } = t;
    if (!ops.test(s))
      this.token(`"${s}"`);
    else if (!aps.test(s))
      this.token(`'${s}'`);
    else
      throw new Error("Malformed AST: it is not possible to print a directive containing both unescaped single and double quotes.");
  }
  n(lps, "DirectiveLiteral");
  function ups(t) {
    this.token(`#!${t.value}`), this.newline(1, !0);
  }
  n(ups, "InterpreterDirective");
  function cps(t) {
    this.token("%%"), this.print(t.name), this.token("%%"), t.expectedNode === "Statement" && this.semicolon();
  }
  n(cps, "Placeholder");
});

// ../node_modules/@babel/generator/lib/generators/jsx.js
var ofe = g((Qi) => {
  "use strict";
  Object.defineProperty(Qi, "__esModule", {
    value: !0
  });
  Qi.JSXAttribute = pps;
  Qi.JSXClosingElement = Pps;
  Qi.JSXClosingFragment = Cps;
  Qi.JSXElement = bps;
  Qi.JSXEmptyExpression = Eps;
  Qi.JSXExpressionContainer = yps;
  Qi.JSXFragment = Aps;
  Qi.JSXIdentifier = hps;
  Qi.JSXMemberExpression = dps;
  Qi.JSXNamespacedName = fps;
  Qi.JSXOpeningElement = Sps;
  Qi.JSXOpeningFragment = vps;
  Qi.JSXSpreadAttribute = mps;
  Qi.JSXSpreadChild = gps;
  Qi.JSXText = Tps;
  function pps(t) {
    this.print(t.name), t.value && (this.tokenChar(61), this.print(t.value));
  }
  n(pps, "JSXAttribute");
  function hps(t) {
    this.word(t.name);
  }
  n(hps, "JSXIdentifier");
  function fps(t) {
    this.print(t.namespace), this.tokenChar(58), this.print(t.name);
  }
  n(fps, "JSXNamespacedName");
  function dps(t) {
    this.print(t.object), this.tokenChar(46), this.print(t.property);
  }
  n(dps, "JSXMemberExpression");
  function mps(t) {
    this.tokenChar(123), this.token("..."), this.print(t.argument), this.rightBrace(t);
  }
  n(mps, "JSXSpreadAttribute");
  function yps(t) {
    this.tokenChar(123), this.print(t.expression), this.rightBrace(t);
  }
  n(yps, "JSXExpressionContainer");
  function gps(t) {
    this.tokenChar(123), this.token("..."), this.print(t.expression), this.rightBrace(t);
  }
  n(gps, "JSXSpreadChild");
  function Tps(t) {
    let e = this.getPossibleRaw(t);
    e !== void 0 ? this.token(e, !0) : this.token(t.value, !0);
  }
  n(Tps, "JSXText");
  function bps(t) {
    let e = t.openingElement;
    if (this.print(e), !e.selfClosing) {
      this.indent();
      for (let s of t.children)
        this.print(s);
      this.dedent(), this.print(t.closingElement);
    }
  }
  n(bps, "JSXElement");
  function xps() {
    this.space();
  }
  n(xps, "spaceSeparator");
  function Sps(t) {
    this.tokenChar(60), this.print(t.name), t.typeArguments && this.print(t.typeArguments), this.print(t.typeParameters), t.attributes.length >
    0 && (this.space(), this.printJoin(t.attributes, void 0, void 0, xps)), t.selfClosing && (this.space(), this.tokenChar(47)), this.tokenChar(
    62);
  }
  n(Sps, "JSXOpeningElement");
  function Pps(t) {
    this.tokenChar(60), this.tokenChar(47), this.print(t.name), this.tokenChar(62);
  }
  n(Pps, "JSXClosingElement");
  function Eps() {
    this.printInnerComments();
  }
  n(Eps, "JSXEmptyExpression");
  function Aps(t) {
    this.print(t.openingFragment), this.indent();
    for (let e of t.children)
      this.print(e);
    this.dedent(), this.print(t.closingFragment);
  }
  n(Aps, "JSXFragment");
  function vps() {
    this.tokenChar(60), this.tokenChar(62);
  }
  n(vps, "JSXOpeningFragment");
  function Cps() {
    this.token("</"), this.tokenChar(62);
  }
  n(Cps, "JSXClosingFragment");
});

// ../node_modules/@babel/generator/lib/generators/typescript.js
var hfe = g((Ge) => {
  "use strict";
  Object.defineProperty(Ge, "__esModule", {
    value: !0
  });
  Ge.TSAnyKeyword = qps;
  Ge.TSArrayType = ohs;
  Ge.TSSatisfiesExpression = Ge.TSAsExpression = vhs;
  Ge.TSBigIntKeyword = Ups;
  Ge.TSBooleanKeyword = $ps;
  Ge.TSCallSignatureDeclaration = Lps;
  Ge.TSInterfaceHeritage = Ge.TSClassImplements = Shs;
  Ge.TSConditionalType = dhs;
  Ge.TSConstructSignatureDeclaration = Bps;
  Ge.TSConstructorType = ths;
  Ge.TSDeclareFunction = Dps;
  Ge.TSDeclareMethod = Ops;
  Ge.TSEnumBody = pfe;
  Ge.TSEnumDeclaration = Ihs;
  Ge.TSEnumMember = Nhs;
  Ge.TSExportAssignment = Mhs;
  Ge.TSExternalModuleReference = Lhs;
  Ge.TSFunctionType = ehs;
  Ge.TSImportEqualsDeclaration = _hs;
  Ge.TSImportType = Ohs;
  Ge.TSIndexSignature = Rps;
  Ge.TSIndexedAccessType = Ths;
  Ge.TSInferType = mhs;
  Ge.TSInstantiationExpression = whs;
  Ge.TSInterfaceBody = Ehs;
  Ge.TSInterfaceDeclaration = Phs;
  Ge.TSIntersectionType = fhs;
  Ge.TSIntrinsicKeyword = Qps;
  Ge.TSLiteralType = xhs;
  Ge.TSMappedType = bhs;
  Ge.TSMethodSignature = jps;
  Ge.TSModuleBlock = Dhs;
  Ge.TSModuleDeclaration = khs;
  Ge.TSNamedTupleMember = phs;
  Ge.TSNamespaceExportDeclaration = Fhs;
  Ge.TSNeverKeyword = Gps;
  Ge.TSNonNullExpression = Bhs;
  Ge.TSNullKeyword = zps;
  Ge.TSNumberKeyword = Vps;
  Ge.TSObjectKeyword = Wps;
  Ge.TSOptionalType = uhs;
  Ge.TSParameterProperty = kps;
  Ge.TSParenthesizedType = yhs;
  Ge.TSPropertySignature = Mps;
  Ge.TSQualifiedName = _ps;
  Ge.TSRestType = chs;
  Ge.TSStringKeyword = Hps;
  Ge.TSSymbolKeyword = Jps;
  Ge.TSThisType = Zps;
  Ge.TSTupleType = lhs;
  Ge.TSTypeAliasDeclaration = Ahs;
  Ge.TSTypeAnnotation = wps;
  Ge.TSTypeAssertion = Chs;
  Ge.TSTypeLiteral = ahs;
  Ge.TSTypeOperator = ghs;
  Ge.TSTypeParameter = Nps;
  Ge.TSTypeParameterDeclaration = Ge.TSTypeParameterInstantiation = Ips;
  Ge.TSTypePredicate = ihs;
  Ge.TSTypeQuery = nhs;
  Ge.TSTypeReference = rhs;
  Ge.TSUndefinedKeyword = Xps;
  Ge.TSUnionType = hhs;
  Ge.TSUnknownKeyword = Kps;
  Ge.TSVoidKeyword = Yps;
  Ge.tsPrintClassMemberModifiers = Rhs;
  Ge.tsPrintFunctionOrConstructorType = shs;
  Ge.tsPrintPropertyOrMethodName = Fps;
  Ge.tsPrintSignatureDeclarationBase = jhs;
  function wps(t, e) {
    this.token((e.type === "TSFunctionType" || e.type === "TSConstructorType") && e.typeAnnotation === t ? "=>" : ":"), this.space(), t.optional &&
    this.tokenChar(63), this.print(t.typeAnnotation);
  }
  n(wps, "TSTypeAnnotation");
  function Ips(t, e) {
    this.tokenChar(60);
    let s = e.type === "ArrowFunctionExpression" && t.params.length === 1;
    this.tokenMap && t.start != null && t.end != null && (s && (s = !!this.tokenMap.find(t, (r) => this.tokenMap.matchesOriginal(r, ","))), s ||
    (s = this.shouldPrintTrailingComma(">"))), this.printList(t.params, s), this.tokenChar(62);
  }
  n(Ips, "TSTypeParameterInstantiation");
  function Nps(t) {
    t.in && (this.word("in"), this.space()), t.out && (this.word("out"), this.space()), this.word(t.name), t.constraint && (this.space(), this.
    word("extends"), this.space(), this.print(t.constraint)), t.default && (this.space(), this.tokenChar(61), this.space(), this.print(t.default));
  }
  n(Nps, "TSTypeParameter");
  function kps(t) {
    t.accessibility && (this.word(t.accessibility), this.space()), t.readonly && (this.word("readonly"), this.space()), this._param(t.parameter);
  }
  n(kps, "TSParameterProperty");
  function Dps(t, e) {
    t.declare && (this.word("declare"), this.space()), this._functionHead(t, e), this.semicolon();
  }
  n(Dps, "TSDeclareFunction");
  function Ops(t) {
    this._classMethodHead(t), this.semicolon();
  }
  n(Ops, "TSDeclareMethod");
  function _ps(t) {
    this.print(t.left), this.tokenChar(46), this.print(t.right);
  }
  n(_ps, "TSQualifiedName");
  function Lps(t) {
    this.tsPrintSignatureDeclarationBase(t), FT(this, t);
  }
  n(Lps, "TSCallSignatureDeclaration");
  function FT(t, e) {
    if (!t.tokenMap || !e.start || !e.end) {
      t.semicolon();
      return;
    }
    t.tokenMap.endMatches(e, ",") ? t.token(",") : t.tokenMap.endMatches(e, ";") && t.semicolon();
  }
  n(FT, "maybePrintTrailingCommaOrSemicolon");
  function Bps(t) {
    this.word("new"), this.space(), this.tsPrintSignatureDeclarationBase(t), FT(this, t);
  }
  n(Bps, "TSConstructSignatureDeclaration");
  function Mps(t) {
    let {
      readonly: e
    } = t;
    e && (this.word("readonly"), this.space()), this.tsPrintPropertyOrMethodName(t), this.print(t.typeAnnotation), FT(this, t);
  }
  n(Mps, "TSPropertySignature");
  function Fps(t) {
    t.computed && this.tokenChar(91), this.print(t.key), t.computed && this.tokenChar(93), t.optional && this.tokenChar(63);
  }
  n(Fps, "tsPrintPropertyOrMethodName");
  function jps(t) {
    let {
      kind: e
    } = t;
    (e === "set" || e === "get") && (this.word(e), this.space()), this.tsPrintPropertyOrMethodName(t), this.tsPrintSignatureDeclarationBase(
    t), FT(this, t);
  }
  n(jps, "TSMethodSignature");
  function Rps(t) {
    let {
      readonly: e,
      static: s
    } = t;
    s && (this.word("static"), this.space()), e && (this.word("readonly"), this.space()), this.tokenChar(91), this._parameters(t.parameters,
    "]"), this.print(t.typeAnnotation), FT(this, t);
  }
  n(Rps, "TSIndexSignature");
  function qps() {
    this.word("any");
  }
  n(qps, "TSAnyKeyword");
  function Ups() {
    this.word("bigint");
  }
  n(Ups, "TSBigIntKeyword");
  function Kps() {
    this.word("unknown");
  }
  n(Kps, "TSUnknownKeyword");
  function Vps() {
    this.word("number");
  }
  n(Vps, "TSNumberKeyword");
  function Wps() {
    this.word("object");
  }
  n(Wps, "TSObjectKeyword");
  function $ps() {
    this.word("boolean");
  }
  n($ps, "TSBooleanKeyword");
  function Hps() {
    this.word("string");
  }
  n(Hps, "TSStringKeyword");
  function Jps() {
    this.word("symbol");
  }
  n(Jps, "TSSymbolKeyword");
  function Yps() {
    this.word("void");
  }
  n(Yps, "TSVoidKeyword");
  function Xps() {
    this.word("undefined");
  }
  n(Xps, "TSUndefinedKeyword");
  function zps() {
    this.word("null");
  }
  n(zps, "TSNullKeyword");
  function Gps() {
    this.word("never");
  }
  n(Gps, "TSNeverKeyword");
  function Qps() {
    this.word("intrinsic");
  }
  n(Qps, "TSIntrinsicKeyword");
  function Zps() {
    this.word("this");
  }
  n(Zps, "TSThisType");
  function ehs(t) {
    this.tsPrintFunctionOrConstructorType(t);
  }
  n(ehs, "TSFunctionType");
  function ths(t) {
    t.abstract && (this.word("abstract"), this.space()), this.word("new"), this.space(), this.tsPrintFunctionOrConstructorType(t);
  }
  n(ths, "TSConstructorType");
  function shs(t) {
    let {
      typeParameters: e
    } = t, s = t.parameters;
    this.print(e), this.tokenChar(40), this._parameters(s, ")"), this.space();
    let r = t.typeAnnotation;
    this.print(r);
  }
  n(shs, "tsPrintFunctionOrConstructorType");
  function rhs(t) {
    let e = t.typeParameters;
    this.print(t.typeName, !!e), this.print(e);
  }
  n(rhs, "TSTypeReference");
  function ihs(t) {
    t.asserts && (this.word("asserts"), this.space()), this.print(t.parameterName), t.typeAnnotation && (this.space(), this.word("is"), this.
    space(), this.print(t.typeAnnotation.typeAnnotation));
  }
  n(ihs, "TSTypePredicate");
  function nhs(t) {
    this.word("typeof"), this.space(), this.print(t.exprName);
    let e = t.typeParameters;
    e && this.print(e);
  }
  n(nhs, "TSTypeQuery");
  function ahs(t) {
    uv(this, t, () => this.printJoin(t.members, !0, !0));
  }
  n(ahs, "TSTypeLiteral");
  function ohs(t) {
    this.print(t.elementType, !0), this.tokenChar(91), this.tokenChar(93);
  }
  n(ohs, "TSArrayType");
  function lhs(t) {
    this.tokenChar(91), this.printList(t.elementTypes, this.shouldPrintTrailingComma("]")), this.tokenChar(93);
  }
  n(lhs, "TSTupleType");
  function uhs(t) {
    this.print(t.typeAnnotation), this.tokenChar(63);
  }
  n(uhs, "TSOptionalType");
  function chs(t) {
    this.token("..."), this.print(t.typeAnnotation);
  }
  n(chs, "TSRestType");
  function phs(t) {
    this.print(t.label), t.optional && this.tokenChar(63), this.tokenChar(58), this.space(), this.print(t.elementType);
  }
  n(phs, "TSNamedTupleMember");
  function hhs(t) {
    cfe(this, t, "|");
  }
  n(hhs, "TSUnionType");
  function fhs(t) {
    cfe(this, t, "&");
  }
  n(fhs, "TSIntersectionType");
  function cfe(t, e, s) {
    var r;
    let i = 0;
    (r = t.tokenMap) != null && r.startMatches(e, s) && (i = 1, t.token(s)), t.printJoin(e.types, void 0, void 0, function(a) {
      this.space(), this.token(s, null, a + i), this.space();
    });
  }
  n(cfe, "tsPrintUnionOrIntersectionType");
  function dhs(t) {
    this.print(t.checkType), this.space(), this.word("extends"), this.space(), this.print(t.extendsType), this.space(), this.tokenChar(63), this.
    space(), this.print(t.trueType), this.space(), this.tokenChar(58), this.space(), this.print(t.falseType);
  }
  n(dhs, "TSConditionalType");
  function mhs(t) {
    this.word("infer"), this.print(t.typeParameter);
  }
  n(mhs, "TSInferType");
  function yhs(t) {
    this.tokenChar(40), this.print(t.typeAnnotation), this.tokenChar(41);
  }
  n(yhs, "TSParenthesizedType");
  function ghs(t) {
    this.word(t.operator), this.space(), this.print(t.typeAnnotation);
  }
  n(ghs, "TSTypeOperator");
  function Ths(t) {
    this.print(t.objectType, !0), this.tokenChar(91), this.print(t.indexType), this.tokenChar(93);
  }
  n(Ths, "TSIndexedAccessType");
  function bhs(t) {
    let {
      nameType: e,
      optional: s,
      readonly: r,
      typeAnnotation: i
    } = t;
    this.tokenChar(123);
    let a = this.enterDelimited();
    this.space(), r && (lfe(this, r), this.word("readonly"), this.space()), this.tokenChar(91), this.word(t.typeParameter.name), this.space(),
    this.word("in"), this.space(), this.print(t.typeParameter.constraint), e && (this.space(), this.word("as"), this.space(), this.print(e)),
    this.tokenChar(93), s && (lfe(this, s), this.tokenChar(63)), i && (this.tokenChar(58), this.space(), this.print(i)), this.space(), a(), this.
    tokenChar(125);
  }
  n(bhs, "TSMappedType");
  function lfe(t, e) {
    e !== !0 && t.token(e);
  }
  n(lfe, "tokenIfPlusMinus");
  function xhs(t) {
    this.print(t.literal);
  }
  n(xhs, "TSLiteralType");
  function Shs(t) {
    this.print(t.expression), this.print(t.typeArguments);
  }
  n(Shs, "TSClassImplements");
  function Phs(t) {
    let {
      declare: e,
      id: s,
      typeParameters: r,
      extends: i,
      body: a
    } = t;
    e && (this.word("declare"), this.space()), this.word("interface"), this.space(), this.print(s), this.print(r), i != null && i.length && (this.
    space(), this.word("extends"), this.space(), this.printList(i)), this.space(), this.print(a);
  }
  n(Phs, "TSInterfaceDeclaration");
  function Ehs(t) {
    uv(this, t, () => this.printJoin(t.body, !0, !0));
  }
  n(Ehs, "TSInterfaceBody");
  function Ahs(t) {
    let {
      declare: e,
      id: s,
      typeParameters: r,
      typeAnnotation: i
    } = t;
    e && (this.word("declare"), this.space()), this.word("type"), this.space(), this.print(s), this.print(r), this.space(), this.tokenChar(61),
    this.space(), this.print(i), this.semicolon();
  }
  n(Ahs, "TSTypeAliasDeclaration");
  function vhs(t) {
    let {
      type: e,
      expression: s,
      typeAnnotation: r
    } = t;
    this.print(s, !0), this.space(), this.word(e === "TSAsExpression" ? "as" : "satisfies"), this.space(), this.print(r);
  }
  n(vhs, "TSTypeExpression");
  function Chs(t) {
    let {
      typeAnnotation: e,
      expression: s
    } = t;
    this.tokenChar(60), this.print(e), this.tokenChar(62), this.space(), this.print(s);
  }
  n(Chs, "TSTypeAssertion");
  function whs(t) {
    this.print(t.expression), this.print(t.typeParameters);
  }
  n(whs, "TSInstantiationExpression");
  function Ihs(t) {
    let {
      declare: e,
      const: s,
      id: r
    } = t;
    e && (this.word("declare"), this.space()), s && (this.word("const"), this.space()), this.word("enum"), this.space(), this.print(r), this.
    space(), pfe.call(this, t);
  }
  n(Ihs, "TSEnumDeclaration");
  function pfe(t) {
    uv(this, t, () => {
      var e;
      return this.printList(t.members, (e = this.shouldPrintTrailingComma("}")) != null ? e : !0, !0, !0);
    });
  }
  n(pfe, "TSEnumBody");
  function Nhs(t) {
    let {
      id: e,
      initializer: s
    } = t;
    this.print(e), s && (this.space(), this.tokenChar(61), this.space(), this.print(s));
  }
  n(Nhs, "TSEnumMember");
  function khs(t) {
    let {
      declare: e,
      id: s,
      kind: r
    } = t;
    e && (this.word("declare"), this.space());
    {
      if (t.global || (this.word(r ?? (s.type === "Identifier" ? "namespace" : "module")), this.space()), this.print(s), !t.body) {
        this.semicolon();
        return;
      }
      let i = t.body;
      for (; i.type === "TSModuleDeclaration"; )
        this.tokenChar(46), this.print(i.id), i = i.body;
      this.space(), this.print(i);
    }
  }
  n(khs, "TSModuleDeclaration");
  function Dhs(t) {
    uv(this, t, () => this.printSequence(t.body, !0));
  }
  n(Dhs, "TSModuleBlock");
  function Ohs(t) {
    let {
      argument: e,
      qualifier: s,
      options: r
    } = t;
    this.word("import"), this.tokenChar(40), this.print(e), r && (this.tokenChar(44), this.print(r)), this.tokenChar(41), s && (this.tokenChar(
    46), this.print(s));
    let i = t.typeParameters;
    i && this.print(i);
  }
  n(Ohs, "TSImportType");
  function _hs(t) {
    let {
      isExport: e,
      id: s,
      moduleReference: r
    } = t;
    e && (this.word("export"), this.space()), this.word("import"), this.space(), this.print(s), this.space(), this.tokenChar(61), this.space(),
    this.print(r), this.semicolon();
  }
  n(_hs, "TSImportEqualsDeclaration");
  function Lhs(t) {
    this.token("require("), this.print(t.expression), this.tokenChar(41);
  }
  n(Lhs, "TSExternalModuleReference");
  function Bhs(t) {
    this.print(t.expression), this.tokenChar(33);
  }
  n(Bhs, "TSNonNullExpression");
  function Mhs(t) {
    this.word("export"), this.space(), this.tokenChar(61), this.space(), this.print(t.expression), this.semicolon();
  }
  n(Mhs, "TSExportAssignment");
  function Fhs(t) {
    this.word("export"), this.space(), this.word("as"), this.space(), this.word("namespace"), this.space(), this.print(t.id), this.semicolon();
  }
  n(Fhs, "TSNamespaceExportDeclaration");
  function jhs(t) {
    let {
      typeParameters: e
    } = t, s = t.parameters;
    this.print(e), this.tokenChar(40), this._parameters(s, ")");
    let r = t.typeAnnotation;
    this.print(r);
  }
  n(jhs, "tsPrintSignatureDeclarationBase");
  function Rhs(t) {
    let e = t.type === "ClassAccessorProperty" || t.type === "ClassProperty";
    ufe(this, t, [e && t.declare && "declare", t.accessibility]), t.static && (this.word("static"), this.space()), ufe(this, t, [t.override &&
    "override", t.abstract && "abstract", e && t.readonly && "readonly"]);
  }
  n(Rhs, "tsPrintClassMemberModifiers");
  function uv(t, e, s) {
    t.token("{");
    let r = t.enterDelimited();
    s(), r(), t.rightBrace(e);
  }
  n(uv, "printBraced");
  function ufe(t, e, s) {
    var r;
    let i = /* @__PURE__ */ new Set();
    for (let a of s)
      a && i.add(a);
    (r = t.tokenMap) == null || r.find(e, (a) => {
      if (i.has(a.value))
        return t.token(a.value), t.space(), i.delete(a.value), i.size === 0;
    });
    for (let a of i)
      t.word(a), t.space();
  }
  n(ufe, "printModifiersList");
});

// ../node_modules/@babel/generator/lib/generators/index.js
var ffe = g((Ms) => {
  "use strict";
  Object.defineProperty(Ms, "__esModule", {
    value: !0
  });
  var w6 = Vhe();
  Object.keys(w6).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ms && Ms[t] === w6[t] || Object.defineProperty(Ms, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return w6[t];
      }, "get")
    });
  });
  var I6 = $he();
  Object.keys(I6).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ms && Ms[t] === I6[t] || Object.defineProperty(Ms, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return I6[t];
      }, "get")
    });
  });
  var N6 = Xhe();
  Object.keys(N6).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ms && Ms[t] === N6[t] || Object.defineProperty(Ms, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return N6[t];
      }, "get")
    });
  });
  var k6 = zhe();
  Object.keys(k6).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ms && Ms[t] === k6[t] || Object.defineProperty(Ms, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return k6[t];
      }, "get")
    });
  });
  var D6 = Ghe();
  Object.keys(D6).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ms && Ms[t] === D6[t] || Object.defineProperty(Ms, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return D6[t];
      }, "get")
    });
  });
  var O6 = E6();
  Object.keys(O6).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ms && Ms[t] === O6[t] || Object.defineProperty(Ms, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return O6[t];
      }, "get")
    });
  });
  var _6 = v6();
  Object.keys(_6).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ms && Ms[t] === _6[t] || Object.defineProperty(Ms, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return _6[t];
      }, "get")
    });
  });
  var L6 = nfe();
  Object.keys(L6).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ms && Ms[t] === L6[t] || Object.defineProperty(Ms, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return L6[t];
      }, "get")
    });
  });
  var B6 = afe();
  Object.keys(B6).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ms && Ms[t] === B6[t] || Object.defineProperty(Ms, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return B6[t];
      }, "get")
    });
  });
  var M6 = ofe();
  Object.keys(M6).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ms && Ms[t] === M6[t] || Object.defineProperty(Ms, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return M6[t];
      }, "get")
    });
  });
  var F6 = hfe();
  Object.keys(F6).forEach(function(t) {
    t === "default" || t === "__esModule" || t in Ms && Ms[t] === F6[t] || Object.defineProperty(Ms, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return F6[t];
      }, "get")
    });
  });
});

// ../node_modules/@babel/generator/lib/generators/deprecated.js
var dfe = g((j6) => {
  "use strict";
  Object.defineProperty(j6, "__esModule", {
    value: !0
  });
  j6.addDeprecatedGenerators = qhs;
  function qhs(t) {
    {
      let e = {
        Noop() {
        },
        TSExpressionWithTypeArguments(s) {
          this.print(s.expression), this.print(s.typeParameters);
        },
        DecimalLiteral(s) {
          let r = this.getPossibleRaw(s);
          if (!this.format.minified && r !== void 0) {
            this.word(r);
            return;
          }
          this.word(s.value + "m");
        }
      };
      Object.assign(t.prototype, e);
    }
  }
  n(qhs, "addDeprecatedGenerators");
});

// ../node_modules/@babel/generator/lib/printer.js
var Tfe = g((cv) => {
  "use strict";
  Object.defineProperty(cv, "__esModule", {
    value: !0
  });
  cv.default = void 0;
  var Uhs = Uce(), yfe = Rp(), Khs = Vn(), Vhs = Khe(), Whs = ffe(), $hs = dfe(), {
    isExpression: Hhs,
    isFunction: Jhs,
    isStatement: Yhs,
    isClassBody: Xhs,
    isTSInterfaceBody: zhs,
    isTSEnumMember: Ghs
  } = Khs, Qhs = /e/i, Zhs = /\.0+$/, gfe = /[\n\r\u2028\u2029]/, efs = /[\n\r\u2028\u2029]|\*\//;
  function mfe(t) {
    return t.type === "CommentLine" || gfe.test(t.value);
  }
  n(mfe, "commentIsNewline");
  var {
    needsParens: tfs
  } = yfe, jT = class {
    static {
      n(this, "Printer");
    }
    constructor(e, s, r, i) {
      this.inForStatementInit = !1, this.tokenContext = 0, this._tokens = null, this._originalCode = null, this._currentNode = null, this._indent =
      0, this._indentRepeat = 0, this._insideAux = !1, this._noLineTerminator = !1, this._noLineTerminatorAfterNode = null, this._printAuxAfterOnNextUserNode =
      !1, this._printedComments = /* @__PURE__ */ new Set(), this._endsWithInteger = !1, this._endsWithWord = !1, this._endsWithDiv = !1, this.
      _lastCommentLine = 0, this._endsWithInnerRaw = !1, this._indentInnerComments = !0, this.tokenMap = null, this._boundGetRawIdentifier =
      this._getRawIdentifier.bind(this), this._printSemicolonBeforeNextNode = -1, this._printSemicolonBeforeNextToken = -1, this.format = e,
      this._tokens = r, this._originalCode = i, this._indentRepeat = e.indent.style.length, this._inputMap = s?._inputMap, this._buf = new Uhs.
      default(s, e.indent.style[0]);
    }
    enterForStatementInit() {
      return this.inForStatementInit ? () => {
      } : (this.inForStatementInit = !0, () => {
        this.inForStatementInit = !1;
      });
    }
    enterDelimited() {
      let e = this.inForStatementInit, s = this._noLineTerminatorAfterNode;
      return e === !1 && s === null ? () => {
      } : (this.inForStatementInit = !1, this._noLineTerminatorAfterNode = null, () => {
        this.inForStatementInit = e, this._noLineTerminatorAfterNode = s;
      });
    }
    generate(e) {
      return this.format.preserveFormat && (this.tokenMap = new Vhs.TokenMap(e, this._tokens, this._originalCode)), this.print(e), this._maybeAddAuxComment(),
      this._buf.get();
    }
    indent() {
      let {
        format: e
      } = this;
      e.preserveFormat || e.compact || e.concise || this._indent++;
    }
    dedent() {
      let {
        format: e
      } = this;
      e.preserveFormat || e.compact || e.concise || this._indent--;
    }
    semicolon(e = !1) {
      if (this._maybeAddAuxComment(), e) {
        this._appendChar(59), this._noLineTerminator = !1;
        return;
      }
      if (this.tokenMap) {
        let s = this._currentNode;
        if (s.start != null && s.end != null) {
          if (!this.tokenMap.endMatches(s, ";")) {
            this._printSemicolonBeforeNextNode = this._buf.getCurrentLine();
            return;
          }
          let r = this.tokenMap.getIndexes(this._currentNode);
          this._catchUpTo(this._tokens[r[r.length - 1]].loc.start);
        }
      }
      this._queue(59), this._noLineTerminator = !1;
    }
    rightBrace(e) {
      this.format.minified && this._buf.removeLastSemicolon(), this.sourceWithOffset("end", e.loc, -1), this.tokenChar(125);
    }
    rightParens(e) {
      this.sourceWithOffset("end", e.loc, -1), this.tokenChar(41);
    }
    space(e = !1) {
      let {
        format: s
      } = this;
      if (!(s.compact || s.preserveFormat)) {
        if (e)
          this._space();
        else if (this._buf.hasContent()) {
          let r = this.getLastChar();
          r !== 32 && r !== 10 && this._space();
        }
      }
    }
    word(e, s = !1) {
      this.tokenContext = 0, this._maybePrintInnerComments(e), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(e), (this.
      _endsWithWord || this._endsWithDiv && e.charCodeAt(0) === 47) && this._space(), this._append(e, !1), this._endsWithWord = !0, this._noLineTerminator =
      s;
    }
    number(e, s) {
      function r(i) {
        if (i.length > 2 && i.charCodeAt(0) === 48) {
          let a = i.charCodeAt(1);
          return a === 98 || a === 111 || a === 120;
        }
        return !1;
      }
      n(r, "isNonDecimalLiteral"), this.word(e), this._endsWithInteger = Number.isInteger(s) && !r(e) && !Qhs.test(e) && !Zhs.test(e) && e.charCodeAt(
      e.length - 1) !== 46;
    }
    token(e, s = !1, r = 0) {
      this.tokenContext = 0, this._maybePrintInnerComments(e, r), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(e,
      r);
      let i = this.getLastChar(), a = e.charCodeAt(0);
      (i === 33 && (e === "--" || a === 61) || a === 43 && i === 43 || a === 45 && i === 45 || a === 46 && this._endsWithInteger) && this._space(),
      this._append(e, s), this._noLineTerminator = !1;
    }
    tokenChar(e) {
      this.tokenContext = 0;
      let s = String.fromCharCode(e);
      this._maybePrintInnerComments(s), this._maybeAddAuxComment(), this.tokenMap && this._catchUpToCurrentToken(s);
      let r = this.getLastChar();
      (e === 43 && r === 43 || e === 45 && r === 45 || e === 46 && this._endsWithInteger) && this._space(), this._appendChar(e), this._noLineTerminator =
      !1;
    }
    newline(e = 1, s) {
      if (!(e <= 0)) {
        if (!s) {
          if (this.format.retainLines || this.format.compact) return;
          if (this.format.concise) {
            this.space();
            return;
          }
        }
        e > 2 && (e = 2), e -= this._buf.getNewlineCount();
        for (let r = 0; r < e; r++)
          this._newline();
      }
    }
    endsWith(e) {
      return this.getLastChar() === e;
    }
    getLastChar() {
      return this._buf.getLastChar();
    }
    endsWithCharAndNewline() {
      return this._buf.endsWithCharAndNewline();
    }
    removeTrailingNewline() {
      this._buf.removeTrailingNewline();
    }
    exactSource(e, s) {
      if (!e) {
        s();
        return;
      }
      this._catchUp("start", e), this._buf.exactSource(e, s);
    }
    source(e, s) {
      s && (this._catchUp(e, s), this._buf.source(e, s));
    }
    sourceWithOffset(e, s, r) {
      !s || this.format.preserveFormat || (this._catchUp(e, s), this._buf.sourceWithOffset(e, s, r));
    }
    sourceIdentifierName(e, s) {
      if (!this._buf._canMarkIdName) return;
      let r = this._buf._sourcePosition;
      r.identifierNamePos = s, r.identifierName = e;
    }
    _space() {
      this._queue(32);
    }
    _newline() {
      this._queue(10);
    }
    _catchUpToCurrentToken(e, s = 0) {
      let r = this.tokenMap.findMatching(this._currentNode, e, s);
      r && this._catchUpTo(r.loc.start), this._printSemicolonBeforeNextToken !== -1 && this._printSemicolonBeforeNextToken === this._buf.getCurrentLine() &&
      (this._buf.appendChar(59), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1), this._printSemicolonBeforeNextToken =
      -1, this._printSemicolonBeforeNextNode = -1;
    }
    _append(e, s) {
      this._maybeIndent(e.charCodeAt(0)), this._buf.append(e, s), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1;
    }
    _appendChar(e) {
      this._maybeIndent(e), this._buf.appendChar(e), this._endsWithWord = !1, this._endsWithInteger = !1, this._endsWithDiv = !1;
    }
    _queue(e) {
      this._maybeIndent(e), this._buf.queue(e), this._endsWithWord = !1, this._endsWithInteger = !1;
    }
    _maybeIndent(e) {
      this._indent && e !== 10 && this.endsWith(10) && this._buf.queueIndentation(this._getIndent());
    }
    _shouldIndent(e) {
      if (this._indent && e !== 10 && this.endsWith(10))
        return !0;
    }
    catchUp(e) {
      if (!this.format.retainLines) return;
      let s = e - this._buf.getCurrentLine();
      for (let r = 0; r < s; r++)
        this._newline();
    }
    _catchUp(e, s) {
      let {
        format: r
      } = this;
      if (!r.preserveFormat) {
        r.retainLines && s != null && s[e] && this.catchUp(s[e].line);
        return;
      }
      let i = s?.[e];
      i != null && this._catchUpTo(i);
    }
    _catchUpTo({
      line: e,
      column: s,
      index: r
    }) {
      let i = e - this._buf.getCurrentLine();
      if (i > 0 && this._noLineTerminator)
        return;
      for (let o = 0; o < i; o++)
        this._newline();
      let a = i > 0 ? s : s - this._buf.getCurrentColumn();
      if (a > 0) {
        let o = this._originalCode ? this._originalCode.slice(r - a, r).replace(/[^\t\x0B\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/gu,
        " ") : " ".repeat(a);
        this._append(o, !1);
      }
    }
    _getIndent() {
      return this._indentRepeat * this._indent;
    }
    printTerminatorless(e) {
      this._noLineTerminator = !0, this.print(e);
    }
    print(e, s, r) {
      var i, a, o;
      if (!e) return;
      this._endsWithInnerRaw = !1;
      let l = e.type, u = this.format, c = u.concise;
      e._compact && (u.concise = !0);
      let p = this[l];
      if (p === void 0)
        throw new ReferenceError(`unknown node of type ${JSON.stringify(l)} with constructor ${JSON.stringify(e.constructor.name)}`);
      let h = this._currentNode;
      this._currentNode = e, this.tokenMap && (this._printSemicolonBeforeNextToken = this._printSemicolonBeforeNextNode);
      let f = this._insideAux;
      this._insideAux = e.loc == null, this._maybeAddAuxComment(this._insideAux && !f);
      let d = (i = e.extra) == null ? void 0 : i.parenthesized, m = d && u.preserveFormat || d && u.retainFunctionParens && l === "FunctionE\
xpression" || tfs(e, h, this.tokenContext, this.inForStatementInit, u.preserveFormat ? this._boundGetRawIdentifier : void 0);
      if (!m && d && (a = e.leadingComments) != null && a.length && e.leadingComments[0].type === "CommentBlock")
        switch (h?.type) {
          case "ExpressionStatement":
          case "VariableDeclarator":
          case "AssignmentExpression":
          case "ReturnStatement":
            break;
          case "CallExpression":
          case "OptionalCallExpression":
          case "NewExpression":
            if (h.callee !== e) break;
          default:
            m = !0;
        }
      let y = !1;
      !m && this._noLineTerminator && ((o = e.leadingComments) != null && o.some(mfe) || this.format.retainLines && e.loc && e.loc.start.line >
      this._buf.getCurrentLine()) && (m = !0, y = !0);
      let T, b;
      if (!m && (s || (s = h && this._noLineTerminatorAfterNode === h && yfe.isLastChild(h, e)), s)) {
        var E;
        (E = e.trailingComments) != null && E.some(mfe) ? Hhs(e) && (m = !0) : (T = this._noLineTerminatorAfterNode, this._noLineTerminatorAfterNode =
        e);
      }
      m && (this.tokenChar(40), y && this.indent(), this._endsWithInnerRaw = !1, this.inForStatementInit && (b = !0, this.inForStatementInit =
      !1), T = this._noLineTerminatorAfterNode, this._noLineTerminatorAfterNode = null), this._lastCommentLine = 0, this._printLeadingComments(
      e, h);
      let V = l === "Program" || l === "File" ? null : e.loc;
      this.exactSource(V, p.bind(this, e, h)), m ? (this._printTrailingComments(e, h), y && (this.dedent(), this.newline()), this.tokenChar(
      41), this._noLineTerminator = s, b && (this.inForStatementInit = !0)) : s && !this._noLineTerminator ? (this._noLineTerminator = !0, this.
      _printTrailingComments(e, h)) : this._printTrailingComments(e, h, r), this._currentNode = h, u.concise = c, this._insideAux = f, T !==
      void 0 && (this._noLineTerminatorAfterNode = T), this._endsWithInnerRaw = !1;
    }
    _maybeAddAuxComment(e) {
      e && this._printAuxBeforeComment(), this._insideAux || this._printAuxAfterComment();
    }
    _printAuxBeforeComment() {
      if (this._printAuxAfterOnNextUserNode) return;
      this._printAuxAfterOnNextUserNode = !0;
      let e = this.format.auxiliaryCommentBefore;
      e && this._printComment({
        type: "CommentBlock",
        value: e
      }, 0);
    }
    _printAuxAfterComment() {
      if (!this._printAuxAfterOnNextUserNode) return;
      this._printAuxAfterOnNextUserNode = !1;
      let e = this.format.auxiliaryCommentAfter;
      e && this._printComment({
        type: "CommentBlock",
        value: e
      }, 0);
    }
    getPossibleRaw(e) {
      let s = e.extra;
      if (s?.raw != null && s.rawValue != null && e.value === s.rawValue)
        return s.raw;
    }
    printJoin(e, s, r, i, a, o, l, u) {
      if (!(e != null && e.length)) return;
      if (r == null && this.format.retainLines) {
        var c;
        let y = (c = e[0].loc) == null ? void 0 : c.start.line;
        y != null && y !== this._buf.getCurrentLine() && (r = !0);
      }
      r && this.indent();
      let p = {
        addNewlines: o,
        nextNodeStartLine: 0
      }, h = i?.bind(this), f = e.length;
      for (let y = 0; y < f; y++) {
        let T = e[y];
        if (T && (s && this._printNewline(y === 0, p), this.print(T, void 0, u || 0), l?.(T, y), h != null && (y < f - 1 ? h(y, !1) : a && h(
        y, !0)), s)) {
          var d;
          if ((d = T.trailingComments) != null && d.length || (this._lastCommentLine = 0), y + 1 === f)
            this.newline(1);
          else {
            var m;
            let b = e[y + 1];
            p.nextNodeStartLine = ((m = b.loc) == null ? void 0 : m.start.line) || 0, this._printNewline(!0, p);
          }
        }
      }
      r && this.dedent();
    }
    printAndIndentOnComments(e) {
      let s = e.leadingComments && e.leadingComments.length > 0;
      s && this.indent(), this.print(e), s && this.dedent();
    }
    printBlock(e) {
      let s = e.body;
      s.type !== "EmptyStatement" && this.space(), this.print(s);
    }
    _printTrailingComments(e, s, r) {
      let {
        innerComments: i,
        trailingComments: a
      } = e;
      i != null && i.length && this._printComments(2, i, e, s, r), a != null && a.length && this._printComments(2, a, e, s, r);
    }
    _printLeadingComments(e, s) {
      let r = e.leadingComments;
      r != null && r.length && this._printComments(0, r, e, s);
    }
    _maybePrintInnerComments(e, s) {
      if (this._endsWithInnerRaw) {
        var r;
        this.printInnerComments((r = this.tokenMap) == null ? void 0 : r.findMatching(this._currentNode, e, s));
      }
      this._endsWithInnerRaw = !0, this._indentInnerComments = !0;
    }
    printInnerComments(e) {
      let s = this._currentNode, r = s.innerComments;
      if (!(r != null && r.length)) return;
      let i = this.endsWith(32), a = this._indentInnerComments, o = this._printedComments.size;
      a && this.indent(), this._printComments(1, r, s, void 0, void 0, e), i && o !== this._printedComments.size && this.space(), a && this.
      dedent();
    }
    noIndentInnerCommentsHere() {
      this._indentInnerComments = !1;
    }
    printSequence(e, s, r, i) {
      this.printJoin(e, !0, s ?? !1, void 0, void 0, i, void 0, r);
    }
    printList(e, s, r, i, a, o) {
      this.printJoin(e, r, i, a ?? sfs, s, void 0, o);
    }
    shouldPrintTrailingComma(e) {
      if (!this.tokenMap) return null;
      let s = this.tokenMap.findLastIndex(this._currentNode, (r) => this.tokenMap.matchesOriginal(r, e));
      return s <= 0 ? null : this.tokenMap.matchesOriginal(this._tokens[s - 1], ",");
    }
    _printNewline(e, s) {
      let r = this.format;
      if (r.retainLines || r.compact) return;
      if (r.concise) {
        this.space();
        return;
      }
      if (!e)
        return;
      let i = s.nextNodeStartLine, a = this._lastCommentLine;
      if (i > 0 && a > 0) {
        let o = i - a;
        if (o >= 0) {
          this.newline(o || 1);
          return;
        }
      }
      this._buf.hasContent() && this.newline(1);
    }
    _shouldPrintComment(e, s) {
      if (e.ignore || this._printedComments.has(e)) return 0;
      if (this._noLineTerminator && efs.test(e.value))
        return 2;
      if (s && this.tokenMap) {
        let r = this.tokenMap.find(this._currentNode, (i) => i.value === e.value);
        if (r && r.start > s.start)
          return 2;
      }
      return this._printedComments.add(e), this.format.shouldPrintComment(e.value) ? 1 : 0;
    }
    _printComment(e, s) {
      let r = this._noLineTerminator, i = e.type === "CommentBlock", a = i && s !== 1 && !this._noLineTerminator;
      a && this._buf.hasContent() && s !== 2 && this.newline(1);
      let o = this.getLastChar();
      o !== 91 && o !== 123 && o !== 40 && this.space();
      let l;
      if (i) {
        if (l = `/*${e.value}*/`, this.format.indent.adjustMultilineComment) {
          var u;
          let c = (u = e.loc) == null ? void 0 : u.start.column;
          if (c) {
            let p = new RegExp("\\n\\s{1," + c + "}", "g");
            l = l.replace(p, `
`);
          }
          if (this.format.concise)
            l = l.replace(/\n(?!$)/g, `
`);
          else {
            let p = this.format.retainLines ? 0 : this._buf.getCurrentColumn();
            (this._shouldIndent(47) || this.format.retainLines) && (p += this._getIndent()), l = l.replace(/\n(?!$)/g, `
${" ".repeat(p)}`);
          }
        }
      } else r ? l = `/*${e.value}*/` : l = `//${e.value}`;
      if (this._endsWithDiv && this._space(), this.tokenMap) {
        let {
          _printSemicolonBeforeNextToken: c,
          _printSemicolonBeforeNextNode: p
        } = this;
        this._printSemicolonBeforeNextToken = -1, this._printSemicolonBeforeNextNode = -1, this.source("start", e.loc), this._append(l, i), this.
        _printSemicolonBeforeNextNode = p, this._printSemicolonBeforeNextToken = c;
      } else
        this.source("start", e.loc), this._append(l, i);
      !i && !r && this.newline(1, !0), a && s !== 3 && this.newline(1);
    }
    _printComments(e, s, r, i, a = 0, o) {
      let l = r.loc, u = s.length, c = !!l, p = c ? l.start.line : 0, h = c ? l.end.line : 0, f = 0, d = 0, m = this._noLineTerminator ? function() {
      } : this.newline.bind(this);
      for (let y = 0; y < u; y++) {
        let T = s[y], b = this._shouldPrintComment(T, o);
        if (b === 2) {
          c = !1;
          break;
        }
        if (c && T.loc && b === 1) {
          let E = T.loc.start.line, V = T.loc.end.line;
          if (e === 0) {
            let W = 0;
            y === 0 ? this._buf.hasContent() && (T.type === "CommentLine" || E !== V) && (W = d = 1) : W = E - f, f = V, m(W), this._printComment(
            T, 1), y + 1 === u && (m(Math.max(p - f, d)), f = p);
          } else if (e === 1) {
            let W = E - (y === 0 ? p : f);
            f = V, m(W), this._printComment(T, 1), y + 1 === u && (m(Math.min(1, h - f)), f = h);
          } else {
            let W = E - (y === 0 ? h - a : f);
            f = V, m(W), this._printComment(T, 1);
          }
        } else {
          if (c = !1, b !== 1)
            continue;
          if (u === 1) {
            let E = T.loc ? T.loc.start.line === T.loc.end.line : !gfe.test(T.value), V = E && !Yhs(r) && !Xhs(i) && !zhs(i) && !Ghs(r);
            e === 0 ? this._printComment(T, V && r.type !== "ObjectExpression" || E && Jhs(i, {
              body: r
            }) ? 1 : 0) : V && e === 2 ? this._printComment(T, 1) : this._printComment(T, 0);
          } else e === 1 && !(r.type === "ObjectExpression" && r.properties.length > 1) && r.type !== "ClassBody" && r.type !== "TSInterface\
Body" ? this._printComment(T, y === 0 ? 2 : y === u - 1 ? 3 : 0) : this._printComment(T, 0);
        }
      }
      e === 2 && c && f && (this._lastCommentLine = f);
    }
  };
  Object.assign(jT.prototype, Whs);
  (0, $hs.addDeprecatedGenerators)(jT);
  var irr = cv.default = jT;
  function sfs(t, e) {
    this.token(",", !1, t), e || this.space();
  }
  n(sfs, "commaSeparator");
});

// ../node_modules/@babel/generator/lib/index.js
var R6 = g((pv) => {
  "use strict";
  Object.defineProperty(pv, "__esModule", {
    value: !0
  });
  pv.default = rfs;
  var bfe = qce(), xfe = Tfe();
  function Sfe(t, e, s) {
    if (e.experimental_preserveFormat) {
      if (typeof t != "string")
        throw new Error("`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string");
      if (!e.retainLines)
        throw new Error("`experimental_preserveFormat` requires `retainLines` to be set to `true`");
      if (e.compact && e.compact !== "auto")
        throw new Error("`experimental_preserveFormat` is not compatible with the `compact` option");
      if (e.minified)
        throw new Error("`experimental_preserveFormat` is not compatible with the `minified` option");
      if (e.jsescOption)
        throw new Error("`experimental_preserveFormat` is not compatible with the `jsescOption` option");
      if (!Array.isArray(s.tokens))
        throw new Error("`experimental_preserveFormat` requires the AST to have attatched the token of the input code. Make sure to enable t\
he `tokens: true` parser option.");
    }
    let r = {
      auxiliaryCommentBefore: e.auxiliaryCommentBefore,
      auxiliaryCommentAfter: e.auxiliaryCommentAfter,
      shouldPrintComment: e.shouldPrintComment,
      preserveFormat: e.experimental_preserveFormat,
      retainLines: e.retainLines,
      retainFunctionParens: e.retainFunctionParens,
      comments: e.comments == null || e.comments,
      compact: e.compact,
      minified: e.minified,
      concise: e.concise,
      indent: {
        adjustMultilineComment: !0,
        style: "  "
      },
      jsescOption: Object.assign({
        quotes: "double",
        wrap: !0,
        minimal: !1
      }, e.jsescOption),
      topicToken: e.topicToken,
      importAttributesKeyword: e.importAttributesKeyword
    };
    {
      var i;
      r.decoratorsBeforeExport = e.decoratorsBeforeExport, r.jsescOption.json = e.jsonCompatibleStrings, r.recordAndTupleSyntaxType = (i = e.
      recordAndTupleSyntaxType) != null ? i : "hash";
    }
    r.minified ? (r.compact = !0, r.shouldPrintComment = r.shouldPrintComment || (() => r.comments)) : r.shouldPrintComment = r.shouldPrintComment ||
    ((u) => r.comments || u.includes("@license") || u.includes("@preserve")), r.compact === "auto" && (r.compact = typeof t == "string" && t.
    length > 5e5, r.compact && console.error(`[BABEL] Note: The code generator has deoptimised the styling of ${e.filename} as it exceeds th\
e max of 500KB.`)), (r.compact || r.preserveFormat) && (r.indent.adjustMultilineComment = !1);
    let {
      auxiliaryCommentBefore: a,
      auxiliaryCommentAfter: o,
      shouldPrintComment: l
    } = r;
    return a && !l(a) && (r.auxiliaryCommentBefore = void 0), o && !l(o) && (r.auxiliaryCommentAfter = void 0), r;
  }
  n(Sfe, "normalizeOptions");
  pv.CodeGenerator = class {
    static {
      n(this, "CodeGenerator");
    }
    constructor(e, s = {}, r) {
      this._ast = void 0, this._format = void 0, this._map = void 0, this._ast = e, this._format = Sfe(r, s, e), this._map = s.sourceMaps ? new bfe.
      default(s, r) : null;
    }
    generate() {
      return new xfe.default(this._format, this._map).generate(this._ast);
    }
  };
  function rfs(t, e = {}, s) {
    let r = Sfe(s, e, t), i = e.sourceMaps ? new bfe.default(e, s) : null;
    return new xfe.default(r, i, t.tokens, typeof s == "string" ? s : null).generate(t);
  }
  n(rfs, "generate");
});

// ../node_modules/@babel/parser/lib/index.js
var Sv = g((JT) => {
  "use strict";
  Object.defineProperty(JT, "__esModule", {
    value: !0
  });
  function ifs(t, e) {
    if (t == null) return {};
    var s = {};
    for (var r in t) if ({}.hasOwnProperty.call(t, r)) {
      if (e.includes(r)) continue;
      s[r] = t[r];
    }
    return s;
  }
  n(ifs, "_objectWithoutPropertiesLoose");
  var Dl = class {
    static {
      n(this, "Position");
    }
    constructor(e, s, r) {
      this.line = void 0, this.column = void 0, this.index = void 0, this.line = e, this.column = s, this.index = r;
    }
  }, yy = class {
    static {
      n(this, "SourceLocation");
    }
    constructor(e, s) {
      this.start = void 0, this.end = void 0, this.filename = void 0, this.identifierName = void 0, this.start = e, this.end = s;
    }
  };
  function Hn(t, e) {
    let {
      line: s,
      column: r,
      index: i
    } = t;
    return new Dl(s, r + e, i + e);
  }
  n(Hn, "createPositionWithColumnOffset");
  var Pfe = "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED", nfs = {
    ImportMetaOutsideModule: {
      message: `import.meta may appear only with 'sourceType: "module"'`,
      code: Pfe
    },
    ImportOutsideModule: {
      message: `'import' and 'export' may appear only with 'sourceType: "module"'`,
      code: Pfe
    }
  }, Efe = {
    ArrayPattern: "array destructuring pattern",
    AssignmentExpression: "assignment expression",
    AssignmentPattern: "assignment expression",
    ArrowFunctionExpression: "arrow function expression",
    ConditionalExpression: "conditional expression",
    CatchClause: "catch clause",
    ForOfStatement: "for-of statement",
    ForInStatement: "for-in statement",
    ForStatement: "for-loop",
    FormalParameters: "function parameter list",
    Identifier: "identifier",
    ImportSpecifier: "import specifier",
    ImportDefaultSpecifier: "import default specifier",
    ImportNamespaceSpecifier: "import namespace specifier",
    ObjectPattern: "object destructuring pattern",
    ParenthesizedExpression: "parenthesized expression",
    RestElement: "rest element",
    UpdateExpression: {
      true: "prefix operation",
      false: "postfix operation"
    },
    VariableDeclarator: "variable declaration",
    YieldExpression: "yield expression"
  }, dv = /* @__PURE__ */ n((t) => t.type === "UpdateExpression" ? Efe.UpdateExpression[`${t.prefix}`] : Efe[t.type], "toNodeDescription"), afs = {
    AccessorIsGenerator: /* @__PURE__ */ n(({
      kind: t
    }) => `A ${t}ter cannot be a generator.`, "AccessorIsGenerator"),
    ArgumentsInClass: "'arguments' is only allowed in functions and class methods.",
    AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.",
    AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.",
    AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.",
    AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.",
    AwaitUsingNotInAsyncContext: "'await using' is only allowed within async functions and at the top levels of modules.",
    AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.",
    AwaitNotInAsyncFunction: "'await' is only allowed within async functions.",
    BadGetterArity: "A 'get' accessor must not have any formal parameters.",
    BadSetterArity: "A 'set' accessor must have exactly one formal parameter.",
    BadSetterRestParameter: "A 'set' accessor function argument must not be a rest parameter.",
    ConstructorClassField: "Classes may not have a field named 'constructor'.",
    ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.",
    ConstructorIsAccessor: "Class constructor may not be an accessor.",
    ConstructorIsAsync: "Constructor can't be an async function.",
    ConstructorIsGenerator: "Constructor can't be a generator.",
    DeclarationMissingInitializer: /* @__PURE__ */ n(({
      kind: t
    }) => `Missing initializer in ${t} declaration.`, "DeclarationMissingInitializer"),
    DecoratorArgumentsOutsideParentheses: "Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(deco\
rator)(args)'.",
    DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use\
 the 'export @decorator class {}' syntax.",
    DecoratorsBeforeAfterExport: "Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the s\
ame time.",
    DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",
    DecoratorExportClass: "Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use \
the '@decorator export class {}' syntax.",
    DecoratorSemicolon: "Decorators must not be followed by a semicolon.",
    DecoratorStaticBlock: "Decorators can't be used with a static block.",
    DeferImportRequiresNamespace: 'Only `import defer * as x from "./module"` is valid.',
    DeletePrivateField: "Deleting a private field is not allowed.",
    DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.",
    DuplicateConstructor: "Duplicate constructor in the same class.",
    DuplicateDefaultExport: "Only one default export allowed per module.",
    DuplicateExport: /* @__PURE__ */ n(({
      exportName: t
    }) => `\`${t}\` has already been exported. Exported identifiers must be unique.`, "DuplicateExport"),
    DuplicateProto: "Redefinition of __proto__ property.",
    DuplicateRegExpFlags: "Duplicate regular expression flag.",
    DynamicImportPhaseRequiresImportExpressions: /* @__PURE__ */ n(({
      phase: t
    }) => `'import.${t}(...)' can only be parsed when using the 'createImportExpressions' option.`, "DynamicImportPhaseRequiresImportExpress\
ions"),
    ElementAfterRest: "Rest element must be last element.",
    EscapedCharNotAnIdentifier: "Invalid Unicode escape.",
    ExportBindingIsString: /* @__PURE__ */ n(({
      localName: t,
      exportName: e
    }) => `A string literal cannot be used as an exported binding without \`from\`.
- Did you mean \`export { '${t}' as '${e}' } from 'some-module'\`?`, "ExportBindingIsString"),
    ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.",
    ForInOfLoopInitializer: /* @__PURE__ */ n(({
      type: t
    }) => `'${t === "ForInStatement" ? "for-in" : "for-of"}' loop variable declaration may not have an initializer.`, "ForInOfLoopInitialize\
r"),
    ForInUsing: "For-in loop may not start with 'using' declaration.",
    ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.",
    ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.",
    GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.",
    IllegalBreakContinue: /* @__PURE__ */ n(({
      type: t
    }) => `Unsyntactic ${t === "BreakStatement" ? "break" : "continue"}.`, "IllegalBreakContinue"),
    IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.",
    IllegalReturn: "'return' outside of function.",
    ImportAttributesUseAssert: "The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You \
can enable the `deprecatedImportAssert` parser plugin to suppress this error.",
    ImportBindingIsString: /* @__PURE__ */ n(({
      importName: t
    }) => `A string literal cannot be used as an imported binding.
- Did you mean \`import { "${t}" as foo }\`?`, "ImportBindingIsString"),
    ImportCallArity: "`import()` requires exactly one or two arguments.",
    ImportCallNotNewExpression: "Cannot use new with import(...).",
    ImportCallSpreadArgument: "`...` is not allowed in `import()`.",
    ImportJSONBindingNotDefault: "A JSON module can only be imported with `default`.",
    ImportReflectionHasAssertion: "`import module x` cannot have assertions.",
    ImportReflectionNotBinding: 'Only `import module x from "./module"` is valid.',
    IncompatibleRegExpUVFlags: "The 'u' and 'v' regular expression flags cannot be enabled at the same time.",
    InvalidBigIntLiteral: "Invalid BigIntLiteral.",
    InvalidCodePoint: "Code point out of bounds.",
    InvalidCoverInitializedName: "Invalid shorthand property initializer.",
    InvalidDecimal: "Invalid decimal.",
    InvalidDigit: /* @__PURE__ */ n(({
      radix: t
    }) => `Expected number in radix ${t}.`, "InvalidDigit"),
    InvalidEscapeSequence: "Bad character escape sequence.",
    InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.",
    InvalidEscapedReservedWord: /* @__PURE__ */ n(({
      reservedWord: t
    }) => `Escape sequence in keyword ${t}.`, "InvalidEscapedReservedWord"),
    InvalidIdentifier: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Invalid identifier ${t}.`, "InvalidIdentifier"),
    InvalidLhs: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Invalid left-hand side in ${dv(t)}.`, "InvalidLhs"),
    InvalidLhsBinding: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Binding invalid left-hand side in ${dv(t)}.`, "InvalidLhsBinding"),
    InvalidLhsOptionalChaining: /* @__PURE__ */ n(({
      ancestor: t
    }) => `Invalid optional chaining in the left-hand side of ${dv(t)}.`, "InvalidLhsOptionalChaining"),
    InvalidNumber: "Invalid number.",
    InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.",
    InvalidOrUnexpectedToken: /* @__PURE__ */ n(({
      unexpected: t
    }) => `Unexpected character '${t}'.`, "InvalidOrUnexpectedToken"),
    InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.",
    InvalidPrivateFieldResolution: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Private name #${t} is not defined.`, "InvalidPrivateFieldResolution"),
    InvalidPropertyBindingPattern: "Binding member expression.",
    InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.",
    InvalidRestAssignmentPattern: "Invalid rest operator's argument.",
    LabelRedeclaration: /* @__PURE__ */ n(({
      labelName: t
    }) => `Label '${t}' is already declared.`, "LabelRedeclaration"),
    LetInLexicalBinding: "'let' is disallowed as a lexically bound name.",
    LineTerminatorBeforeArrow: "No line break is allowed before '=>'.",
    MalformedRegExpFlags: "Invalid regular expression flag.",
    MissingClassName: "A class name is required.",
    MissingEqInAssignment: "Only '=' operator can be used for specifying default value.",
    MissingSemicolon: "Missing semicolon.",
    MissingPlugin: /* @__PURE__ */ n(({
      missingPlugin: t
    }) => `This experimental syntax requires enabling the parser plugin: ${t.map((e) => JSON.stringify(e)).join(", ")}.`, "MissingPlugin"),
    MissingOneOfPlugins: /* @__PURE__ */ n(({
      missingPlugin: t
    }) => `This experimental syntax requires enabling one of the following parser plugin(s): ${t.map((e) => JSON.stringify(e)).join(", ")}.`,
    "MissingOneOfPlugins"),
    MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.",
    MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.",
    ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.",
    ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.",
    ModuleAttributesWithDuplicateKeys: /* @__PURE__ */ n(({
      key: t
    }) => `Duplicate key "${t}" is not allowed in module attributes.`, "ModuleAttributesWithDuplicateKeys"),
    ModuleExportNameHasLoneSurrogate: /* @__PURE__ */ n(({
      surrogateCharCode: t
    }) => `An export name cannot include a lone surrogate, found '\\u${t.toString(16)}'.`, "ModuleExportNameHasLoneSurrogate"),
    ModuleExportUndefined: /* @__PURE__ */ n(({
      localName: t
    }) => `Export '${t}' is not defined.`, "ModuleExportUndefined"),
    MultipleDefaultsInSwitch: "Multiple default clauses.",
    NewlineAfterThrow: "Illegal newline after throw.",
    NoCatchOrFinally: "Missing catch or finally clause.",
    NumberIdentifier: "Identifier directly after number.",
    NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",
    ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.",
    OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.",
    OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.",
    OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.",
    ParamDupe: "Argument name clash.",
    PatternHasAccessor: "Object pattern can't contain getter or setter.",
    PatternHasMethod: "Object pattern can't contain methods.",
    PrivateInExpectedIn: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Private names are only allowed in property accesses (\`obj.#${t}\`) or in \`in\` expressions (\`#${t} in obj\`).`, "PrivateInExpe\
ctedIn"),
    PrivateNameRedeclaration: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Duplicate private name #${t}.`, "PrivateNameRedeclaration"),
    RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 're\
cordAndTuple' plugin is set to 'bar'.",
    RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the\
 'recordAndTuple' plugin is set to 'bar'.",
    RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of th\
e 'recordAndTuple' plugin is set to 'hash'.",
    RecordNoProto: "'__proto__' is not allowed in Record expressions.",
    RestTrailingComma: "Unexpected trailing comma after rest element.",
    SloppyFunction: "In non-strict mode code, functions can only be declared at top level or inside a block.",
    SloppyFunctionAnnexB: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if sta\
tement.",
    SourcePhaseImportRequiresDefault: 'Only `import source x from "./module"` is valid.',
    StaticPrototype: "Classes may not have static property named prototype.",
    SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or n\
ot extending another class?",
    SuperPrivateField: "Private fields can't be accessed on super.",
    TrailingDecorator: "Decorators must be attached to a class element.",
    TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'reco\
rdAndTuple' plugin is set to 'bar'.",
    TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the '\
recordAndTuple' plugin is set to 'bar'.",
    TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the \
'recordAndTuple' plugin is set to 'hash'.",
    UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.",
    UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',
    UnexpectedDigitAfterHash: "Unexpected digit after hash token.",
    UnexpectedImportExport: "'import' and 'export' may only appear at the top level.",
    UnexpectedKeyword: /* @__PURE__ */ n(({
      keyword: t
    }) => `Unexpected keyword '${t}'.`, "UnexpectedKeyword"),
    UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.",
    UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.",
    UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.",
    UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.",
    UnexpectedPrivateField: "Unexpected private name.",
    UnexpectedReservedWord: /* @__PURE__ */ n(({
      reservedWord: t
    }) => `Unexpected reserved word '${t}'.`, "UnexpectedReservedWord"),
    UnexpectedSuper: "'super' is only allowed in object methods and classes.",
    UnexpectedToken: /* @__PURE__ */ n(({
      expected: t,
      unexpected: e
    }) => `Unexpected token${e ? ` '${e}'.` : ""}${t ? `, expected "${t}"` : ""}`, "UnexpectedToken"),
    UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",
    UnexpectedUsingDeclaration: "Using declaration cannot appear in the top level when source type is `script`.",
    UnsupportedBind: "Binding should be performed on object property.",
    UnsupportedDecoratorExport: "A decorated export must export a class declaration.",
    UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.",
    UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.",
    UnsupportedMetaProperty: /* @__PURE__ */ n(({
      target: t,
      onlyValidPropertyName: e
    }) => `The only valid meta property for ${t} is ${t}.${e}.`, "UnsupportedMetaProperty"),
    UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.",
    UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.",
    UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",
    UnterminatedComment: "Unterminated comment.",
    UnterminatedRegExp: "Unterminated regular expression.",
    UnterminatedString: "Unterminated string constant.",
    UnterminatedTemplate: "Unterminated template.",
    UsingDeclarationExport: "Using declaration cannot be exported.",
    UsingDeclarationHasBindingPattern: "Using declaration cannot have destructuring patterns.",
    VarRedeclaration: /* @__PURE__ */ n(({
      identifierName: t
    }) => `Identifier '${t}' has already been declared.`, "VarRedeclaration"),
    YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.",
    YieldInParameter: "Yield expression is not allowed in formal parameters.",
    ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0."
  }, ofs = {
    StrictDelete: "Deleting local variable in strict mode.",
    StrictEvalArguments: /* @__PURE__ */ n(({
      referenceName: t
    }) => `Assigning to '${t}' in strict mode.`, "StrictEvalArguments"),
    StrictEvalArgumentsBinding: /* @__PURE__ */ n(({
      bindingName: t
    }) => `Binding '${t}' in strict mode.`, "StrictEvalArgumentsBinding"),
    StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.",
    StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.",
    StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.",
    StrictWith: "'with' in strict mode."
  }, lfs = /* @__PURE__ */ new Set(["ArrowFunctionExpression", "AssignmentExpression", "ConditionalExpression", "YieldExpression"]), ufs = {
    PipeBodyIsTighter: "Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due \
to its loose operator precedence.",
    PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" opt\
ion.',
    PipeTopicUnbound: "Topic reference is unbound; it must be inside a pipe body.",
    PipeTopicUnconfiguredToken: /* @__PURE__ */ n(({
      token: t
    }) => `Invalid topic token ${t}. In order to use ${t} as a topic reference, the pipelineOperator plugin must be configured with { "propo\
sal": "hack", "topicToken": "${t}" }.`, "PipeTopicUnconfiguredToken"),
    PipeTopicUnused: "Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",
    PipeUnparenthesizedBody: /* @__PURE__ */ n(({
      type: t
    }) => `Hack-style pipe body cannot be an unparenthesized ${dv({
      type: t
    })}; please wrap it in parentheses.`, "PipeUnparenthesizedBody"),
    PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',
    PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.",
    PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.",
    PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.",
    PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.",
    PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "sma\
rt" option.'
  }, cfs = ["message"];
  function Afe(t, e, s) {
    Object.defineProperty(t, e, {
      enumerable: !1,
      configurable: !0,
      value: s
    });
  }
  n(Afe, "defineHidden");
  function pfs({
    toMessage: t,
    code: e,
    reasonCode: s,
    syntaxPlugin: r
  }) {
    let i = s === "MissingPlugin" || s === "MissingOneOfPlugins";
    {
      let a = {
        AccessorCannotDeclareThisParameter: "AccesorCannotDeclareThisParameter",
        AccessorCannotHaveTypeParameters: "AccesorCannotHaveTypeParameters",
        ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumRefer\
ence",
        SetAccessorCannotHaveOptionalParameter: "SetAccesorCannotHaveOptionalParameter",
        SetAccessorCannotHaveRestParameter: "SetAccesorCannotHaveRestParameter",
        SetAccessorCannotHaveReturnType: "SetAccesorCannotHaveReturnType"
      };
      a[s] && (s = a[s]);
    }
    return /* @__PURE__ */ n(function a(o, l) {
      let u = new SyntaxError();
      return u.code = e, u.reasonCode = s, u.loc = o, u.pos = o.index, u.syntaxPlugin = r, i && (u.missingPlugin = l.missingPlugin), Afe(u, "\
clone", /* @__PURE__ */ n(function(p = {}) {
        var h;
        let {
          line: f,
          column: d,
          index: m
        } = (h = p.loc) != null ? h : o;
        return a(new Dl(f, d, m), Object.assign({}, l, p.details));
      }, "clone")), Afe(u, "details", l), Object.defineProperty(u, "message", {
        configurable: !0,
        get() {
          let c = `${t(l)} (${o.line}:${o.column})`;
          return this.message = c, c;
        },
        set(c) {
          Object.defineProperty(this, "message", {
            value: c,
            writable: !0
          });
        }
      }), u;
    }, "constructor");
  }
  n(pfs, "toParseErrorConstructor");
  function hc(t, e) {
    if (Array.isArray(t))
      return (r) => hc(r, t[0]);
    let s = {};
    for (let r of Object.keys(t)) {
      let i = t[r], a = typeof i == "string" ? {
        message: /* @__PURE__ */ n(() => i, "message")
      } : typeof i == "function" ? {
        message: i
      } : i, {
        message: o
      } = a, l = ifs(a, cfs), u = typeof o == "string" ? () => o : o;
      s[r] = pfs(Object.assign({
        code: "BABEL_PARSER_SYNTAX_ERROR",
        reasonCode: r,
        toMessage: u
      }, e ? {
        syntaxPlugin: e
      } : {}, l));
    }
    return s;
  }
  n(hc, "ParseErrorEnum");
  var se = Object.assign({}, hc(nfs), hc(afs), hc(ofs), hc`pipelineOperator`(ufs));
  function hfs() {
    return {
      sourceType: "script",
      sourceFilename: void 0,
      startIndex: 0,
      startColumn: 0,
      startLine: 1,
      allowAwaitOutsideFunction: !1,
      allowReturnOutsideFunction: !1,
      allowNewTargetOutsideFunction: !1,
      allowImportExportEverywhere: !1,
      allowSuperOutsideMethod: !1,
      allowUndeclaredExports: !1,
      plugins: [],
      strictMode: null,
      ranges: !1,
      tokens: !1,
      createImportExpressions: !1,
      createParenthesizedExpressions: !1,
      errorRecovery: !1,
      attachComment: !0,
      annexB: !0
    };
  }
  n(hfs, "createDefaultOptions");
  function ffs(t) {
    let e = hfs();
    if (t == null)
      return e;
    if (t.annexB != null && t.annexB !== !1)
      throw new Error("The `annexB` option can only be set to `false`.");
    for (let s of Object.keys(e))
      t[s] != null && (e[s] = t[s]);
    if (e.startLine === 1)
      t.startIndex == null && e.startColumn > 0 ? e.startIndex = e.startColumn : t.startColumn == null && e.startIndex > 0 && (e.startColumn =
      e.startIndex);
    else if ((t.startColumn == null || t.startIndex == null) && t.startIndex != null)
      throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");
    return e;
  }
  n(ffs, "getOptions");
  var {
    defineProperty: dfs
  } = Object, vfe = /* @__PURE__ */ n((t, e) => {
    t && dfs(t, e, {
      enumerable: !1,
      value: t[e]
    });
  }, "toUnenumerable");
  function RT(t) {
    return vfe(t.loc.start, "index"), vfe(t.loc.end, "index"), t;
  }
  n(RT, "toESTreeLocation");
  var mfs = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "ESTreeParserMixin");
    }
    parse() {
      let s = RT(super.parse());
      return this.optionFlags & 128 && (s.tokens = s.tokens.map(RT)), s;
    }
    parseRegExpLiteral({
      pattern: s,
      flags: r
    }) {
      let i = null;
      try {
        i = new RegExp(s, r);
      } catch {
      }
      let a = this.estreeParseLiteral(i);
      return a.regex = {
        pattern: s,
        flags: r
      }, a;
    }
    parseBigIntLiteral(s) {
      let r;
      try {
        r = BigInt(s);
      } catch {
        r = null;
      }
      let i = this.estreeParseLiteral(r);
      return i.bigint = String(i.value || s), i;
    }
    parseDecimalLiteral(s) {
      let i = this.estreeParseLiteral(null);
      return i.decimal = String(i.value || s), i;
    }
    estreeParseLiteral(s) {
      return this.parseLiteral(s, "Literal");
    }
    parseStringLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    parseNumericLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    parseNullLiteral() {
      return this.estreeParseLiteral(null);
    }
    parseBooleanLiteral(s) {
      return this.estreeParseLiteral(s);
    }
    directiveToStmt(s) {
      let r = s.value;
      delete s.value, r.type = "Literal", r.raw = r.extra.raw, r.value = r.extra.expressionValue;
      let i = s;
      return i.type = "ExpressionStatement", i.expression = r, i.directive = r.extra.rawValue, delete r.extra, i;
    }
    initFunction(s, r) {
      super.initFunction(s, r), s.expression = !1;
    }
    checkDeclaration(s) {
      s != null && this.isObjectProperty(s) ? this.checkDeclaration(s.value) : super.checkDeclaration(s);
    }
    getObjectOrClassMethodParams(s) {
      return s.value.params;
    }
    isValidDirective(s) {
      var r;
      return s.type === "ExpressionStatement" && s.expression.type === "Literal" && typeof s.expression.value == "string" && !((r = s.expression.
      extra) != null && r.parenthesized);
    }
    parseBlockBody(s, r, i, a, o) {
      super.parseBlockBody(s, r, i, a, o);
      let l = s.directives.map((u) => this.directiveToStmt(u));
      s.body = l.concat(s.body), delete s.directives;
    }
    parsePrivateName() {
      let s = super.parsePrivateName();
      return this.getPluginOption("estree", "classFeatures") ? this.convertPrivateNameToPrivateIdentifier(s) : s;
    }
    convertPrivateNameToPrivateIdentifier(s) {
      let r = super.getPrivateNameSV(s);
      return s = s, delete s.id, s.name = r, s.type = "PrivateIdentifier", s;
    }
    isPrivateName(s) {
      return this.getPluginOption("estree", "classFeatures") ? s.type === "PrivateIdentifier" : super.isPrivateName(s);
    }
    getPrivateNameSV(s) {
      return this.getPluginOption("estree", "classFeatures") ? s.name : super.getPrivateNameSV(s);
    }
    parseLiteral(s, r) {
      let i = super.parseLiteral(s, r);
      return i.raw = i.extra.raw, delete i.extra, i;
    }
    parseFunctionBody(s, r, i = !1) {
      super.parseFunctionBody(s, r, i), s.expression = s.body.type !== "BlockStatement";
    }
    parseMethod(s, r, i, a, o, l, u = !1) {
      let c = this.startNode();
      c.kind = s.kind, c = super.parseMethod(c, r, i, a, o, l, u), c.type = "FunctionExpression", delete c.kind, s.value = c;
      let {
        typeParameters: p
      } = s;
      return p && (delete s.typeParameters, c.typeParameters = p, c.start = p.start, c.loc.start = p.loc.start), l === "ClassPrivateMethod" &&
      (s.computed = !1), this.finishNode(s, "MethodDefinition");
    }
    nameIsConstructor(s) {
      return s.type === "Literal" ? s.value === "constructor" : super.nameIsConstructor(s);
    }
    parseClassProperty(...s) {
      let r = super.parseClassProperty(...s);
      return this.getPluginOption("estree", "classFeatures") && (r.type = "PropertyDefinition"), r;
    }
    parseClassPrivateProperty(...s) {
      let r = super.parseClassPrivateProperty(...s);
      return this.getPluginOption("estree", "classFeatures") && (r.type = "PropertyDefinition", r.computed = !1), r;
    }
    parseObjectMethod(s, r, i, a, o) {
      let l = super.parseObjectMethod(s, r, i, a, o);
      return l && (l.type = "Property", l.kind === "method" && (l.kind = "init"), l.shorthand = !1), l;
    }
    parseObjectProperty(s, r, i, a) {
      let o = super.parseObjectProperty(s, r, i, a);
      return o && (o.kind = "init", o.type = "Property"), o;
    }
    isValidLVal(s, r, i) {
      return s === "Property" ? "value" : super.isValidLVal(s, r, i);
    }
    isAssignable(s, r) {
      return s != null && this.isObjectProperty(s) ? this.isAssignable(s.value, r) : super.isAssignable(s, r);
    }
    toAssignable(s, r = !1) {
      if (s != null && this.isObjectProperty(s)) {
        let {
          key: i,
          value: a
        } = s;
        this.isPrivateName(i) && this.classScope.usePrivateName(this.getPrivateNameSV(i), i.loc.start), this.toAssignable(a, r);
      } else
        super.toAssignable(s, r);
    }
    toAssignableObjectExpressionProp(s, r, i) {
      s.type === "Property" && (s.kind === "get" || s.kind === "set") ? this.raise(se.PatternHasAccessor, s.key) : s.type === "Property" && s.
      method ? this.raise(se.PatternHasMethod, s.key) : super.toAssignableObjectExpressionProp(s, r, i);
    }
    finishCallExpression(s, r) {
      let i = super.finishCallExpression(s, r);
      if (i.callee.type === "Import") {
        var a, o;
        i.type = "ImportExpression", i.source = i.arguments[0], i.options = (a = i.arguments[1]) != null ? a : null, i.attributes = (o = i.arguments[1]) !=
        null ? o : null, delete i.arguments, delete i.callee;
      }
      return i;
    }
    toReferencedArguments(s) {
      s.type !== "ImportExpression" && super.toReferencedArguments(s);
    }
    parseExport(s, r) {
      let i = this.state.lastTokStartLoc, a = super.parseExport(s, r);
      switch (a.type) {
        case "ExportAllDeclaration":
          a.exported = null;
          break;
        case "ExportNamedDeclaration":
          a.specifiers.length === 1 && a.specifiers[0].type === "ExportNamespaceSpecifier" && (a.type = "ExportAllDeclaration", a.exported =
          a.specifiers[0].exported, delete a.specifiers);
        case "ExportDefaultDeclaration":
          {
            var o;
            let {
              declaration: l
            } = a;
            l?.type === "ClassDeclaration" && ((o = l.decorators) == null ? void 0 : o.length) > 0 && l.start === a.start && this.resetStartLocation(
            a, i);
          }
          break;
      }
      return a;
    }
    parseSubscript(s, r, i, a) {
      let o = super.parseSubscript(s, r, i, a);
      if (a.optionalChainMember) {
        if ((o.type === "OptionalMemberExpression" || o.type === "OptionalCallExpression") && (o.type = o.type.substring(8)), a.stop) {
          let l = this.startNodeAtNode(o);
          return l.expression = o, this.finishNode(l, "ChainExpression");
        }
      } else (o.type === "MemberExpression" || o.type === "CallExpression") && (o.optional = !1);
      return o;
    }
    isOptionalMemberExpression(s) {
      return s.type === "ChainExpression" ? s.expression.type === "MemberExpression" : super.isOptionalMemberExpression(s);
    }
    hasPropertyAsPrivateName(s) {
      return s.type === "ChainExpression" && (s = s.expression), super.hasPropertyAsPrivateName(s);
    }
    isObjectProperty(s) {
      return s.type === "Property" && s.kind === "init" && !s.method;
    }
    isObjectMethod(s) {
      return s.type === "Property" && (s.method || s.kind === "get" || s.kind === "set");
    }
    finishNodeAt(s, r, i) {
      return RT(super.finishNodeAt(s, r, i));
    }
    resetStartLocation(s, r) {
      super.resetStartLocation(s, r), RT(s);
    }
    resetEndLocation(s, r = this.state.lastTokEndLoc) {
      super.resetEndLocation(s, r), RT(s);
    }
  }, "estree"), Mf = class {
    static {
      n(this, "TokContext");
    }
    constructor(e, s) {
      this.token = void 0, this.preserveSpace = void 0, this.token = e, this.preserveSpace = !!s;
    }
  }, nr = {
    brace: new Mf("{"),
    j_oTag: new Mf("<tag"),
    j_cTag: new Mf("</tag"),
    j_expr: new Mf("<tag>...</tag>", !0)
  };
  nr.template = new Mf("`", !0);
  var fs = !0, $e = !0, q6 = !0, qT = !0, qp = !0, yfs = !0, gv = class {
    static {
      n(this, "ExportedTokenType");
    }
    constructor(e, s = {}) {
      this.label = void 0, this.keyword = void 0, this.beforeExpr = void 0, this.startsExpr = void 0, this.rightAssociative = void 0, this.isLoop =
      void 0, this.isAssign = void 0, this.prefix = void 0, this.postfix = void 0, this.binop = void 0, this.label = e, this.keyword = s.keyword,
      this.beforeExpr = !!s.beforeExpr, this.startsExpr = !!s.startsExpr, this.rightAssociative = !!s.rightAssociative, this.isLoop = !!s.isLoop,
      this.isAssign = !!s.isAssign, this.prefix = !!s.prefix, this.postfix = !!s.postfix, this.binop = s.binop != null ? s.binop : null, this.
      updateContext = null;
    }
  }, pR = /* @__PURE__ */ new Map();
  function Fs(t, e = {}) {
    e.keyword = t;
    let s = Nt(t, e);
    return pR.set(t, s), s;
  }
  n(Fs, "createKeyword");
  function $n(t, e) {
    return Nt(t, {
      beforeExpr: fs,
      binop: e
    });
  }
  n($n, "createBinop");
  var VT = -1, cc = [], hR = [], fR = [], dR = [], mR = [], yR = [];
  function Nt(t, e = {}) {
    var s, r, i, a;
    return ++VT, hR.push(t), fR.push((s = e.binop) != null ? s : -1), dR.push((r = e.beforeExpr) != null ? r : !1), mR.push((i = e.startsExpr) !=
    null ? i : !1), yR.push((a = e.prefix) != null ? a : !1), cc.push(new gv(t, e)), VT;
  }
  n(Nt, "createToken");
  function hs(t, e = {}) {
    var s, r, i, a;
    return ++VT, pR.set(t, VT), hR.push(t), fR.push((s = e.binop) != null ? s : -1), dR.push((r = e.beforeExpr) != null ? r : !1), mR.push((i =
    e.startsExpr) != null ? i : !1), yR.push((a = e.prefix) != null ? a : !1), cc.push(new gv("name", e)), VT;
  }
  n(hs, "createKeywordLike");
  var gfs = {
    bracketL: Nt("[", {
      beforeExpr: fs,
      startsExpr: $e
    }),
    bracketHashL: Nt("#[", {
      beforeExpr: fs,
      startsExpr: $e
    }),
    bracketBarL: Nt("[|", {
      beforeExpr: fs,
      startsExpr: $e
    }),
    bracketR: Nt("]"),
    bracketBarR: Nt("|]"),
    braceL: Nt("{", {
      beforeExpr: fs,
      startsExpr: $e
    }),
    braceBarL: Nt("{|", {
      beforeExpr: fs,
      startsExpr: $e
    }),
    braceHashL: Nt("#{", {
      beforeExpr: fs,
      startsExpr: $e
    }),
    braceR: Nt("}"),
    braceBarR: Nt("|}"),
    parenL: Nt("(", {
      beforeExpr: fs,
      startsExpr: $e
    }),
    parenR: Nt(")"),
    comma: Nt(",", {
      beforeExpr: fs
    }),
    semi: Nt(";", {
      beforeExpr: fs
    }),
    colon: Nt(":", {
      beforeExpr: fs
    }),
    doubleColon: Nt("::", {
      beforeExpr: fs
    }),
    dot: Nt("."),
    question: Nt("?", {
      beforeExpr: fs
    }),
    questionDot: Nt("?."),
    arrow: Nt("=>", {
      beforeExpr: fs
    }),
    template: Nt("template"),
    ellipsis: Nt("...", {
      beforeExpr: fs
    }),
    backQuote: Nt("`", {
      startsExpr: $e
    }),
    dollarBraceL: Nt("${", {
      beforeExpr: fs,
      startsExpr: $e
    }),
    templateTail: Nt("...`", {
      startsExpr: $e
    }),
    templateNonTail: Nt("...${", {
      beforeExpr: fs,
      startsExpr: $e
    }),
    at: Nt("@"),
    hash: Nt("#", {
      startsExpr: $e
    }),
    interpreterDirective: Nt("#!..."),
    eq: Nt("=", {
      beforeExpr: fs,
      isAssign: qT
    }),
    assign: Nt("_=", {
      beforeExpr: fs,
      isAssign: qT
    }),
    slashAssign: Nt("_=", {
      beforeExpr: fs,
      isAssign: qT
    }),
    xorAssign: Nt("_=", {
      beforeExpr: fs,
      isAssign: qT
    }),
    moduloAssign: Nt("_=", {
      beforeExpr: fs,
      isAssign: qT
    }),
    incDec: Nt("++/--", {
      prefix: qp,
      postfix: yfs,
      startsExpr: $e
    }),
    bang: Nt("!", {
      beforeExpr: fs,
      prefix: qp,
      startsExpr: $e
    }),
    tilde: Nt("~", {
      beforeExpr: fs,
      prefix: qp,
      startsExpr: $e
    }),
    doubleCaret: Nt("^^", {
      startsExpr: $e
    }),
    doubleAt: Nt("@@", {
      startsExpr: $e
    }),
    pipeline: $n("|>", 0),
    nullishCoalescing: $n("??", 1),
    logicalOR: $n("||", 1),
    logicalAND: $n("&&", 2),
    bitwiseOR: $n("|", 3),
    bitwiseXOR: $n("^", 4),
    bitwiseAND: $n("&", 5),
    equality: $n("==/!=/===/!==", 6),
    lt: $n("</>/<=/>=", 7),
    gt: $n("</>/<=/>=", 7),
    relational: $n("</>/<=/>=", 7),
    bitShift: $n("<</>>/>>>", 8),
    bitShiftL: $n("<</>>/>>>", 8),
    bitShiftR: $n("<</>>/>>>", 8),
    plusMin: Nt("+/-", {
      beforeExpr: fs,
      binop: 9,
      prefix: qp,
      startsExpr: $e
    }),
    modulo: Nt("%", {
      binop: 10,
      startsExpr: $e
    }),
    star: Nt("*", {
      binop: 10
    }),
    slash: $n("/", 10),
    exponent: Nt("**", {
      beforeExpr: fs,
      binop: 11,
      rightAssociative: !0
    }),
    _in: Fs("in", {
      beforeExpr: fs,
      binop: 7
    }),
    _instanceof: Fs("instanceof", {
      beforeExpr: fs,
      binop: 7
    }),
    _break: Fs("break"),
    _case: Fs("case", {
      beforeExpr: fs
    }),
    _catch: Fs("catch"),
    _continue: Fs("continue"),
    _debugger: Fs("debugger"),
    _default: Fs("default", {
      beforeExpr: fs
    }),
    _else: Fs("else", {
      beforeExpr: fs
    }),
    _finally: Fs("finally"),
    _function: Fs("function", {
      startsExpr: $e
    }),
    _if: Fs("if"),
    _return: Fs("return", {
      beforeExpr: fs
    }),
    _switch: Fs("switch"),
    _throw: Fs("throw", {
      beforeExpr: fs,
      prefix: qp,
      startsExpr: $e
    }),
    _try: Fs("try"),
    _var: Fs("var"),
    _const: Fs("const"),
    _with: Fs("with"),
    _new: Fs("new", {
      beforeExpr: fs,
      startsExpr: $e
    }),
    _this: Fs("this", {
      startsExpr: $e
    }),
    _super: Fs("super", {
      startsExpr: $e
    }),
    _class: Fs("class", {
      startsExpr: $e
    }),
    _extends: Fs("extends", {
      beforeExpr: fs
    }),
    _export: Fs("export"),
    _import: Fs("import", {
      startsExpr: $e
    }),
    _null: Fs("null", {
      startsExpr: $e
    }),
    _true: Fs("true", {
      startsExpr: $e
    }),
    _false: Fs("false", {
      startsExpr: $e
    }),
    _typeof: Fs("typeof", {
      beforeExpr: fs,
      prefix: qp,
      startsExpr: $e
    }),
    _void: Fs("void", {
      beforeExpr: fs,
      prefix: qp,
      startsExpr: $e
    }),
    _delete: Fs("delete", {
      beforeExpr: fs,
      prefix: qp,
      startsExpr: $e
    }),
    _do: Fs("do", {
      isLoop: q6,
      beforeExpr: fs
    }),
    _for: Fs("for", {
      isLoop: q6
    }),
    _while: Fs("while", {
      isLoop: q6
    }),
    _as: hs("as", {
      startsExpr: $e
    }),
    _assert: hs("assert", {
      startsExpr: $e
    }),
    _async: hs("async", {
      startsExpr: $e
    }),
    _await: hs("await", {
      startsExpr: $e
    }),
    _defer: hs("defer", {
      startsExpr: $e
    }),
    _from: hs("from", {
      startsExpr: $e
    }),
    _get: hs("get", {
      startsExpr: $e
    }),
    _let: hs("let", {
      startsExpr: $e
    }),
    _meta: hs("meta", {
      startsExpr: $e
    }),
    _of: hs("of", {
      startsExpr: $e
    }),
    _sent: hs("sent", {
      startsExpr: $e
    }),
    _set: hs("set", {
      startsExpr: $e
    }),
    _source: hs("source", {
      startsExpr: $e
    }),
    _static: hs("static", {
      startsExpr: $e
    }),
    _using: hs("using", {
      startsExpr: $e
    }),
    _yield: hs("yield", {
      startsExpr: $e
    }),
    _asserts: hs("asserts", {
      startsExpr: $e
    }),
    _checks: hs("checks", {
      startsExpr: $e
    }),
    _exports: hs("exports", {
      startsExpr: $e
    }),
    _global: hs("global", {
      startsExpr: $e
    }),
    _implements: hs("implements", {
      startsExpr: $e
    }),
    _intrinsic: hs("intrinsic", {
      startsExpr: $e
    }),
    _infer: hs("infer", {
      startsExpr: $e
    }),
    _is: hs("is", {
      startsExpr: $e
    }),
    _mixins: hs("mixins", {
      startsExpr: $e
    }),
    _proto: hs("proto", {
      startsExpr: $e
    }),
    _require: hs("require", {
      startsExpr: $e
    }),
    _satisfies: hs("satisfies", {
      startsExpr: $e
    }),
    _keyof: hs("keyof", {
      startsExpr: $e
    }),
    _readonly: hs("readonly", {
      startsExpr: $e
    }),
    _unique: hs("unique", {
      startsExpr: $e
    }),
    _abstract: hs("abstract", {
      startsExpr: $e
    }),
    _declare: hs("declare", {
      startsExpr: $e
    }),
    _enum: hs("enum", {
      startsExpr: $e
    }),
    _module: hs("module", {
      startsExpr: $e
    }),
    _namespace: hs("namespace", {
      startsExpr: $e
    }),
    _interface: hs("interface", {
      startsExpr: $e
    }),
    _type: hs("type", {
      startsExpr: $e
    }),
    _opaque: hs("opaque", {
      startsExpr: $e
    }),
    name: Nt("name", {
      startsExpr: $e
    }),
    placeholder: Nt("%%", {
      startsExpr: !0
    }),
    string: Nt("string", {
      startsExpr: $e
    }),
    num: Nt("num", {
      startsExpr: $e
    }),
    bigint: Nt("bigint", {
      startsExpr: $e
    }),
    decimal: Nt("decimal", {
      startsExpr: $e
    }),
    regexp: Nt("regexp", {
      startsExpr: $e
    }),
    privateName: Nt("#name", {
      startsExpr: $e
    }),
    eof: Nt("eof"),
    jsxName: Nt("jsxName"),
    jsxText: Nt("jsxText", {
      beforeExpr: !0
    }),
    jsxTagStart: Nt("jsxTagStart", {
      startsExpr: !0
    }),
    jsxTagEnd: Nt("jsxTagEnd")
  };
  function ar(t) {
    return t >= 93 && t <= 133;
  }
  n(ar, "tokenIsIdentifier");
  function Tfs(t) {
    return t <= 92;
  }
  n(Tfs, "tokenKeywordOrIdentifierIsKeyword");
  function qo(t) {
    return t >= 58 && t <= 133;
  }
  n(qo, "tokenIsKeywordOrIdentifier");
  function Ffe(t) {
    return t >= 58 && t <= 137;
  }
  n(Ffe, "tokenIsLiteralPropertyName");
  function bfs(t) {
    return dR[t];
  }
  n(bfs, "tokenComesBeforeExpression");
  function $6(t) {
    return mR[t];
  }
  n($6, "tokenCanStartExpression");
  function xfs(t) {
    return t >= 29 && t <= 33;
  }
  n(xfs, "tokenIsAssignment");
  function Cfe(t) {
    return t >= 129 && t <= 131;
  }
  n(Cfe, "tokenIsFlowInterfaceOrTypeOrOpaque");
  function Sfs(t) {
    return t >= 90 && t <= 92;
  }
  n(Sfs, "tokenIsLoop");
  function gR(t) {
    return t >= 58 && t <= 92;
  }
  n(gR, "tokenIsKeyword");
  function Pfs(t) {
    return t >= 39 && t <= 59;
  }
  n(Pfs, "tokenIsOperator");
  function Efs(t) {
    return t === 34;
  }
  n(Efs, "tokenIsPostfix");
  function Afs(t) {
    return yR[t];
  }
  n(Afs, "tokenIsPrefix");
  function vfs(t) {
    return t >= 121 && t <= 123;
  }
  n(vfs, "tokenIsTSTypeOperator");
  function Cfs(t) {
    return t >= 124 && t <= 130;
  }
  n(Cfs, "tokenIsTSDeclarationStart");
  function Kp(t) {
    return hR[t];
  }
  n(Kp, "tokenLabelName");
  function mv(t) {
    return fR[t];
  }
  n(mv, "tokenOperatorPrecedence");
  function wfs(t) {
    return t === 57;
  }
  n(wfs, "tokenIsRightAssociative");
  function Tv(t) {
    return t >= 24 && t <= 25;
  }
  n(Tv, "tokenIsTemplate");
  function uc(t) {
    return cc[t];
  }
  n(uc, "getExportedToken");
  cc[8].updateContext = (t) => {
    t.pop();
  }, cc[5].updateContext = cc[7].updateContext = cc[23].updateContext = (t) => {
    t.push(nr.brace);
  }, cc[22].updateContext = (t) => {
    t[t.length - 1] === nr.template ? t.pop() : t.push(nr.template);
  }, cc[143].updateContext = (t) => {
    t.push(nr.j_expr, nr.j_oTag);
  };
  var TR = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993\
-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\
\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\
\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\
\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\
\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01\
-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",
  jfe = "\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE\
-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\
\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\
\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\
\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65", Ifs = new RegExp("[" + TR + "]"), Nfs = new RegExp("[" + TR + jfe + "]");
  TR = jfe = null;
  var Rfe = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43,
  157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70,
  5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36,
  7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43,
  17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1,
  64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2,
  0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3,
  7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50,
  29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16,
  1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67,
  12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991,
  84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30,
  2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3,
  0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2,
  2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153,
  7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191], kfs = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5,
  0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13,
  2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4,
  68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58,
  14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54,
  7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350,
  0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543,
  4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6,
  10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
  function H6(t, e) {
    let s = 65536;
    for (let r = 0, i = e.length; r < i; r += 2) {
      if (s += e[r], s > t) return !1;
      if (s += e[r + 1], s >= t) return !0;
    }
    return !1;
  }
  n(H6, "isInAstralSet");
  function pc(t) {
    return t < 65 ? t === 36 : t <= 90 ? !0 : t < 97 ? t === 95 : t <= 122 ? !0 : t <= 65535 ? t >= 170 && Ifs.test(String.fromCharCode(t)) :
    H6(t, Rfe);
  }
  n(pc, "isIdentifierStart");
  function fy(t) {
    return t < 48 ? t === 36 : t < 58 ? !0 : t < 65 ? !1 : t <= 90 ? !0 : t < 97 ? t === 95 : t <= 122 ? !0 : t <= 65535 ? t >= 170 && Nfs.test(
    String.fromCharCode(t)) : H6(t, Rfe) || H6(t, kfs);
  }
  n(fy, "isIdentifierChar");
  var bR = {
    keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "swit\
ch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false",
    "in", "instanceof", "typeof", "void", "delete"],
    strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
    strictBind: ["eval", "arguments"]
  }, Dfs = new Set(bR.keyword), Ofs = new Set(bR.strict), _fs = new Set(bR.strictBind);
  function qfe(t, e) {
    return e && t === "await" || t === "enum";
  }
  n(qfe, "isReservedWord");
  function Ufe(t, e) {
    return qfe(t, e) || Ofs.has(t);
  }
  n(Ufe, "isStrictReservedWord");
  function Kfe(t) {
    return _fs.has(t);
  }
  n(Kfe, "isStrictBindOnlyReservedWord");
  function Vfe(t, e) {
    return Ufe(t, e) || Kfe(t);
  }
  n(Vfe, "isStrictBindReservedWord");
  function Lfs(t) {
    return Dfs.has(t);
  }
  n(Lfs, "isKeyword");
  function Bfs(t, e, s) {
    return t === 64 && e === 64 && pc(s);
  }
  n(Bfs, "isIteratorStart");
  var Mfs = /* @__PURE__ */ new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function",
  "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import",
  "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protecte\
d", "public", "static", "yield", "eval", "arguments", "enum", "await"]);
  function Ffs(t) {
    return Mfs.has(t);
  }
  n(Ffs, "canBeReservedWord");
  var WT = class {
    static {
      n(this, "Scope");
    }
    constructor(e) {
      this.flags = 0, this.names = /* @__PURE__ */ new Map(), this.firstLexicalName = "", this.flags = e;
    }
  }, $T = class {
    static {
      n(this, "ScopeHandler");
    }
    constructor(e, s) {
      this.parser = void 0, this.scopeStack = [], this.inModule = void 0, this.undefinedExports = /* @__PURE__ */ new Map(), this.parser = e,
      this.inModule = s;
    }
    get inTopLevel() {
      return (this.currentScope().flags & 1) > 0;
    }
    get inFunction() {
      return (this.currentVarScopeFlags() & 2) > 0;
    }
    get allowSuper() {
      return (this.currentThisScopeFlags() & 16) > 0;
    }
    get allowDirectSuper() {
      return (this.currentThisScopeFlags() & 32) > 0;
    }
    get inClass() {
      return (this.currentThisScopeFlags() & 64) > 0;
    }
    get inClassAndNotInNonArrowFunction() {
      let e = this.currentThisScopeFlags();
      return (e & 64) > 0 && (e & 2) === 0;
    }
    get inStaticBlock() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 128)
          return !0;
        if (s & 451)
          return !1;
      }
    }
    get inNonArrowFunction() {
      return (this.currentThisScopeFlags() & 2) > 0;
    }
    get treatFunctionsAsVar() {
      return this.treatFunctionsAsVarInScope(this.currentScope());
    }
    createScope(e) {
      return new WT(e);
    }
    enter(e) {
      this.scopeStack.push(this.createScope(e));
    }
    exit() {
      return this.scopeStack.pop().flags;
    }
    treatFunctionsAsVarInScope(e) {
      return !!(e.flags & 130 || !this.parser.inModule && e.flags & 1);
    }
    declareName(e, s, r) {
      let i = this.currentScope();
      if (s & 8 || s & 16) {
        this.checkRedeclarationInScope(i, e, s, r);
        let a = i.names.get(e) || 0;
        s & 16 ? a = a | 4 : (i.firstLexicalName || (i.firstLexicalName = e), a = a | 2), i.names.set(e, a), s & 8 && this.maybeExportDefined(
        i, e);
      } else if (s & 4)
        for (let a = this.scopeStack.length - 1; a >= 0 && (i = this.scopeStack[a], this.checkRedeclarationInScope(i, e, s, r), i.names.set(
        e, (i.names.get(e) || 0) | 1), this.maybeExportDefined(i, e), !(i.flags & 387)); --a)
          ;
      this.parser.inModule && i.flags & 1 && this.undefinedExports.delete(e);
    }
    maybeExportDefined(e, s) {
      this.parser.inModule && e.flags & 1 && this.undefinedExports.delete(s);
    }
    checkRedeclarationInScope(e, s, r, i) {
      this.isRedeclaredInScope(e, s, r) && this.parser.raise(se.VarRedeclaration, i, {
        identifierName: s
      });
    }
    isRedeclaredInScope(e, s, r) {
      if (!(r & 1)) return !1;
      if (r & 8)
        return e.names.has(s);
      let i = e.names.get(s);
      return r & 16 ? (i & 2) > 0 || !this.treatFunctionsAsVarInScope(e) && (i & 1) > 0 : (i & 2) > 0 && !(e.flags & 8 && e.firstLexicalName ===
      s) || !this.treatFunctionsAsVarInScope(e) && (i & 4) > 0;
    }
    checkLocalExport(e) {
      let {
        name: s
      } = e;
      this.scopeStack[0].names.has(s) || this.undefinedExports.set(s, e.loc.start);
    }
    currentScope() {
      return this.scopeStack[this.scopeStack.length - 1];
    }
    currentVarScopeFlags() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 387)
          return s;
      }
    }
    currentThisScopeFlags() {
      for (let e = this.scopeStack.length - 1; ; e--) {
        let {
          flags: s
        } = this.scopeStack[e];
        if (s & 451 && !(s & 4))
          return s;
      }
    }
  }, J6 = class extends WT {
    static {
      n(this, "FlowScope");
    }
    constructor(...e) {
      super(...e), this.declareFunctions = /* @__PURE__ */ new Set();
    }
  }, Y6 = class extends $T {
    static {
      n(this, "FlowScopeHandler");
    }
    createScope(e) {
      return new J6(e);
    }
    declareName(e, s, r) {
      let i = this.currentScope();
      if (s & 2048) {
        this.checkRedeclarationInScope(i, e, s, r), this.maybeExportDefined(i, e), i.declareFunctions.add(e);
        return;
      }
      super.declareName(e, s, r);
    }
    isRedeclaredInScope(e, s, r) {
      if (super.isRedeclaredInScope(e, s, r)) return !0;
      if (r & 2048 && !e.declareFunctions.has(s)) {
        let i = e.names.get(s);
        return (i & 4) > 0 || (i & 2) > 0;
      }
      return !1;
    }
    checkLocalExport(e) {
      this.scopeStack[0].declareFunctions.has(e.name) || super.checkLocalExport(e);
    }
  }, X6 = class {
    static {
      n(this, "BaseParser");
    }
    constructor() {
      this.sawUnambiguousESM = !1, this.ambiguousScriptDifferentAst = !1;
    }
    sourceToOffsetPos(e) {
      return e + this.startIndex;
    }
    offsetToSourcePos(e) {
      return e - this.startIndex;
    }
    hasPlugin(e) {
      if (typeof e == "string")
        return this.plugins.has(e);
      {
        let [s, r] = e;
        if (!this.hasPlugin(s))
          return !1;
        let i = this.plugins.get(s);
        for (let a of Object.keys(r))
          if (i?.[a] !== r[a])
            return !1;
        return !0;
      }
    }
    getPluginOption(e, s) {
      var r;
      return (r = this.plugins.get(e)) == null ? void 0 : r[s];
    }
  };
  function Wfe(t, e) {
    t.trailingComments === void 0 ? t.trailingComments = e : t.trailingComments.unshift(...e);
  }
  n(Wfe, "setTrailingComments");
  function jfs(t, e) {
    t.leadingComments === void 0 ? t.leadingComments = e : t.leadingComments.unshift(...e);
  }
  n(jfs, "setLeadingComments");
  function HT(t, e) {
    t.innerComments === void 0 ? t.innerComments = e : t.innerComments.unshift(...e);
  }
  n(HT, "setInnerComments");
  function Lf(t, e, s) {
    let r = null, i = e.length;
    for (; r === null && i > 0; )
      r = e[--i];
    r === null || r.start > s.start ? HT(t, s.comments) : Wfe(r, s.comments);
  }
  n(Lf, "adjustInnerComments");
  var z6 = class extends X6 {
    static {
      n(this, "CommentsParser");
    }
    addComment(e) {
      this.filename && (e.loc.filename = this.filename);
      let {
        commentsLen: s
      } = this.state;
      this.comments.length !== s && (this.comments.length = s), this.comments.push(e), this.state.commentsLen++;
    }
    processComment(e) {
      let {
        commentStack: s
      } = this.state, r = s.length;
      if (r === 0) return;
      let i = r - 1, a = s[i];
      a.start === e.end && (a.leadingNode = e, i--);
      let {
        start: o
      } = e;
      for (; i >= 0; i--) {
        let l = s[i], u = l.end;
        if (u > o)
          l.containingNode = e, this.finalizeComment(l), s.splice(i, 1);
        else {
          u === o && (l.trailingNode = e);
          break;
        }
      }
    }
    finalizeComment(e) {
      let {
        comments: s
      } = e;
      if (e.leadingNode !== null || e.trailingNode !== null)
        e.leadingNode !== null && Wfe(e.leadingNode, s), e.trailingNode !== null && jfs(e.trailingNode, s);
      else {
        let {
          containingNode: r,
          start: i
        } = e;
        if (this.input.charCodeAt(this.offsetToSourcePos(i) - 1) === 44)
          switch (r.type) {
            case "ObjectExpression":
            case "ObjectPattern":
            case "RecordExpression":
              Lf(r, r.properties, e);
              break;
            case "CallExpression":
            case "OptionalCallExpression":
              Lf(r, r.arguments, e);
              break;
            case "FunctionDeclaration":
            case "FunctionExpression":
            case "ArrowFunctionExpression":
            case "ObjectMethod":
            case "ClassMethod":
            case "ClassPrivateMethod":
              Lf(r, r.params, e);
              break;
            case "ArrayExpression":
            case "ArrayPattern":
            case "TupleExpression":
              Lf(r, r.elements, e);
              break;
            case "ExportNamedDeclaration":
            case "ImportDeclaration":
              Lf(r, r.specifiers, e);
              break;
            case "TSEnumDeclaration":
              Lf(r, r.members, e);
              break;
            case "TSEnumBody":
              Lf(r, r.members, e);
              break;
            default:
              HT(r, s);
          }
        else
          HT(r, s);
      }
    }
    finalizeRemainingComments() {
      let {
        commentStack: e
      } = this.state;
      for (let s = e.length - 1; s >= 0; s--)
        this.finalizeComment(e[s]);
      this.state.commentStack = [];
    }
    resetPreviousNodeTrailingComments(e) {
      let {
        commentStack: s
      } = this.state, {
        length: r
      } = s;
      if (r === 0) return;
      let i = s[r - 1];
      i.leadingNode === e && (i.leadingNode = null);
    }
    resetPreviousIdentifierLeadingComments(e) {
      let {
        commentStack: s
      } = this.state, {
        length: r
      } = s;
      r !== 0 && (s[r - 1].trailingNode === e ? s[r - 1].trailingNode = null : r >= 2 && s[r - 2].trailingNode === e && (s[r - 2].trailingNode =
      null));
    }
    takeSurroundingComments(e, s, r) {
      let {
        commentStack: i
      } = this.state, a = i.length;
      if (a === 0) return;
      let o = a - 1;
      for (; o >= 0; o--) {
        let l = i[o], u = l.end;
        if (l.start === r)
          l.leadingNode = e;
        else if (u === s)
          l.trailingNode = e;
        else if (u < s)
          break;
      }
    }
  }, Rfs = /\r\n|[\r\n\u2028\u2029]/, hv = new RegExp(Rfs.source, "g");
  function dy(t) {
    switch (t) {
      case 10:
      case 13:
      case 8232:
      case 8233:
        return !0;
      default:
        return !1;
    }
  }
  n(dy, "isNewLine");
  function wfe(t, e, s) {
    for (let r = e; r < s; r++)
      if (dy(t.charCodeAt(r)))
        return !0;
    return !1;
  }
  n(wfe, "hasNewLine");
  var U6 = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g, K6 = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g;
  function qfs(t) {
    switch (t) {
      case 9:
      case 11:
      case 12:
      case 32:
      case 160:
      case 5760:
      case 8192:
      case 8193:
      case 8194:
      case 8195:
      case 8196:
      case 8197:
      case 8198:
      case 8199:
      case 8200:
      case 8201:
      case 8202:
      case 8239:
      case 8287:
      case 12288:
      case 65279:
        return !0;
      default:
        return !1;
    }
  }
  n(qfs, "isWhitespace");
  var G6 = class t {
    static {
      n(this, "State");
    }
    constructor() {
      this.flags = 1024, this.startIndex = void 0, this.curLine = void 0, this.lineStart = void 0, this.startLoc = void 0, this.endLoc = void 0,
      this.errors = [], this.potentialArrowAt = -1, this.noArrowAt = [], this.noArrowParamsConversionAt = [], this.topicContext = {
        maxNumOfResolvableTopics: 0,
        maxTopicIndex: null
      }, this.labels = [], this.commentsLen = 0, this.commentStack = [], this.pos = 0, this.type = 140, this.value = null, this.start = 0, this.
      end = 0, this.lastTokEndLoc = null, this.lastTokStartLoc = null, this.context = [nr.brace], this.firstInvalidTemplateEscapePos = null,
      this.strictErrors = /* @__PURE__ */ new Map(), this.tokensLength = 0;
    }
    get strict() {
      return (this.flags & 1) > 0;
    }
    set strict(e) {
      e ? this.flags |= 1 : this.flags &= -2;
    }
    init({
      strictMode: e,
      sourceType: s,
      startIndex: r,
      startLine: i,
      startColumn: a
    }) {
      this.strict = e === !1 ? !1 : e === !0 ? !0 : s === "module", this.startIndex = r, this.curLine = i, this.lineStart = -a, this.startLoc =
      this.endLoc = new Dl(i, a, r);
    }
    get maybeInArrowParameters() {
      return (this.flags & 2) > 0;
    }
    set maybeInArrowParameters(e) {
      e ? this.flags |= 2 : this.flags &= -3;
    }
    get inType() {
      return (this.flags & 4) > 0;
    }
    set inType(e) {
      e ? this.flags |= 4 : this.flags &= -5;
    }
    get noAnonFunctionType() {
      return (this.flags & 8) > 0;
    }
    set noAnonFunctionType(e) {
      e ? this.flags |= 8 : this.flags &= -9;
    }
    get hasFlowComment() {
      return (this.flags & 16) > 0;
    }
    set hasFlowComment(e) {
      e ? this.flags |= 16 : this.flags &= -17;
    }
    get isAmbientContext() {
      return (this.flags & 32) > 0;
    }
    set isAmbientContext(e) {
      e ? this.flags |= 32 : this.flags &= -33;
    }
    get inAbstractClass() {
      return (this.flags & 64) > 0;
    }
    set inAbstractClass(e) {
      e ? this.flags |= 64 : this.flags &= -65;
    }
    get inDisallowConditionalTypesContext() {
      return (this.flags & 128) > 0;
    }
    set inDisallowConditionalTypesContext(e) {
      e ? this.flags |= 128 : this.flags &= -129;
    }
    get soloAwait() {
      return (this.flags & 256) > 0;
    }
    set soloAwait(e) {
      e ? this.flags |= 256 : this.flags &= -257;
    }
    get inFSharpPipelineDirectBody() {
      return (this.flags & 512) > 0;
    }
    set inFSharpPipelineDirectBody(e) {
      e ? this.flags |= 512 : this.flags &= -513;
    }
    get canStartJSXElement() {
      return (this.flags & 1024) > 0;
    }
    set canStartJSXElement(e) {
      e ? this.flags |= 1024 : this.flags &= -1025;
    }
    get containsEsc() {
      return (this.flags & 2048) > 0;
    }
    set containsEsc(e) {
      e ? this.flags |= 2048 : this.flags &= -2049;
    }
    get hasTopLevelAwait() {
      return (this.flags & 4096) > 0;
    }
    set hasTopLevelAwait(e) {
      e ? this.flags |= 4096 : this.flags &= -4097;
    }
    curPosition() {
      return new Dl(this.curLine, this.pos - this.lineStart, this.pos + this.startIndex);
    }
    clone() {
      let e = new t();
      return e.flags = this.flags, e.startIndex = this.startIndex, e.curLine = this.curLine, e.lineStart = this.lineStart, e.startLoc = this.
      startLoc, e.endLoc = this.endLoc, e.errors = this.errors.slice(), e.potentialArrowAt = this.potentialArrowAt, e.noArrowAt = this.noArrowAt.
      slice(), e.noArrowParamsConversionAt = this.noArrowParamsConversionAt.slice(), e.topicContext = this.topicContext, e.labels = this.labels.
      slice(), e.commentsLen = this.commentsLen, e.commentStack = this.commentStack.slice(), e.pos = this.pos, e.type = this.type, e.value =
      this.value, e.start = this.start, e.end = this.end, e.lastTokEndLoc = this.lastTokEndLoc, e.lastTokStartLoc = this.lastTokStartLoc, e.
      context = this.context.slice(), e.firstInvalidTemplateEscapePos = this.firstInvalidTemplateEscapePos, e.strictErrors = this.strictErrors,
      e.tokensLength = this.tokensLength, e;
    }
  }, Ufs = /* @__PURE__ */ n(function(e) {
    return e >= 48 && e <= 57;
  }, "isDigit"), Ife = {
    decBinOct: /* @__PURE__ */ new Set([46, 66, 69, 79, 95, 98, 101, 111]),
    hex: /* @__PURE__ */ new Set([46, 88, 95, 120])
  }, fv = {
    bin: /* @__PURE__ */ n((t) => t === 48 || t === 49, "bin"),
    oct: /* @__PURE__ */ n((t) => t >= 48 && t <= 55, "oct"),
    dec: /* @__PURE__ */ n((t) => t >= 48 && t <= 57, "dec"),
    hex: /* @__PURE__ */ n((t) => t >= 48 && t <= 57 || t >= 65 && t <= 70 || t >= 97 && t <= 102, "hex")
  };
  function Nfe(t, e, s, r, i, a) {
    let o = s, l = r, u = i, c = "", p = null, h = s, {
      length: f
    } = e;
    for (; ; ) {
      if (s >= f) {
        a.unterminated(o, l, u), c += e.slice(h, s);
        break;
      }
      let d = e.charCodeAt(s);
      if (Kfs(t, d, e, s)) {
        c += e.slice(h, s);
        break;
      }
      if (d === 92) {
        c += e.slice(h, s);
        let m = Vfs(e, s, r, i, t === "template", a);
        m.ch === null && !p ? p = {
          pos: s,
          lineStart: r,
          curLine: i
        } : c += m.ch, {
          pos: s,
          lineStart: r,
          curLine: i
        } = m, h = s;
      } else d === 8232 || d === 8233 ? (++s, ++i, r = s) : d === 10 || d === 13 ? t === "template" ? (c += e.slice(h, s) + `
`, ++s, d === 13 && e.charCodeAt(s) === 10 && ++s, ++i, h = r = s) : a.unterminated(o, l, u) : ++s;
    }
    return {
      pos: s,
      str: c,
      firstInvalidLoc: p,
      lineStart: r,
      curLine: i,
      containsInvalid: !!p
    };
  }
  n(Nfe, "readStringContents");
  function Kfs(t, e, s, r) {
    return t === "template" ? e === 96 || e === 36 && s.charCodeAt(r + 1) === 123 : e === (t === "double" ? 34 : 39);
  }
  n(Kfs, "isStringEnd");
  function Vfs(t, e, s, r, i, a) {
    let o = !i;
    e++;
    let l = /* @__PURE__ */ n((c) => ({
      pos: e,
      ch: c,
      lineStart: s,
      curLine: r
    }), "res"), u = t.charCodeAt(e++);
    switch (u) {
      case 110:
        return l(`
`);
      case 114:
        return l("\r");
      case 120: {
        let c;
        return {
          code: c,
          pos: e
        } = Q6(t, e, s, r, 2, !1, o, a), l(c === null ? null : String.fromCharCode(c));
      }
      case 117: {
        let c;
        return {
          code: c,
          pos: e
        } = Hfe(t, e, s, r, o, a), l(c === null ? null : String.fromCodePoint(c));
      }
      case 116:
        return l("	");
      case 98:
        return l("\b");
      case 118:
        return l("\v");
      case 102:
        return l("\f");
      case 13:
        t.charCodeAt(e) === 10 && ++e;
      case 10:
        s = e, ++r;
      case 8232:
      case 8233:
        return l("");
      case 56:
      case 57:
        if (i)
          return l(null);
        a.strictNumericEscape(e - 1, s, r);
      default:
        if (u >= 48 && u <= 55) {
          let c = e - 1, h = /^[0-7]+/.exec(t.slice(c, e + 2))[0], f = parseInt(h, 8);
          f > 255 && (h = h.slice(0, -1), f = parseInt(h, 8)), e += h.length - 1;
          let d = t.charCodeAt(e);
          if (h !== "0" || d === 56 || d === 57) {
            if (i)
              return l(null);
            a.strictNumericEscape(c, s, r);
          }
          return l(String.fromCharCode(f));
        }
        return l(String.fromCharCode(u));
    }
  }
  n(Vfs, "readEscapedChar");
  function Q6(t, e, s, r, i, a, o, l) {
    let u = e, c;
    return {
      n: c,
      pos: e
    } = $fe(t, e, s, r, 16, i, a, !1, l, !o), c === null && (o ? l.invalidEscapeSequence(u, s, r) : e = u - 1), {
      code: c,
      pos: e
    };
  }
  n(Q6, "readHexChar");
  function $fe(t, e, s, r, i, a, o, l, u, c) {
    let p = e, h = i === 16 ? Ife.hex : Ife.decBinOct, f = i === 16 ? fv.hex : i === 10 ? fv.dec : i === 8 ? fv.oct : fv.bin, d = !1, m = 0;
    for (let y = 0, T = a ?? 1 / 0; y < T; ++y) {
      let b = t.charCodeAt(e), E;
      if (b === 95 && l !== "bail") {
        let V = t.charCodeAt(e - 1), W = t.charCodeAt(e + 1);
        if (l) {
          if (Number.isNaN(W) || !f(W) || h.has(V) || h.has(W)) {
            if (c) return {
              n: null,
              pos: e
            };
            u.unexpectedNumericSeparator(e, s, r);
          }
        } else {
          if (c) return {
            n: null,
            pos: e
          };
          u.numericSeparatorInEscapeSequence(e, s, r);
        }
        ++e;
        continue;
      }
      if (b >= 97 ? E = b - 97 + 10 : b >= 65 ? E = b - 65 + 10 : Ufs(b) ? E = b - 48 : E = 1 / 0, E >= i) {
        if (E <= 9 && c)
          return {
            n: null,
            pos: e
          };
        if (E <= 9 && u.invalidDigit(e, s, r, i))
          E = 0;
        else if (o)
          E = 0, d = !0;
        else
          break;
      }
      ++e, m = m * i + E;
    }
    return e === p || a != null && e - p !== a || d ? {
      n: null,
      pos: e
    } : {
      n: m,
      pos: e
    };
  }
  n($fe, "readInt");
  function Hfe(t, e, s, r, i, a) {
    let o = t.charCodeAt(e), l;
    if (o === 123) {
      if (++e, {
        code: l,
        pos: e
      } = Q6(t, e, s, r, t.indexOf("}", e) - e, !0, i, a), ++e, l !== null && l > 1114111)
        if (i)
          a.invalidCodePoint(e, s, r);
        else
          return {
            code: null,
            pos: e
          };
    } else
      ({
        code: l,
        pos: e
      } = Q6(t, e, s, r, 4, !1, i, a));
    return {
      code: l,
      pos: e
    };
  }
  n(Hfe, "readCodePoint");
  function UT(t, e, s) {
    return new Dl(s, t - e, t);
  }
  n(UT, "buildPosition");
  var Wfs = /* @__PURE__ */ new Set([103, 109, 115, 105, 121, 117, 100, 118]), kl = class {
    static {
      n(this, "Token");
    }
    constructor(e) {
      let s = e.startIndex || 0;
      this.type = e.type, this.value = e.value, this.start = s + e.start, this.end = s + e.end, this.loc = new yy(e.startLoc, e.endLoc);
    }
  }, Z6 = class extends z6 {
    static {
      n(this, "Tokenizer");
    }
    constructor(e, s) {
      super(), this.isLookahead = void 0, this.tokens = [], this.errorHandlers_readInt = {
        invalidDigit: /* @__PURE__ */ n((r, i, a, o) => this.optionFlags & 1024 ? (this.raise(se.InvalidDigit, UT(r, i, a), {
          radix: o
        }), !0) : !1, "invalidDigit"),
        numericSeparatorInEscapeSequence: this.errorBuilder(se.NumericSeparatorInEscapeSequence),
        unexpectedNumericSeparator: this.errorBuilder(se.UnexpectedNumericSeparator)
      }, this.errorHandlers_readCodePoint = Object.assign({}, this.errorHandlers_readInt, {
        invalidEscapeSequence: this.errorBuilder(se.InvalidEscapeSequence),
        invalidCodePoint: this.errorBuilder(se.InvalidCodePoint)
      }), this.errorHandlers_readStringContents_string = Object.assign({}, this.errorHandlers_readCodePoint, {
        strictNumericEscape: /* @__PURE__ */ n((r, i, a) => {
          this.recordStrictModeErrors(se.StrictNumericEscape, UT(r, i, a));
        }, "strictNumericEscape"),
        unterminated: /* @__PURE__ */ n((r, i, a) => {
          throw this.raise(se.UnterminatedString, UT(r - 1, i, a));
        }, "unterminated")
      }), this.errorHandlers_readStringContents_template = Object.assign({}, this.errorHandlers_readCodePoint, {
        strictNumericEscape: this.errorBuilder(se.StrictNumericEscape),
        unterminated: /* @__PURE__ */ n((r, i, a) => {
          throw this.raise(se.UnterminatedTemplate, UT(r, i, a));
        }, "unterminated")
      }), this.state = new G6(), this.state.init(e), this.input = s, this.length = s.length, this.comments = [], this.isLookahead = !1;
    }
    pushToken(e) {
      this.tokens.length = this.state.tokensLength, this.tokens.push(e), ++this.state.tokensLength;
    }
    next() {
      this.checkKeywordEscapes(), this.optionFlags & 128 && this.pushToken(new kl(this.state)), this.state.lastTokEndLoc = this.state.endLoc,
      this.state.lastTokStartLoc = this.state.startLoc, this.nextToken();
    }
    eat(e) {
      return this.match(e) ? (this.next(), !0) : !1;
    }
    match(e) {
      return this.state.type === e;
    }
    createLookaheadState(e) {
      return {
        pos: e.pos,
        value: null,
        type: e.type,
        start: e.start,
        end: e.end,
        context: [this.curContext()],
        inType: e.inType,
        startLoc: e.startLoc,
        lastTokEndLoc: e.lastTokEndLoc,
        curLine: e.curLine,
        lineStart: e.lineStart,
        curPosition: e.curPosition
      };
    }
    lookahead() {
      let e = this.state;
      this.state = this.createLookaheadState(e), this.isLookahead = !0, this.nextToken(), this.isLookahead = !1;
      let s = this.state;
      return this.state = e, s;
    }
    nextTokenStart() {
      return this.nextTokenStartSince(this.state.pos);
    }
    nextTokenStartSince(e) {
      return U6.lastIndex = e, U6.test(this.input) ? U6.lastIndex : e;
    }
    lookaheadCharCode() {
      return this.input.charCodeAt(this.nextTokenStart());
    }
    nextTokenInLineStart() {
      return this.nextTokenInLineStartSince(this.state.pos);
    }
    nextTokenInLineStartSince(e) {
      return K6.lastIndex = e, K6.test(this.input) ? K6.lastIndex : e;
    }
    lookaheadInLineCharCode() {
      return this.input.charCodeAt(this.nextTokenInLineStart());
    }
    codePointAtPos(e) {
      let s = this.input.charCodeAt(e);
      if ((s & 64512) === 55296 && ++e < this.input.length) {
        let r = this.input.charCodeAt(e);
        (r & 64512) === 56320 && (s = 65536 + ((s & 1023) << 10) + (r & 1023));
      }
      return s;
    }
    setStrict(e) {
      this.state.strict = e, e && (this.state.strictErrors.forEach(([s, r]) => this.raise(s, r)), this.state.strictErrors.clear());
    }
    curContext() {
      return this.state.context[this.state.context.length - 1];
    }
    nextToken() {
      if (this.skipSpace(), this.state.start = this.state.pos, this.isLookahead || (this.state.startLoc = this.state.curPosition()), this.state.
      pos >= this.length) {
        this.finishToken(140);
        return;
      }
      this.getTokenFromCode(this.codePointAtPos(this.state.pos));
    }
    skipBlockComment(e) {
      let s;
      this.isLookahead || (s = this.state.curPosition());
      let r = this.state.pos, i = this.input.indexOf(e, r + 2);
      if (i === -1)
        throw this.raise(se.UnterminatedComment, this.state.curPosition());
      for (this.state.pos = i + e.length, hv.lastIndex = r + 2; hv.test(this.input) && hv.lastIndex <= i; )
        ++this.state.curLine, this.state.lineStart = hv.lastIndex;
      if (this.isLookahead) return;
      let a = {
        type: "CommentBlock",
        value: this.input.slice(r + 2, i),
        start: this.sourceToOffsetPos(r),
        end: this.sourceToOffsetPos(i + e.length),
        loc: new yy(s, this.state.curPosition())
      };
      return this.optionFlags & 128 && this.pushToken(a), a;
    }
    skipLineComment(e) {
      let s = this.state.pos, r;
      this.isLookahead || (r = this.state.curPosition());
      let i = this.input.charCodeAt(this.state.pos += e);
      if (this.state.pos < this.length)
        for (; !dy(i) && ++this.state.pos < this.length; )
          i = this.input.charCodeAt(this.state.pos);
      if (this.isLookahead) return;
      let a = this.state.pos, l = {
        type: "CommentLine",
        value: this.input.slice(s + e, a),
        start: this.sourceToOffsetPos(s),
        end: this.sourceToOffsetPos(a),
        loc: new yy(r, this.state.curPosition())
      };
      return this.optionFlags & 128 && this.pushToken(l), l;
    }
    skipSpace() {
      let e = this.state.pos, s = this.optionFlags & 2048 ? [] : null;
      e: for (; this.state.pos < this.length; ) {
        let r = this.input.charCodeAt(this.state.pos);
        switch (r) {
          case 32:
          case 160:
          case 9:
            ++this.state.pos;
            break;
          case 13:
            this.input.charCodeAt(this.state.pos + 1) === 10 && ++this.state.pos;
          case 10:
          case 8232:
          case 8233:
            ++this.state.pos, ++this.state.curLine, this.state.lineStart = this.state.pos;
            break;
          case 47:
            switch (this.input.charCodeAt(this.state.pos + 1)) {
              case 42: {
                let i = this.skipBlockComment("*/");
                i !== void 0 && (this.addComment(i), s?.push(i));
                break;
              }
              case 47: {
                let i = this.skipLineComment(2);
                i !== void 0 && (this.addComment(i), s?.push(i));
                break;
              }
              default:
                break e;
            }
            break;
          default:
            if (qfs(r))
              ++this.state.pos;
            else if (r === 45 && !this.inModule && this.optionFlags & 4096) {
              let i = this.state.pos;
              if (this.input.charCodeAt(i + 1) === 45 && this.input.charCodeAt(i + 2) === 62 && (e === 0 || this.state.lineStart > e)) {
                let a = this.skipLineComment(3);
                a !== void 0 && (this.addComment(a), s?.push(a));
              } else
                break e;
            } else if (r === 60 && !this.inModule && this.optionFlags & 4096) {
              let i = this.state.pos;
              if (this.input.charCodeAt(i + 1) === 33 && this.input.charCodeAt(i + 2) === 45 && this.input.charCodeAt(i + 3) === 45) {
                let a = this.skipLineComment(4);
                a !== void 0 && (this.addComment(a), s?.push(a));
              } else
                break e;
            } else
              break e;
        }
      }
      if (s?.length > 0) {
        let r = this.state.pos, i = {
          start: this.sourceToOffsetPos(e),
          end: this.sourceToOffsetPos(r),
          comments: s,
          leadingNode: null,
          trailingNode: null,
          containingNode: null
        };
        this.state.commentStack.push(i);
      }
    }
    finishToken(e, s) {
      this.state.end = this.state.pos, this.state.endLoc = this.state.curPosition();
      let r = this.state.type;
      this.state.type = e, this.state.value = s, this.isLookahead || this.updateContext(r);
    }
    replaceToken(e) {
      this.state.type = e, this.updateContext();
    }
    readToken_numberSign() {
      if (this.state.pos === 0 && this.readToken_interpreter())
        return;
      let e = this.state.pos + 1, s = this.codePointAtPos(e);
      if (s >= 48 && s <= 57)
        throw this.raise(se.UnexpectedDigitAfterHash, this.state.curPosition());
      if (s === 123 || s === 91 && this.hasPlugin("recordAndTuple")) {
        if (this.expectPlugin("recordAndTuple"), this.getPluginOption("recordAndTuple", "syntaxType") === "bar")
          throw this.raise(s === 123 ? se.RecordExpressionHashIncorrectStartSyntaxType : se.TupleExpressionHashIncorrectStartSyntaxType, this.
          state.curPosition());
        this.state.pos += 2, s === 123 ? this.finishToken(7) : this.finishToken(1);
      } else pc(s) ? (++this.state.pos, this.finishToken(139, this.readWord1(s))) : s === 92 ? (++this.state.pos, this.finishToken(139, this.
      readWord1())) : this.finishOp(27, 1);
    }
    readToken_dot() {
      let e = this.input.charCodeAt(this.state.pos + 1);
      if (e >= 48 && e <= 57) {
        this.readNumber(!0);
        return;
      }
      e === 46 && this.input.charCodeAt(this.state.pos + 2) === 46 ? (this.state.pos += 3, this.finishToken(21)) : (++this.state.pos, this.finishToken(
      16));
    }
    readToken_slash() {
      this.input.charCodeAt(this.state.pos + 1) === 61 ? this.finishOp(31, 2) : this.finishOp(56, 1);
    }
    readToken_interpreter() {
      if (this.state.pos !== 0 || this.length < 2) return !1;
      let e = this.input.charCodeAt(this.state.pos + 1);
      if (e !== 33) return !1;
      let s = this.state.pos;
      for (this.state.pos += 1; !dy(e) && ++this.state.pos < this.length; )
        e = this.input.charCodeAt(this.state.pos);
      let r = this.input.slice(s + 2, this.state.pos);
      return this.finishToken(28, r), !0;
    }
    readToken_mult_modulo(e) {
      let s = e === 42 ? 55 : 54, r = 1, i = this.input.charCodeAt(this.state.pos + 1);
      e === 42 && i === 42 && (r++, i = this.input.charCodeAt(this.state.pos + 2), s = 57), i === 61 && !this.state.inType && (r++, s = e ===
      37 ? 33 : 30), this.finishOp(s, r);
    }
    readToken_pipe_amp(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === e) {
        this.input.charCodeAt(this.state.pos + 2) === 61 ? this.finishOp(30, 3) : this.finishOp(e === 124 ? 41 : 42, 2);
        return;
      }
      if (e === 124) {
        if (s === 62) {
          this.finishOp(39, 2);
          return;
        }
        if (this.hasPlugin("recordAndTuple") && s === 125) {
          if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
            throw this.raise(se.RecordExpressionBarIncorrectEndSyntaxType, this.state.curPosition());
          this.state.pos += 2, this.finishToken(9);
          return;
        }
        if (this.hasPlugin("recordAndTuple") && s === 93) {
          if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
            throw this.raise(se.TupleExpressionBarIncorrectEndSyntaxType, this.state.curPosition());
          this.state.pos += 2, this.finishToken(4);
          return;
        }
      }
      if (s === 61) {
        this.finishOp(30, 2);
        return;
      }
      this.finishOp(e === 124 ? 43 : 45, 1);
    }
    readToken_caret() {
      let e = this.input.charCodeAt(this.state.pos + 1);
      e === 61 && !this.state.inType ? this.finishOp(32, 2) : e === 94 && this.hasPlugin(["pipelineOperator", {
        proposal: "hack",
        topicToken: "^^"
      }]) ? (this.finishOp(37, 2), this.input.codePointAt(this.state.pos) === 94 && this.unexpected()) : this.finishOp(44, 1);
    }
    readToken_atSign() {
      this.input.charCodeAt(this.state.pos + 1) === 64 && this.hasPlugin(["pipelineOperator", {
        proposal: "hack",
        topicToken: "@@"
      }]) ? this.finishOp(38, 2) : this.finishOp(26, 1);
    }
    readToken_plus_min(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === e) {
        this.finishOp(34, 2);
        return;
      }
      s === 61 ? this.finishOp(30, 2) : this.finishOp(53, 1);
    }
    readToken_lt() {
      let {
        pos: e
      } = this.state, s = this.input.charCodeAt(e + 1);
      if (s === 60) {
        if (this.input.charCodeAt(e + 2) === 61) {
          this.finishOp(30, 3);
          return;
        }
        this.finishOp(51, 2);
        return;
      }
      if (s === 61) {
        this.finishOp(49, 2);
        return;
      }
      this.finishOp(47, 1);
    }
    readToken_gt() {
      let {
        pos: e
      } = this.state, s = this.input.charCodeAt(e + 1);
      if (s === 62) {
        let r = this.input.charCodeAt(e + 2) === 62 ? 3 : 2;
        if (this.input.charCodeAt(e + r) === 61) {
          this.finishOp(30, r + 1);
          return;
        }
        this.finishOp(52, r);
        return;
      }
      if (s === 61) {
        this.finishOp(49, 2);
        return;
      }
      this.finishOp(48, 1);
    }
    readToken_eq_excl(e) {
      let s = this.input.charCodeAt(this.state.pos + 1);
      if (s === 61) {
        this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2);
        return;
      }
      if (e === 61 && s === 62) {
        this.state.pos += 2, this.finishToken(19);
        return;
      }
      this.finishOp(e === 61 ? 29 : 35, 1);
    }
    readToken_question() {
      let e = this.input.charCodeAt(this.state.pos + 1), s = this.input.charCodeAt(this.state.pos + 2);
      e === 63 ? s === 61 ? this.finishOp(30, 3) : this.finishOp(40, 2) : e === 46 && !(s >= 48 && s <= 57) ? (this.state.pos += 2, this.finishToken(
      18)) : (++this.state.pos, this.finishToken(17));
    }
    getTokenFromCode(e) {
      switch (e) {
        case 46:
          this.readToken_dot();
          return;
        case 40:
          ++this.state.pos, this.finishToken(10);
          return;
        case 41:
          ++this.state.pos, this.finishToken(11);
          return;
        case 59:
          ++this.state.pos, this.finishToken(13);
          return;
        case 44:
          ++this.state.pos, this.finishToken(12);
          return;
        case 91:
          if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
            if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
              throw this.raise(se.TupleExpressionBarIncorrectStartSyntaxType, this.state.curPosition());
            this.state.pos += 2, this.finishToken(2);
          } else
            ++this.state.pos, this.finishToken(0);
          return;
        case 93:
          ++this.state.pos, this.finishToken(3);
          return;
        case 123:
          if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
            if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar")
              throw this.raise(se.RecordExpressionBarIncorrectStartSyntaxType, this.state.curPosition());
            this.state.pos += 2, this.finishToken(6);
          } else
            ++this.state.pos, this.finishToken(5);
          return;
        case 125:
          ++this.state.pos, this.finishToken(8);
          return;
        case 58:
          this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58 ? this.finishOp(15, 2) : (++this.state.pos, this.
          finishToken(14));
          return;
        case 63:
          this.readToken_question();
          return;
        case 96:
          this.readTemplateToken();
          return;
        case 48: {
          let s = this.input.charCodeAt(this.state.pos + 1);
          if (s === 120 || s === 88) {
            this.readRadixNumber(16);
            return;
          }
          if (s === 111 || s === 79) {
            this.readRadixNumber(8);
            return;
          }
          if (s === 98 || s === 66) {
            this.readRadixNumber(2);
            return;
          }
        }
        case 49:
        case 50:
        case 51:
        case 52:
        case 53:
        case 54:
        case 55:
        case 56:
        case 57:
          this.readNumber(!1);
          return;
        case 34:
        case 39:
          this.readString(e);
          return;
        case 47:
          this.readToken_slash();
          return;
        case 37:
        case 42:
          this.readToken_mult_modulo(e);
          return;
        case 124:
        case 38:
          this.readToken_pipe_amp(e);
          return;
        case 94:
          this.readToken_caret();
          return;
        case 43:
        case 45:
          this.readToken_plus_min(e);
          return;
        case 60:
          this.readToken_lt();
          return;
        case 62:
          this.readToken_gt();
          return;
        case 61:
        case 33:
          this.readToken_eq_excl(e);
          return;
        case 126:
          this.finishOp(36, 1);
          return;
        case 64:
          this.readToken_atSign();
          return;
        case 35:
          this.readToken_numberSign();
          return;
        case 92:
          this.readWord();
          return;
        default:
          if (pc(e)) {
            this.readWord(e);
            return;
          }
      }
      throw this.raise(se.InvalidOrUnexpectedToken, this.state.curPosition(), {
        unexpected: String.fromCodePoint(e)
      });
    }
    finishOp(e, s) {
      let r = this.input.slice(this.state.pos, this.state.pos + s);
      this.state.pos += s, this.finishToken(e, r);
    }
    readRegexp() {
      let e = this.state.startLoc, s = this.state.start + 1, r, i, {
        pos: a
      } = this.state;
      for (; ; ++a) {
        if (a >= this.length)
          throw this.raise(se.UnterminatedRegExp, Hn(e, 1));
        let c = this.input.charCodeAt(a);
        if (dy(c))
          throw this.raise(se.UnterminatedRegExp, Hn(e, 1));
        if (r)
          r = !1;
        else {
          if (c === 91)
            i = !0;
          else if (c === 93 && i)
            i = !1;
          else if (c === 47 && !i)
            break;
          r = c === 92;
        }
      }
      let o = this.input.slice(s, a);
      ++a;
      let l = "", u = /* @__PURE__ */ n(() => Hn(e, a + 2 - s), "nextPos");
      for (; a < this.length; ) {
        let c = this.codePointAtPos(a), p = String.fromCharCode(c);
        if (Wfs.has(c))
          c === 118 ? l.includes("u") && this.raise(se.IncompatibleRegExpUVFlags, u()) : c === 117 && l.includes("v") && this.raise(se.IncompatibleRegExpUVFlags,
          u()), l.includes(p) && this.raise(se.DuplicateRegExpFlags, u());
        else if (fy(c) || c === 92)
          this.raise(se.MalformedRegExpFlags, u());
        else
          break;
        ++a, l += p;
      }
      this.state.pos = a, this.finishToken(138, {
        pattern: o,
        flags: l
      });
    }
    readInt(e, s, r = !1, i = !0) {
      let {
        n: a,
        pos: o
      } = $fe(this.input, this.state.pos, this.state.lineStart, this.state.curLine, e, s, r, i, this.errorHandlers_readInt, !1);
      return this.state.pos = o, a;
    }
    readRadixNumber(e) {
      let s = this.state.pos, r = this.state.curPosition(), i = !1;
      this.state.pos += 2;
      let a = this.readInt(e);
      a == null && this.raise(se.InvalidDigit, Hn(r, 2), {
        radix: e
      });
      let o = this.input.charCodeAt(this.state.pos);
      if (o === 110)
        ++this.state.pos, i = !0;
      else if (o === 109)
        throw this.raise(se.InvalidDecimal, r);
      if (pc(this.codePointAtPos(this.state.pos)))
        throw this.raise(se.NumberIdentifier, this.state.curPosition());
      if (i) {
        let l = this.input.slice(s, this.state.pos).replace(/[_n]/g, "");
        this.finishToken(136, l);
        return;
      }
      this.finishToken(135, a);
    }
    readNumber(e) {
      let s = this.state.pos, r = this.state.curPosition(), i = !1, a = !1, o = !1, l = !1;
      !e && this.readInt(10) === null && this.raise(se.InvalidNumber, this.state.curPosition());
      let u = this.state.pos - s >= 2 && this.input.charCodeAt(s) === 48;
      if (u) {
        let d = this.input.slice(s, this.state.pos);
        if (this.recordStrictModeErrors(se.StrictOctalLiteral, r), !this.state.strict) {
          let m = d.indexOf("_");
          m > 0 && this.raise(se.ZeroDigitNumericSeparator, Hn(r, m));
        }
        l = u && !/[89]/.test(d);
      }
      let c = this.input.charCodeAt(this.state.pos);
      if (c === 46 && !l && (++this.state.pos, this.readInt(10), i = !0, c = this.input.charCodeAt(this.state.pos)), (c === 69 || c === 101) &&
      !l && (c = this.input.charCodeAt(++this.state.pos), (c === 43 || c === 45) && ++this.state.pos, this.readInt(10) === null && this.raise(
      se.InvalidOrMissingExponent, r), i = !0, o = !0, c = this.input.charCodeAt(this.state.pos)), c === 110 && ((i || u) && this.raise(se.InvalidBigIntLiteral,
      r), ++this.state.pos, a = !0), c === 109) {
        this.expectPlugin("decimal", this.state.curPosition()), (o || u) && this.raise(se.InvalidDecimal, r), ++this.state.pos;
        var p = !0;
      }
      if (pc(this.codePointAtPos(this.state.pos)))
        throw this.raise(se.NumberIdentifier, this.state.curPosition());
      let h = this.input.slice(s, this.state.pos).replace(/[_mn]/g, "");
      if (a) {
        this.finishToken(136, h);
        return;
      }
      if (p) {
        this.finishToken(137, h);
        return;
      }
      let f = l ? parseInt(h, 8) : parseFloat(h);
      this.finishToken(135, f);
    }
    readCodePoint(e) {
      let {
        code: s,
        pos: r
      } = Hfe(this.input, this.state.pos, this.state.lineStart, this.state.curLine, e, this.errorHandlers_readCodePoint);
      return this.state.pos = r, s;
    }
    readString(e) {
      let {
        str: s,
        pos: r,
        curLine: i,
        lineStart: a
      } = Nfe(e === 34 ? "double" : "single", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_string);
      this.state.pos = r + 1, this.state.lineStart = a, this.state.curLine = i, this.finishToken(134, s);
    }
    readTemplateContinuation() {
      this.match(8) || this.unexpected(null, 8), this.state.pos--, this.readTemplateToken();
    }
    readTemplateToken() {
      let e = this.input[this.state.pos], {
        str: s,
        firstInvalidLoc: r,
        pos: i,
        curLine: a,
        lineStart: o
      } = Nfe("template", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_template);
      this.state.pos = i + 1, this.state.lineStart = o, this.state.curLine = a, r && (this.state.firstInvalidTemplateEscapePos = new Dl(r.curLine,
      r.pos - r.lineStart, this.sourceToOffsetPos(r.pos))), this.input.codePointAt(i) === 96 ? this.finishToken(24, r ? null : e + s + "`") :
      (this.state.pos++, this.finishToken(25, r ? null : e + s + "${"));
    }
    recordStrictModeErrors(e, s) {
      let r = s.index;
      this.state.strict && !this.state.strictErrors.has(r) ? this.raise(e, s) : this.state.strictErrors.set(r, [e, s]);
    }
    readWord1(e) {
      this.state.containsEsc = !1;
      let s = "", r = this.state.pos, i = this.state.pos;
      for (e !== void 0 && (this.state.pos += e <= 65535 ? 1 : 2); this.state.pos < this.length; ) {
        let a = this.codePointAtPos(this.state.pos);
        if (fy(a))
          this.state.pos += a <= 65535 ? 1 : 2;
        else if (a === 92) {
          this.state.containsEsc = !0, s += this.input.slice(i, this.state.pos);
          let o = this.state.curPosition(), l = this.state.pos === r ? pc : fy;
          if (this.input.charCodeAt(++this.state.pos) !== 117) {
            this.raise(se.MissingUnicodeEscape, this.state.curPosition()), i = this.state.pos - 1;
            continue;
          }
          ++this.state.pos;
          let u = this.readCodePoint(!0);
          u !== null && (l(u) || this.raise(se.EscapedCharNotAnIdentifier, o), s += String.fromCodePoint(u)), i = this.state.pos;
        } else
          break;
      }
      return s + this.input.slice(i, this.state.pos);
    }
    readWord(e) {
      let s = this.readWord1(e), r = pR.get(s);
      r !== void 0 ? this.finishToken(r, Kp(r)) : this.finishToken(132, s);
    }
    checkKeywordEscapes() {
      let {
        type: e
      } = this.state;
      gR(e) && this.state.containsEsc && this.raise(se.InvalidEscapedReservedWord, this.state.startLoc, {
        reservedWord: Kp(e)
      });
    }
    raise(e, s, r = {}) {
      let i = s instanceof Dl ? s : s.loc.start, a = e(i, r);
      if (!(this.optionFlags & 1024)) throw a;
      return this.isLookahead || this.state.errors.push(a), a;
    }
    raiseOverwrite(e, s, r = {}) {
      let i = s instanceof Dl ? s : s.loc.start, a = i.index, o = this.state.errors;
      for (let l = o.length - 1; l >= 0; l--) {
        let u = o[l];
        if (u.loc.index === a)
          return o[l] = e(i, r);
        if (u.loc.index < a) break;
      }
      return this.raise(e, s, r);
    }
    updateContext(e) {
    }
    unexpected(e, s) {
      throw this.raise(se.UnexpectedToken, e ?? this.state.startLoc, {
        expected: s ? Kp(s) : null
      });
    }
    expectPlugin(e, s) {
      if (this.hasPlugin(e))
        return !0;
      throw this.raise(se.MissingPlugin, s ?? this.state.startLoc, {
        missingPlugin: [e]
      });
    }
    expectOnePlugin(e) {
      if (!e.some((s) => this.hasPlugin(s)))
        throw this.raise(se.MissingOneOfPlugins, this.state.startLoc, {
          missingPlugin: e
        });
    }
    errorBuilder(e) {
      return (s, r, i) => {
        this.raise(e, UT(s, r, i));
      };
    }
  }, eR = class {
    static {
      n(this, "ClassScope");
    }
    constructor() {
      this.privateNames = /* @__PURE__ */ new Set(), this.loneAccessors = /* @__PURE__ */ new Map(), this.undefinedPrivateNames = /* @__PURE__ */ new Map();
    }
  }, tR = class {
    static {
      n(this, "ClassScopeHandler");
    }
    constructor(e) {
      this.parser = void 0, this.stack = [], this.undefinedPrivateNames = /* @__PURE__ */ new Map(), this.parser = e;
    }
    current() {
      return this.stack[this.stack.length - 1];
    }
    enter() {
      this.stack.push(new eR());
    }
    exit() {
      let e = this.stack.pop(), s = this.current();
      for (let [r, i] of Array.from(e.undefinedPrivateNames))
        s ? s.undefinedPrivateNames.has(r) || s.undefinedPrivateNames.set(r, i) : this.parser.raise(se.InvalidPrivateFieldResolution, i, {
          identifierName: r
        });
    }
    declarePrivateName(e, s, r) {
      let {
        privateNames: i,
        loneAccessors: a,
        undefinedPrivateNames: o
      } = this.current(), l = i.has(e);
      if (s & 3) {
        let u = l && a.get(e);
        if (u) {
          let c = u & 4, p = s & 4, h = u & 3, f = s & 3;
          l = h === f || c !== p, l || a.delete(e);
        } else l || a.set(e, s);
      }
      l && this.parser.raise(se.PrivateNameRedeclaration, r, {
        identifierName: e
      }), i.add(e), o.delete(e);
    }
    usePrivateName(e, s) {
      let r;
      for (r of this.stack)
        if (r.privateNames.has(e)) return;
      r ? r.undefinedPrivateNames.set(e, s) : this.parser.raise(se.InvalidPrivateFieldResolution, s, {
        identifierName: e
      });
    }
  }, gy = class {
    static {
      n(this, "ExpressionScope");
    }
    constructor(e = 0) {
      this.type = e;
    }
    canBeArrowParameterDeclaration() {
      return this.type === 2 || this.type === 1;
    }
    isCertainlyParameterDeclaration() {
      return this.type === 3;
    }
  }, bv = class extends gy {
    static {
      n(this, "ArrowHeadParsingScope");
    }
    constructor(e) {
      super(e), this.declarationErrors = /* @__PURE__ */ new Map();
    }
    recordDeclarationError(e, s) {
      let r = s.index;
      this.declarationErrors.set(r, [e, s]);
    }
    clearDeclarationError(e) {
      this.declarationErrors.delete(e);
    }
    iterateErrors(e) {
      this.declarationErrors.forEach(e);
    }
  }, sR = class {
    static {
      n(this, "ExpressionScopeHandler");
    }
    constructor(e) {
      this.parser = void 0, this.stack = [new gy()], this.parser = e;
    }
    enter(e) {
      this.stack.push(e);
    }
    exit() {
      this.stack.pop();
    }
    recordParameterInitializerError(e, s) {
      let r = s.loc.start, {
        stack: i
      } = this, a = i.length - 1, o = i[a];
      for (; !o.isCertainlyParameterDeclaration(); ) {
        if (o.canBeArrowParameterDeclaration())
          o.recordDeclarationError(e, r);
        else
          return;
        o = i[--a];
      }
      this.parser.raise(e, r);
    }
    recordArrowParameterBindingError(e, s) {
      let {
        stack: r
      } = this, i = r[r.length - 1], a = s.loc.start;
      if (i.isCertainlyParameterDeclaration())
        this.parser.raise(e, a);
      else if (i.canBeArrowParameterDeclaration())
        i.recordDeclarationError(e, a);
      else
        return;
    }
    recordAsyncArrowParametersError(e) {
      let {
        stack: s
      } = this, r = s.length - 1, i = s[r];
      for (; i.canBeArrowParameterDeclaration(); )
        i.type === 2 && i.recordDeclarationError(se.AwaitBindingIdentifier, e), i = s[--r];
    }
    validateAsPattern() {
      let {
        stack: e
      } = this, s = e[e.length - 1];
      s.canBeArrowParameterDeclaration() && s.iterateErrors(([r, i]) => {
        this.parser.raise(r, i);
        let a = e.length - 2, o = e[a];
        for (; o.canBeArrowParameterDeclaration(); )
          o.clearDeclarationError(i.index), o = e[--a];
      });
    }
  };
  function $fs() {
    return new gy(3);
  }
  n($fs, "newParameterDeclarationScope");
  function Hfs() {
    return new bv(1);
  }
  n(Hfs, "newArrowHeadScope");
  function Jfs() {
    return new bv(2);
  }
  n(Jfs, "newAsyncArrowScope");
  function Jfe() {
    return new gy();
  }
  n(Jfe, "newExpressionScope");
  var rR = class {
    static {
      n(this, "ProductionParameterHandler");
    }
    constructor() {
      this.stacks = [];
    }
    enter(e) {
      this.stacks.push(e);
    }
    exit() {
      this.stacks.pop();
    }
    currentFlags() {
      return this.stacks[this.stacks.length - 1];
    }
    get hasAwait() {
      return (this.currentFlags() & 2) > 0;
    }
    get hasYield() {
      return (this.currentFlags() & 1) > 0;
    }
    get hasReturn() {
      return (this.currentFlags() & 4) > 0;
    }
    get hasIn() {
      return (this.currentFlags() & 8) > 0;
    }
  };
  function yv(t, e) {
    return (t ? 2 : 0) | (e ? 1 : 0);
  }
  n(yv, "functionFlags");
  var iR = class extends Z6 {
    static {
      n(this, "UtilParser");
    }
    addExtra(e, s, r, i = !0) {
      if (!e) return;
      let {
        extra: a
      } = e;
      a == null && (a = {}, e.extra = a), i ? a[s] = r : Object.defineProperty(a, s, {
        enumerable: i,
        value: r
      });
    }
    isContextual(e) {
      return this.state.type === e && !this.state.containsEsc;
    }
    isUnparsedContextual(e, s) {
      let r = e + s.length;
      if (this.input.slice(e, r) === s) {
        let i = this.input.charCodeAt(r);
        return !(fy(i) || (i & 64512) === 55296);
      }
      return !1;
    }
    isLookaheadContextual(e) {
      let s = this.nextTokenStart();
      return this.isUnparsedContextual(s, e);
    }
    eatContextual(e) {
      return this.isContextual(e) ? (this.next(), !0) : !1;
    }
    expectContextual(e, s) {
      if (!this.eatContextual(e)) {
        if (s != null)
          throw this.raise(s, this.state.startLoc);
        this.unexpected(null, e);
      }
    }
    canInsertSemicolon() {
      return this.match(140) || this.match(8) || this.hasPrecedingLineBreak();
    }
    hasPrecedingLineBreak() {
      return wfe(this.input, this.offsetToSourcePos(this.state.lastTokEndLoc.index), this.state.start);
    }
    hasFollowingLineBreak() {
      return wfe(this.input, this.state.end, this.nextTokenStart());
    }
    isLineTerminator() {
      return this.eat(13) || this.canInsertSemicolon();
    }
    semicolon(e = !0) {
      (e ? this.isLineTerminator() : this.eat(13)) || this.raise(se.MissingSemicolon, this.state.lastTokEndLoc);
    }
    expect(e, s) {
      this.eat(e) || this.unexpected(s, e);
    }
    tryParse(e, s = this.state.clone()) {
      let r = {
        node: null
      };
      try {
        let i = e((a = null) => {
          throw r.node = a, r;
        });
        if (this.state.errors.length > s.errors.length) {
          let a = this.state;
          return this.state = s, this.state.tokensLength = a.tokensLength, {
            node: i,
            error: a.errors[s.errors.length],
            thrown: !1,
            aborted: !1,
            failState: a
          };
        }
        return {
          node: i,
          error: null,
          thrown: !1,
          aborted: !1,
          failState: null
        };
      } catch (i) {
        let a = this.state;
        if (this.state = s, i instanceof SyntaxError)
          return {
            node: null,
            error: i,
            thrown: !0,
            aborted: !1,
            failState: a
          };
        if (i === r)
          return {
            node: r.node,
            error: null,
            thrown: !1,
            aborted: !0,
            failState: a
          };
        throw i;
      }
    }
    checkExpressionErrors(e, s) {
      if (!e) return !1;
      let {
        shorthandAssignLoc: r,
        doubleProtoLoc: i,
        privateKeyLoc: a,
        optionalParametersLoc: o
      } = e, l = !!r || !!i || !!o || !!a;
      if (!s)
        return l;
      r != null && this.raise(se.InvalidCoverInitializedName, r), i != null && this.raise(se.DuplicateProto, i), a != null && this.raise(se.
      UnexpectedPrivateField, a), o != null && this.unexpected(o);
    }
    isLiteralPropertyName() {
      return Ffe(this.state.type);
    }
    isPrivateName(e) {
      return e.type === "PrivateName";
    }
    getPrivateNameSV(e) {
      return e.id.name;
    }
    hasPropertyAsPrivateName(e) {
      return (e.type === "MemberExpression" || e.type === "OptionalMemberExpression") && this.isPrivateName(e.property);
    }
    isObjectProperty(e) {
      return e.type === "ObjectProperty";
    }
    isObjectMethod(e) {
      return e.type === "ObjectMethod";
    }
    initializeScopes(e = this.options.sourceType === "module") {
      let s = this.state.labels;
      this.state.labels = [];
      let r = this.exportedIdentifiers;
      this.exportedIdentifiers = /* @__PURE__ */ new Set();
      let i = this.inModule;
      this.inModule = e;
      let a = this.scope, o = this.getScopeHandler();
      this.scope = new o(this, e);
      let l = this.prodParam;
      this.prodParam = new rR();
      let u = this.classScope;
      this.classScope = new tR(this);
      let c = this.expressionScope;
      return this.expressionScope = new sR(this), () => {
        this.state.labels = s, this.exportedIdentifiers = r, this.inModule = i, this.scope = a, this.prodParam = l, this.classScope = u, this.
        expressionScope = c;
      };
    }
    enterInitialScopes() {
      let e = 0;
      this.inModule && (e |= 2), this.scope.enter(1), this.prodParam.enter(e);
    }
    checkDestructuringPrivate(e) {
      let {
        privateKeyLoc: s
      } = e;
      s !== null && this.expectPlugin("destructuringPrivate", s);
    }
  }, my = class {
    static {
      n(this, "ExpressionErrors");
    }
    constructor() {
      this.shorthandAssignLoc = null, this.doubleProtoLoc = null, this.privateKeyLoc = null, this.optionalParametersLoc = null;
    }
  }, Ty = class {
    static {
      n(this, "Node");
    }
    constructor(e, s, r) {
      this.type = "", this.start = s, this.end = 0, this.loc = new yy(r), e?.optionFlags & 64 && (this.range = [s, 0]), e != null && e.filename &&
      (this.loc.filename = e.filename);
    }
  }, xR = Ty.prototype;
  xR.__clone = function() {
    let t = new Ty(void 0, this.start, this.loc.start), e = Object.keys(this);
    for (let s = 0, r = e.length; s < r; s++) {
      let i = e[s];
      i !== "leadingComments" && i !== "trailingComments" && i !== "innerComments" && (t[i] = this[i]);
    }
    return t;
  };
  function Yfs(t) {
    return fc(t);
  }
  n(Yfs, "clonePlaceholder");
  function fc(t) {
    let {
      type: e,
      start: s,
      end: r,
      loc: i,
      range: a,
      extra: o,
      name: l
    } = t, u = Object.create(xR);
    return u.type = e, u.start = s, u.end = r, u.loc = i, u.range = a, u.extra = o, u.name = l, e === "Placeholder" && (u.expectedNode = t.expectedNode),
    u;
  }
  n(fc, "cloneIdentifier");
  function Xfs(t) {
    let {
      type: e,
      start: s,
      end: r,
      loc: i,
      range: a,
      extra: o
    } = t;
    if (e === "Placeholder")
      return Yfs(t);
    let l = Object.create(xR);
    return l.type = e, l.start = s, l.end = r, l.loc = i, l.range = a, t.raw !== void 0 ? l.raw = t.raw : l.extra = o, l.value = t.value, l;
  }
  n(Xfs, "cloneStringLiteral");
  var nR = class extends iR {
    static {
      n(this, "NodeUtils");
    }
    startNode() {
      let e = this.state.startLoc;
      return new Ty(this, e.index, e);
    }
    startNodeAt(e) {
      return new Ty(this, e.index, e);
    }
    startNodeAtNode(e) {
      return this.startNodeAt(e.loc.start);
    }
    finishNode(e, s) {
      return this.finishNodeAt(e, s, this.state.lastTokEndLoc);
    }
    finishNodeAt(e, s, r) {
      return e.type = s, e.end = r.index, e.loc.end = r, this.optionFlags & 64 && (e.range[1] = r.index), this.optionFlags & 2048 && this.processComment(
      e), e;
    }
    resetStartLocation(e, s) {
      e.start = s.index, e.loc.start = s, this.optionFlags & 64 && (e.range[0] = s.index);
    }
    resetEndLocation(e, s = this.state.lastTokEndLoc) {
      e.end = s.index, e.loc.end = s, this.optionFlags & 64 && (e.range[1] = s.index);
    }
    resetStartLocationFromNode(e, s) {
      this.resetStartLocation(e, s.loc.start);
    }
  }, zfs = /* @__PURE__ */ new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "sta\
tic", "string", "true", "typeof", "void"]), Ft = hc`flow`({
    AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",
    AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since \
they are either an ES module or they are a CommonJS module.",
    AssignReservedType: /* @__PURE__ */ n(({
      reservedType: t
    }) => `Cannot overwrite reserved type ${t}.`, "AssignReservedType"),
    DeclareClassElement: "The `declare` modifier can only appear on class fields.",
    DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.",
    DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.",
    EnumBooleanMemberNotInitialized: /* @__PURE__ */ n(({
      memberName: t,
      enumName: e
    }) => `Boolean enum members need to be initialized. Use either \`${t} = true,\` or \`${t} = false,\` in enum \`${e}\`.`, "EnumBooleanMem\
berNotInitialized"),
    EnumDuplicateMemberName: /* @__PURE__ */ n(({
      memberName: t,
      enumName: e
    }) => `Enum member names need to be unique, but the name \`${t}\` has already been used before in enum \`${e}\`.`, "EnumDuplicateMemberN\
ame"),
    EnumInconsistentMemberValues: /* @__PURE__ */ n(({
      enumName: t
    }) => `Enum \`${t}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, num\
bers, or strings) for all member initializers.`, "EnumInconsistentMemberValues"),
    EnumInvalidExplicitType: /* @__PURE__ */ n(({
      invalidEnumType: t,
      enumName: e
    }) => `Enum type \`${t}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${e}\`.`, "EnumInvalidEx\
plicitType"),
    EnumInvalidExplicitTypeUnknownSupplied: /* @__PURE__ */ n(({
      enumName: t
    }) => `Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${t}\`.`, "EnumInvalidEx\
plicitTypeUnknownSupplied"),
    EnumInvalidMemberInitializerPrimaryType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e,
      explicitType: s
    }) => `Enum \`${t}\` has type \`${s}\`, so the initializer of \`${e}\` needs to be a ${s} literal.`, "EnumInvalidMemberInitializerPrimar\
yType"),
    EnumInvalidMemberInitializerSymbolType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `Symbol enum members cannot be initialized. Use \`${e},\` in enum \`${t}\`.`, "EnumInvalidMemberInitializerSymbolType"),
    EnumInvalidMemberInitializerUnknownType: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `The enum member initializer for \`${e}\` needs to be a literal (either a boolean, number, or string) in enum \`${t}\`.`, "EnumInv\
alidMemberInitializerUnknownType"),
    EnumInvalidMemberName: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e,
      suggestion: s
    }) => `Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${e}\`, consider using \`${s}\`, in enum \`${t}\
\`.`, "EnumInvalidMemberName"),
    EnumNumberMemberNotInitialized: /* @__PURE__ */ n(({
      enumName: t,
      memberName: e
    }) => `Number enum members need to be initialized, e.g. \`${e} = 1\` in enum \`${t}\`.`, "EnumNumberMemberNotInitialized"),
    EnumStringMemberInconsistentlyInitialized: /* @__PURE__ */ n(({
      enumName: t
    }) => `String enum members need to consistently either all use initializers, or use no initializers, in enum \`${t}\`.`, "EnumStringMemb\
erInconsistentlyInitialized"),
    GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.",
    ImportReflectionHasImportType: "An `import module` declaration can not use `type` or `typeof` keyword.",
    ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements.\
 It cannot be used with `import type` or `import typeof` statements.",
    InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.",
    InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.",
    InexactVariance: "Explicit inexact syntax cannot have variance.",
    InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.",
    MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",
    NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.",
    NestedFlowComment: "Cannot have a flow comment inside another flow comment.",
    PatternIsOptional: Object.assign({
      message: "A binding pattern parameter cannot be optional in an implementation signature."
    }, {
      reasonCode: "OptionalBindingPattern"
    }),
    SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.",
    SpreadVariance: "Spread properties cannot have variance.",
    ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.",
    ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",
    ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.",
    ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.",
    ThisParamNoDefault: "The `this` parameter may not have a default value.",
    TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`\
.",
    TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.",
    UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.",
    UnexpectedReservedType: /* @__PURE__ */ n(({
      reservedType: t
    }) => `Unexpected reserved type ${t}.`, "UnexpectedReservedType"),
    UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.",
    UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.",
    UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.",
    UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".',
    UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.",
    UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}\
`, use `async <T>() => {}`.",
    UnsupportedDeclareExportKind: /* @__PURE__ */ n(({
      unsupportedExportKind: t,
      suggestion: e
    }) => `\`declare export ${t}\` is not supported. Use \`${e}\` instead.`, "UnsupportedDeclareExportKind"),
    UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.",
    UnterminatedFlowComment: "Unterminated flow-comment."
  });
  function Gfs(t) {
    return t.type === "DeclareExportAllDeclaration" || t.type === "DeclareExportDeclaration" && (!t.declaration || t.declaration.type !== "T\
ypeAlias" && t.declaration.type !== "InterfaceDeclaration");
  }
  n(Gfs, "isEsModuleType");
  function kfe(t) {
    return t.importKind === "type" || t.importKind === "typeof";
  }
  n(kfe, "hasTypeImportKind");
  var Qfs = {
    const: "declare export var",
    let: "declare export var",
    type: "export type",
    interface: "export interface"
  };
  function Zfs(t, e) {
    let s = [], r = [];
    for (let i = 0; i < t.length; i++)
      (e(t[i], i, t) ? s : r).push(t[i]);
    return [s, r];
  }
  n(Zfs, "partition");
  var eds = /\*?\s*@((?:no)?flow)\b/, tds = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "FlowParserMixin");
    }
    constructor(...s) {
      super(...s), this.flowPragma = void 0;
    }
    getScopeHandler() {
      return Y6;
    }
    shouldParseTypes() {
      return this.getPluginOption("flow", "all") || this.flowPragma === "flow";
    }
    finishToken(s, r) {
      s !== 134 && s !== 13 && s !== 28 && this.flowPragma === void 0 && (this.flowPragma = null), super.finishToken(s, r);
    }
    addComment(s) {
      if (this.flowPragma === void 0) {
        let r = eds.exec(s.value);
        if (r) if (r[1] === "flow")
          this.flowPragma = "flow";
        else if (r[1] === "noflow")
          this.flowPragma = "noflow";
        else
          throw new Error("Unexpected flow pragma");
      }
      super.addComment(s);
    }
    flowParseTypeInitialiser(s) {
      let r = this.state.inType;
      this.state.inType = !0, this.expect(s || 14);
      let i = this.flowParseType();
      return this.state.inType = r, i;
    }
    flowParsePredicate() {
      let s = this.startNode(), r = this.state.startLoc;
      return this.next(), this.expectContextual(110), this.state.lastTokStartLoc.index > r.index + 1 && this.raise(Ft.UnexpectedSpaceBetweenModuloChecks,
      r), this.eat(10) ? (s.value = super.parseExpression(), this.expect(11), this.finishNode(s, "DeclaredPredicate")) : this.finishNode(s, "\
InferredPredicate");
    }
    flowParseTypeAndPredicateInitialiser() {
      let s = this.state.inType;
      this.state.inType = !0, this.expect(14);
      let r = null, i = null;
      return this.match(54) ? (this.state.inType = s, i = this.flowParsePredicate()) : (r = this.flowParseType(), this.state.inType = s, this.
      match(54) && (i = this.flowParsePredicate())), [r, i];
    }
    flowParseDeclareClass(s) {
      return this.next(), this.flowParseInterfaceish(s, !0), this.finishNode(s, "DeclareClass");
    }
    flowParseDeclareFunction(s) {
      this.next();
      let r = s.id = this.parseIdentifier(), i = this.startNode(), a = this.startNode();
      this.match(47) ? i.typeParameters = this.flowParseTypeParameterDeclaration() : i.typeParameters = null, this.expect(10);
      let o = this.flowParseFunctionTypeParams();
      return i.params = o.params, i.rest = o.rest, i.this = o._this, this.expect(11), [i.returnType, s.predicate] = this.flowParseTypeAndPredicateInitialiser(),
      a.typeAnnotation = this.finishNode(i, "FunctionTypeAnnotation"), r.typeAnnotation = this.finishNode(a, "TypeAnnotation"), this.resetEndLocation(
      r), this.semicolon(), this.scope.declareName(s.id.name, 2048, s.id.loc.start), this.finishNode(s, "DeclareFunction");
    }
    flowParseDeclare(s, r) {
      if (this.match(80))
        return this.flowParseDeclareClass(s);
      if (this.match(68))
        return this.flowParseDeclareFunction(s);
      if (this.match(74))
        return this.flowParseDeclareVariable(s);
      if (this.eatContextual(127))
        return this.match(16) ? this.flowParseDeclareModuleExports(s) : (r && this.raise(Ft.NestedDeclareModule, this.state.lastTokStartLoc),
        this.flowParseDeclareModule(s));
      if (this.isContextual(130))
        return this.flowParseDeclareTypeAlias(s);
      if (this.isContextual(131))
        return this.flowParseDeclareOpaqueType(s);
      if (this.isContextual(129))
        return this.flowParseDeclareInterface(s);
      if (this.match(82))
        return this.flowParseDeclareExportDeclaration(s, r);
      this.unexpected();
    }
    flowParseDeclareVariable(s) {
      return this.next(), s.id = this.flowParseTypeAnnotatableIdentifier(!0), this.scope.declareName(s.id.name, 5, s.id.loc.start), this.semicolon(),
      this.finishNode(s, "DeclareVariable");
    }
    flowParseDeclareModule(s) {
      this.scope.enter(0), this.match(134) ? s.id = super.parseExprAtom() : s.id = this.parseIdentifier();
      let r = s.body = this.startNode(), i = r.body = [];
      for (this.expect(5); !this.match(8); ) {
        let l = this.startNode();
        this.match(83) ? (this.next(), !this.isContextual(130) && !this.match(87) && this.raise(Ft.InvalidNonTypeImportInDeclareModule, this.
        state.lastTokStartLoc), super.parseImport(l)) : (this.expectContextual(125, Ft.UnsupportedStatementInDeclareModule), l = this.flowParseDeclare(
        l, !0)), i.push(l);
      }
      this.scope.exit(), this.expect(8), this.finishNode(r, "BlockStatement");
      let a = null, o = !1;
      return i.forEach((l) => {
        Gfs(l) ? (a === "CommonJS" && this.raise(Ft.AmbiguousDeclareModuleKind, l), a = "ES") : l.type === "DeclareModuleExports" && (o && this.
        raise(Ft.DuplicateDeclareModuleExports, l), a === "ES" && this.raise(Ft.AmbiguousDeclareModuleKind, l), a = "CommonJS", o = !0);
      }), s.kind = a || "CommonJS", this.finishNode(s, "DeclareModule");
    }
    flowParseDeclareExportDeclaration(s, r) {
      if (this.expect(82), this.eat(65))
        return this.match(68) || this.match(80) ? s.declaration = this.flowParseDeclare(this.startNode()) : (s.declaration = this.flowParseType(),
        this.semicolon()), s.default = !0, this.finishNode(s, "DeclareExportDeclaration");
      if (this.match(75) || this.isLet() || (this.isContextual(130) || this.isContextual(129)) && !r) {
        let i = this.state.value;
        throw this.raise(Ft.UnsupportedDeclareExportKind, this.state.startLoc, {
          unsupportedExportKind: i,
          suggestion: Qfs[i]
        });
      }
      if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(131))
        return s.declaration = this.flowParseDeclare(this.startNode()), s.default = !1, this.finishNode(s, "DeclareExportDeclaration");
      if (this.match(55) || this.match(5) || this.isContextual(129) || this.isContextual(130) || this.isContextual(131))
        return s = this.parseExport(s, null), s.type === "ExportNamedDeclaration" && (s.type = "ExportDeclaration", s.default = !1, delete s.
        exportKind), s.type = "Declare" + s.type, s;
      this.unexpected();
    }
    flowParseDeclareModuleExports(s) {
      return this.next(), this.expectContextual(111), s.typeAnnotation = this.flowParseTypeAnnotation(), this.semicolon(), this.finishNode(s,
      "DeclareModuleExports");
    }
    flowParseDeclareTypeAlias(s) {
      this.next();
      let r = this.flowParseTypeAlias(s);
      return r.type = "DeclareTypeAlias", r;
    }
    flowParseDeclareOpaqueType(s) {
      this.next();
      let r = this.flowParseOpaqueType(s, !0);
      return r.type = "DeclareOpaqueType", r;
    }
    flowParseDeclareInterface(s) {
      return this.next(), this.flowParseInterfaceish(s, !1), this.finishNode(s, "DeclareInterface");
    }
    flowParseInterfaceish(s, r) {
      if (s.id = this.flowParseRestrictedIdentifier(!r, !0), this.scope.declareName(s.id.name, r ? 17 : 8201, s.id.loc.start), this.match(47) ?
      s.typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.extends = [], this.eat(81))
        do
          s.extends.push(this.flowParseInterfaceExtends());
        while (!r && this.eat(12));
      if (r) {
        if (s.implements = [], s.mixins = [], this.eatContextual(117))
          do
            s.mixins.push(this.flowParseInterfaceExtends());
          while (this.eat(12));
        if (this.eatContextual(113))
          do
            s.implements.push(this.flowParseInterfaceExtends());
          while (this.eat(12));
      }
      s.body = this.flowParseObjectType({
        allowStatic: r,
        allowExact: !1,
        allowSpread: !1,
        allowProto: r,
        allowInexact: !1
      });
    }
    flowParseInterfaceExtends() {
      let s = this.startNode();
      return s.id = this.flowParseQualifiedTypeIdentifier(), this.match(47) ? s.typeParameters = this.flowParseTypeParameterInstantiation() :
      s.typeParameters = null, this.finishNode(s, "InterfaceExtends");
    }
    flowParseInterface(s) {
      return this.flowParseInterfaceish(s, !1), this.finishNode(s, "InterfaceDeclaration");
    }
    checkNotUnderscore(s) {
      s === "_" && this.raise(Ft.UnexpectedReservedUnderscore, this.state.startLoc);
    }
    checkReservedType(s, r, i) {
      zfs.has(s) && this.raise(i ? Ft.AssignReservedType : Ft.UnexpectedReservedType, r, {
        reservedType: s
      });
    }
    flowParseRestrictedIdentifier(s, r) {
      return this.checkReservedType(this.state.value, this.state.startLoc, r), this.parseIdentifier(s);
    }
    flowParseTypeAlias(s) {
      return s.id = this.flowParseRestrictedIdentifier(!1, !0), this.scope.declareName(s.id.name, 8201, s.id.loc.start), this.match(47) ? s.
      typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.right = this.flowParseTypeInitialiser(29), this.
      semicolon(), this.finishNode(s, "TypeAlias");
    }
    flowParseOpaqueType(s, r) {
      return this.expectContextual(130), s.id = this.flowParseRestrictedIdentifier(!0, !0), this.scope.declareName(s.id.name, 8201, s.id.loc.
      start), this.match(47) ? s.typeParameters = this.flowParseTypeParameterDeclaration() : s.typeParameters = null, s.supertype = null, this.
      match(14) && (s.supertype = this.flowParseTypeInitialiser(14)), s.impltype = null, r || (s.impltype = this.flowParseTypeInitialiser(29)),
      this.semicolon(), this.finishNode(s, "OpaqueType");
    }
    flowParseTypeParameter(s = !1) {
      let r = this.state.startLoc, i = this.startNode(), a = this.flowParseVariance(), o = this.flowParseTypeAnnotatableIdentifier();
      return i.name = o.name, i.variance = a, i.bound = o.typeAnnotation, this.match(29) ? (this.eat(29), i.default = this.flowParseType()) :
      s && this.raise(Ft.MissingTypeParamDefault, r), this.finishNode(i, "TypeParameter");
    }
    flowParseTypeParameterDeclaration() {
      let s = this.state.inType, r = this.startNode();
      r.params = [], this.state.inType = !0, this.match(47) || this.match(143) ? this.next() : this.unexpected();
      let i = !1;
      do {
        let a = this.flowParseTypeParameter(i);
        r.params.push(a), a.default && (i = !0), this.match(48) || this.expect(12);
      } while (!this.match(48));
      return this.expect(48), this.state.inType = s, this.finishNode(r, "TypeParameterDeclaration");
    }
    flowInTopLevelContext(s) {
      if (this.curContext() !== nr.brace) {
        let r = this.state.context;
        this.state.context = [r[0]];
        try {
          return s();
        } finally {
          this.state.context = r;
        }
      } else
        return s();
    }
    flowParseTypeParameterInstantiationInExpression() {
      if (this.reScan_lt() === 47)
        return this.flowParseTypeParameterInstantiation();
    }
    flowParseTypeParameterInstantiation() {
      let s = this.startNode(), r = this.state.inType;
      return this.state.inType = !0, s.params = [], this.flowInTopLevelContext(() => {
        this.expect(47);
        let i = this.state.noAnonFunctionType;
        for (this.state.noAnonFunctionType = !1; !this.match(48); )
          s.params.push(this.flowParseType()), this.match(48) || this.expect(12);
        this.state.noAnonFunctionType = i;
      }), this.state.inType = r, !this.state.inType && this.curContext() === nr.brace && this.reScan_lt_gt(), this.expect(48), this.finishNode(
      s, "TypeParameterInstantiation");
    }
    flowParseTypeParameterInstantiationCallOrNew() {
      if (this.reScan_lt() !== 47) return;
      let s = this.startNode(), r = this.state.inType;
      for (s.params = [], this.state.inType = !0, this.expect(47); !this.match(48); )
        s.params.push(this.flowParseTypeOrImplicitInstantiation()), this.match(48) || this.expect(12);
      return this.expect(48), this.state.inType = r, this.finishNode(s, "TypeParameterInstantiation");
    }
    flowParseInterfaceType() {
      let s = this.startNode();
      if (this.expectContextual(129), s.extends = [], this.eat(81))
        do
          s.extends.push(this.flowParseInterfaceExtends());
        while (this.eat(12));
      return s.body = this.flowParseObjectType({
        allowStatic: !1,
        allowExact: !1,
        allowSpread: !1,
        allowProto: !1,
        allowInexact: !1
      }), this.finishNode(s, "InterfaceTypeAnnotation");
    }
    flowParseObjectPropertyKey() {
      return this.match(135) || this.match(134) ? super.parseExprAtom() : this.parseIdentifier(!0);
    }
    flowParseObjectTypeIndexer(s, r, i) {
      return s.static = r, this.lookahead().type === 14 ? (s.id = this.flowParseObjectPropertyKey(), s.key = this.flowParseTypeInitialiser()) :
      (s.id = null, s.key = this.flowParseType()), this.expect(3), s.value = this.flowParseTypeInitialiser(), s.variance = i, this.finishNode(
      s, "ObjectTypeIndexer");
    }
    flowParseObjectTypeInternalSlot(s, r) {
      return s.static = r, s.id = this.flowParseObjectPropertyKey(), this.expect(3), this.expect(3), this.match(47) || this.match(10) ? (s.method =
      !0, s.optional = !1, s.value = this.flowParseObjectTypeMethodish(this.startNodeAt(s.loc.start))) : (s.method = !1, this.eat(17) && (s.
      optional = !0), s.value = this.flowParseTypeInitialiser()), this.finishNode(s, "ObjectTypeInternalSlot");
    }
    flowParseObjectTypeMethodish(s) {
      for (s.params = [], s.rest = null, s.typeParameters = null, s.this = null, this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration()),
      this.expect(10), this.match(78) && (s.this = this.flowParseFunctionTypeParam(!0), s.this.name = null, this.match(11) || this.expect(12)); !this.
      match(11) && !this.match(21); )
        s.params.push(this.flowParseFunctionTypeParam(!1)), this.match(11) || this.expect(12);
      return this.eat(21) && (s.rest = this.flowParseFunctionTypeParam(!1)), this.expect(11), s.returnType = this.flowParseTypeInitialiser(),
      this.finishNode(s, "FunctionTypeAnnotation");
    }
    flowParseObjectTypeCallProperty(s, r) {
      let i = this.startNode();
      return s.static = r, s.value = this.flowParseObjectTypeMethodish(i), this.finishNode(s, "ObjectTypeCallProperty");
    }
    flowParseObjectType({
      allowStatic: s,
      allowExact: r,
      allowSpread: i,
      allowProto: a,
      allowInexact: o
    }) {
      let l = this.state.inType;
      this.state.inType = !0;
      let u = this.startNode();
      u.callProperties = [], u.properties = [], u.indexers = [], u.internalSlots = [];
      let c, p, h = !1;
      for (r && this.match(6) ? (this.expect(6), c = 9, p = !0) : (this.expect(5), c = 8, p = !1), u.exact = p; !this.match(c); ) {
        let d = !1, m = null, y = null, T = this.startNode();
        if (a && this.isContextual(118)) {
          let E = this.lookahead();
          E.type !== 14 && E.type !== 17 && (this.next(), m = this.state.startLoc, s = !1);
        }
        if (s && this.isContextual(106)) {
          let E = this.lookahead();
          E.type !== 14 && E.type !== 17 && (this.next(), d = !0);
        }
        let b = this.flowParseVariance();
        if (this.eat(0))
          m != null && this.unexpected(m), this.eat(0) ? (b && this.unexpected(b.loc.start), u.internalSlots.push(this.flowParseObjectTypeInternalSlot(
          T, d))) : u.indexers.push(this.flowParseObjectTypeIndexer(T, d, b));
        else if (this.match(10) || this.match(47))
          m != null && this.unexpected(m), b && this.unexpected(b.loc.start), u.callProperties.push(this.flowParseObjectTypeCallProperty(T, d));
        else {
          let E = "init";
          if (this.isContextual(99) || this.isContextual(104)) {
            let W = this.lookahead();
            Ffe(W.type) && (E = this.state.value, this.next());
          }
          let V = this.flowParseObjectTypeProperty(T, d, m, b, E, i, o ?? !p);
          V === null ? (h = !0, y = this.state.lastTokStartLoc) : u.properties.push(V);
        }
        this.flowObjectTypeSemicolon(), y && !this.match(8) && !this.match(9) && this.raise(Ft.UnexpectedExplicitInexactInObject, y);
      }
      this.expect(c), i && (u.inexact = h);
      let f = this.finishNode(u, "ObjectTypeAnnotation");
      return this.state.inType = l, f;
    }
    flowParseObjectTypeProperty(s, r, i, a, o, l, u) {
      if (this.eat(21))
        return this.match(12) || this.match(13) || this.match(8) || this.match(9) ? (l ? u || this.raise(Ft.InexactInsideExact, this.state.lastTokStartLoc) :
        this.raise(Ft.InexactInsideNonObject, this.state.lastTokStartLoc), a && this.raise(Ft.InexactVariance, a), null) : (l || this.raise(
        Ft.UnexpectedSpreadType, this.state.lastTokStartLoc), i != null && this.unexpected(i), a && this.raise(Ft.SpreadVariance, a), s.argument =
        this.flowParseType(), this.finishNode(s, "ObjectTypeSpreadProperty"));
      {
        s.key = this.flowParseObjectPropertyKey(), s.static = r, s.proto = i != null, s.kind = o;
        let c = !1;
        return this.match(47) || this.match(10) ? (s.method = !0, i != null && this.unexpected(i), a && this.unexpected(a.loc.start), s.value =
        this.flowParseObjectTypeMethodish(this.startNodeAt(s.loc.start)), (o === "get" || o === "set") && this.flowCheckGetterSetterParams(s),
        !l && s.key.name === "constructor" && s.value.this && this.raise(Ft.ThisParamBannedInConstructor, s.value.this)) : (o !== "init" && this.
        unexpected(), s.method = !1, this.eat(17) && (c = !0), s.value = this.flowParseTypeInitialiser(), s.variance = a), s.optional = c, this.
        finishNode(s, "ObjectTypeProperty");
      }
    }
    flowCheckGetterSetterParams(s) {
      let r = s.kind === "get" ? 0 : 1, i = s.value.params.length + (s.value.rest ? 1 : 0);
      s.value.this && this.raise(s.kind === "get" ? Ft.GetterMayNotHaveThisParam : Ft.SetterMayNotHaveThisParam, s.value.this), i !== r && this.
      raise(s.kind === "get" ? se.BadGetterArity : se.BadSetterArity, s), s.kind === "set" && s.value.rest && this.raise(se.BadSetterRestParameter,
      s);
    }
    flowObjectTypeSemicolon() {
      !this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9) && this.unexpected();
    }
    flowParseQualifiedTypeIdentifier(s, r) {
      var i;
      (i = s) != null || (s = this.state.startLoc);
      let a = r || this.flowParseRestrictedIdentifier(!0);
      for (; this.eat(16); ) {
        let o = this.startNodeAt(s);
        o.qualification = a, o.id = this.flowParseRestrictedIdentifier(!0), a = this.finishNode(o, "QualifiedTypeIdentifier");
      }
      return a;
    }
    flowParseGenericType(s, r) {
      let i = this.startNodeAt(s);
      return i.typeParameters = null, i.id = this.flowParseQualifiedTypeIdentifier(s, r), this.match(47) && (i.typeParameters = this.flowParseTypeParameterInstantiation()),
      this.finishNode(i, "GenericTypeAnnotation");
    }
    flowParseTypeofType() {
      let s = this.startNode();
      return this.expect(87), s.argument = this.flowParsePrimaryType(), this.finishNode(s, "TypeofTypeAnnotation");
    }
    flowParseTupleType() {
      let s = this.startNode();
      for (s.types = [], this.expect(0); this.state.pos < this.length && !this.match(3) && (s.types.push(this.flowParseType()), !this.match(
      3)); )
        this.expect(12);
      return this.expect(3), this.finishNode(s, "TupleTypeAnnotation");
    }
    flowParseFunctionTypeParam(s) {
      let r = null, i = !1, a = null, o = this.startNode(), l = this.lookahead(), u = this.state.type === 78;
      return l.type === 14 || l.type === 17 ? (u && !s && this.raise(Ft.ThisParamMustBeFirst, o), r = this.parseIdentifier(u), this.eat(17) &&
      (i = !0, u && this.raise(Ft.ThisParamMayNotBeOptional, o)), a = this.flowParseTypeInitialiser()) : a = this.flowParseType(), o.name = r,
      o.optional = i, o.typeAnnotation = a, this.finishNode(o, "FunctionTypeParam");
    }
    reinterpretTypeAsFunctionTypeParam(s) {
      let r = this.startNodeAt(s.loc.start);
      return r.name = null, r.optional = !1, r.typeAnnotation = s, this.finishNode(r, "FunctionTypeParam");
    }
    flowParseFunctionTypeParams(s = []) {
      let r = null, i = null;
      for (this.match(78) && (i = this.flowParseFunctionTypeParam(!0), i.name = null, this.match(11) || this.expect(12)); !this.match(11) &&
      !this.match(21); )
        s.push(this.flowParseFunctionTypeParam(!1)), this.match(11) || this.expect(12);
      return this.eat(21) && (r = this.flowParseFunctionTypeParam(!1)), {
        params: s,
        rest: r,
        _this: i
      };
    }
    flowIdentToTypeAnnotation(s, r, i) {
      switch (i.name) {
        case "any":
          return this.finishNode(r, "AnyTypeAnnotation");
        case "bool":
        case "boolean":
          return this.finishNode(r, "BooleanTypeAnnotation");
        case "mixed":
          return this.finishNode(r, "MixedTypeAnnotation");
        case "empty":
          return this.finishNode(r, "EmptyTypeAnnotation");
        case "number":
          return this.finishNode(r, "NumberTypeAnnotation");
        case "string":
          return this.finishNode(r, "StringTypeAnnotation");
        case "symbol":
          return this.finishNode(r, "SymbolTypeAnnotation");
        default:
          return this.checkNotUnderscore(i.name), this.flowParseGenericType(s, i);
      }
    }
    flowParsePrimaryType() {
      let s = this.state.startLoc, r = this.startNode(), i, a, o = !1, l = this.state.noAnonFunctionType;
      switch (this.state.type) {
        case 5:
          return this.flowParseObjectType({
            allowStatic: !1,
            allowExact: !1,
            allowSpread: !0,
            allowProto: !1,
            allowInexact: !0
          });
        case 6:
          return this.flowParseObjectType({
            allowStatic: !1,
            allowExact: !0,
            allowSpread: !0,
            allowProto: !1,
            allowInexact: !1
          });
        case 0:
          return this.state.noAnonFunctionType = !1, a = this.flowParseTupleType(), this.state.noAnonFunctionType = l, a;
        case 47: {
          let u = this.startNode();
          return u.typeParameters = this.flowParseTypeParameterDeclaration(), this.expect(10), i = this.flowParseFunctionTypeParams(), u.params =
          i.params, u.rest = i.rest, u.this = i._this, this.expect(11), this.expect(19), u.returnType = this.flowParseType(), this.finishNode(
          u, "FunctionTypeAnnotation");
        }
        case 10: {
          let u = this.startNode();
          if (this.next(), !this.match(11) && !this.match(21))
            if (ar(this.state.type) || this.match(78)) {
              let c = this.lookahead().type;
              o = c !== 17 && c !== 14;
            } else
              o = !0;
          if (o) {
            if (this.state.noAnonFunctionType = !1, a = this.flowParseType(), this.state.noAnonFunctionType = l, this.state.noAnonFunctionType ||
            !(this.match(12) || this.match(11) && this.lookahead().type === 19))
              return this.expect(11), a;
            this.eat(12);
          }
          return a ? i = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(a)]) : i = this.flowParseFunctionTypeParams(),
          u.params = i.params, u.rest = i.rest, u.this = i._this, this.expect(11), this.expect(19), u.returnType = this.flowParseType(), u.typeParameters =
          null, this.finishNode(u, "FunctionTypeAnnotation");
        }
        case 134:
          return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation");
        case 85:
        case 86:
          return r.value = this.match(85), this.next(), this.finishNode(r, "BooleanLiteralTypeAnnotation");
        case 53:
          if (this.state.value === "-") {
            if (this.next(), this.match(135))
              return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", r);
            if (this.match(136))
              return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", r);
            throw this.raise(Ft.UnexpectedSubtractionOperand, this.state.startLoc);
          }
          this.unexpected();
          return;
        case 135:
          return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation");
        case 136:
          return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation");
        case 88:
          return this.next(), this.finishNode(r, "VoidTypeAnnotation");
        case 84:
          return this.next(), this.finishNode(r, "NullLiteralTypeAnnotation");
        case 78:
          return this.next(), this.finishNode(r, "ThisTypeAnnotation");
        case 55:
          return this.next(), this.finishNode(r, "ExistsTypeAnnotation");
        case 87:
          return this.flowParseTypeofType();
        default:
          if (gR(this.state.type)) {
            let u = Kp(this.state.type);
            return this.next(), super.createIdentifier(r, u);
          } else if (ar(this.state.type))
            return this.isContextual(129) ? this.flowParseInterfaceType() : this.flowIdentToTypeAnnotation(s, r, this.parseIdentifier());
      }
      this.unexpected();
    }
    flowParsePostfixType() {
      let s = this.state.startLoc, r = this.flowParsePrimaryType(), i = !1;
      for (; (this.match(0) || this.match(18)) && !this.canInsertSemicolon(); ) {
        let a = this.startNodeAt(s), o = this.eat(18);
        i = i || o, this.expect(0), !o && this.match(3) ? (a.elementType = r, this.next(), r = this.finishNode(a, "ArrayTypeAnnotation")) : (a.
        objectType = r, a.indexType = this.flowParseType(), this.expect(3), i ? (a.optional = o, r = this.finishNode(a, "OptionalIndexedAcce\
ssType")) : r = this.finishNode(a, "IndexedAccessType"));
      }
      return r;
    }
    flowParsePrefixType() {
      let s = this.startNode();
      return this.eat(17) ? (s.typeAnnotation = this.flowParsePrefixType(), this.finishNode(s, "NullableTypeAnnotation")) : this.flowParsePostfixType();
    }
    flowParseAnonFunctionWithoutParens() {
      let s = this.flowParsePrefixType();
      if (!this.state.noAnonFunctionType && this.eat(19)) {
        let r = this.startNodeAt(s.loc.start);
        return r.params = [this.reinterpretTypeAsFunctionTypeParam(s)], r.rest = null, r.this = null, r.returnType = this.flowParseType(), r.
        typeParameters = null, this.finishNode(r, "FunctionTypeAnnotation");
      }
      return s;
    }
    flowParseIntersectionType() {
      let s = this.startNode();
      this.eat(45);
      let r = this.flowParseAnonFunctionWithoutParens();
      for (s.types = [r]; this.eat(45); )
        s.types.push(this.flowParseAnonFunctionWithoutParens());
      return s.types.length === 1 ? r : this.finishNode(s, "IntersectionTypeAnnotation");
    }
    flowParseUnionType() {
      let s = this.startNode();
      this.eat(43);
      let r = this.flowParseIntersectionType();
      for (s.types = [r]; this.eat(43); )
        s.types.push(this.flowParseIntersectionType());
      return s.types.length === 1 ? r : this.finishNode(s, "UnionTypeAnnotation");
    }
    flowParseType() {
      let s = this.state.inType;
      this.state.inType = !0;
      let r = this.flowParseUnionType();
      return this.state.inType = s, r;
    }
    flowParseTypeOrImplicitInstantiation() {
      if (this.state.type === 132 && this.state.value === "_") {
        let s = this.state.startLoc, r = this.parseIdentifier();
        return this.flowParseGenericType(s, r);
      } else
        return this.flowParseType();
    }
    flowParseTypeAnnotation() {
      let s = this.startNode();
      return s.typeAnnotation = this.flowParseTypeInitialiser(), this.finishNode(s, "TypeAnnotation");
    }
    flowParseTypeAnnotatableIdentifier(s) {
      let r = s ? this.parseIdentifier() : this.flowParseRestrictedIdentifier();
      return this.match(14) && (r.typeAnnotation = this.flowParseTypeAnnotation(), this.resetEndLocation(r)), r;
    }
    typeCastToParameter(s) {
      return s.expression.typeAnnotation = s.typeAnnotation, this.resetEndLocation(s.expression, s.typeAnnotation.loc.end), s.expression;
    }
    flowParseVariance() {
      let s = null;
      return this.match(53) ? (s = this.startNode(), this.state.value === "+" ? s.kind = "plus" : s.kind = "minus", this.next(), this.finishNode(
      s, "Variance")) : s;
    }
    parseFunctionBody(s, r, i = !1) {
      if (r) {
        this.forwardNoArrowParamsConversionAt(s, () => super.parseFunctionBody(s, !0, i));
        return;
      }
      super.parseFunctionBody(s, !1, i);
    }
    parseFunctionBodyAndFinish(s, r, i = !1) {
      if (this.match(14)) {
        let a = this.startNode();
        [a.typeAnnotation, s.predicate] = this.flowParseTypeAndPredicateInitialiser(), s.returnType = a.typeAnnotation ? this.finishNode(a, "\
TypeAnnotation") : null;
      }
      return super.parseFunctionBodyAndFinish(s, r, i);
    }
    parseStatementLike(s) {
      if (this.state.strict && this.isContextual(129)) {
        let i = this.lookahead();
        if (qo(i.type)) {
          let a = this.startNode();
          return this.next(), this.flowParseInterface(a);
        }
      } else if (this.isContextual(126)) {
        let i = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(i);
      }
      let r = super.parseStatementLike(s);
      return this.flowPragma === void 0 && !this.isValidDirective(r) && (this.flowPragma = null), r;
    }
    parseExpressionStatement(s, r, i) {
      if (r.type === "Identifier") {
        if (r.name === "declare") {
          if (this.match(80) || ar(this.state.type) || this.match(68) || this.match(74) || this.match(82))
            return this.flowParseDeclare(s);
        } else if (ar(this.state.type)) {
          if (r.name === "interface")
            return this.flowParseInterface(s);
          if (r.name === "type")
            return this.flowParseTypeAlias(s);
          if (r.name === "opaque")
            return this.flowParseOpaqueType(s, !1);
        }
      }
      return super.parseExpressionStatement(s, r, i);
    }
    shouldParseExportDeclaration() {
      let {
        type: s
      } = this.state;
      return s === 126 || Cfe(s) ? !this.state.containsEsc : super.shouldParseExportDeclaration();
    }
    isExportDefaultSpecifier() {
      let {
        type: s
      } = this.state;
      return s === 126 || Cfe(s) ? this.state.containsEsc : super.isExportDefaultSpecifier();
    }
    parseExportDefaultExpression() {
      if (this.isContextual(126)) {
        let s = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(s);
      }
      return super.parseExportDefaultExpression();
    }
    parseConditional(s, r, i) {
      if (!this.match(17)) return s;
      if (this.state.maybeInArrowParameters) {
        let f = this.lookaheadCharCode();
        if (f === 44 || f === 61 || f === 58 || f === 41)
          return this.setOptionalParametersError(i), s;
      }
      this.expect(17);
      let a = this.state.clone(), o = this.state.noArrowAt, l = this.startNodeAt(r), {
        consequent: u,
        failed: c
      } = this.tryParseConditionalConsequent(), [p, h] = this.getArrowLikeExpressions(u);
      if (c || h.length > 0) {
        let f = [...o];
        if (h.length > 0) {
          this.state = a, this.state.noArrowAt = f;
          for (let d = 0; d < h.length; d++)
            f.push(h[d].start);
          ({
            consequent: u,
            failed: c
          } = this.tryParseConditionalConsequent()), [p, h] = this.getArrowLikeExpressions(u);
        }
        c && p.length > 1 && this.raise(Ft.AmbiguousConditionalArrow, a.startLoc), c && p.length === 1 && (this.state = a, f.push(p[0].start),
        this.state.noArrowAt = f, {
          consequent: u,
          failed: c
        } = this.tryParseConditionalConsequent());
      }
      return this.getArrowLikeExpressions(u, !0), this.state.noArrowAt = o, this.expect(14), l.test = s, l.consequent = u, l.alternate = this.
      forwardNoArrowParamsConversionAt(l, () => this.parseMaybeAssign(void 0, void 0)), this.finishNode(l, "ConditionalExpression");
    }
    tryParseConditionalConsequent() {
      this.state.noArrowParamsConversionAt.push(this.state.start);
      let s = this.parseMaybeAssignAllowIn(), r = !this.match(14);
      return this.state.noArrowParamsConversionAt.pop(), {
        consequent: s,
        failed: r
      };
    }
    getArrowLikeExpressions(s, r) {
      let i = [s], a = [];
      for (; i.length !== 0; ) {
        let o = i.pop();
        o.type === "ArrowFunctionExpression" && o.body.type !== "BlockStatement" ? (o.typeParameters || !o.returnType ? this.finishArrowValidation(
        o) : a.push(o), i.push(o.body)) : o.type === "ConditionalExpression" && (i.push(o.consequent), i.push(o.alternate));
      }
      return r ? (a.forEach((o) => this.finishArrowValidation(o)), [a, []]) : Zfs(a, (o) => o.params.every((l) => this.isAssignable(l, !0)));
    }
    finishArrowValidation(s) {
      var r;
      this.toAssignableList(s.params, (r = s.extra) == null ? void 0 : r.trailingCommaLoc, !1), this.scope.enter(6), super.checkParams(s, !1,
      !0), this.scope.exit();
    }
    forwardNoArrowParamsConversionAt(s, r) {
      let i;
      return this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)) ? (this.state.noArrowParamsConversionAt.push(this.
      state.start), i = r(), this.state.noArrowParamsConversionAt.pop()) : i = r(), i;
    }
    parseParenItem(s, r) {
      let i = super.parseParenItem(s, r);
      if (this.eat(17) && (i.optional = !0, this.resetEndLocation(s)), this.match(14)) {
        let a = this.startNodeAt(r);
        return a.expression = i, a.typeAnnotation = this.flowParseTypeAnnotation(), this.finishNode(a, "TypeCastExpression");
      }
      return i;
    }
    assertModuleNodeAllowed(s) {
      s.type === "ImportDeclaration" && (s.importKind === "type" || s.importKind === "typeof") || s.type === "ExportNamedDeclaration" && s.exportKind ===
      "type" || s.type === "ExportAllDeclaration" && s.exportKind === "type" || super.assertModuleNodeAllowed(s);
    }
    parseExportDeclaration(s) {
      if (this.isContextual(130)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.match(5) ? (s.specifiers = this.parseExportSpecifiers(!0), super.parseExportFrom(s), null) : this.flowParseTypeAlias(
        r);
      } else if (this.isContextual(131)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.flowParseOpaqueType(r, !1);
      } else if (this.isContextual(129)) {
        s.exportKind = "type";
        let r = this.startNode();
        return this.next(), this.flowParseInterface(r);
      } else if (this.isContextual(126)) {
        s.exportKind = "value";
        let r = this.startNode();
        return this.next(), this.flowParseEnumDeclaration(r);
      } else
        return super.parseExportDeclaration(s);
    }
    eatExportStar(s) {
      return super.eatExportStar(s) ? !0 : this.isContextual(130) && this.lookahead().type === 55 ? (s.exportKind = "type", this.next(), this.
      next(), !0) : !1;
    }
    maybeParseExportNamespaceSpecifier(s) {
      let {
        startLoc: r
      } = this.state, i = super.maybeParseExportNamespaceSpecifier(s);
      return i && s.exportKind === "type" && this.unexpected(r), i;
    }
    parseClassId(s, r, i) {
      super.parseClassId(s, r, i), this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration());
    }
    parseClassMember(s, r, i) {
      let {
        startLoc: a
      } = this.state;
      if (this.isContextual(125)) {
        if (super.parseClassMemberFromModifier(s, r))
          return;
        r.declare = !0;
      }
      super.parseClassMember(s, r, i), r.declare && (r.type !== "ClassProperty" && r.type !== "ClassPrivateProperty" && r.type !== "Property\
Definition" ? this.raise(Ft.DeclareClassElement, a) : r.value && this.raise(Ft.DeclareClassFieldInitializer, r.value));
    }
    isIterator(s) {
      return s === "iterator" || s === "asyncIterator";
    }
    readIterator() {
      let s = super.readWord1(), r = "@@" + s;
      (!this.isIterator(s) || !this.state.inType) && this.raise(se.InvalidIdentifier, this.state.curPosition(), {
        identifierName: r
      }), this.finishToken(132, r);
    }
    getTokenFromCode(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      s === 123 && r === 124 ? this.finishOp(6, 2) : this.state.inType && (s === 62 || s === 60) ? this.finishOp(s === 62 ? 48 : 47, 1) : this.
      state.inType && s === 63 ? r === 46 ? this.finishOp(18, 2) : this.finishOp(17, 1) : Bfs(s, r, this.input.charCodeAt(this.state.pos + 2)) ?
      (this.state.pos += 2, this.readIterator()) : super.getTokenFromCode(s);
    }
    isAssignable(s, r) {
      return s.type === "TypeCastExpression" ? this.isAssignable(s.expression, r) : super.isAssignable(s, r);
    }
    toAssignable(s, r = !1) {
      !r && s.type === "AssignmentExpression" && s.left.type === "TypeCastExpression" && (s.left = this.typeCastToParameter(s.left)), super.
      toAssignable(s, r);
    }
    toAssignableList(s, r, i) {
      for (let a = 0; a < s.length; a++) {
        let o = s[a];
        o?.type === "TypeCastExpression" && (s[a] = this.typeCastToParameter(o));
      }
      super.toAssignableList(s, r, i);
    }
    toReferencedList(s, r) {
      for (let a = 0; a < s.length; a++) {
        var i;
        let o = s[a];
        o && o.type === "TypeCastExpression" && !((i = o.extra) != null && i.parenthesized) && (s.length > 1 || !r) && this.raise(Ft.TypeCastInPattern,
        o.typeAnnotation);
      }
      return s;
    }
    parseArrayLike(s, r, i, a) {
      let o = super.parseArrayLike(s, r, i, a);
      return r && !this.state.maybeInArrowParameters && this.toReferencedList(o.elements), o;
    }
    isValidLVal(s, r, i) {
      return s === "TypeCastExpression" || super.isValidLVal(s, r, i);
    }
    parseClassProperty(s) {
      return this.match(14) && (s.typeAnnotation = this.flowParseTypeAnnotation()), super.parseClassProperty(s);
    }
    parseClassPrivateProperty(s) {
      return this.match(14) && (s.typeAnnotation = this.flowParseTypeAnnotation()), super.parseClassPrivateProperty(s);
    }
    isClassMethod() {
      return this.match(47) || super.isClassMethod();
    }
    isClassProperty() {
      return this.match(14) || super.isClassProperty();
    }
    isNonstaticConstructor(s) {
      return !this.match(14) && super.isNonstaticConstructor(s);
    }
    pushClassMethod(s, r, i, a, o, l) {
      if (r.variance && this.unexpected(r.variance.loc.start), delete r.variance, this.match(47) && (r.typeParameters = this.flowParseTypeParameterDeclaration()),
      super.pushClassMethod(s, r, i, a, o, l), r.params && o) {
        let u = r.params;
        u.length > 0 && this.isThisParam(u[0]) && this.raise(Ft.ThisParamBannedInConstructor, r);
      } else if (r.type === "MethodDefinition" && o && r.value.params) {
        let u = r.value.params;
        u.length > 0 && this.isThisParam(u[0]) && this.raise(Ft.ThisParamBannedInConstructor, r);
      }
    }
    pushClassPrivateMethod(s, r, i, a) {
      r.variance && this.unexpected(r.variance.loc.start), delete r.variance, this.match(47) && (r.typeParameters = this.flowParseTypeParameterDeclaration()),
      super.pushClassPrivateMethod(s, r, i, a);
    }
    parseClassSuper(s) {
      if (super.parseClassSuper(s), s.superClass && (this.match(47) || this.match(51)) && (s.superTypeParameters = this.flowParseTypeParameterInstantiationInExpression()),
      this.isContextual(113)) {
        this.next();
        let r = s.implements = [];
        do {
          let i = this.startNode();
          i.id = this.flowParseRestrictedIdentifier(!0), this.match(47) ? i.typeParameters = this.flowParseTypeParameterInstantiation() : i.
          typeParameters = null, r.push(this.finishNode(i, "ClassImplements"));
        } while (this.eat(12));
      }
    }
    checkGetterSetterParams(s) {
      super.checkGetterSetterParams(s);
      let r = this.getObjectOrClassMethodParams(s);
      if (r.length > 0) {
        let i = r[0];
        this.isThisParam(i) && s.kind === "get" ? this.raise(Ft.GetterMayNotHaveThisParam, i) : this.isThisParam(i) && this.raise(Ft.SetterMayNotHaveThisParam,
        i);
      }
    }
    parsePropertyNamePrefixOperator(s) {
      s.variance = this.flowParseVariance();
    }
    parseObjPropValue(s, r, i, a, o, l, u) {
      s.variance && this.unexpected(s.variance.loc.start), delete s.variance;
      let c;
      this.match(47) && !l && (c = this.flowParseTypeParameterDeclaration(), this.match(10) || this.unexpected());
      let p = super.parseObjPropValue(s, r, i, a, o, l, u);
      return c && ((p.value || p).typeParameters = c), p;
    }
    parseFunctionParamType(s) {
      return this.eat(17) && (s.type !== "Identifier" && this.raise(Ft.PatternIsOptional, s), this.isThisParam(s) && this.raise(Ft.ThisParamMayNotBeOptional,
      s), s.optional = !0), this.match(14) ? s.typeAnnotation = this.flowParseTypeAnnotation() : this.isThisParam(s) && this.raise(Ft.ThisParamAnnotationRequired,
      s), this.match(29) && this.isThisParam(s) && this.raise(Ft.ThisParamNoDefault, s), this.resetEndLocation(s), s;
    }
    parseMaybeDefault(s, r) {
      let i = super.parseMaybeDefault(s, r);
      return i.type === "AssignmentPattern" && i.typeAnnotation && i.right.start < i.typeAnnotation.start && this.raise(Ft.TypeBeforeInitializer,
      i.typeAnnotation), i;
    }
    checkImportReflection(s) {
      super.checkImportReflection(s), s.module && s.importKind !== "value" && this.raise(Ft.ImportReflectionHasImportType, s.specifiers[0].loc.
      start);
    }
    parseImportSpecifierLocal(s, r, i) {
      r.local = kfe(s) ? this.flowParseRestrictedIdentifier(!0, !0) : this.parseIdentifier(), s.specifiers.push(this.finishImportSpecifier(r,
      i));
    }
    isPotentialImportPhase(s) {
      if (super.isPotentialImportPhase(s)) return !0;
      if (this.isContextual(130)) {
        if (!s) return !0;
        let r = this.lookaheadCharCode();
        return r === 123 || r === 42;
      }
      return !s && this.isContextual(87);
    }
    applyImportPhase(s, r, i, a) {
      if (super.applyImportPhase(s, r, i, a), r) {
        if (!i && this.match(65))
          return;
        s.exportKind = i === "type" ? i : "value";
      } else
        i === "type" && this.match(55) && this.unexpected(), s.importKind = i === "type" || i === "typeof" ? i : "value";
    }
    parseImportSpecifier(s, r, i, a, o) {
      let l = s.imported, u = null;
      l.type === "Identifier" && (l.name === "type" ? u = "type" : l.name === "typeof" && (u = "typeof"));
      let c = !1;
      if (this.isContextual(93) && !this.isLookaheadContextual("as")) {
        let h = this.parseIdentifier(!0);
        u !== null && !qo(this.state.type) ? (s.imported = h, s.importKind = u, s.local = fc(h)) : (s.imported = l, s.importKind = null, s.local =
        this.parseIdentifier());
      } else {
        if (u !== null && qo(this.state.type))
          s.imported = this.parseIdentifier(!0), s.importKind = u;
        else {
          if (r)
            throw this.raise(se.ImportBindingIsString, s, {
              importName: l.value
            });
          s.imported = l, s.importKind = null;
        }
        this.eatContextual(93) ? s.local = this.parseIdentifier() : (c = !0, s.local = fc(s.imported));
      }
      let p = kfe(s);
      return i && p && this.raise(Ft.ImportTypeShorthandOnlyInPureImport, s), (i || p) && this.checkReservedType(s.local.name, s.local.loc.start,
      !0), c && !i && !p && this.checkReservedWord(s.local.name, s.loc.start, !0, !0), this.finishImportSpecifier(s, "ImportSpecifier");
    }
    parseBindingAtom() {
      switch (this.state.type) {
        case 78:
          return this.parseIdentifier(!0);
        default:
          return super.parseBindingAtom();
      }
    }
    parseFunctionParams(s, r) {
      let i = s.kind;
      i !== "get" && i !== "set" && this.match(47) && (s.typeParameters = this.flowParseTypeParameterDeclaration()), super.parseFunctionParams(
      s, r);
    }
    parseVarId(s, r) {
      super.parseVarId(s, r), this.match(14) && (s.id.typeAnnotation = this.flowParseTypeAnnotation(), this.resetEndLocation(s.id));
    }
    parseAsyncArrowFromCallExpression(s, r) {
      if (this.match(14)) {
        let i = this.state.noAnonFunctionType;
        this.state.noAnonFunctionType = !0, s.returnType = this.flowParseTypeAnnotation(), this.state.noAnonFunctionType = i;
      }
      return super.parseAsyncArrowFromCallExpression(s, r);
    }
    shouldParseAsyncArrow() {
      return this.match(14) || super.shouldParseAsyncArrow();
    }
    parseMaybeAssign(s, r) {
      var i;
      let a = null, o;
      if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) {
        if (a = this.state.clone(), o = this.tryParse(() => super.parseMaybeAssign(s, r), a), !o.error) return o.node;
        let {
          context: c
        } = this.state, p = c[c.length - 1];
        (p === nr.j_oTag || p === nr.j_expr) && c.pop();
      }
      if ((i = o) != null && i.error || this.match(47)) {
        var l, u;
        a = a || this.state.clone();
        let c, p = this.tryParse((f) => {
          var d;
          c = this.flowParseTypeParameterDeclaration();
          let m = this.forwardNoArrowParamsConversionAt(c, () => {
            let T = super.parseMaybeAssign(s, r);
            return this.resetStartLocationFromNode(T, c), T;
          });
          (d = m.extra) != null && d.parenthesized && f();
          let y = this.maybeUnwrapTypeCastExpression(m);
          return y.type !== "ArrowFunctionExpression" && f(), y.typeParameters = c, this.resetStartLocationFromNode(y, c), m;
        }, a), h = null;
        if (p.node && this.maybeUnwrapTypeCastExpression(p.node).type === "ArrowFunctionExpression") {
          if (!p.error && !p.aborted)
            return p.node.async && this.raise(Ft.UnexpectedTypeParameterBeforeAsyncArrowFunction, c), p.node;
          h = p.node;
        }
        if ((l = o) != null && l.node)
          return this.state = o.failState, o.node;
        if (h)
          return this.state = p.failState, h;
        throw (u = o) != null && u.thrown ? o.error : p.thrown ? p.error : this.raise(Ft.UnexpectedTokenAfterTypeParameter, c);
      }
      return super.parseMaybeAssign(s, r);
    }
    parseArrow(s) {
      if (this.match(14)) {
        let r = this.tryParse(() => {
          let i = this.state.noAnonFunctionType;
          this.state.noAnonFunctionType = !0;
          let a = this.startNode();
          return [a.typeAnnotation, s.predicate] = this.flowParseTypeAndPredicateInitialiser(), this.state.noAnonFunctionType = i, this.canInsertSemicolon() &&
          this.unexpected(), this.match(19) || this.unexpected(), a;
        });
        if (r.thrown) return null;
        r.error && (this.state = r.failState), s.returnType = r.node.typeAnnotation ? this.finishNode(r.node, "TypeAnnotation") : null;
      }
      return super.parseArrow(s);
    }
    shouldParseArrow(s) {
      return this.match(14) || super.shouldParseArrow(s);
    }
    setArrowFunctionParameters(s, r) {
      this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)) ? s.params = r : super.setArrowFunctionParameters(s, r);
    }
    checkParams(s, r, i, a = !0) {
      if (!(i && this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(s.start)))) {
        for (let o = 0; o < s.params.length; o++)
          this.isThisParam(s.params[o]) && o > 0 && this.raise(Ft.ThisParamMustBeFirst, s.params[o]);
        super.checkParams(s, r, i, a);
      }
    }
    parseParenAndDistinguishExpression(s) {
      return super.parseParenAndDistinguishExpression(s && !this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start)));
    }
    parseSubscripts(s, r, i) {
      if (s.type === "Identifier" && s.name === "async" && this.state.noArrowAt.includes(r.index)) {
        this.next();
        let a = this.startNodeAt(r);
        a.callee = s, a.arguments = super.parseCallExpressionArguments(11), s = this.finishNode(a, "CallExpression");
      } else if (s.type === "Identifier" && s.name === "async" && this.match(47)) {
        let a = this.state.clone(), o = this.tryParse((u) => this.parseAsyncArrowWithTypeParameters(r) || u(), a);
        if (!o.error && !o.aborted) return o.node;
        let l = this.tryParse(() => super.parseSubscripts(s, r, i), a);
        if (l.node && !l.error) return l.node;
        if (o.node)
          return this.state = o.failState, o.node;
        if (l.node)
          return this.state = l.failState, l.node;
        throw o.error || l.error;
      }
      return super.parseSubscripts(s, r, i);
    }
    parseSubscript(s, r, i, a) {
      if (this.match(18) && this.isLookaheadToken_lt()) {
        if (a.optionalChainMember = !0, i)
          return a.stop = !0, s;
        this.next();
        let o = this.startNodeAt(r);
        return o.callee = s, o.typeArguments = this.flowParseTypeParameterInstantiationInExpression(), this.expect(10), o.arguments = this.parseCallExpressionArguments(
        11), o.optional = !0, this.finishCallExpression(o, !0);
      } else if (!i && this.shouldParseTypes() && (this.match(47) || this.match(51))) {
        let o = this.startNodeAt(r);
        o.callee = s;
        let l = this.tryParse(() => (o.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(), this.expect(10), o.arguments = super.
        parseCallExpressionArguments(11), a.optionalChainMember && (o.optional = !1), this.finishCallExpression(o, a.optionalChainMember)));
        if (l.node)
          return l.error && (this.state = l.failState), l.node;
      }
      return super.parseSubscript(s, r, i, a);
    }
    parseNewCallee(s) {
      super.parseNewCallee(s);
      let r = null;
      this.shouldParseTypes() && this.match(47) && (r = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node), s.typeArguments =
      r;
    }
    parseAsyncArrowWithTypeParameters(s) {
      let r = this.startNodeAt(s);
      if (this.parseFunctionParams(r, !1), !!this.parseArrow(r))
        return super.parseArrowExpression(r, void 0, !0);
    }
    readToken_mult_modulo(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      if (s === 42 && r === 47 && this.state.hasFlowComment) {
        this.state.hasFlowComment = !1, this.state.pos += 2, this.nextToken();
        return;
      }
      super.readToken_mult_modulo(s);
    }
    readToken_pipe_amp(s) {
      let r = this.input.charCodeAt(this.state.pos + 1);
      if (s === 124 && r === 125) {
        this.finishOp(9, 2);
        return;
      }
      super.readToken_pipe_amp(s);
    }
    parseTopLevel(s, r) {
      let i = super.parseTopLevel(s, r);
      return this.state.hasFlowComment && this.raise(Ft.UnterminatedFlowComment, this.state.curPosition()), i;
    }
    skipBlockComment() {
      if (this.hasPlugin("flowComments") && this.skipFlowComment()) {
        if (this.state.hasFlowComment)
          throw this.raise(Ft.NestedFlowComment, this.state.startLoc);
        this.hasFlowCommentCompletion();
        let s = this.skipFlowComment();
        s && (this.state.pos += s, this.state.hasFlowComment = !0);
        return;
      }
      return super.skipBlockComment(this.state.hasFlowComment ? "*-/" : "*/");
    }
    skipFlowComment() {
      let {
        pos: s
      } = this.state, r = 2;
      for (; [32, 9].includes(this.input.charCodeAt(s + r)); )
        r++;
      let i = this.input.charCodeAt(r + s), a = this.input.charCodeAt(r + s + 1);
      return i === 58 && a === 58 ? r + 2 : this.input.slice(r + s, r + s + 12) === "flow-include" ? r + 12 : i === 58 && a !== 58 ? r : !1;
    }
    hasFlowCommentCompletion() {
      if (this.input.indexOf("*/", this.state.pos) === -1)
        throw this.raise(se.UnterminatedComment, this.state.curPosition());
    }
    flowEnumErrorBooleanMemberNotInitialized(s, {
      enumName: r,
      memberName: i
    }) {
      this.raise(Ft.EnumBooleanMemberNotInitialized, s, {
        memberName: i,
        enumName: r
      });
    }
    flowEnumErrorInvalidMemberInitializer(s, r) {
      return this.raise(r.explicitType ? r.explicitType === "symbol" ? Ft.EnumInvalidMemberInitializerSymbolType : Ft.EnumInvalidMemberInitializerPrimaryType :
      Ft.EnumInvalidMemberInitializerUnknownType, s, r);
    }
    flowEnumErrorNumberMemberNotInitialized(s, r) {
      this.raise(Ft.EnumNumberMemberNotInitialized, s, r);
    }
    flowEnumErrorStringMemberInconsistentlyInitialized(s, r) {
      this.raise(Ft.EnumStringMemberInconsistentlyInitialized, s, r);
    }
    flowEnumMemberInit() {
      let s = this.state.startLoc, r = /* @__PURE__ */ n(() => this.match(12) || this.match(8), "endOfInit");
      switch (this.state.type) {
        case 135: {
          let i = this.parseNumericLiteral(this.state.value);
          return r() ? {
            type: "number",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        case 134: {
          let i = this.parseStringLiteral(this.state.value);
          return r() ? {
            type: "string",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        case 85:
        case 86: {
          let i = this.parseBooleanLiteral(this.match(85));
          return r() ? {
            type: "boolean",
            loc: i.loc.start,
            value: i
          } : {
            type: "invalid",
            loc: s
          };
        }
        default:
          return {
            type: "invalid",
            loc: s
          };
      }
    }
    flowEnumMemberRaw() {
      let s = this.state.startLoc, r = this.parseIdentifier(!0), i = this.eat(29) ? this.flowEnumMemberInit() : {
        type: "none",
        loc: s
      };
      return {
        id: r,
        init: i
      };
    }
    flowEnumCheckExplicitTypeMismatch(s, r, i) {
      let {
        explicitType: a
      } = r;
      a !== null && a !== i && this.flowEnumErrorInvalidMemberInitializer(s, r);
    }
    flowEnumMembers({
      enumName: s,
      explicitType: r
    }) {
      let i = /* @__PURE__ */ new Set(), a = {
        booleanMembers: [],
        numberMembers: [],
        stringMembers: [],
        defaultedMembers: []
      }, o = !1;
      for (; !this.match(8); ) {
        if (this.eat(21)) {
          o = !0;
          break;
        }
        let l = this.startNode(), {
          id: u,
          init: c
        } = this.flowEnumMemberRaw(), p = u.name;
        if (p === "")
          continue;
        /^[a-z]/.test(p) && this.raise(Ft.EnumInvalidMemberName, u, {
          memberName: p,
          suggestion: p[0].toUpperCase() + p.slice(1),
          enumName: s
        }), i.has(p) && this.raise(Ft.EnumDuplicateMemberName, u, {
          memberName: p,
          enumName: s
        }), i.add(p);
        let h = {
          enumName: s,
          explicitType: r,
          memberName: p
        };
        switch (l.id = u, c.type) {
          case "boolean": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "boolean"), l.init = c.value, a.booleanMembers.push(this.finishNode(l, "EnumBoo\
leanMember"));
            break;
          }
          case "number": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "number"), l.init = c.value, a.numberMembers.push(this.finishNode(l, "EnumNumbe\
rMember"));
            break;
          }
          case "string": {
            this.flowEnumCheckExplicitTypeMismatch(c.loc, h, "string"), l.init = c.value, a.stringMembers.push(this.finishNode(l, "EnumStrin\
gMember"));
            break;
          }
          case "invalid":
            throw this.flowEnumErrorInvalidMemberInitializer(c.loc, h);
          case "none":
            switch (r) {
              case "boolean":
                this.flowEnumErrorBooleanMemberNotInitialized(c.loc, h);
                break;
              case "number":
                this.flowEnumErrorNumberMemberNotInitialized(c.loc, h);
                break;
              default:
                a.defaultedMembers.push(this.finishNode(l, "EnumDefaultedMember"));
            }
        }
        this.match(8) || this.expect(12);
      }
      return {
        members: a,
        hasUnknownMembers: o
      };
    }
    flowEnumStringMembers(s, r, {
      enumName: i
    }) {
      if (s.length === 0)
        return r;
      if (r.length === 0)
        return s;
      if (r.length > s.length) {
        for (let a of s)
          this.flowEnumErrorStringMemberInconsistentlyInitialized(a, {
            enumName: i
          });
        return r;
      } else {
        for (let a of r)
          this.flowEnumErrorStringMemberInconsistentlyInitialized(a, {
            enumName: i
          });
        return s;
      }
    }
    flowEnumParseExplicitType({
      enumName: s
    }) {
      if (!this.eatContextual(102)) return null;
      if (!ar(this.state.type))
        throw this.raise(Ft.EnumInvalidExplicitTypeUnknownSupplied, this.state.startLoc, {
          enumName: s
        });
      let {
        value: r
      } = this.state;
      return this.next(), r !== "boolean" && r !== "number" && r !== "string" && r !== "symbol" && this.raise(Ft.EnumInvalidExplicitType, this.
      state.startLoc, {
        enumName: s,
        invalidEnumType: r
      }), r;
    }
    flowEnumBody(s, r) {
      let i = r.name, a = r.loc.start, o = this.flowEnumParseExplicitType({
        enumName: i
      });
      this.expect(5);
      let {
        members: l,
        hasUnknownMembers: u
      } = this.flowEnumMembers({
        enumName: i,
        explicitType: o
      });
      switch (s.hasUnknownMembers = u, o) {
        case "boolean":
          return s.explicitType = !0, s.members = l.booleanMembers, this.expect(8), this.finishNode(s, "EnumBooleanBody");
        case "number":
          return s.explicitType = !0, s.members = l.numberMembers, this.expect(8), this.finishNode(s, "EnumNumberBody");
        case "string":
          return s.explicitType = !0, s.members = this.flowEnumStringMembers(l.stringMembers, l.defaultedMembers, {
            enumName: i
          }), this.expect(8), this.finishNode(s, "EnumStringBody");
        case "symbol":
          return s.members = l.defaultedMembers, this.expect(8), this.finishNode(s, "EnumSymbolBody");
        default: {
          let c = /* @__PURE__ */ n(() => (s.members = [], this.expect(8), this.finishNode(s, "EnumStringBody")), "empty");
          s.explicitType = !1;
          let p = l.booleanMembers.length, h = l.numberMembers.length, f = l.stringMembers.length, d = l.defaultedMembers.length;
          if (!p && !h && !f && !d)
            return c();
          if (!p && !h)
            return s.members = this.flowEnumStringMembers(l.stringMembers, l.defaultedMembers, {
              enumName: i
            }), this.expect(8), this.finishNode(s, "EnumStringBody");
          if (!h && !f && p >= d) {
            for (let m of l.defaultedMembers)
              this.flowEnumErrorBooleanMemberNotInitialized(m.loc.start, {
                enumName: i,
                memberName: m.id.name
              });
            return s.members = l.booleanMembers, this.expect(8), this.finishNode(s, "EnumBooleanBody");
          } else if (!p && !f && h >= d) {
            for (let m of l.defaultedMembers)
              this.flowEnumErrorNumberMemberNotInitialized(m.loc.start, {
                enumName: i,
                memberName: m.id.name
              });
            return s.members = l.numberMembers, this.expect(8), this.finishNode(s, "EnumNumberBody");
          } else
            return this.raise(Ft.EnumInconsistentMemberValues, a, {
              enumName: i
            }), c();
        }
      }
    }
    flowParseEnumDeclaration(s) {
      let r = this.parseIdentifier();
      return s.id = r, s.body = this.flowEnumBody(this.startNode(), r), this.finishNode(s, "EnumDeclaration");
    }
    jsxParseOpeningElementAfterName(s) {
      return this.shouldParseTypes() && (this.match(47) || this.match(51)) && (s.typeArguments = this.flowParseTypeParameterInstantiationInExpression()),
      super.jsxParseOpeningElementAfterName(s);
    }
    isLookaheadToken_lt() {
      let s = this.nextTokenStart();
      if (this.input.charCodeAt(s) === 60) {
        let r = this.input.charCodeAt(s + 1);
        return r !== 60 && r !== 61;
      }
      return !1;
    }
    reScan_lt_gt() {
      let {
        type: s
      } = this.state;
      s === 47 ? (this.state.pos -= 1, this.readToken_lt()) : s === 48 && (this.state.pos -= 1, this.readToken_gt());
    }
    reScan_lt() {
      let {
        type: s
      } = this.state;
      return s === 51 ? (this.state.pos -= 2, this.finishOp(47, 1), 47) : s;
    }
    maybeUnwrapTypeCastExpression(s) {
      return s.type === "TypeCastExpression" ? s.expression : s;
    }
  }, "flow"), sds = {
    __proto__: null,
    quot: '"',
    amp: "&",
    apos: "'",
    lt: "<",
    gt: ">",
    nbsp: "\xA0",
    iexcl: "\xA1",
    cent: "\xA2",
    pound: "\xA3",
    curren: "\xA4",
    yen: "\xA5",
    brvbar: "\xA6",
    sect: "\xA7",
    uml: "\xA8",
    copy: "\xA9",
    ordf: "\xAA",
    laquo: "\xAB",
    not: "\xAC",
    shy: "\xAD",
    reg: "\xAE",
    macr: "\xAF",
    deg: "\xB0",
    plusmn: "\xB1",
    sup2: "\xB2",
    sup3: "\xB3",
    acute: "\xB4",
    micro: "\xB5",
    para: "\xB6",
    middot: "\xB7",
    cedil: "\xB8",
    sup1: "\xB9",
    ordm: "\xBA",
    raquo: "\xBB",
    frac14: "\xBC",
    frac12: "\xBD",
    frac34: "\xBE",
    iquest: "\xBF",
    Agrave: "\xC0",
    Aacute: "\xC1",
    Acirc: "\xC2",
    Atilde: "\xC3",
    Auml: "\xC4",
    Aring: "\xC5",
    AElig: "\xC6",
    Ccedil: "\xC7",
    Egrave: "\xC8",
    Eacute: "\xC9",
    Ecirc: "\xCA",
    Euml: "\xCB",
    Igrave: "\xCC",
    Iacute: "\xCD",
    Icirc: "\xCE",
    Iuml: "\xCF",
    ETH: "\xD0",
    Ntilde: "\xD1",
    Ograve: "\xD2",
    Oacute: "\xD3",
    Ocirc: "\xD4",
    Otilde: "\xD5",
    Ouml: "\xD6",
    times: "\xD7",
    Oslash: "\xD8",
    Ugrave: "\xD9",
    Uacute: "\xDA",
    Ucirc: "\xDB",
    Uuml: "\xDC",
    Yacute: "\xDD",
    THORN: "\xDE",
    szlig: "\xDF",
    agrave: "\xE0",
    aacute: "\xE1",
    acirc: "\xE2",
    atilde: "\xE3",
    auml: "\xE4",
    aring: "\xE5",
    aelig: "\xE6",
    ccedil: "\xE7",
    egrave: "\xE8",
    eacute: "\xE9",
    ecirc: "\xEA",
    euml: "\xEB",
    igrave: "\xEC",
    iacute: "\xED",
    icirc: "\xEE",
    iuml: "\xEF",
    eth: "\xF0",
    ntilde: "\xF1",
    ograve: "\xF2",
    oacute: "\xF3",
    ocirc: "\xF4",
    otilde: "\xF5",
    ouml: "\xF6",
    divide: "\xF7",
    oslash: "\xF8",
    ugrave: "\xF9",
    uacute: "\xFA",
    ucirc: "\xFB",
    uuml: "\xFC",
    yacute: "\xFD",
    thorn: "\xFE",
    yuml: "\xFF",
    OElig: "\u0152",
    oelig: "\u0153",
    Scaron: "\u0160",
    scaron: "\u0161",
    Yuml: "\u0178",
    fnof: "\u0192",
    circ: "\u02C6",
    tilde: "\u02DC",
    Alpha: "\u0391",
    Beta: "\u0392",
    Gamma: "\u0393",
    Delta: "\u0394",
    Epsilon: "\u0395",
    Zeta: "\u0396",
    Eta: "\u0397",
    Theta: "\u0398",
    Iota: "\u0399",
    Kappa: "\u039A",
    Lambda: "\u039B",
    Mu: "\u039C",
    Nu: "\u039D",
    Xi: "\u039E",
    Omicron: "\u039F",
    Pi: "\u03A0",
    Rho: "\u03A1",
    Sigma: "\u03A3",
    Tau: "\u03A4",
    Upsilon: "\u03A5",
    Phi: "\u03A6",
    Chi: "\u03A7",
    Psi: "\u03A8",
    Omega: "\u03A9",
    alpha: "\u03B1",
    beta: "\u03B2",
    gamma: "\u03B3",
    delta: "\u03B4",
    epsilon: "\u03B5",
    zeta: "\u03B6",
    eta: "\u03B7",
    theta: "\u03B8",
    iota: "\u03B9",
    kappa: "\u03BA",
    lambda: "\u03BB",
    mu: "\u03BC",
    nu: "\u03BD",
    xi: "\u03BE",
    omicron: "\u03BF",
    pi: "\u03C0",
    rho: "\u03C1",
    sigmaf: "\u03C2",
    sigma: "\u03C3",
    tau: "\u03C4",
    upsilon: "\u03C5",
    phi: "\u03C6",
    chi: "\u03C7",
    psi: "\u03C8",
    omega: "\u03C9",
    thetasym: "\u03D1",
    upsih: "\u03D2",
    piv: "\u03D6",
    ensp: "\u2002",
    emsp: "\u2003",
    thinsp: "\u2009",
    zwnj: "\u200C",
    zwj: "\u200D",
    lrm: "\u200E",
    rlm: "\u200F",
    ndash: "\u2013",
    mdash: "\u2014",
    lsquo: "\u2018",
    rsquo: "\u2019",
    sbquo: "\u201A",
    ldquo: "\u201C",
    rdquo: "\u201D",
    bdquo: "\u201E",
    dagger: "\u2020",
    Dagger: "\u2021",
    bull: "\u2022",
    hellip: "\u2026",
    permil: "\u2030",
    prime: "\u2032",
    Prime: "\u2033",
    lsaquo: "\u2039",
    rsaquo: "\u203A",
    oline: "\u203E",
    frasl: "\u2044",
    euro: "\u20AC",
    image: "\u2111",
    weierp: "\u2118",
    real: "\u211C",
    trade: "\u2122",
    alefsym: "\u2135",
    larr: "\u2190",
    uarr: "\u2191",
    rarr: "\u2192",
    darr: "\u2193",
    harr: "\u2194",
    crarr: "\u21B5",
    lArr: "\u21D0",
    uArr: "\u21D1",
    rArr: "\u21D2",
    dArr: "\u21D3",
    hArr: "\u21D4",
    forall: "\u2200",
    part: "\u2202",
    exist: "\u2203",
    empty: "\u2205",
    nabla: "\u2207",
    isin: "\u2208",
    notin: "\u2209",
    ni: "\u220B",
    prod: "\u220F",
    sum: "\u2211",
    minus: "\u2212",
    lowast: "\u2217",
    radic: "\u221A",
    prop: "\u221D",
    infin: "\u221E",
    ang: "\u2220",
    and: "\u2227",
    or: "\u2228",
    cap: "\u2229",
    cup: "\u222A",
    int: "\u222B",
    there4: "\u2234",
    sim: "\u223C",
    cong: "\u2245",
    asymp: "\u2248",
    ne: "\u2260",
    equiv: "\u2261",
    le: "\u2264",
    ge: "\u2265",
    sub: "\u2282",
    sup: "\u2283",
    nsub: "\u2284",
    sube: "\u2286",
    supe: "\u2287",
    oplus: "\u2295",
    otimes: "\u2297",
    perp: "\u22A5",
    sdot: "\u22C5",
    lceil: "\u2308",
    rceil: "\u2309",
    lfloor: "\u230A",
    rfloor: "\u230B",
    lang: "\u2329",
    rang: "\u232A",
    loz: "\u25CA",
    spades: "\u2660",
    clubs: "\u2663",
    hearts: "\u2665",
    diams: "\u2666"
  }, Bf = hc`jsx`({
    AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.",
    MissingClosingTagElement: /* @__PURE__ */ n(({
      openingTagName: t
    }) => `Expected corresponding JSX closing tag for <${t}>.`, "MissingClosingTagElement"),
    MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.",
    UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",
    UnexpectedToken: /* @__PURE__ */ n(({
      unexpected: t,
      HTMLEntity: e
    }) => `Unexpected token \`${t}\`. Did you mean \`${e}\` or \`{'${t}'}\`?`, "UnexpectedToken"),
    UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.",
    UnterminatedJsxContent: "Unterminated JSX contents.",
    UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"
  });
  function Up(t) {
    return t ? t.type === "JSXOpeningFragment" || t.type === "JSXClosingFragment" : !1;
  }
  n(Up, "isFragment");
  function hy(t) {
    if (t.type === "JSXIdentifier")
      return t.name;
    if (t.type === "JSXNamespacedName")
      return t.namespace.name + ":" + t.name.name;
    if (t.type === "JSXMemberExpression")
      return hy(t.object) + "." + hy(t.property);
    throw new Error("Node had unexpected type: " + t.type);
  }
  n(hy, "getQualifiedJSXName");
  var rds = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "JSXParserMixin");
    }
    jsxReadToken() {
      let s = "", r = this.state.pos;
      for (; ; ) {
        if (this.state.pos >= this.length)
          throw this.raise(Bf.UnterminatedJsxContent, this.state.startLoc);
        let i = this.input.charCodeAt(this.state.pos);
        switch (i) {
          case 60:
          case 123:
            if (this.state.pos === this.state.start) {
              i === 60 && this.state.canStartJSXElement ? (++this.state.pos, this.finishToken(143)) : super.getTokenFromCode(i);
              return;
            }
            s += this.input.slice(r, this.state.pos), this.finishToken(142, s);
            return;
          case 38:
            s += this.input.slice(r, this.state.pos), s += this.jsxReadEntity(), r = this.state.pos;
            break;
          case 62:
          case 125:
          default:
            dy(i) ? (s += this.input.slice(r, this.state.pos), s += this.jsxReadNewLine(!0), r = this.state.pos) : ++this.state.pos;
        }
      }
    }
    jsxReadNewLine(s) {
      let r = this.input.charCodeAt(this.state.pos), i;
      return ++this.state.pos, r === 13 && this.input.charCodeAt(this.state.pos) === 10 ? (++this.state.pos, i = s ? `
` : `\r
`) : i = String.fromCharCode(r), ++this.state.curLine, this.state.lineStart = this.state.pos, i;
    }
    jsxReadString(s) {
      let r = "", i = ++this.state.pos;
      for (; ; ) {
        if (this.state.pos >= this.length)
          throw this.raise(se.UnterminatedString, this.state.startLoc);
        let a = this.input.charCodeAt(this.state.pos);
        if (a === s) break;
        a === 38 ? (r += this.input.slice(i, this.state.pos), r += this.jsxReadEntity(), i = this.state.pos) : dy(a) ? (r += this.input.slice(
        i, this.state.pos), r += this.jsxReadNewLine(!1), i = this.state.pos) : ++this.state.pos;
      }
      r += this.input.slice(i, this.state.pos++), this.finishToken(134, r);
    }
    jsxReadEntity() {
      let s = ++this.state.pos;
      if (this.codePointAtPos(this.state.pos) === 35) {
        ++this.state.pos;
        let r = 10;
        this.codePointAtPos(this.state.pos) === 120 && (r = 16, ++this.state.pos);
        let i = this.readInt(r, void 0, !1, "bail");
        if (i !== null && this.codePointAtPos(this.state.pos) === 59)
          return ++this.state.pos, String.fromCodePoint(i);
      } else {
        let r = 0, i = !1;
        for (; r++ < 10 && this.state.pos < this.length && !(i = this.codePointAtPos(this.state.pos) === 59); )
          ++this.state.pos;
        if (i) {
          let a = this.input.slice(s, this.state.pos), o = sds[a];
          if (++this.state.pos, o)
            return o;
        }
      }
      return this.state.pos = s, "&";
    }
    jsxReadWord() {
      let s, r = this.state.pos;
      do
        s = this.input.charCodeAt(++this.state.pos);
      while (fy(s) || s === 45);
      this.finishToken(141, this.input.slice(r, this.state.pos));
    }
    jsxParseIdentifier() {
      let s = this.startNode();
      return this.match(141) ? s.name = this.state.value : gR(this.state.type) ? s.name = Kp(this.state.type) : this.unexpected(), this.next(),
      this.finishNode(s, "JSXIdentifier");
    }
    jsxParseNamespacedName() {
      let s = this.state.startLoc, r = this.jsxParseIdentifier();
      if (!this.eat(14)) return r;
      let i = this.startNodeAt(s);
      return i.namespace = r, i.name = this.jsxParseIdentifier(), this.finishNode(i, "JSXNamespacedName");
    }
    jsxParseElementName() {
      let s = this.state.startLoc, r = this.jsxParseNamespacedName();
      if (r.type === "JSXNamespacedName")
        return r;
      for (; this.eat(16); ) {
        let i = this.startNodeAt(s);
        i.object = r, i.property = this.jsxParseIdentifier(), r = this.finishNode(i, "JSXMemberExpression");
      }
      return r;
    }
    jsxParseAttributeValue() {
      let s;
      switch (this.state.type) {
        case 5:
          return s = this.startNode(), this.setContext(nr.brace), this.next(), s = this.jsxParseExpressionContainer(s, nr.j_oTag), s.expression.
          type === "JSXEmptyExpression" && this.raise(Bf.AttributeIsEmpty, s), s;
        case 143:
        case 134:
          return this.parseExprAtom();
        default:
          throw this.raise(Bf.UnsupportedJsxValue, this.state.startLoc);
      }
    }
    jsxParseEmptyExpression() {
      let s = this.startNodeAt(this.state.lastTokEndLoc);
      return this.finishNodeAt(s, "JSXEmptyExpression", this.state.startLoc);
    }
    jsxParseSpreadChild(s) {
      return this.next(), s.expression = this.parseExpression(), this.setContext(nr.j_expr), this.state.canStartJSXElement = !0, this.expect(
      8), this.finishNode(s, "JSXSpreadChild");
    }
    jsxParseExpressionContainer(s, r) {
      if (this.match(8))
        s.expression = this.jsxParseEmptyExpression();
      else {
        let i = this.parseExpression();
        s.expression = i;
      }
      return this.setContext(r), this.state.canStartJSXElement = !0, this.expect(8), this.finishNode(s, "JSXExpressionContainer");
    }
    jsxParseAttribute() {
      let s = this.startNode();
      return this.match(5) ? (this.setContext(nr.brace), this.next(), this.expect(21), s.argument = this.parseMaybeAssignAllowIn(), this.setContext(
      nr.j_oTag), this.state.canStartJSXElement = !0, this.expect(8), this.finishNode(s, "JSXSpreadAttribute")) : (s.name = this.jsxParseNamespacedName(),
      s.value = this.eat(29) ? this.jsxParseAttributeValue() : null, this.finishNode(s, "JSXAttribute"));
    }
    jsxParseOpeningElementAt(s) {
      let r = this.startNodeAt(s);
      return this.eat(144) ? this.finishNode(r, "JSXOpeningFragment") : (r.name = this.jsxParseElementName(), this.jsxParseOpeningElementAfterName(
      r));
    }
    jsxParseOpeningElementAfterName(s) {
      let r = [];
      for (; !this.match(56) && !this.match(144); )
        r.push(this.jsxParseAttribute());
      return s.attributes = r, s.selfClosing = this.eat(56), this.expect(144), this.finishNode(s, "JSXOpeningElement");
    }
    jsxParseClosingElementAt(s) {
      let r = this.startNodeAt(s);
      return this.eat(144) ? this.finishNode(r, "JSXClosingFragment") : (r.name = this.jsxParseElementName(), this.expect(144), this.finishNode(
      r, "JSXClosingElement"));
    }
    jsxParseElementAt(s) {
      let r = this.startNodeAt(s), i = [], a = this.jsxParseOpeningElementAt(s), o = null;
      if (!a.selfClosing) {
        e: for (; ; )
          switch (this.state.type) {
            case 143:
              if (s = this.state.startLoc, this.next(), this.eat(56)) {
                o = this.jsxParseClosingElementAt(s);
                break e;
              }
              i.push(this.jsxParseElementAt(s));
              break;
            case 142:
              i.push(this.parseLiteral(this.state.value, "JSXText"));
              break;
            case 5: {
              let l = this.startNode();
              this.setContext(nr.brace), this.next(), this.match(21) ? i.push(this.jsxParseSpreadChild(l)) : i.push(this.jsxParseExpressionContainer(
              l, nr.j_expr));
              break;
            }
            default:
              this.unexpected();
          }
        Up(a) && !Up(o) && o !== null ? this.raise(Bf.MissingClosingTagFragment, o) : !Up(a) && Up(o) ? this.raise(Bf.MissingClosingTagElement,
        o, {
          openingTagName: hy(a.name)
        }) : !Up(a) && !Up(o) && hy(o.name) !== hy(a.name) && this.raise(Bf.MissingClosingTagElement, o, {
          openingTagName: hy(a.name)
        });
      }
      if (Up(a) ? (r.openingFragment = a, r.closingFragment = o) : (r.openingElement = a, r.closingElement = o), r.children = i, this.match(
      47))
        throw this.raise(Bf.UnwrappedAdjacentJSXElements, this.state.startLoc);
      return Up(a) ? this.finishNode(r, "JSXFragment") : this.finishNode(r, "JSXElement");
    }
    jsxParseElement() {
      let s = this.state.startLoc;
      return this.next(), this.jsxParseElementAt(s);
    }
    setContext(s) {
      let {
        context: r
      } = this.state;
      r[r.length - 1] = s;
    }
    parseExprAtom(s) {
      return this.match(143) ? this.jsxParseElement() : this.match(47) && this.input.charCodeAt(this.state.pos) !== 33 ? (this.replaceToken(
      143), this.jsxParseElement()) : super.parseExprAtom(s);
    }
    skipSpace() {
      this.curContext().preserveSpace || super.skipSpace();
    }
    getTokenFromCode(s) {
      let r = this.curContext();
      if (r === nr.j_expr) {
        this.jsxReadToken();
        return;
      }
      if (r === nr.j_oTag || r === nr.j_cTag) {
        if (pc(s)) {
          this.jsxReadWord();
          return;
        }
        if (s === 62) {
          ++this.state.pos, this.finishToken(144);
          return;
        }
        if ((s === 34 || s === 39) && r === nr.j_oTag) {
          this.jsxReadString(s);
          return;
        }
      }
      if (s === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) {
        ++this.state.pos, this.finishToken(143);
        return;
      }
      super.getTokenFromCode(s);
    }
    updateContext(s) {
      let {
        context: r,
        type: i
      } = this.state;
      if (i === 56 && s === 143)
        r.splice(-2, 2, nr.j_cTag), this.state.canStartJSXElement = !1;
      else if (i === 143)
        r.push(nr.j_oTag);
      else if (i === 144) {
        let a = r[r.length - 1];
        a === nr.j_oTag && s === 56 || a === nr.j_cTag ? (r.pop(), this.state.canStartJSXElement = r[r.length - 1] === nr.j_expr) : (this.setContext(
        nr.j_expr), this.state.canStartJSXElement = !0);
      } else
        this.state.canStartJSXElement = bfs(i);
    }
  }, "jsx"), aR = class extends WT {
    static {
      n(this, "TypeScriptScope");
    }
    constructor(...e) {
      super(...e), this.tsNames = /* @__PURE__ */ new Map();
    }
  }, oR = class extends $T {
    static {
      n(this, "TypeScriptScopeHandler");
    }
    constructor(...e) {
      super(...e), this.importsStack = [];
    }
    createScope(e) {
      return this.importsStack.push(/* @__PURE__ */ new Set()), new aR(e);
    }
    enter(e) {
      e === 256 && this.importsStack.push(/* @__PURE__ */ new Set()), super.enter(e);
    }
    exit() {
      let e = super.exit();
      return e === 256 && this.importsStack.pop(), e;
    }
    hasImport(e, s) {
      let r = this.importsStack.length;
      if (this.importsStack[r - 1].has(e))
        return !0;
      if (!s && r > 1) {
        for (let i = 0; i < r - 1; i++)
          if (this.importsStack[i].has(e)) return !0;
      }
      return !1;
    }
    declareName(e, s, r) {
      if (s & 4096) {
        this.hasImport(e, !0) && this.parser.raise(se.VarRedeclaration, r, {
          identifierName: e
        }), this.importsStack[this.importsStack.length - 1].add(e);
        return;
      }
      let i = this.currentScope(), a = i.tsNames.get(e) || 0;
      if (s & 1024) {
        this.maybeExportDefined(i, e), i.tsNames.set(e, a | 16);
        return;
      }
      super.declareName(e, s, r), s & 2 && (s & 1 || (this.checkRedeclarationInScope(i, e, s, r), this.maybeExportDefined(i, e)), a = a | 1),
      s & 256 && (a = a | 2), s & 512 && (a = a | 4), s & 128 && (a = a | 8), a && i.tsNames.set(e, a);
    }
    isRedeclaredInScope(e, s, r) {
      let i = e.tsNames.get(s);
      if ((i & 2) > 0) {
        if (r & 256) {
          let a = !!(r & 512), o = (i & 4) > 0;
          return a !== o;
        }
        return !0;
      }
      return r & 128 && (i & 8) > 0 ? e.names.get(s) & 2 ? !!(r & 1) : !1 : r & 2 && (i & 1) > 0 ? !0 : super.isRedeclaredInScope(e, s, r);
    }
    checkLocalExport(e) {
      let {
        name: s
      } = e;
      if (this.hasImport(s)) return;
      let r = this.scopeStack.length;
      for (let i = r - 1; i >= 0; i--) {
        let o = this.scopeStack[i].tsNames.get(s);
        if ((o & 1) > 0 || (o & 16) > 0)
          return;
      }
      super.checkLocalExport(e);
    }
  }, Yfe = /* @__PURE__ */ n((t) => t.type === "ParenthesizedExpression" ? Yfe(t.expression) : t, "unwrapParenthesizedExpression"), lR = class extends nR {
    static {
      n(this, "LValParser");
    }
    toAssignable(e, s = !1) {
      var r, i;
      let a;
      switch ((e.type === "ParenthesizedExpression" || (r = e.extra) != null && r.parenthesized) && (a = Yfe(e), s ? a.type === "Identifier" ?
      this.expressionScope.recordArrowParameterBindingError(se.InvalidParenthesizedAssignment, e) : a.type !== "MemberExpression" && !this.isOptionalMemberExpression(
      a) && this.raise(se.InvalidParenthesizedAssignment, e) : this.raise(se.InvalidParenthesizedAssignment, e)), e.type) {
        case "Identifier":
        case "ObjectPattern":
        case "ArrayPattern":
        case "AssignmentPattern":
        case "RestElement":
          break;
        case "ObjectExpression":
          e.type = "ObjectPattern";
          for (let l = 0, u = e.properties.length, c = u - 1; l < u; l++) {
            var o;
            let p = e.properties[l], h = l === c;
            this.toAssignableObjectExpressionProp(p, h, s), h && p.type === "RestElement" && (o = e.extra) != null && o.trailingCommaLoc && this.
            raise(se.RestTrailingComma, e.extra.trailingCommaLoc);
          }
          break;
        case "ObjectProperty": {
          let {
            key: l,
            value: u
          } = e;
          this.isPrivateName(l) && this.classScope.usePrivateName(this.getPrivateNameSV(l), l.loc.start), this.toAssignable(u, s);
          break;
        }
        case "SpreadElement":
          throw new Error("Internal @babel/parser error (this is a bug, please report it). SpreadElement should be converted by .toAssignabl\
e's caller.");
        case "ArrayExpression":
          e.type = "ArrayPattern", this.toAssignableList(e.elements, (i = e.extra) == null ? void 0 : i.trailingCommaLoc, s);
          break;
        case "AssignmentExpression":
          e.operator !== "=" && this.raise(se.MissingEqInAssignment, e.left.loc.end), e.type = "AssignmentPattern", delete e.operator, this.
          toAssignable(e.left, s);
          break;
        case "ParenthesizedExpression":
          this.toAssignable(a, s);
          break;
      }
    }
    toAssignableObjectExpressionProp(e, s, r) {
      if (e.type === "ObjectMethod")
        this.raise(e.kind === "get" || e.kind === "set" ? se.PatternHasAccessor : se.PatternHasMethod, e.key);
      else if (e.type === "SpreadElement") {
        e.type = "RestElement";
        let i = e.argument;
        this.checkToRestConversion(i, !1), this.toAssignable(i, r), s || this.raise(se.RestTrailingComma, e);
      } else
        this.toAssignable(e, r);
    }
    toAssignableList(e, s, r) {
      let i = e.length - 1;
      for (let a = 0; a <= i; a++) {
        let o = e[a];
        if (o) {
          if (o.type === "SpreadElement") {
            o.type = "RestElement";
            let l = o.argument;
            this.checkToRestConversion(l, !0), this.toAssignable(l, r);
          } else
            this.toAssignable(o, r);
          o.type === "RestElement" && (a < i ? this.raise(se.RestTrailingComma, o) : s && this.raise(se.RestTrailingComma, s));
        }
      }
    }
    isAssignable(e, s) {
      switch (e.type) {
        case "Identifier":
        case "ObjectPattern":
        case "ArrayPattern":
        case "AssignmentPattern":
        case "RestElement":
          return !0;
        case "ObjectExpression": {
          let r = e.properties.length - 1;
          return e.properties.every((i, a) => i.type !== "ObjectMethod" && (a === r || i.type !== "SpreadElement") && this.isAssignable(i));
        }
        case "ObjectProperty":
          return this.isAssignable(e.value);
        case "SpreadElement":
          return this.isAssignable(e.argument);
        case "ArrayExpression":
          return e.elements.every((r) => r === null || this.isAssignable(r));
        case "AssignmentExpression":
          return e.operator === "=";
        case "ParenthesizedExpression":
          return this.isAssignable(e.expression);
        case "MemberExpression":
        case "OptionalMemberExpression":
          return !s;
        default:
          return !1;
      }
    }
    toReferencedList(e, s) {
      return e;
    }
    toReferencedListDeep(e, s) {
      this.toReferencedList(e, s);
      for (let r of e)
        r?.type === "ArrayExpression" && this.toReferencedListDeep(r.elements);
    }
    parseSpread(e) {
      let s = this.startNode();
      return this.next(), s.argument = this.parseMaybeAssignAllowIn(e, void 0), this.finishNode(s, "SpreadElement");
    }
    parseRestBinding() {
      let e = this.startNode();
      return this.next(), e.argument = this.parseBindingAtom(), this.finishNode(e, "RestElement");
    }
    parseBindingAtom() {
      switch (this.state.type) {
        case 0: {
          let e = this.startNode();
          return this.next(), e.elements = this.parseBindingList(3, 93, 1), this.finishNode(e, "ArrayPattern");
        }
        case 5:
          return this.parseObjectLike(8, !0);
      }
      return this.parseIdentifier();
    }
    parseBindingList(e, s, r) {
      let i = r & 1, a = [], o = !0;
      for (; !this.eat(e); )
        if (o ? o = !1 : this.expect(12), i && this.match(12))
          a.push(null);
        else {
          if (this.eat(e))
            break;
          if (this.match(21)) {
            let l = this.parseRestBinding();
            if ((this.hasPlugin("flow") || r & 2) && (l = this.parseFunctionParamType(l)), a.push(l), !this.checkCommaAfterRest(s)) {
              this.expect(e);
              break;
            }
          } else {
            let l = [];
            for (this.match(26) && this.hasPlugin("decorators") && this.raise(se.UnsupportedParameterDecorator, this.state.startLoc); this.match(
            26); )
              l.push(this.parseDecorator());
            a.push(this.parseAssignableListItem(r, l));
          }
        }
      return a;
    }
    parseBindingRestProperty(e) {
      return this.next(), e.argument = this.parseIdentifier(), this.checkCommaAfterRest(125), this.finishNode(e, "RestElement");
    }
    parseBindingProperty() {
      let {
        type: e,
        startLoc: s
      } = this.state;
      if (e === 21)
        return this.parseBindingRestProperty(this.startNode());
      let r = this.startNode();
      return e === 139 ? (this.expectPlugin("destructuringPrivate", s), this.classScope.usePrivateName(this.state.value, s), r.key = this.parsePrivateName()) :
      this.parsePropertyName(r), r.method = !1, this.parseObjPropValue(r, s, !1, !1, !0, !1);
    }
    parseAssignableListItem(e, s) {
      let r = this.parseMaybeDefault();
      (this.hasPlugin("flow") || e & 2) && this.parseFunctionParamType(r);
      let i = this.parseMaybeDefault(r.loc.start, r);
      return s.length && (r.decorators = s), i;
    }
    parseFunctionParamType(e) {
      return e;
    }
    parseMaybeDefault(e, s) {
      var r, i;
      if ((r = e) != null || (e = this.state.startLoc), s = (i = s) != null ? i : this.parseBindingAtom(), !this.eat(29)) return s;
      let a = this.startNodeAt(e);
      return a.left = s, a.right = this.parseMaybeAssignAllowIn(), this.finishNode(a, "AssignmentPattern");
    }
    isValidLVal(e, s, r) {
      switch (e) {
        case "AssignmentPattern":
          return "left";
        case "RestElement":
          return "argument";
        case "ObjectProperty":
          return "value";
        case "ParenthesizedExpression":
          return "expression";
        case "ArrayPattern":
          return "elements";
        case "ObjectPattern":
          return "properties";
      }
      return !1;
    }
    isOptionalMemberExpression(e) {
      return e.type === "OptionalMemberExpression";
    }
    checkLVal(e, s, r = 64, i = !1, a = !1, o = !1) {
      var l;
      let u = e.type;
      if (this.isObjectMethod(e)) return;
      let c = this.isOptionalMemberExpression(e);
      if (c || u === "MemberExpression") {
        c && (this.expectPlugin("optionalChainingAssign", e.loc.start), s.type !== "AssignmentExpression" && this.raise(se.InvalidLhsOptionalChaining,
        e, {
          ancestor: s
        })), r !== 64 && this.raise(se.InvalidPropertyBindingPattern, e);
        return;
      }
      if (u === "Identifier") {
        this.checkIdentifier(e, r, a);
        let {
          name: y
        } = e;
        i && (i.has(y) ? this.raise(se.ParamDupe, e) : i.add(y));
        return;
      }
      let p = this.isValidLVal(u, !(o || (l = e.extra) != null && l.parenthesized) && s.type === "AssignmentExpression", r);
      if (p === !0) return;
      if (p === !1) {
        let y = r === 64 ? se.InvalidLhs : se.InvalidLhsBinding;
        this.raise(y, e, {
          ancestor: s
        });
        return;
      }
      let h, f;
      typeof p == "string" ? (h = p, f = u === "ParenthesizedExpression") : [h, f] = p;
      let d = u === "ArrayPattern" || u === "ObjectPattern" ? {
        type: u
      } : s, m = e[h];
      if (Array.isArray(m))
        for (let y of m)
          y && this.checkLVal(y, d, r, i, a, f);
      else m && this.checkLVal(m, d, r, i, a, f);
    }
    checkIdentifier(e, s, r = !1) {
      this.state.strict && (r ? Vfe(e.name, this.inModule) : Kfe(e.name)) && (s === 64 ? this.raise(se.StrictEvalArguments, e, {
        referenceName: e.name
      }) : this.raise(se.StrictEvalArgumentsBinding, e, {
        bindingName: e.name
      })), s & 8192 && e.name === "let" && this.raise(se.LetInLexicalBinding, e), s & 64 || this.declareNameFromIdentifier(e, s);
    }
    declareNameFromIdentifier(e, s) {
      this.scope.declareName(e.name, s, e.loc.start);
    }
    checkToRestConversion(e, s) {
      switch (e.type) {
        case "ParenthesizedExpression":
          this.checkToRestConversion(e.expression, s);
          break;
        case "Identifier":
        case "MemberExpression":
          break;
        case "ArrayExpression":
        case "ObjectExpression":
          if (s) break;
        default:
          this.raise(se.InvalidRestAssignmentPattern, e);
      }
    }
    checkCommaAfterRest(e) {
      return this.match(12) ? (this.raise(this.lookaheadCharCode() === e ? se.RestTrailingComma : se.ElementAfterRest, this.state.startLoc),
      !0) : !1;
    }
  };
  function ids(t) {
    if (t == null)
      throw new Error(`Unexpected ${t} value.`);
    return t;
  }
  n(ids, "nonNull");
  function Dfe(t) {
    if (!t)
      throw new Error("Assert fail");
  }
  n(Dfe, "assert");
  var mt = hc`typescript`({
    AbstractMethodHasImplementation: /* @__PURE__ */ n(({
      methodName: t
    }) => `Method '${t}' cannot have an implementation because it is marked abstract.`, "AbstractMethodHasImplementation"),
    AbstractPropertyHasInitializer: /* @__PURE__ */ n(({
      propertyName: t
    }) => `Property '${t}' cannot have an initializer because it is marked abstract.`, "AbstractPropertyHasInitializer"),
    AccessorCannotBeOptional: "An 'accessor' property cannot be declared optional.",
    AccessorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.",
    AccessorCannotHaveTypeParameters: "An accessor cannot have type parameters.",
    ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.",
    ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.",
    ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "A 'const' initializer in an ambient context must be a string or num\
eric literal or literal enum reference.",
    ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.",
    DeclareAccessor: /* @__PURE__ */ n(({
      kind: t
    }) => `'declare' is not allowed in ${t}ters.`, "DeclareAccessor"),
    DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.",
    DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.",
    DuplicateAccessibilityModifier: /* @__PURE__ */ n(({
      modifier: t
    }) => "Accessibility modifier already seen.", "DuplicateAccessibilityModifier"),
    DuplicateModifier: /* @__PURE__ */ n(({
      modifier: t
    }) => `Duplicate modifier: '${t}'.`, "DuplicateModifier"),
    EmptyHeritageClauseType: /* @__PURE__ */ n(({
      token: t
    }) => `'${t}' list cannot be empty.`, "EmptyHeritageClauseType"),
    EmptyTypeArguments: "Type argument list cannot be empty.",
    EmptyTypeParameters: "Type parameter list cannot be empty.",
    ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.",
    ImportAliasHasImportType: "An import alias can not use 'import type'.",
    ImportReflectionHasImportType: "An `import module` declaration can not use `type` modifier",
    IncompatibleModifiers: /* @__PURE__ */ n(({
      modifiers: t
    }) => `'${t[0]}' modifier cannot be used with '${t[1]}' modifier.`, "IncompatibleModifiers"),
    IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.",
    IndexSignatureHasAccessibility: /* @__PURE__ */ n(({
      modifier: t
    }) => `Index signatures cannot have an accessibility modifier ('${t}').`, "IndexSignatureHasAccessibility"),
    IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.",
    IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.",
    IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.",
    InitializerNotAllowedInAmbientContext: "Initializers are not allowed in ambient contexts.",
    InvalidModifierOnTypeMember: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier cannot appear on a type member.`, "InvalidModifierOnTypeMember"),
    InvalidModifierOnTypeParameter: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier cannot appear on a type parameter.`, "InvalidModifierOnTypeParameter"),
    InvalidModifierOnTypeParameterPositions: /* @__PURE__ */ n(({
      modifier: t
    }) => `'${t}' modifier can only appear on a type parameter of a class, interface or type alias.`, "InvalidModifierOnTypeParameterPositio\
ns"),
    InvalidModifiersOrder: /* @__PURE__ */ n(({
      orderedModifiers: t
    }) => `'${t[0]}' modifier must precede '${t[1]}' modifier.`, "InvalidModifiersOrder"),
    InvalidPropertyAccessAfterInstantiationExpression: "Invalid property access after an instantiation expression. You can either wrap the i\
nstantiation expression in parentheses, or delete the type arguments.",
    InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.",
    MissingInterfaceName: "'interface' declarations must be followed by an identifier.",
    NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.",
    NonClassMethodPropertyHasAbstractModifer: "'abstract' modifier can only appear on a class, method, or property declaration.",
    OptionalTypeBeforeRequired: "A required element cannot follow an optional element.",
    OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.",
    PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.",
    PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.",
    PrivateElementHasAccessibility: /* @__PURE__ */ n(({
      modifier: t
    }) => `Private elements cannot have an accessibility modifier ('${t}').`, "PrivateElementHasAccessibility"),
    ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.",
    ReservedArrowTypeParam: "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",
    ReservedTypeAssertion: "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",
    SetAccessorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.",
    SetAccessorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.",
    SetAccessorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.",
    SingleTypeParameterWithoutTrailingComma: /* @__PURE__ */ n(({
      typeParameterName: t
    }) => `Single type parameter ${t} should have a trailing comma. Example usage: <${t},>.`, "SingleTypeParameterWithoutTrailingComma"),
    StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.",
    TupleOptionalAfterType: "A labeled tuple optional element must be declared using a question mark after the name and before the colon (`n\
ame?: type`), rather than after the type (`name: type?`).",
    TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number =\
 25`.",
    TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.",
    TypeModifierIsUsedInTypeExports: "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statemen\
t.",
    TypeModifierIsUsedInTypeImports: "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statemen\
t.",
    UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.",
    UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.",
    UnexpectedTypeAnnotation: "Did not expect a type annotation here.",
    UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.",
    UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.",
    UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.",
    UnsupportedSignatureParameterKind: /* @__PURE__ */ n(({
      type: t
    }) => `Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${t}.`, "UnsupportedSignatureParameterKind")
  });
  function nds(t) {
    switch (t) {
      case "any":
        return "TSAnyKeyword";
      case "boolean":
        return "TSBooleanKeyword";
      case "bigint":
        return "TSBigIntKeyword";
      case "never":
        return "TSNeverKeyword";
      case "number":
        return "TSNumberKeyword";
      case "object":
        return "TSObjectKeyword";
      case "string":
        return "TSStringKeyword";
      case "symbol":
        return "TSSymbolKeyword";
      case "undefined":
        return "TSUndefinedKeyword";
      case "unknown":
        return "TSUnknownKeyword";
      default:
        return;
    }
  }
  n(nds, "keywordTypeFromName");
  function Ofe(t) {
    return t === "private" || t === "public" || t === "protected";
  }
  n(Ofe, "tsIsAccessModifier");
  function ads(t) {
    return t === "in" || t === "out";
  }
  n(ads, "tsIsVarianceAnnotations");
  var ods = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "TypeScriptParserMixin");
    }
    constructor(...s) {
      super(...s), this.tsParseInOutModifiers = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["in", "out"],
        disallowedModifiers: ["const", "public", "private", "protected", "readonly", "declare", "abstract", "override"],
        errorTemplate: mt.InvalidModifierOnTypeParameter
      }), this.tsParseConstModifier = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["const"],
        disallowedModifiers: ["in", "out"],
        errorTemplate: mt.InvalidModifierOnTypeParameterPositions
      }), this.tsParseInOutConstModifiers = this.tsParseModifiers.bind(this, {
        allowedModifiers: ["in", "out", "const"],
        disallowedModifiers: ["public", "private", "protected", "readonly", "declare", "abstract", "override"],
        errorTemplate: mt.InvalidModifierOnTypeParameter
      });
    }
    getScopeHandler() {
      return oR;
    }
    tsIsIdentifier() {
      return ar(this.state.type);
    }
    tsTokenCanFollowModifier() {
      return this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(139) || this.isLiteralPropertyName();
    }
    tsNextTokenOnSameLineAndCanFollowModifier() {
      return this.next(), this.hasPrecedingLineBreak() ? !1 : this.tsTokenCanFollowModifier();
    }
    tsNextTokenCanFollowModifier() {
      return this.match(106) ? (this.next(), this.tsTokenCanFollowModifier()) : this.tsNextTokenOnSameLineAndCanFollowModifier();
    }
    tsParseModifier(s, r) {
      if (!ar(this.state.type) && this.state.type !== 58 && this.state.type !== 75)
        return;
      let i = this.state.value;
      if (s.includes(i)) {
        if (r && this.tsIsStartOfStaticBlocks())
          return;
        if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))
          return i;
      }
    }
    tsParseModifiers({
      allowedModifiers: s,
      disallowedModifiers: r,
      stopOnStartOfClassStaticBlock: i,
      errorTemplate: a = mt.InvalidModifierOnTypeMember
    }, o) {
      let l = /* @__PURE__ */ n((c, p, h, f) => {
        p === h && o[f] && this.raise(mt.InvalidModifiersOrder, c, {
          orderedModifiers: [h, f]
        });
      }, "enforceOrder"), u = /* @__PURE__ */ n((c, p, h, f) => {
        (o[h] && p === f || o[f] && p === h) && this.raise(mt.IncompatibleModifiers, c, {
          modifiers: [h, f]
        });
      }, "incompatible");
      for (; ; ) {
        let {
          startLoc: c
        } = this.state, p = this.tsParseModifier(s.concat(r ?? []), i);
        if (!p) break;
        Ofe(p) ? o.accessibility ? this.raise(mt.DuplicateAccessibilityModifier, c, {
          modifier: p
        }) : (l(c, p, p, "override"), l(c, p, p, "static"), l(c, p, p, "readonly"), o.accessibility = p) : ads(p) ? (o[p] && this.raise(mt.DuplicateModifier,
        c, {
          modifier: p
        }), o[p] = !0, l(c, p, "in", "out")) : (hasOwnProperty.call(o, p) ? this.raise(mt.DuplicateModifier, c, {
          modifier: p
        }) : (l(c, p, "static", "readonly"), l(c, p, "static", "override"), l(c, p, "override", "readonly"), l(c, p, "abstract", "override"),
        u(c, p, "declare", "override"), u(c, p, "static", "abstract")), o[p] = !0), r != null && r.includes(p) && this.raise(a, c, {
          modifier: p
        });
      }
    }
    tsIsListTerminator(s) {
      switch (s) {
        case "EnumMembers":
        case "TypeMembers":
          return this.match(8);
        case "HeritageClauseElement":
          return this.match(5);
        case "TupleElementTypes":
          return this.match(3);
        case "TypeParametersOrArguments":
          return this.match(48);
      }
    }
    tsParseList(s, r) {
      let i = [];
      for (; !this.tsIsListTerminator(s); )
        i.push(r());
      return i;
    }
    tsParseDelimitedList(s, r, i) {
      return ids(this.tsParseDelimitedListWorker(s, r, !0, i));
    }
    tsParseDelimitedListWorker(s, r, i, a) {
      let o = [], l = -1;
      for (; !this.tsIsListTerminator(s); ) {
        l = -1;
        let u = r();
        if (u == null)
          return;
        if (o.push(u), this.eat(12)) {
          l = this.state.lastTokStartLoc.index;
          continue;
        }
        if (this.tsIsListTerminator(s))
          break;
        i && this.expect(12);
        return;
      }
      return a && (a.value = l), o;
    }
    tsParseBracketedList(s, r, i, a, o) {
      a || (i ? this.expect(0) : this.expect(47));
      let l = this.tsParseDelimitedList(s, r, o);
      return i ? this.expect(3) : this.expect(48), l;
    }
    tsParseImportType() {
      let s = this.startNode();
      return this.expect(83), this.expect(10), this.match(134) ? s.argument = this.parseStringLiteral(this.state.value) : (this.raise(mt.UnsupportedImportTypeArgument,
      this.state.startLoc), s.argument = super.parseExprAtom()), this.eat(12) && !this.match(11) ? (s.options = super.parseMaybeAssignAllowIn(),
      this.eat(12)) : s.options = null, this.expect(11), this.eat(16) && (s.qualifier = this.tsParseEntityName()), this.match(47) && (s.typeParameters =
      this.tsParseTypeArguments()), this.finishNode(s, "TSImportType");
    }
    tsParseEntityName(s = !0) {
      let r = this.parseIdentifier(s);
      for (; this.eat(16); ) {
        let i = this.startNodeAtNode(r);
        i.left = r, i.right = this.parseIdentifier(s), r = this.finishNode(i, "TSQualifiedName");
      }
      return r;
    }
    tsParseTypeReference() {
      let s = this.startNode();
      return s.typeName = this.tsParseEntityName(), !this.hasPrecedingLineBreak() && this.match(47) && (s.typeParameters = this.tsParseTypeArguments()),
      this.finishNode(s, "TSTypeReference");
    }
    tsParseThisTypePredicate(s) {
      this.next();
      let r = this.startNodeAtNode(s);
      return r.parameterName = s, r.typeAnnotation = this.tsParseTypeAnnotation(!1), r.asserts = !1, this.finishNode(r, "TSTypePredicate");
    }
    tsParseThisTypeNode() {
      let s = this.startNode();
      return this.next(), this.finishNode(s, "TSThisType");
    }
    tsParseTypeQuery() {
      let s = this.startNode();
      return this.expect(87), this.match(83) ? s.exprName = this.tsParseImportType() : s.exprName = this.tsParseEntityName(), !this.hasPrecedingLineBreak() &&
      this.match(47) && (s.typeParameters = this.tsParseTypeArguments()), this.finishNode(s, "TSTypeQuery");
    }
    tsParseTypeParameter(s) {
      let r = this.startNode();
      return s(r), r.name = this.tsParseTypeParameterName(), r.constraint = this.tsEatThenParseType(81), r.default = this.tsEatThenParseType(
      29), this.finishNode(r, "TSTypeParameter");
    }
    tsTryParseTypeParameters(s) {
      if (this.match(47))
        return this.tsParseTypeParameters(s);
    }
    tsParseTypeParameters(s) {
      let r = this.startNode();
      this.match(47) || this.match(143) ? this.next() : this.unexpected();
      let i = {
        value: -1
      };
      return r.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this, s), !1, !0, i), r.params.
      length === 0 && this.raise(mt.EmptyTypeParameters, r), i.value !== -1 && this.addExtra(r, "trailingComma", i.value), this.finishNode(r,
      "TSTypeParameterDeclaration");
    }
    tsFillSignature(s, r) {
      let i = s === 19, a = "parameters", o = "typeAnnotation";
      r.typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier), this.expect(10), r[a] = this.tsParseBindingListForSignature(),
      i ? r[o] = this.tsParseTypeOrTypePredicateAnnotation(s) : this.match(s) && (r[o] = this.tsParseTypeOrTypePredicateAnnotation(s));
    }
    tsParseBindingListForSignature() {
      let s = super.parseBindingList(11, 41, 2);
      for (let r of s) {
        let {
          type: i
        } = r;
        (i === "AssignmentPattern" || i === "TSParameterProperty") && this.raise(mt.UnsupportedSignatureParameterKind, r, {
          type: i
        });
      }
      return s;
    }
    tsParseTypeMemberSemicolon() {
      !this.eat(12) && !this.isLineTerminator() && this.expect(13);
    }
    tsParseSignatureMember(s, r) {
      return this.tsFillSignature(14, r), this.tsParseTypeMemberSemicolon(), this.finishNode(r, s);
    }
    tsIsUnambiguouslyIndexSignature() {
      return this.next(), ar(this.state.type) ? (this.next(), this.match(14)) : !1;
    }
    tsTryParseIndexSignature(s) {
      if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))))
        return;
      this.expect(0);
      let r = this.parseIdentifier();
      r.typeAnnotation = this.tsParseTypeAnnotation(), this.resetEndLocation(r), this.expect(3), s.parameters = [r];
      let i = this.tsTryParseTypeAnnotation();
      return i && (s.typeAnnotation = i), this.tsParseTypeMemberSemicolon(), this.finishNode(s, "TSIndexSignature");
    }
    tsParsePropertyOrMethodSignature(s, r) {
      this.eat(17) && (s.optional = !0);
      let i = s;
      if (this.match(10) || this.match(47)) {
        r && this.raise(mt.ReadonlyForMethodSignature, s);
        let a = i;
        a.kind && this.match(47) && this.raise(mt.AccessorCannotHaveTypeParameters, this.state.curPosition()), this.tsFillSignature(14, a), this.
        tsParseTypeMemberSemicolon();
        let o = "parameters", l = "typeAnnotation";
        if (a.kind === "get")
          a[o].length > 0 && (this.raise(se.BadGetterArity, this.state.curPosition()), this.isThisParam(a[o][0]) && this.raise(mt.AccessorCannotDeclareThisParameter,
          this.state.curPosition()));
        else if (a.kind === "set") {
          if (a[o].length !== 1)
            this.raise(se.BadSetterArity, this.state.curPosition());
          else {
            let u = a[o][0];
            this.isThisParam(u) && this.raise(mt.AccessorCannotDeclareThisParameter, this.state.curPosition()), u.type === "Identifier" && u.
            optional && this.raise(mt.SetAccessorCannotHaveOptionalParameter, this.state.curPosition()), u.type === "RestElement" && this.raise(
            mt.SetAccessorCannotHaveRestParameter, this.state.curPosition());
          }
          a[l] && this.raise(mt.SetAccessorCannotHaveReturnType, a[l]);
        } else
          a.kind = "method";
        return this.finishNode(a, "TSMethodSignature");
      } else {
        let a = i;
        r && (a.readonly = !0);
        let o = this.tsTryParseTypeAnnotation();
        return o && (a.typeAnnotation = o), this.tsParseTypeMemberSemicolon(), this.finishNode(a, "TSPropertySignature");
      }
    }
    tsParseTypeMember() {
      let s = this.startNode();
      if (this.match(10) || this.match(47))
        return this.tsParseSignatureMember("TSCallSignatureDeclaration", s);
      if (this.match(77)) {
        let i = this.startNode();
        return this.next(), this.match(10) || this.match(47) ? this.tsParseSignatureMember("TSConstructSignatureDeclaration", s) : (s.key = this.
        createIdentifier(i, "new"), this.tsParsePropertyOrMethodSignature(s, !1));
      }
      this.tsParseModifiers({
        allowedModifiers: ["readonly"],
        disallowedModifiers: ["declare", "abstract", "private", "protected", "public", "static", "override"]
      }, s);
      let r = this.tsTryParseIndexSignature(s);
      return r || (super.parsePropertyName(s), !s.computed && s.key.type === "Identifier" && (s.key.name === "get" || s.key.name === "set") &&
      this.tsTokenCanFollowModifier() && (s.kind = s.key.name, super.parsePropertyName(s)), this.tsParsePropertyOrMethodSignature(s, !!s.readonly));
    }
    tsParseTypeLiteral() {
      let s = this.startNode();
      return s.members = this.tsParseObjectTypeMembers(), this.finishNode(s, "TSTypeLiteral");
    }
    tsParseObjectTypeMembers() {
      this.expect(5);
      let s = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this));
      return this.expect(8), s;
    }
    tsIsStartOfMappedType() {
      return this.next(), this.eat(53) ? this.isContextual(122) : (this.isContextual(122) && this.next(), !this.match(0) || (this.next(), !this.
      tsIsIdentifier()) ? !1 : (this.next(), this.match(58)));
    }
    tsParseMappedType() {
      let s = this.startNode();
      this.expect(5), this.match(53) ? (s.readonly = this.state.value, this.next(), this.expectContextual(122)) : this.eatContextual(122) &&
      (s.readonly = !0), this.expect(0);
      {
        let r = this.startNode();
        r.name = this.tsParseTypeParameterName(), r.constraint = this.tsExpectThenParseType(58), s.typeParameter = this.finishNode(r, "TSTyp\
eParameter");
      }
      return s.nameType = this.eatContextual(93) ? this.tsParseType() : null, this.expect(3), this.match(53) ? (s.optional = this.state.value,
      this.next(), this.expect(17)) : this.eat(17) && (s.optional = !0), s.typeAnnotation = this.tsTryParseType(), this.semicolon(), this.expect(
      8), this.finishNode(s, "TSMappedType");
    }
    tsParseTupleType() {
      let s = this.startNode();
      s.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), !0, !1);
      let r = !1;
      return s.elementTypes.forEach((i) => {
        let {
          type: a
        } = i;
        r && a !== "TSRestType" && a !== "TSOptionalType" && !(a === "TSNamedTupleMember" && i.optional) && this.raise(mt.OptionalTypeBeforeRequired,
        i), r || (r = a === "TSNamedTupleMember" && i.optional || a === "TSOptionalType");
      }), this.finishNode(s, "TSTupleType");
    }
    tsParseTupleElementType() {
      let {
        startLoc: s
      } = this.state, r = this.eat(21), i, a, o, l, c = qo(this.state.type) ? this.lookaheadCharCode() : null;
      if (c === 58)
        i = !0, o = !1, a = this.parseIdentifier(!0), this.expect(14), l = this.tsParseType();
      else if (c === 63) {
        o = !0;
        let p = this.state.startLoc, h = this.state.value, f = this.tsParseNonArrayType();
        this.lookaheadCharCode() === 58 ? (i = !0, a = this.createIdentifier(this.startNodeAt(p), h), this.expect(17), this.expect(14), l = this.
        tsParseType()) : (i = !1, l = f, this.expect(17));
      } else
        l = this.tsParseType(), o = this.eat(17), i = this.eat(14);
      if (i) {
        let p;
        a ? (p = this.startNodeAtNode(a), p.optional = o, p.label = a, p.elementType = l, this.eat(17) && (p.optional = !0, this.raise(mt.TupleOptionalAfterType,
        this.state.lastTokStartLoc))) : (p = this.startNodeAtNode(l), p.optional = o, this.raise(mt.InvalidTupleMemberLabel, l), p.label = l,
        p.elementType = this.tsParseType()), l = this.finishNode(p, "TSNamedTupleMember");
      } else if (o) {
        let p = this.startNodeAtNode(l);
        p.typeAnnotation = l, l = this.finishNode(p, "TSOptionalType");
      }
      if (r) {
        let p = this.startNodeAt(s);
        p.typeAnnotation = l, l = this.finishNode(p, "TSRestType");
      }
      return l;
    }
    tsParseParenthesizedType() {
      let s = this.startNode();
      return this.expect(10), s.typeAnnotation = this.tsParseType(), this.expect(11), this.finishNode(s, "TSParenthesizedType");
    }
    tsParseFunctionOrConstructorType(s, r) {
      let i = this.startNode();
      return s === "TSConstructorType" && (i.abstract = !!r, r && this.next(), this.next()), this.tsInAllowConditionalTypesContext(() => this.
      tsFillSignature(19, i)), this.finishNode(i, s);
    }
    tsParseLiteralTypeNode() {
      let s = this.startNode();
      switch (this.state.type) {
        case 135:
        case 136:
        case 134:
        case 85:
        case 86:
          s.literal = super.parseExprAtom();
          break;
        default:
          this.unexpected();
      }
      return this.finishNode(s, "TSLiteralType");
    }
    tsParseTemplateLiteralType() {
      let s = this.startNode();
      return s.literal = super.parseTemplate(!1), this.finishNode(s, "TSLiteralType");
    }
    parseTemplateSubstitution() {
      return this.state.inType ? this.tsParseType() : super.parseTemplateSubstitution();
    }
    tsParseThisTypeOrThisTypePredicate() {
      let s = this.tsParseThisTypeNode();
      return this.isContextual(116) && !this.hasPrecedingLineBreak() ? this.tsParseThisTypePredicate(s) : s;
    }
    tsParseNonArrayType() {
      switch (this.state.type) {
        case 134:
        case 135:
        case 136:
        case 85:
        case 86:
          return this.tsParseLiteralTypeNode();
        case 53:
          if (this.state.value === "-") {
            let s = this.startNode(), r = this.lookahead();
            return r.type !== 135 && r.type !== 136 && this.unexpected(), s.literal = this.parseMaybeUnary(), this.finishNode(s, "TSLiteralT\
ype");
          }
          break;
        case 78:
          return this.tsParseThisTypeOrThisTypePredicate();
        case 87:
          return this.tsParseTypeQuery();
        case 83:
          return this.tsParseImportType();
        case 5:
          return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral();
        case 0:
          return this.tsParseTupleType();
        case 10:
          return this.tsParseParenthesizedType();
        case 25:
        case 24:
          return this.tsParseTemplateLiteralType();
        default: {
          let {
            type: s
          } = this.state;
          if (ar(s) || s === 88 || s === 84) {
            let r = s === 88 ? "TSVoidKeyword" : s === 84 ? "TSNullKeyword" : nds(this.state.value);
            if (r !== void 0 && this.lookaheadCharCode() !== 46) {
              let i = this.startNode();
              return this.next(), this.finishNode(i, r);
            }
            return this.tsParseTypeReference();
          }
        }
      }
      this.unexpected();
    }
    tsParseArrayTypeOrHigher() {
      let s = this.tsParseNonArrayType();
      for (; !this.hasPrecedingLineBreak() && this.eat(0); )
        if (this.match(3)) {
          let r = this.startNodeAtNode(s);
          r.elementType = s, this.expect(3), s = this.finishNode(r, "TSArrayType");
        } else {
          let r = this.startNodeAtNode(s);
          r.objectType = s, r.indexType = this.tsParseType(), this.expect(3), s = this.finishNode(r, "TSIndexedAccessType");
        }
      return s;
    }
    tsParseTypeOperator() {
      let s = this.startNode(), r = this.state.value;
      return this.next(), s.operator = r, s.typeAnnotation = this.tsParseTypeOperatorOrHigher(), r === "readonly" && this.tsCheckTypeAnnotationForReadOnly(
      s), this.finishNode(s, "TSTypeOperator");
    }
    tsCheckTypeAnnotationForReadOnly(s) {
      switch (s.typeAnnotation.type) {
        case "TSTupleType":
        case "TSArrayType":
          return;
        default:
          this.raise(mt.UnexpectedReadonly, s);
      }
    }
    tsParseInferType() {
      let s = this.startNode();
      this.expectContextual(115);
      let r = this.startNode();
      return r.name = this.tsParseTypeParameterName(), r.constraint = this.tsTryParse(() => this.tsParseConstraintForInferType()), s.typeParameter =
      this.finishNode(r, "TSTypeParameter"), this.finishNode(s, "TSInferType");
    }
    tsParseConstraintForInferType() {
      if (this.eat(81)) {
        let s = this.tsInDisallowConditionalTypesContext(() => this.tsParseType());
        if (this.state.inDisallowConditionalTypesContext || !this.match(17))
          return s;
      }
    }
    tsParseTypeOperatorOrHigher() {
      return vfs(this.state.type) && !this.state.containsEsc ? this.tsParseTypeOperator() : this.isContextual(115) ? this.tsParseInferType() :
      this.tsInAllowConditionalTypesContext(() => this.tsParseArrayTypeOrHigher());
    }
    tsParseUnionOrIntersectionType(s, r, i) {
      let a = this.startNode(), o = this.eat(i), l = [];
      do
        l.push(r());
      while (this.eat(i));
      return l.length === 1 && !o ? l[0] : (a.types = l, this.finishNode(a, s));
    }
    tsParseIntersectionTypeOrHigher() {
      return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), 45);
    }
    tsParseUnionTypeOrHigher() {
      return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), 43);
    }
    tsIsStartOfFunctionType() {
      return this.match(47) ? !0 : this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this));
    }
    tsSkipParameterStart() {
      if (ar(this.state.type) || this.match(78))
        return this.next(), !0;
      if (this.match(5)) {
        let {
          errors: s
        } = this.state, r = s.length;
        try {
          return this.parseObjectLike(8, !0), s.length === r;
        } catch {
          return !1;
        }
      }
      if (this.match(0)) {
        this.next();
        let {
          errors: s
        } = this.state, r = s.length;
        try {
          return super.parseBindingList(3, 93, 1), s.length === r;
        } catch {
          return !1;
        }
      }
      return !1;
    }
    tsIsUnambiguouslyStartOfFunctionType() {
      return this.next(), !!(this.match(11) || this.match(21) || this.tsSkipParameterStart() && (this.match(14) || this.match(12) || this.match(
      17) || this.match(29) || this.match(11) && (this.next(), this.match(19))));
    }
    tsParseTypeOrTypePredicateAnnotation(s) {
      return this.tsInType(() => {
        let r = this.startNode();
        this.expect(s);
        let i = this.startNode(), a = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));
        if (a && this.match(78)) {
          let u = this.tsParseThisTypeOrThisTypePredicate();
          return u.type === "TSThisType" ? (i.parameterName = u, i.asserts = !0, i.typeAnnotation = null, u = this.finishNode(i, "TSTypePred\
icate")) : (this.resetStartLocationFromNode(u, i), u.asserts = !0), r.typeAnnotation = u, this.finishNode(r, "TSTypeAnnotation");
        }
        let o = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));
        if (!o)
          return a ? (i.parameterName = this.parseIdentifier(), i.asserts = a, i.typeAnnotation = null, r.typeAnnotation = this.finishNode(i,
          "TSTypePredicate"), this.finishNode(r, "TSTypeAnnotation")) : this.tsParseTypeAnnotation(!1, r);
        let l = this.tsParseTypeAnnotation(!1);
        return i.parameterName = o, i.typeAnnotation = l, i.asserts = a, r.typeAnnotation = this.finishNode(i, "TSTypePredicate"), this.finishNode(
        r, "TSTypeAnnotation");
      });
    }
    tsTryParseTypeOrTypePredicateAnnotation() {
      if (this.match(14))
        return this.tsParseTypeOrTypePredicateAnnotation(14);
    }
    tsTryParseTypeAnnotation() {
      if (this.match(14))
        return this.tsParseTypeAnnotation();
    }
    tsTryParseType() {
      return this.tsEatThenParseType(14);
    }
    tsParseTypePredicatePrefix() {
      let s = this.parseIdentifier();
      if (this.isContextual(116) && !this.hasPrecedingLineBreak())
        return this.next(), s;
    }
    tsParseTypePredicateAsserts() {
      if (this.state.type !== 109)
        return !1;
      let s = this.state.containsEsc;
      return this.next(), !ar(this.state.type) && !this.match(78) ? !1 : (s && this.raise(se.InvalidEscapedReservedWord, this.state.lastTokStartLoc,
      {
        reservedWord: "asserts"
      }), !0);
    }
    tsParseTypeAnnotation(s = !0, r = this.startNode()) {
      return this.tsInType(() => {
        s && this.expect(14), r.typeAnnotation = this.tsParseType();
      }), this.finishNode(r, "TSTypeAnnotation");
    }
    tsParseType() {
      Dfe(this.state.inType);
      let s = this.tsParseNonConditionalType();
      if (this.state.inDisallowConditionalTypesContext || this.hasPrecedingLineBreak() || !this.eat(81))
        return s;
      let r = this.startNodeAtNode(s);
      return r.checkType = s, r.extendsType = this.tsInDisallowConditionalTypesContext(() => this.tsParseNonConditionalType()), this.expect(
      17), r.trueType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()), this.expect(14), r.falseType = this.tsInAllowConditionalTypesContext(
      () => this.tsParseType()), this.finishNode(r, "TSConditionalType");
    }
    isAbstractConstructorSignature() {
      return this.isContextual(124) && this.lookahead().type === 77;
    }
    tsParseNonConditionalType() {
      return this.tsIsStartOfFunctionType() ? this.tsParseFunctionOrConstructorType("TSFunctionType") : this.match(77) ? this.tsParseFunctionOrConstructorType(
      "TSConstructorType") : this.isAbstractConstructorSignature() ? this.tsParseFunctionOrConstructorType("TSConstructorType", !0) : this.tsParseUnionTypeOrHigher();
    }
    tsParseTypeAssertion() {
      this.getPluginOption("typescript", "disallowAmbiguousJSXLike") && this.raise(mt.ReservedTypeAssertion, this.state.startLoc);
      let s = this.startNode();
      return s.typeAnnotation = this.tsInType(() => (this.next(), this.match(75) ? this.tsParseTypeReference() : this.tsParseType())), this.
      expect(48), s.expression = this.parseMaybeUnary(), this.finishNode(s, "TSTypeAssertion");
    }
    tsParseHeritageClause(s) {
      let r = this.state.startLoc, i = this.tsParseDelimitedList("HeritageClauseElement", () => {
        let a = this.startNode();
        return a.expression = this.tsParseEntityName(), this.match(47) && (a.typeParameters = this.tsParseTypeArguments()), this.finishNode(
        a, "TSExpressionWithTypeArguments");
      });
      return i.length || this.raise(mt.EmptyHeritageClauseType, r, {
        token: s
      }), i;
    }
    tsParseInterfaceDeclaration(s, r = {}) {
      if (this.hasFollowingLineBreak()) return null;
      this.expectContextual(129), r.declare && (s.declare = !0), ar(this.state.type) ? (s.id = this.parseIdentifier(), this.checkIdentifier(
      s.id, 130)) : (s.id = null, this.raise(mt.MissingInterfaceName, this.state.startLoc)), s.typeParameters = this.tsTryParseTypeParameters(
      this.tsParseInOutConstModifiers), this.eat(81) && (s.extends = this.tsParseHeritageClause("extends"));
      let i = this.startNode();
      return i.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this)), s.body = this.finishNode(i, "TSInterfaceBody"), this.finishNode(
      s, "TSInterfaceDeclaration");
    }
    tsParseTypeAliasDeclaration(s) {
      return s.id = this.parseIdentifier(), this.checkIdentifier(s.id, 2), s.typeAnnotation = this.tsInType(() => {
        if (s.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers), this.expect(29), this.isContextual(114) && this.lookahead().
        type !== 16) {
          let r = this.startNode();
          return this.next(), this.finishNode(r, "TSIntrinsicKeyword");
        }
        return this.tsParseType();
      }), this.semicolon(), this.finishNode(s, "TSTypeAliasDeclaration");
    }
    tsInTopLevelContext(s) {
      if (this.curContext() !== nr.brace) {
        let r = this.state.context;
        this.state.context = [r[0]];
        try {
          return s();
        } finally {
          this.state.context = r;
        }
      } else
        return s();
    }
    tsInType(s) {
      let r = this.state.inType;
      this.state.inType = !0;
      try {
        return s();
      } finally {
        this.state.inType = r;
      }
    }
    tsInDisallowConditionalTypesContext(s) {
      let r = this.state.inDisallowConditionalTypesContext;
      this.state.inDisallowConditionalTypesContext = !0;
      try {
        return s();
      } finally {
        this.state.inDisallowConditionalTypesContext = r;
      }
    }
    tsInAllowConditionalTypesContext(s) {
      let r = this.state.inDisallowConditionalTypesContext;
      this.state.inDisallowConditionalTypesContext = !1;
      try {
        return s();
      } finally {
        this.state.inDisallowConditionalTypesContext = r;
      }
    }
    tsEatThenParseType(s) {
      if (this.match(s))
        return this.tsNextThenParseType();
    }
    tsExpectThenParseType(s) {
      return this.tsInType(() => (this.expect(s), this.tsParseType()));
    }
    tsNextThenParseType() {
      return this.tsInType(() => (this.next(), this.tsParseType()));
    }
    tsParseEnumMember() {
      let s = this.startNode();
      return s.id = this.match(134) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(!0), this.eat(29) && (s.initializer =
      super.parseMaybeAssignAllowIn()), this.finishNode(s, "TSEnumMember");
    }
    tsParseEnumDeclaration(s, r = {}) {
      return r.const && (s.const = !0), r.declare && (s.declare = !0), this.expectContextual(126), s.id = this.parseIdentifier(), this.checkIdentifier(
      s.id, s.const ? 8971 : 8459), this.expect(5), s.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)),
      this.expect(8), this.finishNode(s, "TSEnumDeclaration");
    }
    tsParseEnumBody() {
      let s = this.startNode();
      return this.expect(5), s.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)), this.expect(8), this.finishNode(
      s, "TSEnumBody");
    }
    tsParseModuleBlock() {
      let s = this.startNode();
      return this.scope.enter(0), this.expect(5), super.parseBlockOrModuleBlockBody(s.body = [], void 0, !0, 8), this.scope.exit(), this.finishNode(
      s, "TSModuleBlock");
    }
    tsParseModuleOrNamespaceDeclaration(s, r = !1) {
      if (s.id = this.parseIdentifier(), r || this.checkIdentifier(s.id, 1024), this.eat(16)) {
        let i = this.startNode();
        this.tsParseModuleOrNamespaceDeclaration(i, !0), s.body = i;
      } else
        this.scope.enter(256), this.prodParam.enter(0), s.body = this.tsParseModuleBlock(), this.prodParam.exit(), this.scope.exit();
      return this.finishNode(s, "TSModuleDeclaration");
    }
    tsParseAmbientExternalModuleDeclaration(s) {
      return this.isContextual(112) ? (s.kind = "global", s.global = !0, s.id = this.parseIdentifier()) : this.match(134) ? (s.kind = "modul\
e", s.id = super.parseStringLiteral(this.state.value)) : this.unexpected(), this.match(5) ? (this.scope.enter(256), this.prodParam.enter(0),
      s.body = this.tsParseModuleBlock(), this.prodParam.exit(), this.scope.exit()) : this.semicolon(), this.finishNode(s, "TSModuleDeclarat\
ion");
    }
    tsParseImportEqualsDeclaration(s, r, i) {
      s.isExport = i || !1, s.id = r || this.parseIdentifier(), this.checkIdentifier(s.id, 4096), this.expect(29);
      let a = this.tsParseModuleReference();
      return s.importKind === "type" && a.type !== "TSExternalModuleReference" && this.raise(mt.ImportAliasHasImportType, a), s.moduleReference =
      a, this.semicolon(), this.finishNode(s, "TSImportEqualsDeclaration");
    }
    tsIsExternalModuleReference() {
      return this.isContextual(119) && this.lookaheadCharCode() === 40;
    }
    tsParseModuleReference() {
      return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(!1);
    }
    tsParseExternalModuleReference() {
      let s = this.startNode();
      return this.expectContextual(119), this.expect(10), this.match(134) || this.unexpected(), s.expression = super.parseExprAtom(), this.expect(
      11), this.sawUnambiguousESM = !0, this.finishNode(s, "TSExternalModuleReference");
    }
    tsLookAhead(s) {
      let r = this.state.clone(), i = s();
      return this.state = r, i;
    }
    tsTryParseAndCatch(s) {
      let r = this.tryParse((i) => s() || i());
      if (!(r.aborted || !r.node))
        return r.error && (this.state = r.failState), r.node;
    }
    tsTryParse(s) {
      let r = this.state.clone(), i = s();
      if (i !== void 0 && i !== !1)
        return i;
      this.state = r;
    }
    tsTryParseDeclare(s) {
      if (this.isLineTerminator())
        return;
      let r = this.state.type, i;
      return this.isContextual(100) && (r = 74, i = "let"), this.tsInAmbientContext(() => {
        switch (r) {
          case 68:
            return s.declare = !0, super.parseFunctionStatement(s, !1, !1);
          case 80:
            return s.declare = !0, this.parseClass(s, !0, !1);
          case 126:
            return this.tsParseEnumDeclaration(s, {
              declare: !0
            });
          case 112:
            return this.tsParseAmbientExternalModuleDeclaration(s);
          case 75:
          case 74:
            return !this.match(75) || !this.isLookaheadContextual("enum") ? (s.declare = !0, this.parseVarStatement(s, i || this.state.value,
            !0)) : (this.expect(75), this.tsParseEnumDeclaration(s, {
              const: !0,
              declare: !0
            }));
          case 129: {
            let a = this.tsParseInterfaceDeclaration(s, {
              declare: !0
            });
            if (a) return a;
          }
          default:
            if (ar(r))
              return this.tsParseDeclaration(s, this.state.value, !0, null);
        }
      });
    }
    tsTryParseExportDeclaration() {
      return this.tsParseDeclaration(this.startNode(), this.state.value, !0, null);
    }
    tsParseExpressionStatement(s, r, i) {
      switch (r.name) {
        case "declare": {
          let a = this.tsTryParseDeclare(s);
          return a && (a.declare = !0), a;
        }
        case "global":
          if (this.match(5)) {
            this.scope.enter(256), this.prodParam.enter(0);
            let a = s;
            return a.kind = "global", s.global = !0, a.id = r, a.body = this.tsParseModuleBlock(), this.scope.exit(), this.prodParam.exit(),
            this.finishNode(a, "TSModuleDeclaration");
          }
          break;
        default:
          return this.tsParseDeclaration(s, r.name, !1, i);
      }
    }
    tsParseDeclaration(s, r, i, a) {
      switch (r) {
        case "abstract":
          if (this.tsCheckLineTerminator(i) && (this.match(80) || ar(this.state.type)))
            return this.tsParseAbstractDeclaration(s, a);
          break;
        case "module":
          if (this.tsCheckLineTerminator(i)) {
            if (this.match(134))
              return this.tsParseAmbientExternalModuleDeclaration(s);
            if (ar(this.state.type))
              return s.kind = "module", this.tsParseModuleOrNamespaceDeclaration(s);
          }
          break;
        case "namespace":
          if (this.tsCheckLineTerminator(i) && ar(this.state.type))
            return s.kind = "namespace", this.tsParseModuleOrNamespaceDeclaration(s);
          break;
        case "type":
          if (this.tsCheckLineTerminator(i) && ar(this.state.type))
            return this.tsParseTypeAliasDeclaration(s);
          break;
      }
    }
    tsCheckLineTerminator(s) {
      return s ? this.hasFollowingLineBreak() ? !1 : (this.next(), !0) : !this.isLineTerminator();
    }
    tsTryParseGenericAsyncArrowFunction(s) {
      if (!this.match(47)) return;
      let r = this.state.maybeInArrowParameters;
      this.state.maybeInArrowParameters = !0;
      let i = this.tsTryParseAndCatch(() => {
        let a = this.startNodeAt(s);
        return a.typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier), super.parseFunctionParams(a), a.returnType = this.tsTryParseTypeOrTypePredicateAnnotation(),
        this.expect(19), a;
      });
      if (this.state.maybeInArrowParameters = r, !!i)
        return super.parseArrowExpression(i, null, !0);
    }
    tsParseTypeArgumentsInExpression() {
      if (this.reScan_lt() === 47)
        return this.tsParseTypeArguments();
    }
    tsParseTypeArguments() {
      let s = this.startNode();
      return s.params = this.tsInType(() => this.tsInTopLevelContext(() => (this.expect(47), this.tsParseDelimitedList("TypeParametersOrArgu\
ments", this.tsParseType.bind(this))))), s.params.length === 0 ? this.raise(mt.EmptyTypeArguments, s) : !this.state.inType && this.curContext() ===
      nr.brace && this.reScan_lt_gt(), this.expect(48), this.finishNode(s, "TSTypeParameterInstantiation");
    }
    tsIsDeclarationStart() {
      return Cfs(this.state.type);
    }
    isExportDefaultSpecifier() {
      return this.tsIsDeclarationStart() ? !1 : super.isExportDefaultSpecifier();
    }
    parseAssignableListItem(s, r) {
      let i = this.state.startLoc, a = {};
      this.tsParseModifiers({
        allowedModifiers: ["public", "private", "protected", "override", "readonly"]
      }, a);
      let o = a.accessibility, l = a.override, u = a.readonly;
      !(s & 4) && (o || u || l) && this.raise(mt.UnexpectedParameterModifier, i);
      let c = this.parseMaybeDefault();
      s & 2 && this.parseFunctionParamType(c);
      let p = this.parseMaybeDefault(c.loc.start, c);
      if (o || u || l) {
        let h = this.startNodeAt(i);
        return r.length && (h.decorators = r), o && (h.accessibility = o), u && (h.readonly = u), l && (h.override = l), p.type !== "Identif\
ier" && p.type !== "AssignmentPattern" && this.raise(mt.UnsupportedParameterPropertyKind, h), h.parameter = p, this.finishNode(h, "TSParamet\
erProperty");
      }
      return r.length && (c.decorators = r), p;
    }
    isSimpleParameter(s) {
      return s.type === "TSParameterProperty" && super.isSimpleParameter(s.parameter) || super.isSimpleParameter(s);
    }
    tsDisallowOptionalPattern(s) {
      for (let r of s.params)
        r.type !== "Identifier" && r.optional && !this.state.isAmbientContext && this.raise(mt.PatternIsOptional, r);
    }
    setArrowFunctionParameters(s, r, i) {
      super.setArrowFunctionParameters(s, r, i), this.tsDisallowOptionalPattern(s);
    }
    parseFunctionBodyAndFinish(s, r, i = !1) {
      this.match(14) && (s.returnType = this.tsParseTypeOrTypePredicateAnnotation(14));
      let a = r === "FunctionDeclaration" ? "TSDeclareFunction" : r === "ClassMethod" || r === "ClassPrivateMethod" ? "TSDeclareMethod" : void 0;
      return a && !this.match(5) && this.isLineTerminator() ? this.finishNode(s, a) : a === "TSDeclareFunction" && this.state.isAmbientContext &&
      (this.raise(mt.DeclareFunctionHasImplementation, s), s.declare) ? super.parseFunctionBodyAndFinish(s, a, i) : (this.tsDisallowOptionalPattern(
      s), super.parseFunctionBodyAndFinish(s, r, i));
    }
    registerFunctionStatementId(s) {
      !s.body && s.id ? this.checkIdentifier(s.id, 1024) : super.registerFunctionStatementId(s);
    }
    tsCheckForInvalidTypeCasts(s) {
      s.forEach((r) => {
        r?.type === "TSTypeCastExpression" && this.raise(mt.UnexpectedTypeAnnotation, r.typeAnnotation);
      });
    }
    toReferencedList(s, r) {
      return this.tsCheckForInvalidTypeCasts(s), s;
    }
    parseArrayLike(s, r, i, a) {
      let o = super.parseArrayLike(s, r, i, a);
      return o.type === "ArrayExpression" && this.tsCheckForInvalidTypeCasts(o.elements), o;
    }
    parseSubscript(s, r, i, a) {
      if (!this.hasPrecedingLineBreak() && this.match(35)) {
        this.state.canStartJSXElement = !1, this.next();
        let l = this.startNodeAt(r);
        return l.expression = s, this.finishNode(l, "TSNonNullExpression");
      }
      let o = !1;
      if (this.match(18) && this.lookaheadCharCode() === 60) {
        if (i)
          return a.stop = !0, s;
        a.optionalChainMember = o = !0, this.next();
      }
      if (this.match(47) || this.match(51)) {
        let l, u = this.tsTryParseAndCatch(() => {
          if (!i && this.atPossibleAsyncArrow(s)) {
            let f = this.tsTryParseGenericAsyncArrowFunction(r);
            if (f)
              return f;
          }
          let c = this.tsParseTypeArgumentsInExpression();
          if (!c) return;
          if (o && !this.match(10)) {
            l = this.state.curPosition();
            return;
          }
          if (Tv(this.state.type)) {
            let f = super.parseTaggedTemplateExpression(s, r, a);
            return f.typeParameters = c, f;
          }
          if (!i && this.eat(10)) {
            let f = this.startNodeAt(r);
            return f.callee = s, f.arguments = this.parseCallExpressionArguments(11), this.tsCheckForInvalidTypeCasts(f.arguments), f.typeParameters =
            c, a.optionalChainMember && (f.optional = o), this.finishCallExpression(f, a.optionalChainMember);
          }
          let p = this.state.type;
          if (p === 48 || p === 52 || p !== 10 && $6(p) && !this.hasPrecedingLineBreak())
            return;
          let h = this.startNodeAt(r);
          return h.expression = s, h.typeParameters = c, this.finishNode(h, "TSInstantiationExpression");
        });
        if (l && this.unexpected(l, 10), u)
          return u.type === "TSInstantiationExpression" && (this.match(16) || this.match(18) && this.lookaheadCharCode() !== 40) && this.raise(
          mt.InvalidPropertyAccessAfterInstantiationExpression, this.state.startLoc), u;
      }
      return super.parseSubscript(s, r, i, a);
    }
    parseNewCallee(s) {
      var r;
      super.parseNewCallee(s);
      let {
        callee: i
      } = s;
      i.type === "TSInstantiationExpression" && !((r = i.extra) != null && r.parenthesized) && (s.typeParameters = i.typeParameters, s.callee =
      i.expression);
    }
    parseExprOp(s, r, i) {
      let a;
      if (mv(58) > i && !this.hasPrecedingLineBreak() && (this.isContextual(93) || (a = this.isContextual(120)))) {
        let o = this.startNodeAt(r);
        return o.expression = s, o.typeAnnotation = this.tsInType(() => (this.next(), this.match(75) ? (a && this.raise(se.UnexpectedKeyword,
        this.state.startLoc, {
          keyword: "const"
        }), this.tsParseTypeReference()) : this.tsParseType())), this.finishNode(o, a ? "TSSatisfiesExpression" : "TSAsExpression"), this.reScan_lt_gt(),
        this.parseExprOp(o, r, i);
      }
      return super.parseExprOp(s, r, i);
    }
    checkReservedWord(s, r, i, a) {
      this.state.isAmbientContext || super.checkReservedWord(s, r, i, a);
    }
    checkImportReflection(s) {
      super.checkImportReflection(s), s.module && s.importKind !== "value" && this.raise(mt.ImportReflectionHasImportType, s.specifiers[0].loc.
      start);
    }
    checkDuplicateExports() {
    }
    isPotentialImportPhase(s) {
      if (super.isPotentialImportPhase(s)) return !0;
      if (this.isContextual(130)) {
        let r = this.lookaheadCharCode();
        return s ? r === 123 || r === 42 : r !== 61;
      }
      return !s && this.isContextual(87);
    }
    applyImportPhase(s, r, i, a) {
      super.applyImportPhase(s, r, i, a), r ? s.exportKind = i === "type" ? "type" : "value" : s.importKind = i === "type" || i === "typeof" ?
      i : "value";
    }
    parseImport(s) {
      if (this.match(134))
        return s.importKind = "value", super.parseImport(s);
      let r;
      if (ar(this.state.type) && this.lookaheadCharCode() === 61)
        return s.importKind = "value", this.tsParseImportEqualsDeclaration(s);
      if (this.isContextual(130)) {
        let i = this.parseMaybeImportPhase(s, !1);
        if (this.lookaheadCharCode() === 61)
          return this.tsParseImportEqualsDeclaration(s, i);
        r = super.parseImportSpecifiersAndAfter(s, i);
      } else
        r = super.parseImport(s);
      return r.importKind === "type" && r.specifiers.length > 1 && r.specifiers[0].type === "ImportDefaultSpecifier" && this.raise(mt.TypeImportCannotSpecifyDefaultAndNamed,
      r), r;
    }
    parseExport(s, r) {
      if (this.match(83)) {
        this.next();
        let i = s, a = null;
        return this.isContextual(130) && this.isPotentialImportPhase(!1) ? a = this.parseMaybeImportPhase(i, !1) : i.importKind = "value", this.
        tsParseImportEqualsDeclaration(i, a, !0);
      } else if (this.eat(29)) {
        let i = s;
        return i.expression = super.parseExpression(), this.semicolon(), this.sawUnambiguousESM = !0, this.finishNode(i, "TSExportAssignment");
      } else if (this.eatContextual(93)) {
        let i = s;
        return this.expectContextual(128), i.id = this.parseIdentifier(), this.semicolon(), this.finishNode(i, "TSNamespaceExportDeclaration");
      } else
        return super.parseExport(s, r);
    }
    isAbstractClass() {
      return this.isContextual(124) && this.lookahead().type === 80;
    }
    parseExportDefaultExpression() {
      if (this.isAbstractClass()) {
        let s = this.startNode();
        return this.next(), s.abstract = !0, this.parseClass(s, !0, !0);
      }
      if (this.match(129)) {
        let s = this.tsParseInterfaceDeclaration(this.startNode());
        if (s) return s;
      }
      return super.parseExportDefaultExpression();
    }
    parseVarStatement(s, r, i = !1) {
      let {
        isAmbientContext: a
      } = this.state, o = super.parseVarStatement(s, r, i || a);
      if (!a) return o;
      for (let {
        id: l,
        init: u
      } of o.declarations)
        u && (r !== "const" || l.typeAnnotation ? this.raise(mt.InitializerNotAllowedInAmbientContext, u) : uds(u, this.hasPlugin("estree")) ||
        this.raise(mt.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference, u));
      return o;
    }
    parseStatementContent(s, r) {
      if (this.match(75) && this.isLookaheadContextual("enum")) {
        let i = this.startNode();
        return this.expect(75), this.tsParseEnumDeclaration(i, {
          const: !0
        });
      }
      if (this.isContextual(126))
        return this.tsParseEnumDeclaration(this.startNode());
      if (this.isContextual(129)) {
        let i = this.tsParseInterfaceDeclaration(this.startNode());
        if (i) return i;
      }
      return super.parseStatementContent(s, r);
    }
    parseAccessModifier() {
      return this.tsParseModifier(["public", "protected", "private"]);
    }
    tsHasSomeModifiers(s, r) {
      return r.some((i) => Ofe(i) ? s.accessibility === i : !!s[i]);
    }
    tsIsStartOfStaticBlocks() {
      return this.isContextual(106) && this.lookaheadCharCode() === 123;
    }
    parseClassMember(s, r, i) {
      let a = ["declare", "private", "public", "protected", "override", "abstract", "readonly", "static"];
      this.tsParseModifiers({
        allowedModifiers: a,
        disallowedModifiers: ["in", "out"],
        stopOnStartOfClassStaticBlock: !0,
        errorTemplate: mt.InvalidModifierOnTypeParameterPositions
      }, r);
      let o = /* @__PURE__ */ n(() => {
        this.tsIsStartOfStaticBlocks() ? (this.next(), this.next(), this.tsHasSomeModifiers(r, a) && this.raise(mt.StaticBlockCannotHaveModifier,
        this.state.curPosition()), super.parseClassStaticBlock(s, r)) : this.parseClassMemberWithIsStatic(s, r, i, !!r.static);
      }, "callParseClassMemberWithIsStatic");
      r.declare ? this.tsInAmbientContext(o) : o();
    }
    parseClassMemberWithIsStatic(s, r, i, a) {
      let o = this.tsTryParseIndexSignature(r);
      if (o) {
        s.body.push(o), r.abstract && this.raise(mt.IndexSignatureHasAbstract, r), r.accessibility && this.raise(mt.IndexSignatureHasAccessibility,
        r, {
          modifier: r.accessibility
        }), r.declare && this.raise(mt.IndexSignatureHasDeclare, r), r.override && this.raise(mt.IndexSignatureHasOverride, r);
        return;
      }
      !this.state.inAbstractClass && r.abstract && this.raise(mt.NonAbstractClassHasAbstractMethod, r), r.override && (i.hadSuperClass || this.
      raise(mt.OverrideNotInSubClass, r)), super.parseClassMemberWithIsStatic(s, r, i, a);
    }
    parsePostMemberNameModifiers(s) {
      this.eat(17) && (s.optional = !0), s.readonly && this.match(10) && this.raise(mt.ClassMethodHasReadonly, s), s.declare && this.match(10) &&
      this.raise(mt.ClassMethodHasDeclare, s);
    }
    parseExpressionStatement(s, r, i) {
      return (r.type === "Identifier" ? this.tsParseExpressionStatement(s, r, i) : void 0) || super.parseExpressionStatement(s, r, i);
    }
    shouldParseExportDeclaration() {
      return this.tsIsDeclarationStart() ? !0 : super.shouldParseExportDeclaration();
    }
    parseConditional(s, r, i) {
      if (!this.state.maybeInArrowParameters || !this.match(17))
        return super.parseConditional(s, r, i);
      let a = this.tryParse(() => super.parseConditional(s, r));
      return a.node ? (a.error && (this.state = a.failState), a.node) : (a.error && super.setOptionalParametersError(i, a.error), s);
    }
    parseParenItem(s, r) {
      let i = super.parseParenItem(s, r);
      if (this.eat(17) && (i.optional = !0, this.resetEndLocation(s)), this.match(14)) {
        let a = this.startNodeAt(r);
        return a.expression = s, a.typeAnnotation = this.tsParseTypeAnnotation(), this.finishNode(a, "TSTypeCastExpression");
      }
      return s;
    }
    parseExportDeclaration(s) {
      if (!this.state.isAmbientContext && this.isContextual(125))
        return this.tsInAmbientContext(() => this.parseExportDeclaration(s));
      let r = this.state.startLoc, i = this.eatContextual(125);
      if (i && (this.isContextual(125) || !this.shouldParseExportDeclaration()))
        throw this.raise(mt.ExpectedAmbientAfterExportDeclare, this.state.startLoc);
      let o = ar(this.state.type) && this.tsTryParseExportDeclaration() || super.parseExportDeclaration(s);
      return o ? ((o.type === "TSInterfaceDeclaration" || o.type === "TSTypeAliasDeclaration" || i) && (s.exportKind = "type"), i && (this.resetStartLocation(
      o, r), o.declare = !0), o) : null;
    }
    parseClassId(s, r, i, a) {
      if ((!r || i) && this.isContextual(113))
        return;
      super.parseClassId(s, r, i, s.declare ? 1024 : 8331);
      let o = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);
      o && (s.typeParameters = o);
    }
    parseClassPropertyAnnotation(s) {
      s.optional || (this.eat(35) ? s.definite = !0 : this.eat(17) && (s.optional = !0));
      let r = this.tsTryParseTypeAnnotation();
      r && (s.typeAnnotation = r);
    }
    parseClassProperty(s) {
      if (this.parseClassPropertyAnnotation(s), this.state.isAmbientContext && !(s.readonly && !s.typeAnnotation) && this.match(29) && this.
      raise(mt.DeclareClassFieldHasInitializer, this.state.startLoc), s.abstract && this.match(29)) {
        let {
          key: r
        } = s;
        this.raise(mt.AbstractPropertyHasInitializer, this.state.startLoc, {
          propertyName: r.type === "Identifier" && !s.computed ? r.name : `[${this.input.slice(this.offsetToSourcePos(r.start), this.offsetToSourcePos(
          r.end))}]`
        });
      }
      return super.parseClassProperty(s);
    }
    parseClassPrivateProperty(s) {
      return s.abstract && this.raise(mt.PrivateElementHasAbstract, s), s.accessibility && this.raise(mt.PrivateElementHasAccessibility, s, {
        modifier: s.accessibility
      }), this.parseClassPropertyAnnotation(s), super.parseClassPrivateProperty(s);
    }
    parseClassAccessorProperty(s) {
      return this.parseClassPropertyAnnotation(s), s.optional && this.raise(mt.AccessorCannotBeOptional, s), super.parseClassAccessorProperty(
      s);
    }
    pushClassMethod(s, r, i, a, o, l) {
      let u = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      u && o && this.raise(mt.ConstructorHasTypeParameters, u);
      let {
        declare: c = !1,
        kind: p
      } = r;
      c && (p === "get" || p === "set") && this.raise(mt.DeclareAccessor, r, {
        kind: p
      }), u && (r.typeParameters = u), super.pushClassMethod(s, r, i, a, o, l);
    }
    pushClassPrivateMethod(s, r, i, a) {
      let o = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      o && (r.typeParameters = o), super.pushClassPrivateMethod(s, r, i, a);
    }
    declareClassPrivateMethodInScope(s, r) {
      s.type !== "TSDeclareMethod" && (s.type === "MethodDefinition" && !hasOwnProperty.call(s.value, "body") || super.declareClassPrivateMethodInScope(
      s, r));
    }
    parseClassSuper(s) {
      super.parseClassSuper(s), s.superClass && (this.match(47) || this.match(51)) && (s.superTypeParameters = this.tsParseTypeArgumentsInExpression()),
      this.eatContextual(113) && (s.implements = this.tsParseHeritageClause("implements"));
    }
    parseObjPropValue(s, r, i, a, o, l, u) {
      let c = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      return c && (s.typeParameters = c), super.parseObjPropValue(s, r, i, a, o, l, u);
    }
    parseFunctionParams(s, r) {
      let i = this.tsTryParseTypeParameters(this.tsParseConstModifier);
      i && (s.typeParameters = i), super.parseFunctionParams(s, r);
    }
    parseVarId(s, r) {
      super.parseVarId(s, r), s.id.type === "Identifier" && !this.hasPrecedingLineBreak() && this.eat(35) && (s.definite = !0);
      let i = this.tsTryParseTypeAnnotation();
      i && (s.id.typeAnnotation = i, this.resetEndLocation(s.id));
    }
    parseAsyncArrowFromCallExpression(s, r) {
      return this.match(14) && (s.returnType = this.tsParseTypeAnnotation()), super.parseAsyncArrowFromCallExpression(s, r);
    }
    parseMaybeAssign(s, r) {
      var i, a, o, l, u;
      let c, p, h;
      if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) {
        if (c = this.state.clone(), p = this.tryParse(() => super.parseMaybeAssign(s, r), c), !p.error) return p.node;
        let {
          context: m
        } = this.state, y = m[m.length - 1];
        (y === nr.j_oTag || y === nr.j_expr) && m.pop();
      }
      if (!((i = p) != null && i.error) && !this.match(47))
        return super.parseMaybeAssign(s, r);
      (!c || c === this.state) && (c = this.state.clone());
      let f, d = this.tryParse((m) => {
        var y, T;
        f = this.tsParseTypeParameters(this.tsParseConstModifier);
        let b = super.parseMaybeAssign(s, r);
        return (b.type !== "ArrowFunctionExpression" || (y = b.extra) != null && y.parenthesized) && m(), ((T = f) == null ? void 0 : T.params.
        length) !== 0 && this.resetStartLocationFromNode(b, f), b.typeParameters = f, b;
      }, c);
      if (!d.error && !d.aborted)
        return f && this.reportReservedArrowTypeParam(f), d.node;
      if (!p && (Dfe(!this.hasPlugin("jsx")), h = this.tryParse(() => super.parseMaybeAssign(s, r), c), !h.error))
        return h.node;
      if ((a = p) != null && a.node)
        return this.state = p.failState, p.node;
      if (d.node)
        return this.state = d.failState, f && this.reportReservedArrowTypeParam(f), d.node;
      if ((o = h) != null && o.node)
        return this.state = h.failState, h.node;
      throw ((l = p) == null ? void 0 : l.error) || d.error || ((u = h) == null ? void 0 : u.error);
    }
    reportReservedArrowTypeParam(s) {
      var r;
      s.params.length === 1 && !s.params[0].constraint && !((r = s.extra) != null && r.trailingComma) && this.getPluginOption("typescript", "\
disallowAmbiguousJSXLike") && this.raise(mt.ReservedArrowTypeParam, s);
    }
    parseMaybeUnary(s, r) {
      return !this.hasPlugin("jsx") && this.match(47) ? this.tsParseTypeAssertion() : super.parseMaybeUnary(s, r);
    }
    parseArrow(s) {
      if (this.match(14)) {
        let r = this.tryParse((i) => {
          let a = this.tsParseTypeOrTypePredicateAnnotation(14);
          return (this.canInsertSemicolon() || !this.match(19)) && i(), a;
        });
        if (r.aborted) return;
        r.thrown || (r.error && (this.state = r.failState), s.returnType = r.node);
      }
      return super.parseArrow(s);
    }
    parseFunctionParamType(s) {
      this.eat(17) && (s.optional = !0);
      let r = this.tsTryParseTypeAnnotation();
      return r && (s.typeAnnotation = r), this.resetEndLocation(s), s;
    }
    isAssignable(s, r) {
      switch (s.type) {
        case "TSTypeCastExpression":
          return this.isAssignable(s.expression, r);
        case "TSParameterProperty":
          return !0;
        default:
          return super.isAssignable(s, r);
      }
    }
    toAssignable(s, r = !1) {
      switch (s.type) {
        case "ParenthesizedExpression":
          this.toAssignableParenthesizedExpression(s, r);
          break;
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSNonNullExpression":
        case "TSTypeAssertion":
          r ? this.expressionScope.recordArrowParameterBindingError(mt.UnexpectedTypeCastInParameter, s) : this.raise(mt.UnexpectedTypeCastInParameter,
          s), this.toAssignable(s.expression, r);
          break;
        case "AssignmentExpression":
          !r && s.left.type === "TSTypeCastExpression" && (s.left = this.typeCastToParameter(s.left));
        default:
          super.toAssignable(s, r);
      }
    }
    toAssignableParenthesizedExpression(s, r) {
      switch (s.expression.type) {
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSNonNullExpression":
        case "TSTypeAssertion":
        case "ParenthesizedExpression":
          this.toAssignable(s.expression, r);
          break;
        default:
          super.toAssignable(s, r);
      }
    }
    checkToRestConversion(s, r) {
      switch (s.type) {
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSTypeAssertion":
        case "TSNonNullExpression":
          this.checkToRestConversion(s.expression, !1);
          break;
        default:
          super.checkToRestConversion(s, r);
      }
    }
    isValidLVal(s, r, i) {
      switch (s) {
        case "TSTypeCastExpression":
          return !0;
        case "TSParameterProperty":
          return "parameter";
        case "TSNonNullExpression":
        case "TSInstantiationExpression":
          return "expression";
        case "TSAsExpression":
        case "TSSatisfiesExpression":
        case "TSTypeAssertion":
          return (i !== 64 || !r) && ["expression", !0];
        default:
          return super.isValidLVal(s, r, i);
      }
    }
    parseBindingAtom() {
      return this.state.type === 78 ? this.parseIdentifier(!0) : super.parseBindingAtom();
    }
    parseMaybeDecoratorArguments(s, r) {
      if (this.match(47) || this.match(51)) {
        let i = this.tsParseTypeArgumentsInExpression();
        if (this.match(10)) {
          let a = super.parseMaybeDecoratorArguments(s, r);
          return a.typeParameters = i, a;
        }
        this.unexpected(null, 10);
      }
      return super.parseMaybeDecoratorArguments(s, r);
    }
    checkCommaAfterRest(s) {
      return this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === s ? (this.next(), !1) : super.checkCommaAfterRest(
      s);
    }
    isClassMethod() {
      return this.match(47) || super.isClassMethod();
    }
    isClassProperty() {
      return this.match(35) || this.match(14) || super.isClassProperty();
    }
    parseMaybeDefault(s, r) {
      let i = super.parseMaybeDefault(s, r);
      return i.type === "AssignmentPattern" && i.typeAnnotation && i.right.start < i.typeAnnotation.start && this.raise(mt.TypeAnnotationAfterAssign,
      i.typeAnnotation), i;
    }
    getTokenFromCode(s) {
      if (this.state.inType) {
        if (s === 62) {
          this.finishOp(48, 1);
          return;
        }
        if (s === 60) {
          this.finishOp(47, 1);
          return;
        }
      }
      super.getTokenFromCode(s);
    }
    reScan_lt_gt() {
      let {
        type: s
      } = this.state;
      s === 47 ? (this.state.pos -= 1, this.readToken_lt()) : s === 48 && (this.state.pos -= 1, this.readToken_gt());
    }
    reScan_lt() {
      let {
        type: s
      } = this.state;
      return s === 51 ? (this.state.pos -= 2, this.finishOp(47, 1), 47) : s;
    }
    toAssignableList(s, r, i) {
      for (let a = 0; a < s.length; a++) {
        let o = s[a];
        o?.type === "TSTypeCastExpression" && (s[a] = this.typeCastToParameter(o));
      }
      super.toAssignableList(s, r, i);
    }
    typeCastToParameter(s) {
      return s.expression.typeAnnotation = s.typeAnnotation, this.resetEndLocation(s.expression, s.typeAnnotation.loc.end), s.expression;
    }
    shouldParseArrow(s) {
      return this.match(14) ? s.every((r) => this.isAssignable(r, !0)) : super.shouldParseArrow(s);
    }
    shouldParseAsyncArrow() {
      return this.match(14) || super.shouldParseAsyncArrow();
    }
    canHaveLeadingDecorator() {
      return super.canHaveLeadingDecorator() || this.isAbstractClass();
    }
    jsxParseOpeningElementAfterName(s) {
      if (this.match(47) || this.match(51)) {
        let r = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression());
        r && (s.typeParameters = r);
      }
      return super.jsxParseOpeningElementAfterName(s);
    }
    getGetterSetterExpectedParamCount(s) {
      let r = super.getGetterSetterExpectedParamCount(s), a = this.getObjectOrClassMethodParams(s)[0];
      return a && this.isThisParam(a) ? r + 1 : r;
    }
    parseCatchClauseParam() {
      let s = super.parseCatchClauseParam(), r = this.tsTryParseTypeAnnotation();
      return r && (s.typeAnnotation = r, this.resetEndLocation(s)), s;
    }
    tsInAmbientContext(s) {
      let {
        isAmbientContext: r,
        strict: i
      } = this.state;
      this.state.isAmbientContext = !0, this.state.strict = !1;
      try {
        return s();
      } finally {
        this.state.isAmbientContext = r, this.state.strict = i;
      }
    }
    parseClass(s, r, i) {
      let a = this.state.inAbstractClass;
      this.state.inAbstractClass = !!s.abstract;
      try {
        return super.parseClass(s, r, i);
      } finally {
        this.state.inAbstractClass = a;
      }
    }
    tsParseAbstractDeclaration(s, r) {
      if (this.match(80))
        return s.abstract = !0, this.maybeTakeDecorators(r, this.parseClass(s, !0, !1));
      if (this.isContextual(129)) {
        if (!this.hasFollowingLineBreak())
          return s.abstract = !0, this.raise(mt.NonClassMethodPropertyHasAbstractModifer, s), this.tsParseInterfaceDeclaration(s);
      } else
        this.unexpected(null, 80);
    }
    parseMethod(s, r, i, a, o, l, u) {
      let c = super.parseMethod(s, r, i, a, o, l, u);
      if (c.abstract && (this.hasPlugin("estree") ? c.value : c).body) {
        let {
          key: f
        } = c;
        this.raise(mt.AbstractMethodHasImplementation, c, {
          methodName: f.type === "Identifier" && !c.computed ? f.name : `[${this.input.slice(this.offsetToSourcePos(f.start), this.offsetToSourcePos(
          f.end))}]`
        });
      }
      return c;
    }
    tsParseTypeParameterName() {
      return this.parseIdentifier().name;
    }
    shouldParseAsAmbientContext() {
      return !!this.getPluginOption("typescript", "dts");
    }
    parse() {
      return this.shouldParseAsAmbientContext() && (this.state.isAmbientContext = !0), super.parse();
    }
    getExpression() {
      return this.shouldParseAsAmbientContext() && (this.state.isAmbientContext = !0), super.getExpression();
    }
    parseExportSpecifier(s, r, i, a) {
      return !r && a ? (this.parseTypeOnlyImportExportSpecifier(s, !1, i), this.finishNode(s, "ExportSpecifier")) : (s.exportKind = "value",
      super.parseExportSpecifier(s, r, i, a));
    }
    parseImportSpecifier(s, r, i, a, o) {
      return !r && a ? (this.parseTypeOnlyImportExportSpecifier(s, !0, i), this.finishNode(s, "ImportSpecifier")) : (s.importKind = "value",
      super.parseImportSpecifier(s, r, i, a, i ? 4098 : 4096));
    }
    parseTypeOnlyImportExportSpecifier(s, r, i) {
      let a = r ? "imported" : "local", o = r ? "local" : "exported", l = s[a], u, c = !1, p = !0, h = l.loc.start;
      if (this.isContextual(93)) {
        let d = this.parseIdentifier();
        if (this.isContextual(93)) {
          let m = this.parseIdentifier();
          qo(this.state.type) ? (c = !0, l = d, u = r ? this.parseIdentifier() : this.parseModuleExportName(), p = !1) : (u = m, p = !1);
        } else qo(this.state.type) ? (p = !1, u = r ? this.parseIdentifier() : this.parseModuleExportName()) : (c = !0, l = d);
      } else qo(this.state.type) && (c = !0, r ? (l = this.parseIdentifier(!0), this.isContextual(93) || this.checkReservedWord(l.name, l.loc.
      start, !0, !0)) : l = this.parseModuleExportName());
      c && i && this.raise(r ? mt.TypeModifierIsUsedInTypeImports : mt.TypeModifierIsUsedInTypeExports, h), s[a] = l, s[o] = u;
      let f = r ? "importKind" : "exportKind";
      s[f] = c ? "type" : "value", p && this.eatContextual(93) && (s[o] = r ? this.parseIdentifier() : this.parseModuleExportName()), s[o] ||
      (s[o] = fc(s[a])), r && this.checkIdentifier(s[o], c ? 4098 : 4096);
    }
  }, "typescript");
  function lds(t) {
    if (t.type !== "MemberExpression") return !1;
    let {
      computed: e,
      property: s
    } = t;
    return e && s.type !== "StringLiteral" && (s.type !== "TemplateLiteral" || s.expressions.length > 0) ? !1 : zfe(t.object);
  }
  n(lds, "isPossiblyLiteralEnum");
  function uds(t, e) {
    var s;
    let {
      type: r
    } = t;
    if ((s = t.extra) != null && s.parenthesized)
      return !1;
    if (e) {
      if (r === "Literal") {
        let {
          value: i
        } = t;
        if (typeof i == "string" || typeof i == "boolean")
          return !0;
      }
    } else if (r === "StringLiteral" || r === "BooleanLiteral")
      return !0;
    return !!(Xfe(t, e) || cds(t, e) || r === "TemplateLiteral" && t.expressions.length === 0 || lds(t));
  }
  n(uds, "isValidAmbientConstInitializer");
  function Xfe(t, e) {
    return e ? t.type === "Literal" && (typeof t.value == "number" || "bigint" in t) : t.type === "NumericLiteral" || t.type === "BigIntLite\
ral";
  }
  n(Xfe, "isNumber");
  function cds(t, e) {
    if (t.type === "UnaryExpression") {
      let {
        operator: s,
        argument: r
      } = t;
      if (s === "-" && Xfe(r, e))
        return !0;
    }
    return !1;
  }
  n(cds, "isNegativeNumber");
  function zfe(t) {
    return t.type === "Identifier" ? !0 : t.type !== "MemberExpression" || t.computed ? !1 : zfe(t.object);
  }
  n(zfe, "isUncomputedMemberExpressionChain");
  var _fe = hc`placeholders`({
    ClassNameIsRequired: "A class name is required.",
    UnexpectedSpace: "Unexpected space in placeholder."
  }), pds = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "PlaceholdersParserMixin");
    }
    parsePlaceholder(s) {
      if (this.match(133)) {
        let r = this.startNode();
        return this.next(), this.assertNoSpace(), r.name = super.parseIdentifier(!0), this.assertNoSpace(), this.expect(133), this.finishPlaceholder(
        r, s);
      }
    }
    finishPlaceholder(s, r) {
      let i = s;
      return (!i.expectedNode || !i.type) && (i = this.finishNode(i, "Placeholder")), i.expectedNode = r, i;
    }
    getTokenFromCode(s) {
      s === 37 && this.input.charCodeAt(this.state.pos + 1) === 37 ? this.finishOp(133, 2) : super.getTokenFromCode(s);
    }
    parseExprAtom(s) {
      return this.parsePlaceholder("Expression") || super.parseExprAtom(s);
    }
    parseIdentifier(s) {
      return this.parsePlaceholder("Identifier") || super.parseIdentifier(s);
    }
    checkReservedWord(s, r, i, a) {
      s !== void 0 && super.checkReservedWord(s, r, i, a);
    }
    parseBindingAtom() {
      return this.parsePlaceholder("Pattern") || super.parseBindingAtom();
    }
    isValidLVal(s, r, i) {
      return s === "Placeholder" || super.isValidLVal(s, r, i);
    }
    toAssignable(s, r) {
      s && s.type === "Placeholder" && s.expectedNode === "Expression" ? s.expectedNode = "Pattern" : super.toAssignable(s, r);
    }
    chStartsBindingIdentifier(s, r) {
      return !!(super.chStartsBindingIdentifier(s, r) || this.lookahead().type === 133);
    }
    verifyBreakContinue(s, r) {
      s.label && s.label.type === "Placeholder" || super.verifyBreakContinue(s, r);
    }
    parseExpressionStatement(s, r) {
      var i;
      if (r.type !== "Placeholder" || (i = r.extra) != null && i.parenthesized)
        return super.parseExpressionStatement(s, r);
      if (this.match(14)) {
        let o = s;
        return o.label = this.finishPlaceholder(r, "Identifier"), this.next(), o.body = super.parseStatementOrSloppyAnnexBFunctionDeclaration(),
        this.finishNode(o, "LabeledStatement");
      }
      this.semicolon();
      let a = s;
      return a.name = r.name, this.finishPlaceholder(a, "Statement");
    }
    parseBlock(s, r, i) {
      return this.parsePlaceholder("BlockStatement") || super.parseBlock(s, r, i);
    }
    parseFunctionId(s) {
      return this.parsePlaceholder("Identifier") || super.parseFunctionId(s);
    }
    parseClass(s, r, i) {
      let a = r ? "ClassDeclaration" : "ClassExpression";
      this.next();
      let o = this.state.strict, l = this.parsePlaceholder("Identifier");
      if (l)
        if (this.match(81) || this.match(133) || this.match(5))
          s.id = l;
        else {
          if (i || !r)
            return s.id = null, s.body = this.finishPlaceholder(l, "ClassBody"), this.finishNode(s, a);
          throw this.raise(_fe.ClassNameIsRequired, this.state.startLoc);
        }
      else
        this.parseClassId(s, r, i);
      return super.parseClassSuper(s), s.body = this.parsePlaceholder("ClassBody") || super.parseClassBody(!!s.superClass, o), this.finishNode(
      s, a);
    }
    parseExport(s, r) {
      let i = this.parsePlaceholder("Identifier");
      if (!i) return super.parseExport(s, r);
      let a = s;
      if (!this.isContextual(98) && !this.match(12))
        return a.specifiers = [], a.source = null, a.declaration = this.finishPlaceholder(i, "Declaration"), this.finishNode(a, "ExportNamed\
Declaration");
      this.expectPlugin("exportDefaultFrom");
      let o = this.startNode();
      return o.exported = i, a.specifiers = [this.finishNode(o, "ExportDefaultSpecifier")], super.parseExport(a, r);
    }
    isExportDefaultSpecifier() {
      if (this.match(65)) {
        let s = this.nextTokenStart();
        if (this.isUnparsedContextual(s, "from") && this.input.startsWith(Kp(133), this.nextTokenStartSince(s + 4)))
          return !0;
      }
      return super.isExportDefaultSpecifier();
    }
    maybeParseExportDefaultSpecifier(s, r) {
      var i;
      return (i = s.specifiers) != null && i.length ? !0 : super.maybeParseExportDefaultSpecifier(s, r);
    }
    checkExport(s) {
      let {
        specifiers: r
      } = s;
      r != null && r.length && (s.specifiers = r.filter((i) => i.exported.type === "Placeholder")), super.checkExport(s), s.specifiers = r;
    }
    parseImport(s) {
      let r = this.parsePlaceholder("Identifier");
      if (!r) return super.parseImport(s);
      if (s.specifiers = [], !this.isContextual(98) && !this.match(12))
        return s.source = this.finishPlaceholder(r, "StringLiteral"), this.semicolon(), this.finishNode(s, "ImportDeclaration");
      let i = this.startNodeAtNode(r);
      return i.local = r, s.specifiers.push(this.finishNode(i, "ImportDefaultSpecifier")), this.eat(12) && (this.maybeParseStarImportSpecifier(
      s) || this.parseNamedImportSpecifiers(s)), this.expectContextual(98), s.source = this.parseImportSource(), this.semicolon(), this.finishNode(
      s, "ImportDeclaration");
    }
    parseImportSource() {
      return this.parsePlaceholder("StringLiteral") || super.parseImportSource();
    }
    assertNoSpace() {
      this.state.start > this.offsetToSourcePos(this.state.lastTokEndLoc.index) && this.raise(_fe.UnexpectedSpace, this.state.lastTokEndLoc);
    }
  }, "placeholders"), hds = /* @__PURE__ */ n((t) => class extends t {
    static {
      n(this, "V8IntrinsicMixin");
    }
    parseV8Intrinsic() {
      if (this.match(54)) {
        let s = this.state.startLoc, r = this.startNode();
        if (this.next(), ar(this.state.type)) {
          let i = this.parseIdentifierName(), a = this.createIdentifier(r, i);
          if (a.type = "V8IntrinsicIdentifier", this.match(10))
            return a;
        }
        this.unexpected(s);
      }
    }
    parseExprAtom(s) {
      return this.parseV8Intrinsic() || super.parseExprAtom(s);
    }
  }, "v8intrinsic"), Lfe = ["minimal", "fsharp", "hack", "smart"], Bfe = ["^^", "@@", "^", "%", "#"];
  function fds(t) {
    if (t.has("decorators")) {
      if (t.has("decorators-legacy"))
        throw new Error("Cannot use the decorators and decorators-legacy plugin together");
      let s = t.get("decorators").decoratorsBeforeExport;
      if (s != null && typeof s != "boolean")
        throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");
      let r = t.get("decorators").allowCallParenthesized;
      if (r != null && typeof r != "boolean")
        throw new Error("'allowCallParenthesized' must be a boolean.");
    }
    if (t.has("flow") && t.has("typescript"))
      throw new Error("Cannot combine flow and typescript plugins.");
    if (t.has("placeholders") && t.has("v8intrinsic"))
      throw new Error("Cannot combine placeholders and v8intrinsic plugins.");
    if (t.has("pipelineOperator")) {
      var e;
      let s = t.get("pipelineOperator").proposal;
      if (!Lfe.includes(s)) {
        let i = Lfe.map((a) => `"${a}"`).join(", ");
        throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${i}.`);
      }
      let r = ((e = t.get("recordAndTuple")) == null ? void 0 : e.syntaxType) === "hash";
      if (s === "hack") {
        if (t.has("placeholders"))
          throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");
        if (t.has("v8intrinsic"))
          throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");
        let i = t.get("pipelineOperator").topicToken;
        if (!Bfe.includes(i)) {
          let a = Bfe.map((o) => `"${o}"`).join(", ");
          throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${a}\
.`);
        }
        if (i === "#" && r)
          throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "hack", topicToken: "#" }]\` and \`${JSON.stringify(["\
recordAndTuple", t.get("recordAndTuple")])}\`.`);
      } else if (s === "smart" && r)
        throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "smart" }]\` and \`${JSON.stringify(["recordAndTuple", t.
        get("recordAndTuple")])}\`.`);
    }
    if (t.has("moduleAttributes")) {
      if (t.has("deprecatedImportAssert") || t.has("importAssertions"))
        throw new Error("Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins.");
      if (t.get("moduleAttributes").version !== "may-2020")
        throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the on\
ly supported value is 'may-2020'.");
    }
    if (t.has("importAssertions") && t.has("deprecatedImportAssert"))
      throw new Error("Cannot combine importAssertions and deprecatedImportAssert plugins.");
    if (!t.has("deprecatedImportAssert") && t.has("importAttributes") && t.get("importAttributes").deprecatedAssertSyntax && t.set("deprecat\
edImportAssert", {}), t.has("recordAndTuple")) {
      let s = t.get("recordAndTuple").syntaxType;
      if (s != null) {
        let r = ["hash", "bar"];
        if (!r.includes(s))
          throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: " + r.map((i) => `'${i}'`).join(", "));
      }
    }
    if (t.has("asyncDoExpressions") && !t.has("doExpressions")) {
      let s = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");
      throw s.missingPlugins = "doExpressions", s;
    }
    if (t.has("optionalChainingAssign") && t.get("optionalChainingAssign").version !== "2023-07")
      throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, th\
e only supported value is '2023-07'.");
  }
  n(fds, "validatePlugins");
  var Gfe = {
    estree: mfs,
    jsx: rds,
    flow: tds,
    typescript: ods,
    v8intrinsic: hds,
    placeholders: pds
  }, dds = Object.keys(Gfe), uR = class extends lR {
    static {
      n(this, "ExpressionParser");
    }
    checkProto(e, s, r, i) {
      if (e.type === "SpreadElement" || this.isObjectMethod(e) || e.computed || e.shorthand)
        return;
      let a = e.key;
      if ((a.type === "Identifier" ? a.name : a.value) === "__proto__") {
        if (s) {
          this.raise(se.RecordNoProto, a);
          return;
        }
        r.used && (i ? i.doubleProtoLoc === null && (i.doubleProtoLoc = a.loc.start) : this.raise(se.DuplicateProto, a)), r.used = !0;
      }
    }
    shouldExitDescending(e, s) {
      return e.type === "ArrowFunctionExpression" && this.offsetToSourcePos(e.start) === s;
    }
    getExpression() {
      this.enterInitialScopes(), this.nextToken();
      let e = this.parseExpression();
      return this.match(140) || this.unexpected(), this.finalizeRemainingComments(), e.comments = this.comments, e.errors = this.state.errors,
      this.optionFlags & 128 && (e.tokens = this.tokens), e;
    }
    parseExpression(e, s) {
      return e ? this.disallowInAnd(() => this.parseExpressionBase(s)) : this.allowInAnd(() => this.parseExpressionBase(s));
    }
    parseExpressionBase(e) {
      let s = this.state.startLoc, r = this.parseMaybeAssign(e);
      if (this.match(12)) {
        let i = this.startNodeAt(s);
        for (i.expressions = [r]; this.eat(12); )
          i.expressions.push(this.parseMaybeAssign(e));
        return this.toReferencedList(i.expressions), this.finishNode(i, "SequenceExpression");
      }
      return r;
    }
    parseMaybeAssignDisallowIn(e, s) {
      return this.disallowInAnd(() => this.parseMaybeAssign(e, s));
    }
    parseMaybeAssignAllowIn(e, s) {
      return this.allowInAnd(() => this.parseMaybeAssign(e, s));
    }
    setOptionalParametersError(e, s) {
      var r;
      e.optionalParametersLoc = (r = s?.loc) != null ? r : this.state.startLoc;
    }
    parseMaybeAssign(e, s) {
      let r = this.state.startLoc;
      if (this.isContextual(108) && this.prodParam.hasYield) {
        let l = this.parseYield();
        return s && (l = s.call(this, l, r)), l;
      }
      let i;
      e ? i = !1 : (e = new my(), i = !0);
      let {
        type: a
      } = this.state;
      (a === 10 || ar(a)) && (this.state.potentialArrowAt = this.state.start);
      let o = this.parseMaybeConditional(e);
      if (s && (o = s.call(this, o, r)), xfs(this.state.type)) {
        let l = this.startNodeAt(r), u = this.state.value;
        if (l.operator = u, this.match(29)) {
          this.toAssignable(o, !0), l.left = o;
          let c = r.index;
          e.doubleProtoLoc != null && e.doubleProtoLoc.index >= c && (e.doubleProtoLoc = null), e.shorthandAssignLoc != null && e.shorthandAssignLoc.
          index >= c && (e.shorthandAssignLoc = null), e.privateKeyLoc != null && e.privateKeyLoc.index >= c && (this.checkDestructuringPrivate(
          e), e.privateKeyLoc = null);
        } else
          l.left = o;
        return this.next(), l.right = this.parseMaybeAssign(), this.checkLVal(o, this.finishNode(l, "AssignmentExpression")), l;
      } else i && this.checkExpressionErrors(e, !0);
      return o;
    }
    parseMaybeConditional(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseExprOps(e);
      return this.shouldExitDescending(i, r) ? i : this.parseConditional(i, s, e);
    }
    parseConditional(e, s, r) {
      if (this.eat(17)) {
        let i = this.startNodeAt(s);
        return i.test = e, i.consequent = this.parseMaybeAssignAllowIn(), this.expect(14), i.alternate = this.parseMaybeAssign(), this.finishNode(
        i, "ConditionalExpression");
      }
      return e;
    }
    parseMaybeUnaryOrPrivate(e) {
      return this.match(139) ? this.parsePrivateName() : this.parseMaybeUnary(e);
    }
    parseExprOps(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseMaybeUnaryOrPrivate(e);
      return this.shouldExitDescending(i, r) ? i : this.parseExprOp(i, s, -1);
    }
    parseExprOp(e, s, r) {
      if (this.isPrivateName(e)) {
        let a = this.getPrivateNameSV(e);
        (r >= mv(58) || !this.prodParam.hasIn || !this.match(58)) && this.raise(se.PrivateInExpectedIn, e, {
          identifierName: a
        }), this.classScope.usePrivateName(a, e.loc.start);
      }
      let i = this.state.type;
      if (Pfs(i) && (this.prodParam.hasIn || !this.match(58))) {
        let a = mv(i);
        if (a > r) {
          if (i === 39) {
            if (this.expectPlugin("pipelineOperator"), this.state.inFSharpPipelineDirectBody)
              return e;
            this.checkPipelineAtInfixOperator(e, s);
          }
          let o = this.startNodeAt(s);
          o.left = e, o.operator = this.state.value;
          let l = i === 41 || i === 42, u = i === 40;
          if (u && (a = mv(42)), this.next(), i === 39 && this.hasPlugin(["pipelineOperator", {
            proposal: "minimal"
          }]) && this.state.type === 96 && this.prodParam.hasAwait)
            throw this.raise(se.UnexpectedAwaitAfterPipelineBody, this.state.startLoc);
          o.right = this.parseExprOpRightExpr(i, a);
          let c = this.finishNode(o, l || u ? "LogicalExpression" : "BinaryExpression"), p = this.state.type;
          if (u && (p === 41 || p === 42) || l && p === 40)
            throw this.raise(se.MixingCoalesceWithLogical, this.state.startLoc);
          return this.parseExprOp(c, s, r);
        }
      }
      return e;
    }
    parseExprOpRightExpr(e, s) {
      let r = this.state.startLoc;
      switch (e) {
        case 39:
          switch (this.getPluginOption("pipelineOperator", "proposal")) {
            case "hack":
              return this.withTopicBindingContext(() => this.parseHackPipeBody());
            case "smart":
              return this.withTopicBindingContext(() => {
                if (this.prodParam.hasYield && this.isContextual(108))
                  throw this.raise(se.PipeBodyIsTighter, this.state.startLoc);
                return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(e, s), r);
              });
            case "fsharp":
              return this.withSoloAwaitPermittingContext(() => this.parseFSharpPipelineBody(s));
          }
        default:
          return this.parseExprOpBaseRightExpr(e, s);
      }
    }
    parseExprOpBaseRightExpr(e, s) {
      let r = this.state.startLoc;
      return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), r, wfs(e) ? s - 1 : s);
    }
    parseHackPipeBody() {
      var e;
      let {
        startLoc: s
      } = this.state, r = this.parseMaybeAssign();
      return lfs.has(r.type) && !((e = r.extra) != null && e.parenthesized) && this.raise(se.PipeUnparenthesizedBody, s, {
        type: r.type
      }), this.topicReferenceWasUsedInCurrentContext() || this.raise(se.PipeTopicUnused, s), r;
    }
    checkExponentialAfterUnary(e) {
      this.match(57) && this.raise(se.UnexpectedTokenUnaryExponentiation, e.argument);
    }
    parseMaybeUnary(e, s) {
      let r = this.state.startLoc, i = this.isContextual(96);
      if (i && this.recordAwaitIfAllowed()) {
        this.next();
        let u = this.parseAwait(r);
        return s || this.checkExponentialAfterUnary(u), u;
      }
      let a = this.match(34), o = this.startNode();
      if (Afs(this.state.type)) {
        o.operator = this.state.value, o.prefix = !0, this.match(72) && this.expectPlugin("throwExpressions");
        let u = this.match(89);
        if (this.next(), o.argument = this.parseMaybeUnary(null, !0), this.checkExpressionErrors(e, !0), this.state.strict && u) {
          let c = o.argument;
          c.type === "Identifier" ? this.raise(se.StrictDelete, o) : this.hasPropertyAsPrivateName(c) && this.raise(se.DeletePrivateField, o);
        }
        if (!a)
          return s || this.checkExponentialAfterUnary(o), this.finishNode(o, "UnaryExpression");
      }
      let l = this.parseUpdate(o, a, e);
      if (i) {
        let {
          type: u
        } = this.state;
        if ((this.hasPlugin("v8intrinsic") ? $6(u) : $6(u) && !this.match(54)) && !this.isAmbiguousAwait())
          return this.raiseOverwrite(se.AwaitNotInAsyncContext, r), this.parseAwait(r);
      }
      return l;
    }
    parseUpdate(e, s, r) {
      if (s) {
        let o = e;
        return this.checkLVal(o.argument, this.finishNode(o, "UpdateExpression")), e;
      }
      let i = this.state.startLoc, a = this.parseExprSubscripts(r);
      if (this.checkExpressionErrors(r, !1)) return a;
      for (; Efs(this.state.type) && !this.canInsertSemicolon(); ) {
        let o = this.startNodeAt(i);
        o.operator = this.state.value, o.prefix = !1, o.argument = a, this.next(), this.checkLVal(a, a = this.finishNode(o, "UpdateExpressio\
n"));
      }
      return a;
    }
    parseExprSubscripts(e) {
      let s = this.state.startLoc, r = this.state.potentialArrowAt, i = this.parseExprAtom(e);
      return this.shouldExitDescending(i, r) ? i : this.parseSubscripts(i, s);
    }
    parseSubscripts(e, s, r) {
      let i = {
        optionalChainMember: !1,
        maybeAsyncArrow: this.atPossibleAsyncArrow(e),
        stop: !1
      };
      do
        e = this.parseSubscript(e, s, r, i), i.maybeAsyncArrow = !1;
      while (!i.stop);
      return e;
    }
    parseSubscript(e, s, r, i) {
      let {
        type: a
      } = this.state;
      if (!r && a === 15)
        return this.parseBind(e, s, r, i);
      if (Tv(a))
        return this.parseTaggedTemplateExpression(e, s, i);
      let o = !1;
      if (a === 18) {
        if (r && (this.raise(se.OptionalChainingNoNew, this.state.startLoc), this.lookaheadCharCode() === 40))
          return i.stop = !0, e;
        i.optionalChainMember = o = !0, this.next();
      }
      if (!r && this.match(10))
        return this.parseCoverCallAndAsyncArrowHead(e, s, i, o);
      {
        let l = this.eat(0);
        return l || o || this.eat(16) ? this.parseMember(e, s, i, l, o) : (i.stop = !0, e);
      }
    }
    parseMember(e, s, r, i, a) {
      let o = this.startNodeAt(s);
      return o.object = e, o.computed = i, i ? (o.property = this.parseExpression(), this.expect(3)) : this.match(139) ? (e.type === "Super" &&
      this.raise(se.SuperPrivateField, s), this.classScope.usePrivateName(this.state.value, this.state.startLoc), o.property = this.parsePrivateName()) :
      o.property = this.parseIdentifier(!0), r.optionalChainMember ? (o.optional = a, this.finishNode(o, "OptionalMemberExpression")) : this.
      finishNode(o, "MemberExpression");
    }
    parseBind(e, s, r, i) {
      let a = this.startNodeAt(s);
      return a.object = e, this.next(), a.callee = this.parseNoCallExpr(), i.stop = !0, this.parseSubscripts(this.finishNode(a, "BindExpress\
ion"), s, r);
    }
    parseCoverCallAndAsyncArrowHead(e, s, r, i) {
      let a = this.state.maybeInArrowParameters, o = null;
      this.state.maybeInArrowParameters = !0, this.next();
      let l = this.startNodeAt(s);
      l.callee = e;
      let {
        maybeAsyncArrow: u,
        optionalChainMember: c
      } = r;
      u && (this.expressionScope.enter(Jfs()), o = new my()), c && (l.optional = i), i ? l.arguments = this.parseCallExpressionArguments(11) :
      l.arguments = this.parseCallExpressionArguments(11, e.type !== "Super", l, o);
      let p = this.finishCallExpression(l, c);
      return u && this.shouldParseAsyncArrow() && !i ? (r.stop = !0, this.checkDestructuringPrivate(o), this.expressionScope.validateAsPattern(),
      this.expressionScope.exit(), p = this.parseAsyncArrowFromCallExpression(this.startNodeAt(s), p)) : (u && (this.checkExpressionErrors(o,
      !0), this.expressionScope.exit()), this.toReferencedArguments(p)), this.state.maybeInArrowParameters = a, p;
    }
    toReferencedArguments(e, s) {
      this.toReferencedListDeep(e.arguments, s);
    }
    parseTaggedTemplateExpression(e, s, r) {
      let i = this.startNodeAt(s);
      return i.tag = e, i.quasi = this.parseTemplate(!0), r.optionalChainMember && this.raise(se.OptionalChainingNoTemplate, s), this.finishNode(
      i, "TaggedTemplateExpression");
    }
    atPossibleAsyncArrow(e) {
      return e.type === "Identifier" && e.name === "async" && this.state.lastTokEndLoc.index === e.end && !this.canInsertSemicolon() && e.end -
      e.start === 5 && this.offsetToSourcePos(e.start) === this.state.potentialArrowAt;
    }
    finishCallExpression(e, s) {
      if (e.callee.type === "Import")
        if (e.arguments.length === 0 || e.arguments.length > 2)
          this.raise(se.ImportCallArity, e);
        else
          for (let r of e.arguments)
            r.type === "SpreadElement" && this.raise(se.ImportCallSpreadArgument, r);
      return this.finishNode(e, s ? "OptionalCallExpression" : "CallExpression");
    }
    parseCallExpressionArguments(e, s, r, i) {
      let a = [], o = !0, l = this.state.inFSharpPipelineDirectBody;
      for (this.state.inFSharpPipelineDirectBody = !1; !this.eat(e); ) {
        if (o)
          o = !1;
        else if (this.expect(12), this.match(e)) {
          r && this.addTrailingCommaExtraToNode(r), this.next();
          break;
        }
        a.push(this.parseExprListItem(!1, i, s));
      }
      return this.state.inFSharpPipelineDirectBody = l, a;
    }
    shouldParseAsyncArrow() {
      return this.match(19) && !this.canInsertSemicolon();
    }
    parseAsyncArrowFromCallExpression(e, s) {
      var r;
      return this.resetPreviousNodeTrailingComments(s), this.expect(19), this.parseArrowExpression(e, s.arguments, !0, (r = s.extra) == null ?
      void 0 : r.trailingCommaLoc), s.innerComments && HT(e, s.innerComments), s.callee.trailingComments && HT(e, s.callee.trailingComments),
      e;
    }
    parseNoCallExpr() {
      let e = this.state.startLoc;
      return this.parseSubscripts(this.parseExprAtom(), e, !0);
    }
    parseExprAtom(e) {
      let s, r = null, {
        type: i
      } = this.state;
      switch (i) {
        case 79:
          return this.parseSuper();
        case 83:
          return s = this.startNode(), this.next(), this.match(16) ? this.parseImportMetaProperty(s) : this.match(10) ? this.optionFlags & 256 ?
          this.parseImportCall(s) : this.finishNode(s, "Import") : (this.raise(se.UnsupportedImport, this.state.lastTokStartLoc), this.finishNode(
          s, "Import"));
        case 78:
          return s = this.startNode(), this.next(), this.finishNode(s, "ThisExpression");
        case 90:
          return this.parseDo(this.startNode(), !1);
        case 56:
        case 31:
          return this.readRegexp(), this.parseRegExpLiteral(this.state.value);
        case 135:
          return this.parseNumericLiteral(this.state.value);
        case 136:
          return this.parseBigIntLiteral(this.state.value);
        case 134:
          return this.parseStringLiteral(this.state.value);
        case 84:
          return this.parseNullLiteral();
        case 85:
          return this.parseBooleanLiteral(!0);
        case 86:
          return this.parseBooleanLiteral(!1);
        case 10: {
          let a = this.state.potentialArrowAt === this.state.start;
          return this.parseParenAndDistinguishExpression(a);
        }
        case 2:
        case 1:
          return this.parseArrayLike(this.state.type === 2 ? 4 : 3, !1, !0);
        case 0:
          return this.parseArrayLike(3, !0, !1, e);
        case 6:
        case 7:
          return this.parseObjectLike(this.state.type === 6 ? 9 : 8, !1, !0);
        case 5:
          return this.parseObjectLike(8, !1, !1, e);
        case 68:
          return this.parseFunctionOrFunctionSent();
        case 26:
          r = this.parseDecorators();
        case 80:
          return this.parseClass(this.maybeTakeDecorators(r, this.startNode()), !1);
        case 77:
          return this.parseNewOrNewTarget();
        case 25:
        case 24:
          return this.parseTemplate(!1);
        case 15: {
          s = this.startNode(), this.next(), s.object = null;
          let a = s.callee = this.parseNoCallExpr();
          if (a.type === "MemberExpression")
            return this.finishNode(s, "BindExpression");
          throw this.raise(se.UnsupportedBind, a);
        }
        case 139:
          return this.raise(se.PrivateInExpectedIn, this.state.startLoc, {
            identifierName: this.state.value
          }), this.parsePrivateName();
        case 33:
          return this.parseTopicReferenceThenEqualsSign(54, "%");
        case 32:
          return this.parseTopicReferenceThenEqualsSign(44, "^");
        case 37:
        case 38:
          return this.parseTopicReference("hack");
        case 44:
        case 54:
        case 27: {
          let a = this.getPluginOption("pipelineOperator", "proposal");
          if (a)
            return this.parseTopicReference(a);
          this.unexpected();
          break;
        }
        case 47: {
          let a = this.input.codePointAt(this.nextTokenStart());
          pc(a) || a === 62 ? this.expectOnePlugin(["jsx", "flow", "typescript"]) : this.unexpected();
          break;
        }
        default:
          if (i === 137)
            return this.parseDecimalLiteral(this.state.value);
          if (ar(i)) {
            if (this.isContextual(127) && this.lookaheadInLineCharCode() === 123)
              return this.parseModuleExpression();
            let a = this.state.potentialArrowAt === this.state.start, o = this.state.containsEsc, l = this.parseIdentifier();
            if (!o && l.name === "async" && !this.canInsertSemicolon()) {
              let {
                type: u
              } = this.state;
              if (u === 68)
                return this.resetPreviousNodeTrailingComments(l), this.next(), this.parseAsyncFunctionExpression(this.startNodeAtNode(l));
              if (ar(u))
                return this.lookaheadCharCode() === 61 ? this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(l)) : l;
              if (u === 90)
                return this.resetPreviousNodeTrailingComments(l), this.parseDo(this.startNodeAtNode(l), !0);
            }
            return a && this.match(19) && !this.canInsertSemicolon() ? (this.next(), this.parseArrowExpression(this.startNodeAtNode(l), [l],
            !1)) : l;
          } else
            this.unexpected();
      }
    }
    parseTopicReferenceThenEqualsSign(e, s) {
      let r = this.getPluginOption("pipelineOperator", "proposal");
      if (r)
        return this.state.type = e, this.state.value = s, this.state.pos--, this.state.end--, this.state.endLoc = Hn(this.state.endLoc, -1),
        this.parseTopicReference(r);
      this.unexpected();
    }
    parseTopicReference(e) {
      let s = this.startNode(), r = this.state.startLoc, i = this.state.type;
      return this.next(), this.finishTopicReference(s, r, e, i);
    }
    finishTopicReference(e, s, r, i) {
      if (this.testTopicReferenceConfiguration(r, s, i)) {
        let a = r === "smart" ? "PipelinePrimaryTopicReference" : "TopicReference";
        return this.topicReferenceIsAllowedInCurrentContext() || this.raise(r === "smart" ? se.PrimaryTopicNotAllowed : se.PipeTopicUnbound,
        s), this.registerTopicReference(), this.finishNode(e, a);
      } else
        throw this.raise(se.PipeTopicUnconfiguredToken, s, {
          token: Kp(i)
        });
    }
    testTopicReferenceConfiguration(e, s, r) {
      switch (e) {
        case "hack":
          return this.hasPlugin(["pipelineOperator", {
            topicToken: Kp(r)
          }]);
        case "smart":
          return r === 27;
        default:
          throw this.raise(se.PipeTopicRequiresHackPipes, s);
      }
    }
    parseAsyncArrowUnaryFunction(e) {
      this.prodParam.enter(yv(!0, this.prodParam.hasYield));
      let s = [this.parseIdentifier()];
      return this.prodParam.exit(), this.hasPrecedingLineBreak() && this.raise(se.LineTerminatorBeforeArrow, this.state.curPosition()), this.
      expect(19), this.parseArrowExpression(e, s, !0);
    }
    parseDo(e, s) {
      this.expectPlugin("doExpressions"), s && this.expectPlugin("asyncDoExpressions"), e.async = s, this.next();
      let r = this.state.labels;
      return this.state.labels = [], s ? (this.prodParam.enter(2), e.body = this.parseBlock(), this.prodParam.exit()) : e.body = this.parseBlock(),
      this.state.labels = r, this.finishNode(e, "DoExpression");
    }
    parseSuper() {
      let e = this.startNode();
      return this.next(), this.match(10) && !this.scope.allowDirectSuper && !(this.optionFlags & 16) ? this.raise(se.SuperNotAllowed, e) : !this.
      scope.allowSuper && !(this.optionFlags & 16) && this.raise(se.UnexpectedSuper, e), !this.match(10) && !this.match(0) && !this.match(16) &&
      this.raise(se.UnsupportedSuper, e), this.finishNode(e, "Super");
    }
    parsePrivateName() {
      let e = this.startNode(), s = this.startNodeAt(Hn(this.state.startLoc, 1)), r = this.state.value;
      return this.next(), e.id = this.createIdentifier(s, r), this.finishNode(e, "PrivateName");
    }
    parseFunctionOrFunctionSent() {
      let e = this.startNode();
      if (this.next(), this.prodParam.hasYield && this.match(16)) {
        let s = this.createIdentifier(this.startNodeAtNode(e), "function");
        return this.next(), this.match(103) ? this.expectPlugin("functionSent") : this.hasPlugin("functionSent") || this.unexpected(), this.
        parseMetaProperty(e, s, "sent");
      }
      return this.parseFunction(e);
    }
    parseMetaProperty(e, s, r) {
      e.meta = s;
      let i = this.state.containsEsc;
      return e.property = this.parseIdentifier(!0), (e.property.name !== r || i) && this.raise(se.UnsupportedMetaProperty, e.property, {
        target: s.name,
        onlyValidPropertyName: r
      }), this.finishNode(e, "MetaProperty");
    }
    parseImportMetaProperty(e) {
      let s = this.createIdentifier(this.startNodeAtNode(e), "import");
      if (this.next(), this.isContextual(101))
        this.inModule || this.raise(se.ImportMetaOutsideModule, s), this.sawUnambiguousESM = !0;
      else if (this.isContextual(105) || this.isContextual(97)) {
        let r = this.isContextual(105);
        if (this.expectPlugin(r ? "sourcePhaseImports" : "deferredImportEvaluation"), !(this.optionFlags & 256))
          throw this.raise(se.DynamicImportPhaseRequiresImportExpressions, this.state.startLoc, {
            phase: this.state.value
          });
        return this.next(), e.phase = r ? "source" : "defer", this.parseImportCall(e);
      }
      return this.parseMetaProperty(e, s, "meta");
    }
    parseLiteralAtNode(e, s, r) {
      return this.addExtra(r, "rawValue", e), this.addExtra(r, "raw", this.input.slice(this.offsetToSourcePos(r.start), this.state.end)), r.
      value = e, this.next(), this.finishNode(r, s);
    }
    parseLiteral(e, s) {
      let r = this.startNode();
      return this.parseLiteralAtNode(e, s, r);
    }
    parseStringLiteral(e) {
      return this.parseLiteral(e, "StringLiteral");
    }
    parseNumericLiteral(e) {
      return this.parseLiteral(e, "NumericLiteral");
    }
    parseBigIntLiteral(e) {
      return this.parseLiteral(e, "BigIntLiteral");
    }
    parseDecimalLiteral(e) {
      return this.parseLiteral(e, "DecimalLiteral");
    }
    parseRegExpLiteral(e) {
      let s = this.startNode();
      return this.addExtra(s, "raw", this.input.slice(this.offsetToSourcePos(s.start), this.state.end)), s.pattern = e.pattern, s.flags = e.
      flags, this.next(), this.finishNode(s, "RegExpLiteral");
    }
    parseBooleanLiteral(e) {
      let s = this.startNode();
      return s.value = e, this.next(), this.finishNode(s, "BooleanLiteral");
    }
    parseNullLiteral() {
      let e = this.startNode();
      return this.next(), this.finishNode(e, "NullLiteral");
    }
    parseParenAndDistinguishExpression(e) {
      let s = this.state.startLoc, r;
      this.next(), this.expressionScope.enter(Hfs());
      let i = this.state.maybeInArrowParameters, a = this.state.inFSharpPipelineDirectBody;
      this.state.maybeInArrowParameters = !0, this.state.inFSharpPipelineDirectBody = !1;
      let o = this.state.startLoc, l = [], u = new my(), c = !0, p, h;
      for (; !this.match(11); ) {
        if (c)
          c = !1;
        else if (this.expect(12, u.optionalParametersLoc === null ? null : u.optionalParametersLoc), this.match(11)) {
          h = this.state.startLoc;
          break;
        }
        if (this.match(21)) {
          let m = this.state.startLoc;
          if (p = this.state.startLoc, l.push(this.parseParenItem(this.parseRestBinding(), m)), !this.checkCommaAfterRest(41))
            break;
        } else
          l.push(this.parseMaybeAssignAllowIn(u, this.parseParenItem));
      }
      let f = this.state.lastTokEndLoc;
      this.expect(11), this.state.maybeInArrowParameters = i, this.state.inFSharpPipelineDirectBody = a;
      let d = this.startNodeAt(s);
      return e && this.shouldParseArrow(l) && (d = this.parseArrow(d)) ? (this.checkDestructuringPrivate(u), this.expressionScope.validateAsPattern(),
      this.expressionScope.exit(), this.parseArrowExpression(d, l, !1), d) : (this.expressionScope.exit(), l.length || this.unexpected(this.
      state.lastTokStartLoc), h && this.unexpected(h), p && this.unexpected(p), this.checkExpressionErrors(u, !0), this.toReferencedListDeep(
      l, !0), l.length > 1 ? (r = this.startNodeAt(o), r.expressions = l, this.finishNode(r, "SequenceExpression"), this.resetEndLocation(r,
      f)) : r = l[0], this.wrapParenthesis(s, r));
    }
    wrapParenthesis(e, s) {
      if (!(this.optionFlags & 512))
        return this.addExtra(s, "parenthesized", !0), this.addExtra(s, "parenStart", e.index), this.takeSurroundingComments(s, e.index, this.
        state.lastTokEndLoc.index), s;
      let r = this.startNodeAt(e);
      return r.expression = s, this.finishNode(r, "ParenthesizedExpression");
    }
    shouldParseArrow(e) {
      return !this.canInsertSemicolon();
    }
    parseArrow(e) {
      if (this.eat(19))
        return e;
    }
    parseParenItem(e, s) {
      return e;
    }
    parseNewOrNewTarget() {
      let e = this.startNode();
      if (this.next(), this.match(16)) {
        let s = this.createIdentifier(this.startNodeAtNode(e), "new");
        this.next();
        let r = this.parseMetaProperty(e, s, "target");
        return !this.scope.inNonArrowFunction && !this.scope.inClass && !(this.optionFlags & 4) && this.raise(se.UnexpectedNewTarget, r), r;
      }
      return this.parseNew(e);
    }
    parseNew(e) {
      if (this.parseNewCallee(e), this.eat(10)) {
        let s = this.parseExprList(11);
        this.toReferencedList(s), e.arguments = s;
      } else
        e.arguments = [];
      return this.finishNode(e, "NewExpression");
    }
    parseNewCallee(e) {
      let s = this.match(83), r = this.parseNoCallExpr();
      e.callee = r, s && (r.type === "Import" || r.type === "ImportExpression") && this.raise(se.ImportCallNotNewExpression, r);
    }
    parseTemplateElement(e) {
      let {
        start: s,
        startLoc: r,
        end: i,
        value: a
      } = this.state, o = s + 1, l = this.startNodeAt(Hn(r, 1));
      a === null && (e || this.raise(se.InvalidEscapeSequenceTemplate, Hn(this.state.firstInvalidTemplateEscapePos, 1)));
      let u = this.match(24), c = u ? -1 : -2, p = i + c;
      l.value = {
        raw: this.input.slice(o, p).replace(/\r\n?/g, `
`),
        cooked: a === null ? null : a.slice(1, c)
      }, l.tail = u, this.next();
      let h = this.finishNode(l, "TemplateElement");
      return this.resetEndLocation(h, Hn(this.state.lastTokEndLoc, c)), h;
    }
    parseTemplate(e) {
      let s = this.startNode(), r = this.parseTemplateElement(e), i = [r], a = [];
      for (; !r.tail; )
        a.push(this.parseTemplateSubstitution()), this.readTemplateContinuation(), i.push(r = this.parseTemplateElement(e));
      return s.expressions = a, s.quasis = i, this.finishNode(s, "TemplateLiteral");
    }
    parseTemplateSubstitution() {
      return this.parseExpression();
    }
    parseObjectLike(e, s, r, i) {
      r && this.expectPlugin("recordAndTuple");
      let a = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !1;
      let o = /* @__PURE__ */ Object.create(null), l = !0, u = this.startNode();
      for (u.properties = [], this.next(); !this.match(e); ) {
        if (l)
          l = !1;
        else if (this.expect(12), this.match(e)) {
          this.addTrailingCommaExtraToNode(u);
          break;
        }
        let p;
        s ? p = this.parseBindingProperty() : (p = this.parsePropertyDefinition(i), this.checkProto(p, r, o, i)), r && !this.isObjectProperty(
        p) && p.type !== "SpreadElement" && this.raise(se.InvalidRecordProperty, p), p.shorthand && this.addExtra(p, "shorthand", !0), u.properties.
        push(p);
      }
      this.next(), this.state.inFSharpPipelineDirectBody = a;
      let c = "ObjectExpression";
      return s ? c = "ObjectPattern" : r && (c = "RecordExpression"), this.finishNode(u, c);
    }
    addTrailingCommaExtraToNode(e) {
      this.addExtra(e, "trailingComma", this.state.lastTokStartLoc.index), this.addExtra(e, "trailingCommaLoc", this.state.lastTokStartLoc, !1);
    }
    maybeAsyncOrAccessorProp(e) {
      return !e.computed && e.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(0) || this.match(55));
    }
    parsePropertyDefinition(e) {
      let s = [];
      if (this.match(26))
        for (this.hasPlugin("decorators") && this.raise(se.UnsupportedPropertyDecorator, this.state.startLoc); this.match(26); )
          s.push(this.parseDecorator());
      let r = this.startNode(), i = !1, a = !1, o;
      if (this.match(21))
        return s.length && this.unexpected(), this.parseSpread();
      s.length && (r.decorators = s, s = []), r.method = !1, e && (o = this.state.startLoc);
      let l = this.eat(55);
      this.parsePropertyNamePrefixOperator(r);
      let u = this.state.containsEsc;
      if (this.parsePropertyName(r, e), !l && !u && this.maybeAsyncOrAccessorProp(r)) {
        let {
          key: c
        } = r, p = c.name;
        p === "async" && !this.hasPrecedingLineBreak() && (i = !0, this.resetPreviousNodeTrailingComments(c), l = this.eat(55), this.parsePropertyName(
        r)), (p === "get" || p === "set") && (a = !0, this.resetPreviousNodeTrailingComments(c), r.kind = p, this.match(55) && (l = !0, this.
        raise(se.AccessorIsGenerator, this.state.curPosition(), {
          kind: p
        }), this.next()), this.parsePropertyName(r));
      }
      return this.parseObjPropValue(r, o, l, i, !1, a, e);
    }
    getGetterSetterExpectedParamCount(e) {
      return e.kind === "get" ? 0 : 1;
    }
    getObjectOrClassMethodParams(e) {
      return e.params;
    }
    checkGetterSetterParams(e) {
      var s;
      let r = this.getGetterSetterExpectedParamCount(e), i = this.getObjectOrClassMethodParams(e);
      i.length !== r && this.raise(e.kind === "get" ? se.BadGetterArity : se.BadSetterArity, e), e.kind === "set" && ((s = i[i.length - 1]) ==
      null ? void 0 : s.type) === "RestElement" && this.raise(se.BadSetterRestParameter, e);
    }
    parseObjectMethod(e, s, r, i, a) {
      if (a) {
        let o = this.parseMethod(e, s, !1, !1, !1, "ObjectMethod");
        return this.checkGetterSetterParams(o), o;
      }
      if (r || s || this.match(10))
        return i && this.unexpected(), e.kind = "method", e.method = !0, this.parseMethod(e, s, r, !1, !1, "ObjectMethod");
    }
    parseObjectProperty(e, s, r, i) {
      if (e.shorthand = !1, this.eat(14))
        return e.value = r ? this.parseMaybeDefault(this.state.startLoc) : this.parseMaybeAssignAllowIn(i), this.finishNode(e, "ObjectProper\
ty");
      if (!e.computed && e.key.type === "Identifier") {
        if (this.checkReservedWord(e.key.name, e.key.loc.start, !0, !1), r)
          e.value = this.parseMaybeDefault(s, fc(e.key));
        else if (this.match(29)) {
          let a = this.state.startLoc;
          i != null ? i.shorthandAssignLoc === null && (i.shorthandAssignLoc = a) : this.raise(se.InvalidCoverInitializedName, a), e.value =
          this.parseMaybeDefault(s, fc(e.key));
        } else
          e.value = fc(e.key);
        return e.shorthand = !0, this.finishNode(e, "ObjectProperty");
      }
    }
    parseObjPropValue(e, s, r, i, a, o, l) {
      let u = this.parseObjectMethod(e, r, i, a, o) || this.parseObjectProperty(e, s, a, l);
      return u || this.unexpected(), u;
    }
    parsePropertyName(e, s) {
      if (this.eat(0))
        e.computed = !0, e.key = this.parseMaybeAssignAllowIn(), this.expect(3);
      else {
        let {
          type: r,
          value: i
        } = this.state, a;
        if (qo(r))
          a = this.parseIdentifier(!0);
        else
          switch (r) {
            case 135:
              a = this.parseNumericLiteral(i);
              break;
            case 134:
              a = this.parseStringLiteral(i);
              break;
            case 136:
              a = this.parseBigIntLiteral(i);
              break;
            case 139: {
              let o = this.state.startLoc;
              s != null ? s.privateKeyLoc === null && (s.privateKeyLoc = o) : this.raise(se.UnexpectedPrivateField, o), a = this.parsePrivateName();
              break;
            }
            default:
              if (r === 137) {
                a = this.parseDecimalLiteral(i);
                break;
              }
              this.unexpected();
          }
        e.key = a, r !== 139 && (e.computed = !1);
      }
    }
    initFunction(e, s) {
      e.id = null, e.generator = !1, e.async = s;
    }
    parseMethod(e, s, r, i, a, o, l = !1) {
      this.initFunction(e, r), e.generator = s, this.scope.enter(18 | (l ? 64 : 0) | (a ? 32 : 0)), this.prodParam.enter(yv(r, e.generator)),
      this.parseFunctionParams(e, i);
      let u = this.parseFunctionBodyAndFinish(e, o, !0);
      return this.prodParam.exit(), this.scope.exit(), u;
    }
    parseArrayLike(e, s, r, i) {
      r && this.expectPlugin("recordAndTuple");
      let a = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !1;
      let o = this.startNode();
      return this.next(), o.elements = this.parseExprList(e, !r, i, o), this.state.inFSharpPipelineDirectBody = a, this.finishNode(o, r ? "T\
upleExpression" : "ArrayExpression");
    }
    parseArrowExpression(e, s, r, i) {
      this.scope.enter(6);
      let a = yv(r, !1);
      !this.match(5) && this.prodParam.hasIn && (a |= 8), this.prodParam.enter(a), this.initFunction(e, r);
      let o = this.state.maybeInArrowParameters;
      return s && (this.state.maybeInArrowParameters = !0, this.setArrowFunctionParameters(e, s, i)), this.state.maybeInArrowParameters = !1,
      this.parseFunctionBody(e, !0), this.prodParam.exit(), this.scope.exit(), this.state.maybeInArrowParameters = o, this.finishNode(e, "Ar\
rowFunctionExpression");
    }
    setArrowFunctionParameters(e, s, r) {
      this.toAssignableList(s, r, !1), e.params = s;
    }
    parseFunctionBodyAndFinish(e, s, r = !1) {
      return this.parseFunctionBody(e, !1, r), this.finishNode(e, s);
    }
    parseFunctionBody(e, s, r = !1) {
      let i = s && !this.match(5);
      if (this.expressionScope.enter(Jfe()), i)
        e.body = this.parseMaybeAssign(), this.checkParams(e, !1, s, !1);
      else {
        let a = this.state.strict, o = this.state.labels;
        this.state.labels = [], this.prodParam.enter(this.prodParam.currentFlags() | 4), e.body = this.parseBlock(!0, !1, (l) => {
          let u = !this.isSimpleParamList(e.params);
          l && u && this.raise(se.IllegalLanguageModeDirective, (e.kind === "method" || e.kind === "constructor") && e.key ? e.key.loc.end :
          e);
          let c = !a && this.state.strict;
          this.checkParams(e, !this.state.strict && !s && !r && !u, s, c), this.state.strict && e.id && this.checkIdentifier(e.id, 65, c);
        }), this.prodParam.exit(), this.state.labels = o;
      }
      this.expressionScope.exit();
    }
    isSimpleParameter(e) {
      return e.type === "Identifier";
    }
    isSimpleParamList(e) {
      for (let s = 0, r = e.length; s < r; s++)
        if (!this.isSimpleParameter(e[s])) return !1;
      return !0;
    }
    checkParams(e, s, r, i = !0) {
      let a = !s && /* @__PURE__ */ new Set(), o = {
        type: "FormalParameters"
      };
      for (let l of e.params)
        this.checkLVal(l, o, 5, a, i);
    }
    parseExprList(e, s, r, i) {
      let a = [], o = !0;
      for (; !this.eat(e); ) {
        if (o)
          o = !1;
        else if (this.expect(12), this.match(e)) {
          i && this.addTrailingCommaExtraToNode(i), this.next();
          break;
        }
        a.push(this.parseExprListItem(s, r));
      }
      return a;
    }
    parseExprListItem(e, s, r) {
      let i;
      if (this.match(12))
        e || this.raise(se.UnexpectedToken, this.state.curPosition(), {
          unexpected: ","
        }), i = null;
      else if (this.match(21)) {
        let a = this.state.startLoc;
        i = this.parseParenItem(this.parseSpread(s), a);
      } else if (this.match(17)) {
        this.expectPlugin("partialApplication"), r || this.raise(se.UnexpectedArgumentPlaceholder, this.state.startLoc);
        let a = this.startNode();
        this.next(), i = this.finishNode(a, "ArgumentPlaceholder");
      } else
        i = this.parseMaybeAssignAllowIn(s, this.parseParenItem);
      return i;
    }
    parseIdentifier(e) {
      let s = this.startNode(), r = this.parseIdentifierName(e);
      return this.createIdentifier(s, r);
    }
    createIdentifier(e, s) {
      return e.name = s, e.loc.identifierName = s, this.finishNode(e, "Identifier");
    }
    parseIdentifierName(e) {
      let s, {
        startLoc: r,
        type: i
      } = this.state;
      qo(i) ? s = this.state.value : this.unexpected();
      let a = Tfs(i);
      return e ? a && this.replaceToken(132) : this.checkReservedWord(s, r, a, !1), this.next(), s;
    }
    checkReservedWord(e, s, r, i) {
      if (e.length > 10 || !Ffs(e))
        return;
      if (r && Lfs(e)) {
        this.raise(se.UnexpectedKeyword, s, {
          keyword: e
        });
        return;
      }
      if ((this.state.strict ? i ? Vfe : Ufe : qfe)(e, this.inModule)) {
        this.raise(se.UnexpectedReservedWord, s, {
          reservedWord: e
        });
        return;
      } else if (e === "yield") {
        if (this.prodParam.hasYield) {
          this.raise(se.YieldBindingIdentifier, s);
          return;
        }
      } else if (e === "await") {
        if (this.prodParam.hasAwait) {
          this.raise(se.AwaitBindingIdentifier, s);
          return;
        }
        if (this.scope.inStaticBlock) {
          this.raise(se.AwaitBindingIdentifierInStaticBlock, s);
          return;
        }
        this.expressionScope.recordAsyncArrowParametersError(s);
      } else if (e === "arguments" && this.scope.inClassAndNotInNonArrowFunction) {
        this.raise(se.ArgumentsInClass, s);
        return;
      }
    }
    recordAwaitIfAllowed() {
      let e = this.prodParam.hasAwait || this.optionFlags & 1 && !this.scope.inFunction;
      return e && !this.scope.inFunction && (this.state.hasTopLevelAwait = !0), e;
    }
    parseAwait(e) {
      let s = this.startNodeAt(e);
      return this.expressionScope.recordParameterInitializerError(se.AwaitExpressionFormalParameter, s), this.eat(55) && this.raise(se.ObsoleteAwaitStar,
      s), !this.scope.inFunction && !(this.optionFlags & 1) && (this.isAmbiguousAwait() ? this.ambiguousScriptDifferentAst = !0 : this.sawUnambiguousESM =
      !0), this.state.soloAwait || (s.argument = this.parseMaybeUnary(null, !0)), this.finishNode(s, "AwaitExpression");
    }
    isAmbiguousAwait() {
      if (this.hasPrecedingLineBreak()) return !0;
      let {
        type: e
      } = this.state;
      return e === 53 || e === 10 || e === 0 || Tv(e) || e === 102 && !this.state.containsEsc || e === 138 || e === 56 || this.hasPlugin("v8\
intrinsic") && e === 54;
    }
    parseYield() {
      let e = this.startNode();
      this.expressionScope.recordParameterInitializerError(se.YieldInParameter, e), this.next();
      let s = !1, r = null;
      if (!this.hasPrecedingLineBreak())
        switch (s = this.eat(55), this.state.type) {
          case 13:
          case 140:
          case 8:
          case 11:
          case 3:
          case 9:
          case 14:
          case 12:
            if (!s) break;
          default:
            r = this.parseMaybeAssign();
        }
      return e.delegate = s, e.argument = r, this.finishNode(e, "YieldExpression");
    }
    parseImportCall(e) {
      if (this.next(), e.source = this.parseMaybeAssignAllowIn(), e.options = null, this.eat(12) && !this.match(11) && (e.options = this.parseMaybeAssignAllowIn(),
      this.eat(12) && !this.match(11))) {
        do
          this.parseMaybeAssignAllowIn();
        while (this.eat(12) && !this.match(11));
        this.raise(se.ImportCallArity, e);
      }
      return this.expect(11), this.finishNode(e, "ImportExpression");
    }
    checkPipelineAtInfixOperator(e, s) {
      this.hasPlugin(["pipelineOperator", {
        proposal: "smart"
      }]) && e.type === "SequenceExpression" && this.raise(se.PipelineHeadSequenceExpression, s);
    }
    parseSmartPipelineBodyInStyle(e, s) {
      if (this.isSimpleReference(e)) {
        let r = this.startNodeAt(s);
        return r.callee = e, this.finishNode(r, "PipelineBareFunction");
      } else {
        let r = this.startNodeAt(s);
        return this.checkSmartPipeTopicBodyEarlyErrors(s), r.expression = e, this.finishNode(r, "PipelineTopicExpression");
      }
    }
    isSimpleReference(e) {
      switch (e.type) {
        case "MemberExpression":
          return !e.computed && this.isSimpleReference(e.object);
        case "Identifier":
          return !0;
        default:
          return !1;
      }
    }
    checkSmartPipeTopicBodyEarlyErrors(e) {
      if (this.match(19))
        throw this.raise(se.PipelineBodyNoArrow, this.state.startLoc);
      this.topicReferenceWasUsedInCurrentContext() || this.raise(se.PipelineTopicUnused, e);
    }
    withTopicBindingContext(e) {
      let s = this.state.topicContext;
      this.state.topicContext = {
        maxNumOfResolvableTopics: 1,
        maxTopicIndex: null
      };
      try {
        return e();
      } finally {
        this.state.topicContext = s;
      }
    }
    withSmartMixTopicForbiddingContext(e) {
      if (this.hasPlugin(["pipelineOperator", {
        proposal: "smart"
      }])) {
        let s = this.state.topicContext;
        this.state.topicContext = {
          maxNumOfResolvableTopics: 0,
          maxTopicIndex: null
        };
        try {
          return e();
        } finally {
          this.state.topicContext = s;
        }
      } else
        return e();
    }
    withSoloAwaitPermittingContext(e) {
      let s = this.state.soloAwait;
      this.state.soloAwait = !0;
      try {
        return e();
      } finally {
        this.state.soloAwait = s;
      }
    }
    allowInAnd(e) {
      let s = this.prodParam.currentFlags();
      if (8 & ~s) {
        this.prodParam.enter(s | 8);
        try {
          return e();
        } finally {
          this.prodParam.exit();
        }
      }
      return e();
    }
    disallowInAnd(e) {
      let s = this.prodParam.currentFlags();
      if (8 & s) {
        this.prodParam.enter(s & -9);
        try {
          return e();
        } finally {
          this.prodParam.exit();
        }
      }
      return e();
    }
    registerTopicReference() {
      this.state.topicContext.maxTopicIndex = 0;
    }
    topicReferenceIsAllowedInCurrentContext() {
      return this.state.topicContext.maxNumOfResolvableTopics >= 1;
    }
    topicReferenceWasUsedInCurrentContext() {
      return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0;
    }
    parseFSharpPipelineBody(e) {
      let s = this.state.startLoc;
      this.state.potentialArrowAt = this.state.start;
      let r = this.state.inFSharpPipelineDirectBody;
      this.state.inFSharpPipelineDirectBody = !0;
      let i = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), s, e);
      return this.state.inFSharpPipelineDirectBody = r, i;
    }
    parseModuleExpression() {
      this.expectPlugin("moduleBlocks");
      let e = this.startNode();
      this.next(), this.match(5) || this.unexpected(null, 5);
      let s = this.startNodeAt(this.state.endLoc);
      this.next();
      let r = this.initializeScopes(!0);
      this.enterInitialScopes();
      try {
        e.body = this.parseProgram(s, 8, "module");
      } finally {
        r();
      }
      return this.finishNode(e, "ModuleExpression");
    }
    parsePropertyNamePrefixOperator(e) {
    }
  }, V6 = {
    kind: 1
  }, mds = {
    kind: 2
  }, yds = /[\uD800-\uDFFF]/u, W6 = /in(?:stanceof)?/y;
  function gds(t, e, s) {
    for (let r = 0; r < t.length; r++) {
      let i = t[r], {
        type: a
      } = i;
      if (typeof a == "number") {
        {
          if (a === 139) {
            let {
              loc: o,
              start: l,
              value: u,
              end: c
            } = i, p = l + 1, h = Hn(o.start, 1);
            t.splice(r, 1, new kl({
              type: uc(27),
              value: "#",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            }), new kl({
              type: uc(132),
              value: u,
              start: p,
              end: c,
              startLoc: h,
              endLoc: o.end
            })), r++;
            continue;
          }
          if (Tv(a)) {
            let {
              loc: o,
              start: l,
              value: u,
              end: c
            } = i, p = l + 1, h = Hn(o.start, 1), f;
            e.charCodeAt(l - s) === 96 ? f = new kl({
              type: uc(22),
              value: "`",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            }) : f = new kl({
              type: uc(8),
              value: "}",
              start: l,
              end: p,
              startLoc: o.start,
              endLoc: h
            });
            let d, m, y, T;
            a === 24 ? (m = c - 1, y = Hn(o.end, -1), d = u === null ? null : u.slice(1, -1), T = new kl({
              type: uc(22),
              value: "`",
              start: m,
              end: c,
              startLoc: y,
              endLoc: o.end
            })) : (m = c - 2, y = Hn(o.end, -2), d = u === null ? null : u.slice(1, -2), T = new kl({
              type: uc(23),
              value: "${",
              start: m,
              end: c,
              startLoc: y,
              endLoc: o.end
            })), t.splice(r, 1, f, new kl({
              type: uc(20),
              value: d,
              start: p,
              end: m,
              startLoc: h,
              endLoc: y
            }), T), r += 2;
            continue;
          }
        }
        i.type = uc(a);
      }
    }
    return t;
  }
  n(gds, "babel7CompatTokens");
  var cR = class extends uR {
    static {
      n(this, "StatementParser");
    }
    parseTopLevel(e, s) {
      return e.program = this.parseProgram(s), e.comments = this.comments, this.optionFlags & 128 && (e.tokens = gds(this.tokens, this.input,
      this.startIndex)), this.finishNode(e, "File");
    }
    parseProgram(e, s = 140, r = this.options.sourceType) {
      if (e.sourceType = r, e.interpreter = this.parseInterpreterDirective(), this.parseBlockBody(e, !0, !0, s), this.inModule) {
        if (!(this.optionFlags & 32) && this.scope.undefinedExports.size > 0)
          for (let [a, o] of Array.from(this.scope.undefinedExports))
            this.raise(se.ModuleExportUndefined, o, {
              localName: a
            });
        this.addExtra(e, "topLevelAwait", this.state.hasTopLevelAwait);
      }
      let i;
      return s === 140 ? i = this.finishNode(e, "Program") : i = this.finishNodeAt(e, "Program", Hn(this.state.startLoc, -1)), i;
    }
    stmtToDirective(e) {
      let s = e;
      s.type = "Directive", s.value = s.expression, delete s.expression;
      let r = s.value, i = r.value, a = this.input.slice(this.offsetToSourcePos(r.start), this.offsetToSourcePos(r.end)), o = r.value = a.slice(
      1, -1);
      return this.addExtra(r, "raw", a), this.addExtra(r, "rawValue", o), this.addExtra(r, "expressionValue", i), r.type = "DirectiveLiteral",
      s;
    }
    parseInterpreterDirective() {
      if (!this.match(28))
        return null;
      let e = this.startNode();
      return e.value = this.state.value, this.next(), this.finishNode(e, "InterpreterDirective");
    }
    isLet() {
      return this.isContextual(100) ? this.hasFollowingBindingAtom() : !1;
    }
    chStartsBindingIdentifier(e, s) {
      if (pc(e)) {
        if (W6.lastIndex = s, W6.test(this.input)) {
          let r = this.codePointAtPos(W6.lastIndex);
          if (!fy(r) && r !== 92)
            return !1;
        }
        return !0;
      } else return e === 92;
    }
    chStartsBindingPattern(e) {
      return e === 91 || e === 123;
    }
    hasFollowingBindingAtom() {
      let e = this.nextTokenStart(), s = this.codePointAtPos(e);
      return this.chStartsBindingPattern(s) || this.chStartsBindingIdentifier(s, e);
    }
    hasInLineFollowingBindingIdentifierOrBrace() {
      let e = this.nextTokenInLineStart(), s = this.codePointAtPos(e);
      return s === 123 || this.chStartsBindingIdentifier(s, e);
    }
    startsUsingForOf() {
      let {
        type: e,
        containsEsc: s
      } = this.lookahead();
      if (e === 102 && !s)
        return !1;
      if (ar(e) && !this.hasFollowingLineBreak())
        return this.expectPlugin("explicitResourceManagement"), !0;
    }
    startsAwaitUsing() {
      let e = this.nextTokenInLineStart();
      if (this.isUnparsedContextual(e, "using")) {
        e = this.nextTokenInLineStartSince(e + 5);
        let s = this.codePointAtPos(e);
        if (this.chStartsBindingIdentifier(s, e))
          return this.expectPlugin("explicitResourceManagement"), !0;
      }
      return !1;
    }
    parseModuleItem() {
      return this.parseStatementLike(15);
    }
    parseStatementListItem() {
      return this.parseStatementLike(6 | (!this.options.annexB || this.state.strict ? 0 : 8));
    }
    parseStatementOrSloppyAnnexBFunctionDeclaration(e = !1) {
      let s = 0;
      return this.options.annexB && !this.state.strict && (s |= 4, e && (s |= 8)), this.parseStatementLike(s);
    }
    parseStatement() {
      return this.parseStatementLike(0);
    }
    parseStatementLike(e) {
      let s = null;
      return this.match(26) && (s = this.parseDecorators(!0)), this.parseStatementContent(e, s);
    }
    parseStatementContent(e, s) {
      let r = this.state.type, i = this.startNode(), a = !!(e & 2), o = !!(e & 4), l = e & 1;
      switch (r) {
        case 60:
          return this.parseBreakContinueStatement(i, !0);
        case 63:
          return this.parseBreakContinueStatement(i, !1);
        case 64:
          return this.parseDebuggerStatement(i);
        case 90:
          return this.parseDoWhileStatement(i);
        case 91:
          return this.parseForStatement(i);
        case 68:
          if (this.lookaheadCharCode() === 46) break;
          return o || this.raise(this.state.strict ? se.StrictFunction : this.options.annexB ? se.SloppyFunctionAnnexB : se.SloppyFunction, this.
          state.startLoc), this.parseFunctionStatement(i, !1, !a && o);
        case 80:
          return a || this.unexpected(), this.parseClass(this.maybeTakeDecorators(s, i), !0);
        case 69:
          return this.parseIfStatement(i);
        case 70:
          return this.parseReturnStatement(i);
        case 71:
          return this.parseSwitchStatement(i);
        case 72:
          return this.parseThrowStatement(i);
        case 73:
          return this.parseTryStatement(i);
        case 96:
          if (!this.state.containsEsc && this.startsAwaitUsing())
            return this.recordAwaitIfAllowed() ? a || this.raise(se.UnexpectedLexicalDeclaration, i) : this.raise(se.AwaitUsingNotInAsyncContext,
            i), this.next(), this.parseVarStatement(i, "await using");
          break;
        case 107:
          if (this.state.containsEsc || !this.hasInLineFollowingBindingIdentifierOrBrace())
            break;
          return this.expectPlugin("explicitResourceManagement"), !this.scope.inModule && this.scope.inTopLevel ? this.raise(se.UnexpectedUsingDeclaration,
          this.state.startLoc) : a || this.raise(se.UnexpectedLexicalDeclaration, this.state.startLoc), this.parseVarStatement(i, "using");
        case 100: {
          if (this.state.containsEsc)
            break;
          let p = this.nextTokenStart(), h = this.codePointAtPos(p);
          if (h !== 91 && (!a && this.hasFollowingLineBreak() || !this.chStartsBindingIdentifier(h, p) && h !== 123))
            break;
        }
        case 75:
          a || this.raise(se.UnexpectedLexicalDeclaration, this.state.startLoc);
        case 74: {
          let p = this.state.value;
          return this.parseVarStatement(i, p);
        }
        case 92:
          return this.parseWhileStatement(i);
        case 76:
          return this.parseWithStatement(i);
        case 5:
          return this.parseBlock();
        case 13:
          return this.parseEmptyStatement(i);
        case 83: {
          let p = this.lookaheadCharCode();
          if (p === 40 || p === 46)
            break;
        }
        case 82: {
          !(this.optionFlags & 8) && !l && this.raise(se.UnexpectedImportExport, this.state.startLoc), this.next();
          let p;
          return r === 83 ? (p = this.parseImport(i), p.type === "ImportDeclaration" && (!p.importKind || p.importKind === "value") && (this.
          sawUnambiguousESM = !0)) : (p = this.parseExport(i, s), (p.type === "ExportNamedDeclaration" && (!p.exportKind || p.exportKind ===
          "value") || p.type === "ExportAllDeclaration" && (!p.exportKind || p.exportKind === "value") || p.type === "ExportDefaultDeclarati\
on") && (this.sawUnambiguousESM = !0)), this.assertModuleNodeAllowed(p), p;
        }
        default:
          if (this.isAsyncFunction())
            return a || this.raise(se.AsyncFunctionInSingleStatementContext, this.state.startLoc), this.next(), this.parseFunctionStatement(
            i, !0, !a && o);
      }
      let u = this.state.value, c = this.parseExpression();
      return ar(r) && c.type === "Identifier" && this.eat(14) ? this.parseLabeledStatement(i, u, c, e) : this.parseExpressionStatement(i, c,
      s);
    }
    assertModuleNodeAllowed(e) {
      !(this.optionFlags & 8) && !this.inModule && this.raise(se.ImportOutsideModule, e);
    }
    decoratorsEnabledBeforeExport() {
      return this.hasPlugin("decorators-legacy") ? !0 : this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBefore\
Export") !== !1;
    }
    maybeTakeDecorators(e, s, r) {
      if (e) {
        var i;
        (i = s.decorators) != null && i.length ? (typeof this.getPluginOption("decorators", "decoratorsBeforeExport") != "boolean" && this.raise(
        se.DecoratorsBeforeAfterExport, s.decorators[0]), s.decorators.unshift(...e)) : s.decorators = e, this.resetStartLocationFromNode(s,
        e[0]), r && this.resetStartLocationFromNode(r, s);
      }
      return s;
    }
    canHaveLeadingDecorator() {
      return this.match(80);
    }
    parseDecorators(e) {
      let s = [];
      do
        s.push(this.parseDecorator());
      while (this.match(26));
      if (this.match(82))
        e || this.unexpected(), this.decoratorsEnabledBeforeExport() || this.raise(se.DecoratorExportClass, this.state.startLoc);
      else if (!this.canHaveLeadingDecorator())
        throw this.raise(se.UnexpectedLeadingDecorator, this.state.startLoc);
      return s;
    }
    parseDecorator() {
      this.expectOnePlugin(["decorators", "decorators-legacy"]);
      let e = this.startNode();
      if (this.next(), this.hasPlugin("decorators")) {
        let s = this.state.startLoc, r;
        if (this.match(10)) {
          let i = this.state.startLoc;
          this.next(), r = this.parseExpression(), this.expect(11), r = this.wrapParenthesis(i, r);
          let a = this.state.startLoc;
          e.expression = this.parseMaybeDecoratorArguments(r, i), this.getPluginOption("decorators", "allowCallParenthesized") === !1 && e.expression !==
          r && this.raise(se.DecoratorArgumentsOutsideParentheses, a);
        } else {
          for (r = this.parseIdentifier(!1); this.eat(16); ) {
            let i = this.startNodeAt(s);
            i.object = r, this.match(139) ? (this.classScope.usePrivateName(this.state.value, this.state.startLoc), i.property = this.parsePrivateName()) :
            i.property = this.parseIdentifier(!0), i.computed = !1, r = this.finishNode(i, "MemberExpression");
          }
          e.expression = this.parseMaybeDecoratorArguments(r, s);
        }
      } else
        e.expression = this.parseExprSubscripts();
      return this.finishNode(e, "Decorator");
    }
    parseMaybeDecoratorArguments(e, s) {
      if (this.eat(10)) {
        let r = this.startNodeAt(s);
        return r.callee = e, r.arguments = this.parseCallExpressionArguments(11), this.toReferencedList(r.arguments), this.finishNode(r, "Ca\
llExpression");
      }
      return e;
    }
    parseBreakContinueStatement(e, s) {
      return this.next(), this.isLineTerminator() ? e.label = null : (e.label = this.parseIdentifier(), this.semicolon()), this.verifyBreakContinue(
      e, s), this.finishNode(e, s ? "BreakStatement" : "ContinueStatement");
    }
    verifyBreakContinue(e, s) {
      let r;
      for (r = 0; r < this.state.labels.length; ++r) {
        let i = this.state.labels[r];
        if ((e.label == null || i.name === e.label.name) && (i.kind != null && (s || i.kind === 1) || e.label && s))
          break;
      }
      if (r === this.state.labels.length) {
        let i = s ? "BreakStatement" : "ContinueStatement";
        this.raise(se.IllegalBreakContinue, e, {
          type: i
        });
      }
    }
    parseDebuggerStatement(e) {
      return this.next(), this.semicolon(), this.finishNode(e, "DebuggerStatement");
    }
    parseHeaderExpression() {
      this.expect(10);
      let e = this.parseExpression();
      return this.expect(11), e;
    }
    parseDoWhileStatement(e) {
      return this.next(), this.state.labels.push(V6), e.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.state.
      labels.pop(), this.expect(92), e.test = this.parseHeaderExpression(), this.eat(13), this.finishNode(e, "DoWhileStatement");
    }
    parseForStatement(e) {
      this.next(), this.state.labels.push(V6);
      let s = null;
      if (this.isContextual(96) && this.recordAwaitIfAllowed() && (s = this.state.startLoc, this.next()), this.scope.enter(0), this.expect(10),
      this.match(13))
        return s !== null && this.unexpected(s), this.parseFor(e, null);
      let r = this.isContextual(100);
      {
        let u = this.isContextual(96) && this.startsAwaitUsing(), c = u || this.isContextual(107) && this.startsUsingForOf(), p = r && this.
        hasFollowingBindingAtom() || c;
        if (this.match(74) || this.match(75) || p) {
          let h = this.startNode(), f;
          u ? (f = "await using", this.recordAwaitIfAllowed() || this.raise(se.AwaitUsingNotInAsyncContext, this.state.startLoc), this.next()) :
          f = this.state.value, this.next(), this.parseVar(h, !0, f);
          let d = this.finishNode(h, "VariableDeclaration"), m = this.match(58);
          return m && c && this.raise(se.ForInUsing, d), (m || this.isContextual(102)) && d.declarations.length === 1 ? this.parseForIn(e, d,
          s) : (s !== null && this.unexpected(s), this.parseFor(e, d));
        }
      }
      let i = this.isContextual(95), a = new my(), o = this.parseExpression(!0, a), l = this.isContextual(102);
      if (l && (r && this.raise(se.ForOfLet, o), s === null && i && o.type === "Identifier" && this.raise(se.ForOfAsync, o)), l || this.match(
      58)) {
        this.checkDestructuringPrivate(a), this.toAssignable(o, !0);
        let u = l ? "ForOfStatement" : "ForInStatement";
        return this.checkLVal(o, {
          type: u
        }), this.parseForIn(e, o, s);
      } else
        this.checkExpressionErrors(a, !0);
      return s !== null && this.unexpected(s), this.parseFor(e, o);
    }
    parseFunctionStatement(e, s, r) {
      return this.next(), this.parseFunction(e, 1 | (r ? 2 : 0) | (s ? 8 : 0));
    }
    parseIfStatement(e) {
      return this.next(), e.test = this.parseHeaderExpression(), e.consequent = this.parseStatementOrSloppyAnnexBFunctionDeclaration(), e.alternate =
      this.eat(66) ? this.parseStatementOrSloppyAnnexBFunctionDeclaration() : null, this.finishNode(e, "IfStatement");
    }
    parseReturnStatement(e) {
      return !this.prodParam.hasReturn && !(this.optionFlags & 2) && this.raise(se.IllegalReturn, this.state.startLoc), this.next(), this.isLineTerminator() ?
      e.argument = null : (e.argument = this.parseExpression(), this.semicolon()), this.finishNode(e, "ReturnStatement");
    }
    parseSwitchStatement(e) {
      this.next(), e.discriminant = this.parseHeaderExpression();
      let s = e.cases = [];
      this.expect(5), this.state.labels.push(mds), this.scope.enter(0);
      let r;
      for (let i; !this.match(8); )
        if (this.match(61) || this.match(65)) {
          let a = this.match(61);
          r && this.finishNode(r, "SwitchCase"), s.push(r = this.startNode()), r.consequent = [], this.next(), a ? r.test = this.parseExpression() :
          (i && this.raise(se.MultipleDefaultsInSwitch, this.state.lastTokStartLoc), i = !0, r.test = null), this.expect(14);
        } else
          r ? r.consequent.push(this.parseStatementListItem()) : this.unexpected();
      return this.scope.exit(), r && this.finishNode(r, "SwitchCase"), this.next(), this.state.labels.pop(), this.finishNode(e, "SwitchState\
ment");
    }
    parseThrowStatement(e) {
      return this.next(), this.hasPrecedingLineBreak() && this.raise(se.NewlineAfterThrow, this.state.lastTokEndLoc), e.argument = this.parseExpression(),
      this.semicolon(), this.finishNode(e, "ThrowStatement");
    }
    parseCatchClauseParam() {
      let e = this.parseBindingAtom();
      return this.scope.enter(this.options.annexB && e.type === "Identifier" ? 8 : 0), this.checkLVal(e, {
        type: "CatchClause"
      }, 9), e;
    }
    parseTryStatement(e) {
      if (this.next(), e.block = this.parseBlock(), e.handler = null, this.match(62)) {
        let s = this.startNode();
        this.next(), this.match(10) ? (this.expect(10), s.param = this.parseCatchClauseParam(), this.expect(11)) : (s.param = null, this.scope.
        enter(0)), s.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(!1, !1)), this.scope.exit(), e.handler = this.finishNode(
        s, "CatchClause");
      }
      return e.finalizer = this.eat(67) ? this.parseBlock() : null, !e.handler && !e.finalizer && this.raise(se.NoCatchOrFinally, e), this.finishNode(
      e, "TryStatement");
    }
    parseVarStatement(e, s, r = !1) {
      return this.next(), this.parseVar(e, !1, s, r), this.semicolon(), this.finishNode(e, "VariableDeclaration");
    }
    parseWhileStatement(e) {
      return this.next(), e.test = this.parseHeaderExpression(), this.state.labels.push(V6), e.body = this.withSmartMixTopicForbiddingContext(
      () => this.parseStatement()), this.state.labels.pop(), this.finishNode(e, "WhileStatement");
    }
    parseWithStatement(e) {
      return this.state.strict && this.raise(se.StrictWith, this.state.startLoc), this.next(), e.object = this.parseHeaderExpression(), e.body =
      this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.finishNode(e, "WithStatement");
    }
    parseEmptyStatement(e) {
      return this.next(), this.finishNode(e, "EmptyStatement");
    }
    parseLabeledStatement(e, s, r, i) {
      for (let o of this.state.labels)
        o.name === s && this.raise(se.LabelRedeclaration, r, {
          labelName: s
        });
      let a = Sfs(this.state.type) ? 1 : this.match(71) ? 2 : null;
      for (let o = this.state.labels.length - 1; o >= 0; o--) {
        let l = this.state.labels[o];
        if (l.statementStart === e.start)
          l.statementStart = this.sourceToOffsetPos(this.state.start), l.kind = a;
        else
          break;
      }
      return this.state.labels.push({
        name: s,
        kind: a,
        statementStart: this.sourceToOffsetPos(this.state.start)
      }), e.body = i & 8 ? this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0) : this.parseStatement(), this.state.labels.pop(), e.label =
      r, this.finishNode(e, "LabeledStatement");
    }
    parseExpressionStatement(e, s, r) {
      return e.expression = s, this.semicolon(), this.finishNode(e, "ExpressionStatement");
    }
    parseBlock(e = !1, s = !0, r) {
      let i = this.startNode();
      return e && this.state.strictErrors.clear(), this.expect(5), s && this.scope.enter(0), this.parseBlockBody(i, e, !1, 8, r), s && this.
      scope.exit(), this.finishNode(i, "BlockStatement");
    }
    isValidDirective(e) {
      return e.type === "ExpressionStatement" && e.expression.type === "StringLiteral" && !e.expression.extra.parenthesized;
    }
    parseBlockBody(e, s, r, i, a) {
      let o = e.body = [], l = e.directives = [];
      this.parseBlockOrModuleBlockBody(o, s ? l : void 0, r, i, a);
    }
    parseBlockOrModuleBlockBody(e, s, r, i, a) {
      let o = this.state.strict, l = !1, u = !1;
      for (; !this.match(i); ) {
        let c = r ? this.parseModuleItem() : this.parseStatementListItem();
        if (s && !u) {
          if (this.isValidDirective(c)) {
            let p = this.stmtToDirective(c);
            s.push(p), !l && p.value.value === "use strict" && (l = !0, this.setStrict(!0));
            continue;
          }
          u = !0, this.state.strictErrors.clear();
        }
        e.push(c);
      }
      a?.call(this, l), o || this.setStrict(!1), this.next();
    }
    parseFor(e, s) {
      return e.init = s, this.semicolon(!1), e.test = this.match(13) ? null : this.parseExpression(), this.semicolon(!1), e.update = this.match(
      11) ? null : this.parseExpression(), this.expect(11), e.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()), this.
      scope.exit(), this.state.labels.pop(), this.finishNode(e, "ForStatement");
    }
    parseForIn(e, s, r) {
      let i = this.match(58);
      return this.next(), i ? r !== null && this.unexpected(r) : e.await = r !== null, s.type === "VariableDeclaration" && s.declarations[0].
      init != null && (!i || !this.options.annexB || this.state.strict || s.kind !== "var" || s.declarations[0].id.type !== "Identifier") &&
      this.raise(se.ForInOfLoopInitializer, s, {
        type: i ? "ForInStatement" : "ForOfStatement"
      }), s.type === "AssignmentPattern" && this.raise(se.InvalidLhs, s, {
        ancestor: {
          type: "ForStatement"
        }
      }), e.left = s, e.right = i ? this.parseExpression() : this.parseMaybeAssignAllowIn(), this.expect(11), e.body = this.withSmartMixTopicForbiddingContext(
      () => this.parseStatement()), this.scope.exit(), this.state.labels.pop(), this.finishNode(e, i ? "ForInStatement" : "ForOfStatement");
    }
    parseVar(e, s, r, i = !1) {
      let a = e.declarations = [];
      for (e.kind = r; ; ) {
        let o = this.startNode();
        if (this.parseVarId(o, r), o.init = this.eat(29) ? s ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn() : null, o.
        init === null && !i && (o.id.type !== "Identifier" && !(s && (this.match(58) || this.isContextual(102))) ? this.raise(se.DeclarationMissingInitializer,
        this.state.lastTokEndLoc, {
          kind: "destructuring"
        }) : (r === "const" || r === "using" || r === "await using") && !(this.match(58) || this.isContextual(102)) && this.raise(se.DeclarationMissingInitializer,
        this.state.lastTokEndLoc, {
          kind: r
        })), a.push(this.finishNode(o, "VariableDeclarator")), !this.eat(12)) break;
      }
      return e;
    }
    parseVarId(e, s) {
      let r = this.parseBindingAtom();
      (s === "using" || s === "await using") && (r.type === "ArrayPattern" || r.type === "ObjectPattern") && this.raise(se.UsingDeclarationHasBindingPattern,
      r.loc.start), this.checkLVal(r, {
        type: "VariableDeclarator"
      }, s === "var" ? 5 : 8201), e.id = r;
    }
    parseAsyncFunctionExpression(e) {
      return this.parseFunction(e, 8);
    }
    parseFunction(e, s = 0) {
      let r = s & 2, i = !!(s & 1), a = i && !(s & 4), o = !!(s & 8);
      this.initFunction(e, o), this.match(55) && (r && this.raise(se.GeneratorInSingleStatementContext, this.state.startLoc), this.next(), e.
      generator = !0), i && (e.id = this.parseFunctionId(a));
      let l = this.state.maybeInArrowParameters;
      return this.state.maybeInArrowParameters = !1, this.scope.enter(2), this.prodParam.enter(yv(o, e.generator)), i || (e.id = this.parseFunctionId()),
      this.parseFunctionParams(e, !1), this.withSmartMixTopicForbiddingContext(() => {
        this.parseFunctionBodyAndFinish(e, i ? "FunctionDeclaration" : "FunctionExpression");
      }), this.prodParam.exit(), this.scope.exit(), i && !r && this.registerFunctionStatementId(e), this.state.maybeInArrowParameters = l, e;
    }
    parseFunctionId(e) {
      return e || ar(this.state.type) ? this.parseIdentifier() : null;
    }
    parseFunctionParams(e, s) {
      this.expect(10), this.expressionScope.enter($fs()), e.params = this.parseBindingList(11, 41, 2 | (s ? 4 : 0)), this.expressionScope.exit();
    }
    registerFunctionStatementId(e) {
      e.id && this.scope.declareName(e.id.name, !this.options.annexB || this.state.strict || e.generator || e.async ? this.scope.treatFunctionsAsVar ?
      5 : 8201 : 17, e.id.loc.start);
    }
    parseClass(e, s, r) {
      this.next();
      let i = this.state.strict;
      return this.state.strict = !0, this.parseClassId(e, s, r), this.parseClassSuper(e), e.body = this.parseClassBody(!!e.superClass, i), this.
      finishNode(e, s ? "ClassDeclaration" : "ClassExpression");
    }
    isClassProperty() {
      return this.match(29) || this.match(13) || this.match(8);
    }
    isClassMethod() {
      return this.match(10);
    }
    nameIsConstructor(e) {
      return e.type === "Identifier" && e.name === "constructor" || e.type === "StringLiteral" && e.value === "constructor";
    }
    isNonstaticConstructor(e) {
      return !e.computed && !e.static && this.nameIsConstructor(e.key);
    }
    parseClassBody(e, s) {
      this.classScope.enter();
      let r = {
        hadConstructor: !1,
        hadSuperClass: e
      }, i = [], a = this.startNode();
      if (a.body = [], this.expect(5), this.withSmartMixTopicForbiddingContext(() => {
        for (; !this.match(8); ) {
          if (this.eat(13)) {
            if (i.length > 0)
              throw this.raise(se.DecoratorSemicolon, this.state.lastTokEndLoc);
            continue;
          }
          if (this.match(26)) {
            i.push(this.parseDecorator());
            continue;
          }
          let o = this.startNode();
          i.length && (o.decorators = i, this.resetStartLocationFromNode(o, i[0]), i = []), this.parseClassMember(a, o, r), o.kind === "cons\
tructor" && o.decorators && o.decorators.length > 0 && this.raise(se.DecoratorConstructor, o);
        }
      }), this.state.strict = s, this.next(), i.length)
        throw this.raise(se.TrailingDecorator, this.state.startLoc);
      return this.classScope.exit(), this.finishNode(a, "ClassBody");
    }
    parseClassMemberFromModifier(e, s) {
      let r = this.parseIdentifier(!0);
      if (this.isClassMethod()) {
        let i = s;
        return i.kind = "method", i.computed = !1, i.key = r, i.static = !1, this.pushClassMethod(e, i, !1, !1, !1, !1), !0;
      } else if (this.isClassProperty()) {
        let i = s;
        return i.computed = !1, i.key = r, i.static = !1, e.body.push(this.parseClassProperty(i)), !0;
      }
      return this.resetPreviousNodeTrailingComments(r), !1;
    }
    parseClassMember(e, s, r) {
      let i = this.isContextual(106);
      if (i) {
        if (this.parseClassMemberFromModifier(e, s))
          return;
        if (this.eat(5)) {
          this.parseClassStaticBlock(e, s);
          return;
        }
      }
      this.parseClassMemberWithIsStatic(e, s, r, i);
    }
    parseClassMemberWithIsStatic(e, s, r, i) {
      let a = s, o = s, l = s, u = s, c = s, p = a, h = a;
      if (s.static = i, this.parsePropertyNamePrefixOperator(s), this.eat(55)) {
        p.kind = "method";
        let b = this.match(139);
        if (this.parseClassElementName(p), b) {
          this.pushClassPrivateMethod(e, o, !0, !1);
          return;
        }
        this.isNonstaticConstructor(a) && this.raise(se.ConstructorIsGenerator, a.key), this.pushClassMethod(e, a, !0, !1, !1, !1);
        return;
      }
      let f = !this.state.containsEsc && ar(this.state.type), d = this.parseClassElementName(s), m = f ? d.name : null, y = this.isPrivateName(
      d), T = this.state.startLoc;
      if (this.parsePostMemberNameModifiers(h), this.isClassMethod()) {
        if (p.kind = "method", y) {
          this.pushClassPrivateMethod(e, o, !1, !1);
          return;
        }
        let b = this.isNonstaticConstructor(a), E = !1;
        b && (a.kind = "constructor", r.hadConstructor && !this.hasPlugin("typescript") && this.raise(se.DuplicateConstructor, d), b && this.
        hasPlugin("typescript") && s.override && this.raise(se.OverrideOnConstructor, d), r.hadConstructor = !0, E = r.hadSuperClass), this.
        pushClassMethod(e, a, !1, !1, b, E);
      } else if (this.isClassProperty())
        y ? this.pushClassPrivateProperty(e, u) : this.pushClassProperty(e, l);
      else if (m === "async" && !this.isLineTerminator()) {
        this.resetPreviousNodeTrailingComments(d);
        let b = this.eat(55);
        h.optional && this.unexpected(T), p.kind = "method";
        let E = this.match(139);
        this.parseClassElementName(p), this.parsePostMemberNameModifiers(h), E ? this.pushClassPrivateMethod(e, o, b, !0) : (this.isNonstaticConstructor(
        a) && this.raise(se.ConstructorIsAsync, a.key), this.pushClassMethod(e, a, b, !0, !1, !1));
      } else if ((m === "get" || m === "set") && !(this.match(55) && this.isLineTerminator())) {
        this.resetPreviousNodeTrailingComments(d), p.kind = m;
        let b = this.match(139);
        this.parseClassElementName(a), b ? this.pushClassPrivateMethod(e, o, !1, !1) : (this.isNonstaticConstructor(a) && this.raise(se.ConstructorIsAccessor,
        a.key), this.pushClassMethod(e, a, !1, !1, !1, !1)), this.checkGetterSetterParams(a);
      } else if (m === "accessor" && !this.isLineTerminator()) {
        this.expectPlugin("decoratorAutoAccessors"), this.resetPreviousNodeTrailingComments(d);
        let b = this.match(139);
        this.parseClassElementName(l), this.pushClassAccessorProperty(e, c, b);
      } else this.isLineTerminator() ? y ? this.pushClassPrivateProperty(e, u) : this.pushClassProperty(e, l) : this.unexpected();
    }
    parseClassElementName(e) {
      let {
        type: s,
        value: r
      } = this.state;
      if ((s === 132 || s === 134) && e.static && r === "prototype" && this.raise(se.StaticPrototype, this.state.startLoc), s === 139) {
        r === "constructor" && this.raise(se.ConstructorClassPrivateField, this.state.startLoc);
        let i = this.parsePrivateName();
        return e.key = i, i;
      }
      return this.parsePropertyName(e), e.key;
    }
    parseClassStaticBlock(e, s) {
      var r;
      this.scope.enter(208);
      let i = this.state.labels;
      this.state.labels = [], this.prodParam.enter(0);
      let a = s.body = [];
      this.parseBlockOrModuleBlockBody(a, void 0, !1, 8), this.prodParam.exit(), this.scope.exit(), this.state.labels = i, e.body.push(this.
      finishNode(s, "StaticBlock")), (r = s.decorators) != null && r.length && this.raise(se.DecoratorStaticBlock, s);
    }
    pushClassProperty(e, s) {
      !s.computed && this.nameIsConstructor(s.key) && this.raise(se.ConstructorClassField, s.key), e.body.push(this.parseClassProperty(s));
    }
    pushClassPrivateProperty(e, s) {
      let r = this.parseClassPrivateProperty(s);
      e.body.push(r), this.classScope.declarePrivateName(this.getPrivateNameSV(r.key), 0, r.key.loc.start);
    }
    pushClassAccessorProperty(e, s, r) {
      !r && !s.computed && this.nameIsConstructor(s.key) && this.raise(se.ConstructorClassField, s.key);
      let i = this.parseClassAccessorProperty(s);
      e.body.push(i), r && this.classScope.declarePrivateName(this.getPrivateNameSV(i.key), 0, i.key.loc.start);
    }
    pushClassMethod(e, s, r, i, a, o) {
      e.body.push(this.parseMethod(s, r, i, a, o, "ClassMethod", !0));
    }
    pushClassPrivateMethod(e, s, r, i) {
      let a = this.parseMethod(s, r, i, !1, !1, "ClassPrivateMethod", !0);
      e.body.push(a);
      let o = a.kind === "get" ? a.static ? 6 : 2 : a.kind === "set" ? a.static ? 5 : 1 : 0;
      this.declareClassPrivateMethodInScope(a, o);
    }
    declareClassPrivateMethodInScope(e, s) {
      this.classScope.declarePrivateName(this.getPrivateNameSV(e.key), s, e.key.loc.start);
    }
    parsePostMemberNameModifiers(e) {
    }
    parseClassPrivateProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassPrivateProperty");
    }
    parseClassProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassProperty");
    }
    parseClassAccessorProperty(e) {
      return this.parseInitializer(e), this.semicolon(), this.finishNode(e, "ClassAccessorProperty");
    }
    parseInitializer(e) {
      this.scope.enter(80), this.expressionScope.enter(Jfe()), this.prodParam.enter(0), e.value = this.eat(29) ? this.parseMaybeAssignAllowIn() :
      null, this.expressionScope.exit(), this.prodParam.exit(), this.scope.exit();
    }
    parseClassId(e, s, r, i = 8331) {
      if (ar(this.state.type))
        e.id = this.parseIdentifier(), s && this.declareNameFromIdentifier(e.id, i);
      else if (r || !s)
        e.id = null;
      else
        throw this.raise(se.MissingClassName, this.state.startLoc);
    }
    parseClassSuper(e) {
      e.superClass = this.eat(81) ? this.parseExprSubscripts() : null;
    }
    parseExport(e, s) {
      let r = this.parseMaybeImportPhase(e, !0), i = this.maybeParseExportDefaultSpecifier(e, r), a = !i || this.eat(12), o = a && this.eatExportStar(
      e), l = o && this.maybeParseExportNamespaceSpecifier(e), u = a && (!l || this.eat(12)), c = i || o;
      if (o && !l) {
        if (i && this.unexpected(), s)
          throw this.raise(se.UnsupportedDecoratorExport, e);
        return this.parseExportFrom(e, !0), this.finishNode(e, "ExportAllDeclaration");
      }
      let p = this.maybeParseExportNamedSpecifiers(e);
      i && a && !o && !p && this.unexpected(null, 5), l && u && this.unexpected(null, 98);
      let h;
      if (c || p) {
        if (h = !1, s)
          throw this.raise(se.UnsupportedDecoratorExport, e);
        this.parseExportFrom(e, c);
      } else
        h = this.maybeParseExportDeclaration(e);
      if (c || p || h) {
        var f;
        let d = e;
        if (this.checkExport(d, !0, !1, !!d.source), ((f = d.declaration) == null ? void 0 : f.type) === "ClassDeclaration")
          this.maybeTakeDecorators(s, d.declaration, d);
        else if (s)
          throw this.raise(se.UnsupportedDecoratorExport, e);
        return this.finishNode(d, "ExportNamedDeclaration");
      }
      if (this.eat(65)) {
        let d = e, m = this.parseExportDefaultExpression();
        if (d.declaration = m, m.type === "ClassDeclaration")
          this.maybeTakeDecorators(s, m, d);
        else if (s)
          throw this.raise(se.UnsupportedDecoratorExport, e);
        return this.checkExport(d, !0, !0), this.finishNode(d, "ExportDefaultDeclaration");
      }
      this.unexpected(null, 5);
    }
    eatExportStar(e) {
      return this.eat(55);
    }
    maybeParseExportDefaultSpecifier(e, s) {
      if (s || this.isExportDefaultSpecifier()) {
        this.expectPlugin("exportDefaultFrom", s?.loc.start);
        let r = s || this.parseIdentifier(!0), i = this.startNodeAtNode(r);
        return i.exported = r, e.specifiers = [this.finishNode(i, "ExportDefaultSpecifier")], !0;
      }
      return !1;
    }
    maybeParseExportNamespaceSpecifier(e) {
      if (this.isContextual(93)) {
        var s, r;
        (r = (s = e).specifiers) != null || (s.specifiers = []);
        let i = this.startNodeAt(this.state.lastTokStartLoc);
        return this.next(), i.exported = this.parseModuleExportName(), e.specifiers.push(this.finishNode(i, "ExportNamespaceSpecifier")), !0;
      }
      return !1;
    }
    maybeParseExportNamedSpecifiers(e) {
      if (this.match(5)) {
        let s = e;
        s.specifiers || (s.specifiers = []);
        let r = s.exportKind === "type";
        return s.specifiers.push(...this.parseExportSpecifiers(r)), s.source = null, s.declaration = null, this.hasPlugin("importAssertions") &&
        (s.assertions = []), !0;
      }
      return !1;
    }
    maybeParseExportDeclaration(e) {
      return this.shouldParseExportDeclaration() ? (e.specifiers = [], e.source = null, this.hasPlugin("importAssertions") && (e.assertions =
      []), e.declaration = this.parseExportDeclaration(e), !0) : !1;
    }
    isAsyncFunction() {
      if (!this.isContextual(95)) return !1;
      let e = this.nextTokenInLineStart();
      return this.isUnparsedContextual(e, "function");
    }
    parseExportDefaultExpression() {
      let e = this.startNode();
      if (this.match(68))
        return this.next(), this.parseFunction(e, 5);
      if (this.isAsyncFunction())
        return this.next(), this.next(), this.parseFunction(e, 13);
      if (this.match(80))
        return this.parseClass(e, !0, !0);
      if (this.match(26))
        return this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") === !0 && this.raise(se.DecoratorBeforeExport,
        this.state.startLoc), this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1), this.startNode()), !0, !0);
      if (this.match(75) || this.match(74) || this.isLet())
        throw this.raise(se.UnsupportedDefaultExport, this.state.startLoc);
      let s = this.parseMaybeAssignAllowIn();
      return this.semicolon(), s;
    }
    parseExportDeclaration(e) {
      return this.match(80) ? this.parseClass(this.startNode(), !0, !1) : this.parseStatementListItem();
    }
    isExportDefaultSpecifier() {
      let {
        type: e
      } = this.state;
      if (ar(e)) {
        if (e === 95 && !this.state.containsEsc || e === 100)
          return !1;
        if ((e === 130 || e === 129) && !this.state.containsEsc) {
          let {
            type: i
          } = this.lookahead();
          if (ar(i) && i !== 98 || i === 5)
            return this.expectOnePlugin(["flow", "typescript"]), !1;
        }
      } else if (!this.match(65))
        return !1;
      let s = this.nextTokenStart(), r = this.isUnparsedContextual(s, "from");
      if (this.input.charCodeAt(s) === 44 || ar(this.state.type) && r)
        return !0;
      if (this.match(65) && r) {
        let i = this.input.charCodeAt(this.nextTokenStartSince(s + 4));
        return i === 34 || i === 39;
      }
      return !1;
    }
    parseExportFrom(e, s) {
      this.eatContextual(98) ? (e.source = this.parseImportSource(), this.checkExport(e), this.maybeParseImportAttributes(e), this.checkJSONModuleImport(
      e)) : s && this.unexpected(), this.semicolon();
    }
    shouldParseExportDeclaration() {
      let {
        type: e
      } = this.state;
      return e === 26 && (this.expectOnePlugin(["decorators", "decorators-legacy"]), this.hasPlugin("decorators")) ? (this.getPluginOption("\
decorators", "decoratorsBeforeExport") === !0 && this.raise(se.DecoratorBeforeExport, this.state.startLoc), !0) : this.isContextual(107) ? (this.
      raise(se.UsingDeclarationExport, this.state.startLoc), !0) : this.isContextual(96) && this.startsAwaitUsing() ? (this.raise(se.UsingDeclarationExport,
      this.state.startLoc), !0) : e === 74 || e === 75 || e === 68 || e === 80 || this.isLet() || this.isAsyncFunction();
    }
    checkExport(e, s, r, i) {
      if (s) {
        var a;
        if (r) {
          if (this.checkDuplicateExports(e, "default"), this.hasPlugin("exportDefaultFrom")) {
            var o;
            let l = e.declaration;
            l.type === "Identifier" && l.name === "from" && l.end - l.start === 4 && !((o = l.extra) != null && o.parenthesized) && this.raise(
            se.ExportDefaultFromAsIdentifier, l);
          }
        } else if ((a = e.specifiers) != null && a.length)
          for (let l of e.specifiers) {
            let {
              exported: u
            } = l, c = u.type === "Identifier" ? u.name : u.value;
            if (this.checkDuplicateExports(l, c), !i && l.local) {
              let {
                local: p
              } = l;
              p.type !== "Identifier" ? this.raise(se.ExportBindingIsString, l, {
                localName: p.value,
                exportName: c
              }) : (this.checkReservedWord(p.name, p.loc.start, !0, !1), this.scope.checkLocalExport(p));
            }
          }
        else if (e.declaration) {
          let l = e.declaration;
          if (l.type === "FunctionDeclaration" || l.type === "ClassDeclaration") {
            let {
              id: u
            } = l;
            if (!u) throw new Error("Assertion failure");
            this.checkDuplicateExports(e, u.name);
          } else if (l.type === "VariableDeclaration")
            for (let u of l.declarations)
              this.checkDeclaration(u.id);
        }
      }
    }
    checkDeclaration(e) {
      if (e.type === "Identifier")
        this.checkDuplicateExports(e, e.name);
      else if (e.type === "ObjectPattern")
        for (let s of e.properties)
          this.checkDeclaration(s);
      else if (e.type === "ArrayPattern")
        for (let s of e.elements)
          s && this.checkDeclaration(s);
      else e.type === "ObjectProperty" ? this.checkDeclaration(e.value) : e.type === "RestElement" ? this.checkDeclaration(e.argument) : e.type ===
      "AssignmentPattern" && this.checkDeclaration(e.left);
    }
    checkDuplicateExports(e, s) {
      this.exportedIdentifiers.has(s) && (s === "default" ? this.raise(se.DuplicateDefaultExport, e) : this.raise(se.DuplicateExport, e, {
        exportName: s
      })), this.exportedIdentifiers.add(s);
    }
    parseExportSpecifiers(e) {
      let s = [], r = !0;
      for (this.expect(5); !this.eat(8); ) {
        if (r)
          r = !1;
        else if (this.expect(12), this.eat(8)) break;
        let i = this.isContextual(130), a = this.match(134), o = this.startNode();
        o.local = this.parseModuleExportName(), s.push(this.parseExportSpecifier(o, a, e, i));
      }
      return s;
    }
    parseExportSpecifier(e, s, r, i) {
      return this.eatContextual(93) ? e.exported = this.parseModuleExportName() : s ? e.exported = Xfs(e.local) : e.exported || (e.exported =
      fc(e.local)), this.finishNode(e, "ExportSpecifier");
    }
    parseModuleExportName() {
      if (this.match(134)) {
        let e = this.parseStringLiteral(this.state.value), s = yds.exec(e.value);
        return s && this.raise(se.ModuleExportNameHasLoneSurrogate, e, {
          surrogateCharCode: s[0].charCodeAt(0)
        }), e;
      }
      return this.parseIdentifier(!0);
    }
    isJSONModuleImport(e) {
      return e.assertions != null ? e.assertions.some(({
        key: s,
        value: r
      }) => r.value === "json" && (s.type === "Identifier" ? s.name === "type" : s.value === "type")) : !1;
    }
    checkImportReflection(e) {
      let {
        specifiers: s
      } = e, r = s.length === 1 ? s[0].type : null;
      if (e.phase === "source")
        r !== "ImportDefaultSpecifier" && this.raise(se.SourcePhaseImportRequiresDefault, s[0].loc.start);
      else if (e.phase === "defer")
        r !== "ImportNamespaceSpecifier" && this.raise(se.DeferImportRequiresNamespace, s[0].loc.start);
      else if (e.module) {
        var i;
        r !== "ImportDefaultSpecifier" && this.raise(se.ImportReflectionNotBinding, s[0].loc.start), ((i = e.assertions) == null ? void 0 : i.
        length) > 0 && this.raise(se.ImportReflectionHasAssertion, s[0].loc.start);
      }
    }
    checkJSONModuleImport(e) {
      if (this.isJSONModuleImport(e) && e.type !== "ExportAllDeclaration") {
        let {
          specifiers: s
        } = e;
        if (s != null) {
          let r = s.find((i) => {
            let a;
            if (i.type === "ExportSpecifier" ? a = i.local : i.type === "ImportSpecifier" && (a = i.imported), a !== void 0)
              return a.type === "Identifier" ? a.name !== "default" : a.value !== "default";
          });
          r !== void 0 && this.raise(se.ImportJSONBindingNotDefault, r.loc.start);
        }
      }
    }
    isPotentialImportPhase(e) {
      return e ? !1 : this.isContextual(105) || this.isContextual(97) || this.isContextual(127);
    }
    applyImportPhase(e, s, r, i) {
      s || (r === "module" ? (this.expectPlugin("importReflection", i), e.module = !0) : this.hasPlugin("importReflection") && (e.module = !1),
      r === "source" ? (this.expectPlugin("sourcePhaseImports", i), e.phase = "source") : r === "defer" ? (this.expectPlugin("deferredImport\
Evaluation", i), e.phase = "defer") : this.hasPlugin("sourcePhaseImports") && (e.phase = null));
    }
    parseMaybeImportPhase(e, s) {
      if (!this.isPotentialImportPhase(s))
        return this.applyImportPhase(e, s, null), null;
      let r = this.parseIdentifier(!0), {
        type: i
      } = this.state;
      return (qo(i) ? i !== 98 || this.lookaheadCharCode() === 102 : i !== 12) ? (this.resetPreviousIdentifierLeadingComments(r), this.applyImportPhase(
      e, s, r.name, r.loc.start), null) : (this.applyImportPhase(e, s, null), r);
    }
    isPrecedingIdImportPhase(e) {
      let {
        type: s
      } = this.state;
      return ar(s) ? s !== 98 || this.lookaheadCharCode() === 102 : s !== 12;
    }
    parseImport(e) {
      return this.match(134) ? this.parseImportSourceAndAttributes(e) : this.parseImportSpecifiersAndAfter(e, this.parseMaybeImportPhase(e, !1));
    }
    parseImportSpecifiersAndAfter(e, s) {
      e.specifiers = [];
      let i = !this.maybeParseDefaultImportSpecifier(e, s) || this.eat(12), a = i && this.maybeParseStarImportSpecifier(e);
      return i && !a && this.parseNamedImportSpecifiers(e), this.expectContextual(98), this.parseImportSourceAndAttributes(e);
    }
    parseImportSourceAndAttributes(e) {
      var s;
      return (s = e.specifiers) != null || (e.specifiers = []), e.source = this.parseImportSource(), this.maybeParseImportAttributes(e), this.
      checkImportReflection(e), this.checkJSONModuleImport(e), this.semicolon(), this.finishNode(e, "ImportDeclaration");
    }
    parseImportSource() {
      return this.match(134) || this.unexpected(), this.parseExprAtom();
    }
    parseImportSpecifierLocal(e, s, r) {
      s.local = this.parseIdentifier(), e.specifiers.push(this.finishImportSpecifier(s, r));
    }
    finishImportSpecifier(e, s, r = 8201) {
      return this.checkLVal(e.local, {
        type: s
      }, r), this.finishNode(e, s);
    }
    parseImportAttributes() {
      this.expect(5);
      let e = [], s = /* @__PURE__ */ new Set();
      do {
        if (this.match(8))
          break;
        let r = this.startNode(), i = this.state.value;
        if (s.has(i) && this.raise(se.ModuleAttributesWithDuplicateKeys, this.state.startLoc, {
          key: i
        }), s.add(i), this.match(134) ? r.key = this.parseStringLiteral(i) : r.key = this.parseIdentifier(!0), this.expect(14), !this.match(
        134))
          throw this.raise(se.ModuleAttributeInvalidValue, this.state.startLoc);
        r.value = this.parseStringLiteral(this.state.value), e.push(this.finishNode(r, "ImportAttribute"));
      } while (this.eat(12));
      return this.expect(8), e;
    }
    parseModuleAttributes() {
      let e = [], s = /* @__PURE__ */ new Set();
      do {
        let r = this.startNode();
        if (r.key = this.parseIdentifier(!0), r.key.name !== "type" && this.raise(se.ModuleAttributeDifferentFromType, r.key), s.has(r.key.name) &&
        this.raise(se.ModuleAttributesWithDuplicateKeys, r.key, {
          key: r.key.name
        }), s.add(r.key.name), this.expect(14), !this.match(134))
          throw this.raise(se.ModuleAttributeInvalidValue, this.state.startLoc);
        r.value = this.parseStringLiteral(this.state.value), e.push(this.finishNode(r, "ImportAttribute"));
      } while (this.eat(12));
      return e;
    }
    maybeParseImportAttributes(e) {
      let s;
      var r = !1;
      if (this.match(76)) {
        if (this.hasPrecedingLineBreak() && this.lookaheadCharCode() === 40)
          return;
        this.next(), this.hasPlugin("moduleAttributes") ? s = this.parseModuleAttributes() : s = this.parseImportAttributes(), r = !0;
      } else this.isContextual(94) && !this.hasPrecedingLineBreak() ? (!this.hasPlugin("deprecatedImportAssert") && !this.hasPlugin("importA\
ssertions") && this.raise(se.ImportAttributesUseAssert, this.state.startLoc), this.hasPlugin("importAssertions") || this.addExtra(e, "deprec\
atedAssertSyntax", !0), this.next(), s = this.parseImportAttributes()) : s = [];
      !r && this.hasPlugin("importAssertions") ? e.assertions = s : e.attributes = s;
    }
    maybeParseDefaultImportSpecifier(e, s) {
      if (s) {
        let r = this.startNodeAtNode(s);
        return r.local = s, e.specifiers.push(this.finishImportSpecifier(r, "ImportDefaultSpecifier")), !0;
      } else if (qo(this.state.type))
        return this.parseImportSpecifierLocal(e, this.startNode(), "ImportDefaultSpecifier"), !0;
      return !1;
    }
    maybeParseStarImportSpecifier(e) {
      if (this.match(55)) {
        let s = this.startNode();
        return this.next(), this.expectContextual(93), this.parseImportSpecifierLocal(e, s, "ImportNamespaceSpecifier"), !0;
      }
      return !1;
    }
    parseNamedImportSpecifiers(e) {
      let s = !0;
      for (this.expect(5); !this.eat(8); ) {
        if (s)
          s = !1;
        else {
          if (this.eat(14))
            throw this.raise(se.DestructureNamedImport, this.state.startLoc);
          if (this.expect(12), this.eat(8)) break;
        }
        let r = this.startNode(), i = this.match(134), a = this.isContextual(130);
        r.imported = this.parseModuleExportName();
        let o = this.parseImportSpecifier(r, i, e.importKind === "type" || e.importKind === "typeof", a, void 0);
        e.specifiers.push(o);
      }
    }
    parseImportSpecifier(e, s, r, i, a) {
      if (this.eatContextual(93))
        e.local = this.parseIdentifier();
      else {
        let {
          imported: o
        } = e;
        if (s)
          throw this.raise(se.ImportBindingIsString, e, {
            importName: o.value
          });
        this.checkReservedWord(o.name, e.loc.start, !0, !0), e.local || (e.local = fc(o));
      }
      return this.finishImportSpecifier(e, "ImportSpecifier", a);
    }
    isThisParam(e) {
      return e.type === "Identifier" && e.name === "this";
    }
  }, xv = class extends cR {
    static {
      n(this, "Parser");
    }
    constructor(e, s, r) {
      e = ffs(e), super(e, s), this.options = e, this.initializeScopes(), this.plugins = r, this.filename = e.sourceFilename, this.startIndex =
      e.startIndex;
      let i = 0;
      e.allowAwaitOutsideFunction && (i |= 1), e.allowReturnOutsideFunction && (i |= 2), e.allowImportExportEverywhere && (i |= 8), e.allowSuperOutsideMethod &&
      (i |= 16), e.allowUndeclaredExports && (i |= 32), e.allowNewTargetOutsideFunction && (i |= 4), e.ranges && (i |= 64), e.tokens && (i |=
      128), e.createImportExpressions && (i |= 256), e.createParenthesizedExpressions && (i |= 512), e.errorRecovery && (i |= 1024), e.attachComment &&
      (i |= 2048), e.annexB && (i |= 4096), this.optionFlags = i;
    }
    getScopeHandler() {
      return $T;
    }
    parse() {
      this.enterInitialScopes();
      let e = this.startNode(), s = this.startNode();
      return this.nextToken(), e.errors = null, this.parseTopLevel(e, s), e.errors = this.state.errors, e.comments.length = this.state.commentsLen,
      e;
    }
  };
  function Tds(t, e) {
    var s;
    if (((s = e) == null ? void 0 : s.sourceType) === "unambiguous") {
      e = Object.assign({}, e);
      try {
        e.sourceType = "module";
        let r = KT(e, t), i = r.parse();
        if (r.sawUnambiguousESM)
          return i;
        if (r.ambiguousScriptDifferentAst)
          try {
            return e.sourceType = "script", KT(e, t).parse();
          } catch {
          }
        else
          i.program.sourceType = "script";
        return i;
      } catch (r) {
        try {
          return e.sourceType = "script", KT(e, t).parse();
        } catch {
        }
        throw r;
      }
    } else
      return KT(e, t).parse();
  }
  n(Tds, "parse");
  function bds(t, e) {
    let s = KT(e, t);
    return s.options.strictMode && (s.state.strict = !0), s.getExpression();
  }
  n(bds, "parseExpression");
  function xds(t) {
    let e = {};
    for (let s of Object.keys(t))
      e[s] = uc(t[s]);
    return e;
  }
  n(xds, "generateExportedTokenTypes");
  var Sds = xds(gfs);
  function KT(t, e) {
    let s = xv, r = /* @__PURE__ */ new Map();
    if (t != null && t.plugins) {
      for (let i of t.plugins) {
        let a, o;
        typeof i == "string" ? a = i : [a, o] = i, r.has(a) || r.set(a, o || {});
      }
      fds(r), s = Pds(r);
    }
    return new s(t, e, r);
  }
  n(KT, "getParser");
  var Mfe = /* @__PURE__ */ new Map();
  function Pds(t) {
    let e = [];
    for (let i of dds)
      t.has(i) && e.push(i);
    let s = e.join("|"), r = Mfe.get(s);
    if (!r) {
      r = xv;
      for (let i of e)
        r = Gfe[i](r);
      Mfe.set(s, r);
    }
    return r;
  }
  n(Pds, "getParserClass");
  JT.parse = Tds;
  JT.parseExpression = bds;
  JT.tokTypes = Sds;
});

// ../node_modules/@babel/traverse/lib/path/lib/virtual-types.js
var SR = g((bs) => {
  "use strict";
  Object.defineProperty(bs, "__esModule", {
    value: !0
  });
  bs.Var = bs.User = bs.Statement = bs.SpreadProperty = bs.Scope = bs.RestProperty = bs.ReferencedMemberExpression = bs.ReferencedIdentifier =
  bs.Referenced = bs.Pure = bs.NumericLiteralTypeAnnotation = bs.Generated = bs.ForAwaitStatement = bs.Flow = bs.Expression = bs.ExistentialTypeParam =
  bs.BlockScoped = bs.BindingIdentifier = void 0;
  var Trr = bs.ReferencedIdentifier = ["Identifier", "JSXIdentifier"], brr = bs.ReferencedMemberExpression = ["MemberExpression"], xrr = bs.
  BindingIdentifier = ["Identifier"], Srr = bs.Statement = ["Statement"], Prr = bs.Expression = ["Expression"], Err = bs.Scope = ["Scopable",
  "Pattern"], Arr = bs.Referenced = null, vrr = bs.BlockScoped = null, Crr = bs.Var = ["VariableDeclaration"], wrr = bs.User = null, Irr = bs.
  Generated = null, Nrr = bs.Pure = null, krr = bs.Flow = ["Flow", "ImportDeclaration", "ExportDeclaration", "ImportSpecifier"], Drr = bs.RestProperty =
  ["RestElement"], Orr = bs.SpreadProperty = ["RestElement"], _rr = bs.ExistentialTypeParam = ["ExistsTypeAnnotation"], Lrr = bs.NumericLiteralTypeAnnotation =
  ["NumberLiteralTypeAnnotation"], Brr = bs.ForAwaitStatement = ["ForOfStatement"];
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/utils/shallowEqual.js
var Pv = g((PR) => {
  "use strict";
  Object.defineProperty(PR, "__esModule", {
    value: !0
  });
  PR.default = Eds;
  function Eds(t, e) {
    let s = Object.keys(e);
    for (let r of s)
      if (t[r] !== e[r])
        return !1;
    return !0;
  }
  n(Eds, "shallowEqual");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/utils/deprecationWarning.js
var YT = g((ER) => {
  "use strict";
  Object.defineProperty(ER, "__esModule", {
    value: !0
  });
  ER.default = Ads;
  var Qfe = /* @__PURE__ */ new Set();
  function Ads(t, e, s = "") {
    if (Qfe.has(t)) return;
    Qfe.add(t);
    let {
      internal: r,
      trace: i
    } = vds(1, 2);
    r || console.warn(`${s}\`${t}\` has been deprecated, please migrate to \`${e}\`
${i}`);
  }
  n(Ads, "deprecationWarning");
  function vds(t, e) {
    let {
      stackTraceLimit: s,
      prepareStackTrace: r
    } = Error, i;
    if (Error.stackTraceLimit = 1 + t + e, Error.prepareStackTrace = function(o, l) {
      i = l;
    }, new Error().stack, Error.stackTraceLimit = s, Error.prepareStackTrace = r, !i) return {
      internal: !1,
      trace: ""
    };
    let a = i.slice(1 + t, 1 + t + e);
    return {
      internal: /[\\/]@babel[\\/]/.test(a[1].getFileName()),
      trace: a.map((o) => `    at ${o}`).join(`
`)
    };
  }
  n(vds, "captureShortStackTrace");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/generated/index.js
var di = g((D) => {
  "use strict";
  Object.defineProperty(D, "__esModule", {
    value: !0
  });
  D.isAccessor = qTs;
  D.isAnyTypeAnnotation = ays;
  D.isArgumentPlaceholder = Bgs;
  D.isArrayExpression = Cds;
  D.isArrayPattern = Ams;
  D.isArrayTypeAnnotation = oys;
  D.isArrowFunctionExpression = vms;
  D.isAssignmentExpression = wds;
  D.isAssignmentPattern = Ems;
  D.isAwaitExpression = Yms;
  D.isBigIntLiteral = zms;
  D.isBinary = uTs;
  D.isBinaryExpression = Ids;
  D.isBindExpression = Mgs;
  D.isBlock = hTs;
  D.isBlockParent = pTs;
  D.isBlockStatement = Ods;
  D.isBooleanLiteral = Zds;
  D.isBooleanLiteralTypeAnnotation = uys;
  D.isBooleanTypeAnnotation = lys;
  D.isBreakStatement = _ds;
  D.isCallExpression = Lds;
  D.isCatchClause = Bds;
  D.isClass = FTs;
  D.isClassAccessorProperty = tys;
  D.isClassBody = Cms;
  D.isClassDeclaration = Ims;
  D.isClassExpression = wms;
  D.isClassImplements = pys;
  D.isClassMethod = qms;
  D.isClassPrivateMethod = rys;
  D.isClassPrivateProperty = sys;
  D.isClassProperty = eys;
  D.isCompletionStatement = mTs;
  D.isConditional = yTs;
  D.isConditionalExpression = Mds;
  D.isContinueStatement = Fds;
  D.isDebuggerStatement = jds;
  D.isDecimalLiteral = Vgs;
  D.isDeclaration = vTs;
  D.isDeclareClass = hys;
  D.isDeclareExportAllDeclaration = Sys;
  D.isDeclareExportDeclaration = xys;
  D.isDeclareFunction = fys;
  D.isDeclareInterface = dys;
  D.isDeclareModule = mys;
  D.isDeclareModuleExports = yys;
  D.isDeclareOpaqueType = Tys;
  D.isDeclareTypeAlias = gys;
  D.isDeclareVariable = bys;
  D.isDeclaredPredicate = Pys;
  D.isDecorator = jgs;
  D.isDirective = kds;
  D.isDirectiveLiteral = Dds;
  D.isDoExpression = Rgs;
  D.isDoWhileStatement = Rds;
  D.isEmptyStatement = qds;
  D.isEmptyTypeAnnotation = _ys;
  D.isEnumBody = JTs;
  D.isEnumBooleanBody = ogs;
  D.isEnumBooleanMember = pgs;
  D.isEnumDeclaration = ags;
  D.isEnumDefaultedMember = dgs;
  D.isEnumMember = YTs;
  D.isEnumNumberBody = lgs;
  D.isEnumNumberMember = hgs;
  D.isEnumStringBody = ugs;
  D.isEnumStringMember = fgs;
  D.isEnumSymbolBody = cgs;
  D.isExistsTypeAnnotation = Eys;
  D.isExportAllDeclaration = Nms;
  D.isExportDeclaration = jTs;
  D.isExportDefaultDeclaration = kms;
  D.isExportDefaultSpecifier = qgs;
  D.isExportNamedDeclaration = Dms;
  D.isExportNamespaceSpecifier = Gms;
  D.isExportSpecifier = Oms;
  D.isExpression = lTs;
  D.isExpressionStatement = Uds;
  D.isExpressionWrapper = bTs;
  D.isFile = Kds;
  D.isFlow = KTs;
  D.isFlowBaseAnnotation = WTs;
  D.isFlowDeclaration = $Ts;
  D.isFlowPredicate = HTs;
  D.isFlowType = VTs;
  D.isFor = xTs;
  D.isForInStatement = Vds;
  D.isForOfStatement = _ms;
  D.isForStatement = Wds;
  D.isForXStatement = STs;
  D.isFunction = PTs;
  D.isFunctionDeclaration = $ds;
  D.isFunctionExpression = Hds;
  D.isFunctionParent = ETs;
  D.isFunctionTypeAnnotation = Ays;
  D.isFunctionTypeParam = vys;
  D.isGenericTypeAnnotation = Cys;
  D.isIdentifier = Jds;
  D.isIfStatement = Yds;
  D.isImmutable = kTs;
  D.isImport = Xms;
  D.isImportAttribute = Fgs;
  D.isImportDeclaration = Lms;
  D.isImportDefaultSpecifier = Bms;
  D.isImportExpression = jms;
  D.isImportNamespaceSpecifier = Mms;
  D.isImportOrExportDeclaration = Zfe;
  D.isImportSpecifier = Fms;
  D.isIndexedAccessType = mgs;
  D.isInferredPredicate = wys;
  D.isInterfaceDeclaration = Nys;
  D.isInterfaceExtends = Iys;
  D.isInterfaceTypeAnnotation = kys;
  D.isInterpreterDirective = Nds;
  D.isIntersectionTypeAnnotation = Dys;
  D.isJSX = XTs;
  D.isJSXAttribute = ggs;
  D.isJSXClosingElement = Tgs;
  D.isJSXClosingFragment = Dgs;
  D.isJSXElement = bgs;
  D.isJSXEmptyExpression = xgs;
  D.isJSXExpressionContainer = Sgs;
  D.isJSXFragment = Ngs;
  D.isJSXIdentifier = Egs;
  D.isJSXMemberExpression = Ags;
  D.isJSXNamespacedName = vgs;
  D.isJSXOpeningElement = Cgs;
  D.isJSXOpeningFragment = kgs;
  D.isJSXSpreadAttribute = wgs;
  D.isJSXSpreadChild = Pgs;
  D.isJSXText = Igs;
  D.isLVal = wTs;
  D.isLabeledStatement = Xds;
  D.isLiteral = NTs;
  D.isLogicalExpression = tms;
  D.isLoop = gTs;
  D.isMemberExpression = sms;
  D.isMetaProperty = Rms;
  D.isMethod = OTs;
  D.isMiscellaneous = zTs;
  D.isMixedTypeAnnotation = Oys;
  D.isModuleDeclaration = nbs;
  D.isModuleExpression = Wgs;
  D.isModuleSpecifier = RTs;
  D.isNewExpression = rms;
  D.isNoop = Ogs;
  D.isNullLiteral = Qds;
  D.isNullLiteralTypeAnnotation = cys;
  D.isNullableTypeAnnotation = Lys;
  D.isNumberLiteral = tbs;
  D.isNumberLiteralTypeAnnotation = Bys;
  D.isNumberTypeAnnotation = Mys;
  D.isNumericLiteral = Gds;
  D.isObjectExpression = nms;
  D.isObjectMember = _Ts;
  D.isObjectMethod = ams;
  D.isObjectPattern = Ums;
  D.isObjectProperty = oms;
  D.isObjectTypeAnnotation = Fys;
  D.isObjectTypeCallProperty = Rys;
  D.isObjectTypeIndexer = qys;
  D.isObjectTypeInternalSlot = jys;
  D.isObjectTypeProperty = Uys;
  D.isObjectTypeSpreadProperty = Kys;
  D.isOpaqueType = Vys;
  D.isOptionalCallExpression = Zms;
  D.isOptionalIndexedAccessType = ygs;
  D.isOptionalMemberExpression = Qms;
  D.isParenthesizedExpression = pms;
  D.isPattern = MTs;
  D.isPatternLike = CTs;
  D.isPipelineBareFunction = Jgs;
  D.isPipelinePrimaryTopicReference = Ygs;
  D.isPipelineTopicExpression = Hgs;
  D.isPlaceholder = _gs;
  D.isPrivate = UTs;
  D.isPrivateName = iys;
  D.isProgram = ims;
  D.isProperty = LTs;
  D.isPureish = ATs;
  D.isQualifiedTypeIdentifier = Wys;
  D.isRecordExpression = Ugs;
  D.isRegExpLiteral = ems;
  D.isRegexLiteral = sbs;
  D.isRestElement = lms;
  D.isRestProperty = rbs;
  D.isReturnStatement = ums;
  D.isScopable = cTs;
  D.isSequenceExpression = cms;
  D.isSpreadElement = Kms;
  D.isSpreadProperty = ibs;
  D.isStandardized = oTs;
  D.isStatement = fTs;
  D.isStaticBlock = nys;
  D.isStringLiteral = zds;
  D.isStringLiteralTypeAnnotation = $ys;
  D.isStringTypeAnnotation = Hys;
  D.isSuper = Vms;
  D.isSwitchCase = hms;
  D.isSwitchStatement = fms;
  D.isSymbolTypeAnnotation = Jys;
  D.isTSAnyKeyword = i0s;
  D.isTSArrayType = A0s;
  D.isTSAsExpression = V0s;
  D.isTSBaseType = ebs;
  D.isTSBigIntKeyword = a0s;
  D.isTSBooleanKeyword = n0s;
  D.isTSCallSignatureDeclaration = Zgs;
  D.isTSConditionalType = D0s;
  D.isTSConstructSignatureDeclaration = e0s;
  D.isTSConstructorType = b0s;
  D.isTSDeclareFunction = zgs;
  D.isTSDeclareMethod = Ggs;
  D.isTSEntityName = ITs;
  D.isTSEnumBody = H0s;
  D.isTSEnumDeclaration = J0s;
  D.isTSEnumMember = Y0s;
  D.isTSExportAssignment = tTs;
  D.isTSExpressionWithTypeArguments = j0s;
  D.isTSExternalModuleReference = Z0s;
  D.isTSFunctionType = T0s;
  D.isTSImportEqualsDeclaration = Q0s;
  D.isTSImportType = G0s;
  D.isTSIndexSignature = r0s;
  D.isTSIndexedAccessType = B0s;
  D.isTSInferType = O0s;
  D.isTSInstantiationExpression = K0s;
  D.isTSInterfaceBody = q0s;
  D.isTSInterfaceDeclaration = R0s;
  D.isTSIntersectionType = k0s;
  D.isTSIntrinsicKeyword = o0s;
  D.isTSLiteralType = F0s;
  D.isTSMappedType = M0s;
  D.isTSMethodSignature = s0s;
  D.isTSModuleBlock = z0s;
  D.isTSModuleDeclaration = X0s;
  D.isTSNamedTupleMember = I0s;
  D.isTSNamespaceExportDeclaration = sTs;
  D.isTSNeverKeyword = l0s;
  D.isTSNonNullExpression = eTs;
  D.isTSNullKeyword = u0s;
  D.isTSNumberKeyword = c0s;
  D.isTSObjectKeyword = p0s;
  D.isTSOptionalType = C0s;
  D.isTSParameterProperty = Xgs;
  D.isTSParenthesizedType = _0s;
  D.isTSPropertySignature = t0s;
  D.isTSQualifiedName = Qgs;
  D.isTSRestType = w0s;
  D.isTSSatisfiesExpression = W0s;
  D.isTSStringKeyword = h0s;
  D.isTSSymbolKeyword = f0s;
  D.isTSThisType = g0s;
  D.isTSTupleType = v0s;
  D.isTSType = ZTs;
  D.isTSTypeAliasDeclaration = U0s;
  D.isTSTypeAnnotation = rTs;
  D.isTSTypeAssertion = $0s;
  D.isTSTypeElement = QTs;
  D.isTSTypeLiteral = E0s;
  D.isTSTypeOperator = L0s;
  D.isTSTypeParameter = aTs;
  D.isTSTypeParameterDeclaration = nTs;
  D.isTSTypeParameterInstantiation = iTs;
  D.isTSTypePredicate = S0s;
  D.isTSTypeQuery = P0s;
  D.isTSTypeReference = x0s;
  D.isTSUndefinedKeyword = d0s;
  D.isTSUnionType = N0s;
  D.isTSUnknownKeyword = m0s;
  D.isTSVoidKeyword = y0s;
  D.isTaggedTemplateExpression = Wms;
  D.isTemplateElement = $ms;
  D.isTemplateLiteral = Hms;
  D.isTerminatorless = dTs;
  D.isThisExpression = dms;
  D.isThisTypeAnnotation = Yys;
  D.isThrowStatement = mms;
  D.isTopicReference = $gs;
  D.isTryStatement = yms;
  D.isTupleExpression = Kgs;
  D.isTupleTypeAnnotation = Xys;
  D.isTypeAlias = Gys;
  D.isTypeAnnotation = Qys;
  D.isTypeCastExpression = Zys;
  D.isTypeParameter = egs;
  D.isTypeParameterDeclaration = tgs;
  D.isTypeParameterInstantiation = sgs;
  D.isTypeScript = GTs;
  D.isTypeofTypeAnnotation = zys;
  D.isUnaryExpression = gms;
  D.isUnaryLike = BTs;
  D.isUnionTypeAnnotation = rgs;
  D.isUpdateExpression = Tms;
  D.isUserWhitespacable = DTs;
  D.isV8IntrinsicIdentifier = Lgs;
  D.isVariableDeclaration = bms;
  D.isVariableDeclarator = xms;
  D.isVariance = igs;
  D.isVoidTypeAnnotation = ngs;
  D.isWhile = TTs;
  D.isWhileStatement = Sms;
  D.isWithStatement = Pms;
  D.isYieldExpression = Jms;
  var j = Pv(), XT = YT();
  function Cds(t, e) {
    return !t || t.type !== "ArrayExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Cds, "isArrayExpression");
  function wds(t, e) {
    return !t || t.type !== "AssignmentExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(wds, "isAssignmentExpression");
  function Ids(t, e) {
    return !t || t.type !== "BinaryExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Ids, "isBinaryExpression");
  function Nds(t, e) {
    return !t || t.type !== "InterpreterDirective" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Nds, "isInterpreterDirective");
  function kds(t, e) {
    return !t || t.type !== "Directive" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(kds, "isDirective");
  function Dds(t, e) {
    return !t || t.type !== "DirectiveLiteral" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Dds, "isDirectiveLiteral");
  function Ods(t, e) {
    return !t || t.type !== "BlockStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Ods, "isBlockStatement");
  function _ds(t, e) {
    return !t || t.type !== "BreakStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(_ds, "isBreakStatement");
  function Lds(t, e) {
    return !t || t.type !== "CallExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Lds, "isCallExpression");
  function Bds(t, e) {
    return !t || t.type !== "CatchClause" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Bds, "isCatchClause");
  function Mds(t, e) {
    return !t || t.type !== "ConditionalExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Mds, "isConditionalExpression");
  function Fds(t, e) {
    return !t || t.type !== "ContinueStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Fds, "isContinueStatement");
  function jds(t, e) {
    return !t || t.type !== "DebuggerStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(jds, "isDebuggerStatement");
  function Rds(t, e) {
    return !t || t.type !== "DoWhileStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Rds, "isDoWhileStatement");
  function qds(t, e) {
    return !t || t.type !== "EmptyStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(qds, "isEmptyStatement");
  function Uds(t, e) {
    return !t || t.type !== "ExpressionStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Uds, "isExpressionStatement");
  function Kds(t, e) {
    return !t || t.type !== "File" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Kds, "isFile");
  function Vds(t, e) {
    return !t || t.type !== "ForInStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Vds, "isForInStatement");
  function Wds(t, e) {
    return !t || t.type !== "ForStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Wds, "isForStatement");
  function $ds(t, e) {
    return !t || t.type !== "FunctionDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n($ds, "isFunctionDeclaration");
  function Hds(t, e) {
    return !t || t.type !== "FunctionExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Hds, "isFunctionExpression");
  function Jds(t, e) {
    return !t || t.type !== "Identifier" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Jds, "isIdentifier");
  function Yds(t, e) {
    return !t || t.type !== "IfStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Yds, "isIfStatement");
  function Xds(t, e) {
    return !t || t.type !== "LabeledStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Xds, "isLabeledStatement");
  function zds(t, e) {
    return !t || t.type !== "StringLiteral" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(zds, "isStringLiteral");
  function Gds(t, e) {
    return !t || t.type !== "NumericLiteral" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Gds, "isNumericLiteral");
  function Qds(t, e) {
    return !t || t.type !== "NullLiteral" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Qds, "isNullLiteral");
  function Zds(t, e) {
    return !t || t.type !== "BooleanLiteral" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Zds, "isBooleanLiteral");
  function ems(t, e) {
    return !t || t.type !== "RegExpLiteral" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(ems, "isRegExpLiteral");
  function tms(t, e) {
    return !t || t.type !== "LogicalExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(tms, "isLogicalExpression");
  function sms(t, e) {
    return !t || t.type !== "MemberExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(sms, "isMemberExpression");
  function rms(t, e) {
    return !t || t.type !== "NewExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(rms, "isNewExpression");
  function ims(t, e) {
    return !t || t.type !== "Program" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(ims, "isProgram");
  function nms(t, e) {
    return !t || t.type !== "ObjectExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(nms, "isObjectExpression");
  function ams(t, e) {
    return !t || t.type !== "ObjectMethod" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(ams, "isObjectMethod");
  function oms(t, e) {
    return !t || t.type !== "ObjectProperty" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(oms, "isObjectProperty");
  function lms(t, e) {
    return !t || t.type !== "RestElement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(lms, "isRestElement");
  function ums(t, e) {
    return !t || t.type !== "ReturnStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(ums, "isReturnStatement");
  function cms(t, e) {
    return !t || t.type !== "SequenceExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(cms, "isSequenceExpression");
  function pms(t, e) {
    return !t || t.type !== "ParenthesizedExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(pms, "isParenthesizedExpression");
  function hms(t, e) {
    return !t || t.type !== "SwitchCase" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(hms, "isSwitchCase");
  function fms(t, e) {
    return !t || t.type !== "SwitchStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(fms, "isSwitchStatement");
  function dms(t, e) {
    return !t || t.type !== "ThisExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(dms, "isThisExpression");
  function mms(t, e) {
    return !t || t.type !== "ThrowStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(mms, "isThrowStatement");
  function yms(t, e) {
    return !t || t.type !== "TryStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(yms, "isTryStatement");
  function gms(t, e) {
    return !t || t.type !== "UnaryExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(gms, "isUnaryExpression");
  function Tms(t, e) {
    return !t || t.type !== "UpdateExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Tms, "isUpdateExpression");
  function bms(t, e) {
    return !t || t.type !== "VariableDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(bms, "isVariableDeclaration");
  function xms(t, e) {
    return !t || t.type !== "VariableDeclarator" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(xms, "isVariableDeclarator");
  function Sms(t, e) {
    return !t || t.type !== "WhileStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Sms, "isWhileStatement");
  function Pms(t, e) {
    return !t || t.type !== "WithStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Pms, "isWithStatement");
  function Ems(t, e) {
    return !t || t.type !== "AssignmentPattern" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Ems, "isAssignmentPattern");
  function Ams(t, e) {
    return !t || t.type !== "ArrayPattern" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Ams, "isArrayPattern");
  function vms(t, e) {
    return !t || t.type !== "ArrowFunctionExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(vms, "isArrowFunctionExpression");
  function Cms(t, e) {
    return !t || t.type !== "ClassBody" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Cms, "isClassBody");
  function wms(t, e) {
    return !t || t.type !== "ClassExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(wms, "isClassExpression");
  function Ims(t, e) {
    return !t || t.type !== "ClassDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Ims, "isClassDeclaration");
  function Nms(t, e) {
    return !t || t.type !== "ExportAllDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Nms, "isExportAllDeclaration");
  function kms(t, e) {
    return !t || t.type !== "ExportDefaultDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(kms, "isExportDefaultDeclaration");
  function Dms(t, e) {
    return !t || t.type !== "ExportNamedDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Dms, "isExportNamedDeclaration");
  function Oms(t, e) {
    return !t || t.type !== "ExportSpecifier" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Oms, "isExportSpecifier");
  function _ms(t, e) {
    return !t || t.type !== "ForOfStatement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(_ms, "isForOfStatement");
  function Lms(t, e) {
    return !t || t.type !== "ImportDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Lms, "isImportDeclaration");
  function Bms(t, e) {
    return !t || t.type !== "ImportDefaultSpecifier" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Bms, "isImportDefaultSpecifier");
  function Mms(t, e) {
    return !t || t.type !== "ImportNamespaceSpecifier" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Mms, "isImportNamespaceSpecifier");
  function Fms(t, e) {
    return !t || t.type !== "ImportSpecifier" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Fms, "isImportSpecifier");
  function jms(t, e) {
    return !t || t.type !== "ImportExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(jms, "isImportExpression");
  function Rms(t, e) {
    return !t || t.type !== "MetaProperty" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Rms, "isMetaProperty");
  function qms(t, e) {
    return !t || t.type !== "ClassMethod" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(qms, "isClassMethod");
  function Ums(t, e) {
    return !t || t.type !== "ObjectPattern" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Ums, "isObjectPattern");
  function Kms(t, e) {
    return !t || t.type !== "SpreadElement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Kms, "isSpreadElement");
  function Vms(t, e) {
    return !t || t.type !== "Super" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Vms, "isSuper");
  function Wms(t, e) {
    return !t || t.type !== "TaggedTemplateExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Wms, "isTaggedTemplateExpression");
  function $ms(t, e) {
    return !t || t.type !== "TemplateElement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n($ms, "isTemplateElement");
  function Hms(t, e) {
    return !t || t.type !== "TemplateLiteral" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Hms, "isTemplateLiteral");
  function Jms(t, e) {
    return !t || t.type !== "YieldExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Jms, "isYieldExpression");
  function Yms(t, e) {
    return !t || t.type !== "AwaitExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Yms, "isAwaitExpression");
  function Xms(t, e) {
    return !t || t.type !== "Import" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Xms, "isImport");
  function zms(t, e) {
    return !t || t.type !== "BigIntLiteral" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(zms, "isBigIntLiteral");
  function Gms(t, e) {
    return !t || t.type !== "ExportNamespaceSpecifier" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Gms, "isExportNamespaceSpecifier");
  function Qms(t, e) {
    return !t || t.type !== "OptionalMemberExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Qms, "isOptionalMemberExpression");
  function Zms(t, e) {
    return !t || t.type !== "OptionalCallExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Zms, "isOptionalCallExpression");
  function eys(t, e) {
    return !t || t.type !== "ClassProperty" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(eys, "isClassProperty");
  function tys(t, e) {
    return !t || t.type !== "ClassAccessorProperty" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(tys, "isClassAccessorProperty");
  function sys(t, e) {
    return !t || t.type !== "ClassPrivateProperty" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(sys, "isClassPrivateProperty");
  function rys(t, e) {
    return !t || t.type !== "ClassPrivateMethod" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(rys, "isClassPrivateMethod");
  function iys(t, e) {
    return !t || t.type !== "PrivateName" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(iys, "isPrivateName");
  function nys(t, e) {
    return !t || t.type !== "StaticBlock" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(nys, "isStaticBlock");
  function ays(t, e) {
    return !t || t.type !== "AnyTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(ays, "isAnyTypeAnnotation");
  function oys(t, e) {
    return !t || t.type !== "ArrayTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(oys, "isArrayTypeAnnotation");
  function lys(t, e) {
    return !t || t.type !== "BooleanTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(lys, "isBooleanTypeAnnotation");
  function uys(t, e) {
    return !t || t.type !== "BooleanLiteralTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(uys, "isBooleanLiteralTypeAnnotation");
  function cys(t, e) {
    return !t || t.type !== "NullLiteralTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(cys, "isNullLiteralTypeAnnotation");
  function pys(t, e) {
    return !t || t.type !== "ClassImplements" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(pys, "isClassImplements");
  function hys(t, e) {
    return !t || t.type !== "DeclareClass" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(hys, "isDeclareClass");
  function fys(t, e) {
    return !t || t.type !== "DeclareFunction" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(fys, "isDeclareFunction");
  function dys(t, e) {
    return !t || t.type !== "DeclareInterface" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(dys, "isDeclareInterface");
  function mys(t, e) {
    return !t || t.type !== "DeclareModule" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(mys, "isDeclareModule");
  function yys(t, e) {
    return !t || t.type !== "DeclareModuleExports" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(yys, "isDeclareModuleExports");
  function gys(t, e) {
    return !t || t.type !== "DeclareTypeAlias" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(gys, "isDeclareTypeAlias");
  function Tys(t, e) {
    return !t || t.type !== "DeclareOpaqueType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Tys, "isDeclareOpaqueType");
  function bys(t, e) {
    return !t || t.type !== "DeclareVariable" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(bys, "isDeclareVariable");
  function xys(t, e) {
    return !t || t.type !== "DeclareExportDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(xys, "isDeclareExportDeclaration");
  function Sys(t, e) {
    return !t || t.type !== "DeclareExportAllDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Sys, "isDeclareExportAllDeclaration");
  function Pys(t, e) {
    return !t || t.type !== "DeclaredPredicate" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Pys, "isDeclaredPredicate");
  function Eys(t, e) {
    return !t || t.type !== "ExistsTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Eys, "isExistsTypeAnnotation");
  function Ays(t, e) {
    return !t || t.type !== "FunctionTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Ays, "isFunctionTypeAnnotation");
  function vys(t, e) {
    return !t || t.type !== "FunctionTypeParam" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(vys, "isFunctionTypeParam");
  function Cys(t, e) {
    return !t || t.type !== "GenericTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Cys, "isGenericTypeAnnotation");
  function wys(t, e) {
    return !t || t.type !== "InferredPredicate" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(wys, "isInferredPredicate");
  function Iys(t, e) {
    return !t || t.type !== "InterfaceExtends" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Iys, "isInterfaceExtends");
  function Nys(t, e) {
    return !t || t.type !== "InterfaceDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Nys, "isInterfaceDeclaration");
  function kys(t, e) {
    return !t || t.type !== "InterfaceTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(kys, "isInterfaceTypeAnnotation");
  function Dys(t, e) {
    return !t || t.type !== "IntersectionTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Dys, "isIntersectionTypeAnnotation");
  function Oys(t, e) {
    return !t || t.type !== "MixedTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Oys, "isMixedTypeAnnotation");
  function _ys(t, e) {
    return !t || t.type !== "EmptyTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(_ys, "isEmptyTypeAnnotation");
  function Lys(t, e) {
    return !t || t.type !== "NullableTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Lys, "isNullableTypeAnnotation");
  function Bys(t, e) {
    return !t || t.type !== "NumberLiteralTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Bys, "isNumberLiteralTypeAnnotation");
  function Mys(t, e) {
    return !t || t.type !== "NumberTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Mys, "isNumberTypeAnnotation");
  function Fys(t, e) {
    return !t || t.type !== "ObjectTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Fys, "isObjectTypeAnnotation");
  function jys(t, e) {
    return !t || t.type !== "ObjectTypeInternalSlot" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(jys, "isObjectTypeInternalSlot");
  function Rys(t, e) {
    return !t || t.type !== "ObjectTypeCallProperty" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Rys, "isObjectTypeCallProperty");
  function qys(t, e) {
    return !t || t.type !== "ObjectTypeIndexer" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(qys, "isObjectTypeIndexer");
  function Uys(t, e) {
    return !t || t.type !== "ObjectTypeProperty" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Uys, "isObjectTypeProperty");
  function Kys(t, e) {
    return !t || t.type !== "ObjectTypeSpreadProperty" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Kys, "isObjectTypeSpreadProperty");
  function Vys(t, e) {
    return !t || t.type !== "OpaqueType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Vys, "isOpaqueType");
  function Wys(t, e) {
    return !t || t.type !== "QualifiedTypeIdentifier" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Wys, "isQualifiedTypeIdentifier");
  function $ys(t, e) {
    return !t || t.type !== "StringLiteralTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n($ys, "isStringLiteralTypeAnnotation");
  function Hys(t, e) {
    return !t || t.type !== "StringTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Hys, "isStringTypeAnnotation");
  function Jys(t, e) {
    return !t || t.type !== "SymbolTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Jys, "isSymbolTypeAnnotation");
  function Yys(t, e) {
    return !t || t.type !== "ThisTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Yys, "isThisTypeAnnotation");
  function Xys(t, e) {
    return !t || t.type !== "TupleTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Xys, "isTupleTypeAnnotation");
  function zys(t, e) {
    return !t || t.type !== "TypeofTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(zys, "isTypeofTypeAnnotation");
  function Gys(t, e) {
    return !t || t.type !== "TypeAlias" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Gys, "isTypeAlias");
  function Qys(t, e) {
    return !t || t.type !== "TypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Qys, "isTypeAnnotation");
  function Zys(t, e) {
    return !t || t.type !== "TypeCastExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Zys, "isTypeCastExpression");
  function egs(t, e) {
    return !t || t.type !== "TypeParameter" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(egs, "isTypeParameter");
  function tgs(t, e) {
    return !t || t.type !== "TypeParameterDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(tgs, "isTypeParameterDeclaration");
  function sgs(t, e) {
    return !t || t.type !== "TypeParameterInstantiation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(sgs, "isTypeParameterInstantiation");
  function rgs(t, e) {
    return !t || t.type !== "UnionTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(rgs, "isUnionTypeAnnotation");
  function igs(t, e) {
    return !t || t.type !== "Variance" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(igs, "isVariance");
  function ngs(t, e) {
    return !t || t.type !== "VoidTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(ngs, "isVoidTypeAnnotation");
  function ags(t, e) {
    return !t || t.type !== "EnumDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(ags, "isEnumDeclaration");
  function ogs(t, e) {
    return !t || t.type !== "EnumBooleanBody" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(ogs, "isEnumBooleanBody");
  function lgs(t, e) {
    return !t || t.type !== "EnumNumberBody" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(lgs, "isEnumNumberBody");
  function ugs(t, e) {
    return !t || t.type !== "EnumStringBody" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(ugs, "isEnumStringBody");
  function cgs(t, e) {
    return !t || t.type !== "EnumSymbolBody" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(cgs, "isEnumSymbolBody");
  function pgs(t, e) {
    return !t || t.type !== "EnumBooleanMember" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(pgs, "isEnumBooleanMember");
  function hgs(t, e) {
    return !t || t.type !== "EnumNumberMember" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(hgs, "isEnumNumberMember");
  function fgs(t, e) {
    return !t || t.type !== "EnumStringMember" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(fgs, "isEnumStringMember");
  function dgs(t, e) {
    return !t || t.type !== "EnumDefaultedMember" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(dgs, "isEnumDefaultedMember");
  function mgs(t, e) {
    return !t || t.type !== "IndexedAccessType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(mgs, "isIndexedAccessType");
  function ygs(t, e) {
    return !t || t.type !== "OptionalIndexedAccessType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(ygs, "isOptionalIndexedAccessType");
  function ggs(t, e) {
    return !t || t.type !== "JSXAttribute" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(ggs, "isJSXAttribute");
  function Tgs(t, e) {
    return !t || t.type !== "JSXClosingElement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Tgs, "isJSXClosingElement");
  function bgs(t, e) {
    return !t || t.type !== "JSXElement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(bgs, "isJSXElement");
  function xgs(t, e) {
    return !t || t.type !== "JSXEmptyExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(xgs, "isJSXEmptyExpression");
  function Sgs(t, e) {
    return !t || t.type !== "JSXExpressionContainer" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Sgs, "isJSXExpressionContainer");
  function Pgs(t, e) {
    return !t || t.type !== "JSXSpreadChild" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Pgs, "isJSXSpreadChild");
  function Egs(t, e) {
    return !t || t.type !== "JSXIdentifier" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Egs, "isJSXIdentifier");
  function Ags(t, e) {
    return !t || t.type !== "JSXMemberExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Ags, "isJSXMemberExpression");
  function vgs(t, e) {
    return !t || t.type !== "JSXNamespacedName" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(vgs, "isJSXNamespacedName");
  function Cgs(t, e) {
    return !t || t.type !== "JSXOpeningElement" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Cgs, "isJSXOpeningElement");
  function wgs(t, e) {
    return !t || t.type !== "JSXSpreadAttribute" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(wgs, "isJSXSpreadAttribute");
  function Igs(t, e) {
    return !t || t.type !== "JSXText" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Igs, "isJSXText");
  function Ngs(t, e) {
    return !t || t.type !== "JSXFragment" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Ngs, "isJSXFragment");
  function kgs(t, e) {
    return !t || t.type !== "JSXOpeningFragment" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(kgs, "isJSXOpeningFragment");
  function Dgs(t, e) {
    return !t || t.type !== "JSXClosingFragment" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Dgs, "isJSXClosingFragment");
  function Ogs(t, e) {
    return !t || t.type !== "Noop" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Ogs, "isNoop");
  function _gs(t, e) {
    return !t || t.type !== "Placeholder" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(_gs, "isPlaceholder");
  function Lgs(t, e) {
    return !t || t.type !== "V8IntrinsicIdentifier" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Lgs, "isV8IntrinsicIdentifier");
  function Bgs(t, e) {
    return !t || t.type !== "ArgumentPlaceholder" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Bgs, "isArgumentPlaceholder");
  function Mgs(t, e) {
    return !t || t.type !== "BindExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Mgs, "isBindExpression");
  function Fgs(t, e) {
    return !t || t.type !== "ImportAttribute" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Fgs, "isImportAttribute");
  function jgs(t, e) {
    return !t || t.type !== "Decorator" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(jgs, "isDecorator");
  function Rgs(t, e) {
    return !t || t.type !== "DoExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Rgs, "isDoExpression");
  function qgs(t, e) {
    return !t || t.type !== "ExportDefaultSpecifier" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(qgs, "isExportDefaultSpecifier");
  function Ugs(t, e) {
    return !t || t.type !== "RecordExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Ugs, "isRecordExpression");
  function Kgs(t, e) {
    return !t || t.type !== "TupleExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Kgs, "isTupleExpression");
  function Vgs(t, e) {
    return !t || t.type !== "DecimalLiteral" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Vgs, "isDecimalLiteral");
  function Wgs(t, e) {
    return !t || t.type !== "ModuleExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Wgs, "isModuleExpression");
  function $gs(t, e) {
    return !t || t.type !== "TopicReference" ? !1 : e == null || (0, j.default)(t, e);
  }
  n($gs, "isTopicReference");
  function Hgs(t, e) {
    return !t || t.type !== "PipelineTopicExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Hgs, "isPipelineTopicExpression");
  function Jgs(t, e) {
    return !t || t.type !== "PipelineBareFunction" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Jgs, "isPipelineBareFunction");
  function Ygs(t, e) {
    return !t || t.type !== "PipelinePrimaryTopicReference" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Ygs, "isPipelinePrimaryTopicReference");
  function Xgs(t, e) {
    return !t || t.type !== "TSParameterProperty" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Xgs, "isTSParameterProperty");
  function zgs(t, e) {
    return !t || t.type !== "TSDeclareFunction" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(zgs, "isTSDeclareFunction");
  function Ggs(t, e) {
    return !t || t.type !== "TSDeclareMethod" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Ggs, "isTSDeclareMethod");
  function Qgs(t, e) {
    return !t || t.type !== "TSQualifiedName" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Qgs, "isTSQualifiedName");
  function Zgs(t, e) {
    return !t || t.type !== "TSCallSignatureDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Zgs, "isTSCallSignatureDeclaration");
  function e0s(t, e) {
    return !t || t.type !== "TSConstructSignatureDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(e0s, "isTSConstructSignatureDeclaration");
  function t0s(t, e) {
    return !t || t.type !== "TSPropertySignature" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(t0s, "isTSPropertySignature");
  function s0s(t, e) {
    return !t || t.type !== "TSMethodSignature" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(s0s, "isTSMethodSignature");
  function r0s(t, e) {
    return !t || t.type !== "TSIndexSignature" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(r0s, "isTSIndexSignature");
  function i0s(t, e) {
    return !t || t.type !== "TSAnyKeyword" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(i0s, "isTSAnyKeyword");
  function n0s(t, e) {
    return !t || t.type !== "TSBooleanKeyword" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(n0s, "isTSBooleanKeyword");
  function a0s(t, e) {
    return !t || t.type !== "TSBigIntKeyword" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(a0s, "isTSBigIntKeyword");
  function o0s(t, e) {
    return !t || t.type !== "TSIntrinsicKeyword" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(o0s, "isTSIntrinsicKeyword");
  function l0s(t, e) {
    return !t || t.type !== "TSNeverKeyword" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(l0s, "isTSNeverKeyword");
  function u0s(t, e) {
    return !t || t.type !== "TSNullKeyword" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(u0s, "isTSNullKeyword");
  function c0s(t, e) {
    return !t || t.type !== "TSNumberKeyword" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(c0s, "isTSNumberKeyword");
  function p0s(t, e) {
    return !t || t.type !== "TSObjectKeyword" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(p0s, "isTSObjectKeyword");
  function h0s(t, e) {
    return !t || t.type !== "TSStringKeyword" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(h0s, "isTSStringKeyword");
  function f0s(t, e) {
    return !t || t.type !== "TSSymbolKeyword" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(f0s, "isTSSymbolKeyword");
  function d0s(t, e) {
    return !t || t.type !== "TSUndefinedKeyword" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(d0s, "isTSUndefinedKeyword");
  function m0s(t, e) {
    return !t || t.type !== "TSUnknownKeyword" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(m0s, "isTSUnknownKeyword");
  function y0s(t, e) {
    return !t || t.type !== "TSVoidKeyword" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(y0s, "isTSVoidKeyword");
  function g0s(t, e) {
    return !t || t.type !== "TSThisType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(g0s, "isTSThisType");
  function T0s(t, e) {
    return !t || t.type !== "TSFunctionType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(T0s, "isTSFunctionType");
  function b0s(t, e) {
    return !t || t.type !== "TSConstructorType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(b0s, "isTSConstructorType");
  function x0s(t, e) {
    return !t || t.type !== "TSTypeReference" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(x0s, "isTSTypeReference");
  function S0s(t, e) {
    return !t || t.type !== "TSTypePredicate" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(S0s, "isTSTypePredicate");
  function P0s(t, e) {
    return !t || t.type !== "TSTypeQuery" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(P0s, "isTSTypeQuery");
  function E0s(t, e) {
    return !t || t.type !== "TSTypeLiteral" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(E0s, "isTSTypeLiteral");
  function A0s(t, e) {
    return !t || t.type !== "TSArrayType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(A0s, "isTSArrayType");
  function v0s(t, e) {
    return !t || t.type !== "TSTupleType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(v0s, "isTSTupleType");
  function C0s(t, e) {
    return !t || t.type !== "TSOptionalType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(C0s, "isTSOptionalType");
  function w0s(t, e) {
    return !t || t.type !== "TSRestType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(w0s, "isTSRestType");
  function I0s(t, e) {
    return !t || t.type !== "TSNamedTupleMember" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(I0s, "isTSNamedTupleMember");
  function N0s(t, e) {
    return !t || t.type !== "TSUnionType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(N0s, "isTSUnionType");
  function k0s(t, e) {
    return !t || t.type !== "TSIntersectionType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(k0s, "isTSIntersectionType");
  function D0s(t, e) {
    return !t || t.type !== "TSConditionalType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(D0s, "isTSConditionalType");
  function O0s(t, e) {
    return !t || t.type !== "TSInferType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(O0s, "isTSInferType");
  function _0s(t, e) {
    return !t || t.type !== "TSParenthesizedType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(_0s, "isTSParenthesizedType");
  function L0s(t, e) {
    return !t || t.type !== "TSTypeOperator" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(L0s, "isTSTypeOperator");
  function B0s(t, e) {
    return !t || t.type !== "TSIndexedAccessType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(B0s, "isTSIndexedAccessType");
  function M0s(t, e) {
    return !t || t.type !== "TSMappedType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(M0s, "isTSMappedType");
  function F0s(t, e) {
    return !t || t.type !== "TSLiteralType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(F0s, "isTSLiteralType");
  function j0s(t, e) {
    return !t || t.type !== "TSExpressionWithTypeArguments" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(j0s, "isTSExpressionWithTypeArguments");
  function R0s(t, e) {
    return !t || t.type !== "TSInterfaceDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(R0s, "isTSInterfaceDeclaration");
  function q0s(t, e) {
    return !t || t.type !== "TSInterfaceBody" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(q0s, "isTSInterfaceBody");
  function U0s(t, e) {
    return !t || t.type !== "TSTypeAliasDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(U0s, "isTSTypeAliasDeclaration");
  function K0s(t, e) {
    return !t || t.type !== "TSInstantiationExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(K0s, "isTSInstantiationExpression");
  function V0s(t, e) {
    return !t || t.type !== "TSAsExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(V0s, "isTSAsExpression");
  function W0s(t, e) {
    return !t || t.type !== "TSSatisfiesExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(W0s, "isTSSatisfiesExpression");
  function $0s(t, e) {
    return !t || t.type !== "TSTypeAssertion" ? !1 : e == null || (0, j.default)(t, e);
  }
  n($0s, "isTSTypeAssertion");
  function H0s(t, e) {
    return !t || t.type !== "TSEnumBody" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(H0s, "isTSEnumBody");
  function J0s(t, e) {
    return !t || t.type !== "TSEnumDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(J0s, "isTSEnumDeclaration");
  function Y0s(t, e) {
    return !t || t.type !== "TSEnumMember" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Y0s, "isTSEnumMember");
  function X0s(t, e) {
    return !t || t.type !== "TSModuleDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(X0s, "isTSModuleDeclaration");
  function z0s(t, e) {
    return !t || t.type !== "TSModuleBlock" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(z0s, "isTSModuleBlock");
  function G0s(t, e) {
    return !t || t.type !== "TSImportType" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(G0s, "isTSImportType");
  function Q0s(t, e) {
    return !t || t.type !== "TSImportEqualsDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Q0s, "isTSImportEqualsDeclaration");
  function Z0s(t, e) {
    return !t || t.type !== "TSExternalModuleReference" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(Z0s, "isTSExternalModuleReference");
  function eTs(t, e) {
    return !t || t.type !== "TSNonNullExpression" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(eTs, "isTSNonNullExpression");
  function tTs(t, e) {
    return !t || t.type !== "TSExportAssignment" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(tTs, "isTSExportAssignment");
  function sTs(t, e) {
    return !t || t.type !== "TSNamespaceExportDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(sTs, "isTSNamespaceExportDeclaration");
  function rTs(t, e) {
    return !t || t.type !== "TSTypeAnnotation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(rTs, "isTSTypeAnnotation");
  function iTs(t, e) {
    return !t || t.type !== "TSTypeParameterInstantiation" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(iTs, "isTSTypeParameterInstantiation");
  function nTs(t, e) {
    return !t || t.type !== "TSTypeParameterDeclaration" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(nTs, "isTSTypeParameterDeclaration");
  function aTs(t, e) {
    return !t || t.type !== "TSTypeParameter" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(aTs, "isTSTypeParameter");
  function oTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ArrayExpression":
      case "AssignmentExpression":
      case "BinaryExpression":
      case "InterpreterDirective":
      case "Directive":
      case "DirectiveLiteral":
      case "BlockStatement":
      case "BreakStatement":
      case "CallExpression":
      case "CatchClause":
      case "ConditionalExpression":
      case "ContinueStatement":
      case "DebuggerStatement":
      case "DoWhileStatement":
      case "EmptyStatement":
      case "ExpressionStatement":
      case "File":
      case "ForInStatement":
      case "ForStatement":
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "Identifier":
      case "IfStatement":
      case "LabeledStatement":
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "RegExpLiteral":
      case "LogicalExpression":
      case "MemberExpression":
      case "NewExpression":
      case "Program":
      case "ObjectExpression":
      case "ObjectMethod":
      case "ObjectProperty":
      case "RestElement":
      case "ReturnStatement":
      case "SequenceExpression":
      case "ParenthesizedExpression":
      case "SwitchCase":
      case "SwitchStatement":
      case "ThisExpression":
      case "ThrowStatement":
      case "TryStatement":
      case "UnaryExpression":
      case "UpdateExpression":
      case "VariableDeclaration":
      case "VariableDeclarator":
      case "WhileStatement":
      case "WithStatement":
      case "AssignmentPattern":
      case "ArrayPattern":
      case "ArrowFunctionExpression":
      case "ClassBody":
      case "ClassExpression":
      case "ClassDeclaration":
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
      case "ExportSpecifier":
      case "ForOfStatement":
      case "ImportDeclaration":
      case "ImportDefaultSpecifier":
      case "ImportNamespaceSpecifier":
      case "ImportSpecifier":
      case "ImportExpression":
      case "MetaProperty":
      case "ClassMethod":
      case "ObjectPattern":
      case "SpreadElement":
      case "Super":
      case "TaggedTemplateExpression":
      case "TemplateElement":
      case "TemplateLiteral":
      case "YieldExpression":
      case "AwaitExpression":
      case "Import":
      case "BigIntLiteral":
      case "ExportNamespaceSpecifier":
      case "OptionalMemberExpression":
      case "OptionalCallExpression":
      case "ClassProperty":
      case "ClassAccessorProperty":
      case "ClassPrivateProperty":
      case "ClassPrivateMethod":
      case "PrivateName":
      case "StaticBlock":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Identifier":
          case "StringLiteral":
          case "BlockStatement":
          case "ClassBody":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(oTs, "isStandardized");
  function lTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ArrayExpression":
      case "AssignmentExpression":
      case "BinaryExpression":
      case "CallExpression":
      case "ConditionalExpression":
      case "FunctionExpression":
      case "Identifier":
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "RegExpLiteral":
      case "LogicalExpression":
      case "MemberExpression":
      case "NewExpression":
      case "ObjectExpression":
      case "SequenceExpression":
      case "ParenthesizedExpression":
      case "ThisExpression":
      case "UnaryExpression":
      case "UpdateExpression":
      case "ArrowFunctionExpression":
      case "ClassExpression":
      case "ImportExpression":
      case "MetaProperty":
      case "Super":
      case "TaggedTemplateExpression":
      case "TemplateLiteral":
      case "YieldExpression":
      case "AwaitExpression":
      case "Import":
      case "BigIntLiteral":
      case "OptionalMemberExpression":
      case "OptionalCallExpression":
      case "TypeCastExpression":
      case "JSXElement":
      case "JSXFragment":
      case "BindExpression":
      case "DoExpression":
      case "RecordExpression":
      case "TupleExpression":
      case "DecimalLiteral":
      case "ModuleExpression":
      case "TopicReference":
      case "PipelineTopicExpression":
      case "PipelineBareFunction":
      case "PipelinePrimaryTopicReference":
      case "TSInstantiationExpression":
      case "TSAsExpression":
      case "TSSatisfiesExpression":
      case "TSTypeAssertion":
      case "TSNonNullExpression":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Expression":
          case "Identifier":
          case "StringLiteral":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(lTs, "isExpression");
  function uTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BinaryExpression":
      case "LogicalExpression":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(uTs, "isBinary");
  function cTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BlockStatement":
      case "CatchClause":
      case "DoWhileStatement":
      case "ForInStatement":
      case "ForStatement":
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "Program":
      case "ObjectMethod":
      case "SwitchStatement":
      case "WhileStatement":
      case "ArrowFunctionExpression":
      case "ClassExpression":
      case "ClassDeclaration":
      case "ForOfStatement":
      case "ClassMethod":
      case "ClassPrivateMethod":
      case "StaticBlock":
      case "TSModuleBlock":
        break;
      case "Placeholder":
        if (t.expectedNode === "BlockStatement") break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(cTs, "isScopable");
  function pTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BlockStatement":
      case "CatchClause":
      case "DoWhileStatement":
      case "ForInStatement":
      case "ForStatement":
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "Program":
      case "ObjectMethod":
      case "SwitchStatement":
      case "WhileStatement":
      case "ArrowFunctionExpression":
      case "ForOfStatement":
      case "ClassMethod":
      case "ClassPrivateMethod":
      case "StaticBlock":
      case "TSModuleBlock":
        break;
      case "Placeholder":
        if (t.expectedNode === "BlockStatement") break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(pTs, "isBlockParent");
  function hTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BlockStatement":
      case "Program":
      case "TSModuleBlock":
        break;
      case "Placeholder":
        if (t.expectedNode === "BlockStatement") break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(hTs, "isBlock");
  function fTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BlockStatement":
      case "BreakStatement":
      case "ContinueStatement":
      case "DebuggerStatement":
      case "DoWhileStatement":
      case "EmptyStatement":
      case "ExpressionStatement":
      case "ForInStatement":
      case "ForStatement":
      case "FunctionDeclaration":
      case "IfStatement":
      case "LabeledStatement":
      case "ReturnStatement":
      case "SwitchStatement":
      case "ThrowStatement":
      case "TryStatement":
      case "VariableDeclaration":
      case "WhileStatement":
      case "WithStatement":
      case "ClassDeclaration":
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
      case "ForOfStatement":
      case "ImportDeclaration":
      case "DeclareClass":
      case "DeclareFunction":
      case "DeclareInterface":
      case "DeclareModule":
      case "DeclareModuleExports":
      case "DeclareTypeAlias":
      case "DeclareOpaqueType":
      case "DeclareVariable":
      case "DeclareExportDeclaration":
      case "DeclareExportAllDeclaration":
      case "InterfaceDeclaration":
      case "OpaqueType":
      case "TypeAlias":
      case "EnumDeclaration":
      case "TSDeclareFunction":
      case "TSInterfaceDeclaration":
      case "TSTypeAliasDeclaration":
      case "TSEnumDeclaration":
      case "TSModuleDeclaration":
      case "TSImportEqualsDeclaration":
      case "TSExportAssignment":
      case "TSNamespaceExportDeclaration":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Statement":
          case "Declaration":
          case "BlockStatement":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(fTs, "isStatement");
  function dTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BreakStatement":
      case "ContinueStatement":
      case "ReturnStatement":
      case "ThrowStatement":
      case "YieldExpression":
      case "AwaitExpression":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(dTs, "isTerminatorless");
  function mTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "BreakStatement":
      case "ContinueStatement":
      case "ReturnStatement":
      case "ThrowStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(mTs, "isCompletionStatement");
  function yTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ConditionalExpression":
      case "IfStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(yTs, "isConditional");
  function gTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "DoWhileStatement":
      case "ForInStatement":
      case "ForStatement":
      case "WhileStatement":
      case "ForOfStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(gTs, "isLoop");
  function TTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "DoWhileStatement":
      case "WhileStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(TTs, "isWhile");
  function bTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ExpressionStatement":
      case "ParenthesizedExpression":
      case "TypeCastExpression":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(bTs, "isExpressionWrapper");
  function xTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ForInStatement":
      case "ForStatement":
      case "ForOfStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(xTs, "isFor");
  function STs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ForInStatement":
      case "ForOfStatement":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(STs, "isForXStatement");
  function PTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "ObjectMethod":
      case "ArrowFunctionExpression":
      case "ClassMethod":
      case "ClassPrivateMethod":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(PTs, "isFunction");
  function ETs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "ObjectMethod":
      case "ArrowFunctionExpression":
      case "ClassMethod":
      case "ClassPrivateMethod":
      case "StaticBlock":
      case "TSModuleBlock":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(ETs, "isFunctionParent");
  function ATs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "FunctionDeclaration":
      case "FunctionExpression":
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "RegExpLiteral":
      case "ArrowFunctionExpression":
      case "BigIntLiteral":
      case "DecimalLiteral":
        break;
      case "Placeholder":
        if (t.expectedNode === "StringLiteral") break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(ATs, "isPureish");
  function vTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "FunctionDeclaration":
      case "VariableDeclaration":
      case "ClassDeclaration":
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
      case "ImportDeclaration":
      case "DeclareClass":
      case "DeclareFunction":
      case "DeclareInterface":
      case "DeclareModule":
      case "DeclareModuleExports":
      case "DeclareTypeAlias":
      case "DeclareOpaqueType":
      case "DeclareVariable":
      case "DeclareExportDeclaration":
      case "DeclareExportAllDeclaration":
      case "InterfaceDeclaration":
      case "OpaqueType":
      case "TypeAlias":
      case "EnumDeclaration":
      case "TSDeclareFunction":
      case "TSInterfaceDeclaration":
      case "TSTypeAliasDeclaration":
      case "TSEnumDeclaration":
      case "TSModuleDeclaration":
        break;
      case "Placeholder":
        if (t.expectedNode === "Declaration") break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(vTs, "isDeclaration");
  function CTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "Identifier":
      case "RestElement":
      case "AssignmentPattern":
      case "ArrayPattern":
      case "ObjectPattern":
      case "TSAsExpression":
      case "TSSatisfiesExpression":
      case "TSTypeAssertion":
      case "TSNonNullExpression":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Pattern":
          case "Identifier":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(CTs, "isPatternLike");
  function wTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "Identifier":
      case "MemberExpression":
      case "RestElement":
      case "AssignmentPattern":
      case "ArrayPattern":
      case "ObjectPattern":
      case "TSParameterProperty":
      case "TSAsExpression":
      case "TSSatisfiesExpression":
      case "TSTypeAssertion":
      case "TSNonNullExpression":
        break;
      case "Placeholder":
        switch (t.expectedNode) {
          case "Pattern":
          case "Identifier":
            break;
          default:
            return !1;
        }
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(wTs, "isLVal");
  function ITs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "Identifier":
      case "TSQualifiedName":
        break;
      case "Placeholder":
        if (t.expectedNode === "Identifier") break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(ITs, "isTSEntityName");
  function NTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "RegExpLiteral":
      case "TemplateLiteral":
      case "BigIntLiteral":
      case "DecimalLiteral":
        break;
      case "Placeholder":
        if (t.expectedNode === "StringLiteral") break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(NTs, "isLiteral");
  function kTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "StringLiteral":
      case "NumericLiteral":
      case "NullLiteral":
      case "BooleanLiteral":
      case "BigIntLiteral":
      case "JSXAttribute":
      case "JSXClosingElement":
      case "JSXElement":
      case "JSXExpressionContainer":
      case "JSXSpreadChild":
      case "JSXOpeningElement":
      case "JSXText":
      case "JSXFragment":
      case "JSXOpeningFragment":
      case "JSXClosingFragment":
      case "DecimalLiteral":
        break;
      case "Placeholder":
        if (t.expectedNode === "StringLiteral") break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(kTs, "isImmutable");
  function DTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ObjectMethod":
      case "ObjectProperty":
      case "ObjectTypeInternalSlot":
      case "ObjectTypeCallProperty":
      case "ObjectTypeIndexer":
      case "ObjectTypeProperty":
      case "ObjectTypeSpreadProperty":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(DTs, "isUserWhitespacable");
  function OTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ObjectMethod":
      case "ClassMethod":
      case "ClassPrivateMethod":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(OTs, "isMethod");
  function _Ts(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ObjectMethod":
      case "ObjectProperty":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(_Ts, "isObjectMember");
  function LTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ObjectProperty":
      case "ClassProperty":
      case "ClassAccessorProperty":
      case "ClassPrivateProperty":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(LTs, "isProperty");
  function BTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "UnaryExpression":
      case "SpreadElement":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(BTs, "isUnaryLike");
  function MTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "AssignmentPattern":
      case "ArrayPattern":
      case "ObjectPattern":
        break;
      case "Placeholder":
        if (t.expectedNode === "Pattern") break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(MTs, "isPattern");
  function FTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ClassExpression":
      case "ClassDeclaration":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(FTs, "isClass");
  function Zfe(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
      case "ImportDeclaration":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(Zfe, "isImportOrExportDeclaration");
  function jTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ExportAllDeclaration":
      case "ExportDefaultDeclaration":
      case "ExportNamedDeclaration":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(jTs, "isExportDeclaration");
  function RTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ExportSpecifier":
      case "ImportDefaultSpecifier":
      case "ImportNamespaceSpecifier":
      case "ImportSpecifier":
      case "ExportNamespaceSpecifier":
      case "ExportDefaultSpecifier":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(RTs, "isModuleSpecifier");
  function qTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ClassAccessorProperty":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(qTs, "isAccessor");
  function UTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "ClassPrivateProperty":
      case "ClassPrivateMethod":
      case "PrivateName":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(UTs, "isPrivate");
  function KTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "AnyTypeAnnotation":
      case "ArrayTypeAnnotation":
      case "BooleanTypeAnnotation":
      case "BooleanLiteralTypeAnnotation":
      case "NullLiteralTypeAnnotation":
      case "ClassImplements":
      case "DeclareClass":
      case "DeclareFunction":
      case "DeclareInterface":
      case "DeclareModule":
      case "DeclareModuleExports":
      case "DeclareTypeAlias":
      case "DeclareOpaqueType":
      case "DeclareVariable":
      case "DeclareExportDeclaration":
      case "DeclareExportAllDeclaration":
      case "DeclaredPredicate":
      case "ExistsTypeAnnotation":
      case "FunctionTypeAnnotation":
      case "FunctionTypeParam":
      case "GenericTypeAnnotation":
      case "InferredPredicate":
      case "InterfaceExtends":
      case "InterfaceDeclaration":
      case "InterfaceTypeAnnotation":
      case "IntersectionTypeAnnotation":
      case "MixedTypeAnnotation":
      case "EmptyTypeAnnotation":
      case "NullableTypeAnnotation":
      case "NumberLiteralTypeAnnotation":
      case "NumberTypeAnnotation":
      case "ObjectTypeAnnotation":
      case "ObjectTypeInternalSlot":
      case "ObjectTypeCallProperty":
      case "ObjectTypeIndexer":
      case "ObjectTypeProperty":
      case "ObjectTypeSpreadProperty":
      case "OpaqueType":
      case "QualifiedTypeIdentifier":
      case "StringLiteralTypeAnnotation":
      case "StringTypeAnnotation":
      case "SymbolTypeAnnotation":
      case "ThisTypeAnnotation":
      case "TupleTypeAnnotation":
      case "TypeofTypeAnnotation":
      case "TypeAlias":
      case "TypeAnnotation":
      case "TypeCastExpression":
      case "TypeParameter":
      case "TypeParameterDeclaration":
      case "TypeParameterInstantiation":
      case "UnionTypeAnnotation":
      case "Variance":
      case "VoidTypeAnnotation":
      case "EnumDeclaration":
      case "EnumBooleanBody":
      case "EnumNumberBody":
      case "EnumStringBody":
      case "EnumSymbolBody":
      case "EnumBooleanMember":
      case "EnumNumberMember":
      case "EnumStringMember":
      case "EnumDefaultedMember":
      case "IndexedAccessType":
      case "OptionalIndexedAccessType":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(KTs, "isFlow");
  function VTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "AnyTypeAnnotation":
      case "ArrayTypeAnnotation":
      case "BooleanTypeAnnotation":
      case "BooleanLiteralTypeAnnotation":
      case "NullLiteralTypeAnnotation":
      case "ExistsTypeAnnotation":
      case "FunctionTypeAnnotation":
      case "GenericTypeAnnotation":
      case "InterfaceTypeAnnotation":
      case "IntersectionTypeAnnotation":
      case "MixedTypeAnnotation":
      case "EmptyTypeAnnotation":
      case "NullableTypeAnnotation":
      case "NumberLiteralTypeAnnotation":
      case "NumberTypeAnnotation":
      case "ObjectTypeAnnotation":
      case "StringLiteralTypeAnnotation":
      case "StringTypeAnnotation":
      case "SymbolTypeAnnotation":
      case "ThisTypeAnnotation":
      case "TupleTypeAnnotation":
      case "TypeofTypeAnnotation":
      case "UnionTypeAnnotation":
      case "VoidTypeAnnotation":
      case "IndexedAccessType":
      case "OptionalIndexedAccessType":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(VTs, "isFlowType");
  function WTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "AnyTypeAnnotation":
      case "BooleanTypeAnnotation":
      case "NullLiteralTypeAnnotation":
      case "MixedTypeAnnotation":
      case "EmptyTypeAnnotation":
      case "NumberTypeAnnotation":
      case "StringTypeAnnotation":
      case "SymbolTypeAnnotation":
      case "ThisTypeAnnotation":
      case "VoidTypeAnnotation":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(WTs, "isFlowBaseAnnotation");
  function $Ts(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "DeclareClass":
      case "DeclareFunction":
      case "DeclareInterface":
      case "DeclareModule":
      case "DeclareModuleExports":
      case "DeclareTypeAlias":
      case "DeclareOpaqueType":
      case "DeclareVariable":
      case "DeclareExportDeclaration":
      case "DeclareExportAllDeclaration":
      case "InterfaceDeclaration":
      case "OpaqueType":
      case "TypeAlias":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n($Ts, "isFlowDeclaration");
  function HTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "DeclaredPredicate":
      case "InferredPredicate":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(HTs, "isFlowPredicate");
  function JTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "EnumBooleanBody":
      case "EnumNumberBody":
      case "EnumStringBody":
      case "EnumSymbolBody":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(JTs, "isEnumBody");
  function YTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "EnumBooleanMember":
      case "EnumNumberMember":
      case "EnumStringMember":
      case "EnumDefaultedMember":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(YTs, "isEnumMember");
  function XTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "JSXAttribute":
      case "JSXClosingElement":
      case "JSXElement":
      case "JSXEmptyExpression":
      case "JSXExpressionContainer":
      case "JSXSpreadChild":
      case "JSXIdentifier":
      case "JSXMemberExpression":
      case "JSXNamespacedName":
      case "JSXOpeningElement":
      case "JSXSpreadAttribute":
      case "JSXText":
      case "JSXFragment":
      case "JSXOpeningFragment":
      case "JSXClosingFragment":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(XTs, "isJSX");
  function zTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "Noop":
      case "Placeholder":
      case "V8IntrinsicIdentifier":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(zTs, "isMiscellaneous");
  function GTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "TSParameterProperty":
      case "TSDeclareFunction":
      case "TSDeclareMethod":
      case "TSQualifiedName":
      case "TSCallSignatureDeclaration":
      case "TSConstructSignatureDeclaration":
      case "TSPropertySignature":
      case "TSMethodSignature":
      case "TSIndexSignature":
      case "TSAnyKeyword":
      case "TSBooleanKeyword":
      case "TSBigIntKeyword":
      case "TSIntrinsicKeyword":
      case "TSNeverKeyword":
      case "TSNullKeyword":
      case "TSNumberKeyword":
      case "TSObjectKeyword":
      case "TSStringKeyword":
      case "TSSymbolKeyword":
      case "TSUndefinedKeyword":
      case "TSUnknownKeyword":
      case "TSVoidKeyword":
      case "TSThisType":
      case "TSFunctionType":
      case "TSConstructorType":
      case "TSTypeReference":
      case "TSTypePredicate":
      case "TSTypeQuery":
      case "TSTypeLiteral":
      case "TSArrayType":
      case "TSTupleType":
      case "TSOptionalType":
      case "TSRestType":
      case "TSNamedTupleMember":
      case "TSUnionType":
      case "TSIntersectionType":
      case "TSConditionalType":
      case "TSInferType":
      case "TSParenthesizedType":
      case "TSTypeOperator":
      case "TSIndexedAccessType":
      case "TSMappedType":
      case "TSLiteralType":
      case "TSExpressionWithTypeArguments":
      case "TSInterfaceDeclaration":
      case "TSInterfaceBody":
      case "TSTypeAliasDeclaration":
      case "TSInstantiationExpression":
      case "TSAsExpression":
      case "TSSatisfiesExpression":
      case "TSTypeAssertion":
      case "TSEnumBody":
      case "TSEnumDeclaration":
      case "TSEnumMember":
      case "TSModuleDeclaration":
      case "TSModuleBlock":
      case "TSImportType":
      case "TSImportEqualsDeclaration":
      case "TSExternalModuleReference":
      case "TSNonNullExpression":
      case "TSExportAssignment":
      case "TSNamespaceExportDeclaration":
      case "TSTypeAnnotation":
      case "TSTypeParameterInstantiation":
      case "TSTypeParameterDeclaration":
      case "TSTypeParameter":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(GTs, "isTypeScript");
  function QTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "TSCallSignatureDeclaration":
      case "TSConstructSignatureDeclaration":
      case "TSPropertySignature":
      case "TSMethodSignature":
      case "TSIndexSignature":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(QTs, "isTSTypeElement");
  function ZTs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "TSAnyKeyword":
      case "TSBooleanKeyword":
      case "TSBigIntKeyword":
      case "TSIntrinsicKeyword":
      case "TSNeverKeyword":
      case "TSNullKeyword":
      case "TSNumberKeyword":
      case "TSObjectKeyword":
      case "TSStringKeyword":
      case "TSSymbolKeyword":
      case "TSUndefinedKeyword":
      case "TSUnknownKeyword":
      case "TSVoidKeyword":
      case "TSThisType":
      case "TSFunctionType":
      case "TSConstructorType":
      case "TSTypeReference":
      case "TSTypePredicate":
      case "TSTypeQuery":
      case "TSTypeLiteral":
      case "TSArrayType":
      case "TSTupleType":
      case "TSOptionalType":
      case "TSRestType":
      case "TSUnionType":
      case "TSIntersectionType":
      case "TSConditionalType":
      case "TSInferType":
      case "TSParenthesizedType":
      case "TSTypeOperator":
      case "TSIndexedAccessType":
      case "TSMappedType":
      case "TSLiteralType":
      case "TSExpressionWithTypeArguments":
      case "TSImportType":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(ZTs, "isTSType");
  function ebs(t, e) {
    if (!t) return !1;
    switch (t.type) {
      case "TSAnyKeyword":
      case "TSBooleanKeyword":
      case "TSBigIntKeyword":
      case "TSIntrinsicKeyword":
      case "TSNeverKeyword":
      case "TSNullKeyword":
      case "TSNumberKeyword":
      case "TSObjectKeyword":
      case "TSStringKeyword":
      case "TSSymbolKeyword":
      case "TSUndefinedKeyword":
      case "TSUnknownKeyword":
      case "TSVoidKeyword":
      case "TSThisType":
      case "TSLiteralType":
        break;
      default:
        return !1;
    }
    return e == null || (0, j.default)(t, e);
  }
  n(ebs, "isTSBaseType");
  function tbs(t, e) {
    return (0, XT.default)("isNumberLiteral", "isNumericLiteral"), !t || t.type !== "NumberLiteral" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(tbs, "isNumberLiteral");
  function sbs(t, e) {
    return (0, XT.default)("isRegexLiteral", "isRegExpLiteral"), !t || t.type !== "RegexLiteral" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(sbs, "isRegexLiteral");
  function rbs(t, e) {
    return (0, XT.default)("isRestProperty", "isRestElement"), !t || t.type !== "RestProperty" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(rbs, "isRestProperty");
  function ibs(t, e) {
    return (0, XT.default)("isSpreadProperty", "isSpreadElement"), !t || t.type !== "SpreadProperty" ? !1 : e == null || (0, j.default)(t, e);
  }
  n(ibs, "isSpreadProperty");
  function nbs(t, e) {
    return (0, XT.default)("isModuleDeclaration", "isImportOrExportDeclaration"), Zfe(t, e);
  }
  n(nbs, "isModuleDeclaration");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/matchesPattern.js
var vR = g((AR) => {
  "use strict";
  Object.defineProperty(AR, "__esModule", {
    value: !0
  });
  AR.default = abs;
  var zT = di();
  function abs(t, e, s) {
    if (!(0, zT.isMemberExpression)(t)) return !1;
    let r = Array.isArray(e) ? e : e.split("."), i = [], a;
    for (a = t; (0, zT.isMemberExpression)(a); a = a.object)
      i.push(a.property);
    if (i.push(a), i.length < r.length || !s && i.length > r.length) return !1;
    for (let o = 0, l = i.length - 1; o < r.length; o++, l--) {
      let u = i[l], c;
      if ((0, zT.isIdentifier)(u))
        c = u.name;
      else if ((0, zT.isStringLiteral)(u))
        c = u.value;
      else if ((0, zT.isThisExpression)(u))
        c = "this";
      else
        return !1;
      if (r[o] !== c) return !1;
    }
    return !0;
  }
  n(abs, "matchesPattern");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js
var wR = g((CR) => {
  "use strict";
  Object.defineProperty(CR, "__esModule", {
    value: !0
  });
  CR.default = lbs;
  var obs = vR();
  function lbs(t, e) {
    let s = t.split(".");
    return (r) => (0, obs.default)(r, s, e);
  }
  n(lbs, "buildMatchMemberExpression");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/react/isReactComponent.js
var ede = g((Ev) => {
  "use strict";
  Object.defineProperty(Ev, "__esModule", {
    value: !0
  });
  Ev.default = void 0;
  var ubs = wR(), cbs = (0, ubs.default)("React.Component"), Jrr = Ev.default = cbs;
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/react/isCompatTag.js
var tde = g((IR) => {
  "use strict";
  Object.defineProperty(IR, "__esModule", {
    value: !0
  });
  IR.default = pbs;
  function pbs(t) {
    return !!t && /^[a-z]/.test(t);
  }
  n(pbs, "isCompatTag");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/isType.js
var Av = g((NR) => {
  "use strict";
  Object.defineProperty(NR, "__esModule", {
    value: !0
  });
  NR.default = hbs;
  var sde = ao();
  function hbs(t, e) {
    if (t === e) return !0;
    if (t == null || sde.ALIAS_KEYS[e]) return !1;
    let s = sde.FLIPPED_ALIAS_KEYS[e];
    if (s) {
      if (s[0] === t) return !0;
      for (let r of s)
        if (t === r) return !0;
    }
    return !1;
  }
  n(hbs, "isType");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/isPlaceholderType.js
var DR = g((kR) => {
  "use strict";
  Object.defineProperty(kR, "__esModule", {
    value: !0
  });
  kR.default = dbs;
  var fbs = ao();
  function dbs(t, e) {
    if (t === e) return !0;
    let s = fbs.PLACEHOLDERS_ALIAS[t];
    if (s) {
      for (let r of s)
        if (e === r) return !0;
    }
    return !1;
  }
  n(dbs, "isPlaceholderType");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/is.js
var by = g((OR) => {
  "use strict";
  Object.defineProperty(OR, "__esModule", {
    value: !0
  });
  OR.default = bbs;
  var mbs = Pv(), ybs = Av(), gbs = DR(), Tbs = ao();
  function bbs(t, e, s) {
    return e ? (0, ybs.default)(e.type, t) ? s === void 0 ? !0 : (0, mbs.default)(e, s) : !s && e.type === "Placeholder" && t in Tbs.FLIPPED_ALIAS_KEYS ?
    (0, gbs.default)(e.expectedNode, t) : !1 : !1;
  }
  n(bbs, "is");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/isValidIdentifier.js
var xy = g((LR) => {
  "use strict";
  Object.defineProperty(LR, "__esModule", {
    value: !0
  });
  LR.default = xbs;
  var _R = ba();
  function xbs(t, e = !0) {
    return typeof t != "string" || e && ((0, _R.isKeyword)(t) || (0, _R.isStrictReservedWord)(t, !0)) ? !1 : (0, _R.isIdentifierName)(t);
  }
  n(xbs, "isValidIdentifier");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/constants/index.js
var Vp = g((Zt) => {
  "use strict";
  Object.defineProperty(Zt, "__esModule", {
    value: !0
  });
  Zt.UPDATE_OPERATORS = Zt.UNARY_OPERATORS = Zt.STRING_UNARY_OPERATORS = Zt.STATEMENT_OR_BLOCK_KEYS = Zt.NUMBER_UNARY_OPERATORS = Zt.NUMBER_BINARY_OPERATORS =
  Zt.NOT_LOCAL_BINDING = Zt.LOGICAL_OPERATORS = Zt.INHERIT_KEYS = Zt.FOR_INIT_KEYS = Zt.FLATTENABLE_KEYS = Zt.EQUALITY_BINARY_OPERATORS = Zt.
  COMPARISON_BINARY_OPERATORS = Zt.COMMENT_KEYS = Zt.BOOLEAN_UNARY_OPERATORS = Zt.BOOLEAN_NUMBER_BINARY_OPERATORS = Zt.BOOLEAN_BINARY_OPERATORS =
  Zt.BLOCK_SCOPED_SYMBOL = Zt.BINARY_OPERATORS = Zt.ASSIGNMENT_OPERATORS = void 0;
  var nir = Zt.STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"], air = Zt.FLATTENABLE_KEYS = ["body", "expressions"], oir = Zt.
  FOR_INIT_KEYS = ["left", "init"], lir = Zt.COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"], Sbs = Zt.LOGICAL_OPERATORS =
  ["||", "&&", "??"], uir = Zt.UPDATE_OPERATORS = ["++", "--"], Pbs = Zt.BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="], Ebs = Zt.
  EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="], Abs = Zt.COMPARISON_BINARY_OPERATORS = [...Ebs, "in", "instanceof"], vbs = Zt.BOOLEAN_BINARY_OPERATORS =
  [...Abs, ...Pbs], rde = Zt.NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"], cir = Zt.BINARY_OPERATORS =
  ["+", ...rde, ...vbs, "|>"], pir = Zt.ASSIGNMENT_OPERATORS = ["=", "+=", ...rde.map((t) => t + "="), ...Sbs.map((t) => t + "=")], Cbs = Zt.
  BOOLEAN_UNARY_OPERATORS = ["delete", "!"], wbs = Zt.NUMBER_UNARY_OPERATORS = ["+", "-", "~"], Ibs = Zt.STRING_UNARY_OPERATORS = ["typeof"],
  hir = Zt.UNARY_OPERATORS = ["void", "throw", ...Cbs, ...wbs, ...Ibs], fir = Zt.INHERIT_KEYS = {
    optional: ["typeAnnotation", "typeParameters", "returnType"],
    force: ["start", "loc", "end"]
  }, dir = Zt.BLOCK_SCOPED_SYMBOL = Symbol.for("var used to be block scoped"), mir = Zt.NOT_LOCAL_BINDING = Symbol.for("should not be consid\
ered a local binding");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/definitions/utils.js
var Ol = g((Ks) => {
  "use strict";
  Object.defineProperty(Ks, "__esModule", {
    value: !0
  });
  Ks.VISITOR_KEYS = Ks.NODE_PARENT_VALIDATIONS = Ks.NODE_FIELDS = Ks.FLIPPED_ALIAS_KEYS = Ks.DEPRECATED_KEYS = Ks.BUILDER_KEYS = Ks.ALIAS_KEYS =
  void 0;
  Ks.arrayOf = nde;
  Ks.arrayOfType = ade;
  Ks.assertEach = ode;
  Ks.assertNodeOrValueType = qbs;
  Ks.assertNodeType = wv;
  Ks.assertOneOf = Rbs;
  Ks.assertOptionalChainStart = Kbs;
  Ks.assertShape = Ubs;
  Ks.assertValueType = jR;
  Ks.chain = lde;
  Ks.default = ude;
  Ks.defineAliasedType = $bs;
  Ks.validate = FR;
  Ks.validateArrayOfType = jbs;
  Ks.validateOptional = Mbs;
  Ks.validateOptionalType = Fbs;
  Ks.validateType = Bbs;
  var ide = by(), Cv = Iv(), Nbs = Ks.VISITOR_KEYS = {}, kbs = Ks.ALIAS_KEYS = {}, BR = Ks.FLIPPED_ALIAS_KEYS = {}, Dbs = Ks.NODE_FIELDS = {},
  Obs = Ks.BUILDER_KEYS = {}, _bs = Ks.DEPRECATED_KEYS = {}, Lbs = Ks.NODE_PARENT_VALIDATIONS = {};
  function vv(t) {
    return Array.isArray(t) ? "array" : t === null ? "null" : typeof t;
  }
  n(vv, "getType");
  function FR(t) {
    return {
      validate: t
    };
  }
  n(FR, "validate");
  function Bbs(...t) {
    return FR(wv(...t));
  }
  n(Bbs, "validateType");
  function Mbs(t) {
    return {
      validate: t,
      optional: !0
    };
  }
  n(Mbs, "validateOptional");
  function Fbs(...t) {
    return {
      validate: wv(...t),
      optional: !0
    };
  }
  n(Fbs, "validateOptionalType");
  function nde(t) {
    return lde(jR("array"), ode(t));
  }
  n(nde, "arrayOf");
  function ade(...t) {
    return nde(wv(...t));
  }
  n(ade, "arrayOfType");
  function jbs(...t) {
    return FR(ade(...t));
  }
  n(jbs, "validateArrayOfType");
  function ode(t) {
    let e = process.env.BABEL_TYPES_8_BREAKING ? Cv.validateChild : () => {
    };
    function s(r, i, a) {
      if (Array.isArray(a))
        for (let o = 0; o < a.length; o++) {
          let l = `${i}[${o}]`, u = a[o];
          t(r, l, u), e(r, l, u);
        }
    }
    return n(s, "validator"), s.each = t, s;
  }
  n(ode, "assertEach");
  function Rbs(...t) {
    function e(s, r, i) {
      if (!t.includes(i))
        throw new TypeError(`Property ${r} expected value to be one of ${JSON.stringify(t)} but got ${JSON.stringify(i)}`);
    }
    return n(e, "validate"), e.oneOf = t, e;
  }
  n(Rbs, "assertOneOf");
  function wv(...t) {
    function e(s, r, i) {
      for (let a of t)
        if ((0, ide.default)(a, i)) {
          (0, Cv.validateChild)(s, r, i);
          return;
        }
      throw new TypeError(`Property ${r} of ${s.type} expected node to be of a type ${JSON.stringify(t)} but instead got ${JSON.stringify(i?.
      type)}`);
    }
    return n(e, "validate"), e.oneOfNodeTypes = t, e;
  }
  n(wv, "assertNodeType");
  function qbs(...t) {
    function e(s, r, i) {
      for (let a of t)
        if (vv(i) === a || (0, ide.default)(a, i)) {
          (0, Cv.validateChild)(s, r, i);
          return;
        }
      throw new TypeError(`Property ${r} of ${s.type} expected node to be of a type ${JSON.stringify(t)} but instead got ${JSON.stringify(i?.
      type)}`);
    }
    return n(e, "validate"), e.oneOfNodeOrValueTypes = t, e;
  }
  n(qbs, "assertNodeOrValueType");
  function jR(t) {
    function e(s, r, i) {
      if (!(vv(i) === t))
        throw new TypeError(`Property ${r} expected type of ${t} but got ${vv(i)}`);
    }
    return n(e, "validate"), e.type = t, e;
  }
  n(jR, "assertValueType");
  function Ubs(t) {
    function e(s, r, i) {
      let a = [];
      for (let o of Object.keys(t))
        try {
          (0, Cv.validateField)(s, o, i[o], t[o]);
        } catch (l) {
          if (l instanceof TypeError) {
            a.push(l.message);
            continue;
          }
          throw l;
        }
      if (a.length)
        throw new TypeError(`Property ${r} of ${s.type} expected to have the following:
${a.join(`
`)}`);
    }
    return n(e, "validate"), e.shapeOf = t, e;
  }
  n(Ubs, "assertShape");
  function Kbs() {
    function t(e) {
      var s;
      let r = e;
      for (; e; ) {
        let {
          type: i
        } = r;
        if (i === "OptionalCallExpression") {
          if (r.optional) return;
          r = r.callee;
          continue;
        }
        if (i === "OptionalMemberExpression") {
          if (r.optional) return;
          r = r.object;
          continue;
        }
        break;
      }
      throw new TypeError(`Non-optional ${e.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chai\
n from ${(s = r) == null ? void 0 : s.type}`);
    }
    return n(t, "validate"), t;
  }
  n(Kbs, "assertOptionalChainStart");
  function lde(...t) {
    function e(...s) {
      for (let r of t)
        r(...s);
    }
    if (n(e, "validate"), e.chainOf = t, t.length >= 2 && "type" in t[0] && t[0].type === "array" && !("each" in t[1]))
      throw new Error('An assertValueType("array") validator can only be followed by an assertEach(...) validator.');
    return e;
  }
  n(lde, "chain");
  var Vbs = /* @__PURE__ */ new Set(["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate"]), Wbs = /* @__PURE__ */ new Set(
  ["default", "optional", "deprecated", "validate"]), MR = {};
  function $bs(...t) {
    return (e, s = {}) => {
      let r = s.aliases;
      if (!r) {
        var i, a;
        s.inherits && (r = (i = MR[s.inherits].aliases) == null ? void 0 : i.slice()), (a = r) != null || (r = []), s.aliases = r;
      }
      let o = t.filter((l) => !r.includes(l));
      r.unshift(...o), ude(e, s);
    };
  }
  n($bs, "defineAliasedType");
  function ude(t, e = {}) {
    let s = e.inherits && MR[e.inherits] || {}, r = e.fields;
    if (!r && (r = {}, s.fields)) {
      let l = Object.getOwnPropertyNames(s.fields);
      for (let u of l) {
        let c = s.fields[u], p = c.default;
        if (Array.isArray(p) ? p.length > 0 : p && typeof p == "object")
          throw new Error("field defaults can only be primitives or empty arrays currently");
        r[u] = {
          default: Array.isArray(p) ? [] : p,
          optional: c.optional,
          deprecated: c.deprecated,
          validate: c.validate
        };
      }
    }
    let i = e.visitor || s.visitor || [], a = e.aliases || s.aliases || [], o = e.builder || s.builder || e.visitor || [];
    for (let l of Object.keys(e))
      if (!Vbs.has(l))
        throw new Error(`Unknown type option "${l}" on ${t}`);
    e.deprecatedAlias && (_bs[e.deprecatedAlias] = t);
    for (let l of i.concat(o))
      r[l] = r[l] || {};
    for (let l of Object.keys(r)) {
      let u = r[l];
      u.default !== void 0 && !o.includes(l) && (u.optional = !0), u.default === void 0 ? u.default = null : !u.validate && u.default != null &&
      (u.validate = jR(vv(u.default)));
      for (let c of Object.keys(u))
        if (!Wbs.has(c))
          throw new Error(`Unknown field key "${c}" on ${t}.${l}`);
    }
    Nbs[t] = e.visitor = i, Obs[t] = e.builder = o, Dbs[t] = e.fields = r, kbs[t] = e.aliases = a, a.forEach((l) => {
      BR[l] = BR[l] || [], BR[l].push(t);
    }), e.validate && (Lbs[t] = e.validate), MR[t] = e;
  }
  n(ude, "defineType");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/definitions/core.js
var QT = g((cn) => {
  "use strict";
  Object.defineProperty(cn, "__esModule", {
    value: !0
  });
  cn.patternLikeCommon = cn.importAttributes = cn.functionTypeAnnotationCommon = cn.functionDeclarationCommon = cn.functionCommon = cn.classMethodOrPropertyCommon =
  cn.classMethodOrDeclareMethodCommon = void 0;
  var Jn = by(), Hbs = xy(), cde = ba(), Jbs = bb(), GT = Vp(), K = Ol(), Fe = (0, K.defineAliasedType)("Standardized");
  Fe("ArrayExpression", {
    fields: {
      elements: {
        validate: (0, K.arrayOf)((0, K.assertNodeOrValueType)("null", "Expression", "SpreadElement")),
        default: process.env.BABEL_TYPES_8_BREAKING ? void 0 : []
      }
    },
    visitor: ["elements"],
    aliases: ["Expression"]
  });
  Fe("AssignmentExpression", {
    fields: {
      operator: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? Object.assign(function() {
          let t = (0, K.assertOneOf)(...GT.ASSIGNMENT_OPERATORS), e = (0, K.assertOneOf)("=");
          return function(s, r, i) {
            ((0, Jn.default)("Pattern", s.left) ? e : t)(s, r, i);
          };
        }(), {
          type: "string"
        }) : (0, K.assertValueType)("string")
      },
      left: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.assertNodeType)("Identifier", "MemberExpression", "OptionalMemberExpression", "\
ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") : (0, K.assertNodeType)(
        "LVal", "OptionalMemberExpression")
      },
      right: {
        validate: (0, K.assertNodeType)("Expression")
      }
    },
    builder: ["operator", "left", "right"],
    visitor: ["left", "right"],
    aliases: ["Expression"]
  });
  Fe("BinaryExpression", {
    builder: ["operator", "left", "right"],
    fields: {
      operator: {
        validate: (0, K.assertOneOf)(...GT.BINARY_OPERATORS)
      },
      left: {
        validate: function() {
          let t = (0, K.assertNodeType)("Expression"), e = (0, K.assertNodeType)("Expression", "PrivateName");
          return Object.assign(function(r, i, a) {
            (r.operator === "in" ? e : t)(r, i, a);
          }, {
            oneOfNodeTypes: ["Expression", "PrivateName"]
          });
        }()
      },
      right: {
        validate: (0, K.assertNodeType)("Expression")
      }
    },
    visitor: ["left", "right"],
    aliases: ["Binary", "Expression"]
  });
  Fe("InterpreterDirective", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, K.assertValueType)("string")
      }
    }
  });
  Fe("Directive", {
    visitor: ["value"],
    fields: {
      value: {
        validate: (0, K.assertNodeType)("DirectiveLiteral")
      }
    }
  });
  Fe("DirectiveLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, K.assertValueType)("string")
      }
    }
  });
  Fe("BlockStatement", {
    builder: ["body", "directives"],
    visitor: ["directives", "body"],
    fields: {
      directives: {
        validate: (0, K.arrayOfType)("Directive"),
        default: []
      },
      body: (0, K.validateArrayOfType)("Statement")
    },
    aliases: ["Scopable", "BlockParent", "Block", "Statement"]
  });
  Fe("BreakStatement", {
    visitor: ["label"],
    fields: {
      label: {
        validate: (0, K.assertNodeType)("Identifier"),
        optional: !0
      }
    },
    aliases: ["Statement", "Terminatorless", "CompletionStatement"]
  });
  Fe("CallExpression", {
    visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
    builder: ["callee", "arguments"],
    aliases: ["Expression"],
    fields: Object.assign({
      callee: {
        validate: (0, K.assertNodeType)("Expression", "Super", "V8IntrinsicIdentifier")
      },
      arguments: (0, K.validateArrayOfType)("Expression", "SpreadElement", "ArgumentPlaceholder"),
      typeArguments: {
        validate: (0, K.assertNodeType)("TypeParameterInstantiation"),
        optional: !0
      }
    }, {
      optional: {
        validate: (0, K.assertValueType)("boolean"),
        optional: !0
      },
      typeParameters: {
        validate: (0, K.assertNodeType)("TSTypeParameterInstantiation"),
        optional: !0
      }
    }, process.env.BABEL_TYPES_8_BREAKING ? {} : {
      optional: {
        validate: (0, K.assertValueType)("boolean"),
        optional: !0
      }
    })
  });
  Fe("CatchClause", {
    visitor: ["param", "body"],
    fields: {
      param: {
        validate: (0, K.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"),
        optional: !0
      },
      body: {
        validate: (0, K.assertNodeType)("BlockStatement")
      }
    },
    aliases: ["Scopable", "BlockParent"]
  });
  Fe("ConditionalExpression", {
    visitor: ["test", "consequent", "alternate"],
    fields: {
      test: {
        validate: (0, K.assertNodeType)("Expression")
      },
      consequent: {
        validate: (0, K.assertNodeType)("Expression")
      },
      alternate: {
        validate: (0, K.assertNodeType)("Expression")
      }
    },
    aliases: ["Expression", "Conditional"]
  });
  Fe("ContinueStatement", {
    visitor: ["label"],
    fields: {
      label: {
        validate: (0, K.assertNodeType)("Identifier"),
        optional: !0
      }
    },
    aliases: ["Statement", "Terminatorless", "CompletionStatement"]
  });
  Fe("DebuggerStatement", {
    aliases: ["Statement"]
  });
  Fe("DoWhileStatement", {
    builder: ["test", "body"],
    visitor: ["body", "test"],
    fields: {
      test: {
        validate: (0, K.assertNodeType)("Expression")
      },
      body: {
        validate: (0, K.assertNodeType)("Statement")
      }
    },
    aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"]
  });
  Fe("EmptyStatement", {
    aliases: ["Statement"]
  });
  Fe("ExpressionStatement", {
    visitor: ["expression"],
    fields: {
      expression: {
        validate: (0, K.assertNodeType)("Expression")
      }
    },
    aliases: ["Statement", "ExpressionWrapper"]
  });
  Fe("File", {
    builder: ["program", "comments", "tokens"],
    visitor: ["program"],
    fields: {
      program: {
        validate: (0, K.assertNodeType)("Program")
      },
      comments: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.assertEach)((0, K.assertNodeType)("CommentBlock", "CommentLine")) : Object.assign(
        () => {
        }, {
          each: {
            oneOfNodeTypes: ["CommentBlock", "CommentLine"]
          }
        }),
        optional: !0
      },
      tokens: {
        validate: (0, K.assertEach)(Object.assign(() => {
        }, {
          type: "any"
        })),
        optional: !0
      }
    }
  });
  Fe("ForInStatement", {
    visitor: ["left", "right", "body"],
    aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
    fields: {
      left: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.assertNodeType)("VariableDeclaration", "Identifier", "MemberExpression", "Array\
Pattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") : (0, K.assertNodeType)("Var\
iableDeclaration", "LVal")
      },
      right: {
        validate: (0, K.assertNodeType)("Expression")
      },
      body: {
        validate: (0, K.assertNodeType)("Statement")
      }
    }
  });
  Fe("ForStatement", {
    visitor: ["init", "test", "update", "body"],
    aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"],
    fields: {
      init: {
        validate: (0, K.assertNodeType)("VariableDeclaration", "Expression"),
        optional: !0
      },
      test: {
        validate: (0, K.assertNodeType)("Expression"),
        optional: !0
      },
      update: {
        validate: (0, K.assertNodeType)("Expression"),
        optional: !0
      },
      body: {
        validate: (0, K.assertNodeType)("Statement")
      }
    }
  });
  var Sy = /* @__PURE__ */ n(() => ({
    params: (0, K.validateArrayOfType)("Identifier", "Pattern", "RestElement"),
    generator: {
      default: !1
    },
    async: {
      default: !1
    }
  }), "functionCommon");
  cn.functionCommon = Sy;
  var Ff = /* @__PURE__ */ n(() => ({
    returnType: {
      validate: (0, K.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
      optional: !0
    },
    typeParameters: {
      validate: (0, K.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
      optional: !0
    }
  }), "functionTypeAnnotationCommon");
  cn.functionTypeAnnotationCommon = Ff;
  var pde = /* @__PURE__ */ n(() => Object.assign({}, Sy(), {
    declare: {
      validate: (0, K.assertValueType)("boolean"),
      optional: !0
    },
    id: {
      validate: (0, K.assertNodeType)("Identifier"),
      optional: !0
    }
  }), "functionDeclarationCommon");
  cn.functionDeclarationCommon = pde;
  Fe("FunctionDeclaration", {
    builder: ["id", "params", "body", "generator", "async"],
    visitor: ["id", "typeParameters", "params", "predicate", "returnType", "body"],
    fields: Object.assign({}, pde(), Ff(), {
      body: {
        validate: (0, K.assertNodeType)("BlockStatement")
      },
      predicate: {
        validate: (0, K.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
        optional: !0
      }
    }),
    aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"],
    validate: process.env.BABEL_TYPES_8_BREAKING ? function() {
      let t = (0, K.assertNodeType)("Identifier");
      return function(e, s, r) {
        (0, Jn.default)("ExportDefaultDeclaration", e) || t(r, "id", r.id);
      };
    }() : void 0
  });
  Fe("FunctionExpression", {
    inherits: "FunctionDeclaration",
    aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
    fields: Object.assign({}, Sy(), Ff(), {
      id: {
        validate: (0, K.assertNodeType)("Identifier"),
        optional: !0
      },
      body: {
        validate: (0, K.assertNodeType)("BlockStatement")
      },
      predicate: {
        validate: (0, K.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
        optional: !0
      }
    })
  });
  var Py = /* @__PURE__ */ n(() => ({
    typeAnnotation: {
      validate: (0, K.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
      optional: !0
    },
    optional: {
      validate: (0, K.assertValueType)("boolean"),
      optional: !0
    },
    decorators: {
      validate: (0, K.arrayOfType)("Decorator"),
      optional: !0
    }
  }), "patternLikeCommon");
  cn.patternLikeCommon = Py;
  Fe("Identifier", {
    builder: ["name"],
    visitor: ["typeAnnotation", "decorators"],
    aliases: ["Expression", "PatternLike", "LVal", "TSEntityName"],
    fields: Object.assign({}, Py(), {
      name: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.chain)((0, K.assertValueType)("string"), Object.assign(function(t, e, s) {
          if (!(0, Hbs.default)(s, !1))
            throw new TypeError(`"${s}" is not a valid identifier name`);
        }, {
          type: "string"
        })) : (0, K.assertValueType)("string")
      }
    }),
    validate: process.env.BABEL_TYPES_8_BREAKING ? function(t, e, s) {
      let r = /\.(\w+)$/.exec(e);
      if (!r) return;
      let [, i] = r, a = {
        computed: !1
      };
      if (i === "property") {
        if ((0, Jn.default)("MemberExpression", t, a) || (0, Jn.default)("OptionalMemberExpression", t, a)) return;
      } else if (i === "key") {
        if ((0, Jn.default)("Property", t, a) || (0, Jn.default)("Method", t, a)) return;
      } else if (i === "exported") {
        if ((0, Jn.default)("ExportSpecifier", t)) return;
      } else if (i === "imported") {
        if ((0, Jn.default)("ImportSpecifier", t, {
          imported: s
        })) return;
      } else if (i === "meta" && (0, Jn.default)("MetaProperty", t, {
        meta: s
      }))
        return;
      if (((0, cde.isKeyword)(s.name) || (0, cde.isReservedWord)(s.name, !1)) && s.name !== "this")
        throw new TypeError(`"${s.name}" is not a valid identifier`);
    } : void 0
  });
  Fe("IfStatement", {
    visitor: ["test", "consequent", "alternate"],
    aliases: ["Statement", "Conditional"],
    fields: {
      test: {
        validate: (0, K.assertNodeType)("Expression")
      },
      consequent: {
        validate: (0, K.assertNodeType)("Statement")
      },
      alternate: {
        optional: !0,
        validate: (0, K.assertNodeType)("Statement")
      }
    }
  });
  Fe("LabeledStatement", {
    visitor: ["label", "body"],
    aliases: ["Statement"],
    fields: {
      label: {
        validate: (0, K.assertNodeType)("Identifier")
      },
      body: {
        validate: (0, K.assertNodeType)("Statement")
      }
    }
  });
  Fe("StringLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, K.assertValueType)("string")
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Fe("NumericLiteral", {
    builder: ["value"],
    deprecatedAlias: "NumberLiteral",
    fields: {
      value: {
        validate: (0, K.chain)((0, K.assertValueType)("number"), Object.assign(function(t, e, s) {
          if (1 / s < 0 || !Number.isFinite(s)) {
            let r = new Error(`NumericLiterals must be non-negative finite numbers. You can use t.valueToNode(${s}) instead.`);
          }
        }, {
          type: "number"
        }))
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Fe("NullLiteral", {
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Fe("BooleanLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, K.assertValueType)("boolean")
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Fe("RegExpLiteral", {
    builder: ["pattern", "flags"],
    deprecatedAlias: "RegexLiteral",
    aliases: ["Expression", "Pureish", "Literal"],
    fields: {
      pattern: {
        validate: (0, K.assertValueType)("string")
      },
      flags: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.chain)((0, K.assertValueType)("string"), Object.assign(function(t, e, s) {
          let r = /[^gimsuy]/.exec(s);
          if (r)
            throw new TypeError(`"${r[0]}" is not a valid RegExp flag`);
        }, {
          type: "string"
        })) : (0, K.assertValueType)("string"),
        default: ""
      }
    }
  });
  Fe("LogicalExpression", {
    builder: ["operator", "left", "right"],
    visitor: ["left", "right"],
    aliases: ["Binary", "Expression"],
    fields: {
      operator: {
        validate: (0, K.assertOneOf)(...GT.LOGICAL_OPERATORS)
      },
      left: {
        validate: (0, K.assertNodeType)("Expression")
      },
      right: {
        validate: (0, K.assertNodeType)("Expression")
      }
    }
  });
  Fe("MemberExpression", {
    builder: ["object", "property", "computed", ...process.env.BABEL_TYPES_8_BREAKING ? [] : ["optional"]],
    visitor: ["object", "property"],
    aliases: ["Expression", "LVal"],
    fields: Object.assign({
      object: {
        validate: (0, K.assertNodeType)("Expression", "Super")
      },
      property: {
        validate: function() {
          let t = (0, K.assertNodeType)("Identifier", "PrivateName"), e = (0, K.assertNodeType)("Expression"), s = /* @__PURE__ */ n(function(r, i, a) {
            (r.computed ? e : t)(r, i, a);
          }, "validator");
          return s.oneOfNodeTypes = ["Expression", "Identifier", "PrivateName"], s;
        }()
      },
      computed: {
        default: !1
      }
    }, process.env.BABEL_TYPES_8_BREAKING ? {} : {
      optional: {
        validate: (0, K.assertValueType)("boolean"),
        optional: !0
      }
    })
  });
  Fe("NewExpression", {
    inherits: "CallExpression"
  });
  Fe("Program", {
    visitor: ["directives", "body"],
    builder: ["body", "directives", "sourceType", "interpreter"],
    fields: {
      sourceType: {
        validate: (0, K.assertOneOf)("script", "module"),
        default: "script"
      },
      interpreter: {
        validate: (0, K.assertNodeType)("InterpreterDirective"),
        default: null,
        optional: !0
      },
      directives: {
        validate: (0, K.arrayOfType)("Directive"),
        default: []
      },
      body: (0, K.validateArrayOfType)("Statement")
    },
    aliases: ["Scopable", "BlockParent", "Block"]
  });
  Fe("ObjectExpression", {
    visitor: ["properties"],
    aliases: ["Expression"],
    fields: {
      properties: (0, K.validateArrayOfType)("ObjectMethod", "ObjectProperty", "SpreadElement")
    }
  });
  Fe("ObjectMethod", {
    builder: ["kind", "key", "params", "body", "computed", "generator", "async"],
    visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"],
    fields: Object.assign({}, Sy(), Ff(), {
      kind: Object.assign({
        validate: (0, K.assertOneOf)("method", "get", "set")
      }, process.env.BABEL_TYPES_8_BREAKING ? {} : {
        default: "method"
      }),
      computed: {
        default: !1
      },
      key: {
        validate: function() {
          let t = (0, K.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"), e = (0, K.assertNodeType)("Expres\
sion"), s = /* @__PURE__ */ n(function(r, i, a) {
            (r.computed ? e : t)(r, i, a);
          }, "validator");
          return s.oneOfNodeTypes = ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"], s;
        }()
      },
      decorators: {
        validate: (0, K.arrayOfType)("Decorator"),
        optional: !0
      },
      body: {
        validate: (0, K.assertNodeType)("BlockStatement")
      }
    }),
    aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"]
  });
  Fe("ObjectProperty", {
    builder: ["key", "value", "computed", "shorthand", ...process.env.BABEL_TYPES_8_BREAKING ? [] : ["decorators"]],
    fields: {
      computed: {
        default: !1
      },
      key: {
        validate: function() {
          let t = (0, K.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"), e = (0, K.
          assertNodeType)("Expression");
          return Object.assign(function(r, i, a) {
            (r.computed ? e : t)(r, i, a);
          }, {
            oneOfNodeTypes: ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"]
          });
        }()
      },
      value: {
        validate: (0, K.assertNodeType)("Expression", "PatternLike")
      },
      shorthand: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.chain)((0, K.assertValueType)("boolean"), Object.assign(function(t, e, s) {
          if (s) {
            if (t.computed)
              throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true");
            if (!(0, Jn.default)("Identifier", t.key))
              throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier");
          }
        }, {
          type: "boolean"
        })) : (0, K.assertValueType)("boolean"),
        default: !1
      },
      decorators: {
        validate: (0, K.arrayOfType)("Decorator"),
        optional: !0
      }
    },
    visitor: ["key", "value", "decorators"],
    aliases: ["UserWhitespacable", "Property", "ObjectMember"],
    validate: process.env.BABEL_TYPES_8_BREAKING ? function() {
      let t = (0, K.assertNodeType)("Identifier", "Pattern", "TSAsExpression", "TSSatisfiesExpression", "TSNonNullExpression", "TSTypeAssert\
ion"), e = (0, K.assertNodeType)("Expression");
      return function(s, r, i) {
        ((0, Jn.default)("ObjectPattern", s) ? t : e)(i, "value", i.value);
      };
    }() : void 0
  });
  Fe("RestElement", {
    visitor: ["argument", "typeAnnotation"],
    builder: ["argument"],
    aliases: ["LVal", "PatternLike"],
    deprecatedAlias: "RestProperty",
    fields: Object.assign({}, Py(), {
      argument: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "MemberExpressio\
n", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression") : (0, K.assertNodeType)("LVal")
      }
    }),
    validate: process.env.BABEL_TYPES_8_BREAKING ? function(t, e) {
      let s = /(\w+)\[(\d+)\]/.exec(e);
      if (!s) throw new Error("Internal Babel error: malformed key.");
      let [, r, i] = s;
      if (t[r].length > +i + 1)
        throw new TypeError(`RestElement must be last element of ${r}`);
    } : void 0
  });
  Fe("ReturnStatement", {
    visitor: ["argument"],
    aliases: ["Statement", "Terminatorless", "CompletionStatement"],
    fields: {
      argument: {
        validate: (0, K.assertNodeType)("Expression"),
        optional: !0
      }
    }
  });
  Fe("SequenceExpression", {
    visitor: ["expressions"],
    fields: {
      expressions: (0, K.validateArrayOfType)("Expression")
    },
    aliases: ["Expression"]
  });
  Fe("ParenthesizedExpression", {
    visitor: ["expression"],
    aliases: ["Expression", "ExpressionWrapper"],
    fields: {
      expression: {
        validate: (0, K.assertNodeType)("Expression")
      }
    }
  });
  Fe("SwitchCase", {
    visitor: ["test", "consequent"],
    fields: {
      test: {
        validate: (0, K.assertNodeType)("Expression"),
        optional: !0
      },
      consequent: (0, K.validateArrayOfType)("Statement")
    }
  });
  Fe("SwitchStatement", {
    visitor: ["discriminant", "cases"],
    aliases: ["Statement", "BlockParent", "Scopable"],
    fields: {
      discriminant: {
        validate: (0, K.assertNodeType)("Expression")
      },
      cases: (0, K.validateArrayOfType)("SwitchCase")
    }
  });
  Fe("ThisExpression", {
    aliases: ["Expression"]
  });
  Fe("ThrowStatement", {
    visitor: ["argument"],
    aliases: ["Statement", "Terminatorless", "CompletionStatement"],
    fields: {
      argument: {
        validate: (0, K.assertNodeType)("Expression")
      }
    }
  });
  Fe("TryStatement", {
    visitor: ["block", "handler", "finalizer"],
    aliases: ["Statement"],
    fields: {
      block: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.chain)((0, K.assertNodeType)("BlockStatement"), Object.assign(function(t) {
          if (!t.handler && !t.finalizer)
            throw new TypeError("TryStatement expects either a handler or finalizer, or both");
        }, {
          oneOfNodeTypes: ["BlockStatement"]
        })) : (0, K.assertNodeType)("BlockStatement")
      },
      handler: {
        optional: !0,
        validate: (0, K.assertNodeType)("CatchClause")
      },
      finalizer: {
        optional: !0,
        validate: (0, K.assertNodeType)("BlockStatement")
      }
    }
  });
  Fe("UnaryExpression", {
    builder: ["operator", "argument", "prefix"],
    fields: {
      prefix: {
        default: !0
      },
      argument: {
        validate: (0, K.assertNodeType)("Expression")
      },
      operator: {
        validate: (0, K.assertOneOf)(...GT.UNARY_OPERATORS)
      }
    },
    visitor: ["argument"],
    aliases: ["UnaryLike", "Expression"]
  });
  Fe("UpdateExpression", {
    builder: ["operator", "argument", "prefix"],
    fields: {
      prefix: {
        default: !1
      },
      argument: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.assertNodeType)("Identifier", "MemberExpression") : (0, K.assertNodeType)("Expr\
ession")
      },
      operator: {
        validate: (0, K.assertOneOf)(...GT.UPDATE_OPERATORS)
      }
    },
    visitor: ["argument"],
    aliases: ["Expression"]
  });
  Fe("VariableDeclaration", {
    builder: ["kind", "declarations"],
    visitor: ["declarations"],
    aliases: ["Statement", "Declaration"],
    fields: {
      declare: {
        validate: (0, K.assertValueType)("boolean"),
        optional: !0
      },
      kind: {
        validate: (0, K.assertOneOf)("var", "let", "const", "using", "await using")
      },
      declarations: (0, K.validateArrayOfType)("VariableDeclarator")
    },
    validate: process.env.BABEL_TYPES_8_BREAKING ? (() => {
      let t = (0, K.assertNodeType)("Identifier");
      return function(e, s, r) {
        if ((0, Jn.default)("ForXStatement", e, {
          left: r
        })) {
          if (r.declarations.length !== 1)
            throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${e.type}`);
        } else
          r.declarations.forEach((i) => {
            i.init || t(i, "id", i.id);
          });
      };
    })() : void 0
  });
  Fe("VariableDeclarator", {
    visitor: ["id", "init"],
    fields: {
      id: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern") : (0, K.assertNodeType)(
        "LVal")
      },
      definite: {
        optional: !0,
        validate: (0, K.assertValueType)("boolean")
      },
      init: {
        optional: !0,
        validate: (0, K.assertNodeType)("Expression")
      }
    }
  });
  Fe("WhileStatement", {
    visitor: ["test", "body"],
    aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"],
    fields: {
      test: {
        validate: (0, K.assertNodeType)("Expression")
      },
      body: {
        validate: (0, K.assertNodeType)("Statement")
      }
    }
  });
  Fe("WithStatement", {
    visitor: ["object", "body"],
    aliases: ["Statement"],
    fields: {
      object: {
        validate: (0, K.assertNodeType)("Expression")
      },
      body: {
        validate: (0, K.assertNodeType)("Statement")
      }
    }
  });
  Fe("AssignmentPattern", {
    visitor: ["left", "right", "decorators"],
    builder: ["left", "right"],
    aliases: ["Pattern", "PatternLike", "LVal"],
    fields: Object.assign({}, Py(), {
      left: {
        validate: (0, K.assertNodeType)("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExp\
ression", "TSTypeAssertion", "TSNonNullExpression")
      },
      right: {
        validate: (0, K.assertNodeType)("Expression")
      },
      decorators: {
        validate: (0, K.arrayOfType)("Decorator"),
        optional: !0
      }
    })
  });
  Fe("ArrayPattern", {
    visitor: ["elements", "typeAnnotation"],
    builder: ["elements"],
    aliases: ["Pattern", "PatternLike", "LVal"],
    fields: Object.assign({}, Py(), {
      elements: {
        validate: (0, K.chain)((0, K.assertValueType)("array"), (0, K.assertEach)((0, K.assertNodeOrValueType)("null", "PatternLike", "LVal")))
      }
    })
  });
  Fe("ArrowFunctionExpression", {
    builder: ["params", "body", "async"],
    visitor: ["typeParameters", "params", "predicate", "returnType", "body"],
    aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
    fields: Object.assign({}, Sy(), Ff(), {
      expression: {
        validate: (0, K.assertValueType)("boolean")
      },
      body: {
        validate: (0, K.assertNodeType)("BlockStatement", "Expression")
      },
      predicate: {
        validate: (0, K.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
        optional: !0
      }
    })
  });
  Fe("ClassBody", {
    visitor: ["body"],
    fields: {
      body: (0, K.validateArrayOfType)("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "ClassAccessorProperty",
      "TSDeclareMethod", "TSIndexSignature", "StaticBlock")
    }
  });
  Fe("ClassExpression", {
    builder: ["id", "superClass", "body", "decorators"],
    visitor: ["decorators", "id", "typeParameters", "superClass", "superTypeParameters", "mixins", "implements", "body"],
    aliases: ["Scopable", "Class", "Expression"],
    fields: {
      id: {
        validate: (0, K.assertNodeType)("Identifier"),
        optional: !0
      },
      typeParameters: {
        validate: (0, K.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
        optional: !0
      },
      body: {
        validate: (0, K.assertNodeType)("ClassBody")
      },
      superClass: {
        optional: !0,
        validate: (0, K.assertNodeType)("Expression")
      },
      superTypeParameters: {
        validate: (0, K.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
        optional: !0
      },
      implements: {
        validate: (0, K.arrayOfType)("TSExpressionWithTypeArguments", "ClassImplements"),
        optional: !0
      },
      decorators: {
        validate: (0, K.arrayOfType)("Decorator"),
        optional: !0
      },
      mixins: {
        validate: (0, K.assertNodeType)("InterfaceExtends"),
        optional: !0
      }
    }
  });
  Fe("ClassDeclaration", {
    inherits: "ClassExpression",
    aliases: ["Scopable", "Class", "Statement", "Declaration"],
    fields: {
      id: {
        validate: (0, K.assertNodeType)("Identifier"),
        optional: !0
      },
      typeParameters: {
        validate: (0, K.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
        optional: !0
      },
      body: {
        validate: (0, K.assertNodeType)("ClassBody")
      },
      superClass: {
        optional: !0,
        validate: (0, K.assertNodeType)("Expression")
      },
      superTypeParameters: {
        validate: (0, K.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
        optional: !0
      },
      implements: {
        validate: (0, K.arrayOfType)("TSExpressionWithTypeArguments", "ClassImplements"),
        optional: !0
      },
      decorators: {
        validate: (0, K.arrayOfType)("Decorator"),
        optional: !0
      },
      mixins: {
        validate: (0, K.assertNodeType)("InterfaceExtends"),
        optional: !0
      },
      declare: {
        validate: (0, K.assertValueType)("boolean"),
        optional: !0
      },
      abstract: {
        validate: (0, K.assertValueType)("boolean"),
        optional: !0
      }
    },
    validate: process.env.BABEL_TYPES_8_BREAKING ? function() {
      let t = (0, K.assertNodeType)("Identifier");
      return function(e, s, r) {
        (0, Jn.default)("ExportDefaultDeclaration", e) || t(r, "id", r.id);
      };
    }() : void 0
  });
  var RR = cn.importAttributes = {
    attributes: {
      optional: !0,
      validate: (0, K.arrayOfType)("ImportAttribute")
    },
    assertions: {
      deprecated: !0,
      optional: !0,
      validate: (0, K.arrayOfType)("ImportAttribute")
    }
  };
  Fe("ExportAllDeclaration", {
    builder: ["source"],
    visitor: ["source", "attributes", "assertions"],
    aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
    fields: Object.assign({
      source: {
        validate: (0, K.assertNodeType)("StringLiteral")
      },
      exportKind: (0, K.validateOptional)((0, K.assertOneOf)("type", "value"))
    }, RR)
  });
  Fe("ExportDefaultDeclaration", {
    visitor: ["declaration"],
    aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
    fields: {
      declaration: (0, K.validateType)("TSDeclareFunction", "FunctionDeclaration", "ClassDeclaration", "Expression"),
      exportKind: (0, K.validateOptional)((0, K.assertOneOf)("value"))
    }
  });
  Fe("ExportNamedDeclaration", {
    builder: ["declaration", "specifiers", "source"],
    visitor: process.env ? ["declaration", "specifiers", "source", "attributes"] : ["declaration", "specifiers", "source", "attributes", "as\
sertions"],
    aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
    fields: Object.assign({
      declaration: {
        optional: !0,
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.chain)((0, K.assertNodeType)("Declaration"), Object.assign(function(t, e, s) {
          if (s && t.specifiers.length)
            throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration");
          if (s && t.source)
            throw new TypeError("Cannot export a declaration from a source");
        }, {
          oneOfNodeTypes: ["Declaration"]
        })) : (0, K.assertNodeType)("Declaration")
      }
    }, RR, {
      specifiers: {
        default: [],
        validate: (0, K.arrayOf)(function() {
          let t = (0, K.assertNodeType)("ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"), e = (0, K.assertNodeType)(
          "ExportSpecifier");
          return process.env.BABEL_TYPES_8_BREAKING ? Object.assign(function(s, r, i) {
            (s.source ? t : e)(s, r, i);
          }, {
            oneOfNodeTypes: ["ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"]
          }) : t;
        }())
      },
      source: {
        validate: (0, K.assertNodeType)("StringLiteral"),
        optional: !0
      },
      exportKind: (0, K.validateOptional)((0, K.assertOneOf)("type", "value"))
    })
  });
  Fe("ExportSpecifier", {
    visitor: ["local", "exported"],
    aliases: ["ModuleSpecifier"],
    fields: {
      local: {
        validate: (0, K.assertNodeType)("Identifier")
      },
      exported: {
        validate: (0, K.assertNodeType)("Identifier", "StringLiteral")
      },
      exportKind: {
        validate: (0, K.assertOneOf)("type", "value"),
        optional: !0
      }
    }
  });
  Fe("ForOfStatement", {
    visitor: ["left", "right", "body"],
    builder: ["left", "right", "body", "await"],
    aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
    fields: {
      left: {
        validate: function() {
          if (!process.env.BABEL_TYPES_8_BREAKING)
            return (0, K.assertNodeType)("VariableDeclaration", "LVal");
          let t = (0, K.assertNodeType)("VariableDeclaration"), e = (0, K.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "\
ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression");
          return Object.assign(function(s, r, i) {
            (0, Jn.default)("VariableDeclaration", i) ? t(s, r, i) : e(s, r, i);
          }, {
            oneOfNodeTypes: ["VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TS\
SatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression"]
          });
        }()
      },
      right: {
        validate: (0, K.assertNodeType)("Expression")
      },
      body: {
        validate: (0, K.assertNodeType)("Statement")
      },
      await: {
        default: !1
      }
    }
  });
  Fe("ImportDeclaration", {
    builder: ["specifiers", "source"],
    visitor: ["specifiers", "source", "attributes", "assertions"],
    aliases: ["Statement", "Declaration", "ImportOrExportDeclaration"],
    fields: Object.assign({}, RR, {
      module: {
        optional: !0,
        validate: (0, K.assertValueType)("boolean")
      },
      phase: {
        default: null,
        validate: (0, K.assertOneOf)("source", "defer")
      },
      specifiers: (0, K.validateArrayOfType)("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier"),
      source: {
        validate: (0, K.assertNodeType)("StringLiteral")
      },
      importKind: {
        validate: (0, K.assertOneOf)("type", "typeof", "value"),
        optional: !0
      }
    })
  });
  Fe("ImportDefaultSpecifier", {
    visitor: ["local"],
    aliases: ["ModuleSpecifier"],
    fields: {
      local: {
        validate: (0, K.assertNodeType)("Identifier")
      }
    }
  });
  Fe("ImportNamespaceSpecifier", {
    visitor: ["local"],
    aliases: ["ModuleSpecifier"],
    fields: {
      local: {
        validate: (0, K.assertNodeType)("Identifier")
      }
    }
  });
  Fe("ImportSpecifier", {
    visitor: ["imported", "local"],
    builder: ["local", "imported"],
    aliases: ["ModuleSpecifier"],
    fields: {
      local: {
        validate: (0, K.assertNodeType)("Identifier")
      },
      imported: {
        validate: (0, K.assertNodeType)("Identifier", "StringLiteral")
      },
      importKind: {
        validate: (0, K.assertOneOf)("type", "typeof", "value"),
        optional: !0
      }
    }
  });
  Fe("ImportExpression", {
    visitor: ["source", "options"],
    aliases: ["Expression"],
    fields: {
      phase: {
        default: null,
        validate: (0, K.assertOneOf)("source", "defer")
      },
      source: {
        validate: (0, K.assertNodeType)("Expression")
      },
      options: {
        validate: (0, K.assertNodeType)("Expression"),
        optional: !0
      }
    }
  });
  Fe("MetaProperty", {
    visitor: ["meta", "property"],
    aliases: ["Expression"],
    fields: {
      meta: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.chain)((0, K.assertNodeType)("Identifier"), Object.assign(function(t, e, s) {
          let r;
          switch (s.name) {
            case "function":
              r = "sent";
              break;
            case "new":
              r = "target";
              break;
            case "import":
              r = "meta";
              break;
          }
          if (!(0, Jn.default)("Identifier", t.property, {
            name: r
          }))
            throw new TypeError("Unrecognised MetaProperty");
        }, {
          oneOfNodeTypes: ["Identifier"]
        })) : (0, K.assertNodeType)("Identifier")
      },
      property: {
        validate: (0, K.assertNodeType)("Identifier")
      }
    }
  });
  var Nv = /* @__PURE__ */ n(() => ({
    abstract: {
      validate: (0, K.assertValueType)("boolean"),
      optional: !0
    },
    accessibility: {
      validate: (0, K.assertOneOf)("public", "private", "protected"),
      optional: !0
    },
    static: {
      default: !1
    },
    override: {
      default: !1
    },
    computed: {
      default: !1
    },
    optional: {
      validate: (0, K.assertValueType)("boolean"),
      optional: !0
    },
    key: {
      validate: (0, K.chain)(function() {
        let t = (0, K.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"), e = (0, K.assertNodeType)("Expressi\
on");
        return function(s, r, i) {
          (s.computed ? e : t)(s, r, i);
        };
      }(), (0, K.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression"))
    }
  }), "classMethodOrPropertyCommon");
  cn.classMethodOrPropertyCommon = Nv;
  var qR = /* @__PURE__ */ n(() => Object.assign({}, Sy(), Nv(), {
    params: (0, K.validateArrayOfType)("Identifier", "Pattern", "RestElement", "TSParameterProperty"),
    kind: {
      validate: (0, K.assertOneOf)("get", "set", "method", "constructor"),
      default: "method"
    },
    access: {
      validate: (0, K.chain)((0, K.assertValueType)("string"), (0, K.assertOneOf)("public", "private", "protected")),
      optional: !0
    },
    decorators: {
      validate: (0, K.arrayOfType)("Decorator"),
      optional: !0
    }
  }), "classMethodOrDeclareMethodCommon");
  cn.classMethodOrDeclareMethodCommon = qR;
  Fe("ClassMethod", {
    aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"],
    builder: ["kind", "key", "params", "body", "computed", "static", "generator", "async"],
    visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"],
    fields: Object.assign({}, qR(), Ff(), {
      body: {
        validate: (0, K.assertNodeType)("BlockStatement")
      }
    })
  });
  Fe("ObjectPattern", {
    visitor: ["properties", "typeAnnotation", "decorators"],
    builder: ["properties"],
    aliases: ["Pattern", "PatternLike", "LVal"],
    fields: Object.assign({}, Py(), {
      properties: (0, K.validateArrayOfType)("RestElement", "ObjectProperty")
    })
  });
  Fe("SpreadElement", {
    visitor: ["argument"],
    aliases: ["UnaryLike"],
    deprecatedAlias: "SpreadProperty",
    fields: {
      argument: {
        validate: (0, K.assertNodeType)("Expression")
      }
    }
  });
  Fe("Super", {
    aliases: ["Expression"]
  });
  Fe("TaggedTemplateExpression", {
    visitor: ["tag", "typeParameters", "quasi"],
    builder: ["tag", "quasi"],
    aliases: ["Expression"],
    fields: {
      tag: {
        validate: (0, K.assertNodeType)("Expression")
      },
      quasi: {
        validate: (0, K.assertNodeType)("TemplateLiteral")
      },
      typeParameters: {
        validate: (0, K.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
        optional: !0
      }
    }
  });
  Fe("TemplateElement", {
    builder: ["value", "tail"],
    fields: {
      value: {
        validate: (0, K.chain)((0, K.assertShape)({
          raw: {
            validate: (0, K.assertValueType)("string")
          },
          cooked: {
            validate: (0, K.assertValueType)("string"),
            optional: !0
          }
        }), /* @__PURE__ */ n(function(e) {
          let s = e.value.raw, r = !1, i = /* @__PURE__ */ n(() => {
            throw new Error("Internal @babel/types error.");
          }, "error"), {
            str: a,
            firstInvalidLoc: o
          } = (0, Jbs.readStringContents)("template", s, 0, 0, 0, {
            unterminated() {
              r = !0;
            },
            strictNumericEscape: i,
            invalidEscapeSequence: i,
            numericSeparatorInEscapeSequence: i,
            unexpectedNumericSeparator: i,
            invalidDigit: i,
            invalidCodePoint: i
          });
          if (!r) throw new Error("Invalid raw");
          e.value.cooked = o ? null : a;
        }, "templateElementCookedValidator"))
      },
      tail: {
        default: !1
      }
    }
  });
  Fe("TemplateLiteral", {
    visitor: ["quasis", "expressions"],
    aliases: ["Expression", "Literal"],
    fields: {
      quasis: (0, K.validateArrayOfType)("TemplateElement"),
      expressions: {
        validate: (0, K.chain)((0, K.assertValueType)("array"), (0, K.assertEach)((0, K.assertNodeType)("Expression", "TSType")), function(t, e, s) {
          if (t.quasis.length !== s.length + 1)
            throw new TypeError(`Number of ${t.type} quasis should be exactly one more than the number of expressions.
Expected ${s.length + 1} quasis but got ${t.quasis.length}`);
        })
      }
    }
  });
  Fe("YieldExpression", {
    builder: ["argument", "delegate"],
    visitor: ["argument"],
    aliases: ["Expression", "Terminatorless"],
    fields: {
      delegate: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.chain)((0, K.assertValueType)("boolean"), Object.assign(function(t, e, s) {
          if (s && !t.argument)
            throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument");
        }, {
          type: "boolean"
        })) : (0, K.assertValueType)("boolean"),
        default: !1
      },
      argument: {
        optional: !0,
        validate: (0, K.assertNodeType)("Expression")
      }
    }
  });
  Fe("AwaitExpression", {
    builder: ["argument"],
    visitor: ["argument"],
    aliases: ["Expression", "Terminatorless"],
    fields: {
      argument: {
        validate: (0, K.assertNodeType)("Expression")
      }
    }
  });
  Fe("Import", {
    aliases: ["Expression"]
  });
  Fe("BigIntLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, K.assertValueType)("string")
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  Fe("ExportNamespaceSpecifier", {
    visitor: ["exported"],
    aliases: ["ModuleSpecifier"],
    fields: {
      exported: {
        validate: (0, K.assertNodeType)("Identifier")
      }
    }
  });
  Fe("OptionalMemberExpression", {
    builder: ["object", "property", "computed", "optional"],
    visitor: ["object", "property"],
    aliases: ["Expression"],
    fields: {
      object: {
        validate: (0, K.assertNodeType)("Expression")
      },
      property: {
        validate: function() {
          let t = (0, K.assertNodeType)("Identifier"), e = (0, K.assertNodeType)("Expression");
          return Object.assign(function(r, i, a) {
            (r.computed ? e : t)(r, i, a);
          }, {
            oneOfNodeTypes: ["Expression", "Identifier"]
          });
        }()
      },
      computed: {
        default: !1
      },
      optional: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.chain)((0, K.assertValueType)("boolean"), (0, K.assertOptionalChainStart)()) : (0, K.
        assertValueType)("boolean")
      }
    }
  });
  Fe("OptionalCallExpression", {
    visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
    builder: ["callee", "arguments", "optional"],
    aliases: ["Expression"],
    fields: Object.assign({
      callee: {
        validate: (0, K.assertNodeType)("Expression")
      },
      arguments: (0, K.validateArrayOfType)("Expression", "SpreadElement", "ArgumentPlaceholder"),
      optional: {
        validate: process.env.BABEL_TYPES_8_BREAKING ? (0, K.chain)((0, K.assertValueType)("boolean"), (0, K.assertOptionalChainStart)()) : (0, K.
        assertValueType)("boolean")
      },
      typeArguments: {
        validate: (0, K.assertNodeType)("TypeParameterInstantiation"),
        optional: !0
      }
    }, {
      typeParameters: {
        validate: (0, K.assertNodeType)("TSTypeParameterInstantiation"),
        optional: !0
      }
    })
  });
  Fe("ClassProperty", {
    visitor: ["decorators", "variance", "key", "typeAnnotation", "value"],
    builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"],
    aliases: ["Property"],
    fields: Object.assign({}, Nv(), {
      value: {
        validate: (0, K.assertNodeType)("Expression"),
        optional: !0
      },
      definite: {
        validate: (0, K.assertValueType)("boolean"),
        optional: !0
      },
      typeAnnotation: {
        validate: (0, K.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
        optional: !0
      },
      decorators: {
        validate: (0, K.arrayOfType)("Decorator"),
        optional: !0
      },
      readonly: {
        validate: (0, K.assertValueType)("boolean"),
        optional: !0
      },
      declare: {
        validate: (0, K.assertValueType)("boolean"),
        optional: !0
      },
      variance: {
        validate: (0, K.assertNodeType)("Variance"),
        optional: !0
      }
    })
  });
  Fe("ClassAccessorProperty", {
    visitor: ["decorators", "key", "typeAnnotation", "value"],
    builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"],
    aliases: ["Property", "Accessor"],
    fields: Object.assign({}, Nv(), {
      key: {
        validate: (0, K.chain)(function() {
          let t = (0, K.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "PrivateName"), e = (0, K.assertNodeType)(
          "Expression");
          return function(s, r, i) {
            (s.computed ? e : t)(s, r, i);
          };
        }(), (0, K.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression", "PrivateName"))
      },
      value: {
        validate: (0, K.assertNodeType)("Expression"),
        optional: !0
      },
      definite: {
        validate: (0, K.assertValueType)("boolean"),
        optional: !0
      },
      typeAnnotation: {
        validate: (0, K.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
        optional: !0
      },
      decorators: {
        validate: (0, K.arrayOfType)("Decorator"),
        optional: !0
      },
      readonly: {
        validate: (0, K.assertValueType)("boolean"),
        optional: !0
      },
      declare: {
        validate: (0, K.assertValueType)("boolean"),
        optional: !0
      },
      variance: {
        validate: (0, K.assertNodeType)("Variance"),
        optional: !0
      }
    })
  });
  Fe("ClassPrivateProperty", {
    visitor: ["decorators", "variance", "key", "typeAnnotation", "value"],
    builder: ["key", "value", "decorators", "static"],
    aliases: ["Property", "Private"],
    fields: {
      key: {
        validate: (0, K.assertNodeType)("PrivateName")
      },
      value: {
        validate: (0, K.assertNodeType)("Expression"),
        optional: !0
      },
      typeAnnotation: {
        validate: (0, K.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
        optional: !0
      },
      decorators: {
        validate: (0, K.arrayOfType)("Decorator"),
        optional: !0
      },
      static: {
        validate: (0, K.assertValueType)("boolean"),
        default: !1
      },
      readonly: {
        validate: (0, K.assertValueType)("boolean"),
        optional: !0
      },
      definite: {
        validate: (0, K.assertValueType)("boolean"),
        optional: !0
      },
      variance: {
        validate: (0, K.assertNodeType)("Variance"),
        optional: !0
      }
    }
  });
  Fe("ClassPrivateMethod", {
    builder: ["kind", "key", "params", "body", "static"],
    visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"],
    aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"],
    fields: Object.assign({}, qR(), Ff(), {
      kind: {
        validate: (0, K.assertOneOf)("get", "set", "method"),
        default: "method"
      },
      key: {
        validate: (0, K.assertNodeType)("PrivateName")
      },
      body: {
        validate: (0, K.assertNodeType)("BlockStatement")
      }
    })
  });
  Fe("PrivateName", {
    visitor: ["id"],
    aliases: ["Private"],
    fields: {
      id: {
        validate: (0, K.assertNodeType)("Identifier")
      }
    }
  });
  Fe("StaticBlock", {
    visitor: ["body"],
    fields: {
      body: (0, K.validateArrayOfType)("Statement")
    },
    aliases: ["Scopable", "BlockParent", "FunctionParent"]
  });
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/definitions/flow.js
var fde = g(() => {
  "use strict";
  var hde = QT(), pe = Ol(), bt = (0, pe.defineAliasedType)("Flow"), UR = /* @__PURE__ */ n((t) => {
    let e = t === "DeclareClass";
    bt(t, {
      builder: ["id", "typeParameters", "extends", "body"],
      visitor: ["id", "typeParameters", "extends", ...e ? ["mixins", "implements"] : [], "body"],
      aliases: ["FlowDeclaration", "Statement", "Declaration"],
      fields: Object.assign({
        id: (0, pe.validateType)("Identifier"),
        typeParameters: (0, pe.validateOptionalType)("TypeParameterDeclaration"),
        extends: (0, pe.validateOptional)((0, pe.arrayOfType)("InterfaceExtends"))
      }, e ? {
        mixins: (0, pe.validateOptional)((0, pe.arrayOfType)("InterfaceExtends")),
        implements: (0, pe.validateOptional)((0, pe.arrayOfType)("ClassImplements"))
      } : {}, {
        body: (0, pe.validateType)("ObjectTypeAnnotation")
      })
    });
  }, "defineInterfaceishType");
  bt("AnyTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  bt("ArrayTypeAnnotation", {
    visitor: ["elementType"],
    aliases: ["FlowType"],
    fields: {
      elementType: (0, pe.validateType)("FlowType")
    }
  });
  bt("BooleanTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  bt("BooleanLiteralTypeAnnotation", {
    builder: ["value"],
    aliases: ["FlowType"],
    fields: {
      value: (0, pe.validate)((0, pe.assertValueType)("boolean"))
    }
  });
  bt("NullLiteralTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  bt("ClassImplements", {
    visitor: ["id", "typeParameters"],
    fields: {
      id: (0, pe.validateType)("Identifier"),
      typeParameters: (0, pe.validateOptionalType)("TypeParameterInstantiation")
    }
  });
  UR("DeclareClass");
  bt("DeclareFunction", {
    builder: ["id"],
    visitor: ["id", "predicate"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, pe.validateType)("Identifier"),
      predicate: (0, pe.validateOptionalType)("DeclaredPredicate")
    }
  });
  UR("DeclareInterface");
  bt("DeclareModule", {
    builder: ["id", "body", "kind"],
    visitor: ["id", "body"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, pe.validateType)("Identifier", "StringLiteral"),
      body: (0, pe.validateType)("BlockStatement"),
      kind: (0, pe.validateOptional)((0, pe.assertOneOf)("CommonJS", "ES"))
    }
  });
  bt("DeclareModuleExports", {
    visitor: ["typeAnnotation"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      typeAnnotation: (0, pe.validateType)("TypeAnnotation")
    }
  });
  bt("DeclareTypeAlias", {
    visitor: ["id", "typeParameters", "right"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, pe.validateType)("Identifier"),
      typeParameters: (0, pe.validateOptionalType)("TypeParameterDeclaration"),
      right: (0, pe.validateType)("FlowType")
    }
  });
  bt("DeclareOpaqueType", {
    visitor: ["id", "typeParameters", "supertype"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, pe.validateType)("Identifier"),
      typeParameters: (0, pe.validateOptionalType)("TypeParameterDeclaration"),
      supertype: (0, pe.validateOptionalType)("FlowType"),
      impltype: (0, pe.validateOptionalType)("FlowType")
    }
  });
  bt("DeclareVariable", {
    visitor: ["id"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, pe.validateType)("Identifier")
    }
  });
  bt("DeclareExportDeclaration", {
    visitor: ["declaration", "specifiers", "source", "attributes"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: Object.assign({
      declaration: (0, pe.validateOptionalType)("Flow"),
      specifiers: (0, pe.validateOptional)((0, pe.arrayOfType)("ExportSpecifier", "ExportNamespaceSpecifier")),
      source: (0, pe.validateOptionalType)("StringLiteral"),
      default: (0, pe.validateOptional)((0, pe.assertValueType)("boolean"))
    }, hde.importAttributes)
  });
  bt("DeclareExportAllDeclaration", {
    visitor: ["source", "attributes"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: Object.assign({
      source: (0, pe.validateType)("StringLiteral"),
      exportKind: (0, pe.validateOptional)((0, pe.assertOneOf)("type", "value"))
    }, hde.importAttributes)
  });
  bt("DeclaredPredicate", {
    visitor: ["value"],
    aliases: ["FlowPredicate"],
    fields: {
      value: (0, pe.validateType)("Flow")
    }
  });
  bt("ExistsTypeAnnotation", {
    aliases: ["FlowType"]
  });
  bt("FunctionTypeAnnotation", {
    builder: ["typeParameters", "params", "rest", "returnType"],
    visitor: ["typeParameters", "this", "params", "rest", "returnType"],
    aliases: ["FlowType"],
    fields: {
      typeParameters: (0, pe.validateOptionalType)("TypeParameterDeclaration"),
      params: (0, pe.validateArrayOfType)("FunctionTypeParam"),
      rest: (0, pe.validateOptionalType)("FunctionTypeParam"),
      this: (0, pe.validateOptionalType)("FunctionTypeParam"),
      returnType: (0, pe.validateType)("FlowType")
    }
  });
  bt("FunctionTypeParam", {
    visitor: ["name", "typeAnnotation"],
    fields: {
      name: (0, pe.validateOptionalType)("Identifier"),
      typeAnnotation: (0, pe.validateType)("FlowType"),
      optional: (0, pe.validateOptional)((0, pe.assertValueType)("boolean"))
    }
  });
  bt("GenericTypeAnnotation", {
    visitor: ["id", "typeParameters"],
    aliases: ["FlowType"],
    fields: {
      id: (0, pe.validateType)("Identifier", "QualifiedTypeIdentifier"),
      typeParameters: (0, pe.validateOptionalType)("TypeParameterInstantiation")
    }
  });
  bt("InferredPredicate", {
    aliases: ["FlowPredicate"]
  });
  bt("InterfaceExtends", {
    visitor: ["id", "typeParameters"],
    fields: {
      id: (0, pe.validateType)("Identifier", "QualifiedTypeIdentifier"),
      typeParameters: (0, pe.validateOptionalType)("TypeParameterInstantiation")
    }
  });
  UR("InterfaceDeclaration");
  bt("InterfaceTypeAnnotation", {
    visitor: ["extends", "body"],
    aliases: ["FlowType"],
    fields: {
      extends: (0, pe.validateOptional)((0, pe.arrayOfType)("InterfaceExtends")),
      body: (0, pe.validateType)("ObjectTypeAnnotation")
    }
  });
  bt("IntersectionTypeAnnotation", {
    visitor: ["types"],
    aliases: ["FlowType"],
    fields: {
      types: (0, pe.validate)((0, pe.arrayOfType)("FlowType"))
    }
  });
  bt("MixedTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  bt("EmptyTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  bt("NullableTypeAnnotation", {
    visitor: ["typeAnnotation"],
    aliases: ["FlowType"],
    fields: {
      typeAnnotation: (0, pe.validateType)("FlowType")
    }
  });
  bt("NumberLiteralTypeAnnotation", {
    builder: ["value"],
    aliases: ["FlowType"],
    fields: {
      value: (0, pe.validate)((0, pe.assertValueType)("number"))
    }
  });
  bt("NumberTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  bt("ObjectTypeAnnotation", {
    visitor: ["properties", "indexers", "callProperties", "internalSlots"],
    aliases: ["FlowType"],
    builder: ["properties", "indexers", "callProperties", "internalSlots", "exact"],
    fields: {
      properties: (0, pe.validate)((0, pe.arrayOfType)("ObjectTypeProperty", "ObjectTypeSpreadProperty")),
      indexers: {
        validate: (0, pe.arrayOfType)("ObjectTypeIndexer"),
        optional: !0,
        default: []
      },
      callProperties: {
        validate: (0, pe.arrayOfType)("ObjectTypeCallProperty"),
        optional: !0,
        default: []
      },
      internalSlots: {
        validate: (0, pe.arrayOfType)("ObjectTypeInternalSlot"),
        optional: !0,
        default: []
      },
      exact: {
        validate: (0, pe.assertValueType)("boolean"),
        default: !1
      },
      inexact: (0, pe.validateOptional)((0, pe.assertValueType)("boolean"))
    }
  });
  bt("ObjectTypeInternalSlot", {
    visitor: ["id", "value"],
    builder: ["id", "value", "optional", "static", "method"],
    aliases: ["UserWhitespacable"],
    fields: {
      id: (0, pe.validateType)("Identifier"),
      value: (0, pe.validateType)("FlowType"),
      optional: (0, pe.validate)((0, pe.assertValueType)("boolean")),
      static: (0, pe.validate)((0, pe.assertValueType)("boolean")),
      method: (0, pe.validate)((0, pe.assertValueType)("boolean"))
    }
  });
  bt("ObjectTypeCallProperty", {
    visitor: ["value"],
    aliases: ["UserWhitespacable"],
    fields: {
      value: (0, pe.validateType)("FlowType"),
      static: (0, pe.validate)((0, pe.assertValueType)("boolean"))
    }
  });
  bt("ObjectTypeIndexer", {
    visitor: ["variance", "id", "key", "value"],
    builder: ["id", "key", "value", "variance"],
    aliases: ["UserWhitespacable"],
    fields: {
      id: (0, pe.validateOptionalType)("Identifier"),
      key: (0, pe.validateType)("FlowType"),
      value: (0, pe.validateType)("FlowType"),
      static: (0, pe.validate)((0, pe.assertValueType)("boolean")),
      variance: (0, pe.validateOptionalType)("Variance")
    }
  });
  bt("ObjectTypeProperty", {
    visitor: ["key", "value", "variance"],
    aliases: ["UserWhitespacable"],
    fields: {
      key: (0, pe.validateType)("Identifier", "StringLiteral"),
      value: (0, pe.validateType)("FlowType"),
      kind: (0, pe.validate)((0, pe.assertOneOf)("init", "get", "set")),
      static: (0, pe.validate)((0, pe.assertValueType)("boolean")),
      proto: (0, pe.validate)((0, pe.assertValueType)("boolean")),
      optional: (0, pe.validate)((0, pe.assertValueType)("boolean")),
      variance: (0, pe.validateOptionalType)("Variance"),
      method: (0, pe.validate)((0, pe.assertValueType)("boolean"))
    }
  });
  bt("ObjectTypeSpreadProperty", {
    visitor: ["argument"],
    aliases: ["UserWhitespacable"],
    fields: {
      argument: (0, pe.validateType)("FlowType")
    }
  });
  bt("OpaqueType", {
    visitor: ["id", "typeParameters", "supertype", "impltype"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, pe.validateType)("Identifier"),
      typeParameters: (0, pe.validateOptionalType)("TypeParameterDeclaration"),
      supertype: (0, pe.validateOptionalType)("FlowType"),
      impltype: (0, pe.validateType)("FlowType")
    }
  });
  bt("QualifiedTypeIdentifier", {
    visitor: ["qualification", "id"],
    builder: ["id", "qualification"],
    fields: {
      id: (0, pe.validateType)("Identifier"),
      qualification: (0, pe.validateType)("Identifier", "QualifiedTypeIdentifier")
    }
  });
  bt("StringLiteralTypeAnnotation", {
    builder: ["value"],
    aliases: ["FlowType"],
    fields: {
      value: (0, pe.validate)((0, pe.assertValueType)("string"))
    }
  });
  bt("StringTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  bt("SymbolTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  bt("ThisTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  bt("TupleTypeAnnotation", {
    visitor: ["types"],
    aliases: ["FlowType"],
    fields: {
      types: (0, pe.validate)((0, pe.arrayOfType)("FlowType"))
    }
  });
  bt("TypeofTypeAnnotation", {
    visitor: ["argument"],
    aliases: ["FlowType"],
    fields: {
      argument: (0, pe.validateType)("FlowType")
    }
  });
  bt("TypeAlias", {
    visitor: ["id", "typeParameters", "right"],
    aliases: ["FlowDeclaration", "Statement", "Declaration"],
    fields: {
      id: (0, pe.validateType)("Identifier"),
      typeParameters: (0, pe.validateOptionalType)("TypeParameterDeclaration"),
      right: (0, pe.validateType)("FlowType")
    }
  });
  bt("TypeAnnotation", {
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: (0, pe.validateType)("FlowType")
    }
  });
  bt("TypeCastExpression", {
    visitor: ["expression", "typeAnnotation"],
    aliases: ["ExpressionWrapper", "Expression"],
    fields: {
      expression: (0, pe.validateType)("Expression"),
      typeAnnotation: (0, pe.validateType)("TypeAnnotation")
    }
  });
  bt("TypeParameter", {
    visitor: ["bound", "default", "variance"],
    fields: {
      name: (0, pe.validate)((0, pe.assertValueType)("string")),
      bound: (0, pe.validateOptionalType)("TypeAnnotation"),
      default: (0, pe.validateOptionalType)("FlowType"),
      variance: (0, pe.validateOptionalType)("Variance")
    }
  });
  bt("TypeParameterDeclaration", {
    visitor: ["params"],
    fields: {
      params: (0, pe.validate)((0, pe.arrayOfType)("TypeParameter"))
    }
  });
  bt("TypeParameterInstantiation", {
    visitor: ["params"],
    fields: {
      params: (0, pe.validate)((0, pe.arrayOfType)("FlowType"))
    }
  });
  bt("UnionTypeAnnotation", {
    visitor: ["types"],
    aliases: ["FlowType"],
    fields: {
      types: (0, pe.validate)((0, pe.arrayOfType)("FlowType"))
    }
  });
  bt("Variance", {
    builder: ["kind"],
    fields: {
      kind: (0, pe.validate)((0, pe.assertOneOf)("minus", "plus"))
    }
  });
  bt("VoidTypeAnnotation", {
    aliases: ["FlowType", "FlowBaseAnnotation"]
  });
  bt("EnumDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "body"],
    fields: {
      id: (0, pe.validateType)("Identifier"),
      body: (0, pe.validateType)("EnumBooleanBody", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody")
    }
  });
  bt("EnumBooleanBody", {
    aliases: ["EnumBody"],
    visitor: ["members"],
    fields: {
      explicitType: (0, pe.validate)((0, pe.assertValueType)("boolean")),
      members: (0, pe.validateArrayOfType)("EnumBooleanMember"),
      hasUnknownMembers: (0, pe.validate)((0, pe.assertValueType)("boolean"))
    }
  });
  bt("EnumNumberBody", {
    aliases: ["EnumBody"],
    visitor: ["members"],
    fields: {
      explicitType: (0, pe.validate)((0, pe.assertValueType)("boolean")),
      members: (0, pe.validateArrayOfType)("EnumNumberMember"),
      hasUnknownMembers: (0, pe.validate)((0, pe.assertValueType)("boolean"))
    }
  });
  bt("EnumStringBody", {
    aliases: ["EnumBody"],
    visitor: ["members"],
    fields: {
      explicitType: (0, pe.validate)((0, pe.assertValueType)("boolean")),
      members: (0, pe.validateArrayOfType)("EnumStringMember", "EnumDefaultedMember"),
      hasUnknownMembers: (0, pe.validate)((0, pe.assertValueType)("boolean"))
    }
  });
  bt("EnumSymbolBody", {
    aliases: ["EnumBody"],
    visitor: ["members"],
    fields: {
      members: (0, pe.validateArrayOfType)("EnumDefaultedMember"),
      hasUnknownMembers: (0, pe.validate)((0, pe.assertValueType)("boolean"))
    }
  });
  bt("EnumBooleanMember", {
    aliases: ["EnumMember"],
    builder: ["id"],
    visitor: ["id", "init"],
    fields: {
      id: (0, pe.validateType)("Identifier"),
      init: (0, pe.validateType)("BooleanLiteral")
    }
  });
  bt("EnumNumberMember", {
    aliases: ["EnumMember"],
    visitor: ["id", "init"],
    fields: {
      id: (0, pe.validateType)("Identifier"),
      init: (0, pe.validateType)("NumericLiteral")
    }
  });
  bt("EnumStringMember", {
    aliases: ["EnumMember"],
    visitor: ["id", "init"],
    fields: {
      id: (0, pe.validateType)("Identifier"),
      init: (0, pe.validateType)("StringLiteral")
    }
  });
  bt("EnumDefaultedMember", {
    aliases: ["EnumMember"],
    visitor: ["id"],
    fields: {
      id: (0, pe.validateType)("Identifier")
    }
  });
  bt("IndexedAccessType", {
    visitor: ["objectType", "indexType"],
    aliases: ["FlowType"],
    fields: {
      objectType: (0, pe.validateType)("FlowType"),
      indexType: (0, pe.validateType)("FlowType")
    }
  });
  bt("OptionalIndexedAccessType", {
    visitor: ["objectType", "indexType"],
    aliases: ["FlowType"],
    fields: {
      objectType: (0, pe.validateType)("FlowType"),
      indexType: (0, pe.validateType)("FlowType"),
      optional: (0, pe.validate)((0, pe.assertValueType)("boolean"))
    }
  });
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/definitions/jsx.js
var dde = g(() => {
  "use strict";
  var Wr = Ol(), Yn = (0, Wr.defineAliasedType)("JSX");
  Yn("JSXAttribute", {
    visitor: ["name", "value"],
    aliases: ["Immutable"],
    fields: {
      name: {
        validate: (0, Wr.assertNodeType)("JSXIdentifier", "JSXNamespacedName")
      },
      value: {
        optional: !0,
        validate: (0, Wr.assertNodeType)("JSXElement", "JSXFragment", "StringLiteral", "JSXExpressionContainer")
      }
    }
  });
  Yn("JSXClosingElement", {
    visitor: ["name"],
    aliases: ["Immutable"],
    fields: {
      name: {
        validate: (0, Wr.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName")
      }
    }
  });
  Yn("JSXElement", {
    builder: ["openingElement", "closingElement", "children", "selfClosing"],
    visitor: ["openingElement", "children", "closingElement"],
    aliases: ["Immutable", "Expression"],
    fields: Object.assign({
      openingElement: {
        validate: (0, Wr.assertNodeType)("JSXOpeningElement")
      },
      closingElement: {
        optional: !0,
        validate: (0, Wr.assertNodeType)("JSXClosingElement")
      },
      children: (0, Wr.validateArrayOfType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment")
    }, {
      selfClosing: {
        validate: (0, Wr.assertValueType)("boolean"),
        optional: !0
      }
    })
  });
  Yn("JSXEmptyExpression", {});
  Yn("JSXExpressionContainer", {
    visitor: ["expression"],
    aliases: ["Immutable"],
    fields: {
      expression: {
        validate: (0, Wr.assertNodeType)("Expression", "JSXEmptyExpression")
      }
    }
  });
  Yn("JSXSpreadChild", {
    visitor: ["expression"],
    aliases: ["Immutable"],
    fields: {
      expression: {
        validate: (0, Wr.assertNodeType)("Expression")
      }
    }
  });
  Yn("JSXIdentifier", {
    builder: ["name"],
    fields: {
      name: {
        validate: (0, Wr.assertValueType)("string")
      }
    }
  });
  Yn("JSXMemberExpression", {
    visitor: ["object", "property"],
    fields: {
      object: {
        validate: (0, Wr.assertNodeType)("JSXMemberExpression", "JSXIdentifier")
      },
      property: {
        validate: (0, Wr.assertNodeType)("JSXIdentifier")
      }
    }
  });
  Yn("JSXNamespacedName", {
    visitor: ["namespace", "name"],
    fields: {
      namespace: {
        validate: (0, Wr.assertNodeType)("JSXIdentifier")
      },
      name: {
        validate: (0, Wr.assertNodeType)("JSXIdentifier")
      }
    }
  });
  Yn("JSXOpeningElement", {
    builder: ["name", "attributes", "selfClosing"],
    visitor: ["name", "typeParameters", "typeArguments", "attributes"],
    aliases: ["Immutable"],
    fields: Object.assign({
      name: {
        validate: (0, Wr.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName")
      },
      selfClosing: {
        default: !1
      },
      attributes: (0, Wr.validateArrayOfType)("JSXAttribute", "JSXSpreadAttribute"),
      typeArguments: {
        validate: (0, Wr.assertNodeType)("TypeParameterInstantiation"),
        optional: !0
      }
    }, {
      typeParameters: {
        validate: (0, Wr.assertNodeType)("TSTypeParameterInstantiation"),
        optional: !0
      }
    })
  });
  Yn("JSXSpreadAttribute", {
    visitor: ["argument"],
    fields: {
      argument: {
        validate: (0, Wr.assertNodeType)("Expression")
      }
    }
  });
  Yn("JSXText", {
    aliases: ["Immutable"],
    builder: ["value"],
    fields: {
      value: {
        validate: (0, Wr.assertValueType)("string")
      }
    }
  });
  Yn("JSXFragment", {
    builder: ["openingFragment", "closingFragment", "children"],
    visitor: ["openingFragment", "children", "closingFragment"],
    aliases: ["Immutable", "Expression"],
    fields: {
      openingFragment: {
        validate: (0, Wr.assertNodeType)("JSXOpeningFragment")
      },
      closingFragment: {
        validate: (0, Wr.assertNodeType)("JSXClosingFragment")
      },
      children: (0, Wr.validateArrayOfType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment")
    }
  });
  Yn("JSXOpeningFragment", {
    aliases: ["Immutable"]
  });
  Yn("JSXClosingFragment", {
    aliases: ["Immutable"]
  });
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/definitions/placeholders.js
var WR = g((Wp) => {
  "use strict";
  Object.defineProperty(Wp, "__esModule", {
    value: !0
  });
  Wp.PLACEHOLDERS_FLIPPED_ALIAS = Wp.PLACEHOLDERS_ALIAS = Wp.PLACEHOLDERS = void 0;
  var Ybs = Ol(), Xbs = Wp.PLACEHOLDERS = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "Class\
Body", "Pattern"], VR = Wp.PLACEHOLDERS_ALIAS = {
    Declaration: ["Statement"],
    Pattern: ["PatternLike", "LVal"]
  };
  for (let t of Xbs) {
    let e = Ybs.ALIAS_KEYS[t];
    e != null && e.length && (VR[t] = e);
  }
  var KR = Wp.PLACEHOLDERS_FLIPPED_ALIAS = {};
  Object.keys(VR).forEach((t) => {
    VR[t].forEach((e) => {
      hasOwnProperty.call(KR, e) || (KR[e] = []), KR[e].push(t);
    });
  });
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/definitions/misc.js
var mde = g(() => {
  "use strict";
  var kv = Ol(), zbs = WR(), Gbs = QT(), $R = (0, kv.defineAliasedType)("Miscellaneous");
  $R("Noop", {
    visitor: []
  });
  $R("Placeholder", {
    visitor: [],
    builder: ["expectedNode", "name"],
    fields: Object.assign({
      name: {
        validate: (0, kv.assertNodeType)("Identifier")
      },
      expectedNode: {
        validate: (0, kv.assertOneOf)(...zbs.PLACEHOLDERS)
      }
    }, (0, Gbs.patternLikeCommon)())
  });
  $R("V8IntrinsicIdentifier", {
    builder: ["name"],
    fields: {
      name: {
        validate: (0, kv.assertValueType)("string")
      }
    }
  });
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/definitions/experimental.js
var yde = g(() => {
  "use strict";
  var xr = Ol();
  (0, xr.default)("ArgumentPlaceholder", {});
  (0, xr.default)("BindExpression", {
    visitor: ["object", "callee"],
    aliases: ["Expression"],
    fields: process.env.BABEL_TYPES_8_BREAKING ? {
      object: {
        validate: (0, xr.assertNodeType)("Expression")
      },
      callee: {
        validate: (0, xr.assertNodeType)("Expression")
      }
    } : {
      object: {
        validate: Object.assign(() => {
        }, {
          oneOfNodeTypes: ["Expression"]
        })
      },
      callee: {
        validate: Object.assign(() => {
        }, {
          oneOfNodeTypes: ["Expression"]
        })
      }
    }
  });
  (0, xr.default)("ImportAttribute", {
    visitor: ["key", "value"],
    fields: {
      key: {
        validate: (0, xr.assertNodeType)("Identifier", "StringLiteral")
      },
      value: {
        validate: (0, xr.assertNodeType)("StringLiteral")
      }
    }
  });
  (0, xr.default)("Decorator", {
    visitor: ["expression"],
    fields: {
      expression: {
        validate: (0, xr.assertNodeType)("Expression")
      }
    }
  });
  (0, xr.default)("DoExpression", {
    visitor: ["body"],
    builder: ["body", "async"],
    aliases: ["Expression"],
    fields: {
      body: {
        validate: (0, xr.assertNodeType)("BlockStatement")
      },
      async: {
        validate: (0, xr.assertValueType)("boolean"),
        default: !1
      }
    }
  });
  (0, xr.default)("ExportDefaultSpecifier", {
    visitor: ["exported"],
    aliases: ["ModuleSpecifier"],
    fields: {
      exported: {
        validate: (0, xr.assertNodeType)("Identifier")
      }
    }
  });
  (0, xr.default)("RecordExpression", {
    visitor: ["properties"],
    aliases: ["Expression"],
    fields: {
      properties: (0, xr.validateArrayOfType)("ObjectProperty", "SpreadElement")
    }
  });
  (0, xr.default)("TupleExpression", {
    fields: {
      elements: {
        validate: (0, xr.arrayOfType)("Expression", "SpreadElement"),
        default: []
      }
    },
    visitor: ["elements"],
    aliases: ["Expression"]
  });
  (0, xr.default)("DecimalLiteral", {
    builder: ["value"],
    fields: {
      value: {
        validate: (0, xr.assertValueType)("string")
      }
    },
    aliases: ["Expression", "Pureish", "Literal", "Immutable"]
  });
  (0, xr.default)("ModuleExpression", {
    visitor: ["body"],
    fields: {
      body: {
        validate: (0, xr.assertNodeType)("Program")
      }
    },
    aliases: ["Expression"]
  });
  (0, xr.default)("TopicReference", {
    aliases: ["Expression"]
  });
  (0, xr.default)("PipelineTopicExpression", {
    builder: ["expression"],
    visitor: ["expression"],
    fields: {
      expression: {
        validate: (0, xr.assertNodeType)("Expression")
      }
    },
    aliases: ["Expression"]
  });
  (0, xr.default)("PipelineBareFunction", {
    builder: ["callee"],
    visitor: ["callee"],
    fields: {
      callee: {
        validate: (0, xr.assertNodeType)("Expression")
      }
    },
    aliases: ["Expression"]
  });
  (0, xr.default)("PipelinePrimaryTopicReference", {
    aliases: ["Expression"]
  });
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/definitions/typescript.js
var Ade = g(() => {
  "use strict";
  var Se = Ol(), gde = QT(), Qbs = by(), Rt = (0, Se.defineAliasedType)("TypeScript"), na = (0, Se.assertValueType)("boolean"), Tde = /* @__PURE__ */ n(
  () => ({
    returnType: {
      validate: (0, Se.assertNodeType)("TSTypeAnnotation", "Noop"),
      optional: !0
    },
    typeParameters: {
      validate: (0, Se.assertNodeType)("TSTypeParameterDeclaration", "Noop"),
      optional: !0
    }
  }), "tSFunctionTypeAnnotationCommon");
  Rt("TSParameterProperty", {
    aliases: ["LVal"],
    visitor: ["parameter"],
    fields: {
      accessibility: {
        validate: (0, Se.assertOneOf)("public", "private", "protected"),
        optional: !0
      },
      readonly: {
        validate: (0, Se.assertValueType)("boolean"),
        optional: !0
      },
      parameter: {
        validate: (0, Se.assertNodeType)("Identifier", "AssignmentPattern")
      },
      override: {
        validate: (0, Se.assertValueType)("boolean"),
        optional: !0
      },
      decorators: {
        validate: (0, Se.arrayOfType)("Decorator"),
        optional: !0
      }
    }
  });
  Rt("TSDeclareFunction", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "typeParameters", "params", "returnType"],
    fields: Object.assign({}, (0, gde.functionDeclarationCommon)(), Tde())
  });
  Rt("TSDeclareMethod", {
    visitor: ["decorators", "key", "typeParameters", "params", "returnType"],
    fields: Object.assign({}, (0, gde.classMethodOrDeclareMethodCommon)(), Tde())
  });
  Rt("TSQualifiedName", {
    aliases: ["TSEntityName"],
    visitor: ["left", "right"],
    fields: {
      left: (0, Se.validateType)("TSEntityName"),
      right: (0, Se.validateType)("Identifier")
    }
  });
  var Dv = /* @__PURE__ */ n(() => ({
    typeParameters: (0, Se.validateOptionalType)("TSTypeParameterDeclaration"),
    parameters: (0, Se.validateArrayOfType)("ArrayPattern", "Identifier", "ObjectPattern", "RestElement"),
    typeAnnotation: (0, Se.validateOptionalType)("TSTypeAnnotation")
  }), "signatureDeclarationCommon"), bde = {
    aliases: ["TSTypeElement"],
    visitor: ["typeParameters", "parameters", "typeAnnotation"],
    fields: Dv()
  };
  Rt("TSCallSignatureDeclaration", bde);
  Rt("TSConstructSignatureDeclaration", bde);
  var xde = /* @__PURE__ */ n(() => ({
    key: (0, Se.validateType)("Expression"),
    computed: {
      default: !1
    },
    optional: (0, Se.validateOptional)(na)
  }), "namedTypeElementCommon");
  Rt("TSPropertySignature", {
    aliases: ["TSTypeElement"],
    visitor: ["key", "typeAnnotation"],
    fields: Object.assign({}, xde(), {
      readonly: (0, Se.validateOptional)(na),
      typeAnnotation: (0, Se.validateOptionalType)("TSTypeAnnotation"),
      kind: {
        validate: (0, Se.assertOneOf)("get", "set")
      }
    })
  });
  Rt("TSMethodSignature", {
    aliases: ["TSTypeElement"],
    visitor: ["key", "typeParameters", "parameters", "typeAnnotation"],
    fields: Object.assign({}, Dv(), xde(), {
      kind: {
        validate: (0, Se.assertOneOf)("method", "get", "set")
      }
    })
  });
  Rt("TSIndexSignature", {
    aliases: ["TSTypeElement"],
    visitor: ["parameters", "typeAnnotation"],
    fields: {
      readonly: (0, Se.validateOptional)(na),
      static: (0, Se.validateOptional)(na),
      parameters: (0, Se.validateArrayOfType)("Identifier"),
      typeAnnotation: (0, Se.validateOptionalType)("TSTypeAnnotation")
    }
  });
  var Zbs = ["TSAnyKeyword", "TSBooleanKeyword", "TSBigIntKeyword", "TSIntrinsicKeyword", "TSNeverKeyword", "TSNullKeyword", "TSNumberKeywor\
d", "TSObjectKeyword", "TSStringKeyword", "TSSymbolKeyword", "TSUndefinedKeyword", "TSUnknownKeyword", "TSVoidKeyword"];
  for (let t of Zbs)
    Rt(t, {
      aliases: ["TSType", "TSBaseType"],
      visitor: [],
      fields: {}
    });
  Rt("TSThisType", {
    aliases: ["TSType", "TSBaseType"],
    visitor: [],
    fields: {}
  });
  var Sde = {
    aliases: ["TSType"],
    visitor: ["typeParameters", "parameters", "typeAnnotation"]
  };
  Rt("TSFunctionType", Object.assign({}, Sde, {
    fields: Dv()
  }));
  Rt("TSConstructorType", Object.assign({}, Sde, {
    fields: Object.assign({}, Dv(), {
      abstract: (0, Se.validateOptional)(na)
    })
  }));
  Rt("TSTypeReference", {
    aliases: ["TSType"],
    visitor: ["typeName", "typeParameters"],
    fields: {
      typeName: (0, Se.validateType)("TSEntityName"),
      typeParameters: (0, Se.validateOptionalType)("TSTypeParameterInstantiation")
    }
  });
  Rt("TSTypePredicate", {
    aliases: ["TSType"],
    visitor: ["parameterName", "typeAnnotation"],
    builder: ["parameterName", "typeAnnotation", "asserts"],
    fields: {
      parameterName: (0, Se.validateType)("Identifier", "TSThisType"),
      typeAnnotation: (0, Se.validateOptionalType)("TSTypeAnnotation"),
      asserts: (0, Se.validateOptional)(na)
    }
  });
  Rt("TSTypeQuery", {
    aliases: ["TSType"],
    visitor: ["exprName", "typeParameters"],
    fields: {
      exprName: (0, Se.validateType)("TSEntityName", "TSImportType"),
      typeParameters: (0, Se.validateOptionalType)("TSTypeParameterInstantiation")
    }
  });
  Rt("TSTypeLiteral", {
    aliases: ["TSType"],
    visitor: ["members"],
    fields: {
      members: (0, Se.validateArrayOfType)("TSTypeElement")
    }
  });
  Rt("TSArrayType", {
    aliases: ["TSType"],
    visitor: ["elementType"],
    fields: {
      elementType: (0, Se.validateType)("TSType")
    }
  });
  Rt("TSTupleType", {
    aliases: ["TSType"],
    visitor: ["elementTypes"],
    fields: {
      elementTypes: (0, Se.validateArrayOfType)("TSType", "TSNamedTupleMember")
    }
  });
  Rt("TSOptionalType", {
    aliases: ["TSType"],
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: (0, Se.validateType)("TSType")
    }
  });
  Rt("TSRestType", {
    aliases: ["TSType"],
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: (0, Se.validateType)("TSType")
    }
  });
  Rt("TSNamedTupleMember", {
    visitor: ["label", "elementType"],
    builder: ["label", "elementType", "optional"],
    fields: {
      label: (0, Se.validateType)("Identifier"),
      optional: {
        validate: na,
        default: !1
      },
      elementType: (0, Se.validateType)("TSType")
    }
  });
  var Pde = {
    aliases: ["TSType"],
    visitor: ["types"],
    fields: {
      types: (0, Se.validateArrayOfType)("TSType")
    }
  };
  Rt("TSUnionType", Pde);
  Rt("TSIntersectionType", Pde);
  Rt("TSConditionalType", {
    aliases: ["TSType"],
    visitor: ["checkType", "extendsType", "trueType", "falseType"],
    fields: {
      checkType: (0, Se.validateType)("TSType"),
      extendsType: (0, Se.validateType)("TSType"),
      trueType: (0, Se.validateType)("TSType"),
      falseType: (0, Se.validateType)("TSType")
    }
  });
  Rt("TSInferType", {
    aliases: ["TSType"],
    visitor: ["typeParameter"],
    fields: {
      typeParameter: (0, Se.validateType)("TSTypeParameter")
    }
  });
  Rt("TSParenthesizedType", {
    aliases: ["TSType"],
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: (0, Se.validateType)("TSType")
    }
  });
  Rt("TSTypeOperator", {
    aliases: ["TSType"],
    visitor: ["typeAnnotation"],
    fields: {
      operator: (0, Se.validate)((0, Se.assertValueType)("string")),
      typeAnnotation: (0, Se.validateType)("TSType")
    }
  });
  Rt("TSIndexedAccessType", {
    aliases: ["TSType"],
    visitor: ["objectType", "indexType"],
    fields: {
      objectType: (0, Se.validateType)("TSType"),
      indexType: (0, Se.validateType)("TSType")
    }
  });
  Rt("TSMappedType", {
    aliases: ["TSType"],
    visitor: ["typeParameter", "nameType", "typeAnnotation"],
    builder: ["typeParameter", "typeAnnotation", "nameType"],
    fields: Object.assign({}, {
      typeParameter: (0, Se.validateType)("TSTypeParameter")
    }, {
      readonly: (0, Se.validateOptional)((0, Se.assertOneOf)(!0, !1, "+", "-")),
      optional: (0, Se.validateOptional)((0, Se.assertOneOf)(!0, !1, "+", "-")),
      typeAnnotation: (0, Se.validateOptionalType)("TSType"),
      nameType: (0, Se.validateOptionalType)("TSType")
    })
  });
  Rt("TSLiteralType", {
    aliases: ["TSType", "TSBaseType"],
    visitor: ["literal"],
    fields: {
      literal: {
        validate: function() {
          let t = (0, Se.assertNodeType)("NumericLiteral", "BigIntLiteral"), e = (0, Se.assertOneOf)("-"), s = (0, Se.assertNodeType)("Numer\
icLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiteral");
          function r(i, a, o) {
            (0, Qbs.default)("UnaryExpression", o) ? (e(o, "operator", o.operator), t(o, "argument", o.argument)) : s(i, a, o);
          }
          return n(r, "validator"), r.oneOfNodeTypes = ["NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiter\
al", "UnaryExpression"], r;
        }()
      }
    }
  });
  Rt("TSExpressionWithTypeArguments", {
    aliases: ["TSType"],
    visitor: ["expression", "typeParameters"],
    fields: {
      expression: (0, Se.validateType)("TSEntityName"),
      typeParameters: (0, Se.validateOptionalType)("TSTypeParameterInstantiation")
    }
  });
  Rt("TSInterfaceDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "typeParameters", "extends", "body"],
    fields: {
      declare: (0, Se.validateOptional)(na),
      id: (0, Se.validateType)("Identifier"),
      typeParameters: (0, Se.validateOptionalType)("TSTypeParameterDeclaration"),
      extends: (0, Se.validateOptional)((0, Se.arrayOfType)("TSExpressionWithTypeArguments")),
      body: (0, Se.validateType)("TSInterfaceBody")
    }
  });
  Rt("TSInterfaceBody", {
    visitor: ["body"],
    fields: {
      body: (0, Se.validateArrayOfType)("TSTypeElement")
    }
  });
  Rt("TSTypeAliasDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "typeParameters", "typeAnnotation"],
    fields: {
      declare: (0, Se.validateOptional)(na),
      id: (0, Se.validateType)("Identifier"),
      typeParameters: (0, Se.validateOptionalType)("TSTypeParameterDeclaration"),
      typeAnnotation: (0, Se.validateType)("TSType")
    }
  });
  Rt("TSInstantiationExpression", {
    aliases: ["Expression"],
    visitor: ["expression", "typeParameters"],
    fields: {
      expression: (0, Se.validateType)("Expression"),
      typeParameters: (0, Se.validateOptionalType)("TSTypeParameterInstantiation")
    }
  });
  var Ede = {
    aliases: ["Expression", "LVal", "PatternLike"],
    visitor: ["expression", "typeAnnotation"],
    fields: {
      expression: (0, Se.validateType)("Expression"),
      typeAnnotation: (0, Se.validateType)("TSType")
    }
  };
  Rt("TSAsExpression", Ede);
  Rt("TSSatisfiesExpression", Ede);
  Rt("TSTypeAssertion", {
    aliases: ["Expression", "LVal", "PatternLike"],
    visitor: ["typeAnnotation", "expression"],
    fields: {
      typeAnnotation: (0, Se.validateType)("TSType"),
      expression: (0, Se.validateType)("Expression")
    }
  });
  Rt("TSEnumBody", {
    visitor: ["members"],
    fields: {
      members: (0, Se.validateArrayOfType)("TSEnumMember")
    }
  });
  Rt("TSEnumDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "members"],
    fields: {
      declare: (0, Se.validateOptional)(na),
      const: (0, Se.validateOptional)(na),
      id: (0, Se.validateType)("Identifier"),
      members: (0, Se.validateArrayOfType)("TSEnumMember"),
      initializer: (0, Se.validateOptionalType)("Expression"),
      body: (0, Se.validateOptionalType)("TSEnumBody")
    }
  });
  Rt("TSEnumMember", {
    visitor: ["id", "initializer"],
    fields: {
      id: (0, Se.validateType)("Identifier", "StringLiteral"),
      initializer: (0, Se.validateOptionalType)("Expression")
    }
  });
  Rt("TSModuleDeclaration", {
    aliases: ["Statement", "Declaration"],
    visitor: ["id", "body"],
    fields: Object.assign({
      kind: {
        validate: (0, Se.assertOneOf)("global", "module", "namespace")
      },
      declare: (0, Se.validateOptional)(na)
    }, {
      global: (0, Se.validateOptional)(na)
    }, {
      id: (0, Se.validateType)("Identifier", "StringLiteral"),
      body: (0, Se.validateType)("TSModuleBlock", "TSModuleDeclaration")
    })
  });
  Rt("TSModuleBlock", {
    aliases: ["Scopable", "Block", "BlockParent", "FunctionParent"],
    visitor: ["body"],
    fields: {
      body: (0, Se.validateArrayOfType)("Statement")
    }
  });
  Rt("TSImportType", {
    aliases: ["TSType"],
    builder: ["argument", "qualifier", "typeParameters"],
    visitor: ["argument", "options", "qualifier", "typeParameters"],
    fields: {
      argument: (0, Se.validateType)("StringLiteral"),
      qualifier: (0, Se.validateOptionalType)("TSEntityName"),
      typeParameters: (0, Se.validateOptionalType)("TSTypeParameterInstantiation"),
      options: {
        validate: (0, Se.assertNodeType)("Expression"),
        optional: !0
      }
    }
  });
  Rt("TSImportEqualsDeclaration", {
    aliases: ["Statement"],
    visitor: ["id", "moduleReference"],
    fields: {
      isExport: (0, Se.validate)(na),
      id: (0, Se.validateType)("Identifier"),
      moduleReference: (0, Se.validateType)("TSEntityName", "TSExternalModuleReference"),
      importKind: {
        validate: (0, Se.assertOneOf)("type", "value"),
        optional: !0
      }
    }
  });
  Rt("TSExternalModuleReference", {
    visitor: ["expression"],
    fields: {
      expression: (0, Se.validateType)("StringLiteral")
    }
  });
  Rt("TSNonNullExpression", {
    aliases: ["Expression", "LVal", "PatternLike"],
    visitor: ["expression"],
    fields: {
      expression: (0, Se.validateType)("Expression")
    }
  });
  Rt("TSExportAssignment", {
    aliases: ["Statement"],
    visitor: ["expression"],
    fields: {
      expression: (0, Se.validateType)("Expression")
    }
  });
  Rt("TSNamespaceExportDeclaration", {
    aliases: ["Statement"],
    visitor: ["id"],
    fields: {
      id: (0, Se.validateType)("Identifier")
    }
  });
  Rt("TSTypeAnnotation", {
    visitor: ["typeAnnotation"],
    fields: {
      typeAnnotation: {
        validate: (0, Se.assertNodeType)("TSType")
      }
    }
  });
  Rt("TSTypeParameterInstantiation", {
    visitor: ["params"],
    fields: {
      params: (0, Se.validateArrayOfType)("TSType")
    }
  });
  Rt("TSTypeParameterDeclaration", {
    visitor: ["params"],
    fields: {
      params: (0, Se.validateArrayOfType)("TSTypeParameter")
    }
  });
  Rt("TSTypeParameter", {
    builder: ["constraint", "default", "name"],
    visitor: ["constraint", "default"],
    fields: {
      name: {
        validate: (0, Se.assertValueType)("string")
      },
      in: {
        validate: (0, Se.assertValueType)("boolean"),
        optional: !0
      },
      out: {
        validate: (0, Se.assertValueType)("boolean"),
        optional: !0
      },
      const: {
        validate: (0, Se.assertValueType)("boolean"),
        optional: !0
      },
      constraint: {
        validate: (0, Se.assertNodeType)("TSType"),
        optional: !0
      },
      default: {
        validate: (0, Se.assertNodeType)("TSType"),
        optional: !0
      }
    }
  });
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/definitions/deprecated-aliases.js
var vde = g((Ov) => {
  "use strict";
  Object.defineProperty(Ov, "__esModule", {
    value: !0
  });
  Ov.DEPRECATED_ALIASES = void 0;
  var Lir = Ov.DEPRECATED_ALIASES = {
    ModuleDeclaration: "ImportOrExportDeclaration"
  };
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/definitions/index.js
var ao = g((Xn) => {
  "use strict";
  Object.defineProperty(Xn, "__esModule", {
    value: !0
  });
  Object.defineProperty(Xn, "ALIAS_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return oo.ALIAS_KEYS;
    }, "get")
  });
  Object.defineProperty(Xn, "BUILDER_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return oo.BUILDER_KEYS;
    }, "get")
  });
  Object.defineProperty(Xn, "DEPRECATED_ALIASES", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return HR.DEPRECATED_ALIASES;
    }, "get")
  });
  Object.defineProperty(Xn, "DEPRECATED_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return oo.DEPRECATED_KEYS;
    }, "get")
  });
  Object.defineProperty(Xn, "FLIPPED_ALIAS_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return oo.FLIPPED_ALIAS_KEYS;
    }, "get")
  });
  Object.defineProperty(Xn, "NODE_FIELDS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return oo.NODE_FIELDS;
    }, "get")
  });
  Object.defineProperty(Xn, "NODE_PARENT_VALIDATIONS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return oo.NODE_PARENT_VALIDATIONS;
    }, "get")
  });
  Object.defineProperty(Xn, "PLACEHOLDERS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return JR.PLACEHOLDERS;
    }, "get")
  });
  Object.defineProperty(Xn, "PLACEHOLDERS_ALIAS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return JR.PLACEHOLDERS_ALIAS;
    }, "get")
  });
  Object.defineProperty(Xn, "PLACEHOLDERS_FLIPPED_ALIAS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return JR.PLACEHOLDERS_FLIPPED_ALIAS;
    }, "get")
  });
  Xn.TYPES = void 0;
  Object.defineProperty(Xn, "VISITOR_KEYS", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return oo.VISITOR_KEYS;
    }, "get")
  });
  QT();
  fde();
  dde();
  mde();
  yde();
  Ade();
  var oo = Ol(), JR = WR(), HR = vde();
  Object.keys(HR.DEPRECATED_ALIASES).forEach((t) => {
    oo.FLIPPED_ALIAS_KEYS[t] = oo.FLIPPED_ALIAS_KEYS[HR.DEPRECATED_ALIASES[t]];
  });
  var Mir = Xn.TYPES = [].concat(Object.keys(oo.VISITOR_KEYS), Object.keys(oo.FLIPPED_ALIAS_KEYS), Object.keys(oo.DEPRECATED_KEYS));
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/validate.js
var Iv = g((Ey) => {
  "use strict";
  Object.defineProperty(Ey, "__esModule", {
    value: !0
  });
  Ey.default = exs;
  Ey.validateChild = wde;
  Ey.validateField = Cde;
  Ey.validateInternal = txs;
  var ZT = ao();
  function exs(t, e, s) {
    if (!t) return;
    let r = ZT.NODE_FIELDS[t.type];
    if (!r) return;
    let i = r[e];
    Cde(t, e, s, i), wde(t, e, s);
  }
  n(exs, "validate");
  function txs(t, e, s, r, i) {
    if (t != null && t.validate && !(t.optional && r == null) && (t.validate(e, s, r), i)) {
      var a;
      let o = r.type;
      if (o == null) return;
      (a = ZT.NODE_PARENT_VALIDATIONS[o]) == null || a.call(ZT.NODE_PARENT_VALIDATIONS, e, s, r);
    }
  }
  n(txs, "validateInternal");
  function Cde(t, e, s, r) {
    r != null && r.validate && (r.optional && s == null || r.validate(t, e, s));
  }
  n(Cde, "validateField");
  function wde(t, e, s) {
    var r;
    let i = s?.type;
    i != null && ((r = ZT.NODE_PARENT_VALIDATIONS[i]) == null || r.call(ZT.NODE_PARENT_VALIDATIONS, t, e, s));
  }
  n(wde, "validateChild");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/builders/generated/index.js
var zn = g((C) => {
  "use strict";
  Object.defineProperty(C, "__esModule", {
    value: !0
  });
  C.anyTypeAnnotation = LSs;
  C.argumentPlaceholder = uEs;
  C.arrayExpression = ixs;
  C.arrayPattern = Zxs;
  C.arrayTypeAnnotation = BSs;
  C.arrowFunctionExpression = eSs;
  C.assignmentExpression = nxs;
  C.assignmentPattern = Qxs;
  C.awaitExpression = PSs;
  C.bigIntLiteral = ASs;
  C.binaryExpression = axs;
  C.bindExpression = cEs;
  C.blockStatement = cxs;
  C.booleanLiteral = kxs;
  C.booleanLiteralTypeAnnotation = FSs;
  C.booleanTypeAnnotation = MSs;
  C.breakStatement = pxs;
  C.callExpression = hxs;
  C.catchClause = fxs;
  C.classAccessorProperty = NSs;
  C.classBody = tSs;
  C.classDeclaration = rSs;
  C.classExpression = sSs;
  C.classImplements = RSs;
  C.classMethod = mSs;
  C.classPrivateMethod = DSs;
  C.classPrivateProperty = kSs;
  C.classProperty = ISs;
  C.conditionalExpression = dxs;
  C.continueStatement = mxs;
  C.debuggerStatement = yxs;
  C.decimalLiteral = gEs;
  C.declareClass = qSs;
  C.declareExportAllDeclaration = XSs;
  C.declareExportDeclaration = YSs;
  C.declareFunction = USs;
  C.declareInterface = KSs;
  C.declareModule = VSs;
  C.declareModuleExports = WSs;
  C.declareOpaqueType = HSs;
  C.declareTypeAlias = $Ss;
  C.declareVariable = JSs;
  C.declaredPredicate = zSs;
  C.decorator = hEs;
  C.directive = lxs;
  C.directiveLiteral = uxs;
  C.doExpression = fEs;
  C.doWhileStatement = gxs;
  C.emptyStatement = Txs;
  C.emptyTypeAnnotation = oPs;
  C.enumBooleanBody = BPs;
  C.enumBooleanMember = RPs;
  C.enumDeclaration = LPs;
  C.enumDefaultedMember = KPs;
  C.enumNumberBody = MPs;
  C.enumNumberMember = qPs;
  C.enumStringBody = FPs;
  C.enumStringMember = UPs;
  C.enumSymbolBody = jPs;
  C.existsTypeAnnotation = GSs;
  C.exportAllDeclaration = iSs;
  C.exportDefaultDeclaration = nSs;
  C.exportDefaultSpecifier = dEs;
  C.exportNamedDeclaration = aSs;
  C.exportNamespaceSpecifier = vSs;
  C.exportSpecifier = oSs;
  C.expressionStatement = bxs;
  C.file = xxs;
  C.forInStatement = Sxs;
  C.forOfStatement = lSs;
  C.forStatement = Pxs;
  C.functionDeclaration = Exs;
  C.functionExpression = Axs;
  C.functionTypeAnnotation = QSs;
  C.functionTypeParam = ZSs;
  C.genericTypeAnnotation = ePs;
  C.identifier = vxs;
  C.ifStatement = Cxs;
  C.import = ESs;
  C.importAttribute = pEs;
  C.importDeclaration = uSs;
  C.importDefaultSpecifier = cSs;
  C.importExpression = fSs;
  C.importNamespaceSpecifier = pSs;
  C.importSpecifier = hSs;
  C.indexedAccessType = VPs;
  C.inferredPredicate = tPs;
  C.interfaceDeclaration = rPs;
  C.interfaceExtends = sPs;
  C.interfaceTypeAnnotation = iPs;
  C.interpreterDirective = oxs;
  C.intersectionTypeAnnotation = nPs;
  C.jSXAttribute = C.jsxAttribute = $Ps;
  C.jSXClosingElement = C.jsxClosingElement = HPs;
  C.jSXClosingFragment = C.jsxClosingFragment = nEs;
  C.jSXElement = C.jsxElement = JPs;
  C.jSXEmptyExpression = C.jsxEmptyExpression = YPs;
  C.jSXExpressionContainer = C.jsxExpressionContainer = XPs;
  C.jSXFragment = C.jsxFragment = rEs;
  C.jSXIdentifier = C.jsxIdentifier = GPs;
  C.jSXMemberExpression = C.jsxMemberExpression = QPs;
  C.jSXNamespacedName = C.jsxNamespacedName = ZPs;
  C.jSXOpeningElement = C.jsxOpeningElement = eEs;
  C.jSXOpeningFragment = C.jsxOpeningFragment = iEs;
  C.jSXSpreadAttribute = C.jsxSpreadAttribute = tEs;
  C.jSXSpreadChild = C.jsxSpreadChild = zPs;
  C.jSXText = C.jsxText = sEs;
  C.labeledStatement = wxs;
  C.logicalExpression = Dxs;
  C.memberExpression = Oxs;
  C.metaProperty = dSs;
  C.mixedTypeAnnotation = aPs;
  C.moduleExpression = TEs;
  C.newExpression = _xs;
  C.noop = aEs;
  C.nullLiteral = Nxs;
  C.nullLiteralTypeAnnotation = jSs;
  C.nullableTypeAnnotation = lPs;
  C.numberLiteral = BAs;
  C.numberLiteralTypeAnnotation = uPs;
  C.numberTypeAnnotation = cPs;
  C.numericLiteral = Ide;
  C.objectExpression = Bxs;
  C.objectMethod = Mxs;
  C.objectPattern = ySs;
  C.objectProperty = Fxs;
  C.objectTypeAnnotation = pPs;
  C.objectTypeCallProperty = fPs;
  C.objectTypeIndexer = dPs;
  C.objectTypeInternalSlot = hPs;
  C.objectTypeProperty = mPs;
  C.objectTypeSpreadProperty = yPs;
  C.opaqueType = gPs;
  C.optionalCallExpression = wSs;
  C.optionalIndexedAccessType = WPs;
  C.optionalMemberExpression = CSs;
  C.parenthesizedExpression = qxs;
  C.pipelineBareFunction = SEs;
  C.pipelinePrimaryTopicReference = PEs;
  C.pipelineTopicExpression = xEs;
  C.placeholder = oEs;
  C.privateName = OSs;
  C.program = Lxs;
  C.qualifiedTypeIdentifier = TPs;
  C.recordExpression = mEs;
  C.regExpLiteral = Nde;
  C.regexLiteral = MAs;
  C.restElement = kde;
  C.restProperty = FAs;
  C.returnStatement = jxs;
  C.sequenceExpression = Rxs;
  C.spreadElement = Dde;
  C.spreadProperty = jAs;
  C.staticBlock = _Ss;
  C.stringLiteral = Ixs;
  C.stringLiteralTypeAnnotation = bPs;
  C.stringTypeAnnotation = xPs;
  C.super = gSs;
  C.switchCase = Uxs;
  C.switchStatement = Kxs;
  C.symbolTypeAnnotation = SPs;
  C.taggedTemplateExpression = TSs;
  C.templateElement = bSs;
  C.templateLiteral = xSs;
  C.thisExpression = Vxs;
  C.thisTypeAnnotation = PPs;
  C.throwStatement = Wxs;
  C.topicReference = bEs;
  C.tryStatement = $xs;
  C.tSAnyKeyword = C.tsAnyKeyword = OEs;
  C.tSArrayType = C.tsArrayType = QEs;
  C.tSAsExpression = C.tsAsExpression = gAs;
  C.tSBigIntKeyword = C.tsBigIntKeyword = LEs;
  C.tSBooleanKeyword = C.tsBooleanKeyword = _Es;
  C.tSCallSignatureDeclaration = C.tsCallSignatureDeclaration = wEs;
  C.tSConditionalType = C.tsConditionalType = nAs;
  C.tSConstructSignatureDeclaration = C.tsConstructSignatureDeclaration = IEs;
  C.tSConstructorType = C.tsConstructorType = JEs;
  C.tSDeclareFunction = C.tsDeclareFunction = AEs;
  C.tSDeclareMethod = C.tsDeclareMethod = vEs;
  C.tSEnumBody = C.tsEnumBody = xAs;
  C.tSEnumDeclaration = C.tsEnumDeclaration = SAs;
  C.tSEnumMember = C.tsEnumMember = PAs;
  C.tSExportAssignment = C.tsExportAssignment = NAs;
  C.tSExpressionWithTypeArguments = C.tsExpressionWithTypeArguments = hAs;
  C.tSExternalModuleReference = C.tsExternalModuleReference = wAs;
  C.tSFunctionType = C.tsFunctionType = HEs;
  C.tSImportEqualsDeclaration = C.tsImportEqualsDeclaration = CAs;
  C.tSImportType = C.tsImportType = vAs;
  C.tSIndexSignature = C.tsIndexSignature = DEs;
  C.tSIndexedAccessType = C.tsIndexedAccessType = uAs;
  C.tSInferType = C.tsInferType = aAs;
  C.tSInstantiationExpression = C.tsInstantiationExpression = yAs;
  C.tSInterfaceBody = C.tsInterfaceBody = dAs;
  C.tSInterfaceDeclaration = C.tsInterfaceDeclaration = fAs;
  C.tSIntersectionType = C.tsIntersectionType = iAs;
  C.tSIntrinsicKeyword = C.tsIntrinsicKeyword = BEs;
  C.tSLiteralType = C.tsLiteralType = pAs;
  C.tSMappedType = C.tsMappedType = cAs;
  C.tSMethodSignature = C.tsMethodSignature = kEs;
  C.tSModuleBlock = C.tsModuleBlock = AAs;
  C.tSModuleDeclaration = C.tsModuleDeclaration = EAs;
  C.tSNamedTupleMember = C.tsNamedTupleMember = sAs;
  C.tSNamespaceExportDeclaration = C.tsNamespaceExportDeclaration = kAs;
  C.tSNeverKeyword = C.tsNeverKeyword = MEs;
  C.tSNonNullExpression = C.tsNonNullExpression = IAs;
  C.tSNullKeyword = C.tsNullKeyword = FEs;
  C.tSNumberKeyword = C.tsNumberKeyword = jEs;
  C.tSObjectKeyword = C.tsObjectKeyword = REs;
  C.tSOptionalType = C.tsOptionalType = eAs;
  C.tSParameterProperty = C.tsParameterProperty = EEs;
  C.tSParenthesizedType = C.tsParenthesizedType = oAs;
  C.tSPropertySignature = C.tsPropertySignature = NEs;
  C.tSQualifiedName = C.tsQualifiedName = CEs;
  C.tSRestType = C.tsRestType = tAs;
  C.tSSatisfiesExpression = C.tsSatisfiesExpression = TAs;
  C.tSStringKeyword = C.tsStringKeyword = qEs;
  C.tSSymbolKeyword = C.tsSymbolKeyword = UEs;
  C.tSThisType = C.tsThisType = $Es;
  C.tSTupleType = C.tsTupleType = ZEs;
  C.tSTypeAliasDeclaration = C.tsTypeAliasDeclaration = mAs;
  C.tSTypeAnnotation = C.tsTypeAnnotation = DAs;
  C.tSTypeAssertion = C.tsTypeAssertion = bAs;
  C.tSTypeLiteral = C.tsTypeLiteral = GEs;
  C.tSTypeOperator = C.tsTypeOperator = lAs;
  C.tSTypeParameter = C.tsTypeParameter = LAs;
  C.tSTypeParameterDeclaration = C.tsTypeParameterDeclaration = _As;
  C.tSTypeParameterInstantiation = C.tsTypeParameterInstantiation = OAs;
  C.tSTypePredicate = C.tsTypePredicate = XEs;
  C.tSTypeQuery = C.tsTypeQuery = zEs;
  C.tSTypeReference = C.tsTypeReference = YEs;
  C.tSUndefinedKeyword = C.tsUndefinedKeyword = KEs;
  C.tSUnionType = C.tsUnionType = rAs;
  C.tSUnknownKeyword = C.tsUnknownKeyword = VEs;
  C.tSVoidKeyword = C.tsVoidKeyword = WEs;
  C.tupleExpression = yEs;
  C.tupleTypeAnnotation = EPs;
  C.typeAlias = vPs;
  C.typeAnnotation = CPs;
  C.typeCastExpression = wPs;
  C.typeParameter = IPs;
  C.typeParameterDeclaration = NPs;
  C.typeParameterInstantiation = kPs;
  C.typeofTypeAnnotation = APs;
  C.unaryExpression = Hxs;
  C.unionTypeAnnotation = DPs;
  C.updateExpression = Jxs;
  C.v8IntrinsicIdentifier = lEs;
  C.variableDeclaration = Yxs;
  C.variableDeclarator = Xxs;
  C.variance = OPs;
  C.voidTypeAnnotation = _Ps;
  C.whileStatement = zxs;
  C.withStatement = Gxs;
  C.yieldExpression = SSs;
  var sxs = Iv(), _v = YT(), rxs = Ol(), {
    validateInternal: P
  } = sxs, {
    NODE_FIELDS: ne
  } = rxs;
  function ixs(t = []) {
    let e = {
      type: "ArrayExpression",
      elements: t
    }, s = ne.ArrayExpression;
    return P(s.elements, e, "elements", t, 1), e;
  }
  n(ixs, "arrayExpression");
  function nxs(t, e, s) {
    let r = {
      type: "AssignmentExpression",
      operator: t,
      left: e,
      right: s
    }, i = ne.AssignmentExpression;
    return P(i.operator, r, "operator", t), P(i.left, r, "left", e, 1), P(i.right, r, "right", s, 1), r;
  }
  n(nxs, "assignmentExpression");
  function axs(t, e, s) {
    let r = {
      type: "BinaryExpression",
      operator: t,
      left: e,
      right: s
    }, i = ne.BinaryExpression;
    return P(i.operator, r, "operator", t), P(i.left, r, "left", e, 1), P(i.right, r, "right", s, 1), r;
  }
  n(axs, "binaryExpression");
  function oxs(t) {
    let e = {
      type: "InterpreterDirective",
      value: t
    }, s = ne.InterpreterDirective;
    return P(s.value, e, "value", t), e;
  }
  n(oxs, "interpreterDirective");
  function lxs(t) {
    let e = {
      type: "Directive",
      value: t
    }, s = ne.Directive;
    return P(s.value, e, "value", t, 1), e;
  }
  n(lxs, "directive");
  function uxs(t) {
    let e = {
      type: "DirectiveLiteral",
      value: t
    }, s = ne.DirectiveLiteral;
    return P(s.value, e, "value", t), e;
  }
  n(uxs, "directiveLiteral");
  function cxs(t, e = []) {
    let s = {
      type: "BlockStatement",
      body: t,
      directives: e
    }, r = ne.BlockStatement;
    return P(r.body, s, "body", t, 1), P(r.directives, s, "directives", e, 1), s;
  }
  n(cxs, "blockStatement");
  function pxs(t = null) {
    let e = {
      type: "BreakStatement",
      label: t
    }, s = ne.BreakStatement;
    return P(s.label, e, "label", t, 1), e;
  }
  n(pxs, "breakStatement");
  function hxs(t, e) {
    let s = {
      type: "CallExpression",
      callee: t,
      arguments: e
    }, r = ne.CallExpression;
    return P(r.callee, s, "callee", t, 1), P(r.arguments, s, "arguments", e, 1), s;
  }
  n(hxs, "callExpression");
  function fxs(t = null, e) {
    let s = {
      type: "CatchClause",
      param: t,
      body: e
    }, r = ne.CatchClause;
    return P(r.param, s, "param", t, 1), P(r.body, s, "body", e, 1), s;
  }
  n(fxs, "catchClause");
  function dxs(t, e, s) {
    let r = {
      type: "ConditionalExpression",
      test: t,
      consequent: e,
      alternate: s
    }, i = ne.ConditionalExpression;
    return P(i.test, r, "test", t, 1), P(i.consequent, r, "consequent", e, 1), P(i.alternate, r, "alternate", s, 1), r;
  }
  n(dxs, "conditionalExpression");
  function mxs(t = null) {
    let e = {
      type: "ContinueStatement",
      label: t
    }, s = ne.ContinueStatement;
    return P(s.label, e, "label", t, 1), e;
  }
  n(mxs, "continueStatement");
  function yxs() {
    return {
      type: "DebuggerStatement"
    };
  }
  n(yxs, "debuggerStatement");
  function gxs(t, e) {
    let s = {
      type: "DoWhileStatement",
      test: t,
      body: e
    }, r = ne.DoWhileStatement;
    return P(r.test, s, "test", t, 1), P(r.body, s, "body", e, 1), s;
  }
  n(gxs, "doWhileStatement");
  function Txs() {
    return {
      type: "EmptyStatement"
    };
  }
  n(Txs, "emptyStatement");
  function bxs(t) {
    let e = {
      type: "ExpressionStatement",
      expression: t
    }, s = ne.ExpressionStatement;
    return P(s.expression, e, "expression", t, 1), e;
  }
  n(bxs, "expressionStatement");
  function xxs(t, e = null, s = null) {
    let r = {
      type: "File",
      program: t,
      comments: e,
      tokens: s
    }, i = ne.File;
    return P(i.program, r, "program", t, 1), P(i.comments, r, "comments", e, 1), P(i.tokens, r, "tokens", s), r;
  }
  n(xxs, "file");
  function Sxs(t, e, s) {
    let r = {
      type: "ForInStatement",
      left: t,
      right: e,
      body: s
    }, i = ne.ForInStatement;
    return P(i.left, r, "left", t, 1), P(i.right, r, "right", e, 1), P(i.body, r, "body", s, 1), r;
  }
  n(Sxs, "forInStatement");
  function Pxs(t = null, e = null, s = null, r) {
    let i = {
      type: "ForStatement",
      init: t,
      test: e,
      update: s,
      body: r
    }, a = ne.ForStatement;
    return P(a.init, i, "init", t, 1), P(a.test, i, "test", e, 1), P(a.update, i, "update", s, 1), P(a.body, i, "body", r, 1), i;
  }
  n(Pxs, "forStatement");
  function Exs(t = null, e, s, r = !1, i = !1) {
    let a = {
      type: "FunctionDeclaration",
      id: t,
      params: e,
      body: s,
      generator: r,
      async: i
    }, o = ne.FunctionDeclaration;
    return P(o.id, a, "id", t, 1), P(o.params, a, "params", e, 1), P(o.body, a, "body", s, 1), P(o.generator, a, "generator", r), P(o.async,
    a, "async", i), a;
  }
  n(Exs, "functionDeclaration");
  function Axs(t = null, e, s, r = !1, i = !1) {
    let a = {
      type: "FunctionExpression",
      id: t,
      params: e,
      body: s,
      generator: r,
      async: i
    }, o = ne.FunctionExpression;
    return P(o.id, a, "id", t, 1), P(o.params, a, "params", e, 1), P(o.body, a, "body", s, 1), P(o.generator, a, "generator", r), P(o.async,
    a, "async", i), a;
  }
  n(Axs, "functionExpression");
  function vxs(t) {
    let e = {
      type: "Identifier",
      name: t
    }, s = ne.Identifier;
    return P(s.name, e, "name", t), e;
  }
  n(vxs, "identifier");
  function Cxs(t, e, s = null) {
    let r = {
      type: "IfStatement",
      test: t,
      consequent: e,
      alternate: s
    }, i = ne.IfStatement;
    return P(i.test, r, "test", t, 1), P(i.consequent, r, "consequent", e, 1), P(i.alternate, r, "alternate", s, 1), r;
  }
  n(Cxs, "ifStatement");
  function wxs(t, e) {
    let s = {
      type: "LabeledStatement",
      label: t,
      body: e
    }, r = ne.LabeledStatement;
    return P(r.label, s, "label", t, 1), P(r.body, s, "body", e, 1), s;
  }
  n(wxs, "labeledStatement");
  function Ixs(t) {
    let e = {
      type: "StringLiteral",
      value: t
    }, s = ne.StringLiteral;
    return P(s.value, e, "value", t), e;
  }
  n(Ixs, "stringLiteral");
  function Ide(t) {
    let e = {
      type: "NumericLiteral",
      value: t
    }, s = ne.NumericLiteral;
    return P(s.value, e, "value", t), e;
  }
  n(Ide, "numericLiteral");
  function Nxs() {
    return {
      type: "NullLiteral"
    };
  }
  n(Nxs, "nullLiteral");
  function kxs(t) {
    let e = {
      type: "BooleanLiteral",
      value: t
    }, s = ne.BooleanLiteral;
    return P(s.value, e, "value", t), e;
  }
  n(kxs, "booleanLiteral");
  function Nde(t, e = "") {
    let s = {
      type: "RegExpLiteral",
      pattern: t,
      flags: e
    }, r = ne.RegExpLiteral;
    return P(r.pattern, s, "pattern", t), P(r.flags, s, "flags", e), s;
  }
  n(Nde, "regExpLiteral");
  function Dxs(t, e, s) {
    let r = {
      type: "LogicalExpression",
      operator: t,
      left: e,
      right: s
    }, i = ne.LogicalExpression;
    return P(i.operator, r, "operator", t), P(i.left, r, "left", e, 1), P(i.right, r, "right", s, 1), r;
  }
  n(Dxs, "logicalExpression");
  function Oxs(t, e, s = !1, r = null) {
    let i = {
      type: "MemberExpression",
      object: t,
      property: e,
      computed: s,
      optional: r
    }, a = ne.MemberExpression;
    return P(a.object, i, "object", t, 1), P(a.property, i, "property", e, 1), P(a.computed, i, "computed", s), P(a.optional, i, "optional",
    r), i;
  }
  n(Oxs, "memberExpression");
  function _xs(t, e) {
    let s = {
      type: "NewExpression",
      callee: t,
      arguments: e
    }, r = ne.NewExpression;
    return P(r.callee, s, "callee", t, 1), P(r.arguments, s, "arguments", e, 1), s;
  }
  n(_xs, "newExpression");
  function Lxs(t, e = [], s = "script", r = null) {
    let i = {
      type: "Program",
      body: t,
      directives: e,
      sourceType: s,
      interpreter: r
    }, a = ne.Program;
    return P(a.body, i, "body", t, 1), P(a.directives, i, "directives", e, 1), P(a.sourceType, i, "sourceType", s), P(a.interpreter, i, "int\
erpreter", r, 1), i;
  }
  n(Lxs, "program");
  function Bxs(t) {
    let e = {
      type: "ObjectExpression",
      properties: t
    }, s = ne.ObjectExpression;
    return P(s.properties, e, "properties", t, 1), e;
  }
  n(Bxs, "objectExpression");
  function Mxs(t = "method", e, s, r, i = !1, a = !1, o = !1) {
    let l = {
      type: "ObjectMethod",
      kind: t,
      key: e,
      params: s,
      body: r,
      computed: i,
      generator: a,
      async: o
    }, u = ne.ObjectMethod;
    return P(u.kind, l, "kind", t), P(u.key, l, "key", e, 1), P(u.params, l, "params", s, 1), P(u.body, l, "body", r, 1), P(u.computed, l, "\
computed", i), P(u.generator, l, "generator", a), P(u.async, l, "async", o), l;
  }
  n(Mxs, "objectMethod");
  function Fxs(t, e, s = !1, r = !1, i = null) {
    let a = {
      type: "ObjectProperty",
      key: t,
      value: e,
      computed: s,
      shorthand: r,
      decorators: i
    }, o = ne.ObjectProperty;
    return P(o.key, a, "key", t, 1), P(o.value, a, "value", e, 1), P(o.computed, a, "computed", s), P(o.shorthand, a, "shorthand", r), P(o.decorators,
    a, "decorators", i, 1), a;
  }
  n(Fxs, "objectProperty");
  function kde(t) {
    let e = {
      type: "RestElement",
      argument: t
    }, s = ne.RestElement;
    return P(s.argument, e, "argument", t, 1), e;
  }
  n(kde, "restElement");
  function jxs(t = null) {
    let e = {
      type: "ReturnStatement",
      argument: t
    }, s = ne.ReturnStatement;
    return P(s.argument, e, "argument", t, 1), e;
  }
  n(jxs, "returnStatement");
  function Rxs(t) {
    let e = {
      type: "SequenceExpression",
      expressions: t
    }, s = ne.SequenceExpression;
    return P(s.expressions, e, "expressions", t, 1), e;
  }
  n(Rxs, "sequenceExpression");
  function qxs(t) {
    let e = {
      type: "ParenthesizedExpression",
      expression: t
    }, s = ne.ParenthesizedExpression;
    return P(s.expression, e, "expression", t, 1), e;
  }
  n(qxs, "parenthesizedExpression");
  function Uxs(t = null, e) {
    let s = {
      type: "SwitchCase",
      test: t,
      consequent: e
    }, r = ne.SwitchCase;
    return P(r.test, s, "test", t, 1), P(r.consequent, s, "consequent", e, 1), s;
  }
  n(Uxs, "switchCase");
  function Kxs(t, e) {
    let s = {
      type: "SwitchStatement",
      discriminant: t,
      cases: e
    }, r = ne.SwitchStatement;
    return P(r.discriminant, s, "discriminant", t, 1), P(r.cases, s, "cases", e, 1), s;
  }
  n(Kxs, "switchStatement");
  function Vxs() {
    return {
      type: "ThisExpression"
    };
  }
  n(Vxs, "thisExpression");
  function Wxs(t) {
    let e = {
      type: "ThrowStatement",
      argument: t
    }, s = ne.ThrowStatement;
    return P(s.argument, e, "argument", t, 1), e;
  }
  n(Wxs, "throwStatement");
  function $xs(t, e = null, s = null) {
    let r = {
      type: "TryStatement",
      block: t,
      handler: e,
      finalizer: s
    }, i = ne.TryStatement;
    return P(i.block, r, "block", t, 1), P(i.handler, r, "handler", e, 1), P(i.finalizer, r, "finalizer", s, 1), r;
  }
  n($xs, "tryStatement");
  function Hxs(t, e, s = !0) {
    let r = {
      type: "UnaryExpression",
      operator: t,
      argument: e,
      prefix: s
    }, i = ne.UnaryExpression;
    return P(i.operator, r, "operator", t), P(i.argument, r, "argument", e, 1), P(i.prefix, r, "prefix", s), r;
  }
  n(Hxs, "unaryExpression");
  function Jxs(t, e, s = !1) {
    let r = {
      type: "UpdateExpression",
      operator: t,
      argument: e,
      prefix: s
    }, i = ne.UpdateExpression;
    return P(i.operator, r, "operator", t), P(i.argument, r, "argument", e, 1), P(i.prefix, r, "prefix", s), r;
  }
  n(Jxs, "updateExpression");
  function Yxs(t, e) {
    let s = {
      type: "VariableDeclaration",
      kind: t,
      declarations: e
    }, r = ne.VariableDeclaration;
    return P(r.kind, s, "kind", t), P(r.declarations, s, "declarations", e, 1), s;
  }
  n(Yxs, "variableDeclaration");
  function Xxs(t, e = null) {
    let s = {
      type: "VariableDeclarator",
      id: t,
      init: e
    }, r = ne.VariableDeclarator;
    return P(r.id, s, "id", t, 1), P(r.init, s, "init", e, 1), s;
  }
  n(Xxs, "variableDeclarator");
  function zxs(t, e) {
    let s = {
      type: "WhileStatement",
      test: t,
      body: e
    }, r = ne.WhileStatement;
    return P(r.test, s, "test", t, 1), P(r.body, s, "body", e, 1), s;
  }
  n(zxs, "whileStatement");
  function Gxs(t, e) {
    let s = {
      type: "WithStatement",
      object: t,
      body: e
    }, r = ne.WithStatement;
    return P(r.object, s, "object", t, 1), P(r.body, s, "body", e, 1), s;
  }
  n(Gxs, "withStatement");
  function Qxs(t, e) {
    let s = {
      type: "AssignmentPattern",
      left: t,
      right: e
    }, r = ne.AssignmentPattern;
    return P(r.left, s, "left", t, 1), P(r.right, s, "right", e, 1), s;
  }
  n(Qxs, "assignmentPattern");
  function Zxs(t) {
    let e = {
      type: "ArrayPattern",
      elements: t
    }, s = ne.ArrayPattern;
    return P(s.elements, e, "elements", t, 1), e;
  }
  n(Zxs, "arrayPattern");
  function eSs(t, e, s = !1) {
    let r = {
      type: "ArrowFunctionExpression",
      params: t,
      body: e,
      async: s,
      expression: null
    }, i = ne.ArrowFunctionExpression;
    return P(i.params, r, "params", t, 1), P(i.body, r, "body", e, 1), P(i.async, r, "async", s), r;
  }
  n(eSs, "arrowFunctionExpression");
  function tSs(t) {
    let e = {
      type: "ClassBody",
      body: t
    }, s = ne.ClassBody;
    return P(s.body, e, "body", t, 1), e;
  }
  n(tSs, "classBody");
  function sSs(t = null, e = null, s, r = null) {
    let i = {
      type: "ClassExpression",
      id: t,
      superClass: e,
      body: s,
      decorators: r
    }, a = ne.ClassExpression;
    return P(a.id, i, "id", t, 1), P(a.superClass, i, "superClass", e, 1), P(a.body, i, "body", s, 1), P(a.decorators, i, "decorators", r, 1),
    i;
  }
  n(sSs, "classExpression");
  function rSs(t = null, e = null, s, r = null) {
    let i = {
      type: "ClassDeclaration",
      id: t,
      superClass: e,
      body: s,
      decorators: r
    }, a = ne.ClassDeclaration;
    return P(a.id, i, "id", t, 1), P(a.superClass, i, "superClass", e, 1), P(a.body, i, "body", s, 1), P(a.decorators, i, "decorators", r, 1),
    i;
  }
  n(rSs, "classDeclaration");
  function iSs(t) {
    let e = {
      type: "ExportAllDeclaration",
      source: t
    }, s = ne.ExportAllDeclaration;
    return P(s.source, e, "source", t, 1), e;
  }
  n(iSs, "exportAllDeclaration");
  function nSs(t) {
    let e = {
      type: "ExportDefaultDeclaration",
      declaration: t
    }, s = ne.ExportDefaultDeclaration;
    return P(s.declaration, e, "declaration", t, 1), e;
  }
  n(nSs, "exportDefaultDeclaration");
  function aSs(t = null, e = [], s = null) {
    let r = {
      type: "ExportNamedDeclaration",
      declaration: t,
      specifiers: e,
      source: s
    }, i = ne.ExportNamedDeclaration;
    return P(i.declaration, r, "declaration", t, 1), P(i.specifiers, r, "specifiers", e, 1), P(i.source, r, "source", s, 1), r;
  }
  n(aSs, "exportNamedDeclaration");
  function oSs(t, e) {
    let s = {
      type: "ExportSpecifier",
      local: t,
      exported: e
    }, r = ne.ExportSpecifier;
    return P(r.local, s, "local", t, 1), P(r.exported, s, "exported", e, 1), s;
  }
  n(oSs, "exportSpecifier");
  function lSs(t, e, s, r = !1) {
    let i = {
      type: "ForOfStatement",
      left: t,
      right: e,
      body: s,
      await: r
    }, a = ne.ForOfStatement;
    return P(a.left, i, "left", t, 1), P(a.right, i, "right", e, 1), P(a.body, i, "body", s, 1), P(a.await, i, "await", r), i;
  }
  n(lSs, "forOfStatement");
  function uSs(t, e) {
    let s = {
      type: "ImportDeclaration",
      specifiers: t,
      source: e
    }, r = ne.ImportDeclaration;
    return P(r.specifiers, s, "specifiers", t, 1), P(r.source, s, "source", e, 1), s;
  }
  n(uSs, "importDeclaration");
  function cSs(t) {
    let e = {
      type: "ImportDefaultSpecifier",
      local: t
    }, s = ne.ImportDefaultSpecifier;
    return P(s.local, e, "local", t, 1), e;
  }
  n(cSs, "importDefaultSpecifier");
  function pSs(t) {
    let e = {
      type: "ImportNamespaceSpecifier",
      local: t
    }, s = ne.ImportNamespaceSpecifier;
    return P(s.local, e, "local", t, 1), e;
  }
  n(pSs, "importNamespaceSpecifier");
  function hSs(t, e) {
    let s = {
      type: "ImportSpecifier",
      local: t,
      imported: e
    }, r = ne.ImportSpecifier;
    return P(r.local, s, "local", t, 1), P(r.imported, s, "imported", e, 1), s;
  }
  n(hSs, "importSpecifier");
  function fSs(t, e = null) {
    let s = {
      type: "ImportExpression",
      source: t,
      options: e
    }, r = ne.ImportExpression;
    return P(r.source, s, "source", t, 1), P(r.options, s, "options", e, 1), s;
  }
  n(fSs, "importExpression");
  function dSs(t, e) {
    let s = {
      type: "MetaProperty",
      meta: t,
      property: e
    }, r = ne.MetaProperty;
    return P(r.meta, s, "meta", t, 1), P(r.property, s, "property", e, 1), s;
  }
  n(dSs, "metaProperty");
  function mSs(t = "method", e, s, r, i = !1, a = !1, o = !1, l = !1) {
    let u = {
      type: "ClassMethod",
      kind: t,
      key: e,
      params: s,
      body: r,
      computed: i,
      static: a,
      generator: o,
      async: l
    }, c = ne.ClassMethod;
    return P(c.kind, u, "kind", t), P(c.key, u, "key", e, 1), P(c.params, u, "params", s, 1), P(c.body, u, "body", r, 1), P(c.computed, u, "\
computed", i), P(c.static, u, "static", a), P(c.generator, u, "generator", o), P(c.async, u, "async", l), u;
  }
  n(mSs, "classMethod");
  function ySs(t) {
    let e = {
      type: "ObjectPattern",
      properties: t
    }, s = ne.ObjectPattern;
    return P(s.properties, e, "properties", t, 1), e;
  }
  n(ySs, "objectPattern");
  function Dde(t) {
    let e = {
      type: "SpreadElement",
      argument: t
    }, s = ne.SpreadElement;
    return P(s.argument, e, "argument", t, 1), e;
  }
  n(Dde, "spreadElement");
  function gSs() {
    return {
      type: "Super"
    };
  }
  n(gSs, "_super");
  function TSs(t, e) {
    let s = {
      type: "TaggedTemplateExpression",
      tag: t,
      quasi: e
    }, r = ne.TaggedTemplateExpression;
    return P(r.tag, s, "tag", t, 1), P(r.quasi, s, "quasi", e, 1), s;
  }
  n(TSs, "taggedTemplateExpression");
  function bSs(t, e = !1) {
    let s = {
      type: "TemplateElement",
      value: t,
      tail: e
    }, r = ne.TemplateElement;
    return P(r.value, s, "value", t), P(r.tail, s, "tail", e), s;
  }
  n(bSs, "templateElement");
  function xSs(t, e) {
    let s = {
      type: "TemplateLiteral",
      quasis: t,
      expressions: e
    }, r = ne.TemplateLiteral;
    return P(r.quasis, s, "quasis", t, 1), P(r.expressions, s, "expressions", e, 1), s;
  }
  n(xSs, "templateLiteral");
  function SSs(t = null, e = !1) {
    let s = {
      type: "YieldExpression",
      argument: t,
      delegate: e
    }, r = ne.YieldExpression;
    return P(r.argument, s, "argument", t, 1), P(r.delegate, s, "delegate", e), s;
  }
  n(SSs, "yieldExpression");
  function PSs(t) {
    let e = {
      type: "AwaitExpression",
      argument: t
    }, s = ne.AwaitExpression;
    return P(s.argument, e, "argument", t, 1), e;
  }
  n(PSs, "awaitExpression");
  function ESs() {
    return {
      type: "Import"
    };
  }
  n(ESs, "_import");
  function ASs(t) {
    let e = {
      type: "BigIntLiteral",
      value: t
    }, s = ne.BigIntLiteral;
    return P(s.value, e, "value", t), e;
  }
  n(ASs, "bigIntLiteral");
  function vSs(t) {
    let e = {
      type: "ExportNamespaceSpecifier",
      exported: t
    }, s = ne.ExportNamespaceSpecifier;
    return P(s.exported, e, "exported", t, 1), e;
  }
  n(vSs, "exportNamespaceSpecifier");
  function CSs(t, e, s = !1, r) {
    let i = {
      type: "OptionalMemberExpression",
      object: t,
      property: e,
      computed: s,
      optional: r
    }, a = ne.OptionalMemberExpression;
    return P(a.object, i, "object", t, 1), P(a.property, i, "property", e, 1), P(a.computed, i, "computed", s), P(a.optional, i, "optional",
    r), i;
  }
  n(CSs, "optionalMemberExpression");
  function wSs(t, e, s) {
    let r = {
      type: "OptionalCallExpression",
      callee: t,
      arguments: e,
      optional: s
    }, i = ne.OptionalCallExpression;
    return P(i.callee, r, "callee", t, 1), P(i.arguments, r, "arguments", e, 1), P(i.optional, r, "optional", s), r;
  }
  n(wSs, "optionalCallExpression");
  function ISs(t, e = null, s = null, r = null, i = !1, a = !1) {
    let o = {
      type: "ClassProperty",
      key: t,
      value: e,
      typeAnnotation: s,
      decorators: r,
      computed: i,
      static: a
    }, l = ne.ClassProperty;
    return P(l.key, o, "key", t, 1), P(l.value, o, "value", e, 1), P(l.typeAnnotation, o, "typeAnnotation", s, 1), P(l.decorators, o, "decor\
ators", r, 1), P(l.computed, o, "computed", i), P(l.static, o, "static", a), o;
  }
  n(ISs, "classProperty");
  function NSs(t, e = null, s = null, r = null, i = !1, a = !1) {
    let o = {
      type: "ClassAccessorProperty",
      key: t,
      value: e,
      typeAnnotation: s,
      decorators: r,
      computed: i,
      static: a
    }, l = ne.ClassAccessorProperty;
    return P(l.key, o, "key", t, 1), P(l.value, o, "value", e, 1), P(l.typeAnnotation, o, "typeAnnotation", s, 1), P(l.decorators, o, "decor\
ators", r, 1), P(l.computed, o, "computed", i), P(l.static, o, "static", a), o;
  }
  n(NSs, "classAccessorProperty");
  function kSs(t, e = null, s = null, r = !1) {
    let i = {
      type: "ClassPrivateProperty",
      key: t,
      value: e,
      decorators: s,
      static: r
    }, a = ne.ClassPrivateProperty;
    return P(a.key, i, "key", t, 1), P(a.value, i, "value", e, 1), P(a.decorators, i, "decorators", s, 1), P(a.static, i, "static", r), i;
  }
  n(kSs, "classPrivateProperty");
  function DSs(t = "method", e, s, r, i = !1) {
    let a = {
      type: "ClassPrivateMethod",
      kind: t,
      key: e,
      params: s,
      body: r,
      static: i
    }, o = ne.ClassPrivateMethod;
    return P(o.kind, a, "kind", t), P(o.key, a, "key", e, 1), P(o.params, a, "params", s, 1), P(o.body, a, "body", r, 1), P(o.static, a, "st\
atic", i), a;
  }
  n(DSs, "classPrivateMethod");
  function OSs(t) {
    let e = {
      type: "PrivateName",
      id: t
    }, s = ne.PrivateName;
    return P(s.id, e, "id", t, 1), e;
  }
  n(OSs, "privateName");
  function _Ss(t) {
    let e = {
      type: "StaticBlock",
      body: t
    }, s = ne.StaticBlock;
    return P(s.body, e, "body", t, 1), e;
  }
  n(_Ss, "staticBlock");
  function LSs() {
    return {
      type: "AnyTypeAnnotation"
    };
  }
  n(LSs, "anyTypeAnnotation");
  function BSs(t) {
    let e = {
      type: "ArrayTypeAnnotation",
      elementType: t
    }, s = ne.ArrayTypeAnnotation;
    return P(s.elementType, e, "elementType", t, 1), e;
  }
  n(BSs, "arrayTypeAnnotation");
  function MSs() {
    return {
      type: "BooleanTypeAnnotation"
    };
  }
  n(MSs, "booleanTypeAnnotation");
  function FSs(t) {
    let e = {
      type: "BooleanLiteralTypeAnnotation",
      value: t
    }, s = ne.BooleanLiteralTypeAnnotation;
    return P(s.value, e, "value", t), e;
  }
  n(FSs, "booleanLiteralTypeAnnotation");
  function jSs() {
    return {
      type: "NullLiteralTypeAnnotation"
    };
  }
  n(jSs, "nullLiteralTypeAnnotation");
  function RSs(t, e = null) {
    let s = {
      type: "ClassImplements",
      id: t,
      typeParameters: e
    }, r = ne.ClassImplements;
    return P(r.id, s, "id", t, 1), P(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(RSs, "classImplements");
  function qSs(t, e = null, s = null, r) {
    let i = {
      type: "DeclareClass",
      id: t,
      typeParameters: e,
      extends: s,
      body: r
    }, a = ne.DeclareClass;
    return P(a.id, i, "id", t, 1), P(a.typeParameters, i, "typeParameters", e, 1), P(a.extends, i, "extends", s, 1), P(a.body, i, "body", r,
    1), i;
  }
  n(qSs, "declareClass");
  function USs(t) {
    let e = {
      type: "DeclareFunction",
      id: t
    }, s = ne.DeclareFunction;
    return P(s.id, e, "id", t, 1), e;
  }
  n(USs, "declareFunction");
  function KSs(t, e = null, s = null, r) {
    let i = {
      type: "DeclareInterface",
      id: t,
      typeParameters: e,
      extends: s,
      body: r
    }, a = ne.DeclareInterface;
    return P(a.id, i, "id", t, 1), P(a.typeParameters, i, "typeParameters", e, 1), P(a.extends, i, "extends", s, 1), P(a.body, i, "body", r,
    1), i;
  }
  n(KSs, "declareInterface");
  function VSs(t, e, s = null) {
    let r = {
      type: "DeclareModule",
      id: t,
      body: e,
      kind: s
    }, i = ne.DeclareModule;
    return P(i.id, r, "id", t, 1), P(i.body, r, "body", e, 1), P(i.kind, r, "kind", s), r;
  }
  n(VSs, "declareModule");
  function WSs(t) {
    let e = {
      type: "DeclareModuleExports",
      typeAnnotation: t
    }, s = ne.DeclareModuleExports;
    return P(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(WSs, "declareModuleExports");
  function $Ss(t, e = null, s) {
    let r = {
      type: "DeclareTypeAlias",
      id: t,
      typeParameters: e,
      right: s
    }, i = ne.DeclareTypeAlias;
    return P(i.id, r, "id", t, 1), P(i.typeParameters, r, "typeParameters", e, 1), P(i.right, r, "right", s, 1), r;
  }
  n($Ss, "declareTypeAlias");
  function HSs(t, e = null, s = null) {
    let r = {
      type: "DeclareOpaqueType",
      id: t,
      typeParameters: e,
      supertype: s
    }, i = ne.DeclareOpaqueType;
    return P(i.id, r, "id", t, 1), P(i.typeParameters, r, "typeParameters", e, 1), P(i.supertype, r, "supertype", s, 1), r;
  }
  n(HSs, "declareOpaqueType");
  function JSs(t) {
    let e = {
      type: "DeclareVariable",
      id: t
    }, s = ne.DeclareVariable;
    return P(s.id, e, "id", t, 1), e;
  }
  n(JSs, "declareVariable");
  function YSs(t = null, e = null, s = null, r = null) {
    let i = {
      type: "DeclareExportDeclaration",
      declaration: t,
      specifiers: e,
      source: s,
      attributes: r
    }, a = ne.DeclareExportDeclaration;
    return P(a.declaration, i, "declaration", t, 1), P(a.specifiers, i, "specifiers", e, 1), P(a.source, i, "source", s, 1), P(a.attributes,
    i, "attributes", r, 1), i;
  }
  n(YSs, "declareExportDeclaration");
  function XSs(t, e = null) {
    let s = {
      type: "DeclareExportAllDeclaration",
      source: t,
      attributes: e
    }, r = ne.DeclareExportAllDeclaration;
    return P(r.source, s, "source", t, 1), P(r.attributes, s, "attributes", e, 1), s;
  }
  n(XSs, "declareExportAllDeclaration");
  function zSs(t) {
    let e = {
      type: "DeclaredPredicate",
      value: t
    }, s = ne.DeclaredPredicate;
    return P(s.value, e, "value", t, 1), e;
  }
  n(zSs, "declaredPredicate");
  function GSs() {
    return {
      type: "ExistsTypeAnnotation"
    };
  }
  n(GSs, "existsTypeAnnotation");
  function QSs(t = null, e, s = null, r) {
    let i = {
      type: "FunctionTypeAnnotation",
      typeParameters: t,
      params: e,
      rest: s,
      returnType: r
    }, a = ne.FunctionTypeAnnotation;
    return P(a.typeParameters, i, "typeParameters", t, 1), P(a.params, i, "params", e, 1), P(a.rest, i, "rest", s, 1), P(a.returnType, i, "r\
eturnType", r, 1), i;
  }
  n(QSs, "functionTypeAnnotation");
  function ZSs(t = null, e) {
    let s = {
      type: "FunctionTypeParam",
      name: t,
      typeAnnotation: e
    }, r = ne.FunctionTypeParam;
    return P(r.name, s, "name", t, 1), P(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(ZSs, "functionTypeParam");
  function ePs(t, e = null) {
    let s = {
      type: "GenericTypeAnnotation",
      id: t,
      typeParameters: e
    }, r = ne.GenericTypeAnnotation;
    return P(r.id, s, "id", t, 1), P(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(ePs, "genericTypeAnnotation");
  function tPs() {
    return {
      type: "InferredPredicate"
    };
  }
  n(tPs, "inferredPredicate");
  function sPs(t, e = null) {
    let s = {
      type: "InterfaceExtends",
      id: t,
      typeParameters: e
    }, r = ne.InterfaceExtends;
    return P(r.id, s, "id", t, 1), P(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(sPs, "interfaceExtends");
  function rPs(t, e = null, s = null, r) {
    let i = {
      type: "InterfaceDeclaration",
      id: t,
      typeParameters: e,
      extends: s,
      body: r
    }, a = ne.InterfaceDeclaration;
    return P(a.id, i, "id", t, 1), P(a.typeParameters, i, "typeParameters", e, 1), P(a.extends, i, "extends", s, 1), P(a.body, i, "body", r,
    1), i;
  }
  n(rPs, "interfaceDeclaration");
  function iPs(t = null, e) {
    let s = {
      type: "InterfaceTypeAnnotation",
      extends: t,
      body: e
    }, r = ne.InterfaceTypeAnnotation;
    return P(r.extends, s, "extends", t, 1), P(r.body, s, "body", e, 1), s;
  }
  n(iPs, "interfaceTypeAnnotation");
  function nPs(t) {
    let e = {
      type: "IntersectionTypeAnnotation",
      types: t
    }, s = ne.IntersectionTypeAnnotation;
    return P(s.types, e, "types", t, 1), e;
  }
  n(nPs, "intersectionTypeAnnotation");
  function aPs() {
    return {
      type: "MixedTypeAnnotation"
    };
  }
  n(aPs, "mixedTypeAnnotation");
  function oPs() {
    return {
      type: "EmptyTypeAnnotation"
    };
  }
  n(oPs, "emptyTypeAnnotation");
  function lPs(t) {
    let e = {
      type: "NullableTypeAnnotation",
      typeAnnotation: t
    }, s = ne.NullableTypeAnnotation;
    return P(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(lPs, "nullableTypeAnnotation");
  function uPs(t) {
    let e = {
      type: "NumberLiteralTypeAnnotation",
      value: t
    }, s = ne.NumberLiteralTypeAnnotation;
    return P(s.value, e, "value", t), e;
  }
  n(uPs, "numberLiteralTypeAnnotation");
  function cPs() {
    return {
      type: "NumberTypeAnnotation"
    };
  }
  n(cPs, "numberTypeAnnotation");
  function pPs(t, e = [], s = [], r = [], i = !1) {
    let a = {
      type: "ObjectTypeAnnotation",
      properties: t,
      indexers: e,
      callProperties: s,
      internalSlots: r,
      exact: i
    }, o = ne.ObjectTypeAnnotation;
    return P(o.properties, a, "properties", t, 1), P(o.indexers, a, "indexers", e, 1), P(o.callProperties, a, "callProperties", s, 1), P(o.internalSlots,
    a, "internalSlots", r, 1), P(o.exact, a, "exact", i), a;
  }
  n(pPs, "objectTypeAnnotation");
  function hPs(t, e, s, r, i) {
    let a = {
      type: "ObjectTypeInternalSlot",
      id: t,
      value: e,
      optional: s,
      static: r,
      method: i
    }, o = ne.ObjectTypeInternalSlot;
    return P(o.id, a, "id", t, 1), P(o.value, a, "value", e, 1), P(o.optional, a, "optional", s), P(o.static, a, "static", r), P(o.method, a,
    "method", i), a;
  }
  n(hPs, "objectTypeInternalSlot");
  function fPs(t) {
    let e = {
      type: "ObjectTypeCallProperty",
      value: t,
      static: null
    }, s = ne.ObjectTypeCallProperty;
    return P(s.value, e, "value", t, 1), e;
  }
  n(fPs, "objectTypeCallProperty");
  function dPs(t = null, e, s, r = null) {
    let i = {
      type: "ObjectTypeIndexer",
      id: t,
      key: e,
      value: s,
      variance: r,
      static: null
    }, a = ne.ObjectTypeIndexer;
    return P(a.id, i, "id", t, 1), P(a.key, i, "key", e, 1), P(a.value, i, "value", s, 1), P(a.variance, i, "variance", r, 1), i;
  }
  n(dPs, "objectTypeIndexer");
  function mPs(t, e, s = null) {
    let r = {
      type: "ObjectTypeProperty",
      key: t,
      value: e,
      variance: s,
      kind: null,
      method: null,
      optional: null,
      proto: null,
      static: null
    }, i = ne.ObjectTypeProperty;
    return P(i.key, r, "key", t, 1), P(i.value, r, "value", e, 1), P(i.variance, r, "variance", s, 1), r;
  }
  n(mPs, "objectTypeProperty");
  function yPs(t) {
    let e = {
      type: "ObjectTypeSpreadProperty",
      argument: t
    }, s = ne.ObjectTypeSpreadProperty;
    return P(s.argument, e, "argument", t, 1), e;
  }
  n(yPs, "objectTypeSpreadProperty");
  function gPs(t, e = null, s = null, r) {
    let i = {
      type: "OpaqueType",
      id: t,
      typeParameters: e,
      supertype: s,
      impltype: r
    }, a = ne.OpaqueType;
    return P(a.id, i, "id", t, 1), P(a.typeParameters, i, "typeParameters", e, 1), P(a.supertype, i, "supertype", s, 1), P(a.impltype, i, "i\
mpltype", r, 1), i;
  }
  n(gPs, "opaqueType");
  function TPs(t, e) {
    let s = {
      type: "QualifiedTypeIdentifier",
      id: t,
      qualification: e
    }, r = ne.QualifiedTypeIdentifier;
    return P(r.id, s, "id", t, 1), P(r.qualification, s, "qualification", e, 1), s;
  }
  n(TPs, "qualifiedTypeIdentifier");
  function bPs(t) {
    let e = {
      type: "StringLiteralTypeAnnotation",
      value: t
    }, s = ne.StringLiteralTypeAnnotation;
    return P(s.value, e, "value", t), e;
  }
  n(bPs, "stringLiteralTypeAnnotation");
  function xPs() {
    return {
      type: "StringTypeAnnotation"
    };
  }
  n(xPs, "stringTypeAnnotation");
  function SPs() {
    return {
      type: "SymbolTypeAnnotation"
    };
  }
  n(SPs, "symbolTypeAnnotation");
  function PPs() {
    return {
      type: "ThisTypeAnnotation"
    };
  }
  n(PPs, "thisTypeAnnotation");
  function EPs(t) {
    let e = {
      type: "TupleTypeAnnotation",
      types: t
    }, s = ne.TupleTypeAnnotation;
    return P(s.types, e, "types", t, 1), e;
  }
  n(EPs, "tupleTypeAnnotation");
  function APs(t) {
    let e = {
      type: "TypeofTypeAnnotation",
      argument: t
    }, s = ne.TypeofTypeAnnotation;
    return P(s.argument, e, "argument", t, 1), e;
  }
  n(APs, "typeofTypeAnnotation");
  function vPs(t, e = null, s) {
    let r = {
      type: "TypeAlias",
      id: t,
      typeParameters: e,
      right: s
    }, i = ne.TypeAlias;
    return P(i.id, r, "id", t, 1), P(i.typeParameters, r, "typeParameters", e, 1), P(i.right, r, "right", s, 1), r;
  }
  n(vPs, "typeAlias");
  function CPs(t) {
    let e = {
      type: "TypeAnnotation",
      typeAnnotation: t
    }, s = ne.TypeAnnotation;
    return P(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(CPs, "typeAnnotation");
  function wPs(t, e) {
    let s = {
      type: "TypeCastExpression",
      expression: t,
      typeAnnotation: e
    }, r = ne.TypeCastExpression;
    return P(r.expression, s, "expression", t, 1), P(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(wPs, "typeCastExpression");
  function IPs(t = null, e = null, s = null) {
    let r = {
      type: "TypeParameter",
      bound: t,
      default: e,
      variance: s,
      name: null
    }, i = ne.TypeParameter;
    return P(i.bound, r, "bound", t, 1), P(i.default, r, "default", e, 1), P(i.variance, r, "variance", s, 1), r;
  }
  n(IPs, "typeParameter");
  function NPs(t) {
    let e = {
      type: "TypeParameterDeclaration",
      params: t
    }, s = ne.TypeParameterDeclaration;
    return P(s.params, e, "params", t, 1), e;
  }
  n(NPs, "typeParameterDeclaration");
  function kPs(t) {
    let e = {
      type: "TypeParameterInstantiation",
      params: t
    }, s = ne.TypeParameterInstantiation;
    return P(s.params, e, "params", t, 1), e;
  }
  n(kPs, "typeParameterInstantiation");
  function DPs(t) {
    let e = {
      type: "UnionTypeAnnotation",
      types: t
    }, s = ne.UnionTypeAnnotation;
    return P(s.types, e, "types", t, 1), e;
  }
  n(DPs, "unionTypeAnnotation");
  function OPs(t) {
    let e = {
      type: "Variance",
      kind: t
    }, s = ne.Variance;
    return P(s.kind, e, "kind", t), e;
  }
  n(OPs, "variance");
  function _Ps() {
    return {
      type: "VoidTypeAnnotation"
    };
  }
  n(_Ps, "voidTypeAnnotation");
  function LPs(t, e) {
    let s = {
      type: "EnumDeclaration",
      id: t,
      body: e
    }, r = ne.EnumDeclaration;
    return P(r.id, s, "id", t, 1), P(r.body, s, "body", e, 1), s;
  }
  n(LPs, "enumDeclaration");
  function BPs(t) {
    let e = {
      type: "EnumBooleanBody",
      members: t,
      explicitType: null,
      hasUnknownMembers: null
    }, s = ne.EnumBooleanBody;
    return P(s.members, e, "members", t, 1), e;
  }
  n(BPs, "enumBooleanBody");
  function MPs(t) {
    let e = {
      type: "EnumNumberBody",
      members: t,
      explicitType: null,
      hasUnknownMembers: null
    }, s = ne.EnumNumberBody;
    return P(s.members, e, "members", t, 1), e;
  }
  n(MPs, "enumNumberBody");
  function FPs(t) {
    let e = {
      type: "EnumStringBody",
      members: t,
      explicitType: null,
      hasUnknownMembers: null
    }, s = ne.EnumStringBody;
    return P(s.members, e, "members", t, 1), e;
  }
  n(FPs, "enumStringBody");
  function jPs(t) {
    let e = {
      type: "EnumSymbolBody",
      members: t,
      hasUnknownMembers: null
    }, s = ne.EnumSymbolBody;
    return P(s.members, e, "members", t, 1), e;
  }
  n(jPs, "enumSymbolBody");
  function RPs(t) {
    let e = {
      type: "EnumBooleanMember",
      id: t,
      init: null
    }, s = ne.EnumBooleanMember;
    return P(s.id, e, "id", t, 1), e;
  }
  n(RPs, "enumBooleanMember");
  function qPs(t, e) {
    let s = {
      type: "EnumNumberMember",
      id: t,
      init: e
    }, r = ne.EnumNumberMember;
    return P(r.id, s, "id", t, 1), P(r.init, s, "init", e, 1), s;
  }
  n(qPs, "enumNumberMember");
  function UPs(t, e) {
    let s = {
      type: "EnumStringMember",
      id: t,
      init: e
    }, r = ne.EnumStringMember;
    return P(r.id, s, "id", t, 1), P(r.init, s, "init", e, 1), s;
  }
  n(UPs, "enumStringMember");
  function KPs(t) {
    let e = {
      type: "EnumDefaultedMember",
      id: t
    }, s = ne.EnumDefaultedMember;
    return P(s.id, e, "id", t, 1), e;
  }
  n(KPs, "enumDefaultedMember");
  function VPs(t, e) {
    let s = {
      type: "IndexedAccessType",
      objectType: t,
      indexType: e
    }, r = ne.IndexedAccessType;
    return P(r.objectType, s, "objectType", t, 1), P(r.indexType, s, "indexType", e, 1), s;
  }
  n(VPs, "indexedAccessType");
  function WPs(t, e) {
    let s = {
      type: "OptionalIndexedAccessType",
      objectType: t,
      indexType: e,
      optional: null
    }, r = ne.OptionalIndexedAccessType;
    return P(r.objectType, s, "objectType", t, 1), P(r.indexType, s, "indexType", e, 1), s;
  }
  n(WPs, "optionalIndexedAccessType");
  function $Ps(t, e = null) {
    let s = {
      type: "JSXAttribute",
      name: t,
      value: e
    }, r = ne.JSXAttribute;
    return P(r.name, s, "name", t, 1), P(r.value, s, "value", e, 1), s;
  }
  n($Ps, "jsxAttribute");
  function HPs(t) {
    let e = {
      type: "JSXClosingElement",
      name: t
    }, s = ne.JSXClosingElement;
    return P(s.name, e, "name", t, 1), e;
  }
  n(HPs, "jsxClosingElement");
  function JPs(t, e = null, s, r = null) {
    let i = {
      type: "JSXElement",
      openingElement: t,
      closingElement: e,
      children: s,
      selfClosing: r
    }, a = ne.JSXElement;
    return P(a.openingElement, i, "openingElement", t, 1), P(a.closingElement, i, "closingElement", e, 1), P(a.children, i, "children", s, 1),
    P(a.selfClosing, i, "selfClosing", r), i;
  }
  n(JPs, "jsxElement");
  function YPs() {
    return {
      type: "JSXEmptyExpression"
    };
  }
  n(YPs, "jsxEmptyExpression");
  function XPs(t) {
    let e = {
      type: "JSXExpressionContainer",
      expression: t
    }, s = ne.JSXExpressionContainer;
    return P(s.expression, e, "expression", t, 1), e;
  }
  n(XPs, "jsxExpressionContainer");
  function zPs(t) {
    let e = {
      type: "JSXSpreadChild",
      expression: t
    }, s = ne.JSXSpreadChild;
    return P(s.expression, e, "expression", t, 1), e;
  }
  n(zPs, "jsxSpreadChild");
  function GPs(t) {
    let e = {
      type: "JSXIdentifier",
      name: t
    }, s = ne.JSXIdentifier;
    return P(s.name, e, "name", t), e;
  }
  n(GPs, "jsxIdentifier");
  function QPs(t, e) {
    let s = {
      type: "JSXMemberExpression",
      object: t,
      property: e
    }, r = ne.JSXMemberExpression;
    return P(r.object, s, "object", t, 1), P(r.property, s, "property", e, 1), s;
  }
  n(QPs, "jsxMemberExpression");
  function ZPs(t, e) {
    let s = {
      type: "JSXNamespacedName",
      namespace: t,
      name: e
    }, r = ne.JSXNamespacedName;
    return P(r.namespace, s, "namespace", t, 1), P(r.name, s, "name", e, 1), s;
  }
  n(ZPs, "jsxNamespacedName");
  function eEs(t, e, s = !1) {
    let r = {
      type: "JSXOpeningElement",
      name: t,
      attributes: e,
      selfClosing: s
    }, i = ne.JSXOpeningElement;
    return P(i.name, r, "name", t, 1), P(i.attributes, r, "attributes", e, 1), P(i.selfClosing, r, "selfClosing", s), r;
  }
  n(eEs, "jsxOpeningElement");
  function tEs(t) {
    let e = {
      type: "JSXSpreadAttribute",
      argument: t
    }, s = ne.JSXSpreadAttribute;
    return P(s.argument, e, "argument", t, 1), e;
  }
  n(tEs, "jsxSpreadAttribute");
  function sEs(t) {
    let e = {
      type: "JSXText",
      value: t
    }, s = ne.JSXText;
    return P(s.value, e, "value", t), e;
  }
  n(sEs, "jsxText");
  function rEs(t, e, s) {
    let r = {
      type: "JSXFragment",
      openingFragment: t,
      closingFragment: e,
      children: s
    }, i = ne.JSXFragment;
    return P(i.openingFragment, r, "openingFragment", t, 1), P(i.closingFragment, r, "closingFragment", e, 1), P(i.children, r, "children", s,
    1), r;
  }
  n(rEs, "jsxFragment");
  function iEs() {
    return {
      type: "JSXOpeningFragment"
    };
  }
  n(iEs, "jsxOpeningFragment");
  function nEs() {
    return {
      type: "JSXClosingFragment"
    };
  }
  n(nEs, "jsxClosingFragment");
  function aEs() {
    return {
      type: "Noop"
    };
  }
  n(aEs, "noop");
  function oEs(t, e) {
    let s = {
      type: "Placeholder",
      expectedNode: t,
      name: e
    }, r = ne.Placeholder;
    return P(r.expectedNode, s, "expectedNode", t), P(r.name, s, "name", e, 1), s;
  }
  n(oEs, "placeholder");
  function lEs(t) {
    let e = {
      type: "V8IntrinsicIdentifier",
      name: t
    }, s = ne.V8IntrinsicIdentifier;
    return P(s.name, e, "name", t), e;
  }
  n(lEs, "v8IntrinsicIdentifier");
  function uEs() {
    return {
      type: "ArgumentPlaceholder"
    };
  }
  n(uEs, "argumentPlaceholder");
  function cEs(t, e) {
    let s = {
      type: "BindExpression",
      object: t,
      callee: e
    }, r = ne.BindExpression;
    return P(r.object, s, "object", t, 1), P(r.callee, s, "callee", e, 1), s;
  }
  n(cEs, "bindExpression");
  function pEs(t, e) {
    let s = {
      type: "ImportAttribute",
      key: t,
      value: e
    }, r = ne.ImportAttribute;
    return P(r.key, s, "key", t, 1), P(r.value, s, "value", e, 1), s;
  }
  n(pEs, "importAttribute");
  function hEs(t) {
    let e = {
      type: "Decorator",
      expression: t
    }, s = ne.Decorator;
    return P(s.expression, e, "expression", t, 1), e;
  }
  n(hEs, "decorator");
  function fEs(t, e = !1) {
    let s = {
      type: "DoExpression",
      body: t,
      async: e
    }, r = ne.DoExpression;
    return P(r.body, s, "body", t, 1), P(r.async, s, "async", e), s;
  }
  n(fEs, "doExpression");
  function dEs(t) {
    let e = {
      type: "ExportDefaultSpecifier",
      exported: t
    }, s = ne.ExportDefaultSpecifier;
    return P(s.exported, e, "exported", t, 1), e;
  }
  n(dEs, "exportDefaultSpecifier");
  function mEs(t) {
    let e = {
      type: "RecordExpression",
      properties: t
    }, s = ne.RecordExpression;
    return P(s.properties, e, "properties", t, 1), e;
  }
  n(mEs, "recordExpression");
  function yEs(t = []) {
    let e = {
      type: "TupleExpression",
      elements: t
    }, s = ne.TupleExpression;
    return P(s.elements, e, "elements", t, 1), e;
  }
  n(yEs, "tupleExpression");
  function gEs(t) {
    let e = {
      type: "DecimalLiteral",
      value: t
    }, s = ne.DecimalLiteral;
    return P(s.value, e, "value", t), e;
  }
  n(gEs, "decimalLiteral");
  function TEs(t) {
    let e = {
      type: "ModuleExpression",
      body: t
    }, s = ne.ModuleExpression;
    return P(s.body, e, "body", t, 1), e;
  }
  n(TEs, "moduleExpression");
  function bEs() {
    return {
      type: "TopicReference"
    };
  }
  n(bEs, "topicReference");
  function xEs(t) {
    let e = {
      type: "PipelineTopicExpression",
      expression: t
    }, s = ne.PipelineTopicExpression;
    return P(s.expression, e, "expression", t, 1), e;
  }
  n(xEs, "pipelineTopicExpression");
  function SEs(t) {
    let e = {
      type: "PipelineBareFunction",
      callee: t
    }, s = ne.PipelineBareFunction;
    return P(s.callee, e, "callee", t, 1), e;
  }
  n(SEs, "pipelineBareFunction");
  function PEs() {
    return {
      type: "PipelinePrimaryTopicReference"
    };
  }
  n(PEs, "pipelinePrimaryTopicReference");
  function EEs(t) {
    let e = {
      type: "TSParameterProperty",
      parameter: t
    }, s = ne.TSParameterProperty;
    return P(s.parameter, e, "parameter", t, 1), e;
  }
  n(EEs, "tsParameterProperty");
  function AEs(t = null, e = null, s, r = null) {
    let i = {
      type: "TSDeclareFunction",
      id: t,
      typeParameters: e,
      params: s,
      returnType: r
    }, a = ne.TSDeclareFunction;
    return P(a.id, i, "id", t, 1), P(a.typeParameters, i, "typeParameters", e, 1), P(a.params, i, "params", s, 1), P(a.returnType, i, "retur\
nType", r, 1), i;
  }
  n(AEs, "tsDeclareFunction");
  function vEs(t = null, e, s = null, r, i = null) {
    let a = {
      type: "TSDeclareMethod",
      decorators: t,
      key: e,
      typeParameters: s,
      params: r,
      returnType: i
    }, o = ne.TSDeclareMethod;
    return P(o.decorators, a, "decorators", t, 1), P(o.key, a, "key", e, 1), P(o.typeParameters, a, "typeParameters", s, 1), P(o.params, a, "\
params", r, 1), P(o.returnType, a, "returnType", i, 1), a;
  }
  n(vEs, "tsDeclareMethod");
  function CEs(t, e) {
    let s = {
      type: "TSQualifiedName",
      left: t,
      right: e
    }, r = ne.TSQualifiedName;
    return P(r.left, s, "left", t, 1), P(r.right, s, "right", e, 1), s;
  }
  n(CEs, "tsQualifiedName");
  function wEs(t = null, e, s = null) {
    let r = {
      type: "TSCallSignatureDeclaration",
      typeParameters: t,
      parameters: e,
      typeAnnotation: s
    }, i = ne.TSCallSignatureDeclaration;
    return P(i.typeParameters, r, "typeParameters", t, 1), P(i.parameters, r, "parameters", e, 1), P(i.typeAnnotation, r, "typeAnnotation", s,
    1), r;
  }
  n(wEs, "tsCallSignatureDeclaration");
  function IEs(t = null, e, s = null) {
    let r = {
      type: "TSConstructSignatureDeclaration",
      typeParameters: t,
      parameters: e,
      typeAnnotation: s
    }, i = ne.TSConstructSignatureDeclaration;
    return P(i.typeParameters, r, "typeParameters", t, 1), P(i.parameters, r, "parameters", e, 1), P(i.typeAnnotation, r, "typeAnnotation", s,
    1), r;
  }
  n(IEs, "tsConstructSignatureDeclaration");
  function NEs(t, e = null) {
    let s = {
      type: "TSPropertySignature",
      key: t,
      typeAnnotation: e,
      kind: null
    }, r = ne.TSPropertySignature;
    return P(r.key, s, "key", t, 1), P(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(NEs, "tsPropertySignature");
  function kEs(t, e = null, s, r = null) {
    let i = {
      type: "TSMethodSignature",
      key: t,
      typeParameters: e,
      parameters: s,
      typeAnnotation: r,
      kind: null
    }, a = ne.TSMethodSignature;
    return P(a.key, i, "key", t, 1), P(a.typeParameters, i, "typeParameters", e, 1), P(a.parameters, i, "parameters", s, 1), P(a.typeAnnotation,
    i, "typeAnnotation", r, 1), i;
  }
  n(kEs, "tsMethodSignature");
  function DEs(t, e = null) {
    let s = {
      type: "TSIndexSignature",
      parameters: t,
      typeAnnotation: e
    }, r = ne.TSIndexSignature;
    return P(r.parameters, s, "parameters", t, 1), P(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(DEs, "tsIndexSignature");
  function OEs() {
    return {
      type: "TSAnyKeyword"
    };
  }
  n(OEs, "tsAnyKeyword");
  function _Es() {
    return {
      type: "TSBooleanKeyword"
    };
  }
  n(_Es, "tsBooleanKeyword");
  function LEs() {
    return {
      type: "TSBigIntKeyword"
    };
  }
  n(LEs, "tsBigIntKeyword");
  function BEs() {
    return {
      type: "TSIntrinsicKeyword"
    };
  }
  n(BEs, "tsIntrinsicKeyword");
  function MEs() {
    return {
      type: "TSNeverKeyword"
    };
  }
  n(MEs, "tsNeverKeyword");
  function FEs() {
    return {
      type: "TSNullKeyword"
    };
  }
  n(FEs, "tsNullKeyword");
  function jEs() {
    return {
      type: "TSNumberKeyword"
    };
  }
  n(jEs, "tsNumberKeyword");
  function REs() {
    return {
      type: "TSObjectKeyword"
    };
  }
  n(REs, "tsObjectKeyword");
  function qEs() {
    return {
      type: "TSStringKeyword"
    };
  }
  n(qEs, "tsStringKeyword");
  function UEs() {
    return {
      type: "TSSymbolKeyword"
    };
  }
  n(UEs, "tsSymbolKeyword");
  function KEs() {
    return {
      type: "TSUndefinedKeyword"
    };
  }
  n(KEs, "tsUndefinedKeyword");
  function VEs() {
    return {
      type: "TSUnknownKeyword"
    };
  }
  n(VEs, "tsUnknownKeyword");
  function WEs() {
    return {
      type: "TSVoidKeyword"
    };
  }
  n(WEs, "tsVoidKeyword");
  function $Es() {
    return {
      type: "TSThisType"
    };
  }
  n($Es, "tsThisType");
  function HEs(t = null, e, s = null) {
    let r = {
      type: "TSFunctionType",
      typeParameters: t,
      parameters: e,
      typeAnnotation: s
    }, i = ne.TSFunctionType;
    return P(i.typeParameters, r, "typeParameters", t, 1), P(i.parameters, r, "parameters", e, 1), P(i.typeAnnotation, r, "typeAnnotation", s,
    1), r;
  }
  n(HEs, "tsFunctionType");
  function JEs(t = null, e, s = null) {
    let r = {
      type: "TSConstructorType",
      typeParameters: t,
      parameters: e,
      typeAnnotation: s
    }, i = ne.TSConstructorType;
    return P(i.typeParameters, r, "typeParameters", t, 1), P(i.parameters, r, "parameters", e, 1), P(i.typeAnnotation, r, "typeAnnotation", s,
    1), r;
  }
  n(JEs, "tsConstructorType");
  function YEs(t, e = null) {
    let s = {
      type: "TSTypeReference",
      typeName: t,
      typeParameters: e
    }, r = ne.TSTypeReference;
    return P(r.typeName, s, "typeName", t, 1), P(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(YEs, "tsTypeReference");
  function XEs(t, e = null, s = null) {
    let r = {
      type: "TSTypePredicate",
      parameterName: t,
      typeAnnotation: e,
      asserts: s
    }, i = ne.TSTypePredicate;
    return P(i.parameterName, r, "parameterName", t, 1), P(i.typeAnnotation, r, "typeAnnotation", e, 1), P(i.asserts, r, "asserts", s), r;
  }
  n(XEs, "tsTypePredicate");
  function zEs(t, e = null) {
    let s = {
      type: "TSTypeQuery",
      exprName: t,
      typeParameters: e
    }, r = ne.TSTypeQuery;
    return P(r.exprName, s, "exprName", t, 1), P(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(zEs, "tsTypeQuery");
  function GEs(t) {
    let e = {
      type: "TSTypeLiteral",
      members: t
    }, s = ne.TSTypeLiteral;
    return P(s.members, e, "members", t, 1), e;
  }
  n(GEs, "tsTypeLiteral");
  function QEs(t) {
    let e = {
      type: "TSArrayType",
      elementType: t
    }, s = ne.TSArrayType;
    return P(s.elementType, e, "elementType", t, 1), e;
  }
  n(QEs, "tsArrayType");
  function ZEs(t) {
    let e = {
      type: "TSTupleType",
      elementTypes: t
    }, s = ne.TSTupleType;
    return P(s.elementTypes, e, "elementTypes", t, 1), e;
  }
  n(ZEs, "tsTupleType");
  function eAs(t) {
    let e = {
      type: "TSOptionalType",
      typeAnnotation: t
    }, s = ne.TSOptionalType;
    return P(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(eAs, "tsOptionalType");
  function tAs(t) {
    let e = {
      type: "TSRestType",
      typeAnnotation: t
    }, s = ne.TSRestType;
    return P(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(tAs, "tsRestType");
  function sAs(t, e, s = !1) {
    let r = {
      type: "TSNamedTupleMember",
      label: t,
      elementType: e,
      optional: s
    }, i = ne.TSNamedTupleMember;
    return P(i.label, r, "label", t, 1), P(i.elementType, r, "elementType", e, 1), P(i.optional, r, "optional", s), r;
  }
  n(sAs, "tsNamedTupleMember");
  function rAs(t) {
    let e = {
      type: "TSUnionType",
      types: t
    }, s = ne.TSUnionType;
    return P(s.types, e, "types", t, 1), e;
  }
  n(rAs, "tsUnionType");
  function iAs(t) {
    let e = {
      type: "TSIntersectionType",
      types: t
    }, s = ne.TSIntersectionType;
    return P(s.types, e, "types", t, 1), e;
  }
  n(iAs, "tsIntersectionType");
  function nAs(t, e, s, r) {
    let i = {
      type: "TSConditionalType",
      checkType: t,
      extendsType: e,
      trueType: s,
      falseType: r
    }, a = ne.TSConditionalType;
    return P(a.checkType, i, "checkType", t, 1), P(a.extendsType, i, "extendsType", e, 1), P(a.trueType, i, "trueType", s, 1), P(a.falseType,
    i, "falseType", r, 1), i;
  }
  n(nAs, "tsConditionalType");
  function aAs(t) {
    let e = {
      type: "TSInferType",
      typeParameter: t
    }, s = ne.TSInferType;
    return P(s.typeParameter, e, "typeParameter", t, 1), e;
  }
  n(aAs, "tsInferType");
  function oAs(t) {
    let e = {
      type: "TSParenthesizedType",
      typeAnnotation: t
    }, s = ne.TSParenthesizedType;
    return P(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(oAs, "tsParenthesizedType");
  function lAs(t) {
    let e = {
      type: "TSTypeOperator",
      typeAnnotation: t,
      operator: null
    }, s = ne.TSTypeOperator;
    return P(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(lAs, "tsTypeOperator");
  function uAs(t, e) {
    let s = {
      type: "TSIndexedAccessType",
      objectType: t,
      indexType: e
    }, r = ne.TSIndexedAccessType;
    return P(r.objectType, s, "objectType", t, 1), P(r.indexType, s, "indexType", e, 1), s;
  }
  n(uAs, "tsIndexedAccessType");
  function cAs(t, e = null, s = null) {
    let r = {
      type: "TSMappedType",
      typeParameter: t,
      typeAnnotation: e,
      nameType: s
    }, i = ne.TSMappedType;
    return P(i.typeParameter, r, "typeParameter", t, 1), P(i.typeAnnotation, r, "typeAnnotation", e, 1), P(i.nameType, r, "nameType", s, 1),
    r;
  }
  n(cAs, "tsMappedType");
  function pAs(t) {
    let e = {
      type: "TSLiteralType",
      literal: t
    }, s = ne.TSLiteralType;
    return P(s.literal, e, "literal", t, 1), e;
  }
  n(pAs, "tsLiteralType");
  function hAs(t, e = null) {
    let s = {
      type: "TSExpressionWithTypeArguments",
      expression: t,
      typeParameters: e
    }, r = ne.TSExpressionWithTypeArguments;
    return P(r.expression, s, "expression", t, 1), P(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(hAs, "tsExpressionWithTypeArguments");
  function fAs(t, e = null, s = null, r) {
    let i = {
      type: "TSInterfaceDeclaration",
      id: t,
      typeParameters: e,
      extends: s,
      body: r
    }, a = ne.TSInterfaceDeclaration;
    return P(a.id, i, "id", t, 1), P(a.typeParameters, i, "typeParameters", e, 1), P(a.extends, i, "extends", s, 1), P(a.body, i, "body", r,
    1), i;
  }
  n(fAs, "tsInterfaceDeclaration");
  function dAs(t) {
    let e = {
      type: "TSInterfaceBody",
      body: t
    }, s = ne.TSInterfaceBody;
    return P(s.body, e, "body", t, 1), e;
  }
  n(dAs, "tsInterfaceBody");
  function mAs(t, e = null, s) {
    let r = {
      type: "TSTypeAliasDeclaration",
      id: t,
      typeParameters: e,
      typeAnnotation: s
    }, i = ne.TSTypeAliasDeclaration;
    return P(i.id, r, "id", t, 1), P(i.typeParameters, r, "typeParameters", e, 1), P(i.typeAnnotation, r, "typeAnnotation", s, 1), r;
  }
  n(mAs, "tsTypeAliasDeclaration");
  function yAs(t, e = null) {
    let s = {
      type: "TSInstantiationExpression",
      expression: t,
      typeParameters: e
    }, r = ne.TSInstantiationExpression;
    return P(r.expression, s, "expression", t, 1), P(r.typeParameters, s, "typeParameters", e, 1), s;
  }
  n(yAs, "tsInstantiationExpression");
  function gAs(t, e) {
    let s = {
      type: "TSAsExpression",
      expression: t,
      typeAnnotation: e
    }, r = ne.TSAsExpression;
    return P(r.expression, s, "expression", t, 1), P(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(gAs, "tsAsExpression");
  function TAs(t, e) {
    let s = {
      type: "TSSatisfiesExpression",
      expression: t,
      typeAnnotation: e
    }, r = ne.TSSatisfiesExpression;
    return P(r.expression, s, "expression", t, 1), P(r.typeAnnotation, s, "typeAnnotation", e, 1), s;
  }
  n(TAs, "tsSatisfiesExpression");
  function bAs(t, e) {
    let s = {
      type: "TSTypeAssertion",
      typeAnnotation: t,
      expression: e
    }, r = ne.TSTypeAssertion;
    return P(r.typeAnnotation, s, "typeAnnotation", t, 1), P(r.expression, s, "expression", e, 1), s;
  }
  n(bAs, "tsTypeAssertion");
  function xAs(t) {
    let e = {
      type: "TSEnumBody",
      members: t
    }, s = ne.TSEnumBody;
    return P(s.members, e, "members", t, 1), e;
  }
  n(xAs, "tsEnumBody");
  function SAs(t, e) {
    let s = {
      type: "TSEnumDeclaration",
      id: t,
      members: e
    }, r = ne.TSEnumDeclaration;
    return P(r.id, s, "id", t, 1), P(r.members, s, "members", e, 1), s;
  }
  n(SAs, "tsEnumDeclaration");
  function PAs(t, e = null) {
    let s = {
      type: "TSEnumMember",
      id: t,
      initializer: e
    }, r = ne.TSEnumMember;
    return P(r.id, s, "id", t, 1), P(r.initializer, s, "initializer", e, 1), s;
  }
  n(PAs, "tsEnumMember");
  function EAs(t, e) {
    let s = {
      type: "TSModuleDeclaration",
      id: t,
      body: e,
      kind: null
    }, r = ne.TSModuleDeclaration;
    return P(r.id, s, "id", t, 1), P(r.body, s, "body", e, 1), s;
  }
  n(EAs, "tsModuleDeclaration");
  function AAs(t) {
    let e = {
      type: "TSModuleBlock",
      body: t
    }, s = ne.TSModuleBlock;
    return P(s.body, e, "body", t, 1), e;
  }
  n(AAs, "tsModuleBlock");
  function vAs(t, e = null, s = null) {
    let r = {
      type: "TSImportType",
      argument: t,
      qualifier: e,
      typeParameters: s
    }, i = ne.TSImportType;
    return P(i.argument, r, "argument", t, 1), P(i.qualifier, r, "qualifier", e, 1), P(i.typeParameters, r, "typeParameters", s, 1), r;
  }
  n(vAs, "tsImportType");
  function CAs(t, e) {
    let s = {
      type: "TSImportEqualsDeclaration",
      id: t,
      moduleReference: e,
      isExport: null
    }, r = ne.TSImportEqualsDeclaration;
    return P(r.id, s, "id", t, 1), P(r.moduleReference, s, "moduleReference", e, 1), s;
  }
  n(CAs, "tsImportEqualsDeclaration");
  function wAs(t) {
    let e = {
      type: "TSExternalModuleReference",
      expression: t
    }, s = ne.TSExternalModuleReference;
    return P(s.expression, e, "expression", t, 1), e;
  }
  n(wAs, "tsExternalModuleReference");
  function IAs(t) {
    let e = {
      type: "TSNonNullExpression",
      expression: t
    }, s = ne.TSNonNullExpression;
    return P(s.expression, e, "expression", t, 1), e;
  }
  n(IAs, "tsNonNullExpression");
  function NAs(t) {
    let e = {
      type: "TSExportAssignment",
      expression: t
    }, s = ne.TSExportAssignment;
    return P(s.expression, e, "expression", t, 1), e;
  }
  n(NAs, "tsExportAssignment");
  function kAs(t) {
    let e = {
      type: "TSNamespaceExportDeclaration",
      id: t
    }, s = ne.TSNamespaceExportDeclaration;
    return P(s.id, e, "id", t, 1), e;
  }
  n(kAs, "tsNamespaceExportDeclaration");
  function DAs(t) {
    let e = {
      type: "TSTypeAnnotation",
      typeAnnotation: t
    }, s = ne.TSTypeAnnotation;
    return P(s.typeAnnotation, e, "typeAnnotation", t, 1), e;
  }
  n(DAs, "tsTypeAnnotation");
  function OAs(t) {
    let e = {
      type: "TSTypeParameterInstantiation",
      params: t
    }, s = ne.TSTypeParameterInstantiation;
    return P(s.params, e, "params", t, 1), e;
  }
  n(OAs, "tsTypeParameterInstantiation");
  function _As(t) {
    let e = {
      type: "TSTypeParameterDeclaration",
      params: t
    }, s = ne.TSTypeParameterDeclaration;
    return P(s.params, e, "params", t, 1), e;
  }
  n(_As, "tsTypeParameterDeclaration");
  function LAs(t = null, e = null, s) {
    let r = {
      type: "TSTypeParameter",
      constraint: t,
      default: e,
      name: s
    }, i = ne.TSTypeParameter;
    return P(i.constraint, r, "constraint", t, 1), P(i.default, r, "default", e, 1), P(i.name, r, "name", s), r;
  }
  n(LAs, "tsTypeParameter");
  function BAs(t) {
    return (0, _v.default)("NumberLiteral", "NumericLiteral", "The node type "), Ide(t);
  }
  n(BAs, "NumberLiteral");
  function MAs(t, e = "") {
    return (0, _v.default)("RegexLiteral", "RegExpLiteral", "The node type "), Nde(t, e);
  }
  n(MAs, "RegexLiteral");
  function FAs(t) {
    return (0, _v.default)("RestProperty", "RestElement", "The node type "), kde(t);
  }
  n(FAs, "RestProperty");
  function jAs(t) {
    return (0, _v.default)("SpreadProperty", "SpreadElement", "The node type "), Dde(t);
  }
  n(jAs, "SpreadProperty");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js
var Ode = g((YR) => {
  "use strict";
  Object.defineProperty(YR, "__esModule", {
    value: !0
  });
  YR.default = UAs;
  var RAs = zn(), qAs = Fr();
  function UAs(t, e) {
    let s = t.value.split(/\r\n|\n|\r/), r = 0;
    for (let a = 0; a < s.length; a++)
      /[^ \t]/.exec(s[a]) && (r = a);
    let i = "";
    for (let a = 0; a < s.length; a++) {
      let o = s[a], l = a === 0, u = a === s.length - 1, c = a === r, p = o.replace(/\t/g, " ");
      l || (p = p.replace(/^ +/, "")), u || (p = p.replace(/ +$/, "")), p && (c || (p += " "), i += p);
    }
    i && e.push((0, qAs.inherits)((0, RAs.stringLiteral)(i), t));
  }
  n(UAs, "cleanJSXElementLiteralChild");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/builders/react/buildChildren.js
var _de = g((zR) => {
  "use strict";
  Object.defineProperty(zR, "__esModule", {
    value: !0
  });
  zR.default = VAs;
  var XR = di(), KAs = Ode();
  function VAs(t) {
    let e = [];
    for (let s = 0; s < t.children.length; s++) {
      let r = t.children[s];
      if ((0, XR.isJSXText)(r)) {
        (0, KAs.default)(r, e);
        continue;
      }
      (0, XR.isJSXExpressionContainer)(r) && (r = r.expression), !(0, XR.isJSXEmptyExpression)(r) && e.push(r);
    }
    return e;
  }
  n(VAs, "buildChildren");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/isNode.js
var QR = g((GR) => {
  "use strict";
  Object.defineProperty(GR, "__esModule", {
    value: !0
  });
  GR.default = $As;
  var WAs = ao();
  function $As(t) {
    return !!(t && WAs.VISITOR_KEYS[t.type]);
  }
  n($As, "isNode");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/asserts/assertNode.js
var Lde = g((ZR) => {
  "use strict";
  Object.defineProperty(ZR, "__esModule", {
    value: !0
  });
  ZR.default = JAs;
  var HAs = QR();
  function JAs(t) {
    if (!(0, HAs.default)(t)) {
      var e;
      let s = (e = t?.type) != null ? e : JSON.stringify(t);
      throw new TypeError(`Not a valid node of type "${s}"`);
    }
  }
  n(JAs, "assertNode");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/asserts/generated/index.js
var Bde = g((O) => {
  "use strict";
  Object.defineProperty(O, "__esModule", {
    value: !0
  });
  O.assertAccessor = cNs;
  O.assertAnyTypeAnnotation = Nvs;
  O.assertArgumentPlaceholder = iws;
  O.assertArrayExpression = XAs;
  O.assertArrayPattern = J1s;
  O.assertArrayTypeAnnotation = kvs;
  O.assertArrowFunctionExpression = Y1s;
  O.assertAssignmentExpression = zAs;
  O.assertAssignmentPattern = H1s;
  O.assertAwaitExpression = gvs;
  O.assertBigIntLiteral = bvs;
  O.assertBinary = OIs;
  O.assertBinaryExpression = GAs;
  O.assertBindExpression = nws;
  O.assertBlock = BIs;
  O.assertBlockParent = LIs;
  O.assertBlockStatement = t1s;
  O.assertBooleanLiteral = P1s;
  O.assertBooleanLiteralTypeAnnotation = Ovs;
  O.assertBooleanTypeAnnotation = Dvs;
  O.assertBreakStatement = s1s;
  O.assertCallExpression = r1s;
  O.assertCatchClause = i1s;
  O.assertClass = aNs;
  O.assertClassAccessorProperty = Avs;
  O.assertClassBody = X1s;
  O.assertClassDeclaration = G1s;
  O.assertClassExpression = z1s;
  O.assertClassImplements = Lvs;
  O.assertClassMethod = uvs;
  O.assertClassPrivateMethod = Cvs;
  O.assertClassPrivateProperty = vvs;
  O.assertClassProperty = Evs;
  O.assertCompletionStatement = jIs;
  O.assertConditional = RIs;
  O.assertConditionalExpression = n1s;
  O.assertContinueStatement = a1s;
  O.assertDebuggerStatement = o1s;
  O.assertDecimalLiteral = hws;
  O.assertDeclaration = YIs;
  O.assertDeclareClass = Bvs;
  O.assertDeclareExportAllDeclaration = Wvs;
  O.assertDeclareExportDeclaration = Vvs;
  O.assertDeclareFunction = Mvs;
  O.assertDeclareInterface = Fvs;
  O.assertDeclareModule = jvs;
  O.assertDeclareModuleExports = Rvs;
  O.assertDeclareOpaqueType = Uvs;
  O.assertDeclareTypeAlias = qvs;
  O.assertDeclareVariable = Kvs;
  O.assertDeclaredPredicate = $vs;
  O.assertDecorator = ows;
  O.assertDirective = ZAs;
  O.assertDirectiveLiteral = e1s;
  O.assertDoExpression = lws;
  O.assertDoWhileStatement = l1s;
  O.assertEmptyStatement = u1s;
  O.assertEmptyTypeAnnotation = sCs;
  O.assertEnumBody = gNs;
  O.assertEnumBooleanBody = kCs;
  O.assertEnumBooleanMember = LCs;
  O.assertEnumDeclaration = NCs;
  O.assertEnumDefaultedMember = FCs;
  O.assertEnumMember = TNs;
  O.assertEnumNumberBody = DCs;
  O.assertEnumNumberMember = BCs;
  O.assertEnumStringBody = OCs;
  O.assertEnumStringMember = MCs;
  O.assertEnumSymbolBody = _Cs;
  O.assertExistsTypeAnnotation = Hvs;
  O.assertExportAllDeclaration = Q1s;
  O.assertExportDeclaration = lNs;
  O.assertExportDefaultDeclaration = Z1s;
  O.assertExportDefaultSpecifier = uws;
  O.assertExportNamedDeclaration = evs;
  O.assertExportNamespaceSpecifier = xvs;
  O.assertExportSpecifier = tvs;
  O.assertExpression = DIs;
  O.assertExpressionStatement = c1s;
  O.assertExpressionWrapper = KIs;
  O.assertFile = p1s;
  O.assertFlow = hNs;
  O.assertFlowBaseAnnotation = dNs;
  O.assertFlowDeclaration = mNs;
  O.assertFlowPredicate = yNs;
  O.assertFlowType = fNs;
  O.assertFor = VIs;
  O.assertForInStatement = h1s;
  O.assertForOfStatement = svs;
  O.assertForStatement = f1s;
  O.assertForXStatement = WIs;
  O.assertFunction = $Is;
  O.assertFunctionDeclaration = d1s;
  O.assertFunctionExpression = m1s;
  O.assertFunctionParent = HIs;
  O.assertFunctionTypeAnnotation = Jvs;
  O.assertFunctionTypeParam = Yvs;
  O.assertGenericTypeAnnotation = Xvs;
  O.assertIdentifier = y1s;
  O.assertIfStatement = g1s;
  O.assertImmutable = ZIs;
  O.assertImport = Tvs;
  O.assertImportAttribute = aws;
  O.assertImportDeclaration = rvs;
  O.assertImportDefaultSpecifier = ivs;
  O.assertImportExpression = ovs;
  O.assertImportNamespaceSpecifier = nvs;
  O.assertImportOrExportDeclaration = oNs;
  O.assertImportSpecifier = avs;
  O.assertIndexedAccessType = jCs;
  O.assertInferredPredicate = zvs;
  O.assertInterfaceDeclaration = Qvs;
  O.assertInterfaceExtends = Gvs;
  O.assertInterfaceTypeAnnotation = Zvs;
  O.assertInterpreterDirective = QAs;
  O.assertIntersectionTypeAnnotation = eCs;
  O.assertJSX = bNs;
  O.assertJSXAttribute = qCs;
  O.assertJSXClosingElement = UCs;
  O.assertJSXClosingFragment = ews;
  O.assertJSXElement = KCs;
  O.assertJSXEmptyExpression = VCs;
  O.assertJSXExpressionContainer = WCs;
  O.assertJSXFragment = QCs;
  O.assertJSXIdentifier = HCs;
  O.assertJSXMemberExpression = JCs;
  O.assertJSXNamespacedName = YCs;
  O.assertJSXOpeningElement = XCs;
  O.assertJSXOpeningFragment = ZCs;
  O.assertJSXSpreadAttribute = zCs;
  O.assertJSXSpreadChild = $Cs;
  O.assertJSXText = GCs;
  O.assertLVal = zIs;
  O.assertLabeledStatement = T1s;
  O.assertLiteral = QIs;
  O.assertLogicalExpression = A1s;
  O.assertLoop = qIs;
  O.assertMemberExpression = v1s;
  O.assertMetaProperty = lvs;
  O.assertMethod = tNs;
  O.assertMiscellaneous = xNs;
  O.assertMixedTypeAnnotation = tCs;
  O.assertModuleDeclaration = NNs;
  O.assertModuleExpression = fws;
  O.assertModuleSpecifier = uNs;
  O.assertNewExpression = C1s;
  O.assertNoop = tws;
  O.assertNullLiteral = S1s;
  O.assertNullLiteralTypeAnnotation = _vs;
  O.assertNullableTypeAnnotation = rCs;
  O.assertNumberLiteral = vNs;
  O.assertNumberLiteralTypeAnnotation = iCs;
  O.assertNumberTypeAnnotation = nCs;
  O.assertNumericLiteral = x1s;
  O.assertObjectExpression = I1s;
  O.assertObjectMember = sNs;
  O.assertObjectMethod = N1s;
  O.assertObjectPattern = cvs;
  O.assertObjectProperty = k1s;
  O.assertObjectTypeAnnotation = aCs;
  O.assertObjectTypeCallProperty = lCs;
  O.assertObjectTypeIndexer = uCs;
  O.assertObjectTypeInternalSlot = oCs;
  O.assertObjectTypeProperty = cCs;
  O.assertObjectTypeSpreadProperty = pCs;
  O.assertOpaqueType = hCs;
  O.assertOptionalCallExpression = Pvs;
  O.assertOptionalIndexedAccessType = RCs;
  O.assertOptionalMemberExpression = Svs;
  O.assertParenthesizedExpression = L1s;
  O.assertPattern = nNs;
  O.assertPatternLike = XIs;
  O.assertPipelineBareFunction = yws;
  O.assertPipelinePrimaryTopicReference = gws;
  O.assertPipelineTopicExpression = mws;
  O.assertPlaceholder = sws;
  O.assertPrivate = pNs;
  O.assertPrivateName = wvs;
  O.assertProgram = w1s;
  O.assertProperty = rNs;
  O.assertPureish = JIs;
  O.assertQualifiedTypeIdentifier = fCs;
  O.assertRecordExpression = cws;
  O.assertRegExpLiteral = E1s;
  O.assertRegexLiteral = CNs;
  O.assertRestElement = D1s;
  O.assertRestProperty = wNs;
  O.assertReturnStatement = O1s;
  O.assertScopable = _Is;
  O.assertSequenceExpression = _1s;
  O.assertSpreadElement = pvs;
  O.assertSpreadProperty = INs;
  O.assertStandardized = kIs;
  O.assertStatement = MIs;
  O.assertStaticBlock = Ivs;
  O.assertStringLiteral = b1s;
  O.assertStringLiteralTypeAnnotation = dCs;
  O.assertStringTypeAnnotation = mCs;
  O.assertSuper = hvs;
  O.assertSwitchCase = B1s;
  O.assertSwitchStatement = M1s;
  O.assertSymbolTypeAnnotation = yCs;
  O.assertTSAnyKeyword = wws;
  O.assertTSArrayType = Jws;
  O.assertTSAsExpression = hIs;
  O.assertTSBaseType = ANs;
  O.assertTSBigIntKeyword = Nws;
  O.assertTSBooleanKeyword = Iws;
  O.assertTSCallSignatureDeclaration = Pws;
  O.assertTSConditionalType = eIs;
  O.assertTSConstructSignatureDeclaration = Ews;
  O.assertTSConstructorType = Kws;
  O.assertTSDeclareFunction = bws;
  O.assertTSDeclareMethod = xws;
  O.assertTSEntityName = GIs;
  O.assertTSEnumBody = mIs;
  O.assertTSEnumDeclaration = yIs;
  O.assertTSEnumMember = gIs;
  O.assertTSExportAssignment = AIs;
  O.assertTSExpressionWithTypeArguments = oIs;
  O.assertTSExternalModuleReference = PIs;
  O.assertTSFunctionType = Uws;
  O.assertTSImportEqualsDeclaration = SIs;
  O.assertTSImportType = xIs;
  O.assertTSIndexSignature = Cws;
  O.assertTSIndexedAccessType = iIs;
  O.assertTSInferType = tIs;
  O.assertTSInstantiationExpression = pIs;
  O.assertTSInterfaceBody = uIs;
  O.assertTSInterfaceDeclaration = lIs;
  O.assertTSIntersectionType = Zws;
  O.assertTSIntrinsicKeyword = kws;
  O.assertTSLiteralType = aIs;
  O.assertTSMappedType = nIs;
  O.assertTSMethodSignature = vws;
  O.assertTSModuleBlock = bIs;
  O.assertTSModuleDeclaration = TIs;
  O.assertTSNamedTupleMember = Gws;
  O.assertTSNamespaceExportDeclaration = vIs;
  O.assertTSNeverKeyword = Dws;
  O.assertTSNonNullExpression = EIs;
  O.assertTSNullKeyword = Ows;
  O.assertTSNumberKeyword = _ws;
  O.assertTSObjectKeyword = Lws;
  O.assertTSOptionalType = Xws;
  O.assertTSParameterProperty = Tws;
  O.assertTSParenthesizedType = sIs;
  O.assertTSPropertySignature = Aws;
  O.assertTSQualifiedName = Sws;
  O.assertTSRestType = zws;
  O.assertTSSatisfiesExpression = fIs;
  O.assertTSStringKeyword = Bws;
  O.assertTSSymbolKeyword = Mws;
  O.assertTSThisType = qws;
  O.assertTSTupleType = Yws;
  O.assertTSType = ENs;
  O.assertTSTypeAliasDeclaration = cIs;
  O.assertTSTypeAnnotation = CIs;
  O.assertTSTypeAssertion = dIs;
  O.assertTSTypeElement = PNs;
  O.assertTSTypeLiteral = Hws;
  O.assertTSTypeOperator = rIs;
  O.assertTSTypeParameter = NIs;
  O.assertTSTypeParameterDeclaration = IIs;
  O.assertTSTypeParameterInstantiation = wIs;
  O.assertTSTypePredicate = Wws;
  O.assertTSTypeQuery = $ws;
  O.assertTSTypeReference = Vws;
  O.assertTSUndefinedKeyword = Fws;
  O.assertTSUnionType = Qws;
  O.assertTSUnknownKeyword = jws;
  O.assertTSVoidKeyword = Rws;
  O.assertTaggedTemplateExpression = fvs;
  O.assertTemplateElement = dvs;
  O.assertTemplateLiteral = mvs;
  O.assertTerminatorless = FIs;
  O.assertThisExpression = F1s;
  O.assertThisTypeAnnotation = gCs;
  O.assertThrowStatement = j1s;
  O.assertTopicReference = dws;
  O.assertTryStatement = R1s;
  O.assertTupleExpression = pws;
  O.assertTupleTypeAnnotation = TCs;
  O.assertTypeAlias = xCs;
  O.assertTypeAnnotation = SCs;
  O.assertTypeCastExpression = PCs;
  O.assertTypeParameter = ECs;
  O.assertTypeParameterDeclaration = ACs;
  O.assertTypeParameterInstantiation = vCs;
  O.assertTypeScript = SNs;
  O.assertTypeofTypeAnnotation = bCs;
  O.assertUnaryExpression = q1s;
  O.assertUnaryLike = iNs;
  O.assertUnionTypeAnnotation = CCs;
  O.assertUpdateExpression = U1s;
  O.assertUserWhitespacable = eNs;
  O.assertV8IntrinsicIdentifier = rws;
  O.assertVariableDeclaration = K1s;
  O.assertVariableDeclarator = V1s;
  O.assertVariance = wCs;
  O.assertVoidTypeAnnotation = ICs;
  O.assertWhile = UIs;
  O.assertWhileStatement = W1s;
  O.assertWithStatement = $1s;
  O.assertYieldExpression = yvs;
  var YAs = by(), eb = YT();
  function M(t, e, s) {
    if (!(0, YAs.default)(t, e, s))
      throw new Error(`Expected type "${t}" with option ${JSON.stringify(s)}, but instead got "${e.type}".`);
  }
  n(M, "assert");
  function XAs(t, e) {
    M("ArrayExpression", t, e);
  }
  n(XAs, "assertArrayExpression");
  function zAs(t, e) {
    M("AssignmentExpression", t, e);
  }
  n(zAs, "assertAssignmentExpression");
  function GAs(t, e) {
    M("BinaryExpression", t, e);
  }
  n(GAs, "assertBinaryExpression");
  function QAs(t, e) {
    M("InterpreterDirective", t, e);
  }
  n(QAs, "assertInterpreterDirective");
  function ZAs(t, e) {
    M("Directive", t, e);
  }
  n(ZAs, "assertDirective");
  function e1s(t, e) {
    M("DirectiveLiteral", t, e);
  }
  n(e1s, "assertDirectiveLiteral");
  function t1s(t, e) {
    M("BlockStatement", t, e);
  }
  n(t1s, "assertBlockStatement");
  function s1s(t, e) {
    M("BreakStatement", t, e);
  }
  n(s1s, "assertBreakStatement");
  function r1s(t, e) {
    M("CallExpression", t, e);
  }
  n(r1s, "assertCallExpression");
  function i1s(t, e) {
    M("CatchClause", t, e);
  }
  n(i1s, "assertCatchClause");
  function n1s(t, e) {
    M("ConditionalExpression", t, e);
  }
  n(n1s, "assertConditionalExpression");
  function a1s(t, e) {
    M("ContinueStatement", t, e);
  }
  n(a1s, "assertContinueStatement");
  function o1s(t, e) {
    M("DebuggerStatement", t, e);
  }
  n(o1s, "assertDebuggerStatement");
  function l1s(t, e) {
    M("DoWhileStatement", t, e);
  }
  n(l1s, "assertDoWhileStatement");
  function u1s(t, e) {
    M("EmptyStatement", t, e);
  }
  n(u1s, "assertEmptyStatement");
  function c1s(t, e) {
    M("ExpressionStatement", t, e);
  }
  n(c1s, "assertExpressionStatement");
  function p1s(t, e) {
    M("File", t, e);
  }
  n(p1s, "assertFile");
  function h1s(t, e) {
    M("ForInStatement", t, e);
  }
  n(h1s, "assertForInStatement");
  function f1s(t, e) {
    M("ForStatement", t, e);
  }
  n(f1s, "assertForStatement");
  function d1s(t, e) {
    M("FunctionDeclaration", t, e);
  }
  n(d1s, "assertFunctionDeclaration");
  function m1s(t, e) {
    M("FunctionExpression", t, e);
  }
  n(m1s, "assertFunctionExpression");
  function y1s(t, e) {
    M("Identifier", t, e);
  }
  n(y1s, "assertIdentifier");
  function g1s(t, e) {
    M("IfStatement", t, e);
  }
  n(g1s, "assertIfStatement");
  function T1s(t, e) {
    M("LabeledStatement", t, e);
  }
  n(T1s, "assertLabeledStatement");
  function b1s(t, e) {
    M("StringLiteral", t, e);
  }
  n(b1s, "assertStringLiteral");
  function x1s(t, e) {
    M("NumericLiteral", t, e);
  }
  n(x1s, "assertNumericLiteral");
  function S1s(t, e) {
    M("NullLiteral", t, e);
  }
  n(S1s, "assertNullLiteral");
  function P1s(t, e) {
    M("BooleanLiteral", t, e);
  }
  n(P1s, "assertBooleanLiteral");
  function E1s(t, e) {
    M("RegExpLiteral", t, e);
  }
  n(E1s, "assertRegExpLiteral");
  function A1s(t, e) {
    M("LogicalExpression", t, e);
  }
  n(A1s, "assertLogicalExpression");
  function v1s(t, e) {
    M("MemberExpression", t, e);
  }
  n(v1s, "assertMemberExpression");
  function C1s(t, e) {
    M("NewExpression", t, e);
  }
  n(C1s, "assertNewExpression");
  function w1s(t, e) {
    M("Program", t, e);
  }
  n(w1s, "assertProgram");
  function I1s(t, e) {
    M("ObjectExpression", t, e);
  }
  n(I1s, "assertObjectExpression");
  function N1s(t, e) {
    M("ObjectMethod", t, e);
  }
  n(N1s, "assertObjectMethod");
  function k1s(t, e) {
    M("ObjectProperty", t, e);
  }
  n(k1s, "assertObjectProperty");
  function D1s(t, e) {
    M("RestElement", t, e);
  }
  n(D1s, "assertRestElement");
  function O1s(t, e) {
    M("ReturnStatement", t, e);
  }
  n(O1s, "assertReturnStatement");
  function _1s(t, e) {
    M("SequenceExpression", t, e);
  }
  n(_1s, "assertSequenceExpression");
  function L1s(t, e) {
    M("ParenthesizedExpression", t, e);
  }
  n(L1s, "assertParenthesizedExpression");
  function B1s(t, e) {
    M("SwitchCase", t, e);
  }
  n(B1s, "assertSwitchCase");
  function M1s(t, e) {
    M("SwitchStatement", t, e);
  }
  n(M1s, "assertSwitchStatement");
  function F1s(t, e) {
    M("ThisExpression", t, e);
  }
  n(F1s, "assertThisExpression");
  function j1s(t, e) {
    M("ThrowStatement", t, e);
  }
  n(j1s, "assertThrowStatement");
  function R1s(t, e) {
    M("TryStatement", t, e);
  }
  n(R1s, "assertTryStatement");
  function q1s(t, e) {
    M("UnaryExpression", t, e);
  }
  n(q1s, "assertUnaryExpression");
  function U1s(t, e) {
    M("UpdateExpression", t, e);
  }
  n(U1s, "assertUpdateExpression");
  function K1s(t, e) {
    M("VariableDeclaration", t, e);
  }
  n(K1s, "assertVariableDeclaration");
  function V1s(t, e) {
    M("VariableDeclarator", t, e);
  }
  n(V1s, "assertVariableDeclarator");
  function W1s(t, e) {
    M("WhileStatement", t, e);
  }
  n(W1s, "assertWhileStatement");
  function $1s(t, e) {
    M("WithStatement", t, e);
  }
  n($1s, "assertWithStatement");
  function H1s(t, e) {
    M("AssignmentPattern", t, e);
  }
  n(H1s, "assertAssignmentPattern");
  function J1s(t, e) {
    M("ArrayPattern", t, e);
  }
  n(J1s, "assertArrayPattern");
  function Y1s(t, e) {
    M("ArrowFunctionExpression", t, e);
  }
  n(Y1s, "assertArrowFunctionExpression");
  function X1s(t, e) {
    M("ClassBody", t, e);
  }
  n(X1s, "assertClassBody");
  function z1s(t, e) {
    M("ClassExpression", t, e);
  }
  n(z1s, "assertClassExpression");
  function G1s(t, e) {
    M("ClassDeclaration", t, e);
  }
  n(G1s, "assertClassDeclaration");
  function Q1s(t, e) {
    M("ExportAllDeclaration", t, e);
  }
  n(Q1s, "assertExportAllDeclaration");
  function Z1s(t, e) {
    M("ExportDefaultDeclaration", t, e);
  }
  n(Z1s, "assertExportDefaultDeclaration");
  function evs(t, e) {
    M("ExportNamedDeclaration", t, e);
  }
  n(evs, "assertExportNamedDeclaration");
  function tvs(t, e) {
    M("ExportSpecifier", t, e);
  }
  n(tvs, "assertExportSpecifier");
  function svs(t, e) {
    M("ForOfStatement", t, e);
  }
  n(svs, "assertForOfStatement");
  function rvs(t, e) {
    M("ImportDeclaration", t, e);
  }
  n(rvs, "assertImportDeclaration");
  function ivs(t, e) {
    M("ImportDefaultSpecifier", t, e);
  }
  n(ivs, "assertImportDefaultSpecifier");
  function nvs(t, e) {
    M("ImportNamespaceSpecifier", t, e);
  }
  n(nvs, "assertImportNamespaceSpecifier");
  function avs(t, e) {
    M("ImportSpecifier", t, e);
  }
  n(avs, "assertImportSpecifier");
  function ovs(t, e) {
    M("ImportExpression", t, e);
  }
  n(ovs, "assertImportExpression");
  function lvs(t, e) {
    M("MetaProperty", t, e);
  }
  n(lvs, "assertMetaProperty");
  function uvs(t, e) {
    M("ClassMethod", t, e);
  }
  n(uvs, "assertClassMethod");
  function cvs(t, e) {
    M("ObjectPattern", t, e);
  }
  n(cvs, "assertObjectPattern");
  function pvs(t, e) {
    M("SpreadElement", t, e);
  }
  n(pvs, "assertSpreadElement");
  function hvs(t, e) {
    M("Super", t, e);
  }
  n(hvs, "assertSuper");
  function fvs(t, e) {
    M("TaggedTemplateExpression", t, e);
  }
  n(fvs, "assertTaggedTemplateExpression");
  function dvs(t, e) {
    M("TemplateElement", t, e);
  }
  n(dvs, "assertTemplateElement");
  function mvs(t, e) {
    M("TemplateLiteral", t, e);
  }
  n(mvs, "assertTemplateLiteral");
  function yvs(t, e) {
    M("YieldExpression", t, e);
  }
  n(yvs, "assertYieldExpression");
  function gvs(t, e) {
    M("AwaitExpression", t, e);
  }
  n(gvs, "assertAwaitExpression");
  function Tvs(t, e) {
    M("Import", t, e);
  }
  n(Tvs, "assertImport");
  function bvs(t, e) {
    M("BigIntLiteral", t, e);
  }
  n(bvs, "assertBigIntLiteral");
  function xvs(t, e) {
    M("ExportNamespaceSpecifier", t, e);
  }
  n(xvs, "assertExportNamespaceSpecifier");
  function Svs(t, e) {
    M("OptionalMemberExpression", t, e);
  }
  n(Svs, "assertOptionalMemberExpression");
  function Pvs(t, e) {
    M("OptionalCallExpression", t, e);
  }
  n(Pvs, "assertOptionalCallExpression");
  function Evs(t, e) {
    M("ClassProperty", t, e);
  }
  n(Evs, "assertClassProperty");
  function Avs(t, e) {
    M("ClassAccessorProperty", t, e);
  }
  n(Avs, "assertClassAccessorProperty");
  function vvs(t, e) {
    M("ClassPrivateProperty", t, e);
  }
  n(vvs, "assertClassPrivateProperty");
  function Cvs(t, e) {
    M("ClassPrivateMethod", t, e);
  }
  n(Cvs, "assertClassPrivateMethod");
  function wvs(t, e) {
    M("PrivateName", t, e);
  }
  n(wvs, "assertPrivateName");
  function Ivs(t, e) {
    M("StaticBlock", t, e);
  }
  n(Ivs, "assertStaticBlock");
  function Nvs(t, e) {
    M("AnyTypeAnnotation", t, e);
  }
  n(Nvs, "assertAnyTypeAnnotation");
  function kvs(t, e) {
    M("ArrayTypeAnnotation", t, e);
  }
  n(kvs, "assertArrayTypeAnnotation");
  function Dvs(t, e) {
    M("BooleanTypeAnnotation", t, e);
  }
  n(Dvs, "assertBooleanTypeAnnotation");
  function Ovs(t, e) {
    M("BooleanLiteralTypeAnnotation", t, e);
  }
  n(Ovs, "assertBooleanLiteralTypeAnnotation");
  function _vs(t, e) {
    M("NullLiteralTypeAnnotation", t, e);
  }
  n(_vs, "assertNullLiteralTypeAnnotation");
  function Lvs(t, e) {
    M("ClassImplements", t, e);
  }
  n(Lvs, "assertClassImplements");
  function Bvs(t, e) {
    M("DeclareClass", t, e);
  }
  n(Bvs, "assertDeclareClass");
  function Mvs(t, e) {
    M("DeclareFunction", t, e);
  }
  n(Mvs, "assertDeclareFunction");
  function Fvs(t, e) {
    M("DeclareInterface", t, e);
  }
  n(Fvs, "assertDeclareInterface");
  function jvs(t, e) {
    M("DeclareModule", t, e);
  }
  n(jvs, "assertDeclareModule");
  function Rvs(t, e) {
    M("DeclareModuleExports", t, e);
  }
  n(Rvs, "assertDeclareModuleExports");
  function qvs(t, e) {
    M("DeclareTypeAlias", t, e);
  }
  n(qvs, "assertDeclareTypeAlias");
  function Uvs(t, e) {
    M("DeclareOpaqueType", t, e);
  }
  n(Uvs, "assertDeclareOpaqueType");
  function Kvs(t, e) {
    M("DeclareVariable", t, e);
  }
  n(Kvs, "assertDeclareVariable");
  function Vvs(t, e) {
    M("DeclareExportDeclaration", t, e);
  }
  n(Vvs, "assertDeclareExportDeclaration");
  function Wvs(t, e) {
    M("DeclareExportAllDeclaration", t, e);
  }
  n(Wvs, "assertDeclareExportAllDeclaration");
  function $vs(t, e) {
    M("DeclaredPredicate", t, e);
  }
  n($vs, "assertDeclaredPredicate");
  function Hvs(t, e) {
    M("ExistsTypeAnnotation", t, e);
  }
  n(Hvs, "assertExistsTypeAnnotation");
  function Jvs(t, e) {
    M("FunctionTypeAnnotation", t, e);
  }
  n(Jvs, "assertFunctionTypeAnnotation");
  function Yvs(t, e) {
    M("FunctionTypeParam", t, e);
  }
  n(Yvs, "assertFunctionTypeParam");
  function Xvs(t, e) {
    M("GenericTypeAnnotation", t, e);
  }
  n(Xvs, "assertGenericTypeAnnotation");
  function zvs(t, e) {
    M("InferredPredicate", t, e);
  }
  n(zvs, "assertInferredPredicate");
  function Gvs(t, e) {
    M("InterfaceExtends", t, e);
  }
  n(Gvs, "assertInterfaceExtends");
  function Qvs(t, e) {
    M("InterfaceDeclaration", t, e);
  }
  n(Qvs, "assertInterfaceDeclaration");
  function Zvs(t, e) {
    M("InterfaceTypeAnnotation", t, e);
  }
  n(Zvs, "assertInterfaceTypeAnnotation");
  function eCs(t, e) {
    M("IntersectionTypeAnnotation", t, e);
  }
  n(eCs, "assertIntersectionTypeAnnotation");
  function tCs(t, e) {
    M("MixedTypeAnnotation", t, e);
  }
  n(tCs, "assertMixedTypeAnnotation");
  function sCs(t, e) {
    M("EmptyTypeAnnotation", t, e);
  }
  n(sCs, "assertEmptyTypeAnnotation");
  function rCs(t, e) {
    M("NullableTypeAnnotation", t, e);
  }
  n(rCs, "assertNullableTypeAnnotation");
  function iCs(t, e) {
    M("NumberLiteralTypeAnnotation", t, e);
  }
  n(iCs, "assertNumberLiteralTypeAnnotation");
  function nCs(t, e) {
    M("NumberTypeAnnotation", t, e);
  }
  n(nCs, "assertNumberTypeAnnotation");
  function aCs(t, e) {
    M("ObjectTypeAnnotation", t, e);
  }
  n(aCs, "assertObjectTypeAnnotation");
  function oCs(t, e) {
    M("ObjectTypeInternalSlot", t, e);
  }
  n(oCs, "assertObjectTypeInternalSlot");
  function lCs(t, e) {
    M("ObjectTypeCallProperty", t, e);
  }
  n(lCs, "assertObjectTypeCallProperty");
  function uCs(t, e) {
    M("ObjectTypeIndexer", t, e);
  }
  n(uCs, "assertObjectTypeIndexer");
  function cCs(t, e) {
    M("ObjectTypeProperty", t, e);
  }
  n(cCs, "assertObjectTypeProperty");
  function pCs(t, e) {
    M("ObjectTypeSpreadProperty", t, e);
  }
  n(pCs, "assertObjectTypeSpreadProperty");
  function hCs(t, e) {
    M("OpaqueType", t, e);
  }
  n(hCs, "assertOpaqueType");
  function fCs(t, e) {
    M("QualifiedTypeIdentifier", t, e);
  }
  n(fCs, "assertQualifiedTypeIdentifier");
  function dCs(t, e) {
    M("StringLiteralTypeAnnotation", t, e);
  }
  n(dCs, "assertStringLiteralTypeAnnotation");
  function mCs(t, e) {
    M("StringTypeAnnotation", t, e);
  }
  n(mCs, "assertStringTypeAnnotation");
  function yCs(t, e) {
    M("SymbolTypeAnnotation", t, e);
  }
  n(yCs, "assertSymbolTypeAnnotation");
  function gCs(t, e) {
    M("ThisTypeAnnotation", t, e);
  }
  n(gCs, "assertThisTypeAnnotation");
  function TCs(t, e) {
    M("TupleTypeAnnotation", t, e);
  }
  n(TCs, "assertTupleTypeAnnotation");
  function bCs(t, e) {
    M("TypeofTypeAnnotation", t, e);
  }
  n(bCs, "assertTypeofTypeAnnotation");
  function xCs(t, e) {
    M("TypeAlias", t, e);
  }
  n(xCs, "assertTypeAlias");
  function SCs(t, e) {
    M("TypeAnnotation", t, e);
  }
  n(SCs, "assertTypeAnnotation");
  function PCs(t, e) {
    M("TypeCastExpression", t, e);
  }
  n(PCs, "assertTypeCastExpression");
  function ECs(t, e) {
    M("TypeParameter", t, e);
  }
  n(ECs, "assertTypeParameter");
  function ACs(t, e) {
    M("TypeParameterDeclaration", t, e);
  }
  n(ACs, "assertTypeParameterDeclaration");
  function vCs(t, e) {
    M("TypeParameterInstantiation", t, e);
  }
  n(vCs, "assertTypeParameterInstantiation");
  function CCs(t, e) {
    M("UnionTypeAnnotation", t, e);
  }
  n(CCs, "assertUnionTypeAnnotation");
  function wCs(t, e) {
    M("Variance", t, e);
  }
  n(wCs, "assertVariance");
  function ICs(t, e) {
    M("VoidTypeAnnotation", t, e);
  }
  n(ICs, "assertVoidTypeAnnotation");
  function NCs(t, e) {
    M("EnumDeclaration", t, e);
  }
  n(NCs, "assertEnumDeclaration");
  function kCs(t, e) {
    M("EnumBooleanBody", t, e);
  }
  n(kCs, "assertEnumBooleanBody");
  function DCs(t, e) {
    M("EnumNumberBody", t, e);
  }
  n(DCs, "assertEnumNumberBody");
  function OCs(t, e) {
    M("EnumStringBody", t, e);
  }
  n(OCs, "assertEnumStringBody");
  function _Cs(t, e) {
    M("EnumSymbolBody", t, e);
  }
  n(_Cs, "assertEnumSymbolBody");
  function LCs(t, e) {
    M("EnumBooleanMember", t, e);
  }
  n(LCs, "assertEnumBooleanMember");
  function BCs(t, e) {
    M("EnumNumberMember", t, e);
  }
  n(BCs, "assertEnumNumberMember");
  function MCs(t, e) {
    M("EnumStringMember", t, e);
  }
  n(MCs, "assertEnumStringMember");
  function FCs(t, e) {
    M("EnumDefaultedMember", t, e);
  }
  n(FCs, "assertEnumDefaultedMember");
  function jCs(t, e) {
    M("IndexedAccessType", t, e);
  }
  n(jCs, "assertIndexedAccessType");
  function RCs(t, e) {
    M("OptionalIndexedAccessType", t, e);
  }
  n(RCs, "assertOptionalIndexedAccessType");
  function qCs(t, e) {
    M("JSXAttribute", t, e);
  }
  n(qCs, "assertJSXAttribute");
  function UCs(t, e) {
    M("JSXClosingElement", t, e);
  }
  n(UCs, "assertJSXClosingElement");
  function KCs(t, e) {
    M("JSXElement", t, e);
  }
  n(KCs, "assertJSXElement");
  function VCs(t, e) {
    M("JSXEmptyExpression", t, e);
  }
  n(VCs, "assertJSXEmptyExpression");
  function WCs(t, e) {
    M("JSXExpressionContainer", t, e);
  }
  n(WCs, "assertJSXExpressionContainer");
  function $Cs(t, e) {
    M("JSXSpreadChild", t, e);
  }
  n($Cs, "assertJSXSpreadChild");
  function HCs(t, e) {
    M("JSXIdentifier", t, e);
  }
  n(HCs, "assertJSXIdentifier");
  function JCs(t, e) {
    M("JSXMemberExpression", t, e);
  }
  n(JCs, "assertJSXMemberExpression");
  function YCs(t, e) {
    M("JSXNamespacedName", t, e);
  }
  n(YCs, "assertJSXNamespacedName");
  function XCs(t, e) {
    M("JSXOpeningElement", t, e);
  }
  n(XCs, "assertJSXOpeningElement");
  function zCs(t, e) {
    M("JSXSpreadAttribute", t, e);
  }
  n(zCs, "assertJSXSpreadAttribute");
  function GCs(t, e) {
    M("JSXText", t, e);
  }
  n(GCs, "assertJSXText");
  function QCs(t, e) {
    M("JSXFragment", t, e);
  }
  n(QCs, "assertJSXFragment");
  function ZCs(t, e) {
    M("JSXOpeningFragment", t, e);
  }
  n(ZCs, "assertJSXOpeningFragment");
  function ews(t, e) {
    M("JSXClosingFragment", t, e);
  }
  n(ews, "assertJSXClosingFragment");
  function tws(t, e) {
    M("Noop", t, e);
  }
  n(tws, "assertNoop");
  function sws(t, e) {
    M("Placeholder", t, e);
  }
  n(sws, "assertPlaceholder");
  function rws(t, e) {
    M("V8IntrinsicIdentifier", t, e);
  }
  n(rws, "assertV8IntrinsicIdentifier");
  function iws(t, e) {
    M("ArgumentPlaceholder", t, e);
  }
  n(iws, "assertArgumentPlaceholder");
  function nws(t, e) {
    M("BindExpression", t, e);
  }
  n(nws, "assertBindExpression");
  function aws(t, e) {
    M("ImportAttribute", t, e);
  }
  n(aws, "assertImportAttribute");
  function ows(t, e) {
    M("Decorator", t, e);
  }
  n(ows, "assertDecorator");
  function lws(t, e) {
    M("DoExpression", t, e);
  }
  n(lws, "assertDoExpression");
  function uws(t, e) {
    M("ExportDefaultSpecifier", t, e);
  }
  n(uws, "assertExportDefaultSpecifier");
  function cws(t, e) {
    M("RecordExpression", t, e);
  }
  n(cws, "assertRecordExpression");
  function pws(t, e) {
    M("TupleExpression", t, e);
  }
  n(pws, "assertTupleExpression");
  function hws(t, e) {
    M("DecimalLiteral", t, e);
  }
  n(hws, "assertDecimalLiteral");
  function fws(t, e) {
    M("ModuleExpression", t, e);
  }
  n(fws, "assertModuleExpression");
  function dws(t, e) {
    M("TopicReference", t, e);
  }
  n(dws, "assertTopicReference");
  function mws(t, e) {
    M("PipelineTopicExpression", t, e);
  }
  n(mws, "assertPipelineTopicExpression");
  function yws(t, e) {
    M("PipelineBareFunction", t, e);
  }
  n(yws, "assertPipelineBareFunction");
  function gws(t, e) {
    M("PipelinePrimaryTopicReference", t, e);
  }
  n(gws, "assertPipelinePrimaryTopicReference");
  function Tws(t, e) {
    M("TSParameterProperty", t, e);
  }
  n(Tws, "assertTSParameterProperty");
  function bws(t, e) {
    M("TSDeclareFunction", t, e);
  }
  n(bws, "assertTSDeclareFunction");
  function xws(t, e) {
    M("TSDeclareMethod", t, e);
  }
  n(xws, "assertTSDeclareMethod");
  function Sws(t, e) {
    M("TSQualifiedName", t, e);
  }
  n(Sws, "assertTSQualifiedName");
  function Pws(t, e) {
    M("TSCallSignatureDeclaration", t, e);
  }
  n(Pws, "assertTSCallSignatureDeclaration");
  function Ews(t, e) {
    M("TSConstructSignatureDeclaration", t, e);
  }
  n(Ews, "assertTSConstructSignatureDeclaration");
  function Aws(t, e) {
    M("TSPropertySignature", t, e);
  }
  n(Aws, "assertTSPropertySignature");
  function vws(t, e) {
    M("TSMethodSignature", t, e);
  }
  n(vws, "assertTSMethodSignature");
  function Cws(t, e) {
    M("TSIndexSignature", t, e);
  }
  n(Cws, "assertTSIndexSignature");
  function wws(t, e) {
    M("TSAnyKeyword", t, e);
  }
  n(wws, "assertTSAnyKeyword");
  function Iws(t, e) {
    M("TSBooleanKeyword", t, e);
  }
  n(Iws, "assertTSBooleanKeyword");
  function Nws(t, e) {
    M("TSBigIntKeyword", t, e);
  }
  n(Nws, "assertTSBigIntKeyword");
  function kws(t, e) {
    M("TSIntrinsicKeyword", t, e);
  }
  n(kws, "assertTSIntrinsicKeyword");
  function Dws(t, e) {
    M("TSNeverKeyword", t, e);
  }
  n(Dws, "assertTSNeverKeyword");
  function Ows(t, e) {
    M("TSNullKeyword", t, e);
  }
  n(Ows, "assertTSNullKeyword");
  function _ws(t, e) {
    M("TSNumberKeyword", t, e);
  }
  n(_ws, "assertTSNumberKeyword");
  function Lws(t, e) {
    M("TSObjectKeyword", t, e);
  }
  n(Lws, "assertTSObjectKeyword");
  function Bws(t, e) {
    M("TSStringKeyword", t, e);
  }
  n(Bws, "assertTSStringKeyword");
  function Mws(t, e) {
    M("TSSymbolKeyword", t, e);
  }
  n(Mws, "assertTSSymbolKeyword");
  function Fws(t, e) {
    M("TSUndefinedKeyword", t, e);
  }
  n(Fws, "assertTSUndefinedKeyword");
  function jws(t, e) {
    M("TSUnknownKeyword", t, e);
  }
  n(jws, "assertTSUnknownKeyword");
  function Rws(t, e) {
    M("TSVoidKeyword", t, e);
  }
  n(Rws, "assertTSVoidKeyword");
  function qws(t, e) {
    M("TSThisType", t, e);
  }
  n(qws, "assertTSThisType");
  function Uws(t, e) {
    M("TSFunctionType", t, e);
  }
  n(Uws, "assertTSFunctionType");
  function Kws(t, e) {
    M("TSConstructorType", t, e);
  }
  n(Kws, "assertTSConstructorType");
  function Vws(t, e) {
    M("TSTypeReference", t, e);
  }
  n(Vws, "assertTSTypeReference");
  function Wws(t, e) {
    M("TSTypePredicate", t, e);
  }
  n(Wws, "assertTSTypePredicate");
  function $ws(t, e) {
    M("TSTypeQuery", t, e);
  }
  n($ws, "assertTSTypeQuery");
  function Hws(t, e) {
    M("TSTypeLiteral", t, e);
  }
  n(Hws, "assertTSTypeLiteral");
  function Jws(t, e) {
    M("TSArrayType", t, e);
  }
  n(Jws, "assertTSArrayType");
  function Yws(t, e) {
    M("TSTupleType", t, e);
  }
  n(Yws, "assertTSTupleType");
  function Xws(t, e) {
    M("TSOptionalType", t, e);
  }
  n(Xws, "assertTSOptionalType");
  function zws(t, e) {
    M("TSRestType", t, e);
  }
  n(zws, "assertTSRestType");
  function Gws(t, e) {
    M("TSNamedTupleMember", t, e);
  }
  n(Gws, "assertTSNamedTupleMember");
  function Qws(t, e) {
    M("TSUnionType", t, e);
  }
  n(Qws, "assertTSUnionType");
  function Zws(t, e) {
    M("TSIntersectionType", t, e);
  }
  n(Zws, "assertTSIntersectionType");
  function eIs(t, e) {
    M("TSConditionalType", t, e);
  }
  n(eIs, "assertTSConditionalType");
  function tIs(t, e) {
    M("TSInferType", t, e);
  }
  n(tIs, "assertTSInferType");
  function sIs(t, e) {
    M("TSParenthesizedType", t, e);
  }
  n(sIs, "assertTSParenthesizedType");
  function rIs(t, e) {
    M("TSTypeOperator", t, e);
  }
  n(rIs, "assertTSTypeOperator");
  function iIs(t, e) {
    M("TSIndexedAccessType", t, e);
  }
  n(iIs, "assertTSIndexedAccessType");
  function nIs(t, e) {
    M("TSMappedType", t, e);
  }
  n(nIs, "assertTSMappedType");
  function aIs(t, e) {
    M("TSLiteralType", t, e);
  }
  n(aIs, "assertTSLiteralType");
  function oIs(t, e) {
    M("TSExpressionWithTypeArguments", t, e);
  }
  n(oIs, "assertTSExpressionWithTypeArguments");
  function lIs(t, e) {
    M("TSInterfaceDeclaration", t, e);
  }
  n(lIs, "assertTSInterfaceDeclaration");
  function uIs(t, e) {
    M("TSInterfaceBody", t, e);
  }
  n(uIs, "assertTSInterfaceBody");
  function cIs(t, e) {
    M("TSTypeAliasDeclaration", t, e);
  }
  n(cIs, "assertTSTypeAliasDeclaration");
  function pIs(t, e) {
    M("TSInstantiationExpression", t, e);
  }
  n(pIs, "assertTSInstantiationExpression");
  function hIs(t, e) {
    M("TSAsExpression", t, e);
  }
  n(hIs, "assertTSAsExpression");
  function fIs(t, e) {
    M("TSSatisfiesExpression", t, e);
  }
  n(fIs, "assertTSSatisfiesExpression");
  function dIs(t, e) {
    M("TSTypeAssertion", t, e);
  }
  n(dIs, "assertTSTypeAssertion");
  function mIs(t, e) {
    M("TSEnumBody", t, e);
  }
  n(mIs, "assertTSEnumBody");
  function yIs(t, e) {
    M("TSEnumDeclaration", t, e);
  }
  n(yIs, "assertTSEnumDeclaration");
  function gIs(t, e) {
    M("TSEnumMember", t, e);
  }
  n(gIs, "assertTSEnumMember");
  function TIs(t, e) {
    M("TSModuleDeclaration", t, e);
  }
  n(TIs, "assertTSModuleDeclaration");
  function bIs(t, e) {
    M("TSModuleBlock", t, e);
  }
  n(bIs, "assertTSModuleBlock");
  function xIs(t, e) {
    M("TSImportType", t, e);
  }
  n(xIs, "assertTSImportType");
  function SIs(t, e) {
    M("TSImportEqualsDeclaration", t, e);
  }
  n(SIs, "assertTSImportEqualsDeclaration");
  function PIs(t, e) {
    M("TSExternalModuleReference", t, e);
  }
  n(PIs, "assertTSExternalModuleReference");
  function EIs(t, e) {
    M("TSNonNullExpression", t, e);
  }
  n(EIs, "assertTSNonNullExpression");
  function AIs(t, e) {
    M("TSExportAssignment", t, e);
  }
  n(AIs, "assertTSExportAssignment");
  function vIs(t, e) {
    M("TSNamespaceExportDeclaration", t, e);
  }
  n(vIs, "assertTSNamespaceExportDeclaration");
  function CIs(t, e) {
    M("TSTypeAnnotation", t, e);
  }
  n(CIs, "assertTSTypeAnnotation");
  function wIs(t, e) {
    M("TSTypeParameterInstantiation", t, e);
  }
  n(wIs, "assertTSTypeParameterInstantiation");
  function IIs(t, e) {
    M("TSTypeParameterDeclaration", t, e);
  }
  n(IIs, "assertTSTypeParameterDeclaration");
  function NIs(t, e) {
    M("TSTypeParameter", t, e);
  }
  n(NIs, "assertTSTypeParameter");
  function kIs(t, e) {
    M("Standardized", t, e);
  }
  n(kIs, "assertStandardized");
  function DIs(t, e) {
    M("Expression", t, e);
  }
  n(DIs, "assertExpression");
  function OIs(t, e) {
    M("Binary", t, e);
  }
  n(OIs, "assertBinary");
  function _Is(t, e) {
    M("Scopable", t, e);
  }
  n(_Is, "assertScopable");
  function LIs(t, e) {
    M("BlockParent", t, e);
  }
  n(LIs, "assertBlockParent");
  function BIs(t, e) {
    M("Block", t, e);
  }
  n(BIs, "assertBlock");
  function MIs(t, e) {
    M("Statement", t, e);
  }
  n(MIs, "assertStatement");
  function FIs(t, e) {
    M("Terminatorless", t, e);
  }
  n(FIs, "assertTerminatorless");
  function jIs(t, e) {
    M("CompletionStatement", t, e);
  }
  n(jIs, "assertCompletionStatement");
  function RIs(t, e) {
    M("Conditional", t, e);
  }
  n(RIs, "assertConditional");
  function qIs(t, e) {
    M("Loop", t, e);
  }
  n(qIs, "assertLoop");
  function UIs(t, e) {
    M("While", t, e);
  }
  n(UIs, "assertWhile");
  function KIs(t, e) {
    M("ExpressionWrapper", t, e);
  }
  n(KIs, "assertExpressionWrapper");
  function VIs(t, e) {
    M("For", t, e);
  }
  n(VIs, "assertFor");
  function WIs(t, e) {
    M("ForXStatement", t, e);
  }
  n(WIs, "assertForXStatement");
  function $Is(t, e) {
    M("Function", t, e);
  }
  n($Is, "assertFunction");
  function HIs(t, e) {
    M("FunctionParent", t, e);
  }
  n(HIs, "assertFunctionParent");
  function JIs(t, e) {
    M("Pureish", t, e);
  }
  n(JIs, "assertPureish");
  function YIs(t, e) {
    M("Declaration", t, e);
  }
  n(YIs, "assertDeclaration");
  function XIs(t, e) {
    M("PatternLike", t, e);
  }
  n(XIs, "assertPatternLike");
  function zIs(t, e) {
    M("LVal", t, e);
  }
  n(zIs, "assertLVal");
  function GIs(t, e) {
    M("TSEntityName", t, e);
  }
  n(GIs, "assertTSEntityName");
  function QIs(t, e) {
    M("Literal", t, e);
  }
  n(QIs, "assertLiteral");
  function ZIs(t, e) {
    M("Immutable", t, e);
  }
  n(ZIs, "assertImmutable");
  function eNs(t, e) {
    M("UserWhitespacable", t, e);
  }
  n(eNs, "assertUserWhitespacable");
  function tNs(t, e) {
    M("Method", t, e);
  }
  n(tNs, "assertMethod");
  function sNs(t, e) {
    M("ObjectMember", t, e);
  }
  n(sNs, "assertObjectMember");
  function rNs(t, e) {
    M("Property", t, e);
  }
  n(rNs, "assertProperty");
  function iNs(t, e) {
    M("UnaryLike", t, e);
  }
  n(iNs, "assertUnaryLike");
  function nNs(t, e) {
    M("Pattern", t, e);
  }
  n(nNs, "assertPattern");
  function aNs(t, e) {
    M("Class", t, e);
  }
  n(aNs, "assertClass");
  function oNs(t, e) {
    M("ImportOrExportDeclaration", t, e);
  }
  n(oNs, "assertImportOrExportDeclaration");
  function lNs(t, e) {
    M("ExportDeclaration", t, e);
  }
  n(lNs, "assertExportDeclaration");
  function uNs(t, e) {
    M("ModuleSpecifier", t, e);
  }
  n(uNs, "assertModuleSpecifier");
  function cNs(t, e) {
    M("Accessor", t, e);
  }
  n(cNs, "assertAccessor");
  function pNs(t, e) {
    M("Private", t, e);
  }
  n(pNs, "assertPrivate");
  function hNs(t, e) {
    M("Flow", t, e);
  }
  n(hNs, "assertFlow");
  function fNs(t, e) {
    M("FlowType", t, e);
  }
  n(fNs, "assertFlowType");
  function dNs(t, e) {
    M("FlowBaseAnnotation", t, e);
  }
  n(dNs, "assertFlowBaseAnnotation");
  function mNs(t, e) {
    M("FlowDeclaration", t, e);
  }
  n(mNs, "assertFlowDeclaration");
  function yNs(t, e) {
    M("FlowPredicate", t, e);
  }
  n(yNs, "assertFlowPredicate");
  function gNs(t, e) {
    M("EnumBody", t, e);
  }
  n(gNs, "assertEnumBody");
  function TNs(t, e) {
    M("EnumMember", t, e);
  }
  n(TNs, "assertEnumMember");
  function bNs(t, e) {
    M("JSX", t, e);
  }
  n(bNs, "assertJSX");
  function xNs(t, e) {
    M("Miscellaneous", t, e);
  }
  n(xNs, "assertMiscellaneous");
  function SNs(t, e) {
    M("TypeScript", t, e);
  }
  n(SNs, "assertTypeScript");
  function PNs(t, e) {
    M("TSTypeElement", t, e);
  }
  n(PNs, "assertTSTypeElement");
  function ENs(t, e) {
    M("TSType", t, e);
  }
  n(ENs, "assertTSType");
  function ANs(t, e) {
    M("TSBaseType", t, e);
  }
  n(ANs, "assertTSBaseType");
  function vNs(t, e) {
    (0, eb.default)("assertNumberLiteral", "assertNumericLiteral"), M("NumberLiteral", t, e);
  }
  n(vNs, "assertNumberLiteral");
  function CNs(t, e) {
    (0, eb.default)("assertRegexLiteral", "assertRegExpLiteral"), M("RegexLiteral", t, e);
  }
  n(CNs, "assertRegexLiteral");
  function wNs(t, e) {
    (0, eb.default)("assertRestProperty", "assertRestElement"), M("RestProperty", t, e);
  }
  n(wNs, "assertRestProperty");
  function INs(t, e) {
    (0, eb.default)("assertSpreadProperty", "assertSpreadElement"), M("SpreadProperty", t, e);
  }
  n(INs, "assertSpreadProperty");
  function NNs(t, e) {
    (0, eb.default)("assertModuleDeclaration", "assertImportOrExportDeclaration"), M("ModuleDeclaration", t, e);
  }
  n(NNs, "assertModuleDeclaration");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js
var Mde = g((Lv) => {
  "use strict";
  Object.defineProperty(Lv, "__esModule", {
    value: !0
  });
  Lv.default = void 0;
  var Uo = zn(), Zir = Lv.default = kNs;
  function kNs(t) {
    switch (t) {
      case "string":
        return (0, Uo.stringTypeAnnotation)();
      case "number":
        return (0, Uo.numberTypeAnnotation)();
      case "undefined":
        return (0, Uo.voidTypeAnnotation)();
      case "boolean":
        return (0, Uo.booleanTypeAnnotation)();
      case "function":
        return (0, Uo.genericTypeAnnotation)((0, Uo.identifier)("Function"));
      case "object":
        return (0, Uo.genericTypeAnnotation)((0, Uo.identifier)("Object"));
      case "symbol":
        return (0, Uo.genericTypeAnnotation)((0, Uo.identifier)("Symbol"));
      case "bigint":
        return (0, Uo.anyTypeAnnotation)();
    }
    throw new Error("Invalid typeof value: " + t);
  }
  n(kNs, "createTypeAnnotationBasedOnTypeof");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js
var t5 = g((e5) => {
  "use strict";
  Object.defineProperty(e5, "__esModule", {
    value: !0
  });
  e5.default = jde;
  var tb = di();
  function Fde(t) {
    return (0, tb.isIdentifier)(t) ? t.name : `${t.id.name}.${Fde(t.qualification)}`;
  }
  n(Fde, "getQualifiedName");
  function jde(t) {
    let e = Array.from(t), s = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set(), a = [];
    for (let o = 0; o < e.length; o++) {
      let l = e[o];
      if (l && !a.includes(l)) {
        if ((0, tb.isAnyTypeAnnotation)(l))
          return [l];
        if ((0, tb.isFlowBaseAnnotation)(l)) {
          r.set(l.type, l);
          continue;
        }
        if ((0, tb.isUnionTypeAnnotation)(l)) {
          i.has(l.types) || (e.push(...l.types), i.add(l.types));
          continue;
        }
        if ((0, tb.isGenericTypeAnnotation)(l)) {
          let u = Fde(l.id);
          if (s.has(u)) {
            let c = s.get(u);
            c.typeParameters ? l.typeParameters && (c.typeParameters.params.push(...l.typeParameters.params), c.typeParameters.params = jde(
            c.typeParameters.params)) : c = l.typeParameters;
          } else
            s.set(u, l);
          continue;
        }
        a.push(l);
      }
    }
    for (let [, o] of r)
      a.push(o);
    for (let [, o] of s)
      a.push(o);
    return a;
  }
  n(jde, "removeTypeDuplicates");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js
var Rde = g((s5) => {
  "use strict";
  Object.defineProperty(s5, "__esModule", {
    value: !0
  });
  s5.default = _Ns;
  var DNs = zn(), ONs = t5();
  function _Ns(t) {
    let e = (0, ONs.default)(t);
    return e.length === 1 ? e[0] : (0, DNs.unionTypeAnnotation)(e);
  }
  n(_Ns, "createFlowUnionType");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js
var Kde = g((r5) => {
  "use strict";
  Object.defineProperty(r5, "__esModule", {
    value: !0
  });
  r5.default = Ude;
  var sb = di();
  function qde(t) {
    return (0, sb.isIdentifier)(t) ? t.name : `${t.right.name}.${qde(t.left)}`;
  }
  n(qde, "getQualifiedName");
  function Ude(t) {
    let e = Array.from(t), s = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set(), a = [];
    for (let o = 0; o < e.length; o++) {
      let l = e[o];
      if (!l || a.includes(l))
        continue;
      if ((0, sb.isTSAnyKeyword)(l))
        return [l];
      if ((0, sb.isTSBaseType)(l)) {
        r.set(l.type, l);
        continue;
      }
      if ((0, sb.isTSUnionType)(l)) {
        i.has(l.types) || (e.push(...l.types), i.add(l.types));
        continue;
      }
      let u = "typeParameters";
      if ((0, sb.isTSTypeReference)(l) && l[u]) {
        let c = l[u], p = qde(l.typeName);
        if (s.has(p)) {
          let h = s.get(p), f = h[u];
          f ? (f.params.push(...c.params), f.params = Ude(f.params)) : h = c;
        } else
          s.set(p, l);
        continue;
      }
      a.push(l);
    }
    for (let [, o] of r)
      a.push(o);
    for (let [, o] of s)
      a.push(o);
    return a;
  }
  n(Ude, "removeTypeDuplicates");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js
var Vde = g((i5) => {
  "use strict";
  Object.defineProperty(i5, "__esModule", {
    value: !0
  });
  i5.default = FNs;
  var LNs = zn(), BNs = Kde(), MNs = di();
  function FNs(t) {
    let e = t.map((r) => (0, MNs.isTSTypeAnnotation)(r) ? r.typeAnnotation : r), s = (0, BNs.default)(e);
    return s.length === 1 ? s[0] : (0, LNs.tsUnionType)(s);
  }
  n(FNs, "createTSUnionType");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/builders/generated/uppercase.js
var Wde = g((J) => {
  "use strict";
  Object.defineProperty(J, "__esModule", {
    value: !0
  });
  Object.defineProperty(J, "AnyTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.anyTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "ArgumentPlaceholder", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.argumentPlaceholder;
    }, "get")
  });
  Object.defineProperty(J, "ArrayExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.arrayExpression;
    }, "get")
  });
  Object.defineProperty(J, "ArrayPattern", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.arrayPattern;
    }, "get")
  });
  Object.defineProperty(J, "ArrayTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.arrayTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "ArrowFunctionExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.arrowFunctionExpression;
    }, "get")
  });
  Object.defineProperty(J, "AssignmentExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.assignmentExpression;
    }, "get")
  });
  Object.defineProperty(J, "AssignmentPattern", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.assignmentPattern;
    }, "get")
  });
  Object.defineProperty(J, "AwaitExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.awaitExpression;
    }, "get")
  });
  Object.defineProperty(J, "BigIntLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.bigIntLiteral;
    }, "get")
  });
  Object.defineProperty(J, "BinaryExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.binaryExpression;
    }, "get")
  });
  Object.defineProperty(J, "BindExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.bindExpression;
    }, "get")
  });
  Object.defineProperty(J, "BlockStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.blockStatement;
    }, "get")
  });
  Object.defineProperty(J, "BooleanLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.booleanLiteral;
    }, "get")
  });
  Object.defineProperty(J, "BooleanLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.booleanLiteralTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "BooleanTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.booleanTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "BreakStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.breakStatement;
    }, "get")
  });
  Object.defineProperty(J, "CallExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.callExpression;
    }, "get")
  });
  Object.defineProperty(J, "CatchClause", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.catchClause;
    }, "get")
  });
  Object.defineProperty(J, "ClassAccessorProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.classAccessorProperty;
    }, "get")
  });
  Object.defineProperty(J, "ClassBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.classBody;
    }, "get")
  });
  Object.defineProperty(J, "ClassDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.classDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "ClassExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.classExpression;
    }, "get")
  });
  Object.defineProperty(J, "ClassImplements", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.classImplements;
    }, "get")
  });
  Object.defineProperty(J, "ClassMethod", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.classMethod;
    }, "get")
  });
  Object.defineProperty(J, "ClassPrivateMethod", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.classPrivateMethod;
    }, "get")
  });
  Object.defineProperty(J, "ClassPrivateProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.classPrivateProperty;
    }, "get")
  });
  Object.defineProperty(J, "ClassProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.classProperty;
    }, "get")
  });
  Object.defineProperty(J, "ConditionalExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.conditionalExpression;
    }, "get")
  });
  Object.defineProperty(J, "ContinueStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.continueStatement;
    }, "get")
  });
  Object.defineProperty(J, "DebuggerStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.debuggerStatement;
    }, "get")
  });
  Object.defineProperty(J, "DecimalLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.decimalLiteral;
    }, "get")
  });
  Object.defineProperty(J, "DeclareClass", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.declareClass;
    }, "get")
  });
  Object.defineProperty(J, "DeclareExportAllDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.declareExportAllDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "DeclareExportDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.declareExportDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "DeclareFunction", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.declareFunction;
    }, "get")
  });
  Object.defineProperty(J, "DeclareInterface", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.declareInterface;
    }, "get")
  });
  Object.defineProperty(J, "DeclareModule", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.declareModule;
    }, "get")
  });
  Object.defineProperty(J, "DeclareModuleExports", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.declareModuleExports;
    }, "get")
  });
  Object.defineProperty(J, "DeclareOpaqueType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.declareOpaqueType;
    }, "get")
  });
  Object.defineProperty(J, "DeclareTypeAlias", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.declareTypeAlias;
    }, "get")
  });
  Object.defineProperty(J, "DeclareVariable", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.declareVariable;
    }, "get")
  });
  Object.defineProperty(J, "DeclaredPredicate", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.declaredPredicate;
    }, "get")
  });
  Object.defineProperty(J, "Decorator", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.decorator;
    }, "get")
  });
  Object.defineProperty(J, "Directive", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.directive;
    }, "get")
  });
  Object.defineProperty(J, "DirectiveLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.directiveLiteral;
    }, "get")
  });
  Object.defineProperty(J, "DoExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.doExpression;
    }, "get")
  });
  Object.defineProperty(J, "DoWhileStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.doWhileStatement;
    }, "get")
  });
  Object.defineProperty(J, "EmptyStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.emptyStatement;
    }, "get")
  });
  Object.defineProperty(J, "EmptyTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.emptyTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "EnumBooleanBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.enumBooleanBody;
    }, "get")
  });
  Object.defineProperty(J, "EnumBooleanMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.enumBooleanMember;
    }, "get")
  });
  Object.defineProperty(J, "EnumDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.enumDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "EnumDefaultedMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.enumDefaultedMember;
    }, "get")
  });
  Object.defineProperty(J, "EnumNumberBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.enumNumberBody;
    }, "get")
  });
  Object.defineProperty(J, "EnumNumberMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.enumNumberMember;
    }, "get")
  });
  Object.defineProperty(J, "EnumStringBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.enumStringBody;
    }, "get")
  });
  Object.defineProperty(J, "EnumStringMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.enumStringMember;
    }, "get")
  });
  Object.defineProperty(J, "EnumSymbolBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.enumSymbolBody;
    }, "get")
  });
  Object.defineProperty(J, "ExistsTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.existsTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "ExportAllDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.exportAllDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "ExportDefaultDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.exportDefaultDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "ExportDefaultSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.exportDefaultSpecifier;
    }, "get")
  });
  Object.defineProperty(J, "ExportNamedDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.exportNamedDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "ExportNamespaceSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.exportNamespaceSpecifier;
    }, "get")
  });
  Object.defineProperty(J, "ExportSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.exportSpecifier;
    }, "get")
  });
  Object.defineProperty(J, "ExpressionStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.expressionStatement;
    }, "get")
  });
  Object.defineProperty(J, "File", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.file;
    }, "get")
  });
  Object.defineProperty(J, "ForInStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.forInStatement;
    }, "get")
  });
  Object.defineProperty(J, "ForOfStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.forOfStatement;
    }, "get")
  });
  Object.defineProperty(J, "ForStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.forStatement;
    }, "get")
  });
  Object.defineProperty(J, "FunctionDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.functionDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "FunctionExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.functionExpression;
    }, "get")
  });
  Object.defineProperty(J, "FunctionTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.functionTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "FunctionTypeParam", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.functionTypeParam;
    }, "get")
  });
  Object.defineProperty(J, "GenericTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.genericTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "Identifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.identifier;
    }, "get")
  });
  Object.defineProperty(J, "IfStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.ifStatement;
    }, "get")
  });
  Object.defineProperty(J, "Import", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.import;
    }, "get")
  });
  Object.defineProperty(J, "ImportAttribute", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.importAttribute;
    }, "get")
  });
  Object.defineProperty(J, "ImportDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.importDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "ImportDefaultSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.importDefaultSpecifier;
    }, "get")
  });
  Object.defineProperty(J, "ImportExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.importExpression;
    }, "get")
  });
  Object.defineProperty(J, "ImportNamespaceSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.importNamespaceSpecifier;
    }, "get")
  });
  Object.defineProperty(J, "ImportSpecifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.importSpecifier;
    }, "get")
  });
  Object.defineProperty(J, "IndexedAccessType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.indexedAccessType;
    }, "get")
  });
  Object.defineProperty(J, "InferredPredicate", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.inferredPredicate;
    }, "get")
  });
  Object.defineProperty(J, "InterfaceDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.interfaceDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "InterfaceExtends", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.interfaceExtends;
    }, "get")
  });
  Object.defineProperty(J, "InterfaceTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.interfaceTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "InterpreterDirective", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.interpreterDirective;
    }, "get")
  });
  Object.defineProperty(J, "IntersectionTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.intersectionTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "JSXAttribute", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxAttribute;
    }, "get")
  });
  Object.defineProperty(J, "JSXClosingElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxClosingElement;
    }, "get")
  });
  Object.defineProperty(J, "JSXClosingFragment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxClosingFragment;
    }, "get")
  });
  Object.defineProperty(J, "JSXElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxElement;
    }, "get")
  });
  Object.defineProperty(J, "JSXEmptyExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxEmptyExpression;
    }, "get")
  });
  Object.defineProperty(J, "JSXExpressionContainer", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxExpressionContainer;
    }, "get")
  });
  Object.defineProperty(J, "JSXFragment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxFragment;
    }, "get")
  });
  Object.defineProperty(J, "JSXIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxIdentifier;
    }, "get")
  });
  Object.defineProperty(J, "JSXMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxMemberExpression;
    }, "get")
  });
  Object.defineProperty(J, "JSXNamespacedName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxNamespacedName;
    }, "get")
  });
  Object.defineProperty(J, "JSXOpeningElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxOpeningElement;
    }, "get")
  });
  Object.defineProperty(J, "JSXOpeningFragment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxOpeningFragment;
    }, "get")
  });
  Object.defineProperty(J, "JSXSpreadAttribute", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxSpreadAttribute;
    }, "get")
  });
  Object.defineProperty(J, "JSXSpreadChild", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxSpreadChild;
    }, "get")
  });
  Object.defineProperty(J, "JSXText", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.jsxText;
    }, "get")
  });
  Object.defineProperty(J, "LabeledStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.labeledStatement;
    }, "get")
  });
  Object.defineProperty(J, "LogicalExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.logicalExpression;
    }, "get")
  });
  Object.defineProperty(J, "MemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.memberExpression;
    }, "get")
  });
  Object.defineProperty(J, "MetaProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.metaProperty;
    }, "get")
  });
  Object.defineProperty(J, "MixedTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.mixedTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "ModuleExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.moduleExpression;
    }, "get")
  });
  Object.defineProperty(J, "NewExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.newExpression;
    }, "get")
  });
  Object.defineProperty(J, "Noop", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.noop;
    }, "get")
  });
  Object.defineProperty(J, "NullLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.nullLiteral;
    }, "get")
  });
  Object.defineProperty(J, "NullLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.nullLiteralTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "NullableTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.nullableTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "NumberLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.numberLiteral;
    }, "get")
  });
  Object.defineProperty(J, "NumberLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.numberLiteralTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "NumberTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.numberTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "NumericLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.numericLiteral;
    }, "get")
  });
  Object.defineProperty(J, "ObjectExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.objectExpression;
    }, "get")
  });
  Object.defineProperty(J, "ObjectMethod", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.objectMethod;
    }, "get")
  });
  Object.defineProperty(J, "ObjectPattern", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.objectPattern;
    }, "get")
  });
  Object.defineProperty(J, "ObjectProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.objectProperty;
    }, "get")
  });
  Object.defineProperty(J, "ObjectTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.objectTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "ObjectTypeCallProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.objectTypeCallProperty;
    }, "get")
  });
  Object.defineProperty(J, "ObjectTypeIndexer", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.objectTypeIndexer;
    }, "get")
  });
  Object.defineProperty(J, "ObjectTypeInternalSlot", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.objectTypeInternalSlot;
    }, "get")
  });
  Object.defineProperty(J, "ObjectTypeProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.objectTypeProperty;
    }, "get")
  });
  Object.defineProperty(J, "ObjectTypeSpreadProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.objectTypeSpreadProperty;
    }, "get")
  });
  Object.defineProperty(J, "OpaqueType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.opaqueType;
    }, "get")
  });
  Object.defineProperty(J, "OptionalCallExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.optionalCallExpression;
    }, "get")
  });
  Object.defineProperty(J, "OptionalIndexedAccessType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.optionalIndexedAccessType;
    }, "get")
  });
  Object.defineProperty(J, "OptionalMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.optionalMemberExpression;
    }, "get")
  });
  Object.defineProperty(J, "ParenthesizedExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.parenthesizedExpression;
    }, "get")
  });
  Object.defineProperty(J, "PipelineBareFunction", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.pipelineBareFunction;
    }, "get")
  });
  Object.defineProperty(J, "PipelinePrimaryTopicReference", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.pipelinePrimaryTopicReference;
    }, "get")
  });
  Object.defineProperty(J, "PipelineTopicExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.pipelineTopicExpression;
    }, "get")
  });
  Object.defineProperty(J, "Placeholder", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.placeholder;
    }, "get")
  });
  Object.defineProperty(J, "PrivateName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.privateName;
    }, "get")
  });
  Object.defineProperty(J, "Program", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.program;
    }, "get")
  });
  Object.defineProperty(J, "QualifiedTypeIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.qualifiedTypeIdentifier;
    }, "get")
  });
  Object.defineProperty(J, "RecordExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.recordExpression;
    }, "get")
  });
  Object.defineProperty(J, "RegExpLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.regExpLiteral;
    }, "get")
  });
  Object.defineProperty(J, "RegexLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.regexLiteral;
    }, "get")
  });
  Object.defineProperty(J, "RestElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.restElement;
    }, "get")
  });
  Object.defineProperty(J, "RestProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.restProperty;
    }, "get")
  });
  Object.defineProperty(J, "ReturnStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.returnStatement;
    }, "get")
  });
  Object.defineProperty(J, "SequenceExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.sequenceExpression;
    }, "get")
  });
  Object.defineProperty(J, "SpreadElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.spreadElement;
    }, "get")
  });
  Object.defineProperty(J, "SpreadProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.spreadProperty;
    }, "get")
  });
  Object.defineProperty(J, "StaticBlock", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.staticBlock;
    }, "get")
  });
  Object.defineProperty(J, "StringLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.stringLiteral;
    }, "get")
  });
  Object.defineProperty(J, "StringLiteralTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.stringLiteralTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "StringTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.stringTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "Super", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.super;
    }, "get")
  });
  Object.defineProperty(J, "SwitchCase", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.switchCase;
    }, "get")
  });
  Object.defineProperty(J, "SwitchStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.switchStatement;
    }, "get")
  });
  Object.defineProperty(J, "SymbolTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.symbolTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "TSAnyKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsAnyKeyword;
    }, "get")
  });
  Object.defineProperty(J, "TSArrayType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsArrayType;
    }, "get")
  });
  Object.defineProperty(J, "TSAsExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsAsExpression;
    }, "get")
  });
  Object.defineProperty(J, "TSBigIntKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsBigIntKeyword;
    }, "get")
  });
  Object.defineProperty(J, "TSBooleanKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsBooleanKeyword;
    }, "get")
  });
  Object.defineProperty(J, "TSCallSignatureDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsCallSignatureDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "TSConditionalType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsConditionalType;
    }, "get")
  });
  Object.defineProperty(J, "TSConstructSignatureDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsConstructSignatureDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "TSConstructorType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsConstructorType;
    }, "get")
  });
  Object.defineProperty(J, "TSDeclareFunction", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsDeclareFunction;
    }, "get")
  });
  Object.defineProperty(J, "TSDeclareMethod", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsDeclareMethod;
    }, "get")
  });
  Object.defineProperty(J, "TSEnumBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsEnumBody;
    }, "get")
  });
  Object.defineProperty(J, "TSEnumDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsEnumDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "TSEnumMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsEnumMember;
    }, "get")
  });
  Object.defineProperty(J, "TSExportAssignment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsExportAssignment;
    }, "get")
  });
  Object.defineProperty(J, "TSExpressionWithTypeArguments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsExpressionWithTypeArguments;
    }, "get")
  });
  Object.defineProperty(J, "TSExternalModuleReference", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsExternalModuleReference;
    }, "get")
  });
  Object.defineProperty(J, "TSFunctionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsFunctionType;
    }, "get")
  });
  Object.defineProperty(J, "TSImportEqualsDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsImportEqualsDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "TSImportType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsImportType;
    }, "get")
  });
  Object.defineProperty(J, "TSIndexSignature", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsIndexSignature;
    }, "get")
  });
  Object.defineProperty(J, "TSIndexedAccessType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsIndexedAccessType;
    }, "get")
  });
  Object.defineProperty(J, "TSInferType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsInferType;
    }, "get")
  });
  Object.defineProperty(J, "TSInstantiationExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsInstantiationExpression;
    }, "get")
  });
  Object.defineProperty(J, "TSInterfaceBody", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsInterfaceBody;
    }, "get")
  });
  Object.defineProperty(J, "TSInterfaceDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsInterfaceDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "TSIntersectionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsIntersectionType;
    }, "get")
  });
  Object.defineProperty(J, "TSIntrinsicKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsIntrinsicKeyword;
    }, "get")
  });
  Object.defineProperty(J, "TSLiteralType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsLiteralType;
    }, "get")
  });
  Object.defineProperty(J, "TSMappedType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsMappedType;
    }, "get")
  });
  Object.defineProperty(J, "TSMethodSignature", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsMethodSignature;
    }, "get")
  });
  Object.defineProperty(J, "TSModuleBlock", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsModuleBlock;
    }, "get")
  });
  Object.defineProperty(J, "TSModuleDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsModuleDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "TSNamedTupleMember", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsNamedTupleMember;
    }, "get")
  });
  Object.defineProperty(J, "TSNamespaceExportDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsNamespaceExportDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "TSNeverKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsNeverKeyword;
    }, "get")
  });
  Object.defineProperty(J, "TSNonNullExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsNonNullExpression;
    }, "get")
  });
  Object.defineProperty(J, "TSNullKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsNullKeyword;
    }, "get")
  });
  Object.defineProperty(J, "TSNumberKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsNumberKeyword;
    }, "get")
  });
  Object.defineProperty(J, "TSObjectKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsObjectKeyword;
    }, "get")
  });
  Object.defineProperty(J, "TSOptionalType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsOptionalType;
    }, "get")
  });
  Object.defineProperty(J, "TSParameterProperty", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsParameterProperty;
    }, "get")
  });
  Object.defineProperty(J, "TSParenthesizedType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsParenthesizedType;
    }, "get")
  });
  Object.defineProperty(J, "TSPropertySignature", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsPropertySignature;
    }, "get")
  });
  Object.defineProperty(J, "TSQualifiedName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsQualifiedName;
    }, "get")
  });
  Object.defineProperty(J, "TSRestType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsRestType;
    }, "get")
  });
  Object.defineProperty(J, "TSSatisfiesExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsSatisfiesExpression;
    }, "get")
  });
  Object.defineProperty(J, "TSStringKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsStringKeyword;
    }, "get")
  });
  Object.defineProperty(J, "TSSymbolKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsSymbolKeyword;
    }, "get")
  });
  Object.defineProperty(J, "TSThisType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsThisType;
    }, "get")
  });
  Object.defineProperty(J, "TSTupleType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsTupleType;
    }, "get")
  });
  Object.defineProperty(J, "TSTypeAliasDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsTypeAliasDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "TSTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "TSTypeAssertion", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsTypeAssertion;
    }, "get")
  });
  Object.defineProperty(J, "TSTypeLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsTypeLiteral;
    }, "get")
  });
  Object.defineProperty(J, "TSTypeOperator", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsTypeOperator;
    }, "get")
  });
  Object.defineProperty(J, "TSTypeParameter", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsTypeParameter;
    }, "get")
  });
  Object.defineProperty(J, "TSTypeParameterDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsTypeParameterDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "TSTypeParameterInstantiation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsTypeParameterInstantiation;
    }, "get")
  });
  Object.defineProperty(J, "TSTypePredicate", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsTypePredicate;
    }, "get")
  });
  Object.defineProperty(J, "TSTypeQuery", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsTypeQuery;
    }, "get")
  });
  Object.defineProperty(J, "TSTypeReference", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsTypeReference;
    }, "get")
  });
  Object.defineProperty(J, "TSUndefinedKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsUndefinedKeyword;
    }, "get")
  });
  Object.defineProperty(J, "TSUnionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsUnionType;
    }, "get")
  });
  Object.defineProperty(J, "TSUnknownKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsUnknownKeyword;
    }, "get")
  });
  Object.defineProperty(J, "TSVoidKeyword", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tsVoidKeyword;
    }, "get")
  });
  Object.defineProperty(J, "TaggedTemplateExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.taggedTemplateExpression;
    }, "get")
  });
  Object.defineProperty(J, "TemplateElement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.templateElement;
    }, "get")
  });
  Object.defineProperty(J, "TemplateLiteral", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.templateLiteral;
    }, "get")
  });
  Object.defineProperty(J, "ThisExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.thisExpression;
    }, "get")
  });
  Object.defineProperty(J, "ThisTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.thisTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "ThrowStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.throwStatement;
    }, "get")
  });
  Object.defineProperty(J, "TopicReference", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.topicReference;
    }, "get")
  });
  Object.defineProperty(J, "TryStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tryStatement;
    }, "get")
  });
  Object.defineProperty(J, "TupleExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tupleExpression;
    }, "get")
  });
  Object.defineProperty(J, "TupleTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.tupleTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "TypeAlias", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.typeAlias;
    }, "get")
  });
  Object.defineProperty(J, "TypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.typeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "TypeCastExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.typeCastExpression;
    }, "get")
  });
  Object.defineProperty(J, "TypeParameter", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.typeParameter;
    }, "get")
  });
  Object.defineProperty(J, "TypeParameterDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.typeParameterDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "TypeParameterInstantiation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.typeParameterInstantiation;
    }, "get")
  });
  Object.defineProperty(J, "TypeofTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.typeofTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "UnaryExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.unaryExpression;
    }, "get")
  });
  Object.defineProperty(J, "UnionTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.unionTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "UpdateExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.updateExpression;
    }, "get")
  });
  Object.defineProperty(J, "V8IntrinsicIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.v8IntrinsicIdentifier;
    }, "get")
  });
  Object.defineProperty(J, "VariableDeclaration", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.variableDeclaration;
    }, "get")
  });
  Object.defineProperty(J, "VariableDeclarator", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.variableDeclarator;
    }, "get")
  });
  Object.defineProperty(J, "Variance", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.variance;
    }, "get")
  });
  Object.defineProperty(J, "VoidTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.voidTypeAnnotation;
    }, "get")
  });
  Object.defineProperty(J, "WhileStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.whileStatement;
    }, "get")
  });
  Object.defineProperty(J, "WithStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.withStatement;
    }, "get")
  });
  Object.defineProperty(J, "YieldExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return z.yieldExpression;
    }, "get")
  });
  var z = zn();
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/builders/productions.js
var a5 = g((n5) => {
  "use strict";
  Object.defineProperty(n5, "__esModule", {
    value: !0
  });
  n5.buildUndefinedNode = jNs;
  var $de = zn();
  function jNs() {
    return (0, $de.unaryExpression)("void", (0, $de.numericLiteral)(0), !0);
  }
  n(jNs, "buildUndefinedNode");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/clone/cloneNode.js
var $p = g((l5) => {
  "use strict";
  Object.defineProperty(l5, "__esModule", {
    value: !0
  });
  l5.default = RNs;
  var Hde = ao(), Jde = di(), {
    hasOwn: _l
  } = {
    hasOwn: Function.call.bind(Object.prototype.hasOwnProperty)
  };
  function Yde(t, e, s, r) {
    return t && typeof t.type == "string" ? Xde(t, e, s, r) : t;
  }
  n(Yde, "cloneIfNode");
  function o5(t, e, s, r) {
    return Array.isArray(t) ? t.map((i) => Yde(i, e, s, r)) : Yde(t, e, s, r);
  }
  n(o5, "cloneIfNodeOrArray");
  function RNs(t, e = !0, s = !1) {
    return Xde(t, e, s, /* @__PURE__ */ new Map());
  }
  n(RNs, "cloneNode");
  function Xde(t, e = !0, s = !1, r) {
    if (!t) return t;
    let {
      type: i
    } = t, a = {
      type: t.type
    };
    if ((0, Jde.isIdentifier)(t))
      a.name = t.name, _l(t, "optional") && typeof t.optional == "boolean" && (a.optional = t.optional), _l(t, "typeAnnotation") && (a.typeAnnotation =
      e ? o5(t.typeAnnotation, !0, s, r) : t.typeAnnotation), _l(t, "decorators") && (a.decorators = e ? o5(t.decorators, !0, s, r) : t.decorators);
    else if (_l(Hde.NODE_FIELDS, i))
      for (let o of Object.keys(Hde.NODE_FIELDS[i]))
        _l(t, o) && (e ? a[o] = (0, Jde.isFile)(t) && o === "comments" ? Bv(t.comments, e, s, r) : o5(t[o], !0, s, r) : a[o] = t[o]);
    else
      throw new Error(`Unknown node type: "${i}"`);
    return _l(t, "loc") && (s ? a.loc = null : a.loc = t.loc), _l(t, "leadingComments") && (a.leadingComments = Bv(t.leadingComments, e, s, r)),
    _l(t, "innerComments") && (a.innerComments = Bv(t.innerComments, e, s, r)), _l(t, "trailingComments") && (a.trailingComments = Bv(t.trailingComments,
    e, s, r)), _l(t, "extra") && (a.extra = Object.assign({}, t.extra)), a;
  }
  n(Xde, "cloneNodeInternal");
  function Bv(t, e, s, r) {
    return !t || !e ? t : t.map((i) => {
      let a = r.get(i);
      if (a) return a;
      let {
        type: o,
        value: l,
        loc: u
      } = i, c = {
        type: o,
        value: l,
        loc: u
      };
      return s && (c.loc = null), r.set(i, c), c;
    });
  }
  n(Bv, "maybeCloneComments");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/clone/clone.js
var zde = g((u5) => {
  "use strict";
  Object.defineProperty(u5, "__esModule", {
    value: !0
  });
  u5.default = UNs;
  var qNs = $p();
  function UNs(t) {
    return (0, qNs.default)(t, !1);
  }
  n(UNs, "clone");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/clone/cloneDeep.js
var Gde = g((c5) => {
  "use strict";
  Object.defineProperty(c5, "__esModule", {
    value: !0
  });
  c5.default = VNs;
  var KNs = $p();
  function VNs(t) {
    return (0, KNs.default)(t);
  }
  n(VNs, "cloneDeep");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js
var Qde = g((p5) => {
  "use strict";
  Object.defineProperty(p5, "__esModule", {
    value: !0
  });
  p5.default = $Ns;
  var WNs = $p();
  function $Ns(t) {
    return (0, WNs.default)(t, !0, !0);
  }
  n($Ns, "cloneDeepWithoutLoc");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js
var Zde = g((h5) => {
  "use strict";
  Object.defineProperty(h5, "__esModule", {
    value: !0
  });
  h5.default = JNs;
  var HNs = $p();
  function JNs(t) {
    return (0, HNs.default)(t, !1, !0);
  }
  n(JNs, "cloneWithoutLoc");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/comments/addComments.js
var d5 = g((f5) => {
  "use strict";
  Object.defineProperty(f5, "__esModule", {
    value: !0
  });
  f5.default = YNs;
  function YNs(t, e, s) {
    if (!s || !t) return t;
    let r = `${e}Comments`;
    return t[r] ? e === "leading" ? t[r] = s.concat(t[r]) : t[r].push(...s) : t[r] = s, t;
  }
  n(YNs, "addComments");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/comments/addComment.js
var eme = g((m5) => {
  "use strict";
  Object.defineProperty(m5, "__esModule", {
    value: !0
  });
  m5.default = zNs;
  var XNs = d5();
  function zNs(t, e, s, r) {
    return (0, XNs.default)(t, e, [{
      type: r ? "CommentLine" : "CommentBlock",
      value: s
    }]);
  }
  n(zNs, "addComment");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/utils/inherit.js
var Mv = g((y5) => {
  "use strict";
  Object.defineProperty(y5, "__esModule", {
    value: !0
  });
  y5.default = GNs;
  function GNs(t, e, s) {
    e && s && (e[t] = Array.from(new Set([].concat(e[t], s[t]).filter(Boolean))));
  }
  n(GNs, "inherit");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/comments/inheritInnerComments.js
var T5 = g((g5) => {
  "use strict";
  Object.defineProperty(g5, "__esModule", {
    value: !0
  });
  g5.default = ZNs;
  var QNs = Mv();
  function ZNs(t, e) {
    (0, QNs.default)("innerComments", t, e);
  }
  n(ZNs, "inheritInnerComments");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/comments/inheritLeadingComments.js
var x5 = g((b5) => {
  "use strict";
  Object.defineProperty(b5, "__esModule", {
    value: !0
  });
  b5.default = tks;
  var eks = Mv();
  function tks(t, e) {
    (0, eks.default)("leadingComments", t, e);
  }
  n(tks, "inheritLeadingComments");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/comments/inheritTrailingComments.js
var P5 = g((S5) => {
  "use strict";
  Object.defineProperty(S5, "__esModule", {
    value: !0
  });
  S5.default = rks;
  var sks = Mv();
  function rks(t, e) {
    (0, sks.default)("trailingComments", t, e);
  }
  n(rks, "inheritTrailingComments");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/comments/inheritsComments.js
var A5 = g((E5) => {
  "use strict";
  Object.defineProperty(E5, "__esModule", {
    value: !0
  });
  E5.default = oks;
  var iks = P5(), nks = x5(), aks = T5();
  function oks(t, e) {
    return (0, iks.default)(t, e), (0, nks.default)(t, e), (0, aks.default)(t, e), t;
  }
  n(oks, "inheritsComments");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/comments/removeComments.js
var tme = g((v5) => {
  "use strict";
  Object.defineProperty(v5, "__esModule", {
    value: !0
  });
  v5.default = uks;
  var lks = Vp();
  function uks(t) {
    return lks.COMMENT_KEYS.forEach((e) => {
      t[e] = null;
    }), t;
  }
  n(uks, "removeComments");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/constants/generated/index.js
var sme = g((Ie) => {
  "use strict";
  Object.defineProperty(Ie, "__esModule", {
    value: !0
  });
  Ie.WHILE_TYPES = Ie.USERWHITESPACABLE_TYPES = Ie.UNARYLIKE_TYPES = Ie.TYPESCRIPT_TYPES = Ie.TSTYPE_TYPES = Ie.TSTYPEELEMENT_TYPES = Ie.TSENTITYNAME_TYPES =
  Ie.TSBASETYPE_TYPES = Ie.TERMINATORLESS_TYPES = Ie.STATEMENT_TYPES = Ie.STANDARDIZED_TYPES = Ie.SCOPABLE_TYPES = Ie.PUREISH_TYPES = Ie.PROPERTY_TYPES =
  Ie.PRIVATE_TYPES = Ie.PATTERN_TYPES = Ie.PATTERNLIKE_TYPES = Ie.OBJECTMEMBER_TYPES = Ie.MODULESPECIFIER_TYPES = Ie.MODULEDECLARATION_TYPES =
  Ie.MISCELLANEOUS_TYPES = Ie.METHOD_TYPES = Ie.LVAL_TYPES = Ie.LOOP_TYPES = Ie.LITERAL_TYPES = Ie.JSX_TYPES = Ie.IMPORTOREXPORTDECLARATION_TYPES =
  Ie.IMMUTABLE_TYPES = Ie.FUNCTION_TYPES = Ie.FUNCTIONPARENT_TYPES = Ie.FOR_TYPES = Ie.FORXSTATEMENT_TYPES = Ie.FLOW_TYPES = Ie.FLOWTYPE_TYPES =
  Ie.FLOWPREDICATE_TYPES = Ie.FLOWDECLARATION_TYPES = Ie.FLOWBASEANNOTATION_TYPES = Ie.EXPRESSION_TYPES = Ie.EXPRESSIONWRAPPER_TYPES = Ie.EXPORTDECLARATION_TYPES =
  Ie.ENUMMEMBER_TYPES = Ie.ENUMBODY_TYPES = Ie.DECLARATION_TYPES = Ie.CONDITIONAL_TYPES = Ie.COMPLETIONSTATEMENT_TYPES = Ie.CLASS_TYPES = Ie.
  BLOCK_TYPES = Ie.BLOCKPARENT_TYPES = Ie.BINARY_TYPES = Ie.ACCESSOR_TYPES = void 0;
  var Ht = ao(), qnr = Ie.STANDARDIZED_TYPES = Ht.FLIPPED_ALIAS_KEYS.Standardized, Unr = Ie.EXPRESSION_TYPES = Ht.FLIPPED_ALIAS_KEYS.Expression,
  Knr = Ie.BINARY_TYPES = Ht.FLIPPED_ALIAS_KEYS.Binary, Vnr = Ie.SCOPABLE_TYPES = Ht.FLIPPED_ALIAS_KEYS.Scopable, Wnr = Ie.BLOCKPARENT_TYPES =
  Ht.FLIPPED_ALIAS_KEYS.BlockParent, $nr = Ie.BLOCK_TYPES = Ht.FLIPPED_ALIAS_KEYS.Block, Hnr = Ie.STATEMENT_TYPES = Ht.FLIPPED_ALIAS_KEYS.Statement,
  Jnr = Ie.TERMINATORLESS_TYPES = Ht.FLIPPED_ALIAS_KEYS.Terminatorless, Ynr = Ie.COMPLETIONSTATEMENT_TYPES = Ht.FLIPPED_ALIAS_KEYS.CompletionStatement,
  Xnr = Ie.CONDITIONAL_TYPES = Ht.FLIPPED_ALIAS_KEYS.Conditional, znr = Ie.LOOP_TYPES = Ht.FLIPPED_ALIAS_KEYS.Loop, Gnr = Ie.WHILE_TYPES = Ht.
  FLIPPED_ALIAS_KEYS.While, Qnr = Ie.EXPRESSIONWRAPPER_TYPES = Ht.FLIPPED_ALIAS_KEYS.ExpressionWrapper, Znr = Ie.FOR_TYPES = Ht.FLIPPED_ALIAS_KEYS.
  For, ear = Ie.FORXSTATEMENT_TYPES = Ht.FLIPPED_ALIAS_KEYS.ForXStatement, tar = Ie.FUNCTION_TYPES = Ht.FLIPPED_ALIAS_KEYS.Function, sar = Ie.
  FUNCTIONPARENT_TYPES = Ht.FLIPPED_ALIAS_KEYS.FunctionParent, rar = Ie.PUREISH_TYPES = Ht.FLIPPED_ALIAS_KEYS.Pureish, iar = Ie.DECLARATION_TYPES =
  Ht.FLIPPED_ALIAS_KEYS.Declaration, nar = Ie.PATTERNLIKE_TYPES = Ht.FLIPPED_ALIAS_KEYS.PatternLike, aar = Ie.LVAL_TYPES = Ht.FLIPPED_ALIAS_KEYS.
  LVal, oar = Ie.TSENTITYNAME_TYPES = Ht.FLIPPED_ALIAS_KEYS.TSEntityName, lar = Ie.LITERAL_TYPES = Ht.FLIPPED_ALIAS_KEYS.Literal, uar = Ie.IMMUTABLE_TYPES =
  Ht.FLIPPED_ALIAS_KEYS.Immutable, car = Ie.USERWHITESPACABLE_TYPES = Ht.FLIPPED_ALIAS_KEYS.UserWhitespacable, par = Ie.METHOD_TYPES = Ht.FLIPPED_ALIAS_KEYS.
  Method, har = Ie.OBJECTMEMBER_TYPES = Ht.FLIPPED_ALIAS_KEYS.ObjectMember, far = Ie.PROPERTY_TYPES = Ht.FLIPPED_ALIAS_KEYS.Property, dar = Ie.
  UNARYLIKE_TYPES = Ht.FLIPPED_ALIAS_KEYS.UnaryLike, mar = Ie.PATTERN_TYPES = Ht.FLIPPED_ALIAS_KEYS.Pattern, yar = Ie.CLASS_TYPES = Ht.FLIPPED_ALIAS_KEYS.
  Class, cks = Ie.IMPORTOREXPORTDECLARATION_TYPES = Ht.FLIPPED_ALIAS_KEYS.ImportOrExportDeclaration, gar = Ie.EXPORTDECLARATION_TYPES = Ht.FLIPPED_ALIAS_KEYS.
  ExportDeclaration, Tar = Ie.MODULESPECIFIER_TYPES = Ht.FLIPPED_ALIAS_KEYS.ModuleSpecifier, bar = Ie.ACCESSOR_TYPES = Ht.FLIPPED_ALIAS_KEYS.
  Accessor, xar = Ie.PRIVATE_TYPES = Ht.FLIPPED_ALIAS_KEYS.Private, Sar = Ie.FLOW_TYPES = Ht.FLIPPED_ALIAS_KEYS.Flow, Par = Ie.FLOWTYPE_TYPES =
  Ht.FLIPPED_ALIAS_KEYS.FlowType, Ear = Ie.FLOWBASEANNOTATION_TYPES = Ht.FLIPPED_ALIAS_KEYS.FlowBaseAnnotation, Aar = Ie.FLOWDECLARATION_TYPES =
  Ht.FLIPPED_ALIAS_KEYS.FlowDeclaration, Car = Ie.FLOWPREDICATE_TYPES = Ht.FLIPPED_ALIAS_KEYS.FlowPredicate, war = Ie.ENUMBODY_TYPES = Ht.FLIPPED_ALIAS_KEYS.
  EnumBody, Iar = Ie.ENUMMEMBER_TYPES = Ht.FLIPPED_ALIAS_KEYS.EnumMember, Nar = Ie.JSX_TYPES = Ht.FLIPPED_ALIAS_KEYS.JSX, kar = Ie.MISCELLANEOUS_TYPES =
  Ht.FLIPPED_ALIAS_KEYS.Miscellaneous, Dar = Ie.TYPESCRIPT_TYPES = Ht.FLIPPED_ALIAS_KEYS.TypeScript, Oar = Ie.TSTYPEELEMENT_TYPES = Ht.FLIPPED_ALIAS_KEYS.
  TSTypeElement, _ar = Ie.TSTYPE_TYPES = Ht.FLIPPED_ALIAS_KEYS.TSType, Lar = Ie.TSBASETYPE_TYPES = Ht.FLIPPED_ALIAS_KEYS.TSBaseType, Bar = Ie.
  MODULEDECLARATION_TYPES = cks;
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/converters/toBlock.js
var I5 = g((w5) => {
  "use strict";
  Object.defineProperty(w5, "__esModule", {
    value: !0
  });
  w5.default = pks;
  var Fv = di(), C5 = zn();
  function pks(t, e) {
    if ((0, Fv.isBlockStatement)(t))
      return t;
    let s = [];
    return (0, Fv.isEmptyStatement)(t) ? s = [] : ((0, Fv.isStatement)(t) || ((0, Fv.isFunction)(e) ? t = (0, C5.returnStatement)(t) : t = (0, C5.
    expressionStatement)(t)), s = [t]), (0, C5.blockStatement)(s);
  }
  n(pks, "toBlock");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/converters/ensureBlock.js
var rme = g((N5) => {
  "use strict";
  Object.defineProperty(N5, "__esModule", {
    value: !0
  });
  N5.default = fks;
  var hks = I5();
  function fks(t, e = "body") {
    let s = (0, hks.default)(t[e], t);
    return t[e] = s, s;
  }
  n(fks, "ensureBlock");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/converters/toIdentifier.js
var D5 = g((k5) => {
  "use strict";
  Object.defineProperty(k5, "__esModule", {
    value: !0
  });
  k5.default = yks;
  var dks = xy(), mks = ba();
  function yks(t) {
    t = t + "";
    let e = "";
    for (let s of t)
      e += (0, mks.isIdentifierChar)(s.codePointAt(0)) ? s : "-";
    return e = e.replace(/^[-0-9]+/, ""), e = e.replace(/[-\s]+(.)?/g, function(s, r) {
      return r ? r.toUpperCase() : "";
    }), (0, dks.default)(e) || (e = `_${e}`), e || "_";
  }
  n(yks, "toIdentifier");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js
var ime = g((O5) => {
  "use strict";
  Object.defineProperty(O5, "__esModule", {
    value: !0
  });
  O5.default = Tks;
  var gks = D5();
  function Tks(t) {
    return t = (0, gks.default)(t), (t === "eval" || t === "arguments") && (t = "_" + t), t;
  }
  n(Tks, "toBindingIdentifierName");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/converters/toComputedKey.js
var nme = g((_5) => {
  "use strict";
  Object.defineProperty(_5, "__esModule", {
    value: !0
  });
  _5.default = Sks;
  var bks = di(), xks = zn();
  function Sks(t, e = t.key || t.property) {
    return !t.computed && (0, bks.isIdentifier)(e) && (e = (0, xks.stringLiteral)(e.name)), e;
  }
  n(Sks, "toComputedKey");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/converters/toExpression.js
var ame = g((jv) => {
  "use strict";
  Object.defineProperty(jv, "__esModule", {
    value: !0
  });
  jv.default = void 0;
  var rb = di(), Jar = jv.default = Pks;
  function Pks(t) {
    if ((0, rb.isExpressionStatement)(t) && (t = t.expression), (0, rb.isExpression)(t))
      return t;
    if ((0, rb.isClass)(t) ? t.type = "ClassExpression" : (0, rb.isFunction)(t) && (t.type = "FunctionExpression"), !(0, rb.isExpression)(t))
      throw new Error(`cannot turn ${t.type} to an expression`);
    return t;
  }
  n(Pks, "toExpression");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/traverse/traverseFast.js
var M5 = g((B5) => {
  "use strict";
  Object.defineProperty(B5, "__esModule", {
    value: !0
  });
  B5.default = L5;
  var Eks = ao();
  function L5(t, e, s) {
    if (!t) return;
    let r = Eks.VISITOR_KEYS[t.type];
    if (r) {
      s = s || {}, e(t, s);
      for (let i of r) {
        let a = t[i];
        if (Array.isArray(a))
          for (let o of a)
            L5(o, e, s);
        else
          L5(a, e, s);
      }
    }
  }
  n(L5, "traverseFast");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/modifications/removeProperties.js
var j5 = g((F5) => {
  "use strict";
  Object.defineProperty(F5, "__esModule", {
    value: !0
  });
  F5.default = Cks;
  var Aks = Vp(), ome = ["tokens", "start", "end", "loc", "raw", "rawValue"], vks = [...Aks.COMMENT_KEYS, "comments", ...ome];
  function Cks(t, e = {}) {
    let s = e.preserveComments ? ome : vks;
    for (let i of s)
      t[i] != null && (t[i] = void 0);
    for (let i of Object.keys(t))
      i[0] === "_" && t[i] != null && (t[i] = void 0);
    let r = Object.getOwnPropertySymbols(t);
    for (let i of r)
      t[i] = null;
  }
  n(Cks, "removeProperties");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js
var q5 = g((R5) => {
  "use strict";
  Object.defineProperty(R5, "__esModule", {
    value: !0
  });
  R5.default = Nks;
  var wks = M5(), Iks = j5();
  function Nks(t, e) {
    return (0, wks.default)(t, Iks.default, e), t;
  }
  n(Nks, "removePropertiesDeep");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/converters/toKeyAlias.js
var ume = g((U5) => {
  "use strict";
  Object.defineProperty(U5, "__esModule", {
    value: !0
  });
  U5.default = jf;
  var lme = di(), kks = $p(), Dks = q5();
  function jf(t, e = t.key) {
    let s;
    return t.kind === "method" ? jf.increment() + "" : ((0, lme.isIdentifier)(e) ? s = e.name : (0, lme.isStringLiteral)(e) ? s = JSON.stringify(
    e.value) : s = JSON.stringify((0, Dks.default)((0, kks.default)(e))), t.computed && (s = `[${s}]`), t.static && (s = `static:${s}`), s);
  }
  n(jf, "toKeyAlias");
  jf.uid = 0;
  jf.increment = function() {
    return jf.uid >= Number.MAX_SAFE_INTEGER ? jf.uid = 0 : jf.uid++;
  };
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/converters/toStatement.js
var cme = g((qv) => {
  "use strict";
  Object.defineProperty(qv, "__esModule", {
    value: !0
  });
  qv.default = void 0;
  var Rv = di(), Oks = zn(), ior = qv.default = _ks;
  function _ks(t, e) {
    if ((0, Rv.isStatement)(t))
      return t;
    let s = !1, r;
    if ((0, Rv.isClass)(t))
      s = !0, r = "ClassDeclaration";
    else if ((0, Rv.isFunction)(t))
      s = !0, r = "FunctionDeclaration";
    else if ((0, Rv.isAssignmentExpression)(t))
      return (0, Oks.expressionStatement)(t);
    if (s && !t.id && (r = !1), !r) {
      if (e)
        return !1;
      throw new Error(`cannot turn ${t.type} to a statement`);
    }
    return t.type = r, t;
  }
  n(_ks, "toStatement");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/converters/valueToNode.js
var pme = g((Uv) => {
  "use strict";
  Object.defineProperty(Uv, "__esModule", {
    value: !0
  });
  Uv.default = void 0;
  var Lks = xy(), pn = zn(), oor = Uv.default = K5, Bks = Function.call.bind(Object.prototype.toString);
  function Mks(t) {
    return Bks(t) === "[object RegExp]";
  }
  n(Mks, "isRegExp");
  function Fks(t) {
    if (typeof t != "object" || t === null || Object.prototype.toString.call(t) !== "[object Object]")
      return !1;
    let e = Object.getPrototypeOf(t);
    return e === null || Object.getPrototypeOf(e) === null;
  }
  n(Fks, "isPlainObject");
  function K5(t) {
    if (t === void 0)
      return (0, pn.identifier)("undefined");
    if (t === !0 || t === !1)
      return (0, pn.booleanLiteral)(t);
    if (t === null)
      return (0, pn.nullLiteral)();
    if (typeof t == "string")
      return (0, pn.stringLiteral)(t);
    if (typeof t == "number") {
      let e;
      if (Number.isFinite(t))
        e = (0, pn.numericLiteral)(Math.abs(t));
      else {
        let s;
        Number.isNaN(t) ? s = (0, pn.numericLiteral)(0) : s = (0, pn.numericLiteral)(1), e = (0, pn.binaryExpression)("/", s, (0, pn.numericLiteral)(
        0));
      }
      return (t < 0 || Object.is(t, -0)) && (e = (0, pn.unaryExpression)("-", e)), e;
    }
    if (Mks(t)) {
      let e = t.source, s = /\/([a-z]*)$/.exec(t.toString())[1];
      return (0, pn.regExpLiteral)(e, s);
    }
    if (Array.isArray(t))
      return (0, pn.arrayExpression)(t.map(K5));
    if (Fks(t)) {
      let e = [];
      for (let s of Object.keys(t)) {
        let r;
        (0, Lks.default)(s) ? r = (0, pn.identifier)(s) : r = (0, pn.stringLiteral)(s), e.push((0, pn.objectProperty)(r, K5(t[s])));
      }
      return (0, pn.objectExpression)(e);
    }
    throw new Error("don't know how to turn this value into a node");
  }
  n(K5, "valueToNode");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js
var hme = g((V5) => {
  "use strict";
  Object.defineProperty(V5, "__esModule", {
    value: !0
  });
  V5.default = Rks;
  var jks = zn();
  function Rks(t, e, s = !1) {
    return t.object = (0, jks.memberExpression)(t.object, t.property, t.computed), t.property = e, t.computed = !!s, t;
  }
  n(Rks, "appendToMemberExpression");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/modifications/inherits.js
var dme = g((W5) => {
  "use strict";
  Object.defineProperty(W5, "__esModule", {
    value: !0
  });
  W5.default = Uks;
  var fme = Vp(), qks = A5();
  function Uks(t, e) {
    if (!t || !e) return t;
    for (let s of fme.INHERIT_KEYS.optional)
      t[s] == null && (t[s] = e[s]);
    for (let s of Object.keys(e))
      s[0] === "_" && s !== "__clone" && (t[s] = e[s]);
    for (let s of fme.INHERIT_KEYS.force)
      t[s] = e[s];
    return (0, qks.default)(t, e), t;
  }
  n(Uks, "inherits");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js
var mme = g(($5) => {
  "use strict";
  Object.defineProperty($5, "__esModule", {
    value: !0
  });
  $5.default = Wks;
  var Kks = zn(), Vks = Fr();
  function Wks(t, e) {
    if ((0, Vks.isSuper)(t.object))
      throw new Error("Cannot prepend node to super property access (`super.foo`).");
    return t.object = (0, Kks.memberExpression)(e, t.object), t;
  }
  n(Wks, "prependToMemberExpression");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js
var yme = g((H5) => {
  "use strict";
  Object.defineProperty(H5, "__esModule", {
    value: !0
  });
  H5.default = $ks;
  function $ks(t) {
    let e = [].concat(t), s = /* @__PURE__ */ Object.create(null);
    for (; e.length; ) {
      let r = e.pop();
      if (r)
        switch (r.type) {
          case "ArrayPattern":
            e.push(...r.elements);
            break;
          case "AssignmentExpression":
          case "AssignmentPattern":
          case "ForInStatement":
          case "ForOfStatement":
            e.push(r.left);
            break;
          case "ObjectPattern":
            e.push(...r.properties);
            break;
          case "ObjectProperty":
            e.push(r.value);
            break;
          case "RestElement":
          case "UpdateExpression":
            e.push(r.argument);
            break;
          case "UnaryExpression":
            r.operator === "delete" && e.push(r.argument);
            break;
          case "Identifier":
            s[r.name] = r;
            break;
          default:
            break;
        }
    }
    return s;
  }
  n($ks, "getAssignmentIdentifiers");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js
var ib = g((Y5) => {
  "use strict";
  Object.defineProperty(Y5, "__esModule", {
    value: !0
  });
  Y5.default = J5;
  var dc = di();
  function J5(t, e, s, r) {
    let i = [].concat(t), a = /* @__PURE__ */ Object.create(null);
    for (; i.length; ) {
      let o = i.shift();
      if (!o || r && ((0, dc.isAssignmentExpression)(o) || (0, dc.isUnaryExpression)(o) || (0, dc.isUpdateExpression)(o)))
        continue;
      if ((0, dc.isIdentifier)(o)) {
        e ? (a[o.name] = a[o.name] || []).push(o) : a[o.name] = o;
        continue;
      }
      if ((0, dc.isExportDeclaration)(o) && !(0, dc.isExportAllDeclaration)(o)) {
        (0, dc.isDeclaration)(o.declaration) && i.push(o.declaration);
        continue;
      }
      if (s) {
        if ((0, dc.isFunctionDeclaration)(o)) {
          i.push(o.id);
          continue;
        }
        if ((0, dc.isFunctionExpression)(o))
          continue;
      }
      let l = J5.keys[o.type];
      if (l)
        for (let u = 0; u < l.length; u++) {
          let c = l[u], p = o[c];
          p && (Array.isArray(p) ? i.push(...p) : i.push(p));
        }
    }
    return a;
  }
  n(J5, "getBindingIdentifiers");
  var Hks = {
    DeclareClass: ["id"],
    DeclareFunction: ["id"],
    DeclareModule: ["id"],
    DeclareVariable: ["id"],
    DeclareInterface: ["id"],
    DeclareTypeAlias: ["id"],
    DeclareOpaqueType: ["id"],
    InterfaceDeclaration: ["id"],
    TypeAlias: ["id"],
    OpaqueType: ["id"],
    CatchClause: ["param"],
    LabeledStatement: ["label"],
    UnaryExpression: ["argument"],
    AssignmentExpression: ["left"],
    ImportSpecifier: ["local"],
    ImportNamespaceSpecifier: ["local"],
    ImportDefaultSpecifier: ["local"],
    ImportDeclaration: ["specifiers"],
    ExportSpecifier: ["exported"],
    ExportNamespaceSpecifier: ["exported"],
    ExportDefaultSpecifier: ["exported"],
    FunctionDeclaration: ["id", "params"],
    FunctionExpression: ["id", "params"],
    ArrowFunctionExpression: ["params"],
    ObjectMethod: ["params"],
    ClassMethod: ["params"],
    ClassPrivateMethod: ["params"],
    ForInStatement: ["left"],
    ForOfStatement: ["left"],
    ClassDeclaration: ["id"],
    ClassExpression: ["id"],
    RestElement: ["argument"],
    UpdateExpression: ["argument"],
    ObjectProperty: ["value"],
    AssignmentPattern: ["left"],
    ArrayPattern: ["elements"],
    ObjectPattern: ["properties"],
    VariableDeclaration: ["declarations"],
    VariableDeclarator: ["id"]
  };
  J5.keys = Hks;
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js
var gme = g((Kv) => {
  "use strict";
  Object.defineProperty(Kv, "__esModule", {
    value: !0
  });
  Kv.default = void 0;
  var Jks = ib(), Sor = Kv.default = Yks;
  function Yks(t, e) {
    return (0, Jks.default)(t, e, !0);
  }
  n(Yks, "getOuterBindingIdentifiers");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/retrievers/getFunctionName.js
var bme = g((X5) => {
  "use strict";
  Object.defineProperty(X5, "__esModule", {
    value: !0
  });
  X5.default = zks;
  var lo = di();
  function Xks(t) {
    return (0, lo.isNullLiteral)(t) ? "null" : (0, lo.isRegExpLiteral)(t) ? `/${t.pattern}/${t.flags}` : (0, lo.isTemplateLiteral)(t) ? t.quasis.
    map((e) => e.value.raw).join("") : t.value !== void 0 ? String(t.value) : null;
  }
  n(Xks, "getNameFromLiteralId");
  function Tme(t) {
    if (!t.computed || (0, lo.isLiteral)(t.key))
      return t.key;
  }
  n(Tme, "getObjectMemberKey");
  function zks(t, e) {
    if ("id" in t && t.id)
      return {
        name: t.id.name,
        originalNode: t.id
      };
    let s = "", r;
    if ((0, lo.isObjectProperty)(e, {
      value: t
    }) ? r = Tme(e) : (0, lo.isObjectMethod)(t) || (0, lo.isClassMethod)(t) ? (r = Tme(t), t.kind === "get" ? s = "get " : t.kind === "set" &&
    (s = "set ")) : (0, lo.isVariableDeclarator)(e, {
      init: t
    }) ? r = e.id : (0, lo.isAssignmentExpression)(e, {
      operator: "=",
      right: t
    }) && (r = e.left), !r) return null;
    let i = (0, lo.isLiteral)(r) ? Xks(r) : (0, lo.isIdentifier)(r) ? r.name : (0, lo.isPrivateName)(r) ? r.id.name : null;
    return i == null ? null : {
      name: s + i,
      originalNode: r
    };
  }
  n(zks, "getFunctionName");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/traverse/traverse.js
var xme = g((G5) => {
  "use strict";
  Object.defineProperty(G5, "__esModule", {
    value: !0
  });
  G5.default = Qks;
  var Gks = ao();
  function Qks(t, e, s) {
    typeof e == "function" && (e = {
      enter: e
    });
    let {
      enter: r,
      exit: i
    } = e;
    z5(t, r, i, s, []);
  }
  n(Qks, "traverse");
  function z5(t, e, s, r, i) {
    let a = Gks.VISITOR_KEYS[t.type];
    if (a) {
      e && e(t, i, r);
      for (let o of a) {
        let l = t[o];
        if (Array.isArray(l))
          for (let u = 0; u < l.length; u++) {
            let c = l[u];
            c && (i.push({
              node: t,
              key: o,
              index: u
            }), z5(c, e, s, r, i), i.pop());
          }
        else l && (i.push({
          node: t,
          key: o
        }), z5(l, e, s, r, i), i.pop());
      }
      s && s(t, i, r);
    }
  }
  n(z5, "traverseSimpleImpl");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/isBinding.js
var Sme = g((Q5) => {
  "use strict";
  Object.defineProperty(Q5, "__esModule", {
    value: !0
  });
  Q5.default = eDs;
  var Zks = ib();
  function eDs(t, e, s) {
    if (s && t.type === "Identifier" && e.type === "ObjectProperty" && s.type === "ObjectExpression")
      return !1;
    let r = Zks.default.keys[e.type];
    if (r)
      for (let i = 0; i < r.length; i++) {
        let a = r[i], o = e[a];
        if (Array.isArray(o)) {
          if (o.includes(t)) return !0;
        } else if (o === t) return !0;
      }
    return !1;
  }
  n(eDs, "isBinding");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/isLet.js
var e9 = g((Z5) => {
  "use strict";
  Object.defineProperty(Z5, "__esModule", {
    value: !0
  });
  Z5.default = rDs;
  var tDs = di(), sDs = Vp();
  function rDs(t) {
    return (0, tDs.isVariableDeclaration)(t) && (t.kind !== "var" || t[sDs.BLOCK_SCOPED_SYMBOL]);
  }
  n(rDs, "isLet");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/isBlockScoped.js
var Eme = g((t9) => {
  "use strict";
  Object.defineProperty(t9, "__esModule", {
    value: !0
  });
  t9.default = nDs;
  var Pme = di(), iDs = e9();
  function nDs(t) {
    return (0, Pme.isFunctionDeclaration)(t) || (0, Pme.isClassDeclaration)(t) || (0, iDs.default)(t);
  }
  n(nDs, "isBlockScoped");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/isImmutable.js
var Ame = g((s9) => {
  "use strict";
  Object.defineProperty(s9, "__esModule", {
    value: !0
  });
  s9.default = lDs;
  var aDs = Av(), oDs = di();
  function lDs(t) {
    return (0, aDs.default)(t.type, "Immutable") ? !0 : (0, oDs.isIdentifier)(t) ? t.name === "undefined" : !1;
  }
  n(lDs, "isImmutable");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/isNodesEquivalent.js
var Cme = g((i9) => {
  "use strict";
  Object.defineProperty(i9, "__esModule", {
    value: !0
  });
  i9.default = r9;
  var vme = ao();
  function r9(t, e) {
    if (typeof t != "object" || typeof e != "object" || t == null || e == null)
      return t === e;
    if (t.type !== e.type)
      return !1;
    let s = Object.keys(vme.NODE_FIELDS[t.type] || t.type), r = vme.VISITOR_KEYS[t.type];
    for (let i of s) {
      let a = t[i], o = e[i];
      if (typeof a != typeof o)
        return !1;
      if (!(a == null && o == null)) {
        if (a == null || o == null)
          return !1;
        if (Array.isArray(a)) {
          if (!Array.isArray(o) || a.length !== o.length)
            return !1;
          for (let l = 0; l < a.length; l++)
            if (!r9(a[l], o[l]))
              return !1;
          continue;
        }
        if (typeof a == "object" && !(r != null && r.includes(i))) {
          for (let l of Object.keys(a))
            if (a[l] !== o[l])
              return !1;
          continue;
        }
        if (!r9(a, o))
          return !1;
      }
    }
    return !0;
  }
  n(r9, "isNodesEquivalent");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/isReferenced.js
var wme = g((n9) => {
  "use strict";
  Object.defineProperty(n9, "__esModule", {
    value: !0
  });
  n9.default = uDs;
  function uDs(t, e, s) {
    switch (e.type) {
      case "MemberExpression":
      case "OptionalMemberExpression":
        return e.property === t ? !!e.computed : e.object === t;
      case "JSXMemberExpression":
        return e.object === t;
      case "VariableDeclarator":
        return e.init === t;
      case "ArrowFunctionExpression":
        return e.body === t;
      case "PrivateName":
        return !1;
      case "ClassMethod":
      case "ClassPrivateMethod":
      case "ObjectMethod":
        return e.key === t ? !!e.computed : !1;
      case "ObjectProperty":
        return e.key === t ? !!e.computed : !s || s.type !== "ObjectPattern";
      case "ClassProperty":
      case "ClassAccessorProperty":
        return e.key === t ? !!e.computed : !0;
      case "ClassPrivateProperty":
        return e.key !== t;
      case "ClassDeclaration":
      case "ClassExpression":
        return e.superClass === t;
      case "AssignmentExpression":
        return e.right === t;
      case "AssignmentPattern":
        return e.right === t;
      case "LabeledStatement":
        return !1;
      case "CatchClause":
        return !1;
      case "RestElement":
        return !1;
      case "BreakStatement":
      case "ContinueStatement":
        return !1;
      case "FunctionDeclaration":
      case "FunctionExpression":
        return !1;
      case "ExportNamespaceSpecifier":
      case "ExportDefaultSpecifier":
        return !1;
      case "ExportSpecifier":
        return s != null && s.source ? !1 : e.local === t;
      case "ImportDefaultSpecifier":
      case "ImportNamespaceSpecifier":
      case "ImportSpecifier":
        return !1;
      case "ImportAttribute":
        return !1;
      case "JSXAttribute":
        return !1;
      case "ObjectPattern":
      case "ArrayPattern":
        return !1;
      case "MetaProperty":
        return !1;
      case "ObjectTypeProperty":
        return e.key !== t;
      case "TSEnumMember":
        return e.id !== t;
      case "TSPropertySignature":
        return e.key === t ? !!e.computed : !0;
    }
    return !0;
  }
  n(uDs, "isReferenced");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/isScope.js
var Ime = g((a9) => {
  "use strict";
  Object.defineProperty(a9, "__esModule", {
    value: !0
  });
  a9.default = cDs;
  var Rf = di();
  function cDs(t, e) {
    return (0, Rf.isBlockStatement)(t) && ((0, Rf.isFunction)(e) || (0, Rf.isCatchClause)(e)) ? !1 : (0, Rf.isPattern)(t) && ((0, Rf.isFunction)(
    e) || (0, Rf.isCatchClause)(e)) ? !0 : (0, Rf.isScopable)(t);
  }
  n(cDs, "isScope");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/isSpecifierDefault.js
var kme = g((o9) => {
  "use strict";
  Object.defineProperty(o9, "__esModule", {
    value: !0
  });
  o9.default = pDs;
  var Nme = di();
  function pDs(t) {
    return (0, Nme.isImportDefaultSpecifier)(t) || (0, Nme.isIdentifier)(t.imported || t.exported, {
      name: "default"
    });
  }
  n(pDs, "isSpecifierDefault");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/isValidES3Identifier.js
var Dme = g((l9) => {
  "use strict";
  Object.defineProperty(l9, "__esModule", {
    value: !0
  });
  l9.default = dDs;
  var hDs = xy(), fDs = /* @__PURE__ */ new Set(["abstract", "boolean", "byte", "char", "double", "enum", "final", "float", "goto", "impleme\
nts", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "synchronized", "throws", "trans\
ient", "volatile"]);
  function dDs(t) {
    return (0, hDs.default)(t) && !fDs.has(t);
  }
  n(dDs, "isValidES3Identifier");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/validators/isVar.js
var Ome = g((u9) => {
  "use strict";
  Object.defineProperty(u9, "__esModule", {
    value: !0
  });
  u9.default = gDs;
  var mDs = di(), yDs = Vp();
  function gDs(t) {
    return (0, mDs.isVariableDeclaration)(t, {
      kind: "var"
    }) && !t[yDs.BLOCK_SCOPED_SYMBOL];
  }
  n(gDs, "isVar");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js
var _me = g((h9) => {
  "use strict";
  Object.defineProperty(h9, "__esModule", {
    value: !0
  });
  h9.default = Vv;
  var TDs = ib(), qf = di(), c9 = zn(), p9 = a5(), bDs = $p();
  function Vv(t, e) {
    let s = [], r = !0;
    for (let i of t)
      if ((0, qf.isEmptyStatement)(i) || (r = !1), (0, qf.isExpression)(i))
        s.push(i);
      else if ((0, qf.isExpressionStatement)(i))
        s.push(i.expression);
      else if ((0, qf.isVariableDeclaration)(i)) {
        if (i.kind !== "var") return;
        for (let a of i.declarations) {
          let o = (0, TDs.default)(a);
          for (let l of Object.keys(o))
            e.push({
              kind: i.kind,
              id: (0, bDs.default)(o[l])
            });
          a.init && s.push((0, c9.assignmentExpression)("=", a.id, a.init));
        }
        r = !0;
      } else if ((0, qf.isIfStatement)(i)) {
        let a = i.consequent ? Vv([i.consequent], e) : (0, p9.buildUndefinedNode)(), o = i.alternate ? Vv([i.alternate], e) : (0, p9.buildUndefinedNode)();
        if (!a || !o) return;
        s.push((0, c9.conditionalExpression)(i.test, a, o));
      } else if ((0, qf.isBlockStatement)(i)) {
        let a = Vv(i.body, e);
        if (!a) return;
        s.push(a);
      } else if ((0, qf.isEmptyStatement)(i))
        t.indexOf(i) === 0 && (r = !0);
      else
        return;
    return r && s.push((0, p9.buildUndefinedNode)()), s.length === 1 ? s[0] : (0, c9.sequenceExpression)(s);
  }
  n(Vv, "gatherSequenceExpressions");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/converters/toSequenceExpression.js
var Lme = g((f9) => {
  "use strict";
  Object.defineProperty(f9, "__esModule", {
    value: !0
  });
  f9.default = SDs;
  var xDs = _me();
  function SDs(t, e) {
    if (!(t != null && t.length)) return;
    let s = [], r = (0, xDs.default)(t, s);
    if (r) {
      for (let i of s)
        e.push(i);
      return r;
    }
  }
  n(SDs, "toSequenceExpression");
});

// ../node_modules/@babel/traverse/node_modules/@babel/types/lib/index.js
var Fr = g((Le) => {
  "use strict";
  Object.defineProperty(Le, "__esModule", {
    value: !0
  });
  var mc = {
    react: !0,
    assertNode: !0,
    createTypeAnnotationBasedOnTypeof: !0,
    createUnionTypeAnnotation: !0,
    createFlowUnionType: !0,
    createTSUnionType: !0,
    cloneNode: !0,
    clone: !0,
    cloneDeep: !0,
    cloneDeepWithoutLoc: !0,
    cloneWithoutLoc: !0,
    addComment: !0,
    addComments: !0,
    inheritInnerComments: !0,
    inheritLeadingComments: !0,
    inheritsComments: !0,
    inheritTrailingComments: !0,
    removeComments: !0,
    ensureBlock: !0,
    toBindingIdentifierName: !0,
    toBlock: !0,
    toComputedKey: !0,
    toExpression: !0,
    toIdentifier: !0,
    toKeyAlias: !0,
    toStatement: !0,
    valueToNode: !0,
    appendToMemberExpression: !0,
    inherits: !0,
    prependToMemberExpression: !0,
    removeProperties: !0,
    removePropertiesDeep: !0,
    removeTypeDuplicates: !0,
    getAssignmentIdentifiers: !0,
    getBindingIdentifiers: !0,
    getOuterBindingIdentifiers: !0,
    getFunctionName: !0,
    traverse: !0,
    traverseFast: !0,
    shallowEqual: !0,
    is: !0,
    isBinding: !0,
    isBlockScoped: !0,
    isImmutable: !0,
    isLet: !0,
    isNode: !0,
    isNodesEquivalent: !0,
    isPlaceholderType: !0,
    isReferenced: !0,
    isScope: !0,
    isSpecifierDefault: !0,
    isType: !0,
    isValidES3Identifier: !0,
    isValidIdentifier: !0,
    isVar: !0,
    matchesPattern: !0,
    validate: !0,
    buildMatchMemberExpression: !0,
    __internal__deprecationWarning: !0
  };
  Object.defineProperty(Le, "__internal__deprecationWarning", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return vOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "addComment", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return _Ds.default;
    }, "get")
  });
  Object.defineProperty(Le, "addComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return LDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "appendToMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return XDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "assertNode", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return vDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "buildMatchMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return AOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "clone", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return NDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "cloneDeep", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return kDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "cloneDeepWithoutLoc", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return DDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "cloneNode", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return IDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "cloneWithoutLoc", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return ODs.default;
    }, "get")
  });
  Object.defineProperty(Le, "createFlowUnionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Bme.default;
    }, "get")
  });
  Object.defineProperty(Le, "createTSUnionType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return wDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "createTypeAnnotationBasedOnTypeof", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return CDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "createUnionTypeAnnotation", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Bme.default;
    }, "get")
  });
  Object.defineProperty(Le, "ensureBlock", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return qDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "getAssignmentIdentifiers", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return tOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "getBindingIdentifiers", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return sOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "getFunctionName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return iOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "getOuterBindingIdentifiers", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return rOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "inheritInnerComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return BDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "inheritLeadingComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return MDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "inheritTrailingComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return jDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "inherits", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return zDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "inheritsComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return FDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "is", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return oOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "isBinding", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return lOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "isBlockScoped", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return uOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "isImmutable", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return cOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "isLet", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return pOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "isNode", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return hOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "isNodesEquivalent", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return fOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "isPlaceholderType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return dOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "isReferenced", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return mOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "isScope", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return yOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "isSpecifierDefault", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return gOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "isType", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return TOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "isValidES3Identifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return bOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "isValidIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return xOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "isVar", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return SOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "matchesPattern", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return POs.default;
    }, "get")
  });
  Object.defineProperty(Le, "prependToMemberExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return GDs.default;
    }, "get")
  });
  Le.react = void 0;
  Object.defineProperty(Le, "removeComments", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return RDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "removeProperties", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return QDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "removePropertiesDeep", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return ZDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "removeTypeDuplicates", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return eOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "shallowEqual", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return aOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "toBindingIdentifierName", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return UDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "toBlock", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return KDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "toComputedKey", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return VDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "toExpression", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return WDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "toIdentifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return $Ds.default;
    }, "get")
  });
  Object.defineProperty(Le, "toKeyAlias", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return HDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "toStatement", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return JDs.default;
    }, "get")
  });
  Object.defineProperty(Le, "traverse", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return Wv.default;
    }, "get")
  });
  Object.defineProperty(Le, "traverseFast", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return nOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "validate", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return EOs.default;
    }, "get")
  });
  Object.defineProperty(Le, "valueToNode", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return YDs.default;
    }, "get")
  });
  var PDs = ede(), EDs = tde(), ADs = _de(), vDs = Lde(), d9 = Bde();
  Object.keys(d9).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(mc, t) || t in Le && Le[t] === d9[t] || Object.defineProperty(
    Le, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return d9[t];
      }, "get")
    });
  });
  var CDs = Mde(), Bme = Rde(), wDs = Vde(), m9 = zn();
  Object.keys(m9).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(mc, t) || t in Le && Le[t] === m9[t] || Object.defineProperty(
    Le, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return m9[t];
      }, "get")
    });
  });
  var y9 = Wde();
  Object.keys(y9).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(mc, t) || t in Le && Le[t] === y9[t] || Object.defineProperty(
    Le, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return y9[t];
      }, "get")
    });
  });
  var g9 = a5();
  Object.keys(g9).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(mc, t) || t in Le && Le[t] === g9[t] || Object.defineProperty(
    Le, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return g9[t];
      }, "get")
    });
  });
  var IDs = $p(), NDs = zde(), kDs = Gde(), DDs = Qde(), ODs = Zde(), _Ds = eme(), LDs = d5(), BDs = T5(), MDs = x5(), FDs = A5(), jDs = P5(),
  RDs = tme(), T9 = sme();
  Object.keys(T9).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(mc, t) || t in Le && Le[t] === T9[t] || Object.defineProperty(
    Le, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return T9[t];
      }, "get")
    });
  });
  var b9 = Vp();
  Object.keys(b9).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(mc, t) || t in Le && Le[t] === b9[t] || Object.defineProperty(
    Le, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return b9[t];
      }, "get")
    });
  });
  var qDs = rme(), UDs = ime(), KDs = I5(), VDs = nme(), WDs = ame(), $Ds = D5(), HDs = ume(), JDs = cme(), YDs = pme(), x9 = ao();
  Object.keys(x9).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(mc, t) || t in Le && Le[t] === x9[t] || Object.defineProperty(
    Le, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return x9[t];
      }, "get")
    });
  });
  var XDs = hme(), zDs = dme(), GDs = mme(), QDs = j5(), ZDs = q5(), eOs = t5(), tOs = yme(), sOs = ib(), rOs = gme(), iOs = bme(), Wv = xme();
  Object.keys(Wv).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(mc, t) || t in Le && Le[t] === Wv[t] || Object.defineProperty(
    Le, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return Wv[t];
      }, "get")
    });
  });
  var nOs = M5(), aOs = Pv(), oOs = by(), lOs = Sme(), uOs = Eme(), cOs = Ame(), pOs = e9(), hOs = QR(), fOs = Cme(), dOs = DR(), mOs = wme(),
  yOs = Ime(), gOs = kme(), TOs = Av(), bOs = Dme(), xOs = xy(), SOs = Ome(), POs = vR(), EOs = Iv(), AOs = wR(), S9 = di();
  Object.keys(S9).forEach(function(t) {
    t === "default" || t === "__esModule" || Object.prototype.hasOwnProperty.call(mc, t) || t in Le && Le[t] === S9[t] || Object.defineProperty(
    Le, t, {
      enumerable: !0,
      get: /* @__PURE__ */ n(function() {
        return S9[t];
      }, "get")
    });
  });
  var vOs = YT(), Qor = Le.react = {
    isReactComponent: PDs.default,
    isCompatTag: EDs.default,
    buildChildren: ADs.default
  };
  Le.toSequenceExpression = Lme().default;
  process.env.BABEL_TYPES_8_BREAKING && console.warn("BABEL_TYPES_8_BREAKING is not supported anymore. Use the latest Babel 8.0.0 pre-releas\
e instead!");
});

// ../node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js
var E9 = g((Ni) => {
  "use strict";
  Object.defineProperty(Ni, "__esModule", {
    value: !0
  });
  Ni.isBindingIdentifier = YOs;
  Ni.isBlockScoped = ZOs;
  Ni.isExpression = zOs;
  Ni.isFlow = i2s;
  Ni.isForAwaitStatement = o2s;
  Ni.isGenerated = s2s;
  Ni.isPure = r2s;
  Ni.isReferenced = QOs;
  Ni.isReferencedIdentifier = HOs;
  Ni.isReferencedMemberExpression = JOs;
  Ni.isRestProperty = n2s;
  Ni.isScope = GOs;
  Ni.isSpreadProperty = a2s;
  Ni.isStatement = XOs;
  Ni.isUser = t2s;
  Ni.isVar = e2s;
  var COs = Fr(), {
    isBinding: wOs,
    isBlockScoped: IOs,
    isExportDeclaration: NOs,
    isExpression: kOs,
    isFlow: DOs,
    isForStatement: OOs,
    isForXStatement: _Os,
    isIdentifier: Mme,
    isImportDeclaration: LOs,
    isImportSpecifier: BOs,
    isJSXIdentifier: MOs,
    isJSXMemberExpression: FOs,
    isMemberExpression: jOs,
    isRestElement: Fme,
    isReferenced: P9,
    isScope: ROs,
    isStatement: qOs,
    isVar: UOs,
    isVariableDeclaration: KOs,
    react: VOs,
    isForOfStatement: WOs
  } = COs, {
    isCompatTag: $Os
  } = VOs;
  function HOs(t) {
    let {
      node: e,
      parent: s
    } = this;
    if (!Mme(e, t) && !FOs(s, t))
      if (MOs(e, t)) {
        if ($Os(e.name)) return !1;
      } else
        return !1;
    return P9(e, s, this.parentPath.parent);
  }
  n(HOs, "isReferencedIdentifier");
  function JOs() {
    let {
      node: t,
      parent: e
    } = this;
    return jOs(t) && P9(t, e);
  }
  n(JOs, "isReferencedMemberExpression");
  function YOs() {
    let {
      node: t,
      parent: e
    } = this, s = this.parentPath.parent;
    return Mme(t) && wOs(t, e, s);
  }
  n(YOs, "isBindingIdentifier");
  function XOs() {
    let {
      node: t,
      parent: e
    } = this;
    return qOs(t) ? !(KOs(t) && (_Os(e, {
      left: t
    }) || OOs(e, {
      init: t
    }))) : !1;
  }
  n(XOs, "isStatement");
  function zOs() {
    return this.isIdentifier() ? this.isReferencedIdentifier() : kOs(this.node);
  }
  n(zOs, "isExpression");
  function GOs() {
    return ROs(this.node, this.parent);
  }
  n(GOs, "isScope");
  function QOs() {
    return P9(this.node, this.parent);
  }
  n(QOs, "isReferenced");
  function ZOs() {
    return IOs(this.node);
  }
  n(ZOs, "isBlockScoped");
  function e2s() {
    return UOs(this.node);
  }
  n(e2s, "isVar");
  function t2s() {
    return this.node && !!this.node.loc;
  }
  n(t2s, "isUser");
  function s2s() {
    return !this.isUser();
  }
  n(s2s, "isGenerated");
  function r2s(t) {
    return this.scope.isPure(this.node, t);
  }
  n(r2s, "isPure");
  function i2s() {
    let {
      node: t
    } = this;
    return DOs(t) ? !0 : LOs(t) ? t.importKind === "type" || t.importKind === "typeof" : NOs(t) ? t.exportKind === "type" : BOs(t) ? t.importKind ===
    "type" || t.importKind === "typeof" : !1;
  }
  n(i2s, "isFlow");
  function n2s() {
    var t;
    return Fme(this.node) && ((t = this.parentPath) == null ? void 0 : t.isObjectPattern());
  }
  n(n2s, "isRestProperty");
  function a2s() {
    var t;
    return Fme(this.node) && ((t = this.parentPath) == null ? void 0 : t.isObjectExpression());
  }
  n(a2s, "isSpreadProperty");
  function o2s() {
    return WOs(this.node, {
      await: !0
    });
  }
  n(o2s, "isForAwaitStatement");
  Ni.isExistentialTypeParam = /* @__PURE__ */ n(function() {
    throw new Error("`path.isExistentialTypeParam` has been renamed to `path.isExistsTypeAnnotation()` in Babel 7.");
  }, "isExistentialTypeParam"), Ni.isNumericLiteralTypeAnnotation = /* @__PURE__ */ n(function() {
    throw new Error("`path.isNumericLiteralTypeAnnotation()` has been renamed to `path.isNumberLiteralTypeAnnotation()` in Babel 7.");
  }, "isNumericLiteralTypeAnnotation");
});

// ../node_modules/@babel/traverse/lib/visitors.js
var ab = g((Kf) => {
  "use strict";
  Object.defineProperty(Kf, "__esModule", {
    value: !0
  });
  Kf.environmentVisitor = m2s;
  Kf.explode = Yme;
  Kf.isExplodedVisitor = Jme;
  Kf.merge = zme;
  Kf.verify = Xme;
  var Hme = SR(), l2s = E9(), u2s = Fr(), jme = Ll(), {
    DEPRECATED_KEYS: Rme,
    DEPRECATED_ALIASES: qme,
    FLIPPED_ALIAS_KEYS: Ume,
    TYPES: c2s,
    __internal__deprecationWarning: Kme
  } = u2s;
  function p2s(t) {
    return t in Hme;
  }
  n(p2s, "isVirtualType");
  function Jme(t) {
    return t?._exploded;
  }
  n(Jme, "isExplodedVisitor");
  function Yme(t) {
    if (Jme(t)) return t;
    t._exploded = !0;
    for (let e of Object.keys(t)) {
      if (Uf(e)) continue;
      let s = e.split("|");
      if (s.length === 1) continue;
      let r = t[e];
      delete t[e];
      for (let i of s)
        t[i] = r;
    }
    Xme(t), delete t.__esModule, h2s(t), $me(t);
    for (let e of Object.keys(t)) {
      if (Uf(e) || !p2s(e)) continue;
      let s = t[e];
      for (let i of Object.keys(s))
        s[i] = f2s(e, s[i]);
      delete t[e];
      let r = Hme[e];
      if (r !== null)
        for (let i of r)
          t[i] ? nb(t[i], s) : t[i] = s;
      else
        nb(t, s);
    }
    for (let e of Object.keys(t)) {
      if (Uf(e)) continue;
      let s = Ume[e];
      if (e in Rme) {
        let i = Rme[e];
        Kme(e, i, "Visitor "), s = [i];
      } else if (e in qme) {
        let i = qme[e];
        Kme(e, i, "Visitor "), s = Ume[i];
      }
      if (!s) continue;
      let r = t[e];
      delete t[e];
      for (let i of s) {
        let a = t[i];
        a ? nb(a, r) : t[i] = Object.assign({}, r);
      }
    }
    for (let e of Object.keys(t))
      Uf(e) || $me(t[e]);
    return t;
  }
  n(Yme, "explode$1");
  function Xme(t) {
    if (!t._verified) {
      if (typeof t == "function")
        throw new Error("You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Functi\
on }`?");
      for (let e of Object.keys(t)) {
        if ((e === "enter" || e === "exit") && Vme(e, t[e]), Uf(e)) continue;
        if (!c2s.includes(e))
          throw new Error(`You gave us a visitor for the node type ${e} but it's not a valid type in @babel/traverse 7.26.5`);
        let s = t[e];
        if (typeof s == "object")
          for (let r of Object.keys(s))
            if (r === "enter" || r === "exit")
              Vme(`${e}.${r}`, s[r]);
            else
              throw new Error(`You passed \`traverse()\` a visitor object with the property ${e} that has the invalid property ${r}`);
      }
      t._verified = !0;
    }
  }
  n(Xme, "verify$1");
  function Vme(t, e) {
    let s = [].concat(e);
    for (let r of s)
      if (typeof r != "function")
        throw new TypeError(`Non-function found defined in ${t} with type ${typeof r}`);
  }
  n(Vme, "validateVisitorMethods");
  function zme(t, e = [], s) {
    let r = {
      _verified: !0,
      _exploded: !0
    };
    Object.defineProperty(r, "_exploded", {
      enumerable: !1
    }), Object.defineProperty(r, "_verified", {
      enumerable: !1
    });
    for (let i = 0; i < t.length; i++) {
      let a = Yme(t[i]), o = e[i], l = a;
      (o || s) && (l = Wme(l, o, s)), nb(r, l);
      for (let u of Object.keys(a)) {
        if (Uf(u)) continue;
        let c = a[u];
        (o || s) && (c = Wme(c, o, s));
        let p = r[u] || (r[u] = {});
        nb(p, c);
      }
    }
    return r;
  }
  n(zme, "merge");
  function Wme(t, e, s) {
    let r = {};
    for (let i of ["enter", "exit"]) {
      let a = t[i];
      Array.isArray(a) && (a = a.map(function(o) {
        let l = o;
        return e && (l = /* @__PURE__ */ n(function(u) {
          o.call(e, u, e);
        }, "newFn")), s && (l = s(e?.key, i, l)), l !== o && (l.toString = () => o.toString()), l;
      }), r[i] = a);
    }
    return r;
  }
  n(Wme, "wrapWithStateOrWrapper");
  function h2s(t) {
    for (let e of Object.keys(t)) {
      if (Uf(e)) continue;
      let s = t[e];
      typeof s == "function" && (t[e] = {
        enter: s
      });
    }
  }
  n(h2s, "ensureEntranceObjects");
  function $me(t) {
    t.enter && !Array.isArray(t.enter) && (t.enter = [t.enter]), t.exit && !Array.isArray(t.exit) && (t.exit = [t.exit]);
  }
  n($me, "ensureCallbackArrays");
  function f2s(t, e) {
    let s = `is${t}`, r = l2s[s], i = /* @__PURE__ */ n(function(a) {
      if (r.call(a))
        return e.apply(this, arguments);
    }, "newFn");
    return i.toString = () => e.toString(), i;
  }
  n(f2s, "wrapCheck");
  function Uf(t) {
    return t[0] === "_" || t === "enter" || t === "exit" || t === "shouldSkip" || t === "denylist" || t === "noScope" || t === "skipKeys" ||
    t === "blacklist";
  }
  n(Uf, "shouldIgnoreKey");
  function nb(t, e) {
    for (let s of ["enter", "exit"])
      e[s] && (t[s] = [].concat(t[s] || [], e[s]));
  }
  n(nb, "mergePair");
  var d2s = {
    FunctionParent(t) {
      t.isArrowFunctionExpression() || (t.skip(), t.isMethod() && (t.requeueComputedKeyAndDecorators ? t.requeueComputedKeyAndDecorators() :
      jme.requeueComputedKeyAndDecorators.call(t)));
    },
    Property(t) {
      t.isObjectProperty() || (t.skip(), t.requeueComputedKeyAndDecorators ? t.requeueComputedKeyAndDecorators() : jme.requeueComputedKeyAndDecorators.
      call(t));
    }
  };
  function m2s(t) {
    return zme([d2s, t]);
  }
  n(m2s, "environmentVisitor");
});

// ../node_modules/@babel/traverse/lib/scope/lib/renamer.js
var Gme = g((Hv) => {
  "use strict";
  Object.defineProperty(Hv, "__esModule", {
    value: !0
  });
  Hv.default = void 0;
  var $v = Fr(), y2s = $v, g2s = Jv(), T2s = ab(), b2s = Ll(), {
    getAssignmentIdentifiers: x2s
  } = y2s, S2s = {
    ReferencedIdentifier({
      node: t
    }, e) {
      t.name === e.oldName && (t.name = e.newName);
    },
    Scope(t, e) {
      t.scope.bindingIdentifierEquals(e.oldName, e.binding.identifier) || (t.skip(), t.isMethod() && (t.requeueComputedKeyAndDecorators ? t.
      requeueComputedKeyAndDecorators() : b2s.requeueComputedKeyAndDecorators.call(t)));
    },
    ObjectProperty({
      node: t,
      scope: e
    }, s) {
      let {
        name: r
      } = t.key;
      if (t.shorthand && (r === s.oldName || r === s.newName) && e.getBindingIdentifier(r) === s.binding.identifier) {
        t.shorthand = !1;
        {
          var i;
          (i = t.extra) != null && i.shorthand && (t.extra.shorthand = !1);
        }
      }
    },
    "AssignmentExpression|Declaration|VariableDeclarator"(t, e) {
      if (t.isVariableDeclaration()) return;
      let s = t.isAssignmentExpression() ? x2s(t.node) : t.getOuterBindingIdentifiers();
      for (let r in s)
        r === e.oldName && (s[r].name = e.newName);
    }
  }, A9 = class {
    static {
      n(this, "Renamer");
    }
    constructor(e, s, r) {
      this.newName = r, this.oldName = s, this.binding = e;
    }
    maybeConvertFromExportDeclaration(e) {
      let s = e.parentPath;
      if (s.isExportDeclaration()) {
        if (s.isExportDefaultDeclaration()) {
          let {
            declaration: r
          } = s.node;
          if ($v.isDeclaration(r) && !r.id)
            return;
        }
        s.isExportAllDeclaration() || s.splitExportDeclaration();
      }
    }
    maybeConvertFromClassFunctionDeclaration(e) {
      return e;
    }
    maybeConvertFromClassFunctionExpression(e) {
      return e;
    }
    rename() {
      let {
        binding: e,
        oldName: s,
        newName: r
      } = this, {
        scope: i,
        path: a
      } = e, o = a.find((c) => c.isDeclaration() || c.isFunctionExpression() || c.isClassExpression());
      o && o.getOuterBindingIdentifiers()[s] === e.identifier && this.maybeConvertFromExportDeclaration(o);
      let l = arguments[0] || i.block, u = {
        discriminant: !0
      };
      $v.isMethod(l) && (l.computed && (u.key = !0), $v.isObjectMethod(l) || (u.decorators = !0)), (0, g2s.traverseNode)(l, (0, T2s.explode)(
      S2s), i, this, i.path, u), arguments[0] || (i.removeOwnBinding(s), i.bindings[r] = e, this.binding.identifier.name = r), o && (this.maybeConvertFromClassFunctionDeclaration(
      a), this.maybeConvertFromClassFunctionExpression(a));
    }
  };
  Hv.default = A9;
});

// ../node_modules/@babel/traverse/lib/scope/binding.js
var Qme = g((Yv) => {
  "use strict";
  Object.defineProperty(Yv, "__esModule", {
    value: !0
  });
  Yv.default = void 0;
  var v9 = class {
    static {
      n(this, "Binding");
    }
    constructor({
      identifier: e,
      scope: s,
      path: r,
      kind: i
    }) {
      this.identifier = void 0, this.scope = void 0, this.path = void 0, this.kind = void 0, this.constantViolations = [], this.constant = !0,
      this.referencePaths = [], this.referenced = !1, this.references = 0, this.identifier = e, this.scope = s, this.path = r, this.kind = i,
      (i === "var" || i === "hoisted") && P2s(r) && this.reassign(r), this.clearValue();
    }
    deoptValue() {
      this.clearValue(), this.hasDeoptedValue = !0;
    }
    setValue(e) {
      this.hasDeoptedValue || (this.hasValue = !0, this.value = e);
    }
    clearValue() {
      this.hasDeoptedValue = !1, this.hasValue = !1, this.value = null;
    }
    reassign(e) {
      this.constant = !1, !this.constantViolations.includes(e) && this.constantViolations.push(e);
    }
    reference(e) {
      this.referencePaths.includes(e) || (this.referenced = !0, this.references++, this.referencePaths.push(e));
    }
    dereference() {
      this.references--, this.referenced = !!this.references;
    }
  };
  Yv.default = v9;
  function P2s(t) {
    for (let {
      parentPath: e,
      key: s
    } = t; e; {
      parentPath: e,
      key: s
    } = e) {
      if (e.isFunctionParent()) return !1;
      if (e.isWhile() || e.isForXStatement() || e.isForStatement() && s === "body")
        return !0;
    }
    return !1;
  }
  n(P2s, "isDeclaredInLoop");
});

// ../node_modules/@babel/traverse/lib/cache.js
var Vf = g((ga) => {
  "use strict";
  Object.defineProperty(ga, "__esModule", {
    value: !0
  });
  ga.clear = A2s;
  ga.clearPath = Zme;
  ga.clearScope = eye;
  ga.getCachedPaths = v2s;
  ga.getOrCreateCachedPaths = C2s;
  ga.scope = ga.path = void 0;
  var Xv = ga.path = /* @__PURE__ */ new WeakMap(), E2s = ga.scope = /* @__PURE__ */ new WeakMap();
  function A2s() {
    Zme(), eye();
  }
  n(A2s, "clear");
  function Zme() {
    ga.path = Xv = /* @__PURE__ */ new WeakMap();
  }
  n(Zme, "clearPath");
  function eye() {
    ga.scope = E2s = /* @__PURE__ */ new WeakMap();
  }
  n(eye, "clearScope");
  var C9 = Object.freeze({});
  function v2s(t, e) {
    var s, r;
    return t = null, (s = Xv.get((r = t) != null ? r : C9)) == null ? void 0 : s.get(e);
  }
  n(v2s, "getCachedPaths");
  function C2s(t, e) {
    var s, r;
    t = null;
    let i = Xv.get((s = t) != null ? s : C9);
    i || Xv.set((r = t) != null ? r : C9, i = /* @__PURE__ */ new WeakMap());
    let a = i.get(e);
    return a || i.set(e, a = /* @__PURE__ */ new Map()), a;
  }
  n(C2s, "getOrCreateCachedPaths");
});

// ../node_modules/@babel/traverse/lib/scope/index.js
var k9 = g((Gv) => {
  "use strict";
  Object.defineProperty(Gv, "__esModule", {
    value: !0
  });
  Gv.default = void 0;
  var w2s = Gme(), I2s = ob(), N2s = Qme(), k2s = dd(), uye = Fr(), D2s = uye, tye = Vf(), O2s = ab(), {
    NOT_LOCAL_BINDING: sye,
    assignmentExpression: _2s,
    callExpression: rye,
    cloneNode: iye,
    getBindingIdentifiers: cye,
    identifier: $f,
    isArrayExpression: pye,
    isBinary: L2s,
    isCallExpression: nye,
    isClass: B2s,
    isClassBody: M2s,
    isClassDeclaration: F2s,
    isExportAllDeclaration: hye,
    isExportDefaultDeclaration: j2s,
    isExportNamedDeclaration: w9,
    isFunctionDeclaration: R2s,
    isIdentifier: Wf,
    isImportDeclaration: I9,
    isLiteral: q2s,
    isMemberExpression: U2s,
    isMethod: K2s,
    isModuleSpecifier: V2s,
    isNullLiteral: W2s,
    isObjectExpression: $2s,
    isProperty: H2s,
    isPureish: J2s,
    isRegExpLiteral: Y2s,
    isSuper: X2s,
    isTaggedTemplateExpression: z2s,
    isTemplateLiteral: fye,
    isThisExpression: aye,
    isUnaryExpression: G2s,
    isVariableDeclaration: Q2s,
    expressionStatement: Z2s,
    matchesPattern: oye,
    memberExpression: N9,
    numericLiteral: e_s,
    toIdentifier: t_s,
    variableDeclaration: s_s,
    variableDeclarator: r_s,
    isRecordExpression: i_s,
    isTupleExpression: n_s,
    isObjectProperty: a_s,
    isTopicReference: lye,
    isMetaProperty: o_s,
    isPrivateName: l_s,
    isExportDeclaration: u_s,
    buildUndefinedNode: c_s,
    sequenceExpression: p_s
  } = uye;
  function Nr(t, e) {
    switch (t?.type) {
      default:
        if (I9(t) || u_s(t)) {
          var s;
          if ((hye(t) || w9(t) || I9(t)) && t.source)
            Nr(t.source, e);
          else if ((w9(t) || I9(t)) && (s = t.specifiers) != null && s.length)
            for (let r of t.specifiers) Nr(r, e);
          else (j2s(t) || w9(t)) && t.declaration && Nr(t.declaration, e);
        } else V2s(t) ? Nr(t.local, e) : q2s(t) && !W2s(t) && !Y2s(t) && !fye(t) && e.push(t.value);
        break;
      case "MemberExpression":
      case "OptionalMemberExpression":
      case "JSXMemberExpression":
        Nr(t.object, e), Nr(t.property, e);
        break;
      case "Identifier":
      case "JSXIdentifier":
        e.push(t.name);
        break;
      case "CallExpression":
      case "OptionalCallExpression":
      case "NewExpression":
        Nr(t.callee, e);
        break;
      case "ObjectExpression":
      case "ObjectPattern":
        for (let r of t.properties)
          Nr(r, e);
        break;
      case "SpreadElement":
      case "RestElement":
        Nr(t.argument, e);
        break;
      case "ObjectProperty":
      case "ObjectMethod":
      case "ClassProperty":
      case "ClassMethod":
      case "ClassPrivateProperty":
      case "ClassPrivateMethod":
        Nr(t.key, e);
        break;
      case "ThisExpression":
        e.push("this");
        break;
      case "Super":
        e.push("super");
        break;
      case "Import":
        e.push("import");
        break;
      case "DoExpression":
        e.push("do");
        break;
      case "YieldExpression":
        e.push("yield"), Nr(t.argument, e);
        break;
      case "AwaitExpression":
        e.push("await"), Nr(t.argument, e);
        break;
      case "AssignmentExpression":
        Nr(t.left, e);
        break;
      case "VariableDeclarator":
        Nr(t.id, e);
        break;
      case "FunctionExpression":
      case "FunctionDeclaration":
      case "ClassExpression":
      case "ClassDeclaration":
        Nr(t.id, e);
        break;
      case "PrivateName":
        Nr(t.id, e);
        break;
      case "ParenthesizedExpression":
        Nr(t.expression, e);
        break;
      case "UnaryExpression":
      case "UpdateExpression":
        Nr(t.argument, e);
        break;
      case "MetaProperty":
        Nr(t.meta, e), Nr(t.property, e);
        break;
      case "JSXElement":
        Nr(t.openingElement, e);
        break;
      case "JSXOpeningElement":
        Nr(t.name, e);
        break;
      case "JSXFragment":
        Nr(t.openingFragment, e);
        break;
      case "JSXOpeningFragment":
        e.push("Fragment");
        break;
      case "JSXNamespacedName":
        Nr(t.namespace, e), Nr(t.name, e);
        break;
    }
  }
  n(Nr, "gatherNodeParts");
  var zv = {
    ForStatement(t) {
      let e = t.get("init");
      if (e.isVar()) {
        let {
          scope: s
        } = t;
        (s.getFunctionParent() || s.getProgramParent()).registerBinding("var", e);
      }
    },
    Declaration(t) {
      if (t.isBlockScoped() || t.isImportDeclaration() || t.isExportDeclaration()) return;
      (t.scope.getFunctionParent() || t.scope.getProgramParent()).registerDeclaration(t);
    },
    ImportDeclaration(t) {
      t.scope.getBlockParent().registerDeclaration(t);
    },
    ReferencedIdentifier(t, e) {
      e.references.push(t);
    },
    ForXStatement(t, e) {
      let s = t.get("left");
      if (s.isPattern() || s.isIdentifier())
        e.constantViolations.push(t);
      else if (s.isVar()) {
        let {
          scope: r
        } = t;
        (r.getFunctionParent() || r.getProgramParent()).registerBinding("var", s);
      }
    },
    ExportDeclaration: {
      exit(t) {
        let {
          node: e,
          scope: s
        } = t;
        if (hye(e)) return;
        let r = e.declaration;
        if (F2s(r) || R2s(r)) {
          let i = r.id;
          if (!i) return;
          let a = s.getBinding(i.name);
          a?.reference(t);
        } else if (Q2s(r))
          for (let i of r.declarations)
            for (let a of Object.keys(cye(i))) {
              let o = s.getBinding(a);
              o?.reference(t);
            }
      }
    },
    LabeledStatement(t) {
      t.scope.getBlockParent().registerDeclaration(t);
    },
    AssignmentExpression(t, e) {
      e.assignments.push(t);
    },
    UpdateExpression(t, e) {
      e.constantViolations.push(t);
    },
    UnaryExpression(t, e) {
      t.node.operator === "delete" && e.constantViolations.push(t);
    },
    BlockScoped(t) {
      let e = t.scope;
      if (e.path === t && (e = e.parent), e.getBlockParent().registerDeclaration(t), t.isClassDeclaration() && t.node.id) {
        let i = t.node.id.name;
        t.scope.bindings[i] = t.scope.parent.getBinding(i);
      }
    },
    CatchClause(t) {
      t.scope.registerBinding("let", t);
    },
    Function(t) {
      let e = t.get("params");
      for (let s of e)
        t.scope.registerBinding("param", s);
      t.isFunctionExpression() && t.node.id && !t.node.id[sye] && t.scope.registerBinding("local", t.get("id"), t);
    },
    ClassExpression(t) {
      t.node.id && !t.node.id[sye] && t.scope.registerBinding("local", t.get("id"), t);
    },
    TSTypeAnnotation(t) {
      t.skip();
    }
  }, h_s = 0, Ko = class t {
    static {
      n(this, "Scope");
    }
    constructor(e) {
      this.uid = void 0, this.path = void 0, this.block = void 0, this.inited = void 0, this.labels = void 0, this.bindings = void 0, this.references =
      void 0, this.globals = void 0, this.uids = void 0, this.data = void 0, this.crawling = void 0;
      let {
        node: s
      } = e, r = tye.scope.get(s);
      if (r?.path === e)
        return r;
      tye.scope.set(s, this), this.uid = h_s++, this.block = s, this.path = e, this.labels = /* @__PURE__ */ new Map(), this.inited = !1;
    }
    get parent() {
      var e;
      let s, r = this.path;
      do {
        var i;
        let a = r.key === "key" || r.listKey === "decorators";
        r = r.parentPath, a && r.isMethod() && (r = r.parentPath), (i = r) != null && i.isScope() && (s = r);
      } while (r && !s);
      return (e = s) == null ? void 0 : e.scope;
    }
    generateDeclaredUidIdentifier(e) {
      let s = this.generateUidIdentifier(e);
      return this.push({
        id: s
      }), iye(s);
    }
    generateUidIdentifier(e) {
      return $f(this.generateUid(e));
    }
    generateUid(e = "temp") {
      e = t_s(e).replace(/^_+/, "").replace(/\d+$/g, "");
      let s, r = 1;
      do
        s = `_${e}`, r > 1 && (s += r), r++;
      while (this.hasLabel(s) || this.hasBinding(s) || this.hasGlobal(s) || this.hasReference(s));
      let i = this.getProgramParent();
      return i.references[s] = !0, i.uids[s] = !0, s;
    }
    generateUidBasedOnNode(e, s) {
      let r = [];
      Nr(e, r);
      let i = r.join("$");
      return i = i.replace(/^_/, "") || s || "ref", this.generateUid(i.slice(0, 20));
    }
    generateUidIdentifierBasedOnNode(e, s) {
      return $f(this.generateUidBasedOnNode(e, s));
    }
    isStatic(e) {
      if (aye(e) || X2s(e) || lye(e))
        return !0;
      if (Wf(e)) {
        let s = this.getBinding(e.name);
        return s ? s.constant : this.hasBinding(e.name);
      }
      return !1;
    }
    maybeGenerateMemoised(e, s) {
      if (this.isStatic(e))
        return null;
      {
        let r = this.generateUidIdentifierBasedOnNode(e);
        return s ? r : (this.push({
          id: r
        }), iye(r));
      }
    }
    checkBlockScopedCollisions(e, s, r, i) {
      if (s === "param" || e.kind === "local") return;
      if (s === "let" || e.kind === "let" || e.kind === "const" || e.kind === "module" || e.kind === "param" && s === "const")
        throw this.path.hub.buildError(i, `Duplicate declaration "${r}"`, TypeError);
    }
    rename(e, s) {
      let r = this.getBinding(e);
      r && (s || (s = this.generateUidIdentifier(e).name), new w2s.default(r, e, s).rename(arguments[2]));
    }
    dump() {
      let e = "-".repeat(60);
      console.log(e);
      let s = this;
      do {
        console.log("#", s.block.type);
        for (let r of Object.keys(s.bindings)) {
          let i = s.bindings[r];
          console.log(" -", r, {
            constant: i.constant,
            references: i.references,
            violations: i.constantViolations.length,
            kind: i.kind
          });
        }
      } while (s = s.parent);
      console.log(e);
    }
    hasLabel(e) {
      return !!this.getLabel(e);
    }
    getLabel(e) {
      return this.labels.get(e);
    }
    registerLabel(e) {
      this.labels.set(e.node.label.name, e);
    }
    registerDeclaration(e) {
      if (e.isLabeledStatement())
        this.registerLabel(e);
      else if (e.isFunctionDeclaration())
        this.registerBinding("hoisted", e.get("id"), e);
      else if (e.isVariableDeclaration()) {
        let s = e.get("declarations"), {
          kind: r
        } = e.node;
        for (let i of s)
          this.registerBinding(r === "using" || r === "await using" ? "const" : r, i);
      } else if (e.isClassDeclaration()) {
        if (e.node.declare) return;
        this.registerBinding("let", e);
      } else if (e.isImportDeclaration()) {
        let s = e.node.importKind === "type" || e.node.importKind === "typeof", r = e.get("specifiers");
        for (let i of r) {
          let a = s || i.isImportSpecifier() && (i.node.importKind === "type" || i.node.importKind === "typeof");
          this.registerBinding(a ? "unknown" : "module", i);
        }
      } else if (e.isExportDeclaration()) {
        let s = e.get("declaration");
        (s.isClassDeclaration() || s.isFunctionDeclaration() || s.isVariableDeclaration()) && this.registerDeclaration(s);
      } else
        this.registerBinding("unknown", e);
    }
    buildUndefinedNode() {
      return c_s();
    }
    registerConstantViolation(e) {
      let s = e.getAssignmentIdentifiers();
      for (let i of Object.keys(s)) {
        var r;
        (r = this.getBinding(i)) == null || r.reassign(e);
      }
    }
    registerBinding(e, s, r = s) {
      if (!e) throw new ReferenceError("no `kind`");
      if (s.isVariableDeclaration()) {
        let o = s.get("declarations");
        for (let l of o)
          this.registerBinding(e, l);
        return;
      }
      let i = this.getProgramParent(), a = s.getOuterBindingIdentifiers(!0);
      for (let o of Object.keys(a)) {
        i.references[o] = !0;
        for (let l of a[o]) {
          let u = this.getOwnBinding(o);
          if (u) {
            if (u.identifier === l) continue;
            this.checkBlockScopedCollisions(u, e, o, l);
          }
          u ? u.reassign(r) : this.bindings[o] = new N2s.default({
            identifier: l,
            scope: this,
            path: r,
            kind: e
          });
        }
      }
    }
    addGlobal(e) {
      this.globals[e.name] = e;
    }
    hasUid(e) {
      let s = this;
      do
        if (s.uids[e]) return !0;
      while (s = s.parent);
      return !1;
    }
    hasGlobal(e) {
      let s = this;
      do
        if (s.globals[e]) return !0;
      while (s = s.parent);
      return !1;
    }
    hasReference(e) {
      return !!this.getProgramParent().references[e];
    }
    isPure(e, s) {
      if (Wf(e)) {
        let o = this.getBinding(e.name);
        return o ? s ? o.constant : !0 : !1;
      } else {
        if (aye(e) || o_s(e) || lye(e) || l_s(e))
          return !0;
        if (B2s(e)) {
          var r;
          return e.superClass && !this.isPure(e.superClass, s) || ((r = e.decorators) == null ? void 0 : r.length) > 0 ? !1 : this.isPure(e.
          body, s);
        } else if (M2s(e)) {
          for (let o of e.body)
            if (!this.isPure(o, s)) return !1;
          return !0;
        } else {
          if (L2s(e))
            return this.isPure(e.left, s) && this.isPure(e.right, s);
          if (pye(e) || n_s(e)) {
            for (let o of e.elements)
              if (o !== null && !this.isPure(o, s)) return !1;
            return !0;
          } else if ($2s(e) || i_s(e)) {
            for (let o of e.properties)
              if (!this.isPure(o, s)) return !1;
            return !0;
          } else if (K2s(e)) {
            var i;
            return !(e.computed && !this.isPure(e.key, s) || ((i = e.decorators) == null ? void 0 : i.length) > 0);
          } else if (H2s(e)) {
            var a;
            return !(e.computed && !this.isPure(e.key, s) || ((a = e.decorators) == null ? void 0 : a.length) > 0 || (a_s(e) || e.static) &&
            e.value !== null && !this.isPure(e.value, s));
          } else {
            if (G2s(e))
              return this.isPure(e.argument, s);
            if (fye(e)) {
              for (let o of e.expressions)
                if (!this.isPure(o, s)) return !1;
              return !0;
            } else return z2s(e) ? oye(e.tag, "String.raw") && !this.hasBinding("String", {
              noGlobals: !0
            }) && this.isPure(e.quasi, s) : U2s(e) ? !e.computed && Wf(e.object) && e.object.name === "Symbol" && Wf(e.property) && e.property.
            name !== "for" && !this.hasBinding("Symbol", {
              noGlobals: !0
            }) : nye(e) ? oye(e.callee, "Symbol.for") && !this.hasBinding("Symbol", {
              noGlobals: !0
            }) && e.arguments.length === 1 && D2s.isStringLiteral(e.arguments[0]) : J2s(e);
          }
        }
      }
    }
    setData(e, s) {
      return this.data[e] = s;
    }
    getData(e) {
      let s = this;
      do {
        let r = s.data[e];
        if (r != null) return r;
      } while (s = s.parent);
    }
    removeData(e) {
      let s = this;
      do
        s.data[e] != null && (s.data[e] = null);
      while (s = s.parent);
    }
    init() {
      this.inited || (this.inited = !0, this.crawl());
    }
    crawl() {
      let e = this.path;
      this.references = /* @__PURE__ */ Object.create(null), this.bindings = /* @__PURE__ */ Object.create(null), this.globals = /* @__PURE__ */ Object.
      create(null), this.uids = /* @__PURE__ */ Object.create(null), this.data = /* @__PURE__ */ Object.create(null);
      let s = this;
      do {
        if (s.crawling) return;
        if (s.path.isProgram())
          break;
      } while (s = s.parent);
      let r = s, i = {
        references: [],
        constantViolations: [],
        assignments: []
      };
      if (this.crawling = !0, e.type !== "Program" && (0, O2s.isExplodedVisitor)(zv)) {
        for (let o of zv.enter)
          o.call(i, e, i);
        let a = zv[e.type];
        if (a)
          for (let o of a.enter)
            o.call(i, e, i);
      }
      e.traverse(zv, i), this.crawling = !1;
      for (let a of i.assignments) {
        let o = a.getAssignmentIdentifiers();
        for (let l of Object.keys(o))
          a.scope.getBinding(l) || r.addGlobal(o[l]);
        a.scope.registerConstantViolation(a);
      }
      for (let a of i.references) {
        let o = a.scope.getBinding(a.node.name);
        o ? o.reference(a) : r.addGlobal(a.node);
      }
      for (let a of i.constantViolations)
        a.scope.registerConstantViolation(a);
    }
    push(e) {
      let s = this.path;
      s.isPattern() ? s = this.getPatternParent().path : !s.isBlockStatement() && !s.isProgram() && (s = this.getBlockParent().path), s.isSwitchStatement() &&
      (s = (this.getFunctionParent() || this.getProgramParent()).path);
      let {
        init: r,
        unique: i,
        kind: a = "var",
        id: o
      } = e;
      if (!r && !i && (a === "var" || a === "let") && s.isFunction() && !s.node.name && nye(s.parent, {
        callee: s.node
      }) && s.parent.arguments.length <= s.node.params.length && Wf(o)) {
        s.pushContainer("params", o), s.scope.registerBinding("param", s.get("params")[s.node.params.length - 1]);
        return;
      }
      (s.isLoop() || s.isCatchClause() || s.isFunction()) && (s.ensureBlock(), s = s.get("body"));
      let l = e._blockHoist == null ? 2 : e._blockHoist, u = `declaration:${a}:${l}`, c = !i && s.getData(u);
      if (!c) {
        let f = s_s(a, []);
        f._blockHoist = l, [c] = s.unshiftContainer("body", [f]), i || s.setData(u, c);
      }
      let p = r_s(o, r), h = c.node.declarations.push(p);
      s.scope.registerBinding(a, c.get("declarations")[h - 1]);
    }
    getProgramParent() {
      let e = this;
      do
        if (e.path.isProgram())
          return e;
      while (e = e.parent);
      throw new Error("Couldn't find a Program");
    }
    getFunctionParent() {
      let e = this;
      do
        if (e.path.isFunctionParent())
          return e;
      while (e = e.parent);
      return null;
    }
    getBlockParent() {
      let e = this;
      do
        if (e.path.isBlockParent())
          return e;
      while (e = e.parent);
      throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");
    }
    getPatternParent() {
      let e = this;
      do
        if (!e.path.isPattern())
          return e.getBlockParent();
      while (e = e.parent.parent);
      throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");
    }
    getAllBindings() {
      let e = /* @__PURE__ */ Object.create(null), s = this;
      do {
        for (let r of Object.keys(s.bindings))
          r in e || (e[r] = s.bindings[r]);
        s = s.parent;
      } while (s);
      return e;
    }
    bindingIdentifierEquals(e, s) {
      return this.getBindingIdentifier(e) === s;
    }
    getBinding(e) {
      let s = this, r;
      do {
        let a = s.getOwnBinding(e);
        if (a) {
          var i;
          if (!((i = r) != null && i.isPattern() && a.kind !== "param" && a.kind !== "local"))
            return a;
        } else if (!a && e === "arguments" && s.path.isFunction() && !s.path.isArrowFunctionExpression())
          break;
        r = s.path;
      } while (s = s.parent);
    }
    getOwnBinding(e) {
      return this.bindings[e];
    }
    getBindingIdentifier(e) {
      var s;
      return (s = this.getBinding(e)) == null ? void 0 : s.identifier;
    }
    getOwnBindingIdentifier(e) {
      let s = this.bindings[e];
      return s?.identifier;
    }
    hasOwnBinding(e) {
      return !!this.getOwnBinding(e);
    }
    hasBinding(e, s) {
      if (!e) return !1;
      let r = this;
      do
        if (r.hasOwnBinding(e))
          return !0;
      while (r = r.parent);
      let i, a;
      return typeof s == "object" ? (i = s.noGlobals, a = s.noUids) : typeof s == "boolean" && (i = s), !!(!a && this.hasUid(e) || !i && t.globals.
      includes(e) || !i && t.contextVariables.includes(e));
    }
    parentHasBinding(e, s) {
      var r;
      return (r = this.parent) == null ? void 0 : r.hasBinding(e, s);
    }
    moveBindingTo(e, s) {
      let r = this.getBinding(e);
      r && (r.scope.removeOwnBinding(e), r.scope = s, s.bindings[e] = r);
    }
    removeOwnBinding(e) {
      delete this.bindings[e];
    }
    removeBinding(e) {
      var s;
      (s = this.getBinding(e)) == null || s.scope.removeOwnBinding(e);
      let r = this;
      do
        r.uids[e] && (r.uids[e] = !1);
      while (r = r.parent);
    }
    hoistVariables(e = (s) => this.push({
      id: s
    })) {
      this.crawl();
      let s = /* @__PURE__ */ new Set();
      for (let i of Object.keys(this.bindings)) {
        let a = this.bindings[i];
        if (!a) continue;
        let {
          path: o
        } = a;
        if (!o.isVariableDeclarator()) continue;
        let {
          parent: l,
          parentPath: u
        } = o;
        if (l.kind !== "var" || s.has(l)) continue;
        s.add(o.parent);
        let c, p = [];
        for (let h of l.declarations) {
          var r;
          (r = c) != null || (c = h.id), h.init && p.push(_2s("=", h.id, h.init));
          let f = Object.keys(cye(h, !1, !0, !0));
          for (let d of f)
            e($f(d), h.init != null);
        }
        if (u.parentPath.isFor({
          left: l
        }))
          u.replaceWith(c);
        else if (p.length === 0)
          u.remove();
        else {
          let h = p.length === 1 ? p[0] : p_s(p);
          u.parentPath.isForStatement({
            init: l
          }) ? u.replaceWith(h) : u.replaceWith(Z2s(h));
        }
      }
    }
  };
  Gv.default = Ko;
  Ko.globals = Object.keys(k2s.builtin);
  Ko.contextVariables = ["arguments", "undefined", "Infinity", "NaN"];
  Ko.prototype._renameFromMap = /* @__PURE__ */ n(function(e, s, r, i) {
    e[s] && (e[r] = i, e[s] = null);
  }, "_renameFromMap"), Ko.prototype.traverse = function(t, e, s) {
    (0, I2s.default)(t, e, this, s, this.path);
  }, Ko.prototype._generateUid = /* @__PURE__ */ n(function(e, s) {
    let r = e;
    return s > 1 && (r += s), `_${r}`;
  }, "_generateUid"), Ko.prototype.toArray = /* @__PURE__ */ n(function(e, s, r) {
    if (Wf(e)) {
      let o = this.getBinding(e.name);
      if (o != null && o.constant && o.path.isGenericType("Array"))
        return e;
    }
    if (pye(e))
      return e;
    if (Wf(e, {
      name: "arguments"
    }))
      return rye(N9(N9(N9($f("Array"), $f("prototype")), $f("slice")), $f("call")), [e]);
    let i, a = [e];
    return s === !0 ? i = "toConsumableArray" : typeof s == "number" ? (a.push(e_s(s)), i = "slicedToArray") : i = "toArray", r && (a.unshift(
    this.path.hub.addHelper(i)), i = "maybeArrayLike"), rye(this.path.hub.addHelper(i), a);
  }, "toArray"), Ko.prototype.getAllBindingsOfKind = /* @__PURE__ */ n(function(...e) {
    let s = /* @__PURE__ */ Object.create(null);
    for (let r of e) {
      let i = this;
      do {
        for (let a of Object.keys(i.bindings)) {
          let o = i.bindings[a];
          o.kind === r && (s[a] = o);
        }
        i = i.parent;
      } while (i);
    }
    return s;
  }, "getAllBindingsOfKind"), Object.defineProperties(Ko.prototype, {
    parentBlock: {
      configurable: !0,
      enumerable: !0,
      get() {
        return this.path.parent;
      }
    },
    hub: {
      configurable: !0,
      enumerable: !0,
      get() {
        return this.path.hub;
      }
    }
  });
});

// ../node_modules/@babel/traverse/lib/path/ancestry.js
var dye = g((uo) => {
  "use strict";
  Object.defineProperty(uo, "__esModule", {
    value: !0
  });
  uo.find = y_s;
  uo.findParent = m_s;
  uo.getAncestry = S_s;
  uo.getDeepestCommonAncestorFrom = x_s;
  uo.getEarliestCommonAncestorFrom = b_s;
  uo.getFunctionParent = g_s;
  uo.getStatementParent = T_s;
  uo.inType = A_s;
  uo.isAncestor = P_s;
  uo.isDescendant = E_s;
  var f_s = Fr(), {
    VISITOR_KEYS: d_s
  } = f_s;
  function m_s(t) {
    let e = this;
    for (; e = e.parentPath; )
      if (t(e)) return e;
    return null;
  }
  n(m_s, "findParent");
  function y_s(t) {
    let e = this;
    do
      if (t(e)) return e;
    while (e = e.parentPath);
    return null;
  }
  n(y_s, "find");
  function g_s() {
    return this.findParent((t) => t.isFunction());
  }
  n(g_s, "getFunctionParent");
  function T_s() {
    let t = this;
    do {
      if (!t.parentPath || Array.isArray(t.container) && t.isStatement())
        break;
      t = t.parentPath;
    } while (t);
    if (t && (t.isProgram() || t.isFile()))
      throw new Error("File/Program node, we can't possibly find a statement parent to this");
    return t;
  }
  n(T_s, "getStatementParent");
  function b_s(t) {
    return this.getDeepestCommonAncestorFrom(t, function(e, s, r) {
      let i, a = d_s[e.type];
      for (let o of r) {
        let l = o[s + 1];
        if (!i) {
          i = l;
          continue;
        }
        if (l.listKey && i.listKey === l.listKey && l.key < i.key) {
          i = l;
          continue;
        }
        let u = a.indexOf(i.parentKey), c = a.indexOf(l.parentKey);
        u > c && (i = l);
      }
      return i;
    });
  }
  n(b_s, "getEarliestCommonAncestorFrom");
  function x_s(t, e) {
    if (!t.length)
      return this;
    if (t.length === 1)
      return t[0];
    let s = 1 / 0, r, i, a = t.map((l) => {
      let u = [];
      do
        u.unshift(l);
      while ((l = l.parentPath) && l !== this);
      return u.length < s && (s = u.length), u;
    }), o = a[0];
    e: for (let l = 0; l < s; l++) {
      let u = o[l];
      for (let c of a)
        if (c[l] !== u)
          break e;
      r = l, i = u;
    }
    if (i)
      return e ? e(i, r, a) : i;
    throw new Error("Couldn't find intersection");
  }
  n(x_s, "getDeepestCommonAncestorFrom");
  function S_s() {
    let t = this, e = [];
    do
      e.push(t);
    while (t = t.parentPath);
    return e;
  }
  n(S_s, "getAncestry");
  function P_s(t) {
    return t.isDescendant(this);
  }
  n(P_s, "isAncestor");
  function E_s(t) {
    return !!this.findParent((e) => e === t);
  }
  n(E_s, "isDescendant");
  function A_s(...t) {
    let e = this;
    for (; e; ) {
      for (let s of t)
        if (e.node.type === s) return !0;
      e = e.parentPath;
    }
    return !1;
  }
  n(A_s, "inType");
});

// ../node_modules/@babel/traverse/lib/path/inference/util.js
var O9 = g((D9) => {
  "use strict";
  Object.defineProperty(D9, "__esModule", {
    value: !0
  });
  D9.createUnionType = N_s;
  var v_s = Fr(), {
    createFlowUnionType: mye,
    createTSUnionType: yye,
    createUnionTypeAnnotation: C_s,
    isFlowType: w_s,
    isTSType: I_s
  } = v_s;
  function N_s(t) {
    {
      if (t.every((e) => w_s(e)))
        return mye ? mye(t) : C_s(t);
      if (t.every((e) => I_s(e)) && yye)
        return yye(t);
    }
  }
  n(N_s, "createUnionType");
});

// ../node_modules/@babel/traverse/lib/path/inference/inferer-reference.js
var Sye = g((_9) => {
  "use strict";
  Object.defineProperty(_9, "__esModule", {
    value: !0
  });
  _9.default = L_s;
  var k_s = Fr(), Tye = O9(), {
    BOOLEAN_NUMBER_BINARY_OPERATORS: D_s,
    createTypeAnnotationBasedOnTypeof: O_s,
    numberTypeAnnotation: bye,
    voidTypeAnnotation: __s
  } = k_s;
  function L_s(t) {
    if (!this.isReferenced()) return;
    let e = this.scope.getBinding(t.name);
    if (e)
      return e.identifier.typeAnnotation ? e.identifier.typeAnnotation : B_s(e, this, t.name);
    if (t.name === "undefined")
      return __s();
    if (t.name === "NaN" || t.name === "Infinity")
      return bye();
    t.name;
  }
  n(L_s, "_default");
  function B_s(t, e, s) {
    let r = [], i = [], a = gye(t, e, i), o = xye(t, e, s);
    if (o) {
      let l = gye(t, o.ifStatement);
      a = a.filter((u) => !l.includes(u)), r.push(o.typeAnnotation);
    }
    if (a.length) {
      a.push(...i);
      for (let l of a)
        r.push(l.getTypeAnnotation());
    }
    if (r.length)
      return (0, Tye.createUnionType)(r);
  }
  n(B_s, "getTypeAnnotationBindingConstantViolations");
  function gye(t, e, s) {
    let r = t.constantViolations.slice();
    return r.unshift(t.path), r.filter((i) => {
      i = i.resolve();
      let a = i._guessExecutionStatusRelativeTo(e);
      return s && a === "unknown" && s.push(i), a === "before";
    });
  }
  n(gye, "getConstantViolationsBefore");
  function M_s(t, e) {
    let s = e.node.operator, r = e.get("right").resolve(), i = e.get("left").resolve(), a;
    if (i.isIdentifier({
      name: t
    }) ? a = r : r.isIdentifier({
      name: t
    }) && (a = i), a)
      return s === "===" ? a.getTypeAnnotation() : D_s.includes(s) ? bye() : void 0;
    if (s !== "===" && s !== "==") return;
    let o, l;
    if (i.isUnaryExpression({
      operator: "typeof"
    }) ? (o = i, l = r) : r.isUnaryExpression({
      operator: "typeof"
    }) && (o = r, l = i), !o || !o.get("argument").isIdentifier({
      name: t
    }) || (l = l.resolve(), !l.isLiteral())) return;
    let u = l.node.value;
    if (typeof u == "string")
      return O_s(u);
  }
  n(M_s, "inferAnnotationFromBinaryExpression");
  function F_s(t, e, s) {
    let r;
    for (; r = e.parentPath; ) {
      if (r.isIfStatement() || r.isConditionalExpression())
        return e.key === "test" ? void 0 : r;
      if (r.isFunction() && r.parentPath.scope.getBinding(s) !== t)
        return;
      e = r;
    }
  }
  n(F_s, "getParentConditionalPath");
  function xye(t, e, s) {
    let r = F_s(t, e, s);
    if (!r) return;
    let a = [r.get("test")], o = [];
    for (let l = 0; l < a.length; l++) {
      let u = a[l];
      if (u.isLogicalExpression())
        u.node.operator === "&&" && (a.push(u.get("left")), a.push(u.get("right")));
      else if (u.isBinaryExpression()) {
        let c = M_s(s, u);
        c && o.push(c);
      }
    }
    return o.length ? {
      typeAnnotation: (0, Tye.createUnionType)(o),
      ifStatement: r
    } : xye(t, r, s);
  }
  n(xye, "getConditionalAnnotation");
});

// ../node_modules/@babel/traverse/lib/path/inference/inferers.js
var Nye = g((or) => {
  "use strict";
  Object.defineProperty(or, "__esModule", {
    value: !0
  });
  or.ArrayExpression = Cye;
  or.AssignmentExpression = aLs;
  or.BinaryExpression = tLs;
  or.BooleanLiteral = cLs;
  or.CallExpression = bLs;
  or.ConditionalExpression = rLs;
  or.ClassDeclaration = or.ClassExpression = or.FunctionDeclaration = or.ArrowFunctionExpression = or.FunctionExpression = dLs;
  Object.defineProperty(or, "Identifier", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return R_s.default;
    }, "get")
  });
  or.LogicalExpression = sLs;
  or.NewExpression = Q_s;
  or.NullLiteral = pLs;
  or.NumericLiteral = uLs;
  or.ObjectExpression = fLs;
  or.ParenthesizedExpression = nLs;
  or.RegExpLiteral = hLs;
  or.RestElement = wye;
  or.SequenceExpression = iLs;
  or.StringLiteral = lLs;
  or.TSAsExpression = vye;
  or.TSNonNullExpression = G_s;
  or.TaggedTemplateExpression = xLs;
  or.TemplateLiteral = Z_s;
  or.TypeCastExpression = Aye;
  or.UnaryExpression = eLs;
  or.UpdateExpression = oLs;
  or.VariableDeclarator = z_s;
  var j_s = Fr(), R_s = Sye(), Eye = O9(), {
    BOOLEAN_BINARY_OPERATORS: q_s,
    BOOLEAN_UNARY_OPERATORS: U_s,
    NUMBER_BINARY_OPERATORS: K_s,
    NUMBER_UNARY_OPERATORS: V_s,
    STRING_UNARY_OPERATORS: W_s,
    anyTypeAnnotation: Pye,
    arrayTypeAnnotation: L9,
    booleanTypeAnnotation: B9,
    buildMatchMemberExpression: Qv,
    genericTypeAnnotation: Hp,
    identifier: Hf,
    nullLiteralTypeAnnotation: $_s,
    numberTypeAnnotation: Ay,
    stringTypeAnnotation: Jf,
    tupleTypeAnnotation: H_s,
    unionTypeAnnotation: J_s,
    voidTypeAnnotation: Y_s,
    isIdentifier: X_s
  } = j_s;
  function z_s() {
    if (this.get("id").isIdentifier())
      return this.get("init").getTypeAnnotation();
  }
  n(z_s, "VariableDeclarator");
  function Aye(t) {
    return t.typeAnnotation;
  }
  n(Aye, "TypeCastExpression");
  Aye.validParent = !0;
  function vye(t) {
    return t.typeAnnotation;
  }
  n(vye, "TSAsExpression");
  vye.validParent = !0;
  function G_s() {
    return this.get("expression").getTypeAnnotation();
  }
  n(G_s, "TSNonNullExpression");
  function Q_s(t) {
    if (t.callee.type === "Identifier")
      return Hp(t.callee);
  }
  n(Q_s, "NewExpression");
  function Z_s() {
    return Jf();
  }
  n(Z_s, "TemplateLiteral");
  function eLs(t) {
    let e = t.operator;
    if (e === "void")
      return Y_s();
    if (V_s.includes(e))
      return Ay();
    if (W_s.includes(e))
      return Jf();
    if (U_s.includes(e))
      return B9();
  }
  n(eLs, "UnaryExpression");
  function tLs(t) {
    let e = t.operator;
    if (K_s.includes(e))
      return Ay();
    if (q_s.includes(e))
      return B9();
    if (e === "+") {
      let s = this.get("right"), r = this.get("left");
      return r.isBaseType("number") && s.isBaseType("number") ? Ay() : r.isBaseType("string") || s.isBaseType("string") ? Jf() : J_s([Jf(), Ay()]);
    }
  }
  n(tLs, "BinaryExpression");
  function sLs() {
    let t = [this.get("left").getTypeAnnotation(), this.get("right").getTypeAnnotation()];
    return (0, Eye.createUnionType)(t);
  }
  n(sLs, "LogicalExpression");
  function rLs() {
    let t = [this.get("consequent").getTypeAnnotation(), this.get("alternate").getTypeAnnotation()];
    return (0, Eye.createUnionType)(t);
  }
  n(rLs, "ConditionalExpression");
  function iLs() {
    return this.get("expressions").pop().getTypeAnnotation();
  }
  n(iLs, "SequenceExpression");
  function nLs() {
    return this.get("expression").getTypeAnnotation();
  }
  n(nLs, "ParenthesizedExpression");
  function aLs() {
    return this.get("right").getTypeAnnotation();
  }
  n(aLs, "AssignmentExpression");
  function oLs(t) {
    let e = t.operator;
    if (e === "++" || e === "--")
      return Ay();
  }
  n(oLs, "UpdateExpression");
  function lLs() {
    return Jf();
  }
  n(lLs, "StringLiteral");
  function uLs() {
    return Ay();
  }
  n(uLs, "NumericLiteral");
  function cLs() {
    return B9();
  }
  n(cLs, "BooleanLiteral");
  function pLs() {
    return $_s();
  }
  n(pLs, "NullLiteral");
  function hLs() {
    return Hp(Hf("RegExp"));
  }
  n(hLs, "RegExpLiteral");
  function fLs() {
    return Hp(Hf("Object"));
  }
  n(fLs, "ObjectExpression");
  function Cye() {
    return Hp(Hf("Array"));
  }
  n(Cye, "ArrayExpression");
  function wye() {
    return Cye();
  }
  n(wye, "RestElement");
  wye.validParent = !0;
  function dLs() {
    return Hp(Hf("Function"));
  }
  n(dLs, "Func");
  var mLs = Qv("Array.from"), yLs = Qv("Object.keys"), gLs = Qv("Object.values"), TLs = Qv("Object.entries");
  function bLs() {
    let {
      callee: t
    } = this.node;
    return yLs(t) ? L9(Jf()) : mLs(t) || gLs(t) || X_s(t, {
      name: "Array"
    }) ? L9(Pye()) : TLs(t) ? L9(H_s([Jf(), Pye()])) : Iye(this.get("callee"));
  }
  n(bLs, "CallExpression");
  function xLs() {
    return Iye(this.get("tag"));
  }
  n(xLs, "TaggedTemplateExpression");
  function Iye(t) {
    if (t = t.resolve(), t.isFunction()) {
      let {
        node: e
      } = t;
      if (e.async)
        return e.generator ? Hp(Hf("AsyncIterator")) : Hp(Hf("Promise"));
      if (e.generator)
        return Hp(Hf("Iterator"));
      if (t.node.returnType)
        return t.node.returnType;
    }
  }
  n(Iye, "resolveCall");
});

// ../node_modules/@babel/traverse/lib/path/inference/index.js
var Lye = g((Jp) => {
  "use strict";
  Object.defineProperty(Jp, "__esModule", {
    value: !0
  });
  Jp._getTypeAnnotation = _ye;
  Jp.baseTypeStrictlyMatches = KLs;
  Jp.couldBeBaseType = ULs;
  Jp.getTypeAnnotation = RLs;
  Jp.isBaseType = qLs;
  Jp.isGenericType = VLs;
  var kye = Nye(), SLs = Fr(), {
    anyTypeAnnotation: Oye,
    isAnyTypeAnnotation: Zv,
    isArrayTypeAnnotation: PLs,
    isBooleanTypeAnnotation: ELs,
    isEmptyTypeAnnotation: ALs,
    isFlowBaseAnnotation: vLs,
    isGenericTypeAnnotation: CLs,
    isIdentifier: Dye,
    isMixedTypeAnnotation: wLs,
    isNumberTypeAnnotation: ILs,
    isStringTypeAnnotation: NLs,
    isTSArrayType: kLs,
    isTSTypeAnnotation: DLs,
    isTSTypeReference: OLs,
    isTupleTypeAnnotation: _Ls,
    isTypeAnnotation: LLs,
    isUnionTypeAnnotation: BLs,
    isVoidTypeAnnotation: MLs,
    stringTypeAnnotation: FLs,
    voidTypeAnnotation: jLs
  } = SLs;
  function RLs() {
    let t = this.getData("typeAnnotation");
    return t != null || (t = _ye.call(this) || Oye(), (LLs(t) || DLs(t)) && (t = t.typeAnnotation), this.setData("typeAnnotation", t)), t;
  }
  n(RLs, "getTypeAnnotation");
  var M9 = /* @__PURE__ */ new WeakSet();
  function _ye() {
    let t = this.node;
    if (!t)
      if (this.key === "init" && this.parentPath.isVariableDeclarator()) {
        let s = this.parentPath.parentPath, r = s.parentPath;
        return s.key === "left" && r.isForInStatement() ? FLs() : s.key === "left" && r.isForOfStatement() ? Oye() : jLs();
      } else
        return;
    if (t.typeAnnotation)
      return t.typeAnnotation;
    if (!M9.has(t)) {
      M9.add(t);
      try {
        var e;
        let s = kye[t.type];
        if (s)
          return s.call(this, t);
        if (s = kye[this.parentPath.type], (e = s) != null && e.validParent)
          return this.parentPath.getTypeAnnotation();
      } finally {
        M9.delete(t);
      }
    }
  }
  n(_ye, "_getTypeAnnotation");
  function qLs(t, e) {
    return F9(t, this.getTypeAnnotation(), e);
  }
  n(qLs, "isBaseType");
  function F9(t, e, s) {
    if (t === "string")
      return NLs(e);
    if (t === "number")
      return ILs(e);
    if (t === "boolean")
      return ELs(e);
    if (t === "any")
      return Zv(e);
    if (t === "mixed")
      return wLs(e);
    if (t === "empty")
      return ALs(e);
    if (t === "void")
      return MLs(e);
    if (s)
      return !1;
    throw new Error(`Unknown base type ${t}`);
  }
  n(F9, "_isBaseType");
  function ULs(t) {
    let e = this.getTypeAnnotation();
    if (Zv(e)) return !0;
    if (BLs(e)) {
      for (let s of e.types)
        if (Zv(s) || F9(t, s, !0))
          return !0;
      return !1;
    } else
      return F9(t, e, !0);
  }
  n(ULs, "couldBeBaseType");
  function KLs(t) {
    let e = this.getTypeAnnotation(), s = t.getTypeAnnotation();
    return !Zv(e) && vLs(e) ? s.type === e.type : !1;
  }
  n(KLs, "baseTypeStrictlyMatches");
  function VLs(t) {
    let e = this.getTypeAnnotation();
    return t === "Array" && (kLs(e) || PLs(e) || _Ls(e)) ? !0 : CLs(e) && Dye(e.id, {
      name: t
    }) || OLs(e) && Dye(e.typeName, {
      name: t
    });
  }
  n(VLs, "isGenericType");
});

// ../node_modules/@babel/traverse/lib/path/lib/hoister.js
var Mye = g((eC) => {
  "use strict";
  Object.defineProperty(eC, "__esModule", {
    value: !0
  });
  eC.default = void 0;
  var Bye = Fr(), WLs = Bye, {
    react: $Ls
  } = Bye, {
    cloneNode: HLs,
    jsxExpressionContainer: JLs,
    variableDeclaration: YLs,
    variableDeclarator: XLs
  } = WLs, zLs = {
    ReferencedIdentifier(t, e) {
      if (t.isJSXIdentifier() && $Ls.isCompatTag(t.node.name) && !t.parentPath.isJSXMemberExpression())
        return;
      if (t.node.name === "this") {
        let r = t.scope;
        do
          if (r.path.isFunction() && !r.path.isArrowFunctionExpression())
            break;
        while (r = r.parent);
        r && e.breakOnScopePaths.push(r.path);
      }
      let s = t.scope.getBinding(t.node.name);
      if (s) {
        for (let r of s.constantViolations)
          if (r.scope !== s.path.scope) {
            e.mutableBinding = !0, t.stop();
            return;
          }
        s === e.scope.getBinding(t.node.name) && (e.bindings[t.node.name] = s);
      }
    }
  }, j9 = class {
    static {
      n(this, "PathHoister");
    }
    constructor(e, s) {
      this.breakOnScopePaths = void 0, this.bindings = void 0, this.mutableBinding = void 0, this.scopes = void 0, this.scope = void 0, this.
      path = void 0, this.attachAfter = void 0, this.breakOnScopePaths = [], this.bindings = {}, this.mutableBinding = !1, this.scopes = [],
      this.scope = s, this.path = e, this.attachAfter = !1;
    }
    isCompatibleScope(e) {
      for (let s of Object.keys(this.bindings)) {
        let r = this.bindings[s];
        if (!e.bindingIdentifierEquals(s, r.identifier))
          return !1;
      }
      return !0;
    }
    getCompatibleScopes() {
      let e = this.path.scope;
      do {
        if (this.isCompatibleScope(e))
          this.scopes.push(e);
        else
          break;
        if (this.breakOnScopePaths.includes(e.path))
          break;
      } while (e = e.parent);
    }
    getAttachmentPath() {
      let e = this._getAttachmentPath();
      if (!e) return;
      let s = e.scope;
      if (s.path === e && (s = e.scope.parent), s.path.isProgram() || s.path.isFunction())
        for (let r of Object.keys(this.bindings)) {
          if (!s.hasOwnBinding(r)) continue;
          let i = this.bindings[r];
          if (i.kind === "param" || i.path.parentKey === "params")
            continue;
          if (this.getAttachmentParentForPath(i.path).key >= e.key) {
            this.attachAfter = !0, e = i.path;
            for (let o of i.constantViolations)
              this.getAttachmentParentForPath(o).key > e.key && (e = o);
          }
        }
      return e;
    }
    _getAttachmentPath() {
      let s = this.scopes.pop();
      if (s) {
        if (s.path.isFunction())
          if (this.hasOwnParamBindings(s)) {
            if (this.scope === s) return;
            let r = s.path.get("body").get("body");
            for (let i = 0; i < r.length; i++)
              if (!r[i].node._blockHoist)
                return r[i];
          } else
            return this.getNextScopeAttachmentParent();
        else if (s.path.isProgram())
          return this.getNextScopeAttachmentParent();
      }
    }
    getNextScopeAttachmentParent() {
      let e = this.scopes.pop();
      if (e) return this.getAttachmentParentForPath(e.path);
    }
    getAttachmentParentForPath(e) {
      do
        if (!e.parentPath || Array.isArray(e.container) && e.isStatement())
          return e;
      while (e = e.parentPath);
    }
    hasOwnParamBindings(e) {
      for (let s of Object.keys(this.bindings)) {
        if (!e.hasOwnBinding(s)) continue;
        let r = this.bindings[s];
        if (r.kind === "param" && r.constant) return !0;
      }
      return !1;
    }
    run() {
      if (this.path.traverse(zLs, this), this.mutableBinding) return;
      this.getCompatibleScopes();
      let e = this.getAttachmentPath();
      if (!e || e.getFunctionParent() === this.path.getFunctionParent()) return;
      let s = e.scope.generateUidIdentifier("ref"), r = XLs(s, this.path.node), i = this.attachAfter ? "insertAfter" : "insertBefore", [a] = e[i](
      [e.isVariableDeclarator() ? r : YLs("var", [r])]), o = this.path.parentPath;
      return o.isJSXElement() && this.path.container === o.node.children && (s = JLs(s)), this.path.replaceWith(HLs(s)), e.isVariableDeclarator() ?
      a.get("init") : a.get("declarations.0.init");
    }
  };
  eC.default = j9;
});

// ../node_modules/@babel/traverse/lib/path/lib/removal-hooks.js
var Fye = g((tC) => {
  "use strict";
  Object.defineProperty(tC, "__esModule", {
    value: !0
  });
  tC.hooks = void 0;
  var vlr = tC.hooks = [function(t, e) {
    if (t.key === "test" && (e.isWhile() || e.isSwitchCase()) || t.key === "declaration" && e.isExportDeclaration() || t.key === "body" && e.
    isLabeledStatement() || t.listKey === "declarations" && e.isVariableDeclaration() && e.node.declarations.length === 1 || t.key === "expr\
ession" && e.isExpressionStatement())
      return e.remove(), !0;
  }, function(t, e) {
    if (e.isSequenceExpression() && e.node.expressions.length === 1)
      return e.replaceWith(e.node.expressions[0]), !0;
  }, function(t, e) {
    if (e.isBinary())
      return t.key === "left" ? e.replaceWith(e.node.right) : e.replaceWith(e.node.left), !0;
  }, function(t, e) {
    if (e.isIfStatement() && t.key === "consequent" || t.key === "body" && (e.isLoop() || e.isArrowFunctionExpression()))
      return t.replaceWith({
        type: "BlockStatement",
        body: []
      }), !0;
  }];
});

// ../node_modules/@babel/traverse/lib/path/removal.js
var sC = g((Yp) => {
  "use strict";
  Object.defineProperty(Yp, "__esModule", {
    value: !0
  });
  Yp._assertUnremoved = Kye;
  Yp._callRemovalHooks = qye;
  Yp._markRemoved = R9;
  Yp._remove = Uye;
  Yp._removeFromScope = Rye;
  Yp.remove = iBs;
  var GLs = Fye(), QLs = Vf(), ZLs = q9(), jye = Xp(), eBs = Fr(), tBs = rC(), sBs = Ll(), {
    getBindingIdentifiers: rBs
  } = eBs;
  function iBs() {
    var t;
    if (Kye.call(this), sBs.resync.call(this), qye.call(this)) {
      R9.call(this);
      return;
    }
    (t = this.opts) != null && t.noScope || Rye.call(this), this.shareCommentsWithSiblings(), Uye.call(this), R9.call(this);
  }
  n(iBs, "remove");
  function Rye() {
    let t = rBs(this.node, !1, !1, !0);
    Object.keys(t).forEach((e) => this.scope.removeBinding(e));
  }
  n(Rye, "_removeFromScope");
  function qye() {
    if (this.parentPath) {
      for (let t of GLs.hooks)
        if (t(this, this.parentPath)) return !0;
    }
  }
  n(qye, "_callRemovalHooks");
  function Uye() {
    Array.isArray(this.container) ? (this.container.splice(this.key, 1), tBs.updateSiblingKeys.call(this, this.key, -1)) : ZLs._replaceWith.
    call(this, null);
  }
  n(Uye, "_remove");
  function R9() {
    this._traverseFlags |= jye.SHOULD_SKIP | jye.REMOVED, this.parent && (0, QLs.getCachedPaths)(this.hub, this.parent).delete(this.node), this.
    node = null;
  }
  n(R9, "_markRemoved");
  function Kye() {
    if (this.removed)
      throw this.buildCodeFrameError("NodePath has been removed so is read-only.");
  }
  n(Kye, "_assertUnremoved");
});

// ../node_modules/@babel/traverse/lib/path/modification.js
var rC = g((co) => {
  "use strict";
  Object.defineProperty(co, "__esModule", {
    value: !0
  });
  co._containerInsert = $9;
  co._containerInsertAfter = $ye;
  co._containerInsertBefore = H9;
  co._verifyNodeList = lb;
  co.insertAfter = SBs;
  co.insertBefore = bBs;
  co.pushContainer = EBs;
  co.unshiftContainer = PBs;
  co.updateSiblingKeys = Yye;
  var nBs = Vf(), aBs = Mye(), W9 = Xp(), U9 = Ll(), iC = sC(), oBs = Fr(), {
    arrowFunctionExpression: lBs,
    assertExpression: uBs,
    assignmentExpression: cBs,
    blockStatement: Vye,
    callExpression: pBs,
    cloneNode: K9,
    expressionStatement: V9,
    isAssignmentExpression: hBs,
    isCallExpression: fBs,
    isExportNamedDeclaration: Wye,
    isExpression: dBs,
    isIdentifier: mBs,
    isSequenceExpression: yBs,
    isSuper: gBs,
    thisExpression: TBs
  } = oBs;
  function bBs(t) {
    iC._assertUnremoved.call(this);
    let e = lb.call(this, t), {
      parentPath: s,
      parent: r
    } = this;
    if (s.isExpressionStatement() || s.isLabeledStatement() || Wye(r) || s.isExportDefaultDeclaration() && this.isDeclaration())
      return s.insertBefore(e);
    if (this.isNodeType("Expression") && !this.isJSXElement() || s.isForStatement() && this.key === "init")
      return this.node && e.push(this.node), this.replaceExpressionWithStatements(e);
    if (Array.isArray(this.container))
      return H9.call(this, e);
    if (this.isStatementOrBlock()) {
      let i = this.node, a = i && (!this.isExpressionStatement() || i.expression != null);
      return this.replaceWith(Vye(a ? [i] : [])), this.unshiftContainer("body", e);
    } else
      throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?");
  }
  n(bBs, "insertBefore");
  function $9(t, e) {
    Yye.call(this, t, e.length);
    let s = [];
    this.container.splice(t, 0, ...e);
    for (let a = 0; a < e.length; a++) {
      var r;
      let o = t + a, l = this.getSibling(o);
      s.push(l), (r = this.context) != null && r.queue && U9.pushContext.call(l, this.context);
    }
    let i = U9._getQueueContexts.call(this);
    for (let a of s) {
      U9.setScope.call(a), a.debug("Inserted.");
      for (let o of i)
        o.maybeQueue(a, !0);
    }
    return s;
  }
  n($9, "_containerInsert");
  function H9(t) {
    return $9.call(this, this.key, t);
  }
  n(H9, "_containerInsertBefore");
  function $ye(t) {
    return $9.call(this, this.key + 1, t);
  }
  n($ye, "_containerInsertAfter");
  var Hye = /* @__PURE__ */ n((t) => t[t.length - 1], "last");
  function Jye(t) {
    return yBs(t.parent) && (Hye(t.parent.expressions) !== t.node || Jye(t.parentPath));
  }
  n(Jye, "isHiddenInSequenceExpression");
  function xBs(t, e) {
    if (!hBs(t) || !mBs(t.left))
      return !1;
    let s = e.getBlockParent();
    return s.hasOwnBinding(t.left.name) && s.getOwnBinding(t.left.name).constantViolations.length <= 1;
  }
  n(xBs, "isAlmostConstantAssignment");
  function SBs(t) {
    if (iC._assertUnremoved.call(this), this.isSequenceExpression())
      return Hye(this.get("expressions")).insertAfter(t);
    let e = lb.call(this, t), {
      parentPath: s,
      parent: r
    } = this;
    if (s.isExpressionStatement() || s.isLabeledStatement() || Wye(r) || s.isExportDefaultDeclaration() && this.isDeclaration())
      return s.insertAfter(e.map((i) => dBs(i) ? V9(i) : i));
    if (this.isNodeType("Expression") && !this.isJSXElement() && !s.isJSXElement() || s.isForStatement() && this.key === "init") {
      let i = this;
      if (i.node) {
        let a = i.node, {
          scope: o
        } = this;
        if (o.path.isPattern())
          return uBs(a), i.replaceWith(pBs(lBs([], a), [])), i.get("callee.body").insertAfter(e), [i];
        if (Jye(i))
          e.unshift(a);
        else if (fBs(a) && gBs(a.callee))
          e.unshift(a), e.push(TBs());
        else if (xBs(a, o))
          e.unshift(a), e.push(K9(a.left));
        else if (o.isPure(a, !0))
          e.push(a);
        else {
          s.isMethod({
            computed: !0,
            key: a
          }) && (o = o.parent);
          let l = o.generateDeclaredUidIdentifier();
          e.unshift(V9(cBs("=", K9(l), a))), e.push(V9(K9(l)));
        }
      }
      return this.replaceExpressionWithStatements(e);
    } else {
      if (Array.isArray(this.container))
        return $ye.call(this, e);
      if (this.isStatementOrBlock()) {
        let i = this.node, a = i && (!this.isExpressionStatement() || i.expression != null);
        return this.replaceWith(Vye(a ? [i] : [])), this.pushContainer("body", e);
      } else
        throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?");
    }
  }
  n(SBs, "insertAfter");
  function Yye(t, e) {
    if (!this.parent) return;
    let s = (0, nBs.getCachedPaths)(this.hub, this.parent) || [];
    for (let [, r] of s)
      typeof r.key == "number" && r.container === this.container && r.key >= t && (r.key += e);
  }
  n(Yye, "updateSiblingKeys");
  function lb(t) {
    if (!t)
      return [];
    Array.isArray(t) || (t = [t]);
    for (let e = 0; e < t.length; e++) {
      let s = t[e], r;
      if (s ? typeof s != "object" ? r = "contains a non-object node" : s.type ? s instanceof W9.default && (r = "has a NodePath when it exp\
ected a raw object") : r = "without a type" : r = "has falsy node", r) {
        let i = Array.isArray(s) ? "array" : typeof s;
        throw new Error(`Node list ${r} with the index of ${e} and type of ${i}`);
      }
    }
    return t;
  }
  n(lb, "_verifyNodeList");
  function PBs(t, e) {
    iC._assertUnremoved.call(this), e = lb.call(this, e);
    let s = W9.default.get({
      parentPath: this,
      parent: this.node,
      container: this.node[t],
      listKey: t,
      key: 0
    }).setContext(this.context);
    return H9.call(s, e);
  }
  n(PBs, "unshiftContainer");
  function EBs(t, e) {
    iC._assertUnremoved.call(this);
    let s = lb.call(this, e), r = this.node[t];
    return W9.default.get({
      parentPath: this,
      parent: this.node,
      container: r,
      listKey: t,
      key: r.length
    }).setContext(this.context).replaceWithMultiple(s);
  }
  n(EBs, "pushContainer");
  co.hoist = /* @__PURE__ */ n(function(e = this.scope) {
    return new aBs.default(this, e).run();
  }, "hoist");
});

// ../node_modules/@babel/traverse/lib/path/replacement.js
var q9 = g((zp) => {
  "use strict";
  Object.defineProperty(zp, "__esModule", {
    value: !0
  });
  zp._replaceWith = sge;
  zp.replaceExpressionWithStatements = GBs;
  zp.replaceInline = QBs;
  zp.replaceWith = zBs;
  zp.replaceWithMultiple = YBs;
  zp.replaceWithSourceString = XBs;
  var ABs = Hl(), Y9 = ob(), vBs = Xp(), Zye = Vf(), X9 = rC(), CBs = Sv(), wBs = Fr(), vy = Ll(), {
    FUNCTION_TYPES: Xye,
    arrowFunctionExpression: IBs,
    assignmentExpression: ege,
    awaitExpression: NBs,
    blockStatement: kBs,
    buildUndefinedNode: J9,
    callExpression: DBs,
    cloneNode: z9,
    conditionalExpression: OBs,
    expressionStatement: _Bs,
    getBindingIdentifiers: LBs,
    identifier: BBs,
    inheritLeadingComments: MBs,
    inheritTrailingComments: FBs,
    inheritsComments: jBs,
    isBlockStatement: RBs,
    isEmptyStatement: zye,
    isExpression: tge,
    isExpressionStatement: qBs,
    isIfStatement: UBs,
    isProgram: KBs,
    isStatement: VBs,
    isVariableDeclaration: WBs,
    removeComments: $Bs,
    returnStatement: Gye,
    sequenceExpression: HBs,
    validate: Qye,
    yieldExpression: JBs
  } = wBs;
  function YBs(t) {
    var e;
    vy.resync.call(this), t = X9._verifyNodeList.call(this, t), MBs(t[0], this.node), FBs(t[t.length - 1], this.node), (e = (0, Zye.getCachedPaths)(
    this.hub, this.parent)) == null || e.delete(this.node), this.node = this.container[this.key] = null;
    let s = this.insertAfter(t);
    return this.node ? this.requeue() : this.remove(), s;
  }
  n(YBs, "replaceWithMultiple");
  function XBs(t) {
    vy.resync.call(this);
    let e;
    try {
      t = `(${t})`, e = (0, CBs.parse)(t);
    } catch (r) {
      let i = r.loc;
      throw i && (r.message += ` - make sure this is an expression.
` + (0, ABs.codeFrameColumns)(t, {
        start: {
          line: i.line,
          column: i.column + 1
        }
      }), r.code = "BABEL_REPLACE_SOURCE_ERROR"), r;
    }
    let s = e.program.body[0].expression;
    return Y9.default.removeProperties(s), this.replaceWith(s);
  }
  n(XBs, "replaceWithSourceString");
  function zBs(t) {
    if (vy.resync.call(this), this.removed)
      throw new Error("You can't replace this node, we've already removed it");
    let e = t instanceof vBs.default ? t.node : t;
    if (!e)
      throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");
    if (this.node === e)
      return [this];
    if (this.isProgram() && !KBs(e))
      throw new Error("You can only replace a Program root node with another Program node");
    if (Array.isArray(e))
      throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");
    if (typeof e == "string")
      throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");
    let s = "";
    if (this.isNodeType("Statement") && tge(e) && !this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(
    e) && !this.parentPath.isExportDefaultDeclaration() && (e = _Bs(e), s = "expression"), this.isNodeType("Expression") && VBs(e) && !this.
    canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(e))
      return this.replaceExpressionWithStatements([e]);
    let r = this.node;
    return r && (jBs(e, r), $Bs(r)), sge.call(this, e), this.type = e.type, vy.setScope.call(this), this.requeue(), [s ? this.get(s) : this];
  }
  n(zBs, "replaceWith");
  function sge(t) {
    var e;
    if (!this.container)
      throw new ReferenceError("Container is falsy");
    this.inList ? Qye(this.parent, this.key, [t]) : Qye(this.parent, this.key, t), this.debug(`Replace with ${t?.type}`), (e = (0, Zye.getCachedPaths)(
    this.hub, this.parent)) == null || e.set(t, this).delete(this.node), this.node = this.container[this.key] = t;
  }
  n(sge, "_replaceWith");
  function GBs(t) {
    vy.resync.call(this);
    let e = [], s = nC(t, e);
    if (s) {
      for (let f of e) this.scope.push({
        id: f
      });
      return this.replaceWith(s)[0].get("expressions");
    }
    let r = this.getFunctionParent(), i = r?.node.async, a = r?.node.generator, o = IBs([], kBs(t));
    this.replaceWith(DBs(o, []));
    let l = this.get("callee");
    l.get("body").scope.hoistVariables((f) => this.scope.push({
      id: f
    }));
    let u = l.getCompletionRecords();
    for (let f of u) {
      if (!f.isExpressionStatement()) continue;
      let d = f.findParent((m) => m.isLoop());
      if (d) {
        let m = d.getData("expressionReplacementReturnUid");
        m ? m = BBs(m.name) : (m = l.scope.generateDeclaredUidIdentifier("ret"), l.get("body").pushContainer("body", Gye(z9(m))), d.setData(
        "expressionReplacementReturnUid", m)), f.get("expression").replaceWith(ege("=", z9(m), f.node.expression));
      } else
        f.replaceWith(Gye(f.node.expression));
    }
    l.arrowFunctionToExpression();
    let c = l, p = i && Y9.default.hasType(this.get("callee.body").node, "AwaitExpression", Xye), h = a && Y9.default.hasType(this.get("call\
ee.body").node, "YieldExpression", Xye);
    return p && (c.set("async", !0), h || this.replaceWith(NBs(this.node))), h && (c.set("generator", !0), this.replaceWith(JBs(this.node, !0))),
    c.get("body.body");
  }
  n(GBs, "replaceExpressionWithStatements");
  function nC(t, e) {
    let s = [], r = !0;
    for (let i of t)
      if (zye(i) || (r = !1), tge(i))
        s.push(i);
      else if (qBs(i))
        s.push(i.expression);
      else if (WBs(i)) {
        if (i.kind !== "var") return;
        for (let a of i.declarations) {
          let o = LBs(a);
          for (let l of Object.keys(o))
            e.push(z9(o[l]));
          a.init && s.push(ege("=", a.id, a.init));
        }
        r = !0;
      } else if (UBs(i)) {
        let a = i.consequent ? nC([i.consequent], e) : J9(), o = i.alternate ? nC([i.alternate], e) : J9();
        if (!a || !o) return;
        s.push(OBs(i.test, a, o));
      } else if (RBs(i)) {
        let a = nC(i.body, e);
        if (!a) return;
        s.push(a);
      } else if (zye(i))
        t.indexOf(i) === 0 && (r = !0);
      else
        return;
    return r && s.push(J9()), s.length === 1 ? s[0] : HBs(s);
  }
  n(nC, "gatherSequenceExpressions");
  function QBs(t) {
    if (vy.resync.call(this), Array.isArray(t))
      if (Array.isArray(this.container)) {
        t = X9._verifyNodeList.call(this, t);
        let e = X9._containerInsertAfter.call(this, t);
        return this.remove(), e;
      } else
        return this.replaceWithMultiple(t);
    else
      return this.replaceWith(t);
  }
  n(QBs, "replaceInline");
});

// ../node_modules/@babel/traverse/lib/path/evaluation.js
var age = g((aC) => {
  "use strict";
  Object.defineProperty(aC, "__esModule", {
    value: !0
  });
  aC.evaluate = aMs;
  aC.evaluateTruthy = iMs;
  var ZBs = ["Number", "String", "Math"], eMs = ["isFinite", "isNaN", "parseFloat", "parseInt", "decodeURI", "decodeURIComponent", "encodeUR\
I", "encodeURIComponent", null, null], tMs = ["random"];
  function rge(t) {
    return ZBs.includes(t);
  }
  n(rge, "isValidObjectCallee");
  function sMs(t) {
    return eMs.includes(t);
  }
  n(sMs, "isValidIdentifierCallee");
  function rMs(t) {
    return tMs.includes(t);
  }
  n(rMs, "isInvalidMethod");
  function iMs() {
    let t = this.evaluate();
    if (t.confident) return !!t.value;
  }
  n(iMs, "evaluateTruthy");
  function yc(t, e) {
    e.confident && (e.deoptPath = t, e.confident = !1);
  }
  n(yc, "deopt");
  var ige = /* @__PURE__ */ new Map([["undefined", void 0], ["Infinity", 1 / 0], ["NaN", NaN]]);
  function Gn(t, e) {
    let {
      node: s
    } = t, {
      seen: r
    } = e;
    if (r.has(s)) {
      let i = r.get(s);
      if (i.resolved)
        return i.value;
      yc(t, e);
      return;
    } else {
      let i = {
        resolved: !1
      };
      r.set(s, i);
      let a = nMs(t, e);
      return e.confident && (i.resolved = !0, i.value = a), a;
    }
  }
  n(Gn, "evaluateCached");
  function nMs(t, e) {
    if (e.confident) {
      if (t.isSequenceExpression()) {
        let s = t.get("expressions");
        return Gn(s[s.length - 1], e);
      }
      if (t.isStringLiteral() || t.isNumericLiteral() || t.isBooleanLiteral())
        return t.node.value;
      if (t.isNullLiteral())
        return null;
      if (t.isTemplateLiteral())
        return nge(t, t.node.quasis, e);
      if (t.isTaggedTemplateExpression() && t.get("tag").isMemberExpression()) {
        let s = t.get("tag.object"), {
          node: {
            name: r
          }
        } = s, i = t.get("tag.property");
        if (s.isIdentifier() && r === "String" && !t.scope.getBinding(r) && i.isIdentifier() && i.node.name === "raw")
          return nge(t, t.node.quasi.quasis, e, !0);
      }
      if (t.isConditionalExpression()) {
        let s = Gn(t.get("test"), e);
        return e.confident ? Gn(s ? t.get("consequent") : t.get("alternate"), e) : void 0;
      }
      if (t.isExpressionWrapper())
        return Gn(t.get("expression"), e);
      if (t.isMemberExpression() && !t.parentPath.isCallExpression({
        callee: t.node
      })) {
        let s = t.get("property"), r = t.get("object");
        if (r.isLiteral()) {
          let i = r.node.value, a = typeof i, o = null;
          if (t.node.computed) {
            if (o = Gn(s, e), !e.confident) return;
          } else s.isIdentifier() && (o = s.node.name);
          if ((a === "number" || a === "string") && o != null && (typeof o == "number" || typeof o == "string"))
            return i[o];
        }
      }
      if (t.isReferencedIdentifier()) {
        let s = t.scope.getBinding(t.node.name);
        if (s) {
          if (s.constantViolations.length > 0 || t.node.start < s.path.node.end) {
            yc(s.path, e);
            return;
          }
          if (s.hasValue)
            return s.value;
        }
        let r = t.node.name;
        if (ige.has(r)) {
          if (!s)
            return ige.get(r);
          yc(s.path, e);
          return;
        }
        let i = t.resolve();
        if (i === t) {
          yc(t, e);
          return;
        } else
          return Gn(i, e);
      }
      if (t.isUnaryExpression({
        prefix: !0
      })) {
        if (t.node.operator === "void")
          return;
        let s = t.get("argument");
        if (t.node.operator === "typeof" && (s.isFunction() || s.isClass()))
          return "function";
        let r = Gn(s, e);
        if (!e.confident) return;
        switch (t.node.operator) {
          case "!":
            return !r;
          case "+":
            return +r;
          case "-":
            return -r;
          case "~":
            return ~r;
          case "typeof":
            return typeof r;
        }
      }
      if (t.isArrayExpression()) {
        let s = [], r = t.get("elements");
        for (let i of r) {
          let a = i.evaluate();
          if (a.confident)
            s.push(a.value);
          else {
            yc(a.deopt, e);
            return;
          }
        }
        return s;
      }
      if (t.isObjectExpression()) {
        let s = {}, r = t.get("properties");
        for (let i of r) {
          if (i.isObjectMethod() || i.isSpreadElement()) {
            yc(i, e);
            return;
          }
          let a = i.get("key"), o;
          if (i.node.computed) {
            if (o = a.evaluate(), !o.confident) {
              yc(o.deopt, e);
              return;
            }
            o = o.value;
          } else a.isIdentifier() ? o = a.node.name : o = a.node.value;
          let u = i.get("value").evaluate();
          if (!u.confident) {
            yc(u.deopt, e);
            return;
          }
          u = u.value, s[o] = u;
        }
        return s;
      }
      if (t.isLogicalExpression()) {
        let s = e.confident, r = Gn(t.get("left"), e), i = e.confident;
        e.confident = s;
        let a = Gn(t.get("right"), e), o = e.confident;
        switch (t.node.operator) {
          case "||":
            return e.confident = i && (!!r || o), e.confident ? r || a : void 0;
          case "&&":
            return e.confident = i && (!r || o), e.confident ? r && a : void 0;
          case "??":
            return e.confident = i && (r != null || o), e.confident ? r ?? a : void 0;
        }
      }
      if (t.isBinaryExpression()) {
        let s = Gn(t.get("left"), e);
        if (!e.confident) return;
        let r = Gn(t.get("right"), e);
        if (!e.confident) return;
        switch (t.node.operator) {
          case "-":
            return s - r;
          case "+":
            return s + r;
          case "/":
            return s / r;
          case "*":
            return s * r;
          case "%":
            return s % r;
          case "**":
            return Math.pow(s, r);
          case "<":
            return s < r;
          case ">":
            return s > r;
          case "<=":
            return s <= r;
          case ">=":
            return s >= r;
          case "==":
            return s == r;
          case "!=":
            return s != r;
          case "===":
            return s === r;
          case "!==":
            return s !== r;
          case "|":
            return s | r;
          case "&":
            return s & r;
          case "^":
            return s ^ r;
          case "<<":
            return s << r;
          case ">>":
            return s >> r;
          case ">>>":
            return s >>> r;
        }
      }
      if (t.isCallExpression()) {
        let s = t.get("callee"), r, i;
        if (s.isIdentifier() && !t.scope.getBinding(s.node.name) && (rge(s.node.name) || sMs(s.node.name)) && (i = global[s.node.name]), s.isMemberExpression()) {
          let a = s.get("object"), o = s.get("property");
          if (a.isIdentifier() && o.isIdentifier() && rge(a.node.name) && !rMs(o.node.name)) {
            r = global[a.node.name];
            let l = o.node.name;
            hasOwnProperty.call(r, l) && (i = r[l]);
          }
          if (a.isLiteral() && o.isIdentifier()) {
            let l = typeof a.node.value;
            (l === "string" || l === "number") && (r = a.node.value, i = r[o.node.name]);
          }
        }
        if (i) {
          let a = t.get("arguments").map((o) => Gn(o, e));
          return e.confident ? i.apply(r, a) : void 0;
        }
      }
      yc(t, e);
    }
  }
  n(nMs, "_evaluate");
  function nge(t, e, s, r = !1) {
    let i = "", a = 0, o = t.isTemplateLiteral() ? t.get("expressions") : t.get("quasi.expressions");
    for (let l of e) {
      if (!s.confident) break;
      i += r ? l.value.raw : l.value.cooked;
      let u = o[a++];
      u && (i += String(Gn(u, s)));
    }
    if (s.confident)
      return i;
  }
  n(nge, "evaluateQuasis");
  function aMs() {
    let t = {
      confident: !0,
      deoptPath: null,
      seen: /* @__PURE__ */ new Map()
    }, e = Gn(this, t);
    return t.confident || (e = void 0), {
      confident: t.confident,
      deopt: t.deoptPath,
      value: e
    };
  }
  n(aMs, "evaluate");
});

// ../node_modules/@babel/traverse/lib/path/conversion.js
var dge = g((gc) => {
  "use strict";
  Object.defineProperty(gc, "__esModule", {
    value: !0
  });
  gc.arrowFunctionToExpression = MMs;
  gc.ensureBlock = _Ms;
  gc.ensureFunctionName = YMs;
  gc.splitExportDeclaration = HMs;
  gc.toComputedKey = OMs;
  gc.unwrapFunctionEnvironment = LMs;
  var oMs = Fr(), lMs = Jl(), Z9 = ab(), uMs = Ll(), {
    arrowFunctionExpression: e7,
    assignmentExpression: Yf,
    binaryExpression: G9,
    blockStatement: cMs,
    callExpression: Cy,
    conditionalExpression: pMs,
    expressionStatement: uge,
    identifier: gr,
    isIdentifier: hMs,
    jsxIdentifier: fMs,
    logicalExpression: dMs,
    LOGICAL_OPERATORS: mMs,
    memberExpression: Vo,
    metaProperty: yMs,
    numericLiteral: gMs,
    objectExpression: TMs,
    restElement: bMs,
    returnStatement: xMs,
    sequenceExpression: SMs,
    spreadElement: PMs,
    stringLiteral: cge,
    super: Q9,
    thisExpression: ub,
    toExpression: pge,
    unaryExpression: EMs,
    toBindingIdentifierName: AMs,
    isFunction: vMs,
    isAssignmentPattern: CMs,
    isRestElement: wMs,
    getFunctionName: IMs,
    cloneNode: Xf,
    variableDeclaration: NMs,
    variableDeclarator: kMs,
    exportNamedDeclaration: oge,
    exportSpecifier: lge,
    inherits: DMs
  } = oMs;
  function OMs() {
    let t;
    if (this.isMemberExpression())
      t = this.node.property;
    else if (this.isProperty() || this.isMethod())
      t = this.node.key;
    else
      throw new ReferenceError("todo");
    return this.node.computed || hMs(t) && (t = cge(t.name)), t;
  }
  n(OMs, "toComputedKey");
  function _Ms() {
    let t = this.get("body"), e = t.node;
    if (Array.isArray(t))
      throw new Error("Can't convert array path to a block statement");
    if (!e)
      throw new Error("Can't convert node without a body");
    if (t.isBlockStatement())
      return e;
    let s = [], r = "body", i, a;
    t.isStatement() ? (a = "body", i = 0, s.push(t.node)) : (r += ".body.0", this.isFunction() ? (i = "argument", s.push(xMs(t.node))) : (i =
    "expression", s.push(uge(t.node)))), this.node.body = cMs(s);
    let o = this.get(r);
    return uMs.setup.call(t, o, a ? o.node[a] : o.node, a, i), this.node;
  }
  n(_Ms, "ensureBlock");
  gc.arrowFunctionToShadowed = function() {
    this.isArrowFunctionExpression() && this.arrowFunctionToExpression();
  };
  function LMs() {
    if (!this.isArrowFunctionExpression() && !this.isFunctionExpression() && !this.isFunctionDeclaration())
      throw this.buildCodeFrameError("Can only unwrap the environment of a function.");
    hge(this);
  }
  n(LMs, "unwrapFunctionEnvironment");
  function BMs(t, e) {
    t.node.type = e;
  }
  n(BMs, "setType");
  function MMs({
    allowInsertArrow: t = !0,
    allowInsertArrowWithRest: e = t,
    noNewArrows: s = !((r) => (r = arguments[0]) == null ? void 0 : r.specCompliant)()
  } = {}) {
    if (!this.isArrowFunctionExpression())
      throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");
    let r = this;
    if (!s) {
      var i;
      r = (i = r.ensureFunctionName(!1)) != null ? i : r;
    }
    let {
      thisBinding: a,
      fnPath: o
    } = hge(r, s, t, e);
    if (o.ensureBlock(), BMs(o, "FunctionExpression"), !s) {
      let l = a ? null : o.scope.generateUidIdentifier("arrowCheckId");
      return l && o.parentPath.scope.push({
        id: l,
        init: TMs([])
      }), o.get("body").unshiftContainer("body", uge(Cy(this.hub.addHelper("newArrowCheck"), [ub(), gr(l ? l.name : a)]))), o.replaceWith(Cy(
      Vo(o.node, gr("bind")), [l ? gr(l.name) : ub()])), o.get("callee.object");
    }
    return o;
  }
  n(MMs, "arrowFunctionToExpression");
  var FMs = (0, Z9.environmentVisitor)({
    CallExpression(t, {
      allSuperCalls: e
    }) {
      t.get("callee").isSuper() && e.push(t);
    }
  });
  function hge(t, e = !0, s = !0, r = !0) {
    let i, a = t.findParent((d) => {
      if (d.isArrowFunctionExpression()) {
        var m;
        return (m = i) != null || (i = d), !1;
      }
      return d.isFunction() || d.isProgram() || d.isClassProperty({
        static: !1
      }) || d.isClassPrivateProperty({
        static: !1
      });
    }), o = a.isClassMethod({
      kind: "constructor"
    });
    if (a.isClassProperty() || a.isClassPrivateProperty())
      if (i)
        a = i;
      else if (s)
        t.replaceWith(Cy(e7([], pge(t.node)), [])), a = t.get("callee"), t = a.get("body");
      else
        throw t.buildCodeFrameError("Unable to transform arrow inside class property");
    let {
      thisPaths: l,
      argumentsPaths: u,
      newTargetPaths: c,
      superProps: p,
      superCalls: h
    } = $Ms(t);
    if (o && h.length > 0) {
      if (!s)
        throw h[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super()` in an a\
rrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");
      if (!r)
        throw h[0].buildCodeFrameError("When using '@babel/plugin-transform-parameters', it's not possible to compile `super()` in an arrow \
function with default or rest parameters without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration\
.");
      let d = [];
      a.traverse(FMs, {
        allSuperCalls: d
      });
      let m = KMs(a);
      d.forEach((y) => {
        let T = gr(m);
        T.loc = y.node.callee.loc, y.get("callee").replaceWith(T);
      });
    }
    if (u.length > 0) {
      let d = cb(a, "arguments", () => {
        let m = /* @__PURE__ */ n(() => gr("arguments"), "args");
        return a.scope.path.isProgram() ? pMs(G9("===", EMs("typeof", m()), cge("undefined")), a.scope.buildUndefinedNode(), m()) : m();
      });
      u.forEach((m) => {
        let y = gr(d);
        y.loc = m.node.loc, m.replaceWith(y);
      });
    }
    if (c.length > 0) {
      let d = cb(a, "newtarget", () => yMs(gr("new"), gr("target")));
      c.forEach((m) => {
        let y = gr(d);
        y.loc = m.node.loc, m.replaceWith(y);
      });
    }
    if (p.length > 0) {
      if (!s)
        throw p[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super.prop` in a\
n arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");
      p.reduce((m, y) => m.concat(RMs(y)), []).forEach((m) => {
        let y = m.node.computed ? "" : m.get("property").node.name, T = m.parentPath, b = T.isAssignmentExpression({
          left: m.node
        }), E = T.isCallExpression({
          callee: m.node
        }), V = T.isTaggedTemplateExpression({
          tag: m.node
        }), W = VMs(a, b, y), oe = [];
        if (m.node.computed && oe.push(m.get("property").node), b) {
          let ye = T.node.right;
          oe.push(ye);
        }
        let de = Cy(gr(W), oe);
        E ? (T.unshiftContainer("arguments", ub()), m.replaceWith(Vo(de, gr("call"))), l.push(T.get("arguments.0"))) : b ? T.replaceWith(de) :
        V ? (m.replaceWith(Cy(Vo(de, gr("bind"), !1), [ub()])), l.push(m.get("arguments.0"))) : m.replaceWith(de);
      });
    }
    let f;
    return (l.length > 0 || !e) && (f = UMs(a, o), (e || o && fge(a)) && (l.forEach((d) => {
      let m = d.isJSX() ? fMs(f) : gr(f);
      m.loc = d.node.loc, d.replaceWith(m);
    }), e || (f = null))), {
      thisBinding: f,
      fnPath: t
    };
  }
  n(hge, "hoistFunctionEnvironment");
  function jMs(t) {
    return mMs.includes(t);
  }
  n(jMs, "isLogicalOp");
  function RMs(t) {
    if (t.parentPath.isAssignmentExpression() && t.parentPath.node.operator !== "=") {
      let s = t.parentPath, r = s.node.operator.slice(0, -1), i = s.node.right, a = jMs(r);
      if (t.node.computed) {
        let o = t.scope.generateDeclaredUidIdentifier("tmp"), l = t.node.object, u = t.node.property;
        s.get("left").replaceWith(Vo(l, Yf("=", o, u), !0)), s.get("right").replaceWith(e(a ? "=" : r, Vo(l, gr(o.name), !0), i));
      } else {
        let o = t.node.object, l = t.node.property;
        s.get("left").replaceWith(Vo(o, l)), s.get("right").replaceWith(e(a ? "=" : r, Vo(o, gr(l.name)), i));
      }
      return a ? s.replaceWith(dMs(r, s.node.left, s.node.right)) : s.node.operator = "=", [s.get("left"), s.get("right").get("left")];
    } else if (t.parentPath.isUpdateExpression()) {
      let s = t.parentPath, r = t.scope.generateDeclaredUidIdentifier("tmp"), i = t.node.computed ? t.scope.generateDeclaredUidIdentifier("p\
rop") : null, a = [Yf("=", r, Vo(t.node.object, i ? Yf("=", i, t.node.property) : t.node.property, t.node.computed)), Yf("=", Vo(t.node.object,
      i ? gr(i.name) : t.node.property, t.node.computed), G9(t.parentPath.node.operator[0], gr(r.name), gMs(1)))];
      t.parentPath.node.prefix || a.push(gr(r.name)), s.replaceWith(SMs(a));
      let o = s.get("expressions.0.right"), l = s.get("expressions.1.left");
      return [o, l];
    }
    return [t];
    function e(s, r, i) {
      return s === "=" ? Yf("=", r, i) : G9(s, r, i);
    }
  }
  n(RMs, "standardizeSuperProperty");
  function fge(t) {
    return t.isClassMethod() && !!t.parentPath.parentPath.node.superClass;
  }
  n(fge, "hasSuperClass");
  var qMs = (0, Z9.environmentVisitor)({
    CallExpression(t, {
      supers: e,
      thisBinding: s
    }) {
      t.get("callee").isSuper() && (e.has(t.node) || (e.add(t.node), t.replaceWithMultiple([t.node, Yf("=", gr(s), gr("this"))])));
    }
  });
  function UMs(t, e) {
    return cb(t, "this", (s) => {
      if (!e || !fge(t)) return ub();
      t.traverse(qMs, {
        supers: /* @__PURE__ */ new WeakSet(),
        thisBinding: s
      });
    });
  }
  n(UMs, "getThisBinding");
  function KMs(t) {
    return cb(t, "supercall", () => {
      let e = t.scope.generateUidIdentifier("args");
      return e7([bMs(e)], Cy(Q9(), [PMs(gr(e.name))]));
    });
  }
  n(KMs, "getSuperBinding");
  function VMs(t, e, s) {
    return cb(t, `superprop_${e ? "set" : "get"}:${s || ""}`, () => {
      let i = [], a;
      if (s)
        a = Vo(Q9(), gr(s));
      else {
        let o = t.scope.generateUidIdentifier("prop");
        i.unshift(o), a = Vo(Q9(), gr(o.name), !0);
      }
      if (e) {
        let o = t.scope.generateUidIdentifier("value");
        i.push(o), a = Yf("=", a, gr(o.name));
      }
      return e7(i, a);
    });
  }
  n(VMs, "getSuperPropBinding");
  function cb(t, e, s) {
    let r = "binding:" + e, i = t.getData(r);
    if (!i) {
      let a = t.scope.generateUidIdentifier(e);
      i = a.name, t.setData(r, i), t.scope.push({
        id: a,
        init: s(i)
      });
    }
    return i;
  }
  n(cb, "getBinding");
  var WMs = (0, Z9.environmentVisitor)({
    ThisExpression(t, {
      thisPaths: e
    }) {
      e.push(t);
    },
    JSXIdentifier(t, {
      thisPaths: e
    }) {
      t.node.name === "this" && (!t.parentPath.isJSXMemberExpression({
        object: t.node
      }) && !t.parentPath.isJSXOpeningElement({
        name: t.node
      }) || e.push(t));
    },
    CallExpression(t, {
      superCalls: e
    }) {
      t.get("callee").isSuper() && e.push(t);
    },
    MemberExpression(t, {
      superProps: e
    }) {
      t.get("object").isSuper() && e.push(t);
    },
    Identifier(t, {
      argumentsPaths: e
    }) {
      if (!t.isReferencedIdentifier({
        name: "arguments"
      })) return;
      let s = t.scope;
      do {
        if (s.hasOwnBinding("arguments")) {
          s.rename("arguments");
          return;
        }
        if (s.path.isFunction() && !s.path.isArrowFunctionExpression())
          break;
      } while (s = s.parent);
      e.push(t);
    },
    MetaProperty(t, {
      newTargetPaths: e
    }) {
      t.get("meta").isIdentifier({
        name: "new"
      }) && t.get("property").isIdentifier({
        name: "target"
      }) && e.push(t);
    }
  });
  function $Ms(t) {
    let e = [], s = [], r = [], i = [], a = [];
    return t.traverse(WMs, {
      thisPaths: e,
      argumentsPaths: s,
      newTargetPaths: r,
      superProps: i,
      superCalls: a
    }), {
      thisPaths: e,
      argumentsPaths: s,
      newTargetPaths: r,
      superProps: i,
      superCalls: a
    };
  }
  n($Ms, "getScopeInformation");
  function HMs() {
    if (!this.isExportDeclaration() || this.isExportAllDeclaration())
      throw new Error("Only default and named export declarations can be split.");
    if (this.isExportNamedDeclaration() && this.get("specifiers").length > 0)
      throw new Error("It doesn't make sense to split exported specifiers.");
    let t = this.get("declaration");
    if (this.isExportDefaultDeclaration()) {
      let i = t.isFunctionDeclaration() || t.isClassDeclaration(), a = t.isFunctionExpression() || t.isClassExpression(), o = t.isScope() ? t.
      scope.parent : t.scope, l = t.node.id, u = !1;
      l ? a && o.hasBinding(l.name) && (u = !0, l = o.generateUidIdentifier(l.name)) : (u = !0, l = o.generateUidIdentifier("default"), (i ||
      a) && (t.node.id = Xf(l)));
      let c = i ? t.node : NMs("var", [kMs(Xf(l), t.node)]), p = oge(null, [lge(Xf(l), gr("default"))]);
      return this.insertAfter(p), this.replaceWith(c), u && o.registerDeclaration(this), this;
    } else if (this.get("specifiers").length > 0)
      throw new Error("It doesn't make sense to split exported specifiers.");
    let e = t.getOuterBindingIdentifiers(), s = Object.keys(e).map((i) => lge(gr(i), gr(i))), r = oge(null, s);
    return this.insertAfter(r), this.replaceWith(t.node), this;
  }
  n(HMs, "splitExportDeclaration");
  var JMs = {
    "ReferencedIdentifier|BindingIdentifier"(t, e) {
      t.node.name === e.name && (e.needsRename = !0, t.stop());
    },
    Scope(t, e) {
      t.scope.hasOwnBinding(e.name) && t.skip();
    }
  };
  function YMs(t) {
    if (this.node.id) return this;
    let e = IMs(this.node, this.parent);
    if (e == null) return this;
    let {
      name: s
    } = e;
    if (!t && /[\uD800-\uDFFF]/.test(s) || s.startsWith("get ") || s.startsWith("set "))
      return null;
    s = AMs(s.replace(/[/ ]/g, "_"));
    let r = gr(s);
    DMs(r, e.originalNode);
    let i = {
      needsRename: !1,
      name: s
    }, {
      scope: a
    } = this, o = a.getOwnBinding(s);
    if (o ? o.kind === "param" && (i.needsRename = !0) : (a.parent.hasBinding(s) || a.hasGlobal(s)) && this.traverse(JMs, i), !i.needsRename)
      return this.node.id = r, a.getProgramParent().references[r.name] = !0, this;
    if (a.hasBinding(r.name) && !a.hasGlobal(r.name))
      return a.rename(r.name), this.node.id = r, a.getProgramParent().references[r.name] = !0, this;
    if (!vMs(this.node)) return null;
    let l = a.generateUidIdentifier(r.name), u = [];
    for (let p = 0, h = XMs(this.node); p < h; p++)
      u.push(a.generateUidIdentifier("x"));
    let c = lMs.default.expression.ast`
    (function (${l}) {
      function ${r}(${u}) {
        return ${Xf(l)}.apply(this, arguments);
      }

      ${Xf(r)}.toString = function () {
        return ${Xf(l)}.toString();
      }

      return ${Xf(r)};
    })(${pge(this.node)})
  `;
    return this.replaceWith(c)[0].get("arguments.0");
  }
  n(YMs, "ensureFunctionName");
  function XMs(t) {
    let e = t.params.findIndex((s) => CMs(s) || wMs(s));
    return e === -1 ? t.params.length : e;
  }
  n(XMs, "getFunctionArity");
});

// ../node_modules/@babel/traverse/lib/path/introspection.js
var xge = g((mi) => {
  "use strict";
  Object.defineProperty(mi, "__esModule", {
    value: !0
  });
  mi._guessExecutionStatusRelativeTo = yFs;
  mi._resolve = bge;
  mi.canHaveVariableDeclarationOrExpression = lFs;
  mi.canSwapBetweenExpressionAndStatement = uFs;
  mi.getSource = fFs;
  mi.isCompletionRecord = cFs;
  mi.isConstantExpression = xFs;
  mi.isInStrictMode = SFs;
  mi.isNodeType = oFs;
  mi.isStatementOrBlock = pFs;
  mi.isStatic = aFs;
  mi.matchesPattern = nFs;
  mi.referencesImport = hFs;
  mi.resolve = bFs;
  mi.willIMaybeExecuteBefore = dFs;
  var zMs = Fr(), {
    STATEMENT_OR_BLOCK_KEYS: GMs,
    VISITOR_KEYS: QMs,
    isBlockStatement: Tge,
    isExpression: ZMs,
    isIdentifier: eFs,
    isLiteral: tFs,
    isStringLiteral: sFs,
    isType: rFs,
    matchesPattern: iFs
  } = zMs;
  function nFs(t, e) {
    return iFs(this.node, t, e);
  }
  n(nFs, "matchesPattern");
  mi.has = /* @__PURE__ */ n(function(e) {
    var s;
    let r = (s = this.node) == null ? void 0 : s[e];
    return r && Array.isArray(r) ? !!r.length : !!r;
  }, "has");
  function aFs() {
    return this.scope.isStatic(this.node);
  }
  n(aFs, "isStatic");
  mi.is = mi.has, mi.isnt = /* @__PURE__ */ n(function(e) {
    return !this.has(e);
  }, "isnt"), mi.equals = /* @__PURE__ */ n(function(e, s) {
    return this.node[e] === s;
  }, "equals");
  function oFs(t) {
    return rFs(this.type, t);
  }
  n(oFs, "isNodeType");
  function lFs() {
    return (this.key === "init" || this.key === "left") && this.parentPath.isFor();
  }
  n(lFs, "canHaveVariableDeclarationOrExpression");
  function uFs(t) {
    return this.key !== "body" || !this.parentPath.isArrowFunctionExpression() ? !1 : this.isExpression() ? Tge(t) : this.isBlockStatement() ?
    ZMs(t) : !1;
  }
  n(uFs, "canSwapBetweenExpressionAndStatement");
  function cFs(t) {
    let e = this, s = !0;
    do {
      let {
        type: r,
        container: i
      } = e;
      if (!s && (e.isFunction() || r === "StaticBlock"))
        return !!t;
      if (s = !1, Array.isArray(i) && e.key !== i.length - 1)
        return !1;
    } while ((e = e.parentPath) && !e.isProgram() && !e.isDoExpression());
    return !0;
  }
  n(cFs, "isCompletionRecord");
  function pFs() {
    return this.parentPath.isLabeledStatement() || Tge(this.container) ? !1 : GMs.includes(this.key);
  }
  n(pFs, "isStatementOrBlock");
  function hFs(t, e) {
    if (!this.isReferencedIdentifier()) {
      if (this.isJSXMemberExpression() && this.node.property.name === e || (this.isMemberExpression() || this.isOptionalMemberExpression()) &&
      (this.node.computed ? sFs(this.node.property, {
        value: e
      }) : this.node.property.name === e)) {
        let a = this.get("object");
        return a.isReferencedIdentifier() && a.referencesImport(t, "*");
      }
      return !1;
    }
    let s = this.scope.getBinding(this.node.name);
    if (!s || s.kind !== "module") return !1;
    let r = s.path, i = r.parentPath;
    if (!i.isImportDeclaration()) return !1;
    if (i.node.source.value === t) {
      if (!e) return !0;
    } else
      return !1;
    return !!(r.isImportDefaultSpecifier() && e === "default" || r.isImportNamespaceSpecifier() && e === "*" || r.isImportSpecifier() && eFs(
    r.node.imported, {
      name: e
    }));
  }
  n(hFs, "referencesImport");
  function fFs() {
    let t = this.node;
    if (t.end) {
      let e = this.hub.getCode();
      if (e) return e.slice(t.start, t.end);
    }
    return "";
  }
  n(fFs, "getSource");
  function dFs(t) {
    return this._guessExecutionStatusRelativeTo(t) !== "after";
  }
  n(dFs, "willIMaybeExecuteBefore");
  function mge(t) {
    return t.isProgram() ? t : (t.parentPath.scope.getFunctionParent() || t.parentPath.scope.getProgramParent()).path;
  }
  n(mge, "getOuterFunction");
  function mFs(t, e) {
    switch (t) {
      case "LogicalExpression":
        return e === "right";
      case "ConditionalExpression":
      case "IfStatement":
        return e === "consequent" || e === "alternate";
      case "WhileStatement":
      case "DoWhileStatement":
      case "ForInStatement":
      case "ForOfStatement":
        return e === "body";
      case "ForStatement":
        return e === "body" || e === "update";
      case "SwitchStatement":
        return e === "cases";
      case "TryStatement":
        return e === "handler";
      case "AssignmentPattern":
        return e === "right";
      case "OptionalMemberExpression":
        return e === "property";
      case "OptionalCallExpression":
        return e === "arguments";
      default:
        return !1;
    }
  }
  n(mFs, "isExecutionUncertain");
  function yge(t, e) {
    for (let s = 0; s < e; s++) {
      let r = t[s];
      if (mFs(r.parent.type, r.parentKey))
        return !0;
    }
    return !1;
  }
  n(yge, "isExecutionUncertainInList");
  var gge = Symbol();
  function yFs(t) {
    return t7(this, t, /* @__PURE__ */ new Map());
  }
  n(yFs, "_guessExecutionStatusRelativeTo");
  function t7(t, e, s) {
    let r = {
      this: mge(t),
      target: mge(e)
    };
    if (r.target.node !== r.this.node)
      return TFs(t, r.target, s);
    let i = {
      target: e.getAncestry(),
      this: t.getAncestry()
    };
    if (i.target.includes(t)) return "after";
    if (i.this.includes(e)) return "before";
    let a, o = {
      target: 0,
      this: 0
    };
    for (; !a && o.this < i.this.length; ) {
      let p = i.this[o.this];
      o.target = i.target.indexOf(p), o.target >= 0 ? a = p : o.this++;
    }
    if (!a)
      throw new Error("Internal Babel error - The two compared nodes don't appear to belong to the same program.");
    if (yge(i.this, o.this - 1) || yge(i.target, o.target - 1))
      return "unknown";
    let l = {
      this: i.this[o.this - 1],
      target: i.target[o.target - 1]
    };
    if (l.target.listKey && l.this.listKey && l.target.container === l.this.container)
      return l.target.key > l.this.key ? "before" : "after";
    let u = QMs[a.type], c = {
      this: u.indexOf(l.this.parentKey),
      target: u.indexOf(l.target.parentKey)
    };
    return c.target > c.this ? "before" : "after";
  }
  n(t7, "_guessExecutionStatusRelativeToCached");
  function gFs(t, e, s) {
    if (e.isFunctionDeclaration()) {
      if (e.parentPath.isExportDeclaration())
        return "unknown";
    } else return t7(t, e, s) === "before" ? "before" : "unknown";
    let r = e.scope.getBinding(e.node.id.name);
    if (!r.references) return "before";
    let i = r.referencePaths, a;
    for (let o of i) {
      if (!!o.find((c) => c.node === e.node)) continue;
      if (o.key !== "callee" || !o.parentPath.isCallExpression())
        return "unknown";
      let u = t7(t, o, s);
      if (a && a !== u)
        return "unknown";
      a = u;
    }
    return a;
  }
  n(gFs, "_guessExecutionStatusRelativeToDifferentFunctionsInternal");
  function TFs(t, e, s) {
    let r = s.get(t.node), i;
    if (!r)
      s.set(t.node, r = /* @__PURE__ */ new Map());
    else if (i = r.get(e.node))
      return i === gge ? "unknown" : i;
    r.set(e.node, gge);
    let a = gFs(t, e, s);
    return r.set(e.node, a), a;
  }
  n(TFs, "_guessExecutionStatusRelativeToDifferentFunctionsCached");
  function bFs(t, e) {
    return bge.call(this, t, e) || this;
  }
  n(bFs, "resolve");
  function bge(t, e) {
    var s;
    if (!((s = e) != null && s.includes(this)))
      if (e = e || [], e.push(this), this.isVariableDeclarator()) {
        if (this.get("id").isIdentifier())
          return this.get("init").resolve(t, e);
      } else if (this.isReferencedIdentifier()) {
        let r = this.scope.getBinding(this.node.name);
        if (!r || !r.constant || r.kind === "module") return;
        if (r.path !== this) {
          let i = r.path.resolve(t, e);
          return this.find((a) => a.node === i.node) ? void 0 : i;
        }
      } else {
        if (this.isTypeCastExpression())
          return this.get("expression").resolve(t, e);
        if (t && this.isMemberExpression()) {
          let r = this.toComputedKey();
          if (!tFs(r)) return;
          let i = r.value, a = this.get("object").resolve(t, e);
          if (a.isObjectExpression()) {
            let o = a.get("properties");
            for (let l of o) {
              if (!l.isProperty()) continue;
              let u = l.get("key"), c = l.isnt("computed") && u.isIdentifier({
                name: i
              });
              if (c = c || u.isLiteral({
                value: i
              }), c) return l.get("value").resolve(t, e);
            }
          } else if (a.isArrayExpression() && !isNaN(+i)) {
            let l = a.get("elements")[i];
            if (l) return l.resolve(t, e);
          }
        }
      }
  }
  n(bge, "_resolve");
  function xFs() {
    if (this.isIdentifier()) {
      let t = this.scope.getBinding(this.node.name);
      return t ? t.constant : !1;
    }
    if (this.isLiteral())
      return this.isRegExpLiteral() ? !1 : this.isTemplateLiteral() ? this.get("expressions").every((t) => t.isConstantExpression()) : !0;
    if (this.isUnaryExpression())
      return this.node.operator !== "void" ? !1 : this.get("argument").isConstantExpression();
    if (this.isBinaryExpression()) {
      let {
        operator: t
      } = this.node;
      return t !== "in" && t !== "instanceof" && this.get("left").isConstantExpression() && this.get("right").isConstantExpression();
    }
    return this.isMemberExpression() ? !this.node.computed && this.get("object").isIdentifier({
      name: "Symbol"
    }) && !this.scope.hasBinding("Symbol", {
      noGlobals: !0
    }) : this.isCallExpression() ? this.node.arguments.length === 1 && this.get("callee").matchesPattern("Symbol.for") && !this.scope.hasBinding(
    "Symbol", {
      noGlobals: !0
    }) && this.get("arguments")[0].isStringLiteral() : !1;
  }
  n(xFs, "isConstantExpression");
  function SFs() {
    return !!(this.isProgram() ? this : this.parentPath).find((s) => {
      if (s.isProgram({
        sourceType: "module"
      }) || s.isClass()) return !0;
      if (s.isArrowFunctionExpression() && !s.get("body").isBlockStatement())
        return !1;
      let r;
      if (s.isFunction())
        r = s.node.body;
      else if (s.isProgram())
        r = s.node;
      else
        return !1;
      for (let i of r.directives)
        if (i.value.value === "use strict")
          return !0;
    });
  }
  n(SFs, "isInStrictMode");
});

// ../node_modules/@babel/traverse/lib/path/family.js
var vge = g((Zi) => {
  "use strict";
  Object.defineProperty(Zi, "__esModule", {
    value: !0
  });
  Zi._getKey = Ege;
  Zi._getPattern = Age;
  Zi.get = jFs;
  Zi.getAllNextSiblings = MFs;
  Zi.getAllPrevSiblings = FFs;
  Zi.getAssignmentIdentifiers = RFs;
  Zi.getBindingIdentifierPaths = KFs;
  Zi.getBindingIdentifiers = qFs;
  Zi.getCompletionRecords = OFs;
  Zi.getNextSibling = BFs;
  Zi.getOpposite = NFs;
  Zi.getOuterBindingIdentifierPaths = VFs;
  Zi.getOuterBindingIdentifiers = UFs;
  Zi.getPrevSibling = LFs;
  Zi.getSibling = _Fs;
  var r7 = Xp(), PFs = Fr(), {
    getAssignmentIdentifiers: EFs,
    getBindingIdentifiers: Pge,
    getOuterBindingIdentifiers: AFs,
    numericLiteral: vFs,
    unaryExpression: CFs
  } = PFs, i7 = 0, pb = 1;
  function wFs(t) {
    return {
      type: i7,
      path: t
    };
  }
  n(wFs, "NormalCompletion");
  function IFs(t) {
    return {
      type: pb,
      path: t
    };
  }
  n(IFs, "BreakCompletion");
  function NFs() {
    return this.key === "left" ? this.getSibling("right") : this.key === "right" ? this.getSibling("left") : null;
  }
  n(NFs, "getOpposite");
  function wy(t, e, s) {
    return t && e.push(...Iy(t, s)), e;
  }
  n(wy, "addCompletionRecords");
  function kFs(t, e, s) {
    let r = [];
    for (let i = 0; i < t.length; i++) {
      let a = t[i], o = Iy(a, s), l = [], u = [];
      for (let c of o)
        c.type === i7 && l.push(c), c.type === pb && u.push(c);
      l.length && (r = l), e.push(...u);
    }
    return e.push(...r), e;
  }
  n(kFs, "completionRecordForSwitch");
  function DFs(t) {
    t.forEach((e) => {
      e.type = pb;
    });
  }
  n(DFs, "normalCompletionToBreak");
  function s7(t, e) {
    t.forEach((s) => {
      s.path.isBreakStatement({
        label: null
      }) && (e ? s.path.replaceWith(CFs("void", vFs(0))) : s.path.remove());
    });
  }
  n(s7, "replaceBreakStatementInBreakCompletion");
  function Sge(t, e) {
    let s = [];
    if (e.canHaveBreak) {
      let r = [];
      for (let i = 0; i < t.length; i++) {
        let a = t[i], o = Object.assign({}, e, {
          inCaseClause: !1
        });
        a.isBlockStatement() && (e.inCaseClause || e.shouldPopulateBreak) ? o.shouldPopulateBreak = !0 : o.shouldPopulateBreak = !1;
        let l = Iy(a, o);
        if (l.length > 0 && l.every((u) => u.type === pb)) {
          r.length > 0 && l.every((u) => u.path.isBreakStatement({
            label: null
          })) ? (DFs(r), s.push(...r), r.some((u) => u.path.isDeclaration()) && (s.push(...l), s7(l, !0)), s7(l, !1)) : (s.push(...l), e.shouldPopulateBreak ||
          s7(l, !0));
          break;
        }
        if (i === t.length - 1)
          s.push(...l);
        else {
          r = [];
          for (let u = 0; u < l.length; u++) {
            let c = l[u];
            c.type === pb && s.push(c), c.type === i7 && r.push(c);
          }
        }
      }
    } else if (t.length)
      for (let r = t.length - 1; r >= 0; r--) {
        let i = Iy(t[r], e);
        if (i.length > 1 || i.length === 1 && !i[0].path.isVariableDeclaration()) {
          s.push(...i);
          break;
        }
      }
    return s;
  }
  n(Sge, "getStatementListCompletion");
  function Iy(t, e) {
    let s = [];
    if (t.isIfStatement())
      s = wy(t.get("consequent"), s, e), s = wy(t.get("alternate"), s, e);
    else {
      if (t.isDoExpression() || t.isFor() || t.isWhile() || t.isLabeledStatement())
        return wy(t.get("body"), s, e);
      if (t.isProgram() || t.isBlockStatement())
        return Sge(t.get("body"), e);
      if (t.isFunction())
        return Iy(t.get("body"), e);
      if (t.isTryStatement())
        s = wy(t.get("block"), s, e), s = wy(t.get("handler"), s, e);
      else {
        if (t.isCatchClause())
          return wy(t.get("body"), s, e);
        if (t.isSwitchStatement())
          return kFs(t.get("cases"), s, e);
        if (t.isSwitchCase())
          return Sge(t.get("consequent"), {
            canHaveBreak: !0,
            shouldPopulateBreak: !1,
            inCaseClause: !0
          });
        t.isBreakStatement() ? s.push(IFs(t)) : s.push(wFs(t));
      }
    }
    return s;
  }
  n(Iy, "_getCompletionRecords");
  function OFs() {
    return Iy(this, {
      canHaveBreak: !1,
      shouldPopulateBreak: !1,
      inCaseClause: !1
    }).map((e) => e.path);
  }
  n(OFs, "getCompletionRecords");
  function _Fs(t) {
    return r7.default.get({
      parentPath: this.parentPath,
      parent: this.parent,
      container: this.container,
      listKey: this.listKey,
      key: t
    }).setContext(this.context);
  }
  n(_Fs, "getSibling");
  function LFs() {
    return this.getSibling(this.key - 1);
  }
  n(LFs, "getPrevSibling");
  function BFs() {
    return this.getSibling(this.key + 1);
  }
  n(BFs, "getNextSibling");
  function MFs() {
    let t = this.key, e = this.getSibling(++t), s = [];
    for (; e.node; )
      s.push(e), e = this.getSibling(++t);
    return s;
  }
  n(MFs, "getAllNextSiblings");
  function FFs() {
    let t = this.key, e = this.getSibling(--t), s = [];
    for (; e.node; )
      s.push(e), e = this.getSibling(--t);
    return s;
  }
  n(FFs, "getAllPrevSiblings");
  function jFs(t, e = !0) {
    e === !0 && (e = this.context);
    let s = t.split(".");
    return s.length === 1 ? Ege.call(this, t, e) : Age.call(this, s, e);
  }
  n(jFs, "get");
  function Ege(t, e) {
    let s = this.node, r = s[t];
    return Array.isArray(r) ? r.map((i, a) => r7.default.get({
      listKey: t,
      parentPath: this,
      parent: s,
      container: r,
      key: a
    }).setContext(e)) : r7.default.get({
      parentPath: this,
      parent: s,
      container: s,
      key: t
    }).setContext(e);
  }
  n(Ege, "_getKey");
  function Age(t, e) {
    let s = this;
    for (let r of t)
      r === "." ? s = s.parentPath : Array.isArray(s) ? s = s[r] : s = s.get(r, e);
    return s;
  }
  n(Age, "_getPattern");
  function RFs() {
    return EFs(this.node);
  }
  n(RFs, "getAssignmentIdentifiers");
  function qFs(t) {
    return Pge(this.node, t);
  }
  n(qFs, "getBindingIdentifiers");
  function UFs(t) {
    return AFs(this.node, t);
  }
  n(UFs, "getOuterBindingIdentifiers");
  function KFs(t = !1, e = !1) {
    let r = [this], i = /* @__PURE__ */ Object.create(null);
    for (; r.length; ) {
      let a = r.shift();
      if (!a || !a.node) continue;
      let o = Pge.keys[a.node.type];
      if (a.isIdentifier()) {
        t ? (i[a.node.name] = i[a.node.name] || []).push(a) : i[a.node.name] = a;
        continue;
      }
      if (a.isExportDeclaration()) {
        let l = a.get("declaration");
        l.isDeclaration() && r.push(l);
        continue;
      }
      if (e) {
        if (a.isFunctionDeclaration()) {
          r.push(a.get("id"));
          continue;
        }
        if (a.isFunctionExpression())
          continue;
      }
      if (o)
        for (let l = 0; l < o.length; l++) {
          let u = o[l], c = a.get(u);
          Array.isArray(c) ? r.push(...c) : c.node && r.push(c);
        }
    }
    return i;
  }
  n(KFs, "getBindingIdentifierPaths");
  function VFs(t = !1) {
    return this.getBindingIdentifierPaths(t, !0);
  }
  n(VFs, "getOuterBindingIdentifierPaths");
});

// ../node_modules/@babel/traverse/lib/path/comments.js
var wge = g((hb) => {
  "use strict";
  Object.defineProperty(hb, "__esModule", {
    value: !0
  });
  hb.addComment = YFs;
  hb.addComments = XFs;
  hb.shareCommentsWithSiblings = JFs;
  var WFs = Fr(), {
    addComment: $Fs,
    addComments: HFs
  } = WFs;
  function JFs() {
    if (typeof this.key == "string") return;
    let t = this.node;
    if (!t) return;
    let e = t.trailingComments, s = t.leadingComments;
    if (!e && !s) return;
    let r = this.getSibling(this.key - 1), i = this.getSibling(this.key + 1), a = !!r.node, o = !!i.node;
    a && (s && r.addComments("trailing", Cge(s, r.node.trailingComments)), e && !o && r.addComments("trailing", e)), o && (e && i.addComments(
    "leading", Cge(e, i.node.leadingComments)), s && !a && i.addComments("leading", s));
  }
  n(JFs, "shareCommentsWithSiblings");
  function Cge(t, e) {
    if (!(e != null && e.length)) return t;
    let s = new Set(e);
    return t.filter((r) => !s.has(r));
  }
  n(Cge, "removeIfExisting");
  function YFs(t, e, s) {
    $Fs(this.node, t, e, s);
  }
  n(YFs, "addComment");
  function XFs(t, e) {
    HFs(this.node, t, e);
  }
  n(XFs, "addComments");
});

// ../node_modules/@babel/traverse/lib/path/index.js
var Xp = g((Fl) => {
  "use strict";
  Object.defineProperty(Fl, "__esModule", {
    value: !0
  });
  Fl.default = Fl.SHOULD_STOP = Fl.SHOULD_SKIP = Fl.REMOVED = void 0;
  var zFs = SR(), GFs = yo(), QFs = ob(), ZFs = k9(), kge = Fr(), oC = kge, e3s = Vf(), t3s = R6(), Bl = dye(), Ny = Lye(), ky = q9(), Ige = age(),
  zf = dge(), Ei = xge(), Dge = Ll(), yi = Dge, Dy = sC(), Ml = rC(), Qn = vge(), n7 = wge(), s3s = E9(), {
    validate: r3s
  } = kge, Nge = GFs("babel"), Vlr = Fl.REMOVED = 1, Wlr = Fl.SHOULD_STOP = 2, $lr = Fl.SHOULD_SKIP = 4, Tc = Fl.default = class Oge {
    static {
      n(this, "NodePath");
    }
    constructor(e, s) {
      this.contexts = [], this.state = null, this.opts = null, this._traverseFlags = 0, this.skipKeys = null, this.parentPath = null, this.container =
      null, this.listKey = null, this.key = null, this.node = null, this.type = null, this.parent = s, this.hub = e, this.data = null, this.
      context = null, this.scope = null;
    }
    get removed() {
      return (this._traverseFlags & 1) > 0;
    }
    set removed(e) {
      e ? this._traverseFlags |= 1 : this._traverseFlags &= -2;
    }
    get shouldStop() {
      return (this._traverseFlags & 2) > 0;
    }
    set shouldStop(e) {
      e ? this._traverseFlags |= 2 : this._traverseFlags &= -3;
    }
    get shouldSkip() {
      return (this._traverseFlags & 4) > 0;
    }
    set shouldSkip(e) {
      e ? this._traverseFlags |= 4 : this._traverseFlags &= -5;
    }
    static get({
      hub: e,
      parentPath: s,
      parent: r,
      container: i,
      listKey: a,
      key: o
    }) {
      if (!e && s && (e = s.hub), !r)
        throw new Error("To get a node path the parent needs to exist");
      let l = i[o], u = e3s.getOrCreateCachedPaths(e, r), c = u.get(l);
      return c || (c = new Oge(e, r), l && u.set(l, c)), Dge.setup.call(c, s, i, a, o), c;
    }
    getScope(e) {
      return this.isScope() ? new ZFs.default(this) : e;
    }
    setData(e, s) {
      return this.data == null && (this.data = /* @__PURE__ */ Object.create(null)), this.data[e] = s;
    }
    getData(e, s) {
      this.data == null && (this.data = /* @__PURE__ */ Object.create(null));
      let r = this.data[e];
      return r === void 0 && s !== void 0 && (r = this.data[e] = s), r;
    }
    hasNode() {
      return this.node != null;
    }
    buildCodeFrameError(e, s = SyntaxError) {
      return this.hub.buildError(this.node, e, s);
    }
    traverse(e, s) {
      (0, QFs.default)(this.node, e, this.scope, s, this);
    }
    set(e, s) {
      r3s(this.node, e, s), this.node[e] = s;
    }
    getPathLocation() {
      let e = [], s = this;
      do {
        let r = s.key;
        s.inList && (r = `${s.listKey}[${r}]`), e.unshift(r);
      } while (s = s.parentPath);
      return e.join(".");
    }
    debug(e) {
      Nge.enabled && Nge(`${this.getPathLocation()} ${this.type}: ${e}`);
    }
    toString() {
      return (0, t3s.default)(this.node).code;
    }
    get inList() {
      return !!this.listKey;
    }
    set inList(e) {
      e || (this.listKey = null);
    }
    get parentKey() {
      return this.listKey || this.key;
    }
  }, i3s = {
    findParent: Bl.findParent,
    find: Bl.find,
    getFunctionParent: Bl.getFunctionParent,
    getStatementParent: Bl.getStatementParent,
    getEarliestCommonAncestorFrom: Bl.getEarliestCommonAncestorFrom,
    getDeepestCommonAncestorFrom: Bl.getDeepestCommonAncestorFrom,
    getAncestry: Bl.getAncestry,
    isAncestor: Bl.isAncestor,
    isDescendant: Bl.isDescendant,
    inType: Bl.inType,
    getTypeAnnotation: Ny.getTypeAnnotation,
    isBaseType: Ny.isBaseType,
    couldBeBaseType: Ny.couldBeBaseType,
    baseTypeStrictlyMatches: Ny.baseTypeStrictlyMatches,
    isGenericType: Ny.isGenericType,
    replaceWithMultiple: ky.replaceWithMultiple,
    replaceWithSourceString: ky.replaceWithSourceString,
    replaceWith: ky.replaceWith,
    replaceExpressionWithStatements: ky.replaceExpressionWithStatements,
    replaceInline: ky.replaceInline,
    evaluateTruthy: Ige.evaluateTruthy,
    evaluate: Ige.evaluate,
    toComputedKey: zf.toComputedKey,
    ensureBlock: zf.ensureBlock,
    unwrapFunctionEnvironment: zf.unwrapFunctionEnvironment,
    arrowFunctionToExpression: zf.arrowFunctionToExpression,
    splitExportDeclaration: zf.splitExportDeclaration,
    ensureFunctionName: zf.ensureFunctionName,
    matchesPattern: Ei.matchesPattern,
    isStatic: Ei.isStatic,
    isNodeType: Ei.isNodeType,
    canHaveVariableDeclarationOrExpression: Ei.canHaveVariableDeclarationOrExpression,
    canSwapBetweenExpressionAndStatement: Ei.canSwapBetweenExpressionAndStatement,
    isCompletionRecord: Ei.isCompletionRecord,
    isStatementOrBlock: Ei.isStatementOrBlock,
    referencesImport: Ei.referencesImport,
    getSource: Ei.getSource,
    willIMaybeExecuteBefore: Ei.willIMaybeExecuteBefore,
    _guessExecutionStatusRelativeTo: Ei._guessExecutionStatusRelativeTo,
    resolve: Ei.resolve,
    isConstantExpression: Ei.isConstantExpression,
    isInStrictMode: Ei.isInStrictMode,
    isDenylisted: yi.isDenylisted,
    visit: yi.visit,
    skip: yi.skip,
    skipKey: yi.skipKey,
    stop: yi.stop,
    setContext: yi.setContext,
    requeue: yi.requeue,
    requeueComputedKeyAndDecorators: yi.requeueComputedKeyAndDecorators,
    remove: Dy.remove,
    insertBefore: Ml.insertBefore,
    insertAfter: Ml.insertAfter,
    unshiftContainer: Ml.unshiftContainer,
    pushContainer: Ml.pushContainer,
    getOpposite: Qn.getOpposite,
    getCompletionRecords: Qn.getCompletionRecords,
    getSibling: Qn.getSibling,
    getPrevSibling: Qn.getPrevSibling,
    getNextSibling: Qn.getNextSibling,
    getAllNextSiblings: Qn.getAllNextSiblings,
    getAllPrevSiblings: Qn.getAllPrevSiblings,
    get: Qn.get,
    getAssignmentIdentifiers: Qn.getAssignmentIdentifiers,
    getBindingIdentifiers: Qn.getBindingIdentifiers,
    getOuterBindingIdentifiers: Qn.getOuterBindingIdentifiers,
    getBindingIdentifierPaths: Qn.getBindingIdentifierPaths,
    getOuterBindingIdentifierPaths: Qn.getOuterBindingIdentifierPaths,
    shareCommentsWithSiblings: n7.shareCommentsWithSiblings,
    addComment: n7.addComment,
    addComments: n7.addComments
  };
  Object.assign(Tc.prototype, i3s);
  Tc.prototype.arrowFunctionToShadowed = zf.arrowFunctionToShadowed, Object.assign(Tc.prototype, {
    has: Ei.has,
    is: Ei.is,
    isnt: Ei.isnt,
    equals: Ei.equals,
    hoist: Ml.hoist,
    updateSiblingKeys: Ml.updateSiblingKeys,
    call: yi.call,
    isBlacklisted: yi.isBlacklisted,
    setScope: yi.setScope,
    resync: yi.resync,
    popContext: yi.popContext,
    pushContext: yi.pushContext,
    setup: yi.setup,
    setKey: yi.setKey
  });
  Tc.prototype._guessExecutionStatusRelativeToDifferentFunctions = Ei._guessExecutionStatusRelativeTo, Tc.prototype._guessExecutionStatusRelativeToDifferentFunctions =
  Ei._guessExecutionStatusRelativeTo, Object.assign(Tc.prototype, {
    _getTypeAnnotation: Ny._getTypeAnnotation,
    _replaceWith: ky._replaceWith,
    _resolve: Ei._resolve,
    _call: yi._call,
    _resyncParent: yi._resyncParent,
    _resyncKey: yi._resyncKey,
    _resyncList: yi._resyncList,
    _resyncRemoved: yi._resyncRemoved,
    _getQueueContexts: yi._getQueueContexts,
    _removeFromScope: Dy._removeFromScope,
    _callRemovalHooks: Dy._callRemovalHooks,
    _remove: Dy._remove,
    _markRemoved: Dy._markRemoved,
    _assertUnremoved: Dy._assertUnremoved,
    _containerInsert: Ml._containerInsert,
    _containerInsertBefore: Ml._containerInsertBefore,
    _containerInsertAfter: Ml._containerInsertAfter,
    _verifyNodeList: Ml._verifyNodeList,
    _getKey: Qn._getKey,
    _getPattern: Qn._getPattern
  });
  for (let t of oC.TYPES) {
    let e = `is${t}`, s = oC[e];
    Tc.prototype[e] = function(r) {
      return s(this.node, r);
    }, Tc.prototype[`assert${t}`] = function(r) {
      if (!s(this.node, r))
        throw new TypeError(`Expected node path of type ${t}`);
    };
  }
  Object.assign(Tc.prototype, s3s);
  for (let t of Object.keys(zFs))
    t[0] !== "_" && (oC.TYPES.includes(t) || oC.TYPES.push(t));
});

// ../node_modules/@babel/traverse/lib/context.js
var _ge = g((lC) => {
  "use strict";
  Object.defineProperty(lC, "__esModule", {
    value: !0
  });
  lC.default = void 0;
  var n3s = Xp(), a3s = Fr(), a7 = Ll(), {
    VISITOR_KEYS: o3s
  } = a3s, o7 = class {
    static {
      n(this, "TraversalContext");
    }
    constructor(e, s, r, i) {
      this.queue = null, this.priorityQueue = null, this.parentPath = i, this.scope = e, this.state = r, this.opts = s;
    }
    shouldVisit(e) {
      let s = this.opts;
      if (s.enter || s.exit || s[e.type]) return !0;
      let r = o3s[e.type];
      if (!(r != null && r.length)) return !1;
      for (let i of r)
        if (e[i])
          return !0;
      return !1;
    }
    create(e, s, r, i) {
      return n3s.default.get({
        parentPath: this.parentPath,
        parent: e,
        container: s,
        key: r,
        listKey: i
      });
    }
    maybeQueue(e, s) {
      this.queue && (s ? this.queue.push(e) : this.priorityQueue.push(e));
    }
    visitMultiple(e, s, r) {
      if (e.length === 0) return !1;
      let i = [];
      for (let a = 0; a < e.length; a++) {
        let o = e[a];
        o && this.shouldVisit(o) && i.push(this.create(s, e, a, r));
      }
      return this.visitQueue(i);
    }
    visitSingle(e, s) {
      return this.shouldVisit(e[s]) ? this.visitQueue([this.create(e, e, s)]) : !1;
    }
    visitQueue(e) {
      this.queue = e, this.priorityQueue = [];
      let s = /* @__PURE__ */ new WeakSet(), r = !1, i = 0;
      for (; i < e.length; ) {
        let a = e[i];
        if (i++, a7.resync.call(a), (a.contexts.length === 0 || a.contexts[a.contexts.length - 1] !== this) && a7.pushContext.call(a, this),
        a.key === null) continue;
        let {
          node: o
        } = a;
        if (!s.has(o)) {
          if (o && s.add(o), a.visit()) {
            r = !0;
            break;
          }
          if (this.priorityQueue.length && (r = this.visitQueue(this.priorityQueue), this.priorityQueue = [], this.queue = e, r))
            break;
        }
      }
      for (let a = 0; a < i; a++)
        a7.popContext.call(e[a]);
      return this.queue = null, r;
    }
    visit(e, s) {
      let r = e[s];
      return r ? Array.isArray(r) ? this.visitMultiple(r, e, s) : this.visitSingle(e, s) : !1;
    }
  };
  lC.default = o7;
});

// ../node_modules/@babel/traverse/lib/traverse-node.js
var Jv = g((l7) => {
  "use strict";
  Object.defineProperty(l7, "__esModule", {
    value: !0
  });
  l7.traverseNode = p3s;
  var l3s = _ge(), u3s = Fr(), {
    VISITOR_KEYS: c3s
  } = u3s;
  function p3s(t, e, s, r, i, a, o) {
    let l = c3s[t.type];
    if (!l) return !1;
    let u = new l3s.default(s, e, r, i);
    if (o)
      return a != null && a[i.parentKey] ? !1 : u.visitQueue([i]);
    for (let c of l)
      if (!(a != null && a[c]) && u.visit(t, c))
        return !0;
    return !1;
  }
  n(p3s, "traverseNode");
});

// ../node_modules/@babel/traverse/lib/path/context.js
var Ll = g(($r) => {
  "use strict";
  Object.defineProperty($r, "__esModule", {
    value: !0
  });
  $r._call = c7;
  $r._getQueueContexts = w3s;
  $r._resyncKey = Rge;
  $r._resyncList = qge;
  $r._resyncParent = jge;
  $r._resyncRemoved = S3s;
  $r.call = u7;
  $r.isDenylisted = Mge;
  $r.popContext = P3s;
  $r.pushContext = E3s;
  $r.requeue = v3s;
  $r.requeueComputedKeyAndDecorators = C3s;
  $r.resync = x3s;
  $r.setContext = b3s;
  $r.setKey = uC;
  $r.setScope = Fge;
  $r.setup = A3s;
  $r.skip = y3s;
  $r.skipKey = g3s;
  $r.stop = T3s;
  $r.visit = m3s;
  var h3s = Jv(), Lge = Xp(), f3s = sC(), d3s = Fr();
  function u7(t) {
    let e = this.opts;
    if (this.debug(t), this.node && c7.call(this, e[t]))
      return !0;
    if (this.node) {
      var s;
      return c7.call(this, (s = e[this.node.type]) == null ? void 0 : s[t]);
    }
    return !1;
  }
  n(u7, "call");
  function c7(t) {
    if (!t) return !1;
    for (let e of t) {
      if (!e) continue;
      let s = this.node;
      if (!s) return !0;
      let r = e.call(this.state, this, this.state);
      if (r && typeof r == "object" && typeof r.then == "function")
        throw new Error("You appear to be using a plugin with an async traversal visitor, which your current version of Babel does not suppo\
rt. If you're using a published plugin, you may need to upgrade your @babel/core version.");
      if (r)
        throw new Error(`Unexpected return value from visitor method ${e}`);
      if (this.node !== s || this._traverseFlags > 0) return !0;
    }
    return !1;
  }
  n(c7, "_call");
  function Mge() {
    var t;
    let e = (t = this.opts.denylist) != null ? t : this.opts.blacklist;
    return e?.includes(this.node.type);
  }
  n(Mge, "isDenylisted");
  $r.isBlacklisted = Mge;
  function Bge(t, e) {
    t.context !== e && (t.context = e, t.state = e.state, t.opts = e.opts);
  }
  n(Bge, "restoreContext");
  function m3s() {
    var t, e;
    if (!this.node || this.isDenylisted() || (t = (e = this.opts).shouldSkip) != null && t.call(e, this))
      return !1;
    let s = this.context;
    return this.shouldSkip || u7.call(this, "enter") ? (this.debug("Skip..."), this.shouldStop) : (Bge(this, s), this.debug("Recursing into.\
.."), this.shouldStop = (0, h3s.traverseNode)(this.node, this.opts, this.scope, this.state, this, this.skipKeys), Bge(this, s), u7.call(this,
    "exit"), this.shouldStop);
  }
  n(m3s, "visit");
  function y3s() {
    this.shouldSkip = !0;
  }
  n(y3s, "skip");
  function g3s(t) {
    this.skipKeys == null && (this.skipKeys = {}), this.skipKeys[t] = !0;
  }
  n(g3s, "skipKey");
  function T3s() {
    this._traverseFlags |= Lge.SHOULD_SKIP | Lge.SHOULD_STOP;
  }
  n(T3s, "stop");
  function Fge() {
    var t, e;
    if ((t = this.opts) != null && t.noScope) return;
    let s = this.parentPath;
    ((this.key === "key" || this.listKey === "decorators") && s.isMethod() || this.key === "discriminant" && s.isSwitchStatement()) && (s = s.
    parentPath);
    let r;
    for (; s && !r; ) {
      var i;
      if ((i = s.opts) != null && i.noScope) return;
      r = s.scope, s = s.parentPath;
    }
    this.scope = this.getScope(r), (e = this.scope) == null || e.init();
  }
  n(Fge, "setScope");
  function b3s(t) {
    return this.skipKeys != null && (this.skipKeys = {}), this._traverseFlags = 0, t && (this.context = t, this.state = t.state, this.opts =
    t.opts), Fge.call(this), this;
  }
  n(b3s, "setContext");
  function x3s() {
    this.removed || (jge.call(this), qge.call(this), Rge.call(this));
  }
  n(x3s, "resync");
  function jge() {
    this.parentPath && (this.parent = this.parentPath.node);
  }
  n(jge, "_resyncParent");
  function Rge() {
    if (this.container && this.node !== this.container[this.key]) {
      if (Array.isArray(this.container)) {
        for (let t = 0; t < this.container.length; t++)
          if (this.container[t] === this.node) {
            uC.call(this, t);
            return;
          }
      } else
        for (let t of Object.keys(this.container))
          if (this.container[t] === this.node) {
            uC.call(this, t);
            return;
          }
      this.key = null;
    }
  }
  n(Rge, "_resyncKey");
  function qge() {
    if (!this.parent || !this.inList) return;
    let t = this.parent[this.listKey];
    this.container !== t && (this.container = t || null);
  }
  n(qge, "_resyncList");
  function S3s() {
    (this.key == null || !this.container || this.container[this.key] !== this.node) && f3s._markRemoved.call(this);
  }
  n(S3s, "_resyncRemoved");
  function P3s() {
    this.contexts.pop(), this.contexts.length > 0 ? this.setContext(this.contexts[this.contexts.length - 1]) : this.setContext(void 0);
  }
  n(P3s, "popContext");
  function E3s(t) {
    this.contexts.push(t), this.setContext(t);
  }
  n(E3s, "pushContext");
  function A3s(t, e, s, r) {
    this.listKey = s, this.container = e, this.parentPath = t || this.parentPath, uC.call(this, r);
  }
  n(A3s, "setup");
  function uC(t) {
    var e;
    this.key = t, this.node = this.container[this.key], this.type = (e = this.node) == null ? void 0 : e.type;
  }
  n(uC, "setKey");
  function v3s(t = this) {
    if (t.removed) return;
    let e = this.contexts;
    for (let s of e)
      s.maybeQueue(t);
  }
  n(v3s, "requeue");
  function C3s() {
    let {
      context: t,
      node: e
    } = this;
    if (!d3s.isPrivate(e) && e.computed && t.maybeQueue(this.get("key")), e.decorators)
      for (let s of this.get("decorators"))
        t.maybeQueue(s);
  }
  n(C3s, "requeueComputedKeyAndDecorators");
  function w3s() {
    let t = this, e = this.contexts;
    for (; !e.length && (t = t.parentPath, !!t); )
      e = t.contexts;
    return e;
  }
  n(w3s, "_getQueueContexts");
});

// ../node_modules/@babel/traverse/lib/hub.js
var Uge = g((cC) => {
  "use strict";
  Object.defineProperty(cC, "__esModule", {
    value: !0
  });
  cC.default = void 0;
  var p7 = class {
    static {
      n(this, "Hub");
    }
    getCode() {
    }
    getScope() {
    }
    addHelper() {
      throw new Error("Helpers are not supported by the default hub.");
    }
    buildError(e, s, r = TypeError) {
      return new r(s);
    }
  };
  cC.default = p7;
});

// ../node_modules/@babel/traverse/lib/index.js
var ob = g((bc) => {
  "use strict";
  Object.defineProperty(bc, "__esModule", {
    value: !0
  });
  Object.defineProperty(bc, "Hub", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return O3s.default;
    }, "get")
  });
  Object.defineProperty(bc, "NodePath", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return k3s.default;
    }, "get")
  });
  Object.defineProperty(bc, "Scope", {
    enumerable: !0,
    get: /* @__PURE__ */ n(function() {
      return D3s.default;
    }, "get")
  });
  bc.visitors = bc.default = void 0;
  Ll();
  var fb = ab();
  bc.visitors = fb;
  var I3s = Fr(), N3s = Vf(), Kge = Jv(), k3s = Xp(), D3s = k9(), O3s = Uge(), {
    VISITOR_KEYS: _3s,
    removeProperties: L3s,
    traverseFast: Vge
  } = I3s;
  function po(t, e = {}, s, r, i, a) {
    if (t) {
      if (!e.noScope && !s && t.type !== "Program" && t.type !== "File")
        throw new Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${t.
        type} node without passing scope and parentPath.`);
      if (!i && a)
        throw new Error("visitSelf can only be used when providing a NodePath.");
      _3s[t.type] && (fb.explode(e), (0, Kge.traverseNode)(t, e, s, r, i, null, a));
    }
  }
  n(po, "traverse");
  var sur = bc.default = po;
  po.visitors = fb;
  po.verify = fb.verify;
  po.explode = fb.explode;
  po.cheap = function(t, e) {
    Vge(t, e);
  };
  po.node = function(t, e, s, r, i, a) {
    (0, Kge.traverseNode)(t, e, s, r, i, a);
  };
  po.clearNode = function(t, e) {
    L3s(t, e);
  };
  po.removeProperties = function(t, e) {
    return Vge(t, po.clearNode, e), t;
  };
  function B3s(t, e) {
    t.node.type === e.type && (e.has = !0, t.stop());
  }
  n(B3s, "hasDenylistedType");
  po.hasType = function(t, e, s) {
    if (s != null && s.includes(t.type)) return !1;
    if (t.type === e) return !0;
    let r = {
      has: !1,
      type: e
    };
    return po(t, {
      noScope: !0,
      denylist: s,
      enter: B3s
    }, null, r), r.has;
  };
  po.cache = N3s;
});

// src/babel/index.ts
var J3s = {};
Qge(J3s, {
  BabelFileClass: () => H3s,
  babelParse: () => F3s,
  babelParseExpression: () => R3s,
  babelPrint: () => j3s,
  core: () => q3s,
  generate: () => $3s,
  parser: () => U3s,
  parserOptions: () => h7,
  recast: () => V3s,
  transformSync: () => Wge.transformSync,
  traverse: () => W3s,
  types: () => K3s
});
module.exports = Zge(J3s);
var Wge = Jo(ni(), 1), q3s = Jo(ni(), 1), $ge = Jo(ni(), 1), f7 = Jo(R6(), 1), U3s = Jo(Sv(), 1), d7 = Jo(ob(), 1), K3s = Jo(fe(), 1), V3s = Jo(require("recast"), 1);

// src/babel/babelParse.ts
var pC = Jo(Sv(), 1), hC = Jo(require("recast"), 1);
function M3s(t, e) {
  let i = /^\s*\/\/\s*@flow/.test(t) ? ["flow"] : ["typescript"], a = {
    ...e,
    plugins: [...e.plugins ?? [], ...i]
  };
  return pC.parse(t, a);
}
n(M3s, "parseWithFlowOrTypescript");
var h7 = {
  sourceType: "module",
  // FIXME: we should get this from the project config somehow?
  plugins: ["jsx", "decorators-legacy", "classProperties"],
  tokens: !0
}, F3s = /* @__PURE__ */ n((t) => hC.parse(t, {
  parser: {
    parse(e) {
      return M3s(e, h7);
    }
  }
}), "babelParse"), j3s = /* @__PURE__ */ n((t) => hC.print(t, {
  quote: "single",
  trailingComma: !0,
  tabWidth: 2,
  wrapColumn: 80,
  arrowParensAlways: !0
}).code, "babelPrint"), R3s = /* @__PURE__ */ n((t) => pC.parseExpression(t, h7), "babelParseExpression");

// src/babel/index.ts
var W3s = d7.default.default || d7.default, $3s = f7.default.default || f7.default, H3s = $ge.File;
